
:root{
  --paper:#faf9f7; --paper-2:#f2f1ee; --ink:#141412; --ink-soft:#2b2a27; --graphite:#75726c;
  --hair:#dcdad4; --hair-strong:#c7c4bc; --charcoal:#111110; --charcoal-2:#1b1a18; --accent:#b08d57;
  --serif:'Cormorant Garamond', serif; --caps:'Cinzel', serif; --sans:'Jost', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper); color:var(--ink); font-family:var(--sans); font-weight:300; -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
.wrap{max-width:1180px; margin:0 auto; padding:0 40px;}
p{line-height:1.8; color:var(--ink-soft);}
h1,h2,h3,h4{font-family:var(--serif); font-weight:400; color:var(--ink);} 
header{position:fixed; top:0; left:0; right:0; z-index:50; background:rgba(250,249,247,.92); border-bottom:1px solid var(--hair); backdrop-filter:blur(10px);} 
header .row{ display:flex; align-items:center; justify-content:space-between; height:84px; }
.brand{display:flex; align-items:center; gap:13px;} .brand .plate{width:36px; height:36px; border-radius:2px; overflow:hidden; border:1px solid var(--hair-strong); flex:none;} .brand .plate img{width:100%;height:100%;object-fit:cover;} .brand-text{font-family:var(--caps); font-size:12.5px; letter-spacing:.12em; color:var(--ink);} .brand-text span{display:block; font-family:var(--sans); font-size:9px; letter-spacing:.22em; color:var(--graphite); margin-top:3px; font-weight:300;}
nav{display:flex; align-items:center; gap:32px;} nav a.nav-link{font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); position:relative; padding-bottom:4px;} nav a.nav-link::after{content:''; position:absolute; left:0; right:100%; bottom:0; height:1px; background:currentColor; transition:right .3s ease;} nav a.nav-link:hover::after{right:0;}
.btn{display:inline-flex; align-items:center; gap:10px; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; padding:14px 24px; border:1px solid var(--ink); transition:background .35s ease, color .35s ease, border-color .35s ease; white-space:nowrap;} nav .btn{background:var(--ink); color:var(--paper);} nav .btn:hover{background:transparent; color:var(--ink);} 
.burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;} .burger span{width:22px; height:1px; background:var(--ink);} .mobile-nav{display:none;}
.page-hero{padding-top:84px; position:relative; color:var(--paper); background:#1a1917;} .page-hero .hero-media{position:absolute; inset:0; background-size:cover; background-position:center;} .page-hero::after{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(9,9,9,.72) 0%, rgba(9,9,9,.58) 46%, rgba(9,9,9,.38) 100%);} .page-hero .wrap{position:relative; z-index:1; padding-top:74px; padding-bottom:74px;} .breadcrumbs{display:flex; flex-wrap:wrap; gap:8px; color:#ddd8ce; font-size:12px; letter-spacing:.03em; margin-bottom:20px;} .breadcrumbs span.sep{opacity:.5;} .hero-kicker{display:inline-flex; align-items:center; gap:10px; padding:7px 12px; border:1px solid rgba(250,249,247,.25); background:rgba(250,249,247,.08); font-family:var(--caps); font-size:11px; letter-spacing:.15em; text-transform:uppercase; margin-bottom:18px;} .page-hero h1{font-size:clamp(38px,5vw,58px); line-height:1.05; max-width:760px; color:var(--paper);} .page-hero .hero-sub{margin-top:18px; max-width:670px; color:#e0dbd2; font-size:17px;} .hero-meta{margin-top:28px; display:flex; flex-wrap:wrap; gap:22px; color:#d7d1c5; font-size:14px;}
.article-main{padding:78px 0 96px;} .article-layout{display:grid; grid-template-columns: minmax(0, 1fr) 320px; gap:46px; align-items:start;} .article-body{display:grid; grid-template-columns:250px minmax(0,1fr); gap:34px; align-items:start;} .toc{position:sticky; top:110px; background:var(--paper-2); border:1px solid var(--hair); padding:24px 22px;} .toc h3{font-size:30px; margin-bottom:12px;} .toc ol{list-style:none; display:grid; gap:10px;} .toc li{font-size:15px; color:var(--ink-soft);} .toc a{display:block; padding-left:14px; position:relative;} .toc a::before{content:'›'; position:absolute; left:0; top:0; color:var(--accent);} .quick-quote{margin-top:24px; border-top:1px solid var(--hair); padding-top:20px; font-family:var(--serif); font-size:28px; color:var(--ink-soft); line-height:1.35;} .content{min-width:0;} .content section + section{margin-top:38px;} .content h2{font-size:44px; line-height:1.05; margin-bottom:16px;} .content h3{font-size:32px; margin-bottom:14px;} .content p + p{margin-top:14px;} .lead-card{background:linear-gradient(180deg, #fff 0%, var(--paper-2) 100%); border:1px solid var(--hair); padding:22px 24px; margin:18px 0 8px;} .bullet-list{display:grid; gap:12px; list-style:none; margin-top:18px;} .bullet-list li{position:relative; padding-left:18px; color:var(--ink-soft); line-height:1.7;} .bullet-list li::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--accent); position:absolute; left:0; top:12px;} .faq-list{display:grid; gap:16px; margin-top:16px;} .faq-item{border:1px solid var(--hair); background:#fff; padding:18px 20px;} .faq-item h4{font-size:25px; margin-bottom:10px;} .note{margin-top:18px; border-left:2px solid var(--accent); padding-left:18px; font-style:italic; font-family:var(--serif); font-size:27px; color:var(--ink-soft); line-height:1.45;}
.sidebar{display:grid; gap:22px; position:sticky; top:110px;} .side-card{border:1px solid var(--hair); background:#fff; padding:22px;} .side-card.image{padding:0; overflow:hidden;} .profile-photo{aspect-ratio:4/5; background:#111;} .profile-photo img{width:100%; height:100%; object-fit:cover;} .profile-copy{padding:18px 22px 22px;} .profile-copy .name{font-size:34px; margin-bottom:6px;} .profile-copy .meta{color:var(--graphite); font-size:14px; line-height:1.6;} .profile-copy p{margin-top:14px; font-size:15px;} .mini-list{display:grid; gap:12px; margin-top:12px;} .mini-list a{padding-bottom:10px; border-bottom:1px solid var(--hair); color:var(--ink-soft);} .mini-list a:last-child{border-bottom:none; padding-bottom:0;} .contact-card{background:linear-gradient(135deg, #151412 0%, #26231f 100%); color:var(--paper);} .contact-card h3{font-size:34px; color:var(--paper);} .contact-card p, .contact-card a.meta-link{color:#d4cec3;} .contact-card .btn-inline{display:inline-flex; margin-top:16px; align-items:center; justify-content:center; border:1px solid rgba(250,249,247,.55); color:var(--paper); padding:14px 18px; text-transform:uppercase; font-size:12px; letter-spacing:.08em;}
.bottom-related{padding-top:24px; margin-top:30px; border-top:1px solid var(--hair);} .related-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; margin-top:18px;} .related-card{background:#fff; border:1px solid var(--hair); overflow:hidden;} .related-card .thumb{aspect-ratio:16/9; background:#ddd; background-size:cover; background-position:center;} .related-card .copy{padding:16px 18px 20px;} .related-card h3{font-size:26px; margin-bottom:10px;} .related-card p{font-size:14px;}
.listing-main{padding:118px 0 96px;} .listing-head{display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:end; margin-bottom:52px;} .eyebrow{font-family:var(--caps); font-size:11px; letter-spacing:.32em; text-transform:uppercase; color:var(--graphite); margin-bottom:18px;} .listing-head h1{font-size:clamp(40px,5vw,58px); line-height:1.05;} .listing-head p{font-size:16px;} .feature-band{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-bottom:48px;} .feature-card{border:1px solid var(--hair); background:#fff; overflow:hidden;} .feature-card .thumb{aspect-ratio:16/9; background-size:cover; background-position:center;} .feature-card .copy{padding:20px;} .feature-card .caps{font-family:var(--caps); letter-spacing:.12em; text-transform:uppercase; font-size:10.5px; color:var(--graphite);} .feature-card h2{font-size:34px; margin:10px 0 12px;} .feature-card p{font-size:15px;} .feature-card .read-more{display:inline-flex; margin-top:14px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:2px;}
.area-section{padding-top:26px; border-top:1px solid var(--hair);} .area-head{display:grid; grid-template-columns:1fr .9fr; gap:36px; margin-bottom:28px; align-items:end;} .area-head h2{font-size:44px;} .topic-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;} .topic-card{border:1px solid var(--hair); background:#fff; padding:22px; transition:transform .25s ease, box-shadow .25s ease;} .topic-card:hover{transform:translateY(-3px); box-shadow:0 18px 40px rgba(17,17,16,.08);} .topic-card h3{font-size:28px; margin-bottom:10px;} .topic-card p{font-size:15px; margin-bottom:14px;} .topic-card .caps{font-family:var(--caps); letter-spacing:.12em; text-transform:uppercase; font-size:10px; color:var(--graphite);} .topic-card .topic-link{display:inline-flex; margin-top:6px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; border-bottom:1px solid currentColor; padding-bottom:2px;}
.area-banner{margin:18px 0 36px; border:1px solid var(--hair); overflow:hidden; background:#fff;} .area-banner .thumb{aspect-ratio:16/6; background-size:cover; background-position:center;} .area-banner .copy{padding:26px 28px; display:grid; grid-template-columns:1.2fr .8fr; gap:24px;}
.info-grid{display:grid; gap:24px;} .contact-strip{margin-top:42px; padding:26px 28px; border:1px solid var(--hair); background:var(--paper-2); display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center;} .contact-strip h3{font-size:36px;} .contact-strip p{max-width:720px;}
.article-footer{border-top:1px solid var(--hair); background:#f6f4ef;} .footer-top, .footer-bottom{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:24px 40px;} .footer-brand strong{display:block; font-family:var(--caps); font-size:13px; letter-spacing:.12em;} .footer-brand span{font-size:12px; color:var(--graphite);} .footer-links{display:flex; flex-wrap:wrap; gap:16px 24px; font-size:12px; text-transform:uppercase; letter-spacing:.08em;} .footer-bottom{border-top:1px solid var(--hair); font-size:12px; color:var(--graphite);} .footer-bottom p{font-size:12px; color:var(--graphite); max-width:740px;}
@media (max-width: 1080px){ .article-body{grid-template-columns:1fr;} .toc, .sidebar{position:static;} .article-layout{grid-template-columns:1fr;} .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .feature-band{grid-template-columns:1fr;} .area-head, .listing-head, .area-banner .copy{grid-template-columns:1fr;} }
@media (max-width: 860px){ nav{display:none;} .burger{display:flex;} .mobile-nav{display:none; border-top:1px solid var(--hair); background:var(--paper); padding:14px 20px 20px; flex-direction:column; gap:14px;} .mobile-nav.open{display:flex;} .mobile-nav a{font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);} .wrap{padding:0 20px;} .page-hero .wrap{padding-top:56px; padding-bottom:56px;} .page-hero h1{font-size:42px;} .page-hero .hero-sub{font-size:16px;} .content h2{font-size:38px;} .contact-strip{grid-template-columns:1fr;} .related-grid, .topic-grid{grid-template-columns:1fr;} .footer-top, .footer-bottom{padding-left:20px; padding-right:20px; flex-direction:column;} }


body{font-size:16.5px}.listing-head p,.area-head p{font-size:16.5px!important;line-height:1.75}.topic-card{padding:0!important;overflow:hidden}.topic-card-link{display:flex;flex-direction:column;height:100%;padding:24px;background:#fff;transition:background .25s ease,transform .25s ease}.topic-card-link:hover{background:var(--paper-2);transform:translateY(-2px)}.topic-card-link h3{font-size:29px!important}.topic-card-link p{font-size:15.5px!important;line-height:1.65}.topic-card-cta{margin-top:auto;padding-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.feature-card h2{font-size:36px}.feature-card p{font-size:15.5px;line-height:1.65}.area-banner .copy p{font-size:16px;line-height:1.72}.listing-head h1{max-width:800px}
