@font-face{font-family:DM Sans;src:url(/assets/sans.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Cormorant Garamond;src:url(/assets/serif.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:Cormorant Garamond;src:url(/assets/serif-italic.woff2) format("woff2");font-style:italic;font-weight:400 700;font-display:swap}
:root{
  --night:#0a1522;--deep:#0d1a28;--blue:#172738;--gold:#d8b981;--gold-light:#ecd1a0;
  --sand:#f5f1e9;--ivory:#fcf9f3;--text:#142333;--muted:#4c5660;--quiet:#bdc6ce;--line:#ddd5c7;
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #987345;outline-offset:5px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:.99;letter-spacing:-.035em}
h2{font-size:clamp(48px,6vw,82px)}
h3{font-size:38px;line-height:1.04}
h1 em,h2 em{color:var(--gold);font-weight:500}
.wrap{width:min(1240px,calc(100% - 128px));margin-inline:auto}
.eyebrow{display:flex;align-items:center;gap:12px;color:#78562e;font-size:11px;font-weight:700;line-height:1.45;letter-spacing:.19em;text-transform:uppercase;margin-bottom:20px}
.eyebrow::before{content:"";width:27px;height:1px;background:currentColor;flex:none}
.hero .eyebrow,.dark-section .eyebrow{color:var(--gold-light)}
.arrow{display:inline-block;position:relative;width:13px;height:13px;flex:none;vertical-align:middle;font-size:0;transition:transform .2s}
.arrow::before,.arrow::after{position:absolute;content:""}
.arrow::before{top:1px;right:1px;width:8px;height:8px;border-top:1px solid;border-right:1px solid}
.arrow::after{top:6px;left:0;width:13px;border-top:1px solid;transform:rotate(-45deg)}
a:hover .arrow,button:hover .arrow{transform:translate(2px,-2px)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 19px;border:1px solid transparent;border-radius:2px;font:700 13px/1.3 var(--sans);white-space:normal;transition:background .2s,color .2s,border-color .2s}
.primary{background:var(--gold);color:var(--night)}
.primary:hover{background:var(--gold-light)}
.outline{color:var(--gold-light);border-color:#8c7450}
.outline:hover{background:#d8b98120;border-color:var(--gold)}
.outline-dark{border-color:#988264;color:var(--text)}
.outline-dark:hover{background:#e9dfcf}
.text-light{color:#f4ebd9;padding-inline:3px}
.text-light:hover{color:var(--gold-light)}
.skip{position:absolute;z-index:12;inset:8px auto auto 12px;transform:translateY(-150%);background:var(--gold);color:var(--night);padding:8px 14px}
.skip:focus{transform:none}
.site-header{position:sticky;top:0;z-index:5;background:#0a1522fa;color:#f8f3e9;border-bottom:1px solid #a68b612e}
.header-row{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:13px;width:max-content}
.brand img{width:45px;height:45px;object-fit:contain}
.brand span{display:grid;gap:4px}
.brand strong{font:600 21px/1 var(--serif);letter-spacing:.085em;white-space:nowrap}
.brand small{font-size:8px;line-height:1.35;letter-spacing:.24em;color:var(--gold-light)}
.site-header nav{display:flex;align-items:center;gap:clamp(18px,3vw,43px)}
.site-header nav>a:not(.button){font-size:13px;color:#d7dce0;line-height:1.45;padding-block:8px;position:relative}
.site-header nav>a:not(.button):hover,.site-header nav>a[aria-current]{color:var(--gold-light)}
.site-header nav>a[aria-current]::after{content:"";position:absolute;bottom:1px;left:0;right:0;border-bottom:1px solid #ae8e58}
.nav-contact{min-height:42px;padding:9px 16px}
.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;overflow:hidden;color:#fff8ea;background:linear-gradient(105deg,#0a1522 12%,#0b1725f2 40%,#142235e3 76%,#101d2b 100%),url(/assets/textura.webp) center/cover}
.hero::before{content:"";position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 1px),#d8b9810a calc(10% - 1px) 10%)}
.hero-grid{min-height:632px;display:grid;grid-template-columns:1.16fr 1fr;align-items:center;gap:34px}
.hero-copy{padding:68px 0 74px;position:relative;z-index:1}
.hero h1{font-size:clamp(62px,7.2vw,110px);line-height:.93;letter-spacing:-.056em}
.hero-intro{max-width:400px;margin-top:28px;color:#d8dfe4;font-size:16px;line-height:1.75}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 25px;margin-top:31px}
.hero-figure{position:relative;isolation:isolate;align-self:end;margin:43px 0 31px 0;width:100%;padding:13px 13px 0}
.hero-figure::before,.hero-figure::after{position:absolute;content:"";pointer-events:none;z-index:-1}
.hero-figure::before{inset:0 0 64px;border:1px solid #ba9a655f}
.hero-figure::after{height:37px;width:37px;right:0;top:0;border-top:1px solid #dfc18b;border-right:1px solid #dfc18b}
.portrait{height:clamp(410px,37vw,528px);position:relative;overflow:hidden;background:#354250}
.portrait img{height:100%;width:100%;object-fit:cover;object-position:50% 15%;filter:saturate(.79) brightness(.86) contrast(1.03)}
.portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#18233600 47%,#10172258 100%);pointer-events:none}
.hero-figure figcaption{display:flex;align-items:center;gap:14px;min-height:65px;padding-inline:6px;color:#fbf4e6}
.caption-rule{width:25px;height:1px;background:#b89965}
.hero-figure figcaption strong,.hero-figure figcaption small{display:block}
.hero-figure figcaption strong{font:600 24px/.98 var(--serif)}
.hero-figure figcaption small{font-size:10px;color:var(--quiet);margin-top:6px;letter-spacing:.09em;text-transform:uppercase}
.location-bar{color:#dce2e6;background:#101e2c;border-block:1px solid #ae925d39;font-size:12px}
.location-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px}
.location-bar .wrap>span,.location-bar a{display:inline-flex;gap:11px;align-items:center}
.location-bar a{color:var(--gold-light)}
.location-dot{width:8px;height:8px;border:1px solid var(--gold);border-radius:50%;box-shadow:0 0 0 3px #d8b98127;flex:none}
.section{padding-block:100px;scroll-margin-top:82px}
.light-section{background:var(--sand)}
.light-section h2 em,.office-section h2 em{color:#815d33}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:38px}
.section-head>p{color:var(--muted);max-width:310px;margin-bottom:5px}
.areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.area-card{padding:26px 28px 24px;min-height:246px;border:1px solid var(--line);background:var(--ivory);display:flex;flex-direction:column;align-items:start;transition:background .22s,border-color .22s,transform .22s}
.area-card:hover{background:#fffdf7;border-color:#ad9369;transform:translateY(-4px)}
.area-symbol{display:grid;place-items:center;width:45px;height:45px;border:1px solid #c9b79b;color:#75542f;font:500 26px/1 Georgia,"DejaVu Sans","Noto Sans Symbols 2",serif;margin-bottom:22px}
.area-card p{margin-top:10px;color:var(--muted);font-size:14px;margin-bottom:22px;max-width:260px}
.card-link{display:inline-flex;align-items:center;gap:9px;color:#684923;font-size:13px;font-weight:700}
.area-card .card-link{margin-top:auto}
a.card-link:hover{text-decoration:underline;text-underline-offset:4px}
.office-section{background:#eae3d6}
.office-grid{display:grid;grid-template-columns:.8fr 1fr;align-items:center;gap:clamp(34px,8vw,126px)}
.office-art{display:flex;align-items:center;justify-content:center;gap:17px;min-height:350px;position:relative;isolation:isolate;background:linear-gradient(160deg,#14223488,#06101dd9),url(/assets/textura.webp) center/cover}
.office-art::after{position:absolute;content:"";inset:13px;border:1px solid #c19f6c79;z-index:-1}
.office-art img{width:clamp(100px,16vw,180px);height:auto}
.office-art span{width:12%;height:1px;background:#d8b98185}
.office-copy h2{font-size:clamp(47px,5.5vw,76px)}
.office-copy>p:not(.eyebrow){color:#3f4a55;max-width:540px;margin-top:18px}
.office-copy .card-link{margin-top:21px}
.journal .section-head .button{margin-bottom:5px}
.post-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.post-card{background:var(--ivory);border:1px solid var(--line)}
.post-card>a{display:block;height:100%}
.post-image{height:clamp(175px,20vw,285px);background:var(--blue);overflow:hidden}
.post-image img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .35s}
.post-card:hover img{transform:scale(1.035)}
.post-card-body{padding:25px 28px 27px}
.post-meta{color:#735430;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:10px}
.post-meta span{height:3px;width:3px;border-radius:50%;background:currentColor}
.post-card h3{margin-block:12px}
.post-card-body>p:not(.post-meta){color:var(--muted);font-size:14px}
.post-card .card-link{margin-top:19px}
.dark-section{color:#fcf5e7;background:linear-gradient(110deg,#0a1522f8,#122438e8),url(/assets/textura.webp) center/cover}
.contact{padding-block:90px;scroll-margin-top:82px;border-top:1px solid #a68b613e}
.contact-grid{display:grid;grid-template-columns:1fr .88fr;gap:clamp(32px,8vw,118px)}
.contact h2{max-width:590px}
.contact-items{margin-top:28px}
.contact-items>div{padding:13px 0;border-bottom:1px solid #bca58038;display:grid;gap:3px}
.contact-items>div>span{color:var(--gold-light);text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:700}
.contact-items a{width:fit-content;max-width:100%;overflow-wrap:anywhere}
.contact-items a:hover,.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-form{background:#122233;border:1px solid #bca5805e;padding:27px 30px;align-self:start;display:grid}
.contact-form h3{margin-bottom:8px}
.contact-form p,.contact-form small{color:#c5ced5;font-size:13px;line-height:1.45}
.contact-form label{margin-top:15px;font-size:13px}
.contact-form label span{color:#c5ced5}
.contact-form input,.contact-form textarea{margin-top:5px;width:100%;border:1px solid #73818d;background:#0b1825;color:#fff8eb;padding:8px 10px;border-radius:2px}
.contact-form textarea{resize:vertical}
.contact-form small{margin-top:9px}
.contact-form button{margin-top:16px;justify-self:start}
.site-footer{color:#e7ebee;border-top:1px solid #a68b613e;background:#08121e}
.footer-grid,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px}
.footer-grid{min-height:104px}
.footer-grid nav{display:flex;flex-wrap:wrap;gap:10px 23px;font-size:13px}
.footer-social{font-size:13px;color:var(--gold-light)}
.footer-bottom{padding-block:18px;border-top:1px solid #a68b613e;font-size:12px;color:#bcc7d0}
.inner-hero{padding:64px 0 72px;border-bottom:1px solid #a68b613e}
.inner-copy{max-width:880px}
.back-link{display:inline-block;margin-bottom:27px;color:var(--gold-light);font-size:13px}
.back-link:hover{text-decoration:underline}
.inner-hero h1{font-size:clamp(55px,7.3vw,106px)}
.inner-hero .inner-copy>p:not(.eyebrow){margin-top:20px;font-size:17px;max-width:590px;color:#dbe2e8}
.detail-grid{display:grid;grid-template-columns:.78fr 1fr;gap:clamp(32px,8vw,124px)}
.prose h2,.faq h2,.related h2{font-size:clamp(36px,4vw,54px)}
.prose h3{font-size:32px;margin-top:25px}
.prose p,.prose li,.faq p{color:#384652}
.prose p,.prose ul{margin-top:15px}
.prose a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.detail-contact{margin-top:24px}
.faq h2{margin-bottom:18px}
.faq details{border-top:1px solid #c9bead}
.faq details:last-child{border-bottom:1px solid #c9bead}
.faq summary{list-style:none;cursor:pointer;font-weight:700;font-size:15px;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:20px;line-height:1;color:#765631}
.faq details[open] summary::after{content:"−"}
.faq details p{font-size:15px;margin-bottom:16px}
.related{background:#eae3d6;padding-block:30px 36px}
.related .wrap,.related .wrap>div{display:flex;flex-wrap:wrap;gap:18px 30px;align-items:center;justify-content:space-between}
.related h2{font-size:35px}
.article-wrap{max-width:760px}
.article-wrap .post-meta{margin-bottom:22px}
.article-wrap .prose h2,.article-wrap.prose h2{margin-top:30px;font-size:40px}
.article-wrap .prose p:first-child{font-size:19px;margin-top:0}
.article-wrap.prose h2:first-child{margin-top:0}
.article-note{border-top:1px solid #c9bead;padding-top:15px;font-size:14px}
.next-article{padding:23px;background:#eae3d6;margin-top:35px}
.next-article .eyebrow{margin-bottom:12px}
.next-article a{font:600 32px/1.1 var(--serif)}
.next-article a:hover{text-decoration:underline}
@media(max-width:1100px){
  .wrap{width:calc(100% - 88px)}
  .hero-grid{min-height:550px}
  .hero h1{font-size:clamp(58px,7.7vw,94px)}
  .portrait{height:clamp(350px,42vw,500px)}
}
@media(max-width:820px){
  .wrap{width:calc(100% - 50px)}
  .header-row{min-height:67px}
  .site-header nav{gap:16px}
  .hero-grid{min-height:475px;gap:21px}
  .hero h1{font-size:clamp(52px,8.2vw,71px)}
  .hero-copy{padding-block:50px}
  .hero-intro{margin-top:22px;font-size:15px}
  .hero-actions{gap:8px 16px;margin-top:22px}
  .hero-figure{margin-bottom:19px}
  .portrait{height:370px}
  .section,.contact{padding-block:68px;scroll-margin-top:67px}
  .area-card{padding:20px;min-height:220px}
  .area-card h3{font-size:32px}
  .office-art{min-height:300px}
}
@media(max-width:680px){
  .wrap{width:calc(100% - 36px)}
  .header-row{flex-wrap:wrap;gap:0}
  .brand{gap:9px}
  .brand img{height:38px;width:38px}
  .brand strong{font-size:19px}
  .menu-toggle{display:none}
  .js .menu-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid #8c7450;border-radius:2px;color:var(--gold-light);padding:7px 11px;font-size:13px;min-height:40px}
  .menu-lines{width:14px;height:8px;border-block:1px solid currentColor}
  .site-header nav{width:100%;flex-wrap:wrap;justify-content:space-between;gap:7px 13px;padding-block:4px 14px}
  .js .site-header nav{display:none}
  .js .site-header nav.is-open{display:flex}
  .nav-contact{min-height:36px;padding:7px 11px}
  .nav-contact .arrow{display:none}
  .hero-grid{grid-template-columns:1fr;gap:0}
  .hero-copy{padding:45px 0 25px}
  .hero h1{font-size:clamp(54px,12.2vw,78px)}
  .hero-intro{max-width:350px;margin-top:18px}
  .hero-actions{margin-top:20px}
  .hero-figure{margin:7px 0 12px;padding:8px 8px 0}
  .portrait{height:clamp(310px,83vw,415px)}
  .hero-figure figcaption{min-height:58px}
  .hero-figure::before{bottom:57px}
  .location-bar .wrap{min-height:52px;font-size:11px}
  .location-bar .wrap>span,.location-bar a{gap:8px}
  .eyebrow{margin-bottom:14px;letter-spacing:.14em}
  .section,.contact{padding-block:53px}
  .section-head{align-items:start;flex-direction:column;gap:13px;margin-bottom:24px}
  .section-head>p{margin:0}
  .areas-grid,.office-grid,.post-grid,.contact-grid,.detail-grid{grid-template-columns:1fr}
  .area-card{min-height:185px}
  .area-symbol{margin-bottom:14px}
  .area-card p{margin-bottom:14px}
  .office-art{min-height:200px}
  .office-grid{gap:27px}
  .office-copy{grid-row:1}
  .contact-grid{gap:27px}
  .contact-form{padding:21px}
  .footer-grid,.footer-bottom{flex-wrap:wrap;justify-content:start;gap:12px 20px;padding-block:17px}
  .footer-grid nav{order:3;width:100%}
  .footer-bottom span{width:100%}
  .inner-hero{padding-block:36px 48px}
  .inner-hero h1{font-size:clamp(47px,11vw,70px)}
  .detail-grid{gap:36px}
}
@media(max-width:355px){
  .hero h1{font-size:49px}
  .location-bar .wrap{align-items:start;justify-content:center;flex-direction:column;gap:5px;padding-block:8px}
  .hero-actions .button{gap:9px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}
