
    :root {
      /* Beyond 8 official web palette:/mnt/data/color_guide.jpeg */
      --orange: #F16322;
      --yellow:#EDC31A;
      --yellow-light:#EDC31A;
      --deep-red:#E23157;
      --blue:#3951A2;
      --green:#51B748;
      --pink:#E23157;
      --violet:#BE4498;
      --sky:#4997D2;
      --navy:#2A417F;
      --ink:#272725;
      --muted:#272725;
      --paper:#FFFFFF;
      --outline:rgba(39,39,37,.17);
      --white:#FFFFFF;
      --round:24px;
      --wide:1240px;
    }
    *, *::before, *::after { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:100px; }
    body { margin:0; background:var(--paper); color:var(--ink); font-family:"Barlow", Arial, sans-serif; -webkit-font-smoothing:antialiased; }
    a { color:inherit; text-decoration:none; }
    button { font:inherit; }
    button, a { -webkit-tap-highlight-color:transparent; }
    a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
    ::selection { background:var(--yellow); color:var(--ink); }
    .skip-link { position:absolute; left:1rem; top:-5rem; z-index:20; padding:.8rem 1rem; background:#FFFFFF; border-radius:.6rem; }
    .skip-link:focus { top:1rem; }
    .wrap { width:min(var(--wide), calc(100% - 56px)); margin-inline:auto; }
    .site-header { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.96); border-bottom:1px solid var(--outline); backdrop-filter:blur(14px); }
    .header-inner { min-height:87px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .brand-lockup { display:flex; align-items:center; gap:12px; flex-shrink:0; }
    .brand-lockup .b8mark { width:57px; height:51px; object-fit:contain; }
    .brand-name { font-size:1.02rem; font-weight:700; letter-spacing:-.035em; white-space:nowrap; }
    .brand-divider { width:1px; height:28px; background:#FFFFFF; margin-inline:7px; }
    .brand-cross { color:#272725; font-size:1.05rem; font-weight:500; }
    .lvbl-wordmark { letter-spacing:-.08em; font-size:1.7rem; font-weight:700; line-height:1; white-space:nowrap; }
    .primary-nav { display:flex; align-items:center; gap:clamp(14px, 2.35vw, 31px); font-size:.89rem; font-weight:600; }
    .primary-nav a:not(.button) { color:#272725; transition:color .18s; }
    .primary-nav a:not(.button):hover { color:var(--deep-red); }
    .button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border:1px solid transparent; padding:15px 22px; border-radius:100px; font-size:.91rem; font-weight:700; letter-spacing:-.01em; line-height:1.1; cursor:pointer; transition:transform .2s ease, background-color .2s ease, box-shadow .2s ease; white-space:nowrap; }
    .button:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(39,39,37,.075); }
    .button.dark { background:var(--ink); color:#FFFFFF; }
    .button.cream { background:#FFFFFF; color:var(--ink); }
    .button.outline { background:transparent; border-color:#272725; }
    .button.orange { background:var(--orange); color:var(--ink); }
    .mobile-menu-button { display:none; cursor:pointer; width:45px; height:45px; border:1px solid var(--outline); border-radius:13px; background:#FFFFFF; align-items:center; justify-content:center; }
    .mobile-menu-button svg { width:23px; height:23px; }
    .eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:.78rem; font-weight:700; letter-spacing:.145em; text-transform:uppercase; }
    .eyebrow .dot { width:7px; height:7px; background:currentColor; border-radius:50%; }
    .section-lead { max-width:740px; margin-bottom:29px; }
    h1, h2, h3, p { margin-top:0; }
    h1, h2, h3 { letter-spacing:-.055em; }
    h1 { font-size:clamp(3.45rem, 6.15vw, 6.2rem); line-height:.99; font-weight:700; max-width:790px; }
    h2 { font-size:clamp(2.1rem, 3.8vw, 3.75rem); font-weight:700; line-height:1.075; }
    h3 { font-size:clamp(1.5rem, 2.3vw, 2.1rem); font-weight:700; line-height:1.14; }
    p { line-height:1.65; }
    .overline { display:block; font-size:.73rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:16px; }
    .muted { color:var(--muted); }
    .card { border-radius:var(--round); overflow:hidden; position:relative; }
    .hero { display:grid; grid-template-columns:1.23fr .77fr; gap:16px; padding-top:26px; }
    .hero-primary { background:var(--ink); color:#FFFFFF; padding:clamp(35px, 5vw, 72px); min-height:610px; display:flex; flex-direction:column; justify-content:space-between; isolation:isolate; }
    .hero-primary::before { content:""; position:absolute; z-index:-1; width:245px; height:245px; background:radial-gradient(circle, #EDC31A 0, transparent 67%); right:-75px; top:-80px; }
    .hero-primary .eyebrow { color:#E23157; }
    .hero-primary h1 { margin:32px 0 20px; }
    .accent-word { color:var(--orange); }
    .hero-primary .intro { max-width:475px; font-size:1.13rem; color:#FFFFFF; line-height:1.55; }
    .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:13px; margin-top:37px; }
    .hero-note { font-size:.8rem; color:#272725; margin:0; }
    .hero-visual { background:#EDC31A; display:flex; align-items:stretch; min-height:610px; }
    .hero-visual::before { content:""; position:absolute; z-index:1; inset:0; opacity:.32; pointer-events:none; background-image:radial-gradient(rgba(39,39,37,0.122) 1px, transparent 1px); background-size:12px 12px; }
    .hero-art { width:100%; height:100%; min-height:610px; display:block; position:absolute; inset:0; }
    .visual-caption { position:absolute; left:26px; bottom:25px; right:26px; z-index:2; background:rgba(255,255,255,.88); backdrop-filter:blur(6px); border-radius:16px; padding:16px 19px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
    .visual-caption b { display:block; font-size:.97rem; letter-spacing:-.02em; }
    .visual-caption small { display:block; color:#272725; font-size:.73rem; margin-top:4px; }
    .caption-icon { width:41px; height:41px; border-radius:100%; display:grid; place-items:center; background:var(--yellow); flex-shrink:0; font-size:1.1rem; }
    .hero-info { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; padding:16px 0 0; }
    .info-pill { padding:20px 24px; border-radius:17px; background:#FFFFFF; border:1px solid rgba(39,39,37,.17); display:flex; gap:14px; align-items:center; font-size:.9rem; font-weight:600; }
    .info-pill span:first-child { font-size:1.45rem; color:var(--deep-red); line-height:1; }
    .section { padding-top:clamp(70px, 9vw, 122px); }
    .section-lead .eyebrow { color:var(--deep-red); margin-bottom:19px; }
    .section-lead h2 { margin-bottom:17px; }
    .section-lead p { color:#272725; max-width:615px; font-size:1.065rem; line-height:1.6; margin-bottom:0; }
    .bento { display:grid; grid-template-columns:repeat(12, 1fr); grid-auto-rows:minmax(205px, auto); gap:16px; }
    .bento > .card { padding:clamp(25px, 3.35vw, 42px); }
    .bento .card h3 { max-width:380px; margin-bottom:12px; }
    .bento .card p { max-width:365px; color:#272725; font-size:.96rem; }
    .bento .card .overline { color:#272725; }
    .card-explore { grid-column:span 7; grid-row:span 2; background:#EDC31A; min-height:452px; display:flex; flex-direction:column; }
    .card-explore h3 { font-size:clamp(2.15rem, 3vw, 3.15rem); }
    .explore-art { position:relative; flex:1; min-height:225px; margin:8px -20px -30px 9%; }
    .explore-art svg { position:absolute; height:100%; width:100%; left:0; top:0; }
    .card-planet { grid-column:span 5; background:#51B748; min-height:236px; }
    .ring-icon { position:absolute; right:-45px; bottom:-90px; width:225px; height:225px; border:28px solid rgba(39,39,37,.17); border-radius:50%; opacity:.5; }
    .card-people { grid-column:span 5; background:#F16322; min-height:236px; }
    .people-graphic { position:absolute; bottom:-22px; right:13px; width:128px; height:102px; opacity:.9; }
    .bento-small { grid-column:span 4; min-height:266px; }
    .card-mentors { background:#4997D2; }
    .card-evidence { background:#EDC31A; }
    .card-choice { background:#51B748; }
    .num { position:absolute; bottom:20px; right:22px; color:rgba(39,39,37,.13); font-weight:700; font-size:4.5rem; line-height:1; letter-spacing:-.07em; }
    .approach { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    .approach-card { min-height:350px; padding:clamp(30px, 4vw, 54px); display:flex; flex-direction:column; justify-content:space-between; }
    .approach-card h3 { font-size:clamp(2rem, 3.1vw, 3rem); max-width:460px; margin-bottom:14px; }
    .approach-card p { max-width:460px; font-size:1.03rem; line-height:1.6; margin:0; }
    .approach-card .partner-logo { height:55px; display:flex; align-items:center; margin-bottom:35px; }
    .approach-card .partner-logo img { height:52px; width:52px; object-fit:contain; }
    .approach-card .partner-logo strong { font-size:1.32rem; letter-spacing:-.04em; margin-left:8px; }
    .approach-card.b8 { background:#F16322; }
    .approach-card.lvbl { background:#51B748; }
    .approach-card.lvbl .partner-logo strong { margin:0; font-size:2.5rem; font-weight:700; letter-spacing:-.09em; }
    .approach-card.lvbl .partner-logo span { font-size:.76rem; margin-left:14px; padding-left:14px; border-left:1px solid rgba(39,39,37,.17); max-width:100px; line-height:1.2; }
    .process-intro { display:flex; justify-content:space-between; gap:35px; align-items:end; }
    .process-intro .section-lead { margin-bottom:26px; }
    .process-note { max-width:295px; text-align:right; font-size:.87rem; color:#272725; line-height:1.5; padding-bottom:32px; }
    .steps { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
    .step { min-height:315px; padding:28px; background:var(--white); border:1px solid var(--outline); display:flex; flex-direction:column; }
    .step:nth-child(2) { background:#EDC31A; border:none; }
    .step:nth-child(3) { background:#4997D2; border:none; }
    .step:nth-child(4) { background:#F16322; border:none; }
    .step-number { font-size:.79rem; font-weight:700; letter-spacing:.1em; color:#272725; }
    .step .step-icon { font-size:2.5rem; margin:auto 0 22px; line-height:1; }
    .step h3 { font-size:1.43rem; margin-bottom:9px; }
    .step p { font-size:.9rem; line-height:1.55; margin:0; color:#272725; }
    .fit-grid { display:grid; grid-template-columns:5fr 7fr; gap:16px; }
    .fit-main { background:var(--blue); color:var(--white); padding:clamp(32px, 4vw, 56px); min-height:400px; display:flex; flex-direction:column; justify-content:space-between; }
    .fit-main .eyebrow { color:#4997D2; }
    .fit-main h2 { max-width:470px; margin:24px 0 20px; }
    .fit-main p { max-width:445px; color:#4997D2; font-size:1.03rem; margin:0; }
    .fit-side { display:grid; gap:16px; grid-template-columns:1fr 1fr; }
    .fit-tile { background:#FFFFFF; border:1px solid var(--outline); padding:31px; display:flex; flex-direction:column; justify-content:space-between; min-height:192px; }
    .fit-tile:nth-child(2) { background:#EDC31A; border:none; }
    .fit-tile:nth-child(3) { background:#51B748; border:none; }
    .fit-tile:nth-child(4) { background:#BE4498; border:none; }
    .fit-tile .mini { font-size:1.4rem; }
    .fit-tile p { font-size:1.01rem; line-height:1.46; font-weight:600; margin-bottom:0; max-width:205px; }
    .faq-grid { display:grid; grid-template-columns:4fr 8fr; gap:60px; }
    .faq-heading p { max-width:310px; color:var(--muted); }
    .faq-list { border-top:1px solid rgba(39,39,37,.17); }
    .faq-list details { border-bottom:1px solid rgba(39,39,37,.17); }
    .faq-list summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:23px 0; font-weight:700; font-size:1.08rem; cursor:pointer; }
    .faq-list summary::-webkit-details-marker { display:none; }
    .faq-list summary::after { content:"+"; font-size:1.55rem; font-weight:400; transition:transform .2s; }
    .faq-list details[open] summary::after { transform:rotate(45deg); }
    .faq-list details p { color:#272725; line-height:1.65; padding:0 35px 23px 0; margin:0; max-width:700px; }
    .closing { padding:clamp(35px, 5.1vw, 72px); margin:100px 0 25px; background:var(--orange); min-height:380px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
    .closing .eyebrow { color:#E23157; }
    .closing h2 { font-size:clamp(2.7rem, 5vw, 5rem); margin:22px 0 18px; max-width:800px; }
    .closing p { max-width:520px; margin:0; font-size:1.08rem; line-height:1.55; }
    .closing-actions { flex-shrink:0; display:flex; flex-direction:column; align-items:stretch; gap:11px; min-width:225px; }
    .site-footer { padding:38px 0 53px; border-top:1px solid var(--outline); }
    .footer-inner { display:flex; justify-content:space-between; gap:25px; align-items:center; }
    .footer-brand { font-size:1.12rem; font-weight:700; letter-spacing:-.04em; }
    .footer-brand span { padding:0 9px; color:#272725; }
    .footer-inner p { font-size:.82rem; margin:9px 0 0; color:#272725; line-height:1.4; }
    .footer-links { display:flex; gap:20px; font-size:.85rem; font-weight:600; }
    .footer-links a:hover { text-decoration:underline; }
    /* Gentle motion, without requiring JavaScript to reveal content */
    @media (prefers-reduced-motion: no-preference) {
      .bento .card, .step, .approach-card { transition:transform .22s ease, box-shadow .22s ease; }
      .bento .card:hover, .step:hover, .approach-card:hover { transform:translateY(-3px); box-shadow:0 10px 25px rgba(39,39,37,0.0627); }
    }
    @media (max-width: 1050px) {
      .primary-nav { gap:15px; font-size:.83rem; }
      .primary-nav .button { padding:13px 17px; }
      .hero-primary { padding:39px; }
      .hero-primary h1 { font-size:clamp(3.4rem, 6vw, 5.1rem); }
      .hero, .hero-primary, .hero-visual, .hero-art { min-height:545px; }
      .closing { align-items:flex-start; flex-direction:column; }
      .closing-actions { flex-direction:row; flex-wrap:wrap; }
    }
    @media (max-width: 800px) {
      .wrap { width:min(var(--wide), calc(100% - 32px)); }
      .header-inner { min-height:78px; }
      .mobile-menu-button { display:flex; }
      .primary-nav { display:none; position:absolute; right:16px; top:calc(100% + 8px); left:16px; background:#FFFFFF; padding:22px; flex-direction:column; align-items:stretch; border-radius:18px; box-shadow:0 16px 40px rgba(39,39,37,.13); gap:18px; border:1px solid var(--outline); }
      .primary-nav.open { display:flex; }
      .primary-nav a:not(.button) { font-size:1rem; padding:5px; }
      .hero { grid-template-columns:1fr; }
      .hero-primary { min-height:535px; }
      .hero-visual { min-height:360px; }
      .hero-art { min-height:360px; }
      .hero-info { grid-template-columns:1fr 1fr; }
      .hero-info .info-pill:last-child { grid-column:span 2; }
      .bento .card-explore, .bento .card-planet, .bento .card-people { grid-column:span 6; }
      .bento .card-explore { grid-row:span 2; }
      .bento .bento-small { grid-column:span 4; }
      .approach { grid-template-columns:1fr 1fr; }
      .steps { grid-template-columns:repeat(2, 1fr); }
      .fit-grid { grid-template-columns:1fr; }
      .faq-grid { grid-template-columns:1fr; gap:23px; }
    }
    @media (max-width: 560px) {
      :root { --round:20px; }
      .brand-name { font-size:.95rem; }
      .brand-lockup { gap:6px; }
      .brand-lockup .b8mark { width:43px; height:42px; }
      .brand-divider { margin-inline:5px; height:25px; }
      .lvbl-wordmark { font-size:1.48rem; }
      h2 { font-size:2.15rem; }
      .hero { padding-top:15px; gap:12px; }
      .hero-primary { min-height:548px; padding:30px 27px; }
      .hero-primary h1 { font-size:clamp(3.15rem, 12.7vw, 4.7rem); margin-top:28px; }
      .hero-primary .intro { font-size:.98rem; }
      .hero-actions { gap:14px; }
      .hero-actions .button { width:100%; }
      .hero-visual, .hero-art { min-height:325px; }
      .hero-info { grid-template-columns:1fr; gap:10px; padding-top:12px; }
      .hero-info .info-pill:last-child { grid-column:auto; }
      .info-pill { padding:16px 19px; }
      .section { padding-top:74px; }
      .section-lead { margin-bottom:25px; }
      .bento { gap:12px; }
      .bento .card { padding:28px; }
      .bento .card-explore, .bento .card-planet, .bento .card-people, .bento .bento-small { grid-column:span 12; grid-row:auto; }
      .card-explore { min-height:520px; }
      .card-planet, .card-people, .bento-small { min-height:220px; }
      .explore-art { margin:8px -30px -20px 0; min-height:245px; }
      .approach { grid-template-columns:1fr; gap:12px; }
      .approach-card { min-height:315px; }
      .process-intro { display:block; }
      .process-note { text-align:left; max-width:none; padding-bottom:21px; }
      .steps { gap:12px; }
      .step { min-height:290px; padding:22px; }
      .step h3 { font-size:1.25rem; }
      .fit-side { gap:12px; }
      .fit-tile { padding:22px; min-height:178px; }
      .fit-tile p { font-size:.94rem; }
      .faq-list summary { font-size:.99rem; }
      .closing { margin-top:78px; padding:31px; }
      .closing-actions { flex-direction:column; width:100%; }
      .footer-inner { align-items:flex-start; flex-direction:column; }
    }
    @media (max-width: 380px) {
      .brand-name { display:none; }
      .steps { grid-template-columns:1fr; }
      .step { min-height:215px; }
      .fit-side { grid-template-columns:1fr; }
      .fit-tile { min-height:155px; }
    }
  

/* Beyond 8 multipage adaptation of the supplied design reference. */
:root { --coral:#F16322; --clay:#F16322; }
body { overflow-x:hidden; }
main { min-height:60vh; }
img { max-width:100%; }
button,a { touch-action:manipulation; }
.brand-tag { color:#272725; font-size:.68rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; line-height:1.2; margin-left:5px; padding-left:15px; border-left:1px solid rgba(39,39,37,.17); white-space:nowrap; }
.brand-lockup .b8mark { width:52px;height:50px; }
.brand-name { font-size:1.12rem; }
.nav-sub { position:relative; }
.nav-sub > a { display:inline-flex;align-items:center;gap:5px; }
.nav-sub .submenu { position:absolute;z-index:16;left:-24px;top:30px;background:#FFFFFF;min-width:190px;border:1px solid var(--outline);box-shadow:0 18px 30px rgba(39,39,37,.065);border-radius:17px;padding:14px;display:none; }
.nav-sub:hover .submenu, .nav-sub:focus-within .submenu { display:grid;gap:3px; }
.primary-nav .nav-sub .submenu a { display:block;padding:11px 12px;border-radius:10px;font-size:.87rem;color:#272725; }
.primary-nav .nav-sub .submenu a:hover {background:#EDC31A;color:var(--deep-red);}
.primary-nav a[aria-current="page"]:not(.button) { color:var(--deep-red); }
.hero-visual .hero-art { object-fit:cover; }
.hero-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.photo-tint:after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(39,39,37,0.467),transparent 63%);pointer-events:none; }
.photo-tint:before {display:none;}
.hero-photo-caption { position:absolute;bottom:27px;left:27px;right:27px;color:#FFFFFF;text-shadow:0 2px 8px rgba(39,39,37,.33);z-index:2;font-size:.85rem;font-weight:600;letter-spacing:.02em; }
.inner-hero .hero-primary,.inner-hero .hero-visual {min-height:535px;}
.inner-hero .hero-primary h1 {font-size:clamp(3.3rem,5.3vw,5.4rem);}
.inner-hero .hero-primary {gap:20px;}
.hero-primary h1 {text-wrap:balance;}
.hero-primary .intro {max-width:540px;}
.hero-note {margin-top:16px;}
.hero-info .info-pill {background:#FFFFFF;}
.hero-info .info-pill span:first-child {min-width:23px;text-align:center;}
.eyebrow {line-height:1.3;}
.eyebrow .dot {flex-shrink:0;}
.card-explore .explore-art {min-height:170px;}
.bento .card {isolation:isolate;}
.bento .card > * {position:relative;z-index:2;}
.bento .card .ring-icon,.bento .card .people-graphic,.bento .card .num {position:absolute;z-index:1;}
.bento .card .ring-icon {z-index:0;}
.number-flag {display:inline-block;padding:8px 13px;font-size:.72rem;letter-spacing:.12em;font-weight:700;border-radius:99px;background:rgba(255,255,255,.44);text-transform:uppercase;margin-bottom:24px;}
.stack {display:grid;gap:16px;}
.grid-2 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.grid-3 {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.grid-4 {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.section-note {color:#272725;font-size:.86rem;}
.section-intro {display:flex;align-items:end;justify-content:space-between;gap:36px;}
.section-intro .section-lead {margin-bottom:28px;}
.section-intro .section-link {margin-bottom:34px;}
.text-link {display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.96rem;padding-bottom:4px;border-bottom:1.5px solid currentColor;white-space:nowrap;}
.text-link:hover {color:var(--deep-red);}
.photo-grid {display:grid;grid-template-columns:1.15fr .85fr;gap:16px;}
.photo-panel {min-height:420px;position:relative;background:#EDC31A;}
.photo-panel img {display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;}
.photo-panel .photo-overlay {position:absolute;left:22px;bottom:22px;right:22px;padding:17px 20px;border-radius:15px;backdrop-filter:blur(12px);background:rgba(255,255,255,0.871);font-size:.86rem;line-height:1.5;font-weight:600;}
.photo-stack {display:grid;grid-template-rows:1fr 1fr;gap:16px;}
.photo-stack .photo-panel {min-height:200px;}
.story-card {background:#FFFFFF;border:1px solid var(--outline);padding:clamp(25px,3vw,37px);min-height:257px;display:flex;flex-direction:column;justify-content:space-between;}
.story-card:nth-child(2n) {background:#EDC31A;border:0;}
.story-card:nth-child(3n) {background:#4997D2;border:0;}
.story-card blockquote {font-size:clamp(1.18rem,1.6vw,1.54rem);line-height:1.47;font-weight:700;letter-spacing:-.035em;margin:13px 0 28px;}
.story-card footer {font-size:.81rem;color:#272725;font-weight:600;}
.story-card .quote-mark {font-size:3.5rem;line-height:.67;color:var(--deep-red);font-weight:700;}
.feature-row {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.feature-panel {padding:clamp(32px,4vw,55px);min-height:440px;display:flex;flex-direction:column;justify-content:space-between;}
.feature-panel h2 {font-size:clamp(2rem,3.2vw,3.25rem);max-width:580px;}
.feature-panel p {font-size:1.03rem;max-width:495px;margin-bottom:0;}
.photo-feature {padding:0;overflow:hidden;position:relative;}
.photo-feature img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.photo-feature .photo-overlay {background:rgba(255,255,255,0.914);backdrop-filter:blur(7px);border-radius:16px;padding:19px 21px;position:absolute;bottom:24px;left:24px;right:24px;z-index:2;font-weight:600;}
.mini-chip {display:inline-block;padding:8px 13px;background:rgba(255,255,255,0.6);border-radius:100px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;}
.info-card {padding:clamp(26px,3vw,39px);min-height:230px;display:flex;flex-direction:column;background:#FFFFFF;border:1px solid var(--outline);}
.info-card:nth-child(3n+2) {background:#EDC31A;border:0;}
.info-card:nth-child(3n+3) {background:#51B748;border:0;}
.info-card h3 {font-size:1.55rem;margin:13px 0 12px;}
.info-card p {font-size:.94rem;color:#272725;margin:0;}
.info-card .num-inline {font-weight:700;color:#E23157;letter-spacing:.13em;font-size:.78rem;}
.timeline {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.timeline .step {min-height:255px;}
.timeline .step-icon {font-size:2rem;}
.quote-band {background:#51B748;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(32px,5vw,65px);}
.quote-band blockquote {font-size:clamp(1.45rem,2.5vw,2.4rem);line-height:1.34;font-weight:700;letter-spacing:-.04em;max-width:800px;margin:0;}
.quote-band cite {font-style:normal;font-weight:600;color:#272725;font-size:.85rem;white-space:nowrap;}
.bullet-list {list-style:none;padding:0;margin:0;}
.bullet-list li {position:relative;padding:0 0 14px 25px;line-height:1.55;}
.bullet-list li:before {content:"↗";position:absolute;left:0;color:#E23157;font-weight:700;}
.pathway-grid {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.pathway-grid .feature-panel {min-height:385px;}
.school-list {display:flex;gap:10px;flex-wrap:wrap;margin-top:25px;}
.school-list span {font-size:.88rem;padding:11px 15px;border:1px solid rgba(39,39,37,.17);border-radius:100px;background:#FFFFFF;line-height:1.25;font-weight:600;}
.portrait-card {background:#FFFFFF;border:1px solid var(--outline);padding:clamp(28px,3vw,40px);}
.portrait-card h3 {font-size:2rem;margin-bottom:7px;}
.portrait-card p {color:#272725;font-size:.97rem;}
.portrait-graphic {height:125px;border-radius:18px;position:relative;overflow:hidden;margin-bottom:22px;background:#EDC31A;}
.portrait-graphic:before {content:"";display:block;position:absolute;left:32px;bottom:-45px;width:130px;height:130px;border-radius:50%;background:#F16322;}
.portrait-graphic:after {content:"";display:block;position:absolute;right:55px;top:-75px;width:185px;height:185px;border-radius:50%;border:18px solid #F16322;}
.portrait-card:nth-child(2) .portrait-graphic {background:#51B748;}
.portrait-card:nth-child(2) .portrait-graphic:before {background:#51B748;}
.portrait-card:nth-child(2) .portrait-graphic:after {border-color:#272725;}
.portrait-card .role {color:#272725;letter-spacing:.11em;font-size:.72rem;text-transform:uppercase;font-weight:700;}
.tile-link {display:block;padding:clamp(25px,3vw,40px);min-height:215px;position:relative;}
.tile-link h3 {margin-top:36px;max-width:420px;}
.tile-link .arrow {position:absolute;top:27px;right:32px;font-weight:600;font-size:1.5rem;}
.tile-link:hover .arrow {transform:translate(3px,-3px);transition:transform .2s;}
.journal-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.journal-card {display:flex;flex-direction:column;min-height:365px;padding:clamp(27px,3vw,38px);background:#FFFFFF;border:1px solid var(--outline);}
.journal-card:nth-child(4n+1) {background:#EDC31A;border:0;}
.journal-card:nth-child(4n+2) {background:#51B748;border:0;}
.journal-card:nth-child(4n+3) {background:#4997D2;border:0;}
.journal-card:nth-child(4n) {background:#EDC31A;border:0;}
.journal-card .meta {font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:#272725;}
.journal-card h3 {font-size:clamp(1.48rem,2vw,1.98rem);margin:28px 0 13px;line-height:1.18;}
.journal-card p {font-size:.9rem;color:#272725;margin:0;}
.journal-card .journal-cta {margin-top:auto;padding-top:18px;font-size:.87rem;font-weight:700;}
.article-shell {display:grid;grid-template-columns:185px minmax(0,740px);gap:45px;margin-top:70px;}
.article-aside {font-size:.82rem;color:#272725;}
.article-aside b {display:block;color:#272725;margin-bottom:12px;}
.article-copy {font-size:1.08rem;line-height:1.74;color:#272725;}
.article-copy p {margin:0 0 23px;}
.article-copy h2 {margin:48px 0 20px;font-size:2.05rem;color:#272725;}
.article-copy h3 {margin:30px 0 15px;font-size:1.4rem;color:#272725;}
.article-copy ul,.article-copy ol {margin:0 0 25px;padding-left:25px;}
.article-copy li {padding-bottom:9px;}
.article-copy .source-note {font-size:.84rem;color:#272725;border-top:1px solid var(--outline);padding-top:16px;}
.document-shell {max-width:840px;margin:0 auto;}
.document-shell h2 {margin:36px 0 12px;font-size:1.45rem;letter-spacing:-.025em;}
.document-shell p,.document-shell li {color:#272725;line-height:1.7;}
.document-shell ul {padding-left:23px;}
.document-shell li {margin-bottom:7px;}
.location-card {padding:clamp(26px,3vw,41px);min-height:330px;display:flex;flex-direction:column;justify-content:space-between;background:#FFFFFF;border:1px solid var(--outline);}
.location-card:nth-child(2) {background:#51B748;border:0;}
.location-card h3 {font-size:1.9rem;}
.location-card .loc-tag {font-size:.78rem;color:#E23157;letter-spacing:.1em;text-transform:uppercase;font-weight:700;}
.location-card p {max-width:340px;color:#272725;}
.location-card a {width:fit-content;}
.contact-strip {display:flex;flex-wrap:wrap;gap:12px;}
.contact-strip a {display:inline-flex;gap:12px;align-items:center;background:#FFFFFF;padding:18px 23px;border-radius:16px;font-weight:700;border:1px solid var(--outline);}
.contact-strip a:hover {background:#EDC31A;}
.contact-strip span {color:#E23157;}
.faq-categories {display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;align-items:start;}
.faq-nav {display:grid;gap:8px;position:sticky;top:120px;}
.faq-nav a {display:block;padding:12px 16px;background:#FFFFFF;border:1px solid var(--outline);border-radius:12px;font-weight:600;font-size:.88rem;}
.faq-nav a:hover {background:#EDC31A;}
.faq-group {margin-bottom:44px;scroll-margin-top:115px;}
.faq-group h3 {font-size:1.7rem;margin-bottom:20px;}
.faq-group details {border-bottom:1px solid rgba(39,39,37,.17);}
.faq-group details:first-of-type {border-top:1px solid rgba(39,39,37,.17);}
.faq-group summary {list-style:none;cursor:pointer;padding:19px 0;font-weight:700;font-size:1.08rem;display:flex;justify-content:space-between;gap:20px;}
.faq-group summary::-webkit-details-marker {display:none;}
.faq-group summary:after {content:"+";font-size:1.4rem;color:#E23157;font-weight:500;}
.faq-group details[open] summary:after {content:"−";}
.faq-group details p {color:#272725;line-height:1.66;margin:0;padding:0 32px 22px 0;max-width:780px;}
.embed-notice {font-size:.89rem;color:#272725;line-height:1.55;}
.card-panel {padding:clamp(32px,4vw,55px);}
.closing h2 {max-width:690px;}
.closing p {font-size:1.025rem;}
.site-footer {margin-top:15px;background:#EDC31A;}
.footer-inner {display:grid;grid-template-columns:minmax(210px,2fr) repeat(3,minmax(120px,1fr));gap:50px;align-items:start;}
.footer-logo {height:46px;width:48px;object-fit:contain;vertical-align:middle;margin-right:8px;}
.footer-brand {display:flex;align-items:center;gap:4px;font-size:1.32rem;}
.site-footer h4 {font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#272725;margin:4px 0 18px;}
.footer-column {display:grid;align-content:start;gap:12px;}
.footer-column a {font-size:.86rem;font-weight:600;color:#272725;}
.footer-column a:hover {color:#E23157;text-decoration:underline;}
.footer-bottom {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:38px;padding-top:24px;border-top:1px solid var(--outline);font-size:.76rem;color:#272725;}
.footer-bottom a {text-decoration:underline;}
@media (max-width:1150px) {.brand-tag{display:none}.primary-nav{gap:15px}.primary-nav a{font-size:.85rem}.primary-nav .button{padding:13px 17px}.footer-inner{gap:25px}}
@media (max-width:900px) {.primary-nav{gap:12px;font-size:.8rem}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}.journal-grid{grid-template-columns:1fr 1fr}.faq-categories{grid-template-columns:195px 1fr;gap:24px}.article-shell{grid-template-columns:140px 1fr;gap:25px}}
@media (max-width:800px){.nav-sub .submenu{display:grid;position:static;box-shadow:none;border:none;padding:4px 0 0 10px;background:transparent}.primary-nav .nav-sub .submenu a {font-size:.9rem;padding:8px 12px}.nav-sub > a{font-size:1rem}.inner-hero .hero-primary,.inner-hero .hero-visual{min-height:400px}.hero-primary h1{font-size:clamp(3.2rem,6.4vw,5.4rem)}.inner-hero .hero-primary h1{font-size:clamp(3.2rem,6vw,4.65rem)}.grid-3,.journal-grid{grid-template-columns:1fr 1fr}.grid-2,.pathway-grid{grid-template-columns:1fr}.photo-grid,.feature-row{grid-template-columns:1fr}.photo-panel{min-height:380px}.photo-stack{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.quote-band{display:block}.quote-band cite{display:block;margin-top:20px}.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{grid-template-columns:1fr 1fr;gap:28px}.section-intro{align-items:flex-start;flex-direction:column;gap:0}.section-intro .section-link{margin-bottom:26px}.faq-categories{grid-template-columns:1fr;gap:25px}.faq-nav{display:flex;flex-wrap:wrap;position:static}.faq-nav a{padding:9px 11px}.article-shell{grid-template-columns:1fr;gap:10px;margin-top:45px}.article-aside{display:flex;gap:14px}.article-aside b{margin-bottom:0}}
@media (max-width:560px){.brand-name{display:inline-block}.header-inner{gap:10px}.brand-tag{display:none}.hero-photo-caption{bottom:19px;left:19px}.grid-3,.grid-4,.journal-grid,.timeline{grid-template-columns:1fr}.photo-stack{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.photo-stack .photo-panel{min-height:220px}.feature-panel{min-height:360px}.story-card{min-height:215px}.hero-primary h1{font-size:clamp(3.05rem,11.4vw,4.7rem)}.inner-hero .hero-primary h1{font-size:clamp(3.1rem,10.8vw,4.2rem)}.inner-hero .hero-primary{min-height:450px}.inner-hero .hero-visual{min-height:325px}.brand-lockup .b8mark{width:41px;height:41px}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner >div:first-child{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column}.section{padding-top:70px}.story-card blockquote{font-size:1.25rem}.bento .card {min-height:220px}.bento .card-explore{min-height:490px}.grid-2>.card{min-height:230px}.closing-actions .button{white-space:normal;text-align:center}.faq-group summary{font-size:1rem}.contact-strip a{width:100%}.document-shell h2{font-size:1.3rem}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;}}
/* Let long call-to-action links wrap on very narrow phones. */
@media (max-width:420px) {
  .text-link { display:inline; white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
}
/* === BEYOND 8 INTELLIGENCE EDITION ===
   Preserves previous reference layout, split heroes, visual proportions and palette.
   IMAGE REPLACEMENT: every <img> carries a data-image-slot and IMAGE SLOT comment.
   PHOTO CROP: new photographs for .hero-art should use object-fit:cover.
   BACKGROUND IMAGE OPTION: place a verified image via --panel-bg-image on .photographic-panel.
   Example: <section class="card photographic-panel" style="--panel-bg-image:url('assets/images/YOUR_FILE.jpg')">
   Every such CSS background MUST have its own IMAGE SLOT comment in the HTML above the element.
*/
:root { --image-focus-x:50%; --image-focus-y:50%; }
.text-orange {color:#E23157}
.hero-art.hero-photo-art {object-fit:cover;object-position:var(--image-focus-x) var(--image-focus-y)}
.photographic-panel {background-image:var(--panel-bg-image);background-position:center;background-repeat:no-repeat;background-size:cover;}
/* Primary navigation: details are keyboard-accessible, no inert fake hover. */
.primary-nav {gap:clamp(11px,1.5vw,22px)}
.nav-dropdown {position:relative;font-size:.87rem;color:#272725}
.nav-dropdown > summary {cursor:pointer;list-style:none;white-space:nowrap;display:flex;align-items:center;gap:6px;padding:13px 0;font-weight:600;outline-offset:4px}
.nav-dropdown > summary::-webkit-details-marker {display:none}
.nav-dropdown > summary span {color:#272725;font-size:1rem}
.nav-dropdown[open] > summary, .nav-dropdown.is-active > summary {color:#E23157}
.nav-dropdown .submenu {display:none;position:absolute;top:calc(100% - 2px);left:-18px;background:#FFFFFF;border:1px solid rgba(39,39,37,.17);box-shadow:0 19px 35px rgba(39,39,37,.09);border-radius:16px;padding:12px;width:230px;z-index:11;grid-template-columns:1fr;gap:2px}
.nav-dropdown[open] .submenu {display:grid}
.nav-dropdown .submenu .subitem {display:block;padding:11px 13px;border-radius:8px;color:#272725!important;font-size:.9rem;line-height:1.2;font-weight:760}
.nav-dropdown .submenu .subitem:hover,.nav-dropdown .submenu .subitem.active {background:#EDC31A;color:#E23157!important}
.primary-nav .nav-direct.active {color:#E23157}
.nav-ai-link {border:1px solid rgba(39,39,37,.17);border-radius:100px;padding:10px 13px;white-space:nowrap}
.nav-ai-link:hover {background:#EDC31A}
.primary-nav a {white-space:nowrap}
.hero-primary .hero-note {margin-top:23px;line-height:1.6}
.site-footer {margin-top:45px;padding:45px 0 33px}
.footer-topline {display:flex;align-items:flex-start;justify-content:space-between;gap:32px;border-bottom:1px solid var(--outline);padding-bottom:33px}
.footer-mark {display:flex;gap:13px;align-items:center}
.footer-mark img {width:45px;height:42px;object-fit:contain;flex:none}
.footer-mark strong {display:block;font-weight:700;font-size:1.33rem;letter-spacing:-.05em}
.footer-mark span {display:block;font-size:.74rem;color:#272725;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
.footer-pitch {max-width:380px;color:#272725;line-height:1.6;font-size:.93rem}
.footer-menus {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:37px;padding-top:35px}
.footer-menu {display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.site-footer .footer-menu h2 {margin:0 0 8px;font-size:.77rem;letter-spacing:.11em;line-height:1.3;text-transform:uppercase;color:#E23157;font-weight:700}
.footer-menu a {font-size:.86rem;line-height:1.33;color:#272725;font-weight:600}
.footer-menu a:hover {color:#E23157;text-decoration:underline}
.site-footer .footer-bottom {display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-top:40px;padding-top:19px}
.site-footer .footer-bottom p {font-size:.77rem;max-width:700px;margin:0;color:#272725;line-height:1.55}
.site-footer .footer-bottom div {font-size:.77rem;text-align:right;white-space:nowrap}
.site-footer .footer-bottom div a {color:#272725}
.legal-review-note {display:none} /* comment-level issue, not public-facing copy; see handoff. */
.floating-ai {position:fixed;bottom:22px;right:24px;display:flex;gap:9px;align-items:center;border-radius:100px;padding:14px 19px;background:#272725;color:#FFFFFF;z-index:8;box-shadow:0 13px 33px rgba(39,39,37,0.188);font-weight:700;font-size:.88rem;transition:transform .17s,background .17s}
.floating-ai span {display:grid;place-items:center;border-radius:50%;background:#EDC31A;color:#272725;width:21px;height:21px;font-size:1rem}
.floating-ai:hover {transform:translateY(-3px);background:#272725}
.info-card {min-height:244px}
.info-card .block-card {height:100%;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.info-card .block-card:hover h3 {color:#E23157}
.info-card .card-arrow {margin-top:auto;padding-top:23px;color:#E23157;font-size:.83rem;font-weight:700}
.grid-4 .info-card h3 {font-size:1.35rem}
.card-head-img {width:100%;height:140px;object-fit:cover;margin:15px 0;border-radius:14px}
.intent-grid .intent-link {display:flex;flex-direction:column;min-height:285px;padding:clamp(25px,3vw,39px);transition:transform .2s}
.intent-grid .intent-link:hover {transform:translateY(-3px)}
.intent-link .overline {font-size:.72rem;color:#272725;margin:0}
.intent-link h3 {font-size:clamp(1.65rem,2.25vw,2.15rem);line-height:1.18;letter-spacing:-.05em;max-width:270px;margin:auto 0 11px}
.intent-link p {font-size:.92rem;line-height:1.5;max-width:290px;margin:0;color:#272725}
.intent-link .arrow {font-size:1.4rem;color:#E23157}
.proof-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.proof-card {min-height:266px;padding:clamp(25px,3vw,39px);background:#FFFFFF;border:1px solid var(--outline)}
.proof-card:nth-child(4n+1){background:#EDC31A;border:0}.proof-card:nth-child(4n+2){background:#51B748;border:0}.proof-card:nth-child(4n+3){background:#F16322;border:0}.proof-card:nth-child(4n){background:#4997D2;border:0}
.proof-number {font-size:clamp(2.75rem,4.25vw,4.8rem);line-height:1.04;font-weight:700;letter-spacing:-.075em;display:block;margin-bottom:24px;color:#272725;font-variant-numeric:lining-nums}
.proof-card h3 {font-size:1.22rem;letter-spacing:-.025em;margin-bottom:8px}
.proof-card p {font-size:.84rem;color:#272725;margin-bottom:0;line-height:1.5}
.proof-grid-three {grid-template-columns:repeat(3,minmax(0,1fr))}
.proof-second {margin-top:16px}
.evidence-note {margin-top:15px;display:flex;align-items:flex-start;gap:15px;border:1px solid rgba(39,39,37,.17);border-radius:18px;padding:18px 22px;background:#FFFFFF}
.evidence-note>span {font-size:1.15rem;color:#E23157;flex:none}
.evidence-note p {color:#272725;font-size:.85rem;margin:0;line-height:1.6}
.evidence-note a {font-weight:700;text-decoration:underline;text-underline-offset:2px}
.cycle-foot {margin-top:17px;padding:24px 30px;border:1px solid rgba(39,39,37,.17);border-radius:17px;display:flex;align-items:center;gap:20px;background:#FFFFFF}
.cycle-foot .cycle-loop {font-size:2.25rem;color:#E23157;line-height:1}
.cycle-foot p {flex:1;color:#272725;margin:0;font-size:.93rem}
.cycle-foot .text-link {white-space:nowrap}
.cycle-foot strong {font-weight:700;min-width:130px}
.week-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.week-box {padding:29px 24px;min-height:244px;background:#51B748;display:flex;flex-direction:column;justify-content:space-between}
.week-box:nth-child(2),.week-box:nth-child(5){background:#EDC31A}
.week-box.light {background:#FFFFFF;border:1px solid var(--outline)}
.week-box span {font-size:.75rem;letter-spacing:.13em;font-weight:700;color:#272725}
.week-box h3 {font-size:1.8rem;margin:25px 0 12px}
.week-box p {font-size:.85rem;line-height:1.5;margin:0;color:#272725}
.metric-split {display:flex;align-items:center;gap:38px;min-height:240px;padding:40px 55px;background:#EDC31A}
.metric-split strong {font-size:clamp(3rem,7vw,6.7rem);white-space:nowrap;line-height:1;font-weight:700;letter-spacing:-.075em}
.metric-split p {font-size:1.13rem;max-width:480px}
.source-mini {display:block;color:#272725;font-size:.79rem;margin-top:13px}
.honesty-card {padding:clamp(30px,4vw,55px);background:#51B748;border:0}
.honesty-card h3 {font-size:clamp(1.7rem,3vw,2.55rem);max-width:850px;line-height:1.2}
.honesty-card p {max-width:760px;color:#272725}
.honesty-card .text-link {margin-top:15px;display:inline-block}
.destination-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.destination-card {padding:clamp(28px,3vw,42px);min-height:287px;background:#EDC31A;display:flex;flex-direction:column}
.destination-card:nth-child(6n+2),.destination-card:nth-child(6n+5) {background:#51B748}
.destination-card:nth-child(6n+3),.destination-card:nth-child(6n+6) {background:#F16322}
.destination-card .overline {color:#272725}
.destination-card h3 {font-size:clamp(1.55rem,2.45vw,2.3rem);margin:0;max-width:340px}
.destination-arrow {color:#E23157;font-size:1.6rem;margin:10px 0 5px}
.destination-course {font-weight:700;font-size:1rem;margin:0}
.destination-college {font-size:1.08rem;font-weight:700;margin-top:auto;margin-bottom:7px;max-width:260px}
.destination-kind {font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#272725;margin:0}
.story-card h3 {font-size:clamp(1.5rem,2.1vw,2rem)}
.story-card p {font-size:.91rem;color:#272725}
.story-card .text-link {font-size:.86rem}
.address-box {display:flex;align-items:center;justify-content:space-between;gap:35px;padding:clamp(35px,4vw,56px);background:#51B748}
.address-box address {font-style:normal;font-size:1.06rem;line-height:1.6;max-width:610px}
.address-box p {margin:13px 0 0;font-size:.9rem}
.address-box p a {text-decoration:underline}
.ritual-list {padding-left:24px;line-height:1.75;color:#272725}
.ask-teaser {padding:clamp(29px,4vw,52px);background:#EDC31A;display:flex;align-items:center;justify-content:space-between;gap:36px}
.ask-teaser h3 {font-size:clamp(1.7rem,3vw,2.55rem);max-width:520px;margin:15px 0}
.ask-teaser p {font-size:.95rem;max-width:600px;margin:0}
.ask-teaser .ask-teaser-action {flex:none}
.prompt-links {display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.prompt-links a {padding:9px 12px;border-radius:100px;background:rgba(255,255,255,0.741);font-size:.82rem;font-weight:600}
.prompt-links a:hover {background:#FFFFFF}
/* Ask Beyond 8 UI: plain HTML, backend-agnostic adapter in assets/assistant.js */
.chat-shell {background:#FFFFFF;border:1px solid var(--outline);padding:0;overflow:hidden;max-width:940px;margin:auto}
.chat-top {background:#272725;color:#FFFFFF;padding:25px 31px;display:flex;align-items:center;gap:16px}
.chat-top h3 {font-size:1.55rem;margin:0 0 5px}
.chat-top p {color:#FFFFFF;margin:0;font-size:.87rem}
.chat-orb {background:#EDC31A;color:#272725;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:1.45rem}
.chat-messages {background:#EDC31A;min-height:240px;max-height:380px;overflow-y:auto;padding:25px 30px;display:flex;flex-direction:column;gap:14px}
.chat-message {padding:15px 19px;border-radius:19px;line-height:1.6;max-width:min(85%,630px);font-size:.97rem;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-message small {color:#272725;font-size:.77rem}
.chat-message.from-b8 {background:#FFFFFF;color:#272725;align-self:flex-start;border-bottom-left-radius:5px}
.chat-message.from-user {background:#51B748;align-self:flex-end;border-bottom-right-radius:5px}
.chat-message.has-link a {display:block;font-weight:600;margin-top:9px;text-decoration:underline}
.chat-prompt-grid {display:flex;flex-wrap:wrap;gap:9px;padding:21px 30px 5px}
.chat-suggestion {background:#EDC31A;border:1px solid #F16322;color:#272725;border-radius:100px;font-size:.83rem;font-weight:600;cursor:pointer;padding:10px 14px}
.chat-suggestion:hover {background:#EDC31A}
.chat-form {display:flex;gap:11px;padding:20px 30px 5px}
.chat-form input {min-width:0;flex:1;border:1px solid rgba(39,39,37,.17);border-radius:100px;padding:17px 21px;font:inherit;outline-offset:3px;background:#FFFFFF}
.chat-form .button {min-width:92px}
.chat-privacy {padding:0 30px 26px;color:#272725;font-size:.79rem;line-height:1.6;margin-top:12px;margin-bottom:0}
.chat-privacy a {text-decoration:underline;font-weight:700}
.sr-only {position:absolute!important;height:1px;width:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0!important}
/* Images in legacy pages inherit existing styles. Avoid accidental horizontal overflow. */
img {max-width:100%}
@media(max-width:1160px){
 .brand-tag {display:none}
 .primary-nav {display:none!important;position:absolute;left:16px;right:16px;top:calc(100% + 8px);padding:22px;background:#FFFFFF;border-radius:18px;box-shadow:0 18px 40px rgba(39,39,37,.13);flex-direction:column;align-items:stretch;gap:6px;border:1px solid var(--outline);max-height:calc(100svh - 105px);overflow-y:auto}
 .primary-nav.open {display:flex!important}
 .mobile-menu-button {display:flex}
 .primary-nav .nav-dropdown {width:100%;border-bottom:1px solid rgba(39,39,37,.17);padding:0}
 .nav-dropdown>summary {padding:13px 7px;font-size:1rem}
 .nav-dropdown .submenu {position:static;box-shadow:none;border:none;padding:0 0 12px 13px;width:100%;background:#EDC31A;border-radius:12px;gap:2px}
 .nav-dropdown .submenu .subitem {font-size:.93rem;padding:10px 13px}
 .primary-nav .nav-direct {padding:12px 7px!important;font-size:1rem!important}
 .primary-nav .nav-ai-link {padding:13px 15px!important;text-align:center;margin-top:9px}
 .primary-nav .button {width:100%;margin-top:8px}
}
@media (max-width:1000px){
 .footer-menus {grid-template-columns:repeat(2,minmax(0,1fr));gap:33px 42px}
 .proof-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .proof-grid-three {grid-template-columns:repeat(3,minmax(0,1fr))}
 .week-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
 .destination-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .cycle-foot {flex-wrap:wrap}
}
@media(max-width:760px){
 .footer-topline {flex-direction:column;gap:17px}
 .footer-pitch {max-width:650px}
 .proof-grid-three {grid-template-columns:repeat(2,minmax(0,1fr))}
 .ask-teaser {flex-direction:column;align-items:flex-start}
 .address-box {flex-direction:column;align-items:flex-start}
 .metric-split {flex-direction:column;align-items:flex-start;gap:8px}
}
@media(max-width:560px){
 .footer-menus {grid-template-columns:1fr 1fr;gap:30px 19px}
 .footer-menu a {font-size:.82rem}
 .footer-menu h2 {font-size:.73rem}
 .proof-card {min-height:220px;padding:25px}
 .proof-number {font-size:clamp(2.5rem,9vw,3.6rem)}
 .proof-card h3 {font-size:1.1rem}
 .proof-card p {font-size:.8rem}
 .week-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .week-box {min-height:190px;padding:20px}
 .week-box h3 {font-size:1.5rem}
 .destination-grid {grid-template-columns:1fr}
 .destination-card {min-height:230px}
 .cycle-foot {align-items:flex-start;flex-direction:column;gap:6px;padding:23px}
 .cycle-foot .text-link {white-space:normal}
 .chat-messages {padding:21px 17px;min-height:260px}
 .chat-top {padding:20px 19px}
 .chat-top h3 {font-size:1.25rem}
 .chat-prompt-grid {padding:18px 16px 0}
 .chat-form {padding:15px 15px 4px;gap:8px}
 .chat-form input {padding:13px 15px}
 .chat-form .button {padding:14px 15px;min-width:70px}
 .chat-privacy {padding:2px 17px 20px}
 .floating-ai {font-size:.78rem;padding:12px 14px;bottom:13px;right:13px}
 .site-footer .footer-bottom div {white-space:normal;text-align:left}
 .grid-4 .info-card {min-height:175px}
}
@media (max-width:360px){
 .proof-grid,.proof-grid-three {grid-template-columns:1fr}
 .footer-menus {grid-template-columns:1fr 1fr}
 .week-grid {grid-template-columns:1fr}
 .floating-ai {bottom:8px;right:8px}
}
/* Narrow screen safety for long editorial headings; do not truncate words. */
h1,h2,h3,.card p {overflow-wrap:break-word}


/* =======================================================================
   BEYOND 8 BRAND REFRESH V4
   House palette only. Barlow throughout; Barlow Condensed is reserved for
   navigation, captions, eyebrows, labels and breadcrumbs. No new font files
   are bundled. Load both families from Google Fonts or approved hosting.
   ======================================================================= */
html,body,button,input,textarea,select,summary { font-family:"Barlow",Arial,sans-serif; }
body { background:var(--white); color:var(--ink); }
h1,h2,h3,h4,h5,h6 { font-family:"Barlow",Arial,sans-serif; }
.site-header { background:rgba(255,255,255,.97); }
/* HEADER: Official Beyond 8 mark | LDF. The full name is contained in the logo. */
.brand-lockup { gap:12px; }
.brand-pipe { display:inline-block; font-family:"Barlow",Arial,sans-serif; font-size:1.7rem; font-weight:400; line-height:1; color:var(--ink); opacity:.68; margin-inline:5px; }
.brand-ldf { font-family:"Barlow Condensed",Arial,sans-serif; text-transform:uppercase; font-size:1.65rem; font-weight:600; letter-spacing:.045em; line-height:1; white-space:nowrap; color:var(--ink); }
.brand-name,.brand-tag { display:none!important; }
/* Main navigation and footer menu items: Condensed Bold, uppercase. */
.primary-nav,.primary-nav a,.primary-nav summary,.nav-dropdown,.nav-dropdown .submenu a,
.footer-menu a,.site-footer .footer-menu h2 {
  font-family:"Barlow Condensed",Arial,sans-serif!important;
  font-weight:600!important;
  text-transform:uppercase;
  letter-spacing:.065em;
}
.primary-nav { font-size:1.06rem;gap:clamp(13px,1.55vw,23px); }
.primary-nav .nav-dropdown { font-size:1.06rem; }
.nav-dropdown>summary,.nav-dropdown .submenu .subitem { font-weight:600; }
.primary-nav .submenu .subitem { font-size:1rem; }
.primary-nav .button { font-size:1.03rem; }
.footer-menu a { font-size:1rem; }
.site-footer .footer-menu h2 { font-size:.9rem; }
/* Captions, breadcrumbs and secondary labels: Condensed Medium 500, uppercase. */
.eyebrow,.overline,.mini-chip,.number-flag,.num-inline,.role,.loc-tag,
.journal-card .meta,.destination-kind,.source-mini,.visual-caption,
.visual-caption b,.visual-caption small,.photo-overlay,.hero-photo-caption,
.caption,figcaption,.breadcrumbs,.breadcrumb,.breadcrumb a,.breadcrumb span,
.article-aside,.section-note,.hero-note,.week-box>span,.footer-mark span,
.proof-card .source-note,.source-note {
  font-family:"Barlow Condensed",Arial,sans-serif!important;
  font-weight:500!important;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.visual-caption b { font-size:1.1rem; }
.visual-caption small { font-size:.85rem; }
.eyebrow,.overline { font-size:.98rem; }
.mini-chip,.number-flag,.journal-card .meta,.source-mini { font-size:.87rem; }
.photo-overlay,.hero-photo-caption { font-size:1rem; }
/* approved palette in transparent borders and overlays: only charcoal/white
   channels are used. Photography is intentionally left photographic. */
.site-footer,.card,.photo-overlay { border-color:var(--outline); }
.info-card,.story-card,.faq-nav a,.location-card,.journal-card { border-color:var(--outline); }
.primary-nav a:not(.button),.nav-dropdown>summary,.footer-menu a { color:var(--ink); }
.primary-nav a:hover:not(.button),.footer-menu a:hover,
.primary-nav a[aria-current="page"]:not(.button) { color:var(--orange); }
.button.orange { background:var(--orange);color:var(--ink); }
.button.dark { background:var(--ink);color:var(--white); }
.hero-primary { background:var(--ink);color:var(--white); }
.hero-primary::before { background:radial-gradient(circle, rgba(241,99,34,.16),transparent 67%); }
.hero-primary .intro,.hero-primary .hero-note { color:var(--white); }
.hero-primary .eyebrow { color:var(--yellow); }
/* Vivid colour cards use palette-matched text for readable contrast. */
.card[style*="#E23157"],.card[style*="#BE4498"],
.card[style*="#3951A2"],.card[style*="#2A417F"] { color:var(--white); }
.card[style*="#E23157"] :is(h2,h3,p,a,span,small),
.card[style*="#BE4498"] :is(h2,h3,p,a,span,small),
.card[style*="#3951A2"] :is(h2,h3,p,a,span,small),
.card[style*="#2A417F"] :is(h2,h3,p,a,span,small) { color:var(--white); }
@media(max-width:1160px){
 .primary-nav { gap:6px; }
 .primary-nav a,.primary-nav summary,.primary-nav .nav-direct { font-size:1.18rem!important; }
 .primary-nav .submenu .subitem { font-size:1.05rem!important; }
}
@media(max-width:560px){
 .brand-lockup { gap:7px; }
 .brand-pipe { font-size:1.45rem; margin-inline:2px; }
 .brand-ldf { font-size:1.4rem; }
}

/* V4 final contrast and white-space safeguards. */
.site-footer,.chat-messages { background:var(--white); }
.fit-main p { color:var(--white); }
.fit-main .eyebrow { color:var(--yellow); }
.fit-tile:nth-child(4),.fit-tile:nth-child(4) p { color:var(--white); }
.hero-primary .hero-note { color:var(--white); }


/* ========================================================================
   V5 VISUAL FINISHING: legibility, lighter weights, recognisable page heroes
   Official Beyond 8 colour tokens only. Do not change site copy or routes.
   ======================================================================== */
:root { --hero-side:clamp(30px,5vw,68px); }
/* A deliberately lighter Barlow hierarchy, including headings inside cards. */
body {font-weight:400;}
h1,h2,h3,h4,h5,h6 {font-weight:700;letter-spacing:-.04em;}
strong,b {font-weight:600;}
.button,.text-link,.block-card .card-arrow,.floating-ai {font-weight:600;}
.proof-number,.metric-split strong {font-weight:700;}
.nav-dropdown>summary, .nav-dropdown .submenu .subitem,
.primary-nav,.primary-nav a,.primary-nav summary,
.footer-menu a,.site-footer .footer-menu h2 {font-weight:600!important;}
.nav-dropdown .submenu a {letter-spacing:.035em;}
/* Precise lock-up: logo | LEARNER-DESIGNED FUTURES */
.brand-ldf {font-weight:600;font-size:1.43rem;letter-spacing:.02em;}
.brand-pipe {opacity:1;color:var(--ink);}
.brand-lockup {gap:7px;}
.footer-mark strong {font-family:'Barlow Condensed',Arial,sans-serif;font-weight:600;text-transform:uppercase;font-size:1.56rem;letter-spacing:.03em;line-height:1;}
.footer-mark span {font-weight:400!important;}
.footer-menu h2 {font-weight:600;}
/* Section captions and breadcrumbs are always legible on their own surfaces. */
.card .eyebrow,.card .overline,.card .mini-chip,.card .num-inline,.card .meta,
.card .step-number,.card .loc-tag,.card .source-mini,
.card .week-box span,.card .source-note {color:var(--ink);}
.card:where([style*="#BE4498"],[style*="#3951A2"],[style*="#2A417F"],[style*="#E23157"])
:is(.eyebrow,.overline,.mini-chip,.num-inline,.meta,.step-number,.loc-tag,.source-mini) {color:var(--white)!important;}
.card .eyebrow .dot {background:currentColor;}
.card .visual-caption :is(b,small) {color:var(--ink);}
.hero-primary .eyebrow,.hero-primary .hero-note {color:var(--yellow);}
/* Many original smaller cards used red labels over green/yellow. Fix contrast. */
.info-card .num-inline,.journal-card .meta,.story-card .overline,
.bento .card .overline {color:var(--ink)!important;}
.info-card.photo-backed-card .num-inline,.journal-card.photo-backed-card .meta,
.story-card.photo-backed-card .overline,.bento .card.photo-backed-card .overline {color:var(--yellow)!important;}
/* Plain photo slot, exposed in markup for easy replacement. */
.card.photo-backed-card {isolation:isolate;position:relative;background-color:var(--ink)!important;color:var(--white)!important;}
.card.photo-backed-card::before {content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(39,39,37,.64),rgba(39,39,37,.92));pointer-events:none;}
.card.photo-backed-card>.card-bg-photo {position:absolute!important;inset:0!important;width:100%;height:100%;object-fit:cover;z-index:0!important;}
.card.photo-backed-card> :not(.card-bg-photo) {position:relative;z-index:2;}
.card.photo-backed-card :is(h1,h2,h3,h4,h5,p,a,small,span,blockquote,footer,li) {color:var(--white);}
.card.photo-backed-card :is(.eyebrow,.overline,.meta,.num-inline,.mini-chip) {color:var(--yellow)!important;}
.card.photo-backed-card a:hover :is(h2,h3) {color:var(--white);text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:.13em;}
.card.photo-backed-card .text-link:hover {color:var(--yellow)!important;}
.card.photo-backed-card .card-arrow {color:var(--yellow)!important;}
/* Card/heading hover: keep a high-contrast title on every bright background. */
.card:not(.photo-backed-card) a:hover :is(h2,h3),
.card:not(.photo-backed-card) a:hover .card-arrow,
.card:not(.photo-backed-card):has(a:hover) > h3 {text-decoration:underline;text-underline-offset:.13em;text-decoration-thickness:2px;}
.card:not(.photo-backed-card) a:hover :is(h2,h3) {color:var(--navy);}
.card:where([style*="#BE4498"],[style*="#3951A2"],[style*="#2A417F"],[style*="#E23157"]):not(.photo-backed-card) a:hover :is(h2,h3) {color:var(--white);}
.card:not(.photo-backed-card) .text-link:hover {color:var(--navy);}
.card:where([style*="#BE4498"],[style*="#3951A2"],[style*="#2A417F"],[style*="#E23157"]):not(.photo-backed-card) .text-link:hover {color:var(--white);}
/* Sitewide consistent, readable microcopy and link treatment. */
.eyebrow,.overline,.breadcrumbs,.breadcrumb,.mini-chip,.visual-caption,.hero-photo-caption,
.photo-overlay,.section-note,.number-flag,.step-number,.article-aside {
 font-family:'Barlow Condensed',Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.06em;font-weight:500!important;
}
/* Common responsive base for all hero variations. */
.hero.inner-hero {align-items:stretch;}
.hero.inner-hero .hero-visual {position:relative;overflow:hidden;}
.hero.inner-hero .hero-photo-art {width:100%;height:100%;object-fit:cover;position:absolute;inset:0;min-height:0;object-position:center;}
.hero.inner-hero .hero-primary {z-index:2;position:relative;min-width:0;}
.hero.inner-hero .hero-primary h1 {font-size:clamp(2.7rem,4.2vw,5rem);line-height:1.03;letter-spacing:-.045em;}
.hero.inner-hero .hero-primary .intro {line-height:1.55;}
.hero.inner-hero .hero-visual .visual-caption {z-index:2;}
/* Colour families make menu sections visually distinct while retaining brand palette. */
.hero-theme-experience .hero-primary {background:var(--ink);color:var(--white);}
.hero-theme-pathways .hero-primary {background:var(--orange);color:var(--ink);}
.hero-theme-evidence .hero-primary {background:var(--navy);color:var(--white);}
.hero-theme-community .hero-primary {background:var(--green);color:var(--ink);}
.hero-theme-conversations .hero-primary {background:var(--sky);color:var(--ink);}
.hero-theme-journal .hero-primary {background:var(--violet);color:var(--white);}
.hero-theme-pathways .hero-primary :is(.intro,.hero-note,.eyebrow,.accent-word),
.hero-theme-community .hero-primary :is(.intro,.hero-note,.eyebrow,.accent-word),
.hero-theme-conversations .hero-primary :is(.intro,.hero-note,.eyebrow,.accent-word) {color:var(--ink);}
.hero-theme-evidence .hero-primary :is(.eyebrow,.accent-word),
.hero-theme-journal .hero-primary :is(.eyebrow,.accent-word) {color:var(--yellow);}
.hero-theme-evidence .hero-primary :is(.intro,.hero-note),
.hero-theme-journal .hero-primary :is(.intro,.hero-note) {color:var(--white);}
/* A: big photo to the right of more compact copy */
.hero-layout-wide {grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);}
.hero-layout-wide .hero-visual {min-height:555px;}
.hero-layout-wide .hero-primary {min-height:555px;padding:clamp(29px,3.4vw,54px);}
.hero-layout-wide .hero-primary h1 {font-size:clamp(2.55rem,3.85vw,4.6rem);}
/* B: left-side image makes entry instantly different */
.hero-layout-image-left {grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);}
.hero-layout-image-left .hero-visual {grid-area:1/1;min-height:540px;}
.hero-layout-image-left .hero-primary {grid-area:1/2;min-height:540px;padding:clamp(31px,3.6vw,57px);}
/* C: immersive photographic intro; text gets an opaque charcoal gradient */
.hero-layout-cinema {display:grid;grid-template-columns:1fr;min-height:590px;isolation:isolate;}
.hero-layout-cinema .hero-visual,.hero-layout-cinema .hero-primary {grid-area:1/1;min-height:590px;}
.hero-layout-cinema .hero-visual {z-index:0;}
.hero-layout-cinema .hero-primary {z-index:2;width:min(70%,845px);border-radius:var(--round) 0 0 var(--round);background:linear-gradient(90deg,rgba(39,39,37,.96) 12%,rgba(39,39,37,.87) 78%,rgba(39,39,37,.16));color:var(--white);}
.hero-layout-cinema .hero-primary :is(.intro,.hero-note) {color:var(--white);}
.hero-layout-cinema .hero-primary :is(.eyebrow,.accent-word) {color:var(--yellow);}
.hero-layout-cinema .hero-visual .visual-caption {left:auto;right:20px;bottom:20px;max-width:250px;}
/* D: photograph first; editorial copy beneath, not a repeated split-hero */
.hero-layout-image-top {grid-template-columns:1fr;}
.hero-layout-image-top .hero-visual {grid-row:1;min-height:clamp(285px,34vw,430px);height:clamp(285px,34vw,430px);}
.hero-layout-image-top .hero-primary {grid-row:2;min-height:295px;padding:clamp(32px,4.2vw,58px);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.45fr);gap:35px;align-items:end;}
.hero-layout-image-top .hero-primary h1 {font-size:clamp(2.75rem,4.8vw,5.2rem);max-width:920px;margin:19px 0;}
.hero-layout-image-top .hero-actions {justify-content:flex-start;}
.hero-layout-image-top .hero-actions .button {white-space:normal;text-align:center;}
/* E: a short, full-width statement above a panoramic image */
.hero-layout-banner {grid-template-columns:1fr;}
.hero-layout-banner .hero-primary {min-height:340px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:32px;align-items:center;padding:clamp(31px,4.2vw,59px);}
.hero-layout-banner .hero-primary h1 {font-size:clamp(2.65rem,4.5vw,5.1rem);max-width:930px;margin:20px 0;}
.hero-layout-banner .hero-primary .hero-actions {margin-top:5px;}
.hero-layout-banner .hero-visual {min-height:clamp(255px,29vw,355px);height:clamp(255px,29vw,355px);}
/* F: assistant page brings its primary question box to the first screen */
.hero-layout-ask {grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}
.hero-layout-ask .hero-primary {min-height:565px;}
.hero-search {display:flex;align-items:stretch;gap:8px;margin-top:29px;max-width:560px;padding:7px;background:var(--white);border-radius:14px;box-shadow:0 5px 18px rgba(39,39,37,.11);}
.hero-search input {background:transparent;color:var(--ink);border:0;padding:12px 10px 12px 16px;font:400 1rem 'Barlow',Arial,sans-serif;min-width:0;flex:1;outline-offset:3px;}
.hero-search-submit {border:0;background:var(--ink);color:var(--white);border-radius:10px;padding:12px 19px;cursor:pointer;font:600 1.05rem 'Barlow Condensed',Arial,sans-serif;white-space:nowrap;}
.hero-search-submit:hover,.hero-search-submit:focus-visible {background:var(--navy);}
/* Legal/editorial existing standalone heroes remain readable and distinctive. */
.article-photo-cover {min-height:430px;}
.article-photo-cover :is(h1,h2,h3,p,span,a){position:relative;z-index:2;}
/* Photo card backgrounds must never push content under the overlay. */
.card.photo-backed-card:has(> .card-bg-photo)>* {min-width:0;}
@media(max-width:1120px){
 .brand-ldf{font-size:1.21rem;}
 .brand-lockup .b8mark{width:46px;height:45px;}
 .primary-nav{gap:7px;}
 .primary-nav a,.primary-nav summary,.primary-nav .nav-direct{font-size:1.07rem!important;}
}
@media(max-width:900px){
 .hero-layout-cinema .hero-primary{width:min(79%,730px);}
 .hero-layout-image-top .hero-primary,.hero-layout-banner .hero-primary{grid-template-columns:1fr;gap:4px;}
 .hero-layout-image-top .hero-primary{min-height:300px;}
 .hero-layout-banner .hero-primary{min-height:340px;}
}
@media(max-width:800px){
 .hero-layout-wide,.hero-layout-image-left,.hero-layout-ask{grid-template-columns:1fr;}
 .hero-layout-image-left .hero-visual{grid-area:1/1;min-height:355px;height:355px;}
 .hero-layout-image-left .hero-primary{grid-area:2/1;min-height:350px;}
 .hero-layout-wide .hero-primary,.hero-layout-ask .hero-primary{min-height:420px;}
 .hero-layout-wide .hero-visual,.hero-layout-ask .hero-visual{min-height:340px;height:340px;}
 .hero-layout-cinema .hero-primary{width:100%;min-height:510px;border-radius:var(--round);background:linear-gradient(0deg,rgba(39,39,37,.96),rgba(39,39,37,.60));}
 .hero-layout-cinema,.hero-layout-cinema .hero-visual{min-height:510px;}
 .hero-layout-cinema .hero-visual .visual-caption{display:none;}
 .hero-layout-image-top .hero-primary{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:20px;}
 .hero-layout-banner .hero-primary{display:flex;flex-direction:column;align-items:flex-start;gap:20px;}
}
@media(max-width:560px){
 .header-inner{gap:7px;}
 .brand-lockup{gap:5px;}
 .brand-ldf{font-size:1.02rem;letter-spacing:0;}
 .brand-pipe{font-size:1.15rem;margin-inline:2px;}
 .brand-lockup .b8mark{width:38px;height:39px;}
 .hero.inner-hero .hero-primary{padding:29px 26px;}
 .hero.inner-hero .hero-primary h1{font-size:clamp(2.6rem,10.4vw,3.9rem);}
 .hero-layout-cinema,.hero-layout-cinema .hero-visual,.hero-layout-cinema .hero-primary{min-height:610px;}
 .hero-layout-image-top .hero-visual{min-height:240px;height:240px;}
 .hero-layout-banner .hero-visual{min-height:240px;height:240px;}
 .hero-layout-image-top .hero-primary,.hero-layout-banner .hero-primary{min-height:350px;}
 .hero-layout-image-left .hero-visual{min-height:280px;height:280px;}
 .hero-search{flex-direction:column;}
 .hero-search-submit{width:100%;}
 .hero-layout-ask .hero-primary{min-height:610px;}
 .footer-mark strong{font-size:1.45rem;}
}
@media(max-width:360px){
 .brand-ldf{font-size:.92rem;}
 .brand-lockup .b8mark{width:32px;height:35px;}
}

/* Final header fit: preserve full tagline and menu without horizontal scrolling.
   PT Sans Narrow is only the narrow-screen fallback when web fonts are unavailable. */
.brand-ldf,.primary-nav,.primary-nav a,.primary-nav summary,.nav-dropdown .submenu a,
.footer-menu a,.site-footer .footer-menu h2,.footer-mark strong,
.eyebrow,.overline,.mini-chip,.breadcrumbs,.breadcrumb,.hero-note,
.number-flag,.visual-caption,.photo-overlay,.hero-photo-caption {
 font-family:'Barlow Condensed','PT Sans Narrow',Arial,sans-serif!important;
}
@media(min-width:801px){
 .brand-ldf {font-size:1.17rem;}
 .header-inner{gap:12px;}
 .primary-nav{gap:clamp(7px,.9vw,15px);}
 .primary-nav a,.primary-nav summary,.primary-nav .nav-direct{font-size:.98rem!important;}
 .primary-nav .button{font-size:.94rem!important;padding:12px 17px;}
}
@media(min-width:801px) and (max-width:1210px){
 .mobile-menu-button{display:flex;}
 .primary-nav{display:none;position:absolute;right:16px;top:calc(100% + 8px);left:16px;background:var(--white);padding:22px;flex-direction:column;align-items:stretch;border-radius:18px;box-shadow:0 16px 40px rgba(39,39,37,.13);gap:14px;border:1px solid var(--outline);}
 .primary-nav.open{display:flex;}
 .primary-nav a:not(.button){font-size:1.1rem!important;padding:5px;}
 .primary-nav .nav-dropdown .submenu{display:block;position:static;box-shadow:none;border:0;padding:6px 0 8px 13px;}
 .primary-nav .nav-dropdown .submenu a{display:block;padding:10px;}
 .nav-dropdown>summary{padding:6px 0;}
}
.hero-theme-pathways:not(.hero-layout-cinema) .hero-primary .button.orange,
.hero-theme-community:not(.hero-layout-cinema) .hero-primary .button.orange,
.hero-theme-conversations:not(.hero-layout-cinema) .hero-primary .button.orange {background:var(--ink);color:var(--white);}
.hero-theme-pathways:not(.hero-layout-cinema) .hero-primary .button.orange:hover,
.hero-theme-community:not(.hero-layout-cinema) .hero-primary .button.orange:hover,
.hero-theme-conversations:not(.hero-layout-cinema) .hero-primary .button.orange:hover {background:var(--navy);}

/* V5 caption/link contrast on green, yellow, orange and light-blue tiles. */
.card[style*="#51B748"]:not(.photo-backed-card) :is(.text-link,.card-arrow,.arrow,.num-inline,.overline,.eyebrow),
.card[style*="#EDC31A"]:not(.photo-backed-card) :is(.text-link,.card-arrow,.arrow,.num-inline,.overline,.eyebrow),
.card[style*="#F16322"]:not(.photo-backed-card) :is(.text-link,.card-arrow,.arrow,.num-inline,.overline,.eyebrow),
.card[style*="#4997D2"]:not(.photo-backed-card) :is(.text-link,.card-arrow,.arrow,.num-inline,.overline,.eyebrow),
.info-card:nth-child(3n+2):not(.photo-backed-card) :is(.text-link,.card-arrow,.num-inline),
.info-card:nth-child(3n+3):not(.photo-backed-card) :is(.text-link,.card-arrow,.num-inline),
.intent-link :is(.arrow,.overline),
.story-card:nth-child(2n):not(.photo-backed-card) .text-link,
.story-card:nth-child(3n):not(.photo-backed-card) .text-link {color:var(--ink)!important;}
.card[style*="#51B748"]:not(.photo-backed-card) a:hover,
.card[style*="#EDC31A"]:not(.photo-backed-card) a:hover,
.card[style*="#F16322"]:not(.photo-backed-card) a:hover,
.card[style*="#4997D2"]:not(.photo-backed-card) a:hover,
.intent-link:hover :is(.arrow,h3),
.info-card:not(.photo-backed-card) a:hover .card-arrow {color:var(--navy)!important;}

/* V6: approved Barlow Condensed Medium 500 for captions and ordinary links only. */
.footer-mark span {font-weight:500!important;}
:where(.text-link,.section-link,.journal-card .journal-cta,.footer-menu a,.footer-bottom a,.evidence-note a,.card-arrow,.article-copy>a,.breadcrumbs a,.breadcrumb a) {font-weight:500!important;}
.site-footer .footer-menu a {font-weight:500!important;}

/* Horizontal photo blocks: retain cover sizing but show the top, not the middle. */
.photo-feature img,
.photo-panel img,
.card-head-img,
.feature-row .card-bg-photo,
.card.photo-backed-card > .card-bg-photo,
.hero.inner-hero.hero-layout-wide .hero-photo-art,
.hero.inner-hero.hero-layout-image-left .hero-photo-art,
.hero.inner-hero.hero-layout-cinema .hero-photo-art,
.hero.inner-hero.hero-layout-image-top .hero-photo-art,
.hero.inner-hero.hero-layout-banner .hero-photo-art {
  object-position: center top;
}

/* Photographic cards: keep the pale CTA visible on the charcoal overlay.
   The card's inherited white text must not override a white/yellow button. */
.card.photo-backed-card a.button.cream,
.card.photo-backed-card a.button.cream :is(span,small),
.card.photo-backed-card a.button.orange,
.card.photo-backed-card a.button.orange :is(span,small) { color:var(--ink)!important; }
/* Small captions sit on translucent white pills: charcoal gives clear contrast. */
.card.photo-backed-card .mini-chip { color:var(--ink)!important; }


/* Version 8.3: requested layout and footer refinements only. */
/* Section introductions should use the section's actual width. Compact ones may
   centre on desktop, but return to left alignment as the available width narrows. */
.section > .section-lead {max-width:100%;width:100%;}
.section > .section-lead > p {max-width:100%;}
@media (min-width:900px){
  .section > .section-lead.compact-lead {text-align:center;}
  .section > .section-lead.compact-lead .eyebrow {justify-content:center;}
}
@media (max-width:899px){
  .section > .section-lead.compact-lead {text-align:left;}
}
/* A five-column footer: logo, description, app buttons, then the four menus. */
.site-footer {position:relative;isolation:isolate;border:0;background:var(--pink);color:var(--white);margin-top:108px;padding:75px 0 32px;}
.site-footer::before {content:"";position:absolute;left:0;width:100%;height:72px;top:-34px;border-radius:50% 50% 0 0 / 100% 100% 0 0;background:var(--pink);z-index:0;pointer-events:none;}
.site-footer > .wrap {position:relative;z-index:1;}
.footer-layout {display:grid;grid-template-columns:minmax(260px,2fr) minmax(0,3.7fr);column-gap:clamp(25px,3.4vw,64px);align-items:start;}
.footer-identity {min-width:0;}
.footer-mark {align-items:center;gap:10px;}
.site-footer .footer-mark img {filter:brightness(0) invert(1);width:46px;height:45px;}
.site-footer .footer-mark strong {color:var(--white);font-size:1.51rem;font-family:'Barlow Condensed',Arial,sans-serif;}
.site-footer .footer-mark span {color:var(--white);font-family:'Barlow Condensed',Arial,sans-serif;font-weight:500!important;letter-spacing:.09em;}
.site-footer .footer-pitch {margin:25px 0 27px;max-width:370px;color:var(--white);font-size:.99rem;line-height:1.55;}
.site-footer .footer-menus {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,34px);padding-top:8px;}
.site-footer .footer-menu {gap:13px;}
.site-footer .footer-menu h2 {color:var(--white);opacity:.76;font-weight:600!important;}
.site-footer .footer-menu a {color:var(--white)!important;font-size:1rem;line-height:1.25;}
.site-footer .footer-menu a:hover {color:var(--yellow)!important;}
.footer-download-label {display:block;margin:0 0 13px;color:var(--white);opacity:.78;font:600 .93rem 'Barlow Condensed',Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;}
.app-store-links {display:flex;flex-wrap:wrap;gap:9px;}
.app-store-badge {display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--white);border:1px solid var(--white);border-radius:6px;padding:7px 11px;min-width:142px;min-height:47px;text-decoration:none;}
.app-store-badge:hover {background:var(--navy);}
.app-store-badge:focus-visible {outline:3px solid var(--yellow);}
.app-store-badge .store-symbol {font-size:1.6rem;color:var(--white);line-height:1;flex:none;}
.app-store-badge .store-play-symbol {font-size:1.3rem;}
.app-store-badge .store-words {display:block;line-height:1;}
.app-store-badge small {display:block;font-family:'Barlow',Arial,sans-serif;font-size:.55rem;line-height:1.3;font-weight:500;}
.app-store-badge strong {display:block;font-family:'Barlow',Arial,sans-serif;font-size:1.05rem;font-weight:600;white-space:nowrap;line-height:1.1;}
.site-footer .footer-bottom {border-top:1px solid rgba(255,255,255,.45);margin-top:43px;padding-top:23px;color:var(--white);}
.site-footer .footer-bottom p,.site-footer .footer-bottom div,.site-footer .footer-bottom div a {color:var(--white);}
.site-footer .footer-bottom a:hover {color:var(--yellow);}
@media(max-width:1050px){
  .footer-layout {grid-template-columns:1fr;row-gap:32px;}
  .site-footer .footer-pitch {max-width:600px;}
  .site-footer .footer-menus {grid-template-columns:repeat(4,minmax(0,1fr));max-width:860px;}
}
@media(max-width:670px){
  .site-footer {padding-top:65px;}
  .site-footer::before {top:-22px;height:50px;left:0;width:100%;}
  .site-footer .footer-menus {grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px;}
  .site-footer .footer-bottom {flex-direction:column;gap:15px;}
  .site-footer .footer-bottom div {text-align:left;white-space:normal;}
}
/* Three levels, using the existing card system on About. */
.team-level + .team-level {margin-top:36px;}
.team-level-heading {font-family:'Barlow Condensed','PT Sans Narrow',Arial,sans-serif;font-size:1.06rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin-bottom:17px;}
.team-level .grid-4,.team-level .grid-2 {align-items:stretch;}
.team-level .info-card {min-height:238px;}
@media(max-width:560px){.team-level + .team-level {margin-top:27px;}.team-level .info-card {min-height:190px;}}
/* The circular process centre uses the founders' exact brand line. */
.learning-cycle .cycle-centre {font-family:'Barlow Condensed','PT Sans Narrow',Arial,sans-serif;font-size:21px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;}
/* The Ask page has one direct conversation action, not a second chat input. */
.hero-layout-ask .hero-primary .intro {max-width:100%;}
.hero-layout-ask .hero-primary .hero-actions {margin-top:30px;}


/* Header Monday.com form dialogs: scoped styles; no other page styles changed. */
.b8-header-form-dialog {
  position:fixed; inset:0; margin:auto; padding:0; box-sizing:border-box;
  border:1px solid rgba(39,39,37,.20); border-radius:22px; overflow:hidden;
  background:#FFFFFF; color:#272725;
  width:min(760px,calc(100vw - 32px)); max-width:none;
  height:min(860px,calc(100dvh - 32px)); max-height:none;
  box-shadow:0 22px 80px rgba(39,39,37,.27);
  font-family:'Barlow',Arial,sans-serif;
}
.b8-header-form-dialog:not([open]) {display:none;}
.b8-header-form-dialog[open] {display:flex;flex-direction:column;}
.b8-header-form-dialog::backdrop {background:rgba(39,39,37,.70);backdrop-filter:blur(3px);}
.b8-header-form-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;border-bottom:1px solid rgba(39,39,37,.15);}
.b8-header-form-heading h2 {margin:0;color:#272725;font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(1.5rem,3.2vw,2rem);font-weight:600;text-transform:uppercase;line-height:1.1;letter-spacing:.02em;}
.b8-header-form-close {flex:0 0 auto;cursor:pointer;border:0;border-radius:100px;padding:11px 17px;background:#272725;color:#FFFFFF;font-family:'Barlow Condensed',Arial,sans-serif;font-size:1rem;font-weight:500;letter-spacing:.05em;}
.b8-header-form-close:hover,.b8-header-form-close:focus-visible {background:#F16322;color:#272725;}
.b8-header-form-frame {width:100%;border:0;flex:1 1 auto;min-height:0;background:#FFFFFF;}
.b8-header-form-fallback {margin:0;text-align:center;padding:12px 18px 15px;font-size:.92rem;border-top:1px solid rgba(39,39,37,.15);line-height:1.4;}
.b8-header-form-fallback a {color:#272725;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.b8-header-form-fallback a:hover {color:#F16322;}
@media(max-width:560px) {
  .b8-header-form-dialog {width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:15px;}
  .b8-header-form-heading {padding:14px 14px;}
  .b8-header-form-close {padding:9px 12px;}
  .b8-header-form-fallback {padding:9px 14px 12px;font-size:.84rem;}
}

/* Version 9.1: footer as a group of rounded, brand-colour cards. */
.site-footer {
  position:relative;
  isolation:auto;
  background:transparent;
  color:var(--ink);
  border:0;
  margin:clamp(76px,9vw,114px) 0 32px;
  padding:0;
}
.site-footer::before {display:none!important;content:none!important;}
.site-footer > .wrap {position:relative;}
.site-footer .footer-layout {
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);
  gap:16px;
  align-items:stretch;
}
.site-footer .footer-identity {
  background:var(--ink);
  color:var(--white);
  border:0;
  border-radius:var(--round);
  padding:clamp(30px,3.5vw,52px);
  min-width:0;
  min-height:450px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.site-footer .footer-mark {align-items:center;gap:11px;}
.site-footer .footer-mark img {filter:brightness(0) invert(1);}
.site-footer .footer-mark strong,.site-footer .footer-mark span {color:var(--white);}
.site-footer .footer-pitch {
  color:var(--white);
  max-width:395px;
  margin:clamp(28px,3vw,52px) 0 auto;
  font-size:clamp(1rem,1.3vw,1.15rem);
  line-height:1.5;
}
.site-footer .footer-download {margin-top:clamp(26px,3vw,44px);}
.site-footer .footer-download-label {color:var(--white);opacity:1;}
.site-footer .app-store-badge {border:1px solid var(--white);}
.site-footer .footer-menus {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  max-width:none;
  padding:0;
  align-items:stretch;
}
.site-footer .footer-menu {
  min-width:0;
  min-height:210px;
  padding:clamp(24px,2.5vw,38px);
  border:1px solid var(--outline);
  border-radius:var(--round);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:13px;
  background:var(--white);
}
.site-footer .footer-menu:nth-child(1) {background:var(--yellow);border-color:transparent;}
.site-footer .footer-menu:nth-child(3) {background:var(--green);border-color:transparent;}
.site-footer .footer-menu h2 {
  color:var(--ink);
  opacity:1;
  font-size:.95rem;
  margin:0 0 13px;
  line-height:1.15;
}
.site-footer .footer-menu:nth-child(2) h2,
.site-footer .footer-menu:nth-child(4) h2 {color:var(--pink);}
.site-footer .footer-menu a {color:var(--ink)!important;font-weight:500!important;font-size:1.1rem;line-height:1.25;}
.site-footer .footer-menu a:hover {color:var(--ink)!important;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;}
.site-footer .footer-menu:nth-child(2) a:hover,
.site-footer .footer-menu:nth-child(4) a:hover {color:var(--pink)!important;}
.site-footer .footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:flex-start;
  border-top:1px solid var(--outline);
  margin:22px 0 0;
  padding:22px 5px 0;
  color:var(--ink);
}
.site-footer .footer-bottom p,
.site-footer .footer-bottom div,
.site-footer .footer-bottom div a {color:var(--ink);}
.site-footer .footer-bottom a:hover {color:var(--pink)!important;}
@media (max-width:970px) {
  .site-footer .footer-layout {grid-template-columns:1fr;}
  .site-footer .footer-identity {min-height:300px;}
  .site-footer .footer-pitch {margin-top:27px;}
  .site-footer .footer-menus {grid-template-columns:repeat(2,minmax(0,1fr));}
  .site-footer .footer-menu {min-height:180px;}
}
@media (max-width:670px) {
  .site-footer {padding:0;margin-top:76px;}
  .site-footer .footer-identity {padding:27px;min-height:295px;}
  .site-footer .footer-menu {padding:23px;min-height:183px;}
  .site-footer .footer-menu h2 {margin-bottom:8px;}
  .site-footer .footer-bottom {flex-direction:column;gap:13px;}
  .site-footer .footer-bottom div {white-space:normal;text-align:left;}
}
@media (max-width:410px) {
  .site-footer .footer-identity {padding:24px;}
  .site-footer .footer-menus {gap:11px;}
  .site-footer .footer-menu {padding:19px 16px;min-height:165px;gap:12px;}
  .site-footer .footer-menu a {font-size:1rem;}
  .site-footer .footer-mark strong {font-size:1.25rem;}
  .site-footer .app-store-badge {min-width:126px;}
}
/* Leave breathing room for the fixed Ask button without covering footer contacts. */
.site-footer .footer-bottom {padding-bottom:78px;}
