/* sahaibatdok.com — marketing site styles. Source: marketing/assets/dok.css,
   copied to public/site/ by marketing/build.mjs. Tokens follow sahaibat.com. */
:root{
  --paper:#F7F2E8;--paper-2:#EEE6D6;--card:#FFFDF8;--ink:#122E2D;--ink-2:#4B605C;--ink-3:#7A8A85;
  --forest:#0B2F30;--forest-2:#0F3D3E;--forest-3:#15504F;--care:#12705A;--mint:#21AF85;--mint-l:#7FE0BE;
  --coral:#DC937F;--amber:#B7791F;--amber-bg:#FFF4DE;--red:#B4442F;--red-bg:#FCE9E4;--ok-bg:#E3F5EC;
  --on-dark:#EFE9DD;--on-dark-2:#B9CCC5;--line:rgba(18,46,45,.13);--line-d:rgba(239,233,221,.14);
  --serif:"IBM Plex Serif",Georgia,serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --gold:#C9A14A;--sogan:#7A4E2D;
  --r:18px;--shadow:0 30px 80px -30px rgba(5,30,28,.45),0 8px 24px -12px rgba(5,30,28,.25);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;line-height:1.1;margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding-inline:max(16px,env(safe-area-inset-left))}
.k{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--care)}
.dark .k{color:var(--mint-l)}
.lead{font-size:1.12rem;color:var(--ink-2);max-width:62ch}
.dark .lead{color:var(--on-dark-2)}
.sec{padding-block:clamp(64px,9vw,112px)}
.sec h2{font-size:clamp(1.9rem,3.8vw,3rem)}
.head{display:flex;flex-direction:column;gap:14px;max-width:780px;margin-bottom:40px}
.dark{background:var(--forest);color:var(--on-dark)}
.dark h2,.dark h3{color:#fff}
.sk{position:absolute;left:-9999px}.sk:focus{left:16px;top:12px;z-index:99;background:#fff;padding:8px 12px;border-radius:8px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:999px;font-weight:600;font-size:.98rem;text-decoration:none;cursor:pointer;border:1px solid transparent;font-family:var(--sans);transition:transform .15s ease,background .15s ease,box-shadow .15s ease;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn-go{background:var(--mint);color:#062420;box-shadow:0 10px 30px -10px rgba(33,175,133,.8)}
.btn-go:hover{background:#2bc394}
.btn-dark{background:var(--forest);color:#fff}
.btn-ghost{border-color:currentColor;background:transparent}
.dark .btn-ghost{color:var(--on-dark)}
.btn-sm{min-height:40px;padding:0 16px;font-size:.88rem}
.btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fine{font-size:.82rem;color:var(--ink-3)}
.dark .fine{color:var(--on-dark-2)}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,47,48,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line-d);color:var(--on-dark)}
.nav .wrap{display:flex;align-items:center;gap:6px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;margin-right:14px}
.logo svg{width:30px;height:30px}
.logo b{font-size:1.05rem;letter-spacing:-.01em;white-space:nowrap}
.logo b em{font-style:normal;color:var(--mint)}
.logo span{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;color:var(--mint-l);border:1px solid var(--line-d);border-radius:6px;padding:2px 6px}
.nav a.l{text-decoration:none;font-size:.9rem;padding:8px 10px;border-radius:8px;color:var(--on-dark-2)}
.nav a.l:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav .sp{flex:1}
.nav .lang{font-family:var(--mono);font-size:.72rem;text-decoration:none;border:1px solid var(--line-d);border-radius:999px;padding:5px 10px;color:var(--on-dark-2)}
.nav .login{font-size:.9rem;text-decoration:none;color:var(--on-dark);padding:8px 10px}
@media (max-width:1020px){.nav a.l{display:none}}
@media (max-width:400px){.logo b{font-size:.92rem}.logo{margin-right:4px}.nav .btn{padding:0 11px;font-size:.78rem}.nav .lang{padding:4px 7px}}
@media (max-width:560px){.nav .login{display:none}.nav .btn{min-height:40px;padding:0 14px;font-size:.84rem}.logo span{display:none}}

/* sticky mobile CTA */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px max(12px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));background:rgba(11,47,48,.96);border-top:1px solid var(--line-d);display:none;gap:8px;transform:translateY(110%);transition:transform .25s ease}
.mcta.on{transform:none}
.mcta .btn{flex:1;min-height:46px}
.mcta .btn-ghost{flex:0 0 auto;color:var(--on-dark)}
@media (max-width:760px){.mcta{display:flex}body{padding-bottom:76px}}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 600px at 85% 10%,rgba(33,175,133,.20),transparent 60%),radial-gradient(900px 500px at 0% 100%,rgba(127,224,190,.10),transparent 60%),var(--forest);color:var(--on-dark);padding-block:clamp(44px,7vw,84px) clamp(56px,8vw,96px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(28px,4vw,56px);align-items:center}
.hero h1{font-size:clamp(2.5rem,6.2vw,4.6rem);color:#fff;line-height:1.02}
.hero h1 em{font-style:italic;color:var(--mint-l)}
.hero .lead{font-size:clamp(1.05rem,1.6vw,1.22rem);margin-top:18px;color:var(--on-dark-2)}
.hero .k{color:var(--mint-l)}
.hero .btns{margin-top:26px}
.offer-strip{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.offer-strip span{font-size:.82rem;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line-d);color:var(--on-dark)}
.offer-strip b{color:var(--mint-l);font-weight:600}
.trust{margin-top:26px;display:flex;flex-wrap:wrap;gap:16px 22px;align-items:center;font-size:.78rem;color:var(--on-dark-2)}
.trust div{display:flex;flex-direction:column;line-height:1.25}
.trust b{color:#fff;font-weight:600;font-size:.84rem}
@media (max-width:920px){.hero .wrap{grid-template-columns:1fr}}

/* the app frame used by the hero and the demo */
.frame{position:relative;background:#F9F7F2;color:var(--ink);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.frame-bar{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#E9E4D8;border-bottom:1px solid var(--line);font-size:.74rem;color:var(--ink-3)}
.frame-bar i{width:10px;height:10px;border-radius:50%;background:#D9D2C3;display:inline-block}
.frame-bar .url{margin-left:8px;background:#F9F7F2;border-radius:6px;padding:3px 10px;font-family:var(--mono);flex:1;max-width:340px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.frame-bar .tag{margin-left:auto;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;background:var(--amber-bg);color:var(--amber);padding:2px 8px;border-radius:999px}

/* hero stack of EMR cards */
.stack{position:relative;min-height:440px}
.stack .frame{position:absolute;inset:0 0 auto 0}
.hcard{position:absolute;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -20px rgba(5,30,28,.5);padding:14px 16px;font-size:.84rem}
.hcard h4{font-family:var(--sans);font-weight:600;font-size:.86rem;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.hcard .row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;color:var(--ink-2)}
.hcard .row b{color:var(--ink);font-weight:600}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--ok-bg);color:var(--care);white-space:nowrap}
.pill.warn{background:var(--amber-bg);color:var(--amber)}
.pill.bad{background:var(--red-bg);color:var(--red)}
.pill.ghost{background:transparent;border:1px solid var(--line);color:var(--ink-2)}
.hc-patient{top:56px;left:-4%;width:58%}
.hc-soap{top:120px;right:-2%;width:64%}
.hc-rx{top:300px;left:4%;width:50%}
.hc-sent{top:330px;right:-2%;width:40%}
.stack .frame{height:400px}
.stack .frame .ghostui{padding:16px;display:grid;grid-template-columns:120px 1fr;gap:14px;height:100%}
.ghostui .side{display:flex;flex-direction:column;gap:8px}
.ghostui .side i,.ghostui .main i{display:block;height:10px;border-radius:5px;background:#E6E0D3}
.ghostui .main{display:flex;flex-direction:column;gap:10px}
.ghostui .main i:nth-child(odd){width:80%}
@media (max-width:920px){.stack{min-height:460px;margin-top:8px}.hc-patient{left:0;width:70%}.hc-soap{right:0;width:74%;top:150px}.hc-rx{left:0;width:68%;top:310px}.hc-sent{right:0;width:52%;top:380px}}
@media (max-width:480px){.stack{min-height:500px}.hcard{font-size:.78rem;padding:11px 12px}.hc-patient{width:84%}.hc-soap{width:86%;top:150px}.hc-rx{width:80%;top:330px}.hc-sent{width:64%;top:420px}}

/* persona chooser */
.persona{background:var(--forest-2);color:var(--on-dark);border-top:1px solid var(--line-d)}
.persona .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-block:16px}
.persona .k{color:var(--mint-l);margin-right:6px}
.chip{font:inherit;font-size:.88rem;padding:9px 15px;border-radius:999px;border:1px solid var(--line-d);background:rgba(255,255,255,.04);color:var(--on-dark);cursor:pointer;transition:background .15s,border-color .15s}
.chip:hover{border-color:var(--mint-l)}
.chip[aria-pressed="true"]{background:var(--mint);color:#062420;border-color:var(--mint)}
.persona-out{width:100%;display:none;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:4px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid var(--line-d)}
.persona-out.on{display:flex}
.persona-out p{color:var(--on-dark);max-width:70ch}

/* EMR demo */
.demo-sec{background:linear-gradient(180deg,var(--forest) 0,var(--forest) 38%,var(--paper) 38%)}
.demo-sec .head{color:var(--on-dark)}
.demo-sec .head h2{color:#fff}
.demo-sec .head .lead{color:var(--on-dark-2)}
.steps{list-style:none;margin:0 0 14px;padding:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.steps::-webkit-scrollbar{display:none}
.steps li{flex:1 0 auto}
.steps button{width:100%;font:inherit;font-size:.8rem;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--line-d);background:rgba(255,255,255,.05);color:var(--on-dark-2);cursor:pointer;white-space:nowrap}
.steps button b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.1);font-size:.72rem;color:#fff}
.steps button[aria-current="step"]{background:var(--mint);color:#062420;border-color:var(--mint)}
.steps button[aria-current="step"] b{background:#062420;color:var(--mint)}
.steps button.done{color:#fff}
.steps button.done b{background:var(--care)}
.emr{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:560px}
.emr-side{background:#EFEBE2;border-right:1px solid var(--line);padding:14px 10px;display:flex;flex-direction:column;gap:2px;font-size:.86rem}
.emr-side .clinic{padding:6px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:8px}
.emr-side .clinic b{display:block;font-size:.9rem}
.emr-side .clinic span{font-size:.72rem;color:var(--ink-3)}
.emr-side a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;text-decoration:none;color:var(--ink-2)}
.emr-side a.on{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 0 var(--line)}
.emr-side a svg{width:16px;height:16px;flex:0 0 auto}
.emr-main{padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.emr-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.emr-top h3{font-family:var(--sans);font-weight:600;font-size:1.05rem}
.panel{display:flex;flex-direction:column;gap:14px;animation:pin .35s ease both}
/* without JS every step is shown in order, so the content stays readable */
.js .demo.live .panel{display:none}
.js .demo.live .panel.on{display:flex}
.panel+.panel{border-top:1px dashed var(--line);padding-top:14px}
.js .demo.live .panel+.panel{border-top:0;padding-top:0}
@keyframes pin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.box h4{font-family:var(--sans);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:8px}
.q{width:100%;border-collapse:collapse;font-size:.88rem}
.q th{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-weight:600}
.q td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.q tr:last-child td{border-bottom:0}
.q tr.hl{background:color-mix(in srgb,var(--mint) 10%,transparent)}
.q .no{font-family:var(--mono);font-weight:600}
.pt{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.pt .av{width:44px;height:44px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-weight:600}
.pt b{font-size:1rem}
.pt .meta{font-size:.82rem;color:var(--ink-3)}
.rec{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rec .dot{width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(180,68,47,.5)}
.rec.live .dot{animation:pulse 1.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(180,68,47,0)}100%{box-shadow:0 0 0 0 rgba(180,68,47,0)}}
.rec .time{font-family:var(--mono);font-size:.9rem}
.wave{display:flex;align-items:center;gap:3px;height:26px}
.wave i{width:3px;border-radius:2px;background:var(--care);height:30%;transition:height .12s}
.rec.live .wave i{animation:wv 1s ease-in-out infinite}
.wave i:nth-child(2n){animation-delay:.15s!important}.wave i:nth-child(3n){animation-delay:.3s!important}.wave i:nth-child(5n){animation-delay:.45s!important}
@keyframes wv{0%,100%{height:25%}50%{height:95%}}
.tx{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto;font-size:.9rem}
.tx p{padding:8px 12px;border-radius:12px;max-width:85%;animation:pin .3s ease both}
.tx .d{background:#E6F0EC;align-self:flex-start}
.tx .p{background:#F1ECE2;align-self:flex-end}
.tx p small{display:block;font-size:.68rem;color:var(--ink-3);font-weight:600;letter-spacing:.04em}
.soap{display:grid;gap:10px}
.soap .s{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
.soap .s>b{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--forest-2);color:#fff;font-family:var(--mono)}
.soap .s div{font-size:.9rem;color:var(--ink);min-height:30px;padding-top:4px}
.soap .s div .inf{background:var(--amber-bg);color:var(--amber);border-radius:6px;padding:1px 6px;font-size:.78rem;font-weight:600;margin-left:4px;white-space:nowrap}
.caret::after{content:"▍";color:var(--care);animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.codes{display:flex;flex-wrap:wrap;gap:8px}
.code{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);font-size:.86rem}
.code b{font-family:var(--mono)}
.gl{display:block;padding:12px 14px;border-radius:12px;background:#EAF2EE;border:1px solid color-mix(in srgb,var(--care) 25%,transparent);font-size:.86rem}
.gl b{color:var(--care)}
.rx{width:100%;border-collapse:collapse;font-size:.88rem}
.rx td,.rx th{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left}
.rx th{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.checks{display:grid;gap:8px}
.check{display:flex;align-items:center;gap:10px;font-size:.88rem;padding:9px 12px;border-radius:10px;background:var(--card);border:1px solid var(--line);opacity:.35;transition:opacity .3s}
.check.on{opacity:1}
.check .ic{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ok-bg);color:var(--care);font-size:.8rem;flex:0 0 auto}
.check.warn .ic{background:var(--amber-bg);color:var(--amber)}
.sign{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:14px;background:var(--forest-2);color:var(--on-dark)}
.sign p{font-size:.9rem}
.sent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sent .box{display:flex;gap:12px;align-items:flex-start;opacity:.3;transform:translateY(6px);transition:opacity .4s,transform .4s}
.sent .box.on{opacity:1;transform:none}
.sent .box .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--ok-bg);color:var(--care);flex:0 0 auto;font-weight:700}
.sent .box b{display:block;font-size:.92rem}
.sent .box span{font-size:.8rem;color:var(--ink-3)}
.done-box{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:22px;border-radius:16px;background:linear-gradient(135deg,var(--forest-2),var(--forest));color:var(--on-dark)}
.done-box h3{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem)}
.done-box .btn-ghost{color:var(--on-dark)}
.done-box .k{color:var(--mint-l)}
.stats{display:flex;flex-wrap:wrap;gap:12px}
.stats div{padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid var(--line-d)}
.stats b{display:block;font-family:var(--serif);font-size:1.5rem;color:var(--mint-l);font-weight:500}
.stats span{font-size:.78rem;color:var(--on-dark-2)}
.demo-note{margin-top:12px;font-size:.8rem;color:var(--ink-3);text-align:center}
@media (max-width:860px){.emr{grid-template-columns:1fr}.emr-side{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px;scrollbar-width:none}.emr-side .clinic{display:none}.emr-side a{white-space:nowrap}.sent{grid-template-columns:1fr}.q .hide-s{display:none}}

/* clinic flow */
.flow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;position:relative}
.flow button{font:inherit;text-align:left;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--card);cursor:pointer;min-height:118px;transition:border-color .2s,transform .2s,background .2s}
.flow button:hover{transform:translateY(-2px)}
.flow button[aria-pressed="true"]{border-color:var(--care);background:#EAF2EE}
.flow button b{font-size:.92rem}
.flow button span{font-size:.78rem;color:var(--ink-3)}
.flow button i{font-style:normal;font-family:var(--mono);font-size:.72rem;color:var(--care)}
.flow-line{grid-column:1/-1;height:4px;border-radius:2px;background:var(--paper-2);overflow:hidden;margin-top:4px}
.flow-line i{display:block;height:100%;width:0;background:var(--mint);transition:width .5s ease}
.flow-view{margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:center}
.flow-view .frame{min-height:250px}
.flow-view .frame .in{padding:16px;display:flex;flex-direction:column;gap:10px}
@media (max-width:980px){.flow{grid-template-columns:repeat(4,minmax(0,1fr))}.flow-view{grid-template-columns:1fr}}
@media (max-width:560px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.flow button{min-height:96px}}

/* maternity */
.mat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
.tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;position:relative}
.tl::before{content:"";position:absolute;left:19px;top:10px;bottom:10px;width:2px;background:var(--line)}
.tl button{font:inherit;width:100%;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;text-align:left;padding:10px 12px 10px 0;border:0;background:none;cursor:pointer;border-radius:12px;color:var(--ink)}
.tl button .n{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:2px solid var(--line);font-family:var(--mono);font-size:.78rem}
.tl button[aria-pressed="true"] .n{background:var(--care);border-color:var(--care);color:#fff}
.tl button b{display:block;color:var(--ink)}
.tl button span{font-size:.82rem;color:var(--ink-3)}
.tl button:hover b{color:var(--care)}
.prev{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;background:var(--amber-bg);color:var(--amber);padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:middle}
@media (max-width:900px){.mat{grid-template-columns:1fr}}

/* companion */
.comp{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:380px}
.legacy{padding:18px;background:#F1F1F3;font-family:Arial,Helvetica,sans-serif;font-size:.84rem;color:#333;display:flex;flex-direction:column;gap:10px}
.legacy .bar{background:#3B5998;color:#fff;padding:6px 10px;border-radius:4px;font-weight:700;font-size:.8rem}
.legacy label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:.76rem;color:#555}
.legacy .f{background:#fff;border:1px solid #C9C9CF;border-radius:3px;padding:7px 9px;min-height:34px;font-weight:400;color:#222;font-size:.84rem}
.legacy .f.fill{background:#F2FBF7;border-color:var(--mint);transition:background .4s}
.cpanel{background:var(--card);border-left:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:10px;transform:translateX(0);transition:transform .45s ease}
.comp.off .cpanel{transform:translateX(100%)}
.cpanel .hd{display:flex;align-items:center;justify-content:space-between}
@media (max-width:820px){.comp{grid-template-columns:1fr}.cpanel{border-left:0;border-top:1px solid var(--line)}.comp.off .cpanel{transform:none;opacity:.5}}

/* kasih */
.kasih{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:32px;align-items:center}
.phone{background:#0E1A17;border-radius:34px;padding:10px;box-shadow:var(--shadow);max-width:360px;justify-self:center;width:100%}
.phone .scr{background:#ECE5DA;border-radius:26px;overflow:hidden;min-height:470px;display:flex;flex-direction:column}
.phone .wa{background:#075E54;color:#fff;padding:12px 14px;font-size:.86rem;display:flex;align-items:center;gap:10px}
.phone .wa i{width:30px;height:30px;border-radius:50%;background:var(--mint);display:inline-block}
.chat{padding:12px;display:flex;flex-direction:column;gap:8px}
.msg{max-width:84%;padding:8px 11px;border-radius:12px;font-size:.84rem;color:#1b1b1b;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.msg.on{opacity:1;transform:none}
.msg.me{background:#DCF8C6;align-self:flex-end}
.msg small{display:block;font-size:.66rem;color:#7a7a7a;text-align:right;margin-top:2px}
@media (max-width:860px){.kasih{grid-template-columns:1fr}}

/* cards / grids */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:1.2rem}
.card p{color:var(--ink-2);font-size:.94rem}
.card ul{margin:0;padding-left:18px;color:var(--ink-2);font-size:.9rem;display:flex;flex-direction:column;gap:4px}
.dark .card{background:rgba(255,255,255,.04);border-color:var(--line-d)}
.dark .card p,.dark .card ul{color:var(--on-dark-2)}
.num{font-family:var(--mono);font-size:.78rem;color:var(--care)}
.dark .num{color:var(--mint-l)}
@media (max-width:900px){.grid3{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.grid3,.grid2{grid-template-columns:1fr}}

/* pricing */
.price{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.price .card{position:relative}
.price .card.hot{border:2px solid var(--mint);box-shadow:0 20px 50px -30px rgba(18,112,90,.6)}
.price .big{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--ink)}
.price .big small{font-size:1rem;color:var(--ink-3);font-family:var(--sans)}
.price .step{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--care)}
.offers{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.offers div{padding:14px 16px;border-radius:14px;background:var(--paper-2);font-size:.86rem;color:var(--ink-2)}
.offers b{display:block;color:var(--ink);margin-bottom:2px}
@media (max-width:900px){.price{grid-template-columns:1fr}.offers{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.offers{grid-template-columns:1fr}}

/* checks pipeline */
.pipe{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.pipe .card{gap:6px;padding:16px}
.pipe .card h3{font-size:1.05rem}
.pipe .card p{font-size:.84rem}
.pipe .tagg{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-l)}
@media (max-width:1000px){.pipe{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.pipe{grid-template-columns:1fr 1fr}}

/* faq */
.faq{display:flex;flex-direction:column;gap:10px;max-width:880px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.faq summary{cursor:pointer;font-weight:600;list-style-position:outside}
.faq details p{margin-top:10px;color:var(--ink-2)}

/* final CTA */
.final{background:radial-gradient(900px 400px at 50% 0%,rgba(33,175,133,.25),transparent 60%),var(--forest);color:var(--on-dark);text-align:center}
.final .wrap{display:flex;flex-direction:column;align-items:center;gap:18px}
.final h2{color:#fff;font-size:clamp(2rem,5vw,3.6rem)}

/* footer */
footer{background:#08201F;color:var(--on-dark-2);font-size:.88rem;padding-block:52px 30px}
footer .fg{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:26px}
footer h4{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint-l);font-weight:500;margin-bottom:10px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
footer a{text-decoration:none}
footer a:hover{color:#fff}
footer .bot{border-top:1px solid var(--line-d);margin-top:32px;padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8rem}
footer .soc{display:flex;gap:8px;margin-top:12px}
footer .soc a{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-d);display:grid;place-items:center}
footer .soc svg{width:17px;height:17px}
@media (max-width:820px){footer .fg{grid-template-columns:1fr 1fr}footer .fg>div:first-child{grid-column:1/-1}}

/* landing page */
.lp-hero{padding-block:clamp(44px,7vw,80px)}
.crumbs{font-size:.8rem;color:var(--on-dark-2);margin-bottom:14px}
.crumbs a{text-decoration:none}
.prose{max-width:780px;display:flex;flex-direction:column;gap:16px;color:var(--ink-2);font-size:1.02rem}
.prose h3{color:var(--ink);font-size:1.4rem;margin-top:10px}
.prose ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.prose b{color:var(--ink)}

/* motion: reveal on scroll (only when JS runs and motion is allowed) */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}
.js .stack .hcard{opacity:0;transform:translateY(26px) scale(.97)}
.js .stack.go .hcard{animation:assemble .7s cubic-bezier(.2,.8,.2,1) forwards}
.js .stack.go .hc-soap{animation-delay:.25s}.js .stack.go .hc-rx{animation-delay:.5s}.js .stack.go .hc-sent{animation-delay:.8s}
@keyframes assemble{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .rv,.js .stack .hcard{opacity:1;transform:none}
}

/* use cases */
.uc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.uc .card{position:relative;overflow:hidden}
.uc .card h3{font-size:1.3rem}
.badge{align-self:flex-start;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--ok-bg);color:var(--care)}
.badge.soon{background:var(--amber-bg);color:var(--amber)}
.badge.call{background:#E6ECF6;color:#2F4F86}
.files{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.files span{font-size:.72rem;padding:4px 8px;border-radius:8px;background:var(--paper-2);color:var(--ink-2)}
.files span.out{background:var(--forest-2);color:#fff}
.uc .card a{color:var(--care);font-weight:600;font-size:.9rem;text-decoration:none}
@media (max-width:900px){.uc{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.uc{grid-template-columns:1fr}}

/* comparison */
.vs{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;font-size:.92rem}
.vs th,.vs td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.vs tr:last-child th,.vs tr:last-child td{border-bottom:0}
.vs thead th{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:var(--paper)}
.vs thead th.us{background:var(--forest);color:var(--mint-l)}
.vs tbody th{font-weight:600;color:var(--ink);width:22%}
.vs td.them{color:var(--ink-3)}
.vs td.us{background:#EEF6F2;color:var(--ink);font-weight:500}
.vs td.us::before{content:"✓ ";color:var(--care);font-weight:700}
.vs-wrap{overflow-x:auto;border-radius:18px}
@media (max-width:700px){.vs{font-size:.84rem}.vs th,.vs td{padding:10px 12px}.vs tbody th{width:auto}}

/* switch */
.switch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}
.switch ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:s}
.switch li{counter-increment:s;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--line-d)}
.switch li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--mint);color:#062420;font-weight:700}
.switch li b{color:#fff;display:block}
.switch li span{color:var(--on-dark-2);font-size:.9rem}
@media (max-width:860px){.switch{grid-template-columns:1fr}}

/* complex case */
.cx .steps button{background:rgba(255,255,255,.05)}
.cx .steps button[aria-current="step"]{background:var(--mint);color:#062420;border-color:var(--mint)}
.cx-main{min-height:520px;padding:20px}
.drop{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:6px 0 12px}
.drop span{font-size:.76rem;padding:10px;border-radius:10px;background:var(--paper-2);border:1px dashed var(--line);color:var(--ink-2);text-align:center}
.drop span b{display:block;color:var(--ink);font-size:.82rem}
.meter{height:8px;border-radius:4px;background:var(--paper-2);overflow:hidden}
.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--care),var(--mint));transition:width 1.6s ease}
.trend td{padding:10px}
.trend .up{color:var(--red)}.trend .down{color:var(--red)}
.codefix{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center}
.codefix .box{display:flex;flex-direction:column;gap:8px}
.code.strike{text-decoration:line-through;opacity:.55}
.codefix .arrow{font-size:1.6rem;color:var(--care);font-weight:700}
.pathway{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;position:relative}
.pathway::before{content:"";position:absolute;left:17px;top:12px;bottom:12px;width:2px;background:linear-gradient(var(--care),var(--mint))}
.pathway li{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:8px 0}
.pathway .pn{position:relative;z-index:1;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--forest-2);color:#fff;font-family:var(--mono);font-size:.82rem}
.pathway li>div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.pathway b{display:block}
.pathway p{font-size:.88rem;color:var(--ink-2)}
.pathway small{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--care)}
.decide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.decide .box{display:flex;flex-direction:column;gap:8px}
.decision{border:2px solid var(--care)!important}
.decision p{font-size:.9rem}
.cx .done-box{margin-top:4px}
@media (max-width:760px){.drop{grid-template-columns:repeat(2,minmax(0,1fr))}.codefix,.decide{grid-template-columns:1fr}.codefix .arrow{transform:rotate(90deg);justify-self:center}}

/* ecosystem */
.eco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px;align-items:center}
.eco svg{width:100%;max-width:520px;justify-self:center;overflow:visible}
.eco-l{stroke:rgba(239,233,221,.16);stroke-width:2;transition:stroke .4s}
.eco-l.on{stroke:var(--mint)}
.eco-p{fill:var(--mint-l);opacity:0}
.eco-c{fill:var(--mint);filter:drop-shadow(0 0 22px rgba(33,175,133,.55))}
.eco-ct{fill:#062420;font:700 22px var(--sans);text-anchor:middle}
.eco-cs{fill:#062420;font:500 10px var(--sans);text-anchor:middle}
.eco-n circle{fill:var(--forest-2);stroke:rgba(239,233,221,.2);stroke-width:1.5;transition:fill .4s,stroke .4s}
.eco-n.on circle{fill:#123F3D;stroke:var(--mint)}
.eco-nt{fill:#fff;font:600 11px var(--sans);text-anchor:middle}
.eco-ns{fill:var(--on-dark-2);font:400 8.5px var(--sans);text-anchor:middle}
.eco-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.eco-log li{display:grid;grid-template-columns:64px 110px minmax(0,1fr);gap:8px;align-items:baseline;padding:9px 12px;border-radius:10px;border:1px solid var(--line-d);color:var(--on-dark-2);font-size:.86rem;opacity:.45;transition:opacity .4s,background .4s,border-color .4s}
.eco-log li.on{opacity:1;background:rgba(33,175,133,.1);border-color:rgba(127,224,190,.35)}
.eco-log span{font-family:var(--mono);font-size:.74rem;color:var(--mint-l)}
.eco-log b{color:#fff}
@media (max-width:900px){.eco{grid-template-columns:1fr}.eco-log li{grid-template-columns:58px minmax(0,1fr)}.eco-log li b{grid-column:2}.eco-log li{font-size:.82rem}}

/* multispecialty */
.spec{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}
.spec-cases{display:flex;flex-direction:column;gap:8px}
.spec-cases button{font:inherit;text-align:left;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:border-color .2s,background .2s}
.spec-cases button span{font-size:.78rem;color:var(--ink-3)}
.spec-cases button[aria-selected="true"]{border-color:var(--care);background:#EAF2EE}
.spec-cases button[aria-selected="true"] span{color:var(--care);font-weight:600}
.spec-view{padding:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.spec-det h3{font-size:1.6rem;margin:10px 0 6px}
.spec-det p{color:var(--ink-2);font-size:.92rem}
.spec-tool{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.spec-tool .row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.spec-tool .row:last-child{border-bottom:0}
.spec-tool .row span{color:var(--ink-3)}
@media (max-width:900px){.spec{grid-template-columns:1fr}.spec-cases{flex-direction:row;overflow-x:auto;scrollbar-width:none}.spec-cases button{flex:0 0 240px}.spec-view{grid-template-columns:1fr}}

/* drugs */
.drug{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.calc{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px}
.calc label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--ink-3);font-weight:600}
.calc select,.calc input{font:inherit;font-size:1rem;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);min-height:44px}
.calc-out{display:block;padding:14px;border-radius:12px;background:var(--forest-2);color:var(--on-dark);font-size:.9rem}
.calc-out b{display:block;font-family:var(--serif);font-weight:500;font-size:1.7rem;color:var(--mint-l)}
.pairs{display:flex;flex-direction:column;gap:6px}
.pairs button{font:inherit;font-size:.86rem;text-align:left;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer}
.pairs button[aria-pressed="true"]{border-color:var(--care);background:#EAF2EE;font-weight:600}
.pair-out{padding:12px 14px;border-radius:12px;font-size:.88rem}
.pair-out.bad{background:var(--red-bg);color:#7A2A1C}
.pair-out.warn{background:var(--amber-bg);color:#7A520F}
.pair-out.ok{background:var(--ok-bg);color:var(--care)}
.pair-out b{margin-right:4px}
.drug details{border-top:1px solid var(--line);padding:10px 0}
.drug summary{cursor:pointer;font-weight:600}
.drug details p{font-size:.88rem;color:var(--ink-2);margin-top:6px}
@media (max-width:980px){.drug{grid-template-columns:1fr 1fr}.drug .card:first-child{grid-column:1/-1}}
@media (max-width:620px){.drug{grid-template-columns:1fr}.calc{grid-template-columns:1fr}}

/* scroll progress (Motion) */
.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--mint);transform-origin:0 50%;transform:scaleX(0);z-index:70}

/* vendor comparison */
.vendors{min-width:1080px;font-size:.84rem}
.vendors th,.vendors td{padding:11px 12px}
.vendors tbody th{position:sticky;left:0;z-index:1;background:var(--card);width:auto;min-width:190px;box-shadow:1px 0 0 var(--line)}
.vendors thead th:first-child{position:sticky;left:0;z-index:2}
.vendors td.us::before{content:none}
.vendors td.us{font-weight:600}
.vendors td.them{color:var(--ink-2)}
.vendors td.them.no{color:var(--ink-3);text-align:center}
.vendors td.them.yes{color:var(--ink-2)}
.vendors-wrap:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.h3big{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;margin-top:10px}
.mission .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.mission .card h3{color:var(--mint-l)}
.mission .card p{color:var(--on-dark-2)}

/* BPJS: treat or refer + claim pre-check */
.bp{display:grid;grid-template-columns:1fr 1.1fr;gap:20px;align-items:start}
.bp-cases{display:grid;gap:12px}
.bp-case h3{font-size:1.15rem;margin:6px 0}
.bp-case .mono{font-family:var(--mono);font-size:.75rem;color:var(--care)}
.bp-case .ok{color:var(--care)}
.bp-bar{position:relative;height:12px;border-radius:6px;background:linear-gradient(90deg,#DDEFE7 0 70%,#F6E3C8 70%);margin:12px 0 6px;overflow:hidden}
.bp-bar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--care),var(--mint));border-radius:6px;transition:width 1.8s cubic-bezier(.2,.8,.2,1)}
.bp-bar .bp-line{position:absolute;top:0;bottom:0;left:70%;width:2px;background:var(--amber)}
.bp-legend{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ink-2)}
.bp-check small{color:var(--ink-2);font-size:.8rem;line-height:1.4}
.bp-check .check{align-items:flex-start}
.bp-bar i{width:46%}
.js .bp-bar i{width:0}
.js .bp.done .bp-bar i{width:46%}
@media (max-width:860px){.bp{grid-template-columns:1fr}}
.dark .frame h3,.dark .frame h4,.dark .cx-main h3{color:var(--ink)}
.dark .frame .fine{color:var(--ink-2)}
@media (max-width:600px){
  .vendors{min-width:900px;font-size:.8rem}
  .vendors tbody th,.vendors thead th:first-child{min-width:0;width:124px;max-width:124px;font-size:.76rem}
  .vendors th,.vendors td{padding:9px 9px}
}
.swipe{display:none;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;color:var(--care);margin:0 0 8px}
@media (max-width:1100px){.swipe{display:block}}

/* ── Nusantara: archipelago, heartbeat, mega mendung ─────────────────────── */
.nu{display:block;width:100%;height:auto;overflow:visible}
.nu-dots{stroke:var(--mint-l)}
.nu-i{opacity:.55;transition:opacity .8s ease}
.nu-route{fill:none;stroke:var(--gold);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:0;opacity:.85}
.nu-dot{fill:#fff}
.nu-ring{fill:none;stroke:var(--mint-l);stroke-width:1.5;transform-box:fill-box;transform-origin:center;opacity:0}
.nu text{fill:var(--on-dark);font:500 13px var(--sans);opacity:.9}
.hero-bg{position:absolute;inset:auto -6% -2% 46%;z-index:0;pointer-events:none}
.hero-bg .nu{opacity:.32}
.hero .wrap{position:relative;z-index:1}
.ecg{display:block;width:100%;height:60px;margin-top:-10px}
.ecg path{fill:none;stroke:var(--mint);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.5}
.nusa{position:relative;overflow:hidden}
.nusa-map{margin:-6px 0 34px}
.nu-big .nu-c text{font-size:14px}
.nusa-quote{font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.25;color:#fff;text-align:center;margin:48px auto 0;max-width:30ch}
.nusa-quote em{color:var(--gold)}
.nusa .card h3{color:#fff}
.final{position:relative;overflow:hidden}
.final .wrap{position:relative;z-index:1}
.mm{position:absolute;left:0;right:0;bottom:0;width:100%;height:160px;z-index:0;pointer-events:none}
.mm path{fill:none;stroke:var(--mint-l);stroke-width:1.4}
.mm .mm-0{stroke:var(--gold);opacity:.35}.mm .mm-1{opacity:.28}.mm .mm-2{opacity:.22}.mm .mm-3{opacity:.16}
@media (max-width:860px){.hero-bg{inset:auto -30% 0 -10%}.hero-bg .nu{opacity:.2}}
@media (max-width:600px){.nu-big text{display:none}.nusa-map{margin-inline:-8px}}

/* motion (only when JS is on and the visitor has not asked for less motion) */
@media (prefers-reduced-motion:no-preference){
  .js .nu-route{stroke-dashoffset:1;transition:stroke-dashoffset 5s cubic-bezier(.4,.1,.2,1)}
  .js .nu.go .nu-route{stroke-dashoffset:0}
  .js .nu.go .nu-ring{animation:nu-ping 3.2s ease-out infinite;animation-delay:var(--d)}
  .js .nu-big .nu-i{opacity:.14}
  .js .nu-big .nu-i.lit{opacity:.9}
  .js .nu-big .nu-c{opacity:.25;transition:opacity .6s}
  .js .nu-big .nu-c.lit{opacity:1}
  .js .ecg path{stroke-dasharray:.16 .84;animation:ecg-run 5.5s linear infinite;opacity:.75}
  .js .mm-a{animation:mm-drift 38s ease-in-out infinite alternate}
  .js .mm-b{animation:mm-drift 46s ease-in-out infinite alternate-reverse}
}
@keyframes nu-ping{0%{transform:scale(.3);opacity:.9}80%,100%{transform:scale(2.4);opacity:0}}
@keyframes ecg-run{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes mm-drift{from{transform:translateX(-30px)}to{transform:translateX(30px)}}
.final .lead{color:var(--on-dark-2)}

/* ── ecosystem v2 ─────────────────────────────────────────────────────────── */
.eco-stage{display:flex;flex-direction:column;align-items:center;gap:14px}
.eco-orbit{transform-origin:200px 200px}
.eco-orbit circle{fill:none;stroke:rgba(127,224,190,.14);stroke-width:1;stroke-dasharray:2 7}
.eco-orbit .o2{stroke:rgba(201,161,74,.18);stroke-dasharray:1 10}
.eco-f{stroke:var(--mint-l);stroke-width:2.5;stroke-dasharray:6 10;opacity:0;transition:opacity .3s}
.eco-f.go{opacity:.9}
.eco-wave{fill:none;stroke:var(--mint);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.eco-halo{fill:none!important;stroke:var(--mint-l)!important;opacity:0;transform-box:fill-box;transform-origin:center}
.eco-n{cursor:pointer;outline:none}
.eco-n circle:not(.eco-halo){transition:fill .3s,stroke .3s,stroke-width .3s}
.eco-n:hover circle:not(.eco-halo),.eco-n:focus-visible circle:not(.eco-halo){stroke:var(--mint-l);stroke-width:2.5}
.eco-n.sel circle:not(.eco-halo){fill:var(--mint);stroke:var(--mint-l);stroke-width:3}
.eco-n.sel .eco-nt,.eco-n.sel .eco-ns{fill:#062420}
.eco-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}
.eco-clock{font-family:var(--mono);font-size:1.1rem;color:var(--mint-l);padding:4px 10px;border:1px solid var(--line-d);border-radius:8px;min-width:64px;text-align:center}
.eco-count{font-size:.86rem;color:var(--on-dark-2)}
.eco-count b{color:#fff;font-family:var(--mono)}
.eco-side{display:flex;flex-direction:column;gap:12px}
.eco-card{background:linear-gradient(135deg,rgba(33,175,133,.16),rgba(255,255,255,.04));border:1px solid rgba(127,224,190,.35);border-radius:14px;padding:16px 18px}
.eco-card h3{font-family:var(--sans);font-weight:600;font-size:1.02rem;margin:6px 0 8px;color:#fff}
.eco-card ul{margin:0;padding-left:18px;color:var(--on-dark-2);font-size:.88rem;display:grid;gap:3px}
.eco-log li{cursor:pointer}
.eco-log li:hover,.eco-log li:focus-visible{border-color:rgba(127,224,190,.5);outline:none}
.eco-log li.sel{background:rgba(33,175,133,.22);border-color:var(--mint)}
.eco-hint{margin:0}
.js .eco.live .eco-log li{opacity:.45}
.js .eco.live .eco-log li.on{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .js .eco-orbit{animation:eco-spin 60s linear infinite}
  .js .eco-f.go{animation:eco-flow .6s linear infinite}
  .js .eco-c{animation:eco-beat 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
}
@keyframes eco-spin{to{transform:rotate(360deg)}}
@keyframes eco-flow{to{stroke-dashoffset:-16}}
@keyframes eco-beat{0%,100%{transform:scale(1)}12%{transform:scale(1.06)}24%{transform:scale(.98)}36%{transform:scale(1.04)}}

/* ── companion v2 ─────────────────────────────────────────────────────────── */
.cmp-steps{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.cmp-steps button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);border-radius:999px;padding:7px 14px 7px 7px;font:600 .86rem var(--sans);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.cmp-steps button i{font-style:normal;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);font:600 .74rem var(--mono)}
.cmp-steps button.done{color:var(--care);border-color:rgba(18,112,90,.35)}
.cmp-steps button.done i{background:var(--ok-bg);color:var(--care)}
.cmp-steps button[aria-current="step"]{background:var(--forest);color:#fff;border-color:var(--forest)}
.cmp-steps button[aria-current="step"] i{background:var(--mint);color:#062420}
.cmp-steps .cmp-play{margin-left:auto;padding:7px 16px;background:var(--mint);color:#062420;border-color:var(--mint)}
.cmp-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:460px}
.cmp .legacy .f{position:relative;min-height:36px}
.cmp .legacy .f.typing{border-color:var(--mint);box-shadow:0 0 0 3px rgba(33,175,133,.18)}
.cmp .legacy .f.typing::after{content:"";display:inline-block;width:2px;height:1em;background:var(--care);margin-left:2px;vertical-align:-2px;animation:cmp-caret .7s steps(1) infinite}
.lg-foot{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:6px;flex-wrap:wrap}
.lg-save{background:#3B5998;color:#fff;font-weight:700;font-size:.8rem;padding:7px 16px;border-radius:4px;transition:box-shadow .3s,transform .3s}
.lg-save.hot{box-shadow:0 0 0 4px rgba(33,175,133,.45);transform:scale(1.04)}
.lg-toast{font-size:.8rem;color:var(--care);font-weight:600;font-family:var(--sans)}
.cpanel2{background:var(--card);border-left:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.cpanel2 .hd{display:flex;align-items:center;justify-content:space-between}
.cmp-logo{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--forest);color:var(--mint-l);font:700 .75rem var(--mono);margin-right:4px}
.cpanel2 .pill.s0{background:var(--red-bg);color:var(--red)}
.cpanel2 .pill.s4{background:var(--ok-bg);color:var(--care)}
.cmp-stage{display:flex;flex-direction:column;gap:8px}
.wave{display:flex;align-items:center;gap:3px;height:38px}
.wave i{flex:1;background:var(--mint);border-radius:2px;height:30%;opacity:.8}
.rec{font:600 .72rem var(--mono);color:var(--red)}
.talk{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.82rem}
.talk li{padding:7px 10px;border-radius:10px;background:var(--paper);line-height:1.4}
.talk li.pt{background:#EEF6F2;margin-left:18px}
.talk b{display:block;font:600 .66rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.soap2{margin:0;display:grid;gap:6px;font-size:.84rem}
.soap2 div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:7px 9px;border-radius:8px;background:var(--paper)}
.soap2 dt{font:700 .82rem var(--mono);color:var(--care)}
.soap2 dd{margin:0}
.ci{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ci li{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:.82rem}
.ci li .ic{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ok-bg);color:var(--care);font-weight:700;font-size:.78rem}
.ci li.info .ic{background:#E6ECF6;color:#2F4F86}
.ci li b{display:block}
.ci li small{color:var(--ink-2);font-size:.78rem}
/* with JS: one stage at a time, items arrive one by one */
.js .cmp.live .cmp-stage{display:none}
.js .cmp.live .cmp-stage.on{display:flex;animation:cmp-in .35s ease-out}
.js .cmp.live .talk li,.js .cmp.live .soap2>div,.js .cmp.live .ci li{opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}
.js .cmp.live .talk li.in,.js .cmp.live .soap2>div.in,.js .cmp.live .ci li.in{opacity:1;transform:none}
.js .cmp.live .lg-toast{opacity:0;transition:opacity .4s}
.js .cmp.live .lg-toast.on{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .js .cmp.live .cmp-stage[data-stage="0"].on .wave i{animation:cmp-wave 1s ease-in-out infinite;animation-delay:calc(var(--i) * -.07s)}
}
@keyframes cmp-wave{0%,100%{height:20%}50%{height:95%}}
@keyframes cmp-caret{50%{opacity:0}}
@keyframes cmp-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@media (max-width:820px){.cmp-body{grid-template-columns:1fr}.cpanel2{border-left:0;border-top:1px solid var(--line);order:-1}.cmp-steps .cmp-play{margin-left:0}}
.cmp-sum{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.cmp-sum li{font-size:.76rem;font-weight:600;color:var(--care);background:var(--ok-bg);border-radius:999px;padding:4px 10px}
@media (max-width:820px){.cmp-body{min-height:0}.cpanel2{min-height:300px}}

/* ── support: WhatsApp-style card ─────────────────────────────────────────── */
.wa-card{background:#ECE5DA;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column}
.wa-head{display:flex;align-items:center;gap:10px;background:#075E54;color:#fff;padding:12px 16px}
.wa-head b{display:block;font-size:.95rem}
.wa-head small{font-size:.74rem;color:#CFE9E3}
.wa-av{width:38px;height:38px;border-radius:50%;background:#25D366;display:grid;place-items:center;color:#fff;flex:0 0 auto}
.wa-av .wa-g{width:22px;height:22px}
.wa-num{margin-left:auto;font:500 .78rem var(--mono);color:#CFE9E3}
.wa-chat{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:14px 14px 6px;min-height:280px;background-image:radial-gradient(rgba(7,94,84,.07) 1px,transparent 1.5px);background-size:14px 14px}
.wa-day{align-self:center;font-size:.7rem;background:#E1F2FB;color:#4A6572;padding:3px 10px;border-radius:8px;margin-bottom:4px}
.wa-m{max-width:82%;padding:7px 10px 18px;border-radius:10px;font-size:.88rem;line-height:1.4;position:relative;color:#111;box-shadow:0 1px 1px rgba(0,0,0,.08)}
.wa-m.me{align-self:flex-end;background:#DCF8C6;border-top-right-radius:2px}
.wa-m.them{align-self:flex-start;background:#fff;border-top-left-radius:2px}
.wa-m .t{position:absolute;right:8px;bottom:3px;font-size:.66rem;color:#667}
.wa-m .t i{font-style:normal;color:#34B7F1;letter-spacing:-2px}
.wa-typing{align-self:flex-start;background:#fff;border-radius:10px;padding:9px 12px;display:none;gap:4px}
.wa-typing i{width:6px;height:6px;border-radius:50%;background:#9AA;display:block}
.wa-note{font-size:.8rem;color:#4A5A57;padding:4px 16px 0}
.wa-btn{margin:10px 16px 16px;background:#25D366;color:#063D1F;font-weight:700;box-shadow:0 10px 26px -10px rgba(37,211,102,.8)}
.wa-btn:hover{background:#2EE06F}
.wa-btn .wa-g{width:20px;height:20px}
.js .wa-card.live [data-wa-m]{display:none}
.js .wa-card.live [data-wa-m].in{display:block;animation:wa-in .35s ease-out}
@keyframes wa-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.js .wa-card.live .wa-typing.on{display:flex}
@media (prefers-reduced-motion:no-preference){.wa-typing i{animation:wa-dot 1.2s infinite}.wa-typing i:nth-child(2){animation-delay:.15s}.wa-typing i:nth-child(3){animation-delay:.3s}}
@keyframes wa-dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}

/* batik textures (generated by marketing/nusantara.mjs) */
.sec[style*="paper-2"]{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22rgba(18%2C46%2C45%2C.055)%22%20stroke-width%3D%221.2%22%3E%3Cellipse%20cx%3D%2228%22%20cy%3D%2214%22%20rx%3D%227%22%20ry%3D%2212%22%2F%3E%3Cellipse%20cx%3D%2228%22%20cy%3D%2242%22%20rx%3D%227%22%20ry%3D%2212%22%2F%3E%3Cellipse%20cx%3D%2214%22%20cy%3D%2228%22%20rx%3D%2212%22%20ry%3D%227%22%2F%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2228%22%20rx%3D%2212%22%20ry%3D%227%22%2F%3E%3Ccircle%20cx%3D%2228%22%20cy%3D%2228%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2256%22%20cy%3D%220%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2256%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2256%22%20cy%3D%2256%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")!important;background-color:var(--paper-2)!important}
.sec.dark:not(.final):not(.nusa){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22rgba(127%2C224%2C190%2C.05)%22%20stroke-width%3D%221.3%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M-6%2030%20C4%2018%2010%2034%2018%2022%20S30%206%2042%20-6%22%2F%3E%3Cpath%20d%3D%22M6%2054%20C16%2042%2022%2058%2030%2046%20S42%2030%2054%2018%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2236%22%20r%3D%221.6%22%2F%3E%3Ccircle%20cx%3D%2236%22%20cy%3D%2212%22%20r%3D%221.6%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
.tumpal{height:14px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2214%22%20viewBox%3D%220%200%2028%2014%22%3E%3Cpath%20d%3D%22M0%2014%20L14%201%20L28%2014Z%22%20fill%3D%22none%22%20stroke%3D%22rgba(201%2C161%2C74%2C.55)%22%20stroke-width%3D%221.2%22%2F%3E%3Cpath%20d%3D%22M8%2014%20L14%208%20L20%2014Z%22%20fill%3D%22rgba(201%2C161%2C74%2C.55)%22%2F%3E%3C%2Fsvg%3E") repeat-x;background-size:28px 14px}
.tumpal.flip{transform:scaleY(-1)}
.nusa{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2256%22%20height%3D%2256%22%20viewBox%3D%220%200%2056%2056%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22rgba(201%2C161%2C74%2C.07)%22%20stroke-width%3D%221.2%22%3E%3Cellipse%20cx%3D%2228%22%20cy%3D%2214%22%20rx%3D%227%22%20ry%3D%2212%22%2F%3E%3Cellipse%20cx%3D%2228%22%20cy%3D%2242%22%20rx%3D%227%22%20ry%3D%2212%22%2F%3E%3Cellipse%20cx%3D%2214%22%20cy%3D%2228%22%20rx%3D%2212%22%20ry%3D%227%22%2F%3E%3Cellipse%20cx%3D%2242%22%20cy%3D%2228%22%20rx%3D%2212%22%20ry%3D%227%22%2F%3E%3Ccircle%20cx%3D%2228%22%20cy%3D%2228%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%220%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2256%22%20cy%3D%220%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%220%22%20cy%3D%2256%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2256%22%20cy%3D%2256%22%20r%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),radial-gradient(900px 500px at 70% 40%,rgba(33,175,133,.16),transparent 60%)}
