:root{
  --bg:#f4efe6;
  --panel:#fbf9f3;
  --ink:#22201b;
  --muted:#6b6558;
  --soft:#4c473d;
  --blue:#2f5148;
  --blue-soft:#e7dfd1;
  --brass:#9c7a4d;
  --line:rgba(34,32,27,.14);
  --pad:60px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Hanken Grotesk", system-ui, sans-serif;
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
h1,h2,h3{margin:0;}
.serif{font-family:"Instrument Serif", serif;font-weight:400;}
a{text-decoration:none;color:inherit;}

/* ---------- Header / nav ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,249,250,.85);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;justify-content:space-between;align-items:center;padding:16px var(--pad);}
.brand{display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:.16em;font-weight:700;color:var(--ink);}
.brand .mark{width:20px;height:20px;flex:none;display:block;}
.nav-links{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500;}
.nav-links a.plain{color:var(--muted);}
.nav-links a.plain:hover{color:var(--ink);}
.nav-links a.plain.active{color:var(--ink);}

/* ---------- Buttons ---------- */
.btn{display:inline-block;background:var(--ink);color:var(--bg);padding:11px 22px;border-radius:100px;font-weight:600;font-size:15px;border:none;cursor:pointer;}
.btn:hover{background:rgb(58,55,48);color:var(--bg);}
.btn.sm{padding:9px 18px;}
.btn-brass{display:inline-block;background:var(--brass);color:#22201b;padding:14px 28px;border-radius:100px;font-weight:700;font-size:15px;border:none;cursor:pointer;}
.btn-brass:hover{background:rgb(171,138,91);}
.link-arrow{display:inline-block;color:var(--blue);font-weight:600;font-size:15px;}
.link-arrow:hover{color:var(--ink);}

/* ---------- Hero ---------- */
.hero{
  text-align:center;padding:104px var(--pad) 92px;
  background-image:linear-gradient(rgba(34,32,27,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(34,32,27,.05) 1px, transparent 1px);
  background-size:54px 54px;background-position:center top;position:relative;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 80% at 50% 40%, transparent 40%, var(--bg) 100%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1;}
.coords{font-size:12px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-weight:600;}
.hero h1{font-size:clamp(40px,6vw,76px);line-height:1.04;letter-spacing:-.01em;max-width:940px;margin:22px auto 0;}
.hero h1 em{font-style:italic;color:var(--blue);}
.hero p{max-width:600px;margin:28px auto 38px;color:var(--soft);font-size:clamp(17px,2vw,19px);line-height:1.6;}
.hero-ctas{display:flex;gap:22px;align-items:center;justify-content:center;flex-wrap:wrap;}

/* smaller inner-page hero */
.hero.page{padding:84px var(--pad) 56px;}
.hero.page h1{font-size:clamp(34px,4.6vw,58px);}

/* ---------- Trust / problem cards ---------- */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 var(--pad) 24px;max-width:1160px;margin:0 auto;}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:30px;}
.card .k{font-size:15px;font-weight:700;color:var(--blue);margin-bottom:8px;}
.card .v{color:var(--muted);font-size:15px;}

/* ---------- Sections ---------- */
.sec{padding:84px var(--pad);}
.sec.tight{padding-top:20px;}
.sec-head{text-align:center;max-width:620px;margin:0 auto 52px;}
.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--brass);text-transform:uppercase;font-weight:600;}
.sec-head h2{font-size:clamp(34px,4vw,48px);margin:12px 0 10px;}
.sec-head p{color:var(--muted);font-size:17px;margin:0;}
.prose{max-width:720px;margin:0 auto;text-align:center;color:var(--soft);font-size:18px;line-height:1.7;}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1160px;margin:0 auto;}
.step{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:30px;}
.step .num{width:38px;height:38px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;margin-bottom:22px;}
.step h3{font-size:20px;font-weight:700;margin-bottom:6px;}
.step .lede{color:var(--blue);font-size:14px;margin-bottom:16px;font-weight:600;}
.step ul{margin:0;padding-left:18px;color:var(--soft);font-size:14.5px;line-height:1.7;}
.step li+li{margin-top:6px;}
.step p{margin:0;color:var(--soft);font-size:15px;line-height:1.7;}

/* ---------- Solution blocks ---------- */
.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1160px;margin:0 auto;}
.sol{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:32px;}
.sol h3{font-size:21px;font-weight:700;margin-bottom:12px;}
.sol p{margin:0 0 14px;color:var(--soft);font-size:15.5px;line-height:1.65;}
.sol .for{color:var(--muted);font-size:14px;font-style:italic;margin:0;}

/* ---------- Engagement / bullet list panel ---------- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:36px 40px;max-width:820px;margin:0 auto;}
.panel ul{margin:0;padding-left:20px;color:var(--soft);font-size:16.5px;line-height:1.75;}
.panel li+li{margin-top:12px;}
.panel li strong{color:var(--ink);font-weight:700;}

/* ---------- Proof strip ---------- */
.proof{max-width:1160px;margin:0 auto;background:var(--blue);color:rgb(236,229,216);border-radius:16px;padding:26px 34px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.proof .proof-t{font-size:17px;font-weight:600;}
.proof .btn-brass{padding:12px 24px;}

/* ---------- Teardown / results ---------- */
.teardown{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:36px 40px;max-width:900px;margin:0 auto;}
.teardown .tag{display:inline-block;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:100px;margin-bottom:16px;}
.teardown h3{font-size:26px;margin-bottom:24px;}
.teardown .row{border-top:1px solid var(--line);padding:18px 0;}
.teardown .row:first-of-type{border-top:none;padding-top:0;}
.teardown .row .lab{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);font-weight:700;margin-bottom:6px;}
.teardown .row .body{color:var(--soft);font-size:16px;line-height:1.65;}
.placeholder-note{color:var(--muted);font-style:italic;font-size:15px;}

.log-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1160px;margin:0 auto;}
.log{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px;}
.log .meta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:10px;}
.log h3{font-size:19px;margin-bottom:8px;}
.log p{margin:0;color:var(--soft);font-size:15px;line-height:1.65;}

.empty-note{max-width:720px;margin:0 auto 32px;text-align:center;color:var(--muted);font-size:16px;line-height:1.65;}
.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1160px;margin:0 auto;}
.result-ghost{border:1px dashed var(--line);border-radius:14px;padding:30px;background:transparent;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;}
.result-ghost .q{color:var(--muted);font-size:15px;font-style:italic;}
.result-ghost .who{color:var(--muted);font-size:13px;}

/* ---------- Dark CTA ---------- */
.cta{background:var(--ink);color:rgb(236,229,216);padding:92px var(--pad);text-align:center;}
.cta .eyebrow{color:rgb(195,155,100);}
.cta h2{font-size:clamp(36px,4.5vw,52px);margin:14px auto 38px;max-width:760px;line-height:1.1;}

/* ---------- Forms (dark) ---------- */
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:620px;margin:0 auto;text-align:left;}
.field{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:10px;
  padding:14px 16px;color:rgb(236,229,216);font-family:inherit;font-size:15px;width:100%;
}
.field::placeholder{color:rgba(236,229,216,.55);}
.field:focus{outline:none;border-color:rgb(195,155,100);background:rgba(255,255,255,.09);}
.span2{grid-column:1/3;}
.submit{
  grid-column:1/3;background:var(--brass);color:rgb(34,32,27);border:none;padding:15px 30px;
  border-radius:100px;font-weight:700;font-size:15px;font-family:inherit;cursor:pointer;
}
.submit:hover{background:rgb(171,138,91);}
.submit:disabled{opacity:.6;cursor:not-allowed;}
.form-note{grid-column:1/3;text-align:center;color:rgb(195,155,100);font-size:14px;margin-top:2px;min-height:18px;}

/* ---------- Forms (light, contact page) ---------- */
.form-light{grid-template-columns:1fr;max-width:none;}
.form-light .field{background:#fff;border:1px solid var(--line);color:var(--ink);}
.form-light .field::placeholder{color:var(--muted);}
.form-light .field:focus{border-color:var(--blue);background:#fff;}
.form-light .span2{grid-column:1;}
.form-light .submit{grid-column:1;background:var(--ink);color:var(--bg);justify-self:start;padding:15px 34px;}
.form-light .submit:hover{background:rgb(58,55,48);}
.form-light .form-note{grid-column:1;text-align:left;color:var(--blue);}

/* ---------- Contact layout ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;max-width:1160px;margin:0 auto;align-items:start;}
.contact-col h2{font-size:24px;margin-bottom:18px;}
.calendly-inline-widget{min-width:320px;height:660px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);}
.contact-direct{margin-top:22px;color:var(--muted);font-size:15px;line-height:1.7;}
.contact-direct a{color:var(--blue);font-weight:600;}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--line);padding:6px 0;}
.faq summary{list-style:none;cursor:pointer;padding:18px 0;font-size:18px;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--brass);font-size:22px;font-weight:400;line-height:1;}
.faq details[open] summary::after{content:"\2013";}
.faq .answer{padding:0 0 20px;color:var(--soft);font-size:16px;line-height:1.7;}

/* ---------- Footer ---------- */
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px var(--pad);border-top:1px solid var(--line);flex-wrap:wrap;}
.footer-brand{display:inline-flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.16em;font-weight:700;}
.footer-brand .mark{width:16px;height:16px;flex:none;display:block;}
.footer-meta{font-size:13px;color:var(--muted);display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.footer-meta a{color:var(--muted);}
.footer-meta a:hover{color:var(--ink);}
.footer-meta .sep{opacity:.5;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ---------- Responsive ---------- */
@media (max-width:860px){
  :root{--pad:24px;}
  .nav-links a.plain{display:none;}
  .trust,.steps,.sol-grid,.log-grid,.result-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;gap:36px;}
  .hero{padding:72px var(--pad) 56px;}
  .hero.page{padding:60px var(--pad) 40px;}
  .sec{padding:56px var(--pad);}
  .cta{padding:64px var(--pad);}
  form{grid-template-columns:1fr;}
  .span2,.submit,.form-note{grid-column:1;}
  .panel,.teardown{padding:26px 24px;}
  .proof{padding:24px;}
  footer{flex-direction:column;gap:12px;text-align:center;justify-content:center;}
  .footer-meta{justify-content:center;}
}
