/* ============================================================
   CASA PROA — Paraty · Atelier Marko Brajovic
   Direção: floresta-madeira litorânea / leitura arquitetônica
   Assinatura: o triângulo-proa que se abre para o mar
   ============================================================ */

:root{
  --wood:#C98A4B; --wood-deep:#8A5A2E; --wood-dk:#5E3D20;
  --cream:#EDE4D3; --paper:#F6F0E3; --paper-2:#EFE7D6;
  --forest:#15220F; --forest-2:#1E2E16; --forest-3:#2B3D22;
  --terra:#B4502A; --terra-ink:#A0441F; --terra-glow:#C9683C; --teal:#2C5560; --teal-2:#3C6E78;
  --ink:#2A2018; --ink-soft:#5C4D3F; --ink-mute:#6B5D4E;
  --terra-lite:#E0875A; --mute-dk:rgba(237,228,211,.74);
  --line:rgba(42,32,24,.14); --line-l:rgba(245,239,226,.18);
  --rausch:#FF385C;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.62,.04,.2,1);
  --ease-out:cubic-bezier(.16,.84,.3,1);
  --ease-proa:cubic-bezier(.7,0,.16,1);     /* curva assinatura da proa */
  --maxw:1280px; --gut:clamp(1.2rem,5vw,5rem);
}

/* fallback métrico p/ anti-CLS do H1 antes do Fraunces chegar */
@font-face{font-family:"Fraunces-fallback";src:local("Georgia");size-adjust:101%;
  ascent-override:92%;descent-override:24%;line-gap-override:0%;}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);
  font-size:clamp(1rem,.95rem + .25vw,1.12rem);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
h1,h2,h3{font-family:var(--serif);font-weight:430;line-height:.98;
  letter-spacing:-.018em;font-optical-sizing:auto;margin:0}
::selection{background:var(--terra);color:var(--paper)}
:focus-visible{outline:2.5px solid var(--terra);outline-offset:3px;border-radius:2px}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{font-family:var(--sans);font-weight:600;font-size:.74rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--terra-ink);display:inline-flex;align-items:center;gap:.7em}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.7}
.eyebrow.center::before{display:none}
.serif-it{font-style:italic;font-weight:430}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);
  padding:.7rem 1.1rem;z-index:200;border-radius:0 0 6px 0}
.skip:focus{left:0}

/* ---------- film grain (estático) ---------- */
.grain{position:fixed;inset:0;z-index:120;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;
  justify-content:space-between;padding:1.1rem var(--gut);
  transition:background .5s var(--ease),padding .5s var(--ease),box-shadow .5s var(--ease);}
.nav__brand{display:flex;align-items:center;gap:.6rem;color:var(--paper);
  font-family:var(--serif);font-size:1.18rem;letter-spacing:.02em;transition:color .5s var(--ease)}
.nav__mark{width:20px;height:20px;flex:0 0 auto}
.nav__mark path{fill:none;stroke:currentColor;stroke-width:1.4}
.nav__links{display:flex;gap:2rem;align-items:center}
.nav__links a{color:var(--paper);font-size:.82rem;letter-spacing:.13em;text-transform:uppercase;
  font-weight:500;opacity:.92;position:relative;transition:color .5s var(--ease)}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1.5px;
  background:var(--terra);transition:width .4s var(--ease-out)}
.nav__links a:hover::after,.nav__links a:focus-visible::after{width:100%}
.nav__cta{border:1px solid var(--line-l);padding:.55rem 1.1rem;border-radius:40px;
  font-size:.78rem!important;letter-spacing:.1em!important}
.nav__cta::after{display:none}
.nav.scrolled{background:rgba(246,240,227,.92);backdrop-filter:blur(14px) saturate(1.1);
  padding-top:.7rem;padding-bottom:.7rem;box-shadow:0 1px 0 var(--line)}
.nav.scrolled .nav__brand,.nav.scrolled .nav__links a{color:var(--ink)}
.nav.scrolled .nav__cta{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.nav__burger{display:none}

/* ============================================================
   HERO — proa que se abre para a baía
   ============================================================ */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;
  background:var(--forest);overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2;clip-path:polygon(50% 0,50% 0,50% 100%,50% 100%)}
.hero.lit .hero__media{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
  transition:clip-path 1.3s var(--ease-proa)}
.hero__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);
  animation:kenburns 34s var(--ease) 1.3s both alternate infinite}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,16,8,.42) 0%,rgba(10,16,8,.05) 32%,
    rgba(10,16,8,.12) 56%,rgba(10,16,8,.74) 100%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(120% 88% at 50% 36%,transparent 52%,rgba(8,14,6,.5))}
@keyframes kenburns{from{transform:scale(1.08) translate3d(0,0,0)}
  to{transform:scale(1.2) translate3d(-1.5%,-2%,0)}}
@keyframes lineUp{from{transform:translateY(115%)}to{transform:translateY(0)}}
@keyframes heroFade{from{opacity:0;transform:translateY(14px)}to{opacity:.95;transform:none}}
@keyframes heroFadeCue{from{opacity:0}to{opacity:.8}}

.hero__inner{position:relative;width:100%;max-width:var(--maxw);margin-inline:auto;
  padding:0 var(--gut) clamp(3.2rem,9vh,7rem);color:var(--paper)}
.hero__eye{color:var(--cream);opacity:0;transform:translateY(14px)}
.hero.lit .hero__eye{animation:heroFade .8s var(--ease-out) .7s both}
.hero__eye::before{background:var(--terra-glow)}
h1.hero__title{color:var(--paper);font-weight:400;
  font-size:clamp(3.1rem,12.5vw,9.5rem);line-height:.86;letter-spacing:-.03em;
  margin:.5rem 0 0;text-shadow:0 2px 40px rgba(8,12,6,.4)}
.hero__title .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero__title .ln>span{display:block;transform:translateY(115%)}
body.fonts-ready .hero.lit .hero__title .ln:nth-child(1)>span{animation:lineUp .95s var(--ease-proa) .85s both}
body.fonts-ready .hero.lit .hero__title .ln:nth-child(2)>span{animation:lineUp .95s var(--ease-proa) .98s both}
body.fonts-ready .hero.lit .hero__title .ln:nth-child(3)>span{animation:lineUp .95s var(--ease-proa) 1.11s both}
.hero__title em{font-style:italic;color:var(--terra-glow);font-weight:400}
.hero__sub{max-width:34ch;margin:1.5rem 0 0;font-size:clamp(1rem,1.5vw,1.22rem);
  line-height:1.5;color:var(--cream);opacity:0;transform:translateY(14px)}
.hero.lit .hero__sub{animation:heroFade 1s var(--ease-out) 1.7s both}
.hero__cue{position:absolute;left:50%;bottom:1.7rem;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--cream);
  font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;opacity:0}
.hero.lit .hero__cue{animation:heroFadeCue 1s 2.2s both}
.hero__cue i{width:1px;height:42px;background:linear-gradient(var(--cream),transparent);
  animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}
  46%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ============================================================
   PROOF STRIP
   ============================================================ */
.proof{background:var(--forest);color:var(--cream);border-bottom:1px solid var(--line-l)}
.proof__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:.4rem 2.4rem;padding:1.15rem var(--gut);text-align:center}
.proof__i{display:inline-flex;align-items:center;gap:.55rem;font-size:.92rem;letter-spacing:.02em}
.proof__i b{font-family:var(--serif);font-weight:500}
.proof__star{color:#F6C45A;letter-spacing:.05em}
.proof__sep{width:5px;height:5px;border-radius:50%;background:var(--terra);opacity:.7}
.proof__belo{width:17px;height:17px;fill:var(--rausch)}

/* ============================================================
   GENERIC SECTION
   ============================================================ */
section{position:relative}
.sec{padding:clamp(4.5rem,12vh,9rem) 0}
.sec--paper{background:var(--paper);color:var(--ink)}
.sec--cream{background:var(--cream);color:var(--ink)}
.sec--forest{background:var(--forest);color:var(--cream)}
.sec--forest .eyebrow{color:var(--terra-glow)}
.sec--forest h2,.sec--forest h3{color:var(--paper)}
.sec__head{max-width:62ch}
.h2{font-size:clamp(2.1rem,5.6vw,4.4rem);line-height:.99;margin:.7rem 0 0}
.h2 em{font-style:italic;color:var(--terra)}
.sec--forest .h2 em{color:var(--terra-glow)}
.lead{font-size:clamp(1.12rem,2vw,1.5rem);line-height:1.5;color:var(--ink-soft);
  font-family:var(--serif);font-weight:380;max-width:40ch}
.sec--forest .lead{color:var(--cream)}
.body-col{max-width:46ch;color:var(--ink-soft)}
.sec--forest .body-col{color:rgba(237,228,211,.86)}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);filter:blur(5px);
  transition:opacity .9s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out)}
.reveal.in{opacity:1;transform:none;filter:none}
.reveal[data-d="1"]{transition-delay:.1s}.reveal[data-d="2"]{transition-delay:.2s}
.reveal[data-d="3"]{transition-delay:.3s}.reveal[data-d="4"]{transition-delay:.4s}

/* ---------- INTRO / o gesto ---------- */
.intro__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:end}
.intro__fig{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px}
.intro__fig img{width:100%;height:100%;object-fit:cover}
.intro__fig figcaption{position:absolute;left:1rem;bottom:1rem;color:var(--paper);
  font-size:.76rem;letter-spacing:.04em;background:rgba(21,34,15,.45);
  padding:.35rem .7rem;border-radius:30px;backdrop-filter:blur(4px)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:clamp(2.5rem,6vh,4.5rem);
  border-top:1px solid var(--line);padding-top:2.2rem}
.stat b{display:block;font-family:var(--serif);font-weight:430;
  font-size:clamp(2rem,4.5vw,3.3rem);line-height:1;color:var(--ink)}
.stat span{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);
  margin-top:.5rem;display:block}
.stat em{font-style:normal;color:var(--terra-ink)}

/* ============================================================
   ANCHOR — "Da proa, o dia gira" (scroll-scrub pinned)
   ============================================================ */
.journey{position:relative;height:480vh;background:var(--forest)}
.journey__pin{position:sticky;top:0;height:100svh;overflow:hidden}
.journey__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;will-change:opacity;transform:scale(1.04)}
.journey__pin::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,18,8,.5),rgba(12,18,8,.05) 35%,rgba(12,18,8,.72))}
.journey__head{position:absolute;left:var(--gut);top:clamp(5rem,12vh,8rem);z-index:3;color:var(--paper)}
.journey__head .eyebrow{color:var(--terra-glow)}
.journey__head h2{font-size:clamp(1.9rem,5vw,3.4rem);margin-top:.5rem;max-width:14ch}
.journey__cap{position:absolute;left:var(--gut);bottom:clamp(5rem,14vh,8rem);z-index:3;
  max-width:24ch;color:var(--paper);will-change:transform,opacity,filter}
.journey__cap .t{display:block;font-family:var(--serif);font-style:italic;
  font-size:clamp(1.5rem,4vw,2.6rem);line-height:1.05}
.journey__cap .k{display:block;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--terra-glow);margin-bottom:.7rem}
.journey__bar{position:absolute;left:var(--gut);right:var(--gut);bottom:2.4rem;z-index:3;
  height:1.5px;background:rgba(245,239,226,.22)}
.journey__bar i{display:block;height:100%;width:0;background:var(--terra-glow)}
.journey__dots{position:absolute;right:var(--gut);bottom:clamp(5rem,14vh,8rem);z-index:3;
  display:flex;flex-direction:column;gap:.8rem}
.journey__dots span{width:8px;height:8px;border:1px solid var(--cream);transform:rotate(45deg);opacity:.4;
  transition:opacity .4s,background .4s}
.journey__dots span.on{opacity:1;background:var(--terra-glow);border-color:var(--terra-glow)}

/* ============================================================
   GEOMETRIA — o triângulo é a estrutura
   ============================================================ */
.geo{background:var(--forest);color:var(--cream);overflow:hidden}
.geo__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2rem,6vw,5.5rem);align-items:center}
.geo__txt blockquote{font-family:var(--serif);font-style:italic;font-weight:380;
  font-size:clamp(1.3rem,2.6vw,2rem);line-height:1.3;color:var(--paper);margin:1.6rem 0;
  padding-left:1.3rem;border-left:2px solid var(--terra-glow)}
.geo .eyebrow{color:var(--terra-lite)}
.geo .body-col{color:rgba(237,228,211,.88)}
.geo__txt blockquote cite{display:block;font-style:normal;font-family:var(--sans);
  font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute-dk);margin-top:1rem}
.geo__vis{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.geo__draw{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  opacity:0;transform:translateY(20px) scale(.98);transition:opacity 1.1s var(--ease-out) .15s,transform 1.1s var(--ease-out) .15s;
  mix-blend-mode:screen;filter:contrast(1.05) brightness(1.5)}
.geo__vis.in .geo__draw{opacity:.9;transform:none}
.geo__wire{position:absolute;width:74%;height:74%;overflow:visible}
.geo__wire path,.geo__wire line,.geo__wire polygon{fill:none;stroke:var(--terra-glow);
  stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round;
  stroke-dasharray:var(--len,900);stroke-dashoffset:var(--len,900)}
.geo__vis.in .geo__wire path,.geo__vis.in .geo__wire line,.geo__vis.in .geo__wire polygon{
  animation:draw 2.6s var(--ease-out) forwards}
.geo__wire .f{opacity:.45;stroke-width:.8;stroke:var(--cream)}
@keyframes draw{to{stroke-dashoffset:0}}
.geo__spec{display:flex;gap:2.2rem;flex-wrap:wrap;margin-top:1.6rem;
  font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-dk)}
.geo__spec b{font-family:var(--serif);font-size:1.05rem;letter-spacing:0;text-transform:none;
  color:var(--terra-lite);font-weight:500}

/* ============================================================
   MATERIAIS
   ============================================================ */
.mat__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,2.6rem);margin-top:3rem}
.mat__card{border-top:1px solid var(--line);padding-top:1.4rem}
.mat__card svg{width:34px;height:34px;stroke:var(--terra);fill:none;stroke-width:1.3;margin-bottom:1.1rem}
.mat__card h3{font-size:1.4rem;margin-bottom:.5rem}
.mat__card p{color:var(--ink-soft);font-size:.96rem;line-height:1.55;margin:0}
.mat__strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:3rem}
.mat__strip figure{margin:0;aspect-ratio:3/4;overflow:hidden;border-radius:2px}
.mat__strip img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}
.mat__strip figure:hover img{transform:scale(1.06)}

/* ============================================================
   GALERIA + LIGHTBOX
   ============================================================ */
.gal__scroll{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:0 var(--gut) 1.4rem;margin-top:2.6rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.gal__scroll figure{margin:0;flex:0 0 min(76vw,520px);scroll-snap-align:center;
  aspect-ratio:3/2;overflow:hidden;border-radius:2px;position:relative;cursor:pointer}
.gal__scroll figure.tall{aspect-ratio:3/4;flex-basis:min(60vw,400px)}
.gal__scroll img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.gal__scroll figure:hover img{transform:scale(1.05)}
.gal__scroll figcaption{position:absolute;left:0;right:0;bottom:0;color:var(--paper);
  font-size:.82rem;padding:1.6rem .9rem .8rem;
  background:linear-gradient(transparent,rgba(12,18,8,.7));opacity:0;transition:opacity .4s}
.gal__scroll figure:hover figcaption,.gal__scroll figure:focus-visible figcaption{opacity:1}
.gal__hint{margin-top:1rem;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}

.lb{position:fixed;inset:0;z-index:200;background:rgba(12,16,9,.96);display:none;
  align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem)}
.lb.open{display:flex}
.lb img{max-width:94vw;max-height:86vh;object-fit:contain;border-radius:2px;
  box-shadow:0 30px 90px rgba(0,0,0,.6)}
.lb__cap{position:absolute;bottom:1.4rem;left:0;right:0;text-align:center;color:var(--cream);
  font-size:.86rem;letter-spacing:.03em}
.lb__x,.lb__nav{position:absolute;color:var(--paper);width:52px;height:52px;border-radius:50%;
  border:1px solid var(--line-l);display:flex;align-items:center;justify-content:center;
  background:rgba(20,28,14,.5);font-size:1.4rem;transition:background .3s,transform .3s}
.lb__x{top:1.2rem;right:1.2rem}
.lb__nav{top:50%;transform:translateY(-50%)}
.lb__nav.prev{left:1rem}.lb__nav.next{right:1rem}
.lb__x:hover,.lb__nav:hover{background:var(--terra)}

/* ============================================================
   VOZES (prova social + imprensa)
   ============================================================ */
.voices__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:start;margin-top:2.6rem}
.rating-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:2rem;
  position:sticky;top:6rem}
.rating-card .belo{width:30px;height:30px;fill:var(--rausch);margin-bottom:1rem}
.rating-card .big{font-family:var(--serif);font-size:3.4rem;line-height:1;display:flex;align-items:baseline;gap:.5rem}
.rating-card .big span{font-size:1rem;color:var(--ink-mute);font-family:var(--sans)}
.rating-card .stars{color:#E0a93b;letter-spacing:.1em;margin:.5rem 0}
.rating-card p{font-size:.92rem;color:var(--ink-soft);margin:.4rem 0 0}
.rating-card a{display:inline-block;margin-top:1.2rem;font-size:.82rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--terra-ink);border-bottom:1px solid var(--terra-ink);padding-bottom:2px}
.press{display:flex;flex-direction:column;gap:1.6rem}
.press blockquote{margin:0;font-family:var(--serif);font-weight:380;
  font-size:clamp(1.25rem,2.4vw,1.85rem);line-height:1.35;color:var(--ink)}
.press blockquote::before{content:"“";color:var(--terra);font-size:1.4em;line-height:0;vertical-align:-.35em;margin-right:.08em}
.press cite{display:block;font-style:normal;font-family:var(--sans);font-size:.78rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-top:.9rem}
.press blockquote+blockquote{border-top:1px solid var(--line);padding-top:1.6rem}

/* ============================================================
   REGIÃO
   ============================================================ */
.region{position:relative;color:var(--paper);overflow:hidden}
.region__bg{position:absolute;inset:0;z-index:-2}
.region__bg img{width:100%;height:100%;object-fit:cover}
.region::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,rgba(12,18,8,.82),rgba(12,18,8,.32) 70%,rgba(12,18,8,.55))}
.region .wrap{padding-top:clamp(5rem,14vh,9rem);padding-bottom:clamp(5rem,14vh,9rem)}
.region h2{color:var(--paper)}
.region .lead{color:var(--cream)}
.region__pts{display:flex;flex-wrap:wrap;gap:1.4rem 2.6rem;margin-top:2.2rem;max-width:60ch}
.region__pt{display:flex;gap:.7rem;align-items:baseline;font-size:.96rem;color:var(--cream)}
.region__pt b{color:var(--terra-glow);font-family:var(--serif);font-size:1.5rem;line-height:1}

/* ============================================================
   RESERVAR
   ============================================================ */
.book__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.book__why{list-style:none;padding:0;margin:1.8rem 0 0;display:flex;flex-direction:column;gap:1rem}
.book__why li{display:flex;gap:.8rem;align-items:flex-start;color:var(--ink-soft);font-size:1rem}
.book__why svg{width:22px;height:22px;flex:0 0 auto;stroke:var(--terra);fill:none;stroke-width:1.5;margin-top:.15rem}
.bookbox{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:clamp(1.6rem,3vw,2.4rem)}
.bookbox h3{font-size:1.6rem;margin-bottom:1.4rem}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.field label{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}
.field input,.field select{font:inherit;font-size:16px;padding:.85rem 1rem;border:1px solid var(--line);
  border-radius:7px;background:var(--paper);color:var(--ink);width:100%}
.field input:focus,.field select:focus{border-color:var(--terra)}
.field input:focus-visible,.field select:focus-visible{outline:2.5px solid var(--terra);outline-offset:2px;border-color:var(--terra)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;
  padding:1rem 1.4rem;border-radius:8px;font-weight:600;font-size:1rem;letter-spacing:.01em;
  transition:transform .3s var(--ease-out),box-shadow .3s,background .3s}
.btn--primary{background:var(--terra);color:#fff;box-shadow:0 8px 26px rgba(180,80,42,.32)}
.btn--primary:hover{transform:translateY(-2px);background:var(--terra-glow);box-shadow:0 14px 34px rgba(180,80,42,.4)}
.btn--ghost{background:transparent;border:1px solid var(--ink);color:var(--ink);margin-top:.8rem;font-size:.92rem;font-weight:500}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.book__note{font-size:.8rem;color:var(--ink-mute);margin-top:1rem;text-align:center;line-height:1.5}
.book__belo{width:15px;height:15px;fill:currentColor;vertical-align:-2px}

/* ============================================================
   FAQ
   ============================================================ */
.faq{max-width:780px;margin-inline:auto}
.faq details{border-top:1px solid var(--line);padding:1.3rem 0}
.faq details[open]{padding-bottom:1.5rem}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;
  list-style:none;font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.4rem);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:0 0 auto;width:13px;height:13px;
  border-right:1.5px solid var(--terra);border-bottom:1.5px solid var(--terra);
  transform:rotate(45deg);transition:transform .4s var(--ease-out)}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq p{color:var(--ink-soft);margin:.9rem 0 0;max-width:64ch}

/* ============================================================
   INSTAGRAM
   ============================================================ */
.ig__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-top:2.4rem}
.ig__grid a{position:relative;aspect-ratio:1;overflow:hidden;border-radius:2px}
.ig__grid img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out),filter .5s}
.ig__grid a:hover img{transform:scale(1.08);filter:brightness(.8)}
.ig__head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{background:var(--forest);color:var(--cream);padding:clamp(3.5rem,8vh,6rem) 0 2.5rem}
.foot__grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2rem;
  border-bottom:1px solid var(--line-l);padding-bottom:2.5rem}
.foot__brand{font-family:var(--serif);font-size:2rem;display:flex;align-items:center;gap:.7rem}
.foot__brand .nav__mark{width:26px;height:26px}
.foot__links{display:flex;gap:2rem;flex-wrap:wrap;font-size:.86rem;letter-spacing:.08em}
.foot__links a{opacity:.85}.foot__links a:hover{opacity:1;color:var(--terra-glow)}
.foot__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  margin-top:2rem;font-size:.78rem;color:var(--mute-dk)}
.foot__bottom a{color:var(--terra-lite);text-decoration:underline;text-underline-offset:2px}

/* ============================================================
   STICKY BOOK BAR (mobile)
   ============================================================ */
.bookbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;
  align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem 1rem;
  background:rgba(21,34,15,.93);backdrop-filter:blur(12px);border-top:1px solid var(--line-l);
  transform:translateY(110%);transition:transform .5s var(--ease-out)}
.bookbar.show{transform:none}
.bookbar__txt{color:var(--cream);font-size:.8rem;line-height:1.3}
.bookbar__txt b{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--paper)}
.bookbar .btn{width:auto;padding:.7rem 1.3rem;font-size:.9rem}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .nav__links{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:2rem;
    background:var(--forest);transform:translateX(100%);transition:transform .5s var(--ease-out);z-index:99}
  .nav__links.open{transform:none}
  .nav__links a{color:var(--paper);font-size:1.2rem}
  .nav.scrolled .nav__links a{color:var(--paper)}
  .nav__burger{display:flex;flex-direction:column;gap:5px;z-index:100;padding:.4rem}
  .nav__burger span{width:26px;height:2px;background:var(--paper);transition:.4s var(--ease-out)}
  .nav.scrolled .nav__burger span{background:var(--ink)}
  .nav.menu-open .nav__burger span{background:var(--paper)}
  .nav.menu-open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav.menu-open .nav__burger span:nth-child(2){opacity:0}
  .nav.menu-open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .intro__grid,.geo__grid,.voices__grid,.book__grid{grid-template-columns:1fr;gap:2.5rem}
  .geo__vis{order:-1;aspect-ratio:4/3}
  .rating-card{position:static}
  .mat__grid{grid-template-columns:1fr 1fr}
  .mat__strip{grid-template-columns:1fr 1fr}
  .ig__grid{grid-template-columns:repeat(3,1fr)}
  .bookbar{display:flex}
  body{padding-bottom:64px}
  .journey__dots{display:none}
}
@media (max-width:560px){
  .stats{grid-template-columns:1fr 1fr;gap:1.6rem 1.2rem}
  .mat__grid,.field-row{grid-template-columns:1fr}
  .proof__row{gap:.3rem 1.3rem}
  .foot__grid{flex-direction:column}
  .hero__cue{display:none}
  .hero__inner{padding-bottom:clamp(2.4rem,8vh,4rem)}
}

/* ============================================================
   REDUCED MOTION — desliga tudo
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero__media{clip-path:none!important}
  .hero__media img{transform:none!important}
  .hero__eye,.hero__sub,.hero__cue,.hero__title .ln>span{opacity:1!important;transform:none!important}
  .reveal{opacity:1!important;transform:none!important;filter:none!important}
  .journey{height:auto}
  .journey__pin{position:static;height:auto}
  .journey__img{position:relative;opacity:1!important;height:78vh;transform:none}
  .journey__img+.journey__img{margin-top:.5rem}
  .journey__head,.journey__cap{position:relative;left:auto;color:var(--paper)}
  .journey__bar,.journey__dots{display:none}
  .geo__draw{opacity:.9!important;transform:none!important}
  .geo__wire path,.geo__wire line,.geo__wire polygon{stroke-dashoffset:0!important}
  .bookbar{transform:none}
  html{scroll-behavior:auto}
}
.no-js .reveal{opacity:1;transform:none;filter:none}
.no-js .hero__media{clip-path:none}
.no-js .hero__eye,.no-js .hero__sub,.no-js .hero__title .ln>span{opacity:1;transform:none}
.no-js .journey{height:auto}
.no-js .journey__pin{position:static;height:auto}
.no-js .journey__img{position:relative;opacity:1;height:72vh;transform:none}
.no-js .journey__img+.journey__img{margin-top:.5rem}
.no-js .journey__head,.no-js .journey__cap{position:relative;left:auto;color:var(--paper)}
.no-js .journey__bar,.no-js .journey__dots{display:none}
