@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');:root{--bg:#08090c;--panel:#11141a;--line:#3d2028;--muted:#a3a9b5;--text:#fff;--red:#f22932}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 10% 0,#281014 0,transparent 35%),var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.08;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:40px 40px}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px clamp(18px,5vw,76px);border-bottom:1px solid #2a2d35;background:#0b0c10ee;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:15px;color:#fff;text-decoration:none}.brand-mark{font:italic 900 34px 'Barlow Condensed',sans-serif;letter-spacing:-1px;text-shadow:3px 3px #6c1720}.brand-copy{border-left:1px solid #343741;padding-left:14px;display:flex;flex-direction:column;gap:5px}.brand-copy b{font-size:10px;letter-spacing:1.4px}.brand-copy small{font-size:8px;letter-spacing:1.1px;color:#b9bec8}.top-stats{display:flex;gap:25px}.top-stats div{display:flex;flex-direction:column;gap:4px;padding-left:20px;border-left:1px solid #30333b}.top-stats b{font:800 25px 'Barlow Condensed',sans-serif}.top-stats small{font-size:7px;letter-spacing:1.4px;color:#a4a9b4}.shell{max-width:1500px;padding:0 clamp(18px,5vw,76px);margin:auto}.hero{padding:55px 0 35px}.eyebrow{font-size:10px;letter-spacing:2px;color:#ff6972;font-weight:800}.hero h1{font:900 clamp(48px,6vw,78px)/.95 'Barlow Condensed',sans-serif;margin:12px 0}.hero h1 em{font-style:normal;color:#fff}.hero p{font-size:13px;line-height:1.7;color:#c0c4cd;max-width:650px}.tools{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.region-tabs,.search-sort{display:flex;gap:8px}.region-tab,.search-sort input,.search-sort select{height:42px;border:1px solid #59313a;background:#11141a;color:#fff;padding:0 16px;font-size:10px;font-weight:800;letter-spacing:1px}.region-tab{min-width:110px;cursor:pointer}.region-tab.active,.region-tab:hover{background:#c51e2a;border-color:#f22932;box-shadow:0 0 18px #f2293230}.search-sort input{width:230px;font-weight:500;letter-spacing:0}.search-sort select{font-weight:500;letter-spacing:0;min-width:190px}.search-sort input::placeholder{color:#a5aab5}.sector-filters{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0}.sector-filter{border:1px solid #30343d;background:#111c2d;color:#d7dae1;padding:9px 12px;font-size:9px;letter-spacing:.6px;cursor:pointer}.sector-filter.active,.sector-filter:hover{border-color:#f22932;color:#fff;background:#2b1118}.section-line{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #292c34;padding-top:15px;margin:18px 0 13px;color:#fff;font-size:9px;font-weight:800;letter-spacing:1.5px}.section-line span:last-child{color:#a6acb7}.chapter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.chapter-card{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 10px 13px;background:linear-gradient(145deg,#171a22,#100d12);border:1px solid #51252c;color:#fff;cursor:pointer;transition:.2s;min-height:220px}.chapter-card:before{content:"";height:2px;position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,transparent,#f22932,transparent);transform:scaleX(0);transition:.2s}.chapter-card:hover,.chapter-card.selected{border-color:#f22932;transform:translateY(-2px);box-shadow:0 8px 22px #0008,0 0 20px #f2293212}.chapter-card:hover:before,.chapter-card.selected:before{transform:scaleX(1)}.logo-box{height:145px;width:100%;display:grid;place-items:center}.logo-box img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 7px #000b)}.missing-logo{height:100%;width:100%;display:grid;place-items:center;border:1px dashed #555b68;color:#8d94a2;font:800 28px 'Barlow Condensed',sans-serif}.chapter-card strong{font:800 16px 'Barlow Condensed',sans-serif;text-align:center;color:#fff;text-transform:uppercase;min-height:30px;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}.chapter-card small{font-size:8px;color:#c3c7d0;letter-spacing:1.1px;text-align:center;text-transform:uppercase}.selected-tag{position:absolute;right:7px;top:7px;color:#ff6972;font-size:8px;font-weight:800;letter-spacing:.7px}.empty{grid-column:1/-1;padding:35px;border:1px dashed #3b3e47;color:#c0c4ce;text-align:center}.spotlight{margin-top:65px;padding-top:26px;border-top:1px solid #2a2d35;scroll-margin-top:110px}.spotlight-title h2{font:800 28px 'Barlow Condensed',sans-serif;margin:6px 0 20px}.spotlight-content{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.5fr);border:1px solid #51252c;background:#100d12}.chapter-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px;background:radial-gradient(ellipse at 50% 20%,#31131b,transparent 60%),#101219;border-right:1px solid #51252c}.crest-frame{height:240px;width:100%;display:grid;place-items:center;margin-bottom:15px}.crest-frame img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 10px 15px #000)}.tiny{font-size:8px}.chapter-panel h3{font:900 36px 'Barlow Condensed',sans-serif;margin:10px 0 6px;color:#fff}.chapter-panel p{font-size:9px;letter-spacing:1px;color:#c3c7d0}.red-rule{height:2px;width:48px;background:var(--red);margin:8px}.motto{font:800 11px 'Barlow Condensed',sans-serif;letter-spacing:2px}.contact{display:block;width:100%;padding:14px;margin-top:25px;background:#f22932;color:#fff;text-decoration:none;font-size:9px;font-weight:800;letter-spacing:1px}.roster-panel{padding:25px;min-width:0}.roster-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.roster-head h3{font:800 27px 'Barlow Condensed',sans-serif;margin:5px 0;color:#fff}.pill{border:1px solid #414550;padding:8px;color:#fff;font-size:8px;letter-spacing:1px}.officers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.officer-card{display:flex;align-items:center;gap:12px;padding:11px;background:#111c2d;border:1px solid #51252c;min-width:0}.officer-card.president{grid-column:1/-1;background:linear-gradient(100deg,#2b1118,#111c2d);border-color:#70212a;padding:14px}.officer-photo{position:relative;flex:0 0 64px;width:64px;height:78px;background:linear-gradient(145deg,#303541,#111319);border:1px solid #484e5a;display:grid;place-items:center;overflow:hidden}.president .officer-photo{width:88px;height:100px;flex-basis:88px}.officer-photo img{width:100%;height:100%;object-fit:cover;object-position:top}.locked:after{content:'♟';font-size:24px;color:#8a909c}.locked:before{content:'ROSTER LOCKED';position:absolute;z-index:1;bottom:5px;font-size:6px;letter-spacing:.8px;color:#d3d6dd}.officer-info{min-width:0}.role{font-size:7px;color:#ff6972;letter-spacing:1px;font-weight:800}.officer-info h4{font:700 18px 'Barlow Condensed',sans-serif;margin:6px 0;color:#fff;overflow-wrap:anywhere}.officer-info p{font-size:9px;color:#c2c6cf;margin:0 0 8px}.officer-info a{font-size:8px;color:#ffdadd;text-decoration:none}.note{font-size:9px;line-height:1.6;color:#a3a9b5;margin:17px 0 0}.join{margin:55px 0;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(100deg,#2b1118,#11141a);border:1px solid #51212b}.join h2{font:800 30px 'Barlow Condensed',sans-serif;margin:7px 0;color:#fff}.join p{font-size:11px;color:#c2c6cf;margin:0}.join a{padding:14px 18px;background:#f22932;color:#fff;text-decoration:none;font-size:9px;font-weight:800;white-space:nowrap}footer{border-top:1px solid #292c34;padding:22px clamp(18px,5vw,76px);display:flex;justify-content:space-between;gap:15px;color:#a2a7b2;font-size:8px;letter-spacing:1.2px}footer b{font:900 20px 'Barlow Condensed',sans-serif;color:#fff}@media(max-width:1100px){.chapter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.logo-box{height:125px}}@media(max-width:720px){.topbar{align-items:flex-start;flex-direction:column}.top-stats{gap:18px}.top-stats div{padding-left:12px}.tools{align-items:stretch}.region-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.region-tab{min-width:0;padding:0 8px}.search-sort{display:grid;grid-template-columns:1fr}.search-sort input,.search-sort select{width:100%}.chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.chapter-card{min-height:170px;padding:10px 6px}.logo-box{height:95px}.chapter-card strong{font-size:13px}.spotlight-content{grid-template-columns:1fr}.chapter-panel{border-right:0;border-bottom:1px solid #51252c}.officers{grid-template-columns:1fr}.join{align-items:flex-start;flex-direction:column}.join a{width:100%;text-align:center}footer{flex-wrap:wrap}}@media(max-width:390px){.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v2.1 layout/readability fixes: keep the crest and chapter title separate, prevent roster clipping */
.spotlight-content{grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);width:100%;min-width:0;overflow:hidden}
.chapter-panel,.roster-panel{min-width:0;max-width:100%}
.chapter-panel{padding:clamp(20px,3vw,34px)}
.crest-frame{height:clamp(260px,28vw,340px);max-width:100%;width:100%;margin:0 auto 26px;flex:0 0 auto;padding:8px;overflow:visible}
.crest-frame img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.chapter-panel h3{font-size:clamp(30px,3vw,40px);line-height:1.08;margin:0 0 12px;max-width:100%;overflow-wrap:anywhere;position:relative;z-index:1}
.chapter-panel p{line-height:1.6;margin:0 0 8px;max-width:100%;overflow-wrap:anywhere}
.red-rule{flex:0 0 2px;margin:12px 0}
.motto{line-height:1.5;margin-bottom:4px}
.contact{margin-top:26px;line-height:1.5;overflow-wrap:anywhere}
.roster-panel{padding:clamp(18px,2.5vw,30px)}
.roster-head{align-items:flex-start;flex-wrap:wrap}
.officers{grid-template-columns:minmax(0,1fr);min-width:0}
.officer-card,.officer-card.president{grid-column:auto;min-width:0;max-width:100%;align-items:center}
.officer-info{flex:1;min-width:0;overflow-wrap:anywhere}
.officer-info h4{font-size:clamp(17px,1.5vw,21px);line-height:1.15;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.officer-info p,.officer-info a,.role{line-height:1.5;overflow-wrap:anywhere;white-space:normal}
.officer-photo{flex-shrink:0}
@media(max-width:1000px){.spotlight-content{grid-template-columns:minmax(0,1fr)}.chapter-panel{border-right:0;border-bottom:1px solid #51252c}.crest-frame{height:clamp(260px,48vw,380px);max-width:440px}.officers{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.chapter-panel,.roster-panel{padding:20px 16px}.crest-frame{height:280px;max-width:100%;margin-bottom:22px}.chapter-panel h3{font-size:34px}.officer-card,.officer-card.president{padding:12px;gap:12px}.officer-photo,.president .officer-photo{width:70px;height:82px;flex-basis:70px}.officer-info h4{font-size:18px}.roster-head h3{font-size:25px}}



/* v2.1 readability patch: reserve a dedicated line for chapter name below the crest */
.chapter-panel .crest-frame {
  width: min(100%, 280px);
  height: 230px;
  margin: 0 auto 6px;
  flex: 0 0 auto;
  overflow: visible;
}
.chapter-panel .crest-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: relative;
}
.chapter-panel .chapter-label {
  margin-top: 10px;
  line-height: 1.5;
}
.chapter-panel h3 {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  margin: 8px 0 10px;
  padding: 0 6px;
  line-height: 1.05;
  overflow-wrap: anywhere;
  word-break: normal;
  text-shadow: 0 2px 4px #000;
}
.chapter-panel p {
  position: relative;
  z-index: 2;
  margin-top: 0;
  line-height: 1.5;
}
@media (max-width: 700px) {
  .chapter-panel .crest-frame {
    width: min(100%, 250px);
    height: 205px;
    margin-bottom: 4px;
  }
  .chapter-panel h3 {
    font-size: clamp(27px, 8vw, 36px);
  }
}


/* LATEST PROTOTYPE PATCH — consistent crest/title alignment */
.spotlight-content {
  grid-template-columns: minmax(250px, .82fr) minmax(0, 1.5fr);
  align-items: stretch;
}
.chapter-panel {
  min-width: 0;
  overflow: hidden;
}
.chapter-panel .crest-frame {
  width: min(100%, 280px);
  height: 230px;
  flex: 0 0 230px;
  margin: 0 auto 12px;
  display: grid;
  place-items: center;
  overflow: visible;
}
.chapter-panel .crest-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: relative;
}
.chapter-panel .chapter-label,
.chapter-panel h3,
.chapter-panel p,
.chapter-panel .chapter-motto,
.chapter-panel .contact-cta {
  position: relative;
  z-index: 1;
}
.chapter-panel .chapter-label {
  display: block;
  margin: 0 0 8px;
  line-height: 1.5;
}
.chapter-panel h3 {
  display: block;
  width: 100%;
  margin: 0 0 10px;
  padding: 0 6px;
  line-height: 1.05;
  overflow-wrap: anywhere;
  word-break: normal;
  text-shadow: 0 2px 5px #000;
}
.chapter-panel p {
  margin: 0 0 20px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.chapter-panel .chapter-motto {
  line-height: 1.5;
}
.chapter-panel .contact-cta {
  margin-top: 26px;
  flex-shrink: 0;
}
.chapter-card .logo-box {
  height: 150px;
  min-height: 150px;
}
.chapter-card .logo-box img {
  object-fit: contain;
}
.officer-panel,
.roster-panel {
  min-width: 0;
}
.officer-card,
.officer-info {
  min-width: 0;
}
.officer-info h4,
.officer-info p {
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .spotlight-content {
    grid-template-columns: minmax(0, 1fr);
  }
  .chapter-panel {
    border-right: 0;
    border-bottom: 1px solid #30333d;
  }
  .chapter-panel .crest-frame {
    width: min(100%, 260px);
    height: 215px;
    flex-basis: 215px;
  }
}
@media (max-width: 700px) {
  .chapter-card .logo-box {
    height: 115px;
    min-height: 115px;
  }
  .chapter-panel .crest-frame {
    width: min(100%, 245px);
    height: 205px;
    flex-basis: 205px;
  }
}


/* FINAL FIX: keep all chapter metadata in normal flow BELOW the crest.
   Use actual HTML classes (.tiny, .motto, .contact), not legacy class names. */
.chapter-panel {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  min-width: 0;
  overflow: hidden;
}
.chapter-panel .crest-frame {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  isolation: isolate;
  width: 100% !important;
  max-width: 340px !important;
  height: 300px !important;
  min-height: 300px !important;
  flex: 0 0 300px !important;
  margin: 0 auto 18px !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.chapter-panel .crest-frame img,
#selected-logo {
  display: block !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.chapter-panel > .eyebrow.tiny,
.chapter-panel > #selected-name,
.chapter-panel > #selected-sector,
.chapter-panel > .red-rule,
.chapter-panel > .motto,
.chapter-panel > .contact {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  float: none !important;
  z-index: auto !important;
  flex: 0 0 auto !important;
  clear: both !important;
}
.chapter-panel > .eyebrow.tiny {
  display: block !important;
  margin: 0 0 8px !important;
  line-height: 1.6 !important;
}
.chapter-panel > #selected-name {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 8px !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.chapter-panel > #selected-sector {
  display: block !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  line-height: 1.6 !important;
  overflow-wrap: anywhere !important;
}
.chapter-panel > .red-rule {
  display: block !important;
  margin: 0 auto 12px !important;
}
.chapter-panel > .motto {
  display: block !important;
  margin: 0 0 4px !important;
  line-height: 1.6 !important;
}
.chapter-panel > .contact {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 26px 0 0 !important;
  line-height: 1.5 !important;
}
@media (max-width: 720px) {
  .chapter-panel .crest-frame {
    height: 270px !important;
    min-height: 270px !important;
    flex-basis: 270px !important;
    max-width: 300px !important;
    margin-bottom: 16px !important;
  }
}

/* DIRECTORY CARD POLISH — chapter logo and all labels occupy separate rows */
.chapter-card {
  display:flex !important; flex-direction:column !important;
  align-items:center !important; justify-content:flex-start !important;
  min-width:0; min-height:230px; padding:12px 10px 14px !important;
  overflow:hidden !important; gap:0 !important;
}
.chapter-card .logo-box {
  position:relative !important; display:flex !important;
  align-items:center !important; justify-content:center !important;
  width:100% !important; height:150px !important; min-height:150px !important;
  margin:0 0 10px !important; padding:5px !important;
  overflow:hidden !important; box-sizing:border-box !important;
}
.chapter-card .logo-box img {
  position:static !important; display:block !important;
  width:100% !important; height:100% !important; max-width:100% !important;
  max-height:100% !important; object-fit:contain !important;
  object-position:center !important; transform:none !important;
}
.chapter-card strong {
  position:static !important; display:block !important; width:100% !important;
  min-height:2.7em; margin:0 0 5px !important; padding:0 3px !important;
  line-height:1.25 !important; text-align:center !important;
  white-space:normal !important; overflow-wrap:anywhere !important;
  word-break:normal !important; text-shadow:none !important; z-index:auto !important;
}
.chapter-card small, .chapter-card .sector-label {
  position:static !important; display:block !important; width:100% !important;
  margin:auto 0 0 !important; line-height:1.45 !important; text-align:center !important;
  overflow-wrap:anywhere !important;
}
@media(max-width:1100px){.chapter-card{min-height:215px}.chapter-card .logo-box{height:125px!important;min-height:125px!important}}
@media(max-width:720px){.chapter-card{min-height:185px;padding:9px 6px 10px!important}.chapter-card .logo-box{height:100px!important;min-height:100px!important;margin-bottom:8px!important}.chapter-card strong{font-size:12px!important;min-height:2.6em}}

/* ===== Shared S155CPP multi-page site ===== */
:root{--bg:#08090c;--panel:#171017;--panel2:#161a22;--line:#303440;--red:#f22932;--red2:#f22932;--text:#f5f6f8;--muted:#a4a9b5;--blue:#b7bdc8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 clamp(20px,4vw,64px);background:linear-gradient(100deg,#0b0c10 0%,#0d1118 60%,#0b0c10 100%);border-bottom:1px solid #272b34;position:sticky;top:0;z-index:100;box-shadow:0 8px 30px #0007}
.site-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:275px}
.brand-slash{width:10px;height:56px;background:linear-gradient(135deg,var(--red) 0 28%,transparent 28% 40%,var(--red) 40% 60%,transparent 60%);transform:skew(-16deg)}
.brand-wordmark{font-weight:1000;font-style:italic;font-size:clamp(27px,3vw,43px);letter-spacing:-2px;line-height:.85;text-shadow:2px 3px 0 #333}
.brand-wordmark span{color:var(--red)}
.brand-wordmark small{display:block;font-size:9px;letter-spacing:1.2px;margin-top:8px;color:#e7e9ed;text-shadow:none}
.site-nav{display:flex;align-items:center;gap:4px}
.site-nav a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;text-decoration:none;color:#c6cad3;padding:14px 13px;border-radius:4px;white-space:nowrap;transition:background .18s,color .18s}
.site-nav a:hover,.site-nav a.active{background:linear-gradient(110deg,#6c1720,var(--red));color:#fff}
.nav-toggle{display:none;background:transparent;border:1px solid var(--line);color:white;padding:8px 12px;font-size:22px}
.site-main{min-height:calc(100vh - 160px)}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px clamp(20px,5vw,80px);border-top:1px solid #292d36;color:#8e95a3;font-size:10px;letter-spacing:1.3px;text-transform:uppercase}
.site-footer div{display:flex;align-items:center;gap:12px}.site-footer b{color:#fff;font-size:20px;font-style:italic}.site-footer span:last-child{color:var(--red);font-weight:900}
.content-wrap{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.eyebrow{display:block;color:var(--red2);font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.home-hero{min-height:620px;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:70px max(24px,calc((100% - 1240px)/2));background:radial-gradient(ellipse at 75% 40%,#2b1118 0,transparent 40%),linear-gradient(120deg,#0b0c10,#10131a 65%,#0b0c10)}
.hero-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#72798722 1px,transparent 1px),linear-gradient(90deg,#72798722 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent)}
.hero-copy{position:relative;z-index:2;max-width:610px}
.hero-copy h1,.page-hero h1,.contact-copy h1{font-size:clamp(56px,8vw,104px);line-height:.88;letter-spacing:-4px;margin:22px 0;font-weight:1000}
h1 em,h2 em{font-style:normal;color:var(--red)}
.hero-copy p,.page-hero p{font-size:17px;line-height:1.8;color:#b5bdcb;max-width:560px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:0 20px;font-size:11px;font-weight:900;letter-spacing:1px;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:#f22932}.btn-ghost{border-color:#4a4f5b;color:#f0f1f4;background:#171017}.btn-ghost:hover{border-color:var(--red)}
.hero-metrics{display:flex;gap:34px;margin-top:48px}.hero-metrics div{border-left:2px solid var(--red);padding-left:12px}.hero-metrics b{display:block;font-size:25px}.hero-metrics small{display:block;color:#9199a8;font-size:9px;letter-spacing:1.2px;margin-top:4px}
.hero-art{height:430px;position:relative;display:grid;place-items:center}
.art-ring{position:absolute;border:1px solid #f22932;border-radius:50%;transform:rotate(-25deg)}.ring-one{width:350px;height:350px}.ring-two{width:440px;height:270px;border-color:#4d5361;transform:rotate(35deg)}
.hero-emblem{width:220px;height:220px;border:3px solid #d7dbe3;outline:8px solid #1a1d24;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:50px;font-weight:1000;font-style:italic;background:radial-gradient(circle,#292e39,#08090c 70%);box-shadow:0 0 60px #f2293244,inset 0 0 30px #f2293233;z-index:2}.hero-emblem span{color:var(--red)}.hero-emblem small{font-size:10px;letter-spacing:3px;margin-top:10px}
.hero-bike-line{position:absolute;bottom:20px;right:0;font-size:170px;line-height:1;font-weight:1000;font-style:italic;color:#fff0; -webkit-text-stroke:1px #f2293244;transform:skew(-15deg)}
.hero-stamp{position:absolute;right:2%;top:12%;font-size:9px;letter-spacing:3px;color:#bdc3ce;text-align:right;line-height:1.7}
.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:82px;border-bottom:1px solid #282c35}.home-intro h2,.home-cta h2{font-size:clamp(30px,4vw,48px);line-height:1.05;margin:15px 0}.home-intro>p{color:#adb4c2;line-height:1.9;margin:0;font-size:15px}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-block:42px 82px}.feature-card{min-height:220px;padding:25px;background:linear-gradient(145deg,#151922,#100d12);border:1px solid #303541;text-decoration:none;transition:transform .2s,border-color .2s}.feature-card:hover{transform:translateY(-5px);border-color:var(--red)}.feature-number{color:var(--red);font-weight:900;font-size:12px}.feature-card h3{font-size:17px;margin:30px 0 12px}.feature-card p{font-size:13px;line-height:1.7;color:#aab1bf;min-height:64px}.feature-card b{font-size:10px;color:#fff;letter-spacing:1px}.home-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px;margin-bottom:75px;background:linear-gradient(110deg,#241016,#171017);border:1px solid #51212b}.home-cta p{color:#aeb5c2;line-height:1.7;max-width:660px;margin-bottom:0}
.page-hero{padding-block:82px 54px;border-bottom:1px solid #292d36}.page-hero h1{font-size:clamp(52px,7vw,86px);margin:18px 0}.page-hero p{margin:0}.about-layout{display:grid;grid-template-columns:1.35fr .8fr;gap:70px;padding-block:65px 85px}.about-copy h2{font-size:30px;margin:15px 0 24px}.about-copy p{color:#b4bbc8;font-size:15px;line-height:1.95}.about-copy strong{color:#fff}.values-panel{padding:30px;background:linear-gradient(145deg,#171a22,#0e1015);border:1px solid #333844;height:max-content}.value-row{display:grid;grid-template-columns:42px 1fr;gap:14px;border-bottom:1px solid #303440;padding:22px 0}.value-row:last-child{border-bottom:0}.value-row>b{font-size:20px;color:var(--red)}.value-row h3{margin:0 0 8px;font-size:15px}.value-row p{margin:0;color:#a6adba;font-size:12px;line-height:1.7}.about-banner{padding:60px 0;background:radial-gradient(ellipse at 75% 20%,#2b1118,#0b0c10 60%);border-block:1px solid #2b1118}.about-banner h2{font-size:clamp(40px,6vw,70px);margin:15px 0 25px}
.officer-hero{position:relative;background:radial-gradient(ellipse at 90% 20%,#241016,transparent 45%)}.hero-tagline{margin-top:35px;font-size:11px;font-weight:900;letter-spacing:2px}.hero-tagline i{color:var(--red);font-style:normal;padding:0 8px}
.national-roster{padding-block:50px 80px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-heading h2{font-size:28px;margin:10px 0 0}.roster-count{font-size:10px;letter-spacing:1.5px;color:#aab0bd;border:1px solid #3b404b;padding:10px 12px}.national-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.national-card{min-width:0;position:relative;border:1px solid #51252c;background:linear-gradient(145deg,#181b24,#100d12);overflow:hidden}.national-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--red)}.national-card-top{display:flex;justify-content:space-between;align-items:center;padding:13px 13px 0;color:#8f96a4;font-size:10px}.status-chip{font-size:8px;letter-spacing:1px;border:1px solid #51212b;padding:5px;color:#ff6972}.national-portrait{height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:radial-gradient(ellipse at center,#2b1118,#11141a 60%);margin:12px 12px 0;border:1px dashed #48404a}.portrait-sigil{width:100px;height:100px;border:2px solid #747a86;border-radius:50%;display:grid;place-items:center;font-size:25px;font-weight:1000;font-style:italic;box-shadow:0 0 25px #f2293222}.portrait-sigil span{color:var(--red)}.national-portrait small{font-size:8px;letter-spacing:1.3px;color:#969dab}.national-info{padding:17px 15px 20px}.role-label{font-size:9px;letter-spacing:1px;line-height:1.5;color:#ff6972;font-weight:900}.national-info h2{font-size:18px;line-height:1.25;margin:10px 0;overflow-wrap:anywhere}.national-info p{font-size:11px;color:#9299a7;line-height:1.6;margin:0}.portrait-tba .national-portrait{border-color:#4b2028;background:repeating-linear-gradient(135deg,#17151b,#17151b 10px,#20151b 10px,#20151b 20px)}.portrait-tba .national-info h2{color:#b9bdc6;font-size:15px}.prototype-note{font-size:11px;line-height:1.7;color:#858d9b;margin-top:22px}.events-section{padding-block:50px 80px}.text-link{font-size:10px;color:#fff;text-decoration:none;letter-spacing:1px;font-weight:900}.event-feature{display:grid;grid-template-columns:100px 1fr 45px;gap:25px;align-items:center;padding:27px 20px;border:1px solid #303540;background:linear-gradient(110deg,#151820,#100d12);margin:12px 0}.event-date{height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#180e13;border:1px solid #51212b}.event-date b{font-size:32px;line-height:1}.event-date span{color:#ff6972;font-size:12px;font-weight:900;margin-top:5px}.event-date small{font-size:10px;color:#969dab;margin-top:4px}.event-main h2{font-size:24px;margin:8px 0}.event-main p{color:#aab1bf;line-height:1.7;font-size:13px;margin:7px 0}.event-main .event-place{color:#e3e5ea}.event-index{font-size:26px;font-weight:900;color:#333944}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.8fr);gap:20px;padding-block:45px 70px}.calendar-card,.calendar-side{background:#101218;border:1px solid #51252c;padding:22px;min-width:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.calendar-toolbar h2{margin:8px 0 0;font-size:24px}.calendar-arrow{width:38px;height:38px;border:1px solid #424753;background:#181b23;color:#fff;font-size:25px;cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays span{text-align:center;color:#9098a7;font-size:9px;font-weight:900;letter-spacing:1px;padding:10px 0}.calendar-day{min-height:66px;border:1px solid #282d37;background:#151820;color:#f4f5f7;text-align:left;padding:8px;position:relative;cursor:pointer}.calendar-day:hover{border-color:#f22932}.calendar-day.selected-day{background:#2b1118;border-color:var(--red)}.calendar-day.today-day span{color:#ff6972;font-weight:900}.calendar-day.empty-day{background:transparent;border-color:transparent;cursor:default}.event-dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--red);margin-top:14px}.calendar-legend{display:flex;justify-content:space-between;gap:12px;margin-top:20px;color:#8f97a5;font-size:10px}.calendar-legend i{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:5px}.calendar-side h2{font-size:22px;line-height:1.3}.selected-events{margin:18px 0 28px}.mini-event{border-left:2px solid var(--red);padding:3px 0 3px 14px;margin:15px 0}.mini-event h3{font-size:17px;margin:8px 0}.mini-event p{font-size:12px;line-height:1.6;color:#aab1bf}.mini-event a{font-size:10px;color:#ff6972}.empty-calendar{font-size:12px;color:#8f97a5;line-height:1.7}.submit-event-box{padding:20px;background:#18151b;border:1px solid #51212b}.submit-event-box h3{font-size:20px;margin:12px 0}.submit-event-box p{font-size:12px;color:#a8afbd;line-height:1.7}.small-note{font-size:10px}.full{width:100%}.event-form-section{padding-bottom:70px}.form-panel{max-width:800px;margin:0 auto;padding:28px;background:#171017;border:1px solid #333844}.hidden{display:none!important}.site-form{display:flex;flex-direction:column;gap:17px}.site-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#e6e8ed}.site-form input,.site-form textarea,.site-form select{width:100%;border:1px solid #393e49;background:#111c2d;color:#fff;padding:13px 14px;border-radius:4px;font:inherit;outline:none}.site-form input:focus,.site-form textarea:focus,.site-form select:focus{border-color:var(--red)}.site-form textarea{resize:vertical}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-layout{display:grid;grid-template-columns:1fr .95fr;gap:70px;padding-block:70px 90px}.contact-copy h1{font-size:clamp(58px,7vw,90px)}.contact-copy>p{max-width:480px;color:#b4bbc8;line-height:1.8}.contact-details{margin-top:100px}.contact-details h2{font-size:22px;margin-bottom:25px}.contact-detail{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid #272b34}.detail-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid #51212b;color:#ff6972;font-weight:900}.contact-detail small{display:block;color:#8e96a5;font-size:9px;letter-spacing:1.3px;margin-bottom:5px}.contact-detail a{font-size:13px;text-decoration:none;overflow-wrap:anywhere}.contact-detail a:hover{color:#ff6972}.contact-form-card{padding:30px;border:1px solid #51252c;background:#0c0e13;border-radius:5px}.contact-form-card h2{font-size:23px;margin:12px 0 25px}.form-feedback{font-size:12px;color:#ff6972;margin:0}
@media(max-width:1100px){.site-header{padding-inline:20px}.site-nav a{padding:12px 8px;font-size:10px}.site-brand{min-width:240px}.brand-wordmark{font-size:30px}.national-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(2,1fr)}.hero-art{transform:scale(.85)}}
@media(max-width:800px){.site-header{height:76px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;padding:12px 18px 18px;background:#100d12;border-bottom:1px solid #51252c;flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.site-nav a{font-size:12px}.site-brand{min-width:0}.brand-wordmark{font-size:27px}.brand-wordmark small{font-size:7px}.home-hero{grid-template-columns:1fr;padding-top:60px;padding-bottom:30px}.hero-art{height:310px;transform:scale(.8);margin-top:15px}.home-intro,.about-layout,.contact-layout,.calendar-layout{grid-template-columns:1fr;gap:30px}.about-layout{padding-block:40px}.contact-details{margin-top:45px}.national-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-side{order:2}.site-footer{flex-wrap:wrap}.event-feature{grid-template-columns:70px 1fr 25px;gap:14px}.event-date{height:78px}.event-main h2{font-size:20px}}
@media(max-width:520px){.content-wrap{width:calc(100% - 32px)}.hero-copy h1{font-size:60px}.hero-metrics{gap:16px}.hero-metrics b{font-size:21px}.hero-metrics small{font-size:7px}.feature-grid,.national-grid{grid-template-columns:1fr}.feature-card{min-height:180px}.home-cta{display:block;padding:22px}.home-cta .btn{margin-top:22px}.page-hero{padding-block:55px 35px}.page-hero h1{font-size:54px}.event-feature{grid-template-columns:60px 1fr}.event-index{display:none}.event-date{height:70px}.event-main h2{font-size:18px}.form-two{grid-template-columns:1fr}.calendar-card,.calendar-side{padding:13px}.calendar-day{min-height:47px;padding:5px;font-size:12px}.calendar-legend{flex-direction:column}.contact-layout{padding-block:40px}.contact-form-card{padding:20px}.site-footer{font-size:9px}.site-footer div{width:100%}}


/* Official S155CP nationwide emblem in the homepage hero */
.official-national-emblem {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 470px);
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  position: relative;
  isolation: isolate;
  background: radial-gradient(circle, rgba(226, 20, 38, .14), rgba(8, 10, 14, 0) 68%);
}
.official-national-emblem img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 18px 32px rgba(0, 0, 0, .55));
}


/* v3 homepage: let the official national crest be the dominant visual */
.official-national-emblem {
  width: min(100%, 590px);
  aspect-ratio: 1 / 1;
  background: radial-gradient(circle, rgba(237, 28, 43, .18), rgba(8, 10, 14, 0) 70%);
  margin-inline: auto;
}
.official-national-emblem img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 22px 36px rgba(0,0,0,.58));
}
.hero-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 620px) {
  .hero-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .official-national-emblem { width: min(100%, 410px); }
}

/* Calendar category priority colors:
   Yamaha/YCLUB = gold, National = red, Sponsor = cyan,
   Public = violet, Chapter = green. */
.cat-yamaha { --event-color: #f4bd43; }
.cat-national { --event-color: #f22932; }
.cat-sponsor { --event-color: #36c7df; }
.cat-public { --event-color: #a78bfa; }
.cat-chapter { --event-color: #63d39b; }

.category-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  padding-top: 18px;
}
.category-legend .legend-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #cbd0db;
  font-size: 10px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.category-legend i,
.event-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--event-color, #f22932);
}
.category-legend .legend-time {
  width: 100%;
  color: #8e98aa;
  font-size: 10px;
  margin-top: 5px;
}
.calendar-day.has-events {
  border-color: color-mix(in srgb, var(--event-color, #f22932) 30%, #292e39);
}
.calendar-day-number { display: block; }
.calendar-dots {
  display: flex;
  gap: 4px;
  margin-top: 7px;
  flex-wrap: wrap;
}
.calendar-dots .event-dot {
  width: 6px;
  height: 6px;
}
.calendar-day-chips {
  display: grid;
  gap: 4px;
  margin-top: 7px;
  width: 100%;
}
.calendar-event-chip {
  display: block;
  padding: 3px 4px;
  border-left: 2px solid var(--event-color);
  background: color-mix(in srgb, var(--event-color) 12%, #11141a);
  color: #f4f5f8;
  font-size: 9px;
  line-height: 1.25;
  text-align: left;
  overflow-wrap: anywhere;
}
.calendar-day {
  height: auto;
  min-height: 84px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-start;
}
.calendar-day.selected-day {
  box-shadow: inset 0 0 0 1px #f22932;
}
.event-category-pill {
  display: inline-flex;
  align-items: center;
  border-left: 3px solid var(--event-color);
  background: color-mix(in srgb, var(--event-color) 13%, #11141a);
  color: #f5f6fa;
  padding: 6px 9px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mini-event {
  border-left: 2px solid var(--event-color, #f22932);
  padding-left: 12px;
}
.mini-event h3 { margin-top: 10px; }
@media (max-width: 720px) {
  .calendar-day { min-height: 58px; padding: 7px 5px; }
  .calendar-day-chips { display: none; }
  .calendar-dots { margin-top: 5px; }
}


/* v4 homepage: clean hero with only the large official S155CP national crest */
.home-hero {
  background:
    radial-gradient(ellipse at 78% 42%, rgba(107, 13, 25, .28) 0%, rgba(12, 13, 17, 0) 48%),
    linear-gradient(120deg, #0b0c10 0%, #101116 58%, #0b0c10 100%);
}
.hero-grid { display: none !important; }
.art-ring, .ring-one, .ring-two { display: none !important; }
.hero-art {
  width: 100%;
  height: auto;
  min-height: 0;
  transform: none !important;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible;
}
.official-national-emblem {
  width: min(100%, 650px);
  height: auto;
  aspect-ratio: auto;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: block;
  margin: 0 auto;
  padding: 0;
  z-index: 1;
}
.official-national-emblem img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 590px;
  object-fit: contain;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.48));
}
.brand-partners {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 36px;
  padding-block: 54px;
  border-bottom: 1px solid #282c35;
}
.brand-partners-heading h2 {
  margin: 12px 0;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.05;
}
.brand-partners-heading p {
  color: #aeb5c2;
  font-size: 13px;
  line-height: 1.8;
  max-width: 440px;
}
.brand-partner-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(22px, 4vw, 52px);
  padding: 28px;
  min-height: 150px;
  background: linear-gradient(120deg, #11141a, #0c0e12);
  border: 1px solid #3d2028;
}
.brand-partner-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.brand-partner-item img {
  display: block;
  max-width: 100%;
  width: 230px;
  height: 72px;
  object-fit: contain;
}
.yclub-partner img { width: 220px; }
.brand-partner-item span {
  color: #8e96a5;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-align: center;
}
.brand-partner-divider {
  width: 1px;
  align-self: stretch;
  background: #51252c;
}
@media (max-width: 800px) {
  .home-hero { grid-template-columns: 1fr; }
  .hero-art { grid-row: 1; margin-bottom: 25px; }
  .official-national-emblem { width: min(100%, 520px); }
  .official-national-emblem img { max-height: none; }
  .brand-partners { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 520px) {
  .official-national-emblem { width: min(100%, 410px); }
  .brand-partner-logos { gap: 14px; padding: 18px 12px; }
  .brand-partner-item img { height: 48px; }
  .brand-partner-item span { font-size: 7px; letter-spacing: .8px; }
}


/* v5: official partner hierarchy and shared Yamaha / YCLUB branding */
.site-header { gap: 18px; }
.site-brand { min-width: 0; flex: 0 0 auto; gap: 10px; }
.brand-wordmark { font-size: clamp(25px, 2.35vw, 36px); }
.brand-wordmark small { font-size: 7px; letter-spacing: .85px; white-space: nowrap; }
.header-partner-lockup {
  display: flex; align-items: center; gap: 9px; margin-left: 7px;
  padding-left: 13px; border-left: 1px solid #51252c;
}
.header-partner-lockup img { display: block; width: 48px; height: 25px; object-fit: contain; }
.header-partner-lockup img:first-child { width: 58px; }
.site-nav { gap: 2px; }
.site-nav a { padding: 12px 10px; font-size: 10px; }
.site-footer { align-items: center; gap: 24px; }
.footer-identity { display: flex; flex-direction: column; gap: 4px; min-width: 225px; }
.site-footer .footer-identity b { font-size: 22px; letter-spacing: -.5px; }
.site-footer .footer-identity span { font-size: 8px; letter-spacing: 1px; color: #c3c8d2; }
.footer-partner-lockup { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 0 26px; border-inline: 1px solid #51252c; }
.footer-partner-lockup img { width: 100px; height: 38px; object-fit: contain; }
.footer-partner-lockup img:first-child { width: 120px; }
.footer-values { display: flex; flex-direction: column; align-items: flex-end; gap: 9px; text-align: right; }
.site-footer .footer-values span { color: #a5acb9; font-size: 8px; letter-spacing: 1px; }
.site-footer .footer-values strong { color: var(--red); font-size: 10px; letter-spacing: 1.5px; }
.brand-partners { display: grid; grid-template-columns: minmax(230px,.65fr) minmax(0,1.7fr); align-items: start; gap: 42px; padding-block: 72px; border-bottom: 1px solid #282c35; }
.brand-partners-heading { position: sticky; top: 125px; }
.brand-partners-heading h2 { margin: 14px 0; font-size: clamp(32px,4vw,50px); line-height: .98; }
.brand-partners-heading p { max-width: 360px; color: #adb4c2; font-size: 13px; line-height: 1.8; }
.partner-showcase { min-width: 0; }
.partner-tabs { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #51252c; margin-bottom: 20px; }
.partner-tab { appearance: none; border: 1px solid #51252c; border-bottom: 0; padding: 13px 16px; background: #171017; color: #b8bfcc; cursor: pointer; font: 900 10px Arial, sans-serif; letter-spacing: 1px; }
.partner-tab.active,.partner-tab:hover { color: #fff; border-color: #f22932; background: linear-gradient(110deg,#2b1118,#17121a); }
.partner-panel[hidden] { display: none !important; }
.partner-panel { animation: partnerFade .2s ease-out; }
@keyframes partnerFade { from {opacity:.45;transform:translateY(3px)} to {opacity:1;transform:translateY(0)} }
.lead-partners { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.lead-partner-card { position: relative; min-height: 190px; padding: 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: radial-gradient(ellipse at 50% 0,#2b1118,transparent 70%),linear-gradient(145deg,#171a22,#100d12); border: 1px solid #70212a; text-align: center; }
.partner-rank { font-size: 8px; font-weight: 900; letter-spacing: 1.4px; color: #ff6972; }
.lead-partner-card img { width: min(100%,220px); height: 66px; object-fit: contain; }
.lead-partner-card h3 { margin: 0; font-size: 16px; letter-spacing: 1.2px; }
.lead-partner-card p { margin: 0; color: #9da5b4; font-size: 8px; letter-spacing: 1px; text-align: center; }
.featured-partner-card { display: flex; align-items: center; gap: 24px; padding: 18px 22px; margin: 12px 0; background: linear-gradient(100deg,#231217,#171017); border: 1px solid #4b2028; }
.featured-partner-card img { width: 82px; height: 82px; object-fit: contain; }
.featured-partner-card h3,.event-sponsor-feature h3 { margin: 7px 0 5px; font-size: 17px; letter-spacing: 1px; }
.featured-partner-card p,.event-sponsor-feature p { color: #aeb5c2; font-size: 11px; line-height: 1.7; margin: 0; }
.partner-logo-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.partner-logo-card { min-width: 0; min-height: 118px; padding: 14px 10px 12px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; border: 1px solid #51252c; background: linear-gradient(145deg,#171a22,#100d12); }
.partner-logo-card img { display: block; width: 100%; height: 54px; object-fit: contain; }
.partner-logo-card span { color: #c3c9d4; font-size: 8px; font-weight: 900; letter-spacing: .8px; text-align: center; }
.partner-order-note { margin: 14px 0 0; color: #737c8c; font-size: 9px; line-height: 1.7; }
.event-sponsor-feature { display: grid; grid-template-columns: 150px minmax(0,1fr); align-items: center; gap: 24px; min-height: 210px; padding: 28px; border: 1px solid #4b2028; background: radial-gradient(ellipse at 20% 50%,#2b1118,transparent 60%),#171017; }
.event-sponsor-logo { display: grid; place-items: center; height: 130px; background: #171a22; border: 1px solid #353a46; }
.event-sponsor-logo img { width: 90%; height: 90%; object-fit: contain; }
@media(max-width:1250px) {
  .site-header { gap: 10px; padding-inline: 18px; }
  .brand-wordmark { font-size: 26px; }
  .brand-wordmark small { font-size: 6px; letter-spacing: .55px; }
  .header-partner-lockup { gap: 5px; margin-left: 2px; padding-left: 8px; }
  .header-partner-lockup img { width: 35px; height: 21px; }
  .header-partner-lockup img:first-child { width: 42px; }
  .site-nav a { padding: 10px 7px; font-size: 9px; }
  .brand-partners { gap: 25px; }
}
@media(max-width:1000px) {
  .header-partner-lockup { display: none; }
  .brand-partners { grid-template-columns: 1fr; gap: 22px; }
  .brand-partners-heading { position: static; }
  .brand-partners-heading p { max-width: 650px; }
  .site-footer { flex-wrap: wrap; }
  .footer-partner-lockup { order: 3; width: 100%; border-inline: 0; border-top: 1px solid #51252c; padding: 18px 0 0; }
  .footer-values { margin-left: auto; }
}
@media(max-width:800px) {
  .header-partner-lockup { display: flex; border-left: 0; margin-left: 0; padding-left: 0; }
  .site-brand { gap: 8px; }
  .brand-slash { width: 7px; height: 44px; }
  .header-partner-lockup img { width: 31px; height: 19px; }
  .header-partner-lockup img:first-child { width: 36px; }
  .brand-partners { width: calc(100% - 32px); padding-block: 48px; }
  .lead-partners { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .partner-logo-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .event-sponsor-feature { grid-template-columns: 100px minmax(0,1fr); padding: 18px; gap: 16px; }
  .event-sponsor-logo { height: 100px; }
  .site-footer .footer-identity { min-width: 0; }
}
@media(max-width:520px) {
  .brand-wordmark { font-size: 24px; }
  .brand-wordmark small { font-size: 5.4px; letter-spacing: .3px; }
  .header-partner-lockup { gap: 4px; }
  .header-partner-lockup img { width: 26px; height: 16px; }
  .header-partner-lockup img:first-child { width: 30px; }
  .partner-tab { flex: 1 1 100%; text-align: left; }
  .lead-partners { grid-template-columns: 1fr; }
  .partner-logo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .featured-partner-card { gap: 14px; padding: 15px; }
  .featured-partner-card img { width: 65px; height: 65px; }
  .event-sponsor-feature { grid-template-columns: 1fr; }
  .event-sponsor-logo { width: 100%; }
  .footer-partner-lockup { gap: 18px; }
  .footer-values { margin-left: 0; align-items: flex-start; text-align: left; width: 100%; }
}


/* v6: partner labels and clickable Facebook logo cards */
.partner-logo-link { color: inherit; text-decoration: none; }
.partner-logo-link:focus-visible,.partner-logo-card:focus-visible {
  outline: 2px solid #f22932; outline-offset: 4px;
}
.partner-logo-card { color: inherit; text-decoration: none; transition: border-color .18s ease, transform .18s ease, background .18s ease; }
.partner-logo-card:hover { border-color: #f22932; transform: translateY(-2px); background: linear-gradient(145deg,#20171c,#171017); }
.lead-partner-card .partner-logo-link { display: grid; place-items: center; width: 100%; min-height: 66px; }
.featured-partner-card { color: inherit; text-decoration: none; }
.featured-partner-card:hover { border-color: #f22932; }
.featured-partner-card img { flex: 0 0 auto; }
.featured-partner-card h3 { margin: 7px 0 5px; }
.partner-role { color: #ff6972; font-size: 8px; font-weight: 900; letter-spacing: 1.1px; }
.partner-logo-card .partner-role { display: block; margin-top: -7px; text-align: center; line-height: 1.4; }
.event-sponsors-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 26px 0 12px; padding-top: 19px; border-top: 1px solid #38303a; }
.event-sponsors-heading h3 { margin: 0; font-size: 15px; letter-spacing: 1.2px; }
.event-sponsors-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
@media(max-width:800px) {
  .event-sponsors-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}


/* v7 homepage interaction: fade from national crest to the three island groups */
.hero-metrics .hero-metric {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  text-align: left;
  color: inherit;
  font: inherit;
  border: 0;
  border-left: 2px solid var(--red);
  border-radius: 0;
  background: transparent;
  padding: 0 0 0 12px;
  cursor: pointer;
  transition: opacity .2s ease, border-color .2s ease;
}
.hero-metrics .hero-metric:hover,
.hero-metrics .hero-metric:focus-visible {
  border-left-color: #fff;
  outline: none;
}
.hero-metrics .hero-metric:focus-visible {
  box-shadow: 0 0 0 2px #f2293266;
}
.hero-metrics .hero-metric b { display: block; font-size: 25px; }
.hero-metrics .hero-metric small {
  display: block;
  color: #9199a8;
  font-size: 9px;
  letter-spacing: 1.2px;
  margin-top: 4px;
}
.hero-visual-switch {
  position: relative;
  width: min(100%, 590px);
  min-height: 500px;
  display: grid;
  place-items: center;
  isolation: isolate;
}
.hero-visual-switch .official-national-emblem,
.hero-visual-switch .philippines-map-visual {
  grid-area: 1 / 1;
  width: 100%;
  max-width: 590px;
  transition: opacity .55s ease, transform .65s cubic-bezier(.2,.75,.25,1), filter .55s ease;
}
.hero-visual-switch .official-national-emblem {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  filter: blur(0);
  pointer-events: auto;
}
.philippines-map-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: scale(.94);
  filter: blur(5px);
  pointer-events: none;
  padding: 16px 10px;
}
.map-visual-kicker {
  color: #b9c1ce;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 2.2px;
  text-align: center;
  margin-bottom: -4px;
}
.philippines-map {
  display: block;
  width: min(100%, 440px);
  height: auto;
  max-height: 420px;
  overflow: visible;
}
.philippines-map .map-luzon path {
  fill: #f22932;
  stroke: #ff6972;
  stroke-width: 1.6;
}
.philippines-map .map-visayas path {
  fill: #f2b93f;
  stroke: #ffe09a;
  stroke-width: 1.6;
}
.philippines-map .map-mindanao path {
  fill: #35c9a0;
  stroke: #a2ffe0;
  stroke-width: 1.6;
}
.philippines-map .map-minor-islands circle {
  fill: #d8e0ed;
  stroke: #08090c;
  stroke-width: 1;
}
.map-visual-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 22px;
  margin-top: -8px;
}
.map-visual-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 9px;
  letter-spacing: 1.2px;
}
.map-visual-legend i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
}
.legend-luzon { background: #f22932; }
.legend-visayas { background: #f2b93f; }
.legend-mindanao { background: #35c9a0; }
.map-visual-caption {
  margin-top: 20px;
  color: #f22932;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 2.3px;
}
.home-hero.show-island-map .official-national-emblem {
  opacity: 0;
  visibility: hidden;
  transform: scale(1.04);
  filter: blur(7px);
  pointer-events: none;
}
.home-hero.show-island-map .philippines-map-visual {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  filter: blur(0);
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .hero-visual-switch .official-national-emblem,
  .hero-visual-switch .philippines-map-visual,
  .hero-metrics .hero-metric { transition: none; }
}
@media (max-width: 800px) {
  .hero-visual-switch { min-height: 360px; }
  .hero-visual-switch .official-national-emblem,
  .hero-visual-switch .philippines-map-visual { width: min(100%, 410px); }
  .philippines-map { max-height: 290px; width: min(100%, 320px); }
  .map-visual-kicker { font-size: 8px; letter-spacing: 1.4px; }
  .map-visual-legend { gap: 9px 14px; }
}
@media (max-width: 520px) {
  .hero-visual-switch { min-height: 315px; }
  .philippines-map { max-height: 245px; width: min(100%, 280px); }
  .map-visual-caption { margin-top: 12px; }
}


/* v8: interactive national overview — one family, island groups, sectors, chapter network */
.hero-metrics {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px !important;
  max-width: 610px;
  margin-top: 42px !important;
}
.hero-metrics .hero-metric {
  min-width: 0;
  min-height: 52px;
  text-align: left;
  color: inherit;
  font: inherit;
  border: 0;
  border-left: 2px solid var(--red);
  border-radius: 0;
  background: transparent;
  padding: 0 0 0 11px;
  cursor: pointer;
  transition: border-color .25s ease, transform .25s ease, opacity .25s ease;
}
.hero-metrics .hero-metric b { display:block; font-size:25px; line-height:1; }
.hero-metrics .hero-metric small { display:block; color:#9199a8; font-size:8px; letter-spacing:1.05px; line-height:1.4; margin-top:6px; }
.hero-metrics .hero-metric:hover,
.hero-metrics .hero-metric:focus-visible,
.hero-metrics .hero-metric[aria-pressed="true"] {
  border-left-color: #fff;
  transform: translateY(-2px);
  outline: none;
}
.hero-metrics .hero-metric:focus-visible { box-shadow:0 0 0 2px #f2293266; }
.hero-visual-switch {
  position:relative;
  display:grid;
  place-items:center;
  isolation:isolate;
  width:min(100%, 590px);
  min-height:530px;
}
.hero-visual-switch > .official-national-emblem,
.hero-visual-switch > .map-view {
  grid-area:1 / 1;
  width:min(100%, 510px);
  max-width:510px;
  transition:opacity .55s ease, transform .65s cubic-bezier(.2,.75,.25,1), filter .55s ease;
}
.hero-visual-switch > .official-national-emblem {
  opacity:1;
  visibility:visible;
  transform:scale(1);
  filter:blur(0);
  pointer-events:auto;
  overflow:visible;
}
.official-national-emblem .family-energy-ring {
  position:absolute;
  inset:7%;
  border:1px solid rgba(242,41,50,.7);
  border-radius:50%;
  opacity:0;
  transform:scale(.78);
  pointer-events:none;
}
.official-national-emblem .family-energy-ring::before,
.official-national-emblem .family-energy-ring::after {
  content:"";
  position:absolute;
  inset:9%;
  border:1px solid rgba(238,242,248,.45);
  border-radius:50%;
}
.official-national-emblem .family-energy-ring::after { inset:18%; border-color:rgba(242,41,50,.55); }
.family-visual-caption {
  position:absolute;
  left:0; right:0; bottom:2%;
  text-align:center;
  color:#f4f5f8;
  font-size:9px;
  font-weight:900;
  letter-spacing:2.1px;
  text-shadow:0 2px 12px #0b0c10;
  opacity:0;
  transition:opacity .35s ease;
}
.home-hero.show-family .official-national-emblem .family-energy-ring {
  animation: family-orbit 2.6s ease-out infinite;
  opacity:1;
}
.home-hero.show-family .official-national-emblem .family-energy-ring::before { animation: family-orbit 2.6s .45s ease-out infinite; }
.home-hero.show-family .official-national-emblem .family-energy-ring::after { animation: family-orbit 2.6s .9s ease-out infinite; }
.home-hero.show-family .family-visual-caption { opacity:1; }
@keyframes family-orbit {
  0% { transform:scale(.72); opacity:0; }
  28% { opacity:.8; }
  100% { transform:scale(1.13); opacity:0; }
}
.map-view {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:10px 4px;
  opacity:0;
  visibility:hidden;
  transform:scale(.94);
  filter:blur(5px);
  pointer-events:none;
}
.map-visual-kicker {
  color:#b9c1ce;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.8px;
  text-align:center;
  margin-bottom:5px;
}
.geography-map {
  display:block;
  width:min(100%, 430px);
  height:auto;
  max-height:410px;
  overflow:visible;
}
.geography-map path {
  stroke:#f7f8fb;
  stroke-width:1.5;
  stroke-linejoin:round;
}
.geo-luzon path { fill:#f22932; }
.geo-visayas path { fill:#f2b93f; }
.geo-mindanao path { fill:#35c9a0; }
.geo-islets circle { fill:#c8d0dc; }
.map-visual-legend {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 20px;
  margin-top:-2px;
}
.map-visual-legend span { display:inline-flex; align-items:center; gap:7px; font-size:9px; letter-spacing:1.1px; }
.map-visual-legend i { width:9px; height:9px; border-radius:50%; display:inline-block; }
.legend-luzon { background:#f22932; }
.legend-visayas { background:#f2b93f; }
.legend-mindanao { background:#35c9a0; }
.map-visual-caption { margin-top:17px; color:#f22932; font-size:8px; font-weight:900; letter-spacing:1.8px; text-align:center; }
.sector-map .sector-north { fill:#f22932; }
.sector-map .sector-ncr { fill:#f22932; }
.sector-map .sector-calabarzon { fill:#f2b93f; }
.sector-map .sector-bicol { fill:#a879ff; }
.sector-map .sector-visayas { fill:#35c9a0; }
.sector-map .sector-mindanao { fill:#f22932; }
.sector-map .sector-north,
.sector-map .sector-ncr,
.sector-map .sector-calabarzon,
.sector-map .sector-bicol,
.sector-map .sector-visayas,
.sector-map .sector-mindanao { stroke:#f8f9fc; stroke-width:1.4; stroke-linejoin:round; }
.sector-legend {
  display:grid;
  grid-template-columns:repeat(3,auto);
  gap:9px 13px;
  justify-content:center;
  color:#e7eaf0;
  font-size:8px;
  font-weight:800;
  letter-spacing:.65px;
}
.sector-legend span { display:flex; align-items:center; gap:6px; white-space:nowrap; }
.sector-dot { display:inline-block; width:8px; height:8px; border-radius:50%; }
.sector-dot.north { background:#f22932; }
.sector-dot.ncr { background:#f22932; }
.sector-dot.calabarzon { background:#f2b93f; }
.sector-dot.bicol { background:#a879ff; }
.sector-dot.visayas { background:#35c9a0; }
.sector-dot.mindanao { background:#f22932; }
.chapter-network-map { width:min(100%, 520px); max-height:445px; }
.network-islands path { fill:#19212c; stroke:#9da8b9; stroke-width:1.4; stroke-linejoin:round; }
.network-lines path { fill:none; stroke:#f22932; stroke-width:1; stroke-dasharray:3 3; opacity:.9; }
.network-pins circle { fill:#f22932; stroke:#fff; stroke-width:1; }
.network-labels text { fill:#f0f2f7; font-family:Arial,sans-serif; font-size:11px; font-weight:900; letter-spacing:.8px; }
.home-hero.show-island-map .official-national-emblem,
.home-hero.show-sector-map .official-national-emblem,
.home-hero.show-chapter-map .official-national-emblem {
  opacity:0; visibility:hidden; transform:scale(1.04); filter:blur(7px); pointer-events:none;
}
.home-hero.show-island-map [data-visual="islands"],
.home-hero.show-sector-map [data-visual="sectors"],
.home-hero.show-chapter-map [data-visual="chapters"] {
  opacity:1; visibility:visible; transform:scale(1); filter:blur(0); pointer-events:auto;
}
.home-hero.show-island-map [data-visual]:not([data-visual="islands"]),
.home-hero.show-sector-map [data-visual]:not([data-visual="sectors"]),
.home-hero.show-chapter-map [data-visual]:not([data-visual="chapters"]) {
  opacity:0; visibility:hidden; pointer-events:none;
}
@media(max-width:1100px) {
  .hero-metrics { gap:8px !important; }
  .hero-metrics .hero-metric { padding-left:8px; }
  .hero-visual-switch { min-height:450px; }
}
@media(max-width:800px) {
  .hero-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px !important; }
  .hero-metrics .hero-metric b { font-size:22px; }
  .hero-metrics .hero-metric small { font-size:7px; letter-spacing:.55px; }
  .hero-visual-switch { min-height:380px; }
  .hero-visual-switch > .official-national-emblem,
  .hero-visual-switch > .map-view { width:min(100%, 390px); }
  .geography-map { max-height:310px; width:min(100%, 340px); }
  .chapter-network-map { max-height:330px; }
}
@media(max-width:520px) {
  .hero-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:18px !important; }
  .hero-visual-switch { min-height:320px; }
  .geography-map { max-height:260px; width:min(100%, 290px); }
  .sector-legend { grid-template-columns:repeat(2,auto); }
  .chapter-network-map { max-height:280px; }
  .network-labels text { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-visual-switch > *, .hero-metrics .hero-metric { transition:none !important; }
  .home-hero.show-family .family-energy-ring,
  .home-hero.show-family .family-energy-ring::before,
  .home-hero.show-family .family-energy-ring::after { animation:none !important; }
}


/* v9: accurate coastline chapter network. The map expands so chapter callouts stay readable. */
.chapter-network-map-image {
  display:block;
  width:min(100%, 1480px);
  max-height:calc(100vh - 125px);
  height:auto;
  object-fit:contain;
  margin:0 auto;
}
.chapter-network-view .map-visual-kicker { margin:0 0 4px; }
.chapter-network-view .map-visual-caption { margin-top:2px; }
.chapter-map-close {
  position:absolute;
  top:12px;
  right:16px;
  z-index:3;
  width:38px;
  height:38px;
  border:1px solid #485160;
  border-radius:50%;
  color:#fff;
  background:#171b23;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.chapter-map-close:hover,.chapter-map-close:focus-visible { background:#f22932; border-color:#f22932; outline:none; }
.home-hero.show-chapter-map .chapter-network-view {
  position:fixed;
  inset:2vh 2vw;
  z-index:1000;
  width:auto;
  max-width:none;
  height:96vh;
  box-sizing:border-box;
  padding:24px 24px 12px;
  overflow:auto;
  background:radial-gradient(ellipse at 50% 45%,#1a202b 0%,#100d12 68%);
  border:1px solid #343b48;
  box-shadow:0 24px 100px #000d;
  transform:none;
  filter:none;
}
.home-hero.show-chapter-map .chapter-network-map-image { max-height:calc(96vh - 100px); }
@media(max-width:800px) {
  .home-hero.show-chapter-map .chapter-network-view { inset:1vh 1vw; height:98vh; padding:45px 6px 10px; }
  .home-hero.show-chapter-map .chapter-network-map-image { width:100%; max-height:calc(98vh - 100px); }
  .chapter-map-close { top:6px; right:8px; }
}

/* v11: slightly larger homepage visuals, still contained in the hero-art panel. */
.hero-visual-switch {
  width: min(100%, 640px);
  min-height: 550px;
  max-height: 640px;
  overflow: hidden;
}
.hero-visual-switch > .official-national-emblem,
.hero-visual-switch > .map-view {
  width: min(100%, 620px);
  max-width: 620px;
  max-height: 550px;
  box-sizing: border-box;
}
.hero-visual-switch > .map-view {
  height: 100%;
  overflow: hidden;
  padding: 10px 8px 8px;
}
.hero-visual-switch .geography-map {
  width: min(100%, 425px);
  max-height: 390px;
  flex: 1 1 auto;
  min-height: 0;
}
.hero-visual-switch .sector-legend {
  flex: 0 0 auto;
  margin-top: 2px;
  gap: 7px 12px;
  font-size: 8px;
}
.chapter-network-map-image {
  width: min(100%, 550px);
  max-height: 435px;
  height: auto;
  flex: 1 1 auto;
  min-height: 0;
  object-fit: contain;
  margin: 0 auto;
}
.chapter-network-view .map-visual-kicker { margin: 0 0 4px; }
.chapter-network-view .map-visual-caption { margin-top: 3px; }
.chapter-map-close { display: none !important; }
/* Override the previous full-screen chapter-map treatment. */
.home-hero.show-chapter-map .chapter-network-view {
  position: relative;
  inset: auto;
  z-index: auto;
  width: min(100%, 620px);
  max-width: 620px;
  height: 100%;
  padding: 14px 10px 10px;
  overflow: hidden;
  background: transparent;
  border: 0;
  box-shadow: none;
  transform: scale(1);
  filter: blur(0);
}
.home-hero.show-chapter-map .chapter-network-map-image {
  width: min(100%, 550px);
  max-height: 435px;
}
@media (max-width: 1100px) {
  .hero-visual-switch { min-height: 460px; max-height: 510px; }
  .hero-visual-switch > .official-national-emblem,
  .hero-visual-switch > .map-view { max-height: 460px; }
  .hero-visual-switch .geography-map { max-height: 330px; }
  .chapter-network-map-image { max-height: 350px; }
}
@media (max-width: 800px) {
  .hero-visual-switch { min-height: 380px; max-height: 420px; }
  .hero-visual-switch > .official-national-emblem,
  .hero-visual-switch > .map-view { width: min(100%, 410px); max-height: 380px; }
  .hero-visual-switch .geography-map { max-height: 285px; }
  .chapter-network-map-image { max-height: 290px; }
}
@media (max-width: 520px) {
  .hero-visual-switch { min-height: 320px; max-height: 360px; }
  .hero-visual-switch > .map-view { padding: 12px 6px 8px; }
  .hero-visual-switch .geography-map { max-height: 220px; }
  .chapter-network-map-image { max-height: 220px; }
  .map-visual-kicker { font-size: 7px; letter-spacing: 1.2px; }
  .chapter-network-view .map-visual-caption { font-size: 7px; }
}

/* v12: fill more of the available right-side hero space with the hover visuals. */
@media (min-width: 801px) {
  .hero-art {
    min-height: 600px;
    align-items: center;
  }
  .hero-visual-switch {
    width: min(100%, 680px);
    min-height: 600px;
    max-height: 680px;
  }
  .hero-visual-switch > .official-national-emblem,
  .hero-visual-switch > .map-view {
    width: min(100%, 660px);
    max-width: 660px;
    max-height: 600px;
  }
  .hero-visual-switch .geography-map {
    width: min(100%, 470px);
    max-height: 440px;
  }
  .chapter-network-map-image,
  .home-hero.show-chapter-map .chapter-network-map-image {
    width: 100%;
    max-height: 620px;
  }
}
@media (max-width: 800px) {
  .hero-visual-switch { min-height: 400px; max-height: 440px; }
  .hero-visual-switch > .official-national-emblem,
  .hero-visual-switch > .map-view { width: min(100%, 440px); max-height: 400px; }
  .hero-visual-switch .geography-map { width: min(100%, 340px); max-height: 300px; }
  .chapter-network-map-image,
  .home-hero.show-chapter-map .chapter-network-map-image { width: min(100%, 390px); max-height: 310px; }
}


/* v22 — S155CP member login and profile prototype */
.site-nav a[data-page="login"]{border:1px solid #51252c;margin-left:4px;color:#fff}
.member-main{padding-bottom:70px}.member-page-hero{padding-top:64px;padding-bottom:26px}.member-page-hero h1{font-size:clamp(48px,6vw,76px);line-height:.93;margin:18px 0}.member-page-hero h1 em{color:var(--red);font-style:normal}.member-page-hero p{max-width:580px;color:#aeb5c2;line-height:1.7;font-size:14px}.member-shell{max-width:1120px;margin:12px auto 0}.member-card{background:linear-gradient(145deg,#13161e,#100d12);border:1px solid #303540;box-shadow:0 16px 40px #0003}.login-card{max-width:590px;margin:0 auto;padding:clamp(22px,4vw,40px)}.member-card-heading h2,.profile-topline h2{font-size:clamp(25px,3vw,34px);margin:8px 0 10px;letter-spacing:.2px}.member-card-heading p,.profile-topline p{font-size:13px;color:#aab1bf;line-height:1.7;margin:0 0 25px}.login-form-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.site-form .remember-choice{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:11px;font-weight:500;color:#9fa6b5}.remember-choice input{width:auto;accent-color:var(--red)}.inline-link{border:0;background:transparent;color:#ff6972;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:700 11px inherit}.forgot-panel{margin-top:26px;padding-top:24px;border-top:1px solid #303540}.forgot-panel h3{font-size:20px;margin:8px 0}.forgot-panel>p{font-size:12px;color:#aab1bf;line-height:1.7}.member-security-note,.portal-prototype-note{font-size:10px;line-height:1.7;color:#828b9a;margin:20px 0 0}.member-profile{display:flex;flex-direction:column;gap:18px}.profile-topline{display:flex;align-items:center;justify-content:space-between;gap:20px}.profile-topline p{margin-bottom:0}.profile-overview{display:flex;align-items:center;gap:28px;padding:24px}.member-avatar-wrap{width:150px;flex:0 0 150px;display:flex;flex-direction:column;align-items:center;gap:10px}.member-avatar{width:138px;height:138px;display:grid;place-items:center;border:1px dashed #4b5361;background:radial-gradient(circle at 50% 25%,#293346,#171017 70%);border-radius:50%;overflow:hidden;color:#8f98a8;text-align:center;font-size:10px;font-weight:900;letter-spacing:1.5px}.member-avatar img{width:100%;height:100%;object-fit:cover}.photo-upload-label{font-size:9px;font-weight:900;letter-spacing:1px;color:#ff6972;cursor:pointer}.visually-hidden-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.profile-identity{min-width:0}.status-pill,.read-only-tag,.obr-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #343b48;padding:7px 9px;color:#b9c0cc;font-size:8px;font-weight:900;letter-spacing:1px}.status-pill i{width:6px;height:6px;background:#36c79b;border-radius:50%}.profile-identity h3{font-size:clamp(25px,3vw,34px);margin:12px 0 5px}.profile-identity>p{color:#a8afbd;font-size:12px;line-height:1.7}.profile-identity-meta{display:flex;gap:9px;flex-wrap:wrap}.profile-identity-meta span{background:#191d26;padding:8px 10px;color:#e2e5eb;font-size:10px;font-weight:800}.photo-help{margin:12px 0 0!important;font-size:10px!important;color:#828b9a!important}.info-card{padding:clamp(18px,3vw,30px)}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading-row h3{font-size:clamp(20px,2.5vw,27px);margin:6px 0 0}.member-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#2b303b;border:1px solid #2b303b}.member-field{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0;min-height:76px;padding:14px;background:#171017}.member-field>span{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#929baa;font-weight:800}.member-field>b{font-size:12px;color:#f0f2f5;line-height:1.5;overflow-wrap:anywhere}.size-fields{margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.obr-card{border-color:#51212b}.obr-badge{color:#ff6972;border-color:#70212a}.section-helper{font-size:11px;color:#9ca4b2;line-height:1.7;margin:-5px 0 18px}.editable-field input{width:100%;min-width:0;background:#181c25;border:1px solid #434b5a;color:#fff;padding:10px;border-radius:3px;font:inherit;font-size:12px}.editable-field input:disabled{opacity:.72;cursor:not-allowed}.obr-form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.obr-form-footer .small-note{color:#939baa;line-height:1.6}.obr-form-footer .btn{white-space:nowrap}.portal-prototype-note{padding:13px 16px;border-left:2px solid #70212a;background:#171017;margin-top:0}.portal-prototype-note strong{color:#e4e7ed}
@media(max-width:800px){.member-page-hero{padding-top:45px}.profile-overview{align-items:flex-start;gap:18px}.member-avatar-wrap{width:112px;flex-basis:112px}.member-avatar{width:104px;height:104px}.member-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-topline{align-items:flex-start}.profile-topline .btn{padding:10px 12px;font-size:9px}}
@media(max-width:520px){.login-card{padding:22px 18px}.login-form-row{align-items:flex-start;flex-direction:column}.profile-overview{flex-direction:column;align-items:center;text-align:center}.profile-identity-meta{justify-content:center}.profile-identity{width:100%}.section-heading-row{align-items:flex-start;flex-direction:column}.member-fields,.size-fields{grid-template-columns:1fr}.member-field{min-height:66px}.obr-form-footer{align-items:stretch;flex-direction:column}.obr-form-footer .btn{width:100%}.profile-topline{flex-direction:column}.profile-topline .btn{width:100%}.member-page-hero h1{font-size:50px}}
/* v23 member profile editing and order-window lock */
.profile-edit-form .member-fields{margin-bottom:0}
.profile-edit-form .member-field input,.profile-edit-form .member-field select{margin:0;padding:10px 9px;font-size:12px;min-width:0;box-sizing:border-box}
.profile-edit-form .member-field select{appearance:auto}
.profile-edit-form .member-field input:disabled,.profile-edit-form .member-field select:disabled{opacity:.55;cursor:not-allowed;background:#101218}
.profile-edit-form button:disabled,.obr-form-footer button:disabled{opacity:.45;cursor:not-allowed}
.profile-edit-form .obr-form-footer{margin-top:18px}


/* v24: member selectors, nationwide store and order-window presentation */
.member-fields select,.product-size select{width:100%;min-height:42px;padding:10px 12px;background:#11141a;color:#f5f6f8;border:1px solid #343945;border-radius:0;font:inherit;outline:none}
.member-fields select:focus,.product-size select:focus{border-color:#f22932;box-shadow:0 0 0 2px #f2293222}
.site-nav [data-store-link]{display:flex;align-items:center;gap:5px;white-space:nowrap}
.site-nav [data-store-link] small{font-size:7px;letter-spacing:.5px;font-weight:900;color:#888e99;border:1px solid #393d47;padding:3px 4px}
.site-nav [data-store-link].store-nav-closed{color:#777d88;opacity:.75}
.site-nav [data-store-link].store-nav-closed:hover{color:#c5c8cf;opacity:1}
.site-nav [data-store-link].store-nav-active{color:#fff}
.site-nav [data-store-link].store-nav-active small{display:none}
.store-main{padding-bottom:80px}.store-hero{padding-top:70px;padding-bottom:35px}.store-hero h1{font:900 clamp(52px,7vw,92px)/.92 'Barlow Condensed',sans-serif;letter-spacing:-1px;margin:14px 0}.store-hero h1 em{font-style:normal;color:var(--red,#f22932)}.store-hero>p{color:#c1c6d0;max-width:650px;line-height:1.7;font-size:14px}
.store-status-panel{margin-top:32px;padding:26px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;border:1px solid #383d47;background:linear-gradient(110deg,#151820,#100d12)}.store-status-panel.store-closed{border-color:#363943}.store-status-panel.store-active{border-color:#f22932;background:linear-gradient(110deg,#2b1118,#11141a)}.store-status-pill{display:inline-block;border:1px solid #555b67;padding:7px 10px;font-size:9px;letter-spacing:1.2px;font-weight:900;color:#aeb3be}.store-active .store-status-pill{color:#fff;border-color:#f22932;background:#c51e2a}.store-status-panel h2{font:800 24px 'Barlow Condensed',sans-serif;margin:13px 0 7px;color:#fff}.store-status-panel p{margin:0;color:#adb3bf;font-size:11px;line-height:1.6}.store-countdown{display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:8px}.store-countdown>div{min-width:64px;padding:14px 10px;text-align:center;background:#080a0e;border:1px solid #343945}.store-countdown b{display:block;font:900 30px 'Barlow Condensed',sans-serif;color:#fff}.store-countdown small{display:block;font-size:8px;letter-spacing:1px;color:#a9afbb;margin-top:3px}.store-active .store-countdown b{color:#f22932}.store-policy-note{margin-top:13px;display:flex;align-items:center;gap:16px;padding:14px 16px;background:#11141a;border:1px solid #2b2f38}.store-policy-note strong{color:#fff;font-size:9px;letter-spacing:1px;white-space:nowrap}.store-policy-note span{font-size:10px;color:#b7bdc8;line-height:1.5;flex:1}.store-policy-note a{color:#fff;text-decoration:none;font-size:9px;font-weight:900;white-space:nowrap}.store-catalog{padding-top:30px}.store-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:22px 0 18px}.store-section-head h2{font:800 32px 'Barlow Condensed',sans-serif;margin:5px 0;color:#fff}.store-section-head p{font-size:11px;color:#b6bbc6;margin:0}.cart-indicator{border:1px solid #3a3f49;padding:10px 14px;color:#b8bdc7;font-size:9px;font-weight:900;letter-spacing:1px}.cart-indicator b{display:inline-grid;place-items:center;margin-left:9px;width:24px;height:24px;background:#f22932;color:white;border-radius:50%;font-size:11px}.store-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product-card{min-width:0;background:linear-gradient(145deg,#171a22,#100d12);border:1px solid #51252c;display:flex;flex-direction:column}.product-image-wrap{height:250px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#292c35,#100d12)}.product-image-wrap img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.product-card:hover .product-image-wrap img{transform:scale(1.035)}.product-status{position:absolute;z-index:1;top:10px;left:10px;max-width:calc(100% - 20px);padding:6px 8px;background:#080a0de8;border:1px solid #454a55;color:#fff;font-size:7px;letter-spacing:.7px;font-weight:900}.product-status-current{border-color:#f22932}.product-status-tba{color:#f4c76a;border-color:#80632c}.product-status-off{color:#b9bec8;border-color:#50545d}.product-card-body{padding:16px;display:flex;flex:1;flex-direction:column;gap:9px}.product-card h3{font:800 22px 'Barlow Condensed',sans-serif;margin:0;color:#fff}.product-card p{font-size:10px;line-height:1.6;color:#b5bbc6;margin:0;min-height:30px}.product-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}.product-card-bottom strong{font:900 18px 'Barlow Condensed',sans-serif;color:#fff}.product-card .btn{padding:11px 10px;font-size:8px;white-space:nowrap}.product-card .btn:disabled{background:#282b33;border-color:#3d414a;color:#858b97;cursor:not-allowed}.product-size{display:flex;align-items:center;gap:10px;margin-top:8px;color:#b6bbc6;font-size:9px}.product-size select{flex:1;min-height:35px;padding:7px;font-size:10px}.archive-head{margin-top:55px}.archive-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-archived{opacity:.78}.product-archived .product-image-wrap img{filter:grayscale(.45)}.not-orderable{color:#9ca2ad;font-size:8px;font-weight:900;letter-spacing:.6px;text-align:right}.cart-panel{margin-top:45px;padding:25px}.cart-panel .store-section-head{margin-top:0}.cart-items{border-top:1px solid #2c3039}.empty-cart{padding:18px 0;color:#9fa5b0;font-size:11px}.cart-item{display:flex;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid #2c3039}.cart-item>div{flex:1}.cart-item b{display:block;color:#fff;font-size:11px}.cart-item small{display:block;color:#a8aeb9;margin-top:5px;font-size:9px}.cart-item>span{color:#fff;font-size:11px}.cart-item button{background:none;border:0;color:#ff6972;font-size:8px;font-weight:900;cursor:pointer}.cart-total-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;color:#b9bec8;font-size:11px}.cart-total-row b{font:900 25px 'Barlow Condensed',sans-serif;color:#fff}.cart-panel>.btn{min-width:200px}.cart-panel>.btn:disabled{background:#272a32;border-color:#3b3f49;color:#858b97;cursor:not-allowed}.cart-panel .small-note{font-size:9px;color:#9298a5;margin-top:12px}
@media(max-width:1050px){.store-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image-wrap{height:260px}.store-status-panel{grid-template-columns:1fr}.store-countdown{max-width:520px}}
@media(max-width:720px){.store-hero{padding-top:45px}.store-status-panel{padding:18px}.store-countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.store-countdown>div{min-width:0;padding:12px 5px}.store-countdown b{font-size:23px}.store-policy-note{align-items:flex-start;flex-direction:column;gap:8px}.store-section-head{align-items:flex-start;flex-direction:column}.store-grid,.archive-grid{grid-template-columns:1fr}.product-image-wrap{height:300px}.cart-panel{padding:18px}.site-nav [data-store-link]{flex-wrap:wrap}}


/* v25 store image gallery, profile-based sizing and OBR item controls */
.product-image-wrap{height:280px;}
.product-main-image{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;}
.product-main-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s;}
.product-card:hover .product-main-image img{transform:scale(1.035);}
.image-zoom-hint{position:absolute;bottom:9px;right:9px;padding:5px 7px;background:#080a0dd9;border:1px solid #444a56;color:#dce0e8;font-size:7px;font-weight:900;letter-spacing:.7px;pointer-events:none;}
.product-gallery-thumbs{display:flex;gap:8px;padding:9px 10px 0;background:#101219;}
.product-thumb{position:relative;display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:5px;border:1px solid #383d48;background:#0b0c10;color:#fff;cursor:pointer;text-align:left;}
.product-thumb img{width:48px;height:36px;object-fit:contain;background:#1a1d24;}
.product-thumb span{font-size:8px;font-weight:900;letter-spacing:.4px;}
.product-thumb:hover{border-color:#f22932;}
.profile-size-note{min-height:0!important;margin:5px 0 0!important;padding:9px;background:#100d12;border-left:2px solid #f22932;font-size:9px!important;}
.profile-size-note strong{display:block;color:#fff;margin-top:3px;}
.obr-option{display:flex;align-items:center;gap:7px;margin-top:2px;padding:9px;background:#171a22;border:1px solid #353a45;color:#f4f5f7;font-size:10px;font-weight:800;cursor:pointer;}
.obr-option input{accent-color:#f22932;width:15px;height:15px;}
.obr-option small{font-size:9px;color:#b9bec8;font-weight:500;}
.product-lightbox{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.92);align-items:center;justify-content:center;padding:30px;}
.product-lightbox.is-open{display:flex;}
.lightbox-content{width:min(100%,1050px);height:min(90vh,900px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}
.lightbox-content h2{align-self:flex-start;color:#fff;font:800 25px 'Barlow Condensed',sans-serif;margin:0;letter-spacing:.5px;}
.lightbox-content img{max-width:100%;max-height:calc(100% - 75px);object-fit:contain;box-shadow:0 12px 55px #000;}
.lightbox-content p{color:#aeb4bf;font-size:10px;text-align:center;margin:0;}
.lightbox-close,.lightbox-arrow{position:absolute;display:grid;place-items:center;color:#fff;background:#141720;border:1px solid #555b67;cursor:pointer;z-index:2;}
.lightbox-close{top:18px;right:22px;width:44px;height:44px;font-size:30px;line-height:1;}
.lightbox-arrow{top:50%;transform:translateY(-50%);width:48px;height:64px;font-size:40px;}
.lightbox-prev{left:18px;}.lightbox-next{right:18px;}
.lightbox-arrow[hidden]{display:none;}
body.lightbox-open{overflow:hidden;}
@media(max-width:720px){.product-image-wrap{height:300px}.product-lightbox{padding:18px 12px}.lightbox-arrow{width:34px;height:48px;font-size:30px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox-content{height:85vh}.product-thumb img{width:38px;height:32px}.product-thumb span{font-size:7px}}

/* Clickable national officer portraits and social links */
.national-portrait.profile-portrait-link{position:relative;display:flex;overflow:hidden;text-decoration:none;border:1px solid #353b48;background:#080b13;min-height:180px;}
.national-portrait.profile-portrait-link img{width:100%;height:100%;min-height:180px;object-fit:cover;object-position:center 28%;display:block;transition:transform .25s ease;}
.national-portrait.profile-portrait-link:hover img{transform:scale(1.035)}
.national-portrait.profile-portrait-link span{position:absolute;left:0;right:0;bottom:0;padding:10px 7px;background:linear-gradient(transparent,rgba(0,0,0,.92));color:#fff;text-align:center;font-size:9px;letter-spacing:1px;font-weight:900;}
.officer-facebook-link{display:inline-block;margin-top:12px;color:#ff6972;text-decoration:none;font-size:9px;font-weight:900;letter-spacing:.8px;}
.officer-facebook-link:hover{color:#fff}
@media(max-width:760px){.national-portrait.profile-portrait-link,.national-portrait.profile-portrait-link img{min-height:230px;height:230px}}


/* v27 member directory */
.member-list-page{max-width:1500px;margin:0 auto;padding:0 clamp(18px,5vw,76px) 70px;position:relative}.member-list-hero{padding:64px 0 34px}.member-list-hero h1{font:900 clamp(46px,6vw,76px)/.93 'Barlow Condensed',sans-serif;letter-spacing:-1px;margin:13px 0 16px}.member-list-hero h1 em{font-style:normal;color:var(--red)}.member-list-hero p{font-size:13px;line-height:1.7;color:#b8bec9;max-width:640px}.member-list-panel{border:1px solid #3d2028;background:linear-gradient(145deg,#171017,#0c0e13);box-shadow:0 20px 60px #0004}.member-list-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:24px;border-bottom:1px solid #2b3039}.member-list-toolbar h2{font:800 29px 'Barlow Condensed',sans-serif;margin:7px 0;color:#fff}.member-list-toolbar p{font-size:10px;color:#a7adba;margin:0}.member-search-label{display:flex;flex-direction:column;gap:8px;color:#ff6972;font-size:8px;font-weight:800;letter-spacing:1.2px;min-width:min(360px,100%)}.member-search-label input{height:43px;width:100%;border:1px solid #59313a;background:#0b0c10;color:#fff;padding:0 13px;font:500 11px Inter,Arial,sans-serif;outline:none}.member-search-label input:focus{border-color:#f22932;box-shadow:0 0 0 2px #f2293222}.member-table-wrap{width:100%;overflow-x:auto}.member-table{border-collapse:collapse;width:100%;min-width:850px;text-align:left}.member-table th{background:#191c24;color:#aeb5c2;font-size:8px;letter-spacing:1px;text-transform:uppercase;padding:15px 17px;white-space:nowrap;border-bottom:1px solid #51252c}.member-table td{padding:14px 17px;border-bottom:1px solid #242832;font-size:11px;color:#e4e7ed;white-space:nowrap}.member-table tbody tr:hover{background:#ffffff08}.member-table tbody tr.featured-member{background:linear-gradient(90deg,#2b1118,#15171e 70%);box-shadow:inset 3px 0 #f22932}.member-table tbody tr.featured-member td{color:#fff;font-weight:700}.member-table tbody tr.featured-member td:first-child{color:#ff6972}.member-table tbody tr[hidden]{display:none}.member-list-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;color:#a5acb8;font-size:8px;letter-spacing:.7px}.member-list-foot span:last-child{color:#ff6972}.member-list-notice{border-left:2px solid #f22932;margin:18px 0 0;padding:12px 15px;background:#1a0e12;color:#b8bec9;font-size:10px;line-height:1.7}@media(max-width:720px){.member-list-hero{padding-top:42px}.member-list-toolbar{align-items:stretch;flex-direction:column;padding:18px}.member-search-label{min-width:0}.member-table th,.member-table td{padding:12px 13px}.member-list-foot{padding:13px}}


/* v28 — S155CP royal-blue / black uniform palette */
:root{--bg:#0b0c10;--panel:#171017;--line:#3d2028;--muted:#b8bec9;--text:#f7faff;--red:#f22932}
body{background:radial-gradient(ellipse at 12% 0,#35141b 0,transparent 38%),radial-gradient(ellipse at 88% 10%,#241016 0,transparent 35%),var(--bg)}
.site-header{background:linear-gradient(100deg,#050d19 0%,#100d12 55%,#050d19 100%);border-bottom-color:#51252c}
.site-nav a:hover,.site-nav a.active{background:linear-gradient(110deg,#c51e2a,#f22932);color:#fff}
.site-nav a[data-page="login"]{border-color:#51252c}
.member-list-panel{border-color:#51252c;background:linear-gradient(145deg,#171017,#100d12)}
.member-list-toolbar{border-bottom-color:#3d2028}
.member-table th{background:#241217;color:#f2c5c8;border-bottom-color:#51252c}
.member-table td{border-bottom-color:#3d2028}
.member-table tbody tr.featured-member{background:linear-gradient(90deg,#35141b,#171017 75%);box-shadow:inset 3px 0 #f22932}
.member-table tbody tr.featured-member td:first-child{color:#ff6972}
.member-search-label{color:#ff6972}
.member-search-label input:focus{border-color:#f22932;box-shadow:0 0 0 2px #f2293222}
.member-list-notice{border-left-color:#f22932;background:#180e13}
.roster-preview-controls{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:20px 24px;border-bottom:1px solid #3d2028;background:linear-gradient(100deg,#180e13,#171017)}
.roster-preview-heading{display:flex;flex:1 1 320px;flex-direction:column;gap:6px}.roster-preview-heading strong{font-size:12px;color:#fff}.roster-preview-heading small{max-width:620px;color:#b8bec9;font-size:9px;line-height:1.6}
.roster-preview-controls label{display:flex;flex-direction:column;gap:7px;min-width:190px;color:#ff6972;font-size:8px;font-weight:900;letter-spacing:1px}.roster-preview-controls select{height:40px;min-width:200px;border:1px solid #59313a;background:#0c0b10;color:#fff;padding:0 12px;font:600 10px Inter,Arial,sans-serif}
.roster-access-note{padding:11px 24px;background:#180e13;color:#e7c6c9;border-bottom:1px solid #3d2028;font-size:9px;letter-spacing:.2px}
.member-table{min-width:780px}.member-table th{vertical-align:bottom}.member-table td{max-width:280px}.member-table td:first-child{font-variant-numeric:tabular-nums}
@media(max-width:720px){.roster-preview-controls{padding:16px;align-items:stretch;flex-direction:column}.roster-preview-controls label,.roster-preview-controls select{width:100%;min-width:0}.roster-access-note{padding:11px 16px}}

/* Header wordmark accents follow the current blue uniform concept. */
.brand-wordmark span{color:#f22932}.brand-slash{background:#f22932}.eyebrow{color:#ff6972}

/* v28.2 — synchronized top scrollbar for the member roster, retaining original v28 blue */
.member-table-scroll-top{width:100%;height:17px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #3d2028;background:#0c0b10;scrollbar-color:#f22932 #0c0b10;scrollbar-width:thin}
.member-table-scroll-top>div{height:1px}
.member-table-wrap{width:100%;overflow-x:auto;scrollbar-color:#f22932 #0c0b10;scrollbar-width:thin}
.member-table-scroll-top::-webkit-scrollbar,.member-table-wrap::-webkit-scrollbar{height:10px}
.member-table-scroll-top::-webkit-scrollbar-track,.member-table-wrap::-webkit-scrollbar-track{background:#0c0b10}
.member-table-scroll-top::-webkit-scrollbar-thumb,.member-table-wrap::-webkit-scrollbar-thumb{background:#f22932;border:2px solid #0c0b10;border-radius:8px}


/* v28.4: calendar defaults to Manila today; selected-date events scroll inside a fixed panel. */
.calendar-side { height: 534px; box-sizing: border-box; display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
.calendar-side > .eyebrow, .calendar-side > h2 { flex: 0 0 auto; }
.calendar-side .selected-events { flex: 1 1 auto; min-height: 0; max-height: none; overflow-y: auto; overscroll-behavior: contain; padding-right: 9px; margin: 10px 0 18px; scrollbar-width: thin; scrollbar-color: #555d6b #171a22; }
.calendar-side .selected-events::-webkit-scrollbar { width: 7px; }
.calendar-side .selected-events::-webkit-scrollbar-track { background: #171a22; }
.calendar-side .selected-events::-webkit-scrollbar-thumb { background: #555d6b; border-radius: 8px; }
.calendar-side .submit-event-box { flex: 0 0 auto; }
.calendar-day.today-day { border-color: #f22932; box-shadow: inset 0 0 0 1px #f22932, 0 0 0 1px #f2293233; background: #241319; }
.calendar-day.today-day .calendar-day-number { color: #ff6972; font-weight: 1000; }
.calendar-day.selected-day.today-day { background: #35151e; }
.site-nav [data-page="store"] { color: inherit; opacity: 1; }
.site-nav [data-page="store"]:hover, .site-nav [data-page="store"].active { color: #fff; opacity: 1; }
@media (max-width: 800px) { .calendar-side { height: 534px; } }

/* v28.5: official Yamaha Revs Your Heart white-tagline lockup */
.header-partner-lockup img:first-child{width:126px;max-width:126px;height:auto;object-fit:contain;}
.footer-partner-lockup img:first-child{width:190px;max-width:190px;height:auto;object-fit:contain;}
@media(max-width:1100px){.header-partner-lockup img:first-child{width:105px;max-width:105px;}}
@media(max-width:800px){.header-partner-lockup img:first-child{width:100px;max-width:100px;}}

/* Preserve the original anniversary shirt artwork in the historical archive. */
.product-archived[data-product-id="anniv-2"] .product-image-wrap img{filter:none;}

/* Recipient selection for apparel orders */
.recipient-choice-dialog{display:none;position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,.86);align-items:center;justify-content:center;padding:20px}.recipient-choice-dialog.is-open{display:flex}.recipient-choice-card{position:relative;width:min(460px,100%);padding:30px;background:linear-gradient(145deg,#191c24,#100d12);border:1px solid #f22932;box-shadow:0 18px 70px #000}.recipient-choice-card h2{font:800 30px 'Barlow Condensed',sans-serif;color:#fff;margin:8px 0}.recipient-product-name{font:700 17px 'Barlow Condensed',sans-serif;color:#ff525b;margin:0 0 8px}.recipient-choice-note{font-size:11px;line-height:1.6;color:#b8bec9}.recipient-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.recipient-choice-actions .btn{min-height:46px}.recipient-choice-close{position:absolute;right:12px;top:8px;border:0;background:none;color:#fff;font-size:28px;cursor:pointer}.profile-size-note{font-size:9px!important;color:#aeb5c1!important;line-height:1.55!important;min-height:0!important}


/* Member account avatar and dropdown navigation */
.site-nav{position:relative}
.site-nav a.member-avatar-trigger{width:42px;height:42px;padding:3px;border-radius:50%;border:2px solid var(--red);background:#17191f;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 42px}
.site-nav a.member-avatar-trigger:hover,.site-nav a.member-avatar-trigger.active{background:#252831;box-shadow:0 0 0 3px rgba(224,35,46,.16)}
.nav-member-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}
.nav-member-initials{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#a51d29,#ed2939);color:#fff;font-size:13px;font-weight:900;letter-spacing:.4px}
.member-account-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:1000;min-width:190px;padding:7px;background:#111319;border:1px solid #3a3e49;border-top:2px solid var(--red);box-shadow:0 14px 34px rgba(0,0,0,.48);border-radius:5px}
.account-menu-open .member-account-menu{display:grid}
.member-account-menu a,.member-account-menu button{display:block;width:100%;padding:12px 13px;border:0;border-radius:3px;background:transparent;color:#e8eaf0;text-align:left;text-decoration:none;font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}
.member-account-menu a:hover,.member-account-menu button:hover{background:#292d36;color:#fff}
.member-account-menu button{color:#ff5965;border-top:1px solid #30343d;margin-top:4px;padding-top:14px}
.account-settings-card{max-width:650px;margin:0 auto;padding:clamp(22px,4vw,42px)}
.account-settings-card .member-card-heading{margin-bottom:26px}
.account-settings-card .site-form label small{display:block;color:#969daa;font-size:11px;margin-top:6px}
@media(max-width:900px){.member-account-menu{right:0;top:calc(100% + 4px)}.site-nav a.member-avatar-trigger{margin:5px 0}}

/* Chapter city/municipality coverage, displayed beneath the Facebook CTA. */
.chapter-coverage{width:100%;margin-top:18px;padding:15px 16px;text-align:left;background:rgba(8,10,15,.72);border:1px solid #343944;border-left:2px solid var(--red)}
.chapter-coverage[hidden]{display:none}
.chapter-coverage span{display:block;margin-bottom:8px;color:#ff6972;font-size:9px;font-weight:900;letter-spacing:1.5px}
.chapter-coverage p{margin:0;color:#d5d8df;font-size:11px;line-height:1.75;letter-spacing:.15px;overflow-wrap:anywhere}


/* Shared website zoom control */
.site-zoom-control {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99999;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  background: rgba(12, 14, 18, .94);
  box-shadow: 0 6px 24px rgba(0,0,0,.38);
  color: #fff;
  font: 600 12px/1.2 Arial, sans-serif;
  zoom: 1 !important;
}
.site-zoom-control button {
  min-width: 30px;
  height: 28px;
  padding: 0 8px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 5px;
  background: #20242b;
  color: #fff;
  font: inherit;
  cursor: pointer;
}
.site-zoom-control button:hover:not(:disabled) {
  border-color: #ed1c24;
  background: #b5121b;
}
.site-zoom-control button:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.site-zoom-control output {
  min-width: 42px;
  text-align: center;
  color: #fff;
}
@media (max-width: 600px) {
  .site-zoom-control { right: 10px; bottom: 10px; }
}


/* v29.9 — header language selector */
.language-picker{position:relative;display:flex;align-items:center;flex:0 0 auto}
.language-trigger{width:44px;height:44px;border:2px solid var(--red);border-radius:50%;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;gap:0;cursor:pointer;transition:background .18s,transform .18s;flex:0 0 44px}
.language-trigger:hover,.language-trigger[aria-expanded="true"]{background:#6c1720;transform:translateY(-1px)}
.language-trigger svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.language-trigger span{position:absolute;right:-5px;bottom:-4px;min-width:18px;padding:2px 3px;border-radius:8px;background:var(--red);color:#fff;font-size:7px;font-weight:900;line-height:1.1;text-align:center;box-shadow:0 0 0 2px #08090c}
.language-panel{position:absolute;top:calc(100% + 15px);right:0;width:min(390px,calc(100vw - 28px));max-height:min(72vh,650px);overflow:hidden;z-index:1005;padding:17px;background:#08090c;border:1px solid #343944;border-radius:12px;box-shadow:0 18px 55px #000c;color:#f5f6f8}
.language-panel[hidden]{display:none!important}
.language-panel-heading{font-size:14px;font-weight:900;letter-spacing:.3px;margin-bottom:12px}
.language-search-label{display:block;margin-bottom:10px}
.language-search-label input{width:100%;padding:10px 12px;background:#141821;border:1px solid #343944;border-radius:5px;color:#fff;font:inherit;font-size:12px;outline:none}
.language-search-label input:focus{border-color:var(--red)}
.language-options{max-height:calc(min(72vh,650px) - 150px);overflow:auto;padding-right:4px}
.language-group-title{font-size:10px;letter-spacing:.8px;color:#aeb4c0;margin:14px 0 7px;padding-top:11px;border-top:1px solid #242832}
.language-group-title:first-child{margin-top:0;padding-top:0;border-top:0}
.language-group-list{display:flex;flex-wrap:wrap;gap:6px}
.language-option{border:1px solid #343944;background:#11151d;color:#e9ebef;padding:7px 9px;border-radius:4px;font:inherit;font-size:11px;cursor:pointer;text-align:left}
.language-option:hover,.language-option.selected{border-color:var(--red);background:#35131a;color:#fff}
.language-option.selected:after{content:' ✓';color:#ff6972;font-weight:900}
.language-status{font-size:10px;line-height:1.5;color:#929aa8;margin:12px 0 0;padding-top:10px;border-top:1px solid #242832}
.language-empty{font-size:12px;color:#aeb4c0;padding:10px 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.language-trigger{width:40px;height:40px;flex-basis:40px}}
@media(max-width:800px){.site-nav .language-picker{order:-1;align-self:flex-end;margin:2px 0 10px}.site-nav .language-panel{position:fixed;top:84px;right:12px;max-height:calc(100vh - 110px)}.site-nav .language-options{max-height:calc(100vh - 270px)}}

/* S155CP order and payment workflow prototype */
.s-checkout-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px;border-bottom:1px solid #303540;padding-bottom:16px}.s-checkout-steps span{font-size:9px;font-weight:900;letter-spacing:1px;color:#727b8b;padding:8px 10px;border:1px solid #303540}.s-checkout-steps span.active{color:#ff6972;border-color:#8c2732;background:#251218}.s-checkout-stage h3{font-size:clamp(21px,3vw,28px);margin:7px 0 14px}.s-checkout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#303540;border:1px solid #303540;margin:16px 0}.s-checkout-grid>div{display:flex;flex-direction:column;gap:7px;padding:13px;background:#171017;min-width:0}.s-checkout-grid small,.s-payment-amount>span{font-size:9px;letter-spacing:.8px;color:#939baa;font-weight:900}.s-checkout-grid b{font-size:12px;overflow-wrap:anywhere}.s-order-items{border:1px solid #303540;margin-top:18px}.s-order-line{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border-bottom:1px solid #303540;background:#171017}.s-order-line:last-child{border-bottom:0}.s-order-line>div{display:grid;gap:5px}.s-order-line b,.s-order-line strong{font-size:12px}.s-order-line small{font-size:10px;color:#9ca4b2}.s-confirm-panel{display:grid;gap:8px;padding:22px;background:linear-gradient(145deg,#19151b,#10131a);border:1px solid #69232d;margin:20px 0}.s-confirm-panel span{font-size:9px;letter-spacing:1px;color:#ff6972;font-weight:900}.s-confirm-panel strong{font-size:24px}.s-confirm-panel small{font-size:11px;color:#9ca4b2}.s-confirm-check{display:flex;align-items:center;gap:10px;font-size:12px;color:#dce0e8;margin:16px 0}.s-confirm-check input{accent-color:#f22932;width:16px;height:16px}.s-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.s-payment-layout{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);gap:16px;margin:18px 0}.s-qr-placeholder{min-height:220px;border:1px dashed #8b3540;background:#171017;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:18px}.s-qr-mark{width:100px;height:100px;background:repeating-conic-gradient(#111 0 25%,#fff 0 50%) 0/16px 16px;border:9px solid white;display:grid;place-items:center;color:#1555a6;font-size:16px;font-weight:900;text-shadow:0 1px white}.s-qr-placeholder strong{font-size:10px;letter-spacing:1px}.s-qr-placeholder small{font-size:10px;color:#9ca4b2;max-width:220px}.s-payment-amount{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:20px;background:#171017;border:1px solid #303540}.s-payment-amount>strong{font-size:clamp(30px,5vw,42px);color:#fff}.s-payment-amount small,.s-payment-amount p{font-size:11px;color:#aab1bf;line-height:1.6}.s-upload-box{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px dashed #7b303b;background:#171017;font-size:10px;font-weight:900;letter-spacing:1px;color:#ff6972;cursor:pointer}.s-upload-box input{color:#e6e8ed;font-size:11px;letter-spacing:0}.s-upload-box small{font-size:10px;color:#939baa;font-weight:500}.s-receipt-preview{position:relative;margin-top:12px;max-width:260px;border:1px solid #3b424e;padding:8px;background:#10131a}.s-receipt-preview img{display:block;width:100%;max-height:280px;object-fit:contain}.s-receipt-preview span{display:block;color:#48d597;font-size:9px;font-weight:900;letter-spacing:1px;margin-top:7px}.s-ocr-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.s-ocr-fields>div{display:grid;gap:6px}.s-ocr-fields .wide{grid-column:1/-1}.s-ocr-fields label{font-size:9px;letter-spacing:.8px;font-weight:900;color:#939baa}.s-ocr-fields input{width:100%;background:#191d26;border:1px solid #353d4b;color:#9fa8b8;padding:12px;font-size:11px}.s-ocr-note{font-size:10px;line-height:1.7;color:#929baa;padding:12px;border-left:2px solid #8a303a;background:#171017}.s-success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f22932;color:white;font-size:30px;font-weight:900;margin-bottom:18px}.s-orders-list{display:grid;gap:18px}.s-order-card{padding:clamp(16px,3vw,26px)}.s-order-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}.s-order-card-head h3{font-size:20px;margin:6px 0}.s-order-card-head small{font-size:10px;color:#929baa}.s-status{display:inline-flex;padding:7px 10px;border:1px solid #5a4144;font-size:9px;font-weight:900;letter-spacing:.6px;color:#ffc36b;background:#261d15}.s-status.paid{color:#5fe0a4;border-color:#236a4c;background:#10241c}.s-status.rejected{color:#ff858b;border-color:#8b303b;background:#291319}.s-order-lines{border-top:1px solid #303540;border-bottom:1px solid #303540}.s-order-lines>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-size:11px}.s-order-total{display:flex;justify-content:space-between;padding:14px 0;font-size:12px}.s-order-total strong{font-size:18px}.s-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 8px;margin:20px 0;padding:20px 12px;background:#100f14;border:1px solid #303540}.s-track-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;min-width:0}.s-track-step:after{content:"";position:absolute;left:calc(50% + 19px);top:17px;width:calc(100% - 30px);height:2px;background:#3a3f49}.s-track-step:nth-child(4n):after{display:none}.s-track-step.done:after{background:#f22932}.s-track-dot{width:36px;height:36px;border:1px solid #515866;border-radius:50%;display:grid;place-items:center;background:#1b1e27;color:#8c95a4;font-size:15px;z-index:1}.s-track-step.done .s-track-dot,.s-track-step.current .s-track-dot{background:#f22932;border-color:#f22932;color:white;box-shadow:0 0 0 4px #f2293222}.s-track-step b{font-size:9px;line-height:1.4;max-width:130px}.s-track-step small{font-size:8px;color:#8992a1;line-height:1.4}.s-track-step.current b{color:#ff6972}.s-order-destination{display:grid;gap:5px;padding:13px;background:#171017;border-left:2px solid #f22932}.s-order-destination b{font-size:9px;letter-spacing:1px;color:#ff6972}.s-order-destination span{font-size:12px;font-weight:800}.s-order-destination small{font-size:10px;color:#9ca4b2}.s-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.s-admin-stat{padding:17px;background:linear-gradient(145deg,#171a22,#120f14);border:1px solid #343946;display:grid;gap:8px}.s-admin-stat small{font-size:9px;color:#9ca4b2;font-weight:900;letter-spacing:.8px}.s-admin-stat b{font-size:28px}.s-admin-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #303540}.s-admin-row:last-child{border-bottom:0}.s-admin-row>div:first-child{display:grid;gap:5px;min-width:0}.s-admin-row b{font-size:12px;overflow-wrap:anywhere}.s-admin-row small{font-size:10px;color:#9ca4b2;overflow-wrap:anywhere}.s-admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.s-admin-actions .btn,.s-admin-row .btn,.s-batch-card .btn{font-size:9px;padding:10px 12px}.s-batch-card{display:grid;grid-template-columns:1fr minmax(180px,260px) auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #303540}.s-batch-card>div{display:grid;gap:5px}.s-batch-card small{font-size:10px;color:#9ca4b2}.s-batch-card label{display:grid;gap:5px;font-size:9px;color:#9ca4b2}.s-batch-card select,.s-admin-search{background:#191d26;border:1px solid #424958;color:#fff;padding:10px}.s-admin-search{width:100%;margin:5px 0 12px}.s-admin-row a{white-space:nowrap}.hidden{display:none!important}
@media(max-width:760px){.s-checkout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.s-payment-layout{grid-template-columns:1fr}.s-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.s-batch-card{grid-template-columns:1fr}.s-admin-row{align-items:flex-start;flex-direction:column}.s-admin-actions{justify-content:flex-start}.s-track{grid-template-columns:repeat(2,minmax(0,1fr))}.s-track-step:after{display:none}.s-track-step:nth-child(4n):after{display:none}.s-actions{flex-wrap:wrap}.s-actions .btn{flex:1}.s-checkout-steps span{flex:1;text-align:center;font-size:8px}}

/* Horizontal order tracker refinement */
.s-track{display:grid;grid-template-columns:repeat(8,minmax(105px,1fr));overflow-x:auto;gap:10px;padding:22px 14px}.s-track-step:after{left:calc(50% + 20px);width:calc(100% - 30px)}.s-track-step:last-child:after{display:none}.s-track-step:nth-child(4n):after{display:block}.s-track-step:last-child:after{display:none}
@media(max-width:760px){.s-track{grid-template-columns:repeat(8,minmax(100px,1fr));overflow-x:auto}.s-track-step:after{display:block}.s-track-step:last-child:after{display:none}}

.s-qr-live img{display:block;width:min(100%,270px);height:auto;max-height:270px;object-fit:contain;background:#fff;padding:8px;border-radius:4px}.s-qr-live{background:#f4f6fa;color:#10131a}.s-qr-live strong{color:#10131a}.s-qr-live small{color:#596273}

.s-track-icon{font-style:normal;font-size:17px;font-weight:900;line-height:1}.s-admin-receipt{display:block;max-width:170px;max-height:180px;object-fit:contain;background:#fff;padding:4px;border:1px solid #414958;margin-top:7px}


/* v29.14 prototype National Admin menu and store controls */
.member-account-menu a.member-admin-link{color:#ff5965;border-left:2px solid #f22932;padding-left:11px;background:linear-gradient(90deg,#f2293214,transparent)}
.member-account-menu a.member-admin-link:hover{background:#342027;color:#fff}
.s-store-control-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 8px}
.s-store-control-actions .btn{min-width:190px}
.s-store-admin-control{border-color:#682630;background:linear-gradient(145deg,#17151c,#101218)}
@media(max-width:760px){.s-store-control-actions{display:grid;grid-template-columns:1fr}.s-store-control-actions .btn{width:100%}}

/* OBR no-partner toggle and disabled detail state */
.obr-no-partner-toggle{margin:0 0 16px;padding:14px 16px;border:1px solid #51212b;background:#171017}.obr-no-partner-toggle .remember-choice{display:flex;align-items:center;gap:10px;color:#f1f2f5;font-size:11px;font-weight:900;letter-spacing:.5px}.obr-no-partner-toggle input{accent-color:var(--red);width:16px;height:16px}.obr-no-partner-toggle .small-note{margin:8px 0 0;color:#939baa;font-size:10px;line-height:1.6}.obr-detail-fields.is-disabled{opacity:.48}.obr-detail-fields.is-disabled .member-field{filter:saturate(.5)}

/* v29.23 admin receipt preview lightbox */
.s-admin-receipt-trigger{display:inline-flex;flex-direction:column;align-items:center;gap:7px;margin-top:7px;padding:5px;background:transparent;border:1px solid #414958;cursor:zoom-in;color:#ff5965;font:800 9px inherit;letter-spacing:1px}
.s-admin-receipt-trigger:hover{border-color:#f22932;background:#f229320d}
.s-admin-receipt-trigger .s-admin-receipt{margin:0;display:block}
.s-admin-receipt-trigger span{font-size:9px;font-weight:800;letter-spacing:1px}
.s-receipt-lightbox[hidden]{display:none}
.s-receipt-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:22px}
.s-receipt-lightbox-panel{width:min(1100px,96vw);height:min(94vh,1000px);display:flex;flex-direction:column;background:#101218;border:1px solid #424958;box-shadow:0 24px 80px #000b}
.s-receipt-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid #303540;background:#17151c}
.s-receipt-lightbox-title{display:grid;gap:4px;color:#fff;font-size:12px;letter-spacing:1px}
.s-receipt-lightbox-title small{color:#9ca4b2;font-size:10px;letter-spacing:0}
.s-receipt-lightbox-controls{display:flex;gap:7px}
.s-receipt-lightbox-controls button{min-width:38px;height:36px;padding:0 10px;border:1px solid #424958;background:#101218;color:#fff;cursor:pointer;font-weight:800}
.s-receipt-lightbox-controls button:hover{border-color:#f22932;color:#ff5965}
.s-receipt-lightbox-controls [data-receipt-close]{font-size:23px;line-height:1}
.s-receipt-lightbox-stage{flex:1;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:20px;background:#080a0e}
.s-receipt-lightbox-stage img{display:block;max-width:100%;max-height:none;width:auto;height:auto;object-fit:contain;transform-origin:top center;transition:transform .12s ease}
.s-receipt-lightbox-hint{margin:0;padding:9px 14px;color:#9ca4b2;font-size:10px;text-align:center;border-top:1px solid #303540}
@media(max-width:600px){.s-receipt-lightbox{padding:8px}.s-receipt-lightbox-panel{width:100%;height:96vh}.s-receipt-lightbox-toolbar{padding:9px;align-items:flex-start}.s-receipt-lightbox-controls{gap:4px}.s-receipt-lightbox-controls button{min-width:32px;height:32px;padding:0 7px}.s-receipt-lightbox-stage{padding:10px}}


/* S155CP Connect chat widget */
#s155cp-chat-root{position:fixed;left:22px;bottom:22px;z-index:9000;font-family:inherit;color:#f5f5f7}
.s155-chat-bubble{height:54px;min-width:118px;padding:0 19px;border:1px solid #ff3340;border-radius:999px;background:#f22932;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 30px #0008;cursor:pointer;font-weight:900;letter-spacing:1.4px}
.s155-chat-bubble:hover{transform:translateY(-2px);box-shadow:0 12px 34px #f2293244}
.s155-chat-bubble-icon{font-size:22px}.s155-chat-bubble-label{font-size:11px}.s155-chat-unread{width:8px;height:8px;border-radius:50%;background:#37e28b}
.s155-chat-panel{position:absolute;left:0;bottom:68px;width:min(760px,calc(100vw - 44px));height:min(620px,calc(100vh - 120px));min-height:390px;background:#101218;border:1px solid #3b414d;box-shadow:0 24px 80px #000b;display:flex;flex-direction:column;overflow:hidden}
.s155-chat-header{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;background:linear-gradient(110deg,#17141b,#101218);border-bottom:1px solid #333945}
.s155-chat-header>div{display:grid;gap:3px}.s155-chat-kicker{color:#ff5965;font-size:9px;font-weight:900;letter-spacing:2px}.s155-chat-header b{font-size:20px;letter-spacing:1.4px}.s155-chat-header small{color:#91a0b5;font-size:10px}
.s155-chat-close{border:1px solid #454b56;background:transparent;color:#fff;width:34px;height:34px;font-size:23px;cursor:pointer}
.s155-chat-tabs{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid #333945;background:#0b0d12}
.s155-chat-tabs button{padding:14px 6px;border:0;border-bottom:2px solid transparent;background:transparent;color:#9ba5b4;font-size:10px;font-weight:900;letter-spacing:.8px;cursor:pointer}
.s155-chat-tabs button.active{color:#fff;border-bottom-color:#f22932;background:#f229320b}
.s155-chat-body{display:grid;grid-template-columns:290px 1fr;flex:1;min-height:0}
.s155-chat-list-pane{display:flex;flex-direction:column;min-height:0;border-right:1px solid #333945;background:#12151c}
.s155-chat-list-heading{padding:15px 15px 9px;color:#ff5965;font-size:9px;font-weight:900;letter-spacing:1.5px}
.s155-chat-search{margin:0 12px 10px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #343c49;background:#1a1e27;color:#8d9bad}
.s155-chat-search span{font-size:19px}.s155-chat-search input{width:100%;height:36px;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:11px}
.s155-chat-list{overflow:auto;flex:1;padding:0 7px 10px}
.s155-chat-list-item{width:100%;display:flex;align-items:center;gap:10px;padding:11px 8px;border:0;border-bottom:1px solid #252b35;background:transparent;text-align:left;color:#fff;cursor:pointer}
.s155-chat-list-item:hover,.s155-chat-list-item.selected{background:#20242e}
.s155-chat-list-item.selected{box-shadow:inset 3px 0 #f22932}
.s155-chat-list-item>span:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}.s155-chat-list-item b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s155-chat-list-item small{font-size:9px;color:#91a0b5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s155-chat-list-item i{color:#ff5965;font-size:20px;font-style:normal}
.s155-chat-avatar{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #464e5c;border-radius:50%;background:#202633;color:#fff;font-size:10px;font-weight:900}
.s155-chat-avatar.chapter{border-radius:9px;color:#ff5965}.s155-chat-avatar.market{border-radius:9px;color:#42e49a}
.s155-chat-no-results{padding:14px;color:#8f9bad;font-size:11px;line-height:1.6}
.s155-chat-new-listing{width:100%;margin:5px 0 8px;padding:12px 8px;border:1px solid #f22932;background:#f2293210;color:#ff6670;font-size:10px;font-weight:900;letter-spacing:.6px;cursor:pointer}
.s155-chat-thread-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:#0d1016}
.s155-chat-thread-head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid #303744;min-height:62px}
.s155-chat-thread-head>div{display:grid;gap:4px;min-width:0}.s155-chat-thread-head b{font-size:12px;letter-spacing:.4px}.s155-chat-thread-head small{font-size:9px;color:#91a0b5;letter-spacing:.5px}
.s155-chat-back{display:none;border:1px solid #3e4653;background:transparent;color:#fff;width:30px;height:30px;font-size:17px;cursor:pointer}
.s155-chat-messages{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:11px}
.s155-chat-message{align-self:flex-start;max-width:84%;padding:10px 12px;border:1px solid #303947;background:#191e28;border-radius:3px 12px 12px 12px}
.s155-chat-message.mine{align-self:flex-end;border-color:#7f252e;background:#32181e;border-radius:12px 3px 12px 12px}
.s155-chat-message b{font-size:9px;color:#ff6872}.s155-chat-message p{margin:5px 0;color:#f4f5f7;font-size:11px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.s155-chat-message time{display:block;color:#8792a2;font-size:8px;text-align:right}
.s155-chat-compose{display:flex;gap:8px;padding:12px;border-top:1px solid #303744}.s155-chat-compose input{flex:1;min-width:0;height:40px;padding:0 12px;border:1px solid #3a4351;background:#191e27;color:#fff;font:inherit;font-size:11px}.s155-chat-compose button{width:42px;border:0;background:#f22932;color:#fff;font-size:18px;cursor:pointer}
.s155-chat-empty{margin:auto;padding:22px;text-align:center;color:#9aa5b5}.s155-chat-empty>span{display:block;color:#f22932;font-size:28px}.s155-chat-empty b{display:block;margin-top:8px;color:#fff;font-size:13px}.s155-chat-empty p{max-width:240px;margin:6px auto 0;font-size:10px;line-height:1.6}.s155-chat-empty-thread{margin:auto}
.s155-chat-listing-form{display:grid;gap:13px;padding:18px;overflow:auto}.s155-chat-listing-form label{display:grid;gap:6px;color:#aeb9c9;font-size:9px;font-weight:900;letter-spacing:1px}.s155-chat-listing-form input,.s155-chat-listing-form select,.s155-chat-listing-form textarea{width:100%;padding:11px;border:1px solid #3a4351;background:#191e27;color:#fff;font:inherit;font-size:11px}.s155-chat-listing-form textarea{min-height:100px;resize:vertical}.s155-chat-listing-form>button{padding:13px;border:0;background:#f22932;color:#fff;font-size:10px;font-weight:900;letter-spacing:1px;cursor:pointer}
.s155-chat-footnote{padding:8px 12px;border-top:1px solid #303744;color:#778496;font-size:8px;line-height:1.4;background:#0b0d12}
@media(max-width:700px){
 #s155cp-chat-root{left:auto;right:14px;bottom:14px}
 .s155-chat-bubble{height:52px;min-width:52px;width:52px;padding:0;border-radius:50%;gap:0}
 .s155-chat-bubble-icon{font-size:23px}.s155-chat-bubble-label{display:none}
 .s155-chat-panel{position:fixed;left:0;right:0;bottom:0;width:100vw;height:min(88dvh,760px);min-height:0;border-radius:18px 18px 0 0;border-bottom:0}
 .s155-chat-header{padding:14px 16px}.s155-chat-header b{font-size:18px}
 .s155-chat-tabs button{font-size:9px;padding:13px 3px;letter-spacing:.3px}
 .s155-chat-body{grid-template-columns:1fr;position:relative}
 .s155-chat-list-pane{border-right:0}
 .s155-chat-thread-pane{display:none}
 #s155cp-chat-root.thread-open .s155-chat-list-pane{display:none}
 #s155cp-chat-root.thread-open .s155-chat-thread-pane{display:flex}
 .s155-chat-back{display:block}
 .s155-chat-list-item{padding:13px 10px}
 .s155-chat-list-item b{font-size:12px}.s155-chat-list-item small{font-size:10px}
 .s155-chat-messages{padding:13px}.s155-chat-message{max-width:90%}
 .s155-chat-compose{padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .s155-chat-footnote{font-size:8px}
}

.s155-chat-market-detail{margin:12px 14px 0;padding:12px;border:1px solid #5a333a;background:#20161c;display:grid;gap:6px}
.s155-chat-market-detail>span{font-size:8px;font-weight:900;letter-spacing:1px;color:#ff6872}
.s155-chat-market-detail>b{font-size:13px;color:#fff}
.s155-chat-market-detail>strong{font-size:12px;color:#42e49a}
.s155-chat-market-detail>p{margin:0;font-size:11px;line-height:1.5;color:#d8dce3;white-space:pre-wrap}
.s155-chat-market-detail>small{font-size:9px;color:#8f9bad}

/* v29.25 chat identity imagery */
.s155-chat-avatar{overflow:hidden;object-fit:cover}
.s155-chat-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.s155-chat-avatar.chapter{border-radius:9px;background:#1b202a}
.s155-chat-thread-head .s155-chat-avatar{width:38px;height:38px;flex-basis:38px}
.s155-chat-thread-head>div{flex:1}
.s155-chat-thread-head .s155-chat-back{margin-left:auto}
