:root{
  --navy:#061d35;
  --navy-2:#082c4e;
  --navy-3:#0b3c68;
  --ink:#08192c;
  --text:#526072;
  --gold:#c89533;
  --gold-strong:#d8a43b;
  --gold-deep:#a87319;
  --line:#e5ebf2;
  --panel:#ffffff;
  --bg:#fbfcfe;
  --bg-soft:#f7f9fc;
  --shadow:0 24px 60px rgba(8,25,44,.10);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}
a,button,input,select{font:inherit}
img{max-width:100%;display:block}
.noise{position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(200,149,51,.13) 1px,transparent 1px);background-size:12px 12px;z-index:1}
.cursor-aura{position:fixed;width:240px;height:240px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(216,164,59,.12),transparent 65%);z-index:2}

.site-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:14px 5vw;min-height:118px;background:rgba(255,255,255,.94);backdrop-filter:blur(20px);border-bottom:1px solid rgba(8,25,44,.08)}
.brand{flex:0 0 auto;display:flex;align-items:center}
.brand img{width:108px;height:auto;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:28px;justify-content:center;flex:1}
.main-nav a{color:var(--ink);font-size:14px;font-weight:800;text-decoration:none;position:relative;white-space:nowrap}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-10px;height:2px;width:0;background:var(--gold-strong);transition:width .25s ease}
.main-nav a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.phone{color:var(--ink);text-decoration:none;font-weight:900;font-size:15px;white-space:nowrap}
.language-switch{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff}
.lang-btn,.theme-toggle,.menu-btn{border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.lang-btn{min-width:34px;height:32px;border-radius:8px;font-size:12px;font-weight:900}
.lang-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.theme-toggle,.menu-btn{width:40px;height:40px;border-radius:12px}
.menu-btn{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;padding:14px 22px;font-size:12px;font-weight:900;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;border:1px solid transparent;transition:.22s ease;cursor:pointer}
.btn-gold{background:linear-gradient(135deg,var(--gold-deep),var(--gold-strong));color:#fff;box-shadow:0 15px 30px rgba(200,149,51,.23)}
.btn-gold:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn-outline{background:#fff;color:var(--ink);border-color:#d7dfeb}
.btn-outline:hover{border-color:var(--gold-strong);box-shadow:0 12px 26px rgba(8,25,44,.07)}

.accessibility-fab{position:fixed;right:20px;bottom:20px;z-index:65;border:0;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:999px;padding:14px 16px;font-weight:900;box-shadow:0 20px 45px rgba(8,25,44,.26);cursor:pointer}
.accessibility-panel{position:fixed;right:20px;bottom:78px;z-index:66;width:min(360px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:18px;display:none}
.accessibility-panel.open{display:block}
.accessibility-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.accessibility-head strong{font-size:18px}
.accessibility-head button{border:1px solid var(--line);background:#fff;border-radius:10px;width:32px;height:32px;cursor:pointer}
.accessibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.a11y-btn{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg-soft);font-weight:800;cursor:pointer;text-align:left}

.hero{position:relative;display:grid;grid-template-columns:1.02fr 1fr;align-items:center;gap:34px;min-height:600px;padding:56px 6vw 60px;background:radial-gradient(circle at 10% 25%,#fff5df 0,transparent 30%),linear-gradient(120deg,#fff 0%,#fff 48%,#fbf7ef 100%);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(116deg,transparent 0 49.2%,rgba(200,149,51,.10) 49.6%,transparent 50%)}
.hero-particles{position:absolute;inset:0;width:100%;height:100%;opacity:.8}
.orb{position:absolute;border-radius:50%;background:rgba(200,149,51,.18)}
.orb-one{left:30%;top:20%;width:12px;height:12px}.orb-two{right:12%;top:26%;width:8px;height:8px}
.hero-copy,.hero-photo{position:relative;z-index:3}
.hero-copy{max-width:640px}
.eyebrow{display:block;margin-bottom:16px;color:var(--gold-deep);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900}
.hero h1{margin:0 0 20px;font-size:clamp(48px,6vw,86px);line-height:.96;letter-spacing:-.07em;font-weight:900}
.hero h1 span{color:var(--gold)}
.hero p{margin:0 0 26px;color:var(--text);font-size:20px;line-height:1.7;max-width:600px}
.hero-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.hero-tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;color:var(--navy);font-weight:800}
.hero-tags span{background:#fff;border:1px solid #dfe6ef;border-radius:999px;padding:10px 14px;box-shadow:0 10px 25px rgba(8,25,44,.05)}
.hero-photo{min-width:0;height:390px}
.gold-arch{position:absolute;left:1%;top:24px;width:350px;height:350px;border-radius:55% 0 0 55%;border-left:24px solid var(--gold);opacity:.95}
.hero-photo>img{position:absolute;right:0;top:26px;width:92%;height:320px;object-fit:cover;object-position:center center;border-radius:999px 12px 12px 999px;box-shadow:0 30px 70px rgba(8,25,44,.13)}
.hero-badge{position:absolute;right:0;bottom:-8px;width:320px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:18px;padding:22px 24px;box-shadow:0 28px 55px rgba(6,29,53,.32)}
.hero-badge span,.feature-strip span,.insurance-card span,.value-card span,.steps span,.newsletter div span{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.hero-badge span svg{width:36px;height:36px;stroke:var(--gold-strong)}
.hero-badge strong{display:block;margin-top:10px;font-size:16px;text-transform:uppercase;line-height:1.25;letter-spacing:.04em}
.hero-badge p{margin-top:10px;font-size:14px;color:#dde8f3;line-height:1.55}

.feature-strip,.insurance-panel,.steps-card,.quote-card,.testimonial,.partners,.blog-card,.faq,.newsletter{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.feature-strip{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:0;width:min(92vw,1320px);margin:-16px auto 28px;padding:16px 18px}
.feature-strip div{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px}
.feature-strip span svg{width:34px;height:34px;stroke:var(--gold-strong)}
.feature-strip b{font-size:13px;line-height:1.3}
.section{width:min(92vw,1320px);margin:0 auto 18px}
.insurance-panel{padding:28px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-head h2,.dark-band h2{margin:0;font-size:24px;letter-spacing:-.03em}
.link-arrow{font-size:12px;text-transform:uppercase;font-weight:900;color:var(--gold-deep);text-decoration:none;letter-spacing:.05em}
.insurance-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.insurance-card{text-align:center;padding:26px 16px 18px;border:1px solid #dce4ef;border-radius:18px;background:linear-gradient(#fff,#fcfdff);transition:.22s}
.insurance-card:hover{transform:translateY(-7px);border-color:#dfb360;box-shadow:0 20px 40px rgba(8,25,44,.08)}
.insurance-card span svg{width:54px;height:54px;stroke:var(--gold-strong)}
.insurance-card h3{margin:10px 0 8px;font-size:16px}
.insurance-card p{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--text)}
.insurance-card a{font-size:11px;text-transform:uppercase;font-weight:900;color:var(--gold-deep);text-decoration:none}

.dark-band{width:min(92vw,1320px);margin:18px auto;padding:28px 30px 24px;background:linear-gradient(135deg,#061d35,#041626);color:#fff;box-shadow:0 28px 70px rgba(6,29,53,.25)}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px}
.value-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.13);padding:22px;min-height:138px}
.value-card span svg{width:40px;height:40px;margin-right:14px;stroke:var(--gold-strong);float:left}
.value-card b{display:block;margin-bottom:8px;font-size:15px}
.value-card p{margin:0;color:#dbe7f3;font-size:13.5px;line-height:1.55}

.split-section{width:min(92vw,1320px);margin:18px auto;display:grid;grid-template-columns:1.04fr 1fr;gap:18px}
.steps-card{padding:30px 36px}
.steps-card h2,.quote-card h2{font-size:26px;margin:0 0 22px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:center;margin:12px 0 24px}
.steps b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold-strong);color:#fff;font-size:12px}
.steps span svg{width:48px;height:48px;margin:14px auto;stroke:var(--gold-strong)}
.steps h3{margin:0 0 8px;font-size:15px}.steps p{margin:0;color:var(--text);font-size:12.5px;line-height:1.5}
.quote-card{padding:32px;background:linear-gradient(135deg,#061d35,#031423);color:#fff}
.quote-card p{margin-top:-8px;color:#d8e4f1}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid input,.form-grid select,.newsletter input{height:52px;border:1px solid #d9e2ed;border-radius:12px;padding:0 14px;font-size:15px;outline:none}
.form-grid input:focus,.form-grid select:focus,.newsletter input:focus{border-color:var(--gold-strong);box-shadow:0 0 0 3px rgba(216,164,59,.12)}
.form-grid .full{grid-column:1/-1;border:0;width:100%}
.quote-card small{display:block;margin-top:16px;color:#dbe7f3}

.content-grid{width:min(92vw,1320px);margin:18px auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.testimonial,.partners,.blog-card,.faq{padding:26px 30px}
.testimonial h3,.partners h3,.blog-card h3,.faq h3{margin:0 0 15px}
.stars{color:var(--gold-strong);letter-spacing:.15em}
.testimonial blockquote{margin:0 0 16px;color:var(--text);line-height:1.7}
.partner-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;align-items:center;text-align:center;margin:18px 0;color:#0d5095;font-weight:900}
.partner-row span{padding:12px 8px;background:var(--bg-soft);border-radius:14px;font-size:14px}
.partners a{color:var(--gold-deep);font-weight:900;text-transform:uppercase;font-size:12px}
.faq details{border-top:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-weight:700}.blog-card p,.faq p{color:var(--text);line-height:1.6}
.newsletter{width:min(92vw,1320px);margin:18px auto 40px;padding:24px 30px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px;background:linear-gradient(90deg,#fff7ea,#fff)}
.newsletter div{display:grid;grid-template-columns:56px 1fr;gap:0 18px;align-items:center}
.newsletter div span{grid-row:1/3}
.newsletter svg{width:46px;height:46px;stroke:var(--gold-strong)}
.newsletter h2{margin:0;font-size:22px}.newsletter p{margin:4px 0 0;color:var(--text)}
.newsletter form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px}

.footer{position:relative;background:linear-gradient(180deg,#071b31,#041626);color:#d7e3ef;padding:46px 6vw 22px;overflow:hidden}
.footer-orb{position:absolute;right:-100px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(216,164,59,.18),transparent 65%)}
.footer-grid{position:relative;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px}
.footer-logo{width:150px;height:auto;margin-bottom:12px}
.footer p,.footer a{color:#d7e3ef;text-decoration:none;line-height:1.6}
.footer a{display:block;margin:6px 0;font-size:14px}
.footer h4{margin:0 0 12px;color:#fff}
.socials{display:flex;gap:10px;margin-top:14px}.socials a{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.07);margin:0;font-weight:900}
.qr{display:grid;place-items:center;width:90px;height:90px;border-radius:16px;background:#fff;color:var(--navy);font-weight:900;margin-bottom:10px}
.footer-bottom{position:relative;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#a8b6c5}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}
body.dark{--bg:#051728;--panel:#081f38;--bg-soft:#08253f;--line:rgba(255,255,255,.11);--ink:#f1f6fb;--text:#c5d2e1}
body.dark .site-header,body.dark .feature-strip,body.dark .insurance-panel,body.dark .steps-card,body.dark .testimonial,body.dark .partners,body.dark .blog-card,body.dark .faq,body.dark .newsletter{background:#071f39;color:#fff;border-color:rgba(255,255,255,.1)}
body.dark .hero{background:linear-gradient(120deg,#061a2f,#0a2948)}
body.dark .hero-tags span,body.dark .partner-row span{background:#08253f;border-color:rgba(255,255,255,.08);color:#eef5ff}
body.dark .main-nav a,body.dark .phone,body.dark .lang-btn,body.dark .theme-toggle{color:#fff}
body.dark .lang-btn,body.dark .theme-toggle,body.dark .menu-btn,body.dark .btn-outline{background:#08253f;border-color:rgba(255,255,255,.12)}
body.dark .feature-strip b,body.dark .blog-card p,body.dark .faq p,body.dark .testimonial blockquote,body.dark .newsletter p{color:#d4deea}
body.dark .insurance-card{background:#081f39;border-color:rgba(255,255,255,.10)}
body.dark .insurance-card p,body.dark .steps p{color:#d4deea}
body.dark .insurance-card span svg,body.dark .steps span svg{stroke:var(--gold-strong)}
body.dark .footer{background:linear-gradient(180deg,#031321,#010914)}

body.font-large{font-size:112%}
body.high-contrast{--bg:#fff;--panel:#fff;--ink:#000;--text:#111;--line:#000;--gold:#8b5a00;--gold-strong:#8b5a00;--gold-deep:#6d4600}
body.high-contrast .site-header,body.high-contrast .feature-strip,body.high-contrast .insurance-panel,body.high-contrast .steps-card,body.high-contrast .testimonial,body.high-contrast .partners,body.high-contrast .blog-card,body.high-contrast .faq,body.high-contrast .newsletter{box-shadow:none;border:2px solid #000}
body.underline-links a{text-decoration:underline !important}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}

@media (max-width:1200px){
  .insurance-grid{grid-template-columns:repeat(3,1fr)}
  .value-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1100px){
  .site-header{padding:14px 18px;min-height:104px;flex-wrap:wrap}
  .menu-btn{display:inline-grid;place-items:center}
  .main-nav{position:fixed;top:108px;right:18px;display:none;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:18px;min-width:260px;z-index:70}
  .main-nav.open{display:flex}
  body.dark .main-nav{background:#071f39}
  .hero{grid-template-columns:1fr;padding-top:38px}
  .hero-photo{height:360px}
  .feature-strip,.split-section,.content-grid,.newsletter{grid-template-columns:1fr}
  .newsletter form{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .brand img{width:90px}
  .phone,.header-actions > .btn{display:none}
  .site-header{min-height:94px}
  .hero{padding:34px 20px 40px;min-height:auto}
  .hero h1{font-size:54px}
  .hero p{font-size:18px}
  .hero-photo{height:auto}
  .gold-arch{display:none}
  .hero-photo>img{position:relative;top:0;width:100%;height:260px;border-radius:30px}
  .hero-badge{position:relative;right:auto;bottom:auto;margin-top:14px;width:100%}
  .feature-strip{margin:18px auto;padding:10px;grid-template-columns:1fr 1fr}
  .feature-strip div{justify-content:flex-start}
  .insurance-grid,.value-grid,.steps,.footer-grid,.content-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .footer-bottom{display:block}
  .hero-tags span{width:100%}
  .accessibility-grid{grid-template-columns:1fr}
}

/* ===== V6.2 hotfix: header logo, functional accessibility dropdown and cache-safe layout ===== */
.site-header{min-height:112px;height:auto;overflow:visible;padding-top:10px;padding-bottom:10px}
.brand{height:92px;display:flex;align-items:center;justify-content:center;overflow:visible}
.brand img{width:auto !important;height:auto !important;max-height:88px !important;max-width:128px !important;object-fit:contain !important;object-position:center center !important}
.a11y-top-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:900;cursor:pointer;display:inline-grid;place-items:center}
.a11y-top-btn:hover,.theme-toggle:hover,.lang-btn:hover{border-color:var(--gold-strong);box-shadow:0 8px 18px rgba(8,25,44,.08)}
.accessibility-fab{display:none !important}
.accessibility-panel{position:fixed !important;right:5vw !important;top:104px !important;bottom:auto !important;z-index:999 !important;width:min(390px,calc(100vw - 32px)) !important;background:#fff !important;border:1px solid var(--line) !important;border-radius:20px !important;box-shadow:0 30px 80px rgba(8,25,44,.18) !important;padding:18px !important;display:none !important;color:var(--ink) !important}
.accessibility-panel.open{display:block !important}
.accessibility-head{display:flex !important;align-items:center !important;justify-content:space-between !important;margin-bottom:12px !important}
.accessibility-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important}
.a11y-btn{padding:12px 14px !important;border-radius:14px !important;border:1px solid var(--line) !important;background:var(--bg-soft) !important;color:var(--ink) !important;font-weight:800 !important;cursor:pointer !important;text-align:left !important}
body.dark .a11y-top-btn,body.dark .accessibility-panel,body.dark .a11y-btn{background:#08253f !important;color:#fff !important;border-color:rgba(255,255,255,.14) !important}
body.dark .accessibility-panel{box-shadow:0 30px 80px rgba(0,0,0,.38) !important}
body.dark .lang-btn.active{background:var(--gold-strong);color:#061d35;border-color:var(--gold-strong)}
body.dark .feature-strip span svg,body.dark .insurance-card span svg,body.dark .value-card span svg,body.dark .steps span svg,body.dark .hero-badge span svg,body.dark .newsletter svg{stroke:var(--gold-strong) !important;color:var(--gold-strong) !important}
body.dark .insurance-card span,body.dark .steps span{color:var(--gold-strong) !important}
@media(max-width:1100px){.site-header{min-height:96px}.brand{height:78px}.brand img{max-height:74px !important}.accessibility-panel{top:92px !important;right:18px !important}.main-nav{top:96px !important}}
@media(max-width:760px){.brand{height:68px}.brand img{max-height:64px !important;max-width:104px !important}.a11y-top-btn,.theme-toggle{width:36px;height:36px}.accessibility-grid{grid-template-columns:1fr !important}}

/* ===== V7: leitor de voz integrado à acessibilidade ===== */
.a11y-speech{background:linear-gradient(135deg,rgba(200,149,51,.12),rgba(6,29,53,.04)) !important;border-color:rgba(200,149,51,.35) !important}
.a11y-status{margin-top:12px;padding:10px 12px;border-radius:14px;background:rgba(200,149,51,.10);color:var(--ink);font-size:13px;font-weight:800;min-height:18px}
body.dark .a11y-status{background:rgba(255,212,121,.12);color:#fff}
body.high-contrast .a11y-speech,body.high-contrast .a11y-status{background:#000 !important;color:#fff !important;border-color:#fff !important}
@media(max-width:760px){.accessibility-panel{top:86px !important}.a11y-status{font-size:12px}}

/* Dark mode completo, botões premium, acessibilidade e logo oficial */
:root{
  --focus-ring:0 0 0 3px rgba(216,164,59,.34),0 0 0 6px rgba(7,31,57,.10);
  --dark-panel:#071f39;
  --dark-panel-2:#082946;
  --dark-border:rgba(255,255,255,.14);
  --dark-text:#f4f8fc;
  --dark-muted:#c8d6e5;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:0;
  box-shadow:var(--focus-ring);
}

button,
.btn,
.dash-btn,
.lang-btn,
.theme-toggle,
.a11y-top-btn,
.a11y-btn,
.menu-btn{
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
}

.btn,
.lang-btn,
.theme-toggle,
.a11y-top-btn,
.menu-btn,
.a11y-btn{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease,filter .2s ease;
}

.btn:active,
.lang-btn:active,
.theme-toggle:active,
.a11y-top-btn:active,
.menu-btn:active,
.a11y-btn:active{
  transform:translateY(1px) scale(.99);
}

.btn-gold{
  color:#08192c;
  background:linear-gradient(135deg,#b87814 0%,#f3c65f 48%,#b87814 100%);
  border-color:rgba(122,78,10,.18);
  box-shadow:0 16px 34px rgba(184,120,20,.28);
}

.btn-gold:hover{
  box-shadow:0 20px 42px rgba(184,120,20,.34);
}

.btn-outline{
  color:var(--navy);
  background:rgba(255,255,255,.82);
  border-color:#cbd8e7;
}

.btn-outline:hover{
  background:#fff;
  color:var(--navy);
}

.language-switch{
  max-width:100%;
  flex-wrap:nowrap;
  border-color:rgba(8,25,44,.10);
  box-shadow:0 10px 24px rgba(8,25,44,.05);
}

.lang-btn{
  min-width:32px;
  padding:0 8px;
}

.lang-btn:hover,
.theme-toggle:hover,
.a11y-top-btn:hover,
.menu-btn:hover,
.a11y-btn:hover{
  transform:translateY(-1px);
  border-color:var(--gold-strong);
}

.site-header{
  min-height:112px;
  overflow:visible;
  padding-top:12px;
  padding-bottom:12px;
}

.brand{
  width:116px;
  height:88px;
  padding:7px;
  border:1px solid rgba(8,25,44,.08);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 34px rgba(8,25,44,.09);
  overflow:visible;
}

.brand img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

.hero{
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
}

.hero-photo{
  height:470px;
}

.hero-photo>img{
  top:18px;
  width:100%;
  height:392px;
  object-fit:cover;
  object-position:center 42%;
  border-radius:42px 12px 12px 42px;
}

.hero-badge{
  right:20px;
  bottom:18px;
  width:min(335px,78%);
  background:linear-gradient(135deg,rgba(4,20,36,.96),rgba(8,44,78,.96));
  border:1px solid rgba(255,255,255,.12);
}

.gold-arch{
  top:40px;
  left:-12px;
  height:380px;
}

.feature-strip span svg,
.insurance-card span svg,
.steps span svg,
.newsletter svg{
  stroke:#0a3157;
}

.insurance-card:hover span svg,
.feature-strip div:hover span svg,
.steps div:hover span svg{
  stroke:var(--gold-strong);
  transform:translateY(-2px);
}

.insurance-card span svg,
.feature-strip span svg,
.steps span svg,
.newsletter svg,
.value-card span svg,
.hero-badge span svg{
  transition:transform .2s ease,stroke .2s ease,color .2s ease;
}

.form-grid input,
.form-grid select,
.newsletter input,
.input,
textarea{
  color:var(--ink);
  background:#fff;
}

.form-grid input::placeholder,
.newsletter input::placeholder,
.input::placeholder,
textarea::placeholder{
  color:#7a8797;
}

.accessibility-panel{
  backdrop-filter:blur(22px) saturate(140%);
}

.accessibility-head button{
  display:grid;
  place-items:center;
  color:var(--ink);
}

.a11y-btn{
  min-height:46px;
}

.a11y-btn[aria-pressed="true"],
.a11y-btn.is-active{
  background:rgba(216,164,59,.16) !important;
  border-color:rgba(216,164,59,.55) !important;
}

.a11y-status:empty::before{
  content:"Status do leitor de voz";
  color:inherit;
  opacity:.55;
}

.footer-logo-card{
  width:168px;
  padding:10px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
  margin-bottom:14px;
}

.footer-logo{
  width:100%;
  max-width:148px;
  margin:0 auto;
  image-rendering:auto;
}

.qr{
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}

.qr:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}

.page-hero{
  padding:78px 6vw 46px;
  background:linear-gradient(135deg,#061d35,#0a2d4f);
  color:#fff;
}

.container{
  width:min(92vw,1180px);
  margin:0 auto;
}

.page-hero h1{
  margin:0 0 12px;
  font-size:clamp(38px,5vw,68px);
  letter-spacing:-.055em;
  line-height:1;
}

.page-hero p{
  color:#d6e4f2;
  font-size:18px;
}

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.panel,
.dark-panel{
  padding:28px;
  border-radius:24px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.panel{
  background:#fff;
}

.dark-panel{
  background:linear-gradient(135deg,#061d35,#082c4e);
  color:#fff;
}

.dark-panel p{
  color:#dbe7f3;
  line-height:1.7;
}

.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.card{
  padding:24px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
}

.card h3{
  margin:10px 0 8px;
}

.card p{
  color:var(--text);
  line-height:1.6;
}

.card .icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(216,164,59,.14);
  color:var(--navy);
}

.gold{
  color:var(--gold-deep);
  font-weight:900;
}

.btn-dark{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}

.btn-dark:hover{
  background:var(--navy-2);
}

.input,
textarea{
  width:100%;
  min-height:52px;
  border:1px solid #d9e2ed;
  border-radius:12px;
  padding:14px;
  font:inherit;
}

textarea{
  min-height:130px;
  resize:vertical;
}

body.dark{
  --bg:#041525;
  --panel:var(--dark-panel);
  --bg-soft:#082946;
  --line:var(--dark-border);
  --ink:var(--dark-text);
  --text:var(--dark-muted);
  background:radial-gradient(circle at 10% 0%,rgba(216,164,59,.11),transparent 26%),#041525;
}

body.dark .noise{
  opacity:.10;
}

body.dark .site-header{
  background:rgba(4,18,32,.86);
  border-bottom-color:rgba(255,255,255,.10);
  box-shadow:0 18px 44px rgba(0,0,0,.24);
}

body.dark .brand{
  background:rgba(255,255,255,.96);
  border-color:rgba(216,164,59,.45);
  box-shadow:0 18px 42px rgba(0,0,0,.30);
}

body.dark .language-switch{
  background:rgba(7,31,57,.88);
  border-color:rgba(255,255,255,.14);
}

body.dark .lang-btn,
body.dark .theme-toggle,
body.dark .menu-btn,
body.dark .a11y-top-btn{
  background:#071f39;
  color:#f4f8fc;
  border-color:rgba(255,255,255,.16);
}

body.dark .lang-btn.active{
  background:linear-gradient(135deg,#b87814,#f3c65f);
  color:#08192c;
  border-color:rgba(243,198,95,.72);
}

body.dark .main-nav a,
body.dark .phone{
  color:#f4f8fc;
}

body.dark .btn-gold{
  color:#061d35;
}

body.dark .btn-outline{
  background:#071f39;
  color:#f4f8fc;
  border-color:rgba(255,255,255,.20);
}

body.dark .btn-outline:hover{
  background:#0a2d4f;
  border-color:rgba(216,164,59,.55);
}

body.dark .hero{
  background:radial-gradient(circle at 12% 20%,rgba(216,164,59,.14),transparent 28%),linear-gradient(120deg,#041525,#092845);
}

body.dark .hero::before{
  background:linear-gradient(116deg,transparent 0 49.2%,rgba(216,164,59,.14) 49.6%,transparent 50%);
}

body.dark .hero p,
body.dark .hero-badge p,
body.dark .quote-card p,
body.dark .quote-card small{
  color:#d7e4f1;
}

body.dark .feature-strip,
body.dark .insurance-panel,
body.dark .steps-card,
body.dark .testimonial,
body.dark .partners,
body.dark .blog-card,
body.dark .faq,
body.dark .newsletter,
body.dark .panel,
body.dark .card{
  background:linear-gradient(180deg,#071f39,#061a2f);
  color:#f4f8fc;
  border-color:rgba(255,255,255,.13);
  box-shadow:0 24px 58px rgba(0,0,0,.28);
}

body.dark .insurance-card,
body.dark .partner-row span,
body.dark .hero-tags span{
  background:#082946;
  color:#f4f8fc;
  border-color:rgba(255,255,255,.12);
}

body.dark .insurance-card p,
body.dark .steps p,
body.dark .blog-card p,
body.dark .faq p,
body.dark .testimonial blockquote,
body.dark .newsletter p,
body.dark .card p{
  color:#c8d6e5;
}

body.dark .feature-strip span svg,
body.dark .insurance-card span svg,
body.dark .value-card span svg,
body.dark .steps span svg,
body.dark .hero-badge span svg,
body.dark .newsletter svg{
  stroke:#f3c65f !important;
  color:#f3c65f !important;
}

body.dark .quote-card,
body.dark .dark-band,
body.dark .dark-panel{
  background:linear-gradient(135deg,#03111e,#082946);
  border:1px solid rgba(255,255,255,.12);
}

body.dark .form-grid input,
body.dark .form-grid select,
body.dark .newsletter input,
body.dark .input,
body.dark textarea{
  background:#071f39;
  color:#f4f8fc;
  border-color:rgba(255,255,255,.18);
}

body.dark .form-grid input::placeholder,
body.dark .newsletter input::placeholder,
body.dark .input::placeholder,
body.dark textarea::placeholder{
  color:#b6c7d8;
}

body.dark .accessibility-panel{
  background:rgba(7,31,57,.92) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:#f4f8fc !important;
}

body.dark .accessibility-head button,
body.dark .a11y-btn{
  background:#082946 !important;
  color:#f4f8fc !important;
  border-color:rgba(255,255,255,.15) !important;
}

body.dark .a11y-speech{
  background:linear-gradient(135deg,rgba(243,198,95,.18),rgba(255,255,255,.05)) !important;
  border-color:rgba(243,198,95,.42) !important;
}

body.dark .footer{
  background:linear-gradient(180deg,#03111e,#010812);
}

body.high-contrast{
  background:#fff !important;
}

body.high-contrast .btn,
body.high-contrast button,
body.high-contrast input,
body.high-contrast select,
body.high-contrast textarea{
  border:2px solid #000 !important;
}

@media (max-width:1100px){
  .site-header{
    min-height:96px;
    gap:14px;
  }

  .brand{
    width:96px;
    height:74px;
  }

  .main-nav{
    top:98px !important;
    max-height:calc(100vh - 120px);
    overflow:auto;
  }

  body.dark .main-nav{
    background:#071f39;
    border-color:rgba(255,255,255,.14);
  }

  .hero{
    grid-template-columns:1fr;
  }

  .hero-photo{
    height:430px;
  }
}

/* Final first-fold overrides */
.site-header{min-height:108px !important;padding:10px 4.7vw !important}
.brand{width:246px !important;height:92px !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;filter:drop-shadow(0 14px 24px rgba(8,25,44,.12)) !important}
.brand img{width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:contain !important}
.hero{min-height:700px !important;grid-template-columns:minmax(520px,.9fr) minmax(680px,1.1fr) !important;gap:min(4vw,72px) !important;padding:78px 4.8vw 82px !important}
.hero-logo-lines{display:block !important;position:absolute;top:14px;left:48%;width:min(54vw,780px);height:auto;transform:translateX(-32%);z-index:1;opacity:.16;pointer-events:none}
.hero-logo-lines path{fill:none;stroke:rgba(184,120,20,.72);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1600;stroke-dashoffset:1600;filter:drop-shadow(0 8px 18px rgba(200,149,51,.16));animation:drawBrandLines 4.8s ease forwards,floatBrandLines 9s ease-in-out infinite}
.hero-logo-lines .line-n{stroke:rgba(6,29,53,.32);animation-delay:.35s}.hero-logo-lines .line-orbit{stroke:rgba(200,149,51,.44);animation-delay:.65s}
.btn-whatsapp{background:rgba(255,255,255,.92) !important;color:var(--ink) !important;border-color:#d5dfec !important;box-shadow:0 14px 30px rgba(8,25,44,.08) !important}
.btn-whatsapp svg{width:20px !important;height:20px !important;padding:3px;border-radius:999px;color:#fff !important;background:#25d366 !important;stroke:#fff !important}
.btn-whatsapp:hover{background:#fff !important;border-color:#25d366 !important;color:var(--ink) !important;box-shadow:0 18px 36px rgba(37,211,102,.18) !important}
.hero-photo{height:540px !important;filter:drop-shadow(0 34px 54px rgba(8,25,44,.16)) !important}
.hero-photo>img{top:28px !important;width:100% !important;height:492px !important;border-radius:34px !important;object-position:center center !important;filter:contrast(1.05) saturate(1.04) !important;box-shadow:0 28px 70px rgba(8,25,44,.14) !important}
.hero-photo::before{inset:18px -8px 6px 8% !important;border-radius:40px !important;background:linear-gradient(135deg,rgba(255,211,109,.42),rgba(255,255,255,.08) 46%,rgba(6,29,53,.12)),linear-gradient(90deg,rgba(216,164,59,.35),transparent) !important;transform:rotate(-1.4deg) !important}
.hero-photo::after{content:"";position:absolute;inset:28px 10px 18px 0;border-radius:34px;padding:1px;background:linear-gradient(135deg,rgba(216,164,59,.85),rgba(255,255,255,.18) 38%,rgba(6,29,53,.28) 72%,rgba(216,164,59,.65));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.gold-arch{left:-32px !important;top:92px !important;width:360px !important;height:360px !important;border-left-width:14px !important;opacity:.42 !important;filter:drop-shadow(0 18px 26px rgba(216,164,59,.20)) !important}
.hero-tags,.hero-badge{display:none !important}
.footer-logo-card{width:250px !important;padding:0 !important;background:transparent !important;box-shadow:none !important}.footer-logo{max-width:250px !important;filter:drop-shadow(0 14px 24px rgba(0,0,0,.20))}
body.dark .brand{background:transparent !important;filter:drop-shadow(0 14px 28px rgba(0,0,0,.28)) !important}body.dark .btn-whatsapp{background:#071f39 !important;color:#f4f8fc !important;border-color:rgba(255,255,255,.18) !important}body.dark .btn-whatsapp:hover{border-color:#25d366 !important;background:#092946 !important}
@media (max-width:1320px){.brand{width:220px !important;height:84px !important}.hero{grid-template-columns:minmax(420px,.95fr) minmax(560px,1.05fr) !important}.hero-photo{height:500px !important}.hero-photo>img{height:452px !important}}
@media (max-width:1100px){.brand{width:196px !important;height:76px !important}.hero{grid-template-columns:1fr !important}.hero-logo-lines{left:50%;width:92vw;transform:translateX(-50%)}}
@media (max-width:760px){.brand{width:156px !important;height:62px !important}.site-header{min-height:86px !important}.hero{padding:30px 18px 42px !important}.hero-photo{height:auto !important}.hero-photo>img{height:330px !important;border-radius:26px !important}.hero-photo::after{inset:0;border-radius:26px}.gold-arch{display:none !important}}

/* Production contact and language polish */
.language-switch{
  gap:6px !important;
  padding:5px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.78) !important;
  backdrop-filter:blur(18px) saturate(140%) !important;
}

.lang-btn{
  width:38px !important;
  min-width:38px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  font-size:18px !important;
  line-height:1 !important;
  border-radius:11px !important;
}

.lang-btn.active{
  background:#061d35 !important;
  border-color:#061d35 !important;
  box-shadow:0 10px 24px rgba(8,25,44,.18) !important;
}

.lang-btn:hover{
  transform:translateY(-1px) !important;
}

.flag{
  position:relative;
  display:block;
  width:24px;
  height:16px;
  overflow:hidden;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(6,29,53,.16),0 5px 10px rgba(6,29,53,.14);
}

.flag::before,
.flag::after{
  content:"";
  position:absolute;
}

.flag-br{
  background:#229e45;
}

.flag-br::before{
  left:5px;
  top:1px;
  width:14px;
  height:14px;
  background:#f8df35;
  transform:rotate(45deg);
}

.flag-br::after{
  left:8px;
  top:4px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#002776;
}

.flag-us{
  background:repeating-linear-gradient(to bottom,#b22234 0 1.23px,#fff 1.23px 2.46px);
}

.flag-us::before{
  left:0;
  top:0;
  width:10.5px;
  height:8.6px;
  background:#3c3b6e;
}

.flag-es{
  background:linear-gradient(to bottom,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75%);
}

.flag-fr{
  background:linear-gradient(to right,#0055a4 0 33.33%,#fff 33.33% 66.66%,#ef4135 66.66%);
}

.flag-in{
  background:linear-gradient(to bottom,#ff9933 0 33.33%,#fff 33.33% 66.66%,#138808 66.66%);
}

.flag-in::after{
  left:9px;
  top:5px;
  width:6px;
  height:6px;
  border:1px solid #000080;
  border-radius:50%;
}

.flag-de{
  background:linear-gradient(to bottom,#000 0 33.33%,#dd0000 33.33% 66.66%,#ffce00 66.66%);
}

.hero-photo>img{
  content:url("../img/hero-family-publish-2026.png") !important;
  object-position:center center !important;
  filter:none !important;
  image-rendering:auto !important;
  backface-visibility:hidden !important;
}

.hero-photo::before{
  background:
    radial-gradient(circle at 28% 12%,rgba(255,255,255,.55),transparent 30%),
    linear-gradient(135deg,rgba(255,211,109,.44),rgba(255,255,255,.08) 46%,rgba(6,29,53,.14)) !important;
}

.footer-grid{
  grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(150px,1fr)) !important;
}

.footer-email-link{
  display:inline-flex !important;
  align-items:center !important;
  min-height:40px !important;
  width:max-content !important;
  max-width:100% !important;
  padding:8px 12px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.07) !important;
  color:#fff !important;
  overflow-wrap:anywhere !important;
}

.form-status{
  grid-column:1/-1;
  margin:0;
  padding:10px 12px;
  border:1px solid rgba(27,138,75,.25);
  border-radius:12px;
  background:rgba(27,138,75,.10);
  color:#d9ffe8;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
}

.panel .form-status,
.newsletter .form-status{
  color:#0f5132;
}

.form-status.error{
  border-color:rgba(198,73,73,.30);
  background:rgba(198,73,73,.10);
  color:#ffd4d4;
}

.panel .form-status.error,
.newsletter .form-status.error{
  color:#9f2626;
}

.qr{
  display:none !important;
}

body.dark .language-switch{
  background:rgba(7,31,57,.80) !important;
  border-color:rgba(255,255,255,.14) !important;
}

body.dark .lang-btn.active{
  background:linear-gradient(135deg,#d29422,#ffd36d) !important;
  color:#061d35 !important;
  border-color:#ffd36d !important;
}

@media (max-width:1100px){
  .footer-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media (max-width:760px){
  .language-switch{
    gap:4px !important;
  }

  .lang-btn{
    width:auto !important;
    min-width:0 !important;
    height:36px !important;
  }

  .footer-grid{
    grid-template-columns:1fr !important;
  }
}

/* Header fit for publication viewports */
@media (max-width:1500px){
  .site-header{
    padding-inline:3vw !important;
    gap:18px !important;
  }

  .brand{
    width:220px !important;
  }

  .main-nav{
    gap:18px !important;
  }

  .main-nav a{
    font-size:13px !important;
  }

  .header-actions{
    gap:8px !important;
  }

  .header-actions > .btn{
    display:none !important;
  }
}

@media (max-width:1360px){
  .site-header{
    padding-inline:24px !important;
  }

  .brand{
    width:196px !important;
  }

  .main-nav{
    gap:14px !important;
  }

  .language-switch{
    gap:4px !important;
    padding:4px !important;
  }

  .lang-btn{
    width:34px !important;
    min-width:34px !important;
  }
}

/* Publish-ready first fold: transparent logo, clean WhatsApp CTA, sharp family photo */
.site-header{
  min-height:126px !important;
  padding:12px 4.6vw !important;
  gap:clamp(14px,1.8vw,30px) !important;
}

.brand{
  width:142px !important;
  height:118px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  filter:drop-shadow(0 18px 26px rgba(8,25,44,.16)) !important;
}

.brand img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
}

.main-nav{
  gap:clamp(16px,1.45vw,28px) !important;
}

.header-actions{
  gap:10px !important;
}

.header-actions > .btn{
  padding-inline:20px !important;
  white-space:nowrap !important;
}

.hero{
  min-height:720px !important;
  grid-template-columns:minmax(520px,.88fr) minmax(650px,1.12fr) !important;
  gap:min(5vw,82px) !important;
  padding:74px 4.8vw 86px !important;
  background:
    radial-gradient(circle at 82% 18%,rgba(216,164,59,.16),transparent 25%),
    radial-gradient(circle at 12% 22%,rgba(216,164,59,.12),transparent 30%),
    linear-gradient(118deg,#fff 0%,#fff 44%,#faf5eb 100%) !important;
  isolation:isolate !important;
}

.hero::before{
  background:
    linear-gradient(116deg,transparent 0 49.3%,rgba(216,164,59,.18) 49.65%,transparent 50%),
    linear-gradient(90deg,rgba(255,255,255,.10),transparent 28%,rgba(216,164,59,.08) 76%,transparent) !important;
}

.hero::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg,rgba(6,29,53,.055) 1px,transparent 1px),
    linear-gradient(0deg,rgba(6,29,53,.04) 1px,transparent 1px) !important;
  background-size:72px 72px !important;
  mask-image:radial-gradient(circle at 65% 44%,#000 0,transparent 58%) !important;
  opacity:.55 !important;
}

.hero-logo-lines{
  display:block !important;
  top:20px !important;
  left:57% !important;
  width:min(60vw,930px) !important;
  transform:translateX(-38%) !important;
  opacity:.22 !important;
  z-index:2 !important;
}

.hero-logo-lines path{
  stroke-width:2.4 !important;
  stroke:rgba(184,120,20,.70) !important;
}

.hero-logo-lines .line-n{
  stroke:rgba(6,29,53,.36) !important;
}

.hero-copy,
.hero-photo{
  z-index:4 !important;
}

.hero h1{
  max-width:760px !important;
  letter-spacing:-.062em !important;
}

.hero p{
  max-width:720px !important;
}

.hero-tags,
.hero-badge{
  display:none !important;
}

.btn-whatsapp{
  background:rgba(255,255,255,.94) !important;
  color:#061d35 !important;
  border:1px solid #d2ddeb !important;
  box-shadow:0 14px 30px rgba(8,25,44,.08) !important;
}

.btn-whatsapp svg{
  width:22px !important;
  height:22px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#25d366 !important;
  stroke:#25d366 !important;
  filter:drop-shadow(0 6px 10px rgba(37,211,102,.20)) !important;
}

.btn-whatsapp svg path{
  stroke:#25d366 !important;
}

.btn-whatsapp:hover{
  transform:translateY(-2px) !important;
  background:#fff !important;
  color:#061d35 !important;
  border-color:#25d366 !important;
  box-shadow:0 20px 38px rgba(37,211,102,.16) !important;
}

.hero-photo{
  height:550px !important;
  min-width:0 !important;
  filter:none !important;
  transform:translateX(-8px) !important;
}

.hero-photo::before{
  content:"" !important;
  position:absolute !important;
  inset:34px -8px 16px 8% !important;
  z-index:1 !important;
  border-radius:42px !important;
  background:
    linear-gradient(135deg,rgba(243,198,95,.44),rgba(255,255,255,.16) 38%,rgba(6,29,53,.14)),
    radial-gradient(circle at 18% 16%,rgba(255,255,255,.72),transparent 34%) !important;
  transform:rotate(-1.6deg) !important;
  box-shadow:0 36px 82px rgba(8,25,44,.12) !important;
}

.hero-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:28px 0 20px 0 !important;
  z-index:3 !important;
  border-radius:36px !important;
  padding:1.5px !important;
  pointer-events:none !important;
  background:linear-gradient(135deg,rgba(216,164,59,.94),rgba(255,255,255,.22) 36%,rgba(6,29,53,.30) 72%,rgba(216,164,59,.68)) !important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) !important;
  -webkit-mask-composite:xor !important;
  mask-composite:exclude !important;
}

.hero-photo>img{
  z-index:2 !important;
  top:28px !important;
  right:0 !important;
  width:100% !important;
  height:500px !important;
  border-radius:36px !important;
  object-fit:cover !important;
  object-position:center center !important;
  filter:none !important;
  image-rendering:auto !important;
  transform:translateZ(0) !important;
  box-shadow:0 34px 78px rgba(8,25,44,.16) !important;
}

.gold-arch{
  z-index:4 !important;
  left:-42px !important;
  top:108px !important;
  width:358px !important;
  height:358px !important;
  border-left-width:12px !important;
  opacity:.38 !important;
}

body.dark .brand img{
  content:url("../img/logo-forca-nova-transparent-dark.png") !important;
}

body.dark .hero{
  background:
    radial-gradient(circle at 78% 18%,rgba(216,164,59,.15),transparent 26%),
    linear-gradient(118deg,#041525 0%,#061d35 48%,#092946 100%) !important;
}

body.dark .hero::after{
  background:
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.045) 1px,transparent 1px) !important;
}

body.dark .hero-logo-lines path{
  stroke:rgba(243,198,95,.54) !important;
}

body.dark .hero-logo-lines .line-n{
  stroke:rgba(255,255,255,.22) !important;
}

body.dark .btn-whatsapp{
  background:rgba(7,31,57,.92) !important;
  color:#f4f8fc !important;
  border-color:rgba(255,255,255,.20) !important;
}

body.dark .btn-whatsapp:hover{
  border-color:#25d366 !important;
  background:#092946 !important;
}

@media (max-width:1420px){
  .site-header{padding-inline:3.4vw !important}
  .brand{width:126px !important;height:108px !important}
  .main-nav{gap:16px !important}
  .main-nav a{font-size:13px !important}
  .header-actions > .btn{padding-inline:16px !important}
  .hero{grid-template-columns:minmax(430px,.9fr) minmax(560px,1.1fr) !important}
  .hero-photo{height:520px !important}
  .hero-photo>img{height:470px !important}
}

@media (max-width:1100px){
  .site-header{min-height:104px !important}
  .brand{width:118px !important;height:92px !important}
  .hero{grid-template-columns:1fr !important;padding-top:42px !important}
  .hero-logo-lines{left:50% !important;width:92vw !important;transform:translateX(-50%) !important}
  .hero-photo{height:500px !important;transform:none !important}
  .hero-photo>img{height:448px !important}
}

@media (max-width:760px){
  .site-header{min-height:88px !important;padding:8px 14px !important}
  .brand{width:78px !important;height:72px !important}
  .hero{padding:30px 18px 44px !important;min-height:auto !important}
  .hero-photo{height:auto !important;margin-top:10px !important}
  .hero-photo::before{inset:8px 0 2px 0 !important;border-radius:28px !important}
  .hero-photo::after{inset:0 !important;border-radius:28px !important}
  .hero-photo>img{position:relative !important;top:0 !important;height:330px !important;border-radius:28px !important;object-position:center center !important}
  .btn-whatsapp{width:100% !important}
}

/* Final viewport balance after visual QA */
.hero{
  min-height:660px !important;
  grid-template-columns:minmax(580px,.96fr) minmax(620px,1.04fr) !important;
  gap:min(4.2vw,72px) !important;
  padding-top:60px !important;
  padding-bottom:62px !important;
}

.hero h1{
  font-size:clamp(52px,4.65vw,78px) !important;
  line-height:.95 !important;
  max-width:820px !important;
}

.hero p{
  font-size:clamp(18px,1.1vw,20px) !important;
  line-height:1.6 !important;
  margin-bottom:24px !important;
}

.hero-photo{
  height:514px !important;
}

.hero-photo>img{
  height:464px !important;
}

@media (max-width:1420px){
  .hero{
    grid-template-columns:minmax(500px,.96fr) minmax(540px,1.04fr) !important;
  }

  .hero h1{
    font-size:clamp(50px,4.4vw,70px) !important;
  }
}

@media (max-width:1100px){
  .hero{
    grid-template-columns:1fr !important;
  }
}

/* Official PDF logo rollout */
.site-header{
  min-height:118px !important;
}

.brand{
  width:292px !important;
  height:92px !important;
  filter:drop-shadow(0 15px 24px rgba(8,25,44,.13)) !important;
}

.brand img{
  content:url("../img/logo-forca-nova-official-web.png") !important;
}

.footer-logo-card{
  width:320px !important;
}

.footer-logo{
  width:320px !important;
  max-width:100% !important;
}

body.dark .brand img{
  content:url("../img/logo-forca-nova-official-web-dark.png") !important;
}

.hero-photo>img{
  content:url("../img/hero-family-publish-2026.png") !important;
  filter:none !important;
}

@media (max-width:1420px){
  .brand{
    width:242px !important;
    height:84px !important;
  }

  .header-actions > .btn{
    padding-inline:14px !important;
  }
}

@media (max-width:1100px){
  .brand{
    width:220px !important;
    height:76px !important;
  }
}

@media (max-width:860px){
  .brand{
    width:180px !important;
    height:64px !important;
  }
}

@media (max-width:760px){
  .brand{
    width:148px !important;
    height:54px !important;
  }

  .site-header{
    min-height:84px !important;
  }
}

/* Publication safety: content must remain visible even if entrance animations are delayed. */
.reveal{
  opacity:1 !important;
  transform:none !important;
}

.btn-whatsapp .whatsapp-mark{
  width:22px !important;
  height:22px !important;
  display:block !important;
  flex:0 0 auto !important;
  background:transparent !important;
  filter:drop-shadow(0 6px 10px rgba(37,211,102,.20)) !important;
}

.btn-whatsapp .whatsapp-mark path{
  stroke:none !important;
}

/* First fold refinement: transparent brand, clean WhatsApp CTA and cinematic hero */
.site-header{
  min-height:108px;
  padding:10px 4.7vw;
}

.brand{
  width:246px;
  height:92px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 14px 24px rgba(8,25,44,.12));
}

.brand:hover{
  transform:translateY(-1px) scale(1.015);
}

.brand img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

.hero{
  min-height:700px;
  grid-template-columns:minmax(520px,.9fr) minmax(680px,1.1fr);
  gap:min(4vw,72px);
  padding:78px 4.8vw 82px;
  background:
    linear-gradient(118deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.96) 42%,rgba(249,244,234,.96) 100%),
    radial-gradient(circle at 14% 16%,rgba(200,149,51,.10),transparent 30%);
}

.hero-logo-lines{
  position:absolute;
  top:14px;
  left:48%;
  width:min(54vw,780px);
  height:auto;
  transform:translateX(-32%);
  z-index:1;
  opacity:.16;
  pointer-events:none;
}

.hero-logo-lines path{
  fill:none;
  stroke:rgba(184,120,20,.72);
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1600;
  stroke-dashoffset:1600;
  filter:drop-shadow(0 8px 18px rgba(200,149,51,.16));
  animation:drawBrandLines 4.8s ease forwards, floatBrandLines 9s ease-in-out infinite;
}

.hero-logo-lines .line-n{
  stroke:rgba(6,29,53,.32);
  animation-delay:.35s;
}

.hero-logo-lines .line-orbit{
  stroke:rgba(200,149,51,.44);
  animation-delay:.65s;
}

@keyframes drawBrandLines{
  to{stroke-dashoffset:0}
}

@keyframes floatBrandLines{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(10px)}
}

.hero-copy,
.hero-photo{
  z-index:3;
}

.hero h1{
  font-size:clamp(56px,5.4vw,90px);
  max-width:760px;
}

.hero p{
  max-width:720px;
  margin-bottom:28px;
}

.btn-whatsapp{
  background:rgba(255,255,255,.92);
  color:var(--ink);
  border-color:#d5dfec;
  box-shadow:0 14px 30px rgba(8,25,44,.08);
}

.btn-whatsapp svg{
  width:20px;
  height:20px;
  padding:3px;
  border-radius:999px;
  color:#fff;
  background:#25d366;
  stroke:#fff;
}

.btn-whatsapp:hover{
  background:#fff;
  border-color:#25d366;
  color:var(--ink);
  box-shadow:0 18px 36px rgba(37,211,102,.18);
}

.hero-photo{
  height:540px;
  filter:drop-shadow(0 34px 54px rgba(8,25,44,.16));
}

.hero-photo::before{
  inset:18px -8px 6px 8%;
  border-radius:40px;
  background:
    linear-gradient(135deg,rgba(255,211,109,.42),rgba(255,255,255,.08) 46%,rgba(6,29,53,.12)),
    linear-gradient(90deg,rgba(216,164,59,.35),transparent);
  transform:rotate(-1.4deg);
}

.hero-photo::after{
  content:"";
  position:absolute;
  inset:28px 10px 18px 0;
  border-radius:34px;
  padding:1px;
  background:linear-gradient(135deg,rgba(216,164,59,.85),rgba(255,255,255,.18) 38%,rgba(6,29,53,.28) 72%,rgba(216,164,59,.65));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.hero-photo>img{
  top:28px;
  height:492px;
  border-radius:34px;
  object-position:center center;
  filter:contrast(1.05) saturate(1.04);
  box-shadow:0 28px 70px rgba(8,25,44,.14);
}

.gold-arch{
  left:-32px;
  top:92px;
  width:360px;
  height:360px;
  border-left-width:14px;
  opacity:.42;
  filter:drop-shadow(0 18px 26px rgba(216,164,59,.20));
}

.hero-tags,
.hero-badge{
  display:none !important;
}

.footer-logo-card{
  width:250px;
  padding:0;
  background:transparent;
  box-shadow:none;
}

.footer-logo{
  max-width:250px;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.20));
}

body.dark .brand{
  background:transparent;
  filter:drop-shadow(0 14px 28px rgba(0,0,0,.28));
}

body.dark .hero-logo-lines path{
  stroke:rgba(243,198,95,.52);
}

body.dark .hero-logo-lines .line-n{
  stroke:rgba(255,255,255,.20);
}

body.dark .btn-whatsapp{
  background:#071f39;
  color:#f4f8fc;
  border-color:rgba(255,255,255,.18);
}

body.dark .btn-whatsapp:hover{
  border-color:#25d366;
  background:#092946;
}

@media (max-width:1320px){
  .brand{
    width:220px;
    height:84px;
  }

  .hero{
    grid-template-columns:minmax(420px,.95fr) minmax(560px,1.05fr);
  }

  .hero-photo{
    height:500px;
  }

  .hero-photo>img{
    height:452px;
  }
}

@media (max-width:1100px){
  .brand{
    width:196px;
    height:76px;
  }

  .hero{
    grid-template-columns:1fr;
  }

  .hero-logo-lines{
    left:50%;
    width:92vw;
    transform:translateX(-50%);
  }
}

@media (max-width:760px){
  .brand{
    width:156px;
    height:62px;
  }

  .site-header{
    min-height:86px;
  }

  .hero{
    padding:30px 18px 42px;
  }

  .hero-photo{
    height:auto;
  }

  .hero-photo>img{
    height:330px;
    border-radius:26px;
    object-position:center center;
  }

  .hero-photo::after{
    inset:0;
    border-radius:26px;
  }

  .gold-arch{
    display:none;
  }
}

/* Publication polish: hero, logo, WhatsApp CTA and responsive first fold */
.site-header{
  min-height:124px;
  padding:12px 5vw;
}

.brand{
  width:146px;
  height:96px;
  padding:8px;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 44px rgba(8,25,44,.10);
}

.brand img{
  object-fit:contain !important;
  object-position:center !important;
}

.hero{
  min-height:690px;
  grid-template-columns:minmax(520px,.92fr) minmax(650px,1.08fr);
  gap:min(4vw,64px);
  padding:74px 5.2vw 78px;
  background:
    linear-gradient(118deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.94) 46%,rgba(249,244,234,.96) 100%),
    radial-gradient(circle at 18% 10%,rgba(216,164,59,.18),transparent 31%);
}

.hero::before{
  background:
    linear-gradient(116deg,transparent 0 49.4%,rgba(216,164,59,.18) 49.7%,transparent 50.1%),
    linear-gradient(90deg,rgba(255,255,255,.08),transparent 26%,rgba(216,164,59,.06) 72%,transparent);
}

.hero-copy{
  max-width:710px;
}

.hero h1{
  margin-bottom:22px;
  max-width:760px;
  font-size:clamp(58px,5.5vw,92px);
  line-height:.93;
  letter-spacing:-.065em;
}

.hero p{
  max-width:680px;
  font-size:clamp(18px,1.25vw,22px);
  line-height:1.68;
}

.hero-cta{
  gap:12px;
}

.btn{
  min-height:48px;
  border-radius:14px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

.btn-gold{
  color:#07192c;
  background:linear-gradient(135deg,#d29422 0%,#ffd36d 52%,#bd760d 100%);
  box-shadow:0 18px 36px rgba(200,149,51,.28);
}

.btn-gold::after{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(110deg,transparent 0 34%,rgba(255,255,255,.48) 45%,transparent 58%);
  transform:translateX(-130%);
  transition:transform .55s ease;
  z-index:-1;
}

.btn-gold:hover::after{
  transform:translateX(130%);
}

.btn-whatsapp{
  background:#25d366;
  color:#062716;
  border-color:#20b85a;
  box-shadow:0 16px 32px rgba(37,211,102,.24);
}

.btn-whatsapp svg{
  width:20px;
  height:20px;
  stroke:currentColor;
}

.btn-whatsapp:hover{
  transform:translateY(-2px);
  background:#1fbe5a;
  box-shadow:0 22px 42px rgba(37,211,102,.32);
}

.hero-tags{
  max-width:720px;
  gap:8px;
}

.hero-tags span{
  padding:11px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(8,25,44,.12);
  box-shadow:0 12px 28px rgba(8,25,44,.06);
  backdrop-filter:blur(12px);
}

.hero-photo{
  height:568px;
  min-width:0;
}

.hero-photo::before{
  content:"";
  position:absolute;
  inset:6px 0 10px 8%;
  border-radius:42px;
  background:linear-gradient(135deg,rgba(216,164,59,.18),rgba(6,29,53,.07));
  transform:rotate(-2deg);
}

.hero-photo>img{
  top:30px;
  right:0;
  width:100%;
  height:506px;
  border-radius:40px;
  object-position:center 35%;
  box-shadow:0 38px 86px rgba(8,25,44,.18);
}

.hero-badge{
  left:50%;
  right:auto;
  bottom:8px;
  width:min(382px,58%);
  transform:translateX(-50%);
  padding:22px 24px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(3,18,32,.92),rgba(5,43,78,.90));
  box-shadow:0 28px 60px rgba(6,29,53,.36);
  backdrop-filter:blur(18px) saturate(130%);
}

.hero-badge span svg{
  width:34px;
  height:34px;
}

.hero-badge strong{
  font-size:15px;
}

.gold-arch{
  left:-2%;
  top:68px;
  width:390px;
  height:390px;
  border-left-width:18px;
  opacity:.72;
}

.partner-row{
  color:var(--navy);
}

.footer-bottom{
  align-items:flex-start;
  gap:14px;
}

body.dark .brand{
  background:rgba(255,255,255,.95);
}

body.dark .btn-whatsapp{
  background:#25d366;
  color:#052414;
  border-color:#25d366;
}

body.dark .hero-photo::before{
  background:linear-gradient(135deg,rgba(243,198,95,.18),rgba(255,255,255,.05));
}

body.dark .hero-tags span{
  background:rgba(8,41,70,.82);
  border-color:rgba(255,255,255,.14);
}

body.dark .btn-gold{
  color:#061d35;
}

@media (max-width:1320px){
  .hero{
    grid-template-columns:minmax(430px,.94fr) minmax(540px,1.06fr);
  }

  .hero-photo{
    height:520px;
  }

  .hero-photo>img{
    height:462px;
  }
}

@media (max-width:1100px){
  .site-header{
    min-height:104px;
  }

  .brand{
    width:124px;
    height:82px;
  }

  .hero{
    grid-template-columns:1fr;
    padding-top:42px;
  }

  .hero-photo{
    height:520px;
  }
}

@media (max-width:760px){
  .site-header{
    min-height:92px;
  }

  .brand{
    width:104px;
    height:70px;
  }

  .hero{
    padding:30px 18px 42px;
  }

  .hero h1{
    font-size:clamp(44px,13vw,58px);
  }

  .hero-cta .btn{
    width:100%;
  }

  .hero-photo{
    height:auto;
    margin-top:8px;
  }

  .hero-photo::before{
    inset:4px;
  }

  .hero-photo>img{
    position:relative;
    top:0;
    height:360px;
    border-radius:28px;
    object-position:center 33%;
  }

  .hero-badge{
    position:relative;
    left:auto;
    bottom:auto;
    width:100%;
    transform:none;
    margin-top:-28px;
  }
}

@media (max-width:860px){
  .language-switch{
    order:5;
    width:100%;
    justify-content:space-between;
  }

  .lang-btn{
    flex:1;
  }

  .header-actions{
    flex:1;
    justify-content:flex-end;
  }
}

@media (max-width:760px){
  .site-header{
    min-height:86px;
    padding:10px 14px;
  }

  .brand{
    width:82px;
    height:64px;
    border-radius:14px;
    padding:6px;
  }

  .hero h1{
    font-size:clamp(42px,14vw,54px);
    letter-spacing:-.055em;
  }

  .hero-photo{
    height:auto;
  }

  .hero-photo>img{
    height:330px;
    object-position:center 38%;
    border-radius:26px;
  }

  .hero-badge{
    width:100%;
    right:auto;
    bottom:auto;
  }

  .accessibility-panel{
    top:88px !important;
    right:12px !important;
    width:calc(100vw - 24px) !important;
    max-height:calc(100vh - 104px);
    overflow:auto;
  }

  .split{
    grid-template-columns:1fr;
  }

  .cards{
    grid-template-columns:1fr;
  }
}

/* Absolute final first-fold overrides */
.site-header{min-height:108px !important;padding:10px 4.7vw !important}
.brand{width:246px !important;height:92px !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;filter:drop-shadow(0 14px 24px rgba(8,25,44,.12)) !important}
.brand img{width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:contain !important}
.hero{min-height:700px !important;grid-template-columns:minmax(520px,.9fr) minmax(680px,1.1fr) !important;gap:min(4vw,72px) !important;padding:78px 4.8vw 82px !important}
.hero-logo-lines{display:block !important;position:absolute;top:14px;left:48%;width:min(54vw,780px);height:auto;transform:translateX(-32%);z-index:1;opacity:.16;pointer-events:none}
.hero-logo-lines path{fill:none;stroke:rgba(184,120,20,.72);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1600;stroke-dashoffset:1600;filter:drop-shadow(0 8px 18px rgba(200,149,51,.16));animation:drawBrandLines 4.8s ease forwards,floatBrandLines 9s ease-in-out infinite}
.hero-logo-lines .line-n{stroke:rgba(6,29,53,.32);animation-delay:.35s}.hero-logo-lines .line-orbit{stroke:rgba(200,149,51,.44);animation-delay:.65s}
.btn-whatsapp{background:rgba(255,255,255,.92) !important;color:var(--ink) !important;border-color:#d5dfec !important;box-shadow:0 14px 30px rgba(8,25,44,.08) !important}
.btn-whatsapp svg{width:20px !important;height:20px !important;padding:3px;border-radius:999px;color:#fff !important;background:#25d366 !important;stroke:#fff !important}
.btn-whatsapp:hover{background:#fff !important;border-color:#25d366 !important;color:var(--ink) !important;box-shadow:0 18px 36px rgba(37,211,102,.18) !important}
.hero-photo{height:540px !important;filter:drop-shadow(0 34px 54px rgba(8,25,44,.16)) !important}
.hero-photo>img{top:28px !important;width:100% !important;height:492px !important;border-radius:34px !important;object-position:center center !important;filter:contrast(1.05) saturate(1.04) !important;box-shadow:0 28px 70px rgba(8,25,44,.14) !important}
.hero-photo::before{inset:18px -8px 6px 8% !important;border-radius:40px !important;background:linear-gradient(135deg,rgba(255,211,109,.42),rgba(255,255,255,.08) 46%,rgba(6,29,53,.12)),linear-gradient(90deg,rgba(216,164,59,.35),transparent) !important;transform:rotate(-1.4deg) !important}
.hero-photo::after{content:"";position:absolute;inset:28px 10px 18px 0;border-radius:34px;padding:1px;background:linear-gradient(135deg,rgba(216,164,59,.85),rgba(255,255,255,.18) 38%,rgba(6,29,53,.28) 72%,rgba(216,164,59,.65));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.gold-arch{left:-32px !important;top:92px !important;width:360px !important;height:360px !important;border-left-width:14px !important;opacity:.42 !important;filter:drop-shadow(0 18px 26px rgba(216,164,59,.20)) !important}
.hero-tags,.hero-badge{display:none !important}
.footer-logo-card{width:250px !important;padding:0 !important;background:transparent !important;box-shadow:none !important}.footer-logo{max-width:250px !important;filter:drop-shadow(0 14px 24px rgba(0,0,0,.20))}
body.dark .brand{background:transparent !important;filter:drop-shadow(0 14px 28px rgba(0,0,0,.28)) !important}body.dark .btn-whatsapp{background:#071f39 !important;color:#f4f8fc !important;border-color:rgba(255,255,255,.18) !important}body.dark .btn-whatsapp:hover{border-color:#25d366 !important;background:#092946 !important}
@media (max-width:1320px){.brand{width:220px !important;height:84px !important}.hero{grid-template-columns:minmax(420px,.95fr) minmax(560px,1.05fr) !important}.hero-photo{height:500px !important}.hero-photo>img{height:452px !important}}
@media (max-width:1100px){.brand{width:196px !important;height:76px !important}.hero{grid-template-columns:1fr !important}.hero-logo-lines{left:50%;width:92vw;transform:translateX(-50%)}}
@media (max-width:760px){.brand{width:156px !important;height:62px !important}.site-header{min-height:86px !important}.hero{padding:30px 18px 42px !important}.hero-photo{height:auto !important}.hero-photo>img{height:330px !important;border-radius:26px !important}.hero-photo::after{inset:0;border-radius:26px}.gold-arch{display:none !important}}
