/* ============================================================
   galeria — 6º template fiel: minimal branco de galeria de arte,
   grid suíço. Branco puro + UMA cor de acento (Klein blue por
   default), hairlines 1px como divisores estruturais, Instrument
   Sans (texto e títulos, pesos contidos) + Spline Sans Mono
   (labels/dados/números). Reveals FADE-ONLY, sem parallax, sem
   cenas de scroll. Hand-written CSS (sem @tailwind/Vite): o
   BuildBundler copia este arquivo verbatim pro bundle publicado.
   Determinismo: nenhuma variação depende do config — toda
   variação vem do HTML.
   ============================================================ */

:root{
  --bg:        #FFFFFF;
  --ink:       #111111;
  --ink-muted: #555555;
  --accent:    #002FA7;   /* Klein blue — a ÚNICA cor do template */
  --hairline:  #E5E5E5;   /* divisores 1px onipresentes */
  --sans: "Instrument Sans", system-ui, sans-serif;
  --mono: "Spline Sans Mono", ui-monospace, "SF Mono", monospace;
  --ease: cubic-bezier(.2,.7,.2,1);
  --pad-x: clamp(1.2rem, 5vw, 4rem);
}

/* Paletas curadas (slugs = CONTRATO com o TemplateRegistry, PLAN-4).
   Só o acento muda — o branco/ink/hairline são a identidade fixa. */
[data-palette="vermelho-suico"]{ --accent:#E63329; }
[data-palette="preto-total"]{ --accent:#111111; }

/* ---------- BASE ---------- */
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
}
img{ display:block; width:100%; height:100%; object-fit:cover; }
em{ font-style:italic; }
a{ color:inherit; text-decoration:none; }

::selection{ background:var(--accent); color:#fff; }

/* ---------- UTILITÁRIOS ---------- */
.eyebrow{
  font-family:var(--mono); font-weight:500;
  font-size:.66rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-muted);
}

/* Botões: retângulos precisos (zero border-radius — grid suíço).
   O sólido é o ÚNICO bloco de cor do template; mantém texto branco
   inclusive na paleta preto-total (accent #111 sobre branco). */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:.66rem; letter-spacing:.18em; font-weight:500;
  text-transform:uppercase; padding:1em 2em; border-radius:0;
  border:1px solid transparent; cursor:pointer; transition:.3s var(--ease);
  white-space:nowrap;
}
.btn--solid{ background:var(--accent); color:#fff; }
.btn--solid:hover{ opacity:.88; }
.btn--line{ border-color:var(--hairline); color:var(--ink); }
.btn--line:hover{ border-color:var(--accent); color:var(--accent); }
.btn--lg{ padding:1.2em 2.6em; font-size:.68rem; }

/* Reveal FADE-ONLY: opacidade pura, sem translate (identidade galeria). */
.reveal{ opacity:0; transition:opacity .4s var(--ease); }
.reveal.in{ opacity:1; }

/* ---------- NAV ---------- */
/* Branco puro, hairline inferior SEMPRE visível; .scrolled só adiciona
   uma sombra sutil (a estrutura não muda). */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem var(--pad-x);
  background:var(--bg);
  border-bottom:1px solid var(--hairline);
  transition:box-shadow .3s var(--ease);
}
.nav.scrolled{ box-shadow:0 1px 12px rgba(17,17,17,.06); }
.nav__brand{ display:flex; align-items:center; }
.nav__logo{ height:2rem; width:auto; max-width:180px; object-fit:contain; }
.nav__name{ font-family:var(--sans); font-weight:600; font-size:1.05rem; letter-spacing:.01em; color:var(--ink); }
.nav__links{ display:flex; gap:1.8rem; font-family:var(--mono); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-muted); font-weight:500; }
.nav__links a{ transition:color .3s; }
.nav__links a:hover{ color:var(--accent); }
.nav__cta{ font-size:.6rem; padding:.7em 1.4em; }
/* Burger (menu mobile) — visível só ≤880px, onde os links inline somem. */
.nav__burger{
  display:none; flex-direction:column; align-items:center; justify-content:center; gap:7px;
  width:44px; height:44px; padding:0; background:none; border:0; cursor:pointer;
}
.nav__burger span{ display:block; width:22px; height:1px; background:var(--ink); transition:transform .35s var(--ease); }
.nav--open .nav__burger span:first-child{ transform:translateY(4px) rotate(45deg); }
.nav--open .nav__burger span:last-child{ transform:translateY(-4px) rotate(-45deg); }

/* ---------- HERO — grid suíço 12 colunas ---------- */
.hero{
  padding:calc(4.2rem + 6vh) var(--pad-x) clamp(3rem,8vh,5.5rem);
  border-bottom:1px solid var(--hairline);
}
.hero__grid{
  display:grid; grid-template-columns:repeat(12,1fr);
  gap:clamp(1.6rem,3.5vw,3.2rem); align-items:center;
  max-width:1280px; margin:0 auto;
}
/* GOTCHA (hero-responsive-flex-overflow): filho de grid dimensiona por
   max-content e transborda sem width/min-width explícitos. */
.hero__content{ grid-column:1 / 7; width:100%; min-width:0; }
.hero__figure{ grid-column:7 / 13; width:100%; min-width:0; }
.hero__title{
  font-weight:600; font-size:clamp(2rem,4.5vw,3.4rem);
  line-height:1.08; letter-spacing:-.02em; margin:1.4rem 0 1.2rem;
}
.hero__title span{ display:block; }
.hero__title em{ font-style:italic; font-weight:400; }
.hero__sub{ color:var(--ink-muted); font-size:.98rem; max-width:44ch; margin-bottom:1.8rem; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:.8rem; }
/* Moldura precisa: aspecto fixo, hairline como passe-partout. */
.hero__media{
  aspect-ratio:4/5; overflow:hidden;
  border:1px solid var(--hairline); padding:clamp(.6rem,1.4vw,1.1rem);
  background:var(--bg);
}
.hero__media img{ width:100%; height:100%; object-fit:cover; }
/* Etiqueta mono FORA da moldura (texto nunca sobre pixels). */
.hero__tag{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.14em;
  color:var(--ink-muted); margin-top:.7rem;
}

/* ---------- ABERTURA / STATEMENT ---------- */
.opening{
  padding:clamp(4rem,10vh,7.5rem) var(--pad-x);
  max-width:1280px; margin:0 auto;
  border-bottom:1px solid var(--hairline);
}
.opening__kicker{ margin-bottom:1.6rem; }
/* Coluna de leitura ~8 col do grid: largura contida, sem centralizar. */
.opening__text{
  font-weight:500; font-size:clamp(1.4rem,2.6vw,2rem);
  line-height:1.35; letter-spacing:-.01em; max-width:62rem;
}
.opening__text em{ color:var(--accent); font-style:italic; font-weight:400; }

/* Stats como TABELA suíça: grid com hairlines entre células. */
.stats{
  list-style:none; display:grid; grid-template-columns:repeat(4,1fr);
  margin-top:clamp(2.6rem,6vh,4rem);
  border-top:1px solid var(--hairline);
  border-left:1px solid var(--hairline);
}
.stats li{
  display:flex; flex-direction:column; gap:.45rem;
  padding:1.4rem 1.2rem;
  border-right:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
}
.stats__num{ font-family:var(--mono); font-weight:500; font-size:clamp(1.15rem,2vw,1.5rem); color:var(--ink); }
.stats__lbl{ font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-muted); }

/* ---------- AMBIENTES — accordion hover-expand ---------- */
/* Desktop: tiras flex que expandem no :hover/:focus-within (CSS puro).
   As vizinhas comprimem naturalmente pela redistribuição do flex. */
.acc{
  padding:clamp(3.5rem,9vh,6.5rem) var(--pad-x);
  border-bottom:1px solid var(--hairline);
}
.acc__row{
  display:flex; gap:clamp(.8rem,1.6vw,1.4rem);
  max-width:1280px; margin:0 auto;
}
.acc__item{
  flex:1 1 0; min-width:0;
  transition:flex .45s ease;
  outline:none;
}
.acc__item:hover,
.acc__item:focus-within{ flex:3.2 1 0; }
/* SÓ a imagem vive na media — altura fixa, moldura hairline. */
.acc__media{
  height:70vh; overflow:hidden;
  border:1px solid var(--hairline);
}
.acc__media img{ width:100%; height:100%; object-fit:cover; }
.acc__info{ padding:.9rem .1rem 0; }
.acc__idx{ font-family:var(--mono); font-size:.64rem; letter-spacing:.2em; color:var(--accent); display:block; }
.acc__name{
  font-weight:600; font-size:1.02rem; line-height:1.3;
  letter-spacing:-.01em; margin:.4rem 0 .3rem; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.acc__name em{ font-style:italic; font-weight:400; }
/* O parágrafo SEMPRE existe no DOM; o hover só o revela. */
.acc__info p{
  color:var(--ink-muted); font-size:.88rem; line-height:1.55; max-width:52ch;
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .45s ease, opacity .45s ease;
}
.acc__item:hover .acc__info p,
.acc__item:focus-within .acc__info p{ max-height:14em; opacity:1; }
.acc__item:hover .acc__name,
.acc__item:focus-within .acc__name{ white-space:normal; overflow:visible; }

/* ---------- LAZER — obra principal + masonry (CSS columns) ---------- */
.gal{
  padding:clamp(3.5rem,9vh,6.5rem) var(--pad-x);
  border-bottom:1px solid var(--hairline);
}
.gal__head{ max-width:1280px; margin:0 auto 2.4rem; }
.gal__title{
  font-weight:600; font-size:clamp(1.6rem,3.4vw,2.6rem);
  line-height:1.15; letter-spacing:-.02em; margin-top:1rem; max-width:30ch;
}
.gal__title em{ color:var(--accent); font-style:italic; font-weight:400; }
/* Obra principal: moldura hairline com respiro (passe-partout). */
.gal__hero{ max-width:1280px; margin:0 auto clamp(2rem,5vh,3.2rem); }
.gal__hero .gal__ph{
  aspect-ratio:3/2; overflow:hidden;
  border:1px solid var(--hairline); padding:clamp(.8rem,2vw,1.6rem);
}
.gal__ph img{ width:100%; height:100%; object-fit:cover; }
/* Etiqueta mono numerada — SEMPRE fora do wrapper da foto. */
.gal__tag{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.14em;
  color:var(--ink-muted); margin-top:.7rem;
}
/* Masonry em CSS columns: 2 colunas (3 em telas largas), 1 no mobile. */
.gal__works{ columns:2; column-gap:clamp(1.4rem,3vw,2.4rem); max-width:1280px; margin:0 auto; }
.gal__work{ break-inside:avoid; margin:0 0 clamp(1.6rem,3.5vh,2.4rem); }
.gal__work .gal__ph{
  overflow:hidden; border:1px solid var(--hairline);
  padding:clamp(.5rem,1.2vw,.9rem); aspect-ratio:4/3;
}
/* Alturas alternadas determinísticas (nth-child, nunca rand()): o
   escalonamento do masonry vem do CSS, não do conteúdo. */
.gal__work:nth-child(2n) .gal__ph{ aspect-ratio:3/4; }

/* ---------- OBRA EM DESTAQUE ---------- */
.feature{
  padding:clamp(3.5rem,9vh,6.5rem) var(--pad-x);
  border-bottom:1px solid var(--hairline);
  max-width:1280px; margin:0 auto;
}
/* Imagem centrada em ~7 colunas do grid — MUITO respiro lateral. */
.feature__media{
  width:min(100%, 58.333%); margin:0 auto;
  aspect-ratio:4/3; overflow:hidden;
  border:1px solid var(--hairline); padding:clamp(.6rem,1.4vw,1.1rem);
}
.feature__media img{ width:100%; height:100%; object-fit:cover; }
/* Texto em coluna estreita abaixo, separado por hairline. */
.feature__text{
  max-width:34rem; margin:2.2rem auto 0; padding-top:1.6rem;
  border-top:1px solid var(--hairline);
}
.feature__title{
  font-weight:600; font-size:clamp(1.5rem,3vw,2.2rem);
  line-height:1.15; letter-spacing:-.02em; margin:.8rem 0 1rem;
}
.feature__title em{ font-style:italic; font-weight:400; }
.feature__text p:not(.eyebrow){ color:var(--ink-muted); font-size:.95rem; max-width:52ch; }

/* ---------- FICHA / ENTORNO — tabelas suíças ---------- */
.specs{
  max-width:1100px; margin:0 auto;
  padding:clamp(3.5rem,9vh,6.5rem) var(--pad-x);
}
.specs--entorno{ border-top:1px solid var(--hairline); }
/* Hairline "ativa": o único traço de acento da seção. */
.specs__rule{ width:32px; height:1px; background:var(--accent); margin-bottom:1.4rem; }
.specs__title{
  font-weight:600; font-size:clamp(1.6rem,3.4vw,2.6rem);
  letter-spacing:-.02em; margin:.9rem 0 2.2rem;
}
.specs__lifestyle{ color:var(--ink-muted); font-size:.98rem; max-width:60ch; margin:-1.2rem 0 2.2rem; }
.specs__group{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--accent); font-weight:500;
  margin:2.2rem 0 .6rem;
}
/* Tabela: uma linha por item, hairline por linha, marcador quadrado 8px. */
.specs__list{ list-style:none; border-top:1px solid var(--hairline); }
.specs__list li{
  display:flex; align-items:center; gap:1rem;
  padding:1.05rem .2rem;
  border-bottom:1px solid var(--hairline);
  font-size:.95rem; color:var(--ink);
}
.specs__list li::before{
  content:""; flex:0 0 auto; width:8px; height:8px; background:var(--accent);
}
.specs__list li span:first-of-type{ flex:1 1 auto; min-width:0; }
/* Distância alinhada à direita, em mono (dados = mono). */
.specs__dist{ font-family:var(--mono); font-size:.8rem; color:var(--ink-muted); text-align:right; white-space:nowrap; }

/* ---------- VALORIZAÇÃO ---------- */
.valor{
  max-width:1100px; margin:0 auto;
  padding:clamp(3.5rem,9vh,6.5rem) var(--pad-x);
  border-top:1px solid var(--hairline);
}
.valor__title{
  font-weight:600; font-size:clamp(1.5rem,3vw,2.2rem);
  letter-spacing:-.02em; margin:.9rem 0 1.6rem;
}
.valor__highlight{ display:flex; flex-direction:column; gap:.2rem; margin-bottom:2.2rem; }
.valor__pct{ font-family:var(--mono); font-weight:500; font-size:clamp(2.2rem,5vw,3.6rem); color:var(--accent); line-height:1; }
.valor__pct-lbl{ font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-muted); }
.valor__chart{ display:block; width:100%; max-width:760px; height:auto; margin:0 0 1.6rem; }
.valor__caveat{ color:var(--ink-muted); font-size:.82rem; line-height:1.6; max-width:60ch; }
.valor__comparables{ max-width:820px; margin:3rem 0 0; }
.valor__comparables-title{
  font-family:var(--mono); font-size:.64rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-muted); margin-bottom:1rem; font-weight:500;
}
.valor__comparables-list{ list-style:none; border-top:1px solid var(--hairline); }
.valor__comparables-list li{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:.4rem 1rem;
  padding:1.05rem .2rem; border-bottom:1px solid var(--hairline);
}
.valor__comparable-title{ color:var(--ink); font-size:.95rem; }
.valor__comparable-price{ font-family:var(--mono); font-size:.9rem; color:var(--ink); }
.valor__comparable-src{ margin-left:auto; font-family:var(--mono); font-size:.72rem; color:var(--ink-muted); border-bottom:1px solid var(--hairline); }
.valor__comparable-src:hover{ color:var(--accent); border-color:var(--accent); }

/* ---------- CTA — frame retangular preciso ---------- */
.cta{
  padding:clamp(3.5rem,9vh,6.5rem) var(--pad-x);
  border-top:1px solid var(--hairline);
}
.cta__card{
  max-width:880px; margin:0 auto; text-align:center;
  border:1px solid var(--hairline); border-radius:0;
  padding:clamp(2.4rem,6vw,4.5rem);
  background:var(--bg);
}
.cta__title{
  font-weight:600; font-size:clamp(1.8rem,4.4vw,3rem);
  letter-spacing:-.02em; margin:1rem 0; line-height:1.1;
}
.cta__title em{ font-style:italic; font-weight:400; }
.cta__sub{ color:var(--ink-muted); max-width:46ch; margin:0 auto 1.6rem; font-size:.95rem; }
.cta__price{ font-family:var(--mono); font-weight:500; font-size:clamp(1.2rem,2.6vw,1.7rem); margin-bottom:1.8rem; color:var(--ink); }
.cta__price span{
  display:block; font-family:var(--mono); font-size:.62rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-muted); margin-bottom:.4rem;
}
.cta__actions{ display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; }

/* ---------- LEAD FORM ---------- */
.lead-form{ margin-top:2.2rem; padding-top:2rem; border-top:1px solid var(--hairline); display:flex; flex-direction:column; gap:1rem; text-align:left; }
.lead-form__eyebrow{ text-align:center; margin-bottom:.4rem; }
.lead-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.lead-form__field{ display:flex; flex-direction:column; gap:.4rem; }
.lead-form__label{ font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-muted); font-weight:500; }
.lead-form__input{
  width:100%; font-family:var(--sans); font-size:1rem; line-height:1.6; color:var(--ink);
  background:var(--bg); border:1px solid var(--hairline); border-radius:0; padding:.8em 1em;
  transition:border-color .3s var(--ease);
}
.lead-form__input:focus{ outline:none; border-color:var(--accent); }
.lead-form__input::placeholder{ color:var(--ink-muted); }
.lead-form__consent{ display:flex; gap:.7rem; align-items:flex-start; font-size:.82rem; line-height:1.6; color:var(--ink-muted); }
.lead-form__consent input{ margin-top:.25rem; accent-color:var(--accent); flex:0 0 auto; }
.lead-form__consent a{ color:var(--accent); text-decoration:underline; }
.lead-error{ color:var(--accent); font-size:.88rem; line-height:1.6; min-height:1.2em; margin:0; }
.lead-form__submit{ align-self:center; }
.lead-form__submit[data-loading]{ opacity:.6; cursor:progress; }
.lead-ok{ margin-top:2.2rem; padding-top:2rem; border-top:1px solid var(--accent); color:var(--ink-muted); font-size:.95rem; line-height:1.6; }

/* ---------- LEAD QUIZ (2 passos) ---------- */
.lead-quiz__progress{ text-align:center; font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-muted); font-weight:500; margin:0; }
.lead-quiz__step{ border:0; margin:0; padding:0; min-width:0; display:flex; flex-direction:column; gap:1rem; }
.lead-quiz__step[hidden]{ display:none; }
.lead-quiz__legend{ font-family:var(--mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-muted); font-weight:500; padding:0; }
.lead-quiz__options{ display:flex; flex-direction:column; gap:.6rem; }
.lead-quiz__options--inline{ flex-flow:row wrap; }
.lead-quiz__option{
  display:flex; align-items:center; gap:.7rem; padding:.85em 1em;
  background:var(--bg); border:1px solid var(--hairline); border-radius:0;
  cursor:pointer; color:var(--ink); transition:border-color .3s var(--ease);
}
.lead-quiz__option:hover{ border-color:var(--accent); }
.lead-quiz__option:has(input:checked){ border-color:var(--accent); }
.lead-quiz__option input{ accent-color:var(--accent); flex:0 0 auto; }
.lead-quiz__nav{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }

/* ---------- FOOTER — uma linha mono, hairline no topo ---------- */
.foot{
  display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center;
  padding:1.8rem var(--pad-x); border-top:1px solid var(--hairline);
  font-family:var(--mono); font-size:.7rem; color:var(--ink-muted); letter-spacing:.04em;
}
.foot__brand{ font-family:var(--sans); font-weight:600; font-size:.85rem; color:var(--ink); }

/* ---------- RESPONSIVO ---------- */
@media (max-width:880px){
  /* Menu mobile: burger + painel dropdown branco com hairlines. */
  .nav__burger{ display:flex; }
  .nav__links{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:0;
    padding:.2rem var(--pad-x) 1.4rem;
    background:var(--bg); border-bottom:1px solid var(--hairline);
    opacity:0; visibility:hidden; transform:translateY(-8px);
    transition:.35s var(--ease);
  }
  .nav__links a{ padding:1rem 0; }
  .nav__links a + a{ border-top:1px solid var(--hairline); }
  .nav--open .nav__links{ opacity:1; visibility:visible; transform:none; }
  .nav__cta{ display:none; }

  /* Hero empilha: texto acima, obra abaixo. */
  .hero__grid{ grid-template-columns:1fr; }
  .hero__content{ grid-column:auto; }
  .hero__figure{ grid-column:auto; }
  .hero__media{ aspect-ratio:4/5; }

  .stats{ grid-template-columns:repeat(2,1fr); }

  /* Ambientes: tiras viram cards horizontais snapáveis (CSS puro);
     info sempre visível — sem hover no touch. */
  .acc__row{
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding-bottom:.6rem;
  }
  .acc__item{ flex:0 0 84vw; scroll-snap-align:start; }
  .acc__item:hover,
  .acc__item:focus-within{ flex:0 0 84vw; }
  .acc__media{ height:52vh; }
  .acc__name{ white-space:normal; overflow:visible; }
  .acc__info p{ max-height:none; opacity:1; }

  .gal__works{ columns:1; }
  .gal__work .gal__ph{ aspect-ratio:4/3; }
  .gal__work:nth-child(2n) .gal__ph{ aspect-ratio:4/3; }

  .feature__media{ width:100%; aspect-ratio:3/2; }
}
@media (min-width:1440px){
  .gal__works{ columns:3; }
}
@media (max-width:520px){
  .cta__actions .btn{ flex:1 1 100%; }
}

/* ---------- REDUCED MOTION ----------
   Neutraliza TODA transição/animação; reveals ficam visíveis; o accordion
   perde a transição de flex (o hover ainda expande, instantâneo — ok). */
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; }
}

/* ---------- FAQ + GALERIA ---------- */
.faq{padding:7rem var(--pad-x);border-top:1px solid var(--hairline)}.faq__head{max-width:42rem;margin:0 auto 2.5rem;text-align:center}.faq__title{font:600 clamp(2.3rem,4vw,4.2rem)/1 var(--sans)}.faq__head>p:last-child{color:var(--ink-muted);margin-top:.8rem}.faq__list{max-width:52rem;margin:auto}.faq__item{border:1px solid var(--hairline);margin-top:-1px;background:var(--bg)}.faq__item summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;padding:1.15rem 1.3rem;font-family:var(--mono);font-size:.78rem;text-transform:uppercase}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary span{color:var(--accent);font-size:1.2rem}.faq__item>div{border-top:1px solid var(--hairline);color:var(--ink-muted);padding:1rem 1.3rem 1.3rem}.faq__item ul{padding-left:1.2rem}.faq__item a{color:var(--accent);text-decoration:underline}.gallery__trigger{display:block;width:100%;height:100%;border:0;background:transparent;cursor:zoom-in}.gallery__trigger:focus-visible,.faq__item summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.whatsapp-float{position:fixed;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:200;display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:#25d366;color:#102018;box-shadow:0 10px 28px rgba(17,17,17,.3)}.whatsapp-float svg{width:2rem}.lightbox-open{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:4.5rem 5.5rem;background:rgba(17,17,17,.96)}.lightbox[hidden]{display:none}.lightbox__figure{max-width:min(100%,80rem);max-height:calc(100vh - 9rem);border:8px solid var(--bg);outline:1px solid var(--accent)}.lightbox__image{max-height:calc(100vh - 12rem);object-fit:contain}.lightbox__caption,.lightbox__count{color:var(--bg);text-align:center;margin-top:.8rem;font-family:var(--mono);font-size:.7rem}.lightbox__close,.lightbox__nav{position:absolute;border:1px solid var(--bg);border-radius:0;background:var(--accent);color:var(--bg);cursor:pointer}.lightbox__close{top:1.2rem;right:1.2rem;width:2.8rem;height:2.8rem;font-size:2rem}.lightbox__nav{top:50%;width:3rem;height:3rem;font-size:2rem}.lightbox__nav--prev{left:1.2rem}.lightbox__nav--next{right:1.2rem}.lightbox__count{position:absolute;bottom:1rem;left:0;right:0}@media(max-width:600px){.lightbox{padding:4.5rem 1rem}.lightbox__nav{top:auto;bottom:1rem}.lightbox__nav--prev{left:calc(50% - 4rem)}.lightbox__nav--next{right:calc(50% - 4rem)}}
