/* 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 .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;}}


/* R82 | One owned Review surface system. The old R23/R24 cascade and
   negative-z photographic pseudo-element have been retired.
   Never use a generic light-text descendant rule on white analysis panels. */
body.bte-app[data-bte-page="review"] #main .bte-white{background:#f5f8fa!important;color:#182d3f!important}
body.bte-app[data-bte-page="review"] #main .bte-review-visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin-bottom:clamp(22px,3vw,38px)}
body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card{
 position:relative!important;isolation:isolate!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;
 min-height:clamp(240px,22vw,340px)!important;padding:clamp(22px,2.7vw,38px)!important;overflow:hidden!important;border-radius:18px!important;
 background-color:#102333!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
 text-decoration:none!important;border:1px solid #50677a!important;box-shadow:0 12px 28px rgba(9,21,33,.17)!important;
 transition:transform .2s ease,box-shadow .2s ease!important;
}
/* Source photo is ABOVE the solid background and BELOW legible text. */
body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card::before{
 content:""!important;position:absolute!important;inset:0!important;display:block!important;z-index:0!important;
 background-image:linear-gradient(0deg,rgba(3,12,21,.97) 0%,rgba(3,12,21,.76) 42%,rgba(3,12,21,.32) 100%),var(--review-image)!important;
 background-position:center,center!important;background-size:cover,cover!important;background-repeat:no-repeat!important;pointer-events:none!important;
}
body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card > :is(span,strong,small){position:relative!important;z-index:2!important;opacity:1!important;mix-blend-mode:normal!important;
 text-shadow:0 2px 8px rgba(0,0,0,.70)!important;background:transparent!important;}
body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card > span{font-size:12px!important;line-height:1.5!important;font-weight:800!important;letter-spacing:.11em!important;color:#e4f0f9!important;-webkit-text-fill-color:#e4f0f9!important}
body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card > strong{display:block!important;margin:8px 0!important;font-size:clamp(1.48rem,2.45vw,2.15rem)!important;line-height:1.12!important;font-weight:800!important;letter-spacing:-.035em!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card > small{font-size:clamp(.94rem,1.12vw,1.06rem)!important;line-height:1.48!important;max-width:38ch;color:#f1f6fc!important;-webkit-text-fill-color:#f1f6fc!important}
body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card:is(:hover,:focus-visible){transform:translateY(-3px)!important;box-shadow:0 18px 36px rgba(9,21,33,.24)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card:focus-visible{outline:3px solid #7024cc!important;outline-offset:4px!important}
/* White analysis panels have dark ink. In particular, Safari's webkit text-fill
   is reset so an inherited gradient/text effect cannot render invisible text. */
body.bte-app[data-bte-page="review"] #main .bte-white-panel{background-color:#fff!important;color:#182d3f!important;-webkit-text-fill-color:#182d3f!important;border:1px solid #c9d7e1!important}
body.bte-app[data-bte-page="review"] #main .bte-white-panel :is(h1,h2,h3,h4,h5,h6,strong,.h1,.h2,.h3,.h4,.bte-big-number,.bte-stat-value){color:#112a3d!important;-webkit-text-fill-color:#112a3d!important;opacity:1!important;mix-blend-mode:normal!important;text-shadow:none!important}
body.bte-app[data-bte-page="review"] #main .bte-white-panel :is(p,li,small,span,label,summary,dt,dd,td,th,.bte-kicker){color:#31485a!important;-webkit-text-fill-color:#31485a!important;opacity:1!important;mix-blend-mode:normal!important;text-shadow:none!important}
body.bte-app[data-bte-page="review"] #main .bte-white-panel a:not(.btn):not(.btn-bte){color:#155c80!important;-webkit-text-fill-color:#155c80!important;text-decoration-color:currentColor!important}
body.bte-app[data-bte-page="review"] #main .bte-white-panel a:not(.btn):not(.btn-bte):is(:hover,:focus-visible){color:#073f61!important;-webkit-text-fill-color:#073f61!important}
body.bte-app[data-bte-page="review"] #main .bte-white-panel :is(.btn,.btn-bte){color:#fff!important;-webkit-text-fill-color:#fff!important}
body.bte-app[data-bte-page="review"] #main .bte-white-panel :is(.btn,.btn-bte):is(:hover,:focus-visible){color:#fff!important;-webkit-text-fill-color:#fff!important}
/* Review navigation cards do not cause white panels to inherit photo-card text. */
body.bte-app[data-bte-page="review"] #main .bte28-review-nav{display:none!important}
@media(max-width:800px){body.bte-app[data-bte-page="review"] #main .bte-review-visual-grid{grid-template-columns:1fr!important;gap:14px!important}body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card{min-height:210px!important}}
@media(prefers-reduced-motion:reduce){body.bte-app[data-bte-page="review"] #main a.bte-review-visual-card{transition:none!important;transform:none!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 .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; }
  }
