/* SOURCE bte-readability-r21.css — preserved in original cascade order */
/* BTE V6 R22 - single legibility and flow layer. Keep light and dark surfaces explicit. */
:root { color-scheme: light; --bte-r22-ink:#172635; --bte-r22-sub:#425466; --bte-r22-line:#d7e0e7; --bte-r22-focus:#14718a; }
html { scroll-behavior:smooth; }
body.bte-app { background:#f7f9fb; font-size:16px; line-height:1.55; color:var(--bte-r22-ink); -webkit-font-smoothing:antialiased; }
body.bte-app main { overflow-wrap:anywhere; }
body.bte-app .bte-header { background:#0a111e!important; }
body.bte-app .bte-header .bte-brand {display:inline-flex!important;align-items:center;gap:12px!important;min-width:0; color:#fff!important;text-decoration:none!important;}
body.bte-app .bte-header .bte-brand .bte20-monogram{font:800 28px/1 system-ui,sans-serif!important;letter-spacing:-.08em!important;color:#fff!important;display:block!important;}
body.bte-app .bte20-accent{color:#98dbe5!important;}
body.bte-app .bte20-wordmark{font:700 10px/1.25 system-ui,sans-serif!important;letter-spacing:.13em!important;color:#fff!important;display:block!important;}
body.bte-app .bte20-wordmark em{font-style:normal;display:block;color:#b9ced7!important;}
body.bte-app .bte-header .nav-link{color:#dce7ed!important;font-size:12px!important;}
body.bte-app .bte-header :is(.nav-link:hover,.nav-link.active,.nav-link:focus-visible){color:#fff!important;}
body.bte-app .bte-white{background:#f7f9fb!important;color:var(--bte-r22-ink)!important;}
body.bte-app .bte-white :is(h1,h2,h3,h4,h5,h6),body.bte-app .bte-white-panel :is(h1,h2,h3,h4,h5,h6){color:#102333!important;}
body.bte-app .bte-white :is(p,li,dt,dd,label,small),body.bte-app .bte-white-panel :is(p,li,dt,dd,label,small){color:#31485a!important;}
body.bte-app .bte-white-panel{background:#fff!important;color:#172635!important;border:1px solid var(--bte-r22-line)!important;box-shadow:none!important;border-radius:10px!important;padding:clamp(18px,2vw,28px)!important;max-width:100%;min-width:0;}
body.bte-app .bte-card{background:#ffffff!important;color:#172635!important;box-shadow:none!important;border:1px solid var(--bte-r22-line)!important;border-radius:10px!important;}
body.bte-app .bte-section-pad{padding-block:clamp(28px,3.5vw,54px)!important;}
body.bte-app .bte-section-heading{margin-bottom:clamp(18px,2.2vw,30px)!important;}
body.bte-app .bte-section-heading h2{font-size:clamp(1.7rem,3vw,2.8rem)!important;line-height:1.12!important;letter-spacing:-.04em!important;}
body.bte-app .bte-white-panel + .bte-white-panel{margin-top:18px;}
body.bte-app .bte28-intro{min-height:clamp(270px,34vh,380px)!important;display:flex;align-items:center!important;padding:54px 0 34px!important;margin:0!important;background:#0a1825!important;}
body.bte-app .bte28-intro-photo{background-image:linear-gradient(90deg,rgba(5,17,29,.90),rgba(5,17,29,.48) 75%),var(--bte28-photo)!important;background-size:cover!important;background-position:center!important;transform:none!important;}
body.bte-app .bte28-intro h1{font-size:clamp(2.1rem,4.1vw,4.1rem)!important;line-height:1.08!important;letter-spacing:-.045em!important;margin:8px 0 12px!important;color:#fff!important;max-width:900px!important;}
body.bte-app .bte28-intro p{font-size:clamp(1rem,1.3vw,1.16rem)!important;line-height:1.5!important;color:#edf4f8!important;margin:0!important;max-width:700px!important;}
body.bte-app .bte28-overline{margin-bottom:10px!important;color:#c6e6ed!important;letter-spacing:.12em!important;}
body.bte-app .bte28-intro-bottom{display:none!important;}
body.bte-app .bte28-review-nav{background:#0e1b2a!important;}
body.bte-app .bte28-review-nav a{padding:14px 2px!important;color:#e3eff3!important;}
body.bte-app .bte-home-hero{background:#0c1724!important;position:relative;isolation:isolate;min-height:clamp(460px,62vh,660px)!important;display:flex;align-items:center;padding:clamp(52px,7vw,90px) 0!important;overflow:hidden;}
body.bte-app .bte-home-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,12,22,.94),rgba(4,12,22,.67) 56%,rgba(4,12,22,.24)),url('r18/storm-sea.webp') center/cover no-repeat;}
body.bte-app .bte-home-hero :is(h1,.bte-display){font-size:clamp(2.7rem,5vw,5.6rem)!important;line-height:1.04!important;color:#fff!important;letter-spacing:-.055em!important;}
body.bte-app .bte-home-hero p{color:#ecf4fa!important;}
body.bte-app .bte-home-hero .bte-display span{color:#9de1e8!important;}
body.bte-app .bte28-chapters{padding:clamp(30px,5vw,65px) 0!important;background:#0d1c2b!important;}
body.bte-app .bte28-section-lead{margin-bottom:24px!important;}
body.bte-app .bte28-section-lead h2{font-size:clamp(2rem,3.6vw,3.6rem)!important;line-height:1.09!important;}
body.bte-app .bte28-chapter-grid{gap:12px!important;}
body.bte-app .bte28-chapter{min-height:clamp(260px,28vw,380px)!important;border-radius:8px!important;}
body.bte-app .bte28-chapter-content strong{font-size:clamp(2.2rem,3.8vw,3.7rem)!important;}
body.bte-app .bte28-chapter::before{background:linear-gradient(0deg,rgba(3,11,20,.96),rgba(3,11,20,.16) 80%),var(--chapter-photo) center/cover no-repeat!important;}
body.bte-app .bte28-chapter :is(span,strong){text-shadow:0 1px 8px rgba(0,0,0,.35);}
body.bte-app :is(input,select,textarea):not([type=checkbox]):not([type=radio]){background:#fff!important;color:#172635!important;border:1px solid #8298a8!important;min-height:42px;max-width:100%;}
body.bte-app input::placeholder,body.bte-app textarea::placeholder{color:#657786!important;opacity:1;}
body.bte-app :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--bte-r22-focus)!important;outline-offset:3px!important;}
body.bte-app .btn-bte{background:#5633a8!important;color:#fff!important;border-radius:7px!important;box-shadow:none!important;min-height:44px;}
body.bte-app .btn-bte:hover{background:#422584!important;color:#fff!important;filter:none!important;transform:none!important;}
body.bte-app .table-responsive,body.bte-app .bte-table-wrap{overflow-x:auto;max-width:100%;}
body.bte-app .bte-session-row:hover{transform:none!important;}
body.bte-app .bte28-review-nav a:hover,body.bte-app .bte28-review-nav a:focus-visible{color:#fff!important;}
body.bte-app .bte-white a:not(.btn):not(.bte-btn){text-underline-offset:3px;}
body.bte-app .bte-white-panel a:not(.btn):not(.bte-btn){color:#154f78;}
body.bte-app .bte-white-panel a:not(.btn):not(.bte-btn):hover{color:#0b354f;}
@media(max-width:767px){body.bte-app .bte28-intro{min-height:240px!important;padding:36px 0 26px!important}body.bte-app .bte28-intro h1{font-size:clamp(1.9rem,7.5vw,2.8rem)!important}body.bte-app .bte28-chapter-grid{grid-template-columns:1fr!important}body.bte-app .bte28-chapter-grid>a:last-child{grid-column:auto!important}body.bte-app .bte28-chapter{min-height:235px!important}body.bte-app .bte-white-panel{padding:16px!important}body.bte-app .bte-header .nav-link{padding:12px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.bte-app *,body.bte-app *:before,body.bte-app *:after{transition:none!important;animation:none!important}}

/* R25 canonical surface ownership: data panels LIGHT, photographic heroes DARK.
   These rules live in the existing readability stylesheet; no new competing CSS layer. */
body.bte-app .bte-white-panel, body.bte-app .bte-card {background:#fff!important;color:#172635!important;}
body.bte-app .bte-white-panel :is(h1,h2,h3,h4,h5,h6),body.bte-app .bte-card :is(h1,h2,h3,h4,h5,h6){color:#102635!important;}
body.bte-app .bte-white-panel :is(p,li,dt,dd,small,label),body.bte-app .bte-card :is(p,li,dt,dd,small,label){color:#344b5b!important;}
body.bte-app .bte-white-panel :is(a:not(.btn),a:not(.bte-btn)),body.bte-app .bte-card :is(a:not(.btn),a:not(.bte-btn)){color:#075884!important;}
body.bte-app .bte-session-list{background:#fff!important;border:1px solid #c9d6df!important;box-shadow:none!important;border-radius:10px!important;overflow:hidden;}
body.bte-app .bte-session-row,body.bte-app .bte-session-row:hover,body.bte-app .bte-session-row:focus-visible {background:#fff!important;color:#172635!important;-webkit-text-fill-color:currentColor!important;border:0!important;border-bottom:1px solid #d5dfe5!important;border-radius:0!important;box-shadow:none!important;text-decoration:none!important;}
body.bte-app .bte-session-row:hover,body.bte-app .bte-session-row:focus-visible {background:#e9f4f7!important;}
body.bte-app .bte-session-row .bte-session-index{color:#285e79!important;-webkit-text-fill-color:#285e79!important;}
body.bte-app .bte-session-row .bte-session-info,body.bte-app .bte-session-row .bte-session-info strong,body.bte-app .bte-session-row .bte-session-height,body.bte-app .bte-session-row>span:last-child{color:#142c3c!important;-webkit-text-fill-color:#142c3c!important;opacity:1!important;}
body.bte-app .bte-session-row .bte-session-info small,body.bte-app .bte-session-row .bte-session-height small{color:#3b5364!important;-webkit-text-fill-color:#3b5364!important;opacity:1!important;}
body.bte-app .bte-session-row :is(strong,small,span){text-shadow:none!important;}
body.bte-app .bte28-intro{min-height:clamp(330px,42vh,460px)!important;}
body.bte-app .bte28-intro-photo{background-image:linear-gradient(90deg,rgba(5,17,29,.86) 0%,rgba(5,17,29,.52) 43%,rgba(5,17,29,.08) 100%),var(--bte28-photo)!important;background-position:center!important;background-size:cover!important;}
body.bte-app .bte28-intro-content{max-width:100%!important;}
body.bte-app .bte28-intro h1{max-width:740px!important;}
body.bte-app .bte28-intro p{max-width:600px!important;}
body.bte-app .bte28-intro :is(h1,p,.bte28-overline){color:#f7fbff!important;text-shadow:0 2px 14px rgba(0,0,0,.52)!important;}
body.bte-app .bte-review-visual-card :is(span,strong,small){color:#fff!important;}
body.bte-app .form-label,body.bte-app label{opacity:1;}
@media(max-width:767px){body.bte-app .bte28-intro{min-height:275px!important;}body.bte-app .bte28-intro-photo{background-position:center!important;}body.bte-app .bte-session-row{padding:15px 12px!important;}}


/* SOURCE bte-review-r23.css — preserved in original cascade order */
/* R23: Scoped Review design correction. A single visual/legibility layer, no redundant breadcrumb navigation. */
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) { --review-text:#142434;--review-muted:#344b5d; }
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) .bte28-intro { min-height:280px!important; padding:48px 0!important; }
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) .bte28-intro-photo {background-image:linear-gradient(90deg,rgba(5,13,22,.96),rgba(5,13,22,.67) 55%,rgba(5,13,22,.35)),var(--bte28-photo)!important;}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) .bte28-overline,body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) .bte28-intro :is(h1,p){color:#fff!important;opacity:1!important;text-shadow:0 1px 7px rgba(0,0,0,.4);}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) .bte-white{background:#f5f8fa!important;color:var(--review-text)!important;}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) .bte-white-panel{background:#fff!important;color:var(--review-text)!important;border:1px solid #d8e1e7!important;}
/* R67 root-cause repair: a light section must not recolour nested dark cards. */
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) :is(.bte-white,.bte-white-panel) > :is(h1,h2,h3,h4,h5,h6){color:#102333!important;-webkit-text-fill-color:#102333!important;opacity:1!important;}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) :is(.bte-white,.bte-white-panel) > :is(p,li,dd,dt,small,label){color:#344b5d!important;-webkit-text-fill-color:#344b5d!important;opacity:1!important;}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) .bte-white :is(a:not(.btn),a:not(.btn-bte)){text-decoration-thickness:1px; text-underline-offset:3px;}
/* Do not force light text onto dark infographics, photographic surfaces, charts, or buttons. */
/* Removed broad descendant force-white rule: it leaked into white cards nested in dark blocs. */
body.bte-app .bte-review-visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px;}
body.bte-app .bte-review-visual-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:225px;overflow:hidden;border-radius:8px;padding:24px;color:#fff!important;text-decoration:none!important;background:#101f2c;transition:filter .15s ease;}
body.bte-app .bte-review-visual-card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(3,12,20,.95),rgba(3,12,20,.12) 85%),var(--review-image) center/cover no-repeat;}
body.bte-app .bte-review-visual-card:hover{filter:brightness(1.15);}
body.bte-app .bte-review-visual-card:focus-visible{outline:3px solid #165e84;outline-offset:3px;}
body.bte-app .bte-review-visual-card span{font-size:.72rem;letter-spacing:.12em;font-weight:750;color:#d8eef5!important;}
body.bte-app .bte-review-visual-card strong{display:block;font-size:clamp(1.35rem,2.3vw,2.05rem);line-height:1.12;margin:8px 0;color:#fff!important;}
body.bte-app .bte-review-visual-card small{font-size:.9rem;color:#f0f6f9!important;line-height:1.4;}
body.bte-app .bte28-review-nav{display:none!important;}
@media(max-width:800px){body.bte-app .bte-review-visual-grid{grid-template-columns:1fr;gap:10px}body.bte-app .bte-review-visual-card{min-height:180px}body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) .bte28-intro{min-height:225px!important;padding:35px 0!important}}
@media(prefers-reduced-motion:reduce){body.bte-app .bte-review-visual-card{transition:none}}


/* R24 | Root-cause contrast repair for Review family only.
   Light information cards are opaque light surfaces; their text is dark.
   Dark & photo surfaces use readable light type. Avoid broad .d-bloc descendant rules. */
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) :is(.bte-card,.bte-white-panel) {
  background:#ffffff!important; color:#162b3a!important;
  border-color:#c7d5de!important;
}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) :is(.bte-card,.bte-white-panel) :is(h1,h2,h3,h4,h5,h6,strong,.bte-big-number,.bte-stat-value) {
  color:#102635!important; opacity:1!important;
}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) :is(.bte-card,.bte-white-panel) :is(p,li,small,span,label,dt,dd,td,th,.bte-kicker) {
  color:#31495b!important; opacity:1!important;
}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) :is(.bte-card,.bte-white-panel) a:not(.btn):not(.bte-btn) {
  color:#075884!important; text-decoration-color:currentColor;
}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) :is(.bte28-intro,.bte28-chapter,.bte-review-visual-card,.bte-r27-dark) {
  color:#f5fafc!important;
}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) :is(.bte28-intro,.bte28-chapter,.bte-review-visual-card,.bte-r27-dark) :is(h1,h2,h3,h4,p,small,span,strong) {
  color:#f5fafc!important;opacity:1!important;
}
body.bte-app:is([data-bte-page="review"],[data-bte-page="sessions"],[data-bte-page="progress"],[data-bte-page="season"],[data-bte-page="compare"]) :is(.bte28-intro,.bte28-chapter,.bte-review-visual-card,.bte-r27-dark) :is(a:not(.btn),a:not(.bte-btn)) {
  color:#d5f3ff!important;
}



/* R44 — layout refinement only: no global foreground or background overrides.
   Keep surface palette ownership in bte-contrast-r40.css. */
body.bte-app .bte-white .container { max-width: 1320px; }
body.bte-app .bte-section-heading { max-width: 860px; }
body.bte-app .bte-section-heading > p { max-width: 72ch; line-height: 1.65; }
body.bte-app .bte-white-panel, body.bte-app .bte-card { border-radius: 16px!important; }
body.bte-app .bte-white-panel { padding:clamp(22px,2.5vw,38px)!important; }
body.bte-app .bte-white-panel h2 { line-height: 1.13; letter-spacing:-.035em; }
body.bte-app .bte-white-panel > p { line-height:1.68; max-width:90ch; }
body.bte-app .bte-review-visual-grid { gap:clamp(14px,1.8vw,24px)!important; margin-bottom:clamp(22px,3vw,38px)!important; }
body.bte-app .bte-review-visual-card { border-radius:18px!important; min-height:clamp(240px,22vw,340px)!important; padding:clamp(22px,2.7vw,38px)!important; box-shadow:0 12px 28px rgba(9,21,33,.12); transition:transform .22s ease,filter .22s ease,box-shadow .22s ease!important; }
body.bte-app .bte-review-visual-card:hover { transform:translateY(-3px);box-shadow:0 18px 36px rgba(9,21,33,.2); }
body.bte-app .bte-review-visual-card strong { letter-spacing:-.045em; }
body.bte-app .bte-review-visual-card small { font-size:clamp(.94rem,1.12vw,1.06rem)!important;line-height:1.5!important;max-width:35ch; }
body.bte-app .bte28-intro { border-bottom:1px solid rgba(255,255,255,.1); }
body.bte-app .table-responsive { scrollbar-width:thin; }
body.bte-app .table-responsive table { font-variant-numeric:tabular-nums; }
body.bte-app :is(.bte-review-visual-card,.bte28-chapter,.bte-session-row) { -webkit-tap-highlight-color:transparent; }
@media(max-width:800px){
 body.bte-app .bte-white-panel { padding:clamp(18px,4vw,26px)!important; }
 body.bte-app .bte-review-visual-grid { gap:14px!important; }
 body.bte-app .bte-review-visual-card { min-height:210px!important; }
}
@media(prefers-reduced-motion:reduce){body.bte-app .bte-review-visual-card {transition:none!important;transform:none!important;}}
