/* Naur Madeiras · site institucional
   Estrutura e motion medidos na referência Kononenko (ver ../ref-motion/MOTION_INVENTORY.md).
   Unidade: --u = 1/1920 da largura no desktop, 1/375 no mobile (como a referência). */

:root {
  --bg: #ffffff;
  --ink: #000000;
  --gr: #eeeeee;
  --gr2: #e2e2e2;
  --gr3: #707070;
  --dim: #3a3a3a;

  --u: calc(100vw / 1920);
  --pad: calc(var(--u) * 24);
  --sans: "Inter Tight", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  --serif: "Newsreader", "Times New Roman", Georgia, serif;

  --fs-xs: max(11px, calc(var(--u) * 14));
  --fs-s: max(12px, calc(var(--u) * 16));
  --fs-m: max(20px, calc(var(--u) * 40));
  --fs-serif-m: max(19px, calc(var(--u) * 36));
  --fs-hero: calc(var(--u) * 80);
  --fs-xl: calc(var(--u) * 80);
  --fs-xxl: calc(var(--u) * 118);
  --fs-step: calc(var(--u) * 80);

  --ease: cubic-bezier(0.17, 0.84, 0.44, 1);
}

@media (max-width: 767px) {
  :root {
    --u: calc(100vw / 375);
    --pad: calc(var(--u) * 14);
    --fs-xs: 11px;
    --fs-s: 12px;
    --fs-m: calc(var(--u) * 24);
    --fs-serif-m: calc(var(--u) * 19);
    --fs-hero: calc(var(--u) * 34);
    --fs-xl: calc(var(--u) * 30);
    --fs-xxl: calc(var(--u) * 44);
    --fs-step: calc(var(--u) * 40);
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-size: var(--fs-s);
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
::selection { background: var(--ink); color: var(--bg); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.label {
  font-family: var(--serif); font-weight: 400; margin: 0;
  font-size: var(--fs-xs);
  line-height: 1.2;
}
.gray { color: var(--gr3); }
.ln-mask { padding: 0.16em 0 0.08em; margin: -0.16em 0 -0.08em; } /* máscara de linha não corta acento nem descendente */

/* ---------- Header (mix-blend difference: preto no branco, branco na foto) ---------- */
.hdr {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: var(--pad);
  color: #fff;
  mix-blend-mode: difference;
  pointer-events: none;
}
.hdr a { pointer-events: auto; }
.hdr__logo img { width: max(96px, calc(var(--u) * 150)); height: auto; }
.hdr__nav { display: flex; gap: 0.35em; font-size: var(--fs-s); }
.hdr__nav a { position: relative; display: inline-block; padding: 6px 0; }
.hdr__nav a::after {
  content: ""; position: absolute; left: 0; right: 0.45em; bottom: 4px; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: left;
  transition: transform 0.5s var(--ease);
}
.hdr__nav a:last-child::after { right: 0; }
.hdr__nav a:hover::after, .hdr__nav a.is-on::after { transform: scaleX(1); }

/* ---------- Preloader ---------- */
.pre {
  position: fixed; inset: 0; z-index: 100; background: #fff; color: #000;
}
.pre__bar {
  position: absolute; left: 0; top: 0; height: 2px; width: 100%;
  background: #000; transform: scaleX(0); transform-origin: left;
}
.pre__num {
  position: absolute; left: var(--pad); bottom: calc(var(--pad) * 0.6);
  font-size: var(--fs-m); line-height: 1; font-variant-numeric: tabular-nums;
}
.no-js .pre, .reduced .pre { display: none; }

/* ---------- Hero ---------- */
.hero {
  position: sticky; top: 0; z-index: 0;
  height: 100vh; height: 100svh; overflow: hidden; background: #000;
}
.hero__media { position: absolute; inset: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; transform-origin: 50% 70%; }
.hero__shade {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0) 42%);
}
.hero__veil { position: absolute; inset: 0; background: #fff; opacity: 0; pointer-events: none; }
.hero__title {
  position: absolute; left: var(--pad); bottom: calc(var(--pad) * 0.9);
  color: #fff; font-weight: 400;
  font-size: var(--fs-hero); line-height: 0.92; letter-spacing: -0.035em;
}

.page { position: relative; z-index: 2; background: var(--bg); }

/* ---------- Intro (título central grotesco) ---------- */
.intro {
  padding: calc(var(--u) * 190) var(--pad) calc(var(--u) * 130);
  text-align: center;
}
.intro__title {
  font-weight: 400; font-size: var(--fs-xxl); line-height: 0.94; letter-spacing: -0.04em;
}
.intro__cols {
  display: grid; grid-template-columns: repeat(2, minmax(0, calc(var(--u) * 300)));
  justify-content: center; gap: calc(var(--u) * 110);
  margin-top: calc(var(--u) * 40);
  text-align: left; color: var(--gr3); font-size: var(--fs-xs); line-height: 1.25;
}

/* ---------- Foto larga com parallax ---------- */
.wide { position: relative; height: calc(var(--u) * 940); overflow: hidden; }
.wide img { position: absolute; left: 0; top: -12%; width: 100%; height: 124%; object-fit: cover; }

/* ---------- Ficha + parágrafo ---------- */
.info {
  display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad);
  padding: calc(var(--u) * 200) var(--pad) calc(var(--u) * 120);
}
.info__meta { grid-column: 1 / 5; display: grid; gap: calc(var(--u) * 14); align-content: start; font-size: var(--fs-xs); }
.info__meta div { display: grid; grid-template-columns: calc(var(--u) * 92) 1fr; gap: var(--pad); }
.info__meta dt { font-family: var(--serif); }
.info__meta dd { max-width: 22em; }
.info__lead {
  grid-column: 5 / 13; font-family: var(--serif);
  font-size: var(--fs-serif-m); line-height: 1.08; letter-spacing: -0.012em;
}
.info__lists {
  grid-column: 1 / 13; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad);
  margin-top: calc(var(--u) * 150); font-size: var(--fs-xs);
}
.info__lists h3 { font-family: var(--serif); font-weight: 400; font-size: var(--fs-xs); }
.info__lists > :nth-child(1) { grid-column: 1 / 4; }
.info__lists > :nth-child(2) { grid-column: 4 / 6; }
.info__lists > :nth-child(3) { grid-column: 6 / 9; }
.info__lists > :nth-child(4) { grid-column: 9 / 10; }
.info__lists > :nth-child(5) { grid-column: 10 / 13; }
.info__lists li { margin-bottom: 0.55em; }
.info__lists li span { display: block; color: var(--gr3); }

/* ---------- Declaração serifada ---------- */
.state { padding: calc(var(--u) * 40) var(--pad) calc(var(--u) * 110); }
.state__text {
  font-family: var(--serif); font-size: var(--fs-xl); line-height: 0.98; letter-spacing: -0.03em;
  text-indent: calc(var(--u) * 260);
}

/* ---------- Tabela de serviços ---------- */
.svc {
  display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad);
  padding: 0 var(--pad) calc(var(--u) * 260);
}
.svc > .label { grid-column: 3 / 5; }
.svc__list { grid-column: 5 / 10; border-top: 1px solid var(--gr2); font-size: var(--fs-xs); }
.svc__list a {
  display: grid; grid-template-columns: 1.15fr 0.7fr 1.6fr auto; gap: var(--pad);
  padding: calc(var(--u) * 11) calc(var(--u) * 6);
  border-bottom: 1px solid var(--gr2);
  transition: background-color 0.25s, color 0.25s;
}
.svc__list a span:nth-child(2), .svc__list a span:nth-child(3) { color: var(--gr3); transition: color 0.25s; }
.svc__list a:hover { background: #000; color: #fff; }
.svc__list a:hover span { color: #fff; }

/* ---------- Seções de risco (shader) ---------- */
.sketch { position: relative; }
.sketch__pin {
  position: relative; height: 100vh; height: 100svh; overflow: hidden;
  display: grid; place-items: center;
}
.sketch__title {
  position: absolute; left: 0; right: 0; top: 9vh; z-index: 2; text-align: center;
  font-weight: 400; font-size: var(--fs-m); line-height: 0.95; letter-spacing: -0.03em;
}
.sketch__stage {
  position: absolute; left: 50%; top: 61%;
  width: min(62vw, 88vh); aspect-ratio: 4 / 3;
  transform: translate(-50%, -50%);
}
.sketch__stage--tall { width: min(46vw, 48vh); aspect-ratio: 3 / 4; top: 61%; }
.sketch__gl, .sketch__fallback { position: absolute; inset: 0; width: 100%; height: 100%; }
.sketch__fallback { object-fit: cover; filter: grayscale(1) contrast(1.15); }
.sketch.has-gl .sketch__fallback { display: none; }
.sketch__hint {
  position: absolute; left: var(--pad); bottom: var(--pad);
  font-family: var(--serif); font-size: var(--fs-xs); color: var(--gr3);
}
.sketch__gl { cursor: crosshair; }

.txt { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad); padding: calc(var(--u) * 40) var(--pad) calc(var(--u) * 170); }
.txt__big {
  grid-column: 1 / 13; font-family: var(--serif); font-size: var(--fs-xl);
  line-height: 0.98; letter-spacing: -0.03em; text-indent: calc(var(--u) * 180);
}
.txt__side { grid-column: 1 / 13; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad); margin-top: calc(var(--u) * 80); }
.txt__side .label { grid-column: 1 / 4; }
.txt__side p { grid-column: 7 / 13; font-family: var(--serif); font-size: var(--fs-serif-m); line-height: 1.08; letter-spacing: -0.012em; }
.txt__side--left p { grid-column: 1 / 6; text-indent: calc(var(--u) * 180); }
.txt__notes { grid-column: 6 / 13; display: grid; grid-template-columns: repeat(7, 1fr); column-gap: var(--pad); margin-top: calc(var(--u) * 60); font-size: var(--fs-xs); }
.txt__notes .label { grid-column: 1 / 3; text-align: right; }
.txt__notes ul { grid-column: 3 / 8; }
.txt__notes li { margin-bottom: 0.55em; }
.txt__notes li span { display: block; color: var(--gr3); }

/* ---------- Obras ---------- */
.works { padding: calc(var(--u) * 60) var(--pad) calc(var(--u) * 160); }
.works__title { font-weight: 400; font-size: var(--fs-m); line-height: 0.95; letter-spacing: -0.03em; margin-bottom: calc(var(--u) * 40); }
.works__title sup { font-size: 0.42em; vertical-align: top; position: relative; top: 0.2em; letter-spacing: 0; }
.works__grid { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad); row-gap: calc(var(--u) * 120); align-items: start; }
.work { position: relative; transition: opacity 0.6s var(--ease); will-change: transform; }
.work__img { position: relative; overflow: hidden; background: var(--gr); }
.work__img img { width: 100%; height: 100%; object-fit: cover; }
.work figcaption { display: flex; justify-content: space-between; gap: var(--pad); margin-top: 0.7em; font-size: var(--fs-xs); }
.work figcaption span:last-child { color: var(--gr3); }
@media (hover: hover) { .works__grid:has(.work:hover) .work:not(:hover) { opacity: 0.12; } }

.w1 { grid-column: 1 / 7; } .w1 .work__img { aspect-ratio: 3 / 2; }
.w2 { grid-column: 8 / 13; margin-top: calc(var(--u) * 140); } .w2 .work__img { aspect-ratio: 4 / 3; }
.w3 { grid-column: 1 / 4; margin-top: calc(var(--u) * 160); } .w3 .work__img { aspect-ratio: 3 / 4; }
.w4 { grid-column: 5 / 8; } .w4 .work__img { aspect-ratio: 3 / 4; }
.w5 { grid-column: 9 / 12; margin-top: calc(var(--u) * 320); } .w5 .work__img { aspect-ratio: 3 / 4; }
.w6 { grid-column: 2 / 8; margin-top: calc(var(--u) * 40); } .w6 .work__img { aspect-ratio: 16 / 9; }
.w7 { grid-column: 9 / 12; margin-top: calc(var(--u) * 200); } .w7 .work__img { aspect-ratio: 3 / 4; }
.w8 { grid-column: 1 / 4; margin-top: calc(var(--u) * 60); } .w8 .work__img { aspect-ratio: 3 / 4; }
.w9 { grid-column: 5 / 12; margin-top: calc(var(--u) * 200); } .w9 .work__img { aspect-ratio: 4 / 3; }
.w10 { grid-column: 1 / 6; margin-top: calc(var(--u) * 40); } .w10 .work__img { aspect-ratio: 16 / 9; }
.w11 { grid-column: 8 / 11; margin-top: calc(var(--u) * 180); } .w11 .work__img { aspect-ratio: 3 / 4; }
.w12 { grid-column: 2 / 5; margin-top: calc(var(--u) * 60); } .w12 .work__img { aspect-ratio: 3 / 4; }
.w13 { grid-column: 7 / 10; margin-top: calc(var(--u) * 220); } .w13 .work__img { aspect-ratio: 3 / 4; }
.w14 { grid-column: 10 / 13; margin-top: calc(var(--u) * 40); } .w14 .work__img { aspect-ratio: 3 / 4; }
.works__all { display: block; width: max-content; margin: calc(var(--u) * 120) auto 0; font-size: var(--fs-xs); border-bottom: 1px solid currentColor; }

/* ---------- Raios ---------- */
.rays { position: relative; background: #fff; color: #000; }
.rays__pin { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.rays__wheel { position: absolute; left: 50%; top: 50%; width: 0; height: 0; }
.ray {
  position: absolute; left: 0; top: 0; height: 1px; width: calc(var(--len) * 1px);
  transform-origin: 0 50%;
  transform: rotate(var(--rot));
}
.ray__line { display: block; width: 100%; height: 1px; background: currentColor; opacity: 0.22; transform-origin: 0 50%; }
.ray__n {
  position: absolute; font-style: normal; right: -2.4em; top: -0.6em; font-size: var(--fs-xs);
  transform: rotate(calc(var(--rot) * -1));
}
.rays__t {
  position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%);
  text-align: center; font-weight: 400; font-size: var(--fs-m); line-height: 0.95; letter-spacing: -0.03em;
}
.rays__t--b { opacity: 0; }

/* ---------- Anel de fotos (preto) ---------- */
.ring { position: relative; background: #000; color: #fff; --gr3: #a3a3a3; }
.ring__pin { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.ring__intro { position: absolute; left: var(--pad); top: 24vh; right: var(--pad); display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad); z-index: 3; }
.ring__intro .label { grid-column: 1 / 2; padding-top: 0.6em; }
.ring__lead {
  grid-column: 2 / 9; font-family: var(--serif); font-size: var(--fs-xl);
  line-height: 0.98; letter-spacing: -0.03em; text-indent: calc(var(--u) * 100);
}
.ring__wheel { position: absolute; left: 0; top: 0; width: 0; height: 0; z-index: 1; }
.ring__item {
  position: absolute; left: 0; top: 0;
  width: calc(var(--u) * 118); aspect-ratio: 3 / 4;
  transform: translate(-50%, -50%) rotate(var(--a)) translateY(calc(var(--r) * -1)) rotate(var(--t)) scale(var(--s));
  will-change: transform;
}
.ring__item img { width: 100%; height: 100%; object-fit: cover; }
.ring__center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; z-index: 2; opacity: 0; }
.ring__center h2 { font-weight: 400; font-size: var(--fs-m); line-height: 0.95; letter-spacing: -0.03em; }
.ring__center p { color: var(--gr3); font-size: var(--fs-xs); max-width: 18em; text-align: center; line-height: 1.25; }
.ring__cols { display: flex; gap: calc(var(--u) * 60); justify-content: center; margin-top: calc(var(--u) * 26); }
.ring__steps { position: absolute; left: 54vw; top: 50%; z-index: 2; }
.ring__step { display: block; margin-bottom: calc(var(--u) * 60); opacity: 0; }
.ring__step b { display: block; font-weight: 400; font-size: var(--fs-step); line-height: 0.9; letter-spacing: -0.04em; }
.ring__step span { display: block; font-family: var(--serif); font-size: calc(var(--fs-step) * 0.62); line-height: 0.95; letter-spacing: -0.03em; padding-left: 1.6em; }

/* ---------- Carpintaria Boutique ---------- */
.boutique { --gr3: #a3a3a3; position: relative; background: #000; color: #fff; text-align: center; padding: calc(var(--u) * 260) var(--pad) calc(var(--u) * 280); overflow: hidden; }
.boutique .label { color: var(--gr3); display: block; margin-bottom: calc(var(--u) * 40); }
.boutique__t { font-family: var(--serif); font-weight: 400; font-size: calc(var(--fs-xl) * 1.45); line-height: 0.92; letter-spacing: -0.035em; }
.boutique p { max-width: 30em; margin: calc(var(--u) * 50) auto 0; font-size: var(--fs-xs); color: var(--gr3); line-height: 1.3; }
.link-u { display: inline-block; margin-top: calc(var(--u) * 30); font-size: var(--fs-xs); border-bottom: 1px solid currentColor; }

/* ---------- Perguntas frequentes ---------- */
.faq { --gr3: #a3a3a3; background: #000; color: #fff; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad); padding: 0 var(--pad) calc(var(--u) * 200); }
.faq > .label { grid-column: 1 / 3; color: var(--gr3); padding-top: 0.9em; }
.faq__list { grid-column: 4 / 11; border-top: 1px solid #2a2a2a; }
.faq__item { border-bottom: 1px solid #2a2a2a; }
.faq__item summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--pad);
  padding: calc(var(--u) * 22) 0; min-height: 44px;
  font-family: var(--serif); font-size: var(--fs-serif-m); line-height: 1.1; letter-spacing: -0.012em;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary i { position: relative; flex: none; width: 14px; height: 14px; }
.faq__item summary i::before, .faq__item summary i::after { content: ""; position: absolute; left: 0; top: 6.5px; width: 14px; height: 1px; background: currentColor; transition: transform 0.5s var(--ease); }
.faq__item summary i::after { transform: rotate(90deg); }
.faq__item[open] summary i::after { transform: rotate(0deg); }
.faq__item summary:hover { color: var(--gr3); }
.faq__item p { max-width: 36em; padding: 0 0 calc(var(--u) * 28); color: var(--gr3); font-size: var(--fs-s); line-height: 1.4; }

/* ---------- Contato + rodapé ---------- */
.contact { --gr3: #a3a3a3; background: #000; color: #fff; padding: calc(var(--u) * 60) var(--pad) calc(var(--u) * 220); display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad); }
.contact .label { grid-column: 1 / 2; color: var(--gr3); padding-top: 0.6em; }
.contact__t { grid-column: 2 / 10; font-family: var(--serif); font-size: var(--fs-xl); line-height: 0.98; letter-spacing: -0.03em; text-indent: calc(var(--u) * 100); }
.contact__links { grid-column: 2 / 10; display: flex; flex-wrap: wrap; gap: calc(var(--u) * 50); margin-top: calc(var(--u) * 50); font-size: var(--fs-s); }
.contact__links a { border-bottom: 1px solid currentColor; }

.ftr { --gr3: #a3a3a3; position: relative; z-index: 2; background: #000; color: #fff; padding: 0 var(--pad) calc(var(--pad) * 0.8); overflow: hidden; }
.ftr__cols { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--pad); font-size: var(--fs-xs); line-height: 1.3; }
.ftr__cols > div { display: flex; flex-direction: column; }
.ftr__h { font-family: var(--serif); }
.ftr__brand { grid-column: 1 / 4; }
.ftr__c1 { grid-column: 4 / 6; } .ftr__c2 { grid-column: 6 / 8; } .ftr__c3 { grid-column: 8 / 10; } .ftr__c4 { grid-column: 10 / 13; }
.ftr__cols a { display: inline-block; min-height: 24px; padding: 3px 0; }
.ftr__cols a:hover { color: var(--gr3); }
.ftr__c3 { font-style: normal; }
.ftr__logo { margin: calc(var(--u) * 160) 0 calc(var(--u) * 30); overflow: hidden; }
.ftr__logo img { width: 100%; height: auto; }
.ftr__base { display: flex; justify-content: space-between; gap: var(--pad); font-family: var(--serif); font-size: var(--fs-xs); color: var(--gr3); }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .hdr__logo img { width: 84px; }
  .hdr__nav { font-size: 11px; gap: 0.3em; }
  .intro { padding-top: calc(var(--u) * 110); padding-bottom: calc(var(--u) * 80); }
  .info { padding-top: calc(var(--u) * 90); }
  .svc { padding-bottom: calc(var(--u) * 120); }
  .boutique { padding: calc(var(--u) * 120) var(--pad) calc(var(--u) * 130); }
  .boutique__t { font-size: calc(var(--fs-xl) * 1.35); }
  .intro__cols { grid-template-columns: 1fr 1fr; gap: calc(var(--u) * 20); }
  .wide { height: 62vh; }
  .info__meta, .info__lead, .info__lists { grid-column: 1 / 13; }
  .info__lead { margin-top: calc(var(--u) * 40); }
  .info__lists { grid-template-columns: 1fr 1fr; row-gap: 1.4em; }
  .info__lists > * { grid-column: auto !important; }
  .state__text, .txt__big { text-indent: calc(var(--u) * 50); }
  .svc > .label, .svc__list { grid-column: 1 / 13; }
  .svc > .label { margin-bottom: 1em; }
  .svc__list a { grid-template-columns: 1fr auto; }
  .svc__list a span:nth-child(2), .svc__list a span:nth-child(3) { display: none; }
  .sketch__stage, .sketch__stage--tall { width: 86vw; }
  .txt__side .label, .txt__side p, .txt__side--left p, .txt__notes, .txt__notes .label, .txt__notes ul { grid-column: 1 / 13; text-align: left; }
  .txt__side p { margin-top: 1em; }
  .works__grid { row-gap: calc(var(--u) * 50); }
  .work { grid-column: 1 / 10 !important; margin-top: 0 !important; }
  .work:nth-child(even) { grid-column: 4 / 13 !important; }
  .ring__intro .label { grid-column: 1 / 13; }
  .ring__lead { grid-column: 1 / 13; text-indent: calc(var(--u) * 50); margin-top: 0.6em; }
  .ring__item { width: calc(var(--u) * 54); }
  .ring__steps { left: auto; right: var(--pad); }
  .ring__cols { flex-direction: column; align-items: center; gap: 0.6em; }
  .contact .label, .contact__t, .contact__links { grid-column: 1 / 13; }
  .faq > .label, .faq__list { grid-column: 1 / 13; }
  .faq > .label { margin-bottom: 1em; }
  .contact__t { margin-top: 0.5em; text-indent: calc(var(--u) * 50); }
  .ftr__cols { row-gap: 1.6em; }
  .ftr__brand { grid-column: 1 / 13; }
  .ftr__c1, .ftr__c3 { grid-column: 1 / 7; } .ftr__c2, .ftr__c4 { grid-column: 7 / 13; }
  .ftr__base { flex-wrap: wrap; }
}

/* ---------- Sem motion: tudo visível, sem pins ---------- */
.reduced .hero { position: relative; }
.reduced .ring__center, .reduced .ring__step, .reduced .rays__t--b { opacity: 1; }
.reduced .rays__t--b { display: none; }
.reduced .ring__wheel { display: none; }
.reduced .ring__pin, .reduced .rays__pin, .reduced .sketch__pin { height: auto; min-height: 0; padding: calc(var(--u) * 140) var(--pad); }
.reduced .ring__intro, .reduced .ring__center, .reduced .ring__steps, .reduced .rays__t, .reduced .sketch__title, .reduced .sketch__stage { position: relative; inset: auto; left: auto; top: auto; transform: none; margin: 0 auto 2em; }
.reduced .rays__wheel { display: none; }
@media (prefers-reduced-motion: reduce) {
  .work, .svc__list a, .hdr__nav a::after { transition: none; }
}

/* ---------- Aviso de cookies (só aparece com o GA4 ligado) ---------- */
.consent {
  position: fixed; left: var(--pad); bottom: var(--pad); z-index: 60;
  max-width: 360px; padding: 16px 18px; background: #000; color: #fff;
  font-size: var(--fs-xs); line-height: 1.35;
}
.consent p { color: #c9c9c9; }
.consent__actions { display: flex; gap: 18px; margin-top: 12px; }
.consent button {
  font: inherit; color: #fff; background: none; border: 0; padding: 6px 0; min-height: 24px;
  border-bottom: 1px solid currentColor; cursor: pointer;
}
.consent button[data-c="recusado"] { color: #a3a3a3; }
@media (max-width: 767px) { .consent { right: var(--pad); max-width: none; } }
