.hd{position:absolute;inset:0 0 auto;z-index:20;color:#fff}.hd-in{display:flex;align-items:center;gap:1.5rem;min-height:76px}
.logo{font:700 1.8rem/1 var(--fh);letter-spacing:.12em;text-decoration:none;display:flex;flex-direction:column;margin:0}.logo small{font:400 .7rem var(--fb);letter-spacing:.3em;text-transform:uppercase;margin-top:.2rem}
.nav{display:none;gap:1.6rem;margin-left:auto;font-family:var(--fh);font-weight:500}.nav a{text-decoration:none;padding:.5rem 0}
.hd .lang{margin-left:auto}@media(min-width:900px){.nav{display:flex}.hd .lang{margin-left:0}}
.hero{position:relative;min-height:92svh;display:grid;color:#fff}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-o{position:relative;align-self:end;background:linear-gradient(transparent,rgba(20,20,20,.85) 45%);padding:8rem 0 3rem}
.lbl{font:500 .8rem var(--fh);letter-spacing:.2em;text-transform:uppercase;border-left:3px solid var(--accent);padding-left:.6rem}
.hero h1{font-size:clamp(2.4rem,6.5vw,5.2rem);font-weight:700;letter-spacing:-.03em;max-width:16ch}
.cta{display:flex;gap:.7rem;flex-wrap:wrap}.hero .btn--ghost{color:#fff}
.nums{background:var(--ink);color:#fff}.nums-in{display:grid;grid-template-columns:repeat(2,1fr)}@media(min-width:900px){.nums-in{grid-template-columns:repeat(4,1fr)}}
.nums p{margin:0;padding:1.5rem 1rem;border-left:1px solid #555;font-size:.9rem;color:#d9d6cf}.nums b{display:block;font:700 clamp(2rem,4vw,3rem)/1 var(--fh);color:#fff;margin-bottom:.3rem}
.sec{padding:5rem 0}.sec-alt{background:var(--bg2)}
.h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid currentColor;padding-bottom:.6rem;font-size:clamp(2rem,5vw,3.4rem);font-weight:700;letter-spacing:-.03em;margin-bottom:2rem}
.h span{font-size:.4em;color:var(--accent);font-weight:500}
.case{margin-bottom:4rem}.case-h{display:grid;gap:.3rem;margin-bottom:1rem}@media(min-width:900px){.case-h{grid-template-columns:1fr auto;align-items:end}.case-h p{grid-row:2}.phase{grid-row:1/3;grid-column:2}}
.case h3{font-size:1.5rem;margin:0}.case-h p{margin:0;color:var(--muted);font-family:var(--fh)}
.phase{display:flex;border:2px solid var(--ink)}.phase button{min-height:44px;padding:.4rem 1rem;border:0;background:transparent;cursor:pointer;font:600 .9rem var(--fh)}.phase button+button{border-left:2px solid var(--ink)}.phase [aria-pressed=true]{background:var(--ink);color:#fff}
.case-strip{display:grid;grid-auto-flow:column;grid-auto-columns:80%;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}
@media(min-width:900px){.case-strip{grid-auto-columns:1fr;grid-template-columns:1fr 1fr 1fr}.case-strip figure.on{grid-column:span 1}}
.case-strip figure{margin:0;scroll-snap-align:start}.case-strip img{transition:opacity .3s,filter .3s}.case-strip figure.dim img{opacity:.55;filter:grayscale(.8)}
.case-strip img{aspect-ratio:4/3;object-fit:cover;width:100%}.case-strip figcaption{font:500 .85rem var(--fh);padding-top:.4rem;letter-spacing:.06em;text-transform:uppercase}
.dark{background:var(--ink);color:#EDEBE6}.dark .h span{color:#E08A65}.sub{color:#cfcbc3;max-width:50ch}
.gantt{list-style:none;padding:0;margin:2rem 0 1rem;display:grid;gap:.4rem}
.gantt li{display:grid;grid-template-columns:2.2rem 1fr auto;grid-template-areas:"n t wk" "n bar bar";gap:.2rem .7rem;align-items:center;padding:.6rem 0;border-bottom:1px solid #444}
@media(min-width:900px){.gantt li{grid-template-columns:2.5rem 16rem 1fr 4rem;grid-template-areas:"n t bar wk"}}
.gantt .n{grid-area:n;font:700 1rem var(--fh);color:#E08A65}.gantt .t{grid-area:t;font-weight:500}.gantt .wk{grid-area:wk;font-family:var(--fh);text-align:right}
.gantt .bar{grid-area:bar;height:14px;background:#3a3a3a;position:relative}.gantt .bar i{position:absolute;top:0;bottom:0;left:calc(var(--s)*100%);width:max(6px,calc(var(--w)*100%));background:var(--sand);transform-origin:left;transition:transform .8s}
.gantt:not(.in) .bar i{transform:scaleX(0)}
.total{font-family:var(--fh)}.total b{color:var(--sand);font-size:1.3rem}
.mat{display:grid;gap:2rem}@media(min-width:900px){.mat{grid-template-columns:1fr 1fr}}
.mlist{counter-reset:m}.mlist li{counter-increment:m;display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #b5b1a8;font:500 1.15rem var(--fh)}.mlist li::before{content:counter(m,decimal-leading-zero);color:var(--accent)}
.grid8{grid-template-columns:repeat(2,1fr);gap:.4rem}@media(min-width:900px){.grid8{grid-template-columns:repeat(4,1fr)}}.grid8 img{aspect-ratio:1}
.tw{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tw li{border:2px solid var(--ink);padding:.5rem .9rem;font:500 1rem var(--fh)}
.rev{background:var(--card);border-top:4px solid var(--accent)}.qr-row{margin-top:2rem;max-width:36rem}
.wiz-w{display:grid;gap:2rem}@media(min-width:900px){.wiz-w{grid-template-columns:.8fr 1.2fr}}
.wiz{background:#363636;padding:1.5rem;display:grid;gap:1rem}
.step{border:0;margin:0;padding:0;display:grid;gap:.5rem}.step legend{font:700 1.4rem var(--fh);margin-bottom:.6rem}.step legend span{color:#E08A65;margin-right:.6rem;font-size:.9rem}
.step label{position:relative}.step input[type=radio]{position:absolute;opacity:0}
.step label>span{display:block;padding:1rem;border:2px solid #555;cursor:pointer;font-weight:500}.step input:checked+span{border-color:var(--sand);background:#444}.step input:focus-visible+span{outline:3px solid var(--sand)}
.rng{display:grid;gap:.6rem;font:700 2.2rem var(--fh)}.rng input{width:100%;accent-color:var(--sand);height:44px}
.est{background:var(--ink);padding:1rem;margin:.5rem 0 0}.est b{display:block;font:700 1.8rem var(--fh);color:var(--sand)}.est small{display:block;color:#cfcbc3}
.nm{display:grid;gap:.3rem;font-weight:500}.nm input{min-height:48px;background:#fff;color:var(--ink);border:0;padding:.5rem .7rem}
.wiz-nav{display:flex;gap:.6rem;flex-wrap:wrap}.wiz .btn--ghost{color:#fff}
.visit{display:grid;gap:2rem}@media(min-width:900px){.visit{grid-template-columns:1fr 1fr}}.map .big-pin{width:2.5rem;height:2.5rem;color:var(--accent)}
.foot{background:#1b1b1b;color:#ddd;padding:3.5rem 0 1.5rem}.foot .demo-note{margin-top:2rem}
.dark :focus-visible,.hero :focus-visible,.hd :focus-visible,.foot :focus-visible{outline-color:var(--sand)}

.logo{flex-direction:row;align-items:center;gap:.6rem}.logo .wm{display:flex;flex-direction:column}
