@font-face{font-family:'Geometria Figures';src:url('fonts/Geometria-Heavy.otf') format('opentype');font-weight:100 900;font-style:normal;font-display:swap;size-adjust:70%}
:root{--edu-navy:#001937;--edu-blue:#1f92f0;--edu-royal:#00349d;--edu-sand:#ffe9b8;--edu-paper:#faf8f4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--edu-paper);color:var(--edu-navy);font-family:Geometria,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.edu-hero{position:relative;min-height:650px;display:flex;align-items:flex-end;overflow:hidden;background:var(--edu-navy);color:#fff}.edu-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.edu-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,25,55,.92),rgba(0,25,55,.42) 58%,rgba(0,25,55,.12))}.edu-hero:after{content:"";position:absolute;z-index:2;right:-4%;bottom:-12%;width:38%;height:72%;background:url("uploads/brand/level-white.svg") right bottom/contain no-repeat;opacity:.13}.edu-hero-copy{position:relative;z-index:3;width:min(1120px,calc(100% - 96px));padding:120px 0 64px;margin:0 auto}.edu-eyebrow{margin:0 0 20px;color:#8ccaff;font-size:11px;font-weight:900;letter-spacing:.18em}.edu-hero h1{max-width:900px;margin:0;font:900 clamp(78px,8vw,126px)/.84 'Geometria Figures',Impact,sans-serif;text-transform:uppercase}.edu-hero-lead{max-width:650px;margin:26px 0 0;font-size:18px;line-height:1.6}.edu-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.edu-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:14px 22px;border:1px solid #fff;border-radius:999px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.12em}.edu-button.primary{border-color:var(--edu-blue);background:var(--edu-blue);color:var(--edu-navy)}
.edu-bright-marquee{overflow:hidden;border-block:1px solid rgba(0,25,55,.24);background:var(--edu-sand);color:var(--edu-navy)}.edu-bright-track{display:flex;width:max-content;animation:edu-bright-scroll 24s linear infinite;will-change:transform}.edu-bright-track span{display:flex;align-items:center;gap:.28em;min-height:88px;padding-inline:38px;white-space:nowrap;font:900 clamp(34px,3.4vw,58px)/1 'Geometria Figures',Impact,sans-serif;text-transform:uppercase}.edu-bright-track span:after{content:"✦";margin-left:38px;color:var(--edu-blue);font:700 .55em/1 Geometria,Arial,sans-serif}.edu-bright-track strong{color:var(--edu-blue);font:inherit}@keyframes edu-bright-scroll{to{transform:translateX(-50%)}}
.edu-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:52px max(48px,6vw);background:var(--edu-blue)}.edu-stat{min-width:0;padding:0 28px;border-left:1px solid rgba(0,25,55,.25)}.edu-stat:first-child{padding-left:0;border-left:0}.edu-stat strong{display:block;font:900 clamp(54px,5vw,84px)/.9 'Geometria Figures',Impact,sans-serif}.edu-stat span{display:block;margin-top:12px;font-size:11px;font-weight:900;letter-spacing:.08em;line-height:1.4}
.edu-section{padding:96px max(48px,6vw)}.edu-section-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:54px;margin-bottom:48px}.edu-section-head h2{margin:0;font:900 clamp(54px,5.8vw,90px)/.86 'Geometria Figures',Impact,sans-serif;text-transform:uppercase}.edu-section-head h2 span{color:var(--edu-blue)}.edu-section-head>p{margin:0;border-top:2px solid var(--edu-blue);padding-top:20px;color:var(--edu-royal);font-size:17px;line-height:1.65}.edu-intro{background:#fff}.edu-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}.edu-intro-media{height:520px;overflow:hidden}.edu-intro-media img{width:100%;height:100%;object-fit:cover}.edu-intro-copy h2{margin:0 0 24px;font:900 clamp(52px,5vw,82px)/.88 'Geometria Figures',Impact,sans-serif;text-transform:uppercase}.edu-intro-copy h2 span{color:var(--edu-blue)}.edu-intro-copy p{font-size:17px;line-height:1.7}.edu-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px;border-top:2px solid var(--edu-blue)}.edu-points div{padding:22px 20px 20px 0;border-bottom:1px solid #d5e7f5}.edu-points div:nth-child(even){padding-left:20px;border-left:1px solid #d5e7f5}.edu-points strong{display:block;font-size:13px}.edu-points span{display:block;margin-top:6px;color:#657487;font-size:12px;line-height:1.5}
.edu-schedule{background:var(--edu-navy);color:#fff}.edu-schedule .edu-section-head>p{color:#d6e4f1}.edu-schedule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--edu-blue)}.edu-time{padding:28px 24px 30px 0;border-bottom:1px solid rgba(255,255,255,.22)}.edu-time+article{padding-left:24px;border-left:1px solid rgba(255,255,255,.22)}.edu-time time{display:block;color:var(--edu-blue);font:900 38px/1 'Geometria Figures',Impact,sans-serif}.edu-time h3{margin:14px 0 8px;font-size:15px;text-transform:uppercase}.edu-time p{margin:0;color:#b8c9d8;font-size:12px;line-height:1.55}
.edu-pathways{background:var(--edu-paper)}.edu-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.edu-card{position:relative;display:grid;grid-template-columns:42% minmax(0,1fr);min-height:360px;overflow:hidden;border:1px solid #d9d5cc;border-radius:14px;background:#fff}.edu-card>img{width:100%;height:100%;object-fit:cover}.edu-card-copy{display:flex;flex-direction:column;padding:34px}.edu-card-label{color:var(--edu-blue);font-size:10px;font-weight:900;letter-spacing:.15em}.edu-card h3{margin:18px 0;font:900 clamp(30px,3vw,48px)/.95 Geometria,Arial,sans-serif;letter-spacing:-.05em}.edu-card p{margin:0;color:#5f6872;font-size:14px;line-height:1.65}.edu-card ul{padding:0;margin:22px 0 0;list-style:none}.edu-card li{padding:8px 0;border-top:1px solid #e6e2da;font-size:12px;line-height:1.45}.edu-card-link{margin-top:auto;padding-top:24px;color:var(--edu-blue);font-size:10px;font-weight:900;letter-spacing:.12em}
.edu-campus{background:var(--edu-blue)}.edu-campus .edu-section-head h2 span{color:#fff}.edu-campus .edu-section-head>p{border-color:#fff;color:var(--edu-navy)}.edu-campus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.edu-campus-card{overflow:hidden;background:var(--edu-navy);color:#fff}.edu-campus-card img{width:100%;height:230px;object-fit:cover}.edu-campus-card div{padding:24px}.edu-campus-card h3{margin:0 0 10px;font:900 23px/1.1 Geometria,Arial,sans-serif}.edu-campus-card p{margin:0;color:#c8d7e5;font-size:13px;line-height:1.6}
.edu-values{overflow:hidden;background:#fff}.edu-value-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--edu-blue);border-bottom:2px solid var(--edu-blue)}.edu-value{padding:30px 24px 34px 0}.edu-value+.edu-value{padding-left:24px;border-left:1px solid #acd8fb}.edu-value span{font:900 48px/1 'Geometria Figures',Impact,sans-serif;color:var(--edu-blue)}.edu-value h3{margin:14px 0 8px;font-size:15px}.edu-value p{margin:0;color:#637083;font-size:12px;line-height:1.55}
.school-only-page .edu-values .edu-section-head h2{font-family:Geometria,Arial,sans-serif!important;font-size:clamp(42px,4.5vw,70px);line-height:.98;letter-spacing:-.055em}.school-only-page .edu-values .edu-value h3{font-family:Geometria,Arial,sans-serif!important;font-size:14px;line-height:1.2;letter-spacing:-.02em;text-transform:uppercase}
.school-only-page .edu-card-label{font-family:Geometria,Arial,sans-serif!important;font-size:14px;line-height:1.3;letter-spacing:.1em}
.school-only-page .edu-card h3{font-family:Geometria,Arial,sans-serif!important;font-weight:900!important;line-height:1.08!important;letter-spacing:-.04em!important;text-transform:none!important}
.school-only-page .edu-campus-card h3{font-family:Geometria,Arial,sans-serif!important;font-size:22px;line-height:1.2;letter-spacing:-.025em;text-transform:uppercase}
.school-only-page .edu-hero h1{max-width:1050px;font-size:clamp(68px,7.2vw,112px)}
.school-only-page .edu-hero>img{object-position:56% center}
.edu-admission{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center;background:var(--edu-royal);color:#fff}.edu-admission h2{margin:0;font:900 clamp(54px,5.5vw,88px)/.86 'Geometria Figures',Impact,sans-serif;text-transform:uppercase}.edu-admission p{font-size:16px;line-height:1.7}.edu-admission .edu-button{margin-top:14px;background:#fff;color:var(--edu-royal)}
@media(max-width:900px){.edu-hero{min-height:580px}.edu-hero-copy{width:calc(100% - 40px);padding:120px 0 38px}.edu-hero h1{font-size:clamp(56px,15vw,84px)}.edu-hero-lead{font-size:15px}.edu-bright-track span{min-height:66px;padding-inline:24px;font-size:34px}.edu-bright-track span:after{margin-left:24px}.edu-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:34px 20px;gap:28px 0}.edu-stat:nth-child(3){padding-left:0;border-left:0}.edu-stat strong{font-size:54px}.edu-section{padding:68px 20px}.edu-section-head,.edu-intro-grid,.edu-admission{grid-template-columns:1fr;gap:26px}.edu-section-head h2,.edu-intro-copy h2,.edu-admission h2{font-size:clamp(48px,13vw,70px)}.edu-intro-media{height:330px;order:-1}.edu-schedule-grid{grid-template-columns:1fr 1fr}.edu-time:nth-child(odd){padding-left:0;border-left:0}.edu-card-grid{grid-template-columns:1fr}.edu-card{grid-template-columns:120px minmax(0,1fr);min-height:230px}.edu-card-copy{padding:22px 18px}.edu-card h3{font-size:25px}.edu-card ul{display:none}.school-only-page .edu-card-label{font-size:12px}.edu-campus-grid{grid-template-columns:1fr}.edu-campus-card{display:grid;grid-template-columns:120px minmax(0,1fr)}.edu-campus-card img{height:100%;min-height:170px}.school-only-page .edu-campus-card h3{font-size:18px}.edu-value-grid{grid-template-columns:1fr}.edu-value,.edu-value+.edu-value{display:grid;grid-template-columns:54px 1fr;padding:22px 0;border-left:0;border-top:1px solid #acd8fb}.edu-value:first-child{border-top:0}.edu-value span{grid-row:1/3}.edu-admission{padding-block:68px}.edu-hero-actions{flex-direction:column;align-items:stretch}.edu-button{width:100%}}
@media(prefers-reduced-motion:reduce){.edu-bright-track{animation:none}}
@media(max-width:900px){.school-only-page .edu-hero h1{font-size:clamp(46px,12vw,68px)}}

/* Reuse the Study & Sport film as the School Only hero background. */
.school-only-page .edu-hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
/* clip (not hidden) so the sticky mobile header keeps sticking */
html,body{overflow-x:clip}

/* Positioning line (collège-lycée / French baccalauréat): School Only intro + Tennis & School USP. */
.edu-positioning{margin:24px 0 0;padding:18px 20px;border-left:3px solid var(--edu-blue);background:var(--edu-sand);color:var(--edu-navy);font-size:15px!important;line-height:1.6!important}
.edu-positioning strong{display:block;margin-bottom:4px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--edu-royal)}
.edu-usp .edu-positioning{max-width:860px;margin:0 0 40px}
.edu-nowrap{white-space:nowrap}

/* School Only: Next Gen Program section. */
.edu-nextgen{background:var(--edu-paper)}
.edu-nextgen .edu-eyebrow,.edu-usp .edu-eyebrow{color:var(--edu-blue)}
.edu-nextgen-list{margin:0;padding:0;list-style:none;border-top:2px solid var(--edu-blue)}
.edu-nextgen-list li{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:baseline;gap:24px;padding:26px 0;border-bottom:1px solid #d9d5cc}
.edu-nextgen-num{color:var(--edu-blue);font:900 44px/1 'Geometria Figures',Impact,sans-serif}
.edu-nextgen-list p{margin:0;font-size:clamp(24px,2.6vw,40px);line-height:1.15;letter-spacing:-.035em}
.edu-nextgen-list strong{font-weight:900;color:var(--edu-navy)}
.edu-nextgen-list em{font-style:normal;font-weight:400;color:var(--edu-royal)}
.edu-manifesto{margin-top:56px;padding:56px clamp(24px,5vw,72px);background:var(--edu-navy);color:#fff}
.edu-manifesto-label{margin:0 0 28px!important;color:var(--edu-blue)!important;font-size:11px!important;font-weight:900;letter-spacing:.18em!important}
.edu-manifesto p{margin:0;font-size:clamp(20px,2.2vw,32px);line-height:1.3;letter-spacing:-.025em;color:#d6e4f1}
.edu-manifesto p+p{margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.18)}
.edu-manifesto p strong{display:block;font-weight:900;color:var(--edu-sand)}

/* Tennis & School: USP section. */
.edu-usp{background:var(--edu-paper)}
.edu-usp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.edu-usp-card{display:flex;flex-direction:column;min-width:0;padding:34px 30px;border:1px solid #d9d5cc;border-top:4px solid var(--edu-blue);border-radius:14px;background:#fff}
.edu-usp-num{color:var(--edu-blue);font:900 44px/1 'Geometria Figures',Impact,sans-serif}
.edu-usp-label{margin:22px 0 0;color:var(--edu-blue);font-size:11px;font-weight:900;letter-spacing:.15em}
.edu-usp-quote{margin:14px 0 0;color:var(--edu-navy);font-size:clamp(22px,2vw,30px);font-weight:900;line-height:1.12;letter-spacing:-.035em}
.edu-usp-text{margin:auto 0 0;padding-top:22px;color:#5f6872;font-size:14px;line-height:1.6}

@media(max-width:900px){
.edu-positioning{font-size:14px!important}
.edu-usp .edu-positioning{margin-bottom:28px}
.edu-nextgen-list li{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:20px 0}
.edu-nextgen-num{font-size:30px}
.edu-nextgen-list p{font-size:22px}
.edu-nextgen-list em{display:block;margin-top:4px}
.edu-manifesto{margin-top:40px;padding:36px 22px}
.edu-manifesto p{font-size:19px}
.edu-usp-grid{grid-template-columns:1fr;gap:14px}
.edu-usp-card{padding:26px 22px}
.edu-usp-num{font-size:34px}
.edu-usp-label{margin-top:16px}
.edu-usp-quote{font-size:24px}
}
/* Mobile hero: no lead paragraph, CTAs sized to their label. */
@media(max-width:900px){.edu-hero .edu-hero-lead{display:none!important}.edu-hero .edu-hero-actions{align-items:flex-start}.edu-hero .edu-hero-actions .edu-button{width:auto!important;align-self:flex-start;justify-content:flex-start;gap:16px}}
/* Timetable labels: Geometria for legibility (BeniM is unreadable at this size). */
html body .edu-time h3{font-family:Geometria,Arial,sans-serif!important;font-weight:700!important;font-size:14px!important;line-height:1.3!important;letter-spacing:.06em!important;text-transform:uppercase}

/* site.js locks scrolling with body{overflow:hidden} while the burger menu is open, which would
   unstick the header: lock the root instead. */
html:has(body .site-nav.riviera-header .mobile-navigation.is-open){overflow:hidden}
html body:has(.site-nav.riviera-header .mobile-navigation.is-open){overflow:visible!important;overflow-x:clip!important}

/* UX audit 2026-09: the light-blue eyebrow (#8ccaff, made for the dark hero) was 1.75:1 on the white intro */
.edu-intro-copy .edu-eyebrow{color:var(--edu-blue)}

/* School pages: the "First and foremost" note as plain text (no tinted box, no side bar): small blue label, then
   the sentence, separated by a thin rule. */
html body .edu-positioning{padding:18px 0 0!important;border-left:0!important;border-top:1px solid rgba(0,25,55,.14);background:none!important;font-size:16px!important}
html body .edu-positioning strong{margin-bottom:6px;font-size:11px;letter-spacing:.14em;color:var(--edu-blue)}

/* School Only, "A timetable that opens possibilities": immersive photo cards (photo full bleed, navy gradient,
   copy in white at the bottom), in the global palette. */
.school-only-page .edu-schedule .edu-card{display:block!important;min-height:460px;border:0;border-radius:14px;background:#001937;color:#fff;isolation:isolate}
.school-only-page .edu-schedule .edu-card>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.school-only-page .edu-schedule .edu-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,25,55,0) 30%,rgba(0,25,55,.55) 58%,rgba(0,25,55,.94) 100%)}
.school-only-page .edu-schedule .edu-card:hover>img{transform:scale(1.03)}
.school-only-page .edu-schedule .edu-card-copy{position:absolute;left:0;right:0;bottom:0;padding:30px 32px 30px;gap:10px}
.school-only-page .edu-schedule .edu-card-label{color:#1f92f0;font-size:11px;letter-spacing:.14em}
.school-only-page .edu-schedule .edu-card h3{display:block;margin:0;color:#fff!important;font-size:clamp(28px,2.4vw,38px)!important}
.school-only-page .edu-schedule .edu-card p{max-width:520px;color:rgba(255,255,255,.9);font-size:15px}
.school-only-page .edu-schedule .edu-card-link{margin-top:6px;padding-top:0;color:#fff;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.school-only-page .edu-schedule .edu-card{min-height:420px}.school-only-page .edu-schedule .edu-card-copy{padding:22px 20px}}

/* WHY IT MATTERS: full-width navy band, the three statements side by side (one column each on desktop), each with a
   short blue rule; stacked on mobile. */
html body .edu-manifesto{position:relative;margin-top:64px;padding:72px 0 80px!important;background:var(--edu-navy);box-shadow:0 0 0 100vmax var(--edu-navy);clip-path:inset(0 -100vmax);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 48px}
html body .edu-manifesto-label{grid-column:1/-1;margin:0 0 8px!important}
html body .edu-manifesto p:not(.edu-manifesto-label){margin:0!important;padding:24px 0 0!important;border-top:0!important;font-size:clamp(17px,1.4vw,20px)!important;line-height:1.45;color:#fff}
html body .edu-manifesto p:not(.edu-manifesto-label)::before{content:"";display:block;width:36px;height:3px;margin-bottom:22px;background:var(--edu-blue)}
html body .edu-manifesto p strong{margin-top:10px;font-size:clamp(22px,2vw,30px);line-height:1.12;letter-spacing:-.03em}
@media(max-width:900px){html body .edu-manifesto{grid-template-columns:1fr;gap:12px;padding:48px 0 56px!important}html body .edu-manifesto p strong{font-size:22px}}
/* Campus cards: photos framed higher (no cut heads). */
html body .edu-campus-card img{object-position:50% 18%}
