@font-face{font-family:"Cormorant Garamond";src:url("../../assets/fonts/cormorant-garamond-roman.woff2") format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../../assets/fonts/cormorant-garamond-italic.woff2") format("woff2");font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:"Manrope";src:url("../../assets/fonts/manrope-roman.woff2") format("woff2");font-style:normal;font-weight:200 800;font-display:swap}

:root{
  --bg:#f7f4ee; --bg2:#eee9df; --ink:#132320; --ink2:#1c332e; --text:#1d2a27; --soft:#4b5753; --muted:#5f6b67;
  --brass:#a07a3c; --brass-l:#d6b878; --line:rgba(19,35,32,.16); --on-dark:#eef0ea; --on-dark-soft:#aebbb5;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.65;font-size:17px;padding-bottom:52px;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{width:min(1120px,100% - 40px);margin:0 auto}
.demo-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;flex-wrap:wrap;gap:4px 16px;justify-content:space-between;align-items:center;padding:11px 20px;background:#0b1513;color:#eef0ea;font:600 12px/1.4 var(--sans);letter-spacing:.04em}
.demo-bar a{text-decoration:underline}

.top{position:sticky;top:0;z-index:50;background:rgba(247,244,238,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px}
.logo{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.01em;text-decoration:none;display:flex;align-items:center;gap:12px}
.logo i{width:30px;height:30px;border:1.5px solid var(--brass);border-radius:50%;display:grid;place-items:center;font:600 15px var(--serif);font-style:italic;color:var(--brass)}
.nav{display:flex;gap:28px;font-size:14px;font-weight:600}
.nav a{text-decoration:none;color:var(--soft)}
.nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;background:var(--ink);color:var(--on-dark);font:700 15px var(--sans);text-decoration:none;border:1.5px solid var(--ink);border-radius:2px;letter-spacing:.02em;transition:background .2s,color .2s}
.btn:hover{background:var(--brass);border-color:var(--brass);color:#fff}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}
.btn--sm{min-height:42px;padding:0 20px;font-size:14px}
.btn--brass{background:var(--brass);border-color:var(--brass);color:#fff}
.btn--brass:hover{background:var(--brass-l);border-color:var(--brass-l);color:var(--ink)}

.hero{position:relative;background:var(--ink);color:var(--on-dark);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(900px 500px at 88% 10%,rgba(214,184,120,.18),transparent 60%),
  repeating-linear-gradient(90deg,transparent 0 119px,rgba(238,240,234,.045) 119px 120px);pointer-events:none}
.hero__in{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center;padding:110px 0 100px}
.kicker{font:700 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brass-l);margin-bottom:26px}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(44px,6.4vw,84px);line-height:1.02;letter-spacing:-.015em}
h1 em{color:var(--brass-l);font-weight:400}
.hero__lede{margin-top:28px;max-width:52ch;font-size:19px;color:var(--on-dark-soft)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero .btn--ghost{color:var(--on-dark);border-color:rgba(238,240,234,.4)}
.hero .btn--ghost:hover{background:var(--on-dark);color:var(--ink)}
.card-hero{border:1px solid rgba(238,240,234,.22);padding:34px 32px;background:rgba(238,240,234,.04)}
.card-hero h2{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.15;margin-bottom:6px}
.card-hero p{color:var(--on-dark-soft);font-size:15px}
.card-hero ol{list-style:none;margin:22px 0 0;counter-reset:s}
.card-hero li{counter-increment:s;display:flex;gap:16px;padding:14px 0;border-top:1px solid rgba(238,240,234,.16);font-size:15px}
.card-hero li::before{content:"0" counter(s);font:italic 500 22px var(--serif);color:var(--brass-l);min-width:30px}

.strip{background:var(--bg2);border-bottom:1px solid var(--line)}
.strip ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr)}
.strip li{padding:24px 22px;border-left:1px solid var(--line);font-size:14px;font-weight:600;color:var(--soft);line-height:1.45}
.strip li:first-child{border-left:0;padding-left:0}
.strip b{display:block;font:italic 500 22px var(--serif);color:var(--ink);margin-bottom:2px}

.sec{padding:104px 0}
.sec--alt{background:var(--bg2)}
.sec--dark{background:var(--ink);color:var(--on-dark)}
.eyebrow{font:700 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:18px}
.sec--dark .eyebrow{color:var(--brass-l)}
h2.t{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.4vw,56px);line-height:1.06;letter-spacing:-.01em;max-width:20ch}
.lede{margin-top:22px;max-width:58ch;color:var(--soft);font-size:18px}
.sec--dark .lede{color:var(--on-dark-soft)}

.areas{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.area{padding:34px 30px 38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);transition:background .25s}
.area:hover{background:#fff}
.area span{font:italic 500 20px var(--serif);color:var(--brass)}
.area h3{font-family:var(--serif);font-weight:600;font-size:27px;line-height:1.15;margin:10px 0 12px}
.area p{color:var(--soft);font-size:15.5px}

.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.steps{list-style:none;counter-reset:n}
.steps li{counter-increment:n;display:grid;grid-template-columns:64px 1fr;gap:8px 22px;padding:28px 0;border-top:1px solid rgba(238,240,234,.2)}
.steps li:last-child{border-bottom:1px solid rgba(238,240,234,.2)}
.steps li::before{content:"0" counter(n);grid-row:span 2;font:italic 500 44px/1 var(--serif);color:var(--brass-l)}
.steps h3{font-family:var(--serif);font-weight:600;font-size:26px}
.steps p{color:var(--on-dark-soft);font-size:15.5px}

.who{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.person{border-top:2px solid var(--ink);padding-top:22px}
.mono{width:76px;height:76px;border-radius:50%;background:var(--ink);color:var(--brass-l);display:grid;place-items:center;font:italic 500 32px var(--serif);margin-bottom:18px}
.person h3{font-family:var(--serif);font-weight:600;font-size:26px}
.person small{display:block;font:700 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:2px 0 10px}
.person p{font-size:15.5px;color:var(--soft)}

.quote{max-width:26ch;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(30px,4vw,50px);line-height:1.15}
.quote-by{margin-top:22px;font-size:14px;color:var(--on-dark-soft)}

.faq{margin-top:44px;max-width:820px}
.faq details{border-top:1px solid var(--line);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--serif);font-weight:600;font-size:24px;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brass);font-size:28px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:12px;color:var(--soft);max-width:64ch}

.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.box{background:var(--bg);color:var(--text);padding:36px 34px}
.box h3{font-family:var(--serif);font-weight:600;font-size:28px;margin-bottom:6px}
.box p{font-size:15px;color:var(--soft);margin-bottom:22px}
.box .btn{width:100%;margin-top:10px}
.slots{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}
.slots span{padding:8px 14px;border:1px solid var(--line);font-size:14px;font-weight:600}
.dl{margin-top:34px;display:grid;gap:16px;font-size:16px}
.dl b{display:block;font:700 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-l);margin-bottom:3px}

footer{background:#0b1513;color:var(--on-dark-soft);padding:38px 0;font-size:13.5px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
@media (max-width:900px){
  .nav{display:none}
  .hero__in,.split,.contact{grid-template-columns:1fr;gap:40px}
  .hero__in{padding:70px 0 64px}
  .strip ul{grid-template-columns:1fr 1fr}
  .strip li:nth-child(3){border-left:0;padding-left:0}
  .strip li{border-top:1px solid var(--line)}
  .strip li:nth-child(-n+2){border-top:0}
  .areas,.who{grid-template-columns:1fr}
  .sec{padding:72px 0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
