/* NAYD AUTO — "Industrial Modernism" · beige + navy + NAYD blue
   Layout concept: a machinist's drawing sheet — strict 12-col grid with hairlines,
   engineering title block, dimension callouts; concrete-light sheets alternate with graphite. */
:root{
  --concrete:#E8E4DA;   /* warm beige sheet */
  --concrete-2:#DDD7CB; /* recessed beige panels */
  --rule:#C4BDAF;       /* hairlines on beige */
  --graphite:#0F1B2E;   /* navy ink: text, utility bar, small dark cards, footer */
  --deep:#12396E;       /* NAYD blue: large dark sections */
  --iron:#1B4885;       /* raised panels on blue */
  --rule-d:#3A64A0;     /* hairlines on blue */
  --mute:#5E6470;       /* secondary text on beige */
  --mute-d:#BCCDE6;     /* secondary text on blue */
  --paper:#F8F6F1;      /* text on dark */
  --signal:#2563EB;     /* cobalt: actions and measurements on beige */
  --signal-d:#8FB6FF;   /* light blue: accents on dark blue */
  --ok:#2F9E63;

  --f-display:"Unbounded","Arial Black",system-ui,sans-serif;
  --f-body:"Onest","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;

  --s-xs:clamp(.72rem,.7rem + .1vw,.78rem);
  --s-sm:clamp(.86rem,.84rem + .1vw,.94rem);
  --s-md:clamp(1rem,.97rem + .15vw,1.1rem);
  --s-lg:clamp(1.25rem,1.1rem + .6vw,1.6rem);
  --s-xl:clamp(1.8rem,1.3rem + 2.2vw,3.2rem);
  --s-xxl:clamp(2.5rem,1.4rem + 5vw,6rem);

  --gut:clamp(16px,4vw,48px);
  --max:1360px;
  color-scheme:light;
}
@font-face{font-family:"Unbounded";font-weight:500;font-display:swap;src:url(../fonts/unbounded-cyrillic-500-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-weight:500;font-display:swap;src:url(../fonts/unbounded-latin-500-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:"Unbounded";font-weight:700;font-display:swap;src:url(../fonts/unbounded-cyrillic-700-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-weight:700;font-display:swap;src:url(../fonts/unbounded-latin-700-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:"Onest";font-weight:400;font-display:swap;src:url(../fonts/onest-cyrillic-400-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-weight:400;font-display:swap;src:url(../fonts/onest-latin-400-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:"Onest";font-weight:500;font-display:swap;src:url(../fonts/onest-cyrillic-500-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-weight:500;font-display:swap;src:url(../fonts/onest-latin-500-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:"Onest";font-weight:700;font-display:swap;src:url(../fonts/onest-cyrillic-700-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-weight:700;font-display:swap;src:url(../fonts/onest-latin-700-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-cyrillic-400-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-cyrillic-500-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2?v=6679d6ec) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2212}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-feature-settings:"locl" 0;margin:0;background:var(--concrete);color:var(--graphite);font-family:var(--f-body);font-size:var(--s-md);line-height:1.55;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-feature-settings:"locl" 0;font-family:var(--f-display);font-weight:700;line-height:1.02;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.mono{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.08em;text-transform:uppercase}
.label{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.dark .label{color:var(--mute-d)}
.dark{background:var(--deep);color:var(--paper)}
.ftr.dark{background:var(--graphite)}
.ftr{--rule-d:#2A3B55;--mute-d:#9DA9BA}
.num{font-variant-numeric:tabular-nums}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--f-mono);font-weight:500;font-size:var(--s-sm);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:1em 1.4em;border:1.5px solid var(--graphite);background:var(--graphite);color:var(--paper);transition:background .2s,color .2s,border-color .2s;cursor:pointer}
.btn:hover{background:var(--signal);border-color:var(--signal)}
.btn--signal{background:var(--signal);border-color:var(--signal)}
.btn--signal:hover{background:var(--graphite);border-color:var(--graphite)}
.btn--line{background:transparent;color:var(--graphite)}
.btn--line:hover{color:var(--paper)}
.dark .btn--line{color:var(--paper);border-color:var(--paper)}
.dark .btn--signal{background:var(--paper);color:var(--graphite);border-color:var(--paper)}
.dark .btn--signal:hover{background:var(--signal-d);border-color:var(--signal-d);color:var(--graphite)}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(4px)}

/* ---------- utility bar ---------- */
.util{background:var(--graphite);color:var(--mute-d);font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.06em}
.util .wrap{display:flex;justify-content:space-between;gap:1rem;padding-block:.55rem;flex-wrap:wrap}
.util span{white-space:nowrap}
.status{display:inline-flex;align-items:center;gap:.5em;color:var(--paper)}
.status i{width:.55em;height:.55em;border-radius:50%;background:var(--mute-d)}
.status.is-open i{background:var(--ok);box-shadow:0 0 0 .25em rgb(47 158 99 / .3)}
.status.is-closed i{background:var(--signal)}

/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgb(232 228 218 / .92);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.9rem}
.mark{display:flex;align-items:baseline;gap:.3em;text-decoration:none;font-family:var(--f-display);font-weight:700;font-size:1.25rem;letter-spacing:-.01em}
.mark small{font-family:var(--f-display);font-weight:700;font-size:inherit;letter-spacing:-.01em;color:var(--signal)}
.nav{display:flex;gap:clamp(1rem,2vw,2rem);list-style:none;margin:0;padding:0;font-size:var(--s-sm);font-weight:500}
.nav a{text-decoration:none;position:relative;padding-block:.3rem}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--signal);transition:right .25s}
.nav a:hover::after,.nav a[aria-current]::after{right:0}
.hdr__cta{display:flex;align-items:center;gap:1rem}
.hdr__tel{font-family:var(--f-mono);font-size:var(--s-sm);text-decoration:none;white-space:nowrap}
.burger{display:none;background:none;border:1.5px solid var(--graphite);width:44px;height:44px;cursor:pointer;padding:0}
.burger span{display:block;width:18px;height:1.5px;background:var(--graphite);margin:4px auto}
@media (max-width:1060px){.nav,.hdr__tel{display:none}.burger{display:block}
  .nav.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--concrete);padding:1rem var(--gut) 1.5rem;border-bottom:1px solid var(--rule);font-size:var(--s-lg)}}
@media (max-width:560px){.hdr__cta .btn{display:none}}

/* ---------- hero ---------- */
.hero{position:relative;border-bottom:1px solid var(--rule);overflow:hidden}
.grid-lines{position:absolute;inset:0;pointer-events:none;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut);display:grid;grid-template-columns:repeat(12,1fr)}
.grid-lines i{border-left:1px solid rgb(185 188 184 / .45)}
.grid-lines i:last-child{border-right:1px solid rgb(185 188 184 / .45)}
.hero__in{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 1.5rem;padding-block:clamp(2.5rem,6vw,5.5rem) clamp(2rem,4vw,3.5rem)}
.hero__head{grid-column:1 / -1;min-width:0}
.hero__head h1{margin-top:1.2rem}
.hero__text{grid-column:1 / span 4;min-width:0;align-self:start}
.hero h1{font-size:var(--s-xxl);letter-spacing:-.035em;line-height:.95}
.hero h1 em{font-style:normal;color:var(--signal)}
.hero__lead{max-width:34rem;font-size:var(--s-lg);line-height:1.4;color:#2B3446}
.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.hero__in{row-gap:clamp(2rem,4vw,3.5rem)}
.duo{grid-column:span 4;min-width:0;display:flex;flex-direction:column;gap:.7rem;padding:1.5rem;border:1.5px solid var(--graphite);text-decoration:none;background:var(--concrete);transition:transform .25s,box-shadow .25s}
.duo:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--signal)}
.duo--shl{background:var(--graphite);color:var(--paper)}
.duo--shl .label{color:var(--mute-d)}
.duo--shl .draw-line{stroke:var(--paper)}
.duo--shl .draw-thin{stroke:#51637E}
.duo--shl .draw-sig{stroke:var(--signal-d)}
.duo--shl .duo__go{color:var(--signal-d)}
.duo--shl li{border-color:#26385A!important}
.duo--shl .scan{fill:var(--signal-d)}
.duo h2{font-size:var(--s-lg);letter-spacing:-.015em}
.duo ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;font-size:var(--s-sm)}
.duo li{padding:.45rem 0;border-top:1px solid var(--rule)}
.duo--shl li{border-color:var(--rule-d)}
.duo__draw{width:100%;height:auto;max-height:120px;margin-bottom:.4rem}
.duo__go{margin-top:auto;padding-top:.6rem;font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--signal)}
.duo:hover .arr{display:inline-block;transform:translateX(4px)}
@media (max-width:1060px){.hero__text{grid-column:1 / -1}.duo{grid-column:span 6}}
@media (max-width:640px){.duo{grid-column:1 / -1}}
.hero__draw{display:none}
.hero__draw svg{width:100%;height:auto;overflow:visible}
.draw-line{fill:none;stroke:var(--graphite);stroke-width:1.3}
.draw-thin{fill:none;stroke:var(--mute);stroke-width:.8}
.draw-sig{fill:none;stroke:var(--signal);stroke-width:1.3}
.draw-txt{font-family:var(--f-mono);font-size:10px;fill:var(--mute);letter-spacing:.06em}
.draw-txt.sig{fill:var(--signal)}
.scan{fill:var(--signal);opacity:.16}
@media (prefers-reduced-motion:no-preference){.scan{animation:scan 5.5s cubic-bezier(.45,0,.55,1) infinite}}
@keyframes scan{0%{transform:translateX(0)}50%{transform:translateX(175px)}100%{transform:translateX(0)}}

/* title block (engineering drawing) */
.tblock{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1.5px solid var(--graphite);background:var(--concrete);margin-bottom:clamp(2rem,4vw,3.5rem)}
.tblock div{padding:.8rem 1rem;border-right:1px solid var(--rule);min-width:0}
.tblock div:last-child{border-right:0}
.tblock b{display:block;font-family:var(--f-mono);font-weight:400;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:.25rem}
.tblock span{font-weight:500;font-size:var(--s-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
@media (max-width:1060px){
  .tblock{grid-template-columns:repeat(3,minmax(0,1fr))}.tblock div:nth-child(3){border-right:0}.tblock div:nth-child(-n+3){border-bottom:1px solid var(--rule)}}
@media (max-width:560px){.tblock{grid-template-columns:repeat(2,minmax(0,1fr))}.tblock div{border-bottom:1px solid var(--rule)}.tblock div:nth-child(2n){border-right:0}.tblock div:nth-child(3){border-right:1px solid var(--rule)}.tblock div:nth-last-child(-n+2){border-bottom:0}}

/* ---------- ticker ---------- */
.ticker{background:var(--signal);color:var(--paper);overflow:hidden;border-block:1.5px solid var(--graphite)}
.ticker__row{display:flex;gap:2.5rem;width:max-content;padding-block:.85rem;font-family:var(--f-display);font-weight:500;font-size:var(--s-sm);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.ticker__row span::after{content:"◆";margin-left:2.5rem;font-size:.6em;vertical-align:middle}
@media (prefers-reduced-motion:no-preference){.ticker__row{animation:tick 40s linear infinite}}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- section scaffolding ---------- */
.sec{padding-block:clamp(3.5rem,8vw,7rem)}
.sec__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.5rem;align-items:end;margin-bottom:clamp(2rem,4vw,3.5rem)}
.sec__head .label{grid-column:1 / span 3}
.sec__head h2{grid-column:1 / span 8;font-size:var(--s-xl);margin-top:.9rem}
.sec__head p{grid-column:9 / span 4;color:var(--mute)}
.dark .sec__head p{color:var(--mute-d)}
@media (max-width:860px){.sec__head .label,.sec__head h2,.sec__head p{grid-column:1 / -1}}

/* ---------- services index ---------- */
.svc{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--graphite)}
.svc li{border-bottom:1px solid var(--rule)}
.svc a{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,5fr) minmax(0,2fr);gap:1.5rem;align-items:center;padding:1.6rem .4rem;text-decoration:none;position:relative;transition:background .25s,color .25s,padding .25s}
.svc h3{font-size:var(--s-lg);letter-spacing:-.015em}
.svc p{color:var(--mute);font-size:var(--s-sm);max-width:40ch}
.svc .tag{justify-self:end;display:flex;align-items:center;gap:.8rem;font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.svc .tag .arr{font-size:1.2rem;color:var(--graphite);transition:transform .25s}
.svc a:hover{background:var(--graphite);color:var(--paper);padding-inline:1.4rem}
.svc a:hover p,.svc a:hover .tag{color:var(--mute-d)}
.svc a:hover .arr{color:var(--signal);transform:translateX(6px)}
.svc li.is-key a{background:var(--concrete-2)}
.svc li.is-key a:hover{background:var(--graphite)}
.svc li.is-key h3::after{content:"собствена база";font-family:var(--f-mono);font-weight:500;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);background:var(--signal);padding:.35em .6em;margin-left:.8rem;vertical-align:middle;white-space:nowrap}
@media (max-width:760px){.svc a{grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem}.svc p{grid-column:1 / 2;grid-row:2}.svc .tag span:not(.arr){display:none}.svc .tag{grid-row:1 / span 2;grid-column:2}}

/* ---------- fleet / corporate ---------- */
.fleet{background:var(--concrete-2);border-block:1px solid var(--rule)}
.fleet__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.fleet h2{font-size:var(--s-xl);margin-top:.9rem}
.fleet__lead{margin-top:1.2rem;color:#2B3446;max-width:44ch}
.fleet__list{list-style:none;margin:1.8rem 0 0;padding:0;border-top:1.5px solid var(--graphite)}
.fleet__list li{display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr);gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--rule);font-size:var(--s-sm)}
.fleet__list b{font-weight:700}
.fleet__list span{color:var(--mute)}
.fleet__fig{margin:0;min-width:0}
.fleet__svg{width:100%;height:auto;display:block;background:var(--graphite);padding:clamp(.8rem,2vw,1.5rem);border:1.5px solid var(--graphite)}
.fleet__fig figcaption{margin-top:.8rem}
.fleet__svg .bay{fill:none;stroke:#34465F;stroke-width:1.5}
.fleet__svg .lane{stroke:#51637E;stroke-width:1.5;stroke-dasharray:18 12}
.fleet__svg .arrow path{fill:#51637E}
.fleet__svg .veh{fill:#18263D;stroke:var(--paper);stroke-width:1.6}
.fleet__svg .veh.hi{stroke:var(--signal);fill:rgb(37 99 235 / .2)}
.fleet__svg .tag rect{fill:var(--signal)}
.fleet__svg .tag text{fill:var(--paper);font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-anchor:middle}
.fleet__svg .nayd rect{fill:var(--signal)}
.fleet__svg .nayd text{fill:var(--paper);font-family:var(--f-display);font-weight:700;font-size:12px;text-anchor:middle}
.fleet__svg .cap{fill:var(--mute-d);font-family:var(--f-mono);font-size:10px;letter-spacing:.12em}
@media (prefers-reduced-motion:no-preference){.fleet__svg .nayd{animation:drive 9s ease-in-out infinite}}
@keyframes drive{0%,100%{transform:translateX(0)}50%{transform:translateX(-470px)}}
@media (max-width:960px){.fleet__grid{grid-template-columns:1fr}}
@media (max-width:520px){.fleet__list li{grid-template-columns:1fr;gap:.2rem}}

/* ---------- shlaif (spec sheet) ---------- */
.spec{position:relative}
.spec::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgb(255 255 255 / .045) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .045) 1px,transparent 1px);background-size:32px 32px}
.spec .wrap{position:relative}
.spec__draw{border:1px solid var(--rule-d);padding:clamp(1rem,3vw,2.5rem);background:rgb(8 28 60 / .35)}
.spec__draw svg{width:100%;height:auto}
.spec .draw-line{stroke:var(--paper)}
.spec .draw-thin{stroke:#6F8DBA}
.spec .draw-txt{fill:var(--mute-d)}
.spec__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(2rem,4vw,3rem)}
.ops{width:100%;border-collapse:collapse;font-size:var(--s-sm)}
.ops th{text-align:left;font-family:var(--f-mono);font-weight:400;font-size:var(--s-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mute-d);padding:0 0 .8rem;border-bottom:1.5px solid var(--paper)}
.ops td{padding:1rem 0;border-bottom:1px solid var(--rule-d);vertical-align:top}
.ops td:first-child{font-family:var(--f-mono);color:var(--signal-d);width:4.5rem;font-size:var(--s-xs);letter-spacing:.08em;padding-top:1.2rem}
.ops td small{display:block;color:var(--mute-d);margin-top:.2rem}
.b2b{border:1.5px solid var(--signal-d);padding:clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;gap:1rem;align-self:start}
.b2b h3{font-size:var(--s-lg)}
.b2b p{color:var(--mute-d);font-size:var(--s-sm)}
.b2b .btn{align-self:flex-start}
@media (max-width:860px){.spec__grid{grid-template-columns:1fr}}

/* ---------- proof / why ---------- */
.proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1.5px solid var(--graphite)}
.proof > div{padding:2rem 1.5rem 2rem 0;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:.8rem}
.proof > div + div{padding-left:1.5rem}
.proof > div:last-child{border-right:0}
.proof .big{font-family:var(--f-display);font-weight:700;font-size:var(--s-xl);letter-spacing:-.03em;line-height:1}
.proof .big sub{font-size:.35em;font-family:var(--f-mono);font-weight:400;letter-spacing:.1em;vertical-align:baseline;margin-left:.4em;color:var(--mute)}
.proof p{color:var(--mute);font-size:var(--s-sm);max-width:36ch}
@media (max-width:860px){.proof{grid-template-columns:1fr}.proof > div,.proof > div + div{padding:1.6rem 0;border-right:0;border-bottom:1px solid var(--rule)}}

/* ---------- photos ---------- */
.ph{position:relative;margin:0;background:
  linear-gradient(135deg,transparent 49.6%,rgb(20 22 25 / .12) 49.8%,rgb(20 22 25 / .12) 50.2%,transparent 50.4%),
  linear-gradient(45deg,transparent 49.6%,rgb(20 22 25 / .12) 49.8%,rgb(20 22 25 / .12) 50.2%,transparent 50.4%),var(--concrete-2);overflow:hidden;min-height:120px}
.dark .ph{background:
  linear-gradient(135deg,transparent 49.6%,rgb(255 255 255 / .08) 49.8%,rgb(255 255 255 / .08) 50.2%,transparent 50.4%),
  linear-gradient(45deg,transparent 49.6%,rgb(255 255 255 / .08) 49.8%,rgb(255 255 255 / .08) 50.2%,transparent 50.4%),var(--iron)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph figcaption{position:absolute;left:.8rem;bottom:.7rem;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;background:var(--concrete);color:var(--graphite);padding:.3em .6em}
.dark .ph figcaption{background:var(--graphite);color:var(--mute-d)}
.ph:has(img) figcaption{display:none}

.shop{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.shop .ph:nth-child(1){grid-column:span 7;aspect-ratio:16/10}
.shop .ph:nth-child(2){grid-column:span 5;aspect-ratio:auto}
.shop .ph:nth-child(3){grid-column:span 4;aspect-ratio:4/3}
.shop .ph:nth-child(4){grid-column:span 4;aspect-ratio:4/3}
.shop .ph:nth-child(5){grid-column:span 4;aspect-ratio:4/3}
@media (max-width:760px){.shop{gap:.6rem}.shop .ph:nth-child(n){grid-column:span 6;aspect-ratio:1}.shop .ph:nth-child(1){grid-column:1 / -1;aspect-ratio:16/10}.shop .ph:nth-child(5):last-child{display:block}}

/* ---------- motorsport ---------- */
.moto__top{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,4rem);align-items:end}
.moto__five{font-family:var(--f-display);font-weight:700;font-size:clamp(6rem,4rem + 12vw,15rem);line-height:.8;letter-spacing:-.06em;color:var(--signal-d)}
.moto__five span{font-size:.3em;letter-spacing:-.02em;color:var(--paper);margin-left:.1em}
.moto__cap{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mute-d);margin-top:1rem}
.moto__text p{color:var(--mute-d);max-width:48ch;margin-top:1rem}
.moto__text h2{font-size:var(--s-xl)}
.moto__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.cars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(2.5rem,5vw,4rem)}
.cars .ph{aspect-ratio:16/10}
.car-meta{display:flex;justify-content:space-between;gap:1rem;padding-top:.8rem;border-top:1px solid var(--rule-d);margin-top:.8rem}
.car-meta h3{font-size:var(--s-md);letter-spacing:0}
.car-meta span{font-family:var(--f-mono);font-size:var(--s-xs);color:var(--mute-d);letter-spacing:.08em;white-space:nowrap}
.tl{margin-top:clamp(2.5rem,5vw,4rem);overflow-x:auto;padding-bottom:.5rem}
.tl ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(8rem,1fr));border-top:1.5px solid var(--rule-d)}
.tl li{position:relative;padding:1.4rem 1rem 0 0}
.tl li::before{content:"";position:absolute;top:-6px;left:0;width:10px;height:10px;background:var(--deep);border:1.5px solid var(--mute-d);border-radius:50%}
.tl li.is-hi::before{background:var(--signal-d);border-color:var(--signal-d);box-shadow:0 0 0 5px rgb(143 182 255 / .25)}
.tl b{display:block;font-family:var(--f-display);font-size:var(--s-lg);letter-spacing:-.02em}
.tl li.is-hi b{color:var(--signal-d)}
.tl span{display:block;font-size:var(--s-xs);color:var(--mute-d);line-height:1.45;margin-top:.3rem;max-width:18ch}
@media (max-width:860px){.moto__top,.cars{grid-template-columns:1fr}}

/* ---------- booking ---------- */
.book{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border:1.5px solid var(--graphite);padding:clamp(1.25rem,3vw,2rem);background:var(--paper)}
.form .full{grid-column:1 / -1}
.field label{display:block;font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:.4rem}
.field input,.field textarea,.field select{width:100%;font:inherit;font-size:16px;color:var(--graphite);background:var(--concrete);border:1px solid var(--rule);border-bottom:1.5px solid var(--graphite);padding:.85rem .9rem;border-radius:0;appearance:none}
.field textarea{min-height:7rem;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--signal);background:#fff}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;border:0;padding:0;margin:0}
.chips legend{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:.5rem;padding:0}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label{font-size:var(--s-sm);padding:.55rem .9rem;border:1px solid var(--graphite);cursor:pointer;user-select:none;transition:background .15s,color .15s}
.chips input:checked + label{background:var(--graphite);color:var(--paper)}
.chips input:focus-visible + label{outline:2px solid var(--signal);outline-offset:2px}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.form__foot small{color:var(--mute);font-size:var(--s-xs)}
.form__ok{grid-column:1 / -1;border-left:3px solid var(--ok);padding:.8rem 1rem;background:var(--concrete);font-size:var(--s-sm)}
.contact{display:flex;flex-direction:column;gap:0;border-top:1.5px solid var(--graphite)}
.contact > div{padding:1.2rem 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem}
.contact b{font-family:var(--f-mono);font-weight:400;font-size:var(--s-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding-top:.2rem}
.contact a,.contact span{font-weight:500;text-decoration:none}
.contact .big{font-family:var(--f-display);font-size:var(--s-lg);letter-spacing:-.01em}
.mapcard{display:block;margin-top:1.5rem;border:1.5px solid var(--graphite);text-decoration:none;position:relative;overflow:hidden;background:var(--concrete-2)}
.mapcard svg{width:100%;height:auto;display:block}
.mapcard .go{position:absolute;right:0;bottom:0;background:var(--graphite);color:var(--paper);font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.1em;text-transform:uppercase;padding:.7rem 1rem}
.mapcard:hover .go{background:var(--signal)}
@media (max-width:860px){.book{grid-template-columns:1fr}.form{grid-template-columns:1fr}}

/* ---------- partners + footer ---------- */
.partners{margin-top:clamp(2.5rem,5vw,4rem);display:flex;flex-wrap:wrap;gap:1rem 3rem;align-items:center;justify-content:space-between;padding-block:2rem;border-top:1px solid var(--rule)}
.partners a{font-family:var(--f-display);font-weight:500;font-size:var(--s-md);text-decoration:none;color:var(--mute);transition:color .2s}
.partners a:hover{color:var(--graphite)}
.ftr{padding-block:clamp(3rem,6vw,5rem) 7rem}
.ftr__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;padding-bottom:3rem;border-bottom:1px solid var(--rule-d)}
.ftr__cols h4{font-family:var(--f-mono);font-weight:400;font-size:var(--s-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--mute-d);margin:0 0 1rem}
.ftr__cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;font-size:var(--s-sm)}
.ftr__cols a{text-decoration:none}
.ftr__cols a:hover{color:var(--signal)}
.ftr__word{font-family:var(--f-display);font-weight:700;font-size:clamp(2.4rem,12.2vw,13rem);letter-spacing:-.05em;line-height:.8;margin-top:2.5rem;color:var(--paper);white-space:nowrap}
.ftr__word span{color:var(--signal)}
.ftr__legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:1.5rem;font-family:var(--f-mono);font-size:var(--s-xs);color:var(--mute-d);letter-spacing:.06em}
@media (max-width:760px){.ftr__cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1061px){.ftr{padding-bottom:3rem}}

/* ---------- mobile action bar ---------- */
.mbar{display:none}
@media (max-width:1060px){
  .mbar{display:grid;grid-template-columns:1.4fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--graphite);border-top:1px solid var(--rule-d);padding-bottom:env(safe-area-inset-bottom,0px)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:.5em;min-height:56px;color:var(--paper);text-decoration:none;font-family:var(--f-mono);font-weight:500;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;border-right:1px solid var(--rule-d)}
  .mbar a:first-child{background:var(--signal)}
  .mbar a:last-child{border-right:0}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ===================== MULTI-PAGE COMPONENTS ===================== */
/* page hero */
.phero{position:relative;border-bottom:1px solid var(--rule);overflow:hidden}
.phero__in{position:relative;padding-block:clamp(2.2rem,5vw,4.5rem) clamp(2.2rem,5vw,4rem)}
.phero h1{font-size:var(--s-xl);letter-spacing:-.03em;max-width:18ch;margin-top:1rem}
.phero__lead{max-width:40rem;margin-top:1.4rem;font-size:var(--s-lg);line-height:1.4;color:#2B3446}
.crumbs{display:flex;gap:.6rem;font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-bottom:1.6rem}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--signal)}
.inl{color:var(--signal);text-decoration:none;font-weight:500;white-space:nowrap}
.dark .inl{color:var(--signal-d)}

/* home teasers */
.teasers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.teaser{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.4rem,3vw,2.4rem);text-decoration:none;border:1.5px solid var(--graphite);transition:transform .25s,box-shadow .25s;min-width:0}
.teaser:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--signal)}
.teaser--firmi{background:var(--concrete-2)}
.teaser h2{font-size:var(--s-lg);letter-spacing:-.02em}
.teaser p:not(.label):not(.moto__cap){color:var(--mute);font-size:var(--s-sm);max-width:44ch}
.dark.teaser p:not(.label):not(.moto__cap){color:var(--mute-d)}
.teaser--moto{border-color:var(--deep)}
.teaser--moto .moto__five{font-size:clamp(5rem,3rem + 7vw,9rem)}
.teaser__fig{margin-top:auto}
.teaser__fig .fleet__svg{padding:.8rem}
.teaser__go{margin-top:auto;font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--signal)}
.teaser--moto .teaser__go{color:var(--signal-d)}
.teaser:hover .arr{display:inline-block;transform:translateX(4px);transition:transform .2s}
@media (max-width:860px){.teasers{grid-template-columns:1fr}}

/* closing CTA band */
.cta{padding-block:clamp(3rem,6vw,5rem);border-top:1px solid var(--rule-d)}
.cta__in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem;align-items:end}
.cta h2{font-size:var(--s-xl);margin-top:.9rem;max-width:16ch}
.cta .hero__actions{margin-top:0}
.cta__meta{margin-top:1.2rem;font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.06em;color:var(--mute-d)}
@media (max-width:860px){.cta__in{grid-template-columns:1fr}}

/* service details */
.details{display:flex;flex-direction:column;gap:clamp(2.5rem,6vw,5rem)}
.detail{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;scroll-margin-top:6rem}
.detail--rev .detail__text{order:2}
.detail h2{font-size:var(--s-lg);margin:.8rem 0 1rem;letter-spacing:-.02em}
.detail__text > p:not(.label){color:#2B3446;max-width:48ch}
.detail .ph{aspect-ratio:4/3}
.detail .btn{margin-top:1.6rem}
.checks{list-style:none;margin:1.4rem 0 0;padding:0;border-top:1.5px solid var(--graphite)}
.checks li{padding:.75rem 0 .75rem 1.8rem;border-bottom:1px solid var(--rule);position:relative;font-size:var(--s-sm)}
.checks li::before{content:"";position:absolute;left:0;top:1.1rem;width:.9rem;height:2px;background:var(--signal)}
@media (max-width:860px){.detail{grid-template-columns:1fr}.detail--rev .detail__text{order:0}}

/* faq */
.faq{border-top:1.5px solid var(--graphite)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;padding:1.3rem 0;font-weight:500;font-size:var(--s-md)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-mono);font-size:1.3rem;line-height:1;color:var(--signal);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.4rem;color:var(--mute);max-width:60ch}

/* numbered process (real sequence) */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--graphite);counter-reset:st}
.steps li{counter-increment:st;padding:1.5rem 1.5rem 1.5rem 0;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:.5rem}
.steps li + li{padding-left:1.5rem}
.steps li:last-child{border-right:0}
.steps li::before{content:counter(st,decimal-leading-zero);font-family:var(--f-display);font-weight:700;font-size:var(--s-lg);color:var(--signal)}
.steps b{font-size:var(--s-md)}
.steps span{color:var(--mute);font-size:var(--s-sm)}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(2){border-right:0}.steps li:nth-child(3){padding-left:0}.steps li:nth-child(-n+2){border-bottom:1px solid var(--rule)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}.steps li,.steps li + li{padding:1.3rem 0;border-right:0;border-bottom:1px solid var(--rule)}}

/* audiences */
.aud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:clamp(2.5rem,5vw,4rem)}
.aud__card{border:1.5px solid var(--graphite);padding:clamp(1.4rem,3vw,2.2rem);display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.aud__card h3{font-size:var(--s-lg);letter-spacing:-.02em}
.aud__card p:not(.label){color:var(--mute);font-size:var(--s-sm)}
.aud__card--b2b{background:var(--graphite);color:var(--paper)}
.aud__card--b2b .label,.aud__card--b2b p:not(.label){color:var(--mute-d)}
.aud__card .btn{margin-top:auto}
.aud__card--b2b .btn--signal:hover{background:var(--paper);color:var(--graphite);border-color:var(--paper)}
@media (max-width:760px){.aud{grid-template-columns:1fr}}

/* 4x4 list without links */
.svc--plain .row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.5rem;align-items:center;padding:1.5rem .4rem}
@media (max-width:760px){.svc--plain .row{grid-template-columns:1fr;gap:.4rem}}
.kot{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem;align-items:end;border:1.5px solid var(--graphite);padding:clamp(1.5rem,4vw,3rem)}
.kot h2{font-size:var(--s-lg);margin-top:.9rem;letter-spacing:-.02em}
.kot p{color:var(--mute);margin-bottom:1.4rem}
@media (max-width:860px){.kot{grid-template-columns:1fr}}

/* about: history + mission */
.hist{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--graphite)}
.hist li{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:1.5rem;padding:1.8rem 0;border-bottom:1px solid var(--rule)}
.hist b{font-family:var(--f-display);font-size:var(--s-xl);letter-spacing:-.03em;line-height:1;color:var(--signal)}
.hist h3{font-size:var(--s-md);letter-spacing:0;margin-bottom:.5rem}
.hist p{color:var(--mute);max-width:60ch}
@media (max-width:640px){.hist li{grid-template-columns:1fr;gap:.6rem}}
.mission{margin:clamp(2.5rem,6vw,5rem) 0;padding:0}
.mission p:not(.label){font-family:var(--f-display);font-weight:700;font-size:var(--s-xl);letter-spacing:-.03em;line-height:1.05;max-width:20ch;margin-top:1rem;text-wrap:balance}
.shop--2 .ph:nth-child(n){grid-column:span 6;aspect-ratio:4/3}
@media (max-width:760px){.shop--2 .ph:nth-child(n){grid-column:1 / -1}}

/* ===================== REAL MEDIA ===================== */
.ph video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph:has(video) figcaption{display:none}
.duo__media{position:relative;aspect-ratio:16/9;margin:-1.5rem -1.5rem .4rem;overflow:hidden;background:var(--iron)}
.duo__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.duo--svc .duo__draw{max-height:none}
.teaser__photo{aspect-ratio:16/9;margin:0 calc(-1*clamp(1.4rem,3vw,2.4rem));border-block:1.5px solid var(--deep)}
.vband{background:var(--deep);padding-block:clamp(1.5rem,3vw,2.5rem) 0}
.vfig{margin:0;position:relative;aspect-ratio:21/9;overflow:hidden;background:var(--graphite);max-width:100%}
.vfig video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vfig figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:linear-gradient(transparent,rgb(15 27 46 / .75))}
.vfig .label{color:var(--paper)}
@media (max-width:640px){.vfig{aspect-ratio:4/3}.vfig figcaption .label:first-child{display:none}}
.ph.wide{aspect-ratio:21/9;margin-top:clamp(2.5rem,5vw,4rem)}
@media (max-width:640px){.ph.wide{aspect-ratio:4/3}}
/* photo overlay caption + service illustrations */
.ph .cap-on{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:.2rem .6rem;left:0;right:0;bottom:0;padding:.9rem 1rem .8rem;background:linear-gradient(transparent,rgb(15 27 46 / .88) 45%);color:var(--paper);font-family:var(--f-body);font-size:var(--s-sm);letter-spacing:0;text-transform:none}
.ph .cap-on b{font-family:var(--f-display);font-size:var(--s-lg);letter-spacing:-.02em;color:var(--signal-d)}
.illus{margin:0;aspect-ratio:4/3;background:var(--concrete-2);border:1.5px solid var(--graphite);display:flex;align-items:center;justify-content:center;padding:1.2rem}
.illus svg{width:100%;height:100%}
.illus .draw-txt{font-size:11px}

/* ===================== INTERACTIVE CRANKSHAFT (shlaif) ===================== */
.crank{border:1px solid var(--rule-d);background:rgb(8 28 60 / .35)}
.crank__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--rule-d)}
.crank__chips{display:flex;flex-wrap:wrap;gap:.4rem}
.crank__chip{font:inherit;font-size:var(--s-xs);font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--paper);background:transparent;border:1px solid var(--rule-d);padding:.45rem .7rem;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;transition:background .15s,border-color .15s}
.crank__chip span{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border:1px solid currentColor;border-radius:50%;font-size:.7rem}
.crank__chip:hover,.crank__chip[aria-pressed="true"]{background:var(--signal-d);border-color:var(--signal-d);color:var(--graphite)}
.crank__stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,17rem)}
.crank__draw{padding:clamp(.6rem,2vw,1.5rem);overflow-x:auto;min-width:0}
.crank__svg{width:100%;min-width:640px;height:auto;display:block}
.crank__info{border-left:1px solid var(--rule-d);padding:1.2rem;display:flex;flex-direction:column;gap:.8rem;min-width:0}
#crank-info b{display:block;font-family:var(--f-display);font-size:var(--s-md);letter-spacing:-.01em;margin-bottom:.4rem}
#crank-info p{font-size:var(--s-sm);color:var(--mute-d)}
#crank-info small{display:inline-block;margin-top:.6rem;font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.08em;color:var(--signal-d);border:1px solid var(--signal-d);padding:.2rem .5rem}
.crank__size{margin-top:auto;border-top:1px solid var(--rule-d);padding-top:1rem;display:flex;flex-direction:column;gap:.5rem}
.crank__size small{font-size:var(--s-xs);color:var(--mute-d);line-height:1.4}
#crank-size-out{font-family:var(--f-display);font-weight:700;font-size:var(--s-md);color:var(--signal-d)}
#crank-range{width:100%;accent-color:var(--signal-d);cursor:pointer}
.crank__ticks{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.62rem;color:var(--mute-d)}
@media (max-width:900px){.crank__stage{grid-template-columns:1fr}.crank__info{border-left:0;border-top:1px solid var(--rule-d)}}
/* svg styling */
.crank__svg .cl{stroke:#6F8DBA;stroke-width:.8;stroke-dasharray:14 4 2 4;fill:none}
.crank__svg .part{cursor:pointer}
.crank__svg .part rect,.crank__svg .part path{fill:rgb(248 246 241 / .04);stroke:var(--paper);stroke-width:1.3;transition:fill .2s,stroke .2s}
.crank__svg .part--web rect,.crank__svg .part--web path{fill:rgb(248 246 241 / .07)}
.crank__svg .part--flange line{stroke:var(--paper);stroke-width:1}
.crank__svg .oilg line{stroke:#6F8DBA;stroke-width:1;stroke-dasharray:3 3;fill:none}
.crank__svg .oilg circle{fill:var(--deep);stroke:#6F8DBA;stroke-width:1}
.crank__svg .jr rect{transition:y .35s ease,height .35s ease,fill .2s,stroke .2s}
.crank__svg .dim line{stroke:#6F8DBA;stroke-width:.8}
.crank__svg #crank-dimline,.crank__svg #crank-dimtop,.crank__svg #crank-dimbot{transition:all .35s ease}
.crank__svg .dtxt{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;fill:var(--mute-d)}
.crank__svg .dtxt.sig{fill:var(--signal-d);font-size:12px}
.crank__svg .ball{cursor:pointer}
.crank__svg .ball line{stroke:#6F8DBA;stroke-width:.8}
.crank__svg .ball circle{fill:var(--deep);stroke:var(--paper);stroke-width:1.2;transition:fill .15s}
.crank__svg .ball text{font-family:var(--f-mono);font-size:11px;fill:var(--paper);text-anchor:middle;pointer-events:none}
.crank__svg .ball:hover circle,.crank__svg .ball.is-on circle{fill:var(--signal-d)}
.crank__svg .ball.is-on text,.crank__svg .ball:hover text{fill:var(--graphite)}
.crank__svg .sect path,.crank__svg .sect circle{fill:rgb(248 246 241 / .05);stroke:var(--paper);stroke-width:1.2}
.crank__svg .sect .sect__rod{stroke:var(--signal-d)}
.crank__svg .secm line{stroke:var(--paper);stroke-width:1.6}
.crank__svg .secm text{font-family:var(--f-mono);font-size:11px;fill:var(--paper)}
/* highlight */
.crank__svg.has-sel .part{opacity:.35}
.crank__svg.has-sel .part.is-on{opacity:1}
.crank__svg .part.is-on rect,.crank__svg .part.is-on path{fill:rgb(143 182 255 / .28);stroke:var(--signal-d);stroke-width:2}
.crank__svg .part.is-on line{stroke:var(--signal-d)}
.crank__svg .oilg.is-on line{stroke-width:2}
.crank__svg .part:hover rect,.crank__svg .part:hover path{stroke:var(--signal-d)}
.crank__svg .part path.fil{fill:none!important;stroke:#6F8DBA;stroke-width:1}
@media (max-width:640px){.crank__chips{display:grid;grid-template-columns:1fr 1fr;width:100%}.crank__chip{font-size:.6rem;padding:.4rem .5rem;letter-spacing:.03em}.crank__draw::after{content:"← плъзнете чертежа →";display:block;text-align:center;font-family:var(--f-mono);font-size:.62rem;color:var(--mute-d);margin-top:.4rem;position:sticky;left:0}}

/* ===================== OPERATIONS GRID + V-ENGINE ===================== */
.spec__grid{grid-template-columns:1fr!important}
.ops-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule-d);border-left:1px solid var(--rule-d)}
.op{padding:1.2rem;border-right:1px solid var(--rule-d);border-bottom:1px solid var(--rule-d);display:flex;flex-direction:column;gap:.45rem;scroll-margin-top:6rem;transition:background .2s}
.op:hover{background:rgb(143 182 255 / .08)}
.op svg{width:100%;max-width:160px;height:auto;margin-bottom:.6rem}
.op .dl{fill:none;stroke:var(--paper);stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}
.op .dt{fill:none;stroke:#6F8DBA;stroke-width:.8}
.op text.dt{fill:var(--mute-d);stroke:none;font-family:var(--f-mono);font-size:7px;letter-spacing:.06em}
.op .ds{fill:none;stroke:var(--signal-d);stroke-width:1.6;stroke-linejoin:round}
.op__code{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.1em;color:var(--signal-d)}
.op h3{font-size:var(--s-md);letter-spacing:-.01em;line-height:1.15}
.op p{font-size:var(--s-sm);color:var(--mute-d)}
@media (max-width:1060px){.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.ops-grid{grid-template-columns:1fr}}
.b2b{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:end}
@media (max-width:760px){.b2b{grid-template-columns:1fr}}
.b2b .btn{margin-top:1rem}
/* v-engine drawing */
.vsvg{min-width:560px}
.vsvg .cl{stroke:#6F8DBA;stroke-width:.8;stroke-dasharray:14 4 2 4;fill:none}
.vsvg .angle{fill:none;stroke:var(--signal-d);stroke-width:1}
.vsvg .part{cursor:pointer}
.vsvg .part path,.vsvg .part rect,.vsvg .part ellipse,.vsvg .part circle{fill:rgb(248 246 241 / .05);stroke:var(--paper);stroke-width:1.3;stroke-linejoin:round;transition:fill .2s,stroke .2s}
.vsvg .part--block path{fill:rgb(248 246 241 / .03)}
.vsvg .part--block .wj,.vsvg .part--head .port,.vsvg .part--valves .seat,.vsvg .rings,.vsvg .pan{fill:none!important;stroke:#6F8DBA!important;stroke-width:1!important}
.vsvg .part--liner rect{fill:rgb(143 182 255 / .12)}
.vsvg .part--valves path{fill:none}
.vsvg .rod{stroke:var(--paper);stroke-width:9;stroke-linecap:round;opacity:.9}
.vsvg .part--rods.is-on .rod{stroke:var(--signal-d)}
.vsvg .pin{fill:var(--deep)!important}
.vsvg .ball{cursor:pointer}
.vsvg .ball line{stroke:#6F8DBA;stroke-width:.8}
.vsvg .ball circle{fill:var(--deep);stroke:var(--paper);stroke-width:1.2}
.vsvg .ball text{font-family:var(--f-mono);font-size:12px;fill:var(--paper);text-anchor:middle;pointer-events:none}
.vsvg .ball:hover circle,.vsvg .ball.is-on circle{fill:var(--signal-d)}
.vsvg .ball:hover text,.vsvg .ball.is-on text{fill:var(--graphite)}
.vsvg .dtxt{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;fill:var(--mute-d)}
.vsvg .dtxt.sig{fill:var(--signal-d);font-size:13px}
.vsvg.has-sel .part{opacity:.3}
.vsvg.has-sel .part.is-on{opacity:1}
.vsvg .part.is-on path,.vsvg .part.is-on rect,.vsvg .part.is-on ellipse,.vsvg .part.is-on circle{stroke:var(--signal-d);fill:rgb(143 182 255 / .25)}
.vsvg .part:hover path,.vsvg .part:hover rect,.vsvg .part:hover ellipse{stroke:var(--signal-d)}
.veng__play{align-self:flex-start}
.veng__deg{font-family:var(--f-display);font-weight:700;font-size:var(--s-md);color:var(--signal-d)}
#veng-range{width:100%;accent-color:var(--signal-d)}
.vsvg .bore{fill:var(--deep);stroke:none}
.vsvg .part--block polygon{fill:rgb(248 246 241 / .06);stroke:var(--paper);stroke-width:1.4;stroke-linejoin:round}
.vsvg .part--block.is-on polygon{fill:rgb(143 182 255 / .2);stroke:var(--signal-d)}
.vsvg.has-sel .bore{opacity:1}
.xdraw__info b{display:block;font-family:var(--f-display);font-size:var(--s-md);letter-spacing:-.01em;margin-bottom:.4rem}
.xdraw__info p{font-size:var(--s-sm);color:var(--mute-d)}
.xdraw__info small{display:inline-block;margin-top:.6rem;font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.08em;color:var(--signal-d);border:1px solid var(--signal-d);padding:.2rem .5rem}
/* head repair: process + result videos */
.headvid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,4fr);gap:1rem;align-items:end;margin-top:clamp(1.5rem,3vw,2.5rem)}
.headvid__head h3{font-size:var(--s-lg);letter-spacing:-.02em;margin-top:.8rem}
.headvid__fig{margin:0;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--graphite);border:1px solid var(--rule-d)}
.headvid__fig video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.headvid__fig figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;background:linear-gradient(transparent,rgb(15 27 46 / .85));font-size:var(--s-sm);font-weight:500}
.headvid__n{font-family:var(--f-display);font-weight:700;color:var(--signal-d)}
@media (max-width:860px){.headvid{grid-template-columns:1fr 1fr}.headvid__head{grid-column:1 / -1}}
@media (max-width:520px){.headvid{grid-template-columns:1fr}}
/* photos with a caption: caption sits under the photo instead of covering it */
.ph:has(.cap-on){aspect-ratio:auto!important;display:flex;flex-direction:column;min-height:0;background:var(--graphite)}
.ph:has(.cap-on) img{position:static;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:50% 55%}
.ph.wide:has(.cap-on) img{aspect-ratio:21/9}
@media (max-width:640px){.ph.wide:has(.cap-on) img{aspect-ratio:4/3}}
.ph .cap-on{position:static!important;background:var(--graphite)!important;padding:.8rem 1rem .9rem!important}
/* phone: the grinding video card comes before the service card */
@media (max-width:640px){.duo--shl{order:1}.duo--svc{order:2}}

/* ---- Кодове за грешки + Провери колата (2026-09-30) ---- */
.codefind{max-width:32rem;margin-bottom:2rem}
.codes__none{margin:-1rem 0 2rem;color:var(--mute)}
.codes__grp{margin-bottom:2.2rem}
.codes__grp .label{margin-bottom:.8rem;font-size:var(--s-xs)}
.codes{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--graphite)}
.codes li{border-bottom:1px solid var(--rule)}
.codes li>a,.codes li>div{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:.8rem .4rem;text-decoration:none;font-size:var(--s-sm)}
.codes li>div{color:var(--mute)}
.codes .num{font-family:var(--f-mono);font-weight:500;color:var(--graphite)}
.codes li>a{background:var(--concrete-2)}
.codes li>a .num{color:var(--signal)}
.codes li>a:hover{background:var(--graphite);color:var(--paper)}
.codes li>a:hover .num{color:var(--signal-d)}
.codes .arr{transition:transform .2s}.codes li>a:hover .arr{transform:translateX(4px)}
.code-h1{max-width:none!important;font-size:clamp(1.5rem,1.1rem + 1.8vw,2.6rem)!important;line-height:1.15}
.code-h1 .num{display:block;font-family:var(--f-mono);font-weight:500;color:var(--signal);font-size:1.4em;letter-spacing:.02em;margin-bottom:.3rem}
.codebody{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.codebody__main h2{font-size:var(--s-lg);letter-spacing:-.015em;margin:2.6rem 0 .9rem}
.codebody__main p{max-width:62ch;margin:.7rem 0;line-height:1.6}
.codebody__main a{color:var(--signal)}
.codebody__side{position:sticky;top:6rem;display:grid;gap:1.2rem}
.code-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1.5px solid var(--graphite)}
.code-sum>div{padding:1rem 1.1rem;border-right:1px solid var(--rule)}.code-sum>div:last-child{border-right:0}
.code-sum b{display:block;font-family:var(--f-mono);font-weight:400;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:.4rem}
.code-sum p{margin:0!important;font-size:var(--s-sm);line-height:1.5}
.causes,.steps-plain{margin:1rem 0 0;padding:0;list-style:none;counter-reset:c;border-top:1.5px solid var(--graphite)}
.causes li,.steps-plain li{counter-increment:c;position:relative;padding:.8rem 0 .8rem 2.6rem;border-bottom:1px solid var(--rule);font-size:var(--s-sm);line-height:1.55}
.causes li::before,.steps-plain li::before{content:counter(c,decimal-leading-zero);position:absolute;left:0;top:.85rem;font-family:var(--f-mono);font-size:var(--s-xs);color:var(--signal)}
.code-note{border:1.5px solid var(--graphite);padding:1.3rem 1.4rem;margin-top:2.4rem;background:var(--concrete-2)}
.code-note p{margin:.5rem 0 1rem;max-width:62ch;font-size:var(--s-sm);line-height:1.55}
.code-cta{background:var(--graphite);color:var(--paper);padding:1.4rem;display:grid;gap:.8rem}
.code-cta .label{color:var(--mute-d)}.code-cta p{margin:0;font-size:var(--s-sm);line-height:1.5}
.code-cta .btn{justify-content:center}
.code-rel ul{list-style:none;margin:.6rem 0 0;padding:0;border-top:1.5px solid var(--graphite)}
.code-rel a{display:grid;grid-template-columns:4.2rem minmax(0,1fr);gap:.6rem;padding:.6rem .2rem;border-bottom:1px solid var(--rule);text-decoration:none;font-size:var(--s-xs);line-height:1.4}
.code-rel .num{font-family:var(--f-mono);color:var(--signal)}.code-rel a:hover{background:var(--concrete-2)}
.code-back{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--mute)}
.code-back:hover{color:var(--signal)}
@media (max-width:900px){.codebody{grid-template-columns:1fr}.codebody__side{position:static}.code-sum{grid-template-columns:1fr}.code-sum>div{border-right:0;border-bottom:1px solid var(--rule)}.code-sum>div:last-child{border-bottom:0}}
@media (max-width:560px){.codes li>a,.codes li>div{grid-template-columns:4.6rem minmax(0,1fr);gap:.7rem}.codes .arr{display:none}}
.plate{max-width:36rem;margin-bottom:2.4rem}
.plate__row{display:flex;align-items:stretch;border:1.5px solid var(--graphite);background:#fff}
.plate__bg{display:flex;align-items:flex-end;justify-content:center;width:2.6rem;flex:none;background:#1E47C8;color:#fff;font-family:var(--f-mono);font-size:.8rem;padding-bottom:.45rem}
.plate__row input{border:0!important;font-family:var(--f-mono)!important;font-size:clamp(1.2rem,1rem + 1vw,1.6rem)!important;letter-spacing:.12em;text-transform:uppercase;background:#fff!important;min-width:0}
.plate__row .btn{border:0;border-left:1.5px solid var(--graphite);flex:none}
.plate__hint{margin-top:.7rem;font-size:var(--s-sm);color:var(--mute)}
.plate__hint.is-ok{color:var(--ok)}
.chk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1.5px solid var(--graphite);border-left:1px solid var(--rule)}
.chk li{padding:1.6rem 1.5rem 1.8rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
.chk h2{font-size:var(--s-lg);letter-spacing:-.015em}
.chk p{margin:0;font-size:var(--s-sm);line-height:1.5}
.chk .chk__need{color:var(--mute);margin-bottom:.6rem}.chk__need b{font-weight:500;color:var(--graphite)}
.chk .btn{margin-top:auto}
.chk__legal{margin-top:1.2rem;font-size:var(--s-xs);color:var(--mute)}
.duo-lite{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.duo-lite .code-note{margin-top:0}
@media (max-width:760px){.chk,.duo-lite{grid-template-columns:1fr}}
.tool-card{display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.3rem,3vw,2rem);border:1.5px solid var(--graphite);text-decoration:none;background:var(--concrete-2);transition:transform .25s,box-shadow .25s}
.tool-card:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--signal)}
.tool-card h3{font-size:var(--s-lg);letter-spacing:-.02em}
.tool-card p:not(.label){color:var(--mute);font-size:var(--s-sm);max-width:44ch}
.tool-card .teaser__go{margin-top:auto;padding-top:.4rem}
.tool-card:hover .arr{display:inline-block;transform:translateX(4px);transition:transform .2s}

/* reviews */
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.rev{margin:0;border-top:1.5px solid var(--graphite);padding-top:1.1rem;display:flex;flex-direction:column;gap:.8rem}
.rev__stars{color:var(--signal);letter-spacing:.15em;font-size:1rem}
.rev__stars span{color:var(--rule)}
.rev blockquote{margin:0;font-size:var(--s-md);line-height:1.45}
.rev figcaption{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.08em;text-transform:uppercase;margin-top:auto}
.rev figcaption span{color:var(--mute)}
.revs-more{margin-top:1.5rem}
.revs-more summary{list-style:none;cursor:pointer;font-family:var(--f-mono);font-size:var(--s-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--signal);padding:.6rem 0;margin-bottom:1rem}
.revs-more summary::-webkit-details-marker{display:none}
.revs-more summary::after{content:" +"}
.revs-more[open] summary::after{content:" −"}
@media (max-width:860px){.revs{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.revs{grid-template-columns:1fr}}

/* ---------- intro (home, first visit per session) ---------- */
.intro{position:fixed;inset:0;z-index:999;background:#12396E;color:#F8F6F1;display:grid;place-items:center;cursor:pointer;
  animation:intro-out .42s cubic-bezier(.7,0,.2,1) 1.58s forwards}
.intro__in{width:min(78vw,760px);text-align:center}
.intro__crank{width:100%;height:auto;display:block;fill:none;stroke:#8FB6FF;stroke-width:2;stroke-linejoin:round;overflow:visible}
.intro__crank *{stroke-dasharray:1;stroke-dashoffset:1;animation:intro-draw .5s cubic-bezier(.5,0,.2,1) forwards}
.intro__crank .i1 *{stroke:#BCCDE6;stroke-width:1;animation-duration:.32s}
.intro__crank .i2 *{animation-delay:.08s}
.intro__crank .i3 *{animation-delay:.2s}
.intro__crank .i4 *{animation-delay:.32s;stroke:#F8F6F1}
.intro__crank .i5 *{animation-delay:.42s}
.intro__logo{font-family:var(--f-display);font-weight:700;font-size:clamp(1.6rem,5vw,2.8rem);letter-spacing:-.02em;margin-top:clamp(1.2rem,3vw,2rem);
  opacity:0;transform:translateY(10px);animation:intro-up .3s ease-out .55s forwards}
.intro__logo span{color:#8FB6FF}
.intro__sub{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.14em;text-transform:uppercase;color:#BCCDE6;margin-top:.7rem;
  opacity:0;animation:intro-up .3s ease-out .68s forwards}
.intro--skip{animation:intro-out .3s cubic-bezier(.7,0,.2,1) forwards}
.intro-on body{overflow:hidden}
@keyframes intro-draw{to{stroke-dashoffset:0}}
@keyframes intro-up{to{opacity:1;transform:none}}
@keyframes intro-out{to{transform:translateY(-100%)}}
@media (prefers-reduced-motion:reduce){.intro{display:none}}

.duo-lite--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:960px){.duo-lite--3{grid-template-columns:1fr}}
.saveti-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:960px){.saveti-grid{grid-template-columns:1fr}}
.saveti-more{margin-top:2rem;color:var(--mute)}
/* brands */
.brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;border-top:1.5px solid var(--graphite)}
.brand{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) auto;gap:1rem;align-items:baseline;padding:1.2rem .4rem;border-bottom:1px solid var(--rule);text-decoration:none;transition:background .2s,color .2s,padding .2s}
.brand__name{font-family:var(--f-display);font-weight:700;font-size:var(--s-lg);letter-spacing:-.02em}
.brand__txt{color:var(--mute);font-size:var(--s-sm)}
.brand .arr{color:var(--signal);transition:transform .2s}
.brand:hover{background:var(--graphite);color:var(--paper);padding-inline:1rem}
.brand:hover .brand__txt{color:var(--mute-d)}.brand:hover .arr{transform:translateX(4px);color:var(--signal-d)}
@media (max-width:860px){.brands{grid-template-columns:1fr}}
@media (max-width:480px){.brand{grid-template-columns:minmax(0,1fr) auto}.brand__txt{grid-column:1;grid-row:2}.brand .arr{grid-row:1 / span 2;grid-column:2}}
.codebody__main h3{font-size:var(--s-md);letter-spacing:-.01em;margin:1.6rem 0 .4rem}
.codebody__main .faq{margin-top:1rem}

/* language switch */
.lang{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.1em;text-decoration:none;border:1.5px solid var(--graphite);min-width:44px;height:44px;display:inline-grid;place-items:center;padding:0 .6rem;transition:background .2s,color .2s}
.lang:hover{background:var(--graphite);color:var(--paper)}

/* services dropdown: hover/focus on desktop, toggle button everywhere (closed by default) */
.nav li{position:relative}
.has-sub{display:flex;align-items:center;gap:.15rem}
.sub-tg{width:1.4rem;height:1.4rem;padding:0;border:0;background:none;color:inherit;cursor:pointer;display:grid;place-items:center}
.sub-tg::before{content:"";width:.38rem;height:.38rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-25%) rotate(45deg);transition:transform .2s}
.has-sub.is-open .sub-tg::before{transform:translateY(25%) rotate(-135deg)}
.has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:.9rem}
.sub{display:none;position:absolute;top:calc(100% + .8rem);left:-1rem;min-width:15.5rem;list-style:none;margin:0;padding:.4rem 0;background:var(--concrete);border:1.5px solid var(--graphite);box-shadow:6px 6px 0 var(--signal);z-index:60}
.has-sub.is-open .sub{display:block}
@media (hover:hover) and (min-width:1061px){.has-sub:hover .sub{display:block}}
.sub a{display:block;padding:.6rem 1rem;white-space:nowrap}
.sub a::after{display:none}
.sub a:hover{background:var(--graphite);color:var(--paper)}
@media (max-width:1060px){
  .has-sub{flex-wrap:wrap}
  .has-sub::after{display:none}
  .sub-tg{width:1.9rem;height:1.9rem;margin-left:.25rem}
  .sub-tg::before{width:.5rem;height:.5rem;border-width:2px}
  .sub{position:static;flex-basis:100%;border:0;box-shadow:none;background:none;padding:.2rem 0 .4rem 1rem;min-width:0;font-size:var(--s-md)}
  .sub a{padding:.35rem 0;color:var(--mute)}
}
/* back to top */
.totop{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:45;width:48px;height:48px;display:grid;place-items:center;background:var(--graphite);color:var(--paper);border:1.5px solid var(--paper);cursor:pointer;box-shadow:4px 4px 0 var(--signal);transition:background .2s,transform .2s}
.totop[hidden]{display:none!important}
.totop svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square}
.totop:hover{background:var(--signal);transform:translateY(-2px)}
@media (max-width:1060px){.totop{bottom:calc(56px + 16px + env(safe-area-inset-bottom,0px))}}

/* code groups: collapsible */
details.codes__grp{margin-bottom:0;border-top:1.5px solid var(--graphite)}
details.codes__grp:last-of-type{border-bottom:1.5px solid var(--graphite)}
.codes__grp summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto 1.2rem;gap:1rem;align-items:center;padding:1.1rem .4rem}
.codes__grp summary::-webkit-details-marker{display:none}
.codes__grp summary h2{font-size:var(--s-md);letter-spacing:-.01em;line-height:1.25}
.codes__n{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.06em;color:var(--mute);white-space:nowrap}
.codes__grp summary::after{content:"+";font-family:var(--f-mono);font-size:1.3rem;line-height:1;color:var(--signal);transition:transform .2s;justify-self:end}
.codes__grp[open] summary::after{transform:rotate(45deg)}
.codes__grp summary:hover{background:var(--concrete-2)}
details.codes__grp .codes{border-top:1px solid var(--rule);margin-bottom:1.2rem}
.codes li.is-hit>div,.codes li.is-hit>a{outline:2px solid var(--signal);outline-offset:-2px}
@media (max-width:560px){.codes__grp summary{grid-template-columns:minmax(0,1fr) 1.2rem}.codes__n{grid-column:1;grid-row:2}.codes__grp summary::after{grid-row:1 / span 2;grid-column:2}}
/* правни страници */
.legal .wrap{max-width:860px}
.legal h2{font-size:var(--s-lg);margin:2.2rem 0 .8rem}
.legal h2:first-child{margin-top:0}
.legal p{margin:0 0 .8rem;color:var(--graphite)}
.legal a{color:var(--signal)}


/* горна лента: адрес, телефон, статус, вход, език */
.util .wrap{align-items:center;padding-block:.5rem}
.util__l,.util__r{display:flex;align-items:center;gap:1.4rem}
.util a{color:var(--paper);text-decoration:none}
.util a:hover{color:var(--signal-d)}
.util .lang{border:0;min-width:0;height:auto;padding:0 0 0 1.4rem;border-left:1px solid var(--rule-d);display:inline;color:var(--mute-d)}
.util .lang:hover{background:none;color:var(--paper)}
@media (max-width:760px){.util__addr{display:none}}
@media (max-width:560px){.util .wrap{flex-wrap:nowrap}.util__r{gap:1rem}.util .lang{padding-left:1rem}}

/* лого + телефон под него; „Вход“ до „Запази час“ */
.brand-blk{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.mark__tel{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.08em;text-decoration:none;color:var(--mute)}
.mark__tel:hover{color:var(--signal)}
.acct svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
.hdr__cta .acct{display:inline-flex}
@media (max-width:1200px){.hdr__cta .btn{padding:.85em 1em}.nav{gap:1rem}}
@media (max-width:560px){.hdr__cta .acct{height:44px;padding:0 .75em;font-size:.72rem;letter-spacing:.04em;gap:.45em}.hdr__cta{gap:.5rem}}
@media (max-width:370px){.hdr__cta .acct span{display:none}.hdr__cta .acct{width:44px;padding:0;justify-content:center}}
@media (max-width:760px){.util__l{display:none}.util .wrap{justify-content:flex-end}}
.brand-blk{align-items:center}

/* начална: блок „Моята карта“ */
.loyal-band__in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.loyal-band h2{font-size:var(--s-xl);margin-top:.9rem;max-width:16ch}
.loyal-band__lead{margin-top:1.2rem;color:var(--mute-d);max-width:46ch;font-size:var(--s-md)}
.loyal-band__list{list-style:none;margin:1.6rem 0 0;padding:0;border-top:1px solid var(--rule-d)}
.loyal-band__list li{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--rule-d);font-size:var(--s-sm)}
.loyal-band__list span{color:var(--mute-d)}
.loyal-band .hero__actions{margin-top:1.8rem}
.lcard{aspect-ratio:1.586;max-width:440px;width:100%;justify-self:end;background:linear-gradient(135deg,var(--iron),var(--graphite));border:1px solid var(--rule-d);border-radius:16px;padding:clamp(1rem,2.5vw,1.5rem);display:flex;flex-direction:column;justify-content:space-between;color:var(--paper);box-shadow:0 24px 48px -24px rgb(0 0 0 / .6);transform:rotate(-3deg);transition:transform .4s}
.lcard:hover{transform:rotate(0)}
.lcard__top,.lcard__bot{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.lcard__mark{font-family:var(--f-display);font-weight:700;font-size:1.05rem}
.lcard__mark em{font-style:normal;color:var(--signal-d)}
.lcard__chip{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule-d);padding:.3em .6em;border-radius:99px;color:var(--mute-d)}
.lcard__mid{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.lcard__big{display:block;font-family:var(--f-display);font-weight:700;font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;color:var(--signal-d)}
.lcard__cap{display:block;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute-d);margin-top:.4rem;max-width:14ch}
.lcard__qr{width:clamp(72px,9vw,104px);height:auto;border-radius:6px;flex:none}
.lcard__qr rect{fill:var(--graphite)}
.lcard__qr .w{fill:var(--paper)}
.lcard__bot{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute-d)}
@media (max-width:860px){.loyal-band__in{grid-template-columns:1fr}.lcard{justify-self:start;transform:rotate(-2deg)}}
@media (max-width:520px){.loyal-band__list li{grid-template-columns:1fr;gap:.15rem}}
@media (prefers-reduced-motion:reduce){.lcard{transform:none}}
@media (min-width:1061px) and (max-width:1200px){.nav{gap:.8rem;font-size:.84rem}.hdr .wrap{gap:1rem}.hdr__cta .btn{font-size:.78rem}}
