/* Shared deck styles — palette comes from inline :root in each index.html */

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body,'Inter'),sans-serif;overflow:hidden;-webkit-font-smoothing:antialiased}
body{background:var(--bg-decoration,radial-gradient(circle at 15% 20%,var(--accent-soft),transparent 40%) ),var(--bg)}

#deck{position:relative;height:100vh;width:100vw;overflow:hidden;z-index:2}
.slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:6vh 8vw 10vh;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s}
.slide.active{opacity:1;visibility:visible}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1)}
.reveal.shown{opacity:1;transform:translateY(0)}

h1,h2,h3{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-weight:600;letter-spacing:-0.02em;line-height:1.05}
.h-mega{font-size:clamp(48px,7.5vw,128px);font-weight:500;letter-spacing:-0.035em;line-height:.98}
.h-xl{font-size:clamp(36px,5vw,80px);font-weight:500;letter-spacing:-0.03em;line-height:1.02}
.h-lg{font-size:clamp(28px,3.5vw,52px);font-weight:600;letter-spacing:-0.025em;line-height:1.05}
.h-md{font-size:clamp(20px,2vw,32px);font-weight:600;letter-spacing:-0.015em;line-height:1.15}
.serif{font-family:var(--font-serif,'Instrument Serif'),serif;font-weight:400;font-style:italic;letter-spacing:-0.01em}
.body{font-size:clamp(15px,1.15vw,19px);line-height:1.55;color:var(--muted);font-weight:400}
.small{font-size:clamp(12px,.9vw,14px);color:var(--muted);letter-spacing:.02em}
.label{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--dim);font-weight:500}
.accent{color:var(--accent)}
.accent2{color:var(--accent-2,var(--accent))}
.strike{text-decoration:line-through;text-decoration-color:rgba(128,128,128,0.3)}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);font-weight:500}
.slide-h{display:flex;flex-direction:column;gap:8px}

.deck-header{position:fixed;top:24px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;z-index:10;pointer-events:none}
.brand{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;letter-spacing:.05em;font-weight:500}
.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}
.brand-meta{color:var(--dim);font-size:12px;letter-spacing:.08em}

.deck-footer{position:fixed;bottom:0;left:0;right:0;padding:18px 32px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:10}
.progress-track{flex:1;height:2px;background:var(--border);border-radius:2px;overflow:hidden}
.progress-bar{height:100%;background:var(--accent);width:0%;transition:width .55s cubic-bezier(.2,.7,.2,1);box-shadow:0 0 8px var(--accent-glow)}
.progress-info{font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);letter-spacing:.05em;font-weight:500;min-width:80px;text-align:right}

.nav-buttons{position:fixed;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:11}
.nav-btn{width:42px;height:42px;border-radius:14px;background:var(--nav-bg,rgba(255,255,255,0.04));border:1px solid var(--border-strong);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;backdrop-filter:blur(10px)}
.nav-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast,#000)}
.nav-btn svg{width:16px;height:16px}

.keyboard-hint{position:fixed;left:32px;bottom:62px;font-size:11px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;z-index:10;display:flex;align-items:center;gap:8px;transition:opacity .6s ease;opacity:1}
.keyboard-hint.faded{opacity:0;pointer-events:none}
.key{padding:2px 7px;border:1px solid var(--border-strong);border-radius:5px;font-size:10px}

.cover{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding-top:10vh;padding-bottom:14vh}
.cover-mid{display:flex;align-items:flex-end;gap:64px;justify-content:space-between;flex-wrap:wrap}
.cover-title{max-width:62%}
.cover-bottom{display:flex;justify-content:space-between;align-items:flex-end;color:var(--muted);font-size:13px;letter-spacing:.05em}
.cover-top{display:flex;align-items:center;gap:14px;color:var(--muted)}
.cover-graphic{position:relative;width:280px;height:280px;flex-shrink:0}
.cover-graphic .ring{position:absolute;inset:0;border:1px solid var(--border-strong);border-radius:50%}
.cover-graphic .ring2{position:absolute;inset:30px;border:1px solid var(--border);border-radius:50%}
.cover-graphic .ring3{position:absolute;inset:60px;border:1px solid var(--border);border-radius:50%}
.cover-graphic .dot{position:absolute;width:14px;height:14px;background:var(--accent);border-radius:50%;left:calc(50% - 7px);top:-7px;box-shadow:0 0 24px var(--accent-glow);animation:orbit 14s linear infinite;transform-origin:50% 147px}
@keyframes orbit{to{transform:rotate(360deg)}}
.gif-frame{position:relative;width:300px;height:300px;flex-shrink:0;border-radius:24px;overflow:hidden;border:1px solid var(--border-strong);background:var(--surface)}
.gif-frame img{width:100%;height:100%;object-fit:cover}
.gif-frame::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 50%,rgba(0,0,0,0.4) 100%);pointer-events:none}

.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.stat{padding:32px 28px;border:1px solid var(--border);border-radius:22px;background:var(--surface)}
.stat .num{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:clamp(48px,5.5vw,84px);font-weight:500;letter-spacing:-0.04em;color:var(--accent);line-height:1}
.stat .desc{margin-top:14px;color:var(--text);font-size:15px;line-height:1.45}
.stat .src{margin-top:18px;font-size:11px;color:var(--dim);letter-spacing:.04em}

.organs-row{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap}
.organ-mini{display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--border);border-radius:99px;background:var(--surface);font-size:13px;color:var(--muted)}
.organ-mini strong{color:var(--text);font-weight:600}
.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
.three-cards .c{padding:28px 26px;border:1px solid var(--border);border-radius:22px;background:var(--surface);min-height:180px;display:flex;flex-direction:column;justify-content:space-between}
.three-cards .arrow-big{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:clamp(48px,4.5vw,76px);color:var(--accent);font-weight:500;line-height:1}

.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.ba{padding:48px 40px;border:1px solid var(--border);border-radius:24px;background:var(--surface);min-height:380px;display:flex;flex-direction:column;justify-content:space-between}
.ba.after{background:var(--accent-bg,linear-gradient(180deg,var(--accent-soft),transparent));border-color:var(--accent-border,var(--accent))}
.ba .lbl{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:24px;font-weight:500}
.ba.after .lbl{color:var(--accent)}
.ba .price{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:clamp(48px,5.8vw,90px);font-weight:500;letter-spacing:-0.04em;line-height:1}
.ba .row{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:16px;margin-top:14px}
.ba.after .price{color:var(--accent)}

.hiw-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.hiw-stage{padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);display:flex;flex-direction:column;gap:10px;min-height:140px}
.hiw-stage .n{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:28px;color:var(--accent);font-weight:500;line-height:1}
.hiw-stage .t{font-size:14px;font-weight:600;color:var(--text);line-height:1.25}
.hiw-stage .d{font-size:12px;color:var(--muted);line-height:1.4;margin-top:auto}

.formulas{display:flex;flex-direction:column;gap:16px;margin-top:48px}
.formula{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:24px;padding:24px 28px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.formula .lbl{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.formula .body-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.formula .from{color:var(--muted);font-size:18px;text-decoration:line-through;text-decoration-color:rgba(128,128,128,0.25)}
.formula .to{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:32px;color:var(--text);font-weight:500;letter-spacing:-0.02em}
.formula .arr{color:var(--accent);font-size:20px}
.formula .delta{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;color:var(--accent);font-size:24px;font-weight:500;letter-spacing:-0.02em}
.footnote{margin-top:28px;color:var(--muted);font-size:14px;line-height:1.5;max-width:780px}

.role-banner{margin-top:20px;padding:18px 24px;border:1px solid var(--accent-border,var(--accent));background:var(--accent-soft);border-radius:14px;display:flex;align-items:center;gap:18px}
.role-banner .ic{width:36px;height:36px;border-radius:10px;background:var(--accent);color:var(--accent-contrast,#000);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}
.role-banner .tx{font-size:14px;color:var(--text);line-height:1.45}
.role-banner .tx strong{color:var(--accent);font-weight:600}
.role-banner .tx .dim{color:var(--muted)}
.roles{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:16px;flex:1;align-items:stretch}
.role{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:12px}
.role .role-h{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:15px;font-weight:600;color:var(--text);letter-spacing:-0.01em;line-height:1.15;min-height:36px}
.role-tools{display:flex;flex-wrap:wrap;gap:5px}
.tool-chip{font-size:10px;padding:3px 8px;border:1px solid var(--border-strong);border-radius:99px;color:var(--muted);background:var(--chip-bg,rgba(128,128,128,0.04));white-space:nowrap}
.role .div{height:1px;background:var(--border);margin:2px 0}
.role-tasks-lbl{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:500}
.role ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:5px}
.role li{font-size:12px;color:var(--muted);line-height:1.4;padding-left:12px;position:relative}
.role li::before{content:'';position:absolute;left:0;top:6px;width:4px;height:4px;background:var(--accent);border-radius:50%}

.objections{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.obj{padding:28px 26px;border:1px solid var(--border);border-radius:20px;background:var(--surface);display:flex;flex-direction:column;gap:16px}
.obj .q{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:22px;font-weight:600;line-height:1.15;letter-spacing:-0.015em;color:var(--text)}
.obj .a{font-size:14px;color:var(--muted);line-height:1.55}
.obj .a strong{color:var(--text);font-weight:500}
.obj .badge{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:500}

.pp-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;margin-top:36px}
.timeline{display:flex;flex-direction:column;gap:14px}
.tl-step{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:18px 22px;border:1px solid var(--border);border-radius:16px;background:var(--surface);align-items:center}
.tl-step .num{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:24px;color:var(--accent);font-weight:500}
.tl-step .ttl{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:18px;font-weight:600;color:var(--text);letter-spacing:-0.01em}
.tl-step .sub{font-size:13px;color:var(--muted);margin-top:3px;line-height:1.4}
.price-card{padding:32px;border:1px solid var(--accent-border,var(--accent));border-radius:22px;background:var(--accent-bg,linear-gradient(180deg,var(--accent-soft),transparent));display:flex;flex-direction:column;justify-content:center;gap:12px}
.price-card .lbl-p{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:500}
.price-card .price{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:clamp(36px,4.5vw,68px);font-weight:500;letter-spacing:-0.035em;line-height:1;color:var(--text)}
.price-card .sub{font-size:14px;color:var(--muted);line-height:1.5}
.price-card .multiply{margin-top:14px;padding-top:14px;border-top:1px solid var(--accent-border,var(--accent));font-size:13px;color:var(--text);line-height:1.4}
.price-card .multiply strong{color:var(--accent);font-weight:600}

.team-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;margin-top:24px}
.person{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:10px}
.person .ph{aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:var(--surface-2)}
.person .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(0.1) contrast(1.05)}
.person .nm{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:15px;font-weight:600;color:var(--text);letter-spacing:-0.01em;line-height:1.2}
.person .rl{font-size:11px;color:var(--muted);line-height:1.4;margin-top:4px}
.stack-mini{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;justify-content:center;gap:6px}
.stack-mini .num{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:36px;line-height:1;font-weight:500;letter-spacing:-0.03em;color:var(--text)}
.stack-mini .num.acc{color:var(--accent)}
.stack-mini .lbl-s{font-size:11px;color:var(--muted);line-height:1.35}
.cta-block{margin-top:28px;padding:32px 36px;border:1px solid var(--accent-border,var(--accent));border-radius:22px;background:var(--accent-bg,linear-gradient(180deg,var(--accent-soft),transparent));display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center}
.cta-block .h-cta{font-family:var(--font-display,'Bricolage Grotesque'),sans-serif;font-size:clamp(26px,2.8vw,40px);font-weight:500;line-height:1.05;letter-spacing:-0.025em;color:var(--text)}
.cta-block .sub-cta{margin-top:10px;font-size:14px;color:var(--muted)}
.contacts{display:flex;flex-direction:column;gap:10px}
.contact{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);transition:all .2s;text-decoration:none;color:inherit}
.contact:hover{border-color:var(--accent);background:var(--accent-soft)}
.contact .ic{width:20px;height:20px;color:var(--accent);flex-shrink:0}
.contact .v{font-size:15px;color:var(--text);font-weight:500;letter-spacing:-0.01em}
.contact .l{font-size:10px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1px}

@media (max-width:900px){.slide{padding:5vh 5vw 12vh}.stats-row,.three-cards,.ba-grid,.hiw-stages,.roles,.objections,.team-row,.pp-grid,.cta-block{grid-template-columns:1fr !important}.nav-buttons{right:12px}}
