@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
:root{
  --black:#060607;--ink:#0C0C0E;--g1:#131316;--g2:#1B1B1F;--g3:#26262B;--line:#2C2C32;--line2:#3D3D44;
  --mute:#A0A0A8;--white:#F6F6F6;--red:#E3122C;--red-hi:#FF2B44;--glow:rgba(255,35,55,.65);
  --f:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --pad:clamp(20px,4.5vw,72px);--max:1400px;
  box-sizing:border-box;color-scheme:dark;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--black:#060607}}
:root[data-theme="dark"]{--black:#060607}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(96px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--f);font-size:17px;line-height:1.6;overflow-x:hidden;font-stretch:100%}
body.locked{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--red-hi);outline-offset:3px}
.skip{position:absolute;left:12px;top:-60px;z-index:300;background:var(--red);color:#fff;padding:10px 16px;text-decoration:none}
.skip:focus{top:12px}
.wide{font-stretch:125%}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.06em}

/* ---------- Gate (unchanged behaviour) ---------- */
#gate{position:fixed;inset:0;z-index:200;pointer-events:none}
.gate-half{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;background:var(--black);pointer-events:auto;transition:transform 1.15s cubic-bezier(.77,0,.18,1)}
.gate-half.l{left:0}.gate-half.r{right:0}
.gate-half .stage{position:absolute;top:0;bottom:0;width:100vw;display:grid;place-items:center}
.gate-half.l .stage{left:0}.gate-half.r .stage{right:0}
.gate-logo{display:flex;flex-direction:column;align-items:center;gap:18px;opacity:0;transform:scale(.92);transition:opacity .7s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.gate-logo svg{width:clamp(96px,14vw,150px);height:auto;filter:drop-shadow(0 0 30px rgba(227,18,44,.4))}
.gate-word{font-weight:900;font-stretch:125%;font-size:clamp(30px,4.4vw,50px);letter-spacing:.12em;line-height:1;padding-left:.12em}
.gate-sub{font-size:13px;color:var(--mute);letter-spacing:.08em;margin-top:-10px}
#gate.show .gate-logo{opacity:1;transform:scale(1)}
.seam{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:linear-gradient(transparent,var(--red) 30%,#fff 50%,var(--red) 70%,transparent);transform:scaleY(0);opacity:0;transition:transform .45s ease,opacity .3s ease;z-index:2;box-shadow:0 0 24px 4px var(--glow)}
#gate.crack .seam{transform:scaleY(1);opacity:1}
#gate.open .seam{opacity:0;transition-delay:.15s}
#gate.open .gate-half.l{transform:translateX(-101%)}
#gate.open .gate-half.r{transform:translateX(101%)}
#gate.done{visibility:hidden}
#gate.quick .gate-half{transition-duration:.6s}
#gate.quick .gate-logo{transition-duration:.25s}
#gate.quick .gate-word,#gate.quick .gate-sub{display:none}
#gate.quick .gate-logo svg{width:84px}

/* ---------- LED primitives ---------- */
.led{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3a3a40;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);flex:none;transition:background .25s,box-shadow .25s}
.led.on,.led.blink{background:var(--red-hi);box-shadow:0 0 4px var(--red-hi),0 0 12px var(--glow)}
.led.blink{animation:blink 1.4s steps(1) infinite}
.led.white.on{background:#fff;box-shadow:0 0 4px #fff,0 0 12px rgba(255,255,255,.6)}
@keyframes blink{0%,60%{opacity:1}61%,100%{opacity:.18}}
#progress{position:fixed;left:0;top:0;height:2px;width:100%;z-index:120;transform-origin:0 50%;transform:scaleX(0);background:var(--red-hi);box-shadow:0 0 8px var(--red-hi),0 0 18px var(--glow);pointer-events:none}

/* ---------- Buttons ---------- */
.btn{--bc:var(--red);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border:1px solid var(--bc);background:var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.01em;cursor:pointer;position:relative;overflow:hidden;border-radius:0;
  transition:background .2s,border-color .2s,box-shadow .3s,transform .12s}
.btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.btn:hover{background:var(--red-hi);box-shadow:0 0 0 1px var(--red-hi),0 8px 30px -8px var(--glow)}
.btn:hover::after{transform:scaleX(1)}
.btn:active{transform:translateY(2px) scale(.99);box-shadow:inset 0 2px 8px rgba(0,0,0,.5)}
.btn.ghost{background:transparent;border-color:rgba(246,246,246,.45);color:var(--white)}
.btn.ghost:hover{background:rgba(246,246,246,.08);border-color:#fff;box-shadow:0 0 0 1px #fff}
.btn.ghost::after{background:var(--red-hi)}
.btn.white{background:#fff;color:#000;border-color:#fff}
.btn.white:hover{background:#e9e9e9;box-shadow:0 8px 30px -8px rgba(255,255,255,.4)}
.btn svg{width:18px;height:18px;flex:none}
.btn .led{width:7px;height:7px}
.btn:not(.ghost) .led.on,.btn:not(.ghost) .led.blink{background:#fff;box-shadow:0 0 4px #fff,0 0 10px rgba(255,255,255,.7)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.more{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;padding-bottom:4px;border-bottom:1px solid var(--red);transition:gap .3s,color .2s}
.more:hover{gap:16px;color:#fff}
.more svg{width:16px;height:16px}

/* ---------- Header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:calc(14px + env(safe-area-inset-top,0px)) var(--pad) 14px;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.hdr.solid{background:rgba(6,6,7,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;z-index:2}
.brand svg{width:36px;height:auto}
.brand b{font-weight:900;font-stretch:125%;font-size:20px;letter-spacing:.1em;line-height:1}
.brand small{display:block;font-size:10.5px;color:var(--mute);letter-spacing:.06em;margin-top:4px}
.pill{display:flex;gap:4px;list-style:none;margin:0;padding:5px;background:rgba(20,20,23,.75);border:1px solid var(--line);border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.pill a{position:relative;display:block;padding:9px 18px;border-radius:999px;text-decoration:none;font-size:14.5px;font-weight:600;color:#C8C8CE;transition:background .2s,color .2s}
.pill a:hover{color:#fff;background:rgba(255,255,255,.06)}
.pill a.on{color:#fff;background:var(--g3)}
.pill a.on::before{content:"";position:absolute;left:50%;top:4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--red-hi);box-shadow:0 0 6px var(--red-hi)}
.hdr .btn{padding:11px 18px}
.burger{display:none;all:unset;box-sizing:border-box;cursor:pointer;width:46px;height:46px;border:1px solid var(--line2);display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;z-index:2}
.burger span{display:block;width:20px;height:2px;background:#fff;transition:transform .3s,opacity .3s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:90;background:var(--black);padding:calc(100px + env(safe-area-inset-top,0px)) var(--pad) 40px;display:flex;flex-direction:column;justify-content:space-between;
  clip-path:circle(0 at calc(100% - 44px) 38px);transition:clip-path .6s cubic-bezier(.77,0,.18,1);visibility:hidden}
.drawer.open{clip-path:circle(150% at calc(100% - 44px) 38px);visibility:visible}
.drawer ul{list-style:none;margin:0;padding:0}
.drawer li a{display:flex;align-items:center;gap:16px;padding:10px 0;font-weight:800;font-stretch:125%;font-size:clamp(30px,8vw,46px);line-height:1.1;text-decoration:none;border-bottom:1px solid var(--line)}
.drawer li a .led{width:10px;height:10px}
.drawer li a.on .led{background:var(--red-hi);box-shadow:0 0 10px var(--glow)}

/* ---------- Common layout ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.sec{padding:clamp(80px,10vw,140px) 0;position:relative}
.sec.tight{padding:clamp(50px,6vw,80px) 0}
.sec.gray{background:var(--g1);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.h1{font-weight:900;font-stretch:125%;font-size:clamp(40px,6vw,96px);line-height:.92;letter-spacing:-.01em;margin:0 0 22px;text-wrap:balance}
.h2{font-weight:900;font-stretch:125%;font-size:clamp(32px,4.2vw,64px);line-height:.95;letter-spacing:-.01em;margin:0 0 16px;text-wrap:balance}
.h3{font-weight:800;font-stretch:112%;font-size:clamp(22px,2vw,28px);line-height:1.1;margin:0 0 10px}
.red{color:var(--red-hi)}
.lead{color:var(--mute);font-size:18px;max-width:36em;margin:0}
.head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 60px;margin-bottom:clamp(36px,4.5vw,64px)}
.head .lead{max-width:30em}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;font-size:13px;color:var(--mute)}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--line2)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff}
.crumbs [aria-current]{color:#fff}

/* ================= HOME ================= */
.tri{position:relative;display:flex;height:100svh;min-height:640px;background:#000;overflow:hidden}
.tri .p{position:relative;flex:1;min-width:0;overflow:hidden;cursor:pointer;transition:flex 1s cubic-bezier(.2,.7,.2,1)}
.tri .p .im{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:var(--pos,center);filter:grayscale(.2) brightness(.7);transition:filter .8s,transform 1.2s cubic-bezier(.2,.7,.2,1);transform:scale(1.02)}
.tri .p:hover,.tri .p.act{flex:1.7}
.tri .p:hover .im,.tri .p.act .im{filter:grayscale(0) brightness(.95);transform:none}
.tri .p+.p{border-left:1px solid rgba(255,255,255,.08)}
.tri .p+.p::before{content:"";position:absolute;left:-1px;top:-30%;width:2px;height:22%;z-index:2;background:linear-gradient(transparent,var(--red-hi),transparent);box-shadow:0 0 10px var(--red-hi);animation:runner 5s linear infinite}
.tri .p:nth-child(3)::before{animation-delay:-2.5s}
@keyframes runner{to{top:110%}}
.tri .tag{position:absolute;z-index:2;top:calc(96px + env(safe-area-inset-top,0px));left:22px;display:flex;align-items:center;gap:8px;color:#E6E6E6;opacity:.8}
.tri::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(6,6,7,.95) 0%,rgba(6,6,7,.55) 34%,rgba(6,6,7,0) 62%),linear-gradient(180deg,rgba(6,6,7,.6),transparent 22%)}
.tri-copy{position:absolute;z-index:3;left:var(--pad);right:var(--pad);bottom:clamp(40px,8vh,90px);pointer-events:none;max-width:1150px}
.tri-copy>*{pointer-events:auto}
.tri-copy .h1{font-size:clamp(40px,6.4vw,110px)}
.tri-copy .h1 .red{text-shadow:0 0 30px rgba(255,43,68,.35)}
.tri-copy p{color:#DADADF;max-width:36em;margin:0 0 28px;font-size:clamp(16px,1.3vw,19px)}
.stat{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 26px;color:#DADADF;font-size:14px}
.stat>span{display:inline-flex;align-items:center;gap:8px}

/* LED matrix ticker */
.ticker{background:#000;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;position:relative}
.ticker canvas{display:block;width:100%;height:var(--h,78px)}
.ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:1;pointer-events:none}
.ticker::before{left:0;background:linear-gradient(90deg,#000,transparent)}
.ticker::after{right:0;background:linear-gradient(-90deg,#000,transparent)}

/* Service tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tile{position:relative;display:flex;flex-direction:column;min-height:300px;padding:26px;text-decoration:none;background:var(--g1);border:1px solid var(--line);overflow:hidden;isolation:isolate;transition:transform .3s,background .3s}
.tile::before{content:"";position:absolute;inset:-1px;z-index:-2;padding:1px;border-radius:0;background:conic-gradient(from var(--a),transparent 0 70%,var(--red-hi) 85%,#fff 90%,transparent 95%);
  -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 .3s}
.tile:hover::before,.tile:focus-visible::before{opacity:1;animation:spin 2.2s linear infinite}
@keyframes spin{to{--a:360deg}}
.tile .ph{position:absolute;inset:0;z-index:-1;background-image:var(--bg);background-size:cover;background-position:center;opacity:0;transform:scale(1.08);filter:grayscale(.3) brightness(.35);transition:opacity .5s,transform 1s}
.tile:hover .ph{opacity:1;transform:none}
.tile:hover{background:var(--g2)}
.tile:active{transform:scale(.99)}
.tile .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto}
.tile .top .mono{color:var(--mute)}
.tile:hover .led{background:var(--red-hi);box-shadow:0 0 4px var(--red-hi),0 0 12px var(--glow);animation:blink 1s steps(1) infinite}
.tile h3{font-weight:900;font-stretch:125%;font-size:clamp(24px,2.2vw,32px);line-height:1;margin:60px 0 10px}
.tile p{margin:0 0 18px;color:var(--mute);font-size:15.5px;transition:color .3s}
.tile:hover p{color:#E4E4E8}
.tile .go{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.tile .go svg{width:16px;height:16px;transition:transform .3s}
.tile:hover .go svg{transform:translateX(5px)}

/* Bento gallery */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(160px,17vw,250px);gap:10px}
.bento .shot:nth-child(1){grid-column:span 2;grid-row:span 2}
.shot{margin:0;position:relative;overflow:hidden;cursor:zoom-in;background:var(--g1);border:1px solid var(--line)}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s}
.shot::after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;background:linear-gradient(transparent,rgba(255,255,255,.14),transparent);pointer-events:none;opacity:0}
.shot:hover::after{opacity:1;animation:scan 1.2s ease-out}
@keyframes scan{from{top:-40%}to{top:110%}}
.shot:hover img,.shot:focus-visible img{transform:scale(1.05)}
.shot figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;padding:36px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:13.5px;font-weight:700}
.shot:hover figcaption .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow)}

/* Road sign / local */
.local{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,4vw,60px);align-items:center}
.sign{background:#0A0A0B;border:3px solid #E9E9E9;border-radius:10px;padding:22px 26px 18px;box-shadow:0 0 0 6px #0A0A0B,0 0 0 7px #2c2c30,0 30px 60px -20px rgba(0,0,0,.8);position:relative;max-width:620px}
.sign::before{content:"";position:absolute;left:50%;top:100%;width:12px;height:60px;margin-left:-6px;background:linear-gradient(90deg,#2a2a2e,#3c3c42,#2a2a2e)}
.sign .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#BDBDC3}
.sign a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;text-decoration:none;border-top:1px solid #2a2a2e;transition:color .2s}
.sign a b{font-weight:900;font-stretch:125%;font-size:clamp(24px,2.8vw,40px);line-height:1}
.sign a span{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;color:#BDBDC3}
.sign a svg{width:28px;height:28px;color:var(--red-hi);transition:transform .3s}
.sign a:hover b{color:var(--red-hi)}
.sign a:hover svg{transform:translateX(6px)}
.photo-card{position:relative;margin:0;border:1px solid var(--line);overflow:hidden;background:#000;max-width:520px;justify-self:end;width:100%}
.photo-card img{width:100%;height:auto}
.photo-card figcaption{padding:14px 16px;color:var(--mute);font-size:14px;border-top:1px solid var(--line)}
.towns{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0}
.towns li{border:1px solid var(--line2);padding:8px 14px;font-size:14px;display:flex;align-items:center;gap:8px}

/* Wide band */
.band{position:relative;overflow:hidden;background:#000;min-height:clamp(380px,50vw,560px);display:flex;align-items:center}
.band .im{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:var(--pos,center);filter:grayscale(1) contrast(1.1)}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,6,7,.92),rgba(6,6,7,.55) 55%,rgba(6,6,7,.25)),linear-gradient(0deg,var(--black),transparent 20%,transparent 80%,var(--black))}
.band .wrap{position:relative;z-index:2;width:100%}
.band blockquote{margin:0;max-width:900px;font-weight:900;font-stretch:125%;font-size:clamp(28px,3.8vw,58px);line-height:1;text-wrap:balance}
.band blockquote small{display:block;margin-top:22px;font-weight:400;font-stretch:100%;font-size:17px;line-height:1.55;color:#D0D0D6;max-width:34em}

/* Process with scroll LEDs */
.proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.proc::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:var(--line2)}
.proc .fill{position:absolute;left:0;top:9px;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(var(--pf,0));background:var(--red-hi);box-shadow:0 0 10px var(--glow);transition:transform .2s linear}
.proc li{position:relative;padding:44px 22px 0 0}
.proc li .led{position:absolute;left:0;top:0;width:20px;height:20px;border:2px solid var(--black)}
.proc li.lit .led{background:var(--red-hi);box-shadow:0 0 6px var(--red-hi),0 0 18px var(--glow)}
.proc h3{font-weight:800;font-stretch:112%;font-size:22px;line-height:1.1;margin:0 0 8px;transition:color .3s;color:#8d8d95}
.proc li.lit h3{color:#fff}
.proc p{margin:0;color:var(--mute);font-size:15px}

/* CTA with photo */
.cta{display:grid;grid-template-columns:1fr minmax(280px,430px);gap:clamp(30px,5vw,80px);align-items:center}
.cta .pic{position:relative;border:1px solid var(--line);overflow:hidden;background:#000}
.cta .pic img{width:100%;height:auto;filter:contrast(1.05)}
.cta .pic .led{position:absolute;top:14px;right:14px}
.bignum{display:inline-flex;align-items:center;gap:16px;margin:10px 0 28px;font-weight:900;font-stretch:125%;font-size:clamp(40px,5.4vw,84px);line-height:1;text-decoration:none;transition:color .2s,text-shadow .3s}
.bignum:hover{color:var(--red-hi);text-shadow:0 0 30px var(--glow)}
.bignum .led{width:14px;height:14px}

/* FAQ */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 0;font-size:clamp(17px,1.4vw,20px);font-weight:700;transition:color .2s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:#fff}
.faq summary .led{margin-top:8px}
.faq details[open] summary .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow)}
.faq details p{margin:0 0 24px;color:#C8C8CE;max-width:46em}

/* ================= Page hero (subpages) ================= */
.phero{display:grid;grid-template-columns:1fr minmax(300px,440px);gap:clamp(30px,5vw,80px);align-items:end;padding:calc(120px + env(safe-area-inset-top,0px)) 0 clamp(50px,6vw,80px);border-bottom:1px solid var(--line)}
.phero .lead{color:#CFCFD5;margin-bottom:28px}
.phero .pic{position:relative;border:1px solid var(--line);background:#000;overflow:hidden;aspect-ratio:var(--ar,3/4);max-height:70vh}
.phero .pic .im{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:var(--pos,center)}
.phero .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,6,7,.5),transparent 40%)}
.phero .pic .corner{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;left:14px;bottom:12px;color:#E6E6E6}

/* Service selector (sticky) */
.selector{position:sticky;top:calc(74px + env(safe-area-inset-top,0px));z-index:40;background:rgba(6,6,7,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.selector ul{list-style:none;margin:0 auto;padding:10px var(--pad);display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;max-width:var(--max)}
.selector ul::-webkit-scrollbar{display:none}
.selector a{display:flex;align-items:center;gap:10px;white-space:nowrap;padding:10px 16px;border:1px solid var(--line2);text-decoration:none;font-size:14px;font-weight:600;color:#CFCFD5;transition:border-color .2s,color .2s,background .2s}
.selector a:hover{border-color:#fff;color:#fff}
.selector a.on{border-color:var(--red-hi);color:#fff;background:rgba(227,18,44,.12)}
.selector a.on .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow)}

/* Service blocks */
.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:start;padding:clamp(70px,8vw,110px) 0;border-bottom:1px solid var(--line)}
.svc:nth-of-type(even) .svc-media{order:2}
.svc-media{position:sticky;top:150px}
.svc-media .ph{position:relative;aspect-ratio:4/3;border:1px solid var(--line);overflow:hidden;background:#000}
.svc-media .ph img{width:100%;height:100%;object-fit:cover}
.svc-media .ph .corner{position:absolute;left:12px;top:12px;display:flex;gap:6px}
.spec{margin:0;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-top:0}
.spec div{padding:14px 16px;border-top:1px solid var(--line)}
.spec div:nth-child(odd){border-right:1px solid var(--line)}
.spec div:nth-child(-n+2){border-top:0}
.spec dt{color:var(--mute);margin:0 0 4px}
.spec dd{margin:0;font-weight:700;font-size:14.5px}
.svc-body .h2{font-size:clamp(34px,3.6vw,56px)}
.svc-body>p{color:#CFCFD5;margin:0 0 16px}
.svc-body>p.lead{color:#fff;font-size:20px}
.vars{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:26px 0}
.vars div{background:var(--black);padding:16px 18px;transition:background .25s}
.vars div:hover{background:var(--g1)}
.vars b{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;margin-bottom:4px}
.vars div:hover .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow)}
.vars p{margin:0;color:var(--mute);font-size:14.5px}
.chips{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{border:1px solid var(--line2);padding:7px 12px;font-size:13.5px;color:#D6D6DB}
.sublabel{margin:26px 0 12px;font-weight:800;font-size:15px;display:flex;align-items:center;gap:10px}
.quiet{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(70px,8vw,110px) 0}
.quiet img{border:1px solid var(--line);width:100%;height:auto}

/* Realizacje page */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,15vw,240px);grid-auto-flow:dense;gap:10px}
.gal .shot:nth-child(1),.gal .shot:nth-child(6){grid-column:span 2;grid-row:span 2}

/* O nas */
.manifest{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.manifest li{background:var(--g1);border:1px solid var(--line);padding:30px;position:relative}
.manifest li .led{position:absolute;right:20px;top:24px}
.manifest h3{font-weight:900;font-stretch:125%;font-size:clamp(22px,2vw,30px);line-height:1;margin:0 0 12px}
.manifest p{margin:0;color:var(--mute)}
.dogs{display:grid;grid-template-columns:minmax(0,736px) 1fr;gap:clamp(30px,4vw,60px);align-items:center}
.dogs img{width:100%;height:auto;border:1px solid var(--line)}

/* Kontakt */
.kgrid{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(30px,4vw,60px);align-items:start}
form{background:var(--g1);border:1px solid var(--line);padding:clamp(24px,3vw,44px)}
form .h3{font-stretch:125%;font-weight:900;font-size:clamp(26px,2.4vw,36px);margin-bottom:6px}
form .hint{color:var(--mute);margin:0 0 24px;font-size:15px}
fieldset{border:0;margin:0 0 18px;padding:0}
legend{font-size:13.5px;color:var(--mute);margin-bottom:10px;padding:0}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.opt>span{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--line2);background:var(--black);font-size:14.5px;font-weight:600;transition:border-color .2s,background .2s}
.opt input:hover+span{border-color:#fff}
.opt input:checked+span{border-color:var(--red-hi);background:rgba(227,18,44,.14)}
.opt input:checked+span .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow)}
.opt input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
label.f{display:block;font-size:13.5px;color:var(--mute);margin-bottom:14px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
input,select,textarea{display:block;width:100%;margin-top:7px;background:var(--black);border:1px solid var(--line2);color:var(--white);font:inherit;font-size:16px;padding:14px;border-radius:0;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red-hi);box-shadow:0 0 0 3px rgba(227,18,44,.2)}
textarea{min-height:130px;resize:vertical}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--mute);margin:6px 0 20px}
.consent input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--red)}
.form-msg{margin:14px 0 0;font-size:15px;min-height:1.5em}
.form-msg.ok{color:#9AD7A8}.form-msg.err{color:#FF8A96}
.hp{position:absolute;left:-9999px}
.kcard{border:1px solid var(--line);background:#000;position:sticky;top:100px;overflow:hidden}
.kcard .pic{aspect-ratio:736/560;background-image:var(--bg);background-size:cover;background-position:50% 42%;position:relative}
.kcard .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000,transparent 60%)}
.kcard .in{padding:0 26px 26px;margin-top:-40px;position:relative}
.kcard .bignum{font-size:clamp(34px,3.2vw,50px);margin:0 0 20px}
.facts{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:12px}
.facts li{display:flex;gap:12px;align-items:flex-start;color:#D6D6DB;font-size:15.5px}
.facts svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--red-hi)}
.facts a{text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.3)}

/* Legal / 404 */
.legal{max-width:820px}
.legal h2{font-weight:800;font-stretch:112%;font-size:26px;margin:40px 0 12px}
.legal p{color:#C8C8CE}
.note{border-left:2px solid var(--red);padding:12px 18px;background:rgba(227,18,44,.08)}
.nf{min-height:100svh;display:grid;grid-template-columns:1fr minmax(260px,420px);gap:60px;align-items:center;padding:120px var(--pad) 60px;max-width:var(--max);margin:0 auto}
.nf img{width:100%;height:auto;border:1px solid var(--line)}

/* Footer */
.foot{border-top:1px solid var(--line);background:#000;padding:clamp(56px,7vw,90px) 0 calc(28px + env(safe-area-inset-bottom,0px))}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.fgrid h2{font-weight:800;font-size:15px;margin:0 0 16px;display:flex;align-items:center;gap:8px}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fgrid a{text-decoration:none;color:var(--mute);font-size:15px;transition:color .2s}
.fgrid a:hover{color:#fff}
.fgrid p{color:var(--mute);margin:14px 0 0;font-size:15px}
.fbot{margin-top:50px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:var(--mute);font-size:13px}
.callbar{display:none}

/* Lightbox */
dialog.lb{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;color:var(--white)}
dialog.lb::backdrop{background:rgba(0,0,0,.95)}
.lb-in{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:calc(60px + env(safe-area-inset-top,0px)) 70px 60px}
.lb img{max-height:84vh;width:auto;max-width:100%;object-fit:contain}
.lb p{margin:14px 0 0;text-align:center;color:var(--mute)}
.lb-btn{position:absolute;background:rgba(20,20,23,.9);border:1px solid var(--line2);width:52px;height:52px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.lb-btn:hover{background:var(--red);border-color:var(--red)}
.lb-btn svg{width:20px;height:20px}
.lb-prev{left:14px;top:50%;transform:translateY(-50%)}.lb-next{right:14px;top:50%;transform:translateY(-50%)}
.lb-x{right:14px;top:calc(14px + env(safe-area-inset-top,0px))}

.rv{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* ================= Responsive ================= */
@media (max-width:1060px){
  .pill,.hdr>.btn{display:none}
  .burger{display:flex}
  .tiles{grid-template-columns:1fr 1fr}
  .local,.cta,.phero,.svc,.kgrid,.dogs,.quiet,.nf{grid-template-columns:1fr}
  .svc:nth-of-type(even) .svc-media{order:0}
  .svc-media,.kcard{position:static}
  .photo-card{justify-self:start}
  .proc{grid-template-columns:1fr;gap:26px}
  .proc::before,.proc .fill{left:9px;right:auto;top:0;bottom:0;width:2px;height:100%}
  .proc .fill{transform-origin:50% 0;transform:scaleY(var(--pf,0))}
  .proc li{padding:0 0 0 48px}
  .fgrid{grid-template-columns:1fr 1fr}
  .phero .pic{max-height:none;max-width:520px}
  .callbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:80;transform:translateY(150%);transition:transform .4s}
  .callbar.show{transform:none}
  .callbar .btn{flex:1;box-shadow:0 10px 30px rgba(0,0,0,.6)}
  .foot{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .selector{top:calc(74px + env(safe-area-inset-top,0px))}
}
@media (max-width:640px){
  .tiles,.vars,.manifest,.f2{grid-template-columns:1fr}
  .f2{gap:0}
  .bento{grid-template-columns:1fr 1fr;grid-auto-rows:40vw}
  .gal{grid-template-columns:1fr 1fr;grid-auto-rows:40vw}
  .gal .shot:nth-child(6){grid-column:span 1;grid-row:span 1}
  .gal .shot:nth-child(1),.gal .shot:nth-child(10){grid-column:span 2;grid-row:span 1}
  .fgrid{grid-template-columns:1fr}
  .spec{grid-template-columns:1fr}.spec div:nth-child(odd){border-right:0}.spec div:nth-child(2){border-top:1px solid var(--line)}
  .tri .tag{display:none}
  .lb-in{padding-left:10px;padding-right:10px}
  .lb-prev,.lb-next{top:auto;bottom:14px;transform:none}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}

/* ================= SERVICE STAGE ================= */
.stage-sec{padding:clamp(80px,9vw,130px) 0;position:relative}
.stage{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,4vw,70px);align-items:stretch}
.st-l{display:flex;flex-direction:column}
.st-l .lead{margin-bottom:28px}
.st-list{list-style:none;margin:0 0 26px;padding:0;border-top:1px solid var(--line)}
.st-tab{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:flex;align-items:center;gap:14px;width:100%;padding:14px 0;border-bottom:1px solid var(--line);transition:color .25s}
.st-tab .nm{font-weight:900;font-stretch:125%;font-size:clamp(20px,1.9vw,30px);line-height:1.05;color:#7c7c84;transition:color .25s,transform .35s cubic-bezier(.2,.7,.2,1)}
.st-tab:hover .nm{color:#dcdce0}
.st-tab[aria-selected="true"] .nm{color:#fff;transform:translateX(6px)}
.st-tab[aria-selected="true"] .led{background:var(--red-hi);box-shadow:0 0 4px var(--red-hi),0 0 12px var(--glow)}
.st-tab:focus-visible{outline:2px solid var(--red-hi);outline-offset:2px}
.st-tab .bar{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--red-hi);box-shadow:0 0 8px var(--glow);transform:scaleX(0);transform-origin:left}
.st-tab[aria-selected="true"] .bar{animation:stbar var(--dur,7s) linear forwards}
.stage.paused .st-tab[aria-selected="true"] .bar{animation-play-state:paused}
.stage.static .st-tab[aria-selected="true"] .bar{animation:none;transform:scaleX(1)}
@keyframes stbar{to{transform:scaleX(1)}}
.st-infos{display:grid}
.st-info{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .45s,transform .45s,visibility .45s}
.st-info.on{opacity:1;visibility:visible;transform:none}
.st-info p{color:#D2D2D8;margin:0 0 16px;font-size:17px;max-width:34em}
.st-info .chips{margin-bottom:22px}
.st-r{position:relative;aspect-ratio:1/1.02;max-height:78vh;width:100%;border:1px solid var(--line);overflow:hidden;background:#000}
.st-vis{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.st-vis.on{opacity:1;visibility:visible}
.st-vis .lay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1s ease,transform 3.6s ease-out}
.st-vis .car{object-position:50% 55%;transform:scale(1.06)}
.st-vis .city{background-image:var(--bg);background-size:cover;background-position:var(--pos,center);opacity:0;transform:scale(1.08)}
.st-vis.on .car{transform:none}
.st-vis.alt .city{opacity:1;transform:none}
.st-vis.alt .car{opacity:0}
.st-vis::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(6,6,7,.85),rgba(6,6,7,0) 42%),linear-gradient(180deg,rgba(6,6,7,.55),transparent 22%)}
.scan{position:absolute;left:0;right:0;top:-10%;height:3px;z-index:3;background:var(--red-hi);box-shadow:0 0 14px var(--red-hi),0 0 40px var(--glow);opacity:0;pointer-events:none}
.scan.go{animation:scanline .9s cubic-bezier(.4,0,.2,1)}
@keyframes scanline{0%{top:-2%;opacity:0}10%{opacity:1}90%{opacity:1}100%{top:102%;opacity:0}}
.st-cap{position:absolute;z-index:2;left:18px;bottom:16px;right:18px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;line-height:1.2;transition:opacity .6s,transform .6s}
.st-vis.alt .st-cap{opacity:0;transform:translateY(8px)}
.st-name{position:absolute;z-index:2;right:18px;top:18px;max-width:60%;text-align:right;font-weight:900;font-stretch:125%;font-size:clamp(20px,2vw,30px);line-height:1;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.8)}
.st-count{position:absolute;z-index:4;left:18px;top:18px;color:#fff;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.2);padding:6px 10px}
.st-count .n{color:var(--red-hi);text-shadow:0 0 8px var(--glow)}
.flash{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 40% 55%,rgba(255,255,255,.45),rgba(255,255,255,0) 60%)}
.flash.go{animation:flash .6s ease-out}
@keyframes flash{0%{opacity:0}15%{opacity:1}100%{opacity:0}}

/* Stats */
.stats{border-bottom:1px solid var(--line);background:var(--g1)}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr)}
.stat-c{padding:clamp(34px,4vw,56px) 20px;text-align:center;border-right:1px solid var(--line)}
.stat-c:last-child{border-right:0}
.stat-c b{display:block;font-weight:900;font-stretch:125%;font-size:clamp(48px,5.6vw,88px);line-height:1;color:#fff;text-shadow:0 0 30px rgba(255,43,68,.18)}
.stat-c .lab{display:inline-flex;align-items:center;gap:10px;margin-top:12px;color:var(--mute);font-size:14.5px;letter-spacing:.02em;line-height:1.2}
@media (max-width:900px){.stats-in{grid-template-columns:1fr 1fr}.stat-c:nth-child(2){border-right:0}.stat-c:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* ================= REVIEWS ================= */
.revs{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(30px,4vw,60px);align-items:center}
.score{display:flex;align-items:center;gap:18px;margin:10px 0 26px}
.score b{font-weight:900;font-stretch:125%;font-size:clamp(64px,7vw,104px);line-height:.85}
.score span{color:var(--mute);font-size:15px}
.stars{display:flex;gap:3px;color:var(--red-hi)}
.stars svg{width:16px;height:16px;filter:drop-shadow(0 0 4px var(--glow))}
.stars.big svg{width:26px;height:26px}
@keyframes starOn{0%{opacity:.15}100%{opacity:1}}
.rev-nav{display:flex;gap:10px;margin-top:22px}
.rev-nav .lb-btn{position:static;transform:none}
.rev-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
.rev-row::-webkit-scrollbar{display:none}
.rev{flex:0 0 min(360px,84%);scroll-snap-align:start;background:var(--g1);border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:16px;transition:border-color .25s,transform .3s}
.rev:hover{border-color:var(--line2);transform:translateY(-3px)}
.rev p{margin:0;color:#E0E0E4;font-size:16px;line-height:1.55;flex:1}
.rev p::before{content:"„"}.rev p::after{content:"”"}
.rev footer{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;color:var(--mute);border-top:1px solid var(--line);padding-top:12px}
.rev footer .mono{color:#fff}

/* Poster + misc */
.poster{margin:0;width:clamp(170px,17vw,240px);position:relative;transform:rotate(3deg);border:6px solid #0b0b0d;box-shadow:0 0 0 1px var(--line2),0 30px 60px -20px rgba(0,0,0,.9);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.poster:hover{transform:rotate(0) scale(1.04)}
.poster img{width:100%;height:auto}
.poster .led{position:absolute;top:-4px;left:50%;margin-left:-4px}
.hours{margin:22px 0 0;display:flex;align-items:center;gap:10px;color:var(--mute)}
.note-line{display:flex;align-items:center;gap:10px;margin:84px 0 0;color:#D6D6DB}
.photo-card{max-width:620px}

@media (max-width:1060px){
  .stage,.revs{grid-template-columns:minmax(0,1fr)}
  .st-l{min-width:0}
  .st-l{display:contents}
  .stage{display:flex;flex-direction:column;gap:0}
  .st-l>.h2{order:0}.st-l>.lead{order:1}.st-r{order:2;aspect-ratio:4/4.4;max-height:none;margin:0 0 26px}.st-list{order:3}.st-infos{order:4}
  .st-l .st-list{display:flex;gap:8px;overflow-x:auto;border-top:0;scrollbar-width:none;margin-bottom:22px}
  .st-l .st-list::-webkit-scrollbar{display:none}
  .st-list li{flex:none}
  .st-tab{border:1px solid var(--line2);padding:10px 14px;width:auto}
  .st-tab .nm{font-size:16px}
  .st-tab[aria-selected="true"]{border-color:var(--red-hi)}
  .st-tab[aria-selected="true"] .nm{transform:none}
  .cta{grid-template-columns:1fr}
  .poster{justify-self:center;margin-top:10px}
  .note-line{margin-top:70px}
}
@media (max-width:640px){
  .st-name{font-size:18px;max-width:55%}
  .st-pills{display:none}
}

/* Bento variants */
.bento.b4 .shot:nth-child(2){grid-column:span 2}
.bento.b3 .shot:nth-child(2),.bento.b3 .shot:nth-child(3){grid-column:span 2}
@media (max-width:640px){
  .bento.b4 .shot:nth-child(2){grid-column:span 1}
  .bento.b4 .shot:nth-child(1){grid-column:span 2;grid-row:span 1}
  .bento.b3 .shot:nth-child(1){grid-column:span 2;grid-row:span 1}
  .bento.b3 .shot:nth-child(2),.bento.b3 .shot:nth-child(3){grid-column:span 1}
}

/* CTA: Warsaw photo + poster card */
.cta{grid-template-columns:1fr minmax(300px,480px)}
.cta-vis{position:relative;min-height:clamp(420px,42vw,560px)}
.cta-vis .city{position:absolute;top:0;right:0;bottom:0;left:18%;background-image:var(--bg);background-size:cover;background-position:50% 60%;border:1px solid var(--line)}
.cta-vis .city::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,6,7,.7),transparent 45%)}
.cta-vis .card{position:absolute;left:0;bottom:6%;width:52%;margin:0;background:#000;border:1px solid rgba(255,255,255,.25);box-shadow:0 40px 80px -20px rgba(0,0,0,.9),0 0 0 6px rgba(6,6,7,.9);transform:rotate(-2deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cta-vis:hover .card{transform:rotate(0) scale(1.03)}
.cta-vis .card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:60% 45%}
.cta-vis .card figcaption{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:700;background:#0b0b0d;border-top:1px solid var(--line)}

/* O nas: passion + duo */
.passion{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,80px);align-items:center}
.prose-lg p{color:#CFCFD5;margin:0 0 18px;font-size:17.5px}
.prose-lg p.big{color:#fff;font-size:clamp(20px,1.7vw,24px);line-height:1.4}
.duo{position:relative;min-height:clamp(460px,46vw,640px)}
.duo figure{margin:0;position:absolute;border:1px solid var(--line);background:#000;overflow:hidden}
.duo .tall{top:0;right:0;width:58%;height:100%}
.duo .tall img{width:100%;height:100%;object-fit:cover;object-position:50% 74%}
.duo .wide{left:0;top:10%;width:62%;box-shadow:0 40px 80px -20px rgba(0,0,0,.9),0 0 0 6px var(--black);transform:rotate(-1.5deg)}
.duo .wide img{width:100%;height:auto}
.duo .wide figcaption{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:700;background:#0b0b0d;border-top:1px solid var(--line)}

/* Slideshow: realizacje <-> Warszawa */
.slides{position:relative;aspect-ratio:4/3.3;border:1px solid var(--line);overflow:hidden;background:#000}
.slides figure{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}
.slides figure.on{opacity:1;visibility:visible}
.slides img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 3.4s linear}
.slides figure.on img{transform:none}
.slides figure[data-kind="city"] img{object-position:50% 55%}
.slides figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:40px 16px 16px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-weight:700;font-size:14px}
.sdots{position:absolute;z-index:2;top:6px;right:6px;display:flex;gap:0}
.sd{all:unset;cursor:pointer;width:9px;height:9px;padding:8px;background-clip:content-box;border-radius:50%;background-color:rgba(255,255,255,.3);transition:background .2s,box-shadow .2s}
.sd[aria-current="true"]{background-color:var(--red-hi);filter:drop-shadow(0 0 5px var(--glow))}
.sd:focus-visible{outline:2px solid #fff;outline-offset:2px}

@media (max-width:1060px){
  .cta{grid-template-columns:minmax(0,1fr)}
  .passion{grid-template-columns:1fr}
  .cta-vis{min-height:clamp(380px,90vw,520px);max-width:560px}
}
@media (max-width:640px){
  .duo .wide{width:78%}.duo .tall{width:70%}
  .cta-vis .card{width:60%}
}

/* ================= BEFORE / AFTER ================= */
.ba-wrap{position:relative}
.ba{position:relative;aspect-ratio:16/9;max-height:78vh;width:100%;overflow:hidden;background:#000;border:1px solid var(--line);user-select:none;-webkit-user-select:none;touch-action:pan-y}
.ba[hidden]{display:none}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;pointer-events:none}
.ba .before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-tag{position:absolute;top:18px;z-index:3;padding:8px 14px;background:rgba(6,6,7,.75);border:1px solid rgba(255,255,255,.2);font-size:13px;color:#fff;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ba-tag.l{left:18px}.ba-tag.r{right:18px;color:var(--red-hi);border-color:rgba(255,43,68,.5)}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;z-index:2;background:var(--red-hi);box-shadow:0 0 10px var(--red-hi),0 0 24px var(--glow);pointer-events:none}
.ba-knob{position:absolute;top:50%;left:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:var(--red);border:2px solid #fff;display:grid;place-items:center;box-shadow:0 0 0 6px rgba(227,18,44,.25),0 10px 30px rgba(0,0,0,.6);transition:transform .2s}
.ba-knob svg{width:24px;height:24px;color:#fff}
.ba:hover .ba-knob,.ba.drag .ba-knob{transform:scale(1.08)}
.ba-range{position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.ba-range:focus-visible+.x,.ba:focus-within .ba-knob{outline:3px solid #fff;outline-offset:3px}
.ba-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.ba-tabs button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line2);font-size:14px;font-weight:600}
.ba-tabs button[aria-selected="true"]{border-color:var(--red-hi);background:rgba(227,18,44,.12)}
.ba-tabs button[aria-selected="true"] .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow)}
.ba-note{display:flex;align-items:center;gap:10px;margin:14px 0 0;color:var(--mute)}
@media (max-width:640px){.ba{aspect-ratio:4/3}.ba-knob{width:48px;height:48px;margin:-24px 0 0 -24px}}

/* ================= USŁUGI: picker + sticky bar ================= */
.picker{padding:clamp(50px,6vw,80px) 0 clamp(40px,5vw,70px)}
.picker .h3{display:flex;align-items:center;gap:12px;font-stretch:125%;font-weight:900;font-size:clamp(24px,2.4vw,34px);margin-bottom:22px}
.picks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pick{position:relative;display:flex;flex-direction:column;gap:6px;min-height:170px;padding:20px;text-decoration:none;background:var(--g1);border:1px solid var(--line);isolation:isolate;overflow:hidden;transition:background .25s,transform .2s,border-color .25s}
.pick::before{content:"";position:absolute;inset:-1px;z-index:-1;padding:1px;background:conic-gradient(from var(--a),transparent 0 70%,var(--red-hi) 85%,#fff 90%,transparent 95%);-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 .3s}
.pick:hover::before,.pick:focus-visible::before{opacity:1;animation:spin 2.2s linear infinite}
.pick:hover{background:var(--g2)}
.pick:active{transform:scale(.985)}
.pick-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto;color:var(--mute)}
.pick:hover .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow)}
.pick b{font-weight:900;font-stretch:125%;font-size:clamp(19px,1.6vw,24px);line-height:1.05;margin-top:22px}
.pick-s{color:var(--mute);font-size:14px}
.pick .go{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;margin-top:8px}
.pick .go svg{width:15px;height:15px;transition:transform .3s}
.pick:hover .go svg{transform:translateX(5px)}
.pick.call{background:var(--red);border-color:var(--red)}
.pick.call .pick-s,.pick.call .pick-top{color:rgba(255,255,255,.85)}
.pick.call:hover{background:var(--red-hi)}
.selector{display:flex;align-items:center;gap:0;border-top:1px solid var(--line);box-shadow:0 10px 30px -10px rgba(0,0,0,.8)}
.selector::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--red-hi),transparent);opacity:.7}
.sel-lab{display:flex;align-items:center;gap:8px;padding-left:var(--pad);color:#fff;white-space:nowrap}
.selector ul{flex:1;padding-left:16px}
.selector a{padding:12px 18px;font-size:14.5px}
.svc,.ppf-pk,.quiet{scroll-margin-top:170px}
@media (max-width:1060px){.picks{grid-template-columns:1fr 1fr}.sel-lab{display:none}.selector ul{padding-left:var(--pad)}}
@media (max-width:640px){.pick{min-height:140px;padding:16px}}

/* ================= PPF packages ================= */
.ppf-pk{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(60px,7vw,100px) 0;border-bottom:1px solid var(--line)}
.pk-l .lead{margin-bottom:24px}
.pk-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.pk-tabs button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--line2);font-weight:800;font-stretch:112%;font-size:16px;transition:border-color .2s,background .2s}
.pk-tabs button:hover{border-color:#fff}
.pk-tabs button[aria-selected="true"]{border-color:var(--red-hi);background:rgba(227,18,44,.14)}
.pk-tabs button[aria-selected="true"] .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow)}
.pk-tabs button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pk-infos{display:grid;margin-bottom:18px}
.pk-info{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .35s,transform .35s,visibility .35s}
.pk-info.on{opacity:1;visibility:visible;transform:none}
.pk-info h3{font-weight:900;font-stretch:125%;font-size:clamp(24px,2.2vw,32px);margin:0 0 8px}
.pk-scope{margin:0 0 10px;color:#E4E4E8;font-size:17px}
.pk-who{display:flex;align-items:center;gap:10px;margin:0;color:var(--mute);font-size:15px}
.pk-note{color:var(--mute);font-size:14.5px;margin:0 0 24px;max-width:36em}
.pk-r{display:flex;justify-content:center;background:radial-gradient(ellipse at 50% 50%,rgba(255,43,68,.08),transparent 65%);padding:10px 0}
.ppf-car{width:min(100%,340px);height:auto;overflow:visible}
.ppf-car .body{fill:#161619;stroke:#3a3a40;stroke-width:1.5}
.ppf-car .tyre{fill:#0e0e10;stroke:#3a3a40}
.ppf-car .glass{fill:#0b0b0e;stroke:#3d3d44;stroke-width:1.2;pointer-events:none}
.ppf-car .pp path,.ppf-car .pp ellipse{fill:#2a2a30;stroke:#5a5a62;stroke-width:1.2;transition:fill .45s ease,stroke .45s ease}
.ppf-car .pp.on path,.ppf-car .pp.on ellipse{fill:#E3122C;stroke:#ff6b7c;filter:url(#ppglow)}
@media (max-width:1060px){.ppf-pk{grid-template-columns:1fr}.pk-r{order:-1}.ppf-car{width:min(70vw,300px)}}

/* LED + text alignment everywhere */
.led{vertical-align:middle;position:relative;top:-1px}
.shot figcaption,.slides figcaption,.duo .wide figcaption,.hours,.note-line,.pk-who,.facts li,.towns li{line-height:1.25}

/* picks: 3 columns (9 cards) */
.picks{grid-template-columns:repeat(3,1fr)}
.pick.kre{border-color:var(--red-hi);background:linear-gradient(135deg,rgba(227,18,44,.18),var(--g1) 60%)}
@media (max-width:1060px){.picks{grid-template-columns:1fr 1fr}}

/* ================= KREATOR ================= */
.kr-head{padding:calc(120px + env(safe-area-inset-top,0px)) 0 30px}
.kreator{background:none;border:0;padding:0 var(--pad) 40px}
.kr-steps{position:sticky;top:calc(72px + env(safe-area-inset-top,0px));z-index:30;background:var(--black);padding-top:10px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:26px;padding-bottom:10px}
.kr-step{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--line2);background:var(--g1);transition:border-color .2s,background .2s}
.kr-step .mono{color:var(--mute)}
.kr-step .nm{font-weight:800;font-size:14.5px;line-height:1.15}
.kr-step:hover{border-color:#fff}
.kr-step[aria-selected="true"]{border-color:var(--red-hi);background:rgba(227,18,44,.14)}
.kr-step[aria-selected="true"] .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow);animation:blink 1.2s steps(1) infinite}
.kr-step.done .led{background:#fff;box-shadow:0 0 6px rgba(255,255,255,.7)}
.kr-step:focus-visible{outline:2px solid #fff;outline-offset:2px}
.kr-bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--line2)}
.kr-bar::after{content:"";position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--kp,0));background:var(--red-hi);box-shadow:0 0 10px var(--glow);transition:transform .4s}
.kr-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:clamp(24px,3vw,48px);align-items:start}
.kr-pane{border:0;margin:0;padding:0;min-width:0}
.kr-pane[hidden]{display:none}
.kr-lg{display:flex;flex-direction:column;gap:6px;padding:0;margin-bottom:10px;font-weight:900;font-stretch:125%;font-size:clamp(26px,2.6vw,40px);line-height:1}
.kr-lg .mono{font-stretch:100%;font-weight:500;color:var(--red-hi)}
.kq{padding:22px 0;border-bottom:1px solid var(--line)}
.kq[hidden]{display:none}
.kq-t{margin:0 0 4px;font-weight:800;font-size:17px}
.kq-h{margin:0 0 12px;color:var(--mute);font-size:14.5px}
.kq-o{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.kq-o .opt[hidden]{display:none}
.kq-o .kf{width:100%;margin:0}
.kr-carbox{margin:18px 0 6px;padding:20px;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 45%,rgba(255,43,68,.08),transparent 65%),var(--g1);display:flex;flex-direction:column;align-items:center}
.kr-car.main{width:min(100%,300px)}
.kr-carhint{display:flex;align-items:center;gap:10px;margin:14px 0 0;color:var(--mute)}
.kr-carhint b{color:#fff;background:var(--red);padding:2px 8px;font-size:12px}
.kr-car.main .pp{cursor:pointer;outline:none}
.kr-car.main .pp:hover path,.kr-car.main .pp:hover ellipse{stroke:#fff;stroke-width:2}
.kr-car.main .pp:focus-visible path,.kr-car.main .pp:focus-visible ellipse{stroke:#fff;stroke-width:3}
.kr-nav{display:flex;justify-content:space-between;gap:10px;margin-top:26px}
.kr-nav [disabled]{opacity:.35;pointer-events:none}
.kr-sum{position:sticky;top:96px;border:1px solid var(--line);background:var(--g1);padding:22px}
.kr-sum-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.kr-sum-h b{font-weight:900;font-stretch:112%;font-size:19px}
.kr-count{display:flex;align-items:center;gap:8px;color:var(--mute)}
.kr-count .kc{color:#fff}
.kr-mini{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;padding:12px;border:1px solid var(--line);background:var(--black);margin-bottom:14px}
.kreator.on-ppf .kr-mini{display:none}
.kr-car.mini{width:120px}
.kr-legend{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13.5px;color:var(--mute)}
.kr-legend li{display:flex;align-items:center;gap:10px}
.sw{display:inline-block;width:14px;height:14px;border:1px solid #666}
.sw-ppf{background:#E3122C;border-color:#ff6b7c;box-shadow:0 0 8px var(--glow)}
.sw-coat{background:#2a2a30;border-color:#fff;box-shadow:0 0 6px rgba(255,255,255,.7)}
.sw-wrap{background:#050505;border-color:#999}
.kr-list{max-height:48vh;overflow:auto;padding-right:4px}
.kr-empty{color:var(--mute);font-size:14.5px;margin:6px 0}
.kr-g{padding:10px 0;border-top:1px solid var(--line)}
.kr-g b{display:block;font-size:12.5px;font-family:var(--mono);color:var(--red-hi);margin-bottom:6px;letter-spacing:.04em}
.kr-g ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.kr-g li{display:flex;align-items:center;gap:8px;font-size:14.5px;color:#E4E4E8;line-height:1.3}
.kr-g li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red-hi);box-shadow:0 0 6px var(--glow);flex:none}
.kr-g li.pop{animation:pop .5s ease}
@keyframes pop{0%{color:var(--red-hi)}100%{color:#E4E4E8}}
.kr-sum-a{display:flex;gap:8px;margin-top:16px}
.kr-sum-a .btn{flex:1;padding:12px 14px}
.kr-foot{color:var(--mute);margin:10px 0 90px}
/* diagram states */
.ppf-car .car-g{transform-origin:160px 320px;transform-box:view-box;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.ppf-car.t-hatchback .car-g{transform:scale(1,.9)}
.ppf-car.t-kombi .car-g{transform:scale(1,1.03)}
.ppf-car.t-suv .car-g{transform:scale(1.08,1.02)}
.ppf-car.t-coupe .car-g,.ppf-car.t-cabrio .car-g{transform:scale(.97,.94)}
.ppf-car.light .pp:not(.on) path,.ppf-car.light .pp:not(.on) ellipse{fill:#8e8e96;stroke:#b8b8c0}
.ppf-car.cabrio .pp[data-p^="dach"]:not(.on) path{fill:var(--fab)}
.ppf-car.wrap-full .pp:not(.on) path,.ppf-car.wrap-full .pp:not(.on) ellipse{fill:#46464f;stroke:#8a8a94}
.ppf-car.wrap-dach .pp[data-p^="dach"]:not(.on) path{fill:#050505;stroke:#9a9aa2}
.ppf-car.wrap-lust .pp[data-p="lusterko"]:not(.on) ellipse{fill:#050505;stroke:#9a9aa2}
.ppf-car.coat-lak .pp path,.ppf-car.coat-lak .pp ellipse{stroke:#fff;stroke-width:1.6}
.ppf-car.coat-lak .car-g .body{stroke:#fff;filter:drop-shadow(0 0 5px rgba(255,255,255,.55))}
.ppf-car.coat-felgi .tyre{stroke:#fff;fill:#2a2a2e;filter:drop-shadow(0 0 4px rgba(255,255,255,.8))}
.ppf-car.coat-szyby .glass{fill:#1a2430;stroke:#dfe9ff;filter:drop-shadow(0 0 4px rgba(210,225,255,.7))}
.ppf-car .pp.on path,.ppf-car .pp.on ellipse{filter:var(--glow)}
.ppf-car.mat .pp.on path,.ppf-car.mat .pp.on ellipse{fill:#a8142a;stroke:#c9485a;filter:none}
@media (max-width:1060px){
  .kr-steps{grid-template-columns:repeat(6,minmax(140px,1fr));overflow-x:auto;scrollbar-width:none}
  .kr-steps::-webkit-scrollbar{display:none}
  .kr-grid{grid-template-columns:minmax(0,1fr)}
  .kr-sum{position:static}
}

/* Location links */
.loc-lab{margin:30px 0 10px;font-weight:700}
.loc-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.loc-links a{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line2);text-decoration:none;font-size:14px;line-height:1.2;transition:border-color .2s,background .2s}
.loc-links a:hover{border-color:var(--red-hi);background:rgba(227,18,44,.1)}
.loc-links a:hover .led{background:var(--red-hi);box-shadow:0 0 8px var(--glow)}
.sec.tight .h3{margin-bottom:18px}
.floc ul{columns:2;column-gap:20px;display:block}
.floc li{break-inside:avoid;margin-bottom:9px}
.towns a{display:flex;align-items:center;gap:8px;text-decoration:none}

/* Mobile tap targets */
.more{padding:8px 0 6px}
@media (max-width:1060px){
  .facts li{padding:4px 0}
  .facts a{display:inline-block;padding:6px 0}
  .consent a{display:inline-block;padding:4px 0}
}

.towns li:has(a){padding:0}
.towns li a{padding:9px 14px}
