:root {
    --blue: #245eea;
    --blue-dark: #1948ba;
    --navy: #0b1324;
    --ink: #101828;
    --muted: #667085;
    --line: #dfe5ee;
    --mist: #f2f5f9;
    --white: #fff;
    --lime: #b9f227;
    --soft-blue: #eaf0ff;
    --soft-lime: #effbd4;
    --text-on-dark: #f7f9ff;
    --muted-on-dark: #c4cee0;
    --shell: 1200px;
    --radius-xl: 42px;
    --radius-lg: 30px;
    --radius-md: 18px;
    --space-section: clamp(78px, 8vw, 116px);
    --space-card: clamp(26px, 3.2vw, 46px);
    --ease: cubic-bezier(.22, 1, .36, 1);
    --motion-fast: .36s;
    --motion-medium: .58s;
    --motion-slow: .85s;
    --surface-page: #eef2f7;
    --surface-card: #fff;
    --surface-band: #e2eaf6;
    --card-border: #d4deec;
    --card-shadow: 0 22px 55px rgba(22,39,74,.06);
}

* { box-sizing: border-box; }
.svg-definitions { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: "Manrope", "Helvetica Neue", Arial, sans-serif; line-height: 1.55; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
main { background: #f7f9fc; }
a { color: inherit; }
h1, h2, h3, .logo-type, .primary-button, .lime-button, .form-submit { font-family: "Sora", "Manrope", sans-serif; }
.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.narrow { max-width: 900px; }
.sr-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 200; top: 10px; left: 10px; padding: 10px 16px; border-radius: 10px; background: #fff; }
section[id] { scroll-margin-top: 100px; }

/* Header */
.site-header { position: fixed; z-index: 50; inset: 0 0 auto; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(8,15,31,.72); backdrop-filter: blur(18px); transition: background-color var(--motion-fast) var(--ease), box-shadow var(--motion-fast) var(--ease), border-color var(--motion-fast) var(--ease); view-transition-name: site-header; }
.site-header.scrolled { border-color: rgba(255,255,255,.14); background: rgba(8,15,31,.94); box-shadow: 0 18px 50px rgba(3,8,18,.24); }
.nav-row { min-height: 82px; display: flex; align-items: center; gap: clamp(18px, 2vw, 34px); }
.logo { display: flex; align-items: center; flex: 0 0 auto; gap: 4px; color: #fff; text-decoration: none; }
.logo-mark { width: 88px; height: 50px; display: block; flex: 0 0 auto; overflow: hidden; }
.logo-mark img { width: 150%; max-width: none; height: auto; display: block; transform: translate(-17%, -13%); filter: url("#brand-on-dark") drop-shadow(0 8px 18px rgba(0,0,0,.16)); }
.logo-wordmark { width: 200px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; }
.logo-wordmark img { width: 100%; height: 100%; display: block; object-fit: contain; filter: url("#brand-on-dark"); }
.logo-type { font-size: 1.08rem; line-height: 1; letter-spacing: .04em; }
.logo-type b { color: #75a0ff; }
.logo-type small { display: block; margin-top: 5px; color: #aab4c5; font: 600 .55rem/1 "Manrope", sans-serif; letter-spacing: .22em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 3px; margin-left: auto; padding: 5px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.045); }
.main-nav > a { padding: 10px 15px; border-radius: 999px; color: #cbd4e5; font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; transition: color var(--motion-fast) var(--ease), background-color var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease); }
.main-nav > a:hover { color: #fff; background: rgba(255,255,255,.08); transform: translateY(-1px); }
.main-nav > a.active { background: #fff; color: var(--navy); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.nav-actions { display: flex; align-items: center; flex: 0 0 auto; gap: 10px; }
.contact-action { min-height: 48px; display: flex; align-items: center; flex: 0 0 auto; gap: 9px; padding: 7px 14px; border: 1px solid transparent; border-radius: 999px; font: 650 .69rem/1.1 "Sora", sans-serif; text-decoration: none; white-space: nowrap; transition: transform var(--motion-fast) var(--ease), background-color var(--motion-fast) var(--ease), border-color var(--motion-fast) var(--ease), box-shadow var(--motion-fast) var(--ease); }
.contact-icon { position: relative; flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; font-size: .86rem; }
.contact-icon img { width: 16px; height: 16px; display: block; }
.contact-label { display: grid; gap: 2px; white-space: nowrap; }
.phone-action { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.07); color: #fff; }
.phone-action .contact-icon { background: rgba(255,255,255,.12); }
.whatsapp-action { background: var(--lime); color: var(--navy); box-shadow: 0 12px 30px rgba(185,242,39,.14); }
.whatsapp-action .contact-icon { background: #fff; }
.contact-action:hover { transform: translateY(-2px); }
.phone-action:hover { border-color: rgba(255,255,255,.58); background: rgba(255,255,255,.12); }
.whatsapp-action:hover { background: #c8fa49; box-shadow: 0 15px 34px rgba(185,242,39,.22); }
.contact-action.is-pending { cursor: not-allowed; }
.menu-toggle { display: none; border: 0; background: none; padding: 8px; }
.menu-toggle i { display: block; width: 25px; height: 2px; margin: 6px; background: #fff; }

/* Motion */
[data-reveal] { opacity: 0; transform: translateY(38px) scale(.985); transition: opacity var(--motion-slow) var(--ease), transform var(--motion-slow) var(--ease); transition-delay: var(--delay, 0ms); }
[data-reveal].visible { opacity: 1; transform: none; }
@keyframes breathe { 50% { transform: scale(1.12); opacity: .75; } }
@keyframes gentleFloat { 50% { transform: translateY(-10px); } }
::view-transition-old(root), ::view-transition-new(root), ::view-transition-old(site-header), ::view-transition-new(site-header) { animation: none !important; transform: none !important; mix-blend-mode: normal; }

/* Shared buttons */
.primary-button, .lime-button, .form-submit { display: inline-flex; align-items: center; justify-content: center; min-width: 245px; padding: 16px 20px; border: 0; border-radius: 999px; font-weight: 800; text-decoration: none; cursor: pointer; transition: transform .42s var(--ease), box-shadow .42s var(--ease), background-color .36s var(--ease); }
.primary-button { background: var(--blue); color: #fff; box-shadow: 0 18px 40px rgba(36,94,234,.25); }
.lime-button { background: var(--lime); color: var(--navy); }
.primary-button:hover, .lime-button:hover, .form-submit:hover { transform: translateY(-2px); box-shadow: 0 16px 35px rgba(16,24,40,.16); }
.primary-button:active, .lime-button:active, .form-submit:active { transform: scale(.985); transition-duration: .12s; }
.primary-button:focus-visible, .lime-button:focus-visible, .form-submit:focus-visible { outline: 3px solid rgba(185,242,39,.65); outline-offset: 4px; }
.secondary-link, .text-button { font-weight: 750; text-decoration: none; transition: color var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease); }
.secondary-link { color: #d9e0ec; }
.text-button { display: inline-block; margin-top: 12px; color: var(--blue); }
.secondary-link:hover, .text-button:hover { transform: translateX(4px); }
.kicker { margin: 0 0 15px; color: var(--blue); font: 650 .72rem/1.2 "Sora", sans-serif; letter-spacing: .18em; text-transform: uppercase; }

/* Home hero */
.hero { position: relative; min-height: 820px; display: grid; align-items: center; padding: 130px 0 70px; overflow: hidden; background: var(--navy); color: #fff; }
.home-hero { min-height: calc(100vh + 72px); min-height: calc(100svh + 72px); border-radius: 0 0 60px 60px; }
.hero-glow { position: absolute; width: 760px; height: 760px; right: -220px; top: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(36,94,234,.38), rgba(36,94,234,.08) 45%, transparent 70%); animation: breathe 7s var(--ease) infinite; }
.hero-road { position: absolute; z-index: 1; width: 125%; height: 170px; left: -12%; bottom: 4%; border-block: 1px solid rgba(137,170,246,.14); transform: rotate(-8deg); background: linear-gradient(90deg, transparent 0 7%, rgba(158,186,255,.25) 7% 13%, transparent 13% 21%, rgba(158,186,255,.25) 21% 27%, transparent 27% 35%, rgba(158,186,255,.25) 35% 41%, transparent 41%); background-size: 520px 3px; background-repeat: repeat-x; background-position: center; opacity: .72; mask-image: linear-gradient(90deg, transparent 2%, #000 21%, #000 79%, transparent 98%); }
.hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: 1.08fr .92fr; gap: 70px; align-items: center; }
.hero h1 { max-width: 760px; margin: 0 0 26px; font-size: clamp(3.5rem, 6.3vw, 6.6rem); font-weight: 600; line-height: .94; letter-spacing: -.055em; }
.hero h1 em { color: #a8c1ff; font-style: normal; }
.hero-text { max-width: 680px; margin: 0 0 34px; color: var(--muted-on-dark); font-size: clamp(1.12rem, 1.45vw, 1.28rem); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.hero-meta { display: flex; gap: 30px; margin-top: 50px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.12); }
.hero-meta div { display: grid; }
.hero-meta b { font-size: 1.5rem; letter-spacing: -.04em; }
.hero-meta span { color: #aab6ca; font-size: .7rem; }
.friendly-stage { position: relative; min-height: 560px; overflow: hidden; border-radius: var(--radius-xl); background: linear-gradient(145deg, #23396d, #101c3d); box-shadow: 0 35px 80px rgba(0,0,0,.25); }
.friendly-stage::before, .friendly-stage::after { content: ""; position: absolute; border-radius: 50%; }
.friendly-stage::before { width: 430px; height: 430px; right: -110px; top: -100px; background: linear-gradient(145deg, #376be7, #2046a5); }
.friendly-stage::after { width: 250px; height: 250px; left: -70px; bottom: -90px; border: 1px solid rgba(255,255,255,.08); background: repeating-linear-gradient(90deg, transparent 0 28px, rgba(255,255,255,.15) 28px 52px); }
.hero-vehicle-illustration { position: absolute; z-index: 2; width: 102%; max-width: none; left: 50%; bottom: 148px; transform: translateX(-50%); filter: drop-shadow(0 28px 30px rgba(2,8,25,.2)); transition: transform .8s var(--ease), filter .8s var(--ease); }
.friendly-stage:hover .hero-vehicle-illustration { transform: translateX(-50%) translateY(-5px) scale(1.015); filter: drop-shadow(0 34px 34px rgba(2,8,25,.3)); }
.bubble { position: absolute; z-index: 4; padding: 12px 18px; border-radius: 999px; background: #fff; color: var(--ink); box-shadow: 0 15px 35px rgba(0,0,0,.16); font-size: .75rem; font-weight: 800; animation: gentleFloat 5s var(--ease) infinite; }
.bubble-one { top: 45px; left: 35px; }
.bubble-two { top: 95px; right: 28px; animation-delay: -1.5s; }
.bubble-three { bottom: 132px; left: 34px; animation-delay: -3s; }
.route-pill { position: absolute; z-index: 3; right: 28px; bottom: 30px; padding: 15px 19px; border-radius: 999px; background: var(--lime); color: var(--navy); box-shadow: 0 16px 36px rgba(6,15,38,.25); font-size: .76rem; font-weight: 800; text-decoration: none; transition: transform var(--motion-fast) var(--ease), background-color var(--motion-fast) var(--ease), box-shadow var(--motion-fast) var(--ease); }
.route-pill:hover { background: #c8fa49; box-shadow: 0 20px 42px rgba(6,15,38,.32); transform: translateY(-3px); }

/* Shared content */
.soft-section, .trust-section, .steps-section, .story-section, .values-section, .parent-section, .services-overview, .pricing-section, .included-section, .lesson-flow, .contact-page { padding-block: var(--space-section); }
.center-heading { max-width: 760px; margin: 0 auto clamp(38px, 5vw, 58px); text-align: center; }
.center-heading h2, .trust-layout h2, .story-grid h2, .parent-card h2, .contact-info h2, .lesson-flow-card h2 { margin: 0; font-size: clamp(2.3rem, 4vw, 4.2rem); font-weight: 600; line-height: 1.04; letter-spacing: -.045em; }
.center-heading > p:last-child { color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.soft-section { background: linear-gradient(180deg, #eef3fb 0, #fff 32%); }
.home-hero + .soft-section { margin-top: -52px; padding-top: calc(var(--space-section) + 52px); }
.rounded-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.rounded-service { min-height: 390px; display: flex; justify-content: space-between; flex-direction: column; padding: var(--space-card); overflow: hidden; border-radius: var(--radius-xl); box-shadow: 0 22px 55px rgba(22,39,74,.06); text-decoration: none; transition: transform var(--motion-medium) var(--ease), box-shadow var(--motion-medium) var(--ease); }
.rounded-service:hover { transform: translateY(-5px); box-shadow: 0 30px 60px rgba(31,52,100,.14); }
.rounded-service > span { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 24px; background: rgba(255,255,255,.17); }
.rounded-service .tile-icon svg { width: 42px; height: 42px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.rounded-service .tile-icon .icon-fill { fill: currentColor; stroke: none; }
.rounded-service small { letter-spacing: .12em; text-transform: uppercase; opacity: .78; }
.rounded-service h3 { margin: 6px 0 12px; font-size: 2.2rem; }
.rounded-service p { max-width: 430px; margin: 0; opacity: .82; }
.rounded-service > b { padding-top: 20px; border-top: 1px solid currentColor; font-size: .82rem; }
.blue-card { background: linear-gradient(145deg, #2e69f3, #1f50c9); color: var(--text-on-dark); }
.light-card { background: var(--soft-blue); }
.light-card > span { border: 1px solid #ccdaef; background: var(--soft-blue); color: var(--blue); }
.vehicle-mark { position: relative; font: 700 1.55rem/1 "Sora", sans-serif; }
.vehicle-mark::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: 13px; height: 2px; border-radius: 5px; background: currentColor; opacity: .35; }
.trust-section { border-radius: 48px; background: linear-gradient(135deg, #eefbd3 0, #f7fbe9 60%, #eef3fb 100%); }
.trust-layout, .story-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: center; }
.portrait-soft { position: relative; aspect-ratio: 4/5; display: grid; place-items: center; align-content: center; overflow: hidden; border-radius: var(--radius-xl); background: linear-gradient(145deg, #223763, #101b38); }
.portrait-soft > span { color: #2d477b; font-size: 9rem; font-weight: 900; }
.portrait-soft > b { position: absolute; right: 20px; bottom: 20px; padding: 13px 17px; border-radius: 999px; background: var(--lime); color: var(--navy); font-size: .72rem; }
.portrait-soft.large { max-height: 620px; }
.large-copy { color: #36415b; font-size: 1.15rem; }
.trust-pills { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0; }
.trust-pills span { padding: 10px 14px; border-radius: 999px; background: #fff; font-size: .76rem; font-weight: 700; }
.steps-section { background: #f7f9fc; }
.round-steps, .value-grid, .included-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.round-steps article, .value-grid article, .included-grid article { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 22px 55px rgba(22,39,74,.05); }
.round-steps article > span, .value-grid article > span, .included-grid article > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 48px; border: 1px solid #cfdaef; border-radius: 50%; color: var(--blue); font: 700 .7rem/1 "Sora", sans-serif; }
.round-steps h3, .value-grid h3, .included-grid h3 { font-size: 1.3rem; }
.round-steps p, .value-grid p, .included-grid p { color: var(--muted); }
.home-cta { padding: clamp(26px, 4vw, 48px) 0 var(--space-section); background: linear-gradient(180deg, #fff, #f7f9fc); }
.rounded-cta { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: clamp(36px, 5vw, 64px); border-radius: var(--radius-xl); background: var(--blue); color: #fff; box-shadow: 0 30px 70px rgba(26,65,154,.14); }
.rounded-cta h2 { margin: 0; font-size: clamp(2.2rem, 4vw, 4rem); letter-spacing: -.05em; }
.rounded-cta p:last-child { color: #cfddff; }
.rounded-cta .kicker { color: #d7e3ff; }

/* Subpage hero */
.subpage-hero { position: relative; isolation: isolate; overflow: hidden; padding: 185px 0 110px; border-radius: 0 0 64px 64px; clip-path: inset(0 round 0 0 64px 64px); background: linear-gradient(145deg, #101c3d, #1e3f8e); color: #fff; text-align: center; box-shadow: 0 28px 70px rgba(18,38,84,.12); }
.subpage-hero::before { content: ""; position: absolute; z-index: -1; width: 125%; height: 145px; left: -12%; bottom: 10px; border-block: 1px solid rgba(255,255,255,.18); transform: rotate(-6deg); background: linear-gradient(90deg, transparent 0 8%, rgba(255,255,255,.22) 8% 16%, transparent 16% 25%, rgba(255,255,255,.22) 25% 33%, transparent 33% 42%, rgba(255,255,255,.22) 42% 50%, transparent 50%); background-size: 420px 3px; background-repeat: repeat-x; background-position: center; }
.subpage-hero::after { content: ""; position: absolute; z-index: -2; inset: 0; background: radial-gradient(circle at 75% 28%, rgba(76,126,255,.28), transparent 33%); }
.subpage-hero h1 { margin: 0; font-size: clamp(3.2rem, 6vw, 6rem); font-weight: 600; line-height: .98; letter-spacing: -.055em; }
.subpage-hero p:last-child { max-width: 780px; margin: 25px auto 0; color: var(--muted-on-dark); font-size: clamp(1.1rem, 1.5vw, 1.28rem); line-height: 1.65; }
.subpage-hero .kicker { color: #d7e3ff; }
.subpage-hero + section { padding-top: 64px; }
.story-section, .services-overview, .contact-page { background: linear-gradient(180deg, #f2f5fa 0, #fff 24%, #fff 100%); }
.values-section, .included-section { border-radius: 48px; background: linear-gradient(135deg, #edf2f9, #f4f7fb 55%, #eaf0f8); }
.parent-section, .lesson-flow { background: #fff; }

/* Offer */
.service-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.service-detail { padding: var(--space-card); border-radius: var(--radius-xl); box-shadow: 0 22px 55px rgba(22,39,74,.06); }
.auto-detail { background: linear-gradient(145deg, var(--blue), var(--blue-dark)); color: #fff; }
.moto-detail { background: var(--soft-blue); }
.service-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.service-detail-head > span { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 24px; background: rgba(255,255,255,.18); }
.moto-detail .service-detail-head > span { background: #fff; }
.service-detail-head small { padding: 8px 12px; border: 1px solid currentColor; border-radius: 999px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.service-detail h2 { margin: 60px 0 12px; font-size: 4rem; line-height: 1; }
.service-detail ul { display: grid; gap: 13px; padding: 24px 0 30px; margin: 25px 0; border-top: 1px solid currentColor; list-style: none; }
.service-detail li::before { content: "✓"; margin-right: 10px; color: var(--lime); font-weight: 900; }
.moto-detail li::before { color: var(--blue); }
.auto-detail .large-copy { color: #e0e8fb; }
.moto-detail .large-copy { color: #3e4b62; }
.service-detail .primary-button { width: 100%; background: #fff; color: var(--navy); }
.category-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.category-links a { padding: 13px 9px; border: 1px solid #bdc9df; border-radius: 999px; background: #fff; font: 650 .68rem/1.2 "Sora", sans-serif; text-align: center; text-decoration: none; transition: transform var(--motion-fast) var(--ease), border-color var(--motion-fast) var(--ease); }
.category-links a:hover { border-color: var(--blue); transform: translateY(-2px); }
.pricing-section { background: #fff; }
.tariff-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.tariff-group { overflow: hidden; border: 1px solid #dfe6f1; border-radius: var(--radius-xl); background: #f1f5fb; box-shadow: 0 24px 60px rgba(24,48,92,.07); }
.tariff-group > header { padding: var(--space-card); }
.tariff-group .price-category { display: inline-block; margin-bottom: 38px; font: 650 .68rem/1.2 "Sora", sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.tariff-group h3 { margin: 0 0 10px; font-size: 2.2rem; }
.tariff-group header p { margin: 0; color: #58657a; }
.tariff-group-primary { background: linear-gradient(145deg, var(--blue), var(--blue-dark)); color: #fff; }
.tariff-group-primary header p { color: #d5e1ff; }
.tariff-list { display: grid; margin: 0 12px 12px; overflow: hidden; border-radius: 30px; background: #fff; color: var(--ink); }
.tariff-option { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid #e4e9f1; }
.tariff-option:last-child { border-bottom: 0; }
.tariff-option > span { display: grid; }
.tariff-option b { font: 650 .9rem/1.4 "Sora", sans-serif; }
.tariff-option span small { color: #748096; }
.tariff-option > strong { display: flex; align-items: baseline; gap: 7px; font: 700 1.8rem/1 "Sora", sans-serif; }
.tariff-option > strong small { color: #68758b; font-size: .58rem; letter-spacing: .08em; }
.lesson-flow-card { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding: clamp(32px, 4.5vw, 58px); border-radius: var(--radius-xl); background: var(--soft-lime); box-shadow: 0 22px 55px rgba(22,39,74,.05); }
.lesson-flow-card ol { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.lesson-flow-card li { display: grid; grid-template-columns: 45px 1fr; gap: 12px; padding: 18px; border-radius: var(--radius-md); background: #fff; }
.lesson-flow-card li > b { color: var(--blue); font-size: .72rem; }
.lesson-flow-card li > span { display: grid; color: var(--muted); font-size: .8rem; }
.lesson-flow-card li strong { color: var(--ink); font-size: .9rem; }

/* About */
.value-grid article > span { margin-bottom: 30px; }
.parent-card { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; padding: clamp(32px, 4.5vw, 58px); border-radius: var(--radius-xl); background: var(--soft-blue); }
.parent-card > p { color: var(--muted); font-size: 1.05rem; }

/* Contact */
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: start; }
.contact-info { position: sticky; top: 120px; }
.info-cards { display: grid; gap: 12px; margin-top: 35px; }
.info-cards > div { display: flex; gap: 15px; padding: 17px; border-radius: var(--radius-md); background: #fff; box-shadow: 0 18px 40px rgba(22,39,74,.05); }
.info-cards > div > span { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 14px; background: var(--soft-blue); color: var(--blue); font: 700 .65rem/1 "Sora", sans-serif; }
.info-cards p { display: grid; margin: 0; }
.info-cards small { color: var(--muted); }
.form-card { padding: clamp(28px, 3.2vw, 44px); border-radius: var(--radius-xl); background: #fff; box-shadow: 0 25px 60px rgba(29,48,88,.09); }
.form-card h2 { margin: 0; font-size: 2rem; }
.form-card > p { margin-top: 5px; color: var(--muted); }
.form-card form { display: grid; gap: 22px; margin-top: 30px; }
.form-card label, .form-card legend { font-size: .78rem; font-weight: 750; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-card input[type=text], .form-card input[type=email], .form-card textarea { width: 100%; margin-top: 8px; padding: 14px 16px; border: 1px solid #d4dae4; border-radius: 14px; background: #fbfcfe; font: inherit; outline: none; }
.form-card input:focus, .form-card textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(36,94,234,.1); }
.form-card fieldset { padding: 0; border: 0; }
.option-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 9px; }
.option-row input { position: absolute; opacity: 0; }
.option-row span { display: block; padding: 13px; border: 1px solid #d4dae4; border-radius: 14px; text-align: center; cursor: pointer; transition: border-color var(--motion-fast) var(--ease), background-color var(--motion-fast) var(--ease); }
.option-row input:checked + span { border-color: var(--blue); background: var(--soft-blue); color: var(--blue); }
.privacy-check { display: flex; align-items: flex-start; gap: 10px; }
.privacy-check input { margin-top: 4px; }
.privacy-check span { color: var(--muted); font-weight: 500; }
.form-submit { width: 100%; background: var(--blue); color: #fff; }
.honeypot { position: absolute !important; left: -9999px; }
.form-errors { padding: 16px; border-radius: 14px; background: #fff1f1; color: #8b2020; }
.form-errors ul { margin-bottom: 0; }
.form-success { padding: 40px 10px; text-align: center; }
.form-success > span { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 50%; background: var(--soft-lime); color: #537900; font-size: 2rem; }
.form-success p { color: var(--muted); }

/* Expanded offer and customer details */
.offer-catalog, .special-offers { padding-block: var(--space-section); }
.offer-catalog { background: linear-gradient(180deg, #f2f5fa 0, #fff 28%); }
.special-offers { border-radius: 48px; background: linear-gradient(135deg, #edf2f9, #f7f9fc 58%, #eaf0f8); }
.section-heading { max-width: 780px; margin-bottom: clamp(38px, 5vw, 58px); }
.section-heading h2 { margin: 0; font-size: clamp(2.3rem, 4vw, 4.2rem); font-weight: 600; line-height: 1.04; letter-spacing: -.045em; }
.section-heading > p:last-child { max-width: 700px; color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.offer-card-grid, .compact-offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.offer-card { min-height: 420px; display: flex; flex-direction: column; justify-content: space-between; gap: 32px; padding: var(--space-card); border: 1px solid #dce4f0; border-radius: var(--radius-xl); background: #fff; box-shadow: 0 22px 55px rgba(22,39,74,.06); }
.offer-card-featured { border-color: transparent; background: linear-gradient(145deg, var(--blue), var(--blue-dark)); color: #fff; }
.offer-emblem { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 24px; background: var(--soft-blue); color: var(--blue); font: 750 1.25rem/1 "Sora", sans-serif; letter-spacing: -.03em; }
.offer-card-featured .offer-emblem { background: rgba(255,255,255,.18); color: #fff; }
.offer-card small, .compact-offer-grid small { font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.offer-card h3, .compact-offer-grid h3 { margin: 10px 0 12px; font-size: 1.45rem; line-height: 1.2; }
.offer-card p, .compact-offer-grid p { color: var(--muted); }
.offer-card-featured p { color: #dbe5ff; }
.offer-card .vehicle-note { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.22); font-size: .78rem; font-weight: 700; }
.offer-card a, .compact-offer-grid a { align-self: flex-start; color: var(--blue); font-weight: 800; text-decoration: none; }
.offer-card-featured a { color: #fff; }
.offer-card a:hover, .compact-offer-grid a:hover { text-decoration: underline; text-underline-offset: 4px; }
.compact-offer-grid article { min-height: 345px; display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid #dce4f0; border-radius: var(--radius-lg); background: rgba(255,255,255,.86); }
.compact-offer-grid article a { margin-top: auto; }
.offer-emblem.small { width: auto; min-width: 58px; height: 58px; padding-inline: 14px; border-radius: 18px; font-size: .9rem; }
.legal-note { display: grid; grid-template-columns: .34fr 1fr; gap: 32px; align-items: start; margin-top: 24px; padding: 28px 32px; border-radius: var(--radius-lg); background: var(--navy); color: #fff; }
.legal-note b { font: 650 1.05rem/1.4 "Sora", sans-serif; }
.legal-note p { margin: 0; color: var(--muted-on-dark); }
.tariff-groups-three { grid-template-columns: 1.12fr .94fr .94fr; }
.tariff-info-card { display: flex; flex-direction: column; background: var(--soft-lime); }
.tariff-info-card .text-button { margin: auto var(--space-card) var(--space-card); }
.tariff-pending { padding: 17px 22px; background: #f6f8fc; color: var(--muted); font-size: .76rem; font-weight: 700; text-align: center; }
.tariff-option.recommended { background: #f4f8ff; }
.experience-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 30px; }
.experience-facts span { display: grid; padding: 15px; border-radius: var(--radius-md); background: #fff; color: var(--muted); font-size: .72rem; box-shadow: 0 15px 35px rgba(22,39,74,.05); }
.experience-facts b { color: var(--navy); font: 700 1.2rem/1.2 "Sora", sans-serif; }
.direct-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 28px; }
.direct-contact a { display: grid; padding: 17px; border: 1px solid #dce4f0; border-radius: var(--radius-md); background: #fff; color: var(--navy); text-decoration: none; box-shadow: 0 18px 40px rgba(22,39,74,.05); transition: transform var(--motion-fast) var(--ease), border-color var(--motion-fast) var(--ease); }
.direct-contact a:hover { border-color: var(--blue); transform: translateY(-2px); }
.direct-contact a.whatsapp-contact { border-color: #b9e9c4; background: #eaf8ed; }
.direct-contact span { color: var(--muted); font-size: .72rem; }

/* Unified content system — hero sections intentionally excluded */
main { background: var(--surface-page); }
.soft-section, .steps-section, .story-section, .parent-section, .offer-catalog, .pricing-section, .contact-page { background: var(--surface-page); }
.trust-section, .values-section, .special-offers, .included-section {
    width: calc(100% - 32px);
    max-width: 1600px;
    margin-inline: auto;
    border: 1px solid #c8d5e8;
    border-radius: 48px;
    background: linear-gradient(145deg, #dce7f6 0%, #e8eef8 56%, #dfe9f8 100%);
    box-shadow: 0 24px 64px rgba(31,52,100,.08);
}
.soft-section + .trust-section, .story-section + .values-section, .offer-catalog + .special-offers { margin-top: 0; }
.center-heading, .section-heading { max-width: 780px; }
.section-heading { margin-inline: auto; text-align: center; }
.center-heading h2, .section-heading h2, .trust-layout h2, .story-grid h2, .parent-card h2, .contact-info h2 {
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: -.045em;
}
.section-heading > p:last-child { margin-inline: auto; }
.rounded-service, .round-steps article, .value-grid article, .included-grid article, .offer-card, .compact-offer-grid article, .tariff-group, .form-card, .info-cards > div, .direct-contact a, .parent-card {
    border-color: var(--card-border);
    box-shadow: var(--card-shadow);
}
.round-steps article, .value-grid article, .included-grid article, .compact-offer-grid article, .info-cards > div, .direct-contact a, .form-card {
    background: var(--surface-card);
}
.rounded-service, .offer-card, .compact-offer-grid article, .tariff-group, .round-steps article, .value-grid article, .included-grid article, .form-card, .parent-card {
    transition: transform var(--motion-medium) var(--ease), box-shadow var(--motion-medium) var(--ease), border-color var(--motion-medium) var(--ease);
}
.rounded-service:hover, .offer-card:hover, .compact-offer-grid article:hover, .tariff-group:hover, .round-steps article:hover, .value-grid article:hover, .included-grid article:hover {
    border-color: #c9d6ea;
    box-shadow: 0 30px 68px rgba(22,39,74,.1);
    transform: translateY(-4px);
}
.rounded-service h3, .offer-card h3, .compact-offer-grid h3, .round-steps h3, .value-grid h3, .included-grid h3, .tariff-group h3 {
    font-weight: 600;
    letter-spacing: -.025em;
}
.rounded-service p, .offer-card p, .compact-offer-grid p, .round-steps p, .value-grid p, .included-grid p, .tariff-group p, .parent-card > p, .contact-info > p {
    line-height: 1.7;
}
.blue-card, .offer-card-featured, .tariff-group-primary { border-color: rgba(255,255,255,.12); background: linear-gradient(145deg, #2e69f3, #1f50c9); }
.light-card, .parent-card { background: #fff; }
.tariff-info-card { background: var(--soft-lime); }
.portrait-soft { box-shadow: var(--card-shadow); }
.trust-pills span, .experience-facts span { border: 1px solid var(--card-border); box-shadow: none; }
.legal-note { box-shadow: 0 22px 55px rgba(11,19,36,.13); }
.home-cta { background: var(--surface-page); }
.rounded-cta { background: linear-gradient(135deg, #245eea, #173f9f); box-shadow: 0 28px 68px rgba(26,65,154,.18); }
.site-footer { margin-top: 0; }

/* Footer */
.mobile-cta { display: none; }
.site-footer { padding: 50px 0; background: #070d19; color: var(--text-on-dark); }
.footer-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 40px; align-items: center; }
.footer-row p { margin: 0; font-size: .82rem; }
.footer-row p span, .footer-row > div { color: #aab5c8; }
.footer-row > div { display: flex; justify-content: flex-end; white-space: nowrap; font-size: .7rem; }

@media (max-width: 1100px) {
    .logo-wordmark { width: 162px; }
    .main-nav { gap: 2px; }
    .main-nav > a { padding-inline: 11px; font-size: .74rem; }
    .contact-action { padding: 7px 10px; }
    .contact-icon { width: 25px; height: 25px; }
    .hero-layout { gap: 45px; }
}

@media (max-width: 900px) {
    .logo-wordmark { display: none; }
    .nav-row { gap: 9px; }
    .main-nav { position: absolute; top: 74px; left: 16px; right: 16px; display: none; align-items: stretch; flex-direction: column; gap: 3px; margin: 0; padding: 10px; border-color: rgba(255,255,255,.14); border-radius: 24px; background: rgba(8,15,31,.98); box-shadow: 0 24px 60px rgba(0,0,0,.3); }
    .main-nav.open { display: flex; }
    .main-nav > a { padding: 13px 15px; font-size: .88rem; }
    .nav-actions { margin-left: auto; gap: 7px; }
    .contact-action { min-height: 44px; width: 44px; justify-content: center; padding: 0; }
    .contact-label { display: none; }
    .contact-icon { width: 30px; height: 30px; background: transparent !important; }
    .menu-toggle { display: block; flex: 0 0 auto; }
    .hero-layout, .trust-layout, .story-grid, .service-detail-grid, .lesson-flow-card, .contact-layout { grid-template-columns: 1fr; }
    .friendly-stage { min-height: 500px; }
    .rounded-card-grid, .tariff-groups, .offer-card-grid, .compact-offer-grid { grid-template-columns: 1fr; }
    .round-steps, .value-grid, .included-grid { grid-template-columns: 1fr; }
    .portrait-soft { max-height: 580px; }
    .contact-info { position: static; }
    .offer-card, .compact-offer-grid article { min-height: auto; }
    .legal-note { grid-template-columns: 1fr; gap: 10px; }
    .parent-card { grid-template-columns: 1fr; }
    .rounded-cta { align-items: flex-start; flex-direction: column; }
    .field-row { grid-template-columns: 1fr; }
    .footer-row { grid-template-columns: 1fr 1fr; }
    .footer-row > div { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 600px) {
    :root { --radius-xl: 28px; --radius-lg: 24px; }
    html { scroll-padding-top: 82px; }
    .shell { width: min(calc(100% - 32px), var(--shell)); }
    .nav-row { min-height: 70px; }
    .main-nav { top: 70px; }
    .logo-type { font-size: .94rem; }
    .logo-mark { width: 82px; height: 46px; }
    .hero { min-height: auto; padding: 115px 0 65px; }
    .home-hero { min-height: calc(100vh + 38px); min-height: calc(100svh + 38px); border-radius: 0 0 34px 34px; }
    .hero h1 { font-size: 3.25rem; letter-spacing: -.045em; }
    .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
    .primary-button { width: 100%; }
    .hero-meta { gap: 18px; margin-top: 42px; padding-top: 22px; }
    .hero-meta b { font-size: 1.25rem; }
    .friendly-stage { min-height: 420px; }
    .hero-vehicle-illustration { width: 118%; bottom: 120px; }
    .bubble { padding: 9px 13px; }
    .bubble-one { top: 24px; left: 18px; }
    .bubble-two { top: 72px; right: 15px; }
    .bubble-three { bottom: 114px; left: 20px; }
    .route-pill { right: 18px; bottom: 20px; }
    .hero-road { height: 110px; bottom: 8%; opacity: .55; }
    .home-hero + .soft-section { margin-top: -34px; padding-top: 106px; }
    .soft-section, .trust-section, .steps-section, .story-section, .values-section, .parent-section, .services-overview, .pricing-section, .included-section, .lesson-flow, .contact-page, .offer-catalog, .special-offers { padding-block: 72px; }
    .rounded-service, .service-detail { min-height: 330px; padding: 28px 24px; }
    .trust-section, .values-section, .special-offers, .included-section { width: calc(100% - 16px); border-radius: 32px; }
    .subpage-hero { padding: 145px 0 80px; border-radius: 0 0 36px 36px; clip-path: inset(0 round 0 0 36px 36px); }
    .subpage-hero::before { height: 90px; bottom: 0; }
    .subpage-hero h1 { font-size: 3rem; letter-spacing: -.045em; }
    .subpage-hero + section { padding-top: 56px; }
    .service-detail h2 { margin-top: 45px; font-size: 3rem; }
    .category-links, .option-row { grid-template-columns: 1fr; }
    .tariff-option { padding: 18px; }
    .tariff-group > header { padding: 28px 24px; }
    .parent-card, .lesson-flow-card { padding: 32px 24px; gap: 35px; }
    .special-offers { border-radius: 32px; }
    .experience-facts, .direct-contact { grid-template-columns: 1fr; }
    .legal-note { padding: 24px; }
    .rounded-cta { padding: 34px 25px; }
    .form-card { padding: 28px 20px; }
    .footer-row { grid-template-columns: 1fr; }
    .footer-row > div { grid-column: auto; white-space: normal; }
    .mobile-cta { position: fixed; z-index: 40; left: 14px; right: 14px; bottom: 14px; display: flex; justify-content: center; padding: 15px 18px; border-radius: 999px; background: var(--lime); color: var(--navy); box-shadow: 0 12px 35px rgba(0,0,0,.23); font-weight: 800; text-decoration: none; }
    .site-footer { padding-bottom: 100px; }
}
