/* The home cover keeps the photograph, motion, and copy on independent layers. */
.home-page { --hero-navy:#102d3b; --hero-ivory:#f8f5ee; }
.home-page .topbar { display:none; }
.home-page .header { background:var(--hero-ivory); border-color:#d8ddd7; box-shadow:none; color:var(--hero-navy); }
.home-page .header .brand-logo { mix-blend-mode:multiply; }
.home-page .header .nav-request { background:var(--hero-navy); border-radius:6px; }
.home-page .header .nav-request:hover { background:#205166; }
.home-page .header .links a { font-size:.875rem; }
.home-hero { position:relative; isolation:isolate; overflow:hidden; background:var(--hero-navy); color:var(--hero-ivory); }
.home-hero .hero-media { position:absolute; inset:0; z-index:-2; }
.home-hero .hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,39,52,.99) 0%,rgba(16,39,52,.96) 26%,rgba(16,39,52,.87) 38%,rgba(16,39,52,.66) 50%,rgba(16,39,52,.18) 64%,rgba(16,39,52,0) 78%); }
.home-hero .hero-poster,.home-hero .hero-video { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.home-hero .hero-video { opacity:0; transition:opacity .6s ease; }
.home-hero .hero-video.is-ready { opacity:1; }
.home-hero .hero-layout { min-height:610px; display:flex; align-items:center; padding-block:64px; }
.home-hero .hero-content { width:62%; max-width:720px; padding:0; }
.home-hero .eyebrow { color:#e7f1ed; font-size:.8125rem; letter-spacing:.19em; margin-bottom:22px; }
.home-hero h1 { color:#f8f7f2; font-size:clamp(3.15rem,5.25vw,5rem); font-weight:400; line-height:1.04; letter-spacing:-.03em; margin:0 0 26px; }
.home-hero h1>span,.home-hero h1>em { display:block; }
.home-hero h1 em { color:#b2d5d7; font-weight:400; }
.home-hero .hero-lede { max-width:520px; color:#f0f2ef; font-size:1.125rem; line-height:1.6; margin-bottom:28px; }
.home-hero .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 26px; }
.home-hero .hero-book { min-height:56px; min-width:206px; padding:16px 24px; color:var(--hero-navy); background:var(--hero-ivory); border-radius:6px; font-size:1rem; font-weight:600; }
.home-hero .hero-book:hover { background:#cee9e4; }
.home-hero .hero-results { display:inline-flex; align-items:center; min-height:48px; font-size:.9375rem; text-decoration:underline; text-decoration-color:#9ababc; text-underline-offset:7px; }
.home-hero .hero-results:hover { color:#a5d8d5; }
.home-hero .hero-note { color:#d9e5e4; font-size:.875rem; margin:24px 0 0; }
.home-hero .hero-note span { margin-inline:5px; }
.home-hero .hero-note a { text-decoration:none; }
.home-hero .hero-note a:hover { text-decoration:underline; }
.home-hero :focus-visible { outline-color:#b7ece7; }
.home-facts { background:var(--hero-ivory); border:0; }
.home-facts .facts-inner { grid-template-columns:1fr 1fr 1.3fr; padding:27px 0; border-bottom:1px solid #bdccc7; }
.home-facts .fact { padding:0 18px; font-size:.875rem; border-color:#bdccc7; }
.home-facts .fact strong { color:var(--hero-navy); font-size:clamp(1.375rem,2.1vw,1.75rem); margin-bottom:0; line-height:1.45; }
.home-page .results { background:var(--hero-ivory); padding-top:36px; }
.home-page .results .section-heading { max-width:none; text-align:left; margin-bottom:30px; }
.home-page .results .section-heading .eyebrow { margin-bottom:10px; }
.home-page .results h2 { color:var(--hero-navy); margin-bottom:15px; }
@media(min-width:1440px) {
  .home-hero .hero-layout { width:min(1328px,calc(100% - 112px)); min-height:640px; }
  .home-page .header .nav,.home-facts .facts-inner,.home-page .results>.wrap { width:min(1328px,calc(100% - 112px)); }
}
@media(min-width:821px) and (max-width:1120px) {
  .home-page .header .links { gap:8px 14px; }
  .home-page .header .brand-logo { width:158px; }
  .home-hero .hero-layout { min-height:560px; padding-block:52px; }
  .home-hero .hero-content { width:64%; }
  .home-hero .hero-lede { max-width:420px; font-size:1.0625rem; }
  .home-hero .hero-media::after { background:linear-gradient(90deg,#102734fc 0%,#102734f5 26%,#102734c7 51%,#10273400 85%); }
}
@media(max-width:820px) and (min-width:761px) {
  .home-hero .hero-content { width:72%; }
  .home-hero .hero-layout { min-height:560px; }
  .home-hero .hero-media::after { background:linear-gradient(90deg,#102734fc,#102734eb 35%,#10273452 100%); }
}
@media(max-width:760px) {
  .home-hero .hero-media { height:310px; }
  .home-hero .hero-poster,.home-hero .hero-video { object-position:92% top; }
  .home-hero .hero-media::after { background:linear-gradient(180deg,#102d3b00 22%,#102d3b1a 44%,#102d3b9e 74%,#102d3b 100%); }
  .home-hero .hero-layout { display:block; min-height:0; padding:240px 0 34px; max-width:580px; }
  .home-hero .hero-content { width:100%; max-width:none; }
  .home-hero .eyebrow { font-size:.75rem; letter-spacing:.11em; margin-bottom:18px; }
  .home-hero h1 { font-size:clamp(2.1rem,9.7vw,3.6rem); line-height:1.06; margin-bottom:22px; }
  .home-hero .hero-lede { font-size:1rem; line-height:1.65; margin-bottom:22px; }
  .home-hero .hero-actions { display:flex; gap:10px 22px; }
  .home-hero .hero-book { flex:none; min-width:0; min-height:52px; padding:14px 18px; font-size:.9375rem; }
  .home-hero .hero-results { font-size:.875rem; }
  .home-hero .hero-note { font-size:.8125rem; margin-top:22px; }
  .home-facts .facts-inner { grid-template-columns:1fr 1fr; padding:22px 0; gap:0; }
  .home-facts .fact { font-size:.8125rem; padding:0 8px; }
  .home-facts .fact strong { font-size:1.5rem; }
  .home-facts .fact:last-child { grid-column:1/-1; border-left:0; border-top:1px solid #bdccc7; padding-top:16px; margin-top:16px; }
  .home-facts .fact:last-child strong { font-size:1.375rem; }
  .home-page .results { padding-top:30px; }
  .home-page .results h2 { max-width:540px; font-size:clamp(2rem,8.6vw,3rem); }
}
@media(prefers-reduced-motion:reduce) {
  .home-hero .hero-video { transition:none; }
}
