/* Extension of the approved BPC editorial direction. Presentation only. */
@font-face{font-family:BPC Inter;src:url('../assets/common/fonts/inter/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
body.bpc-unified{
  --editorial-ground:#0a0a0a;--editorial-panel:#141414;--editorial-line:rgba(255,255,255,.12);
  --editorial-ink:#fff;--editorial-body:rgba(255,255,255,.8);--editorial-muted:#aaa;
  --editorial-red:#dc2626;--editorial-red-text:#ef4444;--editorial-cyan:#67e8f9;
  --bpc-surface:#0a0a0a;--bpc-surface-card:#141414;--bpc-surface-elevated:#1a1a1a;
  --bpc-text:#fff;--bpc-text-muted:#aaa;--bpc-border:rgba(255,255,255,.12);
  --bpc-water:#141414;--bpc-grey:#aaa;--bpc-primary:#dc2626;--bpc-primary-strong:#ef4444;
  color-scheme:dark;background:var(--editorial-ground)!important;color:var(--editorial-body)!important;
  font-family:BPC Inter,Inter,Arial,sans-serif!important;line-height:1.7;
}
.bpc-unified *{box-sizing:border-box}
html:has(body.bpc-unified){padding-top:0!important}
body.bpc-unified:has(.site-header){padding-top:0!important}
.bpc-unified :is(h1,h2,h3){font-family:inherit;color:var(--editorial-ink);text-wrap:balance}
.bpc-unified :is(p,h1,h2,h3,figcaption){hyphens:none}
.bpc-unified :is(.article-meta,figcaption,.article-caption){color:var(--editorial-muted)!important}
.bpc-unified h1{font-size:clamp(36px,5.8vw,80px)!important;line-height:1.06!important;letter-spacing:-.05em!important;font-weight:800!important}
.bpc-unified h2{letter-spacing:-.035em;line-height:1.18}
.bpc-unified :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--editorial-cyan)!important;outline-offset:4px}
.bpc-unified :is(button,input,textarea,select){font-family:inherit}
.bpc-unified img{max-width:100%}
.bpc-unified :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea){max-width:100%;min-width:0;border-radius:6px}
.bpc-unified :is(.btn-primary,.btn-secondary,.btn-ghost,.btn,.cta-button,.button-primary,.hub-offer a){border-radius:6px!important;box-shadow:none!important;min-height:48px;letter-spacing:0}
.bpc-unified :is(.btn-primary,.button-primary){background:var(--editorial-red)!important;color:#fff!important;border-color:var(--editorial-red)!important}
.bpc-unified :is(.btn-secondary,.btn-ghost){background:var(--editorial-panel)!important;color:#fff!important;border:1px solid var(--editorial-line)!important}
.bpc-unified :is(.table-container,.table-wrapper,.table-responsive){max-width:100%;overflow:auto}
.bpc-unified .bpc-mark{display:flex!important;align-items:center;justify-content:flex-start;gap:12px;margin:0 0 24px;font:600 10px/1.5 BPC Inter,Inter,Arial,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--editorial-muted)!important;-webkit-text-fill-color:var(--editorial-muted)!important;background:none!important}
.bpc-unified .bpc-mark img{display:block;width:44px!important;height:44px!important;max-height:none!important;object-fit:cover;border-radius:50%;flex:none}
.bpc-unified:not([data-bpc-family=tool]):not([data-bpc-family=science]) .bpc-mark img{display:none!important}
.bpc-unified:not([data-bpc-family=tool]):not([data-bpc-family=science]) .bpc-mark{gap:0;border-left:2px solid var(--editorial-red);padding-left:10px}
.bpc-unified .bpc-mark-label{font:inherit!important;color:inherit!important;background:none!important;-webkit-text-fill-color:inherit!important}

/* Shared navigation follows the same dimensions on every public page. */
.bpc-unified .site-header{position:fixed}
.bpc-unified .site-header .header-inner{max-width:1280px;min-height:76px;gap:16px;flex-wrap:nowrap;padding:14px 24px}
.bpc-unified .site-header nav{margin-left:auto}
.bpc-unified .site-header .header-nav{gap:2px}
.bpc-unified .site-header .header-nav a{padding:14px 10px;font-size:13px;border-radius:4px}
.bpc-unified .site-header .header-cta-btn{border-radius:5px;box-shadow:none;min-height:48px}
.bpc-unified .header-spacer{height:76px!important;background:var(--editorial-ground)}
.bpc-unified .header-hamburger{width:48px;height:48px}
.bpc-unified .site-header .header-brand{padding:0!important}
.bpc-unified .site-header .header-hamburger{padding:8px!important}
.bpc-unified .site-header .header-auth-icon{padding:0!important}
.bpc-unified .sliding-menu{background:var(--editorial-panel);color:#fff}
.bpc-unified .sliding-menu-nav a{color:#fff}
.bpc-unified .sliding-menu-nav a.active{background:var(--editorial-red)}
.bpc-unified .sliding-menu .stage-card{background:var(--editorial-ground);border:1px solid var(--editorial-line);border-left:4px solid var(--editorial-red)}
.bpc-unified .sliding-menu :is(h4,h5,h6){color:var(--editorial-red-text)}
.bpc-unified .sliding-menu .auth-button-menu{background:var(--editorial-ground)!important;color:#fff!important;border-color:var(--editorial-line)!important;box-shadow:none!important}
.bpc-unified .bpc-footer{background:var(--editorial-ground);border-top:1px solid var(--editorial-line);box-shadow:none}
.bpc-unified .bpc-footer::before{display:none}
.bpc-unified .footer-newsletter{background:var(--editorial-panel)}
.bpc-unified :is(.footer-newsletter p,.footer-brand-desc,.footer-links a){color:var(--editorial-muted)}
.bpc-unified .footer-newsletter-form :is(input,button){border-radius:5px;min-height:48px;min-width:0}

/* Marketing pages: strong editorial hierarchy and real photography. */
.bpc-unified[data-bpc-family=marketing] :is(.section,.hero,.hero-modern,.cta-final,.bottom-cta){background:var(--editorial-ground)!important}
.bpc-unified[data-bpc-family=marketing] :is(.hero,.hero-modern)::before{display:none}
.bpc-unified[data-bpc-family=marketing] :is(.gradient-mesh,.hero-modern>canvas[aria-hidden=true],.hero>canvas[aria-hidden=true],.fab-cta){display:none!important}
.bpc-unified[data-bpc-family=marketing] p{hyphens:none}
.bpc-unified[data-bpc-page=swim-camp-vittel]>footer:not(.bpc-footer){display:none}
.bpc-unified[data-bpc-family=marketing] :is(.section,.cta-final,.bottom-cta){padding-block:clamp(56px,7vw,104px)}
.bpc-unified[data-bpc-family=marketing] :is(.method-card,.step-card,.tool-card,.testimonial-card,.feature-card,.benefit-card,.pricing-card,.preview-card){border:1px solid var(--editorial-line)!important;border-radius:8px!important;background:var(--editorial-panel)!important;box-shadow:none!important;padding:clamp(22px,3vw,32px)}
.bpc-unified[data-bpc-family=marketing] :is(.hero-tag,.hero-badge,.section-label,.kicker){background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--editorial-red-text)!important;letter-spacing:.15em;font-size:11px;text-transform:uppercase;padding-left:0}
.bpc-unified[data-bpc-family=marketing] :is(.hero-ctas,.hero-cta){justify-content:flex-start;flex-wrap:wrap}
.bpc-unified[data-bpc-page=methode] .hero,.bpc-unified[data-bpc-page=newsletter] .hero{padding:60px 24px 64px!important;min-height:0;text-align:left}
.bpc-unified[data-bpc-page=methode] .hero-inner,.bpc-unified[data-bpc-page=newsletter] .hero-inner{max-width:1280px!important;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;text-align:left}
.bpc-unified .bpc-hero-copy{min-width:0}
.bpc-unified .bpc-hero-copy h1{margin:20px 0 28px!important;max-width:14ch}
.bpc-unified .bpc-hero-copy>p{margin-left:0!important;max-width:48ch;color:var(--editorial-body)!important}
.bpc-unified .bpc-hero-copy .hero-ctas{margin-top:32px}
.bpc-unified .bpc-scene{margin:0;min-width:0}
.bpc-unified .bpc-scene img{display:block;width:100%;height:clamp(400px,44vw,600px);object-fit:cover;border-radius:8px}
.bpc-unified .bpc-scene figcaption{font-size:11px;line-height:1.6;color:var(--editorial-muted);margin-top:12px}
.bpc-unified[data-bpc-page=newsletter] .bpc-scene img{object-position:55% center}
.bpc-unified[data-bpc-page=newsletter] :is(.signup-form,.hero-sub,.form-note){margin-left:0}
.bpc-unified[data-bpc-page=newsletter] .signup-form button{border-radius:6px;box-shadow:none}

/* Stage content, prices and reservations are preserved; photographs get their own column. */
.bpc-unified[data-bpc-family=marketing] .hero-modern{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start;max-width:1328px;margin:auto;min-height:0!important;padding:56px 24px!important;overflow:visible}
.bpc-unified[data-bpc-family=marketing] .hero-modern .hero-overlay{display:none}
.bpc-unified[data-bpc-family=marketing] .hero-modern .hero-bg{position:relative!important;inset:auto!important;grid-column:2;grid-row:1;height:clamp(420px,48vw,650px);border-radius:8px;overflow:hidden;z-index:auto}
.bpc-unified[data-bpc-family=marketing] .hero-modern .hero-bg img{height:100%;width:100%;object-fit:cover;opacity:1!important;filter:none!important;transform:none!important}
.bpc-unified[data-bpc-family=marketing] .hero-modern .hero-inner{grid-column:1;grid-row:1;width:100%;padding:0!important;margin:0!important;text-align:left;min-width:0}
.bpc-unified[data-bpc-page=swim-camp-vittel]{--swim-primary-strong:#67e8f9}
/* Legacy white-card rules must not darken text on the new dark testimonials. */
.bpc-unified[data-bpc-page=swim-camp-vittel] #temoignages .testimonial-card blockquote{color:var(--editorial-body)!important}
.bpc-unified[data-bpc-page=swim-camp-vittel] #temoignages .testimonial-card strong{color:var(--editorial-cyan)!important}
.bpc-unified[data-bpc-page=swim-camp-vittel] #temoignages .testimonial-card strong+span{color:var(--editorial-muted)!important}
.bpc-unified[data-bpc-page=swim-camp-vittel] .hero-inner{gap:12px}
.bpc-unified[data-bpc-page=swim-camp-vittel] .hero-modern h1{font-size:clamp(34px,4vw,56px)!important}
.bpc-unified[data-bpc-family=marketing] :is(.dates-banner-swim,.badge-social-proof,.badge-swim){background:var(--editorial-panel)!important;border:1px solid var(--editorial-line)!important;border-radius:6px!important;box-shadow:none!important;backdrop-filter:none!important}
.bpc-unified[data-bpc-family=marketing] .badge-social-proof{flex-wrap:wrap}
.bpc-unified[data-bpc-family=marketing] .hero-modern .btn-primary{background:var(--editorial-red)!important;color:#fff!important;border-color:var(--editorial-red)!important;box-shadow:none!important}
.bpc-unified[data-bpc-page=swim-camp-vittel] .hero-inner>.actions{order:1;margin-top:12px}
.bpc-unified[data-bpc-page=swim-camp-vittel] .hero-inner>:is(.immersive-card,.guarantee-card,div:has(>.badge-swim)){order:2}
.bpc-unified[data-bpc-family=marketing] .hero-modern h1{font-size:clamp(36px,4.5vw,64px)!important;text-shadow:none!important;margin-block:20px 28px}
.bpc-unified[data-bpc-family=marketing] .hero-modern :is(.lead,.hero-subtitle){color:var(--editorial-body)!important;text-shadow:none}
.bpc-unified[data-bpc-family=marketing] :is(.guarantee-card,.info-card-hero,.immersive-card){background:var(--editorial-panel)!important;border:1px solid var(--editorial-line)!important;border-radius:8px!important;box-shadow:none!important}

/* Reading pages: whitespace, controlled line length and retained article semantics. */
.bpc-unified[data-bpc-family=article] h1,.bpc-unified[data-bpc-family=science] h1{font-size:clamp(34px,4.1vw,60px)!important;max-width:24ch;letter-spacing:-.045em!important}
.bpc-unified[data-bpc-family=article] :is(.article-body,.article-content),.bpc-unified[data-bpc-family=science] :is(.article-body,.science-content){font-size:clamp(16px,1.2vw,18px);line-height:1.85;min-width:0}
.bpc-unified[data-bpc-family=article] :is(.article-body,.article-content) h2,.bpc-unified[data-bpc-family=science] :is(.article-body,.science-content) h2{margin-top:48px;font-size:clamp(25px,2.3vw,34px)}
.bpc-unified[data-bpc-family=article] :is(.article-body,.article-content) p,.bpc-unified[data-bpc-family=science] :is(.article-body,.science-content) p{color:var(--editorial-body);max-width:72ch}
.bpc-unified[data-bpc-family=article] :is(.article-hero,.article-header),.bpc-unified[data-bpc-family=science] :is(.science-hero,.article-hero){background:var(--editorial-ground)!important;border-bottom:1px solid var(--editorial-line);box-shadow:none}
.bpc-unified[data-bpc-family=article] :is(.article-hero,.article-header)::before,.bpc-unified[data-bpc-family=science] .science-hero::before{display:none}
.bpc-unified[data-bpc-family=article] .article-layout{gap:clamp(24px,4vw,64px);margin-block:56px}
.bpc-unified :is(.sidebar-card,.bpc-further,.science-card,.takeaway-card){border-radius:8px!important;border:1px solid var(--editorial-line)!important;box-shadow:none!important}
.bpc-unified[data-bpc-family=science] .science-hero{text-align:left;margin-top:0!important;padding:56px max(24px,calc((100% - 1152px)/2))!important}
.bpc-unified[data-bpc-family=science] .science-hero h1{margin-left:0;margin-right:0}
.bpc-unified[data-bpc-family=science] .science-hero p{margin-left:0;max-width:65ch}

/* Hubs keep their generated catalogue and discipline-specific accent. */
.bpc-unified[data-bpc-family=hub] .hub-hero{padding:64px 0 48px;border-bottom:1px solid var(--editorial-line)}
.bpc-unified[data-bpc-family=hub] .hub-hero::before,.bpc-unified[data-bpc-family=hub] .accent-line{display:none}
.bpc-unified[data-bpc-family=hub] .hub-container{max-width:1280px}
.bpc-unified[data-bpc-family=hub] :is(.hub-tool,.hub-article,.hub-offer){border-radius:8px;padding:24px;box-shadow:none}
.bpc-unified[data-bpc-family=hub] :is(.hub-badge,.hub-nav a){border-radius:5px;min-height:44px}
.bpc-unified[data-bpc-family=hub] .hub-hero h1{max-width:18ch;margin-block:24px}

/* Calculators and access screens: no display/visibility override on auth or result containers. */
.bpc-unified[data-bpc-family=tool] h1,.bpc-unified[data-bpc-family=utility] h1{font-size:clamp(30px,3.5vw,52px)!important;max-width:26ch}
.bpc-unified[data-bpc-family=tool] :is(.card,.panel,.tool-card,.input-card,.result-card,.glass-panel),.bpc-unified[data-bpc-family=utility] :is(.card,.auth-container,.booking-card,.form-card){background:var(--editorial-panel)!important;border:1px solid var(--editorial-line)!important;border-radius:8px!important;box-shadow:none!important}
.bpc-unified[data-bpc-family=tool] :is(.tool-header,.tool-hero,.cp-hero,.swim-hero){background:var(--editorial-ground)!important;box-shadow:none!important;border-bottom:1px solid var(--editorial-line)}
.bpc-unified[data-bpc-family=tool] :is(.bg-white,.bg-slate-50,.bg-slate-100){background:var(--editorial-panel)!important}
.bpc-unified[data-bpc-family=tool] :is(.text-slate-900,.text-slate-800,.text-slate-700){color:var(--editorial-ink)!important}
.bpc-unified[data-bpc-family=tool] :is(.text-slate-600,.text-slate-500){color:var(--editorial-muted)!important}
.bpc-unified[data-bpc-family=utility] :is(.section-title,.hero h1){text-align:left}
.bpc-unified[data-bpc-family=utility] .main-content{max-width:900px;line-height:1.85}
.bpc-unified[data-bpc-family=utility] .main-content a{overflow-wrap:anywhere}
.bpc-unified[data-bpc-family=utility] .legal-section{padding:clamp(20px,4vw,48px);border-radius:8px;border:1px solid var(--editorial-line);box-shadow:none}
.bpc-unified:is([data-bpc-page=privacy],[data-bpc-page=data-deletion]) .main-content{padding:48px 20px}
.bpc-unified:is([data-bpc-page=privacy],[data-bpc-page=data-deletion]) .main-content h1{color:#fff!important;text-align:left!important;margin-bottom:40px!important}
.bpc-unified[data-bpc-family=utility] .question-title .bpc-mark{justify-content:center}
.bpc-unified[data-bpc-family=utility] .auth-title .bpc-mark{justify-content:center}
.bpc-unified[data-bpc-family=utility] .quiz-container{max-width:820px}
.bpc-unified[data-bpc-family=utility] .auth-container h1{font-size:clamp(28px,3vw,40px)!important}

/* The tools gateway uses its own legacy palette, before Identity opens. */
.bpc-unified[data-bpc-page=auth]{--accent:#dc2626;--accent-light:#ef4444}
.bpc-unified[data-bpc-page=auth] .auth-container{background:var(--editorial-panel);border:1px solid var(--editorial-line);border-radius:8px;box-shadow:none}
.bpc-unified[data-bpc-page=auth] .auth-title{font-size:clamp(28px,3vw,40px)!important}
.bpc-unified[data-bpc-page=auth] .bpc-mark{justify-content:center}
.bpc-unified[data-bpc-page=auth] :is(.auth-process,.disclaimer-box){background:var(--editorial-ground);border-color:var(--editorial-line);color:var(--editorial-body)}
.bpc-unified[data-bpc-page=auth] :is(.auth-subtitle,.steps-list li,.disclaimer-box p,.back-link){color:var(--editorial-body)}
.bpc-unified[data-bpc-page=auth] :is(.auth-process strong,.disclaimer-box label){color:#fff}
.bpc-unified[data-bpc-page=auth] :is(.auth-btn,.auth-badge){border-radius:6px;box-shadow:none}
.bpc-unified[data-bpc-page=auth] .auth-btn-primary{background:var(--editorial-red)}
.bpc-unified[data-bpc-page=auth] .auth-btn-secondary{background:var(--editorial-ground);color:#fff;border-color:var(--editorial-line)}

@media(max-width:1100px){
 .bpc-unified .site-header nav,.bpc-unified .menu-toggle{display:none}
 .bpc-unified[data-bpc-family=article] .article-layout{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
 .bpc-unified .site-header .header-cta-btn{display:none!important}
 .bpc-unified .site-header .header-inner,.bpc-unified .site-header.scrolled .header-inner{padding:8px 12px;gap:8px;min-height:64px}
 .bpc-unified .header-right{gap:4px}.bpc-unified .header-brand{gap:8px}.bpc-unified .header-brand img{height:32px}
 .bpc-unified .header-auth-icon{min-height:48px;min-width:48px}.bpc-unified .header-spacer{height:64px!important}
 .bpc-unified[data-bpc-page=methode] .hero-inner,.bpc-unified[data-bpc-page=newsletter] .hero-inner{grid-template-columns:minmax(0,1fr);gap:32px}
 .bpc-unified[data-bpc-page=methode] .hero,.bpc-unified[data-bpc-page=newsletter] .hero{padding:40px 20px!important}
 .bpc-unified .bpc-scene img{height:390px}
 .bpc-unified h1{font-size:clamp(34px,9vw,52px)!important;overflow-wrap:break-word}
 .bpc-unified .bpc-mark{margin-bottom:20px}
 .bpc-unified[data-bpc-family=marketing] .hero-modern{grid-template-columns:minmax(0,1fr);padding:40px 20px!important}
 .bpc-unified[data-bpc-family=marketing] .hero-modern .hero-bg{grid-column:1;grid-row:2;height:360px}
 .bpc-unified[data-bpc-family=marketing] .hero-modern h1{font-size:clamp(34px,9vw,52px)!important}
 .bpc-unified[data-bpc-family=marketing] :is(.method-grid,.tools-grid,.stats-grid){grid-template-columns:minmax(0,1fr)}
 .bpc-unified[data-bpc-family=marketing] :is(.hero-ctas,.hero-cta){gap:12px}
 .bpc-unified[data-bpc-family=marketing] :is(.hero-ctas,.hero-cta) a{max-width:100%;white-space:normal}
 .bpc-unified[data-bpc-family=article] .article-layout{width:calc(100% - 36px);margin-block:32px}
 .bpc-unified[data-bpc-family=hub] :is(.hub-tools,.hub-articles){grid-template-columns:minmax(0,1fr)}
 .bpc-unified[data-bpc-family=hub] .hub-container{padding-inline:20px}
 .bpc-unified[data-bpc-family=science] .science-hero{padding:40px 20px!important}
 .bpc-unified[data-bpc-family=tool] h1,.bpc-unified[data-bpc-family=utility] h1{font-size:clamp(28px,8vw,40px)!important}
}
@media(prefers-reduced-motion:reduce){.bpc-unified *,.bpc-unified *::before,.bpc-unified *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
