@font-face { font-family: Poppins; src: url('/assets/fonts/poppins-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Poppins; src: url('/assets/fonts/poppins-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: Poppins; src: url('/assets/fonts/poppins-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }

:root { --navy:#111a56; --navy-2:#18256f; --cyan:#15afd0; --cyan-dark:#058cad; --ice:#edf7fc; --ink:#17224f; --muted:#596487; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Poppins,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:92px; display:flex; align-items:center; gap:38px; padding:10px max(5vw,28px); border-bottom:1px solid #e8eef5; background:rgba(255,255,255,.97); position:sticky; top:0; z-index:20; }
.brand { margin-right:auto; display:flex; align-items:center; }
.brand img { width:178px; height:74px; object-fit:contain; }
nav { display:flex; gap:34px; font-size:14px; font-weight:600; }
nav a:hover { color:var(--cyan-dark); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; border-radius:15px; padding:17px 26px; background:var(--navy); color:#fff; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.02em; box-shadow:0 12px 25px rgba(17,26,86,.18); transition:.2s ease; }
.button:hover { transform:translateY(-2px); background:var(--navy-2); }
.button-small { padding:14px 24px; border-radius:13px; }
.hero { min-height:670px; display:grid; grid-template-columns:47% 53%; align-items:center; gap:42px; padding:64px max(6vw,36px); background:linear-gradient(120deg,#f0f9fe 0%,#eef7fc 55%,#e6f4fb 100%); overflow:hidden; }
.hero-copy { max-width:640px; }
.eyebrow { color:var(--cyan-dark); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; margin:0 0 14px; }
h1 { font-size:clamp(42px,4.8vw,68px); line-height:1.05; letter-spacing:-.045em; color:var(--navy); margin:0; max-width:680px; }
h1 em { display:block; color:var(--cyan-dark); font-style:normal; margin-top:8px; }
.hero-lead { max-width:590px; margin:26px 0 28px; font-size:18px; line-height:1.7; color:var(--muted); }
.hero-actions { display:flex; align-items:center; gap:24px; }
.text-link { font-size:14px; font-weight:600; color:var(--navy); border-bottom:1px solid #a8b5d2; }
.trust-list { display:flex; flex-wrap:wrap; gap:14px 22px; padding:0; margin:32px 0 0; list-style:none; font-size:13px; font-weight:600; color:#344266; }
.check { display:inline-grid; place-items:center; width:21px; height:21px; border-radius:50%; color:#fff; background:var(--cyan); margin-right:7px; font-size:12px; }
.hero-visual { position:relative; }
.hero-image-wrap { position:relative; border-radius:80px 24px 24px 24px; overflow:visible; box-shadow:0 30px 70px rgba(28,75,112,.16); }
.hero-image-wrap > img { display:block; width:100%; aspect-ratio:1.33; object-fit:cover; border-radius:80px 24px 24px 24px; }
.availability-card { position:absolute; left:-30px; bottom:28px; display:flex; gap:12px; align-items:center; padding:15px 20px; background:#fff; border-radius:16px; box-shadow:0 15px 38px rgba(25,54,85,.18); }
.availability-card div { display:flex; flex-direction:column; }
.availability-card strong { font-size:13px; color:var(--navy); }
.availability-card small { font-size:11px; color:#6a7898; }
.pulse { width:13px; height:13px; border-radius:50%; background:#24bf77; box-shadow:0 0 0 7px #dff8ec; }
.proof-strip { display:grid; grid-template-columns:repeat(3,1fr); max-width:980px; margin:-20px auto 0; position:relative; z-index:3; border-radius:22px; background:#fff; box-shadow:0 20px 60px rgba(35,67,95,.13); }
.proof-strip div { padding:25px 30px; display:flex; flex-direction:column; border-right:1px solid #e8eef5; }
.proof-strip div:last-child { border:0; }
.proof-strip strong { font-size:22px; color:var(--navy); }
.proof-strip span { color:#6b7692; font-size:12px; margin-top:2px; }
.section { max-width:1180px; margin:0 auto; padding:90px 32px; }
.section-heading { max-width:700px; }
.section-heading.centered { margin:0 auto 54px; text-align:center; }
h2 { margin:0; color:var(--navy); font-size:clamp(34px,4vw,52px); line-height:1.13; letter-spacing:-.035em; }
.section-heading > p:last-child, .benefits-intro > p, .plan-copy > p, .specialty-copy > p { color:var(--muted); font-size:16px; line-height:1.75; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; }
.steps::before { content:""; position:absolute; top:52px; left:17%; right:17%; border-top:2px dashed #c8e8f1; z-index:-1; }
.steps article { position:relative; background:#fff; border:1px solid #e4edf4; border-radius:24px; padding:30px; box-shadow:0 18px 45px rgba(32,73,102,.07); }
.step-number { position:absolute; top:18px; right:22px; color:#c7d2df; font-weight:700; font-size:13px; }
.step-icon { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:#e4f7fb; color:var(--cyan-dark); font-size:22px; font-weight:700; }
.steps h3, .benefit-grid h3 { color:var(--navy); font-size:18px; margin:22px 0 8px; }
.steps p, .benefit-grid p { color:#687491; font-size:14px; line-height:1.65; margin:0; }
.benefits { max-width:none; background:var(--navy); display:grid; grid-template-columns:minmax(280px,430px) minmax(0,650px); justify-content:center; gap:82px; color:white; }
.benefits h2 { color:white; }
.benefits .eyebrow { color:#63d8ee; }
.benefits-intro > p { color:#c8d0ec; }
.text-cta { display:inline-flex; gap:10px; margin-top:18px; color:#70e2f3; font-weight:600; }
.benefit-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.benefit-grid article { border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.06); border-radius:22px; padding:26px; }
.benefit-grid h3 { color:white; margin-top:16px; }
.benefit-grid p { color:#c8d0ec; }
.benefit-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:var(--cyan); color:white; font-weight:700; }
.specialties { display:grid; grid-template-columns:42% 58%; gap:70px; align-items:center; }
.notice { display:flex; flex-direction:column; gap:3px; margin-top:28px; padding:18px 20px; border-left:4px solid var(--cyan); background:#eefafd; border-radius:0 14px 14px 0; }
.notice strong { color:var(--navy); font-size:14px; }
.notice span { color:#65718e; font-size:13px; }
.specialty-panel { border-radius:28px; padding:36px; background:#eef8fd; border:1px solid #dceff7; }
.specialty-panel h3 { margin:0 0 25px; color:var(--navy); font-size:22px; }
.specialty-panel ul { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; list-style:none; padding:0; margin:0 0 24px; }
.specialty-panel li { color:#334264; font-size:13px; font-weight:600; }
.specialty-panel small { display:block; border-top:1px solid #cfe3eb; padding-top:20px; color:#687690; line-height:1.6; }
.plan-section { max-width:none; display:grid; grid-template-columns:minmax(300px,530px) minmax(370px,510px); gap:80px; justify-content:center; background:#f2f8fc; align-items:center; }
.plan-copy ul { display:grid; gap:17px; padding:0; margin:28px 0 0; list-style:none; font-weight:600; font-size:14px; }
.price-card { background:var(--navy); border-radius:28px; padding:40px; color:#fff; box-shadow:0 25px 70px rgba(17,26,86,.2); }
.plan-badge { color:#7ce3f4; text-transform:uppercase; letter-spacing:.15em; font-size:12px; font-weight:700; }
.price { display:flex; align-items:baseline; margin:18px 0 8px; }
.price small { font-size:18px; margin-right:8px; }
.price strong { font-size:68px; line-height:1; letter-spacing:-.06em; }
.price span { margin-left:8px; font-size:15px; }
.price-card > p { color:#c8d0ec; margin-bottom:26px; }
.button-cyan { width:100%; background:var(--cyan); box-shadow:none; }
.button-cyan:hover { background:#0d9eba; }
.payment-note { text-align:center; margin-top:18px; font-size:12px; color:#fff; }
.payment-note small { color:#aeb9dc; line-height:1.6; }
.faq { max-width:900px; }
.faq-list { display:grid; gap:12px; }
details { border:1px solid #dfe8f0; border-radius:17px; padding:0 22px; background:#fff; }
summary { cursor:pointer; padding:20px 34px 20px 0; color:var(--navy); font-weight:600; position:relative; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; position:absolute; right:0; font-size:22px; color:var(--cyan-dark); top:14px; }
details[open] summary::after { content:"−"; }
details p { margin:0 0 20px; color:#66728e; line-height:1.7; font-size:14px; }
.final-cta { max-width:1160px; margin:0 auto 90px; padding:48px 56px; border-radius:28px; background:var(--navy); display:flex; align-items:center; justify-content:space-between; gap:40px; color:white; }
.final-cta h2 { color:white; font-size:38px; }
.final-cta p:last-child { color:#c6d0ec; margin:10px 0 0; }
.final-cta .button { width:auto; min-width:210px; }
.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:30; display:flex; align-items:center; gap:10px; padding:11px 16px 11px 11px; border-radius:18px; background:#24b96f; color:#fff; box-shadow:0 15px 38px rgba(15,82,50,.28); font-size:11px; line-height:1.15; transition:.2s ease; }
.whatsapp-float:hover { transform:translateY(-2px); background:#1da761; }
.whatsapp-float > span:last-child { display:flex; flex-direction:column; gap:3px; }
.whatsapp-float strong { font-size:12px; }
.whatsapp-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#fff; color:#20aa64; font-size:19px; font-weight:700; }
footer { display:grid; grid-template-columns:1.2fr .7fr 1fr; gap:60px; padding:55px max(6vw,36px) 30px; background:#08113f; color:#c6cee8; font-size:13px; }
footer img { width:178px; height:76px; object-fit:contain; }
footer strong { display:block; color:white; margin-bottom:15px; }
footer a { display:block; margin:8px 0; }
footer p { line-height:1.65; }
.footer-phone { color:#75e4f3; font-weight:600; }
.footer-subheading { margin-top:24px; }
.footer-brand p { max-width:300px; }
.footer-franchise { width:max-content; max-width:100%; margin-top:24px; color:#aeb9dc; }
.footer-franchise span { display:block; margin-bottom:3px; font-size:9px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.footer-franchise img { display:block; width:165px; height:58px; object-fit:contain; }
.copyright { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.12); padding-top:22px; margin:0; text-align:center; font-size:11px; color:#8e99bd; }
@media (max-width:900px) { nav { display:none; } .hero { grid-template-columns:1fr; padding-top:42px; } .hero-visual { margin-top:8px; } .proof-strip { grid-template-columns:repeat(3,1fr); margin:0; border-radius:0; max-width:none; } }
@media (max-width:900px) { .section { padding:80px 24px; } .steps { grid-template-columns:1fr; } .steps::before { display:none; } .benefits, .specialties, .plan-section { grid-template-columns:1fr; gap:45px; } .benefits { padding-left:32px; padding-right:32px; } .final-cta { margin:0 24px 70px; } footer { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .site-header { height:78px; padding:8px 18px; } .brand img { width:132px; height:56px; } .button-small { padding:12px 15px; font-size:12px; } .hero { padding:40px 20px 48px; min-height:auto; } h1 { font-size:40px; } .hero-lead { font-size:16px; } .hero-actions { align-items:stretch; flex-direction:column; } .text-link { align-self:center; } .trust-list { display:grid; } .hero-image-wrap > img { border-radius:44px 18px 18px 18px; } .availability-card { left:12px; bottom:12px; } .proof-strip { grid-template-columns:1fr; } .proof-strip div { padding:16px 22px; border-right:0; border-bottom:1px solid #e8eef5; } .section { padding:68px 20px; } .benefits { padding-left:20px; padding-right:20px; } .benefit-grid, .specialty-panel ul { grid-template-columns:1fr; } .specialty-panel { padding:26px 20px; } .plan-section { padding:68px 20px; } .price-card { padding:30px 22px; } .price strong { font-size:58px; } .final-cta { margin:0; border-radius:0; padding:42px 24px; flex-direction:column; align-items:stretch; } .final-cta h2 { font-size:32px; } .whatsapp-float { right:12px; bottom:12px; padding:9px; border-radius:50%; } .whatsapp-float > span:last-child { display:none; } footer { grid-template-columns:1fr; padding:45px 24px 24px; gap:30px; } }
