@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-grotesk-latin-600-normal.woff2") format("woff2");font-weight:600;font-display:swap}

:root{
  color-scheme:light;
  --ink:#0F1B26;
  --ink-2:#172633;
  --paper:#FBFAF7;
  --stone:#F1EEE8;
  --white:#FFFFFF;
  --text:#1A232B;
  --muted:#58626B;
  --line:#DDD8CF;
  --gold:#A8844E;
  --gold-light:#CDAE78;
  --on-dark:#F3EFE7;
  --muted-dark:#A7B1B8;
  --line-dark:#2B3A46;
  --serif:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad:clamp(22px,6vw,112px);
  --section:clamp(80px,11vw,152px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-0.005em}
.wrap{max-width:1320px;margin:0 auto;padding-inline:var(--pad)}
.skip{position:absolute;left:-999px;top:0;background:var(--on-dark);color:var(--ink);padding:10px 16px;z-index:20}
.skip:focus{left:12px;top:12px}

/* Brand */
.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.mark{width:40px;height:40px;border:1px solid currentColor;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:24px;font-weight:600;line-height:1;padding-bottom:2px;flex-shrink:0}
.brand-name{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:0.02em;line-height:1}
.brand-sub{display:block;font-size:12px;letter-spacing:0.14em;color:var(--muted-dark);margin-top:6px;line-height:1}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;border-radius:2px;font-family:var(--sans);font-size:15px;font-weight:500;letter-spacing:0.02em;text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
.btn-light{background:var(--on-dark);color:var(--ink)}
.btn-light:hover{background:var(--white)}
.btn-ghost-light{border-color:rgba(243,239,231,.4);color:var(--on-dark)}
.btn-ghost-light:hover{border-color:var(--on-dark)}
.btn-ink{background:var(--ink);color:var(--on-dark)}
.btn-ink:hover{background:var(--ink-2)}
.btn-line{border-color:var(--text);color:var(--text)}
.btn-line:hover{background:var(--text);color:var(--paper)}
.text-link{color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px;text-decoration-thickness:1px}
.text-link:hover{text-decoration-color:currentColor}

/* Header + hero */
.hero{background:var(--ink);color:var(--on-dark);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);opacity:.5}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:104px}
.nav{display:flex;align-items:center;gap:36px;font-size:15px;letter-spacing:0.02em}
.nav a{text-decoration:none;color:var(--muted-dark);transition:color .2s}
.nav a:hover{color:var(--on-dark)}
.nav .nav-link{display:none}
@media (min-width:1000px){.nav .nav-link{display:inline}}
.nav .btn{min-height:44px;padding:0 20px;color:var(--on-dark)}
.hero-body{display:grid;gap:64px;padding-block:clamp(56px,8vw,120px) clamp(80px,10vw,150px);align-items:center}
@media (min-width:1000px){.hero-body{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(56px,7vw,120px)}}
.hero h1{font-size:clamp(50px,6.6vw,98px);line-height:1.0;font-weight:500;letter-spacing:-0.012em;max-width:12ch}
.rule{width:72px;height:1px;background:var(--gold-light);margin:36px 0 30px}
.hero-lede{font-size:clamp(17px,1.35vw,20px);color:var(--muted-dark);max-width:34em;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:44px}
@media (prefers-reduced-motion:no-preference){
  .hero-copy,.statement{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .statement{animation-delay:.18s}
  @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
}

/* Statement card (hero) */
.statement{background:var(--paper);color:var(--text);padding:clamp(28px,3vw,44px);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);position:relative}
.statement::before{content:"";position:absolute;inset:10px;border:1px solid var(--line);pointer-events:none}
.statement-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--text)}
.statement-title{font-family:var(--serif);font-size:30px;font-weight:600;line-height:1.1}
.statement-meta{font-size:13px;color:var(--muted);text-align:right;line-height:1.4}
.statement ul{list-style:none;margin:0;padding:0}
.statement li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}
.statement li span:first-child{white-space:nowrap}
.leader{flex:1;border-bottom:1px dotted #B9B2A6;transform:translateY(-4px);min-width:16px}
.status{color:var(--gold);font-weight:600;font-size:14px;white-space:nowrap}
.status-review{color:var(--text);font-weight:600;font-size:14px;white-space:nowrap}
.statement-foot{display:flex;justify-content:space-between;gap:16px;padding-top:18px;font-size:13px;color:var(--muted)}
.statement-foot strong{font-family:var(--serif);font-size:19px;color:var(--text);font-weight:600}

/* Strip */
.strip{border-bottom:1px solid var(--line);font-size:15px;color:var(--muted)}
.strip .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 40px;padding-block:26px}
.strip strong{color:var(--text);font-weight:600}

/* Sections */
.section{padding-block:var(--section)}
.section + .section{border-top:1px solid var(--line)}
.h2{font-size:clamp(38px,4.4vw,62px);line-height:1.06;max-width:17ch}
.lead{font-family:var(--serif);font-size:clamp(28px,3vw,42px);line-height:1.25;max-width:26ch;font-weight:500}
.muted{color:var(--muted)}
.section-head{display:grid;gap:22px;margin-bottom:clamp(48px,6vw,88px)}
@media (min-width:1000px){.section-head.split{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:end;gap:clamp(40px,6vw,120px)}}
.section-head p{max-width:34em}

/* Audiences */
.audiences{display:grid;border-top:1px solid var(--text)}
@media (min-width:900px){.audiences{grid-template-columns:1fr 1fr}.audiences > div + div{border-left:1px solid var(--line);padding-left:clamp(32px,4vw,64px)}.audiences > div:first-child{padding-right:clamp(32px,4vw,64px)}}
.audiences > div{padding-top:36px;padding-bottom:8px}
.audiences > div + div{margin-top:28px}
@media (min-width:900px){.audiences > div + div{margin-top:0}}
.audiences h3{font-size:34px;line-height:1.1;margin-bottom:16px}
.audiences p{color:var(--muted);max-width:30em}
.points{list-style:none;margin:28px 0 0;padding:0}
.points li{padding:13px 0;border-top:1px solid var(--line);display:flex;gap:14px;align-items:baseline}
.points li::before{content:"";width:14px;height:1px;background:var(--gold);flex-shrink:0;transform:translateY(-4px)}

/* Services */
.services{border-top:1px solid var(--text)}
.service{display:grid;gap:8px;padding:30px 0;border-bottom:1px solid var(--line)}
@media (min-width:860px){.service{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:baseline}}
.service h3{font-size:clamp(26px,2.4vw,32px);line-height:1.15}
.service p{color:var(--muted);max-width:36em}
.scope{margin-top:44px;padding-left:22px;border-left:1px solid var(--gold);color:var(--muted);max-width:44em}
.scope strong{color:var(--text);font-weight:600}

/* Process */
.process{background:var(--stone)}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:44px 40px}
@media (min-width:700px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.steps li{border-top:1px solid var(--text);padding-top:26px}
.numeral{display:block;font-family:var(--serif);font-size:44px;line-height:1;color:var(--gold);margin-bottom:22px;font-weight:500}
.steps h3{font-size:28px;line-height:1.15;margin-bottom:10px}
.steps p{color:var(--muted)}
.section.process + .section{border-top:0}

/* Pricing */
.plans{display:grid;border:1px solid var(--line)}
@media (min-width:1000px){.plans{grid-template-columns:repeat(3,minmax(0,1fr))}}
.plan{padding:clamp(32px,3.4vw,52px);display:flex;flex-direction:column;gap:26px;background:var(--white)}
.plan + .plan{border-top:1px solid var(--line)}
@media (min-width:1000px){.plan + .plan{border-top:0;border-left:1px solid var(--line)}}
.plan h3{font-size:34px;line-height:1.1}
.plan-for{color:var(--muted);font-size:15px;margin-top:6px}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
.price .amount{font-family:var(--serif);font-size:64px;line-height:1;font-weight:500}
.price .unit,.price .from{font-size:15px;color:var(--muted)}
.plan ul{list-style:none;margin:0;padding:0;flex-grow:1}
.plan li{padding:12px 0;border-top:1px solid var(--line);font-size:16px}
.plan .btn{align-self:stretch}
.plan-featured{background:var(--ink);color:var(--on-dark)}
.plan-featured .plan-for,.plan-featured .price .unit{color:var(--muted-dark)}
.plan-featured li{border-top-color:var(--line-dark)}
.plan-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.badge{font-size:13px;color:var(--gold-light);letter-spacing:0.03em}
@media (max-width:999px){.plan-featured{order:-1}}
.pricing-note{margin-top:28px;font-size:15px;color:var(--muted)}

/* About */
.about{background:var(--ink);color:var(--on-dark)}
.about .lead{color:var(--on-dark);max-width:22ch;font-size:clamp(34px,4vw,58px);line-height:1.1}
.about-grid{display:grid;gap:40px}
@media (min-width:1000px){.about-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,6vw,120px);align-items:end}}
.about-grid p{color:var(--muted-dark);font-size:18px;line-height:1.75}
.pillars{display:grid;gap:36px;margin-top:clamp(56px,7vw,96px)}
@media (min-width:900px){.pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}
.pillars div{border-top:1px solid var(--line-dark);padding-top:26px}
.pillars h3{font-size:28px;margin-bottom:10px}
.pillars p{color:var(--muted-dark)}
.section.about + .section{border-top:0}

/* FAQ */
.faq-grid{display:grid;gap:40px}
@media (min-width:1000px){.faq-grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,6vw,120px)}}
.faq-list{border-top:1px solid var(--text)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-family:var(--serif);font-size:clamp(22px,2vw,27px);font-weight:600;line-height:1.25}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";width:12px;height:12px;flex-shrink:0;border-right:1px solid var(--text);border-bottom:1px solid var(--text);transform:rotate(45deg) translate(-3px,-3px);transition:transform .25s}
.faq-list details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
.faq-list details p{padding:0 0 28px;color:var(--muted);max-width:40em}

/* Contact */
.contact{background:var(--stone)}
.contact-grid{display:grid;gap:56px}
@media (min-width:1000px){.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(48px,7vw,130px)}}
.contact h2{font-size:clamp(44px,5vw,72px);line-height:1.02;margin-bottom:26px}
.contact-alt{margin-top:40px;display:grid;gap:12px}
.form{background:var(--white);padding:clamp(28px,3.4vw,52px);display:grid;gap:26px;border:1px solid var(--line)}
.form-row{display:grid;gap:26px}
@media (min-width:640px){.form-row{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:6px}
.field label{font-size:13px;letter-spacing:0.04em;color:var(--muted);font-weight:500}
.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #A69F92;background:transparent;border-radius:0;padding:10px 0;font:inherit;font-size:17px;color:var(--text);min-height:46px}
.field select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom:2px solid var(--ink);padding-bottom:9px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .btn{justify-self:start;min-width:220px}
.form .btn[disabled]{opacity:.6;cursor:wait}
.form-status{font-size:16px;font-weight:500;min-height:1.6em}
.form-status[data-state="ok"]{color:#2F5D46}
.form-status[data-state="error"]{color:#9B2C1F}
.form-note{font-size:14px;color:var(--muted)}

/* Footer */
.site-footer{background:var(--ink);color:var(--muted-dark);font-size:14px}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;padding-block:44px}
.site-footer .brand{color:var(--on-dark)}
.site-footer .mark{width:34px;height:34px;font-size:20px}
.site-footer .brand-name{font-size:23px}
.site-footer a{color:var(--on-dark)}
.foot-links{display:flex;gap:28px}

/* Small screens */
@media (max-width:520px){
  .site-header .wrap{height:84px}
  .mark{width:34px;height:34px;font-size:20px}
  .brand-name{font-size:24px}
  .brand-sub{font-size:10px;letter-spacing:0.1em}
  .nav .btn{min-height:40px;padding:0 14px;font-size:14px}
  .hero-actions .btn{flex:1 1 100%}
  .statement li{font-size:14px}
  .statement-title{font-size:25px}
  .statement-meta{font-size:12px}
}

/* Privacy page */
.page-header{background:var(--ink);color:var(--on-dark)}
.doc{max-width:760px;padding-block:var(--section)}
.doc h1{font-size:clamp(44px,5.5vw,68px);line-height:1.02;margin-bottom:14px}
.doc h2{font-size:30px;margin:48px 0 12px}
.doc p,.doc li{color:var(--muted)}
.doc p + p{margin-top:12px}
.doc ul{padding-left:20px}
.doc li + li{margin-top:6px}
.doc a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
