:root{
  --bg:#f3f5f7;--bg2:#e9edf1;--surface:#ffffff;--surface2:#f6f8fa;
  --text:#0c131b;--muted:#556273;--line:#d6dde5;--line2:#c3ccd7;
  --accent:#0f8a5f;--accent-ink:#ffffff;--accent-soft:#d9f3e8;
  --crit:#d4202c;--crit-soft:#fde3e4;--a:#e0434b;--a-soft:#fce8e9;
  --b:#b88300;--b-soft:#fbf0cf;--c:#2563d9;--c-soft:#e1eafb;
  --glow:rgba(15,138,95,.18);--shadow:0 1px 2px rgba(12,19,27,.06),0 12px 32px -12px rgba(12,19,27,.18);
  --grid:rgba(12,19,27,.05);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#090d12;--bg2:#0e141b;--surface:#111922;--surface2:#16202b;
  --text:#e7edf4;--muted:#8d9bab;--line:#1f2b38;--line2:#2c3b4b;
  --accent:#4be3a3;--accent-ink:#04140d;--accent-soft:#0f2e23;
  --crit:#ff4d57;--crit-soft:#3a1418;--a:#ff6b72;--a-soft:#33171a;
  --b:#f5c13d;--b-soft:#332810;--c:#5b9bff;--c-soft:#13233d;
  --glow:rgba(75,227,163,.16);--shadow:0 1px 2px rgba(0,0,0,.4),0 18px 40px -16px rgba(0,0,0,.7);
  --grid:rgba(231,237,244,.04);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#090d12;--bg2:#0e141b;--surface:#111922;--surface2:#16202b;
  --text:#e7edf4;--muted:#8d9bab;--line:#1f2b38;--line2:#2c3b4b;
  --accent:#4be3a3;--accent-ink:#04140d;--accent-soft:#0f2e23;
  --crit:#ff4d57;--crit-soft:#3a1418;--a:#ff6b72;--a-soft:#33171a;
  --b:#f5c13d;--b-soft:#332810;--c:#5b9bff;--c-soft:#13233d;
  --glow:rgba(75,227,163,.16);--shadow:0 1px 2px rgba(0,0,0,.4),0 18px 40px -16px rgba(0,0,0,.7);
  --grid:rgba(231,237,244,.04);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font:16px/1.6 "Bricolage Grotesque",system-ui,sans-serif;font-optical-sizing:auto;overflow-x:hidden}
a{color:inherit}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;line-height:1.05}
h2{font-size:clamp(2rem,4.4vw,3.2rem)}
h3{font-size:1.15rem;letter-spacing:-.01em;line-height:1.25;font-weight:700}
.kicker{font:600 .75rem/1 "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.lead{color:var(--muted);font-size:1.15rem;max-width:36em}

/* Draft label */
.draft{display:flex;justify-content:center;padding:6px 16px;background:var(--bg2);border-bottom:1px solid var(--line);font:500 .72rem/1.3 "JetBrains Mono",monospace;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.draft span{border:1px dashed var(--line2);padding:2px 10px;border-radius:99px}

/* Header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.2rem;color:var(--text);text-decoration:none;letter-spacing:-.02em}
.logo{width:30px;height:30px;border-radius:9px;background:var(--crit-soft);display:grid;place-items:center;flex:none}
.logo span{width:14px;height:14px;border-radius:50%;background:var(--crit);box-shadow:inset 0 0 0 4px var(--crit),inset 0 0 0 7px var(--surface)}
nav.links{display:flex;gap:26px;margin-left:auto}
nav.links a{text-decoration:none;color:var(--muted);font-weight:500;font-size:.95rem;transition:color .2s}
nav.links a:hover{color:var(--text)}
.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;font:700 .95rem/1 "Bricolage Grotesque",sans-serif;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;white-space:nowrap}
.btn.pri{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 0 var(--glow)}
.btn.pri:hover{transform:translateY(-2px);box-shadow:0 10px 30px -6px var(--glow),0 0 0 6px var(--glow)}
.btn.ghost{border-color:var(--line2);color:var(--text);background:var(--surface)}
.btn.ghost:hover{transform:translateY(-2px);border-color:var(--text)}
.btn.sm{height:38px;padding:0 14px;font-size:.88rem;border-radius:10px}
.bar .btn.sm{margin-left:0}
nav.links + .btn{margin-left:4px}
.theme{width:40px;height:40px;border-radius:10px;border:1px solid var(--line2);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;flex:none;transition:transform .3s}
.theme:hover{transform:rotate(-18deg)}
.theme svg{width:18px;height:18px}
.theme .sun{display:none}
.is-dark .theme .sun{display:block}.is-dark .theme .moon{display:none}

/* Hero */
.hero{position:relative;padding:72px 0 88px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 70% 30%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 20%,transparent 70%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.08fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(3rem,7.4vw,5.8rem);margin:18px 0 22px;letter-spacing:-.045em;line-height:.95}
.hero h1 em{font-style:normal;color:var(--crit);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.09em;background:var(--crit);border-radius:4px;transform-origin:left;animation:underline 1.1s .4s cubic-bezier(.2,.8,.2,1) both}
@keyframes underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 26px}
.ticks{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;color:var(--muted);font-size:.92rem}
.ticks li{display:flex;align-items:center;gap:7px}
.ticks li::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--accent)}

/* Board (hero animation) */
.board{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:16px}
.board-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.78rem;color:var(--muted);padding:2px 4px 12px}
.board-head b{color:var(--text);font-weight:700;font-family:"Bricolage Grotesque",sans-serif;font-size:.95rem}
.live{display:inline-flex;align-items:center;gap:6px;font:600 .7rem/1 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
.live i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}
.inbox{position:relative;height:74px;border:1px dashed var(--line2);border-radius:14px;background:var(--surface2);margin-bottom:14px;display:flex;align-items:center;padding:0 12px}
.inbox .ph{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:8px}
.inbox .ph svg{width:16px;height:16px}
.mail{position:absolute;left:10px;right:10px;top:9px;height:54px;background:var(--surface);border:1px solid var(--line2);border-radius:11px;display:flex;align-items:center;gap:10px;padding:0 12px;box-shadow:var(--shadow);z-index:5;will-change:transform}
.mail .env{width:28px;height:28px;border-radius:8px;background:var(--bg2);display:grid;place-items:center;flex:none;color:var(--muted)}
.mail .env svg{width:16px;height:16px}
.mail .t{min-width:0;flex:1}
.mail .t b{display:block;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mail .t small{display:block;font:.7rem/1.3 "JetBrains Mono",monospace;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stamp{font:700 .7rem/1 "JetBrains Mono",monospace;padding:6px 8px;border-radius:7px;flex:none;transform:scale(0) rotate(-12deg);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.mail.stamped .stamp{transform:scale(1) rotate(0)}
.k-bg{background:var(--crit);color:#fff}.a-bg{background:var(--a-soft);color:var(--a)}.b-bg{background:var(--b-soft);color:var(--b)}.c-bg{background:var(--c-soft);color:var(--c)}
.bins{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.bin{border-radius:14px;background:var(--surface2);border:1px solid var(--line);padding:10px 8px 8px;min-width:0;transition:box-shadow .3s,border-color .3s}
.bin header{display:flex;flex-direction:column;gap:2px;padding:0 4px 8px;border-bottom:2px solid var(--cl);margin-bottom:8px}
.bin header span{font:600 .66rem/1.2 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--cl)}
.bin header b{font-size:1.9rem;line-height:1;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.bin.k{--cl:var(--crit)}.bin.a{--cl:var(--a)}.bin.b{--cl:var(--b)}.bin.c{--cl:var(--c)}
.bin.hit{border-color:var(--cl);box-shadow:0 0 0 3px color-mix(in srgb,var(--cl) 22%,transparent)}
.bin ul{list-style:none;display:flex;flex-direction:column;gap:6px;min-height:150px}
.bin li{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--cl);border-radius:8px;padding:6px 7px;font-size:.74rem;line-height:1.25;min-width:0}
.bin li b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bin li small{display:block;color:var(--muted);font:.64rem/1.3 "JetBrains Mono",monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bin li.new{animation:pop .5s cubic-bezier(.3,1.5,.5,1)}
@keyframes pop{from{transform:scale(.85);background:color-mix(in srgb,var(--cl) 20%,var(--surface))}}
.signal{display:flex;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface2);font-size:.85rem;color:var(--muted);transition:background .3s,border-color .3s,color .3s}
.signal .dot{position:relative;width:12px;height:12px;border-radius:50%;background:var(--line2);flex:none;transition:background .3s}
.signal .dot::before,.signal .dot::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--crit);opacity:0}
.signal.on{background:var(--crit-soft);border-color:var(--crit);color:var(--text)}
.signal.on .dot{background:var(--crit)}
.signal.on .dot::before{animation:ring 1.4s ease-out infinite}
.signal.on .dot::after{animation:ring 1.4s .7s ease-out infinite}
@keyframes ring{from{transform:scale(1);opacity:.9}to{transform:scale(3.4);opacity:0}}
.signal .msg{flex:1;min-width:0}
.signal b{color:var(--text)}
.signal .when{font:.7rem/1 "JetBrains Mono",monospace}

/* Sections */
section{padding:96px 0}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:48px}
.sec-head h2{margin-top:14px}
.sec-head p{color:var(--muted);font-size:1.08rem}

/* Stats */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);padding:36px 0}
.stats .row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat b{display:block;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.stat b sup{font-size:.4em;vertical-align:super;margin-left:4px;color:var(--muted);font-weight:600;letter-spacing:0}
.stat>span{display:block;margin-top:8px;color:var(--muted);font-size:.92rem;line-height:1.4}

/* Features */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 24px 24px;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;overflow:hidden}
.card::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--hl,var(--accent));transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.card:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:var(--shadow)}
.card:hover::after{transform:scaleX(1)}
.card p{color:var(--muted);margin-top:8px;font-size:.98rem}
.ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--bg2);color:var(--hl,var(--accent));margin-bottom:18px;transition:background .3s,transform .4s cubic-bezier(.3,1.6,.5,1)}
.ic svg{width:24px;height:24px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.card:hover .ic{background:color-mix(in srgb,var(--hl,var(--accent)) 16%,var(--surface));transform:scale(1.08)}
.card:hover .ic.swing svg{animation:swing .7s}
.card:hover .ic.spin svg{transform:rotate(90deg)}
.card:hover .ic.up svg{transform:translateY(-3px)}
@keyframes swing{20%{transform:rotate(16deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
.chips{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.chip{font:600 .7rem/1 "JetBrains Mono",monospace;padding:6px 8px;border-radius:6px}

/* Timeline */
.tl{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:8px}
.tl .track{position:absolute;left:28px;right:28px;top:27px;height:2px;background:var(--line)}
.tl .fill{position:absolute;inset:0;background:var(--accent);transform-origin:left;transform:scaleX(1)}
.tl.armed .fill{transform:scaleX(0)}
.tl.run .fill{transform:scaleX(1);transition:transform 2.4s cubic-bezier(.4,0,.2,1)}
.step{position:relative}
.num{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:700 1.1rem/1 "JetBrains Mono",monospace;background:var(--surface);border:2px solid var(--accent);color:var(--accent);transition:background .4s,color .4s,border-color .4s}
.tl.armed .num{border-color:var(--line2);color:var(--muted)}
.tl.run .num{border-color:var(--accent);color:var(--accent-ink);background:var(--accent)}
.tl.run .step:nth-child(2) .num{transition-delay:0s}.tl.run .step:nth-child(3) .num{transition-delay:1.1s}.tl.run .step:nth-child(4) .num{transition-delay:2.2s}
.step h3{margin:22px 0 8px;font-size:1.35rem}
.step p{color:var(--muted)}
.mini{margin-top:18px;height:84px;border-radius:14px;background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px}
.m-env{width:30px;height:22px;border:2px solid var(--muted);border-radius:4px;position:relative;animation:feed 3.2s ease-in-out infinite}
.m-env::after{content:"";position:absolute;left:3px;right:3px;top:2px;height:8px;border-bottom:2px solid var(--muted);border-right:2px solid var(--muted);transform:skewY(-28deg) rotate(0);border-left:2px solid var(--muted);border-bottom-left-radius:2px}
.m-env:nth-child(2){animation-delay:.5s}.m-env:nth-child(3){animation-delay:1s}
@keyframes feed{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.m-arrow{width:40px;height:2px;background:var(--line2);position:relative;overflow:hidden}
.m-arrow::after{content:"";position:absolute;inset:0;width:12px;background:var(--accent);animation:flow 1.6s linear infinite}
@keyframes flow{from{transform:translateX(-12px)}to{transform:translateX(40px)}}
.m-box{font:700 .7rem/1 "JetBrains Mono",monospace;padding:8px 10px;border-radius:8px;border:1px solid var(--line2)}
.m-tags span{display:inline-block;font:700 .72rem/1 "JetBrains Mono",monospace;padding:8px 10px;border-radius:7px;animation:bob 2.4s ease-in-out infinite}
.m-tags span:nth-child(2){animation-delay:.3s}.m-tags span:nth-child(3){animation-delay:.6s}.m-tags span:nth-child(4){animation-delay:.9s}
@keyframes bob{0%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}
.m-check{display:flex;flex-direction:column;gap:6px;width:72%}
.m-check div{display:flex;align-items:center;gap:8px;font-size:.74rem;color:var(--muted)}
.m-check i{width:14px;height:14px;border-radius:4px;border:2px solid var(--line2);flex:none;position:relative}
.m-check i::after{content:"";position:absolute;left:3px;top:0;width:4px;height:7px;border:solid var(--accent-ink);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .3s}
.m-check div{animation:tick 4.5s infinite}
.m-check div:nth-child(2){animation-delay:.9s}
.m-check div i{animation:tickbox 4.5s infinite}
.m-check div:nth-child(2) i{animation-delay:.9s}
@keyframes tickbox{0%,20%{background:transparent;border-color:var(--line2)}30%,90%{background:var(--accent);border-color:var(--accent)}100%{background:transparent;border-color:var(--line2)}}
@keyframes tick{0%,20%{color:var(--muted)}30%,90%{color:var(--text)}}

/* Windows */
.win-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.list{list-style:none;margin-top:22px;display:grid;gap:10px}
.list li{display:flex;gap:12px;align-items:flex-start}
.list li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:5px;background:var(--accent-soft);border:1px solid var(--accent);box-shadow:inset 0 0 0 4px var(--accent-soft);background-color:var(--accent)}
.app{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.app .tabs{display:flex;align-items:flex-end;gap:2px;padding:10px 10px 0;background:var(--bg2);border-bottom:1px solid var(--line);overflow:hidden}
.app .tab{font-size:.78rem;padding:8px 14px;border-radius:9px 9px 0 0;color:var(--muted);white-space:nowrap}
.app .tab.on{background:var(--surface);color:var(--text);font-weight:600;border:1px solid var(--line);border-bottom:0;margin-bottom:-1px}
.app .url{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font:.76rem/1 "JetBrains Mono",monospace;color:var(--muted)}
.app .url span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vpn{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-weight:600}
.vpn i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:blink 1.6s infinite}
.app .body{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}
.gauge{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--surface2)}
.gauge b{display:block;font-size:1.9rem;font-weight:800;letter-spacing:-.03em}
.gauge small{color:var(--muted);font-size:.8rem}
.gauge .spark{margin-top:10px;height:28px;width:100%}
.gauge .spark path{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:240;stroke-dashoffset:0;animation:draw 6s ease-in-out infinite}
@keyframes draw{0%{stroke-dashoffset:240}40%,100%{stroke-dashoffset:0}}
.gauge.al{grid-column:1/-1;display:flex;align-items:center;gap:12px;border-color:var(--crit);background:var(--crit-soft)}
.gauge.al .tag{font:700 .72rem/1 "JetBrains Mono",monospace;background:var(--crit);color:#fff;padding:6px 8px;border-radius:6px}

/* Security */
.sec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.sec-item{background:var(--surface);padding:26px 24px;transition:background .3s}
.sec-item:hover{background:var(--surface2)}
.sec-item h3{display:flex;align-items:center;gap:10px}
.sec-item h3 svg{width:20px;height:20px;color:var(--accent);flex:none}
.sec-item p{color:var(--muted);margin-top:8px;font-size:.96rem}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pills span{font:500 .78rem/1 "JetBrains Mono",monospace;padding:9px 12px;border:1px solid var(--line2);border-radius:99px;color:var(--muted)}

/* Contact */
.contact{padding:0 0 96px}
.cbox{position:relative;border-radius:24px;padding:56px 48px;background:var(--surface);border:1px solid var(--line);overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center}
.cbox::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;border:2px solid var(--accent);opacity:.25;animation:radar 4s ease-out infinite}
.cbox::after{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;border:2px solid var(--accent);opacity:.25;animation:radar 4s 2s ease-out infinite}
@keyframes radar{from{transform:scale(.4);opacity:.45}to{transform:scale(1.4);opacity:0}}
.cbox h2{font-size:clamp(2rem,4vw,3rem)}
.cbox p{color:var(--muted);margin-top:12px;font-size:1.08rem}
.mailto{display:inline-block;margin-top:18px;font:600 1.05rem/1.2 "JetBrains Mono",monospace;color:var(--accent);word-break:break-all}
.cbox .acts{position:relative;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cbox .acts small{color:var(--muted)}
footer{border-top:1px solid var(--line);padding:28px 0 calc(28px + env(safe-area-inset-bottom,0px));color:var(--muted);font-size:.88rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

@media (max-width:980px){
  nav.links{display:none}
  .bar .btn.sm{margin-left:auto}
  .hero-grid,.win-grid,.sec-head,.cbox{grid-template-columns:1fr}
  .hero{padding:48px 0 64px}
  .cards,.sec-grid{grid-template-columns:1fr 1fr}
  .stats .row{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  section{padding:68px 0}
  .bar{gap:10px}
  .brand{font-size:1.08rem}
  .cards,.sec-grid{grid-template-columns:1fr}
  .tl{grid-template-columns:1fr;gap:36px}
  .tl .track{left:27px;right:auto;top:28px;bottom:28px;width:2px;height:auto}
  .tl .fill{transform-origin:top}
  .tl.armed .fill{transform:scaleY(0)}
  .tl.run .fill{transform:scaleY(1)}
  .step{padding-left:76px}
  .num{position:absolute;left:0;top:0}
  .step h3{margin-top:12px}
  .board{padding:12px;border-radius:16px}
  .bins{gap:6px}
  .bin{padding:8px 5px 6px;border-radius:10px}
  .bin header{padding:0 2px 6px}
  .bin header span{font-size:.56rem;letter-spacing:.02em}
  .bin header b{font-size:1.45rem}
  .bin li{padding:5px;font-size:.66rem}
  .bin li small{display:none}
  .bin ul{min-height:110px}
  .cbox{padding:36px 22px}
  .app .body{grid-template-columns:1fr}
  .stats .row{gap:28px 16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .tl.armed .fill{transform:none}
}

/* Klasser i stället för inline-stilar (CSP tillåter inte style-attribut) */
.hl-acc{--hl:var(--accent)}.hl-crit{--hl:var(--crit)}.hl-c{--hl:var(--c)}.hl-b{--hl:var(--b)}
section.band{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mt14{margin-top:14px}.mt18{margin-top:18px}.pt0{padding-top:0}.rel{position:relative}.fg{color:var(--text)}
.app .url .vpn{flex:none}.m-box.acc{color:var(--accent);border-color:var(--accent)}
.cbox small a{color:var(--accent)}

/* Paket */
#paket{margin-bottom:96px}
.size-toggle{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:var(--surface);border:1px solid var(--line);margin-bottom:24px}
.size-toggle button{font:600 .9rem/1.2 "Bricolage Grotesque",sans-serif;padding:10px 14px;border-radius:9px;border:0;background:none;color:var(--muted);cursor:pointer}
.size-toggle button.on{background:var(--accent);color:var(--accent-ink)}
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.pkg{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px 24px 24px}
.pkg.pkg-hl{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}
.pkg-badge{position:absolute;top:-12px;left:24px;font:600 .7rem/1 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.08em;background:var(--accent);color:var(--accent-ink);padding:6px 10px;border-radius:99px}
.pkg h3{font-size:1.5rem}
.pkg-sub{color:var(--muted);margin-top:6px}
.pkg-size{margin-top:16px;font:600 .8rem/1.4 "JetBrains Mono",monospace;color:var(--accent)}
.pkg ul{list-style:none;margin:16px 0 24px;display:grid;gap:10px;flex:1;align-content:start}
.pkg li{display:flex;gap:10px;align-items:flex-start;font-size:.96rem}
.pkg li svg{width:18px;height:18px;flex:none;margin-top:3px;fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pkg .btn{justify-content:center}
@media (max-width:980px){.pkgs{grid-template-columns:1fr}}

/* Språkväljare */
.lang{position:relative;flex:none}
.lang summary{list-style:none;display:flex;align-items:center;gap:7px;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line2);background:var(--surface);color:var(--text);font-weight:700;font-size:.82rem;cursor:pointer}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover{border-color:var(--text)}
.flag{width:22px;height:14px;border-radius:3px;flex:none;box-shadow:0 0 0 1px var(--line)}
.lang-list{position:absolute;right:0;top:calc(100% + 8px);min-width:160px;padding:6px;border-radius:12px;border:1px solid var(--line2);background:var(--surface);box-shadow:0 18px 40px -16px rgba(0,0,0,.35);display:grid;gap:2px;z-index:60}
.lang-list a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--text);text-decoration:none;font-weight:500;font-size:.92rem}
.lang-list a:hover{background:var(--line)}
.lang-list a[aria-current]{font-weight:700}
@media (max-width:640px){.lang summary span{display:none}.lang summary{padding:0 9px}}
.lead.lead2{font-size:1rem;margin-top:14px}
.hero .ticks{display:grid;grid-template-columns:repeat(2,max-content);gap:8px 22px}
@media (max-width:640px){.hero .ticks{grid-template-columns:1fr}}
