
:root{--ink:#0f1114;--blue:#1d4ed8;--y:#ffc107;--bg:#f4f5f7;--mut:#5b616b;--line:#dfe2e7}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:68px}
body{margin:0;font:17px/1.6 Barlow,system-ui,sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:'Big Shoulders Display','Roboto Condensed',sans-serif-condensed,'Arial Narrow','Arial Narrow',sans-serif;font-weight:800;line-height:.98;margin:0;text-transform:uppercase}
h1{font-size:clamp(3.6rem,13vw,9rem);max-width:11ch}h2{font-size:clamp(2.4rem,6vw,4rem)}h3{font-size:1.55rem}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}section{padding:84px 0}
.nav{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:18px;padding:8px 20px;background:rgba(15,17,20,.96);color:#fff;backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 1.4rem 'Big Shoulders Display','Roboto Condensed',sans-serif-condensed,'Arial Narrow',sans-serif;text-transform:uppercase}.brand img{width:42px;height:42px;border-radius:50%}
.nav nav{display:none;margin-left:auto;gap:26px}.nav nav a{text-decoration:none;font-weight:500;font-size:.95rem;opacity:.8}.nav nav a:hover{opacity:1}.nav .btn{margin-left:auto}
.btn{display:inline-block;background:var(--blue);color:#fff;padding:14px 26px;font:700 1rem Barlow,sans-serif;text-decoration:none;border:2px solid var(--blue);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:#1639a8;border-color:#1639a8}.btn.sm{padding:9px 16px;font-size:.92rem}
.btn.y{background:var(--y);border-color:var(--y);color:var(--ink)}.btn.y:hover{background:#fff;border-color:#fff}
.btn.line{background:transparent;border-color:#fff;color:#fff}.btn.line:hover{background:#fff;color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--y);outline-offset:2px}
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;padding:120px 0 70px;color:#fff;background:var(--ink)}
.hbg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,20,.8) 0%,rgba(15,17,20,.35) 48%,rgba(15,17,20,0) 75%),linear-gradient(0deg,rgba(15,17,20,.55),transparent 40%),url(../img/hero.jpg) 68% center/cover}
.hin{position:relative;width:100%;text-shadow:0 2px 18px rgba(0,0,0,.45)}.lead{font-size:1.25rem;max-width:36ch;margin:24px 0 32px;color:#e5e7eb}.cta{display:flex;flex-wrap:wrap;gap:12px}
.open{display:inline-flex;align-items:center;gap:9px;margin:0 0 22px;padding:7px 14px;background:rgba(255,255,255,.12);font-weight:600;font-size:.92rem}.open i{width:10px;height:10px;border-radius:50%;background:#9ca3af}.open.on i{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.3)}
.facts{padding:0;background:var(--y)}.facts .wrap{display:grid;grid-template-columns:1fr 1fr}.facts div{padding:20px 16px;border-left:2px solid rgba(15,17,20,.15)}.facts b{display:block;font:800 1.3rem 'Big Shoulders Display','Roboto Condensed',sans-serif-condensed,'Arial Narrow',sans-serif;text-transform:uppercase}.facts span,.facts a{font-weight:500;font-size:.95rem}
.hd{margin-bottom:38px}.hd p{max-width:54ch;color:var(--mut);margin:14px 0 0}
.prod{background:var(--bg)}.grid{display:grid;gap:22px}
.card{background:#fff;display:flex;flex-direction:column;border-bottom:4px solid var(--ink);transition:transform .25s,border-color .25s}.card:hover{transform:translateY(-4px);border-color:var(--blue)}
.im{position:relative;aspect-ratio:3/2;background:var(--ink);overflow:hidden}.im img{width:100%;height:100%;object-fit:cover}
.slots{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:30% 12%;background:#2b2f36}.slots i{background:#0f1114}
.tag{position:absolute;left:0;top:14px;background:var(--y);padding:4px 12px;font-weight:700;font-size:.85rem}
.cb{padding:20px;display:flex;flex-direction:column;gap:6px;flex:1}.cb p{margin:0;color:var(--mut);font-size:.98rem}.cb .sp{color:var(--ink);font-weight:600}
.pr{margin-top:auto;padding-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pr strong{font:800 2.2rem/1 'Big Shoulders Display','Roboto Condensed',sans-serif-condensed,'Arial Narrow',sans-serif;color:var(--blue)}.pr small{color:var(--mut)}.pr>span{color:var(--mut);font-weight:600;flex:1}.oos{color:#c3202d!important}.card.out{opacity:.7}
.calc{background:var(--ink);color:#fff}.two{display:grid;gap:40px}.calc .hd p{color:#b8bdc6}
.cf{display:grid;gap:14px;background:#fff;color:var(--ink);padding:28px;align-content:start}.cf h3{margin-bottom:4px}
label{display:grid;gap:5px;font-weight:600;font-size:.95rem}input,select,textarea{font:inherit;padding:13px;border:2px solid var(--line);background:#fff;width:100%;border-radius:0}input:focus,select:focus,textarea:focus{border-color:var(--blue)}
.res{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);gap:2px}.res div{background:var(--bg);padding:16px}.res b{display:block;font:800 3rem/1 'Big Shoulders Display','Roboto Condensed',sans-serif-condensed,'Arial Narrow',sans-serif;color:var(--blue)}.res #rc{font-size:1.7rem}.res span{font-size:.85rem;color:var(--mut)}
.proc ol{list-style:none;margin:0;padding:0;display:grid;gap:30px;counter-reset:s}.proc li{counter-increment:s}.proc li img{aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:14px}
.proc h3:before{content:counter(s);display:inline-grid;place-items:center;width:34px;height:34px;margin-right:10px;background:var(--y);font-size:1.2rem;vertical-align:middle}.proc p{margin:8px 0 0;color:var(--mut)}
.yard{background:var(--ink);color:#fff}.yard .hd p{color:#b8bdc6}
.wall{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.wall .t{grid-column:span 2;aspect-ratio:2/1;padding:0;border:0;background:#2b2f36;cursor:zoom-in;overflow:hidden}.wall .t img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.wall .t:hover img{transform:scale(1.06)}.wall .h{display:none}
.visit{background:var(--bg)}.visit address{font-style:normal;font-size:1.3rem;font-weight:600;margin:18px 0}
dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0 0 20px}dt{font-weight:600}dd{margin:0}dd a{color:var(--blue)}.note{color:var(--mut);max-width:46ch}.visit .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.visit .btn.ghost:hover{background:var(--ink);color:#fff}
.ok{background:#d9f2e1;padding:10px 12px;margin:0;font-weight:600}.hp{position:absolute;left:-9999px}
footer{background:var(--ink);color:#b8bdc6;padding:40px 0}footer img{width:56px;border-radius:50%;margin-bottom:12px}footer p{margin:4px 0}.cr{font-size:.85rem;opacity:.7}
.lb{position:fixed;inset:0;background:rgba(10,11,13,.95);z-index:50;display:grid;place-items:center;padding:16px}.lb[hidden]{display:none}.lb figure{margin:0;max-width:94vw;color:#fff;text-align:center}.lb img{max-height:78vh;margin:0 auto}.lb figcaption{margin-top:10px}
.lb button{position:absolute;background:var(--y);border:0;padding:10px 16px;font:700 1rem Barlow;cursor:pointer}.lb .x{top:14px;right:14px}.lb .pv{left:10px;bottom:14px}.lb .nx{right:10px;bottom:14px}
@media(min-width:760px){.nav nav{display:flex}.nav .btn{margin-left:0}.facts .wrap{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr 1fr}.proc ol{grid-template-columns:repeat(4,1fr)}
.wall{grid-template-columns:repeat(8,1fr)}.wall .h{display:block;aspect-ratio:1/1;background:#1b1e23}}
@media(min-width:1040px){.grid{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* v4 polish */
section{padding:100px 0}.hd{margin-bottom:46px}
.ey,.hd:before{content:attr(data-ey);display:flex;align-items:center;gap:12px;margin:0 0 14px;font:700 .85rem Barlow,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.ey:before,.hd:before{background:none}.ey:after,.hd:after{content:none}
.hd:before{content:attr(data-ey)}.hd:before,.ey{position:relative;padding-left:48px}.hd:before:after{content:none}
.ey:before,.hd:after{content:"";position:absolute;left:0;top:50%;width:36px;height:4px;background:var(--y)}
.hd{position:relative}.hd:after{top:7px}
.calc .ey,.calc .hd:before,.yard .hd:before,.band .ey{color:var(--y)}
h1:after{content:"";display:block;width:110px;height:10px;background:var(--y);margin-top:26px}
.hero{min-height:92vh}.btn{letter-spacing:.01em}.nav .btn.y{color:var(--ink)}
.im img{transition:transform .6s}.card:hover .im img{transform:scale(1.07)}.im:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(0deg,rgba(15,17,20,.55),transparent);pointer-events:none}
.card{box-shadow:0 1px 0 var(--line)}.cb h3{font-size:1.7rem}.pr strong{font-size:2.6rem}
.calc{background:linear-gradient(135deg,#0f1114 55%,#17224a)}.calc .cf{background:#fff;border-top:8px solid var(--y);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.res{background:none;gap:10px}.res div{border-left:6px solid var(--blue)}.res div:first-child b{font-size:3.6rem}
.proc li{position:relative}.proc li img{filter:saturate(1.15) contrast(1.05)}
.proc h3:before{display:block;width:auto;height:auto;margin:0 0 4px;background:none;font:900 4.2rem/1 'Big Shoulders Display','Roboto Condensed',sans-serif-condensed,'Arial Narrow',sans-serif;color:transparent;-webkit-text-stroke:2px var(--ink)}
.proc h3{font-size:1.9rem}.proc li:not(:last-child):after{content:"";position:absolute;left:0;right:0;top:0;height:0}
.wall{gap:6px}.wall .t:hover{outline:4px solid var(--y);outline-offset:-4px}
.band{position:relative;color:#fff;background:linear-gradient(105deg,rgba(29,78,216,.96) 30%,rgba(29,78,216,.72)),url(../img/p05.jpg) center/cover;padding:110px 0}
.band h2{font-size:clamp(2.8rem,8vw,5.6rem);max-width:14ch}.band p{max-width:44ch;font-size:1.2rem;margin:18px 0 30px}
.visit .cf{border-top:8px solid var(--blue);box-shadow:0 20px 50px rgba(15,17,20,.12)}.visit h2{margin-bottom:6px}
footer{padding:56px 0 90px}.fg{display:grid;gap:30px}.fg b{color:#fff;font:800 1.3rem 'Big Shoulders Display','Roboto Condensed',sans-serif-condensed,'Arial Narrow',sans-serif;text-transform:uppercase}.fg a{color:#fff}footer .cr{margin-top:34px;padding-top:20px;border-top:1px solid #2b2f36}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1.4fr;box-shadow:0 -6px 20px rgba(0,0,0,.25)}.dock a{padding:15px;text-align:center;font-weight:700;text-decoration:none;background:var(--ink);color:#fff}.dock a.y{background:var(--y);color:var(--ink)}
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js .rv.in{opacity:1;transform:none}
@media(min-width:760px){.fg{grid-template-columns:1.2fr 1fr 1fr}.dock{display:none}footer{padding-bottom:56px}.proc li:not(:last-child):after{height:3px;background:var(--y);top:-18px;right:20px}}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}

/* v5 fixes */
h1{font-size:clamp(3rem,10.5vw,7rem);max-width:none;line-height:.95;letter-spacing:.01em}h1:after{width:90px;height:8px;margin-top:20px}
.hbg{background:linear-gradient(0deg,rgba(10,12,15,.92) 0%,rgba(10,12,15,.7) 45%,rgba(10,12,15,.2) 100%),url(../img/hero-m.jpg) center/cover}
.lead{font-size:1.08rem;color:#fff;max-width:34ch;margin:18px 0 26px;font-weight:500}
.cta{flex-direction:column}.cta .btn{width:100%;text-align:center}
.facts .wrap{grid-template-columns:1fr 1fr;padding:0 10px}.facts div{padding:18px 12px;border-left:0;border-bottom:1px solid rgba(15,17,20,.12)}.facts div:nth-child(odd){border-right:1px solid rgba(15,17,20,.12)}.facts div:nth-last-child(-n+2){border-bottom:0}
.facts b{font-size:1.15rem;margin-bottom:2px}.facts span,.facts a{display:block;font-size:.95rem;line-height:1.35;text-decoration:none;font-weight:600}
dl{grid-template-columns:1fr;gap:2px 0}dt{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-top:14px}dd{font-size:1.15rem;font-weight:600;line-height:1.5}dd a{text-decoration:none;display:inline-block;padding:2px 0}dd a:hover{text-decoration:underline}
.fg a{text-decoration:none;border-bottom:1px solid #3a3f47;padding-bottom:1px}.fg a:hover{border-color:var(--y)}.fg p{line-height:1.6}
@media(min-width:760px){.hbg{background:linear-gradient(90deg,rgba(10,12,15,.85) 0%,rgba(10,12,15,.4) 50%,rgba(10,12,15,0) 80%),linear-gradient(0deg,rgba(10,12,15,.5),transparent 40%),url(../img/hero.jpg) 68% center/cover}
.cta{flex-direction:row}.cta .btn{width:auto}.facts .wrap{grid-template-columns:repeat(4,1fr)}.facts div{border-bottom:0!important;border-right:0!important;border-left:1px solid rgba(15,17,20,.12)}
dl{grid-template-columns:auto 1fr;gap:10px 24px}dt{margin-top:0;align-self:center}}
