
:root{
  --bg:#f6f3ec; --surface:#fffdf8; --ink:#16201c; --muted:#5b6660; --line:#e2ddd1;
  --accent:#143d33; --accent-2:#2f7a5f; --gold:#c9a24a;
  --font-display:'Cabinet Grotesk','Satoshi',sans-serif; --font-body:'Satoshi','Inter',sans-serif;
  --wrap:1180px; --pad:clamp(20px,5vw,48px); --sec:clamp(64px,9vw,128px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:99}
header{position:sticky;top:0;z-index:50;background:rgba(246,243,236,.9);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s}
header.scrolled{border-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:var(--font-display);font-weight:800;font-size:24px;letter-spacing:-.02em;text-decoration:none}
.brand span{color:var(--accent-2)}
.nav ul{display:flex;gap:28px;list-style:none;font-size:14px;font-weight:500}
.nav ul a{text-decoration:none;color:var(--muted)}.nav ul a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s}
.btn-primary{background:var(--accent);color:#f6f3ec}.btn-primary:hover{background:#0e2f27;transform:translateY(-1px)}
.btn-ghost{border:1px solid var(--ink)}.btn-ghost:hover{background:var(--ink);color:var(--bg)}
a:focus-visible,.btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px}

.hero{padding-top:clamp(56px,8vw,112px);padding-bottom:var(--sec)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:center}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2);margin-bottom:20px}
h1{font-family:var(--font-display);font-weight:800;font-size:clamp(40px,6.2vw,80px);line-height:1;letter-spacing:-.035em}
h1 em{font-style:normal;color:var(--accent-2)}
.lede{margin-top:24px;font-size:18px;color:var(--muted);max-width:52ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

/* app mock */
.mock{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 60px -30px rgba(20,61,51,.35);overflow:hidden}
.mock-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--accent);color:#f6f3ec;font-size:14px;font-weight:700}
.mock-top small{font-weight:500;opacity:.75}
.mock-body{padding:20px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.kpi{background:var(--bg);border-radius:12px;padding:12px}
.kpi b{display:block;font-family:var(--font-display);font-size:20px;letter-spacing:-.02em}
.kpi span{font-size:12px;color:var(--muted)}
.row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.row .t{font-weight:700}.row .s{font-size:12px;color:var(--muted)}
.pill{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
.pill.paid{background:#dcefe5;color:#1d5a43}.pill.due{background:#f6ead0;color:#7a5a12}.pill.part{background:#e6ecf5;color:#33507a}
.mock-note{font-size:12px;color:var(--muted);margin-top:12px;text-align:center}

section{padding:var(--sec) 0}
.sec-head{max-width:640px;margin-bottom:48px}
h2{font-family:var(--font-display);font-weight:700;font-size:clamp(28px,3.6vw,44px);line-height:1.1;letter-spacing:-.025em}
.sec-head p{margin-top:16px;color:var(--muted)}
h3{font-size:18px;font-weight:700;line-height:1.3}

.services{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.svc{background:var(--surface);padding:28px 24px}
.svc .num{font-family:var(--font-display);font-weight:700;color:var(--gold);font-size:14px;margin-bottom:28px;display:block}
.svc p{margin-top:10px;font-size:15px;color:var(--muted)}

.feature{background:var(--accent);color:#f6f3ec;border-radius:28px;padding:clamp(32px,5vw,64px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px)}
.feature .eyebrow{color:var(--gold)}
.feature h2{color:#fff}
.feature p.desc{margin-top:16px;color:rgba(246,243,236,.78)}
.feature ul{list-style:none;display:grid;gap:14px;align-content:start}
.feature li{display:flex;gap:14px;padding:16px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;font-size:15px}
.feature li svg{flex:none;margin-top:3px}
.feature li b{display:block;color:#fff}
.feature li span{color:rgba(246,243,236,.72)}
.feature .btn-light{background:#f6f3ec;color:var(--accent);margin-top:32px}.feature .btn-light:hover{background:#fff}
.feature small{display:block;margin-top:12px;font-size:13px;color:rgba(246,243,236,.6)}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:s}
.step{border-top:2px solid var(--ink);padding-top:24px}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--font-display);font-weight:800;font-size:40px;letter-spacing:-.03em;color:var(--accent-2);display:block;margin-bottom:12px}
.step p{margin-top:8px;color:var(--muted);font-size:15px}

.contact{text-align:center;max-width:720px;margin:0 auto}
.contact p{margin:16px auto 32px;color:var(--muted);max-width:52ch}
footer{border-top:1px solid var(--line);padding:32px 0;font-size:13px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

@media (max-width:960px){
  .hero-grid,.feature{grid-template-columns:1fr}
  .services{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .nav ul{display:none}
  .services,.steps{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr 1fr 1fr}
  .kpi b{font-size:16px}
  .lede{font-size:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* added */
.mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 20px 40px -28px rgba(20,61,51,.35)}
.tile.dark{background:var(--accent);color:#f6f3ec;border-color:var(--accent)}
.tile .lbl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tile.dark .lbl{color:var(--gold)}
.tile b{display:block;font-family:var(--font-display);font-size:26px;letter-spacing:-.02em;margin:8px 0 2px}
.tile small{font-size:12px;color:var(--muted)}.tile.dark small{color:rgba(246,243,236,.7)}
.bar{height:6px;border-radius:6px;background:var(--line);margin-top:12px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent-2)}
.tile.tall{grid-row:span 2}
.list-row{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;border-top:1px solid var(--line)}
.list-row:first-of-type{border-top:0}
.services.six{grid-template-columns:repeat(3,1fr)}
.story-card{display:grid;grid-template-columns:1.1fr .9fr;background:var(--accent);color:#f6f3ec;border-radius:28px;overflow:hidden;text-decoration:none;transition:transform .25s}
.story-card:hover{transform:translateY(-3px)}
.story-card .txt{padding:clamp(32px,5vw,56px)}
.story-card .eyebrow{color:var(--gold)}
.story-card h3{font-family:var(--font-display);font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.02em;color:#fff}
.story-card p{margin-top:14px;color:rgba(246,243,236,.78)}
.story-card .more{display:inline-flex;margin-top:28px;font-weight:700;font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:2px}
.story-card .side{background:#0f3129;padding:clamp(24px,4vw,40px);display:grid;gap:12px;align-content:center}
.chip{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 16px;font-size:14px}
.chip svg{flex:none}
.industries{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.industries span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font-size:14px}
/* story page */
.crumb{font-size:14px;color:var(--muted);text-decoration:none}.crumb:hover{color:var(--ink)}
.story-hero{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(40px,6vw,72px)}
.story-hero h1{font-size:clamp(36px,5.4vw,68px);max-width:16ch;margin-top:20px}
.meta{display:flex;flex-wrap:wrap;gap:32px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.meta div{font-size:14px}.meta span{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.two{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,72px)}
.two h2{font-size:clamp(24px,2.8vw,34px)}
.prose p{color:var(--muted);margin-bottom:16px;max-width:62ch}
.prose ul{list-style:none;display:grid;gap:10px;margin-top:8px}
.prose li{padding-left:22px;position:relative;color:var(--muted)}
.prose li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:50%;background:var(--accent-2)}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ba > div{border-radius:20px;padding:28px;border:1px solid var(--line);background:var(--surface)}
.ba > div.after{background:var(--accent);color:#f6f3ec;border-color:var(--accent)}
.ba h3{margin-bottom:14px}.ba .after h3{color:#fff}
.ba ul{list-style:none;display:grid;gap:10px;font-size:15px}
.ba .before li{color:var(--muted)}.ba .after li{color:rgba(246,243,236,.85)}
.possible{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(32px,5vw,56px)}
.possible .services{margin-top:32px}
hr.sep{border:0;border-top:1px solid var(--line);margin:0}
@media (max-width:960px){.story-card,.two,.services.six{grid-template-columns:1fr}.services.six{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.services.six,.ba,.mock-grid{grid-template-columns:1fr}.tile.tall{grid-row:auto}.meta{gap:20px}}
/* v3: phones + challenges */
.phone{width:100%;max-width:280px;margin:0 auto;background:#0f1a16;border-radius:34px;padding:10px;box-shadow:0 30px 60px -30px rgba(20,61,51,.5)}
.screen{background:var(--surface);border-radius:26px;overflow:hidden;min-height:470px;display:flex;flex-direction:column}
.sbar{display:flex;justify-content:space-between;font-size:11px;font-weight:700;padding:10px 18px 4px;color:var(--ink)}
.appbar{background:var(--accent);color:#f6f3ec;padding:12px 16px;font-weight:700;font-size:15px;display:flex;justify-content:space-between;align-items:center}
.appbar small{font-weight:500;font-size:11px;opacity:.75}
.sc{padding:12px 14px;display:grid;gap:8px;flex:1;align-content:start}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:12.5px;line-height:1.4}
.card .t{font-weight:700;font-size:13px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px}
.card .s{color:var(--muted);font-size:12px}
.card .big{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em}
.tag{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.tag.g{background:#dcefe5;color:#1d5a43}.tag.y{background:#f6ead0;color:#7a5a12}.tag.b{background:#e6ecf5;color:#33507a}
.ck{display:flex;gap:8px;align-items:center;font-size:12.5px;padding:6px 0;border-top:1px solid var(--line)}.ck:first-child{border-top:0}
.ck i{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--accent-2);flex:none;display:grid;place-items:center;font-style:normal;font-size:11px;color:#fff}
.ck i.on{background:var(--accent-2)}
.abtn{margin:4px 14px 16px;background:var(--accent);color:#f6f3ec;text-align:center;border-radius:12px;padding:11px;font-size:13px;font-weight:700}
.kv{display:flex;justify-content:space-between;font-size:12.5px;padding:5px 0;border-top:1px solid var(--line)}.kv:first-of-type{border-top:0}
.kv b{font-weight:700}
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pain{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}
.pain q{display:block;font-family:var(--font-display);font-weight:700;font-size:19px;line-height:1.25;letter-spacing:-.01em;quotes:"\201C" "\201D"}
.pain p{margin-top:10px;font-size:14.5px;color:var(--muted)}
.ex{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;padding:clamp(28px,4vw,48px);border-radius:28px;background:var(--surface);border:1px solid var(--line)}
.ex + .ex{margin-top:24px}
.ex.flip .ex-copy{order:2}
.ex .phones{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ex .phones .phone{max-width:240px}.ex .phones .screen{min-height:420px}
.ex-copy .eyebrow{margin-bottom:12px}
.ex-copy h3{font-family:var(--font-display);font-size:clamp(24px,2.6vw,32px);line-height:1.15;letter-spacing:-.02em}
.ex-copy p{margin-top:12px;color:var(--muted)}
.ex-copy ul{list-style:none;margin-top:18px;display:grid;gap:10px}
.ex-copy li{padding-left:22px;position:relative;font-size:15px}
.ex-copy li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--accent-2)}
.ex-note{font-size:12px;color:var(--muted);margin-top:16px}
.shots{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.shot figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:12px}
.invoice-fig{margin-top:40px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(16px,3vw,32px);display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:center}
.invoice-fig img{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);box-shadow:0 20px 40px -28px rgba(0,0,0,.4);background:#fff}
.lowcost{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.lowcost div{border-top:2px solid var(--ink);padding-top:18px}
.lowcost p{color:var(--muted);font-size:15px;margin-top:6px}
@media (max-width:1060px){.shots{grid-template-columns:1fr 1fr}}
@media (max-width:960px){.ex,.invoice-fig{grid-template-columns:1fr}.ex.flip .ex-copy{order:0}.pains,.lowcost{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.pains,.lowcost{grid-template-columns:1fr}.ex .phones{grid-template-columns:1fr}.ex .phones .phone:nth-child(2){display:none}.shots{grid-template-columns:1fr}}
.hero-solo{grid-template-columns:1fr;max-width:860px}
.ex-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ex-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px}
.ex-card h3{font-size:21px;margin:6px 0 10px}
.ex-card p:last-child{color:var(--muted,#5b5f58);margin:0}
@media (max-width:860px){.ex-cards{grid-template-columns:1fr}}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0}
.steps li{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px}
.steps .n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#f6f3ec;font-weight:700;font-size:15px;margin-bottom:14px}
.steps h3{font-size:19px;margin-bottom:8px}.steps p{color:var(--muted);font-size:15px;margin:0}
@media (max-width:1024px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* interactive tour */
.tour{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(20px,4vw,48px)}
.tour-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,4vw,40px)}
.tour-tabs button{font:inherit;font-size:15px;font-weight:700;padding:12px 20px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.tour-tabs button:hover{border-color:var(--ink)}
.tour-tabs button[aria-selected=true]{background:var(--accent);color:#f6f3ec;border-color:var(--accent)}
.tour-body{display:grid;grid-template-columns:1fr 300px;gap:clamp(28px,5vw,72px);align-items:center}
.tour-copy h3{font-family:var(--font-display);font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:-.02em}
.tour-desc{margin-top:14px;color:var(--muted);max-width:46ch}
.tour-steps{display:grid;gap:10px;margin-top:28px;max-width:360px}
.tour-steps button{font:inherit;font-size:16px;font-weight:700;display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.tour-steps button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--line);font-size:13px;flex:none}
.tour-steps button[aria-pressed=true]{border-color:var(--accent);background:#fff}
.tour-steps button[aria-pressed=true] span{background:var(--accent);color:#f6f3ec}
.tour-note{margin-top:20px;font-size:13px;color:var(--muted)}
.tour-phone .screen{min-height:480px}
.tour-phone .abtn{border:0;font:inherit;font-size:13px;font-weight:700;cursor:pointer;width:calc(100% - 28px)}
.tour-phone .abtn.ok{background:#dcefe5;color:#1d5a43}
.screen.in .sc{animation:tourIn .35s ease}
@keyframes tourIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:860px){.tour-body{grid-template-columns:1fr}.tour-steps{max-width:none}}
@media (max-width:860px){.tour-body{display:flex;flex-direction:column;align-items:stretch;gap:0}.tour-copy{display:contents}.tour-copy>*{order:1}.tour-phone{order:2;margin-top:24px}.tour-steps{order:3;grid-template-columns:repeat(3,1fr);gap:8px}.tour-steps button{flex-direction:column;gap:6px;font-size:13px;text-align:center;padding:12px 6px}.tour-note{order:4;text-align:center}}
