/* Millfort Group visual system — coordinated with approved division artwork. */
:root{--black:#111111;--panel:#181818;--gold:#B58D3D;--gold2:#D9BC77;--silver:#E8EAED;--navy:#0B1F33;--muted:#c5c3bc;--line:#54482f}
html{scroll-padding-top:88px}
body{background:#101010;color:#f5f3ee;font-family:Montserrat,Inter,Arial,sans-serif;line-height:1.6}
h1,h2,h3{overflow-wrap:normal;word-break:normal;hyphens:none}
h1,h2{font-family:Cinzel,Georgia,serif;font-weight:600;letter-spacing:.015em;line-height:1.12}
h3{font-family:Montserrat,Inter,Arial,sans-serif;letter-spacing:0;line-height:1.24}
.lead{color:#d0cdc6;line-height:1.62;font-size:clamp(1.04rem,1.25vw,1.16rem)}
.eyebrow{font-size:.78rem;letter-spacing:.15em;color:var(--gold2)}
.topbar{background:rgba(10,10,10,.98);border-bottom:1px solid #6c5227;backdrop-filter:none}
.brand{color:#f5f3ee;font-family:Cinzel,Georgia,serif;font-size:clamp(.98rem,1.4vw,1.18rem);line-height:1.16}
.brand small{color:var(--gold2);font-size:.58rem;letter-spacing:.11em;max-width:380px;line-height:1.4;margin-top:5px}
.links{gap:clamp(9px,1.15vw,18px)}.links a{font-size:.84rem;font-weight:650;color:#eee}.links a:hover,.links a:focus-visible{color:var(--gold2)}
.btn{border-color:var(--gold2);background:var(--gold2);color:#101010;letter-spacing:0;font-size:.94rem;font-weight:750;min-height:48px;padding:11px 19px;border-radius:0}
.btn:hover{background:#efcf8b;border-color:#efcf8b;color:#101010;transform:none}
.btn.alt{border-color:#9c8b68;color:#f4f0e7;background:transparent}.btn.alt:hover{color:#fff;background:#30281a}
.section{border-top-color:#363026;padding-block:clamp(52px,6vw,82px)}
.section h2{font-size:clamp(2rem,3.65vw,3.45rem);line-height:1.14;letter-spacing:.005em}
.card{background:#171715;border:1px solid #5e5034;box-shadow:none}
.card:hover{border-color:var(--gold)}
.footer{background:#0a0a0a;border-top:1px solid #5d4b29}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--gold2)}
/* Homepage: display the approved Group emblem as an uncropped image. */
body.home-page .brand{display:flex;align-items:center;gap:12px;flex:0 1 auto}
body.home-page .brand>span{min-width:0}
body.home-page .brand .group-nav-emblem{width:54px;height:54px;flex:0 0 54px;object-fit:contain}
body.home-page .hero{min-height:min(690px,76vh);background:radial-gradient(circle at 75% 30%,rgba(181,141,61,.24),transparent 30%),linear-gradient(125deg,#0c0c0b 10%,#1b1812 70%,#0b0b0a);isolation:isolate}
body.home-page .hero:before{display:none}
body.home-page .hero:after{background:linear-gradient(90deg,rgba(5,5,5,.24),transparent 68%)}
body.home-page .hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.9fr);gap:clamp(26px,4vw,56px);align-items:center}
body.home-page .hero-copy{width:100%;max-width:800px;position:relative;z-index:1;padding:clamp(70px,8vw,115px) 0;text-shadow:none}
body.home-page .hero .group-hero-emblem{display:block;width:100%;height:auto;max-width:430px;justify-self:center;object-fit:contain;border:0;box-shadow:none;mix-blend-mode:screen}
body.home-page .hero h1{font-size:clamp(2.8rem,4.2vw,4.75rem);line-height:1.08;letter-spacing:.005em;max-width:900px}
body.home-page .hero p{font-size:1.08rem;max-width:680px;line-height:1.6}
body.home-page .hero-proof{font-size:.78rem!important;color:#d8c9a4!important;letter-spacing:.04em}
body.home-page .action-paths{background:#181714;border-bottom:1px solid #66522a}
body.home-page .overview>.wrap>img{width:100%;height:auto;margin:32px auto 44px;border:0;box-shadow:none;mix-blend-mode:lighten}
body.home-page .overview .grid{gap:20px}
body.home-page .division-card{background:#111;border:1px solid #594726;box-shadow:none}
body.home-page .division-card:hover{box-shadow:none;transform:none;border-color:var(--gold2)}
body.home-page .division-card .division-visual{background:#070707}
body.home-page .division-card .card-thumb{object-fit:contain;filter:none}
body.home-page .division-card .card-thumb{mix-blend-mode:lighten}
body.home-page .division-card:first-child .card-thumb{object-fit:contain;padding:14px;mix-blend-mode:screen}
body.home-page .division-card .division-copy{padding:clamp(22px,2.2vw,32px)}
body.home-page .division-card h3{font-family:Cinzel,Georgia,serif;color:#f4eedf;font-size:clamp(1.35rem,2vw,1.72rem)}
body.home-page .division-card p{color:#cfcbc2}
body.home-page .division-card .division-cta{color:var(--gold2)}
body.home-page .seo-pathways{background:#171714}
body.home-page .seo-pathways a{color:#ecd08c;text-decoration:underline;text-underline-offset:3px}
/* Service pages: repeated visual rhythm across divisions. */
.subhero,.consulting-hero,.media-hero,.transport-image-hero,.event-hub-hero,.shop-hero,.youth-ready-hero{border-bottom:2px solid var(--gold);background-color:#141310}
.subhero h1,.consulting-hero h1,.media-hero h1,.event-hub-hero h1,.shop-hero h1{font-size:clamp(2.7rem,5.2vw,5.2rem);line-height:1.08;letter-spacing:.005em;max-width:100%}
.subhero p,.consulting-hero p,.media-hero p{font-size:1.08rem;line-height:1.6}
.tactical-image-hero{border-bottom:2px solid var(--gold)}
.tactical-section-nav,.transport-section-nav{border-bottom:1px solid #65522b}
.event,.leader,.service-card,.instruction-panel,.membership-benefits{min-width:0}
/* Form and commerce readability. */
input,select,textarea{font-size:1rem;max-width:100%}
.registration-form label,.ride-request-form label{font-size:.95rem}
.fine-print,.form-note{font-size:.88rem}
@media(max-width:800px){
 .topbar .nav{min-height:72px}
 body.home-page .brand{gap:7px}
 body.home-page .brand .group-nav-emblem{width:40px;height:40px;flex-basis:40px}
 body.home-page .hero{min-height:0}
 body.home-page .hero .wrap{grid-template-columns:1fr;gap:0;padding-bottom:42px}
 body.home-page .hero-copy{padding:52px 0 22px}
 body.home-page .hero .group-hero-emblem{width:min(62vw,250px);height:auto}
 body.home-page .hero h1{font-size:clamp(2.35rem,8.5vw,4.3rem)}
 body.home-page .hero p{font-size:1rem}
 body.home-page .overview>.wrap>img{display:none}
 .section{padding-block:48px}
 .section h2{font-size:clamp(1.9rem,7vw,3rem)}
 .btn{font-size:.91rem}
}
@media(max-width:380px){body.home-page .hero h1{font-size:2.12rem}body.home-page .hero .actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card,.division-card .card-thumb{transition:none!important}}
/* Division hero layouts keep logo artwork separate from crisp web text. */
.brand-division-hero{background:radial-gradient(circle at 82% 42%,rgba(181,141,61,.16),transparent 35%),#111;border-bottom:2px solid var(--gold)}
.brand-division-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(55px,7.5vw,110px)}
.brand-division-grid h1{font-size:clamp(2.8rem,5vw,5.25rem);line-height:1.06;margin:16px 0 22px;max-width:790px;color:#f6f2e9}
.brand-division-grid .lead{max-width:680px;color:#d7d3ca}
.brand-division-grid img{width:100%;height:auto;max-height:440px;object-fit:contain;border:0;background:transparent;box-shadow:none;mix-blend-mode:lighten}
.brand-division-grid .actions{margin-top:30px}
.brand-division-grid .transport-launch{color:#e5cf9b;font-size:.91rem;margin-top:22px;max-width:680px}
.brand-media-hero{background:radial-gradient(circle at 82% 42%,rgba(35,54,77,.45),transparent 40%),#0c1118}
.brand-tactical-hero{background:radial-gradient(circle at 80% 42%,rgba(181,141,61,.16),transparent 42%),linear-gradient(120deg,#0d0c0a,#11100c 65%,#0a0a09)}
.brand-tactical-hero .brand-division-grid img{border:0;background:transparent;max-height:510px;max-width:470px;justify-self:center;filter:drop-shadow(0 14px 28px rgba(0,0,0,.42))}
.brand-tactical-hero .eyebrow{color:var(--gold2)}
.tactical-section-nav{position:relative;top:auto}
.tactical-section-nav .wrap{scrollbar-width:thin;scrollbar-color:var(--gold) #111}
@media(max-width:800px){.tactical-section-nav .wrap{width:100%;padding:12px 4vw;gap:6px 14px;flex-wrap:wrap;justify-content:center;overflow:visible}.tactical-section-nav a{padding:7px 4px;font-size:.7rem;line-height:1.25;white-space:normal;text-align:center}.brand-tactical-hero .brand-division-grid img{width:min(72vw,300px);max-height:none}}
@media(max-width:760px){.brand-division-grid{grid-template-columns:1fr;padding-block:46px 42px;gap:28px}.brand-division-grid h1{font-size:clamp(2.55rem,9vw,4rem)}.brand-division-grid img{max-height:240px;width:min(100%,430px);justify-self:center}.brand-division-grid .actions .btn{max-width:100%}}
/* Foundation: short native-text pledge in place of a text-heavy poster. */
.foundation-pledge{max-width:900px;text-align:center}
.foundation-pledge h2{margin-inline:auto}
.foundation-pledge .lead{color:#e4d3aa;font-family:Georgia,serif;font-size:clamp(1.3rem,2.3vw,1.85rem)}
.foundation-pledge p:last-child{max-width:720px;margin-inline:auto;color:#d1cdc2}
@media(max-width:760px){.boone-layout>img{max-width:min(100%,360px);margin-inline:auto}}
.brand-youth-hero{background:#141512}
.brand-youth-hero .brand-division-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.brand-youth-hero .brand-division-grid img{max-height:430px;aspect-ratio:1.45;object-fit:cover;object-position:center;border-color:#6a5b39}
.brand-youth-hero .brand-division-grid p:not(.eyebrow){color:#ddd8ce}
.brand-youth-hero .youth-ready-proof{font-size:.9rem;color:#dbc48e!important;margin-top:24px}
@media(max-width:760px){.brand-youth-hero .brand-division-grid{grid-template-columns:1fr}.brand-youth-hero .brand-division-grid img{max-height:260px;width:100%}}
/* Give each division its own composition while retaining the approved marks. */
body.home-page .hero .wrap{grid-template-columns:minmax(0,1fr) minmax(210px,280px)}
body.home-page .hero .group-hero-emblem{max-width:280px;mix-blend-mode:lighten;opacity:.94;mask-image:radial-gradient(circle,#000 60%,transparent 88%)}
.consulting-hero{background:linear-gradient(112deg,#090807 0%,#1a140b 65%,#100e0b 100%)}
.consulting-hero-layout{grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:clamp(32px,5vw,74px)}
.consulting-hero-layout>img{width:min(100%,320px);justify-self:end;border:0;box-shadow:none;mix-blend-mode:lighten;mask-image:radial-gradient(circle,#000 68%,transparent 94%)}
.foundation-mission .story-grid{grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:clamp(32px,5vw,76px)}
.foundation-mission .story-grid>img{width:min(100%,340px);justify-self:center;border:0;box-shadow:none;mix-blend-mode:lighten}
.brand-tactical-hero .brand-division-grid{grid-template-columns:minmax(130px,.24fr) minmax(0,1fr);gap:clamp(28px,4vw,58px)}
.brand-tactical-hero .brand-division-grid>div{grid-column:2;grid-row:1}
.brand-tactical-hero .brand-division-grid>img{grid-column:1;grid-row:1;width:min(100%,190px);align-self:start;margin-top:44px;filter:none}
.brand-transport-hero{background:linear-gradient(115deg,#090a0b,#181711 62%,#090a0b)}
.brand-transport-hero .brand-division-grid{grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:clamp(18px,3vw,48px)}
.brand-transport-hero .brand-division-grid .transport-hero-photo{width:100%;height:500px;max-height:none;object-fit:cover;object-position:94% center;mix-blend-mode:normal;mask-image:linear-gradient(90deg,transparent,#000 20%)}
@media(max-width:800px){
 body.home-page .hero .wrap,.consulting-hero-layout,.foundation-mission .story-grid,.brand-tactical-hero .brand-division-grid,.brand-transport-hero .brand-division-grid{grid-template-columns:1fr}
 body.home-page .hero .group-hero-emblem{max-width:180px}
 .consulting-hero-layout>img{width:min(50vw,220px);justify-self:start;margin:0}
 .foundation-mission .story-grid>img{width:min(75vw,300px)}
 .brand-tactical-hero .brand-division-grid>img{grid-column:1;grid-row:1;width:120px;margin:0;justify-self:start}
 .brand-tactical-hero .brand-division-grid>div{grid-column:1;grid-row:2}
 .brand-transport-hero .brand-division-grid .transport-hero-photo{height:260px;max-height:none;object-position:94% center;mask-image:linear-gradient(90deg,transparent,#000 12%)}
}
/* Division thumbnails use the approved marks as quiet signposts, with live text below. */
body.home-page .overview{background:#0b0b0a}
body.home-page .overview .grid{margin-top:34px}
body.home-page .division-card .division-visual{aspect-ratio:2.25;background:radial-gradient(circle at 50% 35%,#262017,#0d0d0c 65%);display:grid;place-items:center}
body.home-page .division-card:nth-child(2) .division-visual{background:radial-gradient(circle at 50% 40%,#2a241c,#11100e 68%)}
body.home-page .division-card:nth-child(3) .division-visual{background:radial-gradient(circle at 50% 40%,#2a2110,#0d0c0a 68%)}
body.home-page .division-card:nth-child(4) .division-visual{background:radial-gradient(circle at 50% 40%,#1e2530,#0b0e12 68%)}
body.home-page .division-card:nth-child(5) .division-visual{background:radial-gradient(circle at 50% 40%,#222019,#0d0e0e 68%)}
body.home-page .division-card .division-visual::before,body.home-page .division-card .division-visual::after{display:none}
body.home-page .division-card .card-thumb,body.home-page .division-card:first-child .card-thumb{width:auto!important;height:78%!important;max-width:65%;padding:0;object-fit:contain;mix-blend-mode:lighten;background:transparent;filter:none}
body.home-page .division-card .card-thumb,body.home-page .division-card:first-child .card-thumb{height:190px!important;max-height:76%;max-width:68%}
body.home-page .division-card .division-copy{margin-top:0;padding-top:14px;background:#111}
body.home-page .division-card h3{min-height:0}
.foundation-subhero{min-height:0;padding:82px 0 88px;background:radial-gradient(circle at 82% 42%,rgba(184,145,66,.16),transparent 40%),#11100e}
.foundation-subhero .wrap{max-width:1080px}
@media(max-width:800px){body.home-page .division-card .division-visual{aspect-ratio:2.1}.foundation-subhero{padding:56px 0 62px}}

/* Sitewide editorial rhythm: one quiet canvas, restrained gold, and useful content sooner. */
:root{--black:#0d0d0c;--panel:#171715;--gold:#b58d3d;--gold2:#d9bc77;--line:#51462e}
body{background:#0d0d0c;color:#f4f1e9}
.topbar{border-bottom:1px solid #5a4829}
.topbar .nav{min-height:72px}
.section{padding-block:clamp(48px,5vw,72px);border-top:1px solid #292720}
main>.section{background:#10100f}
main>.section:nth-of-type(even){background:#151512}
.section h2{font-size:clamp(1.9rem,3.25vw,3rem);line-height:1.16}
.eyebrow{font-size:.76rem;letter-spacing:.12em}
.lead{font-size:clamp(1rem,1.18vw,1.12rem);line-height:1.62}
.card,.event-feature,.sponsor-grid article{background:#181815;border:1px solid #54482f;box-shadow:none}
.btn{min-height:46px;padding:10px 17px}
.actions{gap:10px;margin-top:24px}
.subhero,.event-hub-hero,.sponsor-hero,.shop-hero,.skydiving-hero,.insights-hero,.article-hero,.muster-hero{min-height:0;padding:clamp(60px,7vw,88px) 0;background:radial-gradient(circle at 85% 25%,rgba(181,141,61,.12),transparent 36%),#11100e;border-bottom:1px solid #5a4829;align-items:center}
.muster-hero{background:linear-gradient(90deg,rgba(11,10,8,.94),rgba(11,10,8,.64)),url('assets/muster-campfire.webp') center 56%/cover}
.subhero .wrap,.event-hub-hero .wrap,.sponsor-hero .wrap,.skydiving-hero .wrap,.insights-hero .wrap,.article-hero .wrap{max-width:1080px}
.subhero h1,.event-hub-hero h1,.sponsor-hero h1,.shop-hero h1,.skydiving-hero h1,.insights-hero h1,.article-hero h1,.muster-hero h1{font-size:clamp(2.5rem,4.5vw,4.45rem);line-height:1.08;letter-spacing:.005em;max-width:1000px;margin:.25em 0}
.event-hub-hero .lead,.sponsor-hero .lead,.shop-hero .lead,.skydiving-hero .lead{max-width:730px}
.brand-division-grid{padding-block:clamp(52px,6vw,76px);gap:clamp(26px,4vw,56px)}
.brand-division-grid h1{font-size:clamp(2.55rem,4.3vw,4.4rem)}
.brand-division-hero,.brand-media-hero,.brand-tactical-hero,.brand-transport-hero,.brand-youth-hero,.consulting-hero{background:radial-gradient(circle at 83% 32%,rgba(181,141,61,.12),transparent 35%),#11100e;border-bottom:1px solid #5a4829}
.brand-media-hero{background:radial-gradient(circle at 83% 32%,rgba(47,58,72,.22),transparent 36%),#11100e}
.brand-youth-hero{background:#141411}
.consulting-hero{padding-block:clamp(52px,6vw,76px)}
.contact-page{min-height:0}
.registration-page{min-height:0;padding-top:clamp(56px,6vw,78px)}
body.home-page .hero{min-height:0}
body.home-page .hero .wrap{grid-template-columns:minmax(0,1fr) minmax(240px,330px)}
body.home-page .hero .group-hero-emblem{max-width:330px}
body.home-page .hero-copy{padding:clamp(62px,7vw,94px) 0}
body.home-page .hero h1{font-size:clamp(2.55rem,4.1vw,4.5rem)}
body.home-page .hero-proof{line-height:1.5}
body.home-page .overview .grid{gap:14px}
body.home-page .division-card .division-copy{padding:20px 24px 24px}
body.home-page .division-card p{font-size:.96rem;line-height:1.55}
body.home-page .division-card h3{font-size:clamp(1.3rem,1.8vw,1.6rem)}
body.home-page .division-card .division-visual{aspect-ratio:2.7}
body.home-page .division-card .card-thumb,body.home-page .division-card:first-child .card-thumb{height:150px!important;max-height:75%;max-width:54%}
body.home-page .leader{gap:30px;margin-top:38px}
body.home-page .leader+.leader{margin-top:48px}
body.home-page .portrait{max-height:360px}
.insights-grid .insight-card{background:#181815;border-color:#51462e;padding:24px}
.insights-grid .insight-card h2{font-size:clamp(1.35rem,1.8vw,1.7rem);line-height:1.28;margin:8px 0 14px}
.insights-grid .insight-card p{line-height:1.6}
/* Let division artwork sit in the page instead of a second set of boxed posters. */
body.home-page .overview .grid{grid-template-columns:1fr;gap:0}
body.home-page .division-card{border:0;border-bottom:1px solid #54482f;background:transparent;min-height:0}
body.home-page .division-card:hover,body.home-page .division-card:focus-within{border-color:#9c7e45;box-shadow:none;transform:none}
body.home-page .division-card-link{display:grid;grid-template-columns:minmax(300px,.43fr) minmax(0,.57fr);gap:clamp(26px,4vw,64px);align-items:center;padding:30px 0}
body.home-page .division-card .division-visual,body.home-page .division-card:nth-child(n) .division-visual{width:100%;height:245px;aspect-ratio:auto;background:transparent;overflow:visible;display:grid;place-items:center}
body.home-page .division-card .card-thumb,body.home-page .division-card:first-child .card-thumb{height:235px!important;max-height:100%;max-width:100%;object-fit:contain;mix-blend-mode:lighten;background:transparent}
body.home-page .division-card .division-copy{margin:0;padding:0;background:transparent}
body.home-page .division-card .division-cta{margin-top:18px;padding-top:14px}
body.home-page #church-training img{height:330px;width:100%;object-fit:cover;object-position:center;border:0;box-shadow:none;mask-image:linear-gradient(90deg,transparent,#000 16%)}
body.home-page .youth-vision-layout>img{border:0;box-shadow:none;mask-image:linear-gradient(90deg,transparent,#000 12%)}
.brand-tactical-hero .brand-division-grid{grid-template-columns:minmax(230px,.3fr) minmax(0,1fr)}
.brand-tactical-hero .brand-division-grid>img{width:min(100%,265px);margin-top:12px}
.church-security-image{border:0;background:transparent;box-shadow:none}
.church-security-image img{max-height:370px;aspect-ratio:1.55;object-fit:cover;mask-image:linear-gradient(90deg,#000 78%,transparent)}
.project-layout>img,.tactical-youth-ready-layout>img,.foundation-youth-ready-layout>img,.boone-layout>img,.investment-layout>img{border:0;box-shadow:none}
.brand-division-grid img[src*="brand-card"]{border:0;box-shadow:none;mix-blend-mode:lighten}
.conversations-card{border:0;background:transparent}
.conversations-card>img{border:0;mix-blend-mode:lighten}
@media(max-width:800px){
 body.home-page .division-card-link{grid-template-columns:1fr;gap:8px;padding:26px 0}
 body.home-page .division-card .division-visual,body.home-page .division-card:nth-child(n) .division-visual{height:205px}
 body.home-page .division-card .card-thumb,body.home-page .division-card:first-child .card-thumb{height:195px!important;max-width:90%}
 body.home-page .division-card .division-copy{padding:0 2px}
 body.home-page #church-training img{height:260px;mask-image:linear-gradient(0deg,transparent,#000 16%)}
 .brand-tactical-hero .brand-division-grid{grid-template-columns:1fr}
 .brand-tactical-hero .brand-division-grid>img{width:170px;margin:0}
 .church-security-image img{max-height:270px;mask-image:linear-gradient(0deg,transparent,#000 20%)}
}
@media(max-width:800px){
 .subhero,.event-hub-hero,.sponsor-hero,.shop-hero,.skydiving-hero,.insights-hero,.article-hero,.muster-hero{padding:52px 0;min-height:0}
 .brand-division-grid{padding-block:44px;gap:24px}
 .section{padding-block:48px}
 body.home-page .hero-copy{padding:56px 0 18px}
 body.home-page .hero .wrap{grid-template-columns:1fr}
 body.home-page .hero .group-hero-emblem{max-width:190px}
 body.home-page .division-card .division-visual{aspect-ratio:2.25}
 body.home-page .division-card .card-thumb,body.home-page .division-card:first-child .card-thumb{height:135px!important;max-width:62%}
}
