/* ============================================================
   SANCHEZ — Landing Page v1
   Conversão fiel do Figma:
     · 01 — LP Desktop  (frame 1440 × 10575)
     · 02 — LP Mobile   (frame  390 ×  9503)
     · 03 — Design System (tokens abaixo)

   Regra de escala: cada medida do desktop é expressa como
   vw do canvas de 1440 e limitada pelo valor original.
   Em 1440px de viewport a página bate pixel a pixel.
   ============================================================ */

/* ----------------------------------------- tokens */
:root{
  /* cor */
  --black:#0A0A0A;
  --raise:#0F0F0F;
  --panel:#141414;
  --white:#FFFFFF;
  --mid:#B8B8B8;
  --low:#6E6E6E;
  --crimson:#FF1B3D;
  --crimson-deep:#A30B2B;

  /* réguas */
  --rule-14:rgba(255,255,255,.14);
  --rule-12:rgba(255,255,255,.12);
  --rule-10:rgba(255,255,255,.10);
  --hair-22:rgba(255,255,255,.22);
  --hair-28:rgba(255,255,255,.28);
  --hair-34:rgba(255,255,255,.34);

  /* grade — 1440 canvas, margem 64, conteúdo 1312 */
  --gutter:clamp(20px, 4.4444vw, 64px);
  --section-pad:clamp(72px, 11.6667vw, 168px);

  /* tipo fluido (valor @1440) */
  --fs-display-l:clamp(40px, 5.8333vw, 84px);   /* 84 */
  --fs-stat:clamp(34px, 3.5417vw, 51px);        /* 51 */
  --fs-date:clamp(30px, 3.0556vw, 44px);        /* 44 */
  --fs-stream:clamp(20px, 1.8056vw, 26px);      /* 26 */

  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ----------------------------------------- reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{margin:0;padding:0}
/* o nome sangra L+R por design — `clip` contém sem criar
   contexto de rolagem (mantém o position:sticky da nav) */
html{overflow-x:clip}
body{
  background:var(--black);
  color:var(--white);
  font-family:"Onest",system-ui,-apple-system,sans-serif;
  font-size:16px;
  line-height:1.65;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
ul,ol,dl,dd{margin:0;padding:0;list-style:none}
h1,h2,h3,p,figure{margin:0}
:focus-visible{outline:2px solid var(--crimson);outline-offset:3px}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--crimson);color:#fff;padding:12px 20px;
}
.skip-link:focus{left:0}

/* ----------------------------------------- tipografia (design system) */
.display-l{
  font-family:"Archivo",sans-serif;font-weight:800;
  font-size:var(--fs-display-l);line-height:1.04;letter-spacing:-.015em;
  text-transform:uppercase;color:var(--white);
  font-variation-settings:"wdth" 100;
}
.display-l--black{font-weight:900;line-height:.96;letter-spacing:-.03em}

.display-stat{
  font-family:"Archivo",sans-serif;font-weight:800;
  font-size:var(--fs-stat);line-height:1;letter-spacing:-.02em;color:var(--white);
  font-variation-settings:"wdth" 100;
}
.display-date{
  font-family:"Archivo",sans-serif;font-weight:900;
  font-size:var(--fs-date);line-height:1;letter-spacing:-.02em;color:var(--white);
  font-variation-settings:"wdth" 100;
}

.body-lead {font-size:19px;line-height:1.6;letter-spacing:-.005em;color:var(--white)}
.body-base {font-size:16px;line-height:1.65;color:var(--mid)}
.body-small{font-size:14px;line-height:1.6;color:var(--mid)}

.tech-tag{
  font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;
  font-size:10px;line-height:1.4;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--mid);
}
.tech-micro{
  font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;
  font-size:9px;line-height:1.5;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--low);
}
.is-accent{color:var(--crimson)}
.is-low{color:var(--low)}

/* quebras de linha específicas por breakpoint (o Figma quebra
   "QUEM É O / SANCHEZ" no desktop e "QUEM É / O SANCHEZ" no mobile) */
.br-m{display:none}

/* os dois frames do Figma têm copy própria em alguns pontos
   (bio, rótulo LOCAL, copyright) — cada breakpoint mostra a sua */
.only-m{display:none !important}

.link-ui,.btn{
  font-family:"Onest",sans-serif;font-weight:600;
  font-size:12px;line-height:1;letter-spacing:1.44px;text-transform:uppercase;
}
.link-ui{color:var(--white);transition:color .2s var(--ease)}
.link-ui:hover{color:var(--crimson)}

/* ----------------------------------------- estrutura */
.wrap{
  width:100%;max-width:1440px;margin-inline:auto;
  padding-inline:var(--gutter);
  position:relative;z-index:2;
}
.section{
  position:relative;
  padding-block:var(--section-pad);
  background:var(--black);
}
.section--curves{overflow:hidden}

.rule{display:block;height:1px;background:var(--rule-14);flex:1 1 auto}
.rule--full{width:100%;flex:none}

/* índice de arquivo — [ 0X ] rótulo ─────────────── */
.index{
  display:flex;align-items:center;gap:19px;
  margin-bottom:36px;
}
.index__num{
  font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;
  font-size:10px;line-height:1.4;letter-spacing:1.8px;color:var(--crimson);
}
.index__label{
  font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;
  font-size:10px;line-height:1.4;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--mid);
  margin-right:9px;
}

/* placas de arquivo 2:3 ─────────────────────────── */
.plate{position:relative}
.plate img{width:100%;aspect-ratio:2/3;object-fit:cover}
.plate figcaption{margin-top:16px}

/* botões ────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:100px;white-space:nowrap;
  transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.btn--solid{background:var(--crimson);color:#fff;padding:14px 26px}
.btn--solid:hover{background:var(--crimson-deep)}
.btn--outline{border:1px solid var(--hair-28);color:#fff;padding:14px 26px}
.btn--outline:hover{border-color:#fff;background:rgba(255,255,255,.06)}

/* grafismo — campo de curvas ────────────────────── */
.curves{
  position:absolute;left:0;top:0;
  width:100%;height:min(68.0556vw,980px);
  background:url("../img/curvas.svg") no-repeat top center/100% 100%;
  pointer-events:none;z-index:1;
}
.curves--low{top:auto;bottom:0}
.curves--close{top:min(-4.1667vw,-60px)}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  height:88px;padding-inline:var(--gutter);
  background:var(--black);
  border-bottom:1px solid var(--rule-10);
}

/* logo = máscara alfa sobre chapa de cor (component do Figma) */
.logo-sanchez{
  display:block;background-color:var(--white);
  -webkit-mask:url("../img/logo-sanchez-mask.png") no-repeat center/contain;
          mask:url("../img/logo-sanchez-mask.png") no-repeat center/contain;
  aspect-ratio:3.636;
}
.logo-ith{
  display:block;background-color:var(--white);
  -webkit-mask:url("../img/logo-ith-mask.png") no-repeat center/contain;
          mask:url("../img/logo-ith-mask.png") no-repeat center/contain;
  aspect-ratio:5.038;width:132px;
}
.nav__logo{width:124px;height:34px}

.nav__links{display:flex;gap:40px;align-items:center}
.nav__links a{
  font-family:"Onest",sans-serif;font-weight:500;
  font-size:11px;line-height:1;letter-spacing:1.76px;
  text-transform:uppercase;color:var(--mid);
  transition:color .2s var(--ease);
}
.nav__links a.is-active,.nav__links a:hover{color:var(--white)}

.nav__right{display:flex;align-items:center;gap:12px}
.nav__cta{padding:13px 24px}
.nav__burger{display:none;flex-direction:column;gap:5px;padding:6px 0}
.nav__burger span{display:block;width:20px;height:1.5px;background:#fff;transition:transform .25s var(--ease),opacity .2s}
.nav__burger[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}

.drawer{
  position:fixed;inset:64px 0 auto 0;z-index:99;
  background:var(--black);border-bottom:1px solid var(--rule-10);
  padding:8px var(--gutter) 28px;
}
.drawer nav{display:flex;flex-direction:column}
.drawer a{
  font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;
  font-size:10px;letter-spacing:1.8px;text-transform:uppercase;
  color:var(--mid);padding:14px 0;border-bottom:1px solid var(--rule-10);
}
.drawer a:last-child{border-bottom:0}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  height:min(68.0556vw,1080px);
  min-height:520px;
  background:var(--black);
}
.hero__img{position:absolute;left:0;top:0;width:100%;height:82.9592%}
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:center}

.hero__labels{
  position:absolute;top:min(2.7778vw,40px);left:0;right:0;z-index:2;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:start;
  padding-inline:var(--gutter);
}
.hero__labels span:nth-child(1){justify-self:start}
.hero__labels span:nth-child(2){justify-self:center}
.hero__labels span:nth-child(3){justify-self:end}

.hero__monument{
  position:absolute;z-index:2;
  left:-5.625vw;bottom:-2.5vw;
  font-family:"Archivo",sans-serif;font-weight:900;
  font-size:21.7361vw;line-height:.82;letter-spacing:-.045em;
  text-transform:uppercase;color:var(--white);white-space:nowrap;
  font-variation-settings:"wdth" 100;
}

/* ============================================================
   01 — SOBRE
   ============================================================ */
/* colunas: 64→772 (708) | 772→1376 (604) sobre 1312 */
/* trilhas em % do conteúdo (1312) — evita mínimo de min-content
   e a dependência cíclica de sizing com aspect-ratio nos filhos */
.sobre{display:grid;grid-template-columns:53.963% 46.037%}
.sobre__left{padding-right:40px}
.plate--3col{max-width:421px;margin-top:50px}

/* coluna direita: bloco final ancorado na base da coluna mais alta */
.sobre__right{display:flex;flex-direction:column}
.sobre__aud{margin-top:40px}
.sobre__rule1{margin-top:51px}
.sobre__rule2{margin-top:42px}

.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:33px}
.stat dt{margin-top:23px}

.pracas{margin-top:auto;padding-bottom:30px}
.pracas__list{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:20px}
.pracas__list li{color:var(--mid)}

/* ============================================================
   02 — AGENDA
   ============================================================ */
.agenda__title{margin-bottom:0}
.agenda__list{margin-top:85px;border-top:1px solid var(--rule-12)}

/* colunas: cover 132 (+40) | 236→520 | 520→1050 | 1050→1376 */
.show{
  display:grid;
  grid-template-columns:13.11% 21.65% 40.39% 24.85%;
  align-items:start;
  padding-block:26px;
  border-bottom:1px solid var(--rule-12);
}
.show__cover{width:76.74%}
.show__cover img{width:100%;aspect-ratio:2/3;object-fit:cover}
.show__when{padding-top:45px}
.show__when .tech-micro{margin-top:12px}
.show__where{padding-top:57px}
.show__actions{
  padding-top:75px;
  display:flex;gap:15px;justify-content:flex-end;align-items:flex-start;
}
.show.is-tbc .display-date,
.show.is-tbc .body-lead,
.show.is-tbc .body-base{color:var(--low)}
.show__soon{display:block;padding-top:19px}

.agenda__foot{margin-top:34px;display:flex;flex-direction:column;align-items:flex-end;gap:33px}
.agenda__pager{display:none;gap:6px}
.agenda__pager span{width:26px;height:2px;background:rgba(255,255,255,.22)}
.agenda__pager span.is-on{background:var(--crimson)}

/* ============================================================
   03 — OUÇA
   ============================================================ */
/* 64→657 (593) | 657→1376 (719) */
.ouca{display:grid;grid-template-columns:45.198% 54.802%;padding-top:12px}
.ouca__desc{margin-top:52px}
.plate--ouca{max-width:320px;margin-top:50px}

.ouca__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.stream{
  display:block;position:relative;
  aspect-ratio:1;border-radius:14px;
  padding:26px;
  transition:background-color .25s var(--ease);
}
.stream:hover{background:var(--panel)}
.stream__num{display:block;color:var(--crimson)}
.stream__name{
  position:absolute;left:26px;top:136px;
  font-family:"Archivo",sans-serif;font-weight:900;
  font-size:var(--fs-stream);line-height:1;letter-spacing:-.02em;color:var(--white);
  font-variation-settings:"wdth" 100;
}
.stream__cta{position:absolute;left:26px;top:176px;color:var(--crimson)}

/* ============================================================
   04 — GALERIA
   ============================================================ */
.galeria__title{margin-bottom:0}
.gallery{margin-top:75px}
.gallery__row{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.shot{display:block;position:relative;overflow:hidden}
.shot img{
  width:100%;aspect-ratio:2/3;object-fit:cover;
  transition:transform .5s var(--ease),opacity .3s var(--ease);
}
.shot:hover img{transform:scale(1.03);opacity:.86}

.gallery__strip{
  position:absolute;left:0;right:0;bottom:0;height:26px;
  background:rgba(10,10,10,.82);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;pointer-events:none;
}
.gallery__strip span{padding-left:16px}

.galeria__foot{
  margin-top:34px;
  display:flex;align-items:baseline;justify-content:space-between;gap:24px;
}
.galeria__cap--mob{display:none}
.galeria__hint{display:none}
.galeria__rule{margin-top:10px}

/* ============================================================
   05 — CONTATO
   ============================================================ */
/* 64→717 (653) | 717→1376 (659) */
.contato{display:grid;grid-template-columns:49.771% 50.229%}
.contato__left{padding-right:40px}
.contato .plate--3col{margin-top:56px}

.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 21px}
.field{display:flex;flex-direction:column;margin-bottom:50px}
.field--full{grid-column:1 / -1}
.field label{margin-bottom:10px}
.field input{
  height:56px;width:100%;
  background:none;border:0;border-bottom:1px solid var(--hair-22);
  font-family:"Onest",sans-serif;font-weight:400;font-size:15px;
  color:var(--white);
  transition:border-color .2s var(--ease);
}
.field input::placeholder{color:var(--low);opacity:1}
.field input:focus{outline:none;border-bottom-color:var(--white)}
.field input:focus-visible{outline:none}

.form__foot{
  grid-column:1 / -1;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-top:16px;
}
.form__note{color:var(--low)}
.btn--send{padding:20px 44px}
.form__rule{grid-column:1 / -1;margin-top:52px}

/* ============================================================
   FECHAMENTO
   ============================================================ */
.close__grid{display:grid;grid-template-columns:49.771% 50.229%}
.close__plate{max-width:421px;margin-top:0}
.close__right{padding-top:16px}
.close__right .tech-tag{display:block;line-height:1.4}
.close__rule1{margin-top:22px}
.close__rule2{margin-top:0}
.close__logo{width:520px;max-width:100%;margin:38px 0 34px;height:auto}
.close__phone{margin-top:37px}
.close__phone a{transition:color .2s var(--ease)}
.close__phone a:hover{color:var(--crimson)}
.close__handle{color:var(--mid);margin-top:22px}
.close__note{color:var(--low);margin-top:6px}
.btn--wa{margin-top:46px;padding:18px 34px;border-color:var(--hair-34)}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--black);padding-block:64px 50px}
/* colunas: 64 | 483 | 794 | 1105 → 419 311 311 271 */
.footer__grid{display:grid;grid-template-columns:31.936% 23.704% 23.704% 20.656%}
.footer__logo{width:150px;height:41px}
.footer__brand p{margin-top:13px}
.footer__col{display:flex;flex-direction:column;padding-top:8px}
.footer__col p.tech-micro{margin-bottom:22px}
.footer__col a{color:var(--mid);padding-block:4px;transition:color .2s var(--ease)}
.footer__col a:hover{color:var(--white)}
.footer__col span{padding-block:4px}

.footer__mobile{display:none}
.footer__rule{margin-top:52px}
.footer__bottom{
  margin-top:23px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.footer__credit{display:flex;align-items:center;gap:14px;opacity:.85;transition:opacity .2s var(--ease)}
.footer__credit:hover{opacity:1}
.footer__credit .tech-tag{color:#8A8A8A;letter-spacing:1.8px}

/* ============================================================
   LIGHTBOX
   ============================================================ */
.lightbox{
  position:fixed;inset:0;z-index:200;
  background:rgba(10,10,10,.96);
  display:flex;align-items:center;justify-content:center;
  padding:5vh 6vw;
}
.lightbox[hidden]{display:none}
.lightbox__img{max-width:100%;max-height:90vh;object-fit:contain}
.lightbox__close{position:absolute;top:24px;right:28px;font-size:22px;line-height:1;color:var(--mid);padding:8px}
.lightbox__close:hover{color:#fff}
.lightbox__nav{
  position:absolute;top:50%;transform:translateY(-50%);
  font-size:44px;line-height:1;color:var(--mid);padding:12px 18px;
}
.lightbox__nav:hover{color:#fff}
.lightbox__nav--prev{left:8px}
.lightbox__nav--next{right:8px}
.lightbox__arq{position:absolute;left:28px;bottom:24px}

/* ============================================================
   MURAL — canvas infinito
   Campo de placas 2:3 que se repete nas quatro direções.
   Só as células visíveis existem no DOM (ver main.js).
   ============================================================ */
.mural{
  position:fixed;inset:0;z-index:190;
  background:var(--black);
  display:flex;flex-direction:column;
  overscroll-behavior:contain;
}
.mural[hidden]{display:none}

.mural__bar{
  position:relative;z-index:2;flex:none;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:64px;padding-inline:var(--gutter);
  background:var(--black);
  border-bottom:1px solid var(--rule-10);
}
.mural__id{display:flex;align-items:center;gap:14px;min-width:0}
.mural__id .tech-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.mural__tools{display:flex;align-items:center;gap:14px}
.mural__zoom{
  width:28px;height:28px;border:1px solid var(--hair-22);border-radius:100px;
  display:grid;place-items:center;font-size:15px;line-height:1;color:var(--mid);
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.mural__zoom:hover{border-color:#fff;color:#fff}
.mural__pct{min-width:44px;text-align:center;color:var(--mid)}
.mural__reset{margin-left:6px}
.mural__close{font-size:18px;line-height:1;color:var(--mid);padding:8px;transition:color .2s var(--ease)}
.mural__close:hover{color:#fff}

.mural__stage{
  position:relative;flex:1 1 auto;overflow:hidden;
  cursor:grab;touch-action:none;
  background:var(--black);
}
.mural__stage.is-panning{cursor:grabbing}

/* a camada é transformada; as células ficam em coordenadas de mundo */
.mural__layer{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}

.mural__cell{
  position:absolute;overflow:hidden;
  background:var(--panel);
  padding:0;
}
.mural__cell img{
  width:100%;height:100%;object-fit:cover;
  transition:opacity .35s var(--ease);
}
.mural__cell:hover img{opacity:.8}
.mural__cell figcaption{
  position:absolute;left:12px;bottom:10px;
  opacity:0;transition:opacity .2s var(--ease);
}
.mural__cell:hover figcaption{opacity:1}

.mural__hint{
  position:absolute;left:var(--gutter);bottom:20px;z-index:2;
  pointer-events:none;
}

/* ============================================================
   MOBILE — frame 390 (02 — LP Mobile)
   ============================================================ */
@media (max-width:899px){
  :root{
    --gutter:20px;
    --section-pad:92px;
    --fs-display-l:34px;
    --fs-stat:34px;
    --fs-date:34px;
    --fs-stream:20px;
  }

  .body-lead{font-size:17px}
  .br-d{display:none}
  .br-m{display:inline}
  .only-d{display:none !important}
  .only-m{display:revert !important}

  /* ordem dos campos do formulário no frame mobile:
     TIPO · LOCAL DO EVENTO · DATA|HORÁRIO · ORÇAMENTO · CONTATO */
  .field--tipo{order:1}
  .field--local{order:2;grid-column:1 / -1}
  .field--data{order:3;grid-column:1}
  .field--hora{order:4;grid-column:2}
  .field--orc{order:5;grid-column:1 / -1}
  .field--contato{order:6}
  .form__foot{order:7}
  .form__rule{order:8}

  /* nav */
  .nav{height:64px}
  .nav__logo{width:100px;height:28px}
  .nav__links{display:none}
  .nav__burger{display:flex}
  .nav__cta{
    padding:9px 14px;
    font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;
    font-size:9px;letter-spacing:1.8px;line-height:1.5;
  }

  .index{gap:10px;margin-bottom:20px}

  /* hero — 390 × 691, imagem vertical 9:16 */
  .hero{height:min(177.1795vw,86svh);min-height:480px}
  .hero__img{height:100%}
  .hero__labels{display:none}
  .hero__monument{
    left:-13.3333vw;bottom:-3.3333vw;
    font-size:24.6154vw;line-height:.84;letter-spacing:-.04em;
  }

  /* 01 sobre — coluna única, stats empilhadas com régua */
  .sobre{grid-template-columns:1fr}
  .sobre__left{padding-right:0;display:contents}
  .sobre__left .display-l{order:1}
  .sobre__right{order:2;margin-top:35px}
  .plate--3col{order:3;max-width:none;margin-top:59px}

  .sobre__aud{margin-top:8px}
  /* no mobile as réguas viram as bordas das linhas de stat */
  .sobre__rule1,.sobre__rule2{display:none}

  /* vão deliberado antes das stats — "o vão no meio vira composição" */
  .stats{grid-template-columns:1fr;margin-top:107px}
  .stat{
    display:flex;align-items:baseline;justify-content:space-between;
    padding-block:20px;border-bottom:1px solid var(--rule-14);
  }
  .stat:first-child{border-top:1px solid var(--rule-14)}
  .stat dt{margin-top:0}

  .pracas{margin-top:29px;padding-bottom:0}
  .pracas__list{gap:6px 14px;margin-top:13px}

  /* 02 agenda — carrossel horizontal de cards */
  .agenda__list{
    margin-top:52px;border-top:0;
    display:flex;gap:34px;
    overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:none;
    margin-inline:calc(var(--gutter)*-1);
    padding-inline:var(--gutter);
  }
  .agenda__list::-webkit-scrollbar{display:none}
  .show{
    display:block;flex:0 0 296px;scroll-snap-align:start;
    padding-block:0;border-bottom:0;
  }
  .show__cover{width:100%}
  .show__when{padding-top:0;margin-top:22px;border-top:1px solid var(--rule-14);padding-top:18px}
  .show__when .tech-micro{margin-top:12px}
  .show__where{padding-top:0;margin-top:16px}
  .show__actions{padding-top:0;margin-top:26px;display:block}
  .show__actions .btn{width:100%;padding:19px 0}
  .show__actions .btn--outline{
    border:0;padding:0;margin-top:20px;
    font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;
    font-size:9px;letter-spacing:1.8px;color:var(--mid);
  }
  .show__actions .btn--outline:hover{background:none;color:#fff}
  .show.is-tbc .show__soon{display:block;text-align:center;padding:19px 0;border:1px solid var(--hair-28);border-radius:100px;color:var(--low)}
  .agenda__foot{margin-top:40px;flex-direction:row;align-items:center;justify-content:space-between}
  .agenda__foot .rule--full{display:none}
  .agenda__pager{display:flex}

  /* 03 ouça — lista */
  .ouca{grid-template-columns:1fr;padding-top:0}
  .ouca__left{display:contents}
  .ouca__left .display-l{order:1}
  .ouca__desc{display:none}
  .plate--ouca{display:none}
  .ouca__cards{order:2;grid-template-columns:1fr;gap:0;margin-top:40px}
  .stream{
    aspect-ratio:auto;border-radius:0;padding:24px 0;
    display:flex;align-items:center;gap:14px;
    border-bottom:1px solid var(--rule-14);
  }
  .stream:hover{background:none}
  .stream:first-child{border-top:1px solid var(--rule-14)}
  .stream__num{position:static}
  .stream__name{
    position:static;font-size:12px;font-family:"Onest",sans-serif;font-weight:600;
    letter-spacing:1.44px;text-transform:uppercase;
  }
  .stream__cta{position:static;margin-left:auto}

  /* 04 galeria — 2 colunas */
  .gallery{margin-top:75px}
  .gallery__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery__strip{display:none}
  .galeria__foot{margin-top:30px;flex-direction:column;align-items:flex-start;gap:0}
  .galeria__cap--desk{display:none}
  .galeria__cap--mob{display:block}
  .galeria__foot .link-ui{align-self:flex-end}
  .galeria__hint{display:block;margin-top:22px}
  .galeria__rule{display:none}

  /* 05 contato — campos empilhados, placa no fim */
  .contato{grid-template-columns:1fr}
  .contato__left{padding-right:0;display:contents}
  .contato__left .display-l{order:1}
  .form{order:2;margin-top:44px;gap:0 12px}
  .contato .plate--3col{order:3;max-width:none;margin-top:74px}
  .field{margin-bottom:22px}
  .field input{height:52px;font-size:14px}
  .form__foot{flex-direction:column;align-items:stretch;margin-top:22px}
  .form__foot .btn--send{width:100%;padding:22px 0;order:-1}
  .form__note{display:none}
  .form__rule{margin-top:40px}

  /* fechamento */
  .close__grid{grid-template-columns:1fr}
  .close__right{padding-top:0;display:contents}
  .close__plate{order:2;max-width:none;margin-top:74px}
  .close__logo{width:280px;margin:22px 0 0}
  .close__phone{margin-top:28px}
  .close__handle{font-size:16px;margin-top:18px}
  .close__note{margin-top:8px}
  .btn--wa{margin-top:38px;width:100%;padding:20px 0}

  /* footer */
  .footer{padding-block:44px 40px}
  .footer__grid{grid-template-columns:1fr}
  .footer__col{display:none}
  .footer__logo{width:124px;height:34px}
  .footer__brand p{margin-top:6px}
  .footer__mobile{display:block;margin-top:14px}
  .footer__mlinks{display:flex;flex-wrap:wrap;gap:10px 16px}
  .footer__mlinks a{color:var(--mid)}
  .footer__mhandle{margin-top:32px}
  .footer__mcontact{margin-top:0}
  .footer__rule{margin-top:24px}
  .footer__bottom{margin-top:22px;flex-direction:column;align-items:flex-start;gap:26px}
  .footer__credit{align-self:flex-start}
  .logo-ith{width:104px}

  /* curvas mais curtas no mobile (frame 390 × 265) */
  .curves{height:min(68.0556vw,265px)}
  .curves--low{bottom:auto;top:min(-30.77vw,-120px)}
  .curves--close{top:min(-10.26vw,-40px)}

  .lightbox__nav{font-size:34px;padding:10px 12px}

  /* mural */
  .mural__bar{height:56px;gap:12px}
  .mural__id .tech-tag:last-child{display:none}
  .mural__tools{gap:10px}
  .mural__reset{display:none}
  .mural__hint{
    left:var(--gutter);right:var(--gutter);bottom:14px;
    font-size:8px;letter-spacing:1.4px;line-height:1.6;
  }
}

/* telas muito estreitas */
@media (max-width:389px){
  .show{flex-basis:84vw}
}

/* ----------------------------------------- acessibilidade */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}

html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (max-width:899px){html{scroll-padding-top:72px}}
