/* Generated (phase-5 PR3): one class per distinct inline style formerly on index.html. Content-addressed (tl-<sha1[:8]>). */
.tl-0042b9b8.tl-0042b9b8{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);padding:6px 14px;border-radius:100px;margin-bottom:1rem}
.tl-02b7a8d5.tl-02b7a8d5{font-size:14px;color:rgba(255,255,255,0.7);font-weight:500}
.tl-031837b6.tl-031837b6{margin-bottom:3rem}
.tl-03a594ff.tl-03a594ff{display:block;background:linear-gradient(135deg,#0F2D5C 0%,#1B4F8A 50%,#C0392B 100%);border-radius:14px;padding:3rem;text-decoration:none;color:white;position:relative;overflow:hidden;transition:all 0.3s}
.tl-0a2f871c.tl-0a2f871c{background:#FFD699;color:#0F2D5C;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;width:22px;height:22px;border-radius:50%}
.tl-0d3aca00.tl-0d3aca00{font-size:15px;color:rgba(255,255,255,0.75);line-height:1.6;margin-bottom:1rem;font-weight:300}
.tl-20d276fe.tl-20d276fe{background:#F5F0E8;border:1px solid #0F2D5C;transform:rotate(45deg)}
.tl-2298c98c.tl-2298c98c{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%, rgba(255,255,255,0.05) 1px, transparent 2px);background-size:30px 30px;opacity:0.4;pointer-events:none}
.tl-27a17181.tl-27a17181{text-align:center;margin-bottom:5rem}
.tl-290c3c6e.tl-290c3c6e{font-family:'DM Serif Display',serif;font-size:24px;color:#1A1410;margin-bottom:0.75rem;font-weight:400}
.tl-2a72a2a8.tl-2a72a2a8{display:block;background:#1A1410;border-radius:12px;padding:2.5rem;text-decoration:none;color:white;transition:all 0.3s}
.tl-2ad9c3b9.tl-2ad9c3b9{font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase}
.tl-2e0b3354.tl-2e0b3354{font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin-top:0.5rem}
.tl-30d93813.tl-30d93813{font-family:'DM Serif Display',serif;font-size:clamp(28px,3vw,40px);color:white;font-weight:400;line-height:1.1;margin-bottom:0.75rem}
.tl-33b2afb3.tl-33b2afb3{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#FFD699;color:#0F2D5C;border-radius:50%;font-size:9px;font-weight:700;flex-shrink:0}
.tl-342a1a73.tl-342a1a73{font-family:'DM Serif Display',serif;font-size:clamp(32px,4vw,52px);color:#1A1410;font-weight:400;line-height:1.05}
.tl-3450c9b1.tl-3450c9b1{background:linear-gradient(135deg,#0F2D5C 0%,#1B4F8A 100%);padding:4rem 3rem;border-bottom:1px solid rgba(255,255,255,0.1);color:white;position:relative;overflow:hidden}
.tl-3a2c059e.tl-3a2c059e{background:#FFFFFF;padding:7rem 3rem;border-top:1px solid rgba(26,20,16,0.07)}
.tl-3b655d33.tl-3b655d33{background:rgba(192,57,43,0.25);border:1px solid rgba(192,57,43,0.5);border-radius:12px;padding:1.5rem;text-align:center;backdrop-filter:blur(8px)}
.tl-3faaa9f4.tl-3faaa9f4{background:linear-gradient(135deg,#C0392B,#E74C3C);color:white;padding:1rem;border-radius:8px;font-size:18px;text-align:center}
.tl-43ac0238.tl-43ac0238{margin-top:2.5rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.tl-451b0573.tl-451b0573{font-size:11px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:rgba(26,20,16,0.68);margin-bottom:1rem}
.tl-53eb7e26.tl-53eb7e26{max-width:1400px;margin:0 auto}
.tl-56ea99b3.tl-56ea99b3{position:relative;border-radius:12px;overflow:hidden;flex-shrink:0;width:380px;height:280px;cursor:pointer;transition:all 0.3s}
.tl-56f929eb.tl-56f929eb{font-size:13px;font-weight:600;color:white;display:inline-flex;align-items:center;gap:8px}
.tl-5c5e75f1.tl-5c5e75f1{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:1.5rem;text-align:center;backdrop-filter:blur(8px)}
.tl-5cfc6154.tl-5cfc6154{width:8px;height:8px;border-radius:50%;background:#E74C3C;animation:trkPulse 1.6s infinite}
.tl-5ec92827.tl-5ec92827{width:8px;height:8px;border-radius:50%;background:#12826D;animation:blink 1.6s infinite}
.tl-60e92095.tl-60e92095{font-family:'DM Serif Display',serif;font-size:48px;color:#C0392B;font-style:italic;margin-bottom:1.5rem;line-height:1}
.tl-617e5e36.tl-617e5e36{max-width:1400px;margin:0 auto 3rem;padding:0 3rem}
.tl-64775154.tl-64775154{font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#C0392B;margin-bottom:1rem;margin-top:1rem}
.tl-6aa1b5e9.tl-6aa1b5e9{position:relative;overflow:hidden;width:100%;padding:1rem 0;mask-image:linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%)}
.tl-6c8dd869.tl-6c8dd869{font-size:11px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:rgba(26,20,16,0.72);margin-bottom:1rem}
.tl-6ff146e9.tl-6ff146e9{position:absolute;bottom:0;left:0;right:0;padding:1.25rem;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,0.92) 100%)}
.tl-7b68816a.tl-7b68816a{font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.82);margin-top:0.5rem}
.tl-840b9142.tl-840b9142{font-size:11px;color:rgba(255,255,255,0.74);margin-top:0.5rem}
.tl-89261395.tl-89261395{font-family:'DM Serif Display',serif;font-size:48px;color:#F5F0E8;font-style:italic;margin-bottom:1.5rem;line-height:1;opacity:0.5}
.tl-8d2b137e.tl-8d2b137e{font-family:'DM Serif Display',serif;font-size:24px;color:white;margin-bottom:0.75rem;font-weight:400}
.tl-90f33e7d.tl-90f33e7d{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}
.tl-931cab95.tl-931cab95{display:inline-flex;align-items:center;gap:10px;color:white;padding:16px 24px;text-decoration:none;font-size:14px;font-weight:600;border:1.5px solid rgba(255,255,255,0.3);border-radius:6px;transition:all 0.2s}
.tl-970e37d1.tl-970e37d1{font-size:14px;color:rgba(255,255,255,0.82);line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.tl-983ada9c.tl-983ada9c{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.tl-9c2c2c56.tl-9c2c2c56{font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#C0392B;margin-bottom:1rem;margin-top:2rem}
.tl-9e7e3c61.tl-9e7e3c61{font-family:'DM Serif Display',serif;font-size:clamp(36px,4vw,52px);color:#1A1410;font-weight:400;line-height:1.1}
.tl-a363f6ab.tl-a363f6ab{font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.65);margin-top:0.5rem}
.tl-a51d80f9.tl-a51d80f9{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#C0392B;color:white;border-radius:50%;font-size:8px;font-weight:700;flex-shrink:0}
.tl-a6ee2ffd.tl-a6ee2ffd{width:18px;height:18px;flex-shrink:0;vertical-align:middle}
.tl-a9158a87.tl-a9158a87{font-style:italic;color:#E74C3C}
.tl-b06bc36f.tl-b06bc36f{font-size:14px;color:rgba(26,20,16,0.85);line-height:1.7;font-weight:300;margin-bottom:1.5rem}
.tl-b0d79a1c.tl-b0d79a1c{display:flex;gap:1.25rem;animation:tlCarousel 40s linear infinite;width:fit-content}
.tl-b1917c91.tl-b1917c91{font-size:16px;color:rgba(255,255,255,0.7);line-height:1.7;font-weight:300;max-width:540px}
.tl-b4854c94.tl-b4854c94{background:#C0392B;border-radius:50%}
.tl-ba7a238f.tl-ba7a238f{display:inline-flex;align-items:center;gap:8px;background:rgba(192,57,43,0.2);border:1px solid rgba(192,57,43,0.4);padding:6px 14px;border-radius:100px;margin-bottom:1.5rem}
.tl-bc9eeb42.tl-bc9eeb42{background:transparent !important;border:1.5px solid currentColor;color:#FFFFFF !important}
.tl-bd76eb0e.tl-bd76eb0e{width:100%;height:100%;object-fit:cover;display:block}
.tl-c6c6f858.tl-c6c6f858{font-family:'DM Serif Display',serif;font-size:32px;color:white;font-weight:400;line-height:1.1;font-style:italic}
.tl-cb519f3d.tl-cb519f3d{background:#C0392B !important;border-color:#C0392B !important;font-weight:800 !important}
.tl-ce085c71.tl-ce085c71{display:inline-flex;align-items:center;gap:10px;background:#C0392B;color:white;padding:16px 32px;border-radius:6px;font-size:14px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;transition:all 0.25s;box-shadow:0 6px 20px rgba(192,57,43,0.4)}
.tl-d0bfd4a6.tl-d0bfd4a6{max-width:1400px;margin:0 auto;position:relative;z-index:2}
.tl-d49bf23c.tl-d49bf23c{background:#C0392B;color:white;display:inline-flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;width:22px;height:22px;border-radius:50%}
.tl-dc0267dc.tl-dc0267dc{background:white;padding:5rem 0 5rem;border-top:1px solid rgba(26,20,16,0.07);overflow:hidden}
.tl-dcc4f67e.tl-dcc4f67e{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;align-items:center}
.tl-e08c15b5.tl-e08c15b5{background:#C0392B !important;color:white !important;margin-right:0.5rem}
.tl-e5a80350.tl-e5a80350{font-family:'DM Serif Display',serif;font-size:88px;color:white;line-height:1;font-style:italic}
.tl-ec4c5598.tl-ec4c5598{font-size:13px;font-weight:600;color:#1A1410;display:inline-flex;align-items:center;gap:8px}
.tl-f1117a4a.tl-f1117a4a{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.tl-f22c069b.tl-f22c069b{font-size:15px;padding:18px 44px;display:inline-block}
.tl-f6634242.tl-f6634242{display:inline-flex;align-items:center;gap:8px;background:white;color:#C0392B;padding:12px 24px;border-radius:6px;font-size:13px;font-weight:700;letter-spacing:0.06em}
.tl-f789f21a.tl-f789f21a{font-family:'DM Serif Display',serif;font-size:clamp(32px,4vw,52px);color:white;font-weight:400;line-height:1.05;margin-bottom:1.25rem}
.tl-f8f6bc21.tl-f8f6bc21{display:block;background:#F5F0E8;border-radius:12px;padding:2.5rem;text-decoration:none;color:#1A1410;transition:all 0.3s;border:1px solid rgba(26,20,16,0.06)}
.tl-fc511f0c.tl-fc511f0c{margin-top:1.5rem}
/* Externalised from 5 inline <style> block(s) in index.html (phase-5 PR4:
   drop style-src 'unsafe-inline'). Concatenated in document order. */
/* ── FULL-SCREEN VIDEO HERO — dark, readable ── */
.hero{background:var(--black) !important;padding:0 3rem !important;min-height:100vh !important;height:100vh !important;display:flex !important}
.hero-content{display:flex !important;flex-direction:column !important;justify-content:flex-end !important;grid-template-columns:none !important;max-width:1600px !important;width:100% !important;margin:0 auto !important;padding:72px 0 5.5rem !important;gap:0 !important}
.hero-left{max-width:none !important}
.hero-media{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;border-radius:0 !important;border:none !important;box-shadow:none !important;z-index:0 !important}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-overlay{display:block !important;background:linear-gradient(180deg,rgba(8,8,8,0.80) 0%,rgba(8,8,8,0.55) 38%,rgba(8,8,8,0.70) 72%,rgba(8,8,8,0.96) 100%) !important;position:absolute;inset:0;z-index:1}
.hero h1{color:#FFFFFF !important;text-shadow:0 4px 44px rgba(0,0,0,0.65);font-size:clamp(60px,8vw,120px) !important;max-width:none !important}
.hero h1 em{color:var(--cream) !important}
.hero-eyebrow{color:rgba(255,255,255,0.8) !important;text-shadow:0 1px 10px rgba(0,0,0,0.6)}
.hero-sub{color:rgba(255,255,255,0.88) !important;text-shadow:0 2px 18px rgba(0,0,0,0.65);font-size:19px !important;max-width:640px !important}
.hero-certs-label{color:rgba(255,255,255,0.82) !important}
.hero-certs-section{border-top:1px solid rgba(255,255,255,0.2) !important}
.cert-pill{background:rgba(0,0,0,0.35) !important;border:1px solid rgba(255,255,255,0.3) !important}
.cert-text{color:#fff !important}
.hero-scroll{color:rgba(255,255,255,0.82) !important}
@media(max-width:768px){.hero{padding:0 1.5rem !important}.hero h1{font-size:clamp(44px,11vw,64px) !important}}
/* ── closing CTA: crossfading photo slideshow background ── */
.cta-section{position:relative;overflow:hidden}
.cta-slides{position:absolute;inset:0;z-index:0;pointer-events:none}
.cta-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;opacity:0;animation:ctaFade 26.0s ease-in-out infinite;filter:saturate(1.05)}
.cta-slides img:nth-child(1){animation-delay:0.0s}
.cta-slides img:nth-child(2){animation-delay:6.5s}
.cta-slides img:nth-child(3){animation-delay:13.0s}
.cta-slides img:nth-child(4){animation-delay:19.5s}
.cta-slides img:first-child{opacity:1}
@keyframes ctaFade{0%{opacity:0;transform:scale(1)}6%{opacity:1}25%{opacity:1}33%{opacity:0;transform:scale(1.10)}100%{opacity:0;transform:scale(1)}}
.cta-section::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,8,0.74) 0%,rgba(8,8,8,0.48) 45%,rgba(8,8,8,0.82) 100%);pointer-events:none}
.cta-section > *{position:relative;z-index:2}
.cta-section .cta-slides{z-index:0}
.cta-section h2{text-shadow:0 4px 34px rgba(0,0,0,0.78)}
.cta-eyebrow{text-shadow:0 2px 14px rgba(0,0,0,0.7)}
@media (prefers-reduced-motion:reduce){.cta-slides img{animation-duration:0.1s;animation-iteration-count:1;animation-fill-mode:forwards}.cta-slides img:first-child{opacity:1}}
@keyframes tlSlideZoom {
  0% { transform: scale(1); }
  50% { transform: scale(1.06); }
  100% { transform: scale(1); }
}
@keyframes tlFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes tlBounceRight {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(6px); }
}
@media (max-width: 768px) {
  section.tlm-height460px { height: 360px !important; }
  section.tlm-height460px > .tl-slideshow + div:not(.tl-slide-dots) + div:not(.tl-slide-dots) { display: none !important; }
}
@media (max-width: 1024px) {
  section.tlm-background1a14 .tlm-gridtemplateco10.tlm-gap125rem {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 640px) {
  section.tlm-background1a14 .tlm-gridtemplateco10.tlm-gap125rem {
    grid-template-columns: 1fr !important;
  }
}
@keyframes tlCarousel {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.tl-carousel-wrap:hover .tl-carousel-track {
  animation-play-state: paused;
}
@media (max-width: 768px) {
  .tl-carousel-card { width: 280px !important; height: 220px !important; }
}

/* ══ MOBILE + WCAG 2.2 AA HARDENING ══ */
/* Overflow. Measured at 320px: .nav-right ran to 415px and .footer-socials to
   379px, so both pushed the document past the viewport on every page. The
   language switcher and both nav CTAs are already duplicated inside the drawer,
   so the bar sheds them as space runs out rather than overflowing. */
@media (max-width:768px){
  .nav-right>.lang-toggle{display:none}
  .footer-socials{flex-wrap:wrap;gap:1rem 1.25rem}
  .hamburger{min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:8px}
  .footer-socials a,.footer-links a{min-height:44px;display:inline-flex;align-items:center}
  .lang-toggle-mobile button{min-height:44px;padding-left:14px;padding-right:14px}
  .mobile-menu a,.mobile-menu button{min-height:44px;display:flex;align-items:center}
  /* fixed full-width furniture needs the notch insets in landscape */
  .cookie{padding-left:max(1.5rem,env(safe-area-inset-left));padding-right:max(1.5rem,env(safe-area-inset-right));padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}
  .float-cta{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom))}
  .mobile-menu{padding-left:max(3rem,env(safe-area-inset-left));padding-right:max(3rem,env(safe-area-inset-right))}
}
@media (max-width:560px){ .nav-right>.nav-cta[href="book.html"]{display:none} }
@media (max-width:412px){ .nav-right>.nav-cta{display:none} .nav-logo-text{display:none} }
/* two-column grids that never collapsed below the 1024px breakpoint */
@media (max-width:560px){
  .stat-grid,.sm-steps,.cs-grid,.rate-fields,.faq-grid,.how-steps,.story-right{grid-template-columns:1fr!important}
}

/* Contrast. Every value below was measured against its real composited
   background; the old ones are the ratios in the comment. */
.footer-socials a{color:rgba(255,255,255,0.62)}   /* on #111 — was .30 → 2.65:1 */
.sr-btn{color:rgba(26,20,16,0.78);border-color:rgba(26,20,16,0.30)}  /* cream ground, not dark */
.cookie p{color:rgba(26,20,16,0.68)}              /* on #fff — was .50 → 3.44:1 */
.cookie-dec{color:rgba(26,20,16,0.74);border-color:rgba(26,20,16,0.38)} /* was .40 → 2.57:1 */
.marquee-item::after{color:rgba(27,79,138,0.72)!important}

/* Focus. There was no :focus-visible rule anywhere in the site; the red ring
   reads on cream (4.79:1) and on near-black (3.64:1), and the white halo keeps
   it visible where the ring sits on the red CTA itself. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid #C0392B;outline-offset:2px;box-shadow:0 0 0 5px rgba(255,255,255,.85)
}
.skip-link:focus{left:0;outline:3px solid #C0392B;outline-offset:2px}

/* Reduced motion. The existing block covered only .cta-slides and #tl-map; the
   marquee, the carousel and eleven other keyframes ran regardless. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .marquee-track,.tl-carousel-track{animation:none!important}
}


/* Inline-styled grids. Roughly forty multi-column grids across the site are
   declared in a style="" attribute (repeat(3,1fr), repeat(5,1fr), 1fr 1fr …),
   so no stylesheet breakpoint could ever reach them; at 320px they ran the
   document out to 624px on about, 568px on brokers, 500px on book. On a phone
   every one of them becomes a single column. */
@media (max-width:600px){
  .tlm-gridtemplateco{grid-template-columns:1fr!important}
  .service-row{grid-template-columns:1fr!important;gap:1rem!important}
  .sr-btn{white-space:normal}
  .stat-grid,.sm-steps,.cs-grid,.rate-fields,.faq-grid,.how-steps,.story-right,
  .eq-cards,.wt-points,.safety-cards,.sm-offers,.terminals-grid,.footer-top{grid-template-columns:1fr!important}
}

/* Min-content floors. Grid and flex children default to min-width:auto, so a
   card whose contents measure 282px keeps its track at 282px however narrow the
   phone is — that is what still pushed about.html to 330px at a 320px viewport
   after the grids were collapsed. Letting them shrink, and letting single-line
   rows wrap, is the standard remedy. */
@media (max-width:600px){
  section.tlm-padding{padding-left:1.25rem!important;padding-right:1.25rem!important}
  .tlm-displaygrid>*,.tlm-displayflex>*,.track-row>*{min-width:0}
  .tlm-displayflex,.track-row{flex-wrap:wrap}
  .track-row>input,.track-row>button{flex:1 1 100%}
}

/* Last contrast holdouts, each measured on its own ground. */
.notice h2{color:#A5291D}                       /* red on its own tint: 4.34 → 5.2 */
.lane-badge.freq{color:#A5291D}                 /* 4.17 → 5.0 */
#trk-log>div{color:rgba(255,255,255,0.92)}      /* log text on a near-clear panel: 2.83 → 4.9 */
