/* ==========================================================================
   The Coding Devotees — design system
   Dark product base (concept C) + plain, calm editorial clarity (concept A).
   One saffron accent. Hairline borders. Geist / Geist Mono / Instrument Serif.
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* surfaces */
  --bg:#09090B;
  --bg-2:#0C0C0F;
  --surface:#111114;
  --surface-2:#17171B;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);

  /* text */
  --ink:#F2F2F4;
  --muted:#A1A1AA;
  --subtle:#71717A;

  /* accent — saffron, the colour of devotion */
  --saffron:#FF6A1A;
  --saffron-600:#E85A0C;
  --gold:#FFB020;
  --saffron-soft:rgba(255,106,26,.10);
  --saffron-ring:rgba(255,106,26,.38);

  /* status */
  --ok:#3DDC97;
  --warn:#FFB020;
  --danger:#FF6B6B;

  /* type */
  --sans:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --serif:'Instrument Serif',Georgia,serif;

  /* shape */
  --r-sm:8px;
  --r-md:12px;
  --r-lg:18px;
  --r-xl:24px;

  --max:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}
::selection{background:var(--saffron);color:#fff}
:focus-visible{outline:2px solid var(--saffron);outline-offset:3px;border-radius:6px}

.container{max-width:var(--max);margin:0 auto;padding:0 28px}
@media (max-width:640px){.container{padding:0 18px}}

.skip{position:fixed;top:-60px;left:16px;z-index:999;background:var(--saffron);color:#000;padding:10px 16px;border-radius:var(--r-sm);font-weight:600;transition:top .2s}
.skip:focus{top:14px}

/* ---------- type ---------- */
h1,h2,h3,h4{font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--ink)}
.serif{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.01em}
.accent{color:var(--saffron)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--saffron);box-shadow:0 0 0 4px var(--saffron-soft)}
.h2{font-size:clamp(32px,4.4vw,54px);max-width:18ch}
.lead{font-size:clamp(16px,1.4vw,18.5px);color:var(--muted);line-height:1.65;max-width:58ch}
.mono{font-family:var(--mono)}

.sec{padding:120px 0;position:relative}
.sec + .sec{border-top:1px solid var(--line)}
@media (max-width:760px){.sec{padding:80px 0}}
.sec-head{display:flex;flex-direction:column;gap:18px;margin-bottom:56px}
.sec-head.center{align-items:center;text-align:center}
.sec-head.center .lead{margin:0 auto}
.sec-head.split{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 20px;border-radius:var(--r-md);font-size:15px;font-weight:500;white-space:nowrap;transition:background .18s,border-color .18s,color .18s,transform .12s,box-shadow .25s}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--ink);color:#0A0A0C}
.btn-primary:hover{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.btn-saffron{background:var(--saffron);color:#140700}
.btn-saffron:hover{background:#FF7A30;box-shadow:0 10px 30px -10px rgba(255,106,26,.6)}
.btn-ghost{border:1px solid var(--line-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink);background:rgba(255,255,255,.03)}
.btn-sm{height:38px;padding:0 14px;font-size:14px;border-radius:10px}
.btn .arr{transition:transform .25s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.btn-row{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- surfaces ---------- */
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.card::before{content:'';position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);pointer-events:none}
.card-hover{transition:border-color .25s,transform .25s var(--ease),background .25s}
.card-hover:hover{border-color:var(--line-2);transform:translateY(-3px);background:var(--surface-2)}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:rgba(255,255,255,.02)}
.tag{font-family:var(--mono);font-size:11px;color:var(--subtle)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,backdrop-filter .3s}
.site-header.stuck{background:rgba(9,9,11,.78);border-bottom-color:var(--line);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}
.hdr{display:flex;align-items:center;gap:28px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:-.01em;flex-shrink:0}
.logo-mark{font-family:var(--mono);font-size:11px;font-weight:600;color:#140700;background:linear-gradient(135deg,var(--gold),var(--saffron));padding:5px 7px;border-radius:7px;letter-spacing:.04em}
.nav{display:flex;gap:2px;margin-left:8px}
.nav a{font-size:14px;color:var(--muted);padding:8px 12px;border-radius:8px;transition:color .15s,background .15s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink);background:rgba(255,255,255,.04)}
.hdr-cta{margin-left:auto;display:flex;gap:8px;align-items:center}
.burger{display:none;width:40px;height:40px;border:1px solid var(--line-2);border-radius:10px;align-items:center;justify-content:center;margin-left:auto}
@media (max-width:980px){.nav,.hdr-cta .btn-ghost{display:none}}
@media (max-width:640px){.hdr-cta{display:none}.burger{display:flex}}

.mnav{position:fixed;inset:0;z-index:200;background:rgba(9,9,11,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:18px 18px 32px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
.mnav.open{opacity:1;visibility:visible;transform:none}
.mnav-top{display:flex;justify-content:space-between;align-items:center;height:40px}
.mnav-links{margin-top:36px;display:flex;flex-direction:column}
.mnav-links a{font-size:26px;font-weight:600;letter-spacing:-.03em;padding:14px 0;border-bottom:1px solid var(--line)}
.mnav .btn-row{margin-top:auto;flex-direction:column}
.mnav .btn{width:100%}
@media (min-width:981px){.burger.wide{display:none}}
@media (max-width:980px) and (min-width:641px){.burger{display:flex;margin-left:0}}

/* ---------- hero ---------- */
.hero{position:relative;padding:120px 0 96px;overflow:hidden;isolation:isolate}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.9}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:
  radial-gradient(120% 80% at 80% 30%,transparent 0%,rgba(9,9,11,.35) 45%,var(--bg) 85%),
  linear-gradient(90deg,var(--bg) 0%,rgba(9,9,11,.85) 40%,rgba(9,9,11,.2) 75%,transparent 100%),
  linear-gradient(0deg,var(--bg) 0%,transparent 30%)}
.hero h1{font-size:clamp(44px,7vw,92px);line-height:.98;letter-spacing:-.045em;max-width:12ch;margin-top:26px}
.hero h1 .serif{font-size:1.06em;color:var(--saffron);letter-spacing:-.02em}
.hero .lead{margin-top:26px;font-size:clamp(17px,1.5vw,20px);max-width:48ch}
.hero .btn-row{margin-top:36px}
.trust-row{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:44px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.trust-row span{display:inline-flex;align-items:center;gap:8px}
.trust-row svg{width:14px;height:14px;color:var(--ok)}
@media (max-width:760px){.hero{padding:72px 0 64px}.hero::after{background:linear-gradient(0deg,var(--bg) 10%,rgba(9,9,11,.6) 60%,rgba(9,9,11,.4))}}

/* ---------- demos strip ---------- */
.demos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:980px){.demos{grid-template-columns:1fr}}
.demo{padding:22px;display:flex;flex-direction:column;min-height:400px}
.demo-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.demo h3{font-size:20px;margin-top:14px;letter-spacing:-.02em}
.demo p.d{color:var(--muted);font-size:14px;margin-top:6px}
.demo .stage{margin-top:18px;flex:1;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-2);padding:14px;display:flex;flex-direction:column;gap:10px;font-size:13.5px}
.demo .foot{margin-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}
.demo .foot a{color:var(--ink);display:inline-flex;gap:6px;align-items:center}
.demo .foot a:hover{color:var(--saffron)}
.live{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--ok)}
.live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--ok);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.3}}

/* ERP mini */
.kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kpi{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.kpi small{display:block;font-size:11.5px;color:var(--subtle)}
.kpi b{font-size:19px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stock{display:flex;flex-direction:column;gap:6px}
.stock-row{display:grid;grid-template-columns:1fr 64px auto;gap:10px;align-items:center;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.025);transition:background .3s}
.stock-row.flash{background:rgba(255,106,26,.12)}
.stock-row .nm{font-size:13px}
.stock-row .nm small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--subtle)}
.bar{height:5px;border-radius:5px;background:var(--line);overflow:hidden}
.bar i{display:block;height:100%;border-radius:5px;transition:width .5s var(--ease),background .3s}
.mini-btn{font-family:var(--mono);font-size:11px;padding:5px 8px;border:1px solid var(--line-2);border-radius:7px;color:var(--ink);transition:border-color .15s,background .15s}
.mini-btn:hover{border-color:var(--saffron);background:var(--saffron-soft)}
.mini-btn:disabled{opacity:.35;cursor:not-allowed}
.alert{font-size:12px;font-family:var(--mono);color:var(--danger);display:flex;gap:6px;align-items:center;min-height:18px}

/* booking mini */
.days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.day{border:1px solid var(--line);border-radius:9px;padding:7px 0;text-align:center;font-size:12px;color:var(--muted);transition:all .15s}
.day b{display:block;font-size:16px;color:var(--ink);font-weight:600}
.day[aria-pressed="true"]{border-color:var(--saffron);background:var(--saffron-soft);color:var(--ink)}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.slot{border:1px solid var(--line);border-radius:8px;padding:8px 0;font-family:var(--mono);font-size:12px;transition:all .15s}
.slot:hover:not(:disabled){border-color:var(--line-2);background:rgba(255,255,255,.04)}
.slot:disabled{opacity:.3;text-decoration:line-through;cursor:not-allowed}
.slot[aria-pressed="true"]{background:var(--saffron);border-color:var(--saffron);color:#140700;font-weight:600}
.confirm{margin-top:auto;border:1px dashed var(--line-2);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--muted);min-height:44px;display:flex;align-items:center;gap:10px}
.confirm.ok{border-style:solid;border-color:rgba(61,220,151,.4);color:var(--ink);background:rgba(61,220,151,.06)}
.confirm.ok svg{color:var(--ok);flex-shrink:0}

/* invoice mini */
.inv-head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--subtle)}
.line-item{display:grid;grid-template-columns:1fr auto 72px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.line-item .nm{font-size:13px}
.line-item .nm small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--subtle)}
.step{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:8px;overflow:hidden}
.step button{width:24px;height:24px;font-size:14px;color:var(--muted);transition:background .15s,color .15s}
.step button:hover{background:rgba(255,255,255,.06);color:var(--ink)}
.step span{min-width:24px;text-align:center;font-family:var(--mono);font-size:12px}
.amt{text-align:right;font-family:var(--mono);font-size:12.5px;font-variant-numeric:tabular-nums}
.totals{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted);margin-top:auto}
.totals div{display:flex;justify-content:space-between;font-family:var(--mono)}
.totals .grand{color:var(--ink);font-size:15px;font-weight:600;padding-top:8px;border-top:1px solid var(--line);margin-top:4px;font-family:var(--sans)}
.totals .grand b{font-family:var(--mono);color:var(--saffron)}

/* ---------- services ---------- */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:980px){.services{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.services{grid-template-columns:1fr}}
.svc{padding:26px;display:flex;flex-direction:column;gap:12px;min-height:250px}
.svc-ic{width:40px;height:40px;border-radius:11px;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--muted);transition:color .25s,border-color .25s,background .25s}
.svc-ic svg{width:19px;height:19px}
.svc:hover .svc-ic{color:var(--saffron);border-color:var(--saffron-ring);background:var(--saffron-soft)}
.svc h3{font-size:20px;letter-spacing:-.02em;margin-top:6px}
.svc p{color:var(--muted);font-size:14.5px;line-height:1.6}
.svc .eg{margin-top:auto;font-family:var(--mono);font-size:11.5px;color:var(--subtle);line-height:1.6}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.step-c{padding:28px 24px;border-right:1px solid var(--line);position:relative}
.step-c:last-child{border-right:0}
.step-c .n{font-family:var(--mono);font-size:12px;color:var(--saffron)}
.step-c h3{font-size:22px;margin-top:22px}
.step-c p{color:var(--muted);font-size:14.5px;margin-top:8px}
.step-c .get{margin-top:22px;padding-top:16px;border-top:1px dashed var(--line-2);font-size:13px}
.step-c .get small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
@media (max-width:980px){.steps{grid-template-columns:1fr 1fr}.step-c:nth-child(2){border-right:0}.step-c:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:640px){.steps{grid-template-columns:1fr}.step-c{border-right:0!important;border-bottom:1px solid var(--line)}.step-c:last-child{border-bottom:0}}

/* ---------- promises ---------- */
.promises{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:980px){.promises{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.promises{grid-template-columns:1fr}}
.prm{padding:26px}
.prm .big{font-family:var(--serif);font-style:italic;font-size:44px;line-height:1;color:var(--saffron)}
.prm h3{font-size:18px;margin-top:18px;letter-spacing:-.015em}
.prm p{color:var(--muted);font-size:14px;margin-top:8px}

/* ---------- audiences ---------- */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:980px){.doors{grid-template-columns:1fr}}
.door{padding:28px;display:flex;flex-direction:column;gap:14px;min-height:300px}
.door .who{font-family:var(--mono);font-size:12px;color:var(--saffron)}
.door h3{font-size:24px;letter-spacing:-.025em;max-width:16ch}
.door ul{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:14.5px}
.door li{display:flex;gap:10px}
.door li::before{content:'→';color:var(--subtle)}
.door .go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500}
.door:hover .go{color:var(--saffron)}

/* ---------- measured ---------- */
.measured{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
@media (max-width:980px){.measured{grid-template-columns:1fr;gap:32px}}
.meters{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.meter{background:var(--surface);padding:22px}
.meter small{font-family:var(--mono);font-size:10.5px;color:var(--subtle);text-transform:uppercase;letter-spacing:.1em}
.meter b{display:block;font-family:var(--mono);font-size:clamp(26px,3vw,36px);font-weight:500;letter-spacing:-.04em;margin-top:8px;font-variant-numeric:tabular-nums}
.meter b u{text-decoration:none;font-size:.45em;color:var(--muted);margin-left:4px;letter-spacing:0}
.meter .note{font-family:var(--mono);font-size:11px;color:var(--ok);margin-top:6px}

/* ---------- faq ---------- */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
@media (max-width:980px){.faq-wrap{grid-template-columns:1fr;gap:28px}}
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 2px;font-size:17px;font-weight:500;letter-spacing:-.01em;transition:color .15s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--saffron)}
.faq summary .pm{flex-shrink:0;width:22px;height:22px;border:1px solid var(--line-2);border-radius:6px;display:grid;place-items:center;font-family:var(--mono);font-size:14px;color:var(--muted);transition:transform .3s var(--ease),color .2s,border-color .2s}
.faq details[open] summary .pm{transform:rotate(45deg);color:var(--saffron);border-color:var(--saffron-ring)}
.faq details p{padding:0 2px 22px;color:var(--muted);font-size:15px;max-width:62ch}

/* ---------- final cta ---------- */
.cta-box{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);padding:88px 40px;text-align:center;isolation:isolate}
.cta-box::before{content:'';position:absolute;z-index:-1;width:900px;height:500px;left:50%;bottom:-320px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(255,106,26,.22),transparent 70%)}
.cta-box::after{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 60% 80% at 50% 100%,#000,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 60% 80% at 50% 100%,#000,transparent 75%)}
.cta-box h2{font-size:clamp(36px,5.4vw,68px);letter-spacing:-.045em;max-width:15ch;margin:0 auto}
.cta-box h2 .serif{color:var(--saffron)}
.cta-box .lead{margin:20px auto 0}
.cta-box .btn-row{justify-content:center;margin-top:34px}
.cta-box .small{margin-top:18px;font-family:var(--mono);font-size:12px;color:var(--subtle)}
@media (max-width:640px){.cta-box{padding:60px 20px}}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);padding:64px 0 32px;margin-top:120px;color:var(--muted);font-size:14px}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
@media (max-width:860px){.ft{grid-template-columns:1fr 1fr}.ft>div:first-child{grid-column:1/-1}}
.ft h4{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--subtle);text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}
.ft a{display:block;padding:4px 0;transition:color .15s}
.ft a:hover{color:var(--ink)}
.ft .tagline{margin-top:14px;max-width:32ch;line-height:1.6}
.ft-bottom{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--subtle)}
.perf-pill{display:inline-flex;align-items:center;gap:8px}
.perf-pill i{width:6px;height:6px;border-radius:50%;background:var(--ok)}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.06s}.rv.d2{transition-delay:.12s}.rv.d3{transition-delay:.18s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
}

/* ==========================================================================
   HERO v2 — problem → solution, before/after slider
   ========================================================================== */
.hero2{position:relative;padding:72px 0 88px;overflow:hidden;isolation:isolate}
.hero2::before{content:'';position:absolute;inset:0;z-index:-2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 70% at 70% 30%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at 70% 30%,#000 20%,transparent 75%)}
.hero2::after{content:'';position:absolute;z-index:-1;width:900px;height:640px;right:-200px;top:-200px;background:radial-gradient(closest-side,rgba(255,106,26,.16),transparent 72%)}
.hero2-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
@media (max-width:1040px){.hero2-grid{grid-template-columns:1fr;gap:44px}}
.hero2 h1{font-size:clamp(40px,5.6vw,72px);line-height:1;letter-spacing:-.045em;margin-top:22px;max-width:14ch}
.hero2 h1 .strike{position:relative;white-space:nowrap;color:var(--muted)}
.hero2 h1 .strike::after{content:'';position:absolute;left:-2%;right:-2%;top:55%;height:.09em;background:var(--saffron);border-radius:4px;transform:scaleX(0);transform-origin:left;animation:strike .7s .9s var(--ease) forwards}
@keyframes strike{to{transform:scaleX(1)}}
.hero2 .lead{margin-top:24px;font-size:clamp(17px,1.45vw,19.5px);max-width:46ch;color:#C4C4CC}
.hero2 .lead b{color:var(--ink);font-weight:500}
.hero2 .btn-row{margin-top:32px}
.hero2 .btn-saffron{height:52px;padding:0 24px;font-size:16px}
.hero2 .btn-ghost{height:52px}

/* before/after */
.ba{position:relative;height:440px;border:1px solid var(--line-2);border-radius:var(--r-xl);overflow:hidden;background:var(--surface);box-shadow:0 50px 100px -40px rgba(0,0,0,.8);--pos:92%;user-select:none;touch-action:pan-y}
@media (max-width:640px){.ba{height:400px}}
.ba-layer{position:absolute;inset:0;padding:18px}
.ba-after{clip-path:inset(0 0 0 var(--pos));background:var(--surface)}
.ba-before{background:#F4F1E8;color:#2B2B2B}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--saffron);transform:translateX(-1px);pointer-events:none;z-index:3;box-shadow:0 0 18px rgba(255,106,26,.7)}
.ba-handle::after{content:'‹ ›';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:var(--saffron);color:#140700;display:grid;place-items:center;font-weight:700;font-size:15px;letter-spacing:2px;box-shadow:0 6px 20px rgba(0,0,0,.4)}
.ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0}
.ba input[type=range]:focus-visible + .ba-handle::after{outline:3px solid #fff;outline-offset:3px}
.ba-label{position:absolute;top:14px;z-index:2;font-family:var(--mono);font-size:11px;padding:4px 9px;border-radius:999px;letter-spacing:.06em;text-transform:uppercase}
.ba-label.l{left:14px;background:#2B2B2B;color:#F4F1E8}
.ba-label.r{right:14px;background:var(--saffron);color:#140700}
.ba-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:2;font-family:var(--mono);font-size:11px;color:var(--muted);background:rgba(9,9,11,.8);border:1px solid var(--line-2);padding:5px 10px;border-radius:999px;pointer-events:none;transition:opacity .4s}
.ba.touched .ba-hint{opacity:0}

/* before: spreadsheet chaos */
.sheet{margin-top:34px;font-family:'Arial',sans-serif;font-size:12px;border:1px solid #CFCAB8;background:#fff}
.sheet .r{display:grid;grid-template-columns:26px 1.3fr .6fr .7fr .8fr 1.1fr}
.sheet .r>*{padding:6px 7px;border-right:1px solid #E1DCCB;border-bottom:1px solid #E1DCCB;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet .r>*:first-child{background:#ECE8DA;color:#8A8577;text-align:center;font-size:10.5px}
.sheet .r.hd>*{background:#ECE8DA;color:#6E6A5E;font-weight:700;font-size:10.5px;text-align:center}
.sheet .err{color:#C62828;font-weight:700}
.sheet .yl{background:#FFF59D}
.sheet .rd{background:#FFCDD2}
.sheet .q{color:#999;font-style:italic}
.wa{position:absolute;max-width:220px;background:#fff;border-radius:10px 10px 10px 2px;padding:8px 10px 6px;font-size:12px;color:#222;box-shadow:0 6px 18px rgba(0,0,0,.15);font-family:-apple-system,'Segoe UI',sans-serif}
.wa::before{content:attr(data-from);display:block;font-size:10.5px;font-weight:600;color:#1FA855;margin-bottom:2px}
.wa small{display:block;text-align:right;font-size:9.5px;color:#999;margin-top:2px}
.wa.one{left:22px;bottom:96px;transform:rotate(-2deg)}
.wa.two{right:26px;bottom:40px;transform:rotate(1.5deg)}
.sticky{position:absolute;right:30px;top:58px;width:120px;padding:10px;background:#FFE36E;color:#4A3B00;font-family:'Comic Sans MS','Marker Felt',cursive;font-size:12px;transform:rotate(4deg);box-shadow:0 6px 14px rgba(0,0,0,.15)}

/* after: clean dashboard */
.dash-top{display:flex;justify-content:space-between;align-items:center;margin-top:30px}
.dash-top b{font-size:15px;letter-spacing:-.01em}
.dash-k{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.dash-k div{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--bg-2)}
.dash-k small{display:block;font-size:11px;color:var(--subtle)}
.dash-k b{display:block;font-size:20px;font-weight:600;letter-spacing:-.02em;margin-top:2px}
.dash-k i{font-style:normal;font-family:var(--mono);font-size:10.5px;color:var(--ok)}
.dash-chart{margin-top:10px;height:92px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);padding:10px;display:flex;align-items:flex-end;gap:5px}
.dash-chart i{flex:1;border-radius:3px 3px 0 0;background:rgba(255,255,255,.08)}
.dash-chart i.on{background:linear-gradient(180deg,var(--saffron),rgba(255,106,26,.25))}
.dash-list{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.dash-list div{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;padding:7px 10px;border-radius:8px;background:var(--bg-2);border:1px solid var(--line)}
.pill{font-family:var(--mono);font-size:10.5px;padding:2px 8px;border-radius:999px}
.pill.ok{background:rgba(61,220,151,.12);color:var(--ok)}
.pill.low{background:rgba(255,107,107,.14);color:var(--danger)}
.pill.paid{background:rgba(255,176,32,.14);color:var(--gold)}

/* service band */
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}
.band-grid{display:grid;grid-template-columns:auto repeat(4,1fr)}
.band-grid>*{padding:22px 20px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:4px}
.band-grid>*:first-child{border-left:0;padding-left:0;font-family:var(--mono);font-size:12px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.band-grid a b{font-size:16px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}
.band-grid a span{font-size:13px;color:var(--muted)}
.band-grid a:hover b{color:var(--saffron)}
@media (max-width:900px){.band-grid{grid-template-columns:1fr 1fr}.band-grid>*:first-child{grid-column:1/-1;padding:18px 0 4px}.band-grid>*{border-left:0;border-top:1px solid var(--line);padding:16px 0}.band-grid>*:nth-child(odd):not(:first-child){padding-left:16px;border-left:1px solid var(--line)}}

/* pains */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:900px){.pains{grid-template-columns:1fr}}
.pain{padding:24px}
.pain .q{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.2;color:var(--ink)}
.pain .cost{margin-top:14px;font-size:14px;color:var(--muted)}
.pain .fix{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-2);font-size:14px;display:flex;gap:10px}
.pain .fix::before{content:'→';color:var(--saffron);font-weight:600}

/* sales service cards */
.svc .cta-link{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--saffron)}
.svc .cta-link:hover{gap:12px}
.svc .outcome{font-family:var(--mono);font-size:11.5px;color:var(--ok);display:flex;gap:6px;align-items:center}

/* ==========================================================================
   BRAND EMPHASIS — TCD front and centre
   ========================================================================== */
.logo-mark{font-size:12.5px;padding:6px 9px;border-radius:8px;box-shadow:0 0 0 1px rgba(255,176,32,.35),0 6px 22px -6px rgba(255,106,26,.65)}
.logo-word{font-weight:600}
.logo:hover .logo-mark{box-shadow:0 0 0 1px rgba(255,176,32,.6),0 8px 28px -6px rgba(255,106,26,.9)}
.tcd{font-family:var(--mono);font-weight:600;color:var(--saffron);letter-spacing:.02em}
.tcd-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--ink);background:linear-gradient(135deg,rgba(255,176,32,.14),rgba(255,106,26,.14));border:1px solid var(--saffron-ring);padding:5px 11px;border-radius:999px}
.tcd-badge b{color:var(--saffron);font-weight:600}

/* footer CTA + giant wordmark */
.ft-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:0 0 48px;margin-bottom:48px;border-bottom:1px solid var(--line)}
.ft-cta h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.035em}
.ft-cta p{color:var(--muted);margin-top:6px;font-family:var(--mono);font-size:12.5px}
.ft-mark{font-family:var(--sans);font-weight:700;font-size:clamp(120px,26vw,360px);line-height:.8;letter-spacing:-.07em;text-align:center;margin-top:56px;background:linear-gradient(180deg,rgba(255,106,26,.55),rgba(255,106,26,0) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none}
.site-footer{margin-top:0}

/* ==========================================================================
   INNER PAGES
   ========================================================================== */
.phero{position:relative;padding:96px 0 72px;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.phero::before{content:'';position:absolute;inset:0;z-index:-2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 90% at 80% 0%,#000 15%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 70% 90% at 80% 0%,#000 15%,transparent 70%)}
.phero::after{content:'';position:absolute;z-index:-1;width:800px;height:560px;right:-160px;top:-260px;background:radial-gradient(closest-side,rgba(255,106,26,.16),transparent 72%)}
.phero h1{font-size:clamp(40px,6vw,78px);line-height:1;letter-spacing:-.045em;margin-top:22px;max-width:16ch}
.phero h1 .serif{color:var(--saffron)}
.phero .lead{margin-top:22px;font-size:clamp(17px,1.45vw,19.5px);max-width:56ch}
.phero .btn-row{margin-top:30px}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--subtle);display:flex;gap:8px;align-items:center}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink)}

.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.jump a{font-size:13.5px;padding:8px 14px;border:1px solid var(--line-2);border-radius:999px;color:var(--muted);transition:all .15s}
.jump a:hover{color:var(--ink);border-color:var(--saffron-ring);background:var(--saffron-soft)}

/* service detail block */
.sblock{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start;scroll-margin-top:90px}
@media (max-width:980px){.sblock{grid-template-columns:1fr;gap:28px}}
.sblock .num{font-family:var(--mono);font-size:12px;color:var(--saffron)}
.sblock h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.04em;margin-top:14px}
.sblock .lead{margin-top:16px}
.sblock .pain-line{margin-top:20px;padding:14px 16px;border-left:2px solid var(--saffron);background:var(--saffron-soft);border-radius:0 10px 10px 0;font-size:15px;color:var(--ink)}
.sblock .btn-row{margin-top:26px}
.feat{padding:26px}
.feat h3{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--subtle);text-transform:uppercase;letter-spacing:.1em}
.ticks{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:14px}
@media (max-width:560px){.ticks{grid-template-columns:1fr}}
.ticks li{display:flex;gap:10px;font-size:14.5px;line-height:1.5}
.ticks li::before{content:'';flex-shrink:0;width:16px;height:16px;margin-top:3px;border-radius:5px;background:var(--saffron-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='%23FF6A1A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;border:1px solid var(--saffron-ring)}
.meta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);margin:22px -26px -26px}
.meta-row div{background:var(--surface);padding:16px 26px}
.meta-row small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.meta-row b{display:block;font-size:14px;font-weight:500;margin-top:4px}
@media (max-width:560px){.meta-row{grid-template-columns:1fr}}

/* detailed process */
.pstep{display:grid;grid-template-columns:120px 1fr 1fr;gap:40px;padding:44px 0;border-top:1px solid var(--line)}
.pstep:last-child{border-bottom:1px solid var(--line)}
@media (max-width:900px){.pstep{grid-template-columns:1fr;gap:16px}}
.pstep .n{font-family:var(--serif);font-style:italic;font-size:64px;line-height:1;color:var(--saffron)}
.pstep h3{font-size:28px;letter-spacing:-.03em}
.pstep p{color:var(--muted);margin-top:10px;font-size:15.5px}
.pstep .box{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:18px 20px}
.pstep .box + .box{margin-top:10px}
.pstep .box small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.pstep .box ul{display:flex;flex-direction:column;gap:6px;font-size:14.5px}
.pstep .box li::before{content:'→ ';color:var(--saffron)}

/* two-col generic */
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:980px){.three{grid-template-columns:1fr}}
.pad{padding:28px}
.pad h3{font-size:21px;letter-spacing:-.02em}
.pad p{color:var(--muted);font-size:15px;margin-top:10px}
.pad .ticks{margin-top:18px}
.k-num{font-family:var(--mono);font-size:12px;color:var(--saffron)}
.compare-t{width:100%;border-collapse:collapse;font-size:14.5px}
.compare-t th,.compare-t td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line)}
.compare-t th{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.compare-t td:first-child{color:var(--muted)}
.compare-t .us{color:var(--ink);background:rgba(255,106,26,.05)}
.compare-t th.us{color:var(--saffron)}
.table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:auto;background:var(--surface)}

/* about */
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px}
@media (max-width:980px){.story{grid-template-columns:1fr;gap:28px}}
.story p{color:var(--muted);font-size:17px;line-height:1.75}
.story p + p{margin-top:18px}
.story p b{color:var(--ink);font-weight:500}
.big-quote{font-family:var(--serif);font-style:italic;font-size:clamp(30px,3.6vw,46px);line-height:1.15;letter-spacing:-.01em}
.big-quote em{color:var(--saffron);font-style:italic}
.founder{display:flex;align-items:center;gap:18px;padding:24px}
.founder .av{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,var(--gold),var(--saffron));display:grid;place-items:center;font-family:var(--mono);font-weight:700;color:#140700;font-size:18px;flex-shrink:0}
.founder b{display:block;font-size:17px}
.founder span{display:block;color:var(--muted);font-size:14px;margin-top:2px}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start}
@media (max-width:980px){.contact-grid{grid-template-columns:1fr}}
.cways{display:flex;flex-direction:column;gap:10px}
.cway{display:flex;align-items:center;gap:16px;padding:18px 20px}
.cway .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line-2);flex-shrink:0;color:var(--saffron)}
.cway .ic svg{width:19px;height:19px}
.cway b{display:block;font-size:15.5px}
.cway span{display:block;color:var(--muted);font-size:13.5px}
.cway .go{margin-left:auto;color:var(--subtle);transition:transform .2s,color .2s}
.cway:hover .go{color:var(--saffron);transform:translateX(3px)}
.cway-wa .ic{background:#25D366;border-color:#25D366;color:#06210F}
.next{margin-top:28px}
.next li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}
.next li b{color:var(--ink);font-weight:500}
.next li span.n{font-family:var(--mono);font-size:12px;color:var(--saffron);padding-top:2px}

.form{padding:30px}
.form h2{font-size:26px;letter-spacing:-.03em}
.form > p{color:var(--muted);font-size:14.5px;margin-top:6px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
@media (max-width:560px){.fgrid{grid-template-columns:1fr}.form{padding:22px}}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label,.field .lbl{font-size:13px;font-weight:500;color:var(--ink)}
.field label i,.field .lbl i{font-style:normal;color:var(--subtle);font-weight:400}
.field input,.field textarea,.field select{width:100%;background:var(--bg);border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;font-size:15px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.field textarea{min-height:120px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:var(--subtle)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--saffron);box-shadow:0 0 0 3px var(--saffron-soft)}
.field input[aria-invalid="true"]{border-color:var(--danger)}
.field .err{font-size:12.5px;color:var(--danger);min-height:0}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:inline-flex;padding:9px 14px;border:1px solid var(--line-2);border-radius:999px;font-size:13.5px;color:var(--muted);cursor:pointer;transition:all .15s}
.opt span:hover{color:var(--ink);border-color:var(--subtle)}
.opt input:checked + span{background:var(--saffron);border-color:var(--saffron);color:#140700;font-weight:500}
.opt input:focus-visible + span{outline:2px solid var(--saffron);outline-offset:2px}
.fsubmit{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.fsubmit .btn{width:100%;height:52px;font-size:16px}
.fnote{font-size:12.5px;color:var(--subtle);text-align:center}
.fdone{display:none;text-align:center;padding:30px 10px}
.form.sent .fdone{display:block}.form.sent .fbody{display:none}
.fdone .tick{width:56px;height:56px;border-radius:50%;background:rgba(61,220,151,.12);color:var(--ok);display:grid;place-items:center;margin:0 auto 16px}
.fdone h3{font-size:22px}.fdone p{color:var(--muted);margin-top:8px}

/* 404 */
.nf{min-height:70vh;display:grid;place-items:center;text-align:center;padding:80px 0}
.nf .code{font-family:var(--mono);font-size:clamp(90px,18vw,200px);font-weight:600;letter-spacing:-.06em;line-height:1;background:linear-gradient(180deg,var(--saffron),rgba(255,106,26,.15));-webkit-background-clip:text;background-clip:text;color:transparent}
.nf .term{margin:28px auto 0;max-width:520px;text-align:left;font-family:var(--mono);font-size:13.5px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);padding:18px 20px;line-height:1.8;color:var(--muted)}
.nf .term b{color:var(--ok);font-weight:500}.nf .term a{color:var(--saffron)}.nf .term a:hover{text-decoration:underline}

/* ==========================================================================
   DEMOS PAGE
   ========================================================================== */
.demo-sec{scroll-margin-top:84px}
.demo-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.demo-head h2{font-size:clamp(28px,3.4vw,42px);letter-spacing:-.04em;margin-top:12px}
.demo-head p{color:var(--muted);max-width:52ch;margin-top:10px}
.app-frame{border:1px solid var(--line-2);border-radius:var(--r-xl);background:var(--surface);overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.app-bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.app-bar i{width:10px;height:10px;border-radius:50%;background:#2A2A33}
.app-bar i:nth-child(1){background:#FF5F57}.app-bar i:nth-child(2){background:#FEBC2E}.app-bar i:nth-child(3){background:#28C840}
.app-bar .url{margin-left:14px;flex:1;max-width:420px;font-family:var(--mono);font-size:11.5px;color:var(--subtle);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:5px 10px}
.app-bar .tag{margin-left:auto}
.app-body{padding:22px}
@media (max-width:640px){.app-body{padding:14px}}

/* ERP full */
.erp{display:grid;grid-template-columns:180px 1fr;min-height:560px}
.erp-side{border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:2px;font-size:13.5px;background:var(--bg-2)}
.erp-side button{text-align:left;padding:9px 12px;border-radius:8px;color:var(--muted)}
.erp-side button.on{background:var(--surface-2);color:var(--ink)}
.erp-main{padding:22px;min-width:0}
.erp-k{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.erp-k div{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg-2)}
.erp-k small{color:var(--subtle);font-size:12px}.erp-k b{display:block;font-size:24px;font-weight:600;letter-spacing:-.03em;margin-top:4px;font-variant-numeric:tabular-nums}.erp-k i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--ok)}
.erp-row{display:grid;grid-template-columns:1.5fr 1fr;gap:10px;margin-top:10px}
.erp-p{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg-2);min-width:0}
.erp-p h4{font-size:13.5px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:10px}
.erp-p h4 span{font-family:var(--mono);font-size:11px;color:var(--subtle);font-weight:400}
.erp-feed{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:240px;overflow:hidden}
.erp-feed div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;font-size:13px;padding:8px 10px;border-radius:8px;background:var(--surface);animation:oin .5s var(--ease)}
@keyframes oin{from{opacity:0;transform:translateX(-8px);background:rgba(255,106,26,.14)}}
.erp-feed span{font-family:var(--mono);font-size:11px;color:var(--subtle)}
.erp-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}
.erp-table th{text-align:left;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--subtle);padding:8px;border-bottom:1px solid var(--line);cursor:pointer;user-select:none;white-space:nowrap}
.erp-table th:hover{color:var(--ink)}
.erp-table td{padding:9px 8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
.erp-tools{display:flex;gap:8px;align-items:center}
.erp-tools input{background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:6px 10px;font-size:12.5px;color:var(--ink);width:160px}
@media (max-width:980px){.erp{grid-template-columns:1fr}.erp-side{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.erp-side button{white-space:nowrap}.erp-k{grid-template-columns:1fr 1fr}.erp-row{grid-template-columns:1fr}}

/* booking full */
.bk{display:grid;grid-template-columns:260px 1fr 300px;gap:18px}
@media (max-width:1040px){.bk{grid-template-columns:1fr}}
.bk-col h4{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.svc-pick{display:flex;flex-direction:column;gap:8px}
.svc-pick button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:14px;transition:all .15s}
.svc-pick button small{display:block;font-size:12px;color:var(--subtle)}
.svc-pick button[aria-pressed="true"]{border-color:var(--saffron);background:var(--saffron-soft)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal .dn{font-family:var(--mono);font-size:10.5px;color:var(--subtle);text-align:center;padding-bottom:4px}
.cal button{aspect-ratio:1;border-radius:9px;font-size:13.5px;border:1px solid transparent;transition:all .15s}
.cal button:hover:not(:disabled){border-color:var(--line-2)}
.cal button:disabled{color:var(--subtle);opacity:.4;cursor:not-allowed}
.cal button.today{border-color:var(--line-2)}
.cal button[aria-pressed="true"]{background:var(--saffron);color:#140700;font-weight:600}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600}
.cal-head button{width:30px;height:30px;border:1px solid var(--line-2);border-radius:8px;color:var(--muted)}
.bk .slots{grid-template-columns:repeat(2,1fr);margin-top:10px}
.bk-sum{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--bg-2);display:flex;flex-direction:column;gap:12px}
.bk-sum .row{display:flex;justify-content:space-between;font-size:13.5px;gap:10px}
.bk-sum .row span:first-child{color:var(--subtle)}
.bk-sum input{background:var(--surface);border:1px solid var(--line-2);border-radius:9px;padding:10px 12px;font-size:14px;color:var(--ink);width:100%}
.bk-ok{text-align:center;padding:12px 0}
.bk-ok .tick{width:48px;height:48px;border-radius:50%;background:rgba(61,220,151,.12);color:var(--ok);display:grid;place-items:center;margin:0 auto 10px}

/* invoice full */
.invg{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}
@media (max-width:1040px){.invg{grid-template-columns:1fr}}
.inv-ctrl{display:flex;flex-direction:column;gap:12px}
.inv-ctrl .field input,.inv-ctrl .field select{padding:9px 12px;font-size:14px}
.inv-lines{display:flex;flex-direction:column;gap:8px}
.inv-line{display:grid;grid-template-columns:1fr 64px 96px 30px;gap:6px}
.inv-line input{background:var(--bg);border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;font-size:13.5px;color:var(--ink);width:100%;min-width:0}
.inv-line button{border:1px solid var(--line-2);border-radius:8px;color:var(--muted)}
.inv-line button:hover{color:var(--danger);border-color:var(--danger)}
.paper{background:#FBFAF7;color:#1C1C1C;border-radius:14px;padding:30px;font-size:13px;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.paper .ph{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.paper .ph b{font-size:20px;letter-spacing:-.02em}
.paper .muted{color:#77736A}
.paper table{width:100%;border-collapse:collapse;margin-top:22px}
.paper th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#77736A;border-bottom:1.5px solid #1C1C1C;padding:8px 6px}
.paper td{padding:9px 6px;border-bottom:1px solid #E6E2D8}
.paper .r{text-align:right}
.paper .tot{margin-left:auto;width:min(280px,100%);margin-top:16px}
.paper .tot div{display:flex;justify-content:space-between;padding:4px 0}
.paper .tot .g{border-top:1.5px solid #1C1C1C;margin-top:6px;padding-top:8px;font-size:16px;font-weight:700}
.paper .words{margin-top:14px;font-size:12px;color:#55524A}
.paper .stamp{display:inline-block;margin-top:18px;border:2px solid #C2410C;color:#C2410C;font-weight:700;font-size:11px;letter-spacing:.12em;padding:4px 10px;transform:rotate(-4deg);border-radius:4px}

/* mobile app demo */
.appdemo{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:center}
@media (max-width:900px){.appdemo{grid-template-columns:1fr}}
.phone2{width:320px;height:640px;margin:0 auto;border:10px solid #1B1B20;border-radius:46px;background:#F7F5F0;color:#151515;overflow:hidden;position:relative;box-shadow:0 0 0 1px var(--line-2),0 50px 100px -40px rgba(0,0,0,.9)}
.phone2 .notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:96px;height:26px;background:#1B1B20;border-radius:20px;z-index:3}
.scr{position:absolute;inset:0;padding:48px 16px 76px;overflow-y:auto;transition:transform .35s var(--ease),opacity .25s}
.scr.hide{opacity:0;pointer-events:none;transform:translateX(30px)}
.scr h5{font-size:20px;font-weight:700;letter-spacing:-.02em}
.scr .hint{font-size:12px;color:#86827A;margin-top:2px}
.cats{display:flex;gap:6px;margin-top:12px;overflow-x:auto}
.cats button{padding:6px 12px;border-radius:999px;background:#EAE6DC;font-size:12px;white-space:nowrap;color:#151515}
.cats button.on{background:#151515;color:#fff}
.prods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.prod{background:#fff;border-radius:14px;padding:10px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.prod .img{height:72px;border-radius:10px;display:grid;place-items:center;font-size:28px}
.prod b{display:block;font-size:13px;margin-top:8px}
.prod .pr{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:12.5px}
.prod .add{width:26px;height:26px;border-radius:8px;background:#FF6A1A;color:#fff;font-weight:700;line-height:1}
.tabbar{position:absolute;left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid #E6E2D8;display:flex;justify-content:space-around;align-items:center;z-index:2}
.tabbar button{font-size:11px;color:#86827A;display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}
.tabbar button.on{color:#FF6A1A;font-weight:600}
.tabbar .badge{position:absolute;top:-6px;right:-10px;background:#FF6A1A;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:grid;place-items:center;padding:0 4px}
.cart-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:10px 12px;margin-top:8px;font-size:13px}
.cart-row .q{display:flex;align-items:center;gap:8px}
.cart-row .q button{width:22px;height:22px;border-radius:6px;background:#EAE6DC;color:#151515}
.pay{width:100%;margin-top:14px;height:46px;border-radius:12px;background:#151515;color:#fff;font-weight:600;font-size:14px}
.track{margin-top:16px;display:flex;flex-direction:column;gap:0}
.track div{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:8px 0;font-size:13px;color:#86827A}
.track div.done{color:#151515}
.track div i{width:14px;height:14px;border-radius:50%;border:2px solid #CFCAB8;margin-top:2px}
.track div.done i{background:#FF6A1A;border-color:#FF6A1A}

/* automation */
.flowd{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;position:relative}
@media (max-width:900px){.flowd{grid-template-columns:1fr}}
.fnode{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--bg-2);transition:border-color .3s,background .3s,transform .3s var(--ease)}
.fnode .ic{font-size:20px}
.fnode b{display:block;font-size:14px;margin-top:10px}
.fnode span{display:block;font-size:12px;color:var(--subtle);margin-top:4px;font-family:var(--mono)}
.fnode.run{border-color:var(--saffron);background:var(--saffron-soft);transform:translateY(-3px)}
.fnode.ok{border-color:rgba(61,220,151,.45)}
.fnode.ok span{color:var(--ok)}
.flog{margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 14px;height:150px;overflow:auto;line-height:1.7}
.flog b{color:var(--ok);font-weight:500}
.saved{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-family:var(--mono);font-size:12px;color:var(--muted)}
.saved b{color:var(--ink);font-weight:500}

@media print{
  body *{visibility:hidden}
  .paper,.paper *{visibility:visible}
  .paper{position:absolute;left:0;top:0;width:100%;box-shadow:none;border-radius:0}
}

/* nav fit at mid widths */
.nav a{white-space:nowrap}
@media (max-width:1180px){.nav a{padding:8px 9px;font-size:13.5px}.hdr{gap:18px}.hdr-cta .btn-ghost{display:none}}

/* ==========================================================================
   INTERACTIVE BACKGROUND — reactive dot grid (assets/bg.js)
   ========================================================================== */
.bg-grid{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
/* the dot grid replaces the old static line grids */
.hero2::before,.phero::before{content:none}
/* let the grid show through full-width bands */
.band{background:rgba(12,12,15,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

/* ==========================================================================
   MASCOT — the TCD monk
   ========================================================================== */
.logo-monk{width:38px;height:38px;flex-shrink:0;margin-right:-2px;filter:drop-shadow(0 4px 10px rgba(255,106,26,.25));transition:transform .4s var(--ease)}
.logo:hover .logo-monk{transform:rotate(-6deg) scale(1.06)}
@media (max-width:420px){.logo-word{display:none}}

/* footer: monk meditating on the wordmark */
.ft-brand{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:48px}
.ft-monk{width:clamp(120px,16vw,220px);height:auto;position:relative;z-index:1;margin-bottom:calc(clamp(120px,16vw,220px) * -0.32);filter:drop-shadow(0 20px 40px rgba(0,0,0,.6));animation:float 6s ease-in-out infinite}
.ft-brand .ft-mark{margin-top:0}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* about */
.about-monk{width:min(320px,70%);height:auto;margin-bottom:28px;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55));animation:float 6s ease-in-out infinite}

/* 404 + form success */
.nf-monk{width:160px;height:auto;margin:0 auto 8px;animation:float 5s ease-in-out infinite}
.done-monk{width:120px;height:auto;margin:0 auto 14px;animation:float 5s ease-in-out infinite}

/* floating helper */
.helper{position:fixed;right:20px;bottom:20px;z-index:150;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.helper > *{pointer-events:auto}
.helper-monk{position:relative;width:76px;height:76px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#2A1A12,#120B08);border:1px solid var(--saffron-ring);box-shadow:0 14px 34px -10px rgba(0,0,0,.7),0 0 0 4px rgba(255,106,26,.08);display:grid;place-items:center;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.helper-monk img{width:96px;height:96px;margin-top:22px;transition:transform .35s var(--ease)}
.helper-monk:hover{transform:translateY(-3px);box-shadow:0 18px 40px -10px rgba(255,106,26,.45),0 0 0 4px rgba(255,106,26,.15)}
.helper-monk:hover img{transform:translateY(-4px)}
.helper-dot{position:absolute;top:8px;right:8px;width:12px;height:12px;border-radius:50%;background:var(--ok);border:2px solid #120B08}
.helper-bubble{position:relative;width:250px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:16px 16px 4px 16px;padding:16px 16px 14px;box-shadow:0 24px 50px -20px rgba(0,0,0,.8);display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateY(8px) scale(.97);transform-origin:bottom right;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}
.helper.open .helper-bubble{opacity:1;transform:none;visibility:visible}
.helper-bubble b{font-size:15px}
.helper-bubble span{font-size:13.5px;color:var(--muted);line-height:1.45}
.helper-bubble .btn{margin-top:6px;width:100%}
.helper-x{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:6px;color:var(--subtle);font-size:16px;line-height:1}
.helper-x:hover{color:var(--ink);background:rgba(255,255,255,.06)}
@media (max-width:640px){.helper{right:14px;bottom:14px}.helper-monk{width:64px;height:64px}.helper-monk img{width:82px;height:82px;margin-top:18px}.helper-bubble{width:min(250px,calc(100vw - 28px))}}
@media (prefers-reduced-motion:reduce){.ft-monk,.about-monk,.nf-monk,.done-monk{animation:none}}

.ft a.logo{display:flex;padding:0}


/* ==========================================================================
   LOGO — monk + big TCD text, no box
   ========================================================================== */
.logo{gap:10px}
.logo-monk{width:46px;height:46px;margin:-4px -8px -4px -6px}
.logo-tcd{font-family:var(--sans);font-weight:800;font-size:24px;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.logo-sep{width:1px;height:20px;background:var(--line-2);margin:0 2px}
.logo-word{font-size:14.5px;font-weight:500;color:var(--muted);transition:color .2s}
.logo:hover .logo-word{color:var(--ink)}
.ft .logo .logo-monk{width:52px;height:52px}
.ft .logo .logo-tcd{font-size:27px}
@media (max-width:520px){.logo-sep,.logo-word{display:none}}

/* ==========================================================================
   PROCESS PAGE v2 — interactive timeline, step artifacts, estimator
   ========================================================================== */
.fails{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:900px){.fails{grid-template-columns:1fr}}
.fail{padding:24px}
.fail .bad{font-family:var(--mono);font-size:11.5px;color:var(--danger);text-transform:uppercase;letter-spacing:.08em}
.fail h3{font-size:20px;margin-top:10px;letter-spacing:-.02em}
.fail p{color:var(--muted);font-size:14.5px;margin-top:8px}
.fail .fix{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line-2);font-size:14px;display:flex;gap:10px}
.fail .fix b{color:var(--ok);font-family:var(--mono);font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;padding-top:2px}

/* timeline */
.tl{position:relative;padding-left:84px}
@media (max-width:760px){.tl{padding-left:52px}}
.tl-rail{position:absolute;left:30px;top:0;bottom:0;width:2px;background:var(--line-2);border-radius:2px}
@media (max-width:760px){.tl-rail{left:16px}}
.tl-fill{position:absolute;left:0;top:0;width:100%;height:0;background:linear-gradient(180deg,var(--gold),var(--saffron));border-radius:2px;box-shadow:0 0 14px rgba(255,106,26,.6)}
.tl-monk{position:absolute;left:50%;top:0;width:64px;height:64px;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 16px rgba(0,0,0,.6));pointer-events:none;transition:top .12s linear}
@media (max-width:760px){.tl-monk{width:46px;height:46px}}
.tl-step{position:relative;padding:8px 0 72px}
.tl-step:last-child{padding-bottom:8px}
.tl-dot{position:absolute;left:-63px;top:14px;width:28px;height:28px;border-radius:50%;background:var(--bg);border:2px solid var(--line-2);display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--subtle);transition:all .4s var(--ease)}
@media (max-width:760px){.tl-dot{left:-45px;width:24px;height:24px;font-size:10px}}
.tl-step.on .tl-dot{border-color:var(--saffron);background:var(--saffron);color:#140700;box-shadow:0 0 0 6px var(--saffron-soft)}
.tl-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
@media (max-width:980px){.tl-grid{grid-template-columns:1fr}}
.tl-step .n{font-family:var(--mono);font-size:12px;color:var(--saffron)}
.tl-step h3{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.03em;margin-top:8px}
.tl-step p.d{color:var(--muted);margin-top:10px;font-size:15.5px;max-width:52ch}
.tl-step .dur{display:inline-flex;gap:8px;align-items:center;margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.yp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
@media (max-width:560px){.yp{grid-template-columns:1fr}}
.yp div{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface)}
.yp small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.yp ul{display:flex;flex-direction:column;gap:5px;font-size:14px}
.yp li::before{content:'→ ';color:var(--saffron)}
.tl-step .art{opacity:.35;transform:translateY(10px) scale(.98);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.tl-step.on .art{opacity:1;transform:none}
.art-label{font-family:var(--mono);font-size:10.5px;color:var(--subtle);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;display:flex;justify-content:space-between}

/* artifact: scope doc */
.doc{background:#FBFAF7;color:#1C1C1C;border-radius:12px;padding:22px;font-size:13px;box-shadow:0 30px 60px -30px rgba(0,0,0,.8);position:relative}
.doc h4{font-size:16px;letter-spacing:-.01em}
.doc .m{color:#77736A;font-size:11.5px}
.doc .sec2{margin-top:14px}
.doc .sec2 b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#77736A;margin-bottom:6px}
.doc .sec2 li{display:flex;gap:8px;padding:3px 0}
.doc .sec2 li::before{content:'✓';color:#C2410C;font-weight:700}
.doc .money{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.doc .money div{border:1.5px solid #1C1C1C;border-radius:8px;padding:8px 10px}
.doc .money small{display:block;font-size:10.5px;color:#77736A;text-transform:uppercase;letter-spacing:.06em}
.doc .money strong{font-size:15px}
.doc .sign{margin-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#77736A}
.doc .stamp{border:2px solid #C2410C;color:#C2410C;font-weight:700;font-size:10.5px;letter-spacing:.1em;padding:3px 8px;transform:rotate(-5deg);border-radius:4px}

/* artifact: prototype */
.proto{border:1px solid var(--line-2);border-radius:14px;background:var(--surface);overflow:hidden}
.proto-bar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);align-items:center}
.proto-bar i{width:8px;height:8px;border-radius:50%;background:var(--line-2)}
.proto-bar span{margin-left:8px;font-family:var(--mono);font-size:11px;color:var(--subtle)}
.proto-tabs{display:flex;gap:6px;padding:10px 12px 0}
.proto-tabs button{font-size:12px;padding:6px 10px;border-radius:7px;color:var(--muted);border:1px solid transparent}
.proto-tabs button.on{border-color:var(--line-2);color:var(--ink);background:var(--surface-2)}
.proto-screen{padding:12px;display:grid;gap:8px;min-height:170px}
.wf{border:1px dashed var(--line-2);border-radius:8px;background:rgba(255,255,255,.02)}
.wf.h{height:28px}.wf.b{height:64px}.wf.s{height:40px}
.wf-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.proto-foot{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line);align-items:center}
.proto-foot .st{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--muted)}
.proto-foot .st.ok{color:var(--ok)}

/* artifact: whatsapp demo */
.chat{border-radius:14px;overflow:hidden;border:1px solid var(--line-2);background:#0B141A}
.chat-top{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#1F2C33;font-size:13.5px}
.chat-top img{width:30px;height:30px;border-radius:50%;background:#2A1A12;object-fit:cover;object-position:50% 15%}
.chat-top small{display:block;color:#8696A0;font-size:11px}
.chat-body{padding:14px;display:flex;flex-direction:column;gap:8px;background:#0B141A}
.msg{max-width:84%;padding:8px 10px 6px;border-radius:10px;font-size:13px;line-height:1.45;color:#E9EDEF}
.msg small{display:block;text-align:right;color:#8696A0;font-size:10px;margin-top:3px}
.msg.in{background:#202C33;border-top-left-radius:2px}
.msg.out{background:#005C4B;align-self:flex-end;border-top-right-radius:2px}
.msg .lnk{display:block;margin-top:6px;padding:8px;border-radius:7px;background:rgba(0,0,0,.25);color:#53BDEB;font-size:12px}

/* artifact: checklist */
.check{border:1px solid var(--line-2);border-radius:14px;background:var(--surface);padding:6px}
.check label{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:9px;cursor:pointer;font-size:14px;transition:background .15s}
.check label:hover{background:rgba(255,255,255,.03)}
.check input{appearance:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);display:grid;place-items:center;flex-shrink:0;transition:all .2s}
.check input:checked{background:var(--ok);border-color:var(--ok)}
.check input:checked::after{content:'✓';color:#04130C;font-size:13px;font-weight:700}
.check input:checked + span{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--subtle)}
.check .golive{margin:6px;padding:12px;border-radius:9px;text-align:center;font-weight:600;font-size:14px;background:var(--surface-2);color:var(--subtle);transition:all .3s}
.check .golive.ready{background:var(--saffron);color:#140700;box-shadow:0 10px 30px -10px rgba(255,106,26,.6)}

/* artifact: release log */
.rel{border:1px solid var(--line-2);border-radius:14px;background:var(--surface);overflow:hidden}
.rel div{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13.5px}
.rel div:last-child{border-bottom:0}
.rel .v{font-family:var(--mono);font-size:12px;color:var(--saffron)}
.rel .t{font-family:var(--mono);font-size:11px;color:var(--subtle)}

/* estimator */
.est{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}
@media (max-width:980px){.est{grid-template-columns:1fr}}
.est-in{padding:26px}
.est-in h3,.est-out h3{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--subtle);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
.est-types{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.est-types button{text-align:left;padding:12px 14px;border:1px solid var(--line-2);border-radius:11px;font-size:14px;font-weight:500;transition:all .15s}
.est-types button small{display:block;font-weight:400;font-size:12px;color:var(--subtle);margin-top:2px}
.est-types button[aria-pressed="true"]{border-color:var(--saffron);background:var(--saffron-soft)}
.est-feat{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.est-sec{margin-top:22px}
.est-out{padding:26px;display:flex;flex-direction:column}
.est-total{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.est-total b{font-size:clamp(34px,4vw,48px);font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.est-total span{color:var(--muted);font-size:14px}
.gantt{margin-top:20px;display:flex;flex-direction:column;gap:10px}
.g-row{display:grid;grid-template-columns:96px 1fr 58px;gap:12px;align-items:center;font-size:13px}
.g-row .lbl{color:var(--muted)}
.g-row .wk{font-family:var(--mono);font-size:11.5px;color:var(--subtle);text-align:right}
.g-track{position:relative;height:22px;border-radius:6px;background:rgba(255,255,255,.03)}
.g-bar{position:absolute;top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--saffron));transition:left .5s var(--ease),width .5s var(--ease)}
.g-bar.care{background:repeating-linear-gradient(45deg,rgba(61,220,151,.35) 0 6px,rgba(61,220,151,.15) 6px 12px)}
.g-axis{display:grid;grid-template-columns:96px 1fr 58px;gap:12px;font-family:var(--mono);font-size:10.5px;color:var(--subtle)}
.g-axis div{display:flex;justify-content:space-between}
.est-note{margin-top:18px;font-size:12.5px;color:var(--subtle);line-height:1.55}
.est-out .btn{margin-top:18px;width:100%;height:50px}

/* payments */
.pay-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.pay-steps div{padding:22px;border-right:1px solid var(--line)}
.pay-steps div:last-child{border-right:0}
.pay-steps small{font-family:var(--mono);font-size:11px;color:var(--saffron)}
.pay-steps b{display:block;font-size:16px;margin-top:10px}
.pay-steps p{color:var(--muted);font-size:13.5px;margin-top:6px}
@media (max-width:860px){.pay-steps{grid-template-columns:1fr 1fr}.pay-steps div:nth-child(2){border-right:0}.pay-steps div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:520px){.pay-steps{grid-template-columns:1fr}.pay-steps div{border-right:0!important;border-bottom:1px solid var(--line)}}

/* ==========================================================================
   INFRASTRUCTURE — live architecture (assets/infra.js)
   ========================================================================== */
.infra{border:1px solid var(--line-2);border-radius:var(--r-xl);background:var(--surface);overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.infra-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.infra-btns{display:flex;flex-wrap:wrap;gap:8px}
.infra-btns .btn{height:36px;font-size:13px;padding:0 12px}
.infra-btns .btn[disabled]{opacity:.45;cursor:not-allowed}
.infra-stats{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}
.infra-stats div{padding:12px 16px;border-right:1px solid var(--line)}
.infra-stats div:last-child{border-right:0}
.infra-stats small{display:block;font-family:var(--mono);font-size:10px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.infra-stats b{display:block;font-family:var(--mono);font-size:18px;font-weight:500;margin-top:3px;font-variant-numeric:tabular-nums;transition:color .3s}
.infra-stats b.warn{color:var(--warn)}.infra-stats b.ok{color:var(--ok)}.infra-stats b.bad{color:var(--danger)}
@media (max-width:760px){.infra-stats{grid-template-columns:repeat(3,1fr)}.infra-stats div:nth-child(3){border-right:0}.infra-stats div:nth-child(-n+3){border-bottom:1px solid var(--line)}}
.infra-body{display:grid;grid-template-columns:1fr 300px}
@media (max-width:980px){.infra-body{grid-template-columns:1fr}}
.infra-stage{position:relative;padding:10px;min-width:0}
.infra-stage svg{width:100%;height:auto;display:block;overflow:visible}
.infra-side{border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
@media (max-width:980px){.infra-side{border-left:0;border-top:1px solid var(--line)}}
.infra-info{padding:18px;border-bottom:1px solid var(--line);min-height:170px}
.infra-info .k{font-family:var(--mono);font-size:10.5px;color:var(--saffron);text-transform:uppercase;letter-spacing:.1em}
.infra-info h4{font-size:18px;margin-top:6px;letter-spacing:-.02em}
.infra-info p{color:var(--muted);font-size:13.5px;margin-top:8px;line-height:1.55}
.infra-info .why{margin-top:10px;font-size:13px;color:var(--ink);display:flex;gap:8px}
.infra-info .why::before{content:'→';color:var(--ok)}
.infra-log{flex:1;padding:12px 16px;font-family:var(--mono);font-size:11.5px;line-height:1.75;color:var(--muted);overflow:auto;max-height:230px}
.infra-log .ok{color:var(--ok)}.infra-log .warn{color:var(--warn)}.infra-log .bad{color:var(--danger)}.infra-log .t{color:var(--subtle)}
.infra-foot{padding:10px 16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--subtle)}

/* svg pieces */
.inode{cursor:pointer}
.inode rect.box{fill:#121216;stroke:rgba(255,255,255,.16);stroke-width:1.2;transition:stroke .3s,fill .3s}
.inode:hover rect.box,.inode.sel rect.box{stroke:var(--saffron)}
.inode.sel rect.box{fill:#1A120D}
.inode.hot rect.box{stroke:var(--warn)}
.inode.down rect.box{stroke:var(--danger);fill:#1E0F10}
.inode.new rect.box{stroke:var(--ok)}
.inode text{fill:var(--ink);font-family:var(--sans);font-size:13px;font-weight:600}
.inode text.sub{fill:var(--subtle);font-family:var(--mono);font-size:9.5px;font-weight:400}
.inode text.ic{font-size:16px}
.inode .loadbg{fill:rgba(255,255,255,.06)}
.inode .load{fill:var(--ok);transition:width .4s,fill .3s}
.inode.ghost{opacity:0;pointer-events:none;transition:opacity .6s}
.inode.ghost.show{opacity:1;pointer-events:auto}
.iedge{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1.5}
.iedge.dash{stroke-dasharray:4 5}
.iedge.ghost{opacity:0;transition:opacity .6s}.iedge.ghost.show{opacity:1}
.iedge.cut{stroke:rgba(255,107,107,.35);stroke-dasharray:3 6}
.pk{fill:var(--saffron);filter:drop-shadow(0 0 4px rgba(255,106,26,.9))}
.pk.r{fill:var(--gold)}.pk.b{fill:var(--ok);filter:drop-shadow(0 0 4px rgba(61,220,151,.9))}
.infra-note{margin-top:14px;font-size:12.5px;color:var(--subtle);font-family:var(--mono)}
/* timeline: let columns shrink on narrow screens */
.tl-grid>*{min-width:0}
@media (max-width:980px){.tl-grid{grid-template-columns:minmax(0,1fr)}}
.tl-step .dur{flex-wrap:wrap;line-height:1.4}
.doc .money strong{font-size:14px}
.proto-foot{flex-wrap:wrap}

/* ==========================================================================
   SERVICES v2 — finder, live previews, industries
   ========================================================================== */
/* finder */
.finder{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:1px solid var(--line-2);border-radius:var(--r-xl);overflow:hidden;background:var(--surface)}
@media (max-width:980px){.finder{grid-template-columns:1fr}}
.finder-q{padding:28px;border-right:1px solid var(--line)}
@media (max-width:980px){.finder-q{border-right:0;border-bottom:1px solid var(--line)}}
.fq + .fq{margin-top:22px}
.fq h3{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--subtle);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;display:flex;gap:8px}
.fq h3 b{color:var(--saffron);font-weight:500}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchips button{padding:9px 14px;border:1px solid var(--line-2);border-radius:999px;font-size:13.5px;color:var(--muted);transition:all .15s}
.fchips button:hover{color:var(--ink);border-color:var(--subtle)}
.fchips button[aria-pressed="true"]{background:var(--saffron);border-color:var(--saffron);color:#140700;font-weight:500}
.finder-a{padding:28px;display:flex;flex-direction:column;background:linear-gradient(160deg,rgba(255,106,26,.07),transparent 60%)}
.finder-a .k{font-family:var(--mono);font-size:11px;color:var(--subtle);text-transform:uppercase;letter-spacing:.1em}
.finder-a h3{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.03em;margin-top:10px}
.finder-a h3 .serif{color:var(--saffron)}
.finder-a p{color:var(--muted);margin-top:10px;font-size:15px;line-height:1.6}
.finder-a ul{margin-top:14px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.finder-a li::before{content:'✓ ';color:var(--ok)}
.finder-a .btn-row{margin-top:auto;padding-top:22px}
.finder-a .empty{color:var(--subtle);font-size:15px;margin-top:10px}

/* service rows v2 */
.svc2{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;scroll-margin-top:90px}
.svc2.flip > :first-child{order:2}
@media (max-width:980px){.svc2{grid-template-columns:minmax(0,1fr);gap:28px}.svc2.flip > :first-child{order:0}}
.svc2 > *{min-width:0}
.svc2 .num{font-family:var(--mono);font-size:12px;color:var(--saffron)}
.svc2 h2{font-size:clamp(30px,3.8vw,46px);letter-spacing:-.04em;margin-top:12px}
.svc2 .lead{margin-top:14px}
.svc2 .pain-line{margin-top:18px;padding:13px 16px;border-left:2px solid var(--saffron);background:var(--saffron-soft);border-radius:0 10px 10px 0;font-size:14.5px}
.svc2 .ticks{margin-top:20px}
.svc2 .obj{margin-top:18px;font-size:14px;color:var(--muted);border-top:1px dashed var(--line-2);padding-top:14px}
.svc2 .obj b{color:var(--ink);font-weight:500}
.svc2 .btn-row{margin-top:22px}
.pv{border:1px solid var(--line-2);border-radius:var(--r-xl);background:var(--surface);overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.8);position:relative}
.pv-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line);background:var(--bg-2)}
.pv-bar i{width:9px;height:9px;border-radius:50%;background:#2A2A33}
.pv-bar i:nth-child(1){background:#FF5F57}.pv-bar i:nth-child(2){background:#FEBC2E}.pv-bar i:nth-child(3){background:#28C840}
.pv-bar span{margin-left:10px;font-family:var(--mono);font-size:11px;color:var(--subtle)}
.pv-bar .act{margin-left:auto}
.pv-body{padding:18px;min-height:300px;position:relative}
.pv-tag{position:absolute;right:12px;bottom:10px;font-family:var(--mono);font-size:10.5px;color:var(--subtle)}

/* website preview */
.site-pv{background:#F7F4EE;color:#1A1A1A;border-radius:10px;padding:16px;min-height:260px;position:relative;overflow:hidden}
.sp-nav{display:flex;justify-content:space-between;align-items:center}
.sp-logo,.sp-line,.sp-btn,.sp-h,.sp-card,.sp-img{transition:all .6s var(--ease)}
.sp-logo{width:70px;height:12px;border-radius:4px;background:#ddd}
.sp-links{display:flex;gap:8px}.sp-links i{width:28px;height:7px;border-radius:3px;background:#ddd;display:block;transition:background .6s}
.sp-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-top:22px;align-items:center}
.sp-h{height:16px;border-radius:4px;background:#ddd;margin-bottom:8px}
.sp-h.s{width:70%}
.sp-line{height:7px;border-radius:3px;background:#e6e6e6;margin-top:6px}
.sp-btn{margin-top:12px;width:96px;height:24px;border-radius:7px;background:#ddd}
.sp-img{height:96px;border-radius:10px;background:#e3e3e3}
.sp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.sp-card{height:46px;border-radius:8px;background:#ececec}
.site-pv.styled .sp-logo{background:#1A1A1A;width:84px}
.site-pv.styled .sp-links i{background:#1A1A1A55}
.site-pv.styled .sp-h{background:#1A1A1A}
.site-pv.styled .sp-h.s{background:#FF6A1A}
.site-pv.styled .sp-btn{background:#FF6A1A;box-shadow:0 6px 16px -4px rgba(255,106,26,.6)}
.site-pv.styled .sp-img{background:linear-gradient(135deg,#FFB020,#FF6A1A)}
.site-pv.styled .sp-card{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.toast{position:absolute;right:12px;top:12px;background:#fff;color:#1A1A1A;border-radius:10px;padding:9px 12px;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);display:flex;gap:8px;align-items:center;transform:translateY(-140%);opacity:0;transition:all .5s var(--ease)}
.toast.on{transform:none;opacity:1}
.toast b{display:block;font-size:12.5px}
.toast .g{width:24px;height:24px;border-radius:7px;background:#25D366;display:grid;place-items:center;color:#fff;font-size:13px;flex-shrink:0}
.pv-stats{display:flex;gap:16px;margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--muted)}
.pv-stats b{color:var(--ink);font-weight:500}

/* app preview */
.mini-phone{width:210px;height:380px;margin:0 auto;border:8px solid #1B1B20;border-radius:34px;background:#F7F5F0;color:#151515;position:relative;overflow:hidden;box-shadow:0 0 0 1px var(--line-2)}
.mini-phone .push{position:absolute;left:8px;right:8px;top:8px;z-index:3;background:rgba(255,255,255,.96);border-radius:14px;padding:9px 10px;font-size:11px;box-shadow:0 8px 24px rgba(0,0,0,.18);display:flex;gap:8px;transform:translateY(-130%);transition:transform .5s var(--ease)}
.mini-phone .push.on{transform:none}
.mini-phone .push img{width:26px;height:26px;border-radius:7px;background:#2A1A12;object-fit:cover;object-position:50% 15%}
.mini-phone .push b{display:block;font-size:11.5px}
.mp-body{padding:34px 12px 12px}
.mp-body h6{font-size:15px;font-weight:700}
.mp-body .s{font-size:10.5px;color:#86827A}
.mp-items{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.mp-item{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:8px;font-size:12px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.mp-item .e{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:18px;background:#F3E6C9}
.mp-item b{display:block;font-size:12px}
.mp-item button{margin-left:auto;width:24px;height:24px;border-radius:7px;background:#FF6A1A;color:#fff;font-weight:700}
.mp-cta{position:absolute;left:12px;right:12px;bottom:12px;height:40px;border-radius:12px;background:#151515;color:#fff;font-size:12.5px;font-weight:600}
.mp-cta:disabled{opacity:.4}

/* ERP ask */
.ask-q{display:flex;flex-wrap:wrap;gap:8px}
.ask-q button{padding:8px 12px;border-radius:999px;border:1px solid var(--line-2);font-size:13px;color:var(--muted);transition:all .15s}
.ask-q button:hover,.ask-q button.on{color:var(--ink);border-color:var(--saffron-ring);background:var(--saffron-soft)}
.ask-a{margin-top:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);padding:16px;min-height:190px}
.ask-a .big{font-size:30px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ask-a .cap{font-size:12.5px;color:var(--subtle);font-family:var(--mono)}
.ask-rows{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.ask-rows div{display:flex;justify-content:space-between;font-size:13px;padding:7px 10px;border-radius:8px;background:var(--surface)}
.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--subtle);animation:tp 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{50%{opacity:.2;transform:translateY(-3px)}}

/* automation loop */
.auto-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media (max-width:560px){.auto-row{grid-template-columns:1fr 1fr}}
.auto-n{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg-2);font-size:12.5px;transition:all .3s var(--ease)}
.auto-n .i{font-size:18px}
.auto-n b{display:block;margin-top:6px;font-size:13px}
.auto-n span{display:block;color:var(--subtle);font-family:var(--mono);font-size:10.5px;margin-top:2px}
.auto-n.run{border-color:var(--saffron);background:var(--saffron-soft);transform:translateY(-2px)}
.auto-n.ok{border-color:rgba(61,220,151,.45)}
.auto-meter{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.auto-meter div{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg-2)}
.auto-meter small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.auto-meter b{display:block;font-size:24px;font-weight:600;letter-spacing:-.03em;margin-top:4px;font-variant-numeric:tabular-nums}

/* design morph */
.morph{position:relative;height:270px;border-radius:12px;overflow:hidden;background:#fff;color:#151515}
.morph .lay{position:absolute;inset:0;padding:16px;transition:opacity .6s var(--ease),transform .6s var(--ease)}
.morph .wire{background:#FAFAFA}
.morph .wire *{border:1.5px dashed #BDBDBD;border-radius:8px}
.morph .ui{background:linear-gradient(160deg,#FFF8F0,#FFF);opacity:0;transform:scale(1.02)}
.morph.done .wire{opacity:0;transform:scale(.98)}
.morph.done .ui{opacity:1;transform:none}
.mrow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.mtop{height:34px}.mhero{height:84px;margin-top:10px}.mcard{height:58px}
.ui .mtop{display:flex;align-items:center;justify-content:space-between;padding:0 4px}
.ui .mtop b{font-size:14px}.ui .mtop span{font-size:11px;background:#151515;color:#fff;padding:5px 9px;border-radius:999px}
.ui .mhero{border-radius:12px;background:linear-gradient(135deg,#FFB020,#FF6A1A);color:#fff;padding:12px;display:flex;flex-direction:column;justify-content:flex-end}
.ui .mhero b{font-size:16px}.ui .mhero small{font-size:11px;opacity:.9}
.ui .mcard{border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.07);padding:9px;font-size:11px}
.ui .mcard b{display:block;font-size:14px}
.seg2{display:inline-flex;border:1px solid var(--line-2);border-radius:9px;overflow:hidden}
.seg2 button{padding:6px 12px;font-size:12px;color:var(--muted)}
.seg2 button.on{background:var(--saffron);color:#140700;font-weight:500}

/* rescue */
.speed{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.gauge{width:130px;height:130px;position:relative}
.gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.gauge .bgc{fill:none;stroke:var(--line-2);stroke-width:10}
.gauge .fg{fill:none;stroke:var(--danger);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.6s var(--ease),stroke .6s}
.gauge .val{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.gauge .val b{font-size:26px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.gauge .val small{display:block;font-family:var(--mono);font-size:10px;color:var(--subtle)}
.fixes{display:flex;flex-direction:column;gap:6px;font-size:13px}
.fixes div{display:flex;gap:8px;align-items:center;color:var(--subtle);transition:color .3s}
.fixes div i{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line-2);flex-shrink:0;transition:all .3s}
.fixes div.ok{color:var(--ink)}.fixes div.ok i{background:var(--ok);border-color:var(--ok)}

/* industries */
.ind-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.ind-tabs button{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line-2);border-radius:12px;font-size:14px;color:var(--muted);transition:all .15s}
.ind-tabs button[aria-selected="true"]{border-color:var(--saffron);background:var(--saffron-soft);color:var(--ink)}
.ind-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:860px){.ind-panel{grid-template-columns:1fr}}
.ind-panel .pad h3{font-size:22px}
.ind-pains{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.ind-pains div{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.3;color:var(--ink)}
.ind-pains div::before{content:'“';color:var(--saffron)}
.ind-pains div::after{content:'”';color:var(--saffron)}
.ind-build{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.ind-build div{display:grid;grid-template-columns:28px 1fr;gap:10px;font-size:14.5px}
.ind-build div span:first-child{font-size:18px}
.ind-build b{display:block;font-weight:600}
.ind-build small{color:var(--muted);font-size:13px}

/* ==========================================================================
   SERVICES v3 — minimal · techy · sales
   ========================================================================== */
.s3-hero{padding:96px 0 56px}
.s3-hero h1{font-size:clamp(40px,6vw,76px);line-height:1;letter-spacing:-.045em;max-width:15ch;margin-top:22px}
.s3-hero h1 .dim{color:var(--subtle)}
.s3-hero .lead{margin-top:20px;max-width:52ch}
.s3-hero .btn-row{margin-top:28px}
.s3-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:30px;font-family:var(--mono);font-size:12px;color:var(--subtle)}
.s3-meta b{color:var(--ink);font-weight:500}

.s3-list{border-top:1px solid var(--line-2)}
.s3-row{border-bottom:1px solid var(--line);scroll-margin-top:90px;position:relative}
.s3-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--saffron);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.s3-row:hover::before,.s3-row.open::before{transform:scaleY(1)}
.s3-head{width:100%;display:grid;grid-template-columns:64px 1.1fr 1.4fr auto 28px;gap:24px;align-items:center;padding:26px 8px 26px 20px;text-align:left;cursor:pointer}
.s3-n{font-family:var(--mono);font-size:12px;color:var(--subtle);transition:color .2s}
.s3-row:hover .s3-n,.s3-row.open .s3-n{color:var(--saffron)}
.s3-name{font-size:clamp(20px,2.2vw,26px);font-weight:600;letter-spacing:-.03em}
.s3-out{color:var(--muted);font-size:15px;line-height:1.5}
.s3-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.s3-tags span{font-family:var(--mono);font-size:11px;color:var(--subtle);border:1px solid var(--line);border-radius:6px;padding:3px 7px;white-space:nowrap}
.s3-plus{width:28px;height:28px;border:1px solid var(--line-2);border-radius:8px;display:grid;place-items:center;font-family:var(--mono);color:var(--muted);transition:transform .3s var(--ease),color .2s,border-color .2s}
.s3-row.open .s3-plus{transform:rotate(45deg);color:var(--saffron);border-color:var(--saffron-ring)}
.s3-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.s3-row.open .s3-body{grid-template-rows:1fr}
.s3-body > div{overflow:hidden}
.s3-inner{display:grid;grid-template-columns:64px 1.1fr 1.4fr;gap:24px;padding:0 8px 30px 20px}
.s3-pain{grid-column:2;font-size:15px;color:var(--ink);line-height:1.55}
.s3-pain small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--subtle);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.s3-spec{grid-column:3;display:flex;flex-direction:column;gap:14px}
.s3-incl{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.s3-incl li::before{content:'+ ';color:var(--saffron)}
.s3-kv{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.s3-kv div{padding:10px 12px;border-right:1px solid var(--line)}
.s3-kv div:last-child{border-right:0}
.s3-kv small{display:block;font-family:var(--mono);font-size:10px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.s3-kv b{display:block;font-size:13.5px;font-weight:500;margin-top:3px}
.s3-cta{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:980px){
  .s3-head{grid-template-columns:44px 1fr 28px;gap:12px 14px;padding:22px 4px 22px 14px}
  .s3-out{grid-column:2}
  .s3-tags{grid-column:2;justify-content:flex-start}
  .s3-plus{grid-row:1;grid-column:3}
  .s3-inner{grid-template-columns:1fr;padding:0 4px 26px 14px}
  .s3-pain,.s3-spec{grid-column:1}
  .s3-incl{grid-template-columns:1fr}
}
@media (max-width:520px){.s3-kv{grid-template-columns:1fr}.s3-kv div{border-right:0;border-bottom:1px solid var(--line)}.s3-kv div:last-child{border-bottom:0}}

/* promise "config" */
.s3-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media (max-width:900px){.s3-split{grid-template-columns:1fr;gap:28px}}
.codecard{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--bg-2);overflow:hidden}
.codecard .bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--line)}
.codecard .bar i{width:9px;height:9px;border-radius:50%;background:#2A2A33}
.codecard .bar i:nth-child(1){background:#FF5F57}.codecard .bar i:nth-child(2){background:#FEBC2E}.codecard .bar i:nth-child(3){background:#28C840}
.codecard .bar span{margin-left:8px;font-family:var(--mono);font-size:11px;color:var(--subtle)}
.codecard pre{padding:20px 22px;font-family:var(--mono);font-size:13.5px;line-height:1.85;color:var(--ink);overflow-x:auto}
.c-k{color:#FF7B72}.c-p{color:#79C0FF}.c-s{color:#A5D6FF}.c-c{color:var(--subtle)}.c-b{color:var(--ok)}

.s3-vs{width:100%;border-collapse:collapse;font-size:14.5px}
.s3-vs th,.s3-vs td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}
.s3-vs th{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.s3-vs td:first-child{color:var(--muted)}
.s3-vs .us{color:var(--ink)}
.s3-vs th.us{color:var(--saffron)}
.s3-vs td.us::before{content:'✓ ';color:var(--ok)}

/* ==========================================================================
   SERVICES v4 — "A day in your business" isometric town
   ========================================================================== */
.day{border:1px solid var(--line-2);border-radius:var(--r-xl);overflow:hidden;background:var(--surface);box-shadow:0 40px 100px -40px rgba(0,0,0,.85)}
.day-grid{display:grid;grid-template-columns:1.35fr 1fr}
@media (max-width:1040px){.day-grid{grid-template-columns:1fr}}
.town{position:relative;min-height:440px;overflow:hidden;--sky1:#1b130c;--sky2:#0d0c10;background:linear-gradient(180deg,var(--sky1),var(--sky2) 70%);transition:background 1.2s var(--ease)}
.town svg{position:relative;z-index:1;width:100%;height:100%;display:block}
.town .sun{position:absolute;z-index:0;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle,#FFE2A8,#FFB020 55%,rgba(255,176,32,0) 72%);filter:blur(.5px);transition:left 1.2s var(--ease),top 1.2s var(--ease),opacity 1s,background 1s}
.town .stars{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity 1.2s;background-image:radial-gradient(1px 1px at 12% 18%,#fff8,transparent),radial-gradient(1px 1px at 32% 8%,#fff6,transparent),radial-gradient(1px 1px at 58% 22%,#fff7,transparent),radial-gradient(1px 1px at 76% 12%,#fff5,transparent),radial-gradient(1px 1px at 88% 30%,#fff6,transparent),radial-gradient(1px 1px at 44% 30%,#fff4,transparent)}
.town.night .stars{opacity:1}
.town .clock{position:absolute;z-index:2;left:18px;top:14px;font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}
.town .clock b{font-size:22px;color:var(--ink);font-weight:500;letter-spacing:-.02em}

/* iso shapes */
.tile{fill:rgba(255,255,255,.018);stroke:rgba(255,255,255,.05);stroke-width:1}
.road{fill:#15151B;stroke:rgba(255,255,255,.06)}
.road-dash{stroke:rgba(255,255,255,.18);stroke-dasharray:5 7;stroke-width:1.2;fill:none}
.bld{cursor:pointer;transition:opacity .5s var(--ease),filter .5s}
.bld .t{fill:#2A2A33}.bld .l{fill:#1D1D24}.bld .r{fill:#15151B}
.bld .t,.bld .l,.bld .r{stroke:rgba(255,255,255,.12);stroke-width:1;stroke-linejoin:round;transition:fill .5s,stroke .5s}
.bld .win{fill:rgba(255,255,255,.06);transition:fill .6s}
.town.night .bld .win{fill:rgba(255,176,32,.35)}
.bld.dim{opacity:.45}
.bld.on{filter:drop-shadow(0 0 14px rgba(255,106,26,.55))}
.bld.on .t{fill:#5A2C12;stroke:var(--saffron)}
.bld.on .l{fill:#3A1D0D;stroke:var(--saffron)}
.bld.on .r{fill:#2A150A;stroke:var(--saffron)}
.bld.on .win{fill:rgba(255,190,90,.8)}
.bld:hover:not(.on){opacity:.85}
.bld .awn{fill:var(--saffron);opacity:.75}
.lbl{font-family:var(--mono);font-size:11px;fill:var(--subtle);text-anchor:middle;pointer-events:none;transition:fill .4s}
.lbl.on{fill:var(--ink)}
.pin{transition:opacity .4s,transform .4s}
.pin circle{fill:var(--saffron)}
.flow-dot{fill:var(--gold);filter:drop-shadow(0 0 5px rgba(255,176,32,.95))}
.van .t{fill:#3A3A44}.van .l{fill:#2A2A33}.van .r{fill:#202027}
.van .t,.van .l,.van .r{stroke:rgba(255,255,255,.18);stroke-width:1}
.van.on .t{fill:var(--saffron)}.van.on .l{fill:#C24A08}.van.on .r{fill:#8F3606}

/* event card */
.ev{padding:28px;display:flex;flex-direction:column;border-left:1px solid var(--line);min-height:440px}
@media (max-width:1040px){.ev{border-left:0;border-top:1px solid var(--line);min-height:0}}
.ev-time{font-family:var(--mono);font-size:12px;color:var(--saffron);display:flex;gap:10px;align-items:center}
.ev-time .ev-svc{color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:3px 9px}
.ev h3{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.035em;margin-top:14px;line-height:1.1}
.ev p{color:var(--muted);margin-top:12px;font-size:15.5px;line-height:1.6}
.ev ul{margin-top:14px;display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.ev li::before{content:'+ ';color:var(--saffron)}
.ev .btn-row{margin-top:auto;padding-top:22px}
.ev-body{animation:evin .45s var(--ease)}
@keyframes evin{from{opacity:0;transform:translateY(8px)}}

/* timeline */
.dayline{display:flex;align-items:center;gap:14px;padding:16px 18px;border-top:1px solid var(--line);background:var(--bg-2)}
.play{width:40px;height:40px;border-radius:10px;border:1px solid var(--line-2);display:grid;place-items:center;flex-shrink:0;color:var(--ink);transition:border-color .2s,background .2s}
.play:hover{border-color:var(--saffron);background:var(--saffron-soft)}
.stops{position:relative;flex:1;display:flex;justify-content:space-between;align-items:center;min-width:0}
.stops::before{content:'';position:absolute;left:8px;right:8px;top:50%;height:2px;background:var(--line-2);transform:translateY(-50%)}
.stops .fill{position:absolute;left:8px;top:50%;height:2px;background:linear-gradient(90deg,var(--gold),var(--saffron));transform:translateY(-50%);transition:width .6s var(--ease);box-shadow:0 0 10px rgba(255,106,26,.6)}
.stop{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 2px}
.stop i{width:14px;height:14px;border-radius:50%;background:var(--bg-2);border:2px solid var(--line-2);transition:all .3s}
.stop span{font-family:var(--mono);font-size:11px;color:var(--subtle);transition:color .3s;position:absolute;top:20px;white-space:nowrap}
.stop.done i{background:var(--saffron);border-color:var(--saffron)}
.stop.on i{background:var(--saffron);border-color:var(--saffron);box-shadow:0 0 0 5px var(--saffron-soft);transform:scale(1.15)}
.stop.on span{color:var(--ink)}
.dayline{padding-bottom:30px}
@media (max-width:640px){.stop span{font-size:9.5px}}

.svc-index{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.svc-index button{font-family:var(--mono);font-size:12px;padding:7px 12px;border:1px solid var(--line-2);border-radius:999px;color:var(--muted);transition:all .15s}
.svc-index button:hover,.svc-index button.on{color:var(--ink);border-color:var(--saffron-ring);background:var(--saffron-soft)}
.ev{text-align:left}
.ev .btn-row{justify-content:flex-start}

/* ==========================================================================
   SERVICES v5 — storytelling: Rajesh's day, before vs after
   ========================================================================== */
.bld.bad{filter:drop-shadow(0 0 14px rgba(255,80,80,.55))}
.bld.bad .t{fill:#4A1416;stroke:var(--danger)}
.bld.bad .l{fill:#33100F;stroke:var(--danger)}
.bld.bad .r{fill:#240B0B;stroke:var(--danger)}
.bld.bad .win{fill:rgba(255,107,107,.55);animation:flick .5s steps(2) infinite}
@keyframes flick{50%{fill:rgba(255,107,107,.15)}}
.alarm{opacity:0;transition:opacity .3s}
.alarm.on{opacity:1}
.alarm circle{fill:var(--danger)}
.alarm text{fill:#fff;font-family:var(--sans);font-weight:800;font-size:15px;text-anchor:middle}
.town.chaos{--sky1:#2A0E10 !important}

.ch-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;color:var(--subtle)}
.ch-top b{color:var(--saffron);font-weight:500}
.ab{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;overflow:hidden}
.ab button{padding:5px 11px;font-family:var(--mono);font-size:11px;color:var(--subtle);transition:all .2s}
.ab button.on.b{background:rgba(255,107,107,.16);color:var(--danger)}
.ab button.on.a{background:var(--saffron);color:#140700}
.ev h3{margin-top:12px}
.beat{margin-top:16px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.beat small{display:block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.beat p{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}
.beat.before{border-color:rgba(255,107,107,.28);background:rgba(255,107,107,.05)}
.beat.before small{color:var(--danger)}
.beat.after{border-color:var(--saffron-ring);background:var(--saffron-soft)}
.beat.after small{color:var(--saffron)}
.beat .cost{display:inline-block;margin-top:8px;font-family:var(--mono);font-size:11.5px;color:var(--danger)}
.beat .win2{display:inline-block;margin-top:8px;font-family:var(--mono);font-size:11.5px;color:var(--ok)}
.beat.hide{opacity:0;transform:translateY(8px);pointer-events:none}
.ev .svc-line{margin-top:14px;font-family:var(--mono);font-size:11.5px;color:var(--subtle)}
.ev .svc-line b{color:var(--ink);font-weight:500}
.ev.intro h3,.ev.finale h3{font-size:clamp(26px,2.8vw,36px)}
.ev.intro p,.ev.finale p{color:var(--muted);margin-top:12px;font-size:15.5px;line-height:1.65}
.fin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.fin-grid div{border:1px solid var(--line-2);border-radius:12px;padding:12px;background:var(--bg-2)}
.fin-grid small{display:block;font-family:var(--mono);font-size:10px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.fin-grid b{display:block;font-size:22px;font-weight:600;letter-spacing:-.03em;margin-top:4px;color:var(--ok)}

/* scoreboard */
.score{display:grid;grid-template-columns:auto repeat(3,1fr);border-top:1px solid var(--line);background:var(--bg-2)}
.score > *{padding:12px 18px;border-left:1px solid var(--line)}
.score > :first-child{border-left:0;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.score > :first-child img{width:26px;height:26px}
.score small{display:block;font-family:var(--mono);font-size:10px;color:var(--subtle);text-transform:uppercase;letter-spacing:.08em}
.score b{display:block;font-size:20px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);transition:color .4s}
.score b.bump{color:var(--ok)}
@media (max-width:760px){.score{grid-template-columns:repeat(3,1fr)}.score > :first-child{display:none}.score > :nth-child(2){border-left:0}.score > *{padding:10px 12px}.score b{font-size:16px}}
.stop.cap i{border-radius:4px}

/* ==========================================================================
   REGION — <html data-region="in|intl"> is set in <head> before paint.
   No JS (no attribute) → the India version shows, as before.
   ========================================================================== */
html[data-region="intl"] .only-in,html:not([data-region="intl"]) .only-intl{display:none!important}
.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}

/* currency switch (footer, every page) */
.cur-switch,.cur-opts{display:inline-flex;align-items:center;gap:6px}
html:not(.js) .cur-switch{display:none}
.cur-l{margin-right:4px;color:var(--muted)}
.cur-switch label{position:relative;cursor:pointer}
.cur-switch input{position:absolute;opacity:0;pointer-events:none}
.cur-switch label > span{display:inline-flex;padding:4px 10px;border:1px solid var(--line-2);border-radius:999px;color:var(--muted);transition:color .15s,border-color .15s,background .15s}
.cur-switch label:hover > span{color:var(--ink);border-color:var(--subtle)}
.cur-switch input:checked + span{background:var(--saffron);border-color:var(--saffron);color:#140700;font-weight:500}
.cur-switch input:focus-visible + span{outline:2px solid var(--saffron);outline-offset:2px}

/* contact: Ahmedabad clock */
.cway .tz-clock{margin-top:6px;font-family:var(--mono);font-size:12px;color:var(--muted)}
.cway .tz-clock[hidden]{display:none}

/* demos phone: an empty cart shows no "0" bubble (display:grid above overrode [hidden]) */
.tabbar .badge[hidden]{display:none}
