/* ═══════════════════════════════════════════════════════════
   GARDENIA · PROPOSTA FLORENCA
   Editorial premium · responsivo · motion · gringo
   ═══════════════════════════════════════════════════════════ */

* { margin:0; padding:0; box-sizing:border-box; }

:root {
  /* ── PALETA — modern warm, derivada da logo Gardenia ── */
  --f:        #FAF7E9;   /* paper · base do site (creme unico) */
  --linen:    #FAF7E9;   /* s-white — mesma cor do --f */
  --paper:    #F0E8D2;   /* cards sobre creme (subtil contraste) */
  --bone:     #E5DBBC;   /* hover de card sobre creme */
  --cream:    #FAF7E9;   /* manutencao/fases — mesma cor do --f */
  --ink:      #1A1B14;   /* texto principal */
  --ink-soft: #2A2C20;
  --g:        #1E5C32;   /* verde Gardenia (deep, do logo) */
  --g-deep:   #144526;
  --g-night:  #0E2818;   /* secoes dark */
  --s:        #5CA357;   /* verde claro 'jardins' (do logo) */
  --p:        #0F7989;
  --a:        #CFAA40;   /* gold (uso minimo) */
  --a-soft:   #B58B30;
  --r:        #FFAAC9;
  --terra:    #B8643A;   /* mantido p/ underlines opcionais */
  --mid:      #6E6755;
  --mid-2:    #8E876F;
  --rule:     rgba(26,27,20,.12);
  --rule-soft:rgba(26,27,20,.06);
}

html { font-size:16px; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
@media (min-width: 1280px) { html { font-size:17px; } }
@media (min-width: 1600px) { html { font-size:18px; } }
html.js { scroll-behavior:smooth; }

body {
  font-family:'Inter',sans-serif;
  background:var(--f);
  color:var(--ink);
  overflow-x:hidden;
  font-weight:400;
  line-height:1.6;
  position:relative;
}

::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--f); }
::-webkit-scrollbar-thumb { background:var(--g); }
::selection { background:var(--g); color:var(--f); }

img { display:block; max-width:100%; height:auto; }

.serif { font-family:'Playfair Display',serif; font-weight:500; font-style:italic; }

/* ── DISPLAY — Playfair Display em todos os titulos ── */
.hero-h1,
.hxl,
.hlg,
.hmd,
.studio-title,
.fase-title,
.mnt-title,
.mnt-card-title,
.closing-title,
.price-big,
.alt-val,
.mnt-card-price {
  font-family:'Playfair Display',serif;
}

/* ── BRAND EM — italica refinada Playfair ── */
em.script,
.hero-h1 em,
.hxl em,
.hlg em,
.hmd em,
.studio-title em,
.fase-title em,
.mnt-title em,
.mnt-card-title em,
.closing-title em,
h1 em, h2 em, h3 em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  font-size:1em;
  letter-spacing:0;
  color:var(--g);
  line-height:inherit;
  vertical-align:baseline;
  padding:0;
}
.s-dark .hero-h1 em,
.s-dark .hxl em,
.s-dark .hlg em,
.s-dark .hmd em,
.head--dark .hxl em,
.split-text em {
  color:#9FD58C;
}

/* ═══════════════════════════════════════════════════════════
   ATMOSFERA — grain + cursor + scroll progress
   ═══════════════════════════════════════════════════════════ */
.grain {
  position:fixed; inset:0;
  pointer-events:none;
  z-index:9000;
  opacity:.05;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

.prog {
  position:fixed; top:0; left:0;
  height:2px; width:0%;
  background:linear-gradient(to right, var(--g), var(--a));
  z-index:9500;
  transition:width .08s linear;
}

.cursor-ring, .cursor-dot { display:none; }
@media (hover:hover) and (pointer:fine) {
  .cursor-ring, .cursor-dot {
    display:block;
    position:fixed; top:0; left:0;
    pointer-events:none;
    z-index:9999;
    transform:translate3d(-50%,-50%,0);
    will-change:transform;
  }
  .cursor-ring {
    width:32px; height:32px;
    border:1px solid var(--ink);
    border-radius:50%;
    transition:width .35s cubic-bezier(.22,1,.36,1),
               height .35s cubic-bezier(.22,1,.36,1),
               border-color .35s, background .35s, opacity .25s;
    mix-blend-mode:difference;
    opacity:.85;
  }
  .cursor-dot {
    width:4px; height:4px;
    background:var(--g-night);
    border-radius:50%;
    mix-blend-mode:difference;
  }
  html.dark-zone .cursor-ring { border-color:var(--f); mix-blend-mode:normal; opacity:.55; }
  html.dark-zone .cursor-dot { background:var(--f); mix-blend-mode:normal; }
  html.over-link .cursor-ring { width:56px; height:56px; }
  html.over-img .cursor-ring {
    width:84px; height:84px;
    background:var(--g-night); border-color:transparent;
    mix-blend-mode:normal;
    opacity:1;
  }
  html.over-img .cursor-dot { opacity:0; }
  html.over-img .cursor-ring::after {
    content:'ver';
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    color:var(--f);
    font-size:.55rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-weight:500;
  }
  a, button, .gi, .img-full, .split-img, .closing-img { cursor:none; }
}

/* ═══════════════════════════════════════════════════════════
   NAV
   ═══════════════════════════════════════════════════════════ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  padding:26px 0;
  transition:background .45s ease, padding .35s ease, border-color .35s;
  border-bottom:1px solid transparent;
}
nav.scrolled {
  background:rgba(250,247,233,.92);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  padding:16px 0;
  border-color:var(--rule);
}
.nav-inner {
  max-width:min(1280px, 100%);
  margin:0 auto;
  padding:0 clamp(20px, 3.5vw + 10px, 64px);
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.n-logo {
  display:flex;
  align-items:center;
  text-decoration:none;
  transition:opacity .35s ease;
}
.n-logo:hover { opacity:.7; }
.n-logo img {
  height:clamp(48px, 5.5vw, 80px);
  width:auto;
  display:block;
}
.n-ref {
  font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--mid); font-weight:400;
}

/* ═══════════════════════════════════════════════════════════
   HERO — split-text reveal + parallax
   ═══════════════════════════════════════════════════════════ */
.hero {
  position:relative;
  min-height:100vh;
  padding-top:73px;
  display:flex;
  align-items:stretch;
  background:var(--f);
}
.hero-left {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-block:clamp(48px, 5vw + 16px, 96px);
  padding-left:clamp(48px, 9vw, 180px);
  padding-right:clamp(28px, 3vw, 48px);
  width:clamp(560px, 62%, 920px);
  min-height:calc(100vh - 73px);
  position:relative;
  z-index:2;
}
.hero-top { display:flex; flex-direction:column; gap:0; }
.hero-issue {
  font-size:.6rem; letter-spacing:.24em; text-transform:uppercase;
  color:var(--g); font-weight:500;
  padding-bottom:20px;
  border-bottom:1px solid rgba(37,97,59,.22);
  margin-bottom:52px;
  display:flex; align-items:center; gap:14px;
}
.hero-issue::before {
  content:'';
  display:inline-block;
  width:6px; height:6px;
  background:var(--g);
  border-radius:50%;
  animation:breathe 2.6s ease-in-out infinite;
}
@keyframes breathe {
  0%, 100% { opacity:.4; transform:scale(.85); }
  50% { opacity:1; transform:scale(1); }
}

.hero-h1 {
  font-size:clamp(3.4rem, 6.4vw + .4rem, 7.4rem);
  font-weight:700; line-height:1.04;
  letter-spacing:-.035em;
  word-spacing:-.05em;
  color:var(--ink);
  max-width:none;
}
.hero-h1 em {
  position:relative;
  display:inline-block;
}

/* Line-by-line clip reveal */
.hero-h1 .line {
  display:block;
  overflow:hidden;
  padding:.08em 0 .1em;
  line-height:1.06;
}
.hero-h1 .line-inner {
  display:block;
  transform:translateY(110%);
  transition:transform 1s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}
html.no-js .hero-h1 .line-inner,
.hero-h1.on .line-inner { transform:translateY(0); }
.hero-h1.on .line:nth-child(1) .line-inner { transition-delay:.05s; }
.hero-h1.on .line:nth-child(2) .line-inner { transition-delay:.18s; }
.hero-h1.on .line:nth-child(3) .line-inner { transition-delay:.32s; }

.hero-deck {
  font-size:clamp(1rem, .2vw + .95rem, 1.18rem);
  line-height:1.7; color:rgba(20,21,12,.72);
  font-weight:400; max-width:50ch;
  margin-top:clamp(28px, 2vw + 12px, 44px);
}
html.js .hero-deck {
  opacity:0; transform:translateY(20px);
  transition:opacity .9s ease .8s, transform .9s cubic-bezier(.22,1,.36,1) .8s;
}
html.js .hero.on .hero-deck { opacity:1; transform:none; }
.hero-deck strong { color:var(--ink); font-weight:500; }

.hero-bottom { display:flex; flex-direction:column; gap:24px; margin-top:clamp(28px, 2.5vw, 52px); }
html.js .hero-bottom {
  opacity:0; transform:translateY(24px);
  transition:opacity 1s ease 1.1s, transform 1s cubic-bezier(.22,1,.36,1) 1.1s;
}
html.js .hero.on .hero-bottom { opacity:1; transform:none; }

.hero-client-block {
  padding-top:28px;
  border-top:1px solid rgba(37,97,59,.2);
}
.hero-for {
  font-size:.58rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--g); margin-bottom:8px;
}
.hero-client-name {
  font-family:'Inter',sans-serif;
  font-size:1.5rem; font-weight:400; color:var(--ink);
  line-height:1.1;
}
.hero-client-sub {
  font-size:.75rem; color:rgba(20,21,12,.55); margin-top:5px;
  font-weight:300; letter-spacing:.02em;
}

.hero-stats {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:0;
  border:1px solid rgba(37,97,59,.2);
  background:rgba(244,239,224,.55);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.hs-item {
  padding:20px 22px;
  border-right:1px solid rgba(37,97,59,.16);
  position:relative;
  overflow:hidden;
  transition:background .35s ease;
}
.hs-item:hover { background:rgba(37,97,59,.06); }
.hs-item::after {
  content:'';
  position:absolute; left:0; bottom:0;
  width:0; height:1px;
  background:var(--g);
  transition:width .55s cubic-bezier(.22,1,.36,1);
}
.hs-item:hover::after { width:100%; }
.hs-item:last-child { border-right:none; }
.hs-n {
  font-family:'Inter',sans-serif;
  font-size:1.75rem; font-weight:400; color:var(--g);
  line-height:1; margin-bottom:6px;
  font-feature-settings:"lnum";
}
.hs-l {
  font-size:.6rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--mid); font-weight:400; line-height:1.4;
}

/* Imagem hero — PNG transparente flush direita, sem padding lateral */
.hero-right {
  flex:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:0;
  background:var(--f);
  overflow:hidden;
}
.hero-right img {
  width:100%;
  height:auto;
  max-height:88vh;
  object-fit:contain;
  object-position:right center;
  display:block;
  transform:translate3d(0, var(--parallax-y, 0), 0);
  will-change:transform;
  animation:heroSway 18s ease-in-out infinite alternate;
}
@keyframes heroSway {
  from { filter:none; transform:translate3d(0, var(--parallax-y, 0), 0) scale(1); }
  to   { filter:none; transform:translate3d(0, var(--parallax-y, 0), 0) scale(1.012); }
}

.hero-cue {
  position:absolute;
  bottom:32px; right:40px;
  z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:12px;
  font-size:.55rem; letter-spacing:.28em; text-transform:uppercase;
  color:rgba(20,21,12,.6);
  font-weight:500;
  pointer-events:none;
}
.hero-cue::after {
  content:'';
  width:1px; height:42px;
  background:linear-gradient(to bottom, transparent, rgba(20,21,12,.5) 50%, transparent);
  animation:cuePulse 2.4s ease-in-out infinite;
}
@keyframes cuePulse {
  0%, 100% { transform:scaleY(.4); opacity:.3; }
  50% { transform:scaleY(1); opacity:.85; }
}

/* ═══════════════════════════════════════════════════════════
   MARQUEE — pausa no hover
   ═══════════════════════════════════════════════════════════ */
.mq {
  background:var(--g);
  overflow:hidden;
  padding:18px 0;
  position:relative;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.mq::before, .mq::after {
  content:'';
  position:absolute; top:0; bottom:0;
  width:80px; z-index:2;
  pointer-events:none;
}
.mq::before { left:0; background:linear-gradient(to right, var(--g), transparent); }
.mq::after  { right:0; background:linear-gradient(to left, var(--g), transparent); }
.mq-track {
  display:flex; white-space:nowrap; width:max-content;
  animation:mq 38s linear infinite;
  will-change:transform;
}
.mq:hover .mq-track { animation-play-state:paused; }
.mq-item {
  display:inline-flex; align-items:center;
  padding:0 56px;
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:1.4rem;
  letter-spacing:.01em;
  text-transform:none;
  color:rgba(255,255,255,.78);
  font-weight:400;
  transition:color .35s ease;
}
.mq-item:hover { color:#ffffff; }
.mq-item:hover b { color:var(--a); transform:scale(1.06); }
@keyframes mq {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

/* ═══════════════════════════════════════════════════════════
   SECTIONS — sistema unificado de capitulos
   ═══════════════════════════════════════════════════════════ */
.s {
  padding:clamp(96px, 9vw + 16px, 176px) clamp(20px, 3.5vw + 10px, 64px);
  position:relative;
}
.s-white { background:var(--linen); }
.s-dark  { background:var(--g-night); }
.s-cream { background:var(--cream); }
.max { max-width:min(1280px, 100%); margin:0 auto; }

/* ── HEAD: anatomia identica em todas as secoes ── */
.head {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-bottom:clamp(56px, 6vw, 104px);
}
.head > .chap { margin-bottom:clamp(28px, 2.5vw, 40px); }
.head > .hxl { margin-bottom:clamp(28px, 2.5vw, 40px); }
.head > .lede { margin-bottom:0; }

/* ── CHAP: numero romano + nome (cabecalho do capitulo) ── */
.chap {
  display:flex;
  align-items:center;
  gap:clamp(18px, 1.6vw, 28px);
  padding-bottom:clamp(20px, 1.8vw, 28px);
  border-bottom:1px solid var(--rule);
}
.chap-num {
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-weight:500;
  font-size:clamp(1.05rem, .8vw + .6rem, 1.35rem);
  color:var(--g);
  line-height:1;
  letter-spacing:.04em;
  flex-shrink:0;
  display:inline-block;
  font-feature-settings:"tnum" 1, "lnum" 1;
  font-variant-numeric:tabular-nums lining-nums;
  transition:color .35s ease, transform .5s cubic-bezier(.22,1,.36,1);
}
.head:hover .chap-num,
.split:hover .chap-num { color:var(--s); transform:translateX(2px); }
.chap-name {
  font-size:clamp(.62rem, .12vw + .58rem, .72rem);
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--mid);
  font-weight:500;
}
.chap-name::before {
  content:'';
  display:inline-block;
  width:clamp(32px, 4vw, 56px);
  height:1px;
  background:var(--mid);
  vertical-align:middle;
  margin-right:18px;
  opacity:.5;
}

/* Dark variants */
.head--dark .chap,
.chap--dark { border-bottom-color:rgba(255,255,255,.18); }
.head--dark .chap-num,
.chap--dark .chap-num { color:var(--a); }
.head--dark .chap-name,
.chap--dark .chap-name { color:rgba(255,255,255,.6); }
.head--dark .chap-name::before,
.chap--dark .chap-name::before { background:rgba(255,255,255,.3); }
.chap--gold .chap-num { color:var(--a); }
.chap--gold .chap-name { color:var(--a-soft); }
.chap--gold .chap-name::before { background:var(--a); opacity:.7; }

/* ── LEDE: apoio do titulo, alinhada a direita ── */
.lede {
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-weight:400;
  font-size:clamp(1.05rem, .2vw + 1rem, 1.25rem);
  line-height:1.7;
  color:#5d5d5d;
  max-width:680px;
}
.head--dark .lede {
  color:rgba(244,239,224,.72);
}

/* ── Mobile/tablet: empilha ── */
@media (max-width: 900px) {
  .head {
    grid-template-columns:1fr;
    grid-template-areas:
      "chap"
      "title"
      "lede";
    row-gap:clamp(24px, 4vw, 40px);
    margin-bottom:clamp(48px, 7vw, 72px);
    align-items:start;
  }
  .lede { max-width:none; }
}

.ey {
  font-size:.58rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--mid); font-weight:500;
  display:flex; align-items:center; gap:14px;
  margin-bottom:32px;
}
.ey::before {
  content:''; width:24px; height:1px; background:var(--mid);
  display:block;
  transition:width .5s cubic-bezier(.22,1,.36,1);
}
.ey:hover::before { width:48px; }
.ey.inv { color:rgba(255,255,255,.4); }
.ey.inv::before { background:rgba(255,255,255,.3); }
.ey.gold { color:var(--a); }
.ey.gold::before { background:var(--a); }

.hxl {
  font-family:'Inter',sans-serif;
  font-size:clamp(2.2rem, 4.4vw + .35rem, 5.2rem);
  font-weight:500; line-height:1.04;
  letter-spacing:-.022em; color:var(--ink);
  max-width:16ch;
}
.hxl em { position:relative; display:inline-block; }
.hxl.inv { color:var(--f); }

.hlg {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.7rem, 2.4vw + .4rem, 3rem);
  font-weight:500; line-height:1.08;
  letter-spacing:-.018em; color:var(--ink);
}
.hlg.inv { color:var(--f); }

.hmd {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.3rem, 1.3vw + .65rem, 1.9rem);
  font-weight:500; line-height:1.22;
  letter-spacing:-.012em;
  color:var(--g);
}
.hmd.inv { color:var(--f); }

.body-t {
  font-size:clamp(.9rem, .15vw + .85rem, 1rem);
  line-height:1.65;
  color:var(--mid); font-weight:300;
  max-width:64ch;
}
.body-t.inv { color:rgba(255,255,255,.55); }
.body-t strong { color:var(--ink); font-weight:400; }
.body-t.inv strong { color:rgba(255,255,255,.9); }

/* ═══════════════════════════════════════════════════════════
   QUEM SOMOS — bloco vertical centralizado, Inter com mais peso
   ═══════════════════════════════════════════════════════════ */
.studio {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.studio > * {
  margin-bottom:clamp(48px, 5vw, 88px);
}
.studio > *:last-child { margin-bottom:0; }

.studio-eyebrow {
  font-family:'Inter',sans-serif;
  font-size:clamp(.85rem, .2vw + .78rem, 1.1rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#CFAA40;
  font-weight:300;
}

.studio-title {
  font-size:clamp(2.8rem, 5.2vw, 5.6rem);
  line-height:.98;
  letter-spacing:-.02em;
  max-width:none;
  margin-bottom:clamp(40px, 4.5vw, 76px);
  text-align:center;
}
.studio-title span {
  display:block;
  font-family:'Inter',sans-serif;
  font-weight:700;
  color:#111209;
}
.studio-title .studio-em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  color:#25613B;
}

/* QUOTE — citacao em Inter com trechos italicos Playfair */
.studio-quote {
  position:relative;
  max-width:760px;
  margin-inline:auto;
  padding:0;
  text-align:center;
}
.studio-quote::before {
  content:'"';
  display:block;
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(3rem, 3.5vw + 1rem, 5rem);
  line-height:.4;
  color:#25613B;
  opacity:.55;
  margin-bottom:clamp(14px, 1.4vw, 24px);
}
.studio-quote p {
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-weight:400;
  font-size:clamp(1.15rem, .55vw + 1rem, 1.5rem);
  line-height:1.55;
  color:#2a2c20;
  letter-spacing:-.005em;
}
.studio-quote em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  color:#25613B;
  letter-spacing:0;
  color:#25613B;
}

/* FEATURE — destaque do Florença em card glass verde-tintado */
.studio-feature {
  max-width:820px;
  margin-inline:auto;
  padding:clamp(36px, 3.5vw, 56px) clamp(28px, 3vw, 64px);
  background:linear-gradient(155deg, rgba(30,92,50,.07) 0%, rgba(30,92,50,.15) 100%);
  backdrop-filter:blur(12px) saturate(160%);
  -webkit-backdrop-filter:blur(12px) saturate(160%);
  border:1px solid rgba(30,92,50,.20);
  border-radius:22px;
  text-align:center;
  box-shadow:
    0 18px 56px -22px rgba(30,92,50,.22),
    0 6px 18px -10px rgba(20,21,12,.08),
    inset 0 1px 0 rgba(255,255,255,.5);
}
.studio-feature-eyebrow {
  font-family:'Inter',sans-serif;
  font-size:.74rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:600;
  color:#25613B;
  margin-bottom:clamp(18px, 1.6vw, 28px);
}
.studio-feature-text {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.05rem, .25vw + 1rem, 1.25rem);
  font-weight:400;
  line-height:1.65;
  color:#2a2c20;
  margin:0;
}
.studio-feature-text strong {
  color:#25613B;
  font-weight:700;
}

/* CARDS — arredondados, fundo creme da paleta, com icones */
.studio-cards {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(16px, 1.6vw, 24px);
  width:100%;
}
.studio-card {
  background:linear-gradient(155deg, rgba(255,255,255,.65) 0%, var(--paper) 100%);
  backdrop-filter:blur(10px) saturate(180%);
  -webkit-backdrop-filter:blur(10px) saturate(180%);
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px;
  padding:clamp(28px, 2.5vw, 40px) clamp(24px, 2vw, 32px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:18px;
  box-shadow:
    0 18px 50px -20px rgba(30,92,50,.18),
    0 6px 16px -8px rgba(20,21,12,.10),
    inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s ease, border-color .35s ease;
}
.studio-card:hover {
  transform:translateY(-4px);
  border-color:rgba(30,92,50,.25);
  box-shadow:
    0 28px 64px -20px rgba(30,92,50,.28),
    0 8px 20px -10px rgba(20,21,12,.14),
    inset 0 1px 0 rgba(255,255,255,.7);
}
.studio-card-icon {
  width:clamp(56px, 5vw, 68px);
  height:clamp(56px, 5vw, 68px);
  background:rgba(30,92,50,.10);
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--g);
  flex-shrink:0;
  margin-bottom:4px;
}
.studio-card-icon svg {
  width:52%;
  height:52%;
}
.studio-card-label {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.12rem, .25vw + 1.05rem, 1.35rem);
  text-transform:none;
  letter-spacing:-.01em;
  font-weight:600;
  color:#111209;
  line-height:1.3;
}
.studio-card-text {
  font-family:'Inter',sans-serif;
  font-size:clamp(1rem, .2vw + .95rem, 1.15rem);
  font-weight:400;
  line-height:1.55;
  color:#5d5d5d;
}

@media (max-width: 900px) {
  .studio-cards,
  .concept-cards,
  .mnt-cards,
  .scope-grid { grid-template-columns:1fr; gap:14px; }
  .concept-card,
  .concept-card:nth-child(4),
  .concept-card:nth-child(5) { grid-column:auto; }
}

/* ═══════════════════════════════════════════════════════════
   TRANSICAO — PNG transparente fundindo com cream da pagina
   ═══════════════════════════════════════════════════════════ */
.img-transicao {
  width:100%;
  background:var(--linen);
  display:block;
  overflow:hidden;
}
.img-transicao img {
  width:100%;
  height:auto;
  display:block;
}

/* ═══════════════════════════════════════════════════════════
   GALERIA — 3 col grid quadrado
   ═══════════════════════════════════════════════════════════ */
.gal-wrap {
  background:var(--g-night);
  position:relative;
}
.gal-rail {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:clamp(40px, 4vw, 64px) clamp(28px, 3vw, 56px);
}
.gal-grid {
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:2px;
}
.gi {
  position:relative;
  overflow:hidden;
  background:var(--g-deep);
}
.gi img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform 1.2s cubic-bezier(.22,1,.36,1), filter .6s;
}
.gi:hover img {
  transform:scale(1.04);
  filter:saturate(1.1);
}
.gi-lbl {
  position:absolute;
  bottom:18px; left:24px;
  font-size:.6rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--f);
  font-weight:500;
  opacity:.85;
  z-index:2;
}
.gi::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(14,40,24,.6) 0%, transparent 50%);
  pointer-events:none;
}
.h420 { aspect-ratio:1/1; }
.h300 { aspect-ratio:1/1; }
.h610 { aspect-ratio:1/1; }

/* ═══════════════════════════════════════════════════════════
   CONCEITO (dark) — 2 colunas: texto + cards stack
   ═══════════════════════════════════════════════════════════ */
#cap-2 .max { max-width:min(1440px, 100%); }
.concept {
  display:flex;
  flex-direction:column;
}

.concept-eyebrow {
  font-family:'Inter',sans-serif;
  font-size:clamp(.85rem, .2vw + .78rem, 1.1rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#9FD58C;
  font-weight:300;
  margin-bottom:clamp(20px, 2vw, 32px);
  text-align:center;
}

.concept-title {
  font-size:clamp(3rem, 5.5vw, 6rem);
  line-height:1;
  letter-spacing:-.02em;
  max-width:none;
  text-align:center;
}
.concept-title span {
  display:block;
  font-family:'Inter',sans-serif;
  font-weight:700;
  color:#ffffff;
}
.concept-title .concept-em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  color:#5CA357;
}

.concept-divider {
  height:1px;
  background:rgba(255,255,255,.12);
  margin:48px 0;
  width:100%;
}

.concept-grid {
  display:grid;
  grid-template-columns:55% 45%;
  gap:80px;
  align-items:start;
}

/* COLUNA ESQUERDA — texto */
.concept-text { }
.concept-lead-italic {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:clamp(1.25rem, .85vw + 1.05rem, 1.65rem);
  color:var(--f);
  margin-bottom:32px;
  line-height:1.4;
  font-weight:500;
  text-wrap:balance;
  max-width:26ch;
}
.concept-p {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.05rem, .25vw + 1rem, 1.22rem);
  font-weight:400;
  line-height:1.8;
  color:var(--f);
  text-align:left;
  margin-bottom:26px;
  text-wrap:pretty;
  max-width:44ch;
}
.concept-p:last-child { margin-bottom:0; }
.concept-emph {
  font-family:'Playfair Display',serif;
  font-style:italic;
  color:rgba(255,255,255,.8);
}

/* COLUNA DIREITA — 5 cards stacked vertical */
.concept-cards {
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:380px;
  margin-inline:initial;
}
.concept-card {
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:18px;
  padding:20px 24px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  text-align:left;
  overflow:hidden;
  position:relative;
}
.concept-card::before { display:none; }
.concept-card-icon {
  width:44px; height:44px;
  border-radius:12px;
  background:rgba(159,213,140,.14);
  color:#9FD58C;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.concept-card-icon svg { width:55%; height:55%; }
.concept-card-body {
  flex:1;
  min-width:0;
}
.concept-card-label {
  font-family:'Inter',sans-serif;
  font-size:1rem;
  font-weight:600;
  color:#ffffff;
  line-height:1.3;
  margin-bottom:6px;
  text-transform:none;
  letter-spacing:-.01em;
  text-align:left;
}
.concept-card-text {
  font-family:'Inter',sans-serif;
  font-size:.88rem;
  font-weight:300;
  line-height:1.6;
  color:rgba(255,255,255,.5);
  text-align:left;
}
.concept-card-text em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  color:#5CA357;
}

/* MOBILE — 1 coluna, texto primeiro, cards abaixo */
@media (max-width: 900px) {
  .concept-title { max-width:none; font-size:clamp(2.4rem, 9vw, 3.4rem); }
  .concept-divider { margin:32px 0; }
  .concept-grid { grid-template-columns:1fr; gap:40px; }
  .concept-cards { gap:10px; }
}


/* ═══════════════════════════════════════════════════════════
   TIMELINE (Anteprojeto + Implantacao + Fases) — verde claro
   ═══════════════════════════════════════════════════════════ */
.tl-section {
  background:#E8F0E8;
  padding:clamp(96px, 9vw + 16px, 176px) clamp(20px, 3.5vw + 10px, 64px);
  position:relative;
  overflow:hidden;
}
.tl-deco {
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}
.tl-deco--a {
  top:8%;
  right:-180px;
  width:520px; height:520px;
  background:radial-gradient(circle, rgba(92,163,87,.14), transparent 70%);
}
.tl-deco--b {
  bottom:12%;
  left:-200px;
  width:480px; height:480px;
  background:radial-gradient(circle, rgba(30,92,50,.10), transparent 70%);
}
.tl-section .max { position:relative; z-index:1; }

.tl-head {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-bottom:clamp(56px, 6vw, 96px);
}
.tl-head > * { margin-bottom:clamp(28px, 2.5vw, 40px); }
.tl-head > *:last-child { margin-bottom:0; }

.tl-eyebrow {
  font-family:'Inter',sans-serif;
  font-size:clamp(.85rem, .2vw + .78rem, 1.1rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#25613B;
  font-weight:300;
}
.tl-title {
  font-size:clamp(2.8rem, 5.2vw, 5.6rem);
  line-height:.98;
  letter-spacing:-.02em;
  text-align:center;
}
.tl-title span {
  display:block;
  font-family:'Inter',sans-serif;
  font-weight:600;
  color:#111209;
}
.tl-title .tl-em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  color:#25613B;
}
.tl-lead {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.05rem, .2vw + 1rem, 1.25rem);
  font-weight:400;
  line-height:1.7;
  color:#5d5d5d;
  max-width:680px;
}

/* CARDS — mesmo estilo visual da parte verde existente */
.tl-card {
  position:relative;
  background:#F5F7F2;
  border:1px solid rgba(92,163,87,.22);
  border-radius:24px;
  padding:clamp(48px, 5vw, 80px) clamp(32px, 3.5vw, 64px);
  overflow:hidden;
  box-shadow:
    0 24px 64px -28px rgba(30,92,50,.22),
    0 6px 18px -10px rgba(30,92,50,.08),
    inset 0 1px 0 rgba(255,255,255,.7);
}
.tl-card-wm {
  position:absolute;
  right:clamp(24px, 3vw, 56px);
  top:clamp(20px, 2.5vw, 40px);
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(5rem, 12vw, 10rem);
  line-height:.85;
  color:rgba(37,97,59,.07);
  letter-spacing:-.04em;
  pointer-events:none;
  user-select:none;
}

.tl-card-head {
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:clamp(20px, 2.2vw, 32px);
  position:relative; z-index:1;
}
.tl-card-icon {
  width:clamp(64px, 5.5vw, 88px);
  height:clamp(64px, 5.5vw, 88px);
  border-radius:18px;
  background:rgba(30,92,50,.10);
  color:#25613B;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.tl-card-icon svg { width:56%; height:56%; }
.tl-card-meta { flex:1; min-width:0; }
.tl-card-label {
  font-family:'Inter',sans-serif;
  font-size:.66rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#25613B;
  font-weight:600;
  margin-bottom:10px;
}
.tl-card-title {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.9rem, 2.5vw + .5rem, 3.2rem);
  font-weight:300;
  line-height:1.05;
  letter-spacing:-.018em;
  color:#111209;
}
.tl-card-title em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  color:#25613B;
}
.tl-card-desc {
  font-family:'Inter',sans-serif;
  font-size:clamp(1rem, .15vw + .95rem, 1.12rem);
  font-weight:400;
  line-height:1.65;
  color:#5d5d5d;
  max-width:62ch;
  margin-bottom:clamp(28px, 3vw, 40px);
  position:relative; z-index:1;
}
.tl-card-desc strong {
  font-weight:600;
  color:#111209;
}

/* CONNECTOR — caminho pontilhado vertical premium entre cards */
.tl-connector {
  position:relative;
  width:14px;
  height:clamp(80px, 8vw, 120px);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tl-connector::before {
  content:'';
  width:0;
  height:100%;
  border-left:2px dashed rgba(37,97,59,.30);
}
.tl-connector::after {
  content:'';
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:10px; height:10px;
  border-radius:50%;
  background:rgba(37,97,59,.18);
  box-shadow:0 0 0 4px rgba(37,97,59,.06);
}

/* SUBCARDS (Anteprojeto - 4 em grid) */
.tl-subcards {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:clamp(16px, 1.6vw, 24px);
  position:relative; z-index:1;
}
.tl-subcard {
  background:rgba(255,255,255,.6);
  border:1px solid rgba(92,163,87,.16);
  border-radius:14px;
  padding:clamp(28px, 2.6vw, 40px) clamp(24px, 2.2vw, 32px);
}
.tl-subcard-n {
  font-family:'Inter',sans-serif;
  font-size:clamp(.78rem, .1vw + .74rem, .88rem);
  font-weight:600;
  color:#25613B;
  letter-spacing:.04em;
  margin-bottom:12px;
}
.tl-subcard-title {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.1rem, .25vw + 1rem, 1.3rem);
  font-weight:600;
  color:#111209;
  line-height:1.3;
  margin-bottom:10px;
  letter-spacing:-.01em;
}
.tl-subcard-text {
  font-family:'Inter',sans-serif;
  font-size:clamp(.95rem, .15vw + .9rem, 1.05rem);
  font-weight:400;
  line-height:1.6;
  color:#5d5d5d;
}

/* SPECIES (Implantacao - 5 cards de plantas) */
.tl-species-grid {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(14px, 1.4vw, 20px);
  position:relative; z-index:1;
}
.tl-species {
  background:rgba(255,255,255,.6);
  border:1px solid rgba(92,163,87,.16);
  border-radius:12px;
  padding:clamp(18px, 1.6vw, 24px);
}
.tl-species-name {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.15rem, .25vw + 1.05rem, 1.32rem);
  font-weight:600;
  color:#111209;
  letter-spacing:-.01em;
  line-height:1.3;
  margin-bottom:8px;
}
.tl-species-name em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  color:#25613B;
}
.tl-species-role {
  font-family:'Inter',sans-serif;
  font-size:clamp(.88rem, .15vw + .84rem, .98rem);
  color:#7a7a6e;
  font-weight:400;
}

/* PHASES (Fases - 3 fases com 3 steps cada) */
.tl-phases {
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(16px, 1.6vw, 24px);
  position:relative; z-index:1;
}
.tl-phase {
  background:rgba(255,255,255,.6);
  border:1px solid rgba(92,163,87,.16);
  border-radius:12px;
  padding:clamp(20px, 1.8vw, 26px);
}
.tl-phase-title {
  font-family:'Inter',sans-serif;
  font-size:clamp(.82rem, .15vw + .78rem, .95rem);
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#25613B;
  font-weight:600;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(37,97,59,.12);
}
.tl-phase-steps {
  display:flex;
  flex-direction:column;
  gap:clamp(14px, 1.4vw, 20px);
  max-width:680px;
}
.tl-phase-step {
  font-family:'Inter',sans-serif;
  font-size:clamp(.96rem, .15vw + .9rem, 1.05rem);
  font-weight:400;
  line-height:1.5;
  color:#5d5d5d;
  display:flex;
  gap:12px;
  align-items:baseline;
}
.tl-phase-step span {
  font-family:'Inter',sans-serif;
  font-weight:600;
  color:#25613B;
  font-size:clamp(.78rem, .1vw + .74rem, .88rem);
  letter-spacing:.04em;
  flex-shrink:0;
  min-width:22px;
}

@media (max-width: 900px) {
  .tl-card-head { flex-direction:column; gap:14px; align-items:flex-start; }
  .tl-card-wm { font-size:4rem; top:18px; right:18px; }
  .tl-subcards,
  .tl-species-grid,
  .tl-phases,
  .tl-phase-steps { grid-template-columns:1fr; }
}


/* ═══════════════════════════════════════════════════════════
   INVESTIMENTO — header padronizado + card com preço dramático
   ═══════════════════════════════════════════════════════════ */

/* HEAD — sistema da Secao 2 (eyebrow + spans + sub) */
.invest-head {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  margin-bottom:clamp(48px, 5vw, 88px);
}
.invest-head > * { margin-bottom:clamp(28px, 2.5vw, 40px); }
.invest-head > *:last-child { margin-bottom:0; }
.invest-head-eyebrow {
  font-family:'Inter',sans-serif;
  font-size:clamp(.85rem, .2vw + .78rem, 1.1rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#CFAA40;
  font-weight:300;
}
.invest-head-title {
  font-size:clamp(2.8rem, 5.2vw, 5.6rem);
  line-height:.98;
  letter-spacing:-.02em;
  max-width:none;
  text-align:center;
}
.invest-head-title span {
  display:block;
  font-family:'Inter',sans-serif;
  font-weight:600;
  color:var(--ink);
}
.invest-head-title .invest-head-em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  color:#25613B;
}
.invest-head-sub {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.05rem, .2vw + 1rem, 1.25rem);
  font-weight:400;
  line-height:1.7;
  color:#5d5d5d;
  max-width:680px;
}

/* CARD — wrap em torno do preço + entregas */
.invest-card {
  background:#F3F7EF;
  border:1px solid rgba(30,92,50,.18);
  border-radius:24px;
  padding:clamp(40px, 4vw + 16px, 72px);
  max-width:1200px;
  margin:0 auto;
  box-shadow:
    0 32px 80px -32px rgba(30,92,50,.25),
    0 8px 24px -12px rgba(30,92,50,.10),
    inset 0 1px 0 rgba(255,255,255,.7);
  position:relative;
  overflow:hidden;
}
.invest-card::before {
  content:'';
  position:absolute;
  top:-120px; right:-120px;
  width:340px; height:340px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(30,92,50,.06), transparent 70%);
  pointer-events:none;
}

.invest-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(48px, 5vw, 88px);
  align-items:start;
  position:relative;
  z-index:1;
}

/* COLUNA ESQUERDA — Preço */
.invest-eyebrow {
  font-family:'Inter',sans-serif;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:#4a4a4a;
  font-weight:500;
  line-height:1.6;
  margin-bottom:28px;
}
.invest-total {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:clamp(20px, 1.8vw, 32px);
}
.invest-total .inv-cur {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.1rem, .2vw + 1rem, 1.4rem);
  color:#25613B;
  opacity:.7;
  font-weight:500;
  margin-top:.7em;
}
.invest-total .inv-big {
  font-family:'Playfair Display',serif;
  font-size:clamp(5rem, 9vw, 10rem);
  font-weight:400;
  color:#25613B;
  line-height:.9;
  letter-spacing:-.03em;
  font-feature-settings:"lnum tnum";
}
.invest-meta {
  font-family:'Inter',sans-serif;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#4a4a4a;
  font-weight:500;
  margin-bottom:clamp(32px, 3vw, 48px);
}

/* DESCONTO — bloco impactante */
.invest-discount {
  display:flex;
  align-items:center;
  gap:clamp(20px, 2.5vw, 32px);
  padding:clamp(20px, 2vw, 28px) clamp(20px, 2.2vw, 32px);
  background:linear-gradient(135deg, #25613B 0%, #1A4A2C 100%);
  border-radius:18px;
  margin-bottom:28px;
  position:relative;
  overflow:hidden;
  box-shadow:
    0 18px 40px -16px rgba(30,92,50,.45),
    inset 0 1px 0 rgba(255,255,255,.10);
}
.invest-discount::after {
  content:'';
  position:absolute;
  top:0; left:-50%;
  width:50%; height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent);
  animation:discount-shine 5s ease-in-out infinite;
}
@keyframes discount-shine {
  0%, 100% { transform:translateX(0); }
  50% { transform:translateX(400%); }
}
.discount-tag {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:clamp(2.2rem, 3vw + .4rem, 3.4rem);
  font-weight:500;
  color:#FFAAC9;
  line-height:.95;
  letter-spacing:-.02em;
  flex-shrink:0;
  white-space:nowrap;
}
.discount-info { flex:1; min-width:0; }
.discount-label {
  font-family:'Inter',sans-serif;
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:rgba(244,239,224,.65);
  font-weight:400;
  margin-bottom:4px;
}
.discount-price {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem, 2.4vw + .4rem, 2.6rem);
  color:var(--f);
  font-weight:400;
  line-height:1;
  letter-spacing:-.018em;
  margin-bottom:4px;
}
.discount-savings {
  font-family:'Inter',sans-serif;
  font-size:.78rem;
  color:#FFAAC9;
  font-weight:500;
  letter-spacing:.02em;
}

.invest-conds {
  font-family:'Inter',sans-serif;
  font-size:.78rem;
  font-weight:400;
  color:#7a7a7a;
  font-style:italic;
  line-height:1.7;
}

/* COLUNA DIREITA — Entregas */
.invest-scope-title {
  font-family:'Inter',sans-serif;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:#4a4a4a;
  font-weight:500;
  margin-bottom:28px;
}
.invest-list {
  list-style:none;
  margin:0;
  padding:0;
}
.invest-list li {
  display:flex;
  gap:14px;
  align-items:baseline;
  padding:14px 0;
  border-bottom:1px solid rgba(0,0,0,.08);
  font-family:'Inter',sans-serif;
  font-size:.92rem;
  font-weight:400;
  color:#3d3d3d;
  line-height:1.65;
}
.invest-list li:first-child { padding-top:0; }
.invest-list li:last-child { border-bottom:none; }
.invest-list .inv-ck {
  color:#5CA357;
  font-weight:700;
  font-size:.95rem;
  flex-shrink:0;
  line-height:1.5;
}

@media (max-width: 900px) {
  .invest-card { padding:clamp(28px, 4vw, 40px); }
  .invest-grid {
    grid-template-columns:1fr;
    gap:48px;
  }
  .invest-price { order:1; }
  .invest-scope { order:2; }
  .invest-discount { flex-direction:column; align-items:flex-start; gap:14px; }
}


/* ═══════════════════════════════════════════════════════════
   MANUTENCAO — header 2-col + cards full-width minimalistas
   ═══════════════════════════════════════════════════════════ */
.mnt-section {
  padding-top:clamp(96px, 9vw + 16px, 176px);
  padding-bottom:clamp(40px, 4vw, 64px);
  background:var(--g-night);
  color:var(--f);
}
.mnt-top {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding-bottom:clamp(64px, 7vw, 112px);
}
.mnt-top > * { margin-bottom:clamp(48px, 4vw, 64px); }
.mnt-sub { margin-inline:auto; }
.mnt-top > *:last-child { margin-bottom:0; }
.mnt-eyebrow {
  font-family:'Inter',sans-serif;
  font-size:clamp(.85rem, .2vw + .78rem, 1.1rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#9FD58C;
  font-weight:300;
}
.mnt-title {
  font-size:clamp(2.8rem, 5.2vw, 5.6rem);
  line-height:.98;
  letter-spacing:-.02em;
  max-width:none;
  text-align:center;
}
.mnt-title span {
  display:block;
  font-family:'Inter',sans-serif;
  font-weight:600;
  color:var(--f);
}
.mnt-title .mnt-em {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  color:#9FD58C;
}
.mnt-sub {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.05rem, .2vw + 1rem, 1.25rem);
  font-weight:400;
  line-height:1.7;
  color:rgba(244,239,224,.82);
  max-width:680px;
}

.mnt-cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(16px, 1.8vw, 24px);
  padding:0 clamp(20px, 2vw, 32px);
  max-width:1440px;
  margin:0 auto;
}
.mnt-card {
  padding:clamp(36px, 3vw + 8px, 52px) clamp(28px, 2.5vw, 48px);
  display:flex;
  flex-direction:column;
  border-radius:20px;
  backdrop-filter:blur(12px) saturate(160%);
  -webkit-backdrop-filter:blur(12px) saturate(160%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 28px 72px -24px rgba(0,0,0,.45),
    0 8px 20px -10px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .55s cubic-bezier(.22,1,.36,1), box-shadow .55s ease, border-color .35s;
}
.mnt-card:hover {
  transform:translateY(-4px);
  border-color:rgba(159,213,140,.32);
  box-shadow:
    0 36px 84px -22px rgba(0,0,0,.55),
    0 10px 26px -10px rgba(159,213,140,.18),
    inset 0 1px 0 rgba(255,255,255,.12);
}
.mnt-card--adapt {
  background:linear-gradient(155deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 100%);
  border-top:3px solid #5CA357;
}
.mnt-card--regular {
  background:linear-gradient(155deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.04) 100%);
  border-top:3px solid #9FD58C;
}
.mnt-card-label {
  font-family:'Inter',sans-serif;
  font-size:clamp(.85rem, .2vw + .78rem, 1.1rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#9FD58C;
  font-weight:300;
  margin-bottom:20px;
}
.mnt-card-title {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.6rem, 2vw + .5rem, 2.2rem);
  font-weight:600;
  line-height:1.15;
  color:var(--f);
  margin-bottom:20px;
  letter-spacing:-.018em;
}
.mnt-card-title em {
  color:var(--f) !important;
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
}
.mnt-card-freq {
  font-family:'Inter',sans-serif;
  font-size:clamp(.95rem, .15vw + .9rem, 1.05rem);
  color:#9FD58C;
  margin-bottom:28px;
  font-weight:500;
  letter-spacing:.01em;
}
.mnt-card-price {
  font-family:'Inter',sans-serif;
  font-size:clamp(2.6rem, 3.8vw + .4rem, 4rem);
  font-weight:700;
  line-height:1;
  margin-bottom:36px;
  letter-spacing:-.028em;
  font-feature-settings:"lnum tnum";
}
.mnt-card--adapt .mnt-card-price,
.mnt-card--regular .mnt-card-price { color:#9FD58C; }
.mnt-price-suffix {
  font-size:.32em;
  font-weight:400;
  opacity:.5;
  margin-left:6px;
  letter-spacing:0;
}
.mnt-list-label {
  font-family:'Inter',sans-serif;
  font-size:.78rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(159,213,140,.75);
  font-weight:400;
  margin-bottom:14px;
}
.mnt-list {
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0;
  padding:0;
}
.mnt-list li {
  font-family:'Inter',sans-serif;
  font-size:clamp(.95rem, .15vw + .9rem, 1.05rem);
  font-weight:400;
  color:var(--f);
  line-height:1.6;
  display:flex;
  gap:12px;
}
.mnt-list li::before {
  content:'—';
  color:#5CA357;
  flex-shrink:0;
  font-weight:400;
}
.mnt-divider {
  height:1px;
  background:rgba(255,255,255,.10);
  margin:20px 0;
}
.mnt-closing {
  text-align:center;
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:clamp(1.6rem, 1.6vw + .6rem, 2.2rem);
  color:#FFAAC9;
  font-weight:500;
  line-height:1.4;
  padding:clamp(80px, 8vw, 120px) 0;
}

/* ═══════════════════════════════════════════════════════════
   CLOSING CTA — centralizado com pill button
   ═══════════════════════════════════════════════════════════ */
.closing-cta {
  background:var(--g-night);
  padding:clamp(96px, 10vw, 160px) clamp(24px, 4vw, 64px);
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.closing-img-bg {
  position:absolute; inset:0;
  z-index:0;
  opacity:.22;
  overflow:hidden;
}
.closing-img-bg img {
  width:100%; height:100%;
  object-fit:cover;
  filter:saturate(.85) brightness(.75) blur(2px);
  animation:kenBurns 28s ease-in-out infinite alternate;
  will-change:transform;
}
.closing-cta::after {
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at center, transparent 30%, var(--g-night) 80%),
    linear-gradient(180deg, transparent 0%, rgba(14,40,24,.5) 100%);
  z-index:1;
  pointer-events:none;
}
@keyframes kenBurns {
  0%   { transform:scale(1.05) translate(0,0); }
  100% { transform:scale(1.12) translate(-1.5%,-2%); }
}

.closing-inner {
  position:relative; z-index:2;
  max-width:780px;
  margin:0 auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(20px, 2vw, 32px);
}
.closing-eyebrow {
  font-family:'Inter',sans-serif;
  font-size:clamp(.85rem, .2vw + .78rem, 1.1rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#CFAA40;
  font-weight:300;
}
.closing-title {
  font-family:'Inter',sans-serif;
  font-size:clamp(2.4rem, 4.6vw + .4rem, 5rem);
  font-weight:600;
  line-height:1.04;
  letter-spacing:-.026em;
  color:var(--f);
  max-width:16ch;
}
.closing-sub {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.05rem, .2vw + 1rem, 1.25rem);
  font-weight:400;
  line-height:1.7;
  color:rgba(244,239,224,.82);
  max-width:680px;
}

/* PILL BUTTON — creme Gardenia com texto verde */
.cta-pill {
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:18px 28px 18px 22px;
  background:var(--f);
  color:var(--g);
  text-decoration:none;
  border-radius:999px;
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:clamp(.92rem, .15vw + .85rem, 1.05rem);
  letter-spacing:.01em;
  margin-top:clamp(8px, 1vw, 16px);
  position:relative;
  overflow:hidden;
  transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, background .35s ease;
  box-shadow:0 14px 40px -16px rgba(244,239,224,.35);
  cursor:pointer;
}
.cta-pill::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(30,92,50,.10), transparent 50%);
  opacity:0;
  transition:opacity .3s ease;
}
.cta-pill:hover {
  background:#FAF6E8;
  transform:translateY(-3px);
  box-shadow:0 20px 52px -16px rgba(244,239,224,.5);
}
.cta-pill:hover::before { opacity:1; }
.cta-pill:active { transform:translateY(-1px); }
.cta-icon {
  width:32px; height:32px;
  border-radius:50%;
  background:var(--g);
  color:var(--f);
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.cta-icon svg { width:55%; height:55%; }
.cta-arrow {
  font-size:1rem;
  transition:transform .3s ease;
  display:inline-block;
}
.cta-pill:hover .cta-arrow { transform:translate(2px, -2px); }

/* ═══════════════════════════════════════════════════════════
   FOOTER — centralizado com logo + frase
   ═══════════════════════════════════════════════════════════ */
footer {
  background:var(--g-night);
  padding:clamp(72px, 7vw, 112px) clamp(24px, 4vw, 64px) clamp(40px, 4vw, 64px);
  border-top:1px solid rgba(255,255,255,.06);
  position:relative;
  text-align:center;
}
.ft-inner {
  display:flex; flex-direction:column;
  align-items:center;
  gap:clamp(24px, 2vw, 36px);
  max-width:720px; margin:0 auto;
}
.ft-logo {
  height:clamp(72px, 11vw, 168px);
  width:auto;
  display:block;
}
.ft-quote {
  font-family:'Inter',sans-serif;
  font-style:italic;
  font-size:clamp(.92rem, .2vw + .8rem, 1.1rem);
  color:rgba(244,239,224,.55);
  line-height:1.6;
  max-width:42ch;
  font-weight:300;
}
/* ═══════════════════════════════════════════════════════════
   REVEAL — JS-conditional. Sem JS, tudo visivel.
   ═══════════════════════════════════════════════════════════ */
.rv { opacity:1; transform:none; }
html.js .rv {
  opacity:0; transform:translateY(32px);
  transition:opacity .9s cubic-bezier(.22,1,.36,1),
             transform .9s cubic-bezier(.22,1,.36,1);
}
html.js .rv.on { opacity:1; transform:none; }
html.js .rv.d1 { transition-delay:.1s; }
html.js .rv.d2 { transition-delay:.2s; }
html.js .rv.d3 { transition-delay:.32s; }
html.js .rv.d4 { transition-delay:.46s; }
/* Failsafe: depois de 4s, tudo aparece de qualquer jeito */
html.js.reveal-ready .rv { opacity:1; transform:none; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVO
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  nav { padding:22px 32px; }
  nav.scrolled { padding:16px 32px; }
  .hero { flex-direction:column; min-height:auto; padding-top:73px; }
  .hero-left {
    width:100%; min-height:auto;
    padding:56px 24px 48px;
    max-width:none;
    align-items:center;
    text-align:center;
  }
  .hero-h1 { max-width:none; text-align:center; }
  .hero-deck { text-align:center; }
  .hero-bottom { align-items:center; }
  .hero-client-block { text-align:center; }
  .hxl { max-width:none; }
  /* MOBILE: imagem em natural aspect, ocupando largura total */
  .hero-right {
    flex:none;
    width:100%;
    padding:0;
    background:var(--f);
    overflow:visible;
  }
  .hero-right img {
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    animation:none;
    filter:none;
    transform:none;
  }
  .hero-cue { display:none; }
  .s { padding:72px 40px; }
  .head { margin-bottom:56px; }
  .head > .chap { margin-bottom:36px; }
  .head > .hxl { margin-bottom:36px; }
  .studio > *,
  .concept > *,
  .ante > *,
  .mnt-top > * { margin-bottom:52px; }
  .concept-cols, .ante-cols {
    grid-template-columns:1fr; gap:40px;
  }
  .scope-grid { grid-template-columns:1fr 1fr; gap:32px; }
  .mnt-title { max-width:100%; }
  .mnt-top { padding-bottom:64px; }
  .mnt-card { padding:44px 32px; }
  .gi.tall, .gi.wide { grid-row:auto; grid-column:auto; }
  .split { grid-template-columns:1fr; }
  .split.rev { direction:ltr; }
  .split-img { min-height:400px; height:400px; }
  .split-text { padding:64px 40px; }
  .price-alt { flex-direction:column; align-items:center; gap:16px; }
  .alt-left { align-items:center; text-align:center; }
  footer { padding:64px 40px 40px; }
  .mq-item { padding:0 36px; font-size:1.2rem; }
}

@media (max-width: 720px) {
  html { font-size:15.5px; }
  nav { padding:16px 20px; }
  nav.scrolled { padding:12px 20px; }
  .n-logo { font-size:.96rem; }
  .n-ref { font-size:.54rem; letter-spacing:.16em; }
  .hero-left { padding:32px 24px 24px; }
  .hero-h1 { font-size:clamp(3rem, 13vw, 4.4rem); line-height:1; max-width:none; }
  .hero-deck { font-size:.95rem; margin-top:24px; max-width:none; line-height:1.55; }
  .hero-bottom { margin-top:32px; gap:24px; }
  .hero-client-name { font-size:1.4rem; }

  /* HERO MOBILE — PNG transparente em natural aspect, cream natural */
  .hero-right {
    width:100%;
    padding:8px 24px 40px;
    background:var(--f);
  }
  .hero-right img {
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    transform:none;
    animation:none;
    filter:none;
  }
  .hero-stats { grid-template-columns:1fr; }
  .hs-item {
    border-right:none !important;
    border-bottom:1px solid rgba(37,97,59,.16);
    padding:18px 20px;
    display:flex; align-items:baseline; gap:14px;
  }
  .hs-item:last-child { border-bottom:none; }
  .hs-n { font-size:1.5rem; margin-bottom:0; flex-shrink:0; min-width:64px; }
  .hs-l { line-height:1.3; }
  .mq { padding:14px 0; }
  .mq-item { font-size:1.05rem; padding:0 32px; }
  .mq::before, .mq::after { width:40px; }
  /* MOBILE — compactacao geral: menos respiro entre secoes/blocos */
  .s { padding:56px 24px; }
  .head { margin-bottom:36px; }
  .head > .chap { margin-bottom:24px; }
  .head > .hxl { margin-bottom:24px; }
  .concept-cols, .ante-cols { margin-top:32px; gap:32px; }
  .studio { gap:32px; }
  .studio > *,
  .concept > *,
  .ante > *,
  .mnt-top > * { margin-bottom:32px !important; }
  .studio-title,
  .concept-title,
  .ante-title { font-size:clamp(2rem, 9vw, 2.8rem); margin-bottom:28px !important; line-height:1.02; }
  .studio-card { padding:24px 20px; }
  .concept-card, .ante-card { padding:22px 18px; }
  .studio-cards, .concept-cards, .ante-cards { gap:12px; }
  .mnt-section { padding-top:40px; }
  .mnt-top { padding-bottom:28px; }
  .mnt-card { padding:28px 20px; }
  .mnt-card-title { font-size:1.4rem; }
  .mnt-card-price { font-size:2rem; margin-bottom:20px; }
  .mnt-list li { font-size:.88rem; }
  .mnt-closing { padding:40px 0; font-size:1.4rem; }
  .tl-card { padding:28px 22px; }
  .scope-grid { gap:32px; }
  .price-panel { padding:32px 24px; margin-bottom:32px; }
  .hxl { font-size:clamp(2rem, 8vw, 3rem); max-width:none; }
  .hlg { font-size:clamp(1.7rem, 6.5vw, 2.4rem); }
  .hmd { font-size:clamp(1.25rem, 5vw, 1.7rem); }
  .body-t, .c-body-t p { font-size:.92rem; line-height:1.8; }
  .img-full[style*="78vh"] { height:54vh !important; min-height:300px; }
  .img-full { min-height:280px; }
  .gal-grid { grid-template-columns:1fr; gap:2px; }
  .h300, .h420, .h610 { height:300px; }
  .gi-lbl { opacity:1; bottom:16px; left:18px; font-size:.56rem; }
  .gi-lbl::before { transform:scaleX(1); }
  .ante-cols img { height:380px !important; }
  .al-item { padding:24px 0; }
  .al-title { font-size:.88rem; }
  .split-img { min-height:320px; height:320px; }
  .split-text { padding:52px 24px; }
  .fase { padding:30px 0; grid-template-columns:38px 1fr; gap:16px; }
  .fases-list::before { left:11px; }
  .fase::before { left:8px; top:36px; }
  .f-name { font-size:.94rem; }
  .f-desc { font-size:.86rem; }
  .fst { font-size:.78rem; }
  .scope-box { margin-bottom:8px; }
  .p-val { font-size:clamp(2.8rem, 13vw, 3.8rem); }
  .pricing { gap:36px; }
  footer { padding:52px 22px 28px; }
  .ft-inner { gap:20px; padding-bottom:0; border-bottom:none; }
}

@media (max-width: 380px) {
  .hero-left { padding:36px 18px 40px; }
  .s { padding:72px 20px; }
  .split-text { padding:48px 20px; }
  .mnt-card { padding:32px 18px; }
  footer { padding:48px 18px 24px; }
}

/* ═══════════════════════════════════════════════════════════
   PREFERS-REDUCED-MOTION
   ═══════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  html.js .rv { opacity:1; transform:none; }
  html.js .hero-h1 .line-inner { transform:none; }
  html.js .hero-deck, html.js .hero-bottom { opacity:1; transform:none; }
  html.js .img-full img, html.js .gi img { clip-path:inset(0); transform:none; }
  .mq-track { animation:none; }
  .closing-img img { animation:none; }
  .hs-item::after, .hxl em::after, .hero-h1 em::after { transition:none; transform:scaleX(1); }
}

/* ═══════════════════════════════════════════════════════════
   PRINT — A4
   ═══════════════════════════════════════════════════════════ */
@media print {
  @page { margin:14mm; size:A4; }
  *, *::before, *::after {
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }
  html, body { background:var(--f) !important; }
  body { font-size:11pt; }
  nav, .mq, .grain, .prog, .cursor-ring, .cursor-dot, .hero-cue { display:none !important; }
  .gi-lbl { opacity:1 !important; }
  .hero { flex-direction:column; min-height:auto; padding-top:0; }
  .hero-left { width:100%; min-height:auto; padding:24mm 18mm; }
  .hero-right { position:relative; inset:auto; width:100%; height:90mm; }
  .hero-stats { grid-template-columns:repeat(3,1fr); }
  .hs-item { padding:10px 14px; }
  .hero-right img, .gi img, .img-full img, .closing-img img {
    animation:none !important; clip-path:none !important; transform:none !important;
  }
  .s { padding:18mm 18mm; }
  .concept-cols, .ante-cols { grid-template-columns:1fr; gap:24px; }
  .studio-cards { grid-template-columns:1fr 1fr 1fr; gap:2mm; }
  .mnt-top { padding-bottom:16mm; }
  .mnt-cards { grid-template-columns:1fr 1fr; gap:4mm; }
  .mnt-card { padding:14mm 12mm; }
  .gal-grid { grid-template-columns:1fr 1fr; gap:4px; }
  .gi.tall, .gi.wide { grid-row:auto; grid-column:auto; }
  .h300, .h420, .h610 { height:60mm; }
  .split { grid-template-columns:1fr; }
  .split.rev { direction:ltr; }
  .split-img { position:relative; min-height:80mm; height:80mm; }
  .split-text { padding:16mm 14mm; }
  img, .img-full, .split-img, .gi,
  .mnt-card, .price-row, .tl-card, .studio-card, .al-item, .c-item {
    page-break-inside:avoid; break-inside:avoid;
  }
  section, footer { page-break-inside:avoid; }
  h1, h2, h3, .hxl, .hlg, .hmd { page-break-after:avoid; }
  html.js .rv { opacity:1 !important; transform:none !important; }
  a { color:inherit; text-decoration:none; }
}

/* ═══════════════════════════════════════════════════════════
   LIGHTBOX — fullscreen image viewer
   ═══════════════════════════════════════════════════════════ */
.lightbox {
  position:fixed; inset:0;
  z-index:9990;
  background:rgba(14,40,24,.94);
  display:flex; align-items:center; justify-content:center;
  padding:clamp(24px, 4vw, 64px);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.lightbox.on {
  opacity:1;
  pointer-events:auto;
}
.lightbox-img {
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 24px 80px -16px rgba(0,0,0,.6);
  transform:scale(.95);
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}
.lightbox.on .lightbox-img {
  transform:scale(1);
}
.lightbox-close {
  position:absolute;
  top:clamp(20px, 2vw, 32px);
  right:clamp(20px, 2vw, 32px);
  background:transparent;
  border:1px solid rgba(244,239,224,.3);
  color:var(--f);
  width:48px; height:48px;
  border-radius:50%;
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
  transition:background .25s, border-color .25s, transform .25s;
  display:flex; align-items:center; justify-content:center;
}
.lightbox-close:hover {
  background:rgba(244,239,224,.1);
  border-color:var(--f);
  transform:rotate(90deg);
}

/* ═══════════════════════════════════════════════════════════
   MOBILE FORCE OVERRIDES — fim do arquivo pra ganhar cascade
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .studio-cards,
  .concept-cards,
  .mnt-cards,
  .ante-cards,
  .pm-cards,
  .pm-species,
  .tl-subcards,
  .tl-species-grid,
  .tl-phases,
  .tl-phase-steps,
  .scope-grid,
  .invest-grid { grid-template-columns:1fr !important; gap:clamp(14px, 2vw, 20px) !important; }

  .concept-card,
  .concept-card:nth-child(4),
  .concept-card:nth-child(5) { grid-column:1 !important; }

  .mnt-cards { padding:0 !important; }

  /* Hero mobile: garantir empilhado */
  .hero { flex-direction:column !important; min-height:auto !important; }
  .hero-left { width:100% !important; min-height:auto !important; }
  .hero-right { flex:none !important; width:100% !important; }

  /* Section padding compactado */
  .s, .pm-section, .tl-section { padding:clamp(56px, 8vw, 80px) clamp(20px, 5vw, 32px) !important; }
  .mnt-section { padding:clamp(56px, 8vw, 80px) clamp(20px, 5vw, 32px) 0 !important; }
}

@media (max-width: 720px) {
  .tl-card { padding:clamp(28px, 4vw, 36px) clamp(20px, 4vw, 28px) !important; }
  .invest-card { padding:clamp(24px, 4vw, 32px) !important; }
  .invest-discount { flex-direction:column !important; align-items:flex-start !important; gap:12px !important; }
  .studio-card,
  .concept-card,
  .ante-card,
  .mnt-card { padding:clamp(24px, 5vw, 32px) clamp(20px, 4vw, 28px) !important; }
  /* Titulos um pouco menores mobile */
  .studio-title,
  .concept-title,
  .tl-title,
  .mnt-title,
  .closing-title,
  .invest-head-title,
  .hxl { font-size:clamp(2.2rem, 9vw, 3rem) !important; }
  .hero-h1 { font-size:clamp(2.6rem, 12vw, 3.6rem) !important; }
  .invest-total .inv-big { font-size:clamp(3.5rem, 14vw, 5rem) !important; }
  .mnt-card-price { font-size:clamp(2.2rem, 10vw, 3rem) !important; }
}

/* === Mobile pontual extra === */
@media (max-width: 900px) {
  .studio > *,
  .concept > *,
  .ante > * { margin-bottom:clamp(20px, 4vw, 32px) !important; }
  .studio-title,
  .concept-title,
  .ante-title { margin-bottom:clamp(20px, 4vw, 32px) !important; }
  .studio-eyebrow,
  .concept-eyebrow { margin-bottom:clamp(16px, 3vw, 24px) !important; }
  .h420 { aspect-ratio:auto; height:300px; }
  /* Hero mobile: imagem grande visivel (bg-attachment fixed nao
     funciona em iOS Safari, entao usamos <img> regular) */
  .hero-right {
    flex:none !important;
    width:100% !important;
    height:auto !important;
    padding:0 24px clamp(40px, 8vw, 64px) !important;
    background:var(--f) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .hero-right img {
    display:block !important;
    width:100% !important;
    max-width:520px !important;
    height:auto !important;
    object-fit:contain !important;
    animation:none !important;
    transform:none !important;
    filter:none !important;
  }
}

/* === MOBILE: justificar subtitulos + corpos, soltar max-widths === */
@media (max-width: 720px) {
  .hero-deck,
  .studio-quote p,
  .studio-feature-text,
  .studio-p,
  .concept-lead-italic,
  .concept-p,
  .tl-lead,
  .tl-card-desc,
  .invest-head-sub,
  .mnt-sub,
  .closing-sub,
  .lede {
    text-align:justify !important;
    text-wrap:auto !important;
    max-width:none !important;
    hyphens:auto;
    -webkit-hyphens:auto;
  }
}
