/* ═══════════════════════════════════════════════════════════════
   TEMPLO DA MULHER REAL · Método Voltar a Ti
   Design: preto · rosa · dourado — luxo editorial 2026
   Desenvolvido por Futura Design
   ═══════════════════════════════════════════════════════════════ */

/* ── Fonte local: Humphrey Patterson (assinatura) ───────────── */
@font-face{
  font-family:'Humphrey Patterson';
  src:url('../assets/fonts/humphrey-patterson.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}

/* ── Tokens ─────────────────────────────────────────────────── */
:root{
  --bg:        #0C0A09;
  --bg-2:      #14100E;
  --bg-3:      #1B1512;
  --cream:     #F6EFE7;
  --cream-2:   #EFE4D8;
  --rose:      #E7B6BC;
  --rose-soft: #F3D9DC;
  --rose-deep: #C98E96;
  --btn:       #DE9182; /* rosa-salmão dos botões — tom aprovado, levemente escurecido */
  --btn-soft:  #EBA697;
  --btn-deep:  #C97665;
  --gold:      #C9A15F;
  --gold-soft: #E4C98F;
  --gold-deep: #9A7434;
  --text:      #37302B;
  --text-soft: #6E635B;
  --inv:       #F2EAE1;
  --inv-soft:  #B8ACA1;
  --wa:        #25D366;

  --serif:  'Cormorant Garamond', Georgia, serif;
  --display:'Fraunces', 'Cormorant Garamond', Georgia, serif;
  --sans:   'Jost', system-ui, sans-serif;
  --script: 'Humphrey Patterson', cursive;

  --ease:   cubic-bezier(.22,1,.36,1);
  --container: 1180px;
  --radius: 22px;
}

/* ── Reset / base ───────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{
  scroll-behavior:smooth;
  overflow-x:clip; /* impede a expansão da layout viewport no mobile */
  scrollbar-gutter:stable; /* evita salto ao travar o scroll */
  scrollbar-width:thin; /* barra fina (Chrome 121+, Firefox, Safari 18.2+) */
  scrollbar-color:var(--gold) var(--bg);
}
body{
  font-family:var(--sans);
  font-weight:300;
  font-size:1.02rem;
  line-height:1.58;
  color:var(--text);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:clip; /* clip (não hidden): hidden tornaria o body um scroll container, quebrando position:sticky e a trava do menu */
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}
::selection{background:var(--rose);color:#3A2226}
section{scroll-margin-top:92px}

/* fallback WebKit antigo (Safari <18.2); browsers com scrollbar-width ignoram estas regras */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--gold-deep),var(--gold));border-radius:99px}

.container{width:min(100% - 3rem, var(--container));margin-inline:auto}

h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:.01em}
h2{font-size:clamp(2.1rem,4.6vw,3.4rem);color:var(--text)}
.section-dark h2,.quote h2{color:var(--inv)}
em.rose{font-style:italic;color:var(--rose-deep)}
.section-dark em.rose{color:var(--rose)}
.gold{color:var(--gold)}
.rose{color:var(--rose-deep)}

.label{
  display:inline-block;
  font-size:.78rem;font-weight:500;
  letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold-deep);
  margin-bottom:1rem;
}
.section-dark .label{color:var(--gold)}

.sec-head{text-align:center;max-width:640px;margin:0 auto clamp(2.8rem,6vw,4.5rem)}
.sec-head p{color:var(--text-soft);margin-top:1rem}
.section-dark .sec-head p{color:var(--inv-soft)}
.sec-head-left{text-align:left;margin-inline:0}

/* ── Botões ─────────────────────────────────────────────────── */
.btn{
  position:relative;
  display:inline-flex;align-items:center;gap:.6rem;
  padding:1rem 2.1rem;
  font-family:var(--sans);font-size:.86rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:#fff;
  background:linear-gradient(135deg,var(--btn-soft),var(--btn) 50%,var(--btn-deep));
  border-radius:99px;
  overflow:hidden;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
  isolation:isolate;
}
.btn::after{ /* brilho que atravessa no hover */
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);
  transform:translateX(-120%);
  transition:transform .8s var(--ease);
}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 34px -12px rgba(201,118,101,.65)}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(-1px)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn .ic{width:18px;height:18px;flex:none}

.btn-gold{
  background:linear-gradient(135deg,var(--gold-soft),var(--gold) 55%,var(--gold-deep));
  color:#fff;
}
.btn-gold:hover{box-shadow:0 14px 34px -12px rgba(201,161,95,.6)}

.btn-ghost{
  background:transparent;
  color:var(--text);
  box-shadow:inset 0 0 0 1px rgba(154,116,52,.5);
}
.btn-ghost::after{background:linear-gradient(105deg,transparent 30%,rgba(201,161,95,.18) 50%,transparent 70%)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1px var(--gold), 0 14px 30px -14px rgba(201,161,95,.4)}
.section-dark .btn-ghost,.hero .btn-ghost,.cta-panel .btn-ghost{color:var(--inv)}

.btn-small{padding:.72rem 1.5rem;font-size:.76rem}

/* ── Barra de progresso ─────────────────────────────────────── */
.progress{
  position:fixed;top:0;left:0;right:0;height:2.5px;z-index:1002;
  background:linear-gradient(90deg,var(--gold),var(--rose));
  transform-origin:0 50%;transform:scaleX(0);
}

/* ── Preloader ──────────────────────────────────────────────── */
#preloader{
  position:fixed;inset:0;z-index:1001;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .7s ease .15s,visibility .7s ease .15s;
  animation:preGone .5s ease 12s forwards; /* failsafe CSS-only: some mesmo que o JS falhe */
}
@keyframes preGone{to{opacity:0;visibility:hidden}}
.pre-inner{text-align:center}
/* luz dourada varre devagar da esquerda p/ a direita (tons do gradiente do título) */
.pre-script{
  font-family:var(--script);font-size:clamp(2.3rem,5.5vw,3.4rem);
  display:block;color:transparent;
  background:linear-gradient(100deg,var(--gold) 0%,var(--gold) 40%,#F5E7C0 50%,var(--gold) 60%,var(--gold) 100%);
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;
  padding:.38em .25em .14em; /* área de pintura p/ os floreios (clip:text corta fora da caixa) */
  animation:preShine 4.5s ease-in-out infinite;
}
@keyframes preShine{from{background-position:100% 0}to{background-position:0% 0}}
.pre-line{
  display:block;width:0;height:1px;margin:1rem auto 0;
  background:linear-gradient(90deg,transparent,var(--rose),transparent);
  animation:preLine 1.8s var(--ease) infinite;
}
@keyframes preLine{0%{width:0}60%{width:150px}100%{width:150px;opacity:0}}
body.loaded #preloader{opacity:0;visibility:hidden;pointer-events:none}

/* ── Header ─────────────────────────────────────────────────── */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:1.1rem 0;
  transition:padding .5s var(--ease),background .5s ease,box-shadow .5s ease;
}
.site-header.scrolled{
  padding:.55rem 0;
  background:rgba(12,10,9,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 40px -18px rgba(0,0,0,.8);
}
.header-inner{display:flex;align-items:center;gap:2rem}

.brand{display:flex;align-items:center}
.brand-logo{
  height:clamp(44px,3.2vw + 32px,58px);width:auto;
  transition:transform .5s var(--ease);
}

.nav{display:flex;gap:1.9rem;margin-left:auto}
.nav a{
  position:relative;
  font-size:.8rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;
  color:var(--inv-soft);
  padding:.3rem 0;
  transition:color .35s ease;
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:linear-gradient(90deg,var(--gold),var(--rose));
  transform:scaleX(0);transform-origin:100% 50%;
  transition:transform .5s var(--ease);
}
.nav a:hover,.nav a.active{color:var(--inv)}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1);transform-origin:0 50%}

/* foco visível sobre o fundo escuro do header/menu */
.brand:focus-visible,.nav a:focus-visible,.burger:focus-visible,.header-cta:focus-visible,
.mobile-menu a:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}

/* melhoria assinatura: a logo ergue-se subtilmente ao pousar na marca */
.brand:hover .brand-logo,.brand:focus-visible .brand-logo{transform:translateY(-2px)}

.header-cta{flex:none}

/* ícone do menu: duas linhas douradas assimétricas que se fecham em X.
   Sobre o menu aberto, o burger fica clicável porque .site-header (1000) > .mobile-menu (999). */
.burger{
  display:none;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;
  width:44px;height:44px;padding:0 7px;
  margin-left:auto; /* fixa o ícone à direita quando o nav desktop some */
}
.burger span{
  display:block;height:1.6px;border-radius:99px;
  background:var(--gold);
  transition:transform .5s var(--ease),width .5s var(--ease),background .35s ease;
}
.burger span:nth-child(1){width:30px}
.burger span:nth-child(2){width:19px}
@media (hover:hover) and (pointer:fine){
  .burger:hover span{background:var(--rose)}
}
body.menu-open .burger span:nth-child(1){transform:translateY(4.3px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){width:30px;transform:translateY(-4.3px) rotate(-45deg)}

/* Menu mobile */
.mobile-menu{
  position:fixed;inset:0;z-index:999;
  background:rgba(12,10,9,.97);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;
  justify-content:safe center; /* quando o conteúdo excede a altura, alinha ao topo em vez de cortar */
  gap:2.4rem;
  padding:calc(env(safe-area-inset-top,0px) + 4.5rem) 1.5rem calc(env(safe-area-inset-bottom,0px) + 2rem);
  overflow-y:auto;
  overscroll-behavior:contain; /* impede o gesto de encadear e rolar a página atrás do menu */
  opacity:0;visibility:hidden;
  transition:opacity .5s ease,visibility .5s ease;
}
.mobile-menu nav{display:flex;flex-direction:column;align-items:center;gap:1.2rem}
.mobile-menu nav a{
  font-family:var(--serif);font-size:1.9rem;color:var(--inv);
  opacity:0;transform:translateY(22px);
  transition:opacity .5s ease,transform .6s var(--ease),color .3s ease;
  transition-delay:calc(var(--i) * 60ms);
}
.mobile-menu nav a:hover{color:var(--rose)}
.mobile-menu .btn,.mobile-menu .mm-social{
  opacity:0;transform:translateY(22px);
  transition:opacity .5s ease,transform .6s var(--ease);
  transition-delay:calc(var(--i) * 60ms);
}
.mm-social{display:flex;gap:.8rem}
.mm-social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--gold)}
.mm-social svg{width:24px;height:24px}

/* telas baixas (telemóvel em landscape): compactar para nada cortar */
@media (max-height:640px){
  .mobile-menu{gap:1.3rem}
  .mobile-menu nav{gap:.55rem}
  .mobile-menu nav a{font-size:1.4rem}
}
body.menu-open .mobile-menu{opacity:1;visibility:visible}
body.menu-open .mobile-menu nav a,
body.menu-open .mobile-menu .btn,
body.menu-open .mobile-menu .mm-social{opacity:1;transform:none}
body.menu-open{overflow:hidden}
html.menu-open{overflow:hidden} /* trava real: com clip na raiz, o overflow do body não propaga à viewport */

/* ── Hero ───────────────────────────────────────────────────── */
.hero{
  position:relative;
  min-height:100svh;
  background:radial-gradient(120% 90% at 84% 14%,var(--bg-3) 0%,var(--bg) 58%);
  color:var(--inv);
  display:grid;
  grid-template-columns:1fr 1fr; /* vídeo | texto — metade cada no desktop */
  overflow:hidden;
}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;transition:transform 1.2s var(--ease)}
.g1{width:52vw;height:52vw;right:-10vw;top:-14vw;background:radial-gradient(circle,rgba(201,161,95,.32),transparent 65%)}
.g2{width:38vw;height:38vw;left:-12vw;bottom:-10vw;background:radial-gradient(circle,rgba(231,182,188,.16),transparent 65%)}

.particle{
  position:absolute;width:5px;height:5px;border-radius:50%;
  background:radial-gradient(circle,var(--gold-soft),transparent 75%);
  animation:float 11s ease-in-out infinite;
  opacity:0;
}
.p1{left:12%;top:66%;animation-delay:0s}
.p2{left:28%;top:32%;animation-delay:1.8s;width:3px;height:3px}
.p3{left:47%;top:76%;animation-delay:3.4s}
.p4{left:63%;top:22%;animation-delay:5s;width:4px;height:4px}
.p5{left:79%;top:58%;animation-delay:6.6s;width:3px;height:3px}
.p6{left:90%;top:34%;animation-delay:8.2s}
@keyframes float{
  0%,100%{transform:translateY(0);opacity:0}
  12%{opacity:.9}
  50%{transform:translateY(-70px);opacity:.5}
  88%{opacity:0}
}

/* ══ Hero · split cinematográfico ══════════════════════════════
   Desktop: o vídeo ocupa metade do ecrã (altura total); o texto
   vive no lado escuro, alinhado à grelha. Mobile: o vídeo passa a
   fundo full-screen e o texto sobrepõe-se com um scrim de leitura. */

/* ── lado do vídeo (à direita no desktop) ── */
.hero-media{
  position:relative;z-index:1;order:2;
  min-height:100svh;overflow:hidden;
}
.hero-media video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:50% 28%;display:block;
}
/* costura suave: o bordo esquerdo do vídeo funde-se no escuro + vinhetas */
.hero-media-scrim{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,var(--bg) 0%,rgba(12,10,9,.9) 8%,rgba(12,10,9,.42) 32%,transparent 66%),
    linear-gradient(180deg,rgba(12,10,9,.6) 0%,transparent 24%),
    linear-gradient(0deg,rgba(12,10,9,.45) 0%,transparent 22%),
    linear-gradient(145deg,rgba(201,161,95,.14),transparent 46%);
}
/* chip de credencial sobre o vídeo — pill com medalhão da coroa */
.hero-chip{
  position:absolute;z-index:2;
  left:clamp(1.4rem,3vw,2.6rem);bottom:clamp(1.4rem,3vw,2.6rem);
  display:inline-flex;align-items:center;gap:.7rem;
  background:linear-gradient(135deg,rgba(27,21,18,.9),rgba(12,10,9,.74));
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(201,161,95,.45);border-radius:999px;
  padding:.45rem 1.15rem .45rem .45rem;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.78),inset 0 1px 0 rgba(228,201,143,.14);
}
.chip-ic{
  width:40px;height:40px;flex:none;border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 32% 28%,rgba(228,201,143,.22),rgba(201,161,95,.08) 62%);
  border:1px solid rgba(201,161,95,.5);
}
.hero-chip .ic{width:19px;height:19px;color:var(--gold-soft)}
.chip-txt{display:flex;flex-direction:column;gap:.18rem;min-width:0}
.hero-chip strong{font-family:var(--serif);font-size:1.02rem;letter-spacing:.04em;color:var(--inv);line-height:1}
.hero-chip em{font-style:normal;font-family:var(--sans);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);line-height:1;white-space:nowrap}

/* ── lado do texto (à esquerda no desktop) ── */
.hero-copy{
  position:relative;z-index:2;order:1;
  display:flex;align-items:center;
  padding-block:clamp(6rem,10vh,7.5rem) clamp(3rem,6vh,4.5rem);
  padding-inline:max(2rem,calc((100vw - var(--container)) / 2)) clamp(2rem,4vw,4.5rem);
}
.hero-copy-inner{position:relative;z-index:2;width:100%;max-width:35rem}

/* kicker com filete dourado */
/* headline (Fraunces) */
.hero-display{
  font-family:var(--display);font-optical-sizing:auto;
  font-weight:500;line-height:.94;letter-spacing:-.015em;text-transform:uppercase;
  font-size:clamp(2.6rem,4.7vw,4.7rem);
}
.d-top{display:block;color:var(--inv)}
.d-bottom{
  display:block;color:transparent;
  background:linear-gradient(100deg,var(--rose-soft) 4%,var(--rose) 46%,var(--gold-soft) 96%);
  -webkit-background-clip:text;background-clip:text;
}

/* script + subtítulo */
.hero-script{
  font-family:var(--script);
  font-size:clamp(2.2rem,3.8vw,3.3rem);line-height:1.15;
  color:transparent;
  background:linear-gradient(100deg,#F0DFB2 0%,var(--gold-soft) 42%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text; /* dourado que clareia suavemente à esquerda */
  position:relative;z-index:1;
  /* background-clip:text só pinta dentro da caixa: padding dá área p/ os floreios
     altos da Humphrey (senão ficam cortados); margens negativas compensam */
  padding:.38em .2em .14em 0;
  margin:calc(.4rem - .38em) 0 calc(1.1rem - .14em);
}
.hero-sub{max-width:44ch;color:var(--inv-soft);font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.3}
.hero-sub em{font-family:var(--serif);font-style:italic;font-size:1.16em;color:var(--rose-soft)}

/* ações + micro-legenda (a menor fonte da página) */
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:clamp(1.8rem,3vw,2.4rem)}
/* botões um pouco mais compactos no hero para caberem lado a lado */
.hero-actions .btn{padding:.9rem 1.55rem;font-size:.82rem;letter-spacing:.1em}
.hero-tagline{
  margin-top:1.1rem;
  font-family:var(--sans);font-size:.6rem;font-weight:400;
  letter-spacing:.24em;text-transform:uppercase;color:var(--inv-soft);
}

/* stats 3 · 10 · 7 */
.hero-meta{
  list-style:none;padding:1.6rem 0 0;
  display:flex;flex-wrap:wrap;gap:clamp(1.4rem,3vw,2.6rem);
  margin-top:clamp(1.8rem,3vw,2.4rem);
  border-top:1px solid rgba(201,161,95,.22);
}
.hero-meta li{display:flex;align-items:center;gap:.7rem}
.hero-meta strong{font-family:var(--serif);font-size:clamp(1.7rem,2.2vw,2.1rem);font-weight:500;color:var(--gold-soft)}
.hero-meta span{font-size:.7rem;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--inv-soft)}

/* ── Marquee ────────────────────────────────────────────────── */
.marquee{
  overflow:hidden;
  background:var(--bg);
  border-block:1px solid rgba(201,161,95,.25);
  padding:1rem 0;
}
.marquee-track{display:flex;width:max-content;will-change:transform;animation:marquee var(--marquee-dur,90s) linear infinite}
.marquee-group{display:flex;flex:none}
.marquee span{
  display:flex;align-items:center;
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.05rem,.92rem + .65vw,1.3rem);color:var(--gold-soft);
  padding:0 1.2rem;white-space:nowrap;
}
.m-lotus{width:.95em;height:.95em;flex:none;color:var(--rose);margin-left:2.2rem}
@keyframes marquee{to{transform:translateX(-50%)}}
/* pausa suave ao pousar o cursor (só em dispositivos com hover real) */
@media (hover:hover) and (pointer:fine){
  .marquee:hover .marquee-track{animation-play-state:paused}
}

/* ── Sobre ──────────────────────────────────────────────────── */
.sobre{padding:clamp(4.5rem,9vw,7.5rem) 0;background:var(--cream)}
.sobre-grid{
  display:grid;grid-template-columns:.9fr 1.1fr;
  gap:clamp(2.5rem,6vw,5.5rem);
  align-items:center;
}
/* foto camuflada: sem moldura nem sombra — sangra até à borda esquerda do
   ecrã e as arestas dissolvem-se no cream da secção via máscara */
.sobre-figure{position:relative;align-self:center;
  margin-left:min(-1.1rem,calc((100vw - var(--container)) / -2));
  margin-right:-4.5rem} /* avança sobre o gap: a mulher aproxima-se do texto (fade direito disfarça) */
.sobre-photo{
  width:100%;height:auto;display:block;
  -webkit-mask-image:
    linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent 100%),
    linear-gradient(180deg,transparent 0,#000 7%,#000 92%,transparent 100%);
  -webkit-mask-composite:destination-in;
  mask-image:
    linear-gradient(90deg,transparent 0,#000 15%,#000 85%,transparent 100%),
    linear-gradient(180deg,transparent 0,#000 7%,#000 92%,transparent 100%);
  mask-composite:intersect;
}

.sobre-content .lead{font-family:var(--serif);font-size:1.35rem;font-style:italic;line-height:1.32;color:var(--text);margin:1.2rem 0 1rem}
.sobre-content p{margin-bottom:1rem;color:var(--text-soft);max-width:64ch}
/* traço editorial antes do label (só no Sobre) */
.sobre-content .label::before{
  content:"";display:inline-block;width:34px;height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  margin-right:.65rem;vertical-align:middle;
}

/* citação-inscrição: filetes dourados que desvanecem, sem barra lateral */
.sobre-quote{position:relative;margin:1.7rem 0;padding:1.05rem 0 1.15rem}
.sobre-quote::before,.sobre-quote::after{
  content:"";position:absolute;left:0;width:100%;height:1px;
  background:linear-gradient(90deg,rgba(154,116,52,.5),rgba(154,116,52,.14) 55%,transparent 85%);
}
.sobre-quote::before{top:0}
.sobre-quote::after{bottom:0}
.q-top{display:block;font-family:var(--serif);font-style:italic;font-size:1.18rem;color:var(--text)}
.q-words{display:block;margin-top:.4rem;font-family:var(--serif);font-size:1.05rem;color:var(--text-soft)}
.q-words b{font-weight:600;font-size:1.16rem;color:var(--gold-deep);letter-spacing:.02em}
.q-words i{font-style:normal;color:var(--rose-deep);padding-inline:.15rem}

/* fecho: CTA + assinatura manuscrita */
.sobre-cta{display:flex;align-items:center;gap:1.7rem;margin-top:2.1rem}
.sobre-sign{
  font-family:var(--script);font-size:2.05rem;line-height:1;
  color:var(--gold-deep);opacity:.9;
  transform:rotate(-4deg);user-select:none;
}

/* ── Secções escuras + transições de forma ──────────────────── */
.section-dark{position:relative;background:var(--bg);color:var(--inv)}
.curve-top{overflow-x:clip} /* a curva alarga -6%: cortar aqui evita overflow horizontal no mobile */
.curve-top::before{
  content:"";position:absolute;top:-1px;left:-6%;right:-6%;height:clamp(38px,6.5vw,84px);
  background:var(--cream);
  border-radius:0 0 100% 100%/0 0 100% 100%;
}

/* ── Trabalho (pilares) ─────────────────────────────────────── */
.trabalho{padding:clamp(6.5rem,11vw,9.5rem) 0 clamp(4.5rem,9vw,7.5rem)}
.pilares-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
  counter-reset:pilar;
}
.pilar{
  position:relative;
  background:linear-gradient(170deg,var(--bg-2),var(--bg-3));
  border:1px solid rgba(201,161,95,.1);
  border-radius:var(--radius);
  padding:2rem 1.5rem 1.8rem;
  transition:transform .55s var(--ease),border-color .55s ease,background .55s ease;
}
/* contorno dourado em meia-borda (gradiente que desvanece a meio do card);
   cartões pares espelham o canto, como no layout de referência */
.pilar::before{
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,rgba(201,161,95,.85),rgba(201,161,95,.3) 32%,transparent 55%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  pointer-events:none;
}
.pilar:nth-child(even)::before{
  background:linear-gradient(225deg,rgba(201,161,95,.85),rgba(201,161,95,.3) 32%,transparent 55%);
}
/* numeração dourada 01–08 — os pilares como colunas do templo */
.pilar::after{
  counter-increment:pilar;
  content:"0" counter(pilar);
  position:absolute;top:1.3rem;right:1.5rem;
  font-family:var(--serif);font-size:.9rem;letter-spacing:.14em;
  color:rgba(201,161,95,.5);
}
.pilar:hover{transform:translateY(-7px);border-color:rgba(201,161,95,.4)}
.pilar:active{transform:translateY(-3px);border-color:rgba(201,161,95,.4)} /* feedback no toque */
/* ícone em badge arredondado, eco do layout de referência */
.p-ic{
  width:48px;height:48px;padding:11px;
  color:var(--gold-soft);
  background:linear-gradient(145deg,rgba(201,161,95,.2),rgba(201,161,95,.05));
  border:1px solid rgba(201,161,95,.38);border-radius:14px;
  margin-bottom:1.15rem;
  transition:color .45s ease,transform .55s var(--ease),border-color .45s ease;
}
.pilar:hover .p-ic{color:var(--rose);border-color:rgba(231,182,188,.5);transform:translateY(-3px)}
.pilar h3{font-size:1.22rem;margin-bottom:.5rem;color:var(--inv);text-wrap:balance}
.pilar p{font-size:.92rem;color:var(--inv-soft);line-height:1.52}

/* ── Ferramentas ────────────────────────────────────────────── */
.ferramentas{position:relative;padding:clamp(6.5rem,11vw,9.5rem) 0 clamp(4.5rem,9vw,7.5rem);background:var(--cream)}
.ferramentas::before{ /* transição diagonal a partir da secção escura */
  content:"";position:absolute;top:-1px;left:0;right:0;height:clamp(40px,7vw,90px);
  background:var(--bg);
  clip-path:polygon(0 0,100% 0,0 100%);
}
.ferr-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2.5rem,5vw,4.5rem);align-items:start}

.ferr-list li{
  position:relative;
  display:flex;align-items:baseline;gap:1.3rem;
  padding:1.05rem .4rem;
  border-bottom:1px solid rgba(154,116,52,.2);
  transition:padding-left .45s var(--ease),background .45s ease;
}
/* melhoria assinatura: separador "acende" em dourado→rosé no hover */
.ferr-list li::after{
  content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;
  background:linear-gradient(90deg,var(--gold),var(--rose-deep));
  transform:scaleX(0);transform-origin:0 50%;
  transition:transform .6s var(--ease);
}
.ferr-list li:hover{padding-left:1.1rem;background:rgba(231,182,188,.12)}
.ferr-list li:hover::after{transform:scaleX(1)}
.ferr-list b{
  font-family:var(--serif);font-weight:500;font-size:1.5rem;
  color:transparent;
  background:linear-gradient(160deg,var(--gold),var(--gold-deep));
  -webkit-background-clip:text;background-clip:text;
  min-width:2.2rem;
}
.ferr-list li span{font-weight:400;color:var(--text);font-size:1.02rem}

.ferr-note{
  display:flex;gap:1.15rem;align-items:flex-start;
  margin-top:2rem;
  background:#fff;
  border:1px solid rgba(201,161,95,.35);
  border-radius:var(--radius);
  padding:1.6rem 1.7rem;
  font-size:.95rem;color:var(--text-soft);
  box-shadow:0 22px 46px -26px rgba(55,48,43,.2);
}
/* medalhão com a lótus da marquee */
.fn-ic{
  flex:none;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(145deg,var(--rose-soft),rgba(231,182,188,.35));
  border:1px solid rgba(201,142,150,.5);
  color:var(--rose-deep);
}
.fn-ic .ic{width:26px;height:26px}
.ferr-note p{margin:0;line-height:1.6}
.ferr-note strong{color:var(--text);font-weight:500}

.ferr-panel{
  position:sticky;top:110px;
  background:linear-gradient(155deg,var(--rose-soft),var(--rose) 70%,var(--rose-deep));
  border-radius:var(--radius);
  padding:2.4rem 2.2rem;
  color:#4A2A30;
  box-shadow:0 34px 70px -30px rgba(201,142,150,.55);
}
.ferr-panel h3{font-size:1.5rem;margin-bottom:1.4rem;color:#3A2226}
.ferr-panel ul{display:flex;flex-direction:column;gap:.9rem}
.ferr-panel li{display:flex;gap:.75rem;align-items:center;font-weight:400}
.ferr-panel .ic{width:19px;height:19px;flex:none;color:#8C4E58}
.panel-script{
  font-family:var(--script);font-size:1.7rem;line-height:1.45;
  color:#5A2E36; /* vinho escuro: contraste AA sobre o painel rosa (o branco anterior ficava ~1.8:1) */
  margin-top:1.8rem;padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.4);
}
.panel-script span{color:#8C4E58}

/* ── Mentorias ──────────────────────────────────────────────── */
.mentorias{padding:clamp(6.5rem,11vw,9.5rem) 0 clamp(4.5rem,9vw,7.5rem)}
.pricing-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1.6rem;
  align-items:stretch;
}
.plan{
  position:relative;
  display:flex;flex-direction:column;
  background:linear-gradient(175deg,var(--bg-2),var(--bg-3));
  border:1px solid rgba(201,161,95,.2);
  border-radius:calc(var(--radius) + 6px);
  padding:1.9rem 1.8rem 1.8rem;
  transition:transform .55s var(--ease),border-color .5s ease,box-shadow .55s ease;
}
.plan:hover{transform:translateY(-8px);border-color:rgba(201,161,95,.5);box-shadow:0 34px 70px -32px rgba(0,0,0,.9)}
/* cabeçalho compacto: duração à esquerda, preço à direita (uma linha só) */
.plan-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin-bottom:1.1rem;
}
.plan-time{
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--rose);
  border:1px solid rgba(231,182,188,.4);
  border-radius:99px;
  padding:.35rem .95rem;
}
.plan h3{font-size:1.45rem;color:var(--inv)}
.plan-desc{font-size:.92rem;color:var(--inv-soft);margin:.45rem 0 1.1rem}
.plan-price{
  font-family:var(--serif);font-size:clamp(1.9rem,1.6rem + 1vw,2.3rem);font-weight:500;color:var(--inv);
  line-height:1;
}
.plan-price i{font-style:normal;font-size:1.05rem;color:var(--gold);vertical-align:super;margin-right:.1rem}
.plan ul{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.5rem}
.plan li{
  position:relative;
  padding-left:1.7rem;
  font-size:.94rem;font-weight:300;color:var(--inv-soft);
}
.plan li::before{
  content:"";position:absolute;left:0;top:.52em;
  width:.95rem;height:.5rem;
  border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);
  transform:rotate(-45deg);
}
.plan .btn{margin-top:auto;justify-content:center}

.plan-featured{
  background:
    linear-gradient(175deg,var(--bg-2),var(--bg-3)) padding-box,
    linear-gradient(165deg,var(--gold),var(--rose) 60%,var(--gold-deep)) border-box;
  border:1.5px solid transparent;
  transform:translateY(-14px);
  box-shadow:0 40px 80px -34px rgba(0,0,0,.95);
  isolation:isolate;
}
.plan-featured:hover{transform:translateY(-21px)}
/* melhoria assinatura: brilho dourado que "respira" no topo do card destacado */
.plan-featured::after{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:radial-gradient(85% 55% at 50% 0%,rgba(201,161,95,.18),transparent 70%);
  animation:featGlow 4.5s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes featGlow{from{opacity:.35}to{opacity:1}}
.plan-badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  white-space:nowrap;
  font-size:.66rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:#2C2013;
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));
  border-radius:99px;
  padding:.42rem 1.1rem;
  box-shadow:0 10px 24px -10px rgba(201,161,95,.8);
}
.pricing-note{
  text-align:center;margin-top:2.6rem;
  font-size:.88rem;letter-spacing:.08em;color:var(--inv-soft);
}

/* ── Citação · card flutuante sobre a divisão das secções ───── */
.quote{
  position:relative;
  /* acima da secção seguinte: a sombra do card cai naturalmente sobre os Depoimentos,
     sem ser cortada pelo fundo cream que é pintado depois na ordem do documento */
  z-index:1;
  /* metade escura (continua as Mentorias) / metade cream (antecipa os Depoimentos):
     a divisão passa por baixo do card */
  background:linear-gradient(180deg,var(--bg) 0 55%,var(--cream) 55% 100%);
  padding:clamp(4.5rem,8vw,7rem) 0;
  text-align:center;
}
.quote::before{ /* filete dourado da divisão, visível nas laterais do card */
  content:"";position:absolute;left:0;right:0;top:55%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(154,116,52,.4) 18%,rgba(154,116,52,.4) 82%,transparent);
}
.quote-card{
  position:relative;overflow:hidden;
  max-width:920px;margin-inline:auto;
  background:
    radial-gradient(70% 100% at 50% 0%,rgba(201,161,95,.12),transparent 60%),
    linear-gradient(175deg,var(--bg-2),var(--bg-3));
  border-radius:calc(var(--radius) + 10px);
  padding:clamp(3rem,6vw,4.5rem) clamp(1.5rem,4vw,3.5rem);
  box-shadow:0 34px 80px -30px rgba(12,10,9,.45);
}
.quote-card::before{ /* meia-borda dourada, eco dos cards do método */
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(160deg,rgba(201,161,95,.7),rgba(201,161,95,.22) 40%,rgba(201,161,95,.06) 70%,rgba(201,161,95,.35) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  pointer-events:none;
}
.quote-lotus{
  position:absolute;left:50%;top:50%;
  width:min(520px,90vw);height:auto;
  transform:translate(-50%,-50%);
  color:var(--gold);opacity:.2; /* mais presente */
  /* gradiente de opacidade: pétalas nítidas no topo, dissolvendo para a base */
  -webkit-mask-image:linear-gradient(180deg,#000 20%,rgba(0,0,0,.4) 62%,rgba(0,0,0,.08) 100%);
  mask-image:linear-gradient(180deg,#000 20%,rgba(0,0,0,.4) 62%,rgba(0,0,0,.08) 100%);
}
.quote blockquote{position:relative}
/* melhoria assinatura: ✦ dourado emoldurando a citação, com contenção */
.quote blockquote::before,
.quote blockquote::after{
  content:"✦";display:block;
  font-size:.95rem;color:var(--gold);opacity:.75;
}
.quote blockquote::before{margin-bottom:1.8rem}
.quote blockquote::after{margin-top:2rem}
.q-line{font-family:var(--serif);font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.35;color:var(--inv);text-wrap:balance}
.q-rose{font-size:clamp(2rem,5vw,3.3rem);margin-top:.35rem}
.q-rose em{font-style:italic;color:var(--rose)}
.q-small{font-size:clamp(1.15rem,2.4vw,1.55rem);color:var(--inv-soft);font-style:italic}
.q-line + .q-small{margin-top:1.4rem}
.q-small + .q-small{margin-top:.3rem}

/* ── Depoimentos ────────────────────────────────────────────── */
.depoimentos{position:relative;padding:clamp(4.5rem,8vw,7rem) 0 clamp(6rem,10vw,8.5rem);background:var(--cream);overflow-x:clip}
.t-note{font-size:.8rem !important;letter-spacing:.1em;color:var(--rose-deep) !important;font-style:italic}

/* selo de avaliação no cabeçalho */
.reviews-summary{
  display:inline-flex;align-items:center;gap:.6rem;
  margin-top:1.15rem;padding:.6rem 1.15rem;
  border:1px solid rgba(154,116,52,.35);border-radius:999px;
  background:#fff;
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);
}
.reviews-summary strong{font-family:var(--serif);font-size:1.02rem;color:var(--text)}

/* fileiras de comentários em deslize contínuo (pausa no hover) */
.reviews-rows{display:grid;gap:1.1rem}
.review-row{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);
}
.review-track{
  display:flex;width:max-content;gap:1.1rem;
  padding:2px 0;
  animation:reviews-scroll 46s linear infinite;
  will-change:transform;
}
.review-row--reverse .review-track{animation-direction:reverse;animation-duration:52s}
@media (hover:hover) and (pointer:fine){
  .review-row:hover .review-track{animation-play-state:paused}
}
.review-card{
  width:clamp(285px,28vw,360px);
  min-height:172px;
  padding:1.4rem 1.5rem;
  background:#fff;
  border:1px solid rgba(154,116,52,.28);
  border-radius:20px;
}
.review-card:nth-child(2n){background:#FAEDE9} /* alterna com rosa-creme suave */
.review-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
.review-card__top div{display:grid;gap:2px}
.review-card__top strong{font-family:var(--serif);font-size:1rem;letter-spacing:.03em;color:var(--text)}
.review-card__top div span{font-size:.7rem;color:var(--text-soft)}
.review-stars{color:var(--gold);font-size:.8rem;letter-spacing:.1em}
.google-mark{
  font-weight:700;font-size:1.05rem;
  color:transparent;
  background:conic-gradient(from -45deg,#4285F4 0 25%,#34A853 0 48%,#FBBC05 0 72%,#EA4335 0);
  -webkit-background-clip:text;background-clip:text;
}
.review-card p{margin:.55rem 0 0;font-size:.85rem;line-height:1.55;color:var(--text-soft)}
/* -50% menos meio gap: o conjunto duplicado assume o lugar exato do primeiro (loop perfeito) */
@keyframes reviews-scroll{to{transform:translateX(calc(-50% - .55rem))}}

.t-google{text-align:center;margin-top:2.4rem}
.google-btn{
  display:inline-flex;align-items:center;gap:.7rem;
  font-size:.82rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--text);
  border:1px solid rgba(154,116,52,.45);
  border-radius:99px;
  padding:.85rem 1.7rem;
  transition:all .4s var(--ease);
}
.google-btn .ic{width:20px;height:20px;color:var(--gold-deep)}
.google-btn:hover{border-color:var(--gold);box-shadow:0 12px 28px -14px rgba(201,161,95,.5);transform:translateY(-2px)}

/* ── CTA final ──────────────────────────────────────────────── */
/* ── Instagram · criativos em carrossel contínuo ────────────── */
.insta{background:var(--cream);padding:0 0 clamp(5rem,9vw,7.5rem);overflow-x:clip}
.insta-handles{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.15rem}
.insta-handle{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.6rem 1.3rem;
  border:1px solid rgba(154,116,52,.35);border-radius:999px;
  background:#fff;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-soft);
  transition:color .3s ease,border-color .3s ease,transform .3s var(--ease);
}
.insta-handle .ic{width:16px;height:16px;color:var(--gold-deep)}
.insta-handle:hover{color:var(--gold-deep);border-color:rgba(154,116,52,.6);transform:translateY(-2px)}
.insta-handle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.insta-row{
  margin-top:clamp(2rem,4vw,3rem);
  overflow:hidden;
}
.insta-track{
  display:flex;width:max-content;gap:1.1rem;
  padding:2px 0;
  animation:reviews-scroll 42s linear infinite;
  will-change:transform;
}
@media (hover:hover) and (pointer:fine){
  .insta-row:hover .insta-track{animation-play-state:paused}
}
.insta-card{
  position:relative;display:block;
  width:clamp(225px,24vw,300px);aspect-ratio:4/5;
  border-radius:18px;overflow:hidden;
  border:1px solid rgba(154,116,52,.28);
}
.insta-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.insta-card:hover img{transform:scale(1.05)}
.insta-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.insta-view{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;align-items:center;justify-content:center;
  padding:2.4rem 1rem .95rem;
  background:linear-gradient(180deg,transparent,rgba(12,10,9,.78));
  color:var(--inv);
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  opacity:0;transition:opacity .4s ease;
}
.insta-card:hover .insta-view,.insta-card:focus-visible .insta-view{opacity:1}

.cta-final{background:var(--cream);padding:0 0 clamp(4.5rem,8vw,7rem)}
.cta-panel{
  position:relative;
  text-align:center;
  background:
    radial-gradient(90% 130% at 50% -20%,rgba(201,161,95,.28),transparent 55%),
    linear-gradient(170deg,var(--bg-2),var(--bg));
  border:1px solid rgba(201,161,95,.35);
  border-radius:260px 260px var(--radius) var(--radius); /* painel em arco */
  padding:clamp(4.5rem,8vw,6.5rem) 2rem clamp(3.5rem,6vw,5rem);
  overflow:hidden;
}
/* melhoria assinatura: fio de luz dourada a descer do ápice do arco — "voltar à luz" */
.cta-panel::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:1px;height:clamp(56px,9vw,104px);
  background:linear-gradient(180deg,var(--gold-soft),transparent);
  opacity:.85;pointer-events:none;
}
.cta-script{font-family:var(--script);font-size:clamp(1.8rem,3.4vw,2.5rem);color:var(--rose);display:block;margin-bottom:.5rem}
.cta-panel h2{font-size:clamp(2.6rem,6vw,4.4rem);text-transform:uppercase;letter-spacing:.03em;color:var(--inv)}
.cta-panel h2 em{font-style:normal}
.cta-panel p{color:var(--inv-soft);max-width:44ch;margin:1.1rem auto 0}
.cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2.4rem}

/* ── Footer ─────────────────────────────────────────────────── */
.footer{background:var(--bg);color:var(--inv-soft);padding:clamp(4rem,7vw,5.5rem) 0 0;border-top:1px solid rgba(201,161,95,.16)}
.footer-grid{
  display:grid;grid-template-columns:1.3fr .7fr 1fr 1fr;
  gap:clamp(2rem,4vw,3.5rem);
  padding-bottom:3rem;
}
.f-logo{height:74px;width:auto;margin-bottom:1.2rem}
.f-name{font-family:var(--serif);font-size:1.3rem;letter-spacing:.14em;text-transform:uppercase;color:var(--inv)}
.f-script{font-family:var(--script);font-size:1.5rem;color:var(--gold);margin:.2rem 0 1.2rem}
.f-social{display:flex;gap:1rem}
.f-social a{
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(201,161,95,.35);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);
  transition:all .4s var(--ease);
}
.f-social a:hover{background:var(--gold);color:var(--bg);transform:translateY(-3px)}
.f-social svg{width:18px;height:18px}

.f-col h4{
  font-family:var(--sans);font-size:.78rem;font-weight:500;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.3rem;
}
.f-col{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.f-col a{display:inline-flex;align-items:center;gap:.6rem;font-size:.94rem;overflow-wrap:anywhere;transition:color .35s ease,transform .35s var(--ease)}
.f-col a:hover{color:var(--rose);transform:translateX(4px)}
.f-col a:focus-visible,.f-social a:focus-visible,.footer-bottom a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.f-col .ic{width:17px;height:17px;flex:none;color:var(--gold-deep)}
.google-btn-dark{color:var(--inv);border-color:rgba(201,161,95,.4)}
.google-btn-dark .ic{color:var(--gold)}
/* rodapé inferior no padrão da referência: © à esquerda, créditos com logo à direita */
.footer-bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;
  border-top:1px solid rgba(201,161,95,.14);
  padding:1.4rem 0;
  font-size:.72rem;color:rgba(184,172,161,.6);
}
.f-dev{
  display:flex;align-items:center;gap:.55rem;
  font-size:.8rem;color:rgba(184,172,161,.85);white-space:nowrap;
}
.f-dev-link{display:inline-flex;border-radius:4px}
.f-dev-link img{
  width:78px;height:auto;
  opacity:.72;filter:invert(1);
  transition:filter .25s ease,opacity .25s ease,transform .25s ease;
}
.f-dev-link:hover img{
  opacity:1;
  filter:invert(1) drop-shadow(0 0 8px rgba(255,255,255,.9)) drop-shadow(0 0 18px rgba(201,161,95,.65));
  transform:scale(1.04);
}

/* ── WhatsApp flutuante ─────────────────────────────────────── */
.whats-fab{
  position:fixed;z-index:998;
  right:calc(1.4rem + env(safe-area-inset-right,0px));
  bottom:calc(1.4rem + env(safe-area-inset-bottom,0px));
  width:56px;height:56px;border-radius:50%;
  background:var(--wa);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 14px 34px -10px rgba(37,211,102,.65);
  transition:transform .4s var(--ease);
}
.whats-fab:hover{transform:translateY(-4px) scale(1.05)}
.whats-fab svg{width:28px;height:28px}
.whats-fab::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  border:1.5px solid var(--wa);
  animation:pulse 2.4s ease-out infinite;
}
@keyframes pulse{
  0%{transform:scale(1);opacity:.85}
  100%{transform:scale(1.75);opacity:0}
}

/* ── Foco visível unificado nos controles restantes ─────────── */
.google-btn:focus-visible,.whats-fab:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;
}

/* ── Sistema de reveal ──────────────────────────────────────── */
[data-reveal]{opacity:0;transition:opacity .9s ease,transform 1s var(--ease),clip-path 1s var(--ease);will-change:opacity,transform}
[data-reveal="up"]{transform:translateY(34px)}
[data-reveal="left"]{transform:translateX(40px)}
[data-reveal="right"]{transform:translateX(-40px)}
[data-reveal="zoom"]{transform:scale(.92)}
[data-reveal].in-view{opacity:1;transform:none}

/* ── Responsivo ─────────────────────────────────────────────── */
@media (max-width:1100px){
  .nav{gap:1.3rem}
  .pilares-grid{grid-template-columns:repeat(2,1fr)}
}

/* hambúrguer entra quando brand + 6 links + CTA deixam de caber com folga */
@media (max-width:1024px){
  .nav,.header-cta{display:none}
  .burger{display:flex}
}

@media (max-width:960px){
  /* poster "XR" em TODOS os móveis e tablet: conteúdo em fluxo + banda de
     vídeo com altura própria (não depende da altura do ecrã -> igual no SE
     e no XR). O vídeo sobe por trás dos botões via margem negativa; stops
     em px garantem zona 100% sólida nas bordas = sem linha nem fresta. */
  .hero{display:flex;flex-direction:column;min-height:0;background:var(--bg)}
  .hero-media{position:relative;z-index:1;min-height:0;
    height:min(150vw,900px);            /* banda alta: mostra a cena desde o topo da cabeça */
    margin-top:-150px}                  /* emerge por trás dos botões/tagline */
  .hero-media video{object-position:50% 0%} /* sem corte no topo do enquadramento */
  /* reveal rápido logo abaixo da tagline p/ a cabeça e o arco ficarem visíveis */
  .hero-media-scrim{background:
    linear-gradient(180deg,var(--bg) 0 56px,rgba(12,10,9,.95) 130px,rgba(12,10,9,.4) 200px,rgba(12,10,9,.12) 260px,transparent 330px),
    linear-gradient(0deg,var(--bg) 0 10px,rgba(12,10,9,.5) 80px,transparent 220px),
    linear-gradient(210deg,rgba(201,161,95,.1),transparent 54%)}
  /* chip visível no mobile: centrado na sombra inferior do vídeo
     (left/right+margin auto — não usa transform p/ não brigar com o reveal) */
  .hero-chip{left:0;right:0;margin-inline:auto;width:fit-content;
    bottom:1.2rem;padding:.4rem 1rem .4rem .4rem;gap:.6rem}
  .chip-ic{width:36px;height:36px}
  .hero-chip .ic{width:17px;height:17px}
  .hero-chip strong{font-size:.95rem}
  .hero-chip em{font-size:.5rem;letter-spacing:.13em}
  .hero-bg{display:none}
  .hero-copy{position:relative;z-index:2;min-height:0;align-items:flex-start;justify-content:center;text-align:center;
    padding:clamp(5.5rem,13vh,7rem) clamp(1.6rem,6vw,2.6rem) 0}
  .hero-copy-inner{max-width:min(100%,40rem);margin-inline:auto}
  .hero-sub{margin-inline:auto}
  /* CTAs empilhados e centrados (como no XR) em móvel E tablet */
  .hero-actions{flex-direction:column;align-items:stretch;width:min(100%,340px);margin-inline:auto}
  .hero-actions .btn{justify-content:center}
  .hero-meta{display:none} /* poster limpo, igual à referência */
  .hero-tagline{text-shadow:0 1px 14px rgba(12,10,9,.92),0 0 4px rgba(12,10,9,.75)}
  .sobre-grid{grid-template-columns:1fr;gap:2.2rem}
  /* Sobre centrado no mobile */
  .sobre-content{text-align:center}
  .sobre-content p{margin-inline:auto}
  .sobre-content .label::after{ /* traço espelhado p/ simetria do label centrado */
    content:"";display:inline-block;width:34px;height:1px;
    background:linear-gradient(270deg,var(--gold),transparent);
    margin-left:.65rem;vertical-align:middle;
  }
  .sobre-cta{justify-content:center}
  /* filetes da citação centrados e simétricos: desvanecem dos dois lados */
  .sobre-quote::before,.sobre-quote::after{
    width:min(100%,440px);left:50%;transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(154,116,52,.5) 50%,transparent);
  }
  /* foto de lado a lado, ampliada: object-fit corta as margens brancas centrado no motivo.
     máscara só vertical — fades laterais criavam faixas claras nas bordas */
  .sobre-figure{margin-inline:calc(50% - 50vw)}
  .sobre-photo{width:100%;height:min(140vw,820px);object-fit:cover;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 93%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0,#000 6%,#000 93%,transparent 100%)}
  .ferr-grid{grid-template-columns:1fr}
  .ferr-panel{position:static}
  .pricing-grid{grid-template-columns:1fr;max-width:480px;margin-inline:auto}
  .plan-featured{transform:none;order:-1}
  .plan-featured:hover{transform:translateY(-8px)}
  .plan-desc{min-height:0}
  .footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:640px){
  body{font-size:.98rem}
  .container{width:min(100% - 2.2rem,var(--container))}
  /* título e legendas ajustados ao poster */
  .hero-display{font-size:clamp(2.2rem,9.5vw,3.4rem);letter-spacing:-.02em}
  .hero-sub{max-width:38ch}
  .hero-script{font-size:clamp(2rem,7.5vw,2.7rem)}
  .hero-tagline{letter-spacing:.14em;font-size:.56rem}
  /* lead flui natural no telemóvel (a quebra forçada é só desktop/tablet) */
  .lead-br{display:none}
  /* fecho do Sobre empilhado e centrado: botão full-width, assinatura abaixo */
  .sobre-cta{flex-direction:column;align-items:stretch;gap:1.15rem;width:min(100%,340px);margin-inline:auto}
  .sobre-cta .btn{justify-content:center}
  .sobre-sign{align-self:center;transform:rotate(-3deg)}
  .pilares-grid{grid-template-columns:1fr}
  .ferr-list li{gap:1rem}
  .ferr-list b{font-size:1.3rem;min-width:1.9rem}
  .ferr-list li span{font-size:.95rem}
  .ferr-panel{padding:2rem 1.6rem}
  /* nota das ferramentas: lótus em cima, texto centrado (selo) */
  .ferr-note{flex-direction:column;align-items:center;text-align:center;gap:.95rem;padding:1.8rem 1.4rem}
  .cta-panel{border-radius:130px 130px var(--radius) var(--radius)}
  /* botões do CTA empilhados com largura total */
  .cta-actions{flex-direction:column;align-items:stretch;width:min(100%,340px);margin-inline:auto}
  .cta-actions .btn{justify-content:center}
  /* rodapé todo centrado no mobile */
  .footer-grid{grid-template-columns:1fr;gap:2.4rem;text-align:center}
  .f-logo{margin-inline:auto}
  .f-social{justify-content:center}
  .f-col{align-items:center}
  .footer-bottom{flex-direction:column;justify-content:center;align-items:center;gap:.7rem;text-align:center}
  .f-dev{justify-content:center;white-space:normal}
  .whats-fab{width:52px;height:52px}
}

/* ── Acessibilidade: movimento reduzido ─────────────────────── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
  [data-reveal]{opacity:1;transform:none}
  /* marquee parada: só a primeira sequência de 5 palavras, estática e centrada */
  .marquee-track{animation:none;width:100%;justify-content:center}
  .marquee-group{flex-wrap:wrap;justify-content:center;row-gap:.3rem}
  .marquee-group + .marquee-group,
  .marquee-group span:nth-child(n+6){display:none}
  /* fileiras de comentários e carrossel do Instagram parados: grelha estática sem duplicados */
  .review-track,.insta-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}
  .review-card[aria-hidden="true"],.insta-card[aria-hidden="true"]{display:none}
}

/* ══════════════════ PARA QUEM É ══════════════════ */
.para-quem{background:var(--cream);padding:clamp(5rem,9vw,7.5rem) 0 clamp(4rem,7vw,6rem)}
.pq-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:clamp(2rem,4vw,3rem)}
.pq-card{
  position:relative;
  background:linear-gradient(170deg,#FFFDFB,var(--cream-2));
  border:1px solid rgba(154,116,52,.18);
  border-radius:var(--radius);
  padding:clamp(1.8rem,3vw,2.6rem);
  transition:transform .55s var(--ease),border-color .55s ease;
}
.pq-card:hover{transform:translateY(-5px)}
.pq-card--yes{border-color:rgba(201,161,95,.42)}
.pq-ic{
  display:inline-flex;width:46px;height:46px;padding:11px;
  border-radius:14px;margin-bottom:1.1rem;
  color:var(--gold-deep);
  background:linear-gradient(145deg,rgba(201,161,95,.16),rgba(201,161,95,.04));
  border:1px solid rgba(201,161,95,.3);
}
.pq-card--no .pq-ic{
  color:var(--rose-deep);
  background:linear-gradient(145deg,rgba(201,142,150,.14),rgba(201,142,150,.03));
  border-color:rgba(201,142,150,.32);
}
.pq-ic svg{width:100%;height:100%}
.pq-card h3{font-size:1.4rem;color:var(--text);margin-bottom:.7rem}
.pq-card--no h3{color:var(--text-soft)}
.pq-card p{color:var(--text-soft);line-height:1.62}
.pq-risk{
  text-align:center;max-width:62ch;margin:clamp(2.2rem,4vw,3rem) auto 0;
  font-family:var(--serif);font-size:clamp(1.35rem,2.6vw,1.95rem);line-height:1.42;color:var(--text);
  text-wrap:balance;
}
.pq-risk em{font-style:italic;color:var(--rose-deep)}
@media(max-width:720px){
  .pq-grid{grid-template-columns:1fr}
}

/* ══════════════════ APP (Templo no telemóvel) ══════════════════ */
.app-showcase{background:var(--cream);padding:clamp(3.5rem,7vw,6rem) 0}
.app-panel{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(240px,330px) 1fr;
  gap:clamp(2rem,4.5vw,4rem);align-items:center;
  background:
    radial-gradient(75% 120% at 12% 0%,rgba(201,161,95,.16),transparent 55%),
    linear-gradient(165deg,var(--bg-2),var(--bg));
  border:1px solid rgba(201,161,95,.3);
  border-radius:calc(var(--radius) + 12px);
  padding:clamp(2.2rem,4vw,3.6rem);
  box-shadow:0 34px 80px -34px rgba(12,10,9,.5);
}
.app-panel::before{ /* meia-borda dourada, eco dos cards do site */
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(160deg,rgba(201,161,95,.7),rgba(201,161,95,.15) 45%,transparent 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  pointer-events:none;
}
.app-content{position:relative;z-index:1}
.app-content .label{color:var(--gold)}
.app-content h2{color:var(--inv);font-size:clamp(1.9rem,4vw,3rem)}
.app-content em.rose{color:var(--rose)}
.app-lead{color:var(--inv-soft);line-height:1.62;margin-top:1rem}
.app-lead strong{color:var(--inv);font-weight:500}
.app-tag{font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:1.6rem 0 .9rem}
.app-feats{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.5rem}
.app-feats li{position:relative;padding-left:1.5rem;font-size:.92rem;color:var(--inv-soft);line-height:1.4}
.app-feats li::before{content:"✦";position:absolute;left:0;top:.02em;color:var(--gold);font-size:.8rem}
.app-quote{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.5rem);font-style:italic;color:var(--cream);line-height:1.45;margin-top:1.7rem;text-wrap:balance}
.app-quote em{color:var(--rose);font-style:italic}
.app-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.8rem}
.app-soon{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--inv-soft);opacity:.75}

/* Mockup do telemóvel (CSS puro, ilustrativo) */
.app-phone{position:relative;justify-self:center;z-index:1}
.app-phone__frame{
  position:relative;width:min(270px,68vw);aspect-ratio:9/18.6;
  background:linear-gradient(160deg,#2b2420,#141010);
  border:1px solid rgba(201,161,95,.38);
  border-radius:38px;padding:12px;
  box-shadow:0 44px 90px -34px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.06);
}
.app-phone__notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:36%;height:18px;background:#0c0a09;border-radius:0 0 13px 13px;z-index:2}
.app-phone__screen{
  position:relative;width:100%;height:100%;border-radius:27px;overflow:hidden;
  background:radial-gradient(120% 70% at 50% 0,rgba(201,161,95,.16),transparent 55%),linear-gradient(180deg,#1b1512,#0c0a09);
  padding:2.4rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;text-align:center;
}
.ap-brand{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto;border-radius:50%;border:1px solid rgba(201,161,95,.4);color:var(--gold)}
.ap-brand svg{width:22px;height:22px}
.ap-hello{font-size:.68rem;letter-spacing:.06em;color:var(--inv-soft);margin-top:.4rem}
.ap-title{font-family:var(--serif);font-size:.98rem;letter-spacing:.04em;color:var(--inv)}
.ap-cards{display:flex;flex-direction:column;gap:.45rem;margin-top:.7rem;text-align:left}
.ap-card{
  background:linear-gradient(150deg,rgba(201,161,95,.13),rgba(201,161,95,.03));
  border:1px solid rgba(201,161,95,.22);border-radius:11px;
  padding:.55rem .65rem;font-size:.64rem;letter-spacing:.02em;color:var(--inv-soft);
}
.ap-card--chart{display:flex;flex-direction:column;gap:.4rem}
.ap-card--chart i{font-style:normal;color:var(--gold-soft)}
.ap-card--chart b{
  height:32px;border-radius:3px;
  background:
    linear-gradient(var(--gold),var(--gold)) 0    100%/11% 38% no-repeat,
    linear-gradient(var(--gold),var(--gold)) 22%  100%/11% 55% no-repeat,
    linear-gradient(var(--gold-soft),var(--gold-soft)) 44% 100%/11% 68% no-repeat,
    linear-gradient(var(--gold-soft),var(--gold-soft)) 66% 100%/11% 84% no-repeat,
    linear-gradient(var(--rose),var(--rose)) 88% 100%/11% 100% no-repeat;
}
.app-phone__glow{position:absolute;inset:-14%;z-index:-1;background:radial-gradient(50% 50% at 50% 45%,rgba(201,161,95,.28),transparent 70%);filter:blur(6px)}

@media(max-width:860px){
  .app-panel{grid-template-columns:1fr;text-align:center;gap:2.2rem}
  .app-phone{order:-1}
  .app-feats{grid-template-columns:1fr;max-width:23rem;margin-inline:auto;text-align:left}
  .app-cta{justify-content:center}
}

/* ══════════════════ POPUP DA APP ══════════════════ */
.app-pop{
  position:fixed;inset:0;z-index:1005;
  display:flex;align-items:center;justify-content:center;padding:1.2rem;
  opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s;
}
.app-pop.open{opacity:1;visibility:visible}
.app-pop__backdrop{position:absolute;inset:0;background:rgba(12,10,9,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.app-pop__card{
  position:relative;width:min(430px,100%);
  background:
    radial-gradient(90% 65% at 50% 0,rgba(201,161,95,.22),transparent 55%),
    linear-gradient(165deg,var(--bg-2),var(--bg));
  border:1px solid rgba(201,161,95,.4);border-radius:calc(var(--radius) + 6px);
  padding:clamp(2rem,4vw,2.8rem) clamp(1.4rem,3vw,2rem) clamp(1.6rem,3vw,2rem);
  text-align:center;color:var(--inv);overflow:hidden;
  transform:translateY(18px) scale(.97);transition:transform .5s var(--ease);
  box-shadow:0 44px 100px -30px rgba(0,0,0,.65);
}
.app-pop.open .app-pop__card{transform:none}
.app-pop__close{
  position:absolute;top:.75rem;right:.75rem;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(201,161,95,.3);background:rgba(0,0,0,.25);color:var(--inv-soft);
  display:flex;align-items:center;justify-content:center;transition:color .3s ease,border-color .3s ease,transform .4s var(--ease);
}
.app-pop__close:hover{color:var(--inv);border-color:var(--gold);transform:rotate(90deg)}
.app-pop__close svg{width:18px;height:18px}
.app-pop__lotus{display:block;width:44px;margin:0 auto .5rem;color:var(--gold)}
.app-pop__lotus svg{width:100%;height:100%}
.app-pop__badge{display:inline-block;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(201,161,95,.4);border-radius:99px;padding:.3rem .8rem;margin-bottom:.8rem}
.app-pop__eyebrow{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--inv-soft);margin-bottom:.4rem}
.app-pop__card h3{font-family:var(--serif);font-size:clamp(1.7rem,4.4vw,2.2rem);color:var(--inv);line-height:1.15}
.app-pop__card h3 em{font-style:italic}
.app-pop__txt{color:var(--inv-soft);font-size:.94rem;line-height:1.6;margin:.9rem auto 0;max-width:34ch}
.app-pop__actions{display:flex;flex-direction:column;align-items:center;gap:.9rem;margin-top:1.6rem}
.app-pop__actions .btn{width:100%;justify-content:center}
.app-pop__more{font-size:.85rem;color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px;transition:color .3s ease}
.app-pop__more:hover{color:var(--gold)}
html.pop-open,body.pop-open{overflow:hidden}

/* ── CTA final: subtexto + frase de fecho ───────────────────── */
.cta-sub{margin-top:1.2rem;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}
.cta-closing{
  max-width:48ch;margin:1.8rem auto 0;padding-top:1.7rem;
  border-top:1px solid rgba(201,161,95,.2);
  font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,2.1vw,1.45rem);
  line-height:1.5;color:var(--inv-soft);text-wrap:balance;
}
.cta-closing em{color:var(--rose);font-style:italic}
