:root{
  --black:#0a0a0a;--black-deep:#000000;--charcoal:#1a1a1a;--charcoal-soft:#2a2a2a;
  --gold:#c9a955;--gold-bright:#e3c674;--gold-deep:#8a7236;
  --cream:#f4ebd5;
  --ink-dim:#7a7060;
  --rule:#2a2a2a;
  --fd:'Cinzel',Georgia,serif;
  --fb:'Inter',system-ui,sans-serif;
  --max:1240px;--pad:clamp(20px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--cream);font-family:var(--fb);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

.flagbar{height:4px;background:linear-gradient(90deg,var(--gold-deep) 0%,var(--gold) 50%,var(--gold-deep) 100%)}

nav.top{position:sticky;top:0;z-index:50;background:rgba(10,10,10,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule)}
nav.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0}
.brand-link{display:flex;align-items:center;gap:14px;color:var(--cream)}
.brand-link img{height:56px;width:auto}
.brand-link .wm{display:flex;flex-direction:column;line-height:1}
.brand-link .wm .name{font-family:var(--fd);font-size:16px;font-weight:700;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}
.brand-link .wm .sub{font-size:10px;letter-spacing:.22em;color:var(--ink-dim);text-transform:uppercase;margin-top:4px;font-weight:600}
.top-links{display:flex;gap:22px;font-size:12px;color:var(--cream);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.top-links a{padding:6px 0;transition:color .2s}
.top-links a:hover{color:var(--gold)}
.top-cta{background:var(--gold);color:var(--black);padding:11px 22px;font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:0;transition:all .2s;font-family:var(--fd)}
.top-cta:hover{background:var(--gold-bright);transform:translateY(-1px)}
.nav-burger{display:none;flex-direction:column;gap:5px;padding:8px}
.nav-burger span{display:block;width:24px;height:2px;background:var(--gold)}
.mobile-drawer{position:fixed;inset:80px 0 0 0;background:var(--black);z-index:40;transform:translateX(100%);transition:transform .35s;display:flex;flex-direction:column;padding:32px var(--pad);overflow-y:auto}
.mobile-drawer.open{transform:translateX(0)}
.mobile-drawer-links a{font-family:var(--fd);font-size:22px;color:var(--cream);padding:14px 0;border-bottom:1px solid var(--rule);display:block;font-weight:600;letter-spacing:.06em}
body.drawer-open{overflow:hidden}

.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transition:all .2s;font-family:var(--fd)}
.btn-gold{background:var(--gold);color:var(--black)}.btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px)}
.btn-ghost-gold{border:2px solid var(--gold);color:var(--gold);background:transparent}.btn-ghost-gold:hover{background:var(--gold);color:var(--black)}

/* hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;padding:120px 0 80px;overflow:hidden;background:var(--black)}
.hero::before{content:"";position:absolute;inset:0;background:url('assets/hero-sphinx.jpg') center/cover no-repeat;opacity:.55;z-index:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,0.55) 0%,rgba(10,10,10,0.3) 50%,rgba(10,10,10,0.95) 100%);z-index:1}
.hero-grid{position:relative;z-index:2;text-align:center;max-width:980px;margin:0 auto;width:100%}
.hero-seal{margin:0 auto 32px;width:140px;height:140px}
.hero-seal img{width:100%;height:100%;object-fit:contain}
.hero .eyebrow{display:inline-block;font-family:var(--fd);font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:24px;padding:8px 18px;border:1px solid var(--gold);background:rgba(10,10,10,0.5)}
.hero h1{font-family:var(--fd);font-size:clamp(40px,6vw,92px);font-weight:800;line-height:1;letter-spacing:-0.015em;color:var(--cream);margin-bottom:28px;text-transform:uppercase}
.hero h1 .gold{color:var(--gold)}
.hero .motto{font-family:var(--fd);font-size:18px;color:var(--gold-bright);font-style:italic;margin-bottom:32px;font-weight:500;letter-spacing:.02em}
.hero p.lede{font-size:17px;color:rgba(244,235,213,0.88);max-width:60ch;margin:0 auto 36px;line-height:1.7}
.hero-cta{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* stats strip */
.stats{padding:48px 0;background:var(--charcoal);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);position:relative}
.stats::before,.stats::after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--gold) 50%,transparent 100%);opacity:.4}
.stats::before{top:0}.stats::after{bottom:0}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stats-row .s{padding:0 16px;border-right:1px solid var(--rule)}
.stats-row .s:last-child{border-right:0}
.stats-row .s .n{font-family:var(--fd);font-size:48px;color:var(--gold);font-weight:800;line-height:1;letter-spacing:-0.02em;margin-bottom:10px}
.stats-row .s .l{font-size:12px;color:var(--cream);font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.5}

/* sections shared */
section{padding:120px 0}
.section-head{margin-bottom:64px}
.section-head.center{max-width:780px;margin-left:auto;margin-right:auto;text-align:center}
.eyebrow{display:inline-block;font-family:var(--fd);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:22px;padding:6px 16px;border:1px solid var(--gold)}
.section-head h2{font-family:var(--fd);font-size:clamp(36px,5vw,68px);font-weight:800;letter-spacing:-0.015em;line-height:1.04;color:var(--cream);margin-bottom:22px;text-transform:uppercase}
.section-head h2 .gold{color:var(--gold)}
.section-head p{font-size:17px;color:rgba(244,235,213,0.78);max-width:62ch;line-height:1.75}
.section-head.center p{margin-left:auto;margin-right:auto}

/* history */
.history-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}
.history-side .marker{padding:32px;background:var(--charcoal);border-left:5px solid var(--gold);margin-bottom:18px}
.history-side .marker .lbl{font-family:var(--fd);font-size:11px;color:var(--gold);font-weight:600;letter-spacing:.24em;text-transform:uppercase;margin-bottom:8px}
.history-side .marker .v{font-family:var(--fd);font-size:24px;color:var(--cream);font-weight:700;line-height:1.2;letter-spacing:-0.015em}
.history-body p{font-size:17px;color:rgba(244,235,213,0.85);line-height:1.85;margin-bottom:22px}
.history-body p strong{color:var(--gold);font-weight:700}
.history-body p:first-of-type{font-family:var(--fd);font-size:20px;color:var(--cream);font-weight:500;font-style:italic;line-height:1.5;letter-spacing:-0.005em;border-left:3px solid var(--gold);padding-left:24px;margin-bottom:32px}

/* mini-jewels */
.jewels{background:var(--charcoal);padding:120px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.jewels-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px;max-width:1080px;margin-left:auto;margin-right:auto}
.jewel{background:var(--black);padding:24px;text-align:center;border:1px solid var(--rule);transition:all .25s;position:relative}
.jewel:hover{border-color:var(--gold);transform:translateY(-3px)}
.jewel::before{content:"";position:absolute;top:-2px;left:50%;transform:translateX(-50%);width:24px;height:2px;background:var(--gold)}
.jewel .num{font-family:var(--fd);font-size:10px;color:var(--gold);font-weight:600;letter-spacing:.24em;text-transform:uppercase;margin-bottom:10px}
.jewel .name{font-family:var(--fd);font-size:14.5px;color:var(--cream);font-weight:600;letter-spacing:.02em;line-height:1.3}

/* lineage */
.lineage{padding:120px 0}
.lineage-intro{max-width:760px;margin:0 auto 64px;text-align:center}
.lineage-list{display:flex;flex-direction:column}
.line-row{padding:32px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start}
.line-row:last-child{border-bottom:1px solid var(--rule)}
.line-meta .yr{font-family:var(--fd);font-size:24px;color:var(--gold);font-weight:800;letter-spacing:-0.015em;line-height:1;margin-bottom:8px}
.line-meta .nm{font-family:var(--fd);font-size:14px;color:var(--cream);font-weight:600;letter-spacing:.02em;line-height:1.35;text-transform:uppercase}
.line-members{display:flex;flex-wrap:wrap;gap:6px}
.line-members .m{font-size:13.5px;color:rgba(244,235,213,0.85);padding:5px 12px;background:var(--charcoal);border-radius:3px;line-height:1.3;border:1px solid transparent;transition:all .2s}
.line-members .m:hover{border-color:var(--gold);color:var(--gold-bright)}

/* officers */
.officers{background:var(--charcoal);padding:120px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.officer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.officer{background:var(--black);padding:24px;border:1px solid var(--rule);text-align:center;transition:all .25s}
.officer:hover{border-color:var(--gold)}
.officer .role{font-family:var(--fd);font-size:10.5px;color:var(--gold);font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;line-height:1.4}
.officer .name{font-family:var(--fb);font-size:16px;color:var(--cream);font-weight:700;letter-spacing:-0.005em}
.active-roster{margin-top:64px;padding:36px;background:var(--black);border:1px solid var(--rule)}
.active-roster h3{font-family:var(--fd);font-size:13px;color:var(--gold);font-weight:600;letter-spacing:.24em;text-transform:uppercase;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.active-roster .members{display:flex;flex-wrap:wrap;gap:8px}
.active-roster .members span{font-size:14px;color:rgba(244,235,213,0.85);padding:6px 14px;background:var(--charcoal);border-radius:3px;border:1px solid var(--rule)}

/* awards */
.awards{padding:96px 0;background:var(--black);text-align:center;border-bottom:1px solid var(--rule)}
.awards h2{font-family:var(--fd);font-size:clamp(28px,3.6vw,42px);color:var(--gold);font-weight:700;letter-spacing:-0.015em;line-height:1.2;margin-bottom:36px;text-transform:uppercase}
.awards-row{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:880px;margin:0 auto}
.award-card{padding:36px;background:var(--charcoal);border:1px solid var(--gold)}
.award-card .yr{font-family:var(--fd);font-size:48px;color:var(--gold);font-weight:800;line-height:1;letter-spacing:-0.02em;margin-bottom:10px}
.award-card .title{font-family:var(--fd);font-size:14px;color:var(--cream);font-weight:600;line-height:1.4;letter-spacing:.04em;text-transform:uppercase}
.award-card .sub{font-size:13px;color:var(--ink-dim);margin-top:8px;font-style:italic}

/* scholarship */
.scholarship{padding:120px 0;background:var(--charcoal)}
.scholar-card{max-width:880px;margin:0 auto;background:var(--black);padding:64px;text-align:center;border:1px solid var(--gold);position:relative}
.scholar-card::before{content:"\2605\2605\2605\2605\2605";display:block;color:var(--gold);font-size:18px;letter-spacing:8px;margin-bottom:24px}
.scholar-card h3{font-family:var(--fd);font-size:clamp(28px,3.6vw,42px);color:var(--gold);font-weight:800;line-height:1.1;letter-spacing:-0.015em;margin-bottom:14px;text-transform:uppercase}
.scholar-card .target{display:flex;align-items:baseline;justify-content:center;gap:14px;margin:32px 0}
.scholar-card .target .amt{font-family:var(--fd);font-size:88px;color:var(--gold);font-weight:800;line-height:1;letter-spacing:-0.03em}
.scholar-card .target .by{font-family:var(--fd);font-size:13px;color:var(--cream);font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-align:left}
.scholar-card p{font-size:16px;color:rgba(244,235,213,0.78);max-width:54ch;margin:0 auto 24px;line-height:1.7}

/* golf trip */
.golf{padding:120px 0}
.golf-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.golf-body p{font-size:16.5px;color:rgba(244,235,213,0.85);margin-bottom:18px;line-height:1.75}
.golf-info{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:32px 0}
.golf-info .pair{padding:18px;background:var(--charcoal);border-left:3px solid var(--gold)}
.golf-info .pair .lbl{font-family:var(--fd);font-size:10px;color:var(--gold);font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:6px}
.golf-info .pair .val{font-family:var(--fd);font-size:17px;color:var(--cream);font-weight:600;letter-spacing:-0.005em;line-height:1.3}
.golf-feature .badge{font-family:var(--fd);font-size:14px;color:var(--gold);font-weight:600;letter-spacing:.24em;text-transform:uppercase;padding:60px 40px;background:var(--charcoal);border:1px solid var(--gold);text-align:center;line-height:1.5}
.golf-feature .badge .n{display:block;font-size:80px;color:var(--gold);font-weight:800;line-height:1;letter-spacing:-0.03em;margin-bottom:12px}

/* homecoming */
.homecoming{padding:0 0 120px 0;background:var(--black);border-top:1px solid var(--rule)}
.homecoming-banner{background:var(--gold);color:var(--black);padding:10px 0;text-align:center;font-family:var(--fd);font-size:13px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;margin-bottom:80px}
.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.home-flyer img{width:100%;display:block}
.home-body h3{font-family:var(--fd);font-size:clamp(28px,3.6vw,40px);color:var(--gold);font-weight:800;letter-spacing:-0.015em;line-height:1.1;margin-bottom:18px;text-transform:uppercase}
.home-body .sub{font-family:var(--fd);font-size:13px;color:var(--cream);letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px;font-weight:600}
.home-body .includes{margin-bottom:32px}
.home-body .includes h4{font-family:var(--fd);font-size:11px;color:var(--gold);font-weight:600;letter-spacing:.24em;text-transform:uppercase;margin-bottom:14px}
.home-body .includes ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.home-body .includes li{font-size:14.5px;color:rgba(244,235,213,0.85);padding-left:20px;position:relative;line-height:1.5}
.home-body .includes li::before{content:"\2605";color:var(--gold);position:absolute;left:0;top:1px}
.pricing{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:24px}
.pricing .tier{padding:20px 16px;background:var(--charcoal);border:1px solid var(--rule);text-align:center;transition:all .2s}
.pricing .tier:hover{border-color:var(--gold)}
.pricing .tier .label{font-family:var(--fd);font-size:10px;color:var(--gold);font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;line-height:1.4}
.pricing .tier .price{font-family:var(--fd);font-size:32px;color:var(--cream);font-weight:800;letter-spacing:-0.02em;line-height:1;margin-bottom:6px}
.pricing .tier .deadline{font-size:11px;color:var(--ink-dim);font-weight:600;line-height:1.4}

/* shop */
.shop{padding:120px 0;background:var(--charcoal)}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.shop-card{background:var(--black);padding:32px 26px;border:1px solid var(--rule);transition:all .25s;display:flex;flex-direction:column;gap:14px}
.shop-card:hover{border-color:var(--gold);transform:translateY(-4px)}
.shop-card h4{font-family:var(--fd);font-size:18px;color:var(--cream);font-weight:600;letter-spacing:-0.005em;line-height:1.25;min-height:48px}
.shop-card .price{font-family:var(--fd);font-size:28px;color:var(--gold);font-weight:800;letter-spacing:-0.02em;line-height:1}
.shop-card .note{font-size:12px;color:var(--ink-dim);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:auto;padding-top:8px;border-top:1px solid var(--rule)}

/* brick campaign */
.bricks{padding:96px 0;background:var(--black);text-align:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.bricks h2{font-family:var(--fd);font-size:clamp(32px,4vw,52px);color:var(--gold);font-weight:800;letter-spacing:-0.015em;line-height:1.1;margin-bottom:18px;text-transform:uppercase}
.bricks .status{display:inline-block;background:var(--gold);color:var(--black);padding:8px 22px;font-family:var(--fd);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px}
.bricks p{font-size:16px;color:rgba(244,235,213,0.78);max-width:60ch;margin:0 auto 20px;line-height:1.7}

/* contact */
.contact-section{padding:120px 0;background:var(--black)}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start}
.contact-left h2{font-family:var(--fd);font-size:clamp(36px,4.8vw,60px);color:var(--cream);margin-bottom:24px;letter-spacing:-0.02em;line-height:1.05;font-weight:800;text-transform:uppercase}
.contact-left h2 .gold{color:var(--gold)}
.contact-left .lede{font-size:17px;color:rgba(244,235,213,0.85);max-width:42ch;margin-bottom:32px;line-height:1.7}
.contact-info{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.contact-info .row{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--charcoal);border-left:5px solid var(--gold)}
.contact-info .row svg{width:22px;height:22px;color:var(--gold);flex-shrink:0;margin-top:2px}
.contact-info .row .label{font-family:var(--fd);font-size:11px;color:var(--gold);font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:6px}
.contact-info .row .val{font-size:15.5px;color:var(--cream);font-weight:600;letter-spacing:-0.005em;line-height:1.5}
.socials{display:flex;gap:10px;margin-top:24px}
.socials a{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--rule);color:var(--cream);transition:all .2s}
.socials a:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}
.socials a svg{width:18px;height:18px}
.contact-form{background:var(--charcoal);padding:40px;border:1px solid var(--rule);position:relative;overflow:hidden}
.contact-form::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold)}
.contact-form h3{font-family:var(--fd);font-size:24px;color:var(--cream);margin-bottom:8px;font-weight:700;letter-spacing:-0.01em;text-transform:uppercase}
.contact-form .form-sub{font-size:14.5px;color:rgba(244,235,213,0.75);margin-bottom:28px;line-height:1.6}
.contact-form .field{margin-bottom:18px}
.contact-form .field label{display:block;font-family:var(--fd);font-size:11px;color:var(--gold);font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px}
.contact-form .field input,.contact-form .field textarea{width:100%;padding:14px 16px;border:1px solid var(--rule);background:var(--black);color:var(--cream);font-family:var(--fb);font-size:15px;border-radius:0;transition:all .2s}
.contact-form .field input::placeholder,.contact-form .field textarea::placeholder{color:rgba(244,235,213,0.35)}
.contact-form .field input:focus,.contact-form .field textarea:focus{outline:0;border-color:var(--gold);background:var(--charcoal-soft)}
.contact-form .field textarea{min-height:120px;resize:vertical}
.contact-form .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-submit{background:var(--gold);color:var(--black);padding:14px 30px;font-family:var(--fd);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;border:0;cursor:pointer;transition:all .2s;margin-top:8px;width:100%}
.contact-submit:hover{background:var(--gold-bright)}

/* footer */
footer{background:var(--black-deep);color:rgba(244,235,213,0.6);padding:64px 0 28px;border-top:1px solid var(--gold)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px}
.foot-brand img{height:80px;width:auto;margin-bottom:18px}
.foot-brand .name{font-family:var(--fd);font-size:16px;color:var(--gold);font-weight:700;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:8px}
.foot-brand p{font-size:14px;color:rgba(244,235,213,0.55);line-height:1.7;max-width:42ch;margin-bottom:14px}
.foot-col h4{font-family:var(--fd);font-size:11px;color:var(--gold);text-transform:uppercase;margin-bottom:18px;font-weight:600;letter-spacing:.22em}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-col li a,.foot-col li{font-size:14px;color:rgba(244,235,213,0.65);transition:color .2s}
.foot-col li a:hover{color:var(--gold)}
.foot-bottom{padding-top:24px;border-top:1px solid var(--rule);font-size:12px;color:rgba(244,235,213,0.4);text-align:center;line-height:1.7;letter-spacing:.04em}
.foot-bottom a{color:var(--gold)}

@media (max-width:1080px){
  .top-links{gap:16px;font-size:11px}
}
@media (max-width:960px){
  .top-links,.top-cta{display:none}.nav-burger{display:flex}
  .hero{min-height:auto;padding:96px 0 64px}
  .hero h1{font-size:40px}
  .hero-seal{width:100px;height:100px}
  .stats-row{grid-template-columns:1fr 1fr;gap:24px}
  .stats-row .s{border-right:0}
  .stats-row .s:nth-child(odd){border-right:1px solid var(--rule)}
  section{padding:72px 0}
  .history-grid,.contact-grid,.golf-grid,.home-grid{grid-template-columns:1fr;gap:48px}
  .line-row{grid-template-columns:1fr;gap:14px}
  .jewels-grid{grid-template-columns:1fr 1fr;gap:12px}
  .officer-grid{grid-template-columns:1fr 1fr;gap:12px}
  .awards-row{grid-template-columns:1fr;gap:14px}
  .shop-grid{grid-template-columns:1fr;gap:14px}
  .pricing{grid-template-columns:1fr;gap:10px}
  .golf-info{grid-template-columns:1fr;gap:10px}
  .scholar-card{padding:40px 28px}
  .scholar-card .target .amt{font-size:60px}
  .foot-grid{grid-template-columns:1fr;gap:36px;margin-bottom:32px}
}
@media (min-width:640px) and (max-width:960px){
  .shop-grid{grid-template-columns:1fr 1fr}
  .officer-grid{grid-template-columns:1fr 1fr 1fr}
}

/* ===== inner pages + lineage accordion ===== */
.page-hero{padding:140px 0 56px;text-align:center}
.page-hero .eyebrow{margin-bottom:22px}
.page-hero h1{font-family:var(--fd);font-size:clamp(40px,6vw,82px);font-weight:800;letter-spacing:-0.015em;line-height:1.02;color:var(--cream);margin-bottom:20px;text-transform:uppercase}
.page-hero h1 .gold{color:var(--gold)}
.page-hero p{font-size:17px;color:rgba(244,235,213,0.78);max-width:64ch;margin:0 auto;line-height:1.75}
.acc{max-width:1100px;margin:24px auto 0;border-top:1px solid var(--rule)}
.acc-item{border-bottom:1px solid var(--rule)}
.acc-head{width:100%;display:flex;align-items:center;gap:18px;padding:26px 6px;cursor:pointer;text-align:left;background:none;transition:background .2s}
.acc-head:hover{background:var(--charcoal)}
.acc-head .acc-decade{font-family:var(--fd);font-size:clamp(22px,3vw,34px);color:var(--gold);font-weight:800;letter-spacing:-0.01em;line-height:1}
.acc-head .acc-count{font-family:var(--fd);font-size:11px;color:var(--ink-dim);letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.acc-head .acc-icon{margin-left:auto;font-family:var(--fd);font-size:30px;color:var(--gold);line-height:1;transition:transform .25s}
.acc-item.open .acc-icon{transform:rotate(45deg)}
.acc-panel{display:none;padding:4px 6px 20px}
.acc-item.open .acc-panel{display:block}
.acc-panel .line-row:first-child{border-top:0}

/* ===== home get-involved band ===== */
.cta-band{padding:120px 0;background:var(--charcoal);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cta-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.cta-card{display:flex;flex-direction:column;gap:12px;background:var(--black);padding:32px;border:1px solid var(--rule);transition:all .25s}
.cta-card:hover{border-color:var(--gold);transform:translateY(-4px)}
.cta-card h3{font-family:var(--fd);font-size:22px;color:var(--cream);font-weight:700;letter-spacing:-0.01em}
.cta-card p{font-size:14.5px;color:rgba(244,235,213,0.7);line-height:1.6;flex:1}
.cta-card .more{font-family:var(--fd);font-size:12px;color:var(--gold);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
@media (max-width:960px){ .page-hero{padding:104px 0 40px} .cta-cards{grid-template-columns:1fr;gap:14px} }

