
:root { --terra:#D95B36; --clay:#A8401F; --ink:#2B2622; --peach:#F4C0A8; --cream:#FAF1EA; }
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Inter',sans-serif; background:var(--cream); color:var(--ink); line-height:1.6; }
h1,h2,h3 { font-family:'Space Grotesk',sans-serif; font-weight:500; line-height:1.15; }
.wrap { max-width:1060px; margin:0 auto; padding:0 24px; }
.btn { display:inline-block; background:var(--terra); color:var(--cream); font-family:'Space Grotesk',sans-serif; font-weight:500; font-size:16px; padding:14px 30px; border-radius:999px; text-decoration:none; transition:background .15s; border:none; cursor:pointer; }
.btn:hover { background:var(--clay); }
.btn.ghost { background:transparent; color:var(--clay); border:1.5px solid var(--peach); }
.btn.ghost:hover { background:#fff; }
.eyebrow { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--clay); font-weight:600; }
header.site { padding:20px 0; position:sticky; top:0; background:rgba(250,241,234,.92); backdrop-filter:blur(8px); z-index:50; border-bottom:1px solid #f0e3d8; }
header.site .wrap { display:flex; justify-content:space-between; align-items:center; gap:18px; }
header.site img { height:38px; }
nav.main { display:flex; gap:26px; align-items:center; }
nav.main a { text-decoration:none; color:var(--ink); font-size:14.5px; font-weight:500; }
nav.main a:hover, nav.main a.on { color:var(--clay); }
nav.main .btn { font-size:14px; padding:10px 22px; }
.hero { padding:64px 0 70px; position:relative; overflow:hidden; }
.hero .wrap { position:relative; z-index:1; max-width:840px; }
.hero h1 { font-size:clamp(34px,5.6vw,56px); margin:16px 0 18px; }
.hero h1 mark { background:var(--terra); color:var(--cream); padding:2px 12px; border-radius:6px; }
.hero p.lead { font-size:18.5px; color:#4a423b; max-width:640px; margin-bottom:30px; }
.arc { position:absolute; right:-140px; bottom:-190px; width:520px; height:520px; opacity:.15; z-index:0; }
section.band { background:var(--terra); color:var(--cream); padding:44px 0; }
.band .grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.stat b { display:block; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:40px; line-height:1; }
.stat span { display:block; font-size:13.5px; margin-top:8px; color:rgba(250,241,234,.9); }
.band .note { grid-column:1/-1; font-size:12px; color:rgba(250,241,234,.75); border-top:1px solid rgba(250,241,234,.3); padding-top:14px; }
section.pad { padding:64px 0; }
section.pad.white { background:#fff; }
h2.sec { font-size:clamp(27px,4vw,36px); margin:8px 0 12px; }
p.sub { color:#4a423b; max-width:600px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px; }
.cards.c2 { grid-template-columns:repeat(2,1fr); }
.card { background:#fff; border-radius:16px; padding:26px; }
.white .card { background:var(--cream); }
.card .n { font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--terra); font-size:14px; }
.card h3 { font-size:19px; margin:9px 0 7px; }
.card p { font-size:14px; color:#4a423b; }
.card .price { font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--terra); }
.logos { text-align:center; padding:46px 0 10px; }
.logos .row { display:flex; justify-content:center; align-items:center; gap:42px; flex-wrap:wrap; margin-top:20px; }
.logos img { height:40px; width:auto; filter:grayscale(35%); opacity:.9; }
.logos img.round { border-radius:50%; height:50px; }
.team { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:34px; text-align:center; }
.team.two { grid-template-columns:repeat(2,1fr); max-width:620px; margin-left:auto; margin-right:auto; }
.member img { width:132px; height:132px; border-radius:50%; object-fit:cover; display:block; margin:0 auto; }
.member h3 { margin-top:14px; font-size:19px; }
.member .role { color:var(--clay); font-size:12.5px; font-weight:600; letter-spacing:.05em; margin-top:2px; }
.member p { font-size:13px; color:#6f655d; margin-top:8px; }
.cta-final { background:var(--terra); color:var(--cream); text-align:center; padding:70px 0; }
.cta-final h2 { font-size:clamp(28px,4.4vw,40px); }
.cta-final p { max-width:540px; margin:14px auto 26px; color:rgba(250,241,234,.92); }
.cta-final .btn { background:var(--cream); color:var(--clay); }
.cta-final .btn:hover { background:#fff; }
footer.site { padding:34px 0 44px; }
footer.site .wrap { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
footer.site img { height:32px; }
footer.site .links { font-size:13.5px; color:#6f655d; }
footer.site a { color:var(--clay); text-decoration:none; }
/* pricing */
.ladder { display:flex; gap:14px; align-items:stretch; margin-top:30px; flex-wrap:wrap; }
.step { background:#fff; border-radius:14px; padding:20px; flex:1; min-width:170px; }
.step.flag { background:var(--terra); color:var(--cream); }
.step .k { font-size:10px; letter-spacing:.16em; color:var(--clay); font-weight:600; }
.step.flag .k { color:var(--peach); }
.step h3 { font-size:16.5px; margin-top:5px; }
.step .pr { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px; color:var(--terra); margin-top:2px; }
.step.flag .pr { color:var(--cream); }
.step p { font-size:12.5px; color:#4a423b; margin-top:6px; }
.step.flag p { color:rgba(250,241,234,.9); }
.tier { background:#fff; border-radius:16px; padding:30px; margin-top:22px; display:grid; grid-template-columns:1.5fr 1fr; gap:34px; }
.tier .head { display:flex; justify-content:space-between; align-items:baseline; gap:14px; flex-wrap:wrap; }
.tier h3 { font-size:23px; }
.tier .pr { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:26px; color:var(--terra); }
.tier ul { list-style:none; margin-top:14px; }
.tier li { padding:7px 0; font-size:14px; color:#4a423b; border-bottom:1px solid #f2e8de; }
.tier li:last-child { border:none; }
.tier li::before { content:"— "; color:var(--terra); font-weight:700; }
.tier .facts { background:var(--cream); border-radius:12px; padding:18px 20px; align-self:start; }
.tier .facts div { padding:7px 0; border-bottom:1px solid #eadfd5; font-size:13px; }
.tier .facts div:last-child { border:none; }
.tier .facts b { display:block; font-size:10px; letter-spacing:.14em; color:var(--clay); }
/* case cards */
.case { background:#fff; border-radius:16px; padding:30px; margin-top:22px; display:grid; grid-template-columns:1.6fr 1fr; gap:34px; }
.case .chip { height:44px; width:auto; border-radius:8px; margin-bottom:12px; }
.case .chip.round { border-radius:50%; width:44px; height:44px; }
.case h3 { font-size:22px; margin-bottom:4px; }
.case .chs { font-size:11.5px; letter-spacing:.12em; color:var(--clay); font-weight:600; margin-bottom:10px; text-transform:uppercase; }
.case p { font-size:14.5px; color:#4a423b; margin-bottom:8px; }
.case .hero-stat { background:var(--terra); color:var(--cream); border-radius:12px; padding:20px 22px; align-self:start; }
.case .hero-stat b { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:30px; display:block; line-height:1; }
.case .hero-stat span { font-size:12.5px; color:rgba(250,241,234,.9); display:block; margin-top:6px; }
.case .hero-stat a { display:inline-block; margin-top:14px; color:var(--cream); font-weight:600; font-size:13.5px; }
/* forms */
form.contact { max-width:560px; margin:26px auto 0; text-align:left; }
form.contact label { display:block; font-size:12px; letter-spacing:.1em; font-weight:600; color:var(--clay); margin:16px 0 5px; }
form.contact input, form.contact textarea { width:100%; padding:13px 15px; border:1.5px solid #e8d9cc; border-radius:10px; font-family:'Inter'; font-size:16px; background:#fff; color:var(--ink); }
form.contact input:focus, form.contact textarea:focus { outline:none; border-color:var(--terra); }
form.contact button { margin-top:22px; }
@media (max-width:780px) {
  .band .grid3, .cards, .team, .team.two { grid-template-columns:1fr; }
  .tier, .case { grid-template-columns:1fr; }
  nav.main { gap:14px; } nav.main a.hidem { display:none; }
}
/* ---- section tone alternation ---- */
section.pad.soft { background:#F3E7DC; }
.logos.soft { background:#F3E7DC; }
section.pad.peachy { background:linear-gradient(180deg,#FAF1EA 0%,#F6DDCB 100%); }
/* ---- FAQ ---- */
.faq { margin-top:30px; max-width:820px; }
.faq details { background:#fff; border-radius:12px; padding:4px 22px; margin-bottom:12px; border:1px solid #f0e3d8; }
.faq summary { font-family:'Space Grotesk',sans-serif; font-weight:500; font-size:17px; padding:16px 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; font-size:24px; color:var(--terra); font-weight:400; flex-shrink:0; }
.faq details[open] summary::after { content:'\2013'; }
.faq details p { font-size:14.5px; color:#4a423b; padding:0 0 18px; }
/* ---- trust numbers strip ---- */
.trust { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:38px; padding-top:34px; border-top:1px solid #eadfd5; }
.trust .t b { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:28px; color:var(--terra); display:block; line-height:1; }
.trust .t span { font-size:12.5px; color:#4a423b; display:block; margin-top:7px; }
@media (max-width:780px){ .trust { grid-template-columns:1fr 1fr; } }
/* ---- channels strip ---- */
.channels { text-align:center; }
.channels .chips { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:22px; }
.channels .chip { background:#fff; border:1px solid #ecdccd; border-radius:999px; padding:11px 22px; font-family:'Space Grotesk',sans-serif; font-weight:500; font-size:15px; color:var(--ink); }
.channels .chip b { color:var(--terra); font-weight:700; }
.channels .cap { font-size:13px; color:#6f655d; margin-top:16px; }
/* ---- who we are narrative ---- */
.whois { display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:center; margin-top:8px; }
.whois .lead-lg { font-family:'Space Grotesk',sans-serif; font-weight:500; font-size:22px; line-height:1.4; }
.whois p { font-size:15px; color:#4a423b; margin-top:14px; }
.whois .portrait { background:var(--cream); border-radius:20px; padding:30px; text-align:center; }
.whois .portrait img { width:128px; height:128px; border-radius:50%; object-fit:cover; display:block; margin:0 auto; }
.whois .portrait h3 { margin-top:14px; font-size:20px; }
.whois .portrait .role { color:var(--clay); font-size:12.5px; font-weight:600; letter-spacing:.05em; margin-top:3px; }
.whois .portrait .creds { font-size:12.5px; color:#6f655d; margin-top:10px; }
.white .whois .portrait { background:var(--cream); }
@media (max-width:780px){ .whois { grid-template-columns:1fr; } }
/* ---- ad landing: creative strip & story rows ---- */
.adstrip { display:flex; justify-content:center; align-items:flex-start; gap:18px; margin-top:30px; flex-wrap:wrap; }
.adstrip img { width:150px; height:auto; border-radius:12px; border:1px solid #eadfd5; box-shadow:0 6px 22px rgba(43,38,34,.08); background:#fff; }
.story { display:grid; grid-template-columns:1.15fr 1fr; gap:36px; align-items:center; margin-top:44px; }
.story h3 { font-size:22px; margin-bottom:6px; }
.story .chs { font-size:11.5px; letter-spacing:.12em; color:var(--clay); font-weight:600; margin-bottom:12px; }
.story p { font-size:14.5px; color:#4a423b; margin-bottom:10px; }
.story figure { margin:0; }
.story figure img { width:100%; height:auto; border-radius:14px; border:1px solid #eadfd5; box-shadow:0 8px 26px rgba(43,38,34,.09); }
.story figcaption { font-size:12px; color:#6f655d; margin-top:9px; text-align:center; }
@media (max-width:780px){
  .story { grid-template-columns:1fr; gap:20px; }
  .adstrip { gap:12px; }
  .adstrip img { width:31%; min-width:96px; }
}
/* ---- mobile-first refinements (<=640px) ---- */
img { max-width:100%; }
@media (max-width:640px) {
  /* header: logo row + clean centered nav row, no cramming */
  header.site { position:static; padding:14px 0 12px; }
  header.site .wrap { flex-wrap:wrap; justify-content:center; gap:11px; }
  header.site img { height:32px; }
  nav.main { width:100%; justify-content:center; gap:8px 18px; flex-wrap:wrap; }
  nav.main a { font-size:13.5px; }
  nav.main a[href="/"] { display:none; }   /* logo is the home link */
  nav.main .btn { font-size:13px; padding:9px 18px; }
  /* hero: stacked buttons, tighter rhythm, smaller arc */
  .hero { padding:42px 0 52px; }
  .hero p.lead { font-size:16.5px; margin-bottom:24px; }
  .hero a.btn { display:block; width:fit-content; margin:0 0 12px; }
  .arc { width:340px; height:340px; right:-130px; bottom:-150px; }
  /* rhythm & type */
  section.pad { padding:46px 0; }
  .band { padding:36px 0; }
  .stat b { font-size:33px; }
  .band .grid3 { gap:24px; }
  .logos .row { gap:26px; }
  .whois { gap:30px; }
  .whois .lead-lg { font-size:19.5px; }
  .team { gap:34px; }
  .cta-final { padding:54px 0; }
  footer.site .wrap { flex-direction:column; text-align:center; gap:12px; }
  /* cards & pricing breathe better narrow */
  .card { padding:22px; }
  .tier, .case { padding:22px; gap:22px; }
  .ladder { flex-direction:column; }
  .step { min-width:0; }
  /* Calendly needs more height on phones or it double-scrolls */
  .calendly-inline-widget { height:1000px !important; }
}
