/* ==========================================================
   GESTION · Dossiê de Fachadas
   Estética "Órbita Estrutural": campo azul-marinho profundo,
   ocre âmbar reservado ao que importa, versal monumental,
   monoespaçada clínica para anotações.
   ========================================================== */
:root{
  --navy-900:#0e0b26;
  --navy-800:#15113a;
  --navy-700:#1c174a;
  --navy-600:#261f56;
  --navy:#312960;
  --blue:#2F7CB7;
  --sky:#4BB2E5;
  --amber:#EDB234;
  --amber-deep:#B36F0E;
  --chalk:#f4f1ea;
  --chalk-70:rgba(244,241,234,.72);
  --chalk-40:rgba(244,241,234,.42);
  --chalk-15:rgba(244,241,234,.15);
  --line:rgba(244,241,234,.12);
  --display:'Bebas Neue','Lato',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --body:'Lato',system-ui,sans-serif;
  --pad:clamp(20px,5vw,64px);
  --maxw:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--body);color:var(--chalk);background:var(--navy-900);
  line-height:1.55;font-size:16px;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.mono{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}

/* ---------- tipografia ---------- */
.display{
  font-family:var(--display);font-weight:400;line-height:.9;
  font-size:clamp(3.6rem,15vw,8.5rem);letter-spacing:.01em;text-transform:uppercase;
  display:flex;flex-direction:column;
}
.display span{display:block}
.hero .display{text-shadow:0 4px 30px rgba(14,11,38,.6)}
.display--md{font-size:clamp(2.8rem,10vw,5.6rem)}
.display .amber{color:var(--amber)}
.display .outline{color:transparent;-webkit-text-stroke:1.5px var(--chalk);}
.kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;color:var(--amber);margin-bottom:18px}
.lead{font-size:clamp(1rem,2.4vw,1.2rem);color:var(--chalk-70);max-width:56ch;margin-top:20px;font-weight:300}
h3{font-family:var(--body);font-weight:900;font-size:1.25rem;line-height:1.2}

/* ---------- progress + topbar ---------- */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:1001;background:transparent}
.progress span{display:block;height:100%;width:0;background:var(--amber);transition:width .1s linear}
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;
  padding:14px var(--pad);transition:background .3s,backdrop-filter .3s;
}
.topbar.is-solid{background:rgba(14,11,38,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar__logo img{height:30px;width:auto}
.topbar__right{display:flex;gap:10px;align-items:center}
.btn-share{width:40px;height:40px;border-radius:50%;border:1px solid var(--chalk-40);display:grid;place-items:center;color:var(--chalk)}
.btn-wa{
  display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
  background:var(--amber);color:var(--navy-900);font-weight:900;font-size:.85rem;letter-spacing:.02em;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 26px;border-radius:999px;
  font-weight:900;font-size:.95rem;letter-spacing:.02em;transition:transform .2s,box-shadow .2s;
}
.btn:active{transform:scale(.97)}
.btn--amber{background:var(--amber);color:var(--navy-900);box-shadow:0 10px 40px rgba(237,178,52,.25)}
.btn--big{padding:20px 34px;font-size:1.05rem}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-2}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;animation:kb 26s ease-in-out infinite alternate;transform-origin:center 40%}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.12)}}
.hero__video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.2s ease}
.hero__video.is-playing{opacity:1}
.hero.has-video .hero__bg img{animation:none}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(14,11,38,.55) 0%,rgba(14,11,38,.22) 28%,rgba(14,11,38,.86) 58%,var(--navy-900) 100%);
}
.hero__grid{
  position:absolute;inset:0;z-index:-1;opacity:.14;pointer-events:none;
  background-image:linear-gradient(var(--chalk) 1px,transparent 1px),linear-gradient(90deg,var(--chalk) 1px,transparent 1px);
  background-size:72px 72px;mask-image:linear-gradient(180deg,transparent,#000 40%,#000 70%,transparent);
}
.hero__marks i{position:absolute;width:22px;height:22px;border:1px solid var(--chalk-40)}
.hero__marks i:nth-child(1){top:74px;left:16px;border-right:0;border-bottom:0}
.hero__marks i:nth-child(2){top:74px;right:16px;border-left:0;border-bottom:0}
.hero__marks i:nth-child(3){bottom:16px;left:16px;border-right:0;border-top:0}
.hero__marks i:nth-child(4){bottom:16px;right:16px;border-left:0;border-top:0}
.hero__content{position:relative;padding:120px var(--pad) 96px;max-width:var(--maxw);width:100%;margin:0 auto}
.hero__lead{margin-top:22px;max-width:44ch;font-size:clamp(1rem,2.6vw,1.25rem);color:var(--chalk-70);font-weight:300}
.hero__client{
  margin-top:26px;display:inline-flex;flex-direction:column;gap:4px;padding:14px 18px;
  border:1px solid rgba(237,178,52,.5);border-left:3px solid var(--amber);background:rgba(14,11,38,.55);backdrop-filter:blur(6px);
}
.hero__client .mono{color:var(--amber)}
.hero__client strong{font-size:1.15rem;font-weight:900}
.hero__cta{margin-top:30px}
.hero__scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--chalk-40)}
.hero__scroll span{width:1px;height:40px;background:linear-gradient(var(--amber),transparent);animation:drop 1.8s ease-in-out infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- stats ---------- */
.stats{background:var(--navy);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats__grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr)}
.stat{padding:28px var(--pad);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.stat:nth-child(2n){border-right:0}
.stat b{font-family:var(--display);font-size:clamp(2.8rem,9vw,4.4rem);line-height:1;color:var(--amber);font-weight:400}
.stat span{font-size:.85rem;color:var(--chalk-70);max-width:20ch}
@media(min-width:760px){.stats__grid{grid-template-columns:repeat(4,1fr)}.stat{border-bottom:0}.stat:nth-child(2n){border-right:1px solid var(--line)}.stat:last-child{border-right:0}}

/* ---------- seções ---------- */
.section{padding:clamp(72px,12vw,140px) var(--pad);position:relative}
.section--dark{background:var(--navy-900)}
.section--navy{background:linear-gradient(180deg,var(--navy-800),var(--navy-700))}
.section__head{max-width:var(--maxw);margin:0 auto clamp(40px,7vw,72px)}

/* ---------- antes/depois ---------- */
.ba-list{max-width:var(--maxw);margin:0 auto;display:grid;gap:clamp(36px,6vw,64px)}
@media(min-width:900px){.ba-list{grid-template-columns:1fr 1fr}}
.ba{margin:0}
.ba__stage{
  position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:var(--navy-700);
  touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:ew-resize;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba__after{position:absolute;inset:0;width:var(--x,50%);overflow:hidden}
.ba__after .ba__img{width:calc(100% / var(--w,.5));}
.ba__handle{
  position:absolute;top:0;bottom:0;left:var(--x,50%);width:2px;background:var(--amber);transform:translateX(-1px);
  box-shadow:0 0 0 1px rgba(14,11,38,.4);
}
.ba__handle span{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;
  background:var(--amber);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.ba__handle span::before{content:"◀ ▶";font-size:11px;color:var(--navy-900);letter-spacing:2px}
.ba__tag{position:absolute;bottom:14px;padding:6px 10px;background:rgba(14,11,38,.7);backdrop-filter:blur(4px);font-style:normal;color:var(--chalk)}
.ba__tag--l{left:14px}.ba__tag--r{right:14px;color:var(--amber)}
.ba figcaption{margin-top:14px;display:flex;flex-direction:column;gap:3px}
.ba figcaption strong{font-size:1.05rem;font-weight:900}
.ba figcaption span{font-size:.85rem;color:var(--chalk-70)}

/* ---------- cases ---------- */
.case{max-width:var(--maxw);margin:0 auto clamp(56px,9vw,96px);border-top:1px solid var(--line);padding-top:28px}
.case__head{display:flex;gap:18px;align-items:flex-start;margin-bottom:20px}
.case__num{color:var(--amber);font-size:.9rem;padding-top:6px}
.case__head h3{font-size:clamp(1.4rem,4.5vw,2rem)}
.case__head p{color:var(--chalk-40);margin-top:6px}
.gallery{
  display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;
  scrollbar-width:none;margin:0 calc(var(--pad) * -1);padding-left:var(--pad);padding-right:var(--pad);
}
.gallery::-webkit-scrollbar{display:none}
.gallery figure{flex:0 0 78%;scroll-snap-align:start;margin:0}
@media(min-width:700px){.gallery figure{flex-basis:38%}}
@media(min-width:1000px){.gallery{margin:0;padding:0 0 8px}.gallery figure{flex-basis:calc(25% - 9px)}}
.gallery img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:4px;cursor:zoom-in;transition:transform .3s}
.gallery img:hover{transform:translateY(-3px)}
.gallery figcaption{font-size:.82rem;color:var(--chalk-70);margin-top:8px;line-height:1.4}
.gallery figcaption b{display:block;color:var(--amber);margin-bottom:2px}
.case__body{margin-top:22px;max-width:70ch}
.case__body p{color:var(--chalk-70);font-weight:300}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chips li{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--chalk-15);border-radius:999px;color:var(--chalk-70)}

/* ---------- case em destaque (passo a passo) ---------- */
.case--feature{border-top:2px solid var(--amber);padding-top:0}
.feature__hero{margin:0;position:relative;border-radius:6px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.feature__hero img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
@media(min-width:800px){.feature__hero img{aspect-ratio:16/9;object-position:center 30%}}
.feature__hero figcaption{position:absolute;left:0;right:0;bottom:0;padding:120px 24px 26px;background:linear-gradient(transparent,rgba(14,11,38,.94));display:flex;flex-direction:column;gap:8px}
.feature__hero .mono{color:var(--amber)}
.feature__hero h3{font-size:clamp(1.7rem,5vw,2.6rem)}
.feature__hero p{color:var(--chalk-70);max-width:60ch;font-size:.95rem}
@media(min-width:800px){.feature__hero figcaption{padding:160px 40px 36px}}
.feature__intro{max-width:70ch;margin:28px 0 8px}
.feature__intro p:last-child{color:var(--chalk-70);font-weight:300;font-size:1.02rem}
.jsteps{list-style:none;counter-reset:js;margin:24px 0 0;display:grid;gap:18px}
.jsteps figure{margin:0;display:grid;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.02)}
.jsteps img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;cursor:zoom-in}
.jsteps figcaption{display:flex;flex-direction:column;gap:6px}
.jsteps figcaption .mono{color:var(--amber)}
.jsteps figcaption b{font-size:1.15rem;font-weight:900;line-height:1.2}
.jsteps figcaption p{color:var(--chalk-70);font-size:.92rem;line-height:1.5}
@media(min-width:700px){
  .jsteps figure{grid-template-columns:38% 1fr;align-items:center;padding:18px}
  .jsteps li:nth-child(even) figure{grid-template-columns:1fr 38%}
  .jsteps li:nth-child(even) img{order:2}
}
.feature__points{margin:28px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:800px){.feature__points{grid-template-columns:repeat(4,minmax(0,1fr))}}
.feature__points div{padding:16px;border:1px solid rgba(237,178,52,.35);border-radius:6px;display:flex;flex-direction:column;gap:8px;background:rgba(237,178,52,.04)}
.feature__points b{color:var(--amber);font-size:.66rem}
.feature__points span{font-size:.82rem;color:var(--chalk-70);line-height:1.45}
.feature__aerial{margin:28px 0 0;border-radius:6px;overflow:hidden;position:relative}
.feature__aerial img{width:100%;aspect-ratio:16/9;object-fit:cover}
.feature__aerial figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;background:linear-gradient(transparent,rgba(14,11,38,.85));color:var(--chalk-70)}

/* ---------- drone / diagnóstico ---------- */
.drone{position:relative;max-width:var(--maxw);margin:0 auto 40px;border-radius:6px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.drone img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media(min-width:800px){.drone img{aspect-ratio:16/10}}
.drone__pins i{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 6px rgba(237,178,52,.25);animation:pulse 2s infinite}
.drone__pins i::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(237,178,52,.5)}
.drone__pins b{position:absolute;left:22px;top:-6px;white-space:nowrap;background:rgba(14,11,38,.85);padding:4px 8px;color:var(--amber);font-size:.62rem}
@keyframes pulse{0%,100%{box-shadow:0 0 0 6px rgba(237,178,52,.25)}50%{box-shadow:0 0 0 12px rgba(237,178,52,.08)}}
.drone__badge{position:absolute;top:14px;left:14px;padding:6px 10px;background:rgba(14,11,38,.8);border:1px solid rgba(237,178,52,.6);color:var(--amber);font-size:.6rem;border-radius:3px}
.drone__legend{position:absolute;left:0;right:0;bottom:0;padding:12px 16px;background:linear-gradient(transparent,rgba(14,11,38,.9));color:var(--chalk-70);font-size:.6rem}
.anom{max-width:var(--maxw);margin:0 auto;display:grid;gap:14px}
@media(min-width:700px){.anom{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.anom{grid-template-columns:repeat(3,1fr)}}
.anom__item{display:grid;grid-template-columns:96px 1fr;gap:14px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.02);transition:border-color .2s,background .2s}
.anom__item:hover,.anom__item:focus-visible{border-color:rgba(237,178,52,.5);background:rgba(237,178,52,.05)}
.anom__item img{width:96px;height:96px;object-fit:cover;border-radius:4px}
.anom__item b{display:block;font-weight:900;margin-bottom:4px}
.anom__item span{font-size:.82rem;color:var(--chalk-70);line-height:1.4}

/* ---------- cinema (vídeo de obra) ---------- */
.cinema{max-width:var(--maxw);margin:0 auto clamp(40px,7vw,72px);position:relative;border-radius:6px;overflow:hidden;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.cinema__video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
@media(max-width:600px){.cinema__video{aspect-ratio:4/5}}
.cinema__marks i{position:absolute;width:26px;height:26px;border:1px solid rgba(244,241,234,.6)}
.cinema__marks i:nth-child(1){top:16px;left:16px;border-right:0;border-bottom:0}
.cinema__marks i:nth-child(2){top:16px;right:16px;border-left:0;border-bottom:0}
.cinema__marks i:nth-child(3){bottom:16px;left:16px;border-right:0;border-top:0}
.cinema__marks i:nth-child(4){bottom:16px;right:16px;border-left:0;border-top:0}
.cinema figcaption{position:absolute;left:0;right:0;bottom:0;padding:70px 28px 28px;background:linear-gradient(transparent,rgba(14,11,38,.92));display:flex;flex-direction:column;gap:6px}
.cinema figcaption strong{font-size:clamp(1.1rem,3vw,1.6rem);font-weight:900;line-height:1.2}
.cinema figcaption>span:last-child{font-size:.88rem;color:var(--chalk-70);max-width:60ch}
.cinema__rec{display:inline-flex;align-items:center;gap:8px;color:var(--amber)}
.cinema__rec b{width:8px;height:8px;border-radius:50%;background:#e53935;animation:rec 1.2s infinite}
@keyframes rec{50%{opacity:.2}}

/* ---------- método ---------- */
.steps{list-style:none;max-width:var(--maxw);margin:0 auto;display:grid;gap:0}
.step{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:26px 0;border-top:1px solid var(--line)}
.step:last-child{border-bottom:1px solid var(--line)}
.step__n{font-family:var(--display);font-size:2.6rem;color:var(--amber);line-height:1;letter-spacing:0}
.step h3{margin-bottom:8px}
.step p{color:var(--chalk-70);font-weight:300;max-width:62ch}
@media(min-width:900px){.step{grid-template-columns:120px 1fr}}
.platform{max-width:var(--maxw);margin:clamp(48px,8vw,80px) auto 0;display:grid;gap:28px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:8px;background:rgba(14,11,38,.5)}
@media(min-width:900px){.platform{grid-template-columns:1fr 1.2fr;padding:40px}}
.platform h3{font-size:clamp(1.4rem,3.5vw,2rem);margin-bottom:16px}
.platform ul{list-style:none;display:grid;gap:10px}
.platform li{padding-left:18px;position:relative;color:var(--chalk-70);font-size:.95rem}
.platform li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--amber)}
.platform li b{color:var(--chalk)}
.platform img{border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.trust{max-width:var(--maxw);margin:28px auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:800px){.trust{grid-template-columns:repeat(4,1fr)}}
.trust div{padding:16px;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column;gap:6px}
.trust b{color:var(--amber);font-size:.72rem}
.trust span{font-size:.8rem;color:var(--chalk-70)}

/* ---------- referências ---------- */
.refs{list-style:none;max-width:var(--maxw);margin:0 auto;display:grid;gap:0;counter-reset:ref}
@media(min-width:800px){.refs{grid-template-columns:1fr 1fr;column-gap:40px}}
.ref{display:grid;grid-template-columns:1fr;gap:10px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
@media(min-width:520px){.ref{grid-template-columns:1fr auto;gap:12px}}
.ref .ref__wa{justify-self:start}
.ref__name{font-weight:900}
.ref__meta{font-size:.8rem;color:var(--chalk-70);margin-top:2px}
.ref__status{display:inline-block;margin-left:8px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;padding:2px 6px;border:1px solid rgba(237,178,52,.5);color:var(--amber);border-radius:3px;vertical-align:middle}
.ref__wa{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--chalk-40);font-size:.78rem;font-weight:700;white-space:nowrap}
.ref__wa:hover{border-color:var(--amber);color:var(--amber)}
.ref__wa svg{width:14px;height:14px}
.refs__note{max-width:var(--maxw);margin:20px auto 0;color:var(--chalk-40)}

/* ---------- clientes ---------- */
.clients__grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:700px){.clients__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.clients__grid div{background:#fff;border-radius:6px;padding:18px;aspect-ratio:4/3;overflow:hidden}
.clients__grid img{width:100%;height:100%;object-fit:contain}

/* ---------- assembleia ---------- */
.assembly__grid{max-width:var(--maxw);margin:0 auto;display:grid;gap:14px}
@media(min-width:800px){.assembly__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.assembly__card{display:flex;flex-direction:column;gap:8px;text-align:left;padding:22px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.02);transition:border-color .2s,transform .2s;font:inherit;color:inherit}
.assembly__card:hover{border-color:rgba(237,178,52,.5);transform:translateY(-2px)}
.assembly__card .mono{color:var(--amber)}
.assembly__card strong{font-size:1.15rem;font-weight:900}
.assembly__card>span:last-child{font-size:.88rem;color:var(--chalk-70);line-height:1.45}
.assembly__card--amber{background:var(--amber);border-color:var(--amber);color:var(--navy-900)}
.assembly__card--amber .mono,.assembly__card--amber>span:last-child{color:rgba(14,11,38,.75)}
.assembly__kiosk{max-width:var(--maxw);margin:28px auto 0;padding:28px;border:1px dashed rgba(237,178,52,.5);border-radius:8px;display:grid;gap:22px;align-items:center}
@media(min-width:800px){.assembly__kiosk{grid-template-columns:1fr auto;padding:36px}}
.assembly__kiosk h3{font-size:clamp(1.2rem,3vw,1.6rem);margin-bottom:10px}
.assembly__kiosk p:last-child{color:var(--chalk-70);font-size:.92rem}

/* ---------- modo assembleia (kiosk) ---------- */
.kiosk[hidden]{display:none}
.kiosk{position:fixed;inset:0;z-index:3000;background:radial-gradient(80% 60% at 50% 0%,rgba(49,41,96,1),var(--navy-900) 70%) var(--navy-900);overflow:auto;display:flex;align-items:center;justify-content:center;padding:32px 20px}
.kiosk__inner{text-align:center;max-width:720px;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.kiosk__logo{height:34px;width:auto;margin-bottom:10px}
.kiosk .display{align-items:center;font-size:clamp(2.4rem,7vw,4.6rem)}
.kiosk__qr{background:#fff;padding:18px;border-radius:12px;margin-top:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);border:4px solid var(--amber)}
.kiosk__qr img,.kiosk__qr canvas{display:block;width:min(56vw,300px);height:auto}
.kiosk__url{font-size:clamp(.9rem,2.6vw,1.4rem);letter-spacing:.06em;text-transform:none;color:var(--amber);word-break:break-all;margin-top:6px}
.kiosk__hint{color:var(--chalk-70);max-width:44ch;font-size:.95rem}
.kiosk__client{color:var(--chalk-40)}
.kiosk__close{position:absolute;top:14px;right:18px;font-size:2.2rem;color:var(--chalk);width:48px;height:48px;z-index:1}
.toast[hidden]{display:none}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:3500;background:var(--amber);color:var(--navy-900);padding:12px 18px;border-radius:999px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.4)}

/* ---------- cta / footer ---------- */
.cta{padding:clamp(80px,14vw,160px) var(--pad);background:radial-gradient(120% 80% at 50% 100%,rgba(237,178,52,.18),transparent 60%),var(--navy-900);text-align:left}
.cta__inner{max-width:var(--maxw);margin:0 auto}
.cta .btn{margin-top:30px}
.cta__phone{margin-top:18px;color:var(--chalk-40)}
.footer{padding:40px var(--pad) 60px;border-top:1px solid var(--line);color:var(--chalk-40);font-size:.8rem;display:grid;gap:8px}
.footer img{height:26px;width:auto;opacity:.8;margin-bottom:8px}

/* ---------- lightbox ---------- */
.lightbox[hidden]{display:none}
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(14,11,38,.96);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.lightbox img{max-height:80vh;max-width:100%;object-fit:contain;border-radius:4px}
.lightbox__cap{margin-top:14px;color:var(--chalk-70);font-size:.9rem;text-align:center;max-width:60ch}
.lightbox__close{position:absolute;top:14px;right:18px;font-size:2rem;color:var(--chalk);width:44px;height:44px}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero__bg img{animation:none}}
