@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');

:root{--navy:#101b2c;--navy-deep:#0b1523;--ink:#172334;--muted:#637080;--cream:#f7f6f2;--line:#e7e8e8;--gold:#c8ad76;--white:#fff;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.container{width:min(100% - 80px,1220px);margin-inline:auto}
.skip-link{position:absolute;z-index:200;top:-100px;left:16px;padding:12px 18px;background:var(--white);color:var(--navy)}
.skip-link:focus{top:16px}

.site-header{position:sticky;top:0;z-index:100;background:#0b1625;border-bottom:1px solid rgba(200,173,118,.2)}
.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:19px;white-space:nowrap}
.brand-monogram{position:relative;display:block;width:57px;height:57px;flex:none;color:var(--navy);font-family:var(--serif);font-size:43px;font-weight:400;line-height:1}
.monogram-b,.monogram-c,.monogram-amp{position:absolute;display:block}
.monogram-b{left:1px;top:5px}
.monogram-c{left:20px;top:5px;color:#9f8352}
.monogram-amp{left:20px;top:35px;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--navy);background:var(--white);line-height:1;padding:0 2px}
.brand-copy{display:flex;flex-direction:column;gap:3px}
.brand-name{font-size:28px;font-weight:600;line-height:1;letter-spacing:-.055em;color:var(--navy)}
.brand-copy small{color:#9f8352;font-size:9px;font-weight:700;letter-spacing:.23em}
.header-brand{gap:22px}
.header-brand .brand-monogram{width:102px;height:90px;font-size:86px}
.header-brand .monogram-b{left:2px;top:0}
.header-brand .monogram-c{left:40px;top:0}
.header-brand .monogram-amp{left:40px;top:62px;font-size:25px}
.header-brand .brand-name{font-size:56px}
.header-brand .brand-monogram,.header-brand .brand-name{color:var(--white)}
.header-brand .monogram-c,.header-brand .brand-copy small{color:#bd985e}
.header-brand .monogram-amp{color:var(--white);background:#0b1625}
.main-nav{display:flex;align-items:center;gap:38px}
.main-nav>a{font-size:13px;font-weight:600;color:#475365;transition:color .2s}
.main-nav>a:hover{color:var(--navy)}
.access-button{border:1px solid #bd985e;background:transparent;color:var(--white);padding:14px 20px;font-size:12px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background .2s,transform .2s}
.access-button:hover{background:rgba(189,152,94,.15);transform:translateY(-2px)}
.access-button span{margin-left:13px;font-size:17px;line-height:0}
.menu-toggle{display:none}

.hero{position:relative;overflow:hidden;background:var(--navy);color:var(--white);isolation:isolate}
.hero::before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(11,21,35,.94) 0%,rgba(11,21,35,.84) 38%,rgba(11,21,35,.58) 68%,rgba(11,21,35,.38) 100%);pointer-events:none}
.hero-grid{position:absolute;z-index:1;inset:0;opacity:.08;background-image:linear-gradient(to right,transparent 0,transparent calc(100% - 1px),#778ba4 calc(100% - 1px)),linear-gradient(to bottom,transparent 0,transparent calc(100% - 1px),#778ba4 calc(100% - 1px));background-size:84px 84px;mask-image:linear-gradient(to right,transparent 30%,#000);pointer-events:none}
.hero-inner{position:relative;z-index:2;min-height:690px;display:flex;align-items:center;padding-block:100px 65px}
.hero-content{position:relative;z-index:2;max-width:730px}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 26px;color:#d4bd8e;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.23em}
.eyebrow-line{display:block;width:26px;height:1px;background:currentColor}
.eyebrow.dark{color:#987b48}
h1,h2,h3,p{margin-top:0}
h1,h2{font-weight:500;letter-spacing:-.052em}
h1{font-size:clamp(56px,6.1vw,90px);line-height:1.08;margin-bottom:26px}
h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}
h1 em{display:block;color:#d6be91}
.hero-copy{max-width:570px;color:#e1e5ea;font-size:17px;line-height:1.8;font-weight:400;margin-bottom:38px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.button{min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 24px;border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:transform .2s,background .2s,color .2s,border-color .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--gold);color:var(--navy)}
.button-primary:hover{background:#e0c894}
.button-secondary{border-color:#5d6a79;color:var(--white)}
.button-secondary:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.hero-art{position:absolute;z-index:0;inset:0;width:100%;height:100%;margin:0}
.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 24%;opacity:.82;filter:saturate(.78) contrast(1.04)}
.hero-foot{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;padding:21px 0;border-top:1px solid rgba(255,255,255,.12);font-size:9px;font-weight:700;letter-spacing:.19em;color:#d1d8df}
.hero-scroll{letter-spacing:.04em;text-transform:none;font-size:12px;font-weight:400}
.hero-scroll span{color:var(--gold);padding-left:10px}

.section{padding-block:125px}
.intro{background:var(--white)}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}
h2{font-size:clamp(42px,4.3vw,66px);line-height:1.16;margin-bottom:0;color:var(--navy)}
h2 em{color:#a18556}
.intro-copy{padding-top:37px}
.intro-copy p{font-size:15px;line-height:1.95;color:var(--muted);margin-bottom:22px}
.intro-copy .lead{font-size:19px;line-height:1.75;color:#394658}
.signature-line{display:flex;align-items:center;gap:17px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;font-weight:600;color:var(--muted)}
.signature-mark{font-family:var(--serif);font-style:italic;font-size:25px;color:#9c8152}

.quote-band{background:#e9e7df;border-block:1px solid #e1ded5}
.quote-inner{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-block:65px}
.quote-symbol{height:50px;color:#ac936a;font-family:var(--serif);font-size:86px;line-height:1}
.quote-inner p{max-width:790px;color:var(--navy);font-family:var(--serif);font-style:italic;font-size:clamp(25px,3vw,40px);line-height:1.45;letter-spacing:-.025em;margin:8px 0 30px}
.quote-label{font-size:10px;font-weight:700;color:#9a8157;letter-spacing:.24em}

.site-footer{background:var(--navy-deep);color:#adb9c6}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:67px}
.footer-brand .brand-monogram{color:var(--white)}
.footer-brand .monogram-amp{color:var(--white);background:var(--navy-deep)}
.footer-brand .brand-name{color:var(--white)}
.footer-main p{margin:0;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.45;color:#d7dddf}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:21px;border-top:1px solid #293647;font-size:11px}
.footer-bottom a:hover{color:var(--white)}

.access-dialog{width:min(100% - 36px,440px);max-height:calc(100% - 36px);padding:40px;border:0;box-shadow:0 25px 100px rgba(0,0,0,.25);color:var(--ink)}
.access-dialog::backdrop{background:rgba(5,15,28,.72)}
.dialog-close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:29px;color:#677383;cursor:pointer}
.dialog-icon{display:grid;place-items:center;width:55px;height:55px;background:var(--navy);color:var(--white);font-weight:700;letter-spacing:-.08em;margin-bottom:23px}
.access-dialog h2{font-family:var(--sans);font-size:27px;letter-spacing:-.04em;margin-bottom:12px}
.access-dialog p{font-size:14px;line-height:1.75;color:var(--muted);margin-bottom:26px}
.dialog-ok{border:0}

@media(max-width:980px){.container{width:min(100% - 48px,1220px)}.main-nav{gap:20px}.hero-inner{min-height:625px}.approach-header{gap:35px}.contact-inner{grid-template-columns:1fr}.contact-link{width:max-content;max-width:100%}}
@media(max-width:720px){html{scroll-padding-top:70px}.container{width:min(100% - 40px,1220px)}.header-inner{height:70px}.brand-mark{width:39px;height:39px;font-size:15px}.brand-name{font-size:20px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;border:0;background:transparent;cursor:pointer}.menu-toggle span{display:block;width:23px;height:2px;background:var(--navy)}.main-nav{display:none;position:absolute;top:69px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:16px 20px 22px;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(16,27,44,.09)}.main-nav.is-open{display:flex}.main-nav>a{padding:14px 4px;font-size:15px}.access-button{margin-top:8px;text-align:left}.hero::before{background:linear-gradient(90deg,rgba(11,21,35,.88),rgba(11,21,35,.65))}.hero-art img{object-position:52% 24%;opacity:.7}.hero-inner{min-height:620px;padding-block:84px 48px}.hero-content{max-width:100%}h1{font-size:clamp(48px,11vw,70px)}.hero-copy{font-size:16px}.hero-foot{font-size:8px}.section{padding-block:80px}.intro-grid{grid-template-columns:1fr;gap:12px}.intro-copy{padding-top:18px}.approach-header{display:block}.approach-header>p{margin-top:25px}.cards{grid-template-columns:1fr}.card{min-height:250px}.card-icon{height:75px}.quote-inner{min-height:280px}.contact-inner{gap:38px}.footer-main{padding-block:50px}}
@media(max-width:440px){.container{width:min(100% - 32px,1220px)}.hero-inner{padding-top:70px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{justify-content:space-between}.hero-foot span:first-child{max-width:160px;line-height:1.5}.contact-link{min-width:0;width:100%}.contact-link strong{font-size:17px}.footer-main{align-items:start;flex-direction:column}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

@media(max-width:720px){
  html{scroll-padding-top:78px}
  .header-inner{height:78px}
  .brand{gap:12px}
  .brand-monogram{width:46px;height:46px;font-size:35px}
  .monogram-b,.monogram-c{top:3px}
  .monogram-c{left:16px}
  .monogram-amp{left:16px;top:29px;font-size:11px}
  .brand-name{font-size:23px}
  .brand-copy small{font-size:7px;letter-spacing:.16em}
  .main-nav{top:77px}
}
@media(max-width:440px){
  .brand-name{font-size:21px}
  .brand-copy small{font-size:6px}
}
@media(max-width:980px){
  .header-brand{gap:16px}
  .header-brand .brand-monogram{width:78px;height:76px;font-size:68px}
  .header-brand .monogram-c{left:31px}
  .header-brand .monogram-amp{left:31px;top:50px;font-size:20px}
  .header-brand .brand-name{font-size:42px}
}
@media(max-width:720px){
  .header-brand{gap:12px}
  .header-brand .brand-monogram{width:62px;height:62px;font-size:56px}
  .header-brand .monogram-c{left:25px}
  .header-brand .monogram-amp{left:25px;top:41px;font-size:16px}
  .header-brand .brand-name{font-size:32px}
}
@media(max-width:440px){
  .header-brand .brand-monogram{width:53px;height:56px;font-size:49px}
  .header-brand .monogram-c{left:22px}
  .header-brand .monogram-amp{left:22px;top:36px;font-size:14px}
  .header-brand .brand-name{font-size:27px}
}
@media(max-width:720px){
  .site-header .menu-toggle span{background:var(--white)}
  .site-header .main-nav{background:#0b1625;border-bottom-color:rgba(200,173,118,.2)}
}
