@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{--center-navy:#001937;--center-blue:#1f92f0;--center-royal:#00349d;--center-sand:#ffe9b8;--center-paper:#faf8f4}

/* Editorial rhythm inspired by the approved French Riviera brochure. */
.riviera-center-page .riviera-spotlight{border-top:0}
.riviera-center-page .academy-pathways{padding-block:96px}
.riviera-center-page .academy-pathways-heading h2{font-family:'Geometria Figures',Impact,sans-serif!important;font-size:clamp(64px,6vw,96px)!important;line-height:.84!important;letter-spacing:0!important;text-transform:uppercase}
.riviera-center-page .academy-pathways-grid article{min-height:270px}
.riviera-center-page .academy-pathways-grid h3{font-size:clamp(28px,2.4vw,38px)!important}
.riviera-center-page #programs{position:relative;overflow:hidden;background:#fff;padding-top:110px!important;padding-bottom:110px!important}
.riviera-center-page #programs:after{content:"";position:absolute;right:-100px;top:40px;width:300px;height:300px;background:url("uploads/brand/level-sky.svg") center/contain no-repeat;opacity:.12;pointer-events:none}
.riviera-center-page #programs>*{position:relative;z-index:1}
.riviera-center-page .riviera-program-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:end;border-bottom:2px solid var(--center-blue);padding-bottom:26px}
.riviera-center-page .riviera-program-heading h2{font-family:'Geometria Figures',Impact,sans-serif!important;font-size:clamp(72px,7vw,112px)!important;line-height:.82!important;letter-spacing:0!important}
.riviera-center-page .academy-program-card{border:0!important;background:var(--center-paper);box-shadow:none!important}
.riviera-center-page .academy-program-card:hover{transform:translateY(-4px);opacity:1}
.riviera-center-page .academy-program-copy{border-top:5px solid var(--center-blue)}
.riviera-center-page .academy-program-title{font-size:clamp(22px,2vw,30px)!important;color:var(--center-navy)}
@media(min-width:901px){
  .riviera-center-page #programs .academy-program-card{min-height:160px}
  .riviera-center-page #programs .academy-program-photo{flex-basis:34%;max-width:150px}
  .riviera-center-page #programs .academy-program-copy{gap:5px;padding:14px 16px}
  .riviera-center-page #programs .academy-program-title{font-size:clamp(18px,1.55vw,24px)!important;line-height:1.1!important}
  .riviera-center-page #programs .academy-program-arrow{font-size:20px;margin-top:1px}
}
.riviera-center-page .methodology-section{margin-top:0!important}
.riviera-center-page .methodology-copy{position:relative;overflow:hidden;background:var(--center-royal)!important;padding-block:100px!important}
.riviera-center-page .methodology-copy:after{content:"";position:absolute;right:-18%;bottom:-16%;width:55%;height:62%;background:url("uploads/brand/level-white.svg") right bottom/contain no-repeat;opacity:.08}
.riviera-center-page .methodology-copy>*{position:relative;z-index:1}
.riviera-center-page .methodology-copy h2{font-family:'Geometria Figures',Impact,sans-serif!important;font-size:clamp(66px,6vw,98px)!important;line-height:.84!important;color:#fff!important;letter-spacing:0!important}
.riviera-center-page .methodology-copy p{color:#fff!important}

.patrick-coaching{background:#fff;padding:110px max(48px,6vw);color:var(--center-navy)}
.patrick-coaching-heading{display:grid;grid-template-columns:.72fr 1.25fr 1fr;gap:54px;align-items:start;margin-bottom:56px}
.patrick-coaching-heading>p:first-child{font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--center-blue);line-height:1.5}
.patrick-coaching-heading h2{font-family:'Geometria Figures',Impact,sans-serif!important;font-size:clamp(64px,6.2vw,100px)!important;line-height:.82!important;letter-spacing:0!important;text-transform:uppercase;margin:0!important}
.patrick-coaching-heading h2 span{color:var(--center-blue)}
.patrick-coaching-heading>p:last-child{margin:0;border-top:2px solid var(--center-blue);padding-top:22px;font-size:16px;line-height:1.7;color:var(--center-royal)}
.patrick-coaching-gallery{display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:repeat(2,310px);gap:18px}
.patrick-coaching-gallery figure{position:relative;overflow:hidden;margin:0;background:var(--center-navy)}
.patrick-coaching-gallery .patrick-coaching-lead{grid-row:1/3}
.patrick-coaching-gallery img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block;transition:transform .5s ease}
@media(min-width:901px){
  .patrick-coaching-gallery figure:nth-child(2) img{object-position:center 18%}
  .patrick-coaching-gallery figure:nth-child(3) img{object-position:center 16%}
}
.patrick-coaching-gallery figure:hover img{transform:scale(1.025)}
.patrick-coaching-gallery figcaption{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:56px 24px 22px;color:#fff;background:linear-gradient(transparent,rgba(0,25,55,.92))}
.patrick-coaching-gallery figcaption span{grid-row:1/3;font:900 42px/1 'Geometria Figures',Impact,sans-serif;color:var(--center-blue)}
.patrick-coaching-gallery figcaption strong{font-size:14px;letter-spacing:.08em}
.patrick-coaching-gallery figcaption small{font-size:12px;line-height:1.4;color:#dbe7f2}
.patrick-pillars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:56px;border-top:2px solid var(--center-blue);border-bottom:2px solid var(--center-blue)}
.patrick-pillars article{padding:28px 24px 32px 0}
.patrick-pillars article+article{border-left:1px solid #acd8fb;padding-left:24px}
.patrick-pillars span{font:900 50px/1 'Geometria Figures',Impact,sans-serif;color:var(--center-blue)}
.patrick-pillars h3{font-family:Geometria,Arial,sans-serif!important;font-size:17px!important;line-height:1.2!important;margin:14px 0 10px!important;text-transform:uppercase}
.patrick-pillars p{font-size:13px;line-height:1.55;color:var(--center-royal);margin:0}
.patrick-coaching-cta{display:inline-flex;gap:32px;align-items:center;margin-top:38px;background:var(--center-blue);color:#fff!important;border-radius:999px;padding:17px 24px;font-size:11px;font-weight:900;letter-spacing:.12em}

.riviera-campus-section{position:relative;overflow:hidden;background:var(--center-sand)!important;padding-block:110px!important}
.riviera-campus-section:after{content:"";position:absolute;right:-70px;top:-50px;width:270px;height:270px;background:url("uploads/brand/level-cobalt.svg") center/contain no-repeat;opacity:.08;pointer-events:none}
.riviera-campus-section>div:first-child{position:relative;z-index:1;display:grid!important;grid-template-columns:.5fr 1.5fr;align-items:end;border-bottom:2px solid var(--center-navy);padding-bottom:24px}
.riviera-campus-section>div:first-child h2{font-family:'Geometria Figures',Impact,sans-serif!important;font-size:clamp(64px,6vw,96px)!important;line-height:.84!important;letter-spacing:0!important}
.riviera-campus-section .riviera-campus-options{position:relative;z-index:1}
.riviera-campus-section .riviera-campus-options>a{border:0!important;background:var(--center-navy)!important}

@media(max-width:900px){
  .riviera-center-page #programs{padding:72px 20px!important}
  .riviera-center-page .riviera-program-heading{grid-template-columns:1fr;gap:18px}
  .patrick-coaching{padding:72px 20px}
  .patrick-coaching-heading{grid-template-columns:1fr;gap:24px;margin-bottom:36px}
  .patrick-coaching-heading h2{font-size:clamp(54px,15vw,76px)!important}
  .patrick-coaching-gallery{grid-template-columns:1fr;grid-template-rows:440px repeat(2,250px)}
  .patrick-coaching-gallery .patrick-coaching-lead{grid-row:auto}
  .patrick-pillars{grid-template-columns:1fr}
  .patrick-pillars article,.patrick-pillars article+article{display:grid;grid-template-columns:58px 1fr;padding:22px 0;border-left:0;border-top:1px solid #acd8fb}
  .patrick-pillars article:first-child{border-top:0}
  .patrick-pillars span{grid-row:1/3;font-size:42px}
  .patrick-pillars h3{margin:0 0 6px!important}
  .riviera-campus-section{padding:72px 20px!important}
  .riviera-campus-section>div:first-child{grid-template-columns:1fr;gap:16px}
}

@media(prefers-reduced-motion:reduce){.patrick-coaching-gallery img{transition:none}}
.riviera-center-page .riviera-hero h1.r-heading,.riviera-center-page .riviera-hero h1.r-heading span{font-family:Geometria,Arial,sans-serif!important;letter-spacing:normal!important}.riviera-center-page .riviera-hero .stay-play-label{border:1px solid #fff!important;background:transparent!important;color:#fff!important}
@media(min-width:901px){body.riviera-center-page #dc-root .riviera-hero h1.r-heading{font-size:clamp(80px,7vw,104px)!important;line-height:.96!important}}
@media(max-width:900px){body.riviera-center-page #dc-root .riviera-hero h1.r-heading{font-size:40px!important;line-height:.98!important}}
/* Give the academy descriptor less weight than the destination on desktop. */
@media(min-width:901px){.riviera-hero-prefix{display:inline-block;font-size:.5em;line-height:1}}
/* Mobile: same hierarchy as desktop, scaled down on narrow phones so both lines fit. */
@media(max-width:900px){body.riviera-center-page #dc-root .riviera-hero h1.r-heading{font-size:min(40px,calc((100vw - 48px) / 9.4))!important}.riviera-center-page .riviera-hero h1 .riviera-hero-prefix{font-size:.42em;line-height:1.1;margin-bottom:.12em}}
/* Hero: the Flagship Academy / Stay & Play badges sit on their own line under the eyebrow. */
.riviera-center-page .riviera-hero-tags{flex-wrap:wrap;row-gap:14px}
.riviera-center-page .riviera-hero-tags>span:first-child{flex:0 0 100%}


/* UX audit 2026-09: methodology-copy is display:contents on mobile (responsive.css): contain and clip its decorative :after */
@media(max-width:900px){
  .riviera-center-page .methodology-section{position:relative;overflow:hidden}
  /* "UNDERSTAND." in BeniM at 15vw was wider than the column (clipped text at 390-430px) */
  .patrick-coaching-heading{grid-template-columns:minmax(0,1fr)}
  .patrick-coaching-heading h2{font-size:clamp(40px,12vw,76px)!important}
}

/* UX audit 2026-09: between 901 and 1279px the header's CONTACT/BOOK wrapped onto a second row over the hero; tighten spacing to keep one line */
@media(min-width:901px) and (max-width:1279px){
 body.riviera-center-page .site-nav{flex-wrap:nowrap!important;padding-left:16px!important;padding-right:16px!important;gap:12px!important}
 body.riviera-center-page .site-nav>a:first-child{flex:none!important}
 body.riviera-center-page .site-nav>div:nth-child(2){gap:12px!important}
 body.riviera-center-page .site-nav>div:nth-child(2) a{letter-spacing:.06em!important}
 body.riviera-center-page .site-nav>div:nth-child(3){gap:8px!important}
 body.riviera-center-page .site-nav>div:nth-child(3) a{padding-left:14px!important;padding-right:14px!important}
}
@media(min-width:901px) and (max-width:1100px){
 body.riviera-center-page .site-nav>div:nth-child(2){gap:9px!important}
 body.riviera-center-page .site-nav>div:nth-child(2) a{font-size:10.5px!important;letter-spacing:.02em!important}
 body.riviera-center-page .site-nav>div:nth-child(3) a{padding-left:10px!important;padding-right:10px!important;font-size:11px!important}
 body.riviera-center-page .site-nav>a:first-child{column-gap:10px!important}
 body.riviera-center-page .site-nav>a:first-child img{height:52px!important}
}

/* Program cards: the blue top line runs the full card width and passes under the photo (no notch at the photo corner). */
.riviera-center-page .academy-program-card{position:relative}
.riviera-center-page .academy-program-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--center-blue);z-index:0;pointer-events:none}
.riviera-center-page .academy-program-photo{z-index:1}
.riviera-center-page .academy-program-copy{border-top-color:transparent}

/* Camp cards: two light actions at the bottom: DISCOVER THE CAMP (text link, same as clicking the card) and a
   small BOOK pill that goes straight to the booking engine. */
.riviera-center-page .camp-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px}
.riviera-center-page .camp-card-more{color:#001937;font:700 10px/1 Geometria,Arial,sans-serif;letter-spacing:.12em;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.riviera-center-page .camp-card-book{display:inline-flex;align-items:center;min-height:32px;padding:0 16px;border-radius:999px;background:#1F92F0;color:#fff;font:700 10px/1 Geometria,Arial,sans-serif;letter-spacing:.14em;cursor:pointer;transition:background-color .15s}
.riviera-center-page .camp-card-book:hover,.riviera-center-page .camp-card-book:focus-visible{background:#001937}
.riviera-center-page .camp-card-book:focus-visible{outline:2px solid #1F92F0;outline-offset:2px}
.riviera-center-page .academy-program-card:hover .camp-card-more{color:#1F92F0}
/* The best-seller card keeps its LIMITED SPOTS label; the old "Secure your spot" text is replaced by BOOK. */
.riviera-center-page .academy-program-reserve{display:none!important}

/* Camp cards, desktop with a mouse: BOOK appears only when the card is hovered or focused, to lighten the grid */
@media(min-width:901px) and (hover:hover){
 .riviera-center-page .camp-card-book{opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,background .18s}
 .riviera-center-page .academy-program-card:hover .camp-card-book,.riviera-center-page .academy-program-card:focus-within .camp-card-book{opacity:1;transform:none;pointer-events:auto}
}

/* Hero: text block aligned like the Camps / Tennis & School heroes; tags close to the title; programme pills under it */
@media(min-width:901px){
  html body.riviera-center-page .riviera-hero>.riviera-hero-copy{left:0!important;right:0!important;bottom:64px!important;width:min(1120px,calc(100% - 96px));margin:0 auto}
  html body.riviera-center-page .riviera-hero .r-fluid{gap:14px!important}
}
html body.riviera-center-page .riviera-hero .riviera-hero-tags{flex-wrap:wrap;gap:8px!important}
html body.riviera-center-page .riviera-hero .riviera-hero-tags>span,html body.riviera-center-page .riviera-hero .riviera-hero-tags>span:first-child{flex:none!important;margin:0!important}
html body.riviera-center-page .riviera-hero-activities{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
html body.riviera-center-page .riviera-hero-activities a{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border:1px solid #fff;border-radius:999px;color:#fff;font:700 10px/1 Geometria,Arial,sans-serif;letter-spacing:.14em;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
html body.riviera-center-page .riviera-hero-activities a:hover{opacity:1;background:#fff;color:#001937}
@media(max-width:900px){html body.riviera-center-page .riviera-hero-activities{gap:6px;margin-top:2px}html body.riviera-center-page .riviera-hero-activities a{min-height:30px;padding:0 11px;font-size:9px;letter-spacing:.1em}}

/* Hero: location first, then FLAGSHIP ACADEMY + "Hotel on site" (bed icon, as on the Sports / Destinations cards) */
html body.riviera-center-page .riviera-hero .riviera-hero-location{display:flex!important;align-items:center;gap:10px!important;flex-wrap:nowrap!important}
html body.riviera-center-page .riviera-hero .riviera-hero-location span{flex:none!important;margin:0!important;color:#fff;font-size:15px!important;font-weight:500;text-shadow:0 1px 8px rgba(0,25,55,.45);letter-spacing:0!important;white-space:nowrap}
html body.riviera-center-page .riviera-hero .riviera-hero-tags>.riviera-hero-hotel{display:inline-flex;align-items:center;gap:7px;padding:0 0 0 6px;border:0;background:none;color:#fff;font:500 13px/1.2 Geometria,Arial,sans-serif!important;letter-spacing:0!important;text-transform:none;white-space:nowrap}
html body.riviera-center-page .riviera-hero-hotel::before{content:"";width:18px;height:18px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0'/%3E%3Cpath d='M22 17v-3h-20'/%3E%3Cpath d='M2 8v9'/%3E%3Cpath d='M12 14h10v-2a3 3 0 0 0 -3 -3h-7v5z'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:900px){html body.riviera-center-page .riviera-hero .riviera-hero-location span{font-size:13px!important}html body.riviera-center-page .riviera-hero .riviera-hero-tags>.riviera-hero-hotel{font-size:12px!important}}
/* Hero: tags right above the title */
html body.riviera-center-page .riviera-hero .riviera-hero-tags{margin-bottom:0!important}
@media(max-width:900px){html body.riviera-center-page .riviera-hero .riviera-hero-tags{margin-bottom:-4px!important}}
@media(min-width:901px){
  html body.riviera-center-page .riviera-hero h1 .riviera-hero-prefix{display:block;line-height:1!important;margin-bottom:.06em}
  html body.riviera-center-page .riviera-hero h1 br{display:none}
  html body.riviera-center-page .riviera-hero h1 .riviera-hero-name{display:block;line-height:.96}
}
/* Hero: the text block (tags, title, programme pills) sits above the video and stays clickable */
html body.riviera-center-page .riviera-hero>video{pointer-events:none}
html body.riviera-center-page .riviera-hero>.riviera-hero-copy{z-index:3}
html body.riviera-center-page .riviera-hero-activities{position:relative;z-index:4}

/* Camp cards: lower cards; the best seller is highlighted in navy (same size), "Most booked" ribbon,
   pulsing "Filling fast" urgency line in sky blue, BOOK always visible */
@media(min-width:901px){
  html :is(body.riviera-center-page #programs,body .camps-program-grid) .academy-program-card{min-height:136px}
  html :is(body.riviera-center-page #programs,body .camps-program-grid) .academy-program-photo{max-width:128px}
  html :is(body.riviera-center-page #programs,body .camps-program-grid) .academy-program-copy{gap:4px;padding:12px 16px 12px}
  html :is(body.riviera-center-page #programs,body .camps-program-grid) .academy-program-title{font-size:clamp(17px,1.35vw,21px)!important}
  html :is(body.riviera-center-page #programs,body .camps-program-grid) .academy-program-badges span{padding-block:3px}
  html :is(body.riviera-center-page #programs,body .camps-program-grid) .camp-card-actions{margin-top:auto;padding-top:6px}
}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"]{background:#001937!important;color:#fff}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"] .academy-program-title{color:#fff!important}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"] .academy-program-level{color:rgba(255,255,255,.75)}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"] .academy-program-badges span{border-color:rgba(255,255,255,.4);color:#fff}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"] .camp-card-more{color:#fff}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"]:hover .camp-card-more{color:#1F92F0}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"] .academy-program-photo::after{content:"MOST BOOKED";position:absolute;left:12px;bottom:12px;z-index:2;padding:6px 10px;border-radius:999px;background:#1F92F0;color:#fff;font:700 9px/1 Geometria,Arial,sans-serif;letter-spacing:.14em}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"] .academy-program-photo{position:relative}
/* Urgency line: text with a pulsing dot, not a button (so it cannot be mistaken for BOOK) */
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-urgency .academy-program-limited{display:inline-flex!important;align-items:center;gap:8px;padding:0!important;border-radius:0!important;background:none!important;color:#1F92F0!important;font:700 12px/1.3 Geometria,Arial,sans-serif!important;letter-spacing:.02em!important;text-transform:none}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-urgency .academy-program-limited::before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:#1F92F0;box-shadow:0 0 0 0 rgba(31,146,240,.7);animation:camp-urgency-pulse 1.6s ease-out infinite}
@keyframes camp-urgency-pulse{0%{box-shadow:0 0 0 0 rgba(31,146,240,.7)}70%{box-shadow:0 0 0 9px rgba(31,146,240,0)}100%{box-shadow:0 0 0 0 rgba(31,146,240,0)}}
@media(prefers-reduced-motion:reduce){html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-urgency .academy-program-limited::before{animation:none}}
/* The featured card always shows BOOK */
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"] .camp-card-book{opacity:1!important;transform:none!important;pointer-events:auto!important;background:#1F92F0}
html :is(body.riviera-center-page,body .camps-program-grid) .academy-program-card[data-limited="true"] .camp-card-book:hover{background:#fff;color:#001937}
/* Camp cards on white so they stand out from the page background (the highlighted navy card keeps its colour). */
html body .riviera-center-page .academy-program-card:not([data-limited="true"]){background:#fff!important;box-shadow:0 1px 0 rgba(0,25,55,.06),0 8px 24px rgba(0,25,55,.06)!important}
