/* The BraveHeart Men website. The Gridwell Group, 11/03/2026.
   Palette: high-country dusk. Ridge (slate) and Spruce for dark bands, Snow for light bands,
   Brass used only for the actions that move a man toward the Intensive. */
:root{
  --ridge:#1E2A31;      /* primary dark: slate at dusk */
  --ridge-2:#26343C;
  --spruce:#2E4339;     /* second dark, for variety between dark bands */
  --snow:#EEF1F0;       /* cool light background, not cream */
  --white:#FFFFFF;
  --ink:#172127;        /* text on light */
  --granite:#58646A;    /* muted text on light */
  --mist:#C9D1D2;       /* hairlines on light */
  --frost:#B7C3C6;      /* muted text on dark */
  --brass:#C49A3E;      /* the one accent */
  --brass-deep:#9F7A27;
  --display:'Zilla Slab', Georgia, serif;
  --body:'Atkinson Hyperlegible', system-ui, sans-serif;
  --wrap:1180px;
  --gutter:clamp(1rem, 4vw, 2.5rem);
  --band:clamp(64px, 10vw, 128px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:90px}
body{margin:0; background:var(--snow); color:var(--ink); font:400 1.125rem/1.65 var(--body); -webkit-font-smoothing:antialiased}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-underline-offset:3px}
:focus-visible{outline:3px solid var(--brass); outline-offset:3px}
.wrap{max-width:var(--wrap); margin:0 auto; padding-inline:var(--gutter)}
.skip{position:absolute; left:-999px; top:0; background:var(--brass); color:var(--ridge); padding:10px 14px; z-index:100}
.skip:focus{left:12px; top:12px}

/* Type scale (1.25 ratio from 18px) */
h1,h2,h3,h4{font-family:var(--display); font-weight:700; line-height:1.08; letter-spacing:-.01em; margin:0; text-wrap:balance}
h1{font-size:clamp(2.6rem, 7vw, 5.4rem)}
h2{font-size:clamp(2rem, 4.4vw, 3.3rem)}
h3{font-size:clamp(1.35rem, 2.2vw, 1.7rem); font-weight:600}
p{margin:0 0 1em; max-width:66ch}
.lede{font-size:clamp(1.2rem, 1.8vw, 1.4rem); line-height:1.55}
.kicker{font:500 1.15rem/1.3 var(--display); font-style:italic; color:var(--brass-deep); margin:0 0 .7rem}
.on-dark .kicker{color:var(--brass)}
.hero .kicker{color:#F2D99A; font-weight:600; font-size:1.3rem; text-shadow:0 1px 3px rgb(0 0 0 / .75), 0 0 18px rgb(0 0 0 / .6)}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5em; min-height:48px; padding:.75em 1.4em; border-radius:3px;
  font:700 1rem/1.1 var(--body); text-decoration:none; border:2px solid transparent; cursor:pointer; transition:background-color .2s, color .2s, border-color .2s}
.btn-brass{background:var(--brass); color:var(--ridge)}
.btn-brass:hover{background:#D5AC4F}
.btn-line{border-color:currentColor; background:transparent}
.btn-line:hover{background:rgb(255 255 255 / .08)}
.on-light .btn-line:hover{background:rgb(30 42 49 / .06)}
.actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px}

/* Header */
.site-head{background:var(--ridge); color:var(--white); position:sticky; top:0; z-index:50; border-bottom:1px solid rgb(255 255 255 / .08)}
.head-row{display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:76px}
.brand img{width:clamp(136px, 13vw, 176px); height:auto}
.nav{display:flex; align-items:stretch; gap:clamp(14px, 2vw, 28px); align-self:stretch}
.nav-cta{min-height:44px; padding:.6em 1.1em; align-self:center; text-decoration:none; white-space:nowrap}
.menu-btn{display:none; background:none; border:2px solid rgb(255 255 255 / .5); color:var(--white); font:700 1rem var(--body); padding:9px 16px; border-radius:3px; cursor:pointer}

/* Mega menus: hover or keyboard focus on desktop, tap to expand on touch and in the mobile menu */
.mm{display:flex; align-items:center}
.mm-top{display:flex; align-items:center; gap:.45em; white-space:nowrap; height:100%; text-decoration:none; font-weight:700; font-size:.92rem; text-transform:uppercase; letter-spacing:.08em; color:var(--white)}
.mm-top::after{content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); opacity:.7; transition:transform .2s}
.mm-top:hover, .mm-top[aria-current="page"], .mm.open .mm-top{color:var(--brass)}
.mm-top[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--brass)}
.mm-panel{position:absolute; left:0; right:0; top:100%; background:var(--snow); color:var(--ink); border-top:3px solid var(--brass); box-shadow:0 30px 50px -30px rgb(20 28 33 / .55);
  visibility:hidden; opacity:0; transform:translateY(-6px); transition:opacity .16s ease, transform .16s ease, visibility 0s linear .16s}
.mm-grid{display:grid; grid-template-columns:1fr minmax(280px, 360px); gap:clamp(32px, 5vw, 64px); padding-block:40px 44px}
.mm-cols{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px 48px; align-content:start}
.mm-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr)); column-gap:32px}
.mm-overview{grid-column:1 / -1; justify-self:start; font:600 1.45rem var(--display); color:var(--ink); text-decoration:none; margin-bottom:14px; padding-bottom:4px; border-bottom:2px solid var(--brass)}
.mm-overview:hover{color:var(--brass-deep)}
.mm-col h3{font:700 .95rem var(--body); color:var(--granite); margin:0 0 6px}
.mm-col h3.mm-gold{color:var(--brass-deep)}
.mm-col ul{list-style:none; margin:0; padding:0}
.mm-col a{display:block; padding:10px 12px; margin-inline:-12px; border-radius:3px; text-decoration:none; color:var(--ink)}
.mm-col a b{display:block; font-size:1.05rem}
.mm-col a span{display:block; font-size:.92rem; color:var(--granite); line-height:1.4}
.mm-col a:hover, .mm-col a:focus-visible{background:var(--white)}
.mm-col a:hover b{color:var(--brass-deep)}
.mm-feature{position:relative; display:block; overflow:hidden; text-decoration:none; color:var(--white); background:var(--ridge); align-self:start; aspect-ratio:4/3}
.mm-feature img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease}
.mm-feature:hover img{transform:scale(1.04)}
.mm-feature::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgb(20 28 33 / 0) 35%, rgb(20 28 33 / .85))}
.mm-feature-text{position:absolute; left:22px; right:22px; bottom:20px; z-index:1}
.mm-feature-text em{display:block; font-style:normal; font-weight:700; font-size:.9rem; color:var(--brass); margin-bottom:4px}
.mm-feature-text strong{display:block; font:600 1.35rem/1.2 var(--display)}
/* Video feature in a mega menu */
.mm-video{align-self:start}
.mm-video .video-thumb{display:block; aspect-ratio:16/9; overflow:hidden; background:var(--ridge)}
.mm-video .video-thumb img{width:100%; height:100%; object-fit:cover}
.mm-video .play{left:auto; right:5%; top:auto; bottom:14%; width:60px; height:60px; margin:0}
.mm-video .play::after{left:24px; top:18px; border-width:12px 0 12px 19px}
.mm-video-cap{margin:12px 0 0; display:flex; flex-direction:column; gap:2px}
.mm-video-cap b{font:600 1.1rem/1.25 var(--display)}
.mm-video-cap span{font-size:.9rem; color:var(--granite)}
@media (min-width: 1061px){
  .mm.open .mm-panel{visibility:visible; opacity:1; transform:none; transition:opacity .16s ease, transform .16s ease, visibility 0s}
}
@media (min-width: 1061px) and (hover: hover){
  .mm:hover .mm-panel{visibility:visible; opacity:1; transform:none; transition-delay:.06s, .06s, 0s}
  .mm:hover .mm-top::after{transform:translateY(1px) rotate(225deg)}
}
@media (min-width: 1061px){ .mm:focus-within .mm-panel{visibility:visible; opacity:1; transform:none; transition:none} .mm-overview{display:none} }
@media (min-width: 1061px){ .mm.shut .mm-panel{visibility:hidden; opacity:0} }
@media (max-width: 1060px){
  .menu-btn{display:block}
  .nav{position:absolute; inset:100% 0 auto 0; max-height:calc(100vh - 110px); overflow-y:auto; background:var(--ridge); flex-direction:column; align-items:stretch; gap:0; padding:8px var(--gutter) 24px; display:none; border-top:1px solid rgb(255 255 255 / .1)}
  .nav.open{display:flex}
  .mm{display:block; border-bottom:1px solid rgb(255 255 255 / .1)}
  .mm-top{justify-content:space-between; padding:16px 0; height:auto}
  .mm-top[aria-current="page"]{box-shadow:none}
  .mm.open .mm-top::after{transform:translateY(1px) rotate(225deg)}
  .mm-panel{position:static; display:none; visibility:visible; opacity:1; transform:none; background:transparent; color:var(--white); border:0; box-shadow:none; transition:none}
  .mm.open .mm-panel{display:block}
  .mm-grid{display:block; padding:0 0 14px}
  .mm-cols{grid-template-columns:1fr; gap:4px}
  .mm-overview{color:var(--white); font-size:1.15rem; border:0; margin-bottom:6px}
  .mm-col h3{color:var(--frost); margin-top:10px}
  .mm-col h3.mm-gold{color:var(--brass)}
  .mm-col a{color:var(--white); padding:8px 0; margin:0}
  .mm-col a span{color:var(--frost)}
  .mm-col a:hover, .mm-col a:focus-visible{background:transparent}
  .mm-col a:hover b{color:var(--brass)}
  .mm-feature, .mm-video{display:none}
  .nav-cta{margin-top:18px}
}

/* Bands */
.band{padding-block:var(--band)}
.on-dark{background:var(--ridge); color:var(--white)}
.on-dark p{color:#DCE3E4}
.on-spruce{background:var(--spruce); color:var(--white)}
.on-spruce p{color:#DDE6E0}
.on-light{background:var(--snow)}
.on-white{background:var(--white)}
.band-head{max-width:760px; margin-bottom:clamp(36px, 5vw, 60px)}
.band-head p{margin-top:1rem}

/* Hero: the campfire circle, full bleed */
.hero{position:relative; min-height:min(88vh, 860px); display:flex; align-items:flex-end; color:var(--white); overflow:hidden; background:var(--ridge)}
.hero > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 60%; will-change:transform}
.hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgb(30 42 49 / .15) 0%, rgb(30 42 49 / .35) 45%, rgb(30 42 49 / .92) 100%)}
.hero .wrap{position:relative; z-index:1; padding-block:clamp(48px, 8vw, 96px); width:100%}
.hero h1{max-width:13ch}
.hero .lede{max-width:44ch; margin-top:1.2rem; color:#E6ECEC}
.hero-sub{min-height:min(64vh, 620px)}
.hero-sub h1{font-size:clamp(2.4rem, 6vw, 4.4rem); max-width:16ch}

/* Creed: the three-line framework, set large */
.creed{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(16px, 2vw, 24px)}
.creed li{background:var(--snow); border:1px solid var(--mist); border-radius:3px; padding:clamp(24px, 3vw, 34px); transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.creed li:hover{transform:translateY(-4px); border-color:var(--brass); box-shadow:0 14px 30px rgb(23 33 39 / .10)}
.creed b{display:block; font:700 clamp(1.7rem, 3vw, 2.4rem)/1.05 var(--display); margin-bottom:.6rem}
.creed span{color:var(--ink); font-weight:400}
.creed-sum{margin:clamp(44px, 5vw, 64px) 0 0; padding-top:clamp(36px, 4vw, 52px); border-top:1px solid var(--mist); max-width:none}
.creed-sum > *{max-width:760px}
@media (prefers-reduced-motion: reduce){ .creed li{transition:none} .creed li:hover{transform:none} }
@media (max-width: 760px){ .creed{grid-template-columns:1fr} }

/* Split: copy beside a photo */
.split{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px, 6vw, 88px); align-items:center}
.split.flip > :first-child{order:2}
.split figure{margin:0}
.split img{width:100%; aspect-ratio:4/5; object-fit:cover}
.split .wide img{aspect-ratio:3/2}
@media (max-width: 860px){ .split{grid-template-columns:1fr} .split.flip > :first-child{order:0} .split img{aspect-ratio:3/2} }
.ticks{list-style:none; padding:0; margin:1.4rem 0 0}
.ticks li{padding:14px 0 14px 34px; border-top:1px solid var(--mist); position:relative; max-width:60ch}
.on-dark .ticks li, .on-spruce .ticks li{border-color:rgb(255 255 255 / .14)}
.ticks li::before{content:""; position:absolute; left:2px; top:1.15em; width:16px; height:2px; background:var(--brass)}

/* Quote */
.quote{margin:0; max-width:900px}
.quote p{font:500 clamp(1.5rem, 3.2vw, 2.4rem)/1.3 var(--display); font-style:italic; max-width:none; margin:0}
.quote footer{margin-top:1.2rem; font-weight:700; color:var(--frost)}
.on-light .quote footer, .on-white .quote footer{color:var(--granite)}
.quote-small p{font-size:clamp(1.2rem, 2vw, 1.5rem)}

/* The Path: an elevation profile from the Intensive up to the Leader Guild */
.path{position:relative; margin-top:12px}
.path svg{width:100%; height:auto; display:block; overflow:visible}
.path .ridge-line{fill:none; stroke:var(--brass); stroke-width:3; stroke-linejoin:round; stroke-linecap:round}
.path .ridge-fill{fill:url(#ridgeFade)}
.path .peak{fill:var(--ridge); stroke:var(--brass); stroke-width:3}
.on-dark .path .peak{fill:var(--ridge)}
.path-stops{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; margin-top:28px}
.path-stops a{display:block; text-decoration:none; padding-top:16px; border-top:2px solid rgb(255 255 255 / .18)}
.path-stops a:hover{border-color:var(--brass)}
.path-stops b{display:block; font:700 1.5rem/1.1 var(--display); margin-bottom:.4rem}
.path-stops a:hover b{color:var(--brass)}
.path-stops em{display:block; font-style:normal; font-size:.92rem; color:var(--brass); font-weight:700; margin-bottom:.4rem}
.path-stops span{font-size:1rem; color:var(--frost)}
@media (max-width: 860px){ .path svg{display:none} .path-stops{grid-template-columns:1fr 1fr} }
/* Three-step version on Home: columns sit under the three peaks */
.path-stops.path-3{grid-template-columns:repeat(3, 1fr); gap:40px}
@media (max-width: 860px){ .path-stops.path-3{grid-template-columns:1fr; gap:20px} }
@media (max-width: 520px){ .path-stops{grid-template-columns:1fr} }

/* Steps: Apply, Attend, Advance (a real sequence, so numbered) */
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(20px, 3vw, 40px); counter-reset:step}
.steps li{counter-increment:step; padding-top:20px; border-top:2px solid var(--ink)}
.steps li::before{content:counter(step); display:block; font:700 3.4rem/1 var(--display); color:var(--brass-deep); margin-bottom:12px}
.steps h3{margin-bottom:.5rem}
.steps p{color:var(--granite)}

/* Dark band with a charcoal duotone photo showing through */
.band-duotone{position:relative; isolation:isolate; overflow:hidden; background:#2A2E31}
.band-duotone .duotone-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; filter:grayscale(1) contrast(1.15) brightness(.9); opacity:.32; mix-blend-mode:luminosity}
.band-duotone::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgb(30 42 49 / .55), rgb(42 46 49 / .82)), linear-gradient(90deg, rgb(196 154 62 / .10), transparent 60%)}
.band-duotone .band-head h2{color:var(--white)}

/* Steps reversed out on the dark band, with a lift on hover */
.on-dark .steps li{border-top:2px solid rgb(255 255 255 / .45); background:rgb(255 255 255 / .04); padding:24px clamp(20px, 2.4vw, 30px) 28px; transition:transform .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease}
.on-dark .steps li::before{color:var(--brass); transition:transform .25s ease}
.on-dark .steps h3{color:var(--white)}
.on-dark .steps p{color:#DCE3E4}
.on-dark .steps li:hover{transform:translateY(-6px); background:rgb(255 255 255 / .09); border-top-color:var(--brass); box-shadow:0 18px 36px rgb(0 0 0 / .35)}
.on-dark .steps li:hover::before{transform:translateX(4px)}
@media (prefers-reduced-motion: reduce){ .on-dark .steps li, .on-dark .steps li::before{transition:none} .on-dark .steps li:hover, .on-dark .steps li:hover::before{transform:none} }
@media (max-width: 760px){ .steps{grid-template-columns:1fr} }

/* Not-this list */
.nots{list-style:none; margin:0 0 1.6rem; padding:0}
.nots li{font:600 clamp(1.3rem, 2.4vw, 1.8rem)/1.25 var(--display); padding:12px 0; border-bottom:1px solid rgb(255 255 255 / .14)}
.nots li:first-child{border-top:1px solid rgb(255 255 255 / .14)}

/* Events */
.events{display:grid; gap:20px}
.event{background:var(--white); color:var(--ink); padding:clamp(24px, 4vw, 40px); border:1px solid var(--mist); border-top:4px solid var(--brass); border-radius:3px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.on-white .event{background:var(--snow)}
.event:hover{transform:translateY(-4px); border-color:var(--brass); box-shadow:0 14px 30px rgb(23 33 39 / .10)}
@media (prefers-reduced-motion: reduce){ .event{transition:none} .event:hover{transform:none} }
.event h3{font-size:clamp(1.6rem, 3vw, 2.2rem); margin:.3rem 0}
.event-date{font:700 1rem var(--body); color:var(--brass-deep); margin:0}
.event-place{font-size:1.15rem; margin:0 0 1rem}
.event-facts{list-style:none; padding:0; margin:0 0 1.5rem; color:var(--granite)}
.event-facts li{padding:4px 0}
.event-empty p{color:var(--granite)}
.event-actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:20px}
.event-actions .btn-line, .event > .btn-line{color:var(--ridge)}
.event-tag{display:inline-block; margin-left:12px; padding:2px 10px; border:1px solid var(--brass); border-radius:999px; font-size:.8rem; font-weight:700; color:var(--brass-deep); vertical-align:2px}
@media (min-width: 900px){ .events:has(> .event + .event){grid-template-columns:1fr 1fr} }
.past{list-style:none; padding:0; margin:0}
.past li{display:grid; grid-template-columns:200px 1fr; gap:16px; padding:14px 0; border-top:1px solid var(--mist)}
.past li span:first-child{font-weight:700}
@media (max-width: 600px){ .past li{grid-template-columns:1fr; gap:2px} }

/* Program sections on the Path page */
.program{display:grid; grid-template-columns:300px 1fr; gap:clamp(28px, 5vw, 72px)}
.program-side{position:sticky; top:110px; align-self:start}
.program-side .tag{display:inline-block; font-weight:700; font-size:.92rem; padding:4px 10px; border:1px solid currentColor; border-radius:3px; margin-bottom:1rem}
.program-side dl{margin:1.4rem 0 0; display:grid; gap:12px}
.program-side dt{font-weight:700; font-size:.92rem; color:var(--granite)}
.on-dark .program-side dt, .on-spruce .program-side dt{color:var(--frost)}
.program-side dd{margin:0}
.program figure{margin:0 0 28px}
.program figure img{width:100%; aspect-ratio:16/9; object-fit:cover}
@media (max-width: 860px){ .program{grid-template-columns:1fr} .program-side{position:static} }
.features{display:grid; grid-template-columns:repeat(2, 1fr); gap:24px 40px; margin-top:28px}
.features h3{font-size:1.25rem; margin-bottom:.35rem}
.features p{margin:0; font-size:1.05rem}
@media (max-width: 600px){ .features{grid-template-columns:1fr} }
.trips{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:32px}
.trips figure{margin:0}
.trips img{aspect-ratio:4/3; object-fit:cover; width:100%}
.trips figcaption{font:600 1.25rem var(--display); margin-top:12px}
@media (max-width: 760px){ .trips{grid-template-columns:1fr} }

/* Leaders */
.founder{display:grid; grid-template-columns:minmax(220px, 340px) 1fr; gap:clamp(28px, 5vw, 64px); align-items:start}
.founder img{width:100%; aspect-ratio:1; object-fit:cover}
@media (max-width: 760px){ .founder{grid-template-columns:1fr} .founder img{max-width:300px} }
.leaders{display:flex; flex-direction:column; gap:clamp(56px, 8vw, 104px); margin-top:clamp(32px, 5vw, 56px)}
.leader{display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); gap:clamp(28px, 5vw, 72px); align-items:start}
.leader:nth-child(even){grid-template-columns:minmax(0, 7fr) minmax(0, 5fr)}
.leader:nth-child(even) .leader-photo{order:2}
.leader-photo{margin:0; position:sticky; top:110px}
.leader-photo img{width:100%; aspect-ratio:1; object-fit:cover; object-position:center 25%; display:block}
.leader-text header{border-bottom:3px solid var(--brass); padding-bottom:14px; margin-bottom:1.3rem}
.leader-text h3{font-size:clamp(1.7rem, 3vw, 2.3rem); margin:0 0 .2rem}
.leader .role{color:var(--granite); font-weight:700; font-size:1rem; margin:0}
.leader-text p{max-width:64ch}
.leader-text .quote{margin-top:1.4rem}
@media (max-width: 760px){
  .leader, .leader:nth-child(even){grid-template-columns:1fr}
  .leader:nth-child(even) .leader-photo{order:0}
  .leader-photo{position:static; max-width:420px}
}
.names{columns:2; padding:0; list-style:none}
.names li{padding:6px 0; break-inside:avoid; font:600 1.2rem var(--display)}

/* FAQ */
.faq{border-top:1px solid var(--mist); max-width:860px}
.faq:last-of-type{border-bottom:1px solid var(--mist)}
.faq summary{cursor:pointer; list-style:none; padding:20px 40px 20px 0; position:relative; font:600 1.3rem/1.3 var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:4px; top:16px; font:400 1.8rem var(--body); color:var(--brass-deep)}
.faq[open] summary::after{content:"\2212"}
.faq p{padding:0 0 20px}

/* Forms */
.form-wrap{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px, 6vw, 80px); align-items:start}
@media (max-width: 860px){ .form-wrap{grid-template-columns:1fr} }
.form{background:var(--white); color:var(--ink); padding:clamp(24px, 4vw, 44px); border-top:6px solid var(--brass)}
.form h2, .form h3{margin-bottom:1.2rem}
.fields{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.field{display:flex; flex-direction:column; gap:6px}
.field.full{grid-column:1 / -1}
@media (max-width: 560px){ .fields{grid-template-columns:1fr} }
.field label, .field legend{font-weight:700; font-size:1rem}
.field input, .field select, .field textarea{font:400 1.05rem var(--body); padding:12px 14px; border:1.5px solid #9AA6AA; border-radius:3px; background:var(--white); color:var(--ink); min-height:48px; width:100%}
.field textarea{min-height:130px; resize:vertical}
.field input:focus, .field select:focus, .field textarea:focus{outline:3px solid var(--brass); outline-offset:0; border-color:var(--ridge)}
fieldset.field{border:0; padding:0; margin:0}
.radios{display:flex; gap:24px}
.radios label, .check{font-weight:400; display:flex; align-items:center; gap:8px}
.radios input, .check input{width:20px; height:20px; min-height:0; accent-color:var(--ridge)}
.req{color:var(--brass-deep)}
.form .btn{margin-top:22px}
.form-note{font-size:.92rem; color:var(--granite); margin-top:14px}
.form-done{display:none; background:#E4EEE7; border-left:4px solid var(--spruce); padding:16px 18px; margin-top:18px}
.form.sent .form-done{display:block}

/* Give */
.give-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top:28px}
.give-card{background:var(--white); padding:28px; border-top:4px solid var(--ridge); display:flex; flex-direction:column}
.give-card .amt{font:700 2.6rem/1 var(--display); margin-bottom:.6rem}
.give-card p{color:var(--granite); flex:1}
.give-card .btn{align-self:flex-start; margin-top:12px}
@media (max-width: 860px){ .give-grid{grid-template-columns:1fr} }
.toggle{display:inline-flex; border:2px solid var(--brass); border-radius:3px; overflow:hidden; margin-bottom:18px}
.toggle button{font:700 1rem var(--body); padding:10px 18px; background:none; border:0; cursor:pointer; color:var(--ridge)}
.toggle button[aria-pressed="true"]{background:var(--brass); color:var(--ridge)}
.amounts{display:grid; grid-template-columns:repeat(4, 1fr); gap:10px}
.amounts button{font:700 1.15rem var(--body); padding:14px 0; border:1.5px solid #9AA6AA; background:var(--white); border-radius:3px; cursor:pointer; color:var(--ink)}
.amounts button:hover{border-color:var(--brass)}
.amounts button[aria-pressed="true"]{border-color:var(--brass); background:var(--brass); color:var(--ridge)}
@media (max-width: 480px){ .amounts{grid-template-columns:repeat(2, 1fr)} }

/* More ways to give */
.ways{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px}
.way{background:var(--white); padding:30px 30px 28px; border-top:4px solid var(--ridge); display:flex; flex-direction:column}
.way h3{font-size:1.45rem; margin-bottom:.6rem}
.way p{color:var(--granite); flex:1; font-size:1.05rem}
.way-link{align-self:flex-start; font-weight:700; text-decoration:none; color:var(--ink); border-bottom:3px solid var(--brass); padding-bottom:2px; margin-top:6px}
.way-link:hover{color:var(--brass-deep)}
.way-wide{display:grid; grid-template-columns:minmax(200px, 1fr) 2fr auto; gap:28px; align-items:center; margin-top:20px; border-top-color:var(--brass)}
.way-wide p{margin:0}
.way-wild{background:var(--spruce); color:var(--white); border-top-color:var(--brass)}
.way-wild p{color:#DDE6E0}
.way-wild .way-link{color:var(--white)}
.way-wild .way-link:hover{color:var(--brass)}
@media (max-width: 900px){ .ways{grid-template-columns:1fr 1fr} .way-wide{grid-template-columns:1fr; gap:10px} }
@media (max-width: 600px){ .ways{grid-template-columns:1fr} }

/* Watch before you apply: two videos side by side */
.watch-pair{display:grid; grid-template-columns:1.7fr 1fr; gap:clamp(20px, 3vw, 36px); align-items:start}
.watch-pair figure{margin:0}
.watch-pair .video-thumb{display:block; position:relative; aspect-ratio:16/9; overflow:hidden}
.watch-pair .video-thumb img{width:100%; height:100%; object-fit:cover}
.watch-side .play{width:60px; height:60px}
.watch-side .play::after{left:24px; top:18px; border-width:12px 0 12px 19px}
@media (max-width: 860px){ .watch-pair{grid-template-columns:1fr} }

/* Man Talk Monday */
.latest{display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(28px, 5vw, 64px); align-items:center}
.latest .video-thumb, .vcard .video-thumb{display:block; position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--ridge)}
.latest .video-thumb img, .vcard .video-thumb img{width:100%; height:100%; object-fit:cover}
.latest h2{margin-bottom:1rem}
.vlen{position:absolute; right:10px; bottom:10px; background:rgb(20 28 33 / .85); color:var(--white); font:700 .85rem var(--body); padding:2px 7px; border-radius:3px}
.vlen:empty{display:none}
@media (max-width: 860px){ .latest{grid-template-columns:1fr} }
.shorts-row{display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px max(var(--gutter), calc((100vw - var(--wrap)) / 2 + var(--gutter))) 12px; scrollbar-color:var(--brass) transparent}
.short{position:relative; flex:0 0 clamp(160px, 18vw, 220px); aspect-ratio:9/16; overflow:hidden; scroll-snap-align:start; background:#000; text-decoration:none; color:var(--white); border-radius:4px}
.short img{width:100%; height:100%; object-fit:cover}
.short::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgb(20 28 33 / 0) 50%, rgb(20 28 33 / .9))}
.short .play{width:56px; height:56px; margin:-28px 0 0 -28px}
.short .play::after{left:22px; top:16px; border-width:12px 0 12px 18px}
.short-t{position:absolute; left:12px; right:12px; bottom:12px; z-index:1; font:600 1.05rem/1.2 var(--display)}
.lib-tools{display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; align-items:center; margin-bottom:14px}
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chip{font:700 .95rem var(--body); padding:9px 14px; border:1.5px solid #9AA6AA; border-radius:999px; background:var(--white); color:var(--ink); cursor:pointer}
.chip span{color:var(--granite); font-weight:400; margin-left:2px}
.chip[aria-pressed="true"]{background:var(--ridge); border-color:var(--ridge); color:var(--white)}
.chip[aria-pressed="true"] span{color:var(--frost)}
.lib-search{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.lib-search input, .lib-search select{font:400 1rem var(--body); padding:10px 14px; border:1.5px solid #9AA6AA; border-radius:3px; min-height:46px; background:var(--white); color:var(--ink)}
.lib-search input{width:min(320px, 100%); flex:1 1 220px}
.lib-count{color:var(--granite); font-size:.95rem; margin:0 0 18px}
.vgrid{display:grid; grid-template-columns:repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap:30px 24px}
.vcard[hidden]{display:none}
.vcard h3{font-size:1.2rem; line-height:1.25; margin-top:.35rem}
.vcard .play{width:54px; height:54px; margin:-27px 0 0 -27px; opacity:.92}
.vcard .play::after{left:21px; top:15px; border-width:12px 0 12px 18px}
.vmeta{display:flex; flex-wrap:wrap; gap:4px 10px; margin:12px 0 0; font-size:.9rem; color:var(--granite)}
.vmeta span{font-weight:700; color:var(--ink)}
.vmeta em{font-style:normal; color:var(--brass-deep); font-weight:700}
.lib-more{text-align:center; margin-top:36px}
.lib-more .btn-line{color:var(--ridge)}
.lib-empty{padding:30px 0; color:var(--granite)}
.video-modal.is-short{width:min(400px, 90vw)}
.video-modal.is-short .vm-frame{aspect-ratio:9/16; max-height:82vh; margin:0 auto}

/* Instagram feed: two rows of five, follow bar above */
.ig-head{margin-inline:auto; text-align:center}
.ig-head p{margin-inline:auto}
.ig-bar{display:flex; align-items:center; justify-content:center; gap:clamp(14px, 2vw, 24px); flex-wrap:wrap; margin-bottom:clamp(28px, 4vw, 44px)}
.ig-avatar{width:72px; height:72px; border-radius:50%; padding:3px; display:grid; place-items:center; flex:none; background:conic-gradient(from 150deg, #F9CE34, #EE2A7B, #6228D7, #F9CE34)}
.ig-avatar img{width:100%; height:100%; border-radius:50%; object-fit:cover; border:3px solid var(--snow)}
.ig-id{display:grid; gap:2px}
.ig-name{font:700 1.2rem/1.2 var(--display)}
.ig-handle{color:var(--granite); font-size:.95rem}
.ig-follow{gap:.55rem}
.ig-glyph{width:18px; height:18px; flex:none}
.ig-grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, 1fr); gap:clamp(6px, 1vw, 12px)}
.ig-tile{position:relative; display:block; aspect-ratio:1; overflow:hidden; isolation:isolate; background:var(--mist)}
.ig-tile img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease}
.ig-tile::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgb(30 42 49 / .92), rgb(30 42 49 / .5) 60%, rgb(30 42 49 / .2)); opacity:0; transition:opacity .35s ease}
.ig-tile:hover img, .ig-tile:focus-visible img{transform:scale(1.05)}
.ig-tile:hover::after, .ig-tile:focus-visible::after{opacity:1}
.ig-badge{position:absolute; top:10px; right:10px; z-index:2; color:var(--white); filter:drop-shadow(0 2px 4px rgb(0 0 0 / .45))}
.ig-badge svg{width:22px; height:22px; display:block}
.ig-caption{position:absolute; inset:auto 0 0 0; z-index:2; padding:16px; color:var(--white); font-size:.9rem; line-height:1.4; opacity:0; transform:translateY(10px); transition:opacity .35s ease, transform .35s ease}
.ig-caption span{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.ig-tile:hover .ig-caption, .ig-tile:focus-visible .ig-caption{opacity:1; transform:none}
.ig-tile:focus-visible{outline:3px solid var(--brass); outline-offset:-4px}
.ig-more{text-align:center; margin:clamp(22px, 3vw, 34px) auto 0; max-width:none}
.ig-more a{font-weight:700; text-decoration:none; border-bottom:3px solid var(--brass); padding-bottom:2px}
@media (max-width: 1100px){ .ig-grid{grid-template-columns:repeat(4, 1fr)} .ig-grid li:nth-child(n+9){display:none} }
@media (max-width: 820px){ .ig-grid{grid-template-columns:repeat(3, 1fr)} .ig-grid li:nth-child(n+7){display:none} }
@media (max-width: 560px){ .ig-grid{grid-template-columns:repeat(2, 1fr)} .ig-grid li:nth-child(n+5){display:none} }
@media (hover: none){ .ig-caption{display:none} }
@media (prefers-reduced-motion: reduce){ .ig-tile img, .ig-tile::after, .ig-caption{transition:none} }

/* CTA band */
.cta-band{text-align:left}
.cta-band .wrap{display:grid; grid-template-columns:1fr auto; gap:32px; align-items:end}
.cta-band h2{max-width:18ch}
@media (max-width: 760px){ .cta-band .wrap{grid-template-columns:1fr} }

/* Footer */
.site-foot{background:var(--ridge); color:var(--frost); padding-block:72px 32px; font-size:1rem}
.foot-top{display:grid; grid-template-columns:1fr 1.2fr; gap:48px; padding-bottom:48px; border-bottom:1px solid rgb(255 255 255 / .12)}
.foot-brand img{width:170px}
.foot-creed{font:500 1.25rem/1.35 var(--display); font-style:italic; color:var(--white); margin-top:18px}
.foot-join h2{color:var(--white); font-size:clamp(1.6rem, 3vw, 2.2rem); margin-bottom:.7rem}
.foot-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:32px; padding-block:40px}
.foot-grid h3{font:700 1rem var(--body); color:var(--white); margin-bottom:12px}
.foot-grid ul{list-style:none; padding:0; margin:0}
.foot-grid li{padding:5px 0}
.foot-grid a{text-decoration:none; overflow-wrap:anywhere}
.foot-grid a:hover, .legal a:hover{color:var(--brass)}
.legal{display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:.9rem; padding-top:24px; border-top:1px solid rgb(255 255 255 / .12)}
@media (max-width: 860px){ .foot-top{grid-template-columns:1fr} .foot-grid{grid-template-columns:1fr 1fr} }

/* Vistas: wild open country between sections, with parallax depth.
   The photo drifts slower than the page, the words drift a touch faster, and a ridge silhouette
   in the next section's color anchors the foreground. */
.vista{position:relative; min-height:clamp(420px, 78vh, 820px); display:flex; align-items:center; overflow:hidden; color:var(--white); background:var(--ridge); isolation:isolate}
.vista-media{position:absolute; inset:-22% 0; z-index:-2; will-change:transform}
.vista-media img{width:100%; height:100%; object-fit:cover}
.vista::before{content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 30% 55%, rgb(20 28 33 / .55), rgb(20 28 33 / .15) 70%), linear-gradient(180deg, rgb(20 28 33 / .25), rgb(20 28 33 / 0) 30%, rgb(20 28 33 / 0) 70%, rgb(20 28 33 / .35))}
/* Busy photos: a darker fade from the left so the white line stays readable */
.vista-busy::before{background:linear-gradient(90deg, rgb(20 28 33 / .82), rgb(20 28 33 / .68) 38%, rgb(20 28 33 / 0) 68%), linear-gradient(180deg, rgb(20 28 33 / .25), rgb(20 28 33 / 0) 30%, rgb(20 28 33 / 0) 70%, rgb(20 28 33 / .35))}
@media (max-width: 760px){ .vista-busy::before{background:rgb(20 28 33 / .6)} }
.vista-copy{position:relative; width:100%; padding-block:96px; will-change:transform}
.vista-line{font:600 clamp(1.9rem, 4.6vw, 3.6rem)/1.12 var(--display); max-width:22ch; margin:0; text-shadow:0 2px 24px rgb(0 0 0 / .35); text-wrap:balance; color:var(--white)}
.vista-cite{margin:1rem 0 0; font-weight:700; color:#E6ECEC}
.vista-quote .vista-line{font-size:clamp(1.6rem, 3.2vw, 2.6rem); font-style:italic; max-width:28ch}
.vista-statement{min-height:clamp(520px, 92vh, 940px)}
.vista-statement h2{font-size:clamp(2.4rem, 6vw, 4.8rem); max-width:14ch; text-shadow:0 2px 28px rgb(0 0 0 / .4)}
.vista-statement .lede{max-width:46ch; margin-top:1.4rem; color:#EEF2F2; text-shadow:0 1px 16px rgb(0 0 0 / .45)}
.vista-ridge{position:absolute; left:0; right:0; bottom:-1px; width:100%; height:clamp(36px, 6vw, 90px); display:block}

/* Video: thumbnail with a play mark, and a pop-up player that keeps visitors on the page */
.video-thumb{position:relative; display:block}
.video-thumb img{transition:filter .3s}
.video-thumb:hover img{filter:brightness(.82)}
.play{position:absolute; left:50%; top:50%; width:84px; height:84px; margin:-42px 0 0 -42px; border-radius:50%; background:var(--brass); z-index:1; box-shadow:0 10px 30px rgb(0 0 0 / .35); transition:transform .2s}
.play::after{content:""; position:absolute; left:34px; top:26px; border-style:solid; border-width:16px 0 16px 26px; border-color:transparent transparent transparent var(--ridge)}
.video-thumb:hover .play{transform:scale(1.08)}
.split .video-thumb-169 img{aspect-ratio:16/9}
.play-right{left:auto; right:6%; top:auto; bottom:12%; margin:0}
.video-modal{border:0; padding:0; background:transparent; width:min(1100px, 92vw); max-width:none; overflow:visible}
.video-modal::backdrop{background:rgb(14 20 24 / .88)}
.vm-inner{position:relative}
.vm-frame{position:relative; aspect-ratio:16/9; background:#000; box-shadow:0 30px 80px rgb(0 0 0 / .5)}
.vm-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.vm-close{position:absolute; right:0; bottom:calc(100% + 12px); background:none; border:2px solid rgb(255 255 255 / .6); color:var(--white); font:700 1rem var(--body); padding:8px 16px; border-radius:3px; cursor:pointer}
.vm-close:hover{border-color:var(--brass); color:var(--brass)}

/* Four pillars: a framework of four, not a sequence, so named rather than numbered */
.pillars{display:grid; grid-template-columns:repeat(4, 1fr); gap:clamp(20px, 2.5vw, 36px)}
.pillars article{border-top:4px solid var(--brass); padding-top:20px}
.pillar-name{font:700 .95rem var(--body); color:var(--brass-deep); margin:0 0 .5rem}
.pillars h3{font-size:clamp(1.4rem, 2vw, 1.75rem); margin-bottom:.7rem}
.pillars p{color:var(--granite)}
.pillars article{transition:transform .25s ease, border-color .25s ease}
.pillars article h3{transition:color .25s ease}
.pillars article:hover{transform:translateY(-4px); border-top-color:var(--brass-deep)}
.pillars article:hover h3{color:var(--brass-deep)}
@media (prefers-reduced-motion: reduce){ .pillars article, .pillars article h3{transition:none} .pillars article:hover{transform:none} }
@media (max-width: 1000px){ .pillars{grid-template-columns:1fr 1fr} }
@media (max-width: 600px){ .pillars{grid-template-columns:1fr} }

/* Champion tracks: boxes that reverse to gold with white type on hover */
.pillars.tracks article{position:relative; padding:24px 22px 28px; border-top:4px solid var(--brass); background-color:var(--snow); background-image:linear-gradient(var(--brass-deep), var(--brass-deep)); background-repeat:no-repeat; background-position:bottom; background-size:100% 0; transition:background-size .35s cubic-bezier(.2,.7,.2,1), transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, opacity .25s ease, border-color .25s ease}
.pillars.tracks .pillar-name{font:700 1.5rem/1.1 var(--display); transition:color .2s ease}
.pillars.tracks p, .pillars.tracks a{transition:color .2s ease}
.pillars.tracks article:hover, .pillars.tracks article:focus-within{background-size:100% 100%; border-top-color:var(--brass-deep); transform:translateY(-12px) scale(1.04); box-shadow:0 26px 48px rgb(23 33 39 / .32); z-index:1}
.pillars.tracks article:hover p, .pillars.tracks article:hover a, .pillars.tracks article:focus-within p, .pillars.tracks article:focus-within a{color:var(--white)}
@media (hover: hover){ .pillars.tracks:hover article:not(:hover){opacity:.55} }
@media (prefers-reduced-motion: reduce){ .pillars.tracks article{transition:none} .pillars.tracks article:hover, .pillars.tracks article:focus-within{transform:none} }

/* Seven outcomes (Michael's own numbered list) */
.seven{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(24px, 3vw, 40px) clamp(24px, 3vw, 48px); counter-reset:seven}
.seven li{counter-increment:seven; padding-top:18px; border-top:2px solid var(--ink)}
.seven li::before{content:counter(seven); display:block; font:700 2.4rem/1 var(--display); color:var(--brass-deep); margin-bottom:10px}
.seven h3{font-size:1.35rem; margin-bottom:.5rem}
.seven p{color:var(--granite); margin:0}
.seven .seven-key{grid-column:1 / -1; display:grid; grid-template-columns:auto 1fr; column-gap:28px; background:var(--ridge); color:var(--white); padding:30px 32px; border-top:0}
.seven .seven-key::before{grid-row:1 / 3; color:var(--brass); font-size:3.4rem}
.seven .seven-key p{color:#DCE3E4; max-width:70ch}
.seven li, .seven li::before, .seven h3{transition:transform .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease}
.seven li:not(.seven-key):hover{transform:translateY(-4px); border-top-color:var(--brass)}
.seven li:not(.seven-key):hover::before{transform:translateX(4px)}
.seven li:not(.seven-key):hover h3{color:var(--brass-deep)}
.seven .seven-key:hover{transform:translateY(-4px); box-shadow:0 18px 36px rgb(23 33 39 / .22)}
.seven .seven-key::before{transform-origin:left center}
.seven .seven-key:hover::before{transform:scale(1.08)}
@media (prefers-reduced-motion: reduce){ .seven li, .seven li::before, .seven h3{transition:none} .seven li:hover, .seven li:hover::before{transform:none !important} }
@media (max-width: 900px){ .seven{grid-template-columns:1fr 1fr} }
@media (max-width: 600px){ .seven{grid-template-columns:1fr} .seven .seven-key{grid-template-columns:1fr} .seven .seven-key::before{grid-row:auto} }
.video-cap{margin-top:14px; display:flex; flex-direction:column; gap:2px}
.video-cap b{font-family:var(--display); font-weight:600; font-size:1.2rem}
.video-cap span{color:var(--frost); font-size:.95rem}
.on-light .video-cap span, .on-white .video-cap span{color:var(--granite)}

/* Single orchestrated moment: the hero headline settles in on load */
@media (prefers-reduced-motion: no-preference){
  .hero h1, .hero .lede, .hero .actions{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hero .lede{animation-delay:.12s}
  .hero .actions{animation-delay:.24s}
  .path .ridge-line{stroke-dasharray:var(--len, 2400); stroke-dashoffset:var(--len, 2400)}
  .path.drawn .ridge-line{transition:stroke-dashoffset 2.2s cubic-bezier(.4,.1,.2,1); stroke-dashoffset:0}
}
@keyframes rise{from{opacity:0; transform:translateY(18px)} to{opacity:1; transform:none}}

/* Intensive hero: on phones, frame the open ridges and keep the lone hiker out from behind the headline */
@media (max-width: 700px){ .page-intensive .hero > img{object-position:0 62% !important} }

/* Champions: stats and monthly goal */
.stats{display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; margin-top:32px}
.stat{background:var(--white); padding:26px 28px; border-top:4px solid var(--ridge)}
.stat b{display:block; font:700 clamp(2.4rem, 5vw, 3.4rem)/1 var(--display); margin-bottom:.45rem}
.stat span{color:var(--granite)}
.goal{margin-top:20px; background:var(--ridge); color:var(--white); padding:28px}
.goal-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 24px}
.goal-head h3{font-size:1.3rem; margin:0; color:var(--white)}
.goal-head p{margin:0; color:var(--frost)}
.goal-head b{color:var(--white); font-family:var(--display); font-size:1.35em}
.goal-bar{height:14px; background:var(--ridge-2); border:1px solid #3A4A52; margin-top:18px}
.goal-bar span{display:block; height:100%; background:var(--brass)}
.goal-scale{display:flex; justify-content:space-between; font-size:.85rem; color:var(--frost); margin-top:8px}
@media (max-width: 600px){ .stats{grid-template-columns:1fr} }

/* Join popup: BraveHeart's join form in a dialog */
.form-modal{border:0; padding:0; width:min(720px, 94vw); max-width:none; height:92vh; max-height:92vh; background:var(--white); color:var(--ink); box-shadow:0 30px 80px rgb(0 0 0 / .5); display:none; flex-direction:column}
.form-modal[open]{display:flex}
.form-modal::backdrop{background:rgb(14 20 24 / .88)}
.fm-head{display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 24px; background:var(--ridge); color:var(--white)}
.fm-head h2{font-size:1.4rem; margin:0; color:var(--white)}
.fm-close{background:none; border:2px solid rgb(255 255 255 / .6); color:var(--white); font:700 1rem var(--body); padding:6px 14px; border-radius:3px; cursor:pointer}
.fm-close:hover{border-color:var(--brass); color:var(--brass)}
.fm-body{flex:1; min-height:0; overflow:auto; -webkit-overflow-scrolling:touch; padding:8px 12px 12px}
.fm-body iframe, .form-slot iframe{display:block; width:100%; height:1584px; border:0}
.form-embed iframe{display:block; margin-top:12px}

/* Intensive apply section: centered, the form opens in a pop-up */
.apply-center{text-align:center; max-width:820px}
.apply-center .lede{margin:1.2rem auto 0; max-width:640px}
.apply-center .actions{justify-content:center; margin-top:28px}
.apply-center .apply-note{margin:1rem auto 0; max-width:620px; color:var(--granite)}
.apply-center .actions + .apply-note{margin-top:32px}

/* Champions: home/about band and the slim strip used across the site */
.champion-band .goal{background:rgb(255 255 255 / .06); border:1px solid rgb(255 255 255 / .14)}
.champion-band .goal-bar{background:rgb(0 0 0 / .35); border-color:rgb(255 255 255 / .18)}
.champion-foot{margin:16px 0 0; color:var(--frost)}
.champion-strip{padding:clamp(28px, 4vw, 40px) 0; border-top:1px solid var(--mist); border-bottom:1px solid var(--mist)}
.champion-strip.on-light{background:var(--snow)}
.champion-strip.on-white{background:var(--white)}
.champion-strip-in{display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr) auto; gap:clamp(20px, 3vw, 40px); align-items:center}
.champion-strip-in > p{margin:0}
.champion-strip-in > p b{font-family:var(--display); font-size:1.35rem; display:block; margin-bottom:.2rem}
.goal-compact{margin:0; padding:16px 18px; background:var(--ridge)}
.goal-compact .goal-head p{font-size:.95rem}
.goal-compact .goal-bar{margin-top:10px; height:10px}
.goal-compact .goal-scale{display:none}
@media (max-width: 900px){ .champion-strip-in{grid-template-columns:1fr} .champion-strip-in .btn{justify-self:start} }

/* Give form: checkout error */
.form-error{margin:12px 0 0; color:#9F2A1B; font-weight:700}
[data-give-label]:disabled{opacity:.7; cursor:progress}
