/* =====================================================================
   Ukêria Produções — Site V1
   Identidade: referencia/UKERIA - BRANDBOOK.pdf
   Cores: só os 18 hex oficiais. Fontes: Raleway (corpo/subtítulo) e
   Quatera Italic (destaques). Unbounded é exclusiva do logotipo (SVG).
   ===================================================================== */

/* ---------- fontes (self-host) ---------- */
@font-face{font-family:"Raleway";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/Raleway-Regular.ttf") format("truetype");}
@font-face{font-family:"Raleway";font-weight:600;font-style:normal;font-display:swap;src:url("../fonts/Raleway-SemiBold.ttf") format("truetype");}
@font-face{font-family:"Raleway";font-weight:700;font-style:normal;font-display:swap;src:url("../fonts/Raleway-Bold.ttf") format("truetype");}
@font-face{font-family:"Quatera";font-weight:400;font-style:italic;font-display:swap;src:url("../fonts/Quatera-Italic.otf") format("opentype");}

/* ---------- tokens: paleta oficial ---------- */
:root{
  --branco:#ffffff;
  --bege-01:#ded0c4;
  --bege-02:#c0a58e;
  --bege-03:#a88363;
  --preto-ukeria:#141414;
  --verde-01:#b3b48e;
  --verde-02:#999a67;
  --verde-03:#7b7b52;
  --verde-04:#626242;
  --verde-05:#3e3e2a;
  --laranja-01:#ffb387;
  --laranja-02:#ff8139;
  --laranja-03:#fa5b00;
  --laranja-04:#c84900;
  --amarelo-01:#f4f7c1;
  --amarelo-02:#e7ec74;
  --amarelo-03:#dce436;
  --amarelo-04:#bfc71b;

  --sans:"Raleway", system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif:"Quatera", Georgia, "Times New Roman", serif;

  --nav-h:72px;
  --radius:18px;
  --container:min(1180px, 100% - 40px);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;}
html{scroll-behavior:smooth; scroll-padding-top:var(--nav-h);}
body{
  font-family:var(--sans); font-weight:400; font-size:1.0625rem; line-height:1.7;
  background:var(--preto-ukeria); color:var(--preto-ukeria);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img,svg,video{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
button,input,select,textarea{font:inherit; color:inherit;}
ul{list-style:none; padding:0;}
.container{width:var(--container); margin-inline:auto;}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

/* ---------- temas de seção (fundos sempre chapados) ---------- */
.bg-bege-01{--bg:var(--bege-01); --fg:var(--preto-ukeria); --fg-soft:var(--verde-05); --line:var(--preto-ukeria); --accent:var(--preto-ukeria); --focus:var(--laranja-03);}
.bg-bege-03{--bg:var(--bege-03); --fg:var(--preto-ukeria); --fg-soft:var(--preto-ukeria); --line:var(--preto-ukeria); --accent:var(--preto-ukeria); --focus:var(--preto-ukeria);}
.bg-amarelo-03{--bg:var(--amarelo-03); --fg:var(--preto-ukeria); --fg-soft:var(--preto-ukeria); --line:var(--preto-ukeria); --accent:var(--preto-ukeria); --focus:var(--preto-ukeria);}
.bg-verde-05{--bg:var(--verde-05); --fg:var(--bege-01); --fg-soft:var(--bege-02); --line:var(--bege-01); --accent:var(--amarelo-03); --focus:var(--amarelo-03);}
.bg-preto{--bg:var(--preto-ukeria); --fg:var(--bege-01); --fg-soft:var(--bege-02); --line:var(--bege-01); --accent:var(--amarelo-03); --focus:var(--amarelo-03);}
[class*="bg-"]{background:var(--bg); color:var(--fg);}

:focus-visible{outline:3px solid var(--focus, var(--laranja-03)); outline-offset:3px; border-radius:4px;}

/* ---------- tipografia ---------- */
h1,h2,h3,h4{font-family:var(--sans); font-weight:700; line-height:1.08; letter-spacing:-.015em;}
h1{font-size:clamp(2.3rem, 5vw, 4.2rem);}
h2{font-size:clamp(2rem, 4.4vw, 3.4rem);}
h3{font-size:clamp(1.25rem, 2vw, 1.6rem); line-height:1.2;}
/* destaque de palavra/frase: Quatera Italic misturada com Raleway */
.q{font-family:var(--serif); font-style:italic; font-weight:400; font-size:1.1em; letter-spacing:0;}
.lead{font-size:clamp(1.1rem, 1.6vw, 1.3rem); line-height:1.6;}
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-weight:600; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent);
  margin-bottom:18px;
}
.eyebrow::before{content:""; flex:none; width:8px; height:8px; border-radius:50%; background:var(--laranja-03);}
.prose p + p{margin-top:1.1em;}
.pull{font-family:var(--serif); font-style:italic; font-size:clamp(1.5rem, 2.8vw, 2.2rem); line-height:1.25;}

/* ---------- botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--sans); font-weight:700; font-size:.95rem; line-height:1.2;
  padding:14px 26px; border-radius:999px; border:2px solid transparent; cursor:pointer;
  transition:background .2s, color .2s, border-color .2s, transform .2s;
}
.btn-primary{background:var(--laranja-03); color:var(--preto-ukeria);}
.btn-primary:hover{background:var(--amarelo-03); transform:translateY(-2px);}
.bg-amarelo-03 .btn-primary:hover, .bg-bege-01 .btn-primary:hover{background:var(--preto-ukeria); color:var(--bege-01);}
.btn-ghost{border-color:currentColor; color:inherit; background:transparent;}
.btn-ghost:hover{background:var(--fg); color:var(--bg);}

/* ---------- motivo: mira "+" (pequena, só em cantos) ---------- */
.mark{position:absolute; width:14px; height:14px; color:var(--line); opacity:.65; pointer-events:none;}
.mark::before,.mark::after{content:""; position:absolute; background:currentColor;}
.mark::before{left:0; right:0; top:6.25px; height:1.5px;}
.mark::after{top:0; bottom:0; left:6.25px; width:1.5px;}
.mark.tl{top:14px; left:14px;} .mark.tr{top:14px; right:14px;}
.mark.bl{bottom:14px; left:14px;} .mark.br{bottom:14px; right:14px;}

/* ---------- motivo: degrade focado (glow) ---------- */
.glow{position:absolute; border-radius:50%; pointer-events:none; filter:blur(36px); background:radial-gradient(circle, var(--glow, var(--laranja-03)) 0%, transparent 68%);}

/* ---------- motivo: vidro desfocado (máscara radial) ---------- */
.glass{position:relative; overflow:hidden; border-radius:var(--radius); background:var(--verde-05);}
.glass > img, .glass > video{width:100%; height:100%; object-fit:cover;}
.glass::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  -webkit-mask-image:radial-gradient(circle at 50% 50%, transparent 34%, #000 82%);
          mask-image:radial-gradient(circle at 50% 50%, transparent 34%, #000 82%);
  transition:opacity .45s ease;
}
.glass:hover::after, .glass:focus-within::after{opacity:0;}

/* ---------- NAV ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:100; height:var(--nav-h);
  background:var(--preto-ukeria); color:var(--bege-01);
}
.nav .container{height:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.nav-logo img{height:26px; width:auto;}
.nav-links{display:flex; gap:clamp(18px, 2.6vw, 38px); font-weight:600; font-size:.92rem;}
.nav-links a{padding:6px 0; border-bottom:2px solid transparent; transition:border-color .2s, color .2s;}
.nav-links a:hover{color:var(--amarelo-03); border-bottom-color:var(--amarelo-03);}
.nav .btn{padding:10px 20px; font-size:.88rem;}
.nav-toggle{display:none; width:44px; height:44px; background:none; border:0; cursor:pointer; color:var(--bege-01); position:relative;}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{content:""; position:absolute; left:10px; right:10px; height:2px; background:currentColor; transition:transform .25s, opacity .2s;}
.nav-toggle span{top:21px;} .nav-toggle span::before{left:0; right:0; top:-7px;} .nav-toggle span::after{left:0; right:0; top:7px;}
.nav-toggle[aria-expanded="true"] span{background:transparent;}
.nav-toggle[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg);}
.nav-right{display:flex; align-items:center; gap:14px;}
@media (max-width:900px){
  .nav-toggle{display:block;}
  .nav-links{
    position:fixed; inset:var(--nav-h) 0 auto 0; flex-direction:column; gap:0;
    background:var(--preto-ukeria); padding:8px 20px 24px; border-top:1px solid var(--verde-05);
    transform:translateY(-8px); opacity:0; visibility:hidden; transition:opacity .2s, transform .2s, visibility .2s;
  }
  .nav-links.open{opacity:1; transform:none; visibility:visible;}
  .nav-links a{padding:16px 0; font-size:1.1rem; border-bottom:1px solid var(--verde-05);}
  .nav .btn{display:none;}
  .nav-links .nav-cta-m{display:block; margin-top:16px; text-align:center; border:0;}
}
.nav-cta-m{display:none;}

/* ---------- seções ---------- */
.sec{position:relative; overflow:hidden; padding:clamp(72px, 10vw, 140px) 0;}
.sec > .container{position:relative; z-index:2;}
.sec-head{max-width:760px; margin-bottom:clamp(36px, 5vw, 64px);}
.sec-head p{margin-top:18px; color:var(--fg-soft);}

/* ---------- INÍCIO / HERO ---------- */
.hero{min-height:100svh; padding-top:calc(var(--nav-h) + 40px); padding-bottom:64px; display:flex; align-items:center;}
.hero .container{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(24px, 5vw, 72px); align-items:center;}
.hero-kicker{font-family:var(--serif); font-style:italic; font-size:clamp(1.2rem, 2vw, 1.6rem); color:var(--amarelo-03); margin-bottom:20px;}
.hero h1{max-width:16ch;}
.hero .lead{margin-top:26px; max-width:52ch; color:var(--bege-01);}
.hero-actions{margin-top:36px; display:flex; flex-wrap:wrap; gap:14px;}
.hero-visual{position:relative; width:100%; max-width:600px; margin-inline:auto;}
.hero-visual svg{width:100%; height:auto; overflow:visible;}
.eye-glow-o{animation:breathe 7s ease-in-out infinite; transform-origin:210px 400px;}
.eye-glow-y{animation:breathe 9s ease-in-out -3s infinite; transform-origin:430px 230px;}
@keyframes breathe{0%,100%{transform:scale(1); opacity:.92;} 50%{transform:scale(1.08); opacity:1;}}
.iris-blink{transform-box:fill-box; transform-origin:center; animation:blink 6.5s infinite;}
@keyframes blink{0%,93%,100%{transform:scaleY(1);} 96%{transform:scaleY(.08);}}
.iris-move{transition:transform .25s ease-out;}
@media (max-width:860px){
  .hero{min-height:0;}
  .hero .container{grid-template-columns:1fr;}
  .hero-visual{max-width:420px; order:-1;}
}

/* ---------- A UKÊRIA ---------- */
.about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px, 6vw, 88px); align-items:center;}
.about-grid h2{margin-bottom:28px;}
.about-art{position:relative; max-width:520px; margin-inline:auto; width:100%;}
.about-art svg{width:100%; height:auto; position:relative; z-index:1; overflow:visible;}
.about-art .glow{width:70%; aspect-ratio:1; left:-10%; bottom:-14%; --glow:var(--laranja-03); opacity:.85;}
@media (max-width:860px){.about-grid{grid-template-columns:1fr;}}

/* origem */
.origin{text-align:center;}
.origin-stage{display:flex; justify-content:center; align-items:baseline; gap:.04em; font-size:clamp(4.5rem, 17vw, 12rem); line-height:1; padding:8px 0 36px; white-space:nowrap;}
.origin-stage .w{display:inline-block; will-change:transform;}
.origin-stage .w-dot{width:.1em; height:.1em; border-radius:50%; background:var(--preto-ukeria); align-self:center; margin:0 .1em; flex:none;}
.origin-stage .w-uke{font-weight:700; letter-spacing:-.03em;}
.origin-stage .w-ria{font-family:var(--serif); font-style:italic; font-weight:400;}
.origin-def{display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px, 4vw, 56px); max-width:900px; margin:0 auto; text-align:left;}
.origin-def div{border-top:2px solid var(--line); padding-top:18px; font-size:clamp(1.15rem, 2vw, 1.5rem); line-height:1.4; font-weight:600;}
.origin-def strong{font-family:var(--serif); font-style:italic; font-weight:400; font-size:1.15em;}
.origin-sum{margin-top:clamp(36px, 5vw, 60px);}
.origin-art{position:absolute; right:-70px; bottom:-70px; width:min(400px, 44vw); pointer-events:none;}
@media (max-width:760px){.origin-def{grid-template-columns:1fr;} .origin-art{display:none;}}

/* ancestralidade */
.ancestry-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px, 6vw, 88px); align-items:start;}
.ancestry .glow{width:min(70vw, 760px); aspect-ratio:1; left:-18%; top:-26%; --glow:var(--verde-03); opacity:.9;}
.ancestry .glow.y{width:min(46vw, 480px); left:auto; right:-8%; top:auto; bottom:-18%; --glow:var(--laranja-03); opacity:.75;}
.quote{position:relative; padding:clamp(26px, 4vw, 44px); border:1px solid color-mix(in srgb, var(--bege-01) 40%, transparent); border-radius:var(--radius); background:color-mix(in srgb, var(--verde-05) 70%, transparent); backdrop-filter:blur(6px);}
.quote blockquote{font-family:var(--serif); font-style:italic; font-size:clamp(1.7rem, 3.4vw, 2.7rem); line-height:1.15; color:var(--amarelo-03);}
.quote figcaption{margin-top:18px; font-size:.9rem; color:var(--bege-02);}
.ancestry .prose + .prose{margin-top:1.1em;}
.mantra{margin-top:clamp(40px, 6vw, 72px); font-size:clamp(1.5rem, 3vw, 2.3rem); font-weight:700; line-height:1.3;}
.mantra li + li{margin-top:2px;}
.mantra em{font-family:var(--serif); font-style:italic; font-weight:400; color:var(--amarelo-03); font-size:1.1em;}
@media (max-width:860px){.ancestry-grid{grid-template-columns:1fr;}}

/* o que nos move */
.move-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px, 6vw, 88px); align-items:start;}
.big-num{font-family:var(--serif); font-style:italic; font-size:clamp(6rem, 18vw, 13rem); line-height:.9; color:var(--preto-ukeria);}
.move h2{margin-top:6px;}
.move .prose{margin-top:24px;}
.move .prose p{font-weight:600;}
.move-lines{margin-top:28px; font-size:clamp(1.15rem, 2vw, 1.45rem); font-weight:700; line-height:1.35;}
.leaders{margin-top:clamp(48px, 7vw, 88px);}
.leaders h3{margin-bottom:22px;}
.leader-grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; max-width:760px;}
.leader{position:relative; display:flex; gap:18px; align-items:center; padding:22px; background:var(--bege-01); border-radius:var(--radius);}
.avatar{flex:none; width:84px; height:84px; border-radius:50%; position:relative; overflow:hidden; background:var(--verde-05);}
.avatar .glow{width:120%; aspect-ratio:1; left:-10%; top:-14%; filter:blur(12px); --glow:var(--laranja-03);}
.avatar svg{position:absolute; inset:0; margin:auto; width:56%; height:auto; color:var(--bege-01);}
.leader h4{font-size:1.1rem; line-height:1.2;}
.leader p{font-size:.88rem; line-height:1.4; color:var(--verde-05); margin-top:4px;}
.leader .social{display:flex; gap:14px; margin-top:8px; font-size:.85rem; font-weight:700;}
.leader .social a{border-bottom:2px solid var(--laranja-03);}
.leader .social a:hover{background:var(--amarelo-03);}
@media (max-width:860px){.move-grid{grid-template-columns:1fr;} .leader-grid{grid-template-columns:1fr;}}

/* ---------- SERVIÇOS ---------- */
.service-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;}
.service{
  position:relative; min-height:230px; padding:26px 24px; display:flex; flex-direction:column; justify-content:space-between; gap:36px;
  background:var(--branco); border:1px solid color-mix(in srgb, var(--preto-ukeria) 18%, transparent); border-radius:var(--radius);
  transition:background .25s, transform .25s;
}
.service:hover{background:var(--amarelo-03); transform:translateY(-4px);}
.service .n{font-family:var(--serif); font-style:italic; font-size:2rem; line-height:1; color:var(--laranja-04);}
.service:hover .n{color:var(--preto-ukeria);}
.service h3{font-size:1.2rem;}
.service.cta{background:var(--laranja-03); border-color:transparent; justify-content:flex-end;}
.service.cta:hover{background:var(--preto-ukeria); color:var(--bege-01);}
.service.cta h3{font-size:1.35rem;}
.service.cta .arrow{font-weight:700; margin-top:10px;}
@media (max-width:1000px){.service-grid{grid-template-columns:repeat(2, 1fr);}}
@media (max-width:520px){.service-grid{grid-template-columns:1fr;} .service{min-height:0;}}

/* ---------- COMO FAZEMOS ---------- */
.how-bg{position:absolute; right:-5%; top:-6%; width:min(620px, 80vw); pointer-events:none;}
.steps{display:grid; grid-template-columns:repeat(4, 1fr); gap:0; counter-reset:step; position:relative;}
.step{position:relative; padding:34px 26px 8px 0; border-top:2px solid var(--bege-01);}
.step::before{content:""; position:absolute; top:-7px; left:0; width:12px; height:12px; border-radius:50%; background:var(--amarelo-03);}
.step .n{font-family:var(--serif); font-style:italic; font-size:clamp(3.4rem, 6vw, 5rem); line-height:1; color:var(--amarelo-03);}
.step h3{margin:14px 0 12px; font-size:clamp(1.4rem, 2.2vw, 1.8rem);}
.step p{color:var(--bege-01); font-size:1rem; line-height:1.6;}
.how-flow{margin-top:clamp(40px, 6vw, 72px); font-weight:700; font-size:clamp(1.1rem, 2vw, 1.4rem); color:var(--amarelo-03);}
@media (max-width:980px){
  .steps{grid-template-columns:repeat(2, 1fr); row-gap:40px; column-gap:28px;}
}
@media (max-width:560px){.steps{grid-template-columns:1fr;} .how-bg{display:none;}}

/* ---------- PROJETOS ---------- */
.chips{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px;}
.chip{padding:10px 20px; border-radius:999px; border:2px solid var(--preto-ukeria); background:transparent; font-weight:600; font-size:.9rem; cursor:pointer; transition:background .2s, color .2s;}
.chip:hover{background:var(--amarelo-03);}
.chip[aria-pressed="true"]{background:var(--preto-ukeria); color:var(--bege-01);}
.masonry{columns:3 280px; column-gap:18px;}
.project{break-inside:avoid; margin:0 0 18px; position:relative; display:block; aspect-ratio:var(--ar, 4/5); cursor:default;}
.project[hidden]{display:none;}
.project .tag{
  position:absolute; left:12px; bottom:12px; z-index:2; pointer-events:none;
  background:var(--preto-ukeria); color:var(--bege-01); font-size:.72rem; font-weight:700; letter-spacing:.06em; padding:6px 12px; border-radius:999px;
}
.project video{cursor:pointer;}
.project .play{
  position:absolute; right:12px; top:12px; z-index:2; width:40px; height:40px; border-radius:50%; background:var(--preto-ukeria); color:var(--amarelo-03);
  display:grid; place-items:center; border:0; cursor:pointer; font-size:.8rem;
}
.project .play::before{content:""; border-left:11px solid currentColor; border-top:7px solid transparent; border-bottom:7px solid transparent; margin-left:3px;}
.project.playing .play::before{border:0; width:12px; height:14px; margin:0; border-left:4px solid currentColor; border-right:4px solid currentColor;}
.projects-note{margin-top:8px; font-size:.9rem; color:var(--fg-soft);}

.follow{margin-top:clamp(64px, 9vw, 110px);}
.follow-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:26px;}
.follow-head h3{font-size:clamp(1.8rem, 3.4vw, 2.6rem);}
.follow-ctrl{display:flex; gap:10px;}
.arrow-btn{width:48px; height:48px; border-radius:50%; border:2px solid var(--preto-ukeria); background:transparent; cursor:pointer; font-size:1.3rem; line-height:1; display:grid; place-items:center; transition:background .2s;}
.arrow-btn:hover{background:var(--amarelo-03);}
.track{display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:14px; scrollbar-width:thin; scrollbar-color:var(--preto-ukeria) transparent;}
.track:focus-visible{outline-offset:6px;}
.post{
  position:relative; flex:none; width:clamp(220px, 24vw, 270px); aspect-ratio:4/5; scroll-snap-align:start; overflow:hidden;
  border-radius:var(--radius); padding:20px; display:flex; flex-direction:column; justify-content:flex-end; gap:6px;
  transition:transform .25s;
}
.post:hover{transform:translateY(-4px);}
.post .wm{position:absolute; right:-14%; top:6%; width:78%; pointer-events:none;}
.post .platform{position:relative; font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.post .cta{position:relative; font-family:var(--serif); font-style:italic; font-size:1.5rem; line-height:1.1;}
.post.c1{background:var(--verde-05); color:var(--bege-01);}
.post.c2{background:var(--amarelo-03); color:var(--preto-ukeria);}
.post.c3{background:var(--bege-03); color:var(--preto-ukeria);}
.post.c4{background:var(--laranja-03); color:var(--preto-ukeria);}

/* ---------- PERGUNTAS FREQUENTES ---------- */
.faq-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(32px, 6vw, 88px); align-items:start;}
.faq-list{border-bottom:2px solid var(--preto-ukeria);}
.faq-list details{border-top:2px solid var(--preto-ukeria);}
.faq-list summary{
  position:relative; list-style:none; cursor:pointer; padding:22px 44px 22px 0;
  font-weight:700; font-size:clamp(1.05rem, 1.6vw, 1.25rem); line-height:1.3;
}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{
  content:""; position:absolute; right:8px; top:50%; width:11px; height:11px; margin-top:-8px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .2s;
}
.faq-list details[open] summary::after{transform:rotate(-135deg); margin-top:-3px;}
.faq-list p{padding:0 44px 24px 0; font-weight:600; max-width:62ch;}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr;}}

/* ---------- CONTATO ---------- */
.contact .glow{width:min(60vw, 640px); aspect-ratio:1; left:-14%; bottom:-30%; --glow:var(--laranja-03); opacity:.8;}
.contact .glow.y{left:auto; right:-10%; top:-26%; bottom:auto; width:min(40vw, 420px); --glow:var(--verde-03); opacity:.9;}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px, 6vw, 88px); align-items:start;}
.contact-grid > div:first-child p{margin-top:20px; color:var(--bege-02); font-size:1.15rem;}
.contact-links{margin-top:32px; display:grid; gap:4px;}
.contact-links a{display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid color-mix(in srgb, var(--bege-01) 35%, transparent); font-weight:600; transition:color .2s, padding .2s;}
.contact-links a:hover{color:var(--amarelo-03); padding-left:8px;}
.contact-links a span{opacity:.7;}
.form{position:relative; padding:clamp(24px, 4vw, 40px); border-radius:var(--radius); background:var(--preto-ukeria);}
.field{margin-bottom:20px;}
.field label{display:block; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--bege-02); margin-bottom:6px;}
.field input, .field select, .field textarea{
  width:100%; background:transparent; border:0; border-bottom:2px solid var(--verde-03); padding:10px 2px; font-size:1.05rem; border-radius:0; color:var(--bege-01);
}
.field select option{color:var(--preto-ukeria); background:var(--bege-01);}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-bottom-color:var(--amarelo-03);}
.consent{display:flex; gap:12px; align-items:flex-start; font-size:.9rem; color:var(--bege-02); line-height:1.5; margin-bottom:22px;}
.consent input{margin-top:4px; width:18px; height:18px; accent-color:var(--laranja-03); flex:none;}
.consent a{text-decoration:underline; text-underline-offset:3px; color:var(--bege-01);}
.form .btn{width:100%;}
.form-msg{margin-top:14px; font-size:.9rem; color:var(--amarelo-03); min-height:1.4em;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}

/* ---------- FOOTER ---------- */
.footer{padding:48px 0 36px; font-size:.92rem;}
.footer-row{display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;}
.footer img{height:64px; width:auto;}
.footer nav{display:flex; flex-wrap:wrap; gap:8px 26px; font-weight:600;}
.footer nav a:hover{color:var(--amarelo-03);}
.footer .credit{margin-top:14px; font-size:.85rem; color:var(--bege-02);}
.footer .credit a{color:var(--bege-01); text-decoration:underline; text-underline-offset:3px;}
.footer .credit a:hover{color:var(--amarelo-03);}
.footer-bottom{margin-top:30px; padding-top:20px; border-top:1px solid var(--verde-05); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; color:var(--bege-02);}

/* ---------- páginas legais ---------- */
.legal{padding:calc(var(--nav-h) + 56px) 0 80px; min-height:70vh;}
.legal .container{max-width:760px;}
.legal h1{font-size:clamp(2rem, 5vw, 3.2rem); margin-bottom:28px;}
.legal h2{font-size:1.4rem; margin:34px 0 10px;}
.legal p, .legal li{margin-bottom:12px;}
.legal ul{list-style:disc; padding-left:22px;}
.draft-banner{position:fixed; left:0; right:0; bottom:0; z-index:90; padding:12px 20px; text-align:center; font-weight:700; font-size:.9rem; background:var(--laranja-03); color:var(--preto-ukeria);}

/* ---------- revelar ao rolar (só com JS) ---------- */
.js .reveal{opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease;}
.js .reveal.in{opacity:1; transform:none;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important; transition-duration:.001ms !important;}
  .js .reveal{opacity:1; transform:none;}
}
