@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#1e272e;--muted:#63717a;--accent:#4b7189;--border:#dce2e5;--paper:#fbfcfb;--smoke:#f0f3f4;--bluepaper:#eaf0f3;--header-h:92px;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-family:'DM Sans',Arial,sans-serif}img{display:block;max-width:100%}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #77a9c6;outline-offset:4px}::selection{color:white;background:var(--accent)}.container-wide{width:min(100% - 112px,1500px);margin-inline:auto}.section-pad{padding:clamp(92px,9vw,150px) 0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,'Arial',sans-serif}h2{font-size:clamp(39px,4.3vw,70px);letter-spacing:-.066em;line-height:1.14;font-weight:600}h2 span,.section-heading h2 span{color:var(--accent)}.skip-link{position:fixed;top:-100px;left:16px;padding:12px 18px;background:#fff;z-index:100}.skip-link:focus{top:12px}.eyebrow{display:flex;align-items:center;gap:16px;font-family:Manrope,Arial,sans-serif;font-size:10px;line-height:1.6;font-weight:800;letter-spacing:.19em;color:var(--accent);margin-bottom:40px}.eyebrow-rule{width:36px;height:1px;background:currentColor;flex:none}.eyebrow-white{color:#e5eef4}
/* Header */
.site-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid #e7eaeb;height:var(--header-h)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:34px}.brand{width:310px;flex:none}.brand img{width:100%;height:auto}.primary-nav{display:flex;align-items:center;gap:47px}.primary-nav>a{font-size:13px;font-weight:700;color:#39434b;transition:color .2s}.primary-nav>a:not(.nav-cta):hover{color:var(--accent)}.primary-nav .nav-cta{background:#243540;color:#fff;padding:15px 20px;display:flex;align-items:center;gap:35px;font-size:12px;letter-spacing:.01em}.nav-cta span{font-size:19px;line-height:1}.primary-nav .nav-cta:hover{background:var(--accent)}.menu-toggle{display:none}
/* Hero: photograph spans the complete frame */
.hero{min-height:min(820px,calc(100svh - var(--header-h)));height:clamp(645px,calc(100svh - var(--header-h)),860px);position:relative;isolation:isolate;overflow:hidden;background:#20333b}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;z-index:-2}.hero-shade{position:absolute;inset:0;background:rgba(15,27,34,.56);z-index:-1}.hero-inner{display:flex;flex-direction:column;justify-content:center;height:100%;padding-top:32px;padding-bottom:54px}.hero-content{max-width:960px}.hero .eyebrow{margin-bottom:29px}.hero h1{color:#fff;font-size:clamp(57px,6vw,99px);font-weight:600;letter-spacing:-.077em;line-height:1.065;margin:0 0 28px}.hero h1 .soft{color:#b8cbd7}.hero h1 em{font-style:normal;color:#bfd2de}.hero-description{color:#f1f5f6;font-size:clamp(16px,1.35vw,19px);line-height:1.8;max-width:610px;margin-bottom:34px}.hero-buttons{display:flex;flex-wrap:wrap;gap:13px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:18px 25px;border:1px solid transparent;font-size:12px;letter-spacing:.025em;font-weight:800;cursor:pointer;transition:background .2s,color .2s,border-color .2s;min-height:56px}.btn span{font-size:20px;line-height:1}.btn-solid{background:#517b94;color:#fff}.btn-solid:hover{background:#385b71}.btn-outline{color:#fff;border-color:rgba(255,255,255,.8);background:rgba(0,0,0,.04)}.btn-outline:hover{background:#fff;color:#1b2c38}.hero-caption{position:absolute;bottom:40px;left:max(56px,calc((100vw - 1500px)/2));display:flex;align-items:center;gap:20px;font-size:10px;color:#fff;letter-spacing:.25em;font-weight:700}.caption-dash{width:44px;height:1px;background:#fff}.hero-edge{position:absolute;right:48px;bottom:36px;color:#fff;font-size:11px;letter-spacing:.14em;font-weight:700}.hero-edge span{opacity:.5}
.intro-bar{background:#f4f6f6;border-bottom:1px solid var(--border)}.intro-content{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:27px 0}.intro-content p{margin:0;font-size:10px;font-weight:800;letter-spacing:.16em;color:#627079}.intro-content p:first-child{color:#253742}.intro-dot{font-size:7px;color:var(--accent);margin:0 13px;vertical-align:middle}
/* About */
.about-layout{display:grid;grid-template-columns:1.1fr .7fr;column-gap:clamp(70px,12vw,200px);align-items:start}.about-statement h2{max-width:795px}.about-description{padding-top:74px}.about-description p{font-size:15px;line-height:1.95;color:#627079;margin-bottom:19px}.about-description .large-body{color:#263a45;font-family:Manrope,Arial,sans-serif;font-size:clamp(19px,1.55vw,24px);line-height:1.65;letter-spacing:-.025em;font-weight:500;margin-bottom:22px}.inline-link{display:inline-flex;align-items:center;gap:54px;margin-top:18px;padding-bottom:10px;border-bottom:1px solid var(--accent);font-size:12px;font-weight:800;color:#355d74;transition:gap .2s}.inline-link:hover{gap:65px}.inline-link span{font-size:20px;line-height:1}.focus-strip{background:#edf2f4;padding:25px 0}.focus-row{display:flex;justify-content:space-around;align-items:center;gap:16px}.focus-row span{font-size:11px;font-weight:800;letter-spacing:.11em;color:#436277}.focus-row .focus-plus{font-size:22px;font-weight:400;color:#afc0c9}
/* Expertise */
.expertise{background:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:68px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:30px}.section-heading>p{max-width:360px;color:var(--muted);font-size:16px;line-height:1.75;margin-bottom:8px}.expertise-card{min-height:585px;display:grid;grid-template-columns:1fr 1.04fr;border:1px solid var(--border);margin-bottom:28px;overflow:hidden}.expertise-copy{padding:clamp(42px,5vw,72px);display:flex;flex-direction:column;align-items:start;justify-content:center}.service-index{width:100%;display:flex;justify-content:space-between;font-weight:800;font-size:10px;letter-spacing:.17em;color:#5d8096;padding-bottom:30px;margin-bottom:34px;border-bottom:1px solid #dce3e6}.service-index span{color:#a1b0ba}.expertise-copy h3{font-size:clamp(34px,3.6vw,54px);line-height:1.18;letter-spacing:-.06em;font-weight:600;margin-bottom:27px}.period{color:var(--accent)}.expertise-copy>p:not(.service-index){color:#627079;font-size:14px;line-height:1.85;margin-bottom:15px;max-width:535px}.service-detail{margin-top:20px}.mini-label{font-size:10px;font-weight:800;letter-spacing:.16em;color:#4d7288;margin-bottom:15px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips span{font-size:11px;color:#586a74;background:#edf2f4;padding:9px 11px;border:1px solid #dce3e7}.expertise-photo{min-height:100%;position:relative;background:#d7dfe2;overflow:hidden}.expertise-photo img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s ease}.expertise-card:hover .expertise-photo img{transform:scale(1.025)}.metal-card .expertise-photo img{object-position:55% 45%}.estate-card{grid-template-columns:1.04fr 1fr;background:#f5f7f7}.estate-card .expertise-photo img{object-position:50% 48%}.photo-tag{position:absolute;bottom:0;left:0;width:100%;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 27px;color:#364c5a;font-size:10px;letter-spacing:.13em;font-weight:800}.photo-tag span:first-child{font-size:23px;color:#577e94;font-weight:600}.image-disclaimer{color:#86939a;font-size:11px;text-align:right;margin:3px 0 0}
/* Personal */
.personal{background:var(--bluepaper)}.personal-grid{display:grid;grid-template-columns:.89fr 1.11fr;min-height:690px;align-items:stretch}.personal-image{position:relative;align-self:end;width:min(100%,610px);height:660px;margin-top:54px;overflow:hidden;background:#d4d6d9}.personal-image img{height:100%;width:100%;object-fit:cover;object-position:center top}.photo-corner{position:absolute;bottom:0;right:0;border-bottom:80px solid #eaf0f3;border-left:80px solid transparent}.personal-content{padding:clamp(90px,9vw,148px) 5% 90px 13%;display:flex;flex-direction:column;align-items:start;justify-content:center}.personal-content h2{font-size:clamp(39px,4.2vw,68px);margin-bottom:32px}.personal-content>p:not(.eyebrow){max-width:610px;color:#566975;line-height:1.9;font-size:15px;margin-bottom:20px}.personal-content>p.personal-lead{font-size:22px;color:#304a59;letter-spacing:-.025em;line-height:1.55}.personal-profile{display:flex;align-items:center;gap:19px;margin:22px 0 7px}.profile-line{width:46px;height:1px;background:#547e96}.personal-profile strong{display:block;font-weight:800;font-size:14px;letter-spacing:.01em}.personal-profile small{display:block;color:#6b818e;margin-top:6px;font-size:11px;letter-spacing:.04em}
/* Contact */
.contact{background:#f7f9f8}.contact-layout{display:grid;grid-template-columns:1fr .88fr;gap:clamp(55px,9vw,150px);align-items:start}.contact h2{margin-bottom:28px}.contact-info>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#687a84;max-width:540px}.contact-links{margin-top:62px;border-top:1px solid var(--border);max-width:550px}.contact-links>div{padding:21px 0;border-bottom:1px solid var(--border)}.contact-links span:not(a span){display:block;color:#668093;font-weight:800;letter-spacing:.16em;font-size:10px;margin-bottom:9px}.contact-links a,.contact-links strong{font-weight:600;font-size:17px;line-height:1.6}.contact-links a:hover{color:#487c9c}.contact-links a>span{display:inline;font-size:15px;color:var(--accent);margin-left:8px}.contact-panel{background:#fff;border:1px solid var(--border);padding:clamp(32px,4vw,60px);box-shadow:0 16px 60px rgba(35,61,79,.04)}.contact-panel-kicker{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em;color:#67899e;font-weight:800;border-bottom:1px solid var(--border);padding-bottom:19px;margin-bottom:27px}.contact-panel-kicker span{font-size:20px;line-height:1}.contact-panel h3{font-size:clamp(24px,2vw,32px);letter-spacing:-.045em;font-weight:600;margin-bottom:32px}.contact form{display:grid;gap:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact form label{display:block;font-size:11px;color:#4b5b65;font-weight:800;letter-spacing:.025em}.contact form label span{color:#7f9dad}.contact form input,.contact form textarea{display:block;width:100%;border:1px solid #dce4e8;background:#f7f9fa;padding:15px 16px;margin-top:10px;color:#243844;font-size:13px;letter-spacing:0;border-radius:0;resize:vertical;min-height:48px;transition:border-color .2s}.contact form input:focus,.contact form textarea:focus{outline:2px solid #84a6ba;outline-offset:1px;border-color:#84a6ba}.contact form input::placeholder,.contact form textarea::placeholder{color:#9aa8af;font-weight:400}.form-submit{margin-top:5px;width:100%;justify-content:space-between;border:0}.form-status{font-size:11px;line-height:1.7;color:#778993;margin:0}.form-status.error{color:#a23c32}.form-status.ok{color:#346752}.trap{position:absolute;left:-9999px;opacity:0;width:1px;height:1px;overflow:hidden}
/* Footer */
.site-footer{background:#fff;border-top:1px solid var(--border)}.footer-content{display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:clamp(30px,6vw,100px);padding:56px 0 45px}.footer-brand img{width:195px;height:auto}.footer-statement p{font-family:Manrope,Arial,sans-serif;font-size:27px;line-height:1.3;letter-spacing:-.045em;font-weight:600;margin-bottom:10px}.footer-statement small{font-size:11px;color:#7b8b95}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:13px 25px;color:#4e646f;font-size:12px;font-weight:700}.footer-nav a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--border);padding:20px 0 26px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#83929b}.footer-bottom a:hover{color:var(--accent)}
@media(max-width:1180px){.container-wide{width:min(100% - 72px,1500px)}.brand{width:280px}.primary-nav{gap:27px}.hero-caption{left:36px}.expertise-card{min-height:595px}.expertise-copy{padding:42px}.personal-image{height:590px}.personal-content{padding-left:8%}.contact-layout{gap:50px}}
@media(max-width:850px){:root{--header-h:77px}.container-wide{width:min(100% - 44px,1500px)}.brand{width:248px}.menu-toggle{display:flex;position:relative;z-index:2;justify-content:center;flex-direction:column;gap:5px;background:#fff;border:1px solid #dce3e6;width:44px;height:42px;padding:11px;cursor:pointer}.menu-toggle span{width:100%;height:2px;background:#273b49;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.primary-nav{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 18px 28px rgba(29,48,64,.1);border-top:1px solid #eef2f3;display:none;padding:22px;gap:0;flex-direction:column;align-items:stretch}.primary-nav.is-open{display:flex}.primary-nav>a{padding:17px 8px;border-bottom:1px solid #edf1f2}.primary-nav .nav-cta{margin-top:12px;justify-content:space-between;padding:15px}.hero{height:710px;min-height:600px}.hero h1{font-size:clamp(54px,8vw,74px)}.hero-caption{left:22px}.intro-content{gap:16px}.intro-content p{font-size:9px}.about-layout{grid-template-columns:1fr;gap:16px}.about-description{padding-top:0;max-width:650px}.section-heading{align-items:start;flex-direction:column;gap:20px}.expertise-card,.estate-card{grid-template-columns:1fr 1fr}.expertise-copy{padding:34px}.expertise-copy h3{font-size:32px}.personal-grid{grid-template-columns:.85fr 1.15fr}.personal-image{height:515px}.personal-content{padding:85px 0 70px 9%}.contact-layout{grid-template-columns:1fr;gap:48px}.contact-links{margin-top:35px}.contact-panel{max-width:680px}.footer-content{grid-template-columns:180px 1fr;gap:25px}.footer-brand img{width:160px}.footer-nav{grid-column:1/-1;display:flex;gap:26px}}
@media(max-width:650px){:root{--header-h:69px}.container-wide{width:calc(100% - 40px)}.header-inner{gap:8px}.brand{width:min(238px,calc(100vw - 100px))}.section-pad{padding:76px 0}.hero{min-height:680px;height:calc(100svh - var(--header-h));max-height:820px}.hero-image{object-position:57% center}.hero-shade{background:rgba(10,25,35,.65)}.hero-inner{justify-content:center;padding-top:20px;padding-bottom:55px}.hero .eyebrow{margin-bottom:26px;letter-spacing:.13em;font-size:9px;gap:12px}.hero h1{font-size:clamp(43px,10.1vw,65px);letter-spacing:-.07em;line-height:1.1;margin-bottom:26px}.hero-description{font-size:14px;line-height:1.75;max-width:490px}.hero-buttons{gap:10px;flex-direction:column;align-items:stretch;max-width:345px}.btn{min-height:52px;padding:14px 19px}.hero-caption{left:20px;bottom:25px;right:65px;font-size:8px;letter-spacing:.13em;gap:12px}.caption-dash{width:25px}.hero-edge{right:20px;bottom:22px;font-size:9px}.intro-content{padding:20px 0}.intro-content p:nth-child(2){display:none}.intro-content p{font-size:9px;line-height:1.7}.eyebrow{margin-bottom:28px;font-size:10px}h2{font-size:clamp(38px,9.8vw,54px)}.about-description p{font-size:14px;line-height:1.83}.about-description .large-body{font-size:20px}.focus-strip{padding:25px 0}.focus-row{display:grid;grid-template-columns:1fr auto 1fr;text-align:center;row-gap:17px}.focus-row span{font-size:8px;line-height:1.6}.focus-row span:nth-child(4){display:none}.focus-row span:last-child{grid-column:1/-1}.section-heading{margin-bottom:40px}.section-heading h2{font-size:39px}.section-heading>p{font-size:14px}.expertise-card,.estate-card{grid-template-columns:1fr;min-height:0}.expertise-copy{padding:34px 28px 42px}.expertise-copy h3{font-size:38px}.expertise-copy>p:not(.service-index){font-size:14px}.expertise-photo{min-height:330px}.estate-card .expertise-photo{grid-row:2}.estate-card .expertise-copy{grid-row:1}.photo-tag{padding:16px 19px}.image-disclaimer{text-align:left;line-height:1.6}.personal-grid{grid-template-columns:1fr}.personal-image{grid-row:2;height:450px;margin:0 auto;width:calc(100% - 20px)}.personal-image img{object-position:center top}.personal-content{padding:74px 0 43px}.personal-content h2{font-size:clamp(38px,9.2vw,50px)}.personal-content>p.personal-lead{font-size:19px}.personal-content>p:not(.eyebrow){font-size:14px}.contact{padding:78px 0}.contact h2{font-size:clamp(42px,10vw,56px)}.contact-info>p:not(.eyebrow){font-size:15px}.contact-links a,.contact-links strong{font-size:16px;word-break:break-word}.contact-panel{padding:27px 20px}.contact-panel h3{font-size:24px}.form-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;gap:23px;padding:42px 0 32px}.footer-brand img{width:182px}.footer-statement p{font-size:24px}.footer-nav{grid-column:auto;flex-wrap:wrap;gap:20px}.footer-bottom{flex-wrap:wrap;line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* V2.1 — compact source credits beneath editorial photo panels. */
.image-credits{display:block;margin-top:6px}.image-credits a{text-decoration:underline;text-underline-offset:2px;text-decoration-color:#a9b7bf}.image-credits a:hover{color:#3b718e}
