:root{
  --forest:#0f5b45;--forest-2:#0a4938;--navy:#0b334b;--navy-2:#08273a;--gold:#f2b632;--gold-2:#d79508;
  --cream:#f7f3e8;--paper:#fffdf8;--white:#fff;--ink:#163247;--muted:#60717d;--line:#dfe5e7;
  --shadow:0 8px 24px rgba(10,42,58,.08);--radius:16px;--max:1180px;
  --serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --section:58px;--section-mobile:32px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.52}
a{color:inherit} img{display:block;width:100%} button,a{touch-action:manipulation}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.section{padding:var(--section) 0}.section-tight{padding:42px 0}.topo{position:relative;isolation:isolate}.topo:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.42;background-image:repeating-radial-gradient(ellipse at 20% 20%,transparent 0 34px,rgba(11,51,75,.055) 35px 36px,transparent 37px 54px);background-size:280px 145px;pointer-events:none}
.eyebrow{font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.13em;color:var(--forest)}
h1,h2,h3{font-family:var(--serif);line-height:1.04;margin:0;color:var(--navy)}h1{font-size:clamp(2.75rem,6vw,5.7rem)}h2{font-size:clamp(2rem,3.4vw,3.2rem)}h3{font-size:1.45rem}.lede{font-size:clamp(1.02rem,1.5vw,1.2rem);color:#435967;max-width:760px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:26px}.section-head p{margin:.4rem 0 0;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;font-weight:800;border:1px solid transparent;border-radius:10px;padding:.83rem 1.1rem;transition:.18s ease;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--gold);color:#173246;box-shadow:0 5px 12px rgba(215,149,8,.22)}.btn-primary:hover{background:#ffc64b}.btn-outline{border-color:rgba(255,255,255,.72);color:#fff;background:rgba(7,31,42,.24)}.btn-outline-dark{border-color:#bfd0d7;color:var(--navy);background:#fff}.text-link{font-weight:800;color:var(--navy);text-decoration:none}
/* Header */
.site-header{background:rgba(255,255,255,.98);border-bottom:1px solid #e4e8e9;position:sticky;top:0;z-index:50}.pack-strip{font-size:.74rem;padding:6px 0;text-align:right;background:#f8faf9;color:#24495e}.pack-strip a{text-decoration:none;font-weight:750}.nav-row{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:255px}.crest{width:48px;height:55px;position:relative;background:linear-gradient(180deg,#eef5ec,#d9e8da);border:3px solid var(--forest);clip-path:polygon(50% 0,94% 13%,88% 76%,50% 100%,12% 76%,6% 13%);display:grid;place-items:center;font-size:25px}.brand-title{font-family:var(--serif);font-size:1.6rem;font-weight:900;color:var(--forest);letter-spacing:.02em}.brand-sub{font-size:.58rem;font-weight:800;letter-spacing:.16em;color:#526d72;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:5px;margin-left:auto}.nav-links a{padding:.6rem .72rem;text-decoration:none;font-weight:700;font-size:.94rem;border-radius:8px}.nav-links a:hover,.nav-links a[aria-current='page']{background:#edf4f1;color:var(--forest)}.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:0;border-radius:10px;background:#edf3f1;font-size:1.3rem;color:var(--forest)}
/* Hero */
.hero{min-height:510px;color:#fff;display:flex;align-items:end;background-image:linear-gradient(90deg,rgba(3,30,33,.90) 0%,rgba(4,35,37,.68) 42%,rgba(4,26,30,.16) 72%),url('../images/hero.jpg');background-size:cover;background-position:center;padding:72px 0 56px}.hero .eyebrow{color:#ffd166}.hero h1{color:#fff;max-width:680px;text-shadow:0 3px 18px rgba(0,0,0,.32)}.hero h1 em{font-style:normal;color:#ffc441}.hero p{font-size:1.12rem;max-width:620px;color:#eff5f2}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.stats{background:linear-gradient(90deg,var(--forest-2),#0d6a51);color:#fff}.stats-grid{min-height:86px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.stat{text-align:center;padding:10px 16px;border-left:1px solid rgba(255,255,255,.18)}.stat:first-child{border-left:0}.stat strong{display:block;font-size:1.5rem;line-height:1}.stat span{font-size:.76rem;opacity:.86}
/* Cards */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pillar{background:#fff;border:1px solid #e3e8e9;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.pillar img{height:178px;object-fit:cover}.pillar-body{padding:22px}.pillar-label{font-size:.82rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}.pillar p{margin:.3rem 0;color:#48606e}.checks{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}.checks li{position:relative;padding-left:22px}.checks li:before{content:'✓';position:absolute;left:0;color:var(--forest);font-weight:950}
.story-band{background:var(--cream);border-block:1px solid #ede6d5}.story-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}.story-callout{background:#fff;border:1px solid #e5e0d6;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.story-callout strong{font-family:var(--serif);font-size:1.5rem;color:var(--forest)}
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center}.quote{background:#fff;border:1px solid #e3e6e7;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);font-family:var(--serif);font-size:1.18rem;font-style:italic}.quote footer{font-family:var(--sans);font-size:.82rem;font-weight:800;font-style:normal;margin-top:14px}
.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dfe5e6;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px rgba(11,51,75,.06)}.news-card img{height:130px;object-fit:cover}.news-body{display:flex;flex-direction:column;gap:7px;padding:16px;min-height:205px}.news-body h3{font-family:var(--sans);font-size:1rem}.meta{font-size:.76rem;font-weight:800;color:#344d5b}.news-body p{font-size:.88rem;color:#5a6c76;margin:0}.news-body .btn{margin-top:auto;align-self:flex-start;padding:.58rem .78rem;font-size:.78rem}
.gallery-band{background:var(--navy);color:#fff;padding:34px 0}.gallery-band h2{color:#fff}.gallery-band .section-head{margin-bottom:18px}.gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.gallery img{height:126px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.28)}
/* Final CTA + sole grounded scenery */
.final-visit{position:relative;overflow:hidden;background:#f8f4ea;padding:48px 0 112px;border-top:1px solid #eee7d7}.final-visit .container{position:relative;z-index:2}.visit-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px}.visit-facts{display:grid;gap:10px;margin-top:16px}.visit-facts div{display:flex;gap:10px}.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0 20px}.social-grid a{text-decoration:none;font-weight:750;font-size:.9rem}.ground-scene{position:absolute;left:0;right:0;bottom:-1px;height:96px;opacity:.22;background:linear-gradient(145deg,transparent 0 48%,var(--forest) 49% 62%,transparent 63%) 0 100%/170px 84px repeat-x;clip-path:polygon(0 67%,5% 44%,9% 68%,14% 25%,19% 68%,24% 40%,29% 66%,34% 17%,40% 70%,47% 31%,53% 68%,60% 15%,66% 70%,73% 39%,79% 65%,86% 20%,92% 67%,100% 43%,100% 100%,0 100%);background-color:#0f5b45}
.site-footer{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#dbe8ed;padding:38px 0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:26px}.footer-grid h4{color:#fff;margin:0 0 10px;font-size:.9rem}.footer-grid a{display:block;color:#dbe8ed;text-decoration:none;font-size:.82rem;margin:.3rem 0}.footer-note{font-size:.78rem;color:#afc5cf}.footer-brand .brand-title{color:#fff}.footer-brand .brand-sub{color:#b9ccd2}
/* Interior */
.page-hero{background:linear-gradient(110deg,var(--navy),#124f67);color:#fff;padding:60px 0}.page-hero h1{font-size:clamp(2.6rem,5vw,4.7rem);color:#fff}.page-hero .lede{color:#e4eff3}.band{background:var(--cream);border-block:1px solid #ece6d8}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.value-card{background:#fff;border:1px solid #e1e6e7;border-radius:14px;padding:20px}.value-card h3{font-family:var(--sans);font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--forest)}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:18px 0;border-top:1px solid #dfe4e5}.timeline-item:first-child{border-top:0}.timeline-item strong{font-family:var(--serif);font-size:1.2rem;color:var(--forest)}
.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.activity-card{background:#fff;border:1px solid #dfe5e7;border-radius:14px;padding:18px}.activity-card .date{font-size:.8rem;color:var(--forest);font-weight:850}.activity-card h3{font-family:var(--sans);font-size:1.05rem;margin-top:6px}.activity-card p{color:#5c6c75;font-size:.9rem}
.eagle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.eagle-card{min-height:170px;border:1px solid #dfe4e6;border-radius:14px;background:#fff;padding:18px;display:flex;flex-direction:column;justify-content:end;box-shadow:0 4px 14px rgba(8,39,58,.05)}.eagle-number{font-family:var(--serif);font-size:2.3rem;color:var(--gold-2);line-height:1}.eagle-name{font-weight:850;margin-top:8px}.eagle-year{font-size:.8rem;color:#6a7a82}.eagle-card-photo{padding:0;overflow:hidden;justify-content:initial}.eagle-card-photo>img{aspect-ratio:4/5;object-fit:cover;object-position:center 20%;background:#e8ecea}.eagle-card-body{padding:16px 18px 18px;margin-top:auto}.eagle-card.you{background:linear-gradient(135deg,#0d5b45,#0b334b);color:#fff;border-color:transparent}.eagle-card.you>img{object-position:center top}.eagle-card.you .eagle-number{color:#ffd166}.eagle-card.you .eagle-name{font-size:1.3rem}
.faq{display:grid;gap:12px}.faq details{background:#fff;border:1px solid #dde4e6;border-radius:12px;padding:16px 18px}.faq summary{font-weight:850;cursor:pointer}.faq p{color:#546773}
.notice{border-left:4px solid var(--gold);background:#fff9e7;padding:16px 18px;border-radius:8px;color:#4d5f68}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.resource-card{border:1px solid #dfe4e5;background:#fff;border-radius:14px;padding:20px}.resource-card h3{font-family:var(--sans);font-size:1.05rem}.resource-card ul{padding-left:1.15rem;color:#566974;font-size:.9rem}
.prototype-badge{position:fixed;right:12px;bottom:12px;z-index:99;background:#fff;border:1px solid #d4dfe2;color:var(--navy);border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:800;box-shadow:var(--shadow)}
@media(max-width:920px){.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:12px 20px 18px;border-bottom:1px solid #dfe5e6;box-shadow:var(--shadow)}.nav-links.open{display:grid}.nav-links .btn{margin-top:6px}.menu-btn{display:block}.pack-strip{display:none}.nav-row{height:68px}.brand{min-width:0}.brand-title{font-size:1.25rem}.brand-sub{font-size:.5rem}.crest{width:40px;height:46px}.pillars,.news-grid{grid-template-columns:repeat(2,1fr)}.story-grid,.why-grid,.visit-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(3,1fr)}.value-grid{grid-template-columns:repeat(2,1fr)}.activity-grid,.resource-grid{grid-template-columns:repeat(2,1fr)}.eagle-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){:root{--section:var(--section-mobile)}.container{width:min(100% - 28px,var(--max))}.hero{min-height:420px;padding:54px 0 36px;background-position:62% center}.hero h1{font-size:clamp(2.75rem,14vw,4.3rem)}.hero p{font-size:.98rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat{border-top:1px solid rgba(255,255,255,.13)}.pillars,.news-grid,.value-grid,.activity-grid,.resource-grid{grid-template-columns:1fr}.pillar{display:grid;grid-template-columns:43% 57%}.pillar img{height:100%;min-height:235px}.pillar-body{padding:18px}.checks{font-size:.84rem}.story-grid{gap:20px}.section-head{align-items:start;flex-direction:column;margin-bottom:18px}.section-head .btn{align-self:flex-start}.news-card{display:grid;grid-template-columns:39% 61%}.news-card img{height:100%;min-height:178px}.news-body{min-height:178px;padding:14px}.gallery-band{padding:26px 0}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.gallery img{height:105px}.final-visit{padding:36px 0 90px}.visit-grid{gap:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:20px}.eagle-grid{grid-template-columns:repeat(2,1fr)}.timeline-item{grid-template-columns:1fr;gap:5px}.page-hero{padding:42px 0}.prototype-badge{display:none}}
@media(max-width:410px){.brand-sub{display:none}.brand{gap:8px}.nav-row>.btn-primary{display:none}.pillar{grid-template-columns:1fr}.pillar img{height:160px;min-height:0}.news-card{grid-template-columns:1fr}.news-card img{height:120px;min-height:0}.eagle-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.gallery img{height:92px}}

/* v0.2 repository-ready additions */
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:.65rem .9rem;z-index:999}.skip-link:focus{left:10px;top:10px}
.light{color:#ffd166!important}
.audience-section{background:#fff;border-top:1px solid #edf0f1}
.audience-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.audience-card{display:flex;flex-direction:column;gap:7px;text-decoration:none;background:#fff;border:1px solid #dfe5e7;border-radius:14px;padding:20px;box-shadow:0 4px 14px rgba(8,39,58,.05)}
.audience-card strong{font-family:var(--serif);font-size:1.25rem;color:var(--navy)}
.audience-card span{color:#5b6d78;font-size:.92rem}
.audience-card:hover{border-color:#9bb9ad;transform:translateY(-1px)}
.audience-links{display:flex;flex-direction:column;gap:7px;margin-top:16px}.audience-links a{font-size:.86rem;font-weight:800;color:var(--navy)}
.school-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.school-card{display:block;text-decoration:none;background:#fff;border:1px solid #dfe5e7;border-radius:14px;padding:22px;box-shadow:var(--shadow)}.school-card:hover{border-color:#8eb4a6}.school-card h3{margin:.35rem 0 .45rem}.school-card p{margin:0;color:#5e6f78}
.affiliation-note{font-size:.82rem;color:#6b777d;max-width:900px;margin:0}
.school-hero{background:linear-gradient(110deg,#0b334b,#0f5b45)}
.eagle-year-group,.adventure-year-group{margin-top:28px}.eagle-year-group:first-of-type,.adventure-year-group:first-of-type{margin-top:0}.eagle-year-group>h3,.adventure-year-group>h3{margin-bottom:12px;color:var(--forest)}

/* tighten the full site after first phone review */
:root{--section:50px;--section-mobile:28px}
.section-tight{padding:34px 0}.section-head{margin-bottom:20px}
.pillar-body{padding:18px}.story-callout{padding:22px}.quote{padding:24px}
.gallery-band{padding:28px 0}.final-visit{padding:40px 0 96px}.site-footer{padding:32px 0}.page-hero{padding:52px 0}

@media(max-width:920px){.audience-cards{grid-template-columns:1fr 1fr}.school-grid{grid-template-columns:1fr}}
@media(max-width:620px){.audience-cards{grid-template-columns:1fr}.site-header{position:sticky}.hero{min-height:390px;padding:46px 0 30px}.pillar-body{padding:16px}.final-visit{padding:32px 0 84px}.page-hero{padding:36px 0}.eagle-year-group,.adventure-year-group{margin-top:22px}}

/* Labeled photography gaps make the public-site image wish list visible. */
.photo-needed-wrap{margin-top:24px}
.photo-needed-slot{margin:0;display:grid;grid-template-columns:minmax(220px,360px) 1fr;align-items:center;gap:22px;background:#fff;border:2px dashed #9eb1b6;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(8,39,58,.04)}
.photo-needed-slot img{height:210px;object-fit:cover;object-position:center top;background:#ece9df}
.photo-needed-slot figcaption{padding:18px 24px 18px 0;font-weight:800;color:var(--navy);font-size:1rem}
.activity-card{padding:0;overflow:hidden}
.activity-photo,.activity-photo-needed{height:190px}
.activity-photo{object-fit:cover}
.activity-photo-needed{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;color:var(--navy);background-color:#ecefe9;background-image:repeating-radial-gradient(ellipse at 20% 20%,transparent 0 28px,rgba(11,51,75,.09) 29px 30px,transparent 31px 45px);background-size:220px 120px;border-bottom:1px dashed #9eb1b6}
.activity-photo-needed span{font-family:var(--serif);font-size:1.45rem;font-weight:900}
.activity-photo-needed small{margin-top:5px;max-width:90%;font-weight:750;color:#546b76}
.activity-body{padding:18px}
@media(max-width:620px){.photo-needed-slot{grid-template-columns:1fr}.photo-needed-slot img{height:190px}.photo-needed-slot figcaption{padding:0 18px 18px}.activity-photo,.activity-photo-needed{height:175px}}

/* Homepage recruiting actions and meeting details within the photo hero. */
.btn-join{background:var(--forest);border-color:#78aa96;color:#fff;box-shadow:0 5px 12px rgba(4,35,37,.28)}
.btn-join:hover{background:#147158}
.cub-hero-link{margin:14px 0 0!important;font-size:.93rem!important}
.cub-hero-link a{color:#fff;text-decoration-color:#ffd166;text-decoration-thickness:2px;text-underline-offset:4px}
.hero-meeting-info{width:min(100%,920px);margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.4)}
.hero-meeting-art{width:100%;height:auto;max-height:74px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 5px rgba(0,0,0,.45))}
.hero-meeting-mobile{display:none;color:#fff}
.pack-contact-band{background:linear-gradient(110deg,var(--navy),var(--forest));color:#fff}
.pack-contact{display:flex;align-items:center;justify-content:space-between;gap:28px}
.pack-contact h2{color:#fff}.pack-contact p{max-width:720px;color:#e9f2ef}
@media(max-width:700px){.hero-meeting-art{display:none}.hero-meeting-mobile{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:10px;background:rgba(3,30,33,.42);border-radius:10px;backdrop-filter:blur(2px)}.hero-meeting-mobile div{border-left:3px solid var(--gold);padding-left:9px}.hero-meeting-mobile strong,.hero-meeting-mobile span{display:block}.hero-meeting-mobile strong{font-size:.82rem}.hero-meeting-mobile span{font-size:.72rem;color:#fff}.hero-actions .btn{flex:1 1 auto}.cub-hero-link{max-width:340px!important}.pack-contact{align-items:flex-start;flex-direction:column}}
@media(max-width:390px){.hero-meeting-mobile{grid-template-columns:1fr}.hero-actions .btn{width:100%}}


/* Accessible navigation dropdowns: explicit contrast in every viewport. */
.nav-menu{position:relative}
.nav-menu>summary{display:flex;align-items:center;gap:.28rem;padding:.6rem .72rem;border-radius:8px;cursor:pointer;list-style:none;font-weight:700;font-size:.94rem;color:var(--ink)}
.nav-menu>summary::-webkit-details-marker{display:none}
.nav-menu>summary:after{content:'▾';font-size:.72em}
.nav-menu>summary:hover,.nav-menu[open]>summary{background:#edf4f1;color:var(--forest)}
.nav-menu>summary:focus-visible,.nav-menu-panel a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.nav-menu-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:70;min-width:230px;padding:8px;background:#fff;border:1px solid #cad7db;border-radius:10px;box-shadow:0 12px 30px rgba(4,31,48,.2)}
.nav-menu-panel a,.nav-menu-panel .login-coming-soon{display:flex;flex-direction:column;gap:1px;padding:.7rem .75rem;border-radius:7px;color:var(--navy);text-decoration:none}
.nav-menu-panel a:hover{background:#edf4f1;color:var(--forest)}
.nav-menu-panel span{font-size:.77rem}
.login-coming-soon{background:#eef1f2;color:#4b5e68!important}
@media(max-width:920px){
  .nav-links.open{background:var(--navy);color:#fff;padding:18px 28px 28px}
  .nav-links.open>a:not(.btn){color:#fff}
  .nav-links.open>a:not(.btn):hover,.nav-links.open>a:not(.btn)[aria-current='page']{background:#29465c;color:#fff}
  .nav-menu{width:100%}
  .nav-menu>summary{min-height:48px;color:#fff;background:transparent}
  .nav-menu>summary:hover,.nav-menu[open]>summary{background:#29465c;color:#fff}
  .nav-menu-panel{position:static;min-width:0;margin:4px 0 8px;padding:6px;background:#fff;border:2px solid var(--gold);box-shadow:none}
  .nav-menu-panel a,.nav-menu-panel .login-coming-soon{color:var(--navy)}
  .login-coming-soon{background:#e8edf0;color:#304a59!important}
}
