/* =====================================================================
   Design system — NRGT on Material 3 (dark · volt)
   The tokens (md-ref palettes → md-sys roles → md-comp components) come
   from _src/tokens.py: build.py writes them into tokens.css, loaded before
   this file. Here: the short names the components use for the same roles.
   Reference for developers: design.html (header tab for the admin, ?dev=1).
   ===================================================================== */
:root{
  --bg:var(--md-sys-color-surface); --s1:var(--md-sys-color-surface-container-low); --s2:var(--md-sys-color-surface-container);
  --s3:var(--md-sys-color-surface-container-high); --s4:var(--md-sys-color-surface-container-highest);
  --line:var(--md-sys-color-outline-variant); --line2:var(--md-sys-color-outline-faint);
  --tx:var(--md-sys-color-on-surface); --mu:var(--md-sys-color-on-surface-variant); --dim:var(--md-sys-color-outline);
  --volt:var(--md-sys-color-primary); --cyan:var(--md-sys-color-secondary); --warn:var(--md-sys-color-tertiary); --err:var(--md-sys-color-error);
  --chg:var(--md-ext-color-charge); --dis:var(--md-ext-color-discharge);
  --ease:cubic-bezier(.2,.8,.2,1); --hdr:74px;
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .28s var(--ease) both}
::view-transition-new(root){animation:vt-in .42s var(--ease) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%;scrollbar-gutter:stable}  /* the scrollbar slot is always kept: the fixed header does not change width between short and long pages or with the menu open */
body{margin:0;background:var(--bg);color:var(--tx);font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,select,input,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,.h1,.h2,.h3,.h2s,.marq span,.tier__price,.book__t,.plan__t{font-family:var(--md-ref-typeface-brand)}  /* M3 brand face: display, headline, title */
img,svg{display:block}
::selection{background:var(--volt);color:var(--bg)}
:focus-visible{outline:2px solid var(--volt);outline-offset:3px}
.wrap{max-width:1320px;margin:0 auto;padding:0 40px}
@media(max-width:760px){.wrap{padding:0 18px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eyebrow{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--mu);margin:0}
.eyebrow b{color:var(--volt);font-weight:var(--md-ref-typeface-weight-medium)}
.demo{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;color:#0B0E0D;background:var(--warn);vertical-align:middle;white-space:nowrap}
.muted{color:var(--mu)}
.mono{font-family:var(--md-ref-typeface-mono)}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--md-comp-filled-button-container-height);padding:0 26px;border-radius:var(--md-comp-filled-button-container-shape);font:var(--md-comp-filled-button-label-text-font);letter-spacing:var(--md-sys-typescale-label-large-tracking);cursor:pointer;border:0;transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease);will-change:transform;white-space:nowrap}
.btn--sm{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);height:var(--md-comp-filled-button-container-height-small);padding:0 18px;border-radius:var(--md-comp-filled-button-container-shape-small)}
.btn--volt{background:var(--md-comp-filled-button-container-color);color:var(--md-comp-filled-button-label-text-color)}
.btn--volt:hover{box-shadow:0 10px 40px -8px rgba(201,242,92,.55)}
.btn--ghost{background:transparent;color:var(--md-comp-outlined-button-label-text-color);box-shadow:inset 0 0 0 1px var(--md-comp-outlined-button-outline-color)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1px var(--md-comp-outlined-button-hover-outline-color)}
.btn--block{width:100%}
.btn svg{transition:transform .35s var(--ease)}
.btn:hover svg.arr{transform:translateX(3px)}
.icon-btn{width:var(--md-comp-icon-button-container-size);height:var(--md-comp-icon-button-container-size);border-radius:var(--md-comp-icon-button-container-shape);border:0;background:var(--md-comp-icon-button-container-color);color:var(--md-comp-icon-button-icon-color);display:grid;place-items:center;cursor:pointer;transition:background .2s,box-shadow .2s;flex:none}
.icon-btn:hover{background:#2A3530}
.link{color:var(--volt);font-weight:var(--md-ref-typeface-weight-medium);display:inline-flex;align-items:center;gap:6px}
.link:hover{text-decoration:underline;text-underline-offset:4px}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .4s var(--ease),border-color .4s;border-bottom:1px solid transparent}
.hdr.is-solid,.hdr.is-open{background:rgba(11,14,13,.8);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line2)}
.hdr__in{height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo{display:flex;align-items:center;gap:10px;color:var(--tx);flex:none}
.logo__word{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);font-weight:var(--md-ref-typeface-weight-bold);white-space:nowrap}
.nav{display:flex;gap:4px}
.nav a{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);position:relative;height:38px;display:flex;align-items:center;padding:0 12px;border-radius:10px;color:var(--mu);transition:color .2s,background .2s;white-space:nowrap}
.nav a:hover{color:var(--tx);background:rgba(255,255,255,.03)}
.nav a[aria-current="page"]{color:var(--tx)}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:var(--volt)}
.nav a.nav__dev,.mnav a.nav__dev{display:none}
.is-dev .nav a.nav__dev,.is-dev .mnav a.nav__dev{display:flex}
.nav a.nav__dev{color:var(--cyan)}
.hdr__r{display:flex;align-items:center;gap:10px;flex:none}
.lang{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);background:none;border:0;color:var(--tx);cursor:pointer;padding:8px 4px}
.lang span{color:var(--mu)}
.acct{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);color:var(--tx);transition:box-shadow .2s}
.acct:hover{box-shadow:inset 0 0 0 1px var(--mu)}
.acct[aria-current="page"]{box-shadow:inset 0 0 0 1px var(--volt)}
.burger{display:none;width:42px;height:42px;border-radius:11px;border:0;background:var(--s2);color:var(--tx);cursor:pointer;place-items:center}
.mnav{position:fixed;inset:var(--hdr) 0 0 0;z-index:59;background:rgba(11,14,13,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:24px 18px 40px;display:flex;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;overflow-y:auto}
.mnav.is-open{opacity:1;visibility:visible;transform:none}
.mnav a{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);display:flex;justify-content:space-between;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line2)}
.mnav a[aria-current="page"]{color:var(--volt)}
.mnav a small{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);font-weight:var(--md-ref-typeface-weight-regular);color:var(--mu);text-transform:uppercase}
.mnav .btn{margin-top:24px}
@media(max-width:1180px){.nav{display:none}.burger{display:grid}}
@media(max-width:560px){.hdr .btn--sm,.lang{display:none}}

/* page hero (inner pages) */
.phero{padding:calc(var(--hdr) + 70px) 0 50px;position:relative;overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 60% 90% at 30% 0%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse 60% 90% at 30% 0%,#000 10%,transparent 70%)}
.crumbs{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);display:flex;gap:8px;text-transform:uppercase;color:var(--dim);margin-bottom:22px}
.crumbs a:hover{color:var(--tx)}
.phero h1{font:var(--md-sys-typescale-display-medium);letter-spacing:var(--md-sys-typescale-display-medium-tracking);margin:0;max-width:980px}
.phero h1 em{font-style:normal;color:var(--volt)}
.phero p.lead{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:22px 0 0;max-width:640px;color:var(--mu)}
@media(max-width:760px){.phero{padding:calc(var(--hdr) + 36px) 0 30px}}

/* sections */
.sec{padding:120px 0;position:relative}
.sec--tight{padding:70px 0}
.sec__head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px;flex-wrap:wrap}
.h2{font:var(--md-sys-typescale-display-small);letter-spacing:var(--md-sys-typescale-display-small-tracking);margin:14px 0 0;max-width:860px}
.h2 em{font-style:normal;color:var(--volt)}
.h3{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);margin:0}
.lead{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);max-width:440px;margin:0;color:var(--mu)}
@media(max-width:760px){.sec{padding:80px 0}.sec__head{margin-bottom:32px}}
.panel{background:var(--s1);border-radius:22px;box-shadow:inset 0 0 0 1px var(--line2)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1020px){.grid3,.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}

/* hero (home) */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--hdr) + 30px) 0 50px;overflow:hidden;isolation:isolate}
.hero__grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 62% 50%,#000 20%,transparent 72%);mask-image:radial-gradient(ellipse 70% 70% at 62% 50%,#000 20%,transparent 72%)}
.hero__glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(640px circle at var(--mx,70%) var(--my,50%),rgba(201,242,92,.08),transparent 62%);pointer-events:none}
.hero__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:center;width:100%}
.pill{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);display:inline-flex;align-items:center;gap:10px;height:34px;padding:0 14px;border-radius:40px;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line);color:var(--mu)}
.pill__dot{width:7px;height:7px;border-radius:50%;background:var(--volt);animation:ping 2.2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(201,242,92,.55)}70%{box-shadow:0 0 0 10px rgba(201,242,92,0)}100%{box-shadow:0 0 0 0 rgba(201,242,92,0)}}
.h1{font:var(--md-sys-typescale-display-large);letter-spacing:var(--md-sys-typescale-display-large-tracking);margin:26px 0 0}
.h1 em{font-style:normal;color:var(--volt);text-shadow:0 0 48px rgba(201,242,92,.35)}
.hero__sub{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:24px 0 0;max-width:500px;color:var(--mu)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.live{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;margin:38px 0 0;padding:0}
.live>div{padding:0 24px;border-left:1px solid var(--line)}
.live>div:first-child{padding-left:0;border-left:0}
.live dt{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--mu)}
.live dd{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);margin:7px 0 0;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px;white-space:nowrap}
.live .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);transition:background .4s,box-shadow .4s}
.live__note{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);margin:12px 0 0;color:var(--dim)}
.hero__art{position:relative;height:min(640px,76svh);border-radius:26px}
@media(max-width:1020px){.hero{min-height:0}.hero__in{grid-template-columns:1fr}.hero__art{height:440px;order:2}.live{display:none}.live__note{display:none}}

/* 3D stage + hover card (shared by home / calculator / equipment) */
.stage{position:relative;overflow:hidden;border-radius:22px;background:radial-gradient(900px 520px at 55% 60%,#141C18,#0B0E0D 72%);box-shadow:inset 0 0 0 1px var(--line2);touch-action:pan-y}
.stage canvas.gl{position:absolute;inset:0;width:100%;height:100%;display:block}
.stage__load{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);transition:opacity .5s}
.stage__load.is-gone{opacity:0;pointer-events:none}
.stage__hint{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);position:absolute;left:16px;bottom:14px;z-index:4;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:30px;background:rgba(11,14,13,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px var(--line);color:var(--mu);pointer-events:none}
.stage__hint i{width:6px;height:6px;border-radius:50%;background:var(--volt);box-shadow:0 0 8px var(--volt)}
.pcard{position:absolute;left:0;top:0;z-index:6;width:290px;padding:16px 16px 14px;border-radius:16px;background:rgba(11,14,13,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(201,242,92,.35),0 30px 60px -20px rgba(0,0,0,.7);opacity:0;transform:translateY(8px) scale(.98);transition:opacity .25s var(--ease),transform .35s var(--ease);pointer-events:none}
.pcard.is-on{opacity:1;transform:none}
.pcard.is-pinned{pointer-events:auto}
.pcard__k{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--volt)}
.pcard__t{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking);margin:6px 0 0}
.pcard__q{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:inline-flex;margin-left:6px;color:var(--mu)}
.pcard__d{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:8px 0 0;color:var(--mu)}
.pcard dl{margin:10px 0 0;display:grid;gap:0}
.pcard dl div{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-top:1px solid var(--line2)}
.pcard dt{color:var(--mu)}
.pcard dd{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);margin:0;text-align:right}
.pcard__cost{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
.pcard__cost b{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);color:var(--volt)}
@media(max-width:700px){.pcard{width:auto;left:10px!important;right:10px;top:auto!important;bottom:10px;transform:translateY(8px)}.pcard.is-on{transform:none}}

/* forms & controls */
.f__l{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;color:var(--mu)}
.f__l output{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);color:var(--tx);font-variant-numeric:tabular-nums;white-space:nowrap}
.seg{display:flex;padding:3px;border-radius:var(--md-comp-segmented-button-container-shape);background:var(--md-comp-segmented-button-container-color);box-shadow:inset 0 0 0 1px var(--md-comp-segmented-button-outline-color);gap:2px}
.seg button{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);flex:1;border:0;background:transparent;height:38px;padding:0 8px;border-radius:9px;color:var(--md-comp-segmented-button-label-text-color);cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.seg button:hover{color:var(--tx)}
.seg button[aria-pressed="true"]{background:var(--md-comp-segmented-button-selected-container-color);color:var(--tx);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--md-comp-segmented-button-selected-outline-color) 45%,transparent)}
.select{position:relative;flex:1}
.select select{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);width:100%;height:44px;appearance:none;-webkit-appearance:none;border:0;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);padding:0 36px 0 14px;color:var(--tx);cursor:pointer}
.select::after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:1.6px solid var(--mu);border-bottom:1.6px solid var(--mu);transform:translateY(-70%) rotate(45deg);pointer-events:none;transition:transform var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-standard)}
/* M3 exposed dropdown (ui.js): the native <select> keeps the size and the value, a button over it opens the menu */
.select--ui select{opacity:0;pointer-events:none}
.select__btn{position:absolute;inset:0;display:flex;align-items:center;width:100%;padding:0 36px 0 14px;border:0;border-radius:var(--md-comp-text-field-container-shape);background:var(--md-comp-text-field-container-color);box-shadow:inset 0 0 0 1px var(--md-comp-text-field-outline-color);color:var(--md-comp-text-field-input-text-color);text-align:left;cursor:pointer;transition:box-shadow var(--md-sys-motion-duration-short),background var(--md-sys-motion-duration-short)}
.select__btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select__btn:hover{box-shadow:inset 0 0 0 1px var(--dim)}
.select__btn[aria-expanded="true"]{box-shadow:inset 0 0 0 1.5px var(--volt)}
.select__btn:disabled{opacity:.45;cursor:default;box-shadow:inset 0 0 0 1px var(--line)}
.select--ui.is-open::after{transform:translateY(-30%) rotate(-135deg);border-color:var(--volt)}
.select--ui:has(:disabled)::after{opacity:.45}
/* M3 menu */
.menu{position:fixed;z-index:200;min-width:160px;max-height:min(360px,60vh);overflow:auto;padding:6px;border-radius:var(--md-comp-menu-container-shape);background:var(--md-comp-menu-container-color);box-shadow:var(--md-comp-menu-container-elevation),inset 0 0 0 1px var(--line);scrollbar-width:thin;scrollbar-color:#34413B transparent;transform-origin:top;animation:menu-in var(--md-sys-motion-duration-medium) var(--md-sys-motion-easing-emphasized-decelerate)}
.menu.is-up{transform-origin:bottom}
@keyframes menu-in{from{opacity:0;transform:scaleY(.86) translateY(-4px)}}
.menu__i{position:relative;display:flex;align-items:center;gap:12px;min-height:var(--md-comp-menu-item-height);padding:0 14px 0 12px;border-radius:var(--md-comp-menu-item-shape);font:var(--md-comp-menu-item-label-text-font);letter-spacing:var(--md-sys-typescale-label-medium-tracking);color:var(--tx);cursor:pointer;outline:0;white-space:nowrap}
.menu__i::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--tx);opacity:0;transition:opacity var(--md-sys-motion-duration-short)}
.menu__i:hover::before{opacity:var(--md-sys-state-hover)}
.menu__i:focus-visible::before{opacity:var(--md-sys-state-focus)}
.menu__i:active::before{opacity:var(--md-sys-state-pressed)}
.menu__i svg{flex:none;opacity:0;color:var(--volt)}
.menu__i[aria-selected="true"]{background:var(--md-comp-menu-selected-item-container-color);color:var(--md-comp-menu-selected-item-label-text-color)}
.menu__i[aria-selected="true"] svg{opacity:1}
.menu__i[aria-disabled="true"]{opacity:.38;cursor:default}
.menu__i[aria-disabled="true"]::before{display:none}
.menu__g{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);padding:10px 12px 4px;text-transform:uppercase;color:var(--dim)}
.rm .menu{animation:none}
.input,.textarea{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);width:100%;height:var(--md-comp-text-field-container-height);border:0;border-radius:var(--md-comp-text-field-container-shape);background:var(--md-comp-text-field-container-color);box-shadow:inset 0 0 0 1px var(--md-comp-text-field-outline-color);padding:0 14px;color:var(--md-comp-text-field-input-text-color);transition:box-shadow .2s}
.textarea{height:auto;min-height:110px;padding:12px 14px;resize:vertical}
.input:focus,.textarea:focus{outline:0;box-shadow:inset 0 0 0 1px var(--md-comp-text-field-focus-outline-color)}
.input::placeholder,.textarea::placeholder{color:var(--md-comp-text-field-placeholder-color)}
label.lbl{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:block;color:var(--mu);margin-bottom:8px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:24px;margin:0;background:transparent;--p:50%;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:var(--md-comp-slider-track-height);border-radius:4px;background:linear-gradient(var(--md-comp-slider-active-track-color),var(--md-comp-slider-active-track-color)) 0/var(--p) 100% no-repeat,var(--md-comp-slider-inactive-track-color)}
input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:var(--line)}
input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--volt)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:var(--md-comp-slider-handle-size);height:var(--md-comp-slider-handle-size);margin-top:-7px;border-radius:50%;background:var(--md-comp-slider-handle-color);box-shadow:0 0 0 4px rgba(201,242,92,.15),0 0 14px rgba(201,242,92,.5)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--volt)}
details.adv summary{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);list-style:none;cursor:pointer;text-transform:uppercase;color:var(--mu);display:flex;align-items:center;gap:8px}
details.adv summary::-webkit-details-marker{display:none}
details.adv summary svg{transition:transform .25s}
details.adv[open] summary svg{transform:rotate(90deg)}
details.adv .f{margin-top:16px}
.hint{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--dim);margin:0}
.hint b{color:var(--mu);font-weight:var(--md-ref-typeface-weight-medium)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:var(--md-comp-filter-chip-container-height);padding:0 14px;border-radius:var(--md-comp-filter-chip-container-shape);border:0;background:transparent;box-shadow:inset 0 0 0 1px var(--md-comp-filter-chip-outline-color);color:var(--md-comp-filter-chip-label-text-color);cursor:pointer;transition:box-shadow .2s,color .2s,background .2s;white-space:nowrap}
.chip:hover{color:var(--tx)}
.chip[aria-pressed="true"]{color:var(--md-comp-filter-chip-selected-label-text-color);background:var(--md-comp-filter-chip-selected-container-color);box-shadow:none}

/* calculator */
.calc{display:grid;grid-template-columns:370px minmax(0,1fr);gap:16px;align-items:start}
.inputs{padding:22px;display:grid;gap:20px;position:sticky;top:calc(var(--hdr) + 16px)}
.region{display:flex;gap:8px}
.geo{height:44px;width:44px;border:0;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;cursor:pointer;color:var(--tx);flex:none}
.geo:hover{box-shadow:inset 0 0 0 1px var(--volt)}
.geo.is-busy svg{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.osr{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);margin-top:8px;color:var(--dim)}
.work{display:grid;gap:16px;min-width:0;position:relative}
:root{--cash:#3DDC84;--cash-glow:rgba(61,220,132,.55);--loss:#FF5A5F;--loss-glow:rgba(255,90,95,.5)}
.hchip{font:var(--md-sys-typescale-number-small);letter-spacing:var(--md-sys-typescale-number-small-tracking);font-weight:var(--md-ref-typeface-weight-heavy);transform-origin:0 50%;position:absolute;z-index:5;pointer-events:none;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--cash);text-shadow:0 0 14px var(--cash-glow),0 2px 0 rgba(0,0,0,.6);will-change:transform,opacity}
.hchip--neg{color:var(--loss);text-shadow:0 0 14px var(--loss-glow),0 2px 0 rgba(0,0,0,.6)}
.ledger .sum.is-hit{animation:sumHit .5s var(--ease)}
.ledger .sum.is-hit--neg{animation:sumHitNeg .45s var(--ease)}
.ledger .sum.is-hit dd{animation:cashHit .5s var(--ease)}
@keyframes sumHit{40%{box-shadow:inset 0 0 0 1px var(--cash),0 0 24px var(--cash-glow)}}
@keyframes sumHitNeg{40%{box-shadow:inset 0 0 0 1px var(--loss),0 0 22px var(--loss-glow)}}
@keyframes cashHit{30%{text-shadow:0 0 18px var(--cash-glow)}}
.ledger .sum.is-hit--neg dd{animation:lossHit .5s var(--ease)}
@keyframes lossHit{30%{text-shadow:0 0 18px var(--loss-glow)}}
.plan{height:600px}
.hud{position:absolute;left:16px;right:16px;top:14px;z-index:5;display:flex;align-items:flex-start;gap:12px;pointer-events:none}
.hud>*{pointer-events:auto}
.hud__time{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;border-radius:16px;background:rgba(11,14,13,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px var(--line)}
.clock{font:var(--md-sys-typescale-number);letter-spacing:var(--md-sys-typescale-number-tracking);font-variant-numeric:tabular-nums}
.clock span{color:var(--volt)}
.status{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 11px;border-radius:30px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.status i{width:8px;height:8px;border-radius:50%;background:var(--mu)}
.status[data-m="chg"] i{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.status[data-m="dis"] i{background:var(--volt);box-shadow:0 0 10px var(--volt)}
.status b{font-family:var(--md-ref-typeface-mono);font-weight:var(--md-ref-typeface-weight-medium)}
.hud__cfg{margin-left:auto;padding:10px 14px;border-radius:14px;background:rgba(11,14,13,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px var(--line);text-align:right}
.hud__cfg small{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);display:block;text-transform:uppercase;color:var(--mu)}
.hud__cfg b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:block;margin-top:4px}
.soc{display:flex;align-items:center;gap:10px;margin-top:8px;justify-content:flex-end}
.soc__bar{width:110px;height:6px;border-radius:6px;background:var(--line);overflow:hidden}
.soc__bar i{display:block;height:100%;width:var(--soc,10%);background:var(--volt);box-shadow:0 0 10px var(--volt);border-radius:6px;transition:width .2s linear}
.soc span{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);min-width:36px}
.flowlbl{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);position:absolute;left:0;top:0;z-index:4;padding:4px 9px;border-radius:20px;white-space:nowrap;background:rgba(11,14,13,.8);box-shadow:inset 0 0 0 1px var(--line);opacity:0;transition:opacity .3s;pointer-events:none}
.flowlbl.is-on{opacity:1}
.flowlbl[data-m="chg"]{color:var(--cyan);box-shadow:inset 0 0 0 1px rgba(87,217,232,.45)}
.flowlbl[data-m="dis"]{color:var(--volt);box-shadow:inset 0 0 0 1px rgba(201,242,92,.45)}
.flowlbl[data-m="idle"]{color:var(--mu)}
.daycard{position:absolute;inset:0;z-index:7;display:grid;place-items:center;background:rgba(11,14,13,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .45s var(--ease)}
.daycard.is-on{opacity:1}
.daycard__in{text-align:center;padding:24px;transform:translateY(12px);transition:transform .6s var(--ease)}
.daycard.is-on .daycard__in{transform:none}
.daycard small{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--mu)}
.daycard b{font:var(--md-sys-typescale-display-medium);letter-spacing:var(--md-sys-typescale-display-medium-tracking);display:block;margin-top:10px;color:var(--volt);text-shadow:0 0 50px rgba(201,242,92,.35)}
.daycard p{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:14px 0 0;color:var(--mu)}
.daycard p span{color:var(--tx);font-family:var(--md-ref-typeface-mono)}
.charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;position:relative}
.ch{margin:0;background:var(--s1);border-radius:18px;box-shadow:inset 0 0 0 1px var(--line2);padding:14px 16px 8px}
.ch__h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:0 2px 4px;flex-wrap:wrap}
.ch__t{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking)}
.ch__u{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);color:var(--mu)}
.ch{position:relative}
.ch__msg{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);margin:0;padding:7px 12px;border-radius:10px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line);color:var(--mu);white-space:nowrap;pointer-events:none}
.ch__msg[hidden]{display:none}
#svP:focus-visible{outline:2px solid var(--volt);outline-offset:4px;border-radius:6px}
#svP.is-empty{cursor:default}
.pdot-halo{transform-box:fill-box;transform-origin:center;animation:halo 1.8s ease-in-out infinite}
@keyframes halo{50%{transform:scale(1.45);opacity:.35}}
@media(prefers-reduced-motion:reduce){.pdot-halo{animation:none}}
.ctag.is-load::before{content:"";width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--cyan);animation:ldot 1s ease-in-out infinite alternate}
@keyframes ldot{from{opacity:.25}to{opacity:1}}
.ch svg{display:block;width:100%;height:auto;overflow:visible;cursor:crosshair}
.lgd{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:flex;gap:14px;color:var(--mu)}
.lgd span{display:inline-flex;align-items:center;gap:6px}
.lgd i{width:10px;height:10px;border-radius:3px}
.tip{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);position:absolute;pointer-events:none;z-index:6;background:#050706;border:1px solid var(--line);border-radius:10px;padding:10px 12px;opacity:0;transform:translate(-50%,calc(-100% - 10px));transition:opacity .15s;white-space:nowrap}
.tip.is-on{opacity:1}
.tip__h{font-family:var(--md-ref-typeface-mono);color:var(--mu);margin-bottom:6px}
.tip__r{display:flex;align-items:center;gap:8px;margin-top:3px}
.tip__k{width:14px;height:2px;border-radius:2px}
.tip__v{font-weight:var(--md-ref-typeface-weight-semibold);font-variant-numeric:tabular-nums}
.tip__n{color:var(--mu)}
.ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.ledger>div{border-radius:16px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);padding:14px 16px}
.ledger dt{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu);display:flex;align-items:center;gap:7px}
.ledger dt i{width:8px;height:8px;border-radius:2px}
.ledger dd{font:var(--md-sys-typescale-number-small);letter-spacing:var(--md-sys-typescale-number-small-tracking);margin:6px 0 0;font-variant-numeric:tabular-nums}
.ledger .sum{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cash) 40%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--cash) 9%,transparent),transparent 60%),var(--s1)}
.ledger .sum dd{color:var(--cash);font-weight:var(--md-ref-typeface-weight-heavy);width:max-content;transform-origin:0 50%}
.ledger .sum{transition:box-shadow .35s var(--ease),background .35s var(--ease)}
.ledger .sum.is-neg{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--loss) 45%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--loss) 10%,transparent),transparent 60%),var(--s1)}
.ledger .sum.is-neg dd{color:var(--loss)}
.results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;margin-top:16px}
.res{padding:16px 18px}
.res span{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:block;color:var(--mu)}
.res b{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);display:block;margin-top:6px;white-space:nowrap}
.res small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-top:4px;color:var(--dim)}
.res--cta{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:16px 18px;background:linear-gradient(160deg,rgba(201,242,92,.10),transparent 70%),var(--s1);box-shadow:inset 0 0 0 1px rgba(201,242,92,.3);border-radius:22px}
.res--cta p{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:0;color:var(--mu);max-width:230px}
.srcs{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);margin:14px 0 0;color:var(--dim)}
.costs{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);width:100%;border-collapse:collapse}
.costs th{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-align:left;text-transform:uppercase;color:var(--mu);padding:0 14px 12px;border-bottom:1px solid var(--line)}
.costs td{padding:14px;border-bottom:1px solid var(--line2);vertical-align:middle}
.costs tbody tr{transition:background .2s;cursor:default}
.costs tbody tr[data-key]{cursor:pointer}
.costs tbody tr:hover,.costs tbody tr.is-hot{background:rgba(201,242,92,.05)}
.costs td.n{font-family:var(--md-ref-typeface-mono);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.costs .nm b{display:block;font-weight:var(--md-ref-typeface-weight-semibold)}
.costs .nm small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-top:3px;color:var(--mu)}
.costs .bar{height:6px;border-radius:6px;background:var(--line);overflow:hidden;min-width:80px}
.costs .bar i{display:block;height:100%;background:var(--dis);border-radius:6px}
.costs tfoot td{padding-top:16px;font-weight:var(--md-ref-typeface-weight-semibold);border-bottom:0}
@media(max-width:1180px){.calc{grid-template-columns:1fr}.inputs{position:static}.results{grid-template-columns:repeat(2,minmax(0,1fr))}.res--cta{grid-column:span 2}}
@media(max-width:760px){.plan{height:420px}.charts{grid-template-columns:1fr}.hud{flex-wrap:wrap}.hud__cfg{margin-left:0;text-align:left}.soc{justify-content:flex-start}.clock{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}.ledger{grid-template-columns:1fr}.ledger dd{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}.results{grid-template-columns:1fr 1fr}.res b{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}.costs .hide-sm{display:none}}

/* bento / cards / tiers / marquee / final (from A) */
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(240px,auto);gap:16px}
.card{position:relative;background:var(--s1);border-radius:22px;padding:30px;overflow:hidden;isolation:isolate;box-shadow:inset 0 0 0 1px var(--line2);display:flex;flex-direction:column}
.card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(380px circle at var(--x,50%) var(--y,50%),rgba(201,242,92,.10),transparent 45%);opacity:0;transition:opacity .4s}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:radial-gradient(260px circle at var(--x,50%) var(--y,50%),rgba(201,242,92,.55),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s;pointer-events:none}
.card:hover::before,.card:hover::after{opacity:1}
.card--big{grid-row:span 2}
.card__ic{width:48px;height:48px;border-radius:14px;background:rgba(201,242,92,.08);box-shadow:inset 0 0 0 1px rgba(201,242,92,.22);display:grid;place-items:center;color:var(--volt);flex:none}
.card__ic path,.card__ic circle,.card__ic rect{stroke-dasharray:1;stroke-dashoffset:1}
.card.is-in .card__ic path,.card.is-in .card__ic circle,.card.is-in .card__ic rect{animation:draw 1.2s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.card h3{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);margin:24px 0 0}
.card p{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:10px 0 0;color:var(--mu)}
.card .link{margin-top:auto;padding-top:22px}
.outage{margin-top:auto;padding-top:30px;display:grid;gap:18px}
.outage__row{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);display:grid;grid-template-columns:92px 1fr;align-items:center;gap:14px;text-transform:uppercase;color:var(--mu)}
.outage__line{position:relative;height:2px;border-radius:2px;background:var(--line);overflow:hidden}
.outage__line i{position:absolute;inset:0;border-radius:2px}
.outage__line--grid i{background:var(--mu);animation:cut 4s infinite}
.outage__line--site i{background:var(--volt);box-shadow:0 0 12px var(--volt)}
.outage__line--site::after{content:"";position:absolute;top:-3px;width:40px;height:8px;background:radial-gradient(closest-side,#fff,transparent);animation:run 1.8s linear infinite}
@keyframes cut{0%,28%{clip-path:inset(0 0 0 0)}34%,72%{clip-path:inset(0 0 0 100%)}78%,100%{clip-path:inset(0 0 0 0)}}
@keyframes run{from{left:-40px}to{left:100%}}
@media(max-width:1020px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.card--big{grid-row:span 1;grid-column:span 2}}
@media(max-width:620px){.bento{grid-template-columns:1fr}.card--big{grid-column:span 1}.card{padding:24px}}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.tier{position:relative;background:var(--s1);border-radius:22px;padding:32px 30px;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px var(--line2)}
.tier--hot{background:linear-gradient(var(--s1),var(--s1)) padding-box,conic-gradient(from var(--ang),rgba(201,242,92,.05),var(--volt),rgba(87,217,232,.6),rgba(201,242,92,.05) 60%) border-box;border:1px solid transparent;box-shadow:0 30px 80px -40px rgba(201,242,92,.35);animation:rot 6s linear infinite}
@keyframes rot{to{--ang:360deg}}
.tier__lvl{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--mu)}
.tier--hot .tier__lvl{color:var(--volt)}
.tier__price{font:var(--md-sys-typescale-display-small);letter-spacing:var(--md-sys-typescale-display-small-tracking);margin:18px 0 0}
.tier__price small{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);font-weight:var(--md-ref-typeface-weight-medium);color:var(--mu)}
.tier h3{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);margin:14px 0 0}
.tier ul{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px;color:var(--mu)}
.tier li{display:flex;gap:10px;align-items:flex-start}
.tier li::before{content:"";flex:none;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--volt)}
.tier .btn{margin-top:auto;width:100%}
.tier__sp{flex:1;min-height:28px}
@media(max-width:1020px){.tiers{grid-template-columns:1fr}}
.marq{display:flex;white-space:nowrap;margin-top:18px;user-select:none;overflow:hidden}
.marq__track{display:flex;flex:none;gap:46px;padding-right:46px;animation:marq 60s linear infinite}
.marq--rev .marq__track{animation-direction:reverse;animation-duration:70s}
.marq span{font:var(--md-sys-typescale-display-small);letter-spacing:var(--md-sys-typescale-display-small-tracking)}
.marq span:nth-child(odd){color:transparent;-webkit-text-stroke:1px #3A4741}
@keyframes marq{to{transform:translateX(-100%)}}
.final{text-align:center;padding:160px 0 140px;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;left:50%;top:50%;width:900px;height:900px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(201,242,92,.14),transparent);filter:blur(10px);animation:breathe 6s ease-in-out infinite;z-index:-1}
@keyframes breathe{50%{transform:translate(-50%,-50%) scale(1.12);opacity:.7}}
.final h2{font:var(--md-sys-typescale-display-large);letter-spacing:var(--md-sys-typescale-display-large-tracking);margin:0 auto;max-width:1000px}
.final p{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:24px auto 0;max-width:520px;color:var(--mu)}
.final .btn{margin-top:36px}

/* steps (how it works) */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:st}
.step{position:relative;padding:28px;border-radius:22px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2)}
.step__n{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);color:var(--volt)}
.step h3{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);margin:14px 0 0}
.step p{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:10px 0 0;color:var(--mu)}
.step .link{margin-top:18px}
@media(max-width:900px){.steps{grid-template-columns:1fr}}

/* equipment */
.eq{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:stretch}
.eq .stage{height:600px}
.spec{padding:26px 26px 22px;display:flex;flex-direction:column}
.spec__k{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--volt)}
.spec h2{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);margin:10px 0 0}
.spec dl{margin:20px 0 0;display:grid;border-top:1px solid var(--line)}
.spec dl div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line2)}
.spec dt{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);color:var(--mu)}
.spec dd{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);margin:0;text-align:right}
.spec__parts{margin-top:18px}
.spec__parts h4{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:0 0 10px;text-transform:uppercase;color:var(--mu)}
.spec__cta{margin-top:auto;padding-top:22px;display:flex;gap:10px;flex-wrap:wrap}
.cat{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:22px}
.pc{position:relative;text-align:left;border:0;background:var(--s1);border-radius:18px;padding:18px;box-shadow:inset 0 0 0 1px var(--line2);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:box-shadow .2s,transform .3s var(--ease);color:var(--tx)}
.pc:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--mu)}
.pc[aria-pressed="true"]{box-shadow:inset 0 0 0 1px var(--volt)}
.pc__ic{height:96px;border-radius:12px;background:radial-gradient(circle at 50% 70%,#1A231F,#0E1311);display:grid;place-items:center;margin-bottom:8px}
.pc__k{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--mu)}
.pc b{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}
.pc small{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu)}
@media(max-width:1020px){.eq{grid-template-columns:1fr}.eq .stage{height:440px}}

/* handbook */
.book3d{position:relative;height:520px;display:grid;place-items:center;perspective:1800px}
.chap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.chap article{padding:24px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2)}
.chap .n{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);color:var(--volt)}
.chap h3{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);margin:10px 0 0}
.chap p{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-light);margin:8px 0 0;color:var(--mu)}
.chap .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.chap .tags span{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);padding:4px 9px;border-radius:20px;box-shadow:inset 0 0 0 1px var(--line);color:var(--mu)}
@media(max-width:1020px){.chap{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.chap{grid-template-columns:1fr}}
.cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cmp .card ul{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px;color:var(--mu)}
.cmp .card li{display:flex;gap:10px}
.cmp .card li::before{content:"";flex:none;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--volt)}
@media(max-width:760px){.cmp{grid-template-columns:1fr}}

/* report paper preview */
.paper{position:relative;background:#FBFBF8;color:#15171A;border-radius:6px;padding:34px 34px 26px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8);transform:rotate(-1.2deg)}
.paper__top{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;border-bottom:2px solid #15171A}
.paper__top b{font-weight:var(--md-ref-typeface-weight-bold)}
.paper__top span{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:#5E5C54}
.paper h4{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);margin:18px 0 4px}
.paper .sub{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:#5E5C54;margin:0}
.paper table{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);width:100%;border-collapse:collapse}
.paper td{padding:7px 0;border-bottom:1px solid #E6E4DC}
.paper td:last-child{text-align:right;font-weight:var(--md-ref-typeface-weight-semibold)}
.paper .note{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);margin:12px 0 0;color:#5E5C54}
@media(max-width:760px){.paper{transform:none;padding:22px 18px}}

/* faq */
.faq details{border-bottom:1px solid var(--line);interpolate-size:allow-keywords}
.faq details::details-content{block-size:0;overflow:hidden;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}
.faq details[open]::details-content{block-size:auto}
.faq summary{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);font-weight:var(--md-ref-typeface-weight-medium);list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);position:relative;transition:background .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.6px;background:var(--tx);transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease)}
.faq details[open] summary i{background:var(--volt)}
.faq details[open] summary i::before,.faq details[open] summary i::after{background:#0B0E0D}
.faq details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq details p{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:0;padding:0 50px 24px 0;color:var(--mu)}

/* AI chat */
.chat{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;height:calc(100svh - var(--hdr) - 150px);min-height:560px}
.chat__side{padding:20px;display:flex;flex-direction:column;gap:18px;overflow:auto}
.chat__side h3{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:0;text-transform:uppercase;color:var(--mu)}
.proj{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);padding:14px;display:grid;gap:8px}
.proj div{display:flex;justify-content:space-between;gap:10px}
.proj span{color:var(--mu)}
.proj b{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);text-align:right}
.sugg{display:grid;gap:8px}
.sugg button{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);text-align:left;border:0;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);border-radius:12px;padding:11px 12px;color:var(--tx);cursor:pointer;transition:box-shadow .2s}
.sugg button:hover{box-shadow:inset 0 0 0 1px var(--volt)}
.chat__main{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.chat__top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line2)}
.chat__top b{font:var(--md-sys-typescale-label-large);letter-spacing:var(--md-sys-typescale-label-large-tracking)}
.msgs{flex:1;overflow-y:auto;padding:22px 20px;display:flex;flex-direction:column;gap:16px;scroll-behavior:smooth}
.msg{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);max-width:78%}
.msg--u{align-self:flex-end;background:var(--volt);color:#0B0E0D;padding:12px 16px;border-radius:16px 16px 4px 16px;font-weight:var(--md-ref-typeface-weight-medium)}
.msg--a{align-self:flex-start;display:flex;gap:12px}
.msg--a .av{flex:none;width:32px;height:32px;border-radius:10px;background:rgba(201,242,92,.12);box-shadow:inset 0 0 0 1px rgba(201,242,92,.35);display:grid;place-items:center;color:var(--volt)}
.msg--a .bb{background:var(--s2);box-shadow:inset 0 0 0 1px var(--line2);padding:14px 16px;border-radius:16px 16px 16px 4px;font-weight:var(--md-ref-typeface-weight-light)}
.msg--a .bb p{margin:0 0 8px}.msg--a .bb p:last-child{margin:0}
.msg--a .bb ul{margin:6px 0 8px;padding-left:18px}
.cites{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cites span{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);padding:4px 9px;border-radius:20px;color:var(--volt);box-shadow:inset 0 0 0 1px rgba(201,242,92,.35)}
.typing{display:inline-flex;gap:4px;padding:6px 2px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--mu);animation:tp 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{50%{opacity:.25;transform:translateY(-3px)}}
.composer{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--line2)}
.composer .input{flex:1}
.composer .btn{height:48px}
.disclaimer{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);margin:10px 0 0;color:var(--dim)}
@media(max-width:980px){.chat{grid-template-columns:1fr;height:auto}.chat__side{order:2}.chat__main{height:70svh}}

/* turnkey / services */
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.timeline{display:grid;gap:0;counter-reset:tl;border-left:1px solid var(--line);margin-left:10px}
.tl{position:relative;padding:0 0 34px 34px}
.tl::before{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);counter-increment:tl;content:counter(tl);position:absolute;left:-14px;top:-2px;width:28px;height:28px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1px var(--volt);display:grid;place-items:center;color:var(--volt)}
.tl h3{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);margin:0}
.tl p{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:8px 0 0;color:var(--mu);max-width:620px}
.tl small{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);display:inline-block;margin-top:10px;color:var(--dim)}
.form{padding:26px;display:grid;gap:16px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form .ok{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);display:none;padding:14px 16px;border-radius:12px;background:rgba(201,242,92,.08);box-shadow:inset 0 0 0 1px rgba(201,242,92,.35)}
.form.is-sent .ok{display:block}
.form.is-sent .fields{display:none}
@media(max-width:1020px){.svc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.svc{grid-template-columns:1fr}.form .row{grid-template-columns:1fr}}

/* account */
.dash{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}
.box{padding:24px}
.box h3{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:0;text-transform:uppercase;color:var(--mu)}
.stepper{display:flex;gap:8px;margin-top:18px}
.stepper div{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);flex:1;display:flex;flex-direction:column;gap:9px;color:var(--dim)}
.stepper i{height:5px;border-radius:4px;background:var(--line)}
.stepper .done{color:var(--tx)}.stepper .done i{background:var(--dis)}
.stepper .now{color:var(--volt);font-weight:var(--md-ref-typeface-weight-semibold)}.stepper .now i{background:var(--volt);box-shadow:0 0 10px var(--volt)}
.list{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.list li{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.list li small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;color:var(--mu);margin-top:3px}
.kv{margin:14px 0 0;display:grid;gap:8px}
.kv div{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line2)}
.kv span{color:var(--mu)}
.kv b{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking)}
@media(max-width:1020px){.dash{grid-template-columns:1fr}}

/* login */
.auth{min-height:100svh;display:grid;place-items:center;padding:calc(var(--hdr) + 30px) 18px 40px}
.auth__card{width:min(440px,100%);padding:30px}
.auth__card h1{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);margin:0}
.auth__card p{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:10px 0 0;color:var(--mu)}
.auth__card form{margin-top:22px;display:grid;gap:14px}
.code{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.code .input{font:var(--md-sys-typescale-number-small);letter-spacing:var(--md-sys-typescale-number-small-tracking);text-align:center;padding:0}

/* dialog */
dialog.dlg{width:min(560px,calc(100vw - 32px));max-height:calc(100svh - 48px);padding:0;border:0;border-radius:22px;background:var(--s1);color:var(--tx);box-shadow:0 40px 100px -30px rgba(0,0,0,.8),inset 0 0 0 1px var(--line)}
dialog.dlg::backdrop{background:rgba(5,7,6,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
dialog.dlg[open]{animation:pop .45s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}

/* footer */
#main{min-height:100svh}  /* the footer always starts below the first screen and comes in with scrolling, also on short pages */
.foot{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);border-top:1px solid var(--line2);padding:60px 0 40px;color:var(--mu)}
.foot__about{margin:14px 0 0;max-width:300px}
.foot__top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px}
.foot h4{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:0 0 14px;text-transform:uppercase;color:var(--tx)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot a:hover{color:var(--tx)}
.foot__bot{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin-top:50px;padding-top:24px;border-top:1px solid var(--line2);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--dim)}
@media(max-width:760px){.foot__top{grid-template-columns:1fr 1fr}}

[data-reveal]{opacity:0;transform:translateY(26px)}
.rm [data-reveal],.no-js [data-reveal]{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.marq__track{animation:none}}

/* ===================== v2: multi-page additions ===================== */
.stage--bare{background:none;box-shadow:none;border-radius:0}
.tag3d{position:absolute;left:0;top:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 9px 6px;border-radius:10px;background:rgba(11,14,13,.8);box-shadow:inset 0 0 0 1px var(--line);pointer-events:none;white-space:nowrap;transition:opacity .25s;will-change:transform}
.tag3d b{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}
.tag3d small{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);color:var(--mu)}
.tag3d.is-off{opacity:0}
@media(max-width:700px){.tag3d--minor{display:none}.tag3d{padding:4px 8px}.tag3d b{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}}
.pcard__n{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);margin:10px 0 0;color:var(--dim)}
.stage__hint{max-width:calc(100% - 32px);overflow:hidden;text-overflow:ellipsis}
.toast{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);position:fixed;left:50%;bottom:24px;z-index:90;transform:translate(-50%,20px);width:max-content;max-width:min(560px,calc(100vw - 32px));padding:13px 18px;border-radius:14px;background:#050706;box-shadow:inset 0 0 0 1px var(--line),0 20px 50px -20px rgba(0,0,0,.8);opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .4s var(--ease)}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
.costs td.hide-sm{white-space:nowrap}
.costs .bar{display:inline-block;vertical-align:middle;width:120px;margin-right:10px}
.costs .pct{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);color:var(--mu);vertical-align:middle}
.costs tfoot td{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}
.costs tfoot td.n{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);color:var(--volt)}
.costnote{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:14px 2px 0;color:var(--mu)}
.next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.next .card{min-height:0;padding:26px}
.next .card h3{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);margin-top:18px}
@media(max-width:900px){.next{grid-template-columns:1fr}}
.chart__t{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking)}   /* svg labels of charts.js and the calculator */
.ch svg text{font-variant-numeric:tabular-nums}

/* home */
.quick{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:stretch}
.quick form{padding:28px;display:grid;gap:20px;align-content:start}
.quick__side{padding:28px;display:flex;flex-direction:column}
.quick__side h3{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);margin:0}
.quick__side ol{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:14px;counter-reset:q}
.quick__side li{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);display:grid;grid-template-columns:30px 1fr;gap:12px;color:var(--mu)}
.quick__side li::before{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);counter-increment:q;content:counter(q);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--volt);box-shadow:inset 0 0 0 1px rgba(201,242,92,.4)}
.quick__side li b{color:var(--tx);font-weight:var(--md-ref-typeface-weight-medium)}
.quick__side .link{margin-top:auto;padding-top:20px}
@media(max-width:900px){.quick{grid-template-columns:1fr}}
.aiteaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.aiteaser .mock{padding:22px;display:flex;flex-direction:column;gap:14px}
.aiteaser .msg{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);max-width:94%}
.aiteaser .chips{margin-top:26px}
.aiteaser .chip{height:auto;min-height:36px;padding:8px 14px;white-space:normal;text-align:left}
@media(max-width:900px){.aiteaser{grid-template-columns:1fr;gap:28px}}
.hero__art .stage__hint{left:50%;transform:translateX(-50%);bottom:6px}
.hb{overflow:hidden}
.hb__foot{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:56px;flex-wrap:wrap}
.hb__list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.hb__list li{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);padding:9px 13px;border-radius:40px;box-shadow:inset 0 0 0 1px var(--line)}

/* handbook */
.hbhero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px;align-items:center}
.hbhero .hero__cta{margin-top:30px}
.book{width:min(270px,70vw);aspect-ratio:3/4;margin:10px auto;border-radius:6px 14px 14px 6px;background:radial-gradient(420px circle at 20% 0%,rgba(201,242,92,.12),transparent 60%),linear-gradient(155deg,#212b26,#0e1311 72%);box-shadow:inset 7px 0 0 #0a0d0c,inset 8px 0 0 rgba(255,255,255,.05),inset 0 0 0 1px rgba(201,242,92,.22),2px 2px 0 #d9ddd4,4px 4px 0 #c6cbc1,6px 6px 0 #d9ddd4,8px 8px 0 #c1c6bc,10px 10px 0 #d3d7ce,12px 12px 0 #b9beb4,40px 50px 80px -20px rgba(0,0,0,.85);transform:perspective(1400px) rotateY(-20deg) rotateX(6deg);transition:transform .9s var(--ease);padding:30px 26px 26px 34px;display:flex;flex-direction:column}
.book:hover{transform:perspective(1400px) rotateY(-7deg) rotateX(2deg)}
.book__k{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--volt)}
.book__t{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);margin:16px 0 0}
.book__l{margin-top:22px;display:grid;gap:7px}
.book__l i{display:block;height:3px;border-radius:3px;background:var(--line)}
.book__l i:nth-child(1){width:80%}.book__l i:nth-child(2){width:62%}.book__l i:nth-child(3){width:71%}.book__l i:nth-child(4){width:45%}
.book__v{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);margin-top:auto;display:flex;justify-content:space-between;color:var(--mu)}
@media(max-width:900px){.hbhero{grid-template-columns:1fr}.book{transform:none;margin-top:30px}}
.chap article{display:flex;flex-direction:column}
.chap .tags{margin-top:auto;padding-top:14px}
.fmt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fmt .card{padding:30px}
.fmt .card ul{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px;color:var(--mu)}
.fmt .card li{display:flex;gap:10px}
.fmt .card li::before{content:"";flex:none;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--volt)}
.fmt .card .tier__lvl{margin:0}
@media(max-width:760px){.fmt{grid-template-columns:1fr}}

/* equipment */
.eq__filter{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:40px}
.eq__filter .seg{max-width:720px;flex:1;min-width:280px;overflow-x:auto}
.chip--static{cursor:default}
.chip--static:hover{color:var(--mu)}
.spec__parts .chips{gap:6px}
.spec__parts .chip{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:30px;padding:0 12px}
.spec__note{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);margin:14px 0 0;color:var(--dim)}

/* pricing */
.rep{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.rep ul{margin:24px 0 0;padding:0;list-style:none;display:grid;gap:14px}
.rep li{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);display:grid;grid-template-columns:28px 1fr;gap:12px;color:var(--mu)}
.rep li svg{margin-top:2px;color:var(--volt)}
.rep li b{color:var(--tx);font-weight:var(--md-ref-typeface-weight-medium)}
.lock{filter:blur(5px);user-select:none}
@media(max-width:900px){.rep{grid-template-columns:1fr;gap:36px}}
.dlg__in{padding:26px}
.dlg__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.dlg h2{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);font-weight:var(--md-ref-typeface-weight-bold);margin:8px 0 0}
.dlg__p{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-light);margin:10px 0 0;color:var(--mu)}
.dlg form{margin-top:20px;display:grid;gap:14px}
.dlg .ok{display:none;margin-top:18px}
.dlg.is-sent form{display:none}
.dlg.is-sent .ok{display:block}
.ok__box{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);padding:16px;border-radius:14px;background:rgba(201,242,92,.08);box-shadow:inset 0 0 0 1px rgba(201,242,92,.35)}
.ok .btn{margin-top:16px}
.radio{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:0;margin:0;padding:0}
.radio legend{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu);margin-bottom:8px;padding:0}
.radio label{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;transition:box-shadow .2s}
.radio input{accent-color:#C9F25C;margin:2px 0 0}
.radio label:has(input:checked){box-shadow:inset 0 0 0 1px var(--volt)}
.radio small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;color:var(--mu);margin-top:3px}
.dlg__sum{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 2px;border-top:1px solid var(--line);color:var(--mu)}
.dlg__sum b{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);color:var(--tx)}
@media(max-width:520px){.radio{grid-template-columns:1fr}}

/* turnkey */
.svc .card h3{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}
.req{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
.attach{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:rgba(201,242,92,.06);box-shadow:inset 0 0 0 1px rgba(201,242,92,.25)}
.attach svg{flex:none;color:var(--volt)}
@media(max-width:1020px){.req{grid-template-columns:1fr}}

/* account / login */
.acc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.badge{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:20px;color:var(--mu);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap;flex:none}
.badge--ok{color:#0B0E0D;background:var(--volt);box-shadow:none;cursor:pointer}
.box .big{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);margin:12px 0 0}
.box .hint{margin-top:10px}
.box .btn{margin-top:18px}
.mgr{display:flex;gap:14px;align-items:center;margin-top:14px}
.mgr__av{width:44px;height:44px;border-radius:14px;background:rgba(201,242,92,.1);box-shadow:inset 0 0 0 1px rgba(201,242,92,.3);display:grid;place-items:center;color:var(--volt);flex:none}
.mgr b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold);display:block}.mgr small{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:block;color:var(--mu);margin-top:2px}
.dash .col{display:grid;gap:16px;align-content:start}
.code.is-ok .input,.is-ok .code .input{box-shadow:inset 0 0 0 1px var(--volt);color:var(--volt)}
.auth__card .back{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);background:none;border:0;padding:0;color:var(--mu);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.auth__alt{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin-top:18px;color:var(--dim)}

/* chat extras */
.msg .formula{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:6px 0 10px;padding:10px 12px;border-radius:10px;background:var(--bg);color:var(--volt);overflow-x:auto;white-space:nowrap}
.composer.is-busy .btn{opacity:.5;pointer-events:none}
.chat__side .hint{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking)}
.msgs{overscroll-behavior:contain}
[hidden]{display:none!important}
.skip{position:fixed;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--volt);color:#0B0E0D;font-weight:var(--md-ref-typeface-weight-semibold);transition:top .2s}
.skip:focus{top:12px}
a.chip{display:inline-flex;align-items:center}
.phero--sm{padding-bottom:34px}
.phero--sm h1{font:var(--md-sys-typescale-display-small);letter-spacing:var(--md-sys-typescale-display-small-tracking)}
.stage__hint .t-touch{display:none}
@media (hover:none){.stage__hint .t-fine{display:none}.stage__hint .t-touch{display:inline}}
@media(max-width:760px){
  .plan{height:520px}
  .hud{left:10px;right:10px;top:10px;gap:8px}
  .hud__time{width:100%;flex-wrap:wrap;gap:8px 10px;padding:8px 8px 8px 12px}
  .hud__time .status{order:3;width:100%}
  .hud__time #play{margin-left:auto}
  .hud__cfg{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px}
  .hud__cfg small{display:none}
  .hud__cfg b{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);font-weight:var(--md-ref-typeface-weight-semibold);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .hud .soc{margin:0;flex:none}
  .hud .soc .muted{display:none}
  .hud .soc__bar{width:56px}
  .stage__hint{left:10px;bottom:10px}
}
.pcard__x{position:absolute;right:10px;top:10px;width:28px;height:28px;border:0;border-radius:8px;background:var(--s3);color:var(--tx);display:grid;place-items:center;cursor:pointer}
.pcard__x:hover{background:#2A3530}
@media(max-width:700px){.pcard{padding:14px 14px 12px}.pcard__d{display:none}.pcard dl div:nth-child(n+5){display:none}.pcard__t{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);padding-right:30px}}
.stage__hint{white-space:nowrap}
:root{color-scheme:dark}
.chat__side,.msgs,.mnav{scrollbar-width:thin;scrollbar-color:#2B3631 transparent}
.mnav a.btn{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking);justify-content:center;border-bottom:0;padding:0 26px;margin-top:24px}
.burger[aria-expanded="true"] path{d:path("M4 4l10 10M14 4 4 14")}
@media(max-width:560px){.pill{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);height:auto;min-height:34px;padding:7px 12px}}

/* ===================== v3: 2D day block, kits, real prices ===================== */
.dayviz{height:560px}
.dayviz svg.viz{position:absolute;inset:0;width:100%;height:100%;display:block;font-family:var(--md-ref-typeface-plain);-webkit-user-select:none;user-select:none}
.viz .body{fill:#161D1A;stroke:#3A4741;stroke-width:1.2}
.viz .body2{fill:#1B2320;stroke:#3A4741;stroke-width:1}
.viz .roof{fill:#111715;stroke:#3A4741;stroke-width:1.2}
.viz .ln2{stroke:#56645D;stroke-width:1.6;fill:none}
.viz .ln3{stroke:#2B3631;stroke-width:1;fill:none}
.viz .scr{fill:#0A1618;stroke:rgba(87,217,232,.6);stroke-width:1}
.viz .cellwin{fill:#0B0F0E;stroke:#26302C}
.viz .fill{opacity:.88;transition:fill .5s}
.viz .led{fill:#26302C;transition:fill .3s}
.viz .led--on{fill:#C9F25C;filter:drop-shadow(0 0 4px rgba(201,242,92,.85))}
.viz .led--c{fill:#57D9E8;filter:drop-shadow(0 0 4px rgba(87,217,232,.85))}
.viz .win{fill:#0F1614;transition:fill .8s}
.viz .win--n{fill:rgba(231,180,92,.42)}
.viz .win--b{fill:rgba(201,242,92,.72)}
.viz .person{fill:none;stroke:#7C8983;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.viz .person circle{fill:#7C8983;stroke:none}
.viz .ugline{fill:none;stroke:#26302C;stroke-width:1.5;stroke-dasharray:2 5}
.viz .fl__base{fill:none;stroke:#27312D;stroke-width:2}
.viz .fl__dash{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 13}
.viz .fl__glow{fill:none;stroke-width:9;stroke-linecap:round;stroke-dasharray:2 13;filter:blur(3px)}
.viz .obj{cursor:pointer}
.viz .obj .body,.viz .obj .node,.viz .obj .pack,.viz .obj .cellbox{transition:stroke .2s}
.viz .obj.is-hot .body,.viz .obj.is-hot .node,.viz .obj.is-hot .pack,.viz .obj.is-hot .cellbox,.viz .obj.is-hot .roof{stroke:#C9F25C}
.viz .obj.is-hot .ln2{stroke:#C9F25C}
.viz .lbl-t{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);fill:#EAF0EC}
.viz .lbl-s{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);fill:#93A09A}
.viz .lbl-m{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);fill:#93A09A}
.viz .lbl-c{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);fill:#57D9E8}
.viz .lbl-d{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);fill:#C9F25C}
.viz .lbl-big{font:var(--md-sys-typescale-number-small);letter-spacing:var(--md-sys-typescale-number-small-tracking);fill:#C9F25C}
.viz .dim{stroke:#56645D;fill:none;stroke-width:1}
.viz .dim text{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);fill:#7C8983;stroke:none}
.viz .pill2{transition:opacity .3s}
.viz .pill2 rect{fill:rgba(11,14,13,.86);stroke:#3A4741}
.viz .pill2 text{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);fill:#EAF0EC}
.viz .pill2--c rect{stroke:rgba(87,217,232,.65)}.viz .pill2--c text{fill:#57D9E8}
.viz .pill2--v rect{stroke:rgba(201,242,92,.65)}.viz .pill2--v text{fill:#C9F25C}
.viz .pill2--mu text{fill:#93A09A}
.viz .node{fill:#121715;stroke:#3A4741;stroke-width:1.5}
.viz .ic{fill:none;stroke:#93A09A;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.viz .pack{fill:#0F1412;stroke:#3A4741;stroke-width:1.5}
.viz .cellbox{fill:#0B0F0E;stroke:#2F3B35}
.viz .blk{cursor:pointer;transition:opacity .2s}.viz .blk:hover{opacity:.75}
.viz .blk--c{fill:#1A99AE}.viz .blk--d{fill:#80A430}.viz .blk--i{fill:#1F2824}
.viz .tick{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);fill:#7C8983}
.viz .head{fill:#EAF0EC;stroke:#EAF0EC;stroke-width:1.2}
.viz [data-seek]{cursor:pointer}
.vizsw{position:absolute;right:14px;bottom:12px;z-index:6;background:rgba(11,14,13,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.vizsw button{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:32px;padding:0 12px}
.pcard--viz{z-index:8}
.dayviz .stage__hint{max-width:calc(100% - 290px)}
@media(max-width:760px){.dayviz{height:560px}.vizsw{left:10px;right:10px;bottom:10px}.vizsw button{flex:1}.dayviz .stage__hint{display:none}}

/* kits (standard systems) */
.kits{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kit{position:relative;text-align:left;border:0;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);padding:11px 12px 10px;cursor:pointer;color:var(--tx);display:flex;flex-direction:column;gap:3px;transition:box-shadow .2s,background .2s}
.kit:hover{box-shadow:inset 0 0 0 1px var(--mu)}
.kit[aria-checked="true"]{box-shadow:inset 0 0 0 1px var(--volt);background:linear-gradient(160deg,rgba(201,242,92,.08),transparent 70%),var(--bg)}
.kit b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);padding-right:52px}
.kit span{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);color:var(--tx)}
.kit small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu)}
.kit--hot::after{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);content:"часто";position:absolute;right:9px;top:10px;text-transform:uppercase;color:var(--volt)}
.kit--own{grid-column:span 2;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.kit--own b{padding-right:0}
.own{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.own label{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;color:var(--mu)}
.own .input{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);height:42px;margin-top:6px}
.kitnote{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:8px 0 0;color:var(--mu)}
.kitnote b{color:var(--tx);font-weight:var(--md-ref-typeface-weight-medium)}
/* market period */
.period{display:grid;gap:8px}
.period .select select{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:40px}
.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--volt);box-shadow:0 0 8px var(--volt);margin-right:6px;vertical-align:middle}
.viz .win--n{fill:rgba(231,180,92,.34)}
.viz .win--b{fill:rgba(201,242,92,.55)}

/* ===================== v4: equipment catalog ===================== */
.eqf{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:16px}
.eqf .seg{flex:none}
.eqf .chips{flex:1;min-width:260px}
.eqf .chip small{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);opacity:.7;margin-left:2px}
.eqf__sort{flex:none;width:224px}
.eqf__sort select{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:40px}
.eqf__n{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--dim);margin-left:auto}
.eq{align-items:start}
/* photos: catalogue shots sit on their own backdrop (mostly white) */
.ph{margin:0;position:relative;overflow:hidden;background:#fff;border-radius:14px}
.ph img{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;padding:var(--pad,8%);object-fit:contain}
.ph--scene img{padding:0;object-fit:cover}
.ph--none{display:grid;place-items:center;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.ph--none span{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--dim)}
.gal{position:sticky;top:calc(var(--hdr) + 16px)}
.gal__main{display:block;width:100%;height:560px;padding:0;border:0;border-radius:22px;background:none;cursor:zoom-in;overflow:hidden}
.gal__main[disabled]{cursor:default}
.gal__ph{width:100%;height:100%;border-radius:22px}
.gal__ph img{width:auto;height:auto;max-width:86%;max-height:88%;margin:auto;padding:0}
.gal__ph.ph--scene img{width:100%;height:100%;max-width:none;max-height:none}
.gal__cap{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:10px 2px 0;color:var(--dim)}
.gal__th{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none}
.gal__t{flex:none;width:76px;height:64px;padding:0;border:0;border-radius:12px;background:none;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line2);opacity:.7;transition:opacity .2s}
.gal__t .ph{width:100%;height:100%;border-radius:12px;--pad:6px}
.gal__t:hover,.gal__t[aria-current="true"]{opacity:1}
.gal__t[aria-current="true"]{box-shadow:0 0 0 2px var(--volt)}
.lb{width:min(1120px,calc(100vw - 24px));height:min(88vh,920px);max-width:none;max-height:none;padding:28px;border:0;border-radius:22px;background:var(--bg,#fff);color:#0B0E0D}
.lb[open]{display:flex;flex-direction:column;align-items:center;justify-content:center}
.lb::backdrop{background:rgba(5,7,6,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.lb img{max-width:100%;max-height:calc(100% - 36px);width:auto;height:auto;object-fit:contain;cursor:zoom-out}
.lb__cap{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:12px 0 0;color:#4A5550;text-align:center}
.lb__x{position:absolute;top:14px;right:14px;background:rgba(11,14,13,.85);color:var(--tx)}
/* availability & price */
.stock{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:20px;text-transform:uppercase;white-space:nowrap}
.stock::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.stock--in{background:#1F6B45;color:#DDFBE9}
.stock--pre{background:var(--warn);color:#0B0E0D}
.stock--out{background:rgba(11,14,13,.86);color:#9AA5A0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.stock--out::before{background:var(--err)}
.buy{margin-top:18px;padding:18px;border-radius:16px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.buy__p b{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold);display:block}
.buy__p b.is-ask{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}
.buy__p span{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:block;margin-top:5px;color:var(--mu)}
.buy__s{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-top:12px;color:var(--mu)}
.buy .spec__cta{margin-top:14px;padding-top:0}
.spec__n{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:6px 0 0;color:var(--mu)}
.fig{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-top:16px}
.fig div{padding:10px 12px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.fig b{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);display:block}
.fig span{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-top:3px;color:var(--mu)}
.spec__var{margin-top:14px;gap:6px}
.spec__var .chip{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);height:30px;padding:0 11px}
.spec__groups{margin-top:6px}
.spec__groups h4{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:18px 0 0;text-transform:uppercase;color:var(--mu)}
.spec__groups dl{margin:8px 0 0}
.certs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.certs span{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);padding:5px 9px;border-radius:20px;box-shadow:inset 0 0 0 1px rgba(201,242,92,.35);color:var(--volt)}
.spec__w{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:8px 0 0}
.spec__src{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);margin:16px 0 0;color:var(--dim)}
.spec__src a{color:var(--mu);text-decoration:underline;text-underline-offset:3px}
.spec__cmp{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:inline-flex;align-items:center;gap:8px;color:var(--mu);cursor:pointer;margin-left:auto}
.spec__cmp input{accent-color:#C9F25C;width:16px;height:16px}
/* cards */
.cat2{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:14px;margin-top:22px}
.pc2{position:relative;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);transition:box-shadow .2s,transform .3s var(--ease);display:flex;flex-direction:column}
.pc2:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--mu)}
.pc2.is-sel{box-shadow:inset 0 0 0 1px var(--volt)}
.pc2__main{flex:1;text-align:left;border:0;background:none;color:var(--tx);cursor:pointer;padding:10px 10px 8px;display:flex;flex-direction:column;gap:5px}
.pc2__top{position:relative;margin-bottom:8px}
.pc2__ph{aspect-ratio:4/3;--pad:15% 10% 6%}
.pc2__top .stock{position:absolute;left:10px;top:10px}
.pc2__main>.pc__k,.pc2__main>b,.pc2__main>small,.pc2__price{margin-left:6px;margin-right:6px}
.pc2 b{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}
.pc2 small{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu)}
.pc2__price{margin-top:auto;padding-top:10px;display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px}
.pc2__price b{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}
.pc2__price b.is-ask{font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking);color:var(--mu)}
.pc2__price small{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);color:var(--dim)}
.cmpbar{position:fixed;left:50%;bottom:18px;z-index:70;transform:translate(-50%,140%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 12px 10px 18px;border-radius:16px;background:rgba(11,14,13,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px var(--line),0 20px 50px -20px rgba(0,0,0,.8);transition:transform .4s var(--ease)}
.cmpbar.is-on{transform:translate(-50%,0)}
.cmpbar b{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cmpbar .btn[disabled]{opacity:.45;pointer-events:none}
dialog.dlg--wide{width:min(980px,calc(100vw - 24px))}
.cmpwrap{margin-top:18px;overflow-x:auto}
.cmpt{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);width:100%;border-collapse:collapse;min-width:560px}
.cmpt th,.cmpt td{text-align:left;vertical-align:top;padding:11px 12px;border-bottom:1px solid var(--line2)}
.cmpt thead th{border-bottom:1px solid var(--line)}
.cmpt__ph{width:120px;height:90px;margin-bottom:10px;border-radius:10px;--pad:8px}
.cmpt thead b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold);display:block}
.cmpt thead small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);font-weight:var(--md-ref-typeface-weight-regular);display:block;margin-top:3px;color:var(--mu)}
.cmpt tbody th{font-weight:var(--md-ref-typeface-weight-regular);color:var(--mu);white-space:nowrap}
.cmpt td{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking)}
.cmpt tbody tr:first-child td{font:var(--md-sys-typescale-label-large);letter-spacing:var(--md-sys-typescale-label-large-tracking)}
@media(max-width:1020px){.gal{position:relative;top:auto}.gal__main,.gal__ph{height:420px}}
@media(max-width:760px){.eqf .seg{width:100%;overflow-x:auto}.eqf .chips{flex:1 1 100%;min-width:0;flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent)}.eqf .chips::-webkit-scrollbar{display:none}.eqf .chip{flex:none}.eqf__sort{width:auto;flex:1}.eqf__n{margin-left:0}.gal__main,.gal__ph{height:320px}.buy__p b{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}.cat2{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.pc2__main{padding:8px 8px 6px}.pc2__main>.pc__k,.pc2__main>b,.pc2__main>small,.pc2__price{margin-left:4px;margin-right:4px}.pc2 b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}.pc2__top .stock{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);left:8px;top:8px;height:22px;padding:0 8px}.cmpbar{left:12px;right:12px;transform:translateY(140%);flex-wrap:wrap}.cmpbar.is-on{transform:none}.lb{padding:16px;height:80vh}}

/* ===================== v5: calculator — full connection ===================== */
.inputs__h{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:4px 0 -6px;padding-top:16px;border-top:1px solid var(--line2);text-transform:uppercase;color:var(--mu)}
.inputs{gap:12px}
.inputs__h--top{margin:0 0 -2px;padding-top:0;border-top:0}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
/* site type: three big icon buttons */
.who{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.who button{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:grid;justify-items:center;gap:6px;padding:12px 4px 10px;border:0;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);color:var(--mu);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.who button:hover{color:var(--tx)}
.who button[aria-pressed="true"]{background:var(--s3);color:var(--tx);box-shadow:inset 0 0 0 1.5px rgba(201,242,92,.6)}
.who button[aria-pressed="true"] svg{color:var(--volt)}
/* option tile: icon + label + bold value; opens .pop */
.tile{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 10px;border:0;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);color:var(--tx);text-align:left;cursor:pointer;transition:box-shadow .2s,background .2s}
.tile:hover,.tile[aria-expanded="true"]{background:var(--s2);box-shadow:inset 0 0 0 1px rgba(201,242,92,.45)}
.tile__ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(201,242,92,.08);color:var(--volt)}
.tile__t{display:grid;gap:2px;min-width:0}
.tile__t small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile__t b{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking);font-weight:var(--md-ref-typeface-weight-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile__u{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);font-style:normal;color:var(--mu)}
/* the menu over the panel */
.pop{position:absolute;left:12px;right:12px;z-index:20;padding:14px;border-radius:18px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line),0 18px 50px rgba(0,0,0,.55);animation:pop-in .18s var(--ease)}
@keyframes pop-in{from{opacity:0;transform:translateY(-6px)}}
.pop__h{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.pop__h b{font:var(--md-sys-typescale-label-large);letter-spacing:var(--md-sys-typescale-label-large-tracking);font-weight:var(--md-ref-typeface-weight-bold)}
.pop__h small{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);margin-left:auto;color:var(--mu);white-space:nowrap}
.pop__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.pop__list--wide{grid-template-columns:1fr}
.pop__o{display:grid;gap:2px;padding:10px 12px;border:0;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);color:var(--tx);text-align:left;cursor:pointer;transition:background .15s,box-shadow .15s}
.pop__o:hover{background:var(--s3)}
.pop__o[aria-pressed="true"]{background:var(--s3);box-shadow:inset 0 0 0 1.5px rgba(201,242,92,.6)}
.pop__o b{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking);font-weight:var(--md-ref-typeface-weight-bold)}
.pop__o small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu)}
.pop__own{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.pop__own .input{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking);font-weight:var(--md-ref-typeface-weight-bold);flex:1;min-width:0;height:44px}
.pop__own .input.is-bad{box-shadow:inset 0 0 0 1px var(--warn)}
.pop__own span{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu);white-space:nowrap}
.pop__ok{height:44px;padding:0 16px;border:0;border-radius:12px;background:var(--volt);color:var(--bg);font-weight:var(--md-ref-typeface-weight-bold);cursor:pointer}
.seg--opt{flex-wrap:nowrap}
.seg--opt button{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);flex:1 1 0;min-width:0;padding:0 4px}
.seg__in{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);flex:1.25 1 0;min-width:0;width:0;height:38px;border:0;border-radius:9px;background:transparent;padding:0 8px;color:var(--tx);text-align:center;box-shadow:inset 0 0 0 1px var(--line2);transition:box-shadow .2s,background .2s}
.seg__in::placeholder{color:var(--dim);font-family:var(--md-ref-typeface-plain)}
.seg__in:focus{outline:none;box-shadow:inset 0 0 0 1px var(--mu)}
.seg__in.is-on{background:var(--s3);box-shadow:inset 0 0 0 1px rgba(201,242,92,.45)}
.seg__in.is-bad{box-shadow:inset 0 0 0 1px var(--warn)}
.opt__date{margin-top:8px}
.opt__hours{display:flex;align-items:center;gap:8px;margin-top:8px}
.opt__hours>span{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu)}
.opt__hours .select{flex:1}
.opt__hours select{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);height:36px}
.opt__date select{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:38px}
.kitnote{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);margin:-6px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--mu)}
.kitnote[hidden]{display:none}
.kitnote b{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-medium);display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:20px;color:var(--volt);box-shadow:inset 0 0 0 1px rgba(201,242,92,.4)}
.hud__time{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px 10px 16px;max-width:min(430px,62%)}
.hud__row{display:flex;align-items:center;gap:10px}
.hud .status{height:auto;min-height:30px;padding:6px 12px;white-space:nowrap}
.hud .status i{flex:none}
/* status pill = price level of the hour */
.hud .status[data-l="cheap"]{box-shadow:inset 0 0 0 1px rgba(87,217,232,.45)}
.hud .status[data-l="cheap"] i{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.hud .status[data-l="peak"]{box-shadow:inset 0 0 0 1px rgba(231,180,92,.5)}
.hud .status[data-l="peak"] i{background:var(--warn);box-shadow:0 0 10px var(--warn)}
.hud .status[data-l="end"] i{background:var(--volt);box-shadow:0 0 10px var(--volt)}
@media(max-width:760px){.hud .hud__row .status{order:0;width:auto}}
@media(max-width:400px){.hud__row{flex-wrap:wrap;row-gap:8px}.hud .hud__row .status{order:3;flex-basis:100%}}
/* the end-of-day card: one big number + three small figures */
.daycard__kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px auto 0;max-width:470px}
.daycard__kpi div{padding:10px 12px;border-radius:12px;background:rgba(11,14,13,.6);box-shadow:inset 0 0 0 1px var(--line)}
.daycard__kpi dt{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu)}
.daycard__kpi dd{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);margin:4px 0 0;color:var(--tx);overflow-wrap:anywhere}
@media(max-width:560px){.daycard__kpi{gap:6px}.daycard__kpi div{padding:8px 6px}.daycard__kpi dd{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking)}}
.hud__cfg b#saveDay{font:var(--md-sys-typescale-number-small);letter-spacing:var(--md-sys-typescale-number-small-tracking);font-weight:var(--md-ref-typeface-weight-medium);color:var(--volt)}
.results{grid-template-columns:repeat(5,minmax(0,1fr))}
.res--cta{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}
.res--cta p{margin:0;max-width:none}
/* result tiles: label + one big number + a tiny visual */
.res--hl{background:linear-gradient(160deg,rgba(201,242,92,.08),transparent 60%),var(--s1);box-shadow:inset 0 0 0 1px rgba(201,242,92,.35)}
.res--hl b{color:var(--volt)}
.res .ctag{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:inline-flex;margin-left:6px}
.res__was{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);display:block;margin-top:4px;color:var(--dim);text-decoration:line-through}
.rmeter{display:flex;align-items:center;gap:8px;margin-top:12px}
.rmeter__t{flex:1;height:6px;border-radius:6px;background:rgba(201,242,92,.13);overflow:hidden}
.rmeter__t i{display:block;height:100%;border-radius:6px;background:var(--volt);transition:width .6s var(--ease)}
.res .rmeter small{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);margin:0;white-space:nowrap}
.rmeter.is-warn .rmeter__t{background:rgba(231,180,92,.15)}
.rmeter.is-warn .rmeter__t i{background:var(--warn)}
.rmeter.is-warn small{color:var(--warn)}
.rhours{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px;margin-top:13px}
.rhours i{height:8px;border-radius:2px;background:var(--line)}
.rhours i.is-on{background:var(--volt)}
.ctag{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:inline-flex;align-items:center;height:18px;padding:0 6px;margin-left:6px;border-radius:5px;color:var(--mu);box-shadow:inset 0 0 0 1px var(--line);vertical-align:middle;white-space:nowrap}
.ctag[hidden]{display:none}
.ch__u .ctag{margin-left:4px}
.zdot{display:inline-block;width:7px;height:7px;margin:0 4px 0 10px;border-radius:50%;vertical-align:middle}
.zdot:first-child{margin-left:0}
.zdot--c{background:var(--cyan)}
.zdot--p{background:var(--warn)}
@media(max-width:760px){
  .ledger{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .ledger>div{padding:10px 8px}
  .ledger dt{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);align-items:flex-start;overflow-wrap:anywhere;hyphens:auto}
  .ledger dt i{display:none}
  .ledger dd{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);white-space:nowrap}
  .res .ctag{margin-left:0;margin-top:4px}
  .results>.res:nth-child(5){grid-column:span 2}
  .profbar .seg--opt{flex:1 1 100%}
  .profbar .opt__hours{flex:1 1 100%}
  .hud .hud__cfg small{display:block}
}
/* the animation: canvas for light, svg for shapes */
.dayviz canvas.df-fx{position:absolute;inset:0;width:100%;height:100%;display:block}
.df .df-rail{fill:none;stroke:rgba(234,240,236,.07);stroke-width:2;stroke-linecap:round;stroke-dasharray:1 7}
.df .df-disc{fill:#101513;stroke:#2B3631;stroke-width:1.5;transition:stroke .5s}
.df .df-disc[data-l="cheap"]{stroke:rgba(87,217,232,.7)}
.df .df-disc[data-l="peak"]{stroke:rgba(231,180,92,.8)}
.df .df-ico{fill:none;stroke:#C9D3CE;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.df .df-win{fill:rgba(231,180,92,.2);transition:fill .5s}
.df .df-smoke{fill:#93A09A}
.df .df-t{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;fill:var(--mu)}
.df .df-t--chip{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);text-transform:none;fill:var(--dim)}
.df .df-v{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);fill:var(--tx)}
.df .df-v[data-l="cheap"]{fill:var(--cyan)}
.df .df-v[data-l="peak"]{fill:var(--warn)}
.df .df-v[data-m="chg"]{fill:var(--cyan)}
.df .df-v[data-m="dis"]{fill:var(--volt)}
.df .df-cap{fill:#0C100E;stroke:#34403A;stroke-width:1.5;transition:stroke .4s}
.df .df-cap[data-m="chg"]{stroke:rgba(87,217,232,.85)}
.df .df-cap[data-m="dis"]{stroke:rgba(201,242,92,.8)}
.df .df-well{fill:#070A09}
.df .df-liq{opacity:.95}
.df .df-liq2{fill:#4E7418;opacity:.55}
.df .df-bub{fill:rgba(234,255,250,.9)}
.df .df-pct{font:var(--md-sys-typescale-number);letter-spacing:var(--md-sys-typescale-number-tracking);font-weight:var(--md-ref-typeface-weight-semibold);fill:#F4F8F5;paint-order:stroke;stroke:rgba(5,8,7,.55);stroke-width:4px}
.df .df-cell{cursor:pointer}
.df .df-lv{transition:opacity .3s}
.df .df-lv--cheap{fill:rgba(26,153,174,.8)}
.df .df-lv--mid{fill:#2B3631}
.df .df-lv--peak{fill:rgba(231,180,92,.85)}
.df .df-cell .df-lv.is-past{opacity:.45}
.df .df-cell .df-lv.is-now{opacity:1}
.df .df-act--c{fill:var(--cyan)}
.df .df-act--d{fill:var(--volt)}
.df .df-tick{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);fill:var(--dim)}
.df .df-headdot{fill:#EAF0EC;stroke:#0B0E0D;stroke-width:2}
.df .df-head[data-day="1"] .df-headdot{fill:#FFE3A0}
.df .df-ray{stroke:#FFE3A0;stroke-width:1.6;stroke-linecap:round}
.df [data-key]{cursor:pointer}
.df [data-key].is-hot .df-disc,.df [data-key].is-hot .df-cap{stroke:var(--volt);stroke-width:2.2}
.df .df-chip.is-hot .df-t{fill:var(--volt)}
/* a small bubble over the hour now when charge or supply starts */
.df .df-bub{pointer-events:none;opacity:0}
.df .df-bub__b{fill:var(--cyan)}.df .df-bub[data-m="dis"] .df-bub__b{fill:var(--volt)}
.df .df-ic__s{fill:none;stroke:#0B0E0D;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.df .df-ic__f{fill:#0B0E0D}
@media(max-width:1180px){.results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.results{grid-template-columns:1fr 1fr}.hud__time{max-width:none;width:100%}.hud .status{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking)}.dayviz{height:600px}.seg--opt button{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking)}}

/* ===================== v5: storefront funnel ===================== */
/* header basket */
.cartbtn{position:relative}
.cartbtn__n{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-medium);position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:var(--volt);color:#0B0E0D;display:grid;place-items:center}
.mnav small[data-cart-count]{color:var(--volt)}
/* floating assistant */
.asst-fab{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);position:fixed;right:20px;bottom:20px;z-index:55;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 18px 0 16px;border-radius:30px;background:#0B0E0D;color:var(--tx);box-shadow:inset 0 0 0 1px rgba(201,242,92,.45),0 18px 40px -14px rgba(0,0,0,.8);transition:transform .3s var(--ease),box-shadow .3s}
.asst-fab:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--volt),0 18px 40px -12px rgba(201,242,92,.35)}
.asst-fab__dot{width:9px;height:9px;border-radius:50%;background:var(--volt);animation:ping 2.2s infinite}
@media(max-width:560px){.asst-fab{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);right:14px;bottom:14px;height:44px;padding:0 15px 0 13px}}
/* added-to-basket toast */
.addtoast{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);position:fixed;left:50%;bottom:24px;z-index:92;display:flex;align-items:center;gap:14px;max-width:min(620px,calc(100vw - 32px));padding:10px 10px 10px 18px;border-radius:16px;background:#050706;box-shadow:inset 0 0 0 1px rgba(201,242,92,.35),0 24px 60px -20px rgba(0,0,0,.85);opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:opacity .3s var(--ease),transform .4s var(--ease)}
.addtoast.is-on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.addtoast span{flex:1;min-width:0}
.addtoast .btn{flex:none}
@media(max-width:560px){.addtoast{bottom:72px;flex-wrap:wrap}.addtoast .btn{width:100%}}

/* home hero with a real product */
.hero--shop .hero__in{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.hero__shot{position:relative;min-height:520px;display:flex;align-items:flex-end}
.hero__ph{position:absolute;inset:0;border-radius:26px;box-shadow:inset 0 0 0 1px var(--line2)}
.hero__ph img{object-position:center 40%}
.hero__offer{position:relative;margin:0 18px 18px auto;width:min(360px,100%);padding:20px 20px 18px;background:rgba(11,14,13,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(201,242,92,.3),0 30px 60px -24px rgba(0,0,0,.8)}
.hero__offer .stock{position:static}
.hero__pn{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);margin:6px 0 0}
.hero__pb{margin-top:14px;display:flex;align-items:baseline;gap:10px}
.hero__pb b{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}
.hero__pb small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--dim)}
.hero__pa{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
.hero--shop .live dd{font-family:var(--md-ref-typeface-plain);font-weight:var(--md-ref-typeface-weight-semibold)}
@media(max-width:1020px){.hero--shop .hero__in{grid-template-columns:1fr}.hero__shot{min-height:440px;order:2}}
@media(max-width:560px){.hero__shot{min-height:0;flex-direction:column;align-items:stretch}.hero__ph{position:relative;inset:auto;aspect-ratio:1200/687;border-radius:18px}.hero__offer{margin:-40px 10px 0;width:auto}}

/* segments */
.segs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.seg-card{display:flex;flex-direction:column;border-radius:20px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden;transition:transform .35s var(--ease),box-shadow .3s}
.seg-card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--mu)}
.seg-card .ph{height:190px;border-radius:0;--pad:12%}
.seg-card__b{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.seg-card h3{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);margin:0}
.seg-card p{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-light);margin:8px 0 0;color:var(--mu)}
.seg-card__f{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);margin-top:auto;padding-top:14px;color:var(--volt)}
@media(max-width:1020px){.segs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.segs{grid-template-columns:1fr}.seg-card{flex-direction:row}.seg-card .ph{width:120px;height:auto;flex:none}}

/* kit cards */
.kits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kit{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);border-radius:22px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden}
.kit__pics{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;background:var(--line2);min-height:260px}
.kit__ph{border-radius:0;--pad:10%;height:100%}
.kit__qty{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);position:absolute;right:10px;bottom:10px;padding:3px 8px;border-radius:8px;background:rgba(11,14,13,.85);color:#fff}
.kit__pics .stock{position:absolute;left:10px;top:10px}
.kit__b{padding:20px 22px 20px;display:flex;flex-direction:column;min-width:0}
.kit__seg{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--volt)}
.kit h3{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);margin:8px 0 0}
.kit__pitch{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-light);margin:8px 0 0;color:var(--mu)}
.kit__lines{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line2)}
.kit__lines li{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line2)}
.kit__lines a:hover{color:var(--volt)}
.kit__lines span{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);color:var(--mu);white-space:nowrap}
.kit__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 0}
.kit__facts div{padding:10px 12px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.kit__facts dt{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu)}
.kit__facts dd{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);margin:4px 0 0;white-space:nowrap}
.kit__what{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:10px 0 0;color:var(--dim)}
.kit__gd{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);margin:10px 0 0;padding:10px 12px;border-radius:12px;background:rgba(201,242,92,.07);box-shadow:inset 0 0 0 1px rgba(201,242,92,.25);color:var(--mu)}
.kit__gd b{color:var(--volt);font-weight:var(--md-ref-typeface-weight-semibold)}
.kit__foot{margin-top:auto;padding-top:16px;display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}
.kit__price b{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);display:block}
.kit__price small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-top:5px;color:var(--dim)}
.kit__acts{display:flex;gap:8px;flex-wrap:wrap}
.kit__acts .btn{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);height:44px;padding:0 16px;border-radius:12px}
.kits--page{margin-top:20px}
.kitseg{max-width:640px}
@media(max-width:1180px){.kits{grid-template-columns:1fr}}
@media(max-width:640px){.kit{grid-template-columns:1fr}.kit__pics{min-height:210px}.kit__facts dd{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking)}}

/* how-it-works: four steps */
.steps--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1020px){.steps--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.steps--4{grid-template-columns:1fr}}

/* assistant teaser */
.asteaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.asprev{padding:24px}
.asprev__kit{display:flex;gap:14px;align-items:center;margin-top:14px;padding:12px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.asprev__kit .ph{width:70px;height:70px;flex:none;--pad:8%}
.asprev__kit b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold);display:block}
.asprev__kit small{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:block;margin-top:4px;color:var(--mu)}
.asprev__steps{margin:16px 0 0;padding:0;list-style:none;counter-reset:ap;display:grid;gap:10px}
.asprev__steps li{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);counter-increment:ap;display:grid;grid-template-columns:28px 1fr;column-gap:12px}
.asprev__steps li::before{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);content:counter(ap);grid-row:span 2;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--volt);box-shadow:inset 0 0 0 1px rgba(201,242,92,.4)}
.asprev__steps span{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu)}
@media(max-width:900px){.asteaser{grid-template-columns:1fr;gap:28px}}

/* product strip */
.strip{display:flex;gap:14px;overflow-x:auto;padding:4px max(40px,calc((100vw - 1320px) / 2 + 40px)) 18px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#2B3631 transparent}
@media(max-width:760px){.strip{padding:4px 18px 18px}}

/* bands */
.band{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 32px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(201,242,92,.08),transparent 55%),var(--s1)}
.band>div:first-child{flex:1;min-width:280px}
.band__cta{display:flex;gap:10px;flex-wrap:wrap}
.band .h2{margin-top:10px}
@media(max-width:560px){.band{padding:22px 20px}}

/* ОСББ */
.loadc h3{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}
.loadc__v{font:var(--md-sys-typescale-number-small)!important;letter-spacing:var(--md-sys-typescale-number-small-tracking)!important;font-weight:var(--md-ref-typeface-weight-medium)!important;margin:10px 0 0!important;color:var(--volt)!important}
.gd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 0}
.gd div{padding:14px 16px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.gd dt{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu)}
.gd dd{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking);margin:6px 0 0}
@media(max-width:760px){.gd{grid-template-columns:1fr}}

/* assistant page */
.asst{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:16px;align-items:start}
/* the chat fits its talk: grows with the conversation up to the screen, then scrolls; the expand button gives it a wider column and the full height */
.asst__chat{position:sticky;top:calc(var(--hdr) + 12px);display:flex;flex-direction:column;min-height:min(420px,calc(100svh - var(--hdr) - 40px));max-height:calc(100svh - var(--hdr) - 40px);overflow:hidden}
.asst__chat .msgs{flex:1 1 auto;min-height:160px}
.asst__chat>:not(.msgs){flex:none}
.asst__acts{display:flex;gap:8px;align-items:center}
.asst__grow{width:38px;padding:0;justify-content:center}
.asst__grow svg{width:16px;height:16px}
.asst__grow .i-in,.asst.is-wide .asst__grow .i-out{display:none}
.asst.is-wide .asst__grow .i-in{display:block}
.asst.is-wide{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.asst.is-wide .asst__chat{height:calc(100svh - var(--hdr) - 40px)}
.asst__top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line2)}
.asst__who{display:flex;gap:12px;align-items:center}
.asst__who .av{width:36px;height:36px;border-radius:11px;background:rgba(201,242,92,.12);box-shadow:inset 0 0 0 1px rgba(201,242,92,.35);display:grid;place-items:center;color:var(--volt)}
.asst__who b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold);display:block}
.asst__who small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;color:var(--mu);margin-top:2px}
.asst .msgs{padding:18px 16px}
.asst .msg{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);max-width:92%}
.asst__quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}
.asst__quick:empty{display:none}
.asst__quick .chip{height:auto;min-height:36px;padding:7px 13px;white-space:normal;text-align:left}
.asst__quick .btn--sm{height:38px}
.asst__jump{display:none;margin:0 16px 10px}
.cform{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;width:100%}
.cform .input{height:42px}
@media(max-width:520px){.cform{grid-template-columns:1fr}}
.kitmini{display:flex;gap:12px;align-items:center;margin:8px 0;padding:10px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.kitmini__ph{width:74px;height:74px;flex:none;--pad:8%}
.kitmini__b{min-width:0}
.kitmini__b b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:block}
.kitmini__b small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-top:3px;color:var(--mu)}
.kitmini__p{margin-top:6px}
.kitmini__p span{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking);font-weight:var(--md-ref-typeface-weight-bold)}
.kitmini__p small{display:inline;margin-left:6px}
.msg--a .bb .btn{margin-top:4px}
.asst__plan{padding:22px 22px 18px;min-height:540px}
.plan-empty{opacity:.85}
/* empty plan: 4 icon steps and a faint outline of the plan to come */
.plan-ph{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0 0;padding:0;list-style:none}
.plan-ph li{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:flex;flex-direction:column;gap:12px;padding:16px 14px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);color:var(--tx)}
.plan-ph svg{width:24px;height:24px;color:var(--volt)}
.plan-ghost{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;opacity:.55}
.plan-ghost i{height:62px;border-radius:14px;border:1px dashed var(--line)}
.plan-ghost .w{grid-column:1/-1;height:92px}
.plan-ghost .h{grid-column:span 2;height:130px}
@media(max-width:560px){.plan-ph{grid-template-columns:1fr 1fr}.plan-ghost{display:none}}
.plan__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.plan__t{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);margin:8px 0 0}
.plan__btns{display:flex;gap:8px;flex-wrap:wrap}
.plan__kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 6px}
.plan__kpi div{padding:12px 14px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.plan__kpi dt{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu)}
.plan__kpi dd{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking);margin:5px 0 0}
@media(max-width:760px){.plan__kpi{grid-template-columns:1fr 1fr}}
.pstep{margin-top:12px;padding:16px 18px;border-radius:16px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);animation:pstep .5s var(--ease) both}
@keyframes pstep{from{opacity:0;transform:translateY(8px)}}
.pstep__h{display:flex;align-items:center;gap:12px}
.pstep__n{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);width:28px;height:28px;flex:none;border-radius:50%;display:grid;place-items:center;color:#0B0E0D;background:var(--volt)}
.pstep h3{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking);margin:0;flex:1}
.pstep__ask{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);border:0;background:none;color:var(--mu);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pstep__ask:hover{color:var(--volt)}
.pstep p,.pstep li{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);color:var(--mu)}
.pstep ul{margin:10px 0 0;padding-left:18px;display:grid;gap:6px}
.plines{display:grid;gap:8px;margin-top:12px}
.pline{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line2);transition:box-shadow .2s}
.pline:hover{box-shadow:inset 0 0 0 1px var(--mu)}
.pline__ph{width:64px;height:64px;--pad:8%}
.pline__t b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:block;color:var(--tx)}
.pline__t small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-top:3px;color:var(--mu)}
.pline__p{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);white-space:nowrap;padding-right:6px}
.chain{display:flex;align-items:stretch;gap:6px;margin-top:12px;overflow-x:auto;padding-bottom:4px}
.chain__n{flex:none;width:112px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.chain__ph{width:88px;height:88px;--pad:8%}
.chain__ic{width:88px;height:88px;border-radius:12px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line);display:block;position:relative}
.chain__ic::after{content:"";position:absolute;inset:34px;border-radius:50%;background:var(--volt);opacity:.7}
.chain__n b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);color:var(--tx)}
.chain__n small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--dim)}
.chain__arr{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);align-self:center;margin-top:-34px;color:var(--volt);flex:none}
/* ---------- AI page: compact plan visuals (assistant.js, agent.js) ---------- */
.plan__kpi dd small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);font-weight:var(--md-ref-typeface-weight-regular);display:block;margin-top:3px;color:var(--dim)}
.msg .plan__kpi{margin:8px 0 4px;grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
.msg .plan__kpi div{padding:10px 12px;border-radius:12px}
.msg .plan__kpi dd{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}
/* a bubble with tiles or steps takes the full bubble width (auto-fit grids collapse to one column when shrink-wrapped) */
.msg--a:has(.plan__kpi,.ptrack,.pfacts){width:100%}
.msg--a:has(.plan__kpi,.ptrack,.pfacts) .bb{flex:1;min-width:0}
/* a day as 24 blocks: the hours the battery covers */
.hstrip{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:2px;margin-top:8px}
.hstrip i{height:8px;border-radius:2px;background:rgba(201,242,92,.13)}
.asst__plan .plan__kpi{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}
.hstrip i.on{background:var(--volt)}
/* «≈» — an estimate; the details sit in the tooltip */
.ap-est{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-medium);display:inline-grid;place-items:center;min-width:17px;height:17px;margin-left:6px;padding:0 4px;border-radius:5px;color:var(--mu);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;vertical-align:2px;cursor:help}
/* plan cards in two columns */
.psgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.psgrid>.pstep{margin-top:0}
.pstep--w{grid-column:1/-1}
@media(max-width:760px){.psgrid{grid-template-columns:minmax(0,1fr)}}
/* facts: a small label over the value */
.pfacts{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px;margin:12px 0 0}
.pfacts div{padding:9px 11px;border-radius:11px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);min-width:0}
.pfacts dt{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu)}
.pfacts dd{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);margin:3px 0 0;color:var(--tx);overflow-wrap:anywhere}
/* one row per unit: the model and its size chips */
.pspec{display:grid;gap:8px;margin:12px 0 0}
.pspec>div{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.pspec b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);margin-right:4px;color:var(--tx)}
.pspec span{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-medium);padding:3px 8px;border-radius:7px;background:var(--s2);color:var(--tx)}
/* tags with a dot: volt — yes, amber — mind this, grey — note */
.ptags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.ptag{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:4px 11px;border-radius:20px;color:var(--tx);box-shadow:inset 0 0 0 1px var(--line)}
.ptag::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--volt)}
.ptag--warn{box-shadow:inset 0 0 0 1px rgba(231,180,92,.45)}.ptag--warn::before{background:var(--warn)}
.ptag--mu{color:var(--mu)}.ptag--mu::before{background:var(--dim)}
.ptag[title]{cursor:help}
/* numbered steps in a row */
.ptrack{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px;margin:12px 0 0;padding:0;list-style:none;counter-reset:pt}
.ptrack li{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:flex;align-items:center;gap:9px;min-width:0;padding:9px 11px;border-radius:11px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);color:var(--tx)}
.ptrack li::before{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-semibold);counter-increment:pt;content:counter(pt);flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#0B0E0D;background:var(--volt)}
.ptrack li[title]{cursor:help}
/* phones: two columns, the number above the label so long words fit */
@media(max-width:560px){.asst__plan .ptrack li{flex-direction:column;align-items:flex-start;gap:6px}}
.msg .pfacts,.msg .ptags,.msg .ptrack,.msg .pspec{margin-top:8px}
.msg .pfacts div,.msg .ptrack li{background:var(--bg)}
.kitmini__s{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.kitmini__s span{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-medium);padding:3px 7px;border-radius:7px;background:var(--s2);color:var(--tx)}
.kitmini__s .ptag,.pline__t .ptag{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);min-height:0;padding:2px 8px;box-shadow:none;background:none;color:var(--mu)}
@media(max-width:1020px){.asst{grid-template-columns:1fr}.asst__chat{position:relative;top:auto;min-height:min(380px,78svh);max-height:78svh}.asst.is-wide{grid-template-columns:1fr}.asst.is-wide .asst__chat{height:calc(100svh - var(--hdr) - 24px);max-height:none}.asst__jump:not([hidden]){display:inline-flex}}
/* ОСББ pack */
.dlg--pack{width:min(760px,calc(100vw - 32px))}
.dlg__acts{margin-top:18px;display:flex;justify-content:flex-end}
.pack{margin-top:16px;padding:26px 28px;border-radius:12px;background:#FBFBF8;color:#15171A;max-height:60svh;overflow:auto}
.pack__k{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:0;text-transform:uppercase;color:#5E5C54}
.pack h2{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);margin:6px 0 10px}
.pack h3{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:18px 0 6px}
.pack p,.pack li{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking)}
.pack table{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);width:100%;border-collapse:collapse;margin:10px 0}
.pack td{padding:7px 0;border-bottom:1px solid #E6E4DC}
.pack td:last-child{text-align:right;font-weight:var(--md-ref-typeface-weight-semibold);white-space:nowrap;padding-left:12px}
.pack__sum td{border-bottom:2px solid #15171A;font-weight:var(--md-ref-typeface-weight-bold)}
.pack__note{font:var(--md-sys-typescale-label-small)!important;letter-spacing:var(--md-sys-typescale-label-small-tracking)!important;margin-top:14px;color:#5E5C54}
@media print{
  body.print-pack>*:not(dialog){display:none!important}
  body.print-pack dialog.dlg{position:static;display:block;box-shadow:none;background:#fff;width:auto;max-height:none;padding:0}
  body.print-pack dialog.dlg::backdrop{display:none}
  body.print-pack .dlg__top,body.print-pack .dlg__acts{display:none}
  body.print-pack .pack{max-height:none;overflow:visible;padding:0;background:#fff}
}

/* request (basket) */
.rq{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
.rq__box{padding:22px}
.rq__list{display:grid;gap:8px;margin-top:14px}
.rqi{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto 32px;gap:14px;align-items:center;padding:10px;border-radius:14px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2)}
.rqi__ph{width:72px;height:72px;--pad:8%}
.rqi__t b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:block}
.rqi__t small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);display:block;margin-top:3px;color:var(--mu)}
.rqi__st{color:var(--volt)!important}
.qty{display:inline-flex;align-items:center;gap:0;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line)}
.qty button{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);width:32px;height:34px;border:0;background:none;color:var(--tx);cursor:pointer}
.qty span{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);min-width:22px;text-align:center}
.rqi__p{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);white-space:nowrap}
.rqi__rm{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);width:32px;height:32px;border:0;border-radius:9px;background:var(--s3);color:var(--mu);cursor:pointer}
.rqi__rm:hover{color:var(--tx)}
.rq__opt{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);display:flex;gap:10px;align-items:flex-start;margin-top:14px;cursor:pointer}
.rq__opt input{accent-color:#C9F25C;margin-top:3px}
.rq__sum{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:var(--mu)}
.rq__sum b{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);color:var(--tx);white-space:nowrap}
.rq__form{position:sticky;top:calc(var(--hdr) + 12px)}
.rq__ok{grid-column:1/-1;padding:26px}
.rq__ok .hero__cta{margin-top:18px}
@media(max-width:1020px){.rq{grid-template-columns:1fr}.rq__form{position:static}}
@media(max-width:560px){.rqi{grid-template-columns:56px minmax(0,1fr) 32px;row-gap:8px}.rqi__ph{width:56px;height:56px}.qty{grid-column:2}.rqi__p{grid-column:2;justify-self:start}.rqi__rm{grid-row:1;grid-column:3}}
.hero--shop .h1{font:var(--md-sys-typescale-display-medium);letter-spacing:var(--md-sys-typescale-display-medium-tracking)}
.hero--shop .hero__ph{--pad:7% 46% 7% 6%}
.hero--shop .hero__ph img{object-position:left center}
@media(max-width:1020px){.hero--shop .hero__ph{--pad:6% 44% 6% 6%}}
@media(max-width:560px){.hero--shop .hero__ph{--pad:6%;aspect-ratio:1/1}.hero--shop .hero__ph img{object-position:center}}
.kit__pics{grid-auto-flow:row;grid-auto-rows:1fr;grid-auto-columns:auto}
.kit__facts dd{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);white-space:normal}
@media(max-width:640px){.kit__pics{grid-auto-flow:column;grid-auto-columns:1fr;grid-auto-rows:auto}}
.kit__gd b{display:block;margin-bottom:2px}
.plan__kpi{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
/* v5.1: consumption profile next to the charts, how we count */
.profbar{display:grid;gap:10px;padding:14px 16px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2)}
.profbar__row{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.profbar__row[hidden]{display:none}
.profbar__l{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu);min-width:150px}
.profbar .seg--opt{flex:1;min-width:280px}
.profbar .opt__hours{margin-top:0;min-width:220px}
.res small.is-warn,.res b.is-warn{color:var(--warn)}
@media(max-width:760px){.profbar__l{min-width:0;width:100%}.profbar .seg--opt{min-width:0;width:100%}}

/* ===================== v6: denser layout, catalogue with sticky filters ===================== */
.sec{padding:72px 0}
.sec--tight{padding:44px 0}
.sec__head{margin-bottom:26px;gap:24px}
.h2{font:var(--md-sys-typescale-headline-large);letter-spacing:var(--md-sys-typescale-headline-large-tracking)}
.lead{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking)}
.phero{padding:calc(var(--hdr) + 40px) 0 34px}
.phero h1{font:var(--md-sys-typescale-display-small);letter-spacing:var(--md-sys-typescale-display-small-tracking)}
.phero--xs{padding:calc(var(--hdr) + 22px) 0 18px}
.phero--xs h1{font:var(--md-sys-typescale-headline-large);letter-spacing:var(--md-sys-typescale-headline-large-tracking)}
.phero--xs .crumbs{margin-bottom:10px}
.phero__row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap}
.phero__row .lead{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin:0;max-width:560px}
@media(max-width:760px){.sec{padding:52px 0}.sec--tight{padding:34px 0}.phero{padding:calc(var(--hdr) + 26px) 0 22px}}

/* catalogue */
.shop{padding:0 0 56px}
.shop__in{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
.flt{position:sticky;top:calc(var(--hdr) + 14px);max-height:calc(100svh - var(--hdr) - 28px);overflow:auto;padding:16px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);scrollbar-width:thin;scrollbar-color:#2B3631 transparent}
.flt__head{display:none;justify-content:space-between;align-items:center;margin-bottom:8px}
.flt__head b{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}
.flt__g+.flt__g{margin-top:16px;padding-top:14px;border-top:1px solid var(--line2)}
.flt__g h3{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);margin:0 0 8px;text-transform:uppercase;color:var(--mu)}
.flt__opts{display:grid;gap:2px}
.fopt{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px;border:0;border-radius:10px;background:none;color:var(--mu);text-align:left;cursor:pointer;transition:background .15s,color .15s}
.fopt:hover{background:rgba(255,255,255,.04);color:var(--tx)}
.fopt small{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);color:var(--dim)}
.fopt[aria-pressed="true"]{background:rgba(201,242,92,.1);color:var(--tx);box-shadow:inset 0 0 0 1px rgba(201,242,92,.4)}
.fopt[aria-pressed="true"] small{color:var(--volt)}
.fopt:disabled{opacity:.35;cursor:default}
.flt__foot{margin-top:14px;display:grid;gap:8px}
.flt__done{display:none}
.shop__bar{position:sticky;top:var(--hdr);z-index:20;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;margin-bottom:6px;background:linear-gradient(var(--bg) 78%,rgba(11,14,13,0))}
.shop__fbtn{display:none}
.shop__fbtn small{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--volt);color:#0B0E0D;display:grid;place-items:center}
.shop__fbtn small:empty{display:none}
.shop__n{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu);white-space:nowrap}
.shop__tags{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}
.ftag{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:0;border-radius:20px;background:rgba(201,242,92,.1);box-shadow:inset 0 0 0 1px rgba(201,242,92,.35);color:var(--tx);cursor:pointer}
.ftag i{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-style:normal;color:var(--mu)}
.shop__sort{flex:none;width:220px;margin-left:auto}
.shop__sort select{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:38px}
.shop .cat2{margin-top:4px;grid-template-columns:repeat(auto-fill,minmax(218px,1fr));gap:12px}
.pc2--kit .pc2__main{text-decoration:none}
.pc2__qty{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);position:absolute;right:10px;bottom:10px;padding:2px 8px;border-radius:8px;background:rgba(11,14,13,.85);color:#fff}
.certs3{margin-top:28px;padding:18px 20px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2)}
.certs3 .h3{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}
.certs3__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}
.certs3__row b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold);display:block}
.certs3__row .certs{margin-top:8px}
.certs3__row .certs span[title]{cursor:help}
@media(max-width:1020px){
  .shop__in{grid-template-columns:1fr}
  .flt{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:80;max-height:82svh;border-radius:20px 20px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -30px 60px -20px rgba(0,0,0,.8),inset 0 0 0 1px var(--line);transform:translateY(105%);transition:transform .35s var(--ease)}
  .flt.is-open{transform:none}
  .flt__head{display:flex}
  .flt__done{display:inline-flex}
  .shop__fbtn{display:inline-flex}
  body.flt-lock{overflow:hidden}
  .certs3__row{grid-template-columns:1fr}
}
@media(max-width:560px){.shop__sort{width:auto;flex:1}.shop__tags{order:3;flex-basis:100%}.shop .cat2{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pc2__main{padding:8px 8px 6px}.pc2 b{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}.pc2__price b{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);font-weight:var(--md-ref-typeface-weight-semibold)}}

/* catalogue · cards without prose: type name, model, spec chips (.fchips), price and «+» (equipment.js) */
.pc2 .pc2__m{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);color:var(--dim)}
.pc2__specs{margin:6px 6px 0}
.pc2 .pc2__specs>*{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);height:22px;padding:0 7px}
.pc2__parts{margin:6px 6px 0}
.pc2 .pc2__parts>*{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);font-weight:var(--md-ref-typeface-weight-regular);background:none;color:var(--mu)}
.pc2__parts+.pc2__specs{margin-top:5px}
.pc2__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 12px 16px;border-top:1px solid var(--line2)}
.pc2__foot .pc2__price{margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.pc2 .pc2__tag{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--dim);cursor:default}
.pc2 .pc2__tag[title]{cursor:help}
.pc2__foot .instep{height:34px}.pc2__foot .instep button{width:28px;height:28px}.pc2__foot .instep__n{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);padding:0 4px}
/* once added, the «− N +» stepper drops under the price on narrow cards instead of colliding with it */
.pc2__foot:has(.instep){flex-wrap:wrap;row-gap:6px}.pc2__foot:has(.instep) .pc2__price b:not(.is-ask){white-space:nowrap}
.pc2>.pc2__top{margin:10px 10px 0;cursor:pointer}
.pc2>.pc2__top+.pc2__main{padding-top:8px}
.pc2 .pc2__go{display:grid;place-items:center;background:none;color:var(--tx);box-shadow:inset 0 0 0 1px var(--line)}
.pc2 .pc2__go:hover{box-shadow:inset 0 0 0 1px var(--volt);color:var(--volt)}
.pc2__vs{position:absolute;right:10px;bottom:10px;z-index:2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(11,14,13,.78);color:#D5DDD8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);cursor:pointer;transition:background .2s,color .2s}
.pc2__vs svg{width:15px;height:15px;pointer-events:none}
.pc2__vs input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pc2__vs:hover{color:#fff;background:rgba(11,14,13,.92)}
.pc2__vs:has(input:checked){background:var(--volt);color:#0B0E0D}
.pc2__vs:has(input:focus-visible){outline:2px solid var(--volt);outline-offset:2px}
.shop__est{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);color:var(--mu);white-space:nowrap;cursor:help}
.shop__est:empty{display:none}
.eqempty{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:20px 22px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2)}
.eqempty b{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}
.spec .spec__n.mono{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);color:var(--dim)}
.spec__hl{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.spec__hl[hidden]{display:none}
.pdlg .spec h2{font:var(--md-sys-typescale-headline-medium);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}
@media(max-width:760px){.pdlg .spec h2{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}}
.spec__hl li{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:5px 12px 5px 10px;border-radius:999px;background:rgba(201,242,92,.07);box-shadow:inset 0 0 0 1px rgba(201,242,92,.25);color:var(--tx)}
.spec__hl li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--volt);flex:none}
.fig div[title]{cursor:help}
.fig{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
.fig b{white-space:nowrap}
.fig b small{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);margin-left:4px;color:var(--mu)}
.cmpt__st{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.cmpt__st small{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu)}
@media(max-width:760px){.pc2>.pc2__top{margin:8px 8px 0}.pc2__vs{right:8px;bottom:8px;width:28px;height:28px}.pc2__foot{padding:9px 10px 10px 12px}.pc2__specs,.pc2__parts{margin-left:4px;margin-right:4px}}
/* phones: two chips per product card; a kit keeps capacity and backup hours and drops power; the count and the price-date badge share a row under the filters, so the sort keeps its width */
@media(max-width:560px){.pc2:not(.pc2--kit) .pc2__specs>:nth-child(n+3){display:none}.pc2--kit .pc2__specs:not(.pc2__parts)>:nth-child(2):not(:last-child){display:none}.shop__n,.shop__est{order:4}.shop__tags:empty{display:none}}

/* product card in a dialog */
.pdlg{width:min(1180px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:0;border:0;border-radius:22px;background:var(--s1);color:var(--tx);box-shadow:0 40px 100px -30px rgba(0,0,0,.85),inset 0 0 0 1px var(--line);overflow:hidden}
.pdlg::backdrop{background:rgba(5,7,6,.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pdlg[open]{animation:pop .4s var(--ease)}
.pdlg__in{position:relative;max-height:calc(100svh - 32px);overflow:auto;padding:20px}
.pdlg__x{position:sticky;top:0;float:right;z-index:3;margin:-4px -4px 0 0}
.pdlg .eq{gap:20px}
.pdlg .gal{position:sticky;top:0}
.pdlg .gal__main{height:min(520px,62svh)}
.pdlg .spec{padding:4px 6px 0 0}
@media(max-width:1020px){.pdlg{width:calc(100vw - 16px);max-height:calc(100svh - 16px)}.pdlg__in{max-height:calc(100svh - 16px);padding:14px}.pdlg .gal{position:static}.pdlg .gal__main{height:320px}}

/* home, compact */
.hero--compact{min-height:0;padding:calc(var(--hdr) + 34px) 0 30px}
.hero--compact .h1{font:var(--md-sys-typescale-display-small);letter-spacing:var(--md-sys-typescale-display-small-tracking)}
.hero--compact .hero__sub{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);margin-top:16px}
.hero--compact .hero__cta{margin-top:22px}
.hero--compact .live{margin-top:24px}
.hero--compact .hero__shot{min-height:400px}
.rowhead{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;margin-bottom:14px}
.h2s{font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking);font-weight:var(--md-ref-typeface-weight-bold);margin:0}
.rowhead__more{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin-left:auto}
.seg--sm button{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);height:34px;padding:0 12px}
.kitc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:10px}
.kitc{display:flex;flex-direction:column;border-radius:16px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden;transition:box-shadow .2s,transform .3s var(--ease)}
.kitc:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--mu)}
.kitc__ph{position:relative;display:block;height:150px}
.kitc-grid .kitc__ph{height:170px}
.kitc__ph .ph{border-radius:0;--pad:10%}
.kitc__ph .stock{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);position:absolute;left:8px;top:8px;height:22px;padding:0 8px}
.kitc__ph .kit__qty{right:8px;bottom:8px}
.kitc__b{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px;flex:1}
.kitc__k{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking);text-transform:uppercase;color:var(--mu)}
.kitc__t{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking)}
.kitc__t:hover{color:var(--volt)}
.kitc__s{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);color:var(--mu)}
.kitc__f{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);color:var(--tx)}
.kitc__p{margin-top:auto;padding-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.kitc__p b{font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}
.kitc__add{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);width:34px;height:34px;border:0;border-radius:10px;background:var(--volt);color:#0B0E0D;cursor:pointer;flex:none}
.info3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.info3__c{padding:20px 20px 18px;display:flex;flex-direction:column;gap:10px}
.info3__c .eyebrow{font:var(--md-sys-typescale-overline);letter-spacing:var(--md-sys-typescale-overline-tracking)}
.info3__c h3{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);margin:0}
.info3__c p{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:0;color:var(--mu)}
.info3__c .btn,.info3__c .link{align-self:flex-start;margin-top:auto}
.info3__c .asprev__kit{margin-top:0}
.info3__acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.info3__acts .btn{margin-top:0}
.nsteps{margin:0;padding:0;list-style:none;counter-reset:ns;display:grid;gap:8px}
.nsteps li{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);counter-increment:ns;display:grid;grid-template-columns:24px 1fr;column-gap:10px}
.nsteps li::before{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);content:counter(ns);grid-row:span 2;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#0B0E0D;background:var(--volt)}
.nsteps span{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--mu)}
.ticks{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.ticks li{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);position:relative;padding-left:18px;color:var(--mu)}
.ticks li::before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--volt)}
.info3__c--osbb{background:linear-gradient(135deg,rgba(201,242,92,.08),transparent 60%),var(--s1)}
@media(max-width:1180px){.kitc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info3{grid-template-columns:1fr 1fr}.info3__c--osbb{grid-column:span 2}}
@media(max-width:1020px){.hero--compact .hero__shot{min-height:360px}}
@media(max-width:640px){.info3{grid-template-columns:1fr}.info3__c--osbb{grid-column:auto}.rowhead__more{margin-left:0}.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.kitc-grid{gap:8px}.kitc-grid .kitc__ph,.kitc__ph{height:130px}}
.kitc__ph .ph{position:absolute;inset:0;height:auto}
/* v6 · turnkey: what's included and the steps side by side */
.tk2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;align-items:stretch}
.tk2>.panel{padding:20px 22px;display:flex;flex-direction:column;gap:16px}
.tk2 h2.eyebrow{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);font-weight:var(--md-ref-typeface-weight-regular)}
.inc6{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.inc6 li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start}
.inc6__ic{width:36px;height:36px;border-radius:10px;background:rgba(201,242,92,.08);box-shadow:inset 0 0 0 1px rgba(201,242,92,.22);display:grid;place-items:center;color:var(--volt)}
.inc6 b{font:var(--md-sys-typescale-label-large);letter-spacing:var(--md-sys-typescale-label-large-tracking);display:block}
.inc6 div span{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:block;margin-top:3px;color:var(--mu)}
.tk2 .nsteps{gap:12px}
.tk2 .nsteps li{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}
.tk2 .nsteps span{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking)}
@media(max-width:1020px){.tk2{grid-template-columns:1fr}}
@media(max-width:560px){.inc6{grid-template-columns:1fr}}
.kitc--more{justify-content:flex-end;gap:6px;padding:16px;min-height:200px;background:linear-gradient(160deg,rgba(201,242,92,.12),transparent 65%),var(--s1)}
.kitc--more b{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking);font-weight:var(--md-ref-typeface-weight-bold)}
.kitc--more .kitc__s{color:var(--volt)}
/* marketing · facts as small chips instead of «·»-chained lines (home, kit cards, calculator kit) */
.fchips{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}
.fchips>*{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-medium);display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line2);font-style:normal;color:var(--tx);white-space:nowrap}
.fchips svg{flex:none;width:12px;height:12px;color:var(--volt)}
.kitc__b .fchips{margin-top:5px;gap:4px}
.kitc__b .fchips>*{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);height:22px;padding:0 7px}
.hero__chips{margin-top:10px}
@media(min-width:1200px){.hero--shop .live dd{font:var(--md-sys-typescale-title-large);letter-spacing:var(--md-sys-typescale-title-large-tracking)}}
/* marketing · turnkey: three columns (included · steps · cost + business), guarantees as chips */
.tk2--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tk2--3 .inc6{grid-template-columns:1fr;gap:14px}
.tk2__side{display:flex;flex-direction:column;gap:12px}
.tk2__side>.panel{flex:1}
@media(max-width:1180px){.tk2--3{grid-template-columns:repeat(2,minmax(0,1fr))}.tk2__side{grid-column:1/-1;flex-direction:row}.tk2__side>.panel{flex:1 1 0;min-width:0}}
@media(max-width:760px){.tk2--3{grid-template-columns:1fr}.tk2__side{flex-direction:column}}
.tk2__chips{margin:auto 0 0;padding:14px 0 0;border-top:1px solid var(--line2);list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.tk2__chips--hero{margin:14px 0 0;padding:0;border-top:0}
.tk2__chips li{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px 0 9px;border-radius:999px;background:rgba(201,242,92,.07);box-shadow:inset 0 0 0 1px rgba(201,242,92,.25);color:var(--tx);white-space:nowrap}
.tk2__chips svg{width:15px;height:15px;color:var(--volt);flex:none}
.tk2__ticks{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 16px}
.tk2__ticks li{color:var(--tx)}
/* marketing · request: account line in one row, the install note beside its checkbox, next steps in a row */
.rq__acct.rq__acct--row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px}
.rq__acct--row>p{flex:1 1 220px}
.rq__optn{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);margin-left:auto;padding-top:2px;color:var(--dim);white-space:nowrap}
.rq__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
@media(max-width:760px){.rq__steps{grid-template-columns:1fr}}
/* v6 · phones: card rows scroll sideways instead of stacking into a long column */
@media(max-width:640px){
  .hero--compact .hero__shot{min-height:0}
  .kitc-grid,.pgrid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 8px) / 2.2);gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin:0 -18px;padding:2px 18px 8px;scroll-padding-inline:18px;scrollbar-width:none}
  .kitc-grid::-webkit-scrollbar,.pgrid::-webkit-scrollbar{display:none}
  .kitc-grid>*,.pgrid>*{scroll-snap-align:start}
  .kitc--more{min-height:0}
}
@media(max-width:560px){.hero--compact .hero__ph{aspect-ratio:16/10}}

/* ---------- v2: what is already in the request (shop.js) ---------- */
.instep{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:inline-flex;align-items:center;gap:2px;height:36px;padding:3px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--volt);color:var(--tx);white-space:nowrap;flex:none;justify-content:space-between}
.instep button{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);width:30px;height:30px;border-radius:50%;border:0;background:rgba(201,242,92,.12);color:var(--volt);cursor:pointer;display:grid;place-items:center;flex:none}
.instep button:hover,.instep button:focus-visible{background:var(--volt);color:#0B0E0D}
.instep__n{padding:0 8px}
.instep--short .instep__n{min-width:22px;padding:0 4px;text-align:center;font-weight:var(--md-ref-typeface-weight-semibold);color:var(--volt)}
.kitc__p .instep{height:34px}.kitc__p .instep button{width:28px;height:28px}.kitc__p .instep__n{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);padding:0 4px}
.kit__acts .instep{min-width:0}
.incart{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-semibold);position:absolute;left:10px;bottom:10px;z-index:2;padding:6px 10px;border-radius:999px;background:var(--volt);color:#0B0E0D;pointer-events:none}
.pc2.is-incart,.kitc.is-incart{box-shadow:inset 0 0 0 1px rgba(201,242,92,.55)}

/* ---------- v2: account state in the header (account.js) ---------- */
.acct{position:relative}
.acct__dot{position:absolute;right:6px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--volt);box-shadow:0 0 0 2px var(--bg,#0B0E0D)}
.acct.is-in{box-shadow:inset 0 0 0 1px rgba(201,242,92,.6)}
.acct__ini{font:var(--md-sys-typescale-mono-medium);letter-spacing:var(--md-sys-typescale-mono-medium-tracking);font-weight:var(--md-ref-typeface-weight-semibold);color:var(--volt)}
.acct.is-in svg{display:none}
.acct__dot.is-warn{background:#E7B45C}
/* «підтвердьте пошту»: a card in the lower left corner of every page */
.lang{text-decoration:none}

/* ---------- v2: the request with or without an account ---------- */
.rq__acct{padding:14px 16px;border-radius:12px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line2);display:grid;gap:10px}
.rq__acct p{font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:0;color:var(--mu)}
.rq__acct p b{color:var(--tx)}
.rq__acct small{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);color:var(--dim)}
.rq__acct-b{display:flex;flex-wrap:wrap;gap:8px}
.rq__acct--in{background:rgba(201,242,92,.06);box-shadow:inset 0 0 0 1px rgba(201,242,92,.28)}
.rq__ok .rq__acct{margin:16px 0 4px}
.input.is-bad{box-shadow:inset 0 0 0 1px #E7B45C}

/* ---------- v2: the manager's / admin's panel link in the header (account.js) ---------- */
.hdr-panel{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:11px;box-shadow:inset 0 0 0 1px rgba(201,242,92,.45);color:var(--volt)}
.hdr-panel:hover{box-shadow:inset 0 0 0 1px var(--volt)}
.hdr-panel__n{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--volt);color:#0B0E0D;display:inline-grid;place-items:center;font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);font-weight:var(--md-ref-typeface-weight-bold)}
.hdr-panel__n[hidden]{display:none}
.hdr-panel__m{color:var(--volt)!important}
@media(max-width:560px){.hdr-panel{display:none}}

/* «Увійти» in the header for guests (account.js shows the account icon once signed in) */
.hdr-login{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:11px;box-shadow:inset 0 0 0 1px var(--line);color:var(--tx);white-space:nowrap}
.hdr-login:hover,.hdr-login[aria-current="page"]{box-shadow:inset 0 0 0 1px var(--volt);color:var(--volt)}
.hdr-login[hidden],.acct[hidden]{display:none}
/* signed in: known before the first paint (the `in=1` cookie, build.py HEAD_BOOT) — «Увійти» never flashes */
html.is-in .hdr-login{display:none}
html.is-in .acct[data-acct][hidden]{display:grid}
/* the e-mail is not confirmed: a status in the header with a small menu (account.js, drawn early by build.py) */
.vchip{position:relative}
.vchip__b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 13px;border:0;border-radius:11px;background:rgba(231,180,92,.1);box-shadow:inset 0 0 0 1px rgba(231,180,92,.45);color:var(--warn);white-space:nowrap;cursor:pointer}
.vchip__b:hover,.vchip.is-open .vchip__b{background:rgba(231,180,92,.16)}
.vchip__b i{width:8px;height:8px;border-radius:50%;background:var(--warn);animation:vpulse 2.2s ease-in-out infinite}
@keyframes vpulse{0%,100%{box-shadow:0 0 0 0 rgba(231,180,92,.45)}60%{box-shadow:0 0 0 6px rgba(231,180,92,0)}}
.vchip__pop{position:absolute;right:0;top:100%;margin-top:8px;width:300px;padding:16px;border-radius:14px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line),0 18px 40px rgba(0,0,0,.45);display:none;z-index:70}
.vchip__pop::before{content:'';position:absolute;left:0;right:0;top:-10px;height:10px}
.vchip.is-open .vchip__pop{display:block}
@media (hover:hover){.vchip:hover .vchip__pop{display:block}}
.vchip__pop:empty{display:none!important}
.vchip__pop b{font:var(--md-sys-typescale-title-small);letter-spacing:var(--md-sys-typescale-title-small-tracking);display:block;color:var(--tx)}
.vchip__mail{font:var(--md-sys-typescale-mono-small);letter-spacing:var(--md-sys-typescale-mono-small-tracking);display:block;margin-top:4px;color:var(--mu);overflow-wrap:anywhere}
.vchip__acts{display:grid;gap:8px;margin-top:14px}
.vchip__acts .btn,.hdr .vchip__acts .btn--sm{display:inline-flex;width:100%;justify-content:center}
.vchip__ch{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);display:inline-block;margin-top:12px}
@media(max-width:560px){.vchip__b{width:40px;padding:0;justify-content:center}.vchip__b span{display:none}.vchip__pop{position:fixed;left:12px;right:12px;top:calc(var(--hdr) - 6px);width:auto}}

/* moving between pages: the header and the AI button stay put, the page underneath cross-fades
   (cross-document view transitions; browsers without them just open the page) */
@view-transition{navigation:auto}
.hdr{view-transition-name:hdr}
.asst-fab{view-transition-name:fab}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
/* after the first page of a visit the intro animations are skipped: content is there at once */
.is-warm [data-reveal]{opacity:1;transform:none}
html.is-nav,html.is-nav a{cursor:progress}
@media(max-width:380px){.hdr-login{font:var(--md-sys-typescale-body-small);letter-spacing:var(--md-sys-typescale-body-small-tracking);padding:0 10px}}
@media(max-width:1180px){.inputs{position:relative}}
@media(max-width:1180px) and (min-width:761px){.opts{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* about (footer → «Про нас»): only md-sys type, colour and shape roles — no sizes of its own */
.ab-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px 56px;align-items:end}
.ab-hero .lead{font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);color:var(--md-sys-color-on-surface-variant)}
.ab-hero .hero__cta{margin-top:28px}
.ab-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ab-facts div{padding:20px;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-low);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-faint);display:flex;flex-direction:column-reverse;gap:10px}
.ab-facts dt{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;color:var(--md-sys-color-on-surface-variant)}
.ab-facts dd{margin:0;font:var(--md-sys-typescale-headline-large);letter-spacing:var(--md-sys-typescale-headline-large-tracking);color:var(--md-sys-color-on-surface)}
.ab-facts dd small{font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking);color:var(--md-sys-color-primary);margin-left:6px}
.ab-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:20px 56px;align-items:start;margin-bottom:40px}
.ab-story .h2s{margin:10px 0 0}
.ab-story>div:last-child{display:grid;gap:14px}
.ab-story p:not(.eyebrow){margin:0;font:var(--md-sys-typescale-body-large);letter-spacing:var(--md-sys-typescale-body-large-tracking);color:var(--md-sys-color-on-surface-variant)}
.ab-time{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ab-time li{position:relative;padding:22px 20px 20px;border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-low);box-shadow:inset 0 0 0 1px var(--md-sys-color-outline-faint);display:flex;flex-direction:column;gap:8px}
.ab-time li::before{content:"";position:absolute;left:20px;right:20px;top:0;height:2px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary);opacity:.35}
.ab-time li:last-child::before{opacity:1}
.ab-time li>b{font:var(--md-sys-typescale-label-small);letter-spacing:var(--md-sys-typescale-label-small-tracking);text-transform:uppercase;color:var(--md-sys-color-primary)}
.ab-time h3{margin:0;font:var(--md-sys-typescale-title-medium);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}
.ab-time p{margin:0;font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);color:var(--md-sys-color-on-surface-variant)}
.ab-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ab-p{padding:24px;display:grid;grid-template-columns:56px 1fr;gap:18px 16px;align-content:start;align-items:center}
.ab-p__av{width:56px;height:56px;border-radius:var(--md-sys-shape-corner-full);display:grid;place-items:center;font:var(--md-sys-typescale-title-medium);color:var(--md-sys-color-on-primary);background:var(--md-sys-color-primary)}
.ab-p h3{margin:0;font:var(--md-sys-typescale-headline-small);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}
.ab-p__r{margin:4px 0 0;font:var(--md-sys-typescale-label-medium);letter-spacing:var(--md-sys-typescale-label-medium-tracking);color:var(--md-sys-color-on-surface-variant)}
.ab-p .ticks{grid-column:1/-1;padding-top:16px;border-top:1px solid var(--md-sys-color-outline-faint)}
.ab-cta{padding:28px;display:flex;justify-content:space-between;align-items:center;gap:20px 40px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(201,242,92,.08),transparent 60%),var(--md-sys-color-surface-container-low)}
.ab-cta p{margin:8px 0 0;max-width:620px;font:var(--md-sys-typescale-body-medium);letter-spacing:var(--md-sys-typescale-body-medium-tracking);color:var(--md-sys-color-on-surface-variant)}
@media(max-width:1020px){.ab-hero,.ab-story{grid-template-columns:1fr}.ab-team{grid-template-columns:1fr 1fr}.ab-time{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ab-team,.ab-time{grid-template-columns:1fr}}
