:root{--gradient-title:linear-gradient(135deg, #7c62ff, #ff6464);--overlay-dark:#00122f8c;--overlay-card:#f4f4f482}.title-gradient{background:var(--gradient-title);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}:root{--color-primary:#00122f;--color-secondary:#f4f4f4;--color-accent:#7c62ff;--color-white:#fff;--color-text:#1a1a2e;--color-text-muted:#5a5a72;--font-family:"Quicksand", system-ui, sans-serif;--radius:12px;--shadow:0 4px 24px #00122f14;--max-width:1200px}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-white);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-decoration:none;transition:opacity .2s}a:hover{opacity:.85}h1,h2,h3,h4{color:var(--color-primary);font-weight:700;line-height:1.2}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.btn{font-family:var(--font-family);border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn:hover{box-shadow:var(--shadow);opacity:1;transform:translateY(-1px)}.btn--primary{background:var(--color-accent);color:var(--color-white)}.btn--secondary{background:var(--color-primary);color:var(--color-white)}.btn--outline{color:var(--color-primary);border:2px solid var(--color-primary);background:0 0}.btn--large{padding:1.125rem 2.25rem;font-size:1.125rem}.section{padding:4rem 0}.section--alt{background:var(--color-secondary)}.page-title{margin:0 0 1rem;font-size:clamp(2rem,4vw,2.75rem)}.page-subtitle{color:var(--color-text-muted);margin:0 0 2rem;font-size:1.125rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--color-primary);margin-bottom:.375rem;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;font-family:var(--font-family);border:2px solid var(--color-secondary);border-radius:var(--radius);background:var(--color-white);padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent);outline:none}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.25rem}.alert--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert--success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.passeport-page{--pe-cream:#faf6f0;--pe-gold:#c9a227;--pe-gold-soft:#f5ecd4;--pe-coral:#c4675a;--pe-coral-soft:#f8ebe8;--pe-blue:#4a6b85;--pe-blue-soft:#e8eef3;--pe-navy:#1a365d;background:var(--pe-cream)}.passeport-hero{text-align:center;background:linear-gradient(180deg,var(--pe-cream) 0,#fff 100%);padding:3.5rem 1.5rem 2.5rem}.passeport-hero__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--pe-coral);margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.passeport-hero__title{letter-spacing:.06em;text-transform:uppercase;color:var(--pe-navy);margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3rem);font-weight:400}.passeport-hero__tags{color:var(--pe-navy);flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin:0 0 .5rem;font-size:1.0625rem;display:flex}.passeport-hero__meta{color:var(--color-text-muted);margin:.25rem 0;line-height:1.7}.passeport-hero__figure{max-width:640px;margin:2rem auto 0}.passeport-hero__figure img{border-radius:16px;width:100%;height:auto;box-shadow:0 12px 40px #1a365d1f}.passeport-parcours-figure{max-width:720px;margin:0 auto 2.5rem}.passeport-parcours-figure img{border-radius:12px;width:100%;height:auto}.passeport-section{padding:2.5rem 0}.passeport-section__title{letter-spacing:.04em;text-transform:uppercase;color:var(--pe-navy);text-align:center;margin:0 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.passeport-section__subtitle{text-align:center;color:var(--color-text-muted);margin:0 0 2rem}.passeport-quote{border-left:4px solid var(--pe-gold);max-width:720px;color:var(--pe-blue);background:#fff;border-radius:12px;margin:0 auto 2.5rem;padding:1.5rem 1.75rem;font-style:italic;line-height:1.8}.passeport-pricing{gap:1.25rem;max-width:640px;margin:0 auto;display:grid}.passeport-pricing__card{border:2px solid var(--pe-gold-soft);background:#fff;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:grid}.passeport-pricing__card--coral{border-color:var(--pe-coral)}.passeport-pricing__card--blue{border-color:var(--pe-blue)}.passeport-pricing__card-title{letter-spacing:.05em;text-transform:uppercase;color:var(--pe-navy);align-items:center;gap:.5rem;margin:0 0 .375rem;font-size:.875rem;font-weight:700;display:flex}.passeport-pricing__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.passeport-pricing__dot--gold{background:var(--pe-gold)}.passeport-pricing__dot--coral{background:var(--pe-coral)}.passeport-pricing__dot--blue{background:var(--pe-blue)}.passeport-pricing__desc{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.6}.passeport-pricing__badge{letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--pe-coral);border-radius:999px;margin-top:.5rem;padding:.25rem .625rem;font-size:.75rem;font-weight:700;display:inline-block}.passeport-pricing__card--blue .passeport-pricing__badge{background:var(--pe-blue)}.passeport-pricing__price{text-align:right}.passeport-pricing__amount{color:var(--pe-navy);font-size:1.75rem;font-weight:900;line-height:1.1;display:block}.passeport-pricing__note{color:var(--color-text-muted);font-size:.8125rem}.passeport-pricing__savings{color:var(--pe-coral);margin-top:.25rem;font-size:.8125rem;font-weight:600;display:block}.passeport-calendar-legend{flex-wrap:wrap;justify-content:center;gap:1rem 2rem;margin-bottom:1.5rem;font-size:.9375rem;display:flex}.passeport-calendar-legend__item{align-items:center;gap:.5rem;display:flex}.passeport-calendar{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.passeport-calendar__month{background:#fff;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 2px 8px #1a365d0f}.passeport-calendar__month-title{letter-spacing:.06em;text-transform:uppercase;color:var(--pe-navy);border-bottom:1px solid var(--pe-gold-soft);margin:0 0 .75rem;padding-bottom:.5rem;font-size:.8125rem;font-weight:700}.passeport-calendar__session{justify-content:space-between;align-items:baseline;gap:.75rem;padding:.375rem 0;font-size:.9375rem;display:flex}.passeport-calendar__session-type{text-align:right;font-weight:600}.passeport-calendar__session-type--bam{color:var(--pe-coral)}.passeport-calendar__session-type--baby-toddler{color:var(--pe-blue)}.passeport-timeline{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;max-width:960px;margin:0 auto;display:grid}.passeport-timeline__card{border-top:4px solid var(--pe-gold);color:inherit;background:#fff;border-radius:12px;padding:1.25rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.passeport-timeline__card:hover{opacity:1;transform:translateY(-2px);box-shadow:0 8px 24px #1a365d1a}.passeport-timeline__card--coral{border-top-color:var(--pe-coral)}.passeport-timeline__card--blue{border-top-color:var(--pe-blue)}.passeport-timeline__age{letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--pe-gold);border-radius:999px;margin-bottom:.75rem;padding:.25rem .625rem;font-size:.75rem;font-weight:700;display:inline-block}.passeport-timeline__card--coral .passeport-timeline__age{background:var(--pe-coral)}.passeport-timeline__card--blue .passeport-timeline__age{background:var(--pe-blue)}.passeport-timeline__title{color:var(--pe-navy);margin:0 0 .5rem;font-size:1.0625rem;font-weight:700}.passeport-timeline__desc{color:var(--color-text-muted);margin:0;font-size:.9375rem;line-height:1.6}.passeport-cta{text-align:center;padding:2.5rem 1.5rem 3.5rem}.passeport-teaser{background:linear-gradient(135deg,var(--pe-gold-soft) 0,var(--pe-coral-soft) 100%);border-radius:var(--radius-card);text-align:center;padding:2rem}.passeport-teaser__title{letter-spacing:.04em;text-transform:uppercase;color:var(--pe-navy);margin:0 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.passeport-teaser__text{color:var(--color-text-muted);max-width:560px;margin:0 auto 1.25rem;line-height:1.7}@media (width<=640px){.passeport-pricing__card{grid-template-columns:1fr}.passeport-pricing__price{text-align:left}}
