:root{
  --ink:#0C1B28;
  --depth:#08243B;
  --depth-2:#0C3151;
  --blue:#15486B;
  --blue-bright:#2D6E97;
  --field:#FAF8F5;
  --surface:#FFFFFF;
  --gray:#5C6B76;
  --gray-soft:#667079;
  --amber:#CF8741;
  --amber-deep:#96581F;
  --line:#DCE4E9;
  --line-dark:#16395A;
  --maxw:1120px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--field);color:var(--ink);
  font-family:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  font-size:1.125rem;line-height:1.72;-webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.1;letter-spacing:-0.01em;margin:0;}
p{margin:0 0 1.1rem;}
a{color:var(--blue-bright);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.btn,.brand,.nav-mid a,.teaser,.foot-brand{text-decoration:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.ital{font-style:italic;font-weight:400;color:var(--blue);}

.eyebrow{font-size:1rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gray);margin:0 0 1.1rem;display:flex;align-items:center;gap:0.7rem;}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--amber);display:inline-block;}

/* ---------- Nav ---------- */
nav{position:sticky;top:0;z-index:50;background:rgba(243,246,248,0.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:70px;}
.brand{display:flex;align-items:center;min-height:44px;gap:0.6rem;font-family:'Fraunces',serif;font-weight:600;font-size:1.32rem;color:var(--ink);}
.glyph{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 32% 30%, #5FA3CC 0%, var(--blue) 46%, var(--depth) 100%);box-shadow:0 1px 0 rgba(255,255,255,0.6) inset, 0 2px 8px rgba(21,72,107,0.35);}
.nav-mid{display:flex;align-items:center;gap:1.9rem;}
.nav-mid a{display:inline-flex;align-items:center;min-height:44px;}
.foot-col a{display:inline-flex;align-items:center;min-height:44px;}
.nav-mid a{color:var(--ink);font-size:1rem;font-weight:500;}
.nav-mid a:hover{color:var(--blue-bright);}
.nav-mid a.active{color:var(--blue-bright);}
.nav-right{display:flex;align-items:center;gap:1rem;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px;min-width:44px;min-height:44px;color:var(--ink);}
.nav-toggle svg{display:block;}

.btn{display:inline-block;font-weight:600;font-size:1rem;padding:0.7rem 1.3rem;border-radius:999px;transition:transform .15s ease, box-shadow .2s ease, background .2s ease;cursor:pointer;border:0;}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 4px 14px rgba(21,72,107,0.28);}
.btn-primary:hover{background:var(--depth-2);transform:translateY(-1px);box-shadow:0 8px 20px rgba(21,72,107,0.34);}
.btn-ghost{border:1px solid var(--line);color:var(--ink);background:transparent;}
.btn-ghost:hover{border-color:var(--blue-bright);color:var(--blue-bright);}
.btn-amber{background:var(--amber-deep);color:#fff;box-shadow:none;}
.btn-amber:hover{background:#7C4715;}
.btn-onDark{background:#fff;color:var(--depth);}
.btn-onDark:hover{background:#E7F0F6;transform:translateY(-1px);}

/* ---------- Page header (sub-pages) ---------- */
.page-hero{padding:4.5rem 0 3rem;}
.page-hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem);max-width:18ch;}
.page-hero .lead{font-size:1.25rem;color:var(--gray);margin-top:1.2rem;max-width:54ch;}

/* ---------- Home hero ---------- */
.hero{padding:5rem 0 3.5rem;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1.12fr 0.88fr;gap:3.5rem;align-items:start;}
.hero h1{font-size:clamp(2.4rem,4.9vw,4rem);}
.reflect{position:relative;}
.reflect .echo{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(2.4rem,4.9vw,4rem);line-height:1.1;letter-spacing:-0.01em;color:var(--blue);transform:scaleY(-1);transform-origin:top;opacity:0.15;margin-top:2px;-webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,0.9), transparent 70%);mask-image:linear-gradient(to bottom, rgba(0,0,0,0.9), transparent 70%);user-select:none;pointer-events:none;}
.hero-lead{font-size:1.2rem;color:var(--ink);margin-top:1.6rem;max-width:46ch;}
.hero-lead .soft{color:var(--gray);}
.hero-actions{display:flex;flex-wrap:wrap;gap:0.9rem;margin-top:2rem;align-items:center;}
.free-note{font-size:1rem;color:var(--gray);margin-top:1rem;}

.results{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.6rem 1.7rem;box-shadow:0 18px 40px -24px rgba(12,27,40,0.4);}
.results .tag{font-size:1rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--amber-deep);}
.results h3{font-size:1.3rem;margin:0.5rem 0 1.1rem;}
.result-item{padding:0.95rem 0;border-top:1px solid var(--line);font-size:1rem;}
.result-item:first-of-type{border-top:none;padding-top:0.3rem;}
.result-item .name{font-weight:600;color:var(--ink);}
.result-item .detail{color:var(--gray);}

/* ---------- Sections ---------- */
section{padding:5.5rem 0;}
.section-head{max-width:62ch;margin-bottom:3rem;}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);}
.section-head p{font-size:1.2rem;color:var(--gray);margin-top:1rem;}
.band-surface{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}

/* ---------- Advisory board grid (/about/advisors/) ---------- */
.advisor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:1rem;align-items:start;}
.advisor{background:var(--field);border:1px solid var(--line);border-radius:14px;}
.advisor summary{display:flex;gap:1.1rem;align-items:center;padding:1rem;cursor:pointer;list-style:none;border-radius:14px;}
.advisor summary::-webkit-details-marker{display:none;}
.advisor summary:hover{background:#F2EFEA;}
.advisor summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px;}
.advisor-photo{flex:none;width:120px;height:120px;border-radius:12px;object-fit:cover;}
.advisor-initials{
  display:flex;align-items:center;justify-content:center;background:var(--depth-2);color:#fff;
  font-family:'Fraunces',Georgia,serif;font-size:2rem;letter-spacing:0.02em;
}
.advisor-head{display:flex;flex-direction:column;gap:0.3rem;min-width:0;}
.advisor-name{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:1.25rem;line-height:1.25;color:var(--ink);}
.advisor-title{font-size:1rem;line-height:1.4;color:var(--ink);}
.advisor-more{font-size:1rem;font-weight:600;color:var(--blue);text-decoration:underline;margin-top:0.2rem;}
.advisor-more .when-open,.advisor[open] .advisor-more .when-closed{display:none;}
.advisor[open] .advisor-more .when-open{display:inline;}
.advisor-bio{padding:0 1.2rem 1.2rem;}
.advisor-bio p{margin:0.4rem 0 0;}
.advisor-bio p + p{margin-top:0.9rem;}
@media (max-width:480px){.advisor-photo{width:88px;height:88px;}.advisor-initials{font-size:1.6rem;}}
.advisor-modal{border:0;padding:0;border-radius:16px;width:min(680px,calc(100% - 2rem));max-width:none;overflow:hidden;background:var(--surface);color:var(--ink);}
.advisor-modal::backdrop{background:rgba(8,20,32,0.72);}
.advisor-modal-inner{max-height:calc(100vh - 3rem);overflow:auto;padding:1.6rem 1.75rem 1.9rem;}
.advisor-modal-head{display:flex;gap:1.25rem;align-items:center;margin:0 6.5rem 1rem 0;}
.advisor-modal .advisor-photo{width:140px;height:140px;}
.advisor-modal h2.advisor-name{font-size:1.6rem;margin:0 0 0.35rem;}
.advisor-modal .advisor-title{margin:0;}
.advisor-modal .advisor-bio{padding:0;}
.advisor-modal-close{
  position:absolute;top:1rem;right:1rem;z-index:1;min-width:44px;min-height:44px;padding:0 1rem;
  border-radius:22px;border:1px solid var(--line);background:var(--field);color:var(--ink);
  font:600 1rem/1 'Hanken Grotesk',sans-serif;cursor:pointer;
}
.advisor-modal-close:hover{background:#ECE8E1;}
.advisor-modal-close:focus-visible{outline:3px solid var(--blue);outline-offset:2px;}
@media (max-width:560px){.advisor-modal-head{flex-direction:column;align-items:flex-start;margin-right:0;}.advisor-modal .advisor-photo{width:96px;height:96px;}}

/* ---------- Team (/about/team/) ---------- */
/* Three leads as equals, then everyone else in the same cards below. */
.team-leads{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.25rem;align-items:stretch;}
.team-card{background:var(--field);border:1px solid var(--line);border-radius:14px;padding:1.4rem 1.4rem 1.5rem;}
.team-photo{display:block;width:160px;height:160px;border-radius:14px;object-fit:cover;margin:0 0 1.1rem;}
.team-initials{
  display:flex;align-items:center;justify-content:center;background:var(--depth-2);color:#fff;
  font-family:'Fraunces',Georgia,serif;font-size:2.6rem;letter-spacing:0.02em;
}
.team-card h2.team-name{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:1.45rem;line-height:1.25;color:var(--ink);margin:0 0 0.3rem;}
.team-role{font-size:1rem;font-weight:600;color:var(--blue);margin:0 0 0.9rem;}
.team-bio{margin:0;}
.team-link{margin:0.9rem 0 0;}
/* auto-fill, not auto-fit: two cards keep the leads' column width instead of stretching. */
.team-others{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.25rem;margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--line);}
@media (max-width:480px){.team-photo{width:120px;height:120px;}.team-initials{font-size:2rem;}}
.band-field{background:var(--field);}

/* integration / built together */
.split-grid{display:grid;grid-template-columns:0.95fr 1.05fr;gap:3.5rem;align-items:start;}
.split-grid h2{font-size:clamp(1.9rem,3.2vw,2.5rem);}
.split-grid .lead{font-size:1.22rem;color:var(--gray);margin-top:1.1rem;}
.prose{color:var(--gray);}
.prose strong{color:var(--ink);font-weight:600;}

.timeline{list-style:none;margin:0;padding:0;}
.timeline li{position:relative;padding:0 0 1.5rem 2.4rem;border-left:1px solid var(--line);margin-left:0.3rem;}
.timeline li:last-child{border-left-color:transparent;padding-bottom:0;}
.timeline li::before{content:"";position:absolute;left:-5px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(21,72,107,0.12);}
.timeline li.amber::before{background:var(--amber);box-shadow:0 0 0 4px rgba(207,135,65,0.14);}
.timeline .who{font-weight:600;color:var(--ink);}
.timeline .what{color:var(--gray);}

/* pillars */
.pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem;}
.pillar{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.9rem;transition:transform .18s ease, box-shadow .22s ease, border-color .2s ease;}
.pillar:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(12,27,40,0.35);border-color:#C7D5DD;}
.pillar .num{font-family:'Fraunces',serif;font-size:1rem;color:var(--amber-deep);font-weight:600;}
.pillar h3{font-size:1.4rem;margin:0.5rem 0 0.6rem;}
.pillar p{font-size:1.02rem;color:var(--gray);margin:0 0 0.9rem;}
.pillar .inside{font-size:1rem;color:var(--gray-soft);}

/* home teaser cards (link to sub-pages) */
.teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
.teaser{display:block;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.7rem;color:inherit;transition:transform .18s ease, box-shadow .22s ease, border-color .2s ease;}
.teaser:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(12,27,40,0.35);border-color:#C7D5DD;}
.teaser h3{font-size:1.26rem;margin:0 0 0.5rem;}
.teaser p{font-size:1rem;color:var(--gray);margin:0 0 0.9rem;}
.teaser .go{font-size:1rem;font-weight:600;color:var(--blue-bright);}
.teaser .go::after{content:" \2192";}

/* temporal */
.temporal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;}
.tcard{border:1px solid var(--line);border-radius:16px;padding:1.7rem;background:var(--field);}
.tcard.now{border-color:#E6C79C;background:#FBF4EA;}
.tcard .when{font-size:1rem;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;margin-bottom:0.9rem;}
.tcard.now .when{color:var(--amber-deep);}
.tcard.close .when{color:var(--blue);}
.tcard.coming .when{color:var(--gray);}
.tcard p{font-size:1rem;color:var(--ink);margin:0 0 0.7rem;}
.tcard .qual{font-size:1rem;color:var(--gray);margin:0;}

/* promises */
.promise-grid{display:grid;grid-template-columns:0.78fr 1.22fr;gap:3.5rem;align-items:start;}
.promise-grid h2{font-size:clamp(1.9rem,3.2vw,2.5rem);}
.promise-grid .lead{font-size:1.2rem;color:var(--gray);margin-top:1rem;}
.promise-list{display:grid;gap:1.6rem;}
.promise{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;}
.promise .mark{width:40px;height:40px;border-radius:11px;flex-shrink:0;display:grid;place-items:center;background:rgba(21,72,107,0.08);color:var(--blue);}
.promise h3{font-size:1.26rem;margin:0 0 0.35rem;}
.promise p{font-size:1.02rem;color:var(--gray);margin:0;}

/* pricing */
.pricing-grid{display:grid;grid-template-columns:1fr 0.85fr;gap:3.5rem;align-items:start;}
.pricing-grid h2{font-size:clamp(1.9rem,3.2vw,2.5rem);}
.price-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.8rem;box-shadow:0 18px 40px -28px rgba(12,27,40,0.4);}
.price-card .lbl{font-size:1rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--amber-deep);}
.price-row{padding:0.9rem 0;border-top:1px solid var(--line);font-size:1rem;color:var(--gray);}
.price-row:first-of-type{border-top:none;}
.price-row strong{color:var(--ink);font-weight:600;}

/* investor band */
.depth{background:linear-gradient(180deg, var(--depth) 0%, #061A2C 100%);color:#DCE7EF;position:relative;overflow:hidden;}
.depth::before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:linear-gradient(180deg, rgba(255,255,255,0.06), transparent);pointer-events:none;}
.depth .eyebrow{color:#7FA6BE;}
.depth h2{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem);}
.depth .lead{font-size:1.25rem;color:#AEC4D2;max-width:58ch;margin-top:1.1rem;}
.depth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem;}
.depth-card{border:1px solid var(--line-dark);border-radius:16px;padding:1.7rem;background:rgba(255,255,255,0.025);}
.depth-card h3{font-size:1.24rem;color:#fff;margin:0 0 0.6rem;}
.depth-card p{font-size:1rem;color:#9FB8C8;margin:0;}
.depth-card .lbl{font-size:1rem;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--amber);}
.depth-cta{margin-top:3rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;}
.depth-cta .note{color:#7FA6BE;font-size:1rem;}

/* quiet "what remains" band */
.remains{background:var(--surface);border-top:1px solid var(--line);text-align:center;}
.remains .wrap{max-width:760px;}
.remains .eyebrow{justify-content:center;}
.remains h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:1.4rem;}
.remains p{font-size:1.2rem;color:var(--gray);}
.remains .close{font-family:'Fraunces',serif;font-style:italic;font-size:1.45rem;color:var(--ink);margin-top:1.4rem;}

/* CTA band */
.cta-band{background:linear-gradient(180deg,#11405F 0%, var(--blue) 100%);color:#fff;text-align:center;}
.cta-band h2{font-size:clamp(2rem,3.6vw,2.9rem);max-width:20ch;margin:0 auto 1.2rem;color:#fff;}
.cta-band p{font-size:1.2rem;color:#CDE0EC;max-width:50ch;margin:0 auto 2rem;}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.cta-band .free-note{color:#9FC2D6;margin-top:1.3rem;}

/* footer */
footer{background:var(--field);border-top:1px solid var(--line);padding:3rem 0;}
.foot-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;flex-wrap:wrap;}
.foot-brand{display:flex;align-items:center;gap:0.6rem;font-family:'Fraunces',serif;font-weight:600;font-size:1.2rem;}
.foot-tag{color:var(--gray);font-size:1rem;margin-top:0.6rem;max-width:36ch;}
.foot-links{display:flex;gap:3rem;flex-wrap:wrap;}
.foot-col h4{font-size:1rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--gray);margin:0 0 0.8rem;font-weight:600;}
.foot-col a{display:block;color:var(--ink);font-size:1rem;margin-bottom:0.5rem;}
.foot-col a:hover{color:var(--blue-bright);}
.foot-legal{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:1rem;color:var(--gray-soft);}

/* reveal: retired. The accessibility standard admits no unrequested motion,
   which also removes the opacity:0 default that hid the site without JS. */

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .nav-mid{position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:0.5rem 28px 1.2rem;display:none;box-shadow:0 16px 30px -20px rgba(12,27,40,0.4);}
  .nav-mid.open{display:flex;}
  .nav-mid a{padding:0.7rem 0;width:100%;border-bottom:1px solid var(--line);}
  .nav-toggle{display:inline-flex;}
  .nav-right .btn{display:none;}
  .hero-grid,.split-grid,.promise-grid,.pricing-grid{grid-template-columns:1fr;gap:2.4rem;}
  .pillar-grid,.temporal-grid,.depth-grid,.teaser-grid{grid-template-columns:1fr;}
  section{padding:4rem 0;}
  .hero{padding:3rem 0 2.5rem;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .btn:hover,.pillar:hover,.teaser:hover{transform:none;}
}
:focus-visible{outline:2px solid var(--blue-bright);outline-offset:3px;border-radius:4px;}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{border-top:1px solid var(--line);padding:1.6rem 0;}
.faq-item:first-child{border-top:none;}
.faq-item h3{font-size:1.3rem;margin:0 0 0.6rem;}
.faq-item p{font-size:1.06rem;color:var(--gray);margin:0;}
.faq-item p strong{color:var(--ink);font-weight:600;}

/* ---------- Go-deeper handoff ---------- */
.deeper .teaser .series{font-size:1rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--amber-deep);display:block;margin-bottom:0.4rem;}
.deeper-note{font-size:1rem;color:var(--gray-soft);margin-top:1.6rem;}

/* ---------- Pillar story lead ---------- */
.story-quote{font-family:'Fraunces',serif;font-style:italic;font-size:1.5rem;line-height:1.35;color:var(--ink);margin:0 0 1.1rem;}

/* pillar card -> page link */
.pillar .go{display:inline-block;margin-top:0.6rem;font-size:1rem;font-weight:600;color:var(--blue-bright);}
.pillar .go::after{content:" \2192";}

/* ---------- Ingested page copy ----------
   Copy lives in content/pages/*.md in the BMS repo and is rendered here as a
   markdown flow, per that repo's rule 1 (layouts carry no prose). The visual
   rhythm the June layouts built by hand now comes from these rules instead.
   Every size sits at or above 1rem per the governing accessibility standard. */
.md{max-width:68ch;}
.md h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:3.2rem 0 1rem;}
.md h2:first-child{margin-top:0;}
.md h3{font-size:1.35rem;margin:2.4rem 0 0.7rem;}
.md p{font-size:1.125rem;line-height:1.7;margin:0 0 1.3rem;}
.md strong{font-weight:600;color:var(--ink);}
.md ul,.md ol{padding-left:1.3rem;margin:0 0 1.4rem;}
.md li{font-size:1.125rem;line-height:1.7;margin-bottom:0.6rem;}
.md a{font-weight:500;}
.md blockquote{
  margin:2rem 0;padding:0 0 0 1.4rem;border-left:3px solid var(--amber);
  font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:1.3rem;
  line-height:1.5;color:var(--depth);
}
.md blockquote p{font-size:inherit;line-height:inherit;margin:0 0 0.6rem;}
.md hr{border:0;border-top:1px solid var(--line);margin:3rem 0;}

/* Page status, preview only. Deleted with the rest of the scaffolding at launch. */
.status-badge{
  display:inline-block;margin-top:1.2rem;padding:0.35rem 0.9rem;border-radius:4px;
  background:#F1E7DA;color:var(--amber-deep);font-size:1rem;font-weight:600;
  letter-spacing:0.04em;text-transform:uppercase;
}

/* ---------- Video band (home page) ---------- */
.video-band{padding:3rem 0 3.5rem;background:var(--surface);border-bottom:1px solid var(--line);}
.video-band-title{
  font-family:'Fraunces',Georgia,serif;font-weight:500;
  font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.25;
  max-width:34ch;margin:0 0 1.8rem;color:var(--ink);
}
/* auto-fit: two videos share the row at full size instead of leaving a third
   column empty; narrow screens drop to one per row on their own. */
.video-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.3rem;}
.video-tile{display:flex;flex-direction:column;gap:0.7rem;}
.video-tile-media{
  position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;
  background:var(--field);border:1px solid var(--line);
}
.video-tile-media img{width:100%;height:100%;object-fit:cover;display:block;}
/* The whole picture is the button; the round icon only marks it. */
.video-play-btn{
  position:absolute;inset:0;width:100%;height:100%;
  background:transparent;border:0;padding:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.video-play-icon{
  width:64px;height:64px;border-radius:50%;background:rgba(12,27,40,0.72);color:#fff;
  display:flex;align-items:center;justify-content:center;transition:background .15s ease;
}
.video-play-icon svg{margin-left:3px;}
.video-play-btn:hover .video-play-icon{background:rgba(12,27,40,0.9);}
.video-play-btn:focus-visible{outline:3px solid var(--blue);outline-offset:-3px;border-radius:14px;}
.video-tile-title{font-size:1.125rem;font-weight:600;color:var(--ink);margin:0;}
/* --ink, not --gray: gray on white is about 5.5:1, under the site's 7:1 floor. */
.video-band-note{font-size:1rem;color:var(--ink);margin:1.4rem 0 0;}

/* ---------- Photo band (assigned pages) ---------- */
.photo-band{margin:0;padding:0 0 0.5rem;}
.photo-band img{
  width:100%;max-height:420px;object-fit:cover;border-radius:14px;display:block;
}

/* ---------- Video player (a native <dialog>, opened by a tile, never on load) ---------- */
.video-modal{border:0;padding:0;background:transparent;width:min(960px,calc(100% - 2rem));max-width:none;overflow:visible;}
.video-modal::backdrop{background:rgba(8,20,32,0.85);}
.video-modal video{display:block;width:100%;aspect-ratio:16/9;background:#000;border-radius:12px;}
.video-modal video::cue{font-size:1.2em;}
.video-modal-close{
  display:block;margin:0 0 0.6rem auto;min-width:44px;min-height:44px;padding:0 1rem;
  border-radius:22px;border:0;background:rgba(255,255,255,0.18);color:#fff;
  font:600 1rem/1 'Hanken Grotesk',sans-serif;cursor:pointer;
}
.video-modal-close:hover{background:rgba(255,255,255,0.3);}
.video-modal-close:focus-visible{outline:3px solid #fff;outline-offset:2px;}
