/* ============ tokens (mesmos do site da assessoria) ============ */
:root{
  --navy:#002F4C;
  --navy-light:#0a4064;
  --orange:#FE5001;
  --sky:#6C8697;
  --white:#FFFFFF;
  --offwhite:#F8F5EE;
  --ink-muted:rgba(0,47,76,0.78);
  --line:rgba(0,47,76,0.12);
  --sans:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --script:"Great Vibes",cursive;
  --wrap:1040px;
  --read:660px;
  --radius:14px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--offwhite);color:var(--navy);
  font-family:var(--sans);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;}
section[id]{scroll-margin-top:96px;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.01ms !important;transition-duration:0.01ms !important;}
}

.ic{width:24px;height:24px;fill:var(--offwhite);color:var(--offwhite);display:block;}

/* ============ cursor (so com mouse) e barra de progresso ============ */
.cursor-dot{
  position:fixed;top:0;left:0;width:22px;height:22px;border-radius:50%;
  border:2px solid var(--orange);pointer-events:none;z-index:200;
  transform:translate(-50%,-50%);display:none;
  transition:width .2s ease,height .2s ease,background .2s ease,border-color .2s ease;
}
.has-fine-pointer .cursor-dot{display:block;}
.cursor-dot.hover{width:44px;height:44px;background:rgba(254,80,1,0.9);border-color:transparent;}
@media (hover:hover) and (pointer:fine){
  .has-fine-pointer, .has-fine-pointer a, .has-fine-pointer button, .has-fine-pointer label{cursor:none;}
}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;background:transparent;}
.scroll-progress span{display:block;height:100%;width:0%;background:var(--orange);transition:width .08s linear;}

/* ============ cabecalho ============ */
.masthead{
  position:sticky;top:0;z-index:50;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;
  padding:14px 20px;background:rgba(0,47,76,0.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.14);
}
.brand{display:flex;align-items:center;text-decoration:none;}
.brand-logo{height:28px;width:auto;display:block;}
.header-cta{
  display:inline-block;font-size:0.78rem;font-weight:600;text-decoration:none;color:#fff;
  border:1px solid rgba(255,255,255,0.14);padding:8px 14px;border-radius:999px;white-space:nowrap;
  transition:border-color .2s ease,background .2s ease,transform .25s cubic-bezier(.2,.8,.2,1);
}
.header-cta:hover{border-color:var(--orange);background:rgba(254,80,1,0.12);}
.site-switch{
  display:flex;align-items:center;gap:10px;font-size:0.78rem;font-weight:600;letter-spacing:0.02em;
  order:3;flex-basis:100%;justify-content:center;color:rgba(248,245,238,0.45);
}
.site-switch a{text-decoration:none;color:rgba(248,245,238,0.7);padding:2px 0;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease;}
.site-switch a:hover{color:#fff;}
.site-switch a.is-current{color:#fff;border-bottom-color:var(--orange);}

/* ============ base das secoes ============ */
.section{position:relative;padding:68px 0;}
.s-cream{background:var(--offwhite);}
.s-white{background:var(--white);}
.s-navy{background:var(--navy);color:var(--offwhite);}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.wrap-read{max-width:calc(var(--read) + 48px);}

.kicker{margin:0 0 16px;font-size:0.76rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--orange);}
h1,h2,h3{font-family:var(--sans);color:var(--navy);margin:0;}
h1{font-size:clamp(1.85rem,7vw,2.9rem);line-height:1.16;font-weight:700;letter-spacing:-0.01em;margin-bottom:18px;}
h2{font-size:clamp(1.45rem,5.2vw,2.1rem);line-height:1.28;font-weight:700;margin-bottom:24px;}
h3{font-size:1.1rem;font-weight:700;line-height:1.3;}
p{margin:0 0 16px;color:var(--ink-muted);}
.s-navy h2,.s-navy h3{color:var(--white);}
.s-navy p{color:rgba(248,245,238,0.82);}

.dropcap-line::first-letter{font-family:var(--script);color:var(--orange);font-weight:400;font-size:1.7em;line-height:0.6;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-weight:700;font-size:0.96rem;text-decoration:none;
  padding:15px 28px;border-radius:999px;border:none;cursor:pointer;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease;
}
.btn-primary{background:var(--orange);color:var(--navy);box-shadow:0 8px 24px -8px rgba(254,80,1,0.55);}
.btn-primary:hover{box-shadow:0 12px 28px -8px rgba(254,80,1,0.65);}
.btn-block{width:100%;}
.btn:disabled{opacity:0.6;cursor:not-allowed;}
.btn-magnetic{will-change:transform;}
.link-secondary{font-weight:700;font-size:0.95rem;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:2px;}
.link-secondary:hover{color:var(--orange);}

.reveal{opacity:0;transform:translateY(12px);transition:opacity .65s ease,transform .65s ease;}
.reveal.in{opacity:1;transform:none;}

/* ============ indicador AO VIVO ============ */
.live-tag{display:inline-flex;align-items:center;gap:7px;font-size:0.66rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;}
.live-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--orange);display:block;flex-shrink:0;}
.live-dot::after{
  content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--orange);
  animation:livePulse 1.8s ease-out infinite;
}
@keyframes livePulse{0%{transform:scale(0.5);opacity:0.9;}100%{transform:scale(1.5);opacity:0;}}
.live-tag--frame{
  position:absolute;top:20px;left:12px;z-index:3;color:#fff;
  background:rgba(0,47,76,0.78);padding:5px 10px 5px 9px;border-radius:999px;
}

/* ============ hero ============ */
.hero{padding-top:56px;padding-bottom:72px;}
.hero-grid{display:block;}
.hero-text{max-width:760px;}
.live-tag--hero{margin:0 0 14px;color:var(--navy);}
.lead{font-size:1.06rem;max-width:46ch;}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:26px 0 0;}

/* ============ frases de respiro ============ */
.breath{padding:52px 24px;text-align:center;}
.breath p{
  max-width:20em;margin:0 auto;font-size:clamp(1.4rem,5vw,2.2rem);line-height:1.3;
  font-style:italic;font-weight:500;color:var(--navy);
}

/* ============ moldura de story ============ */
.story-frame{
  position:relative;width:100%;aspect-ratio:9/16;border-radius:24px;overflow:hidden;
  background:#EFE8DA;border:4px solid var(--navy);box-shadow:0 22px 40px -22px rgba(0,47,76,0.55);
}
.story-frame video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;transition:opacity .3s ease;background:#000;
}
.story-frame.has-media video{opacity:1;}
.story-placeholder{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:#EFE8DA;color:var(--navy);font-size:0.82rem;font-weight:600;letter-spacing:0.04em;text-align:center;padding:12px;
}
.story-placeholder span{opacity:0.62;}
.story-frame.has-media .story-placeholder{display:none;}
.story-progress{position:absolute;top:9px;left:10px;right:10px;height:3px;border-radius:2px;background:rgba(0,47,76,0.18);z-index:3;}
.story-progress span{display:block;height:100%;width:0;background:var(--orange);border-radius:2px;}
.story-frame.has-video .story-progress{background:rgba(255,255,255,0.4);}
.story-frame.has-video .story-progress span{background:#fff;}
.sound-btn{
  position:absolute;right:10px;bottom:10px;z-index:3;width:38px;height:38px;border-radius:10px;background:var(--navy);
  display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.3);
}
.sound-btn[hidden]{display:none;}
.sound-btn .ic{width:22px;height:22px;}
.sound-btn.is-on .ic-muted{display:none;}
.sound-btn:not(.is-on) .ic-sound{display:none;}

/* ============ manifesto ============ */
.manifesto{padding:84px 0;}
.manifesto h2{margin-bottom:38px;}
.manifesto p{font-size:1.1rem;line-height:1.75;margin-bottom:30px;}
.manifesto .manifesto-end{
  margin:44px 0 0;font-size:clamp(1.6rem,6vw,2.4rem);font-style:italic;font-weight:600;line-height:1.25;color:var(--orange);
}

/* ============ tres jeitos ============ */
.trio{display:grid;grid-template-columns:1fr;gap:32px;margin-top:30px;}
.icon-block{width:48px;height:48px;border-radius:12px;background:var(--orange);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.icon-block .ic{width:26px;height:26px;}
.trio-item .icon-block{margin-bottom:16px;}
.trio-item h3{margin-bottom:8px;}
.trio-item p{margin:0;font-size:0.96rem;}
.trio-item:nth-child(2) .icon-block{background:var(--navy);}
.trio-item:nth-child(3) .icon-block{background:var(--sky);}

/* ============ momentos ============ */
.moments{display:flex;flex-direction:column;gap:56px;margin-top:34px;}
.moment{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;}
.moment-media{width:100%;max-width:290px;margin:0 auto;}
.moment-text h3{font-size:1.25rem;margin-bottom:12px;line-height:1.3;}
.moment-text p{font-size:0.98rem;}
.moment-tags{margin:6px 0 0;font-size:0.88rem;font-weight:700;color:var(--navy);}
.moment-tags span{display:block;font-size:0.7rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange);margin-bottom:2px;}

/* ============ como funciona ============ */
.steps{display:grid;grid-template-columns:1fr;gap:34px;margin-top:30px;}
.step-num{display:block;font-size:3rem;font-weight:800;line-height:1;color:var(--orange);margin-bottom:14px;letter-spacing:-0.02em;}
.step-top{display:flex;align-items:center;margin-bottom:14px;}
.step-line{display:none;}
.step h3{margin-bottom:8px;}
.step p{margin:0;font-size:0.95rem;}
.step:nth-child(2) .icon-block{background:var(--navy);}
.step:nth-child(3) .icon-block{background:var(--sky);}

/* ============ diferenciais ============ */
.diff-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:30px;}
.diff-item{display:flex;gap:18px;align-items:flex-start;}
.diff-item h3{margin-bottom:6px;}
.diff-item p{margin:0;font-size:0.95rem;}
.diff-item:nth-child(even) .icon-block{background:var(--navy);}

/* ============ faq ============ */
.faq-list{display:flex;flex-direction:column;gap:10px;}
.faq-item{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.faq-trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;
  padding:18px 20px;font-weight:600;font-size:0.98rem;color:var(--navy);
}
.faq-icon{position:relative;width:16px;height:16px;flex-shrink:0;}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;background:var(--orange);top:50%;left:50%;transform:translate(-50%,-50%);}
.faq-icon::before{width:16px;height:2px;}
.faq-icon::after{width:2px;height:16px;transition:transform .25s ease;}
.faq-trigger[aria-expanded="true"] .faq-icon::after{transform:translate(-50%,-50%) rotate(90deg) scaleX(0);}
.faq-panel{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.2,.8,.2,1);padding:0 20px;}
.faq-panel p{margin:0 0 18px;font-size:0.95rem;}

/* ============ fechamento ============ */
.closing{padding:84px 0 40px;}
.closing h2{font-size:clamp(1.6rem,6vw,2.5rem);line-height:1.22;margin-bottom:20px;}
.closing p{font-size:1.04rem;margin-bottom:26px;}

/* ============ formulario ============ */
.form-section{padding:20px 0 84px;}
.form-card{max-width:520px;margin:0 auto;background:var(--offwhite);border-radius:20px;padding:32px 24px 28px;box-shadow:0 24px 50px -24px rgba(0,0,0,0.55);}
.form-card h2{font-size:1.5rem;margin-bottom:10px;}
.s-navy .form-card h2,.s-navy .form-card h3{color:var(--navy);}
.s-navy .form-card p{color:var(--ink-muted);}
.form-intro{margin-bottom:24px;font-size:0.96rem;}
.field{position:relative;margin-bottom:18px;}
.field[hidden]{display:none;}
.field.floating input,.field.floating select{
  width:100%;font-family:var(--sans);font-size:1rem;color:var(--navy);background:var(--white);
  border:1px solid rgba(0,47,76,0.2);border-radius:10px;padding:22px 16px 8px;outline:none;
  transition:border-color .18s ease;appearance:none;-webkit-appearance:none;min-height:56px;
}
.field.floating select{
  background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);
  background-position:calc(100% - 22px) 26px,calc(100% - 16px) 26px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px;
}
.field.floating label{
  position:absolute;left:16px;top:17px;font-size:1rem;color:rgba(0,47,76,0.5);pointer-events:none;
  transition:top .18s ease,font-size .18s ease,color .18s ease;
}
.field.floating input:focus,.field.floating select:focus{border-color:var(--orange);}
.field.floating input:focus + label,
.field.floating input:not(:placeholder-shown) + label,
.field.floating select:focus + label,
.field.floating.always label{top:7px;font-size:0.72rem;color:var(--orange);font-weight:600;}
.field.floating input:disabled{opacity:0.5;}
.field.has-error input,.field.has-error select{border-color:#d4380d;}
.field.has-error label{color:#d4380d;}
.error-msg{display:none;font-size:0.8rem;color:#d4380d;margin-top:6px;}
.field.has-error .error-msg{display:block;}
.check{display:flex;align-items:center;gap:10px;font-size:0.92rem;font-weight:500;color:var(--navy);margin:-4px 0 22px;cursor:pointer;}
.check input{width:20px;height:20px;accent-color:var(--orange);flex-shrink:0;}
.form-status{margin:14px 0 0;font-size:0.92rem;min-height:1.3em;font-weight:600;color:#d4380d;}
.s-navy .form-card .privacy{margin:6px 0 0;font-size:0.78rem;color:rgba(0,47,76,0.62);}
.form-success{text-align:center;padding:12px 0;}
.form-success h2{font-size:1.5rem;}
.form-success p{margin:0;}

/* ============ rodape ============ */
.footer{
  background:var(--navy);color:rgba(248,245,238,0.7);text-align:center;
  padding:38px 24px 110px;border-top:1px solid rgba(255,255,255,0.14);
}
.footer-logo{height:34px;width:auto;margin:0 auto 14px;}
.footer p{margin:0 0 16px;font-size:0.85rem;color:rgba(248,245,238,0.7);}
.footer a{text-decoration:none;font-weight:600;color:#fff;}
.footer a:hover{color:var(--orange);}
.tri-bar{display:flex;width:132px;height:5px;margin:0 auto;border-radius:3px;overflow:hidden;}
.tri-bar span{flex:1;}
.tri-bar span:nth-child(1){background:var(--orange);}
.tri-bar span:nth-child(2){background:var(--navy);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.35);}
.tri-bar span:nth-child(3){background:var(--sky);}

/* ============ botao fixo (celular) ============ */
.cta-fab{
  position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--orange);color:var(--navy);font-weight:700;font-size:0.95rem;text-decoration:none;
  padding:15px;border-radius:999px;box-shadow:0 10px 30px -8px rgba(254,80,1,0.6);
  transition:transform .3s ease,opacity .3s ease;
}
.cta-fab .ic{width:22px;height:22px;fill:var(--navy);color:var(--navy);}
.cta-fab.is-hidden{transform:translateY(160%);opacity:0;pointer-events:none;}

@media (max-width:420px){
  .btn{font-size:0.9rem;padding:14px 18px;text-align:center;}
  .hero-actions .btn{width:100%;}
}

/* ============ tablet e desktop ============ */
@media (min-width:760px){
  .masthead{flex-wrap:nowrap;padding:16px 28px;}
  .site-switch{order:0;flex-basis:auto;margin-left:auto;margin-right:18px;}
  .header-cta{font-size:0.82rem;}
  .section{padding:92px 0;}
  .wrap{padding:0 40px;}
  .trio{grid-template-columns:repeat(3,1fr);gap:36px;}
  .steps{grid-template-columns:repeat(3,1fr);gap:36px;}
  .step-line{display:block;flex:1;height:2px;margin:0 14px 0 16px;background:rgba(254,80,1,0.45);border-radius:2px;}
  .diff-grid{grid-template-columns:1fr 1fr;gap:40px 44px;}
  .form-card{padding:40px 40px 34px;}
  .breath{padding:68px 24px;}
}
@media (min-width:900px){
  .hero{padding-top:64px;}
  .moment{grid-template-columns:300px 1fr;gap:64px;}
  .moment-media{margin:0;}
  .moment:nth-child(even){grid-template-columns:1fr 300px;}
  .moment:nth-child(even) .moment-media{order:2;}
  .cta-fab{display:none;}
  .footer{padding-bottom:44px;}
}

.form-success:focus{outline:none;}
