:root{
    --blue:#0071bc; --blue-deep:#005a99; --navy:#0a3a5c;
    --orange:#f7931e; --peach:#F4C791; --peach-soft:#FCE7C6;
    --peri:#91ACE4; --peri-soft:#DCE6F7;
    --ink:#14181F; --slate:#4c5764; --line:#e7edf3; --line-mid:#d5dfe9;
    --paper:#ffffff; --mist:#F3F8FD;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{background:#c9d2dc;}
  body{font-family:'Open Sans',system-ui,sans-serif; color:var(--ink); -webkit-font-smoothing:antialiased;}
  div.page{width:1440px; background:var(--paper); position:relative; overflow:hidden; margin:0 auto;}
  img{display:block;}
  a{color:inherit;}

  .nav{display:flex; align-items:center; justify-content:space-between; padding:22px 72px;}
  .nav .brand img{height:30px; width:auto;}
  .nav ul{list-style:none; display:flex; gap:28px; align-items:center;}
  .nav li{font-family:'Montserrat'; font-weight:600; font-size:15.5px; letter-spacing:0; position:relative; line-height:1.4;}
  .nav li.dd{display:flex; align-items:center; gap:7px; cursor:pointer;}
  .nav li.dd .caret{width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); opacity:.7;}
  .nav li .drop{display:block; opacity:0; visibility:hidden; transform:translateY(8px); pointer-events:none; transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s; position:absolute; top:34px; left:-18px; z-index:40; background:#fff; border-radius:16px; box-shadow:0 24px 54px -18px rgba(10,58,92,.35); border:1px solid var(--line); padding:12px 0; min-width:290px;}
  .nav li .drop::before{content:""; position:absolute; left:0; right:0; top:-14px; height:14px;}
  .nav li.open .drop, .nav li.dd:hover .drop{opacity:1; visibility:visible; transform:none; pointer-events:auto; transition:opacity .22s ease, transform .22s ease;}
  .nav li .drop a{display:block; padding:11px 22px; font-family:'Montserrat'; font-weight:600; font-size:15px; color:var(--navy); text-decoration:none; line-height:1.4; letter-spacing:0;}
  .nav li .drop a span{display:block; font-family:'Open Sans'; font-weight:400; font-size:13.5px; color:var(--slate); margin-top:2px; line-height:1.5; letter-spacing:-.02em;}
  .nav li .drop a:hover{background:var(--mist); color:var(--blue);}
  .nav>ul>li>a{color:inherit; text-decoration:none;}
  .nav .actions{display:flex; align-items:center; gap:20px;}
  .nav .search{width:20px; height:20px; opacity:.75;}
  .pill{font-family:'Montserrat'; font-weight:700; font-size:15px; padding:11px 22px; border-radius:999px;
    background:var(--orange); color:#fff; letter-spacing:0; white-space:nowrap; line-height:1.2;}
  .eyebrow{font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:14px; line-height:1.2;}
  .btn{display:inline-block; font-family:'Montserrat'; font-weight:700; font-size:16px; padding:15px 30px; border-radius:999px; text-decoration:none; letter-spacing:0; line-height:1.2;}
  .btn-orange{background:var(--orange); color:#fff;}
  .btn-ghost-blue{background:transparent; color:var(--blue); border:2px solid var(--blue);}
  .btn-ghost-white{background:transparent; color:#fff; border:2px solid rgba(255,255,255,.85);}
  .chip{display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:16px;}
  .sec{position:relative;}
  .wavecut{display:block; width:100%; height:60px;}

  /* HERO */
  .hero{position:relative; height:700px; overflow:visible;}
  .hero .bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .hero .scrim{position:absolute; inset:0; background:linear-gradient(100deg, rgba(10,58,92,.9) 0%, rgba(0,90,153,.7) 44%, rgba(0,90,153,.28) 80%);}
  .hero .topshade{position:absolute; inset:0 0 auto 0; height:130px; background:linear-gradient(180deg,rgba(8,45,72,.55),rgba(8,45,72,0)); z-index:2;}
  .hero .arc{position:absolute; right:-120px; bottom:-120px; width:360px; height:360px; border:20px solid var(--orange); border-radius:50%; opacity:.85; z-index:2;}
  .hero .ringthin{position:absolute; right:150px; top:90px; width:120px; height:120px; border:2px solid rgba(255,255,255,.35); border-radius:50%; z-index:2;}
  .hero .navd li{color:#fff;} .hero .navd .search{stroke:#fff;} .hero .navd .brand-chip{background:transparent; display:inline-flex;}
  .hero .nav{position:relative; z-index:5;}
  .hero .vhint{position:absolute; z-index:4; left:72px; bottom:40px; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.9); font-family:'Montserrat'; font-weight:600; font-size:13px; letter-spacing:0; line-height:1.4;}
  .hero .vhint .play{width:44px; height:44px; border-radius:50%; border:2px solid rgba(255,255,255,.8); display:flex; align-items:center; justify-content:center;}
  .hero .hcontent{position:relative; z-index:3; padding:78px 72px 0; max-width:760px;}
  .hero .eyebrow{color:var(--peach);}
  .hero h1{font-family:'Montserrat'; font-weight:800; font-size:64px; line-height:1.04; letter-spacing:-.018em; color:#fff; margin:16px 0 22px; text-shadow:0 2px 30px rgba(0,0,0,.3);}
  .hero .scribble{display:inline-block; position:relative;}
  .hero .scribble svg{position:absolute; left:-4px; right:-4px; bottom:-14px; width:calc(100% + 8px); height:20px;}
  .hero .sub{font-size:18px; line-height:1.6; color:#eef5fb; max-width:560px; margin-bottom:30px; letter-spacing:-.02em;}
  .hero .cta{display:flex; gap:16px; align-items:center;}

  /* MISSION */
  .mission{position:relative; background:#fff; padding:74px 72px 78px; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center;}
  .mission .topo{position:absolute; inset:0; z-index:0; pointer-events:none;}
  .mission .col{position:relative; z-index:2;}
  .mission .eyebrow{color:var(--blue);}
  .mission h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:14px 0 18px; letter-spacing:-.01em;}
  .mission p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:20px; max-width:540px; letter-spacing:-.02em;}
  .mission .link{font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; line-height:1.4; letter-spacing:0;}
  .mission .imgwrap{position:relative; z-index:2;}
  .mission .imgwrap .peri{position:absolute; width:100%; height:100%; background:var(--peri-soft); border-radius:60% 40% 50% 50%/55% 45% 55% 45%; left:26px; top:26px;}
  .mission .imgwrap .ring{position:absolute; z-index:3; width:96px; height:96px; border:12px solid var(--orange); border-radius:50%; right:-22px; top:-26px; opacity:.9;}
  .mission .imgwrap img{position:relative; z-index:2; width:100%; height:420px; object-fit:cover; border-radius:24px; box-shadow:0 30px 60px -30px rgba(10,58,92,.5);}

  /* STATS */
  .stats{position:relative; background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:52px 72px 60px;}
  .stats .lead{font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); text-align:center; margin-bottom:30px; line-height:1.2;}
  .stats .grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
  .stats .stat{text-align:center; padding:8px 6px;}
  .stats .stat .n{font-family:'Montserrat'; font-weight:900; font-size:54px; color:var(--blue); line-height:1;}
  .stats .stat .n small{font-size:26px; vertical-align:6px;}
  .stats .stat .l{font-size:16px; color:var(--slate); margin-top:12px; line-height:1.65; letter-spacing:-.02em;}
  .stats .stat + .stat{border-left:1px solid var(--line-mid);}

  /* PROGRAMS */
  .programs{position:relative; background:#fff; padding:76px 72px 82px;}
  .programs .topo{position:absolute; inset:0; z-index:0; pointer-events:none;}
  .programs .hd{position:relative; z-index:2; text-align:center; max-width:640px; margin:0 auto 44px;}
  .programs .eyebrow{color:var(--orange);}
  .programs h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 20px; letter-spacing:-.01em;}
  .programs .hd p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
  .programs .cards{position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .programs .card{border:1px solid var(--line); border-radius:22px; padding:32px 28px 30px; background:#fff;}
  .programs .card .ic svg{width:26px; height:26px;}
  .programs .card h3{font-family:'Montserrat'; font-weight:800; font-size:20px; line-height:1.32; color:var(--ink); margin:20px 0 12px; letter-spacing:0;}
  .programs .card p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; letter-spacing:-.02em;}
  .programs .card .link{font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; line-height:1.4; letter-spacing:0;}

  /* REGIONS */
  .regions{position:relative; background:var(--mist); padding:48px 72px; overflow:hidden;}
  .regions .blob{position:absolute; width:200px; height:200px; background:var(--peach-soft); border-radius:42% 58% 55% 45%/50% 45% 55% 50%; right:-60px; top:60px; z-index:0;}
  .regions .inner{position:relative; z-index:2; display:grid; grid-template-columns:.92fr 1.08fr; gap:56px; align-items:center;}
  .regions .eyebrow{color:var(--blue);}
  .regions h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 20px; letter-spacing:-.01em;}
  .regions p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:24px; max-width:460px; letter-spacing:-.02em;}
  .regions .picker{display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 18px; max-width:420px; box-shadow:0 18px 40px -34px rgba(10,58,92,.5);}
  .regions .picker .lb{font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--slate); line-height:1.4; letter-spacing:0;}
  .regions .picker .sel{margin-left:auto; display:flex; align-items:center; gap:10px; font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--navy); line-height:1.4; letter-spacing:0;}
  .regions .picker .sel .cv{color:var(--blue);}
  .regions .grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
  .regions .rchip{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 14px; text-align:center; font-family:'Montserrat'; font-weight:700; font-size:14px; color:var(--navy); line-height:1.4; letter-spacing:0;}
  .regions .rchip span{display:block; font-family:'Open Sans'; font-weight:600; font-size:12px; color:var(--blue); margin-top:4px;}
  .regions .rchip.on{background:var(--blue); color:#fff; border-color:var(--blue);}
  .regions .rchip.on span{color:var(--peach);}

  /* GET INVOLVED */
  .join{position:relative; padding:0;}
  .join .band{position:relative; background:linear-gradient(120deg, var(--peri-soft) 0%, #fff 60%); padding:64px 72px; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; overflow:hidden;}
  .join .ring{position:absolute; width:150px; height:150px; border:16px solid var(--orange); border-radius:50%; left:-50px; bottom:-50px; opacity:.85; z-index:0;}
  .join .col{position:relative; z-index:2;}
  .join .eyebrow{color:var(--blue);}
  .join h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 20px; letter-spacing:-.01em;}
  .join p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:26px; max-width:520px; letter-spacing:-.02em;}
  .join .cta{display:flex; gap:16px; align-items:center;}
  .join .art{position:relative; z-index:2;}
  .join .art img{width:100%; height:300px; object-fit:cover; border-radius:24px; box-shadow:0 30px 60px -30px rgba(10,58,92,.5);}

  /* FOOTER */
  .foot{background:var(--navy); color:#dfe9f2; padding:60px 72px 30px;}
  .foot .top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.12);}
  .foot .brand-chip{background:transparent; display:inline-flex;}
  .foot .brand-chip img{height:46px;}
  .foot .about{font-size:16px; line-height:1.65; color:#b9c9d8; max-width:320px; letter-spacing:-.02em;}
  .foot .about .tag{font-family:'Montserrat'; font-weight:700; color:#fff; margin-bottom:10px; font-size:16px; line-height:1.5; letter-spacing:0;}
  .foot h4{font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin-bottom:16px; line-height:1.2;}
  .foot ul{list-style:none;} .foot li{font-size:16px; margin-bottom:11px; color:#c6d5e3; line-height:1.65; letter-spacing:-.02em;}
  .foot .btm{display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:13.5px; color:#8ea6bd; line-height:1.5; letter-spacing:-.02em;}
  .foot .btm .legal{display:flex; align-items:center; gap:18px;}
  .foot .btm .legal a{color:#c6d5e3; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(198,213,227,.45);}
  .foot .btm .soc{display:flex; gap:14px;}
  .foot .btm .soc span{width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center;}

.regions{min-height:auto; display:flex; align-items:center; justify-content:space-between; gap:40px;}
      .regions .rmap{position:relative; z-index:2; flex:0 1 480px; max-width:480px;}
      .regions .rcopy .eyebrow{color:var(--blue);}
      .regions .regcard{background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px 24px; margin:22px 0 20px; box-shadow:0 22px 46px -34px rgba(10,58,92,.5); max-width:440px;}
      .regions .regcard .rlabel{font-family:'Montserrat'; font-weight:800; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); line-height:1.2;}
      .regions .regcard .rname{font-family:'Montserrat'; font-weight:800; font-size:24px; color:var(--navy); margin:4px 0 12px; line-height:1.25; letter-spacing:-.01em;}
      .regions .regcard .rco{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
      .regions .regcard .rlink{display:inline-block; margin-top:14px; font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; line-height:1.4; letter-spacing:0;}
      .regions .rpills{display:flex; flex-wrap:wrap; gap:8px; max-width:440px;}
      .regions .rpill{width:38px; height:38px; border-radius:11px; border:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat'; font-weight:800; font-size:14px; color:var(--navy); line-height:1.4; letter-spacing:0;}
      .regions .rpill.on{background:var(--orange); color:#fff; border-color:var(--orange);}
      .regions .mapbleed{position:relative; z-index:1; flex:0 0 auto; height:clamp(460px, 44vw, 640px); width:auto; margin-right:-72px;}
      .regions .mapbleed img{display:block; width:100%; height:auto;}
      .regions .castroke{fill:none; stroke:#b3c7de; stroke-width:1.6;}
      .regions .dot{fill:#c4d4ef;}
      .regions .dot.on{fill:#f7931e;}
      .regions .mkc{fill:#fff; stroke:#0071bc; stroke-width:2;}
      .regions .mk.on .mkc{fill:#0071bc; stroke:#0a3a5c; stroke-width:2.5;}
      .regions .mkt{font-family:'Montserrat'; font-weight:800; font-size:12px; fill:#0a3a5c; pointer-events:none;}
      .regions .mk.on .mkt{fill:#fff;}
      .regions .maphint{position:absolute; z-index:3; left:88px; bottom:74px; background:rgba(10,58,92,.86); color:#fff; font-family:'Montserrat'; font-weight:600; font-size:13px; letter-spacing:0; padding:8px 16px; border-radius:999px; white-space:nowrap; display:flex; align-items:center; gap:8px; line-height:1.4;}


/* ============ INTERIOR SUBPAGE CHROME (shared across subpages) ============ */
.pagehead{position:relative; background:linear-gradient(118deg,var(--navy) 0%, var(--blue) 72%); overflow:visible;}
.pagehead .phbg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.pagehead .phscrim{position:absolute; inset:0; background:linear-gradient(100deg, rgba(10,58,92,.92) 0%, rgba(0,90,153,.78) 46%, rgba(0,90,153,.42) 100%); z-index:0;}
.pagehead .arc{position:absolute; right:-90px; bottom:-150px; width:300px; height:300px; border:18px solid var(--orange); border-radius:50%; opacity:.92; z-index:1;}
.pagehead .ringthin{position:absolute; right:250px; bottom:30px; width:100px; height:100px; border:2px solid rgba(255,255,255,.31); border-radius:50%; z-index:1;}
.pagehead .nav{position:relative; z-index:5;}
.pagehead .nav li{color:#fff;}
.pagehead .nav .brand-chip{background:transparent; display:inline-flex;}
.pagehead .nav .search{stroke:#fff;}
.pagehead .phc{position:relative; z-index:3; padding:26px 72px 66px; max-width:860px;}
.pagehead .crumb{font-family:'Montserrat'; font-weight:600; font-size:13px; line-height:1.4; letter-spacing:0; color:var(--peach); margin-bottom:14px;}
.pagehead .eyebrow{color:var(--peach);}
.pagehead h1{font-family:'Montserrat'; font-weight:800; font-size:48px; line-height:1.08; letter-spacing:-.016em; color:#fff; margin:0 0 18px;}
.pagehead .sub{font-size:18px; line-height:1.6; color:#e7f0f8; max-width:640px; letter-spacing:-.02em;}

/* two-column content block (reusable) */
.twocol{position:relative; background:#fff; padding:74px 72px; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center;}
.twocol.flip .txt{order:2;}
.twocol .eyebrow{color:var(--blue);}
.twocol h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 20px; letter-spacing:-.01em;}
.twocol p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; max-width:520px; letter-spacing:-.02em;}
.twocol .link{font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; line-height:1.4; letter-spacing:0;}
.twocol .shot{position:relative;}
.twocol .shot .peri{position:absolute; width:100%; height:100%; background:var(--peri-soft); border-radius:58% 42% 50% 50%/55% 45% 55% 45%; left:24px; top:24px;}
.twocol .shot .ring{position:absolute; z-index:3; width:88px; height:88px; border:11px solid var(--orange); border-radius:50%; right:-20px; top:-24px; opacity:.9;}
.twocol .shot img{position:relative; z-index:2; width:100%; height:400px; object-fit:cover; border-radius:22px; box-shadow:0 30px 60px -30px rgba(10,58,92,.5);}

/* full-width feature strip */
.feature{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:70px 72px; overflow:hidden;}
.feature .blob{position:absolute; width:210px; height:210px; background:var(--peach-soft); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; left:-70px; bottom:-50px; z-index:0;}
.feature .inner{position:relative; z-index:2; max-width:760px; margin:0 auto; text-align:center;}
.feature .eyebrow{color:var(--orange);}
.feature h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 20px; letter-spacing:-.01em;}
.feature p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}

/* accordion (reusable section format) */
.accordion{position:relative; background:#fff; padding:70px 72px;}
.accordion .hd{max-width:640px; margin:0 auto 34px; text-align:center;}
.accordion .eyebrow{color:var(--blue);}
.accordion .hd h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin-top:0;}
.accordion .list{max-width:820px; margin:0 auto;}
.accordion .row{border:1px solid var(--line); border-radius:16px; padding:22px 26px; margin-bottom:14px; background:#fff;}
.accordion .row.open{box-shadow:0 22px 46px -34px rgba(10,58,92,.5);}
.accordion .q{display:flex; align-items:center; justify-content:space-between; gap:20px; font-family:'Montserrat'; font-weight:700; font-size:18px; line-height:1.4; color:var(--navy); letter-spacing:0;}
.accordion .q .pm{width:26px; height:26px; border-radius:50%; background:var(--peri-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; font-weight:800;}
.accordion .a-inner{font-size:16px; line-height:1.65; color:var(--slate); max-width:680px; letter-spacing:-.02em;}
.accordion .row:not(.open) .a{display:none;}

/* profile header (Individual Profile layout) */
.profhead{position:relative; background:#fff; padding:56px 72px 40px; display:grid; grid-template-columns:300px 1fr; gap:48px; align-items:center;}
.profhead .shot{position:relative;}
.profhead .shot .ring{position:absolute; z-index:1; width:96px; height:96px; border:12px solid var(--orange); border-radius:50%; right:-18px; bottom:-18px; opacity:.9;}
.profhead .shot img{position:relative; z-index:2; width:300px; height:300px; object-fit:cover; border-radius:26px; box-shadow:0 30px 60px -30px rgba(10,58,92,.5);}
.profhead .eyebrow{color:var(--blue);}
.profhead h1{font-family:'Montserrat'; font-weight:800; font-size:38px; line-height:1.16; color:var(--navy); margin:0 0 8px; letter-spacing:-.01em;}
.profhead .role{font-family:'Montserrat'; font-weight:700; font-size:18px; color:var(--orange); margin-bottom:20px; line-height:1.4; letter-spacing:0;}
.profhead .meta{display:flex; flex-wrap:wrap; gap:12px;}
.profhead .meta .m{display:flex; align-items:center; gap:8px; background:var(--mist); border:1px solid var(--line); border-radius:12px; padding:10px 16px; font-size:16px; color:var(--slate); line-height:1.65; letter-spacing:-.02em;}
.profhead .meta .m b{font-family:'Montserrat'; color:var(--navy); font-weight:700;}

/* shop */
.shopgrid{position:relative; background:#fff; padding:64px 72px;}
.shopgrid .bar{display:flex; align-items:center; gap:14px; margin-bottom:26px;}
.shopgrid .bar .cat{font-family:'Montserrat'; font-weight:700; font-size:14px; padding:9px 18px; border-radius:999px; border:1px solid var(--line); color:var(--slate); line-height:1.4; letter-spacing:0;}
.shopgrid .bar .cat.on{background:var(--blue); color:#fff; border-color:var(--blue);}
.shopgrid .grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.shopgrid .prod{border:1px solid var(--line); border-radius:18px; overflow:hidden; background:#fff;}
.shopgrid .prod .ph{height:230px; background:var(--peri-soft); position:relative;}
.shopgrid .prod .ph img{width:100%; height:100%; object-fit:cover;}
.shopgrid .prod .body{padding:18px 18px 20px;}
.shopgrid .prod .nm{font-family:'Montserrat'; font-weight:700; font-size:16px; line-height:1.35; color:var(--navy); letter-spacing:0;}
.shopgrid .prod .pr{font-family:'Montserrat'; font-weight:800; font-size:16px; color:var(--blue); margin-top:6px; line-height:1.35; letter-spacing:0;}
.shopgrid .prod .tag{display:inline-block; font-size:13.5px; color:var(--slate); margin-top:8px; line-height:1.5; letter-spacing:-.02em;}

/* product detail */
.pdp{position:relative; background:#fff; padding:64px 72px; display:grid; grid-template-columns:1.05fr .95fr; gap:56px;}
.pdp .gallery .main{width:100%; height:460px; background:var(--peri-soft); border-radius:22px; overflow:hidden;}
.pdp .gallery .main img{width:100%; height:100%; object-fit:cover;}
.pdp .gallery .thumbs{display:flex; gap:14px; margin-top:14px;}
.pdp .gallery .thumbs .t{width:88px; height:88px; border-radius:14px; background:var(--mist); border:1px solid var(--line); overflow:hidden;}
.pdp .gallery .thumbs .t.on{border:2px solid var(--blue);}
.pdp .gallery .thumbs .t img{width:100%; height:100%; object-fit:cover;}
.pdp .info .eyebrow{color:var(--blue);}
.pdp .info h1{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0 0 12px;}
.pdp .info .price{font-family:'Montserrat'; font-weight:800; font-size:26px; color:var(--blue); margin-bottom:20px; line-height:1.2; letter-spacing:-.01em;}
.pdp .info p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:22px; max-width:460px; letter-spacing:-.02em;}
.pdp .opt{margin-bottom:20px;}
.pdp .opt .ol{font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--slate); margin-bottom:10px; line-height:1.2;}
.pdp .opt .sw{display:flex; gap:10px;}
.pdp .opt .sw .s{min-width:46px; height:46px; padding:0 14px; border-radius:12px; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--navy); line-height:1.2; letter-spacing:0;}
.pdp .opt .sw .s.on{border:2px solid var(--blue); color:var(--blue);}
.pdp .opt .sw .col{width:36px; min-width:36px; height:36px; border-radius:50%; padding:0; border:2px solid #fff; box-shadow:0 0 0 1px var(--line);}
.pdp .opt .sw .col.on{border-color:#fff; box-shadow:0 0 0 2px var(--blue);}
.pdp .buy{display:flex; gap:14px; align-items:center; margin-top:8px;}

/* LEADIN */
.leadin{position:relative; background:#fff; padding:64px 72px 12px;}
.leadin .inner{max-width:860px; margin:0 auto;}
.leadin p{font-size:17px; line-height:1.7; color:var(--slate); margin-bottom:20px; letter-spacing:-.02em;}
.leadin p.lead{font-size:20px; line-height:1.55; color:var(--ink); font-weight:500;}

/* FACTS (SLC 3-card grid) */
.facts{position:relative; background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:56px 72px 64px;}
.facts .grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.facts .fcard{background:#fff; border:1px solid var(--line); border-radius:22px; padding:30px 30px 32px; box-shadow:0 26px 54px -42px rgba(10,58,92,.5);}
.facts .fcard .fval{font-family:'Montserrat'; font-weight:800; font-size:26px; line-height:1.2; color:var(--blue); letter-spacing:-.01em;}
.facts .fcard .flabel{font-size:16px; line-height:1.6; color:var(--slate); margin-top:12px; letter-spacing:-.02em;}

/* FACTCARDS (SABE variant) */
.factcards{position:relative; background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:56px 72px 64px;}
.factcards .grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.factcards .fcard{border:1px solid var(--line); border-radius:22px; padding:32px 30px; background:#fff; box-shadow:0 26px 54px -42px rgba(10,58,92,.5);}
.factcards .fcard .fk{font-family:'Montserrat'; font-weight:800; font-size:26px; line-height:1.22; color:var(--navy); letter-spacing:-.01em;}
.factcards .fcard .fv{font-size:16px; line-height:1.6; color:var(--slate); margin-top:10px; letter-spacing:-.02em;}
.factcards .fcard .fv.hold{color:#9fb0bf; font-style:italic;}

/* QUOTES (SLC quote cards) */
.quotes{position:relative; background:#fff; border-top:1px solid var(--line); padding:70px 72px;}
.quotes .grid{display:grid; grid-template-columns:repeat(2,1fr); gap:30px;}
.quotes .qcard{position:relative; background:var(--mist); border:1px solid var(--line); border-radius:22px; padding:36px 34px 34px;}
.quotes .qmark{display:block; font-family:'Montserrat'; font-weight:900; font-size:64px; line-height:.55; height:30px; color:var(--orange);}
.quotes blockquote{font-family:'Montserrat'; font-weight:700; font-size:20px; line-height:1.5; color:var(--navy); letter-spacing:-.005em; margin:16px 0 20px;}
.quotes .attr{font-family:'Montserrat'; font-weight:700; font-size:16px; color:var(--blue); line-height:1.4; letter-spacing:0;}

/* RETRO (SLC recap section) */
.retro{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:70px 72px 78px;}
.retro .inner{max-width:860px; margin:0 auto;}
.retro .eyebrow{color:var(--orange);}
.retro h2{font-family:'Montserrat'; font-weight:800; font-size:32px; line-height:1.18; letter-spacing:-.01em; color:var(--navy); margin:0 0 18px;}
.retro p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; letter-spacing:-.02em;}
.tracklist{list-style:none; margin:6px 0 22px; padding:0;}
.tracklist li{position:relative; padding:12px 0 12px 26px; font-size:16px; line-height:1.6; color:var(--slate); border-bottom:1px solid var(--line); letter-spacing:-.02em;}
.tracklist li:last-child{border-bottom:none;}
.tracklist li:before{content:""; position:absolute; left:0; top:19px; width:9px; height:9px; border-radius:50%; background:var(--blue);}
.tracklist li b{font-family:'Montserrat'; font-weight:700; color:var(--navy);}

/* CTABAND (dark gradient CTA) */
.ctaband{position:relative; background:linear-gradient(122deg, var(--navy) 0%, var(--blue) 58%, #2f9bd6 100%); padding:80px 72px; overflow:hidden;}
.ctaband .ringv{position:absolute; z-index:0; right:-60px; top:-70px; width:230px; height:230px; border:16px solid var(--orange); border-radius:50%; opacity:.9;}
.ctaband .blob{position:absolute; width:210px; height:210px; background:rgba(255,255,255,.08); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; left:-70px; bottom:-50px; z-index:0;}
.ctaband .inner{position:relative; z-index:2; max-width:720px; margin:0 auto; text-align:center;}
.ctaband .eyebrow{color:var(--peach);}
.ctaband h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:#fff; margin:0 auto 18px; max-width:600px;}
.ctaband p{font-size:17px; line-height:1.6; color:#dcebf7; max-width:560px; margin:0 auto; letter-spacing:-.02em;}
.ctaband .cta{margin-top:28px; display:flex; justify-content:center;}

/* TOPICS (SABE proposal topics grid) */
.topics{position:relative; background:#fff; padding:74px 72px 82px;}
.topics .hd{max-width:760px; margin:0 auto 36px; text-align:center;}
.topics .eyebrow{color:var(--orange);}
.topics h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0 0 18px;}
.topics .hd p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
.topics .list{display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; max-width:960px; margin:0 auto;}
.topics .titem{display:flex; gap:14px; align-items:flex-start; padding:18px 22px; border:1px solid var(--line); border-radius:16px; background:#fff;}
.topics .titem .dot{flex:none; width:26px; height:26px; border-radius:50%; background:var(--peri-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; font-family:'Montserrat'; font-weight:800; font-size:14px; margin-top:1px;}
.topics .titem span{font-size:16px; line-height:1.55; color:var(--slate); letter-spacing:-.02em;}

/* VOICES (SABE testimonial cards) */
.voices{position:relative; background:linear-gradient(120deg, var(--peri-soft) 0%, #fff 74%); padding:76px 72px 84px; overflow:hidden;}
.voices .ringbg{position:absolute; width:190px; height:190px; border:2px solid var(--blue); border-radius:50%; opacity:.18; right:60px; top:-60px;}
.voices .grid{position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:30px;}
.voices .vq{background:#fff; border:1px solid var(--line); border-radius:22px; padding:36px 34px 32px; box-shadow:0 30px 60px -44px rgba(10,58,92,.55); display:flex; flex-direction:column;}
.voices .qmark{display:block; font-family:'Montserrat'; font-weight:900; font-size:82px; line-height:.7; height:48px; background:linear-gradient(120deg, var(--orange) 0%, #ef7f3c 48%, var(--blue) 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
.voices blockquote{font-family:'Montserrat'; font-weight:700; font-size:19px; line-height:1.5; color:var(--navy); letter-spacing:-.005em; margin-bottom:22px;}
.voices .attr{font-family:'Montserrat'; font-weight:700; font-size:16px; color:var(--blue); margin-top:auto; line-height:1.4; letter-spacing:0;}
.voices .attr span{display:block; font-family:'Open Sans'; font-weight:400; font-size:14.5px; color:var(--slate); margin-top:3px; line-height:1.5; letter-spacing:-.02em;}

/* TMONY (centered testimonial) */
.tmony{position:relative; background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:74px 72px 80px; overflow:hidden;}
.tmony .blob{position:absolute; width:210px; height:210px; background:var(--peach-soft); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; right:-70px; top:-50px; z-index:0;}
.tmony .inner{position:relative; z-index:2; max-width:760px; margin:0 auto; text-align:center;}
.tmony .eyebrow{color:var(--orange);}
.tmony blockquote{font-family:'Montserrat'; font-weight:700; font-size:26px; line-height:1.42; color:var(--navy); letter-spacing:-.01em; margin:0 0 22px;}
.tmony .who{font-size:16px; line-height:1.6; color:var(--slate); letter-spacing:-.02em;}

/* PHOTOWALL (4-col photo grid) */
.photowall{position:relative; background:#fff; border-top:1px solid var(--line); padding:70px 72px 80px;}
.photowall .hd{max-width:640px; margin:0 auto 36px; text-align:center;}
.photowall .eyebrow{color:var(--blue);}
.photowall h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0;}
.photowall .grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.photowall .grid img{width:100%; height:212px; object-fit:cover; border-radius:18px; box-shadow:0 22px 46px -34px rgba(10,58,92,.5);}

/* PROGTABLE (program comparison table) */
.progtable{background:var(--mist); border-top:1px solid var(--line); padding:66px 72px 74px;}
.progtable .hd{max-width:640px; margin:0 0 30px;}
.progtable .eyebrow{color:var(--blue);}
.progtable h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:8px 0 0;}
.progtable .tbl{width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 26px 54px -42px rgba(10,58,92,.5);}
.progtable th,.progtable td{text-align:left; padding:18px 22px; border-bottom:1px solid var(--line); vertical-align:top;}
.progtable thead th{background:var(--navy); color:#fff; font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; line-height:1.3;}
.progtable tbody tr:last-child td{border-bottom:none;}
.progtable tbody tr:nth-child(even) td{background:var(--mist);}
.progtable td{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
.progtable td .pname{font-family:'Montserrat'; font-weight:700; font-size:17px; color:var(--navy); line-height:1.35; letter-spacing:0;}

/* REGLEADERS (region president cards) */
.regleaders{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:70px 72px 80px; overflow:hidden;}
.regleaders .blob{position:absolute; width:210px; height:210px; background:var(--peach-soft); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; right:-70px; top:40px; z-index:0; opacity:.9;}
.regleaders .hd{position:relative; z-index:2; max-width:640px; margin:0 auto 36px; text-align:center;}
.regleaders .eyebrow{color:var(--blue);}
.regleaders .hd h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin-top:0;}
.regleaders .hd .rl-sub{font-size:16px; line-height:1.65; letter-spacing:-.02em; color:var(--slate); margin:12px 0 0;}
.regleaders .lgrid{position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1180px; margin:0 auto;}
.regleaders .lcard{display:grid; grid-template-columns:150px 1fr; gap:26px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:22px; padding:28px 30px; scroll-margin-top:26px;}
.regleaders .lcard img{width:150px; height:150px; border-radius:50%; object-fit:cover; box-shadow:0 22px 46px -30px rgba(10,58,92,.55);}
.regleaders .lcard img.crop-r{object-position:78% 18%;}
.regleaders .lcard .rlabel{font-family:'Montserrat'; font-weight:800; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); line-height:1.2; margin-bottom:6px;}
.regleaders .lcard .nm{font-family:'Montserrat'; font-weight:700; font-size:20px; line-height:1.32; color:var(--navy); letter-spacing:0;}
.regleaders .lcard p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em; margin:8px 0 12px;}
.regleaders .lcard .soc{display:flex; gap:10px; align-items:center;}
.regleaders .lcard .soc span{width:32px; height:32px; border-radius:50%; border:1px solid var(--line-mid); color:var(--blue); font-family:'Montserrat'; font-weight:700; font-size:13px; line-height:1.2; display:flex; align-items:center; justify-content:center;}
.regleaders .lcard .soc a.mail{text-decoration:none; font-family:'Montserrat'; font-weight:700; font-size:15px; line-height:1.4; letter-spacing:0; color:var(--blue); margin-left:6px; white-space:nowrap;}

/* REGPAGE roster (county search) */
.regpage .roster{background:#fff; padding:64px 72px 78px;}
.regpage .roster .hd{max-width:640px; margin:0 auto 30px; text-align:center;}
.regpage .roster .eyebrow{color:var(--orange);}
.regpage .roster h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin-top:0;}
.regpage .roster .grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:1180px; margin:0 auto;}
.regpage .roster .grid.hasexp{grid-template-columns:repeat(3,1fr);}
.regpage .roster .searchwrap{max-width:1180px; margin:0 auto 26px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.regpage .roster .regsearch{display:flex; align-items:center; gap:10px; width:420px; background:#fff; border:1px solid var(--line-mid); border-radius:999px; padding:13px 20px; box-shadow:0 18px 40px -34px rgba(10,58,92,.5);}
.regpage .roster .regsearch svg{width:18px; height:18px; flex-shrink:0;}
.regpage .roster .regsearch input{border:0; outline:0; width:100%; font-family:'Open Sans'; font-size:16px; line-height:1.65; letter-spacing:-.02em; color:var(--ink); background:transparent;}
.regpage .roster .regsearch input::placeholder{color:#8395a5;}
.regpage .roster .count{font-family:'Montserrat'; font-weight:700; font-size:14px; line-height:1.4; letter-spacing:0; color:var(--slate);}
.regpage .roster .school.hide{display:none;}
.regpage .roster .school{border:1px solid var(--line); border-radius:16px; padding:22px 24px; background:#fff; display:flex; flex-direction:column;}
.regpage .roster .school .nm{font-family:'Montserrat'; font-weight:700; font-size:17px; line-height:1.35; color:var(--navy); letter-spacing:0;}
.regpage .roster .school .counties{display:none; flex-wrap:wrap; gap:7px; margin-top:14px;}
.regpage .roster .school.exp .counties{display:flex;}
.regpage .roster .school .cnum{font-size:13.5px; line-height:1.5; letter-spacing:-.02em; color:var(--slate); margin-top:5px;}
.regpage .roster .school.exp .cnum{display:none;}
.regpage .roster .hint{max-width:1180px; margin:14px auto 0; font-size:13.5px; line-height:1.5; letter-spacing:-.02em; color:var(--slate); text-align:center;}
.regpage .county{font-size:13.5px; line-height:1.5; color:var(--navy); background:var(--mist); border:1px solid var(--line); border-radius:8px; padding:5px 10px; letter-spacing:-.02em;}
.regpage .roster .school .county{font-size:13.5px; line-height:1.5; color:var(--navy); background:var(--mist); border:1px solid var(--line); border-radius:8px; padding:5px 10px; letter-spacing:-.02em;}
.regpage .roster .school .lead{font-size:15px; color:var(--blue); margin-top:auto; padding-top:18px; font-family:'Montserrat'; font-weight:700; line-height:1.4; letter-spacing:0; text-decoration:none;}
.regpage .regions .regcard .rco{display:flex; flex-wrap:wrap; gap:7px;}
.regpage a.lead,.regpage a.rpill,.regpage a.rlink,.regpage .lcard a.mail{text-decoration:none; cursor:pointer;}
.regpage a.rpill{display:flex; align-items:center; justify-content:center;}

/* MEM (members page overrides) */
.roster{position:relative; background:#fff; padding:70px 72px 78px;}
.roster.tint{background:var(--mist); border-top:1px solid var(--line);}
.roster .hd{max-width:640px; margin:0 auto 42px; text-align:center;}
.roster .hd .eyebrow{color:var(--blue);}
.roster .hd h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0;}
.roster .grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.roster .pcard{border:1px solid var(--line); border-radius:18px; padding:28px 22px 26px; background:#fff; text-align:center; box-shadow:0 18px 40px -34px rgba(10,58,92,.4);}
.roster .pcard .av{width:98px; height:98px; border-radius:50%; margin:0 auto 18px; background:var(--peri-soft); position:relative; overflow:hidden;}
.roster .pcard .av:before{content:""; position:absolute; left:50%; top:20px; transform:translateX(-50%); width:34px; height:34px; border-radius:50%; background:#c2d3ef;}
.roster .pcard .av:after{content:""; position:absolute; left:50%; bottom:-32px; transform:translateX(-50%); width:74px; height:74px; border-radius:50%; background:#c2d3ef;}
.roster .pcard .nm{font-family:'Montserrat'; font-weight:700; font-size:16px; color:var(--navy); line-height:1.35; letter-spacing:0;}
.roster .pcard .rl{font-family:'Montserrat'; font-weight:600; font-size:13px; color:var(--orange); margin-top:6px; line-height:1.4; letter-spacing:0;}
.roster .pcard .av.has-photo{background-size:cover; background-position:center;}
.roster .pcard .av.has-photo:before,.roster .pcard .av.has-photo:after{display:none;}
.roster .note{max-width:640px; margin:40px auto 0; text-align:center; font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
.roster .note a{font-family:'Montserrat'; font-weight:700; color:var(--blue); text-decoration:none;}
.mem .stats .ahd{text-align:center; max-width:640px; margin:0 auto 34px;}
.mem .stats .ahd .eyebrow{color:var(--orange);}
.mem .stats .ahd h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:6px 0 0;}
.mem .stats .anote{max-width:820px; margin:36px auto 0; text-align:center;}
.mem .stats .anote p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}

/* REGCONF (region conference subpage) */
.sec.intro{background:#fff; padding:64px 72px 8px;}
.sec.intro .inner{max-width:820px; margin:0 auto;}
.sec.intro p{font-size:18px; line-height:1.62; color:var(--slate); letter-spacing:-.02em; margin-bottom:20px;}
.sec.intro p:first-child{color:var(--navy); font-weight:600;}
.regconf .facts{background:#fff; padding:34px 72px 66px;}
.regconf .facts .grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; max-width:1100px; margin:0 auto;}
.regconf .facts .fcard{border:1px solid var(--line); border-radius:22px; padding:32px 30px; background:#fff; box-shadow:0 26px 54px -44px rgba(10,58,92,.5);}
.regconf .facts .fcard .fval{font-family:'Montserrat'; font-weight:900; font-size:32px; line-height:1.1; letter-spacing:-.01em; color:var(--blue);}
.regconf .facts .fcard .flabel{font-size:16px; line-height:1.6; color:var(--slate); letter-spacing:-.02em; margin-top:12px;}
.sec.body{background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:70px 72px;}
.sec.body .inner{max-width:820px; margin:0 auto;}
.sec.body p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em; margin-bottom:18px;}
.sec.body .guestlead{margin-bottom:14px;}
.sec.body ul{list-style:none; display:grid; gap:12px; margin:6px 0 8px;}
.sec.body li{position:relative; padding-left:30px; font-size:16px; line-height:1.6; color:var(--slate); letter-spacing:-.02em;}
.sec.body li:before{content:""; position:absolute; left:2px; top:8px; width:11px; height:11px; border-radius:50%; background:var(--orange);}
.sec.sched{background:#fff; border-top:1px solid var(--line); padding:64px 72px 74px;}
.sec.sched .inner{max-width:1180px; margin:0 auto;}
.sec.sched .lead{max-width:760px; margin:0 0 26px;}
.sec.sched .lead p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
.sec.sched .lead p.big{font-family:'Montserrat'; font-weight:800; font-size:22px; line-height:1.3; color:var(--navy); letter-spacing:-.01em; margin-bottom:10px;}
.sec.sched table{width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:18px; overflow:hidden;}
.sec.sched th{font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; line-height:1.2; color:#fff; text-align:left; background:var(--navy); padding:16px 22px; white-space:nowrap;}
.sec.sched td{font-size:16px; line-height:1.6; letter-spacing:-.02em; color:var(--slate); padding:15px 22px; border-bottom:1px solid var(--line); vertical-align:middle;}
.sec.sched tr:last-child td{border-bottom:0;}
.sec.sched tr:nth-child(even) td{background:#fbfdfe;}
.sec.sched td.region{font-family:'Montserrat'; font-weight:700; font-size:16px; line-height:1.35; letter-spacing:0; color:var(--navy);}
.sec.sched td.tba{color:#8395a5;}
.sec.sched .note{font-size:13.5px; line-height:1.5; letter-spacing:-.02em; color:var(--slate); margin-top:16px; text-align:center;}
.sec.sable{position:relative; overflow:hidden; padding:82px 72px; background:linear-gradient(122deg, var(--navy) 0%, var(--blue) 58%, #2f9bd6 100%); border-top:none;}
.sec.sable .ringv{position:absolute; z-index:0; right:-60px; top:-70px; width:230px; height:230px; border:16px solid var(--orange); border-radius:50%; opacity:.9;}
.sec.sable .blob{position:absolute; width:210px; height:210px; background:rgba(255,255,255,.08); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; left:-70px; bottom:-50px; z-index:0;}
.sec.sable .inner{position:relative; z-index:2; max-width:720px; margin:0 auto; text-align:center;}
.sec.sable .eyebrow{color:var(--peach);}
.sec.sable h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:#fff; margin:0 auto 20px; max-width:620px;}
.sec.sable p{font-size:16px; line-height:1.65; color:#dcebf7; letter-spacing:-.02em; max-width:660px; margin:0 auto;}
.sec.sable .cta{margin-top:28px; display:flex; justify-content:center;}

/* btn-disabled */
.btn-disabled{background:#e7edf3; color:#9fb0bf; border:2px solid transparent; cursor:default; pointer-events:none;}

/* SESSLIST (SLC session list) */
.twocol.ignite{align-items:start;}
.twocol.ignite .txt .intro{font-family:'Montserrat'; font-weight:700; font-size:16px; color:var(--navy); margin:6px 0 4px; line-height:1.5; letter-spacing:0;}
.sesslist{list-style:none; margin:10px 0 0; padding:0;}
.sesslist li{position:relative; padding:10px 0 10px 26px; font-size:16px; line-height:1.5; color:var(--slate); border-bottom:1px solid var(--line); letter-spacing:-.02em;}
.sesslist li:last-child{border-bottom:none;}
.sesslist li:before{content:""; position:absolute; left:0; top:17px; width:9px; height:9px; border-radius:50%; background:var(--orange);}

/* twocol lead-p and ctarow (SABE/Members) */
.twocol .lead-p{font-size:18px; line-height:1.6; color:var(--navy); font-weight:600; margin-bottom:18px; max-width:520px; letter-spacing:-.02em;}
.twocol .ctarow{margin-top:26px;}

/* shopgrid extras */
.shopgrid .prod .ph.book{background:linear-gradient(160deg,var(--peri-soft),#fff); display:flex; align-items:center; justify-content:center; padding:22px;}
.shopgrid .prod .ph.book .bk{background:#fff; border:1px solid var(--line); border-radius:8px; padding:20px 18px; text-align:center; box-shadow:0 14px 30px -22px rgba(10,58,92,.6); width:150px;}
.shopgrid .prod .ph.book .bk .t{font-family:'Montserrat'; font-weight:800; font-size:13px; color:var(--navy); line-height:1.3; letter-spacing:0;}
.shopgrid .prod .ph.book .bk .k{font-size:13px; color:var(--orange); font-family:'Montserrat'; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-top:10px; line-height:1.2;}
.shopgrid .prod .body .cat2{display:inline-block; font-size:13.5px; color:var(--slate); background:var(--mist); border:1px solid var(--line); border-radius:999px; padding:2px 9px; margin-top:8px; line-height:1.5; letter-spacing:-.02em;}
.shopgrid .bar{flex-wrap:wrap;}
.shopgrid .tools{display:flex; align-items:center; gap:12px;}
.shopgrid .resultbar{display:flex; align-items:center; justify-content:space-between; margin:22px 0; padding-bottom:16px; border-bottom:1px solid var(--line);}
.shopgrid .resultbar .count{font-family:'Montserrat'; font-weight:700; font-size:14px; color:var(--slate); line-height:1.4; letter-spacing:0;}

/* ============================================================
   RESPONSIVE PASS — 390 / 768 / 1280
   ============================================================ */

/* STATIC PAGE INLINE STYLES (merged from static/<page> style blocks) */
:root{
    --blue:#0071bc; --blue-deep:#005a99; --navy:#0a3a5c;
    --orange:#f7931e; --peach:#F4C791; --peach-soft:#FCE7C6;
    --peri:#91ACE4; --peri-soft:#DCE6F7;
    --ink:#14181F; --slate:#4c5764; --line:#e7edf3; --line-mid:#d5dfe9;
    --paper:#ffffff; --mist:#F3F8FD;
    --font-display:'Montserrat',system-ui,sans-serif;
    --font-ui:'Montserrat',system-ui,sans-serif;
    --font-body:'Open Sans',system-ui,sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{background:#c9d2dc;}
  body{font-family:var(--font-body); color:var(--ink); -webkit-font-smoothing:antialiased;}
  div.page{width:1440px; background:var(--paper); position:relative; overflow:hidden; margin:0 auto;}
  img{display:block;}
  a{color:inherit;}

  .nav{display:flex; align-items:center; justify-content:space-between; padding:22px 72px;}
  .nav .brand img{height:34px; width:auto;}
  .nav ul{list-style:none; display:flex; gap:28px; align-items:center;}
  .nav li{font-family:var(--font-ui); font-weight:600; font-size:15.5px; letter-spacing:0; position:relative; line-height:1.4;}
  .nav li.dd{display:flex; align-items:center; gap:7px; cursor:pointer;}
  .nav li.dd .caret{width:9px; height:9px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); opacity:.7;}
  .nav li .drop{display:block; opacity:0; visibility:hidden; transform:translateY(8px); pointer-events:none; transition:opacity .22s ease, transform .22s ease, visibility 0s linear .22s; position:absolute; top:34px; left:-18px; z-index:40; background:#fff; border-radius:16px; box-shadow:0 24px 54px -18px rgba(10,58,92,.35); border:1px solid var(--line); padding:12px 0; min-width:290px;}
  .nav li.open .drop{display:block;}
  .nav li .drop a{display:block; padding:11px 22px; font-family:var(--font-ui); font-weight:600; font-size:15px; color:var(--navy); text-decoration:none; line-height:1.4; letter-spacing:0;}
  .nav li .drop a span{display:block; font-family:var(--font-body); font-weight:400; font-size:13.5px; color:var(--slate); margin-top:2px; line-height:1.5; letter-spacing:-.02em;}
  .nav li .drop a:hover{background:var(--mist); color:var(--blue);}
  .nav>ul>li>a{color:inherit; text-decoration:none;}
  .nav .actions{display:flex; align-items:center; gap:20px;}
  .nav .search{width:20px; height:20px; opacity:.75;}
  .pill{font-family:var(--font-ui); font-weight:700; font-size:15px; padding:11px 22px; border-radius:999px;
    background:var(--orange); color:#fff; letter-spacing:0; white-space:nowrap; transition:background .18s ease, transform .18s ease; line-height:1.2;}
  .pill:hover{background:#e2830f; transform:translateY(-1px);}
  .eyebrow{font-family:var(--font-ui); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:14px; line-height:1.2;}
  .btn{display:inline-block; font-family:var(--font-ui); font-weight:700; font-size:16px; padding:15px 30px; border-radius:999px; text-decoration:none; letter-spacing:0; transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease; line-height:1.2;}
  .btn:hover{transform:translateY(-2px);}
  .btn-orange{background:var(--orange); color:#fff;}
  .btn-orange:hover{background:#e2830f; box-shadow:0 14px 28px -14px rgba(247,147,30,.65);}
  .btn-ghost-blue{background:transparent; color:var(--blue); border:2px solid var(--blue);}
  .btn-ghost-blue:hover{background:var(--blue); color:#fff;}
  .btn-ghost-white{background:transparent; color:#fff; border:2px solid rgba(255,255,255,.85);}
  .btn-ghost-white:hover{background:rgba(255,255,255,.16);}
  .chip{display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:16px;}
  .sec{position:relative;}
  .wavecut{display:block; width:100%; height:42px;}
  .arrowlink{font-family:var(--font-ui); font-weight:700; font-size:15px; line-height:1.4; letter-spacing:0; text-decoration:none; color:var(--blue); transition:color .18s ease;}
  .arrowlink:hover{color:var(--blue-deep);}
  .arrowlink:hover .aro{transform:translateX(4px);}
  .aro{display:inline-block; transition:transform .18s ease;}

  .hero{position:relative; height:700px; overflow:visible;}
  .hero .bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .hero .scrim{position:absolute; inset:0; background:linear-gradient(100deg, rgba(10,58,92,.9) 0%, rgba(0,90,153,.7) 44%, rgba(0,90,153,.28) 80%);}
  .hero .topshade{position:absolute; inset:0 0 auto 0; height:130px; background:linear-gradient(180deg,rgba(8,45,72,.55),rgba(8,45,72,0)); z-index:2;}
  .hero .arc{position:absolute; right:-120px; bottom:-120px; width:360px; height:360px; border:20px solid var(--orange); border-radius:50%; opacity:.85; z-index:2;}
  .hero .ringthin{position:absolute; right:150px; top:90px; width:120px; height:120px; border:2px solid rgba(255,255,255,.4); border-radius:50%; z-index:2;}
  .hero .navd li{color:#fff;} .hero .navd .search{stroke:#fff;}
  .hero .navd li .drop a{color:var(--navy);}
  .hero .nav{position:relative; z-index:5;}
  .hero .vhint{position:absolute; z-index:4; left:72px; bottom:40px; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.9); font-family:var(--font-ui); font-weight:600; font-size:13px; letter-spacing:0; line-height:1.4;}
  .hero .vhint .play{width:44px; height:44px; border-radius:50%; border:2px solid rgba(255,255,255,.8); display:flex; align-items:center; justify-content:center;}
  .hero .hcontent{position:relative; z-index:3; padding:78px 72px 0; max-width:920px;}
  .hero .eyebrow{color:var(--peach);}
  .hero h1{font-family:var(--font-display); font-weight:800; font-size:62px; line-height:1.06; letter-spacing:-.018em; color:#fff; margin:0 0 22px; text-shadow:0 2px 30px rgba(0,0,0,.3);}
  .hero .scribble{display:inline-block; position:relative;}
  .hero .scribble svg{position:absolute; left:-4px; right:-4px; bottom:-14px; width:calc(100% + 8px); height:20px;}
  .hero .sub{font-size:18px; line-height:1.6; color:#eef5fb; max-width:620px; margin-bottom:30px; letter-spacing:-.02em;}
  .hero .cta{display:flex; gap:16px; align-items:center;}

  .mission{position:relative; background:#fff; padding:74px 72px 78px; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center;}
  .mission .topo{position:absolute; inset:0; z-index:0; pointer-events:none;}
  .mission .col{position:relative; z-index:2;}
  .mission .eyebrow{color:var(--blue);}
  .mission h2{font-family:var(--font-display); font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 20px; letter-spacing:-.01em;}
  .mission p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; max-width:540px; letter-spacing:-.02em;}
  .mission .link{font-family:var(--font-ui); font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; line-height:1.4; letter-spacing:0;}
  .mission .imgwrap{position:relative; z-index:2;}
  .mission .imgwrap .peri{position:absolute; width:100%; height:100%; background:var(--peri-soft); border-radius:60% 40% 50% 50%/55% 45% 55% 45%; left:26px; top:26px;}
  .mission .imgwrap .ring{position:absolute; z-index:3; width:96px; height:96px; border:12px solid var(--orange); border-radius:50%; right:-22px; top:-26px; opacity:.9;}
  .mission .imgwrap img{position:relative; z-index:2; width:100%; height:420px; object-fit:cover; border-radius:24px; box-shadow:0 30px 60px -30px rgba(10,58,92,.5);}

  .stats{position:relative; background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:52px 72px 60px;}
  .stats .lead{font-family:var(--font-ui); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); text-align:center; margin-bottom:30px; line-height:1.2;}
  .stats .grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
  .stats .stat{text-align:center; padding:8px 6px;}
  .stats .stat .n{font-family:var(--font-display); font-weight:900; font-size:54px; color:var(--blue); line-height:1;}
  .stats .stat .n small{font-size:26px; vertical-align:6px;}
  .stats .stat .l{font-size:16px; color:var(--slate); margin-top:12px; line-height:1.65; letter-spacing:-.02em;}
  .stats .stat + .stat{border-left:1px solid #c3d2e0;}

  .programs{position:relative; background:#fff; padding:14px 72px 82px;}
  .programs .topo{position:absolute; inset:0; z-index:0; pointer-events:none;}
  .programs .hd{position:relative; z-index:2; text-align:center; max-width:820px; margin:0 auto 44px;}
  .programs .eyebrow{color:var(--orange);}
  .programs h2{font-family:var(--font-display); font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 20px; letter-spacing:-.01em;}
  .programs .hd p{font-size:16px; line-height:1.65; color:var(--slate); max-width:640px; margin:0 auto; letter-spacing:-.02em;}
  .programs.imgcards .cards{position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .programs.imgcards .card{border:1px solid var(--line); border-radius:22px; padding:32px 28px 30px; background:#fff; display:flex; flex-direction:column; align-items:flex-start; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
  .programs.imgcards .card:hover{transform:translateY(-5px); box-shadow:0 26px 50px -30px rgba(10,58,92,.45); border-color:var(--peri);}
  .programs.imgcards .card .ic{display:flex; align-items:center; justify-content:center;}
  .programs.imgcards .card .ic svg{display:block; width:26px; height:26px;}
  .programs.imgcards .card h3{font-family:var(--font-display); font-weight:800; font-size:20px; line-height:1.32; min-height:2.64em; color:var(--ink); margin:20px 0 12px; letter-spacing:0;}
  .programs.imgcards .card p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; letter-spacing:-.02em;}
  .programs.imgcards .card .link{font-family:var(--font-ui); font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; margin-top:auto; line-height:1.4; letter-spacing:0;}
  .programs.imgcards .card.accent-orange .link{color:var(--orange);}

  .featured{position:relative; background:linear-gradient(120deg, var(--peach-soft) 0%, #fff 72%); padding:84px 72px 90px; overflow:hidden;}
  .featured .ringbg{position:absolute; width:220px; height:220px; border:2px solid var(--orange); border-radius:50%; opacity:.22; left:-70px; top:40px; z-index:0;}
  .featured .squig{position:absolute; z-index:0; right:0; bottom:24px; width:420px; height:40px;}
  .featured .inner{position:relative; z-index:2; display:grid; grid-template-columns:1.02fr .98fr; gap:56px; align-items:center;}
  .featured .eyebrow{color:var(--orange);}
  .featured h2{font-family:var(--font-display); font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 20px; letter-spacing:-.01em;}
  .featured .lead-in{font-family:var(--font-ui); font-weight:700; font-size:18px; line-height:1.45; color:var(--blue); margin-bottom:18px; letter-spacing:0;}
  .featured p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:26px; max-width:540px; letter-spacing:-.02em;}
  .featured .meta{display:inline-flex; align-items:center; gap:10px; font-family:var(--font-ui); font-weight:700; font-size:14px; letter-spacing:0; color:var(--navy); background:#fff; border:1px solid var(--line); border-radius:999px; padding:11px 18px; margin-bottom:30px; line-height:1.4;}
  .featured .meta .dotsep{width:5px; height:5px; border-radius:50%; background:var(--orange);}
  .featured .cta{display:flex; gap:16px; align-items:center;}
  .featured .art{position:relative;}
  .featured .art .ring{position:absolute; z-index:3; width:92px; height:92px; border:12px solid var(--orange); border-radius:50%; left:-24px; bottom:-26px; opacity:.9;}
  .featured .art img{position:relative; z-index:2; width:100%; height:400px; object-fit:cover; border-radius:24px; box-shadow:0 30px 60px -30px rgba(10,58,92,.5);}

  .work{position:relative; background:#fff; padding:76px 72px 84px;}
  .work .topo{position:absolute; inset:0; z-index:0; pointer-events:none;}
  .work .hd{position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:38px;}
  .work .eyebrow{color:var(--blue);}
  .work h2{font-family:var(--font-display); font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 16px; letter-spacing:-.01em;}
  .work .hd p{font-size:16px; line-height:1.65; color:var(--slate); max-width:520px; letter-spacing:-.02em;}
  .work .arrows{display:flex; gap:12px;}
  .work .arr{width:48px; height:48px; border-radius:50%; border:2px solid var(--blue); display:flex; align-items:center; justify-content:center; color:var(--blue); transition:background .18s ease, color .18s ease; cursor:pointer;}
  .work .arr:hover{background:var(--blue); color:#fff;}
  .work .arr.ghost{opacity:.35;}
  .work .cards{position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .work .wcard{border:1px solid var(--line); border-radius:22px; overflow:hidden; background:#fff; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease;}
  .work .wcard:hover{transform:translateY(-5px); box-shadow:0 26px 50px -30px rgba(10,58,92,.45);}
  .work .wcard img{width:100%; height:190px; object-fit:cover;}
  .work .wbody{padding:24px 26px 26px; display:flex; flex-direction:column; flex:1;}
  .work .wtag{font-family:var(--font-ui); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); margin-bottom:10px; line-height:1.2;}
  .work .wcard h3{font-family:var(--font-display); font-weight:800; font-size:20px; line-height:1.32; color:var(--ink); margin-bottom:12px; letter-spacing:0;}
  .work .wcard p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; letter-spacing:-.02em;}
  .work .wcard .link{font-family:var(--font-ui); font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; margin-top:auto; line-height:1.4; letter-spacing:0;}
  .work .dots{position:relative; z-index:2; display:flex; gap:8px; justify-content:center; margin-top:30px;}
  .work .dot{width:8px; height:8px; border-radius:50%; background:var(--line-mid);}
  .work .dot.on{background:var(--blue); width:22px; border-radius:999px;}

  .start{position:relative; background:var(--mist); padding:76px 72px 84px; overflow:hidden;}
  .start .blob{position:absolute; width:220px; height:220px; background:var(--peach-soft); border-radius:42% 58% 55% 45%/50% 45% 55% 50%; right:-70px; top:50px; z-index:0; opacity:.9;}
  .start .squig{position:absolute; z-index:0; left:24px; bottom:20px; width:360px; height:36px;}
  .start .inner{position:relative; z-index:2; display:grid; grid-template-columns:1.04fr .96fr; gap:56px; align-items:center;}
  .start .eyebrow{color:var(--blue);}
  .start h2{font-family:var(--font-display); font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 20px; letter-spacing:-.01em;}
  .start .lead-p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:28px; max-width:520px; letter-spacing:-.02em;}
  .start .acc{border-left:3px solid var(--line-mid);}
  .start .item{position:relative; padding:18px 20px 18px 26px;}
  .start .item .bar{position:absolute; left:-3px; top:0; bottom:0; width:3px; background:transparent;}
  .start .item h3{font-family:var(--font-ui); font-weight:700; font-size:20px; line-height:1.32; color:#9fb0bf; transition:color .18s ease; cursor:pointer; letter-spacing:0;}
  .start .item:hover h3{color:var(--blue-deep);}
  .start .item.openacc .bar{background:var(--blue);}
  .start .item.openacc h3{color:var(--blue);}
  .start .item .body{display:none;}
  .start .item.openacc .body{display:block; margin-top:12px;}
  .start .item .body p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:12px; max-width:480px; letter-spacing:-.02em;}
  .start .art{position:relative; z-index:2;}
  .start .art .ring{position:absolute; z-index:3; width:88px; height:88px; border:11px solid var(--orange); border-radius:50%; right:-20px; top:-24px; opacity:.9;}
  .start .art img{position:relative; z-index:2; width:100%; height:430px; object-fit:cover; border-radius:24px; box-shadow:0 30px 60px -30px rgba(10,58,92,.5);}

  .voice{position:relative; background:linear-gradient(120deg, var(--peri-soft) 0%, #fff 74%); padding:80px 72px; overflow:hidden;}
  .voice .ringbg{position:absolute; width:190px; height:190px; border:2px solid var(--blue); border-radius:50%; opacity:.18; right:60px; top:-60px;}
  .voice .inner{position:relative; z-index:2; display:grid; grid-template-columns:340px 1fr; gap:64px; align-items:center;}
  .voice .headshot{position:relative;}
  .voice .headshot img{width:300px; height:300px; object-fit:cover; border-radius:50%; box-shadow:0 30px 60px -30px rgba(10,58,92,.55);}
  .voice .qmark{display:block; width:96px; font-family:var(--font-display); font-weight:900; font-size:110px; line-height:1; height:64px; background:linear-gradient(120deg, var(--orange) 0%, #ef7f3c 48%, var(--blue) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:0;}
  .voice blockquote{font-family:var(--font-display); font-weight:700; font-size:26px; line-height:1.45; color:var(--navy); letter-spacing:-.005em; max-width:840px; margin-bottom:22px;}
  .voice .attr{font-family:var(--font-ui); font-weight:700; font-size:17px; color:var(--blue); line-height:1.4; letter-spacing:0;}
  .voice .attr span{display:block; font-family:var(--font-body); font-weight:400; font-size:15px; color:var(--slate); margin-top:3px; line-height:1.5; letter-spacing:-.02em;}

  .newsband{position:relative; background:var(--blue-deep); padding:58px 72px; overflow:hidden;}
  .newsband .arcbg{position:absolute; left:830px; top:-238px; width:300px; height:300px; border:18px solid var(--orange); border-radius:50%; opacity:.9;}
  .newsband .inner{position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:48px;}
  .newsband h2{font-family:var(--font-display); font-weight:800; font-size:34px; line-height:1.16; color:#fff; letter-spacing:-.01em; margin-bottom:14px;}
  .newsband p{font-size:16px; line-height:1.65; color:#d6e6f2; max-width:460px; letter-spacing:-.02em;}
  .newsband .form{display:flex; gap:12px; align-items:center; flex-shrink:0;}
  .newsband .field{width:340px; background:#fff; border-radius:999px; padding:16px 24px; font-family:var(--font-body); font-size:15px; color:#8395a5; line-height:1.4; letter-spacing:-.02em;}
  .newsband .btn{white-space:nowrap;}

  .foot{background:var(--navy); color:#dfe9f2; padding:60px 72px 30px; border-top:1px solid rgba(255,255,255,.14);}
  .foot .top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.12);}
  .foot .brand-chip{display:inline-flex; margin-bottom:18px;}
  .foot .brand-chip img{height:46px;}
  .foot .about{font-size:16px; line-height:1.65; color:#b9c9d8; max-width:320px; letter-spacing:-.02em;}
  .foot .about .tag{font-family:var(--font-ui); font-weight:700; color:#fff; margin-bottom:10px; font-size:16px; line-height:1.5; letter-spacing:0;}
  .foot h4{font-family:var(--font-ui); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin-bottom:16px; line-height:1.2;}
  .foot ul{list-style:none;} .foot li{font-size:16px; margin-bottom:11px; color:#c6d5e3; line-height:1.65; letter-spacing:-.02em;}
  .foot .btm{display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:13.5px; color:#8ea6bd; line-height:1.5; letter-spacing:-.02em;}
  .foot .btm .legal{display:flex; align-items:center; gap:18px;}
  .foot .btm .legal a{color:#c6d5e3; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(198,213,227,.45);}
  .foot .btm .soc{display:flex; gap:14px;}
  .foot .btm .soc span{width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center;}

.twocol.story{padding-top:34px;}
  .feature.vivid{background:linear-gradient(122deg, var(--navy) 0%, var(--blue) 58%, #2f9bd6 100%); border-top:none; padding:86px 72px;}
  .feature.vivid .blob{background:rgba(255,255,255,.08);}
  .feature.vivid .ringv{position:absolute; z-index:0; right:-60px; top:-70px; width:230px; height:230px; border:16px solid var(--orange); border-radius:50%; opacity:.9;}
  .feature.vivid h2{color:#fff; max-width:660px; margin:0 auto 20px;}
  .feature.vivid p{color:#dcebf7; max-width:660px; margin:0 auto;}
  .feature .cta{margin-top:28px; display:flex; justify-content:center;}

  .timeline{position:relative; background:#fff; border-top:1px solid var(--line); padding:74px 72px 82px; overflow:hidden;}
  .timeline .hd{max-width:640px; margin:0 auto 48px; text-align:center;}
  .timeline .eyebrow{color:var(--orange);}
  .timeline .hd h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin-top:0;}
  .timeline .track{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
  .timeline .track:before{content:""; position:absolute; left:0; right:0; top:9px; height:3px; background:var(--peri-soft); border-radius:2px;}
  .timeline .tstop{position:relative; padding-top:38px;}
  .timeline .tstop .tdot{position:absolute; top:0; left:0; width:21px; height:21px; border-radius:50%; background:#fff; border:5px solid var(--orange);}
  .timeline .tstop.alt .tdot{border-color:var(--blue);}
  .timeline .tstop .tyr{font-family:'Montserrat'; font-weight:800; font-size:20px; line-height:1.32; color:var(--blue); letter-spacing:0; margin-bottom:10px;}
  .timeline .tstop p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em; max-width:280px;}

  .plainprose{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:70px 72px;}
  .plainprose .inner{max-width:820px; margin:0 auto;}
  .plainprose .eyebrow{color:var(--blue);}
  .plainprose h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0 0 20px;}
  .plainprose p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; letter-spacing:-.02em;}

  .media{position:relative; background:#fff; padding:70px 72px;}
  .media .inner{max-width:960px; margin:0 auto; text-align:center;}
  .media img{width:100%; height:440px; object-fit:cover; border-radius:24px; box-shadow:0 30px 60px -30px rgba(10,58,92,.5);}
  .media .cap{font-size:13.5px; line-height:1.5; color:var(--slate); letter-spacing:-.02em; margin-top:14px;}

  .accordion.geo{background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line);}
  .accordion .topo{position:absolute; inset:0; z-index:0; pointer-events:none;}
  .accordion .hd, .accordion .list{position:relative; z-index:2;}

  .partners{position:relative; background:#fff; border-top:1px solid var(--line); padding:56px 0 64px;}
  .partners .hd{text-align:center; margin-bottom:34px; padding:0 72px;}
  .partners .eyebrow{color:var(--blue); margin-bottom:0;}
  .partners .marquee{position:relative; width:100%; overflow:hidden;}
  .partners .marquee:before, .partners .marquee:after{content:""; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none;}
  .partners .marquee:before{left:0; background:linear-gradient(90deg,#fff 0%, rgba(255,255,255,0) 100%);}
  .partners .marquee:after{right:0; background:linear-gradient(270deg,#fff 0%, rgba(255,255,255,0) 100%);}
  .partners .mtrack{display:flex; align-items:center; gap:84px; width:max-content; animation:pmarquee 42s linear infinite; animation-delay:-13s;}
  .partners .mtrack img{height:74px; width:auto; opacity:.92; flex:none;}
  @keyframes pmarquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}

.sec.dir{background:#fff; padding:58px 72px 74px;}
  .sec.dir .inner{max-width:1180px; margin:0 auto;}
  .sec.dir .bar{display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px;}
  .sec.dir .regsearch{display:flex; align-items:center; gap:10px; width:420px; background:#fff; border:1px solid var(--line-mid); border-radius:999px; padding:13px 20px; box-shadow:0 18px 40px -34px rgba(10,58,92,.5);}
  .sec.dir .regsearch svg{width:18px; height:18px; flex-shrink:0;}
  .sec.dir .regsearch input{border:0; outline:0; width:100%; font-family:'Open Sans'; font-size:16px; line-height:1.65; letter-spacing:-.02em; color:var(--ink); background:transparent;}
  .sec.dir .regsearch input::placeholder{color:#8395a5;}
  .sec.dir .count{font-family:'Montserrat'; font-weight:700; font-size:14px; line-height:1.4; letter-spacing:0; color:var(--slate);}
  .sec.dir .chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px;}
  .sec.dir .fchip{font-family:'Montserrat'; font-weight:700; font-size:14px; line-height:1.4; letter-spacing:0; color:var(--navy); background:#fff; border:1px solid var(--line-mid); border-radius:999px; padding:8px 16px; cursor:pointer;}
  .sec.dir .fchip.on{background:var(--blue); color:#fff; border-color:var(--blue);}
  .sec.dir table{width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:18px; overflow:hidden;}
  .sec.dir th{font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; line-height:1.2; color:var(--navy); text-align:left; background:var(--mist); border-bottom:1px solid var(--line-mid); padding:16px 22px; cursor:pointer; white-space:nowrap;}
  .sec.dir th .sort{color:var(--blue); margin-left:6px;}
  .sec.dir td{font-size:16px; line-height:1.65; letter-spacing:-.02em; color:var(--slate); padding:15px 22px; border-bottom:1px solid var(--line);}
  .sec.dir tr:last-child td{border-bottom:0;}
  .sec.dir tr:nth-child(even) td{background:#fbfdfe;}
  .sec.dir td.school{font-family:'Montserrat'; font-weight:700; font-size:16px; line-height:1.35; letter-spacing:0; color:var(--navy);}
  .sec.dir .rbadge{display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; border-radius:10px; border:1px solid var(--line); background:var(--mist); font-family:'Montserrat'; font-weight:800; font-size:14px; line-height:1.4; letter-spacing:0; color:var(--navy);}
  .sec.dir .note{font-size:13.5px; line-height:1.5; letter-spacing:-.02em; color:var(--slate); margin-top:16px; text-align:center;}
  .sec.clubstart{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:70px 72px; overflow:hidden;}
  .sec.clubstart .blob{position:absolute; width:210px; height:210px; background:var(--peach-soft); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; right:-70px; top:-50px; z-index:0;}
  .sec.clubstart .inner{position:relative; z-index:2; max-width:760px; margin:0 auto; text-align:center;}
  .sec.clubstart .eyebrow{color:var(--orange);}
  .sec.clubstart h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0 0 20px;}
  .sec.clubstart p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
  .sec.clubstart .cta{margin-top:28px; display:flex; justify-content:center; gap:16px;}

.contact{position:relative; background:#fff; padding:72px 72px; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:start;}
  .contact .eyebrow{color:var(--blue);}
  .contact h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 18px; letter-spacing:-.01em;}
  .contact .lead{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:28px; max-width:520px; letter-spacing:-.02em;}
  .cform{display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; max-width:560px;}
  .cform .field{display:flex; flex-direction:column;}
  .cform .field.full{grid-column:1 / -1;}
  .cform label{font-family:'Montserrat'; font-weight:700; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--navy); margin-bottom:8px; line-height:1.2;}
  .cform label .req{color:var(--orange); margin-left:3px;}
  .cform input, .cform textarea{font-family:'Open Sans'; font-size:15px; color:var(--ink); background:var(--mist); border:1px solid var(--line-mid); border-radius:12px; padding:13px 16px; line-height:1.5; width:100%;}
  .cform textarea{min-height:140px; resize:vertical;}
  .cform input:focus, .cform textarea:focus{outline:none; border-color:var(--blue); background:#fff;}
  .cform input::placeholder, .cform textarea::placeholder{color:#9aa7b4;}
  .cform .act{grid-column:1 / -1; display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:6px;}
  .cform button.btn{border:none; cursor:pointer; font-family:'Montserrat';}
  .cform .note{font-size:13px; line-height:1.55; color:var(--slate); letter-spacing:-.02em; max-width:320px;}

  .cinfo{background:var(--mist); border:1px solid var(--line); border-radius:22px; padding:36px 34px; box-shadow:0 26px 54px -42px rgba(10,58,92,.5);}
  .cinfo .eyebrow{color:var(--orange);}
  .cinfo h3{font-family:'Montserrat'; font-weight:800; font-size:24px; line-height:1.25; color:var(--navy); margin:0 0 12px; letter-spacing:-.01em;}
  .cinfo p{font-size:16px; line-height:1.65; color:var(--slate); margin:0 0 26px; letter-spacing:-.02em;}
  .cinfo .rows{display:flex; flex-direction:column; gap:18px;}
  .cinfo .r{display:flex; gap:15px; align-items:flex-start;}
  .cinfo .r .ic{width:44px; height:44px; border-radius:13px; background:var(--peri-soft); color:var(--blue); flex:none; display:flex; align-items:center; justify-content:center;}
  .cinfo .r .ic svg{width:21px; height:21px;}
  .cinfo .r .lb{font-family:'Montserrat'; font-weight:700; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--slate); margin-bottom:4px; line-height:1.2;}
  .cinfo .r .vv{font-size:16px; line-height:1.5; color:var(--navy); letter-spacing:-.02em;}
  .cinfo .r .vv a{color:var(--blue); text-decoration:none;}

  .people{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:72px 72px;}
  .people .hd{max-width:640px; margin:0 auto 42px; text-align:center;}
  .people .eyebrow{color:var(--blue);}
  .people h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 16px; letter-spacing:-.01em;}
  .people .hd p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
  .people .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .people .pcard{background:#fff; border:1px solid var(--line); border-radius:22px; padding:34px 28px 30px; text-align:center;}
  .people .pcard .mono{width:76px; height:76px; border-radius:50%; margin:0 auto 20px; background:linear-gradient(135deg, var(--blue) 0%, var(--navy) 100%); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat'; font-weight:800; font-size:27px; letter-spacing:.02em;}
  .people .pcard h3{font-family:'Montserrat'; font-weight:800; font-size:20px; line-height:1.3; color:var(--ink); margin:0 0 6px; letter-spacing:0;}
  .people .pcard .role{font-family:'Montserrat'; font-weight:700; font-size:14px; color:var(--orange); margin-bottom:18px; line-height:1.4; letter-spacing:0;}
  .people .pcard .mail{display:inline-block; font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; line-height:1.4; word-break:break-word;}

  .ways{position:relative; background:#fff; padding:72px 72px;}
  .ways .hd{max-width:640px; margin:0 auto 42px; text-align:center;}
  .ways .eyebrow{color:var(--orange);}
  .ways h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 16px; letter-spacing:-.01em;}
  .ways .hd p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
  .ways .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .ways .card{border:1px solid var(--line); border-radius:22px; padding:34px 30px; background:#fff;}
  .ways .card .ic{width:52px; height:52px; border-radius:15px; background:var(--peri-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
  .ways .card .ic svg{width:24px; height:24px;}
  .ways .card h3{font-family:'Montserrat'; font-weight:800; font-size:20px; line-height:1.32; color:var(--ink); margin:0 0 12px; letter-spacing:0;}
  .ways .card p{font-size:16px; line-height:1.65; color:var(--slate); margin:0; letter-spacing:-.02em;}

.programs{padding:52px 72px 82px;}
  .programs.imgcards .card{padding:0; overflow:hidden; display:flex; flex-direction:column;}
  .programs.imgcards .card .cimg{width:100%; height:194px; object-fit:cover;}
  .programs.imgcards .card .cbody{padding:28px 28px 30px; display:flex; flex-direction:column; align-items:flex-start; flex:1;}
  .programs.imgcards .card h3{margin-top:0;}
  .programs.imgcards .card .link{margin-top:auto;}

  .tmony{position:relative; background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:74px 72px 80px; overflow:hidden;}
  .tmony .blob{position:absolute; width:210px; height:210px; background:var(--peach-soft); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; right:-70px; top:-50px; z-index:0;}
  .tmony .inner{position:relative; z-index:2; max-width:760px; margin:0 auto; text-align:center;}
  .tmony .eyebrow{color:var(--orange);}
  .tmony blockquote{font-family:'Montserrat'; font-weight:700; font-size:26px; line-height:1.42; color:var(--navy); letter-spacing:-.01em; margin:0 0 22px;}
  .tmony .who{font-size:16px; line-height:1.6; color:var(--slate); letter-spacing:-.02em;}

  .photowall{position:relative; background:#fff; border-top:1px solid var(--line); padding:70px 72px 80px;}
  .photowall .hd{max-width:640px; margin:0 auto 36px; text-align:center;}
  .photowall .eyebrow{color:var(--blue);}
  .photowall h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0;}
  .photowall .grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  .photowall .grid img{width:100%; height:212px; object-fit:cover; border-radius:18px; box-shadow:0 22px 46px -34px rgba(10,58,92,.5);}

.mem .twocol.story{padding-top:34px;}


  .roster{position:relative; background:#fff; padding:70px 72px 78px;}
  .roster.tint{background:var(--mist); border-top:1px solid var(--line);}
  .roster .hd{max-width:640px; margin:0 auto 42px; text-align:center;}
  .roster .hd .eyebrow{color:var(--blue);}
  .roster .hd h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0;}
  .roster .grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  .roster .pcard{border:1px solid var(--line); border-radius:18px; padding:28px 22px 26px; background:#fff; text-align:center; box-shadow:0 18px 40px -34px rgba(10,58,92,.4);}
  .roster .pcard .av{width:98px; height:98px; border-radius:50%; margin:0 auto 18px; background:var(--peri-soft); position:relative; overflow:hidden;}
  .roster .pcard .av:before{content:""; position:absolute; left:50%; top:20px; transform:translateX(-50%); width:34px; height:34px; border-radius:50%; background:#c2d3ef;}
  .roster .pcard .av:after{content:""; position:absolute; left:50%; bottom:-32px; transform:translateX(-50%); width:74px; height:74px; border-radius:50%; background:#c2d3ef;}
  .roster .pcard .nm{font-family:'Montserrat'; font-weight:700; font-size:16px; color:var(--navy); line-height:1.35; letter-spacing:0;}
  .roster .pcard .rl{font-family:'Montserrat'; font-weight:600; font-size:13px; color:var(--orange); margin-top:6px; line-height:1.4; letter-spacing:0;}
  .roster .note{max-width:640px; margin:40px auto 0; text-align:center; font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
  .roster .note a{font-family:'Montserrat'; font-weight:700; color:var(--blue); text-decoration:none;}

  .mem .stats .ahd{text-align:center; max-width:640px; margin:0 auto 34px;}
  .mem .stats .ahd .eyebrow{color:var(--orange);}
  .mem .stats .ahd h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:6px 0 0;}
  .mem .stats .anote{max-width:820px; margin:36px auto 0; text-align:center;}
  .mem .stats .anote p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}

.prof .profhead{padding:52px 130px 32px; grid-template-columns:360px 1fr;}
  .prof .profcrumb{background:#fff; padding:20px 130px 6px;}
  .prof .profcrumb .crumb{font-family:'Montserrat'; font-weight:600; font-size:13px; line-height:1.4; letter-spacing:0; color:var(--slate);}
  .prof .profcrumb .crumb a{color:var(--blue); text-decoration:none;}
  .prof .profhead .shot img{width:360px; height:360px;}
  .prof .profhead .role .r2{color:var(--blue);}
  .prof .pagehead{overflow:visible;}
  .prof .pagehead .arc, .prof .pagehead .ringthin{display:none;}
  .prof .bio{background:#fff; padding:8px 130px 66px;}
  .prof .bio .inner{max-width:none;}
  .prof .bio p, .prof .bio .pull{max-width:none;}
  .prof .bio p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; letter-spacing:-.02em;}
  .prof .bio .pull{font-family:'Montserrat'; font-weight:700; font-size:21px; line-height:1.45; color:var(--navy); border-left:4px solid var(--orange); padding-left:22px; margin:26px 0; letter-spacing:0;}
  .prof .more{background:var(--mist); border-top:1px solid var(--line); padding:64px 130px 74px;}
  .prof .more .hd{text-align:center; max-width:600px; margin:0 auto 34px;}
  .prof .more .eyebrow{color:var(--blue);}
  .prof .more h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin-top:0;}
  .prof .more .grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:none;}
  .prof .more .lc{background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden;}
  .prof .more .lc img{width:100%; height:220px; object-fit:cover;}
  .prof .more .lc .b{padding:18px 20px 22px;}
  .prof .more .lc .nm{font-family:'Montserrat'; font-weight:700; font-size:17px; color:var(--navy); line-height:1.35; letter-spacing:0;}
  .prof .more .lc .rl{font-size:15px; color:var(--orange); font-family:'Montserrat'; font-weight:600; margin-top:4px; line-height:1.4; letter-spacing:0;}
  .prof .more .lc .sc{font-size:13.5px; color:var(--slate); margin-top:8px; line-height:1.5; letter-spacing:-.02em;}
  .prof .highlights{background:var(--mist); border-top:1px solid var(--line); padding:48px 130px 58px;}
  .prof .highlights .hd{max-width:none; margin:0 0 26px;}
  .prof .highlights .eyebrow{color:var(--blue);}
  .prof .highlights h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin-top:0;}
  .prof .highlights .hg{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:none;}
  .prof .highlights .hc{border:1px solid var(--line); border-radius:16px; padding:22px 22px 24px; background:#fff; box-shadow:0 18px 40px -34px rgba(10,58,92,.4);}
  .prof .highlights .hc .k{font-family:'Montserrat'; font-weight:800; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); line-height:1.2;}
  .prof .highlights .hc h3{font-family:'Montserrat'; font-weight:800; font-size:20px; line-height:1.32; color:var(--navy); margin:10px 0 10px; letter-spacing:0;}
  .prof .highlights .hc p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
  .prof .regiontie{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:58px 130px; overflow:hidden;}
  .prof .regiontie .inner{position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; max-width:none;}
  .prof .regiontie .eyebrow{color:var(--orange);}
  .prof .regiontie h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0 0 20px;}
  .prof .regiontie p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; max-width:460px; letter-spacing:-.02em;}
  .prof .regiontie .link{font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; line-height:1.4; letter-spacing:0;}
  .prof .regiontie .mapart{position:relative;}
  .prof .regiontie .mapart img{width:640px; max-width:none; height:auto; display:block; border-radius:0; margin:-58px -130px -58px auto;}

.programs{padding:46px 72px 82px;}
  .programs.imgcards .card{padding:0; overflow:hidden; display:flex; flex-direction:column;}
  .programs.imgcards .card .cimg{width:100%; height:194px; object-fit:cover;}
  .programs.imgcards .card .cbody{padding:28px 28px 28px; display:flex; flex-direction:column; align-items:flex-start; flex:1;}
  .programs.imgcards .card h3{margin-top:0;}
  .programs.imgcards .card .link{margin-top:auto;}
  .feature{padding:92px 72px;}
  .feature .cta{margin-top:28px; display:flex; justify-content:center;}
  .feature .inner{max-width:820px;}
  .feature h2{max-width:720px; margin-left:auto; margin-right:auto; margin-bottom:20px;}
  .feature p{max-width:680px; margin:0 auto;}

  .progtable{background:var(--mist); border-top:1px solid var(--line); padding:66px 72px 74px;}
  .progtable .hd{max-width:640px; margin:0 0 30px;}
  .progtable .eyebrow{color:var(--blue);}
  .progtable h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:8px 0 0;}
  .progtable .tbl{width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 26px 54px -42px rgba(10,58,92,.5);}
  .progtable th, .progtable td{text-align:left; padding:18px 22px; border-bottom:1px solid var(--line); vertical-align:top;}
  .progtable thead th{background:var(--navy); color:#fff; font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; line-height:1.3;}
  .progtable tbody tr:last-child td{border-bottom:none;}
  .progtable tbody tr:nth-child(even) td{background:var(--mist);}
  .progtable td{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
  .progtable td .pname{font-family:'Montserrat'; font-weight:700; font-size:17px; color:var(--navy); line-height:1.35; letter-spacing:0;}

.sec.intro{background:#fff; padding:64px 72px 8px;}
  .sec.intro .inner{max-width:820px; margin:0 auto;}
  .sec.intro p{font-size:18px; line-height:1.62; color:var(--slate); letter-spacing:-.02em; margin-bottom:20px;}
  .sec.intro p:first-child{color:var(--navy); font-weight:600;}

  .regconf .facts{background:#fff; padding:34px 72px 66px;}
  .regconf .facts .grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; max-width:1100px; margin:0 auto;}
  .regconf .facts .fc{border:1px solid var(--line); border-radius:22px; padding:32px 30px; background:#fff; box-shadow:0 26px 54px -44px rgba(10,58,92,.5);}
  .regconf .facts .fc .v{font-family:'Montserrat'; font-weight:900; font-size:32px; line-height:1.1; letter-spacing:-.01em; color:var(--blue);}
  .regconf .facts .fc .d{font-size:16px; line-height:1.6; color:var(--slate); letter-spacing:-.02em; margin-top:12px;}

  .sec.body{background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:70px 72px;}
  .sec.body .inner{max-width:820px; margin:0 auto;}
  .sec.body p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em; margin-bottom:18px;}
  .sec.body .guestlead{margin-bottom:14px;}
  .sec.body ul{list-style:none; display:grid; gap:12px; margin:6px 0 8px;}
  .sec.body li{position:relative; padding-left:30px; font-size:16px; line-height:1.6; color:var(--slate); letter-spacing:-.02em;}
  .sec.body li:before{content:""; position:absolute; left:2px; top:8px; width:11px; height:11px; border-radius:50%; background:var(--orange);}

  .sec.sched{background:#fff; border-top:1px solid var(--line); padding:64px 72px 74px;}
  .sec.sched .inner{max-width:1180px; margin:0 auto;}
  .sec.sched .lead{max-width:760px; margin:0 0 26px;}
  .sec.sched .lead p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
  .sec.sched .lead p.big{font-family:'Montserrat'; font-weight:800; font-size:22px; line-height:1.3; color:var(--navy); letter-spacing:-.01em; margin-bottom:10px;}
  .sec.sched table{width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:18px; overflow:hidden;}
  .sec.sched th{font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; line-height:1.2; color:#fff; text-align:left; background:var(--navy); padding:16px 22px; white-space:nowrap;}
  .sec.sched td{font-size:16px; line-height:1.6; letter-spacing:-.02em; color:var(--slate); padding:15px 22px; border-bottom:1px solid var(--line); vertical-align:middle;}
  .sec.sched tr:last-child td{border-bottom:0;}
  .sec.sched tr:nth-child(even) td{background:#fbfdfe;}
  .sec.sched td.region{font-family:'Montserrat'; font-weight:700; font-size:16px; line-height:1.35; letter-spacing:0; color:var(--navy);}
  .sec.sched td.tba{color:#8395a5;}
  .sec.sched .note{font-size:13.5px; line-height:1.5; letter-spacing:-.02em; color:var(--slate); margin-top:16px; text-align:center;}

  .sec.sable{position:relative; overflow:hidden; padding:82px 72px; background:linear-gradient(122deg, var(--navy) 0%, var(--blue) 58%, #2f9bd6 100%); border-top:none;}
  .sec.sable .ringv{position:absolute; z-index:0; right:-60px; top:-70px; width:230px; height:230px; border:16px solid var(--orange); border-radius:50%; opacity:.9;}
  .sec.sable .blob{position:absolute; width:210px; height:210px; background:rgba(255,255,255,.08); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; left:-70px; bottom:-50px; z-index:0;}
  .sec.sable .inner{position:relative; z-index:2; max-width:720px; margin:0 auto; text-align:center;}
  .sec.sable .eyebrow{color:var(--peach);}
  .sec.sable h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:#fff; margin:0 auto 20px; max-width:620px;}
  .sec.sable p{font-size:16px; line-height:1.65; color:#dcebf7; letter-spacing:-.02em; max-width:660px; margin:0 auto;}
  .sec.sable .cta{margin-top:28px; display:flex; justify-content:center;}

.regpage .roster{background:#fff; padding:64px 72px 78px;}
  .regpage .roster .hd{max-width:640px; margin:0 auto 30px; text-align:center;}
  .regpage .roster .eyebrow{color:var(--orange);}
  .regpage .roster h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin-top:0;}
  .regpage .roster .grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:1180px; margin:0 auto;}
  .regpage .roster .grid.hasexp{grid-template-columns:repeat(3,1fr);}
  .regpage .roster .searchwrap{max-width:1180px; margin:0 auto 26px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
  .regpage .roster .regsearch{display:flex; align-items:center; gap:10px; width:420px; background:#fff; border:1px solid var(--line-mid); border-radius:999px; padding:13px 20px; box-shadow:0 18px 40px -34px rgba(10,58,92,.5);}
  .regpage .roster .regsearch svg{width:18px; height:18px; flex-shrink:0;}
  .regpage .roster .regsearch input{border:0; outline:0; width:100%; font-family:'Open Sans'; font-size:16px; line-height:1.65; letter-spacing:-.02em; color:var(--ink); background:transparent;}
  .regpage .roster .regsearch input::placeholder{color:#8395a5;}
  .regpage .roster .count{font-family:'Montserrat'; font-weight:700; font-size:14px; line-height:1.4; letter-spacing:0; color:var(--slate);}
  .regpage .roster .school.hide{display:none;}
  .regpage .roster .school{border:1px solid var(--line); border-radius:16px; padding:22px 24px; background:#fff; display:flex; flex-direction:column;}
  .regpage .roster .school .nm{font-family:'Montserrat'; font-weight:700; font-size:17px; line-height:1.35; color:var(--navy); letter-spacing:0;}
  .regpage .roster .school .counties{display:none; flex-wrap:wrap; gap:7px; margin-top:14px;}
  .regpage .roster .school.exp .counties{display:flex;}
  .regpage .roster .school .cnum{font-size:13.5px; line-height:1.5; letter-spacing:-.02em; color:var(--slate); margin-top:5px;}
  .regpage .roster .school.exp .cnum{display:none;}
  .regpage .roster .hint{max-width:1180px; margin:14px auto 0; font-size:13.5px; line-height:1.5; letter-spacing:-.02em; color:var(--slate); text-align:center;}

  .regleaders{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:70px 72px 80px; overflow:hidden;}
  .regleaders .blob{position:absolute; width:210px; height:210px; background:var(--peach-soft); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; right:-70px; top:40px; z-index:0; opacity:.9;}
  .regleaders .hd{position:relative; z-index:2; max-width:640px; margin:0 auto 36px; text-align:center;}
  .regleaders .eyebrow{color:var(--blue);}
  .regleaders .hd h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin-top:0;}
  .regleaders .lgrid{position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:1180px; margin:0 auto;}
  .regleaders .lcard{display:grid; grid-template-columns:150px 1fr; gap:26px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:22px; padding:28px 30px;}
  .regleaders .lcard img{width:150px; height:150px; border-radius:50%; object-fit:cover; box-shadow:0 22px 46px -30px rgba(10,58,92,.55);}
  .regleaders .lcard img.crop-r{object-position:78% 18%;}
  .regleaders .lcard .rlabel{font-family:'Montserrat'; font-weight:800; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); line-height:1.2; margin-bottom:6px;}
  .regleaders .lcard .nm{font-family:'Montserrat'; font-weight:700; font-size:20px; line-height:1.32; color:var(--navy); letter-spacing:0;}
  .regleaders .lcard p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em; margin:8px 0 12px;}
  .regleaders .lcard .soc{display:flex; gap:10px; align-items:center;}
  .regleaders .lcard .soc span{width:32px; height:32px; border-radius:50%; border:1px solid var(--line-mid); color:var(--blue); font-family:'Montserrat'; font-weight:700; font-size:13px; line-height:1.2; display:flex; align-items:center; justify-content:center;}
  .regleaders .lcard .soc a.mail{text-decoration:none; font-family:'Montserrat'; font-weight:700; font-size:15px; line-height:1.4; letter-spacing:0; color:var(--blue); margin-left:6px; white-space:nowrap;}
  .regpage .regions .regcard .rco{display:flex; flex-wrap:wrap; gap:7px;}
  .regpage .county{font-size:13.5px; line-height:1.5; color:var(--navy); background:var(--mist); border:1px solid var(--line); border-radius:8px; padding:5px 10px; letter-spacing:-.02em;}
  .regpage .roster .school .county{font-size:13.5px; line-height:1.5; color:var(--navy); background:var(--mist); border:1px solid var(--line); border-radius:8px; padding:5px 10px; letter-spacing:-.02em;}
  .regpage .roster .school .lead{font-size:15px; color:var(--blue); margin-top:auto; padding-top:18px; font-family:'Montserrat'; font-weight:700; line-height:1.4; letter-spacing:0;}

  html{scroll-behavior:smooth;}
  .regpage a.lead, .regpage a.rpill, .regpage a.rlink, .regpage .lcard a.mail{text-decoration:none; cursor:pointer;}
  .regpage a.rpill{display:flex; align-items:center; justify-content:center;}
  .regleaders .lcard{scroll-margin-top:26px;}
  .regleaders .hd .rl-sub{font-size:16px; line-height:1.65; letter-spacing:-.02em; color:var(--slate); margin:12px 0 0;}

.twocol.story{padding-top:34px;}
  .twocol .lead-p{font-size:18px; line-height:1.6; color:var(--navy); font-weight:600; margin-bottom:18px; max-width:520px; letter-spacing:-.02em;}
  .twocol .ctarow{margin-top:26px;}

  .btn-disabled{background:#e7edf3; color:#9fb0bf; border:2px solid transparent; cursor:default; pointer-events:none;}

  .factcards{position:relative; background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:56px 72px 64px;}
  .factcards .grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .factcards .fcard{border:1px solid var(--line); border-radius:22px; padding:32px 30px; background:#fff; box-shadow:0 26px 54px -42px rgba(10,58,92,.5);}
  .factcards .fcard .fk{font-family:'Montserrat'; font-weight:800; font-size:26px; line-height:1.22; color:var(--navy); letter-spacing:-.01em;}
  .factcards .fcard .fv{font-size:16px; line-height:1.6; color:var(--slate); margin-top:10px; letter-spacing:-.02em;}
  .factcards .fcard .fv.hold{color:#9fb0bf; font-style:italic;}

  .plainprose{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:70px 72px;}
  .plainprose .inner{max-width:820px; margin:0 auto;}
  .plainprose .eyebrow{color:var(--blue);}
  .plainprose h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0 0 20px;}
  .plainprose p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; letter-spacing:-.02em;}

  .topics{position:relative; background:#fff; padding:74px 72px 82px;}
  .topics .hd{max-width:760px; margin:0 auto 36px; text-align:center;}
  .topics .eyebrow{color:var(--orange);}
  .topics h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0 0 18px;}
  .topics .hd p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
  .topics .list{display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; max-width:960px; margin:0 auto;}
  .topics .titem{display:flex; gap:14px; align-items:flex-start; padding:18px 22px; border:1px solid var(--line); border-radius:16px; background:#fff;}
  .topics .titem .dot{flex:none; width:26px; height:26px; border-radius:50%; background:var(--peri-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; font-family:'Montserrat'; font-weight:800; font-size:14px; margin-top:1px;}
  .topics .titem span{font-size:16px; line-height:1.55; color:var(--slate); letter-spacing:-.02em;}

  .voices{position:relative; background:linear-gradient(120deg, var(--peri-soft) 0%, #fff 74%); padding:76px 72px 84px; overflow:hidden;}
  .voices .ringbg{position:absolute; width:190px; height:190px; border:2px solid var(--blue); border-radius:50%; opacity:.18; right:60px; top:-60px;}
  .voices .grid{position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:30px;}
  .voices .vq{background:#fff; border:1px solid var(--line); border-radius:22px; padding:36px 34px 32px; box-shadow:0 30px 60px -44px rgba(10,58,92,.55); display:flex; flex-direction:column;}
  .voices .qmark{display:block; font-family:'Montserrat'; font-weight:900; font-size:82px; line-height:.7; height:48px; background:linear-gradient(120deg, var(--orange) 0%, #ef7f3c 48%, var(--blue) 100%); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .voices blockquote{font-family:'Montserrat'; font-weight:700; font-size:19px; line-height:1.5; color:var(--navy); letter-spacing:-.005em; margin-bottom:22px;}
  .voices .attr{font-family:'Montserrat'; font-weight:700; font-size:16px; color:var(--blue); margin-top:auto; line-height:1.4; letter-spacing:0;}
  .voices .attr span{display:block; font-family:'Open Sans'; font-weight:400; font-size:14.5px; color:var(--slate); margin-top:3px; line-height:1.5; letter-spacing:-.02em;}

.shopgrid .prod .ph{background:#fff; border-bottom:1px solid var(--line);}
  .shopgrid .prod .ph img{object-fit:contain; padding:16px;}
  .shopgrid .prod .ph.book{background:linear-gradient(160deg,var(--peri-soft),#fff); display:flex; align-items:center; justify-content:center; padding:22px;}
  .shopgrid .prod .ph.book .bk{background:#fff; border:1px solid var(--line); border-radius:8px; padding:20px 18px; text-align:center; box-shadow:0 14px 30px -22px rgba(10,58,92,.6); width:150px;}
  .shopgrid .prod .ph.book .bk .t{font-family:'Montserrat'; font-weight:800; font-size:13px; color:var(--navy); line-height:1.3; letter-spacing:0;}
  .shopgrid .prod .ph.book .bk .k{font-size:13px; color:var(--orange); font-family:'Montserrat'; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-top:10px; line-height:1.2;}
  .shopgrid .prod .body .cat2{display:inline-block; font-size:13.5px; color:var(--slate); background:var(--mist); border:1px solid var(--line); border-radius:999px; padding:2px 9px; margin-top:8px; line-height:1.5; letter-spacing:-.02em;}
  .shopgrid{padding-top:34px;}
  .shopgrid .bar{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:0;}
  .shopgrid .cats{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
  .shopgrid .tools{display:flex; align-items:center; gap:12px;}
  .shopgrid .search2{display:flex; align-items:center; gap:10px; width:250px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:11px 18px; color:#8395a5; font-size:15px; font-family:'Open Sans'; line-height:1.4; letter-spacing:-.02em;}
  .shopgrid .search2 svg{width:17px; height:17px;}
  .shopgrid .sort{display:flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:11px 18px; font-family:'Montserrat'; font-weight:700; font-size:14px; color:var(--navy); white-space:nowrap; line-height:1.4; letter-spacing:0;}
  .shopgrid .sort .cv{width:8px; height:8px; border-right:2px solid var(--slate); border-bottom:2px solid var(--slate); transform:rotate(45deg) translateY(-2px);}
  .shopgrid .resultbar{display:flex; align-items:center; justify-content:space-between; margin:22px 0 22px; padding-bottom:16px; border-bottom:1px solid var(--line);}
  .shopgrid .resultbar .count{font-family:'Montserrat'; font-weight:700; font-size:14px; color:var(--slate); line-height:1.4; letter-spacing:0;}

.leadin{position:relative; background:#fff; padding:64px 72px 12px;}
  .leadin .inner{max-width:860px; margin:0 auto;}
  .leadin p{font-size:17px; line-height:1.7; color:var(--slate); margin-bottom:20px; letter-spacing:-.02em;}
  .leadin p.lead{font-size:20px; line-height:1.55; color:var(--ink); font-weight:500;}

  .facts{position:relative; background:linear-gradient(180deg,#fff 0%, var(--mist) 100%); border-top:1px solid var(--line); padding:56px 72px 64px;}
  .facts .grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .facts .fcard{background:#fff; border:1px solid var(--line); border-radius:22px; padding:30px 30px 32px; box-shadow:0 26px 54px -42px rgba(10,58,92,.5);}
  .facts .fcard .fval{font-family:'Montserrat'; font-weight:800; font-size:26px; line-height:1.2; color:var(--blue); letter-spacing:-.01em;}
  .facts .fcard .flabel{font-size:16px; line-height:1.6; color:var(--slate); margin-top:12px; letter-spacing:-.02em;}

  .twocol.ignite{align-items:start;}
  .twocol.ignite .txt .intro{font-family:'Montserrat'; font-weight:700; font-size:16px; color:var(--navy); margin:6px 0 4px; line-height:1.5; letter-spacing:0;}
  .sesslist{list-style:none; margin:10px 0 0; padding:0;}
  .sesslist li{position:relative; padding:10px 0 10px 26px; font-size:16px; line-height:1.5; color:var(--slate); border-bottom:1px solid var(--line); letter-spacing:-.02em;}
  .sesslist li:last-child{border-bottom:none;}
  .sesslist li:before{content:""; position:absolute; left:0; top:17px; width:9px; height:9px; border-radius:50%; background:var(--orange);}

  .quotes{position:relative; background:#fff; border-top:1px solid var(--line); padding:70px 72px;}
  .quotes .grid{display:grid; grid-template-columns:repeat(2,1fr); gap:30px;}
  .quotes .qcard{position:relative; background:var(--mist); border:1px solid var(--line); border-radius:22px; padding:36px 34px 34px;}
  .quotes .qmark{display:block; font-family:'Montserrat'; font-weight:900; font-size:64px; line-height:.55; height:30px; color:var(--orange);}
  .quotes blockquote{font-family:'Montserrat'; font-weight:700; font-size:20px; line-height:1.5; color:var(--navy); letter-spacing:-.005em; margin:16px 0 20px;}
  .quotes .attr{font-family:'Montserrat'; font-weight:700; font-size:16px; color:var(--blue); line-height:1.4; letter-spacing:0;}

  .retro{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:70px 72px 78px;}
  .retro .inner{max-width:860px; margin:0 auto;}
  .retro .eyebrow{color:var(--orange);}
  .retro h2{font-family:'Montserrat'; font-weight:800; font-size:32px; line-height:1.18; letter-spacing:-.01em; color:var(--navy); margin:0 0 18px;}
  .retro p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; letter-spacing:-.02em;}
  .tracklist{list-style:none; margin:6px 0 22px; padding:0;}
  .tracklist li{position:relative; padding:12px 0 12px 26px; font-size:16px; line-height:1.6; color:var(--slate); border-bottom:1px solid var(--line); letter-spacing:-.02em;}
  .tracklist li:last-child{border-bottom:none;}
  .tracklist li:before{content:""; position:absolute; left:0; top:19px; width:9px; height:9px; border-radius:50%; background:var(--blue);}
  .tracklist li b{font-family:'Montserrat'; font-weight:700; color:var(--navy);}

  .ctaband{position:relative; background:linear-gradient(122deg, var(--navy) 0%, var(--blue) 58%, #2f9bd6 100%); padding:80px 72px; overflow:hidden;}
  .ctaband .ringv{position:absolute; z-index:0; right:-60px; top:-70px; width:230px; height:230px; border:16px solid var(--orange); border-radius:50%; opacity:.9;}
  .ctaband .blob{position:absolute; width:210px; height:210px; background:rgba(255,255,255,.08); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; left:-70px; bottom:-50px; z-index:0;}
  .ctaband .inner{position:relative; z-index:2; max-width:720px; margin:0 auto; text-align:center;}
  .ctaband .eyebrow{color:var(--peach);}
  .ctaband h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:#fff; margin:0 auto 18px; max-width:600px;}
  .ctaband p{font-size:17px; line-height:1.6; color:#dcebf7; max-width:560px; margin:0 auto; letter-spacing:-.02em;}
  .ctaband .cta{margin-top:28px; display:flex; justify-content:center;}


/* Base responsive overrides */
div.page {
  width: 100%;
  max-width: 1440px;
  overflow-x: hidden;
}

/* Search form (real WP search) */
.nav .search-form {
  display: flex;
  align-items: center;
  position: relative;
}
.nav .search-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  opacity: .75;
}
.nav .search-toggle svg {
  width: 20px;
  height: 20px;
}
.nav .search-drawer {
  display: none;
  position: absolute;
  top: 38px;
  right: 0;
  width: 300px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 24px 54px -18px rgba(10,58,92,.35);
  padding: 12px;
  z-index: 50;
}
.nav .search-drawer.open {
  display: block;
}
.nav .search-drawer input[type="search"] {
  width: 100%;
  border: 1px solid var(--line-mid);
  border-radius: 999px;
  padding: 10px 18px;
  font-family: 'Open Sans', system-ui, sans-serif;
  font-size: 15px;
  color: var(--ink);
  outline: none;
}
.nav .search-drawer input[type="search"]::placeholder {
  color: #8395a5;
}

/* Search results page */
.search-results-page {
  padding: 60px 72px 80px;
  max-width: 1440px;
  margin: 0 auto;
  background: #fff;
}
.search-results-page .sr-head {
  margin-bottom: 36px;
}
.search-results-page .sr-head h1 {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 800;
  font-size: 34px;
  color: var(--navy);
  line-height: 1.16;
  margin: 0 0 8px;
}
.search-results-page .sr-head p {
  font-size: 16px;
  color: var(--slate);
  line-height: 1.65;
}
.search-results-page .sr-item {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px 28px;
  margin-bottom: 16px;
  background: #fff;
  transition: box-shadow .18s ease;
}
.search-results-page .sr-item:hover {
  box-shadow: 0 16px 40px -24px rgba(10,58,92,.35);
}
.search-results-page .sr-item h2 {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--navy);
  margin: 0 0 8px;
  line-height: 1.32;
}
.search-results-page .sr-item h2 a {
  text-decoration: none;
  color: inherit;
}
.search-results-page .sr-item h2 a:hover {
  color: var(--blue);
}
.search-results-page .sr-item p {
  font-size: 15px;
  color: var(--slate);
  line-height: 1.65;
  margin: 0;
}
.search-results-page .sr-none {
  text-align: center;
  padding: 60px 0;
  font-size: 18px;
  color: var(--slate);
}

/* Interactive region map */
.region-map-wrap {
  position: relative;
  height: 100%;
  width: auto;
  cursor: grab;
  user-select: none;
}
.region-map-wrap:active {
  cursor: grabbing;
}
.region-map-wrap svg {
  height: 100%;
  width: auto;
  display: block;
}
.region-map-wrap {
  overflow: hidden;
  touch-action: none;
}
.region-map-wrap .mkh {
  cursor: pointer;
  transition: fill .15s ease;
}
.region-map-wrap .mk {
  cursor: pointer;
  pointer-events: none;
}
.region-map-wrap .mk .mkc {
  transition: fill .15s ease, stroke .15s ease;
}
.region-map-wrap .mk.active .mkc,
.region-map-wrap .mk.hot .mkc {
  fill: var(--navy);
  stroke: #fff;
  stroke-width: 2;
}
.region-map-wrap .mk.active .mkt,
.region-map-wrap .mk.hot .mkt {
  fill: #fff;
}
.region-map-wrap.is-panning {
  cursor: grabbing;
}
.map-hint-text {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(10,58,92,.86);
  color: #fff;
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  padding: 8px 16px;
  border-radius: 999px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 1;
  transition: opacity .4s ease;
}
.map-hint-text.hidden {
  opacity: 0;
}

/* Hamburger mobile nav */
.nav-hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  flex-direction: column;
  gap: 5px;
}
.nav-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: all .2s ease;
}
.nav-mobile-open .nav-hamburger span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.nav-mobile-open .nav-hamburger span:nth-child(2) {
  opacity: 0;
}
.nav-mobile-open .nav-hamburger span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* Core blocks on-aesthetic */
.wp-block-paragraph,
.wp-block-list {
  font-family: 'Open Sans', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: var(--slate);
  letter-spacing: -.02em;
}
.wp-block-heading {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -.01em;
}
.wp-block-button__link {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  background: var(--orange);
  color: #fff;
  border-radius: 999px;
  padding: 15px 30px;
  text-decoration: none;
  display: inline-block;
}
.wp-block-image img {
  border-radius: 12px;
}
.wp-block-quote {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: var(--navy);
  border-left: 4px solid var(--orange);
  padding-left: 24px;
}

/* CONTACT PAGE */
.contact{position:relative; background:#fff; padding:72px 72px; display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:start;}
.contact .eyebrow{color:var(--blue);}
.contact h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 18px; letter-spacing:-.01em;}
.contact .lead{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:28px; max-width:520px; letter-spacing:-.02em;}
.cform{display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; max-width:560px;}
.cform .field{display:flex; flex-direction:column;}
.cform .field.full{grid-column:1 / -1;}
.cform label{font-family:'Montserrat'; font-weight:700; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--navy); margin-bottom:8px; line-height:1.2;}
.cform label .req{color:var(--orange); margin-left:3px;}
.cform input,.cform textarea{font-family:'Open Sans'; font-size:15px; color:var(--ink); background:var(--mist); border:1px solid var(--line-mid); border-radius:12px; padding:13px 16px; line-height:1.5; width:100%;}
.cform textarea{min-height:140px; resize:vertical;}
.cform input:focus,.cform textarea:focus{outline:none; border-color:var(--blue); background:#fff;}
.cform input::placeholder,.cform textarea::placeholder{color:#9aa7b4;}
.cform .act{grid-column:1 / -1; display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:6px;}
.cform button.btn{border:none; cursor:pointer; font-family:'Montserrat';}
.cinfo{background:var(--mist); border:1px solid var(--line); border-radius:22px; padding:36px 34px; box-shadow:0 26px 54px -42px rgba(10,58,92,.5);}
.cinfo h3{font-family:'Montserrat'; font-weight:800; font-size:24px; line-height:1.25; color:var(--navy); margin:0 0 12px; letter-spacing:-.01em;}
.cinfo p{font-size:16px; line-height:1.65; color:var(--slate); margin:0 0 26px; letter-spacing:-.02em;}
.cinfo .rows{display:flex; flex-direction:column; gap:18px;}
.cinfo .r{display:flex; gap:15px; align-items:flex-start;}
.cinfo .r .ic{width:44px; height:44px; border-radius:13px; background:var(--peri-soft); color:var(--blue); flex:none; display:flex; align-items:center; justify-content:center;}
.cinfo .r .ic svg{width:21px; height:21px;}
.cinfo .r .lb{font-family:'Montserrat'; font-weight:700; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--slate); margin-bottom:4px; line-height:1.2;}
.cinfo .r .vv{font-size:16px; line-height:1.5; color:var(--navy); letter-spacing:-.02em;}
.cinfo .r .vv a{color:var(--blue); text-decoration:none;}
.people{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:72px 72px;}
.people .hd{max-width:640px; margin:0 auto 42px; text-align:center;}
.people .eyebrow{color:var(--blue);}
.people h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 16px; letter-spacing:-.01em;}
.people .hd p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
.people .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.people .pcard{background:#fff; border:1px solid var(--line); border-radius:22px; padding:34px 28px 30px; text-align:center;}
.people .pcard .mono{width:76px; height:76px; border-radius:50%; margin:0 auto 20px; background:linear-gradient(135deg, var(--blue) 0%, var(--navy) 100%); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Montserrat'; font-weight:800; font-size:27px; letter-spacing:.02em;}
.people .pcard h3{font-family:'Montserrat'; font-weight:800; font-size:20px; line-height:1.3; color:var(--ink); margin:0 0 6px; letter-spacing:0;}
.people .pcard .role{font-family:'Montserrat'; font-weight:700; font-size:14px; color:var(--orange); margin-bottom:18px; line-height:1.4; letter-spacing:0;}
.people .pcard .mail{display:inline-block; font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; line-height:1.4; word-break:break-word;}
.ways{position:relative; background:#fff; padding:72px 72px;}
.ways .hd{max-width:640px; margin:0 auto 42px; text-align:center;}
.ways .eyebrow{color:var(--orange);}
.ways h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 16px; letter-spacing:-.01em;}
.ways .hd p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
.ways .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.ways .card{border:1px solid var(--line); border-radius:22px; padding:34px 30px; background:#fff;}
.ways .card .ic{width:52px; height:52px; border-radius:15px; background:var(--peri-soft); color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:20px;}
.ways .card .ic svg{width:24px; height:24px;}
.ways .card h3{font-family:'Montserrat'; font-weight:800; font-size:20px; line-height:1.32; color:var(--ink); margin:0 0 12px; letter-spacing:0;}
.ways .card p{font-size:16px; line-height:1.65; color:var(--slate); margin:0; letter-spacing:-.02em;}

/* CLUBS PAGE */
.sec.dir{background:#fff; padding:58px 72px 74px;}
.sec.dir .inner{max-width:1180px; margin:0 auto;}
.sec.dir .bar{display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px;}
.sec.dir .regsearch{display:flex; align-items:center; gap:10px; width:420px; background:#fff; border:1px solid var(--line-mid); border-radius:999px; padding:13px 20px; box-shadow:0 18px 40px -34px rgba(10,58,92,.5);}
.sec.dir .regsearch svg{width:18px; height:18px; flex-shrink:0;}
.sec.dir .regsearch input{border:0; outline:0; width:100%; font-family:'Open Sans'; font-size:16px; line-height:1.65; letter-spacing:-.02em; color:var(--ink); background:transparent;}
.sec.dir .regsearch input::placeholder{color:#8395a5;}
.sec.dir .count{font-family:'Montserrat'; font-weight:700; font-size:14px; line-height:1.4; letter-spacing:0; color:var(--slate);}
.sec.dir .chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px;}
.sec.dir .fchip{font-family:'Montserrat'; font-weight:700; font-size:14px; line-height:1.4; letter-spacing:0; color:var(--navy); background:#fff; border:1px solid var(--line-mid); border-radius:999px; padding:8px 16px; cursor:pointer;}
.sec.dir .fchip.on{background:var(--blue); color:#fff; border-color:var(--blue);}
.sec.dir table{width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:18px; overflow:hidden;}
.sec.dir th{font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; line-height:1.2; color:var(--navy); text-align:left; background:var(--mist); border-bottom:1px solid var(--line-mid); padding:16px 22px; cursor:pointer; white-space:nowrap;}
.sec.dir th .sort{color:var(--blue); margin-left:6px;}
.sec.dir td{font-size:16px; line-height:1.65; letter-spacing:-.02em; color:var(--slate); padding:15px 22px; border-bottom:1px solid var(--line);}
.sec.dir tr:last-child td{border-bottom:0;}
.sec.dir tr:nth-child(even) td{background:#fbfdfe;}
.sec.dir td.school{font-family:'Montserrat'; font-weight:700; font-size:16px; line-height:1.35; letter-spacing:0; color:var(--navy);}
.sec.dir .rbadge{display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; border-radius:10px; border:1px solid var(--line); background:var(--mist); font-family:'Montserrat'; font-weight:800; font-size:14px; line-height:1.4; letter-spacing:0; color:var(--navy);}
.sec.dir .note{font-size:13.5px; line-height:1.5; letter-spacing:-.02em; color:var(--slate); margin-top:16px; text-align:center;}
.sec.dir .note a{color:var(--blue);}
.sec.clubstart{position:relative; background:var(--mist); border-top:1px solid var(--line); padding:70px 72px; overflow:hidden;}
.sec.clubstart .blob{position:absolute; width:210px; height:210px; background:var(--peach-soft); border-radius:44% 56% 55% 45%/50% 45% 55% 50%; right:-70px; top:-50px; z-index:0;}
.sec.clubstart .inner{position:relative; z-index:2; max-width:760px; margin:0 auto; text-align:center;}
.sec.clubstart .eyebrow{color:var(--orange);}
.sec.clubstart h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; letter-spacing:-.01em; color:var(--navy); margin:0 0 20px;}
.sec.clubstart p{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em;}
.sec.clubstart .cta{margin-top:28px; display:flex; justify-content:center; gap:16px;}

/* WORK */
.work{position:relative; background:#fff; padding:76px 72px 84px;}
.work .topo{position:absolute; inset:0; z-index:0; pointer-events:none;}
.work .hd{position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:38px;}
.work h2{font-family:'Montserrat'; font-weight:800; font-size:34px; line-height:1.16; color:var(--navy); margin:0 0 16px; letter-spacing:-.01em;}
.work .hd p{font-size:16px; line-height:1.65; color:var(--slate); max-width:520px; letter-spacing:-.02em;}
.work .arrows{display:flex; gap:12px;}
.work .arr{width:48px; height:48px; border-radius:50%; border:2px solid var(--blue); display:flex; align-items:center; justify-content:center; color:var(--blue); transition:background .18s,color .18s; cursor:pointer;}
.work .arr:hover{background:var(--blue); color:#fff;}
.work .arr.ghost{opacity:.35; pointer-events:none;}
.work .cards-outer{position:relative; z-index:2; overflow:hidden;}
.work .cards{display:flex; gap:26px; transition:transform .4s ease;}
.work .wcard{flex:0 0 100%; min-width:0; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:#fff; display:flex; flex-direction:column;}
.work .wcard img{width:100%; height:190px; object-fit:cover;}
.work .wbody{padding:24px 26px 26px; display:flex; flex-direction:column; flex:1;}
.work .wtag{font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); margin-bottom:10px;}
.work .wcard h3{font-family:'Montserrat'; font-weight:800; font-size:20px; line-height:1.32; color:var(--ink); margin-bottom:12px;}
.work .wcard p{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:18px; letter-spacing:-.02em;}
.work .wcard .link{font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--blue); text-decoration:none; margin-top:auto;}
.work .dots{position:relative; z-index:2; display:flex; gap:8px; justify-content:center; margin-top:30px;}
.work .dot{width:8px; height:8px; border-radius:50%; background:var(--line-mid); cursor:pointer; transition:width .2s,background .2s;}
.work .dot.on{background:var(--blue); width:22px; border-radius:999px;}

/* SVG MAP */
.casc-map-svg{width:100%; height:100%; display:block;}
.casc-map-svg .mkh{fill:var(--peri-soft); stroke:#fff; stroke-width:1.5; transition:fill .2s;}
.casc-map-svg .mkh:hover,.casc-map-svg .mkh.active{fill:var(--blue);}
.casc-map-svg .mkc{fill:var(--orange); r:15;}
.casc-map-svg .mkt{fill:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:13px;}

/* SCROLL ANIMATIONS */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .55s ease, transform .55s ease;}
.reveal.visible{opacity:1; transform:none;}
.reveal-scale{opacity:0; transform:scale(.86) rotate(-8deg); transition:opacity .7s ease, transform .7s cubic-bezier(.22,.9,.3,1);}
.reveal-scale.visible{opacity:1; transform:none;}
.tstop{opacity:0; transform:translateY(20px); transition:opacity .45s ease, transform .45s ease;}
.tstop.tvis{opacity:1; transform:none;}
.topo path.topo-draw{transition:stroke-dashoffset 1.6s ease-out;}
.topo path.topo-draw.drawn{stroke-dashoffset:0 !important;}

@media (prefers-reduced-motion: reduce) {
  .reveal,.reveal-scale,.tstop{opacity:1 !important; transform:none !important; transition:none !important;}
  .topo path.topo-draw{stroke-dasharray:none !important; stroke-dashoffset:0 !important; transition:none !important;}
  .work .cards{transition:none !important;}
  html{scroll-behavior:auto !important;}
}

@media (max-width: 1280px) {
  .nav { padding: 20px 48px; }
  .hero .hcontent { padding: 64px 48px 0; }
  .mission { padding: 60px 48px; }
  .stats { padding: 44px 48px 52px; }
  .programs { padding: 60px 48px 70px; }
  .featured { padding: 70px 48px 80px; }
  .work { padding: 60px 48px 70px; }
  .start { padding: 60px 48px 70px; }
  .voice { padding: 64px 48px; }
  .newsband { padding: 48px 48px; }
  .foot { padding: 50px 48px 26px; }
  .pagehead .phc { padding: 22px 48px 56px; }
  .twocol { padding: 60px 48px; }
  .accordion { padding: 60px 48px; }
  .timeline { padding: 60px 48px 70px; }
  .plainprose { padding: 60px 48px; }
  .shopgrid { padding: 48px; }
  .search-results-page { padding: 60px 48px 80px; }
  .regleaders { padding: 60px 48px 70px; }
  .regpage .roster { padding: 56px 48px 68px; }
}

@media (max-width: 1024px) {
  .stats .grid4 { grid-template-columns: repeat(2, 1fr); }
  .stats .stat + .stat { border-left: none; }
  .stats .stat:nth-child(2n+1) { border-right: 1px solid var(--line-mid); }
  .programs .cards { grid-template-columns: 1fr 1fr; }
  .shopgrid .grid { grid-template-columns: repeat(3, 1fr); }
  .regleaders .lgrid { grid-template-columns: 1fr; }
  .regpage .roster .grid { grid-template-columns: repeat(3, 1fr); }
  .roster .grid { grid-template-columns: repeat(3, 1fr); }
  .regions { flex-direction: column; align-items: stretch; min-height: auto; }
  .regions .rmap { max-width: 100%; }
  .regions .mapbleed { position: relative; flex: 0 0 auto; height: auto; width: 100%; max-width: 560px; margin: 24px auto 0; }
  .regions .region-map-wrap { height: auto; width: 100%; }
  .regions .region-map-wrap svg { width: 100%; height: auto; }
}

@media (max-width: 768px) {
  html { font-size: 15px; }
  .nav { padding: 16px 24px; }
  .nav ul, .nav .actions .pill { display: none; }
  .nav-hamburger { display: flex; }
  .hero { height: auto; min-height: 520px; }
  .hero .hcontent { padding: 56px 24px 0; max-width: 100%; }
  .hero h1 { font-size: 40px; }
  .hero .sub { font-size: 16px; }
  .hero .nav { padding: 16px 24px; }
  .hero .vhint { left: 24px; bottom: 24px; }
  .mission { grid-template-columns: 1fr; padding: 48px 24px; gap: 36px; }
  .mission .imgwrap img { height: 320px; }
  .stats { padding: 36px 24px 44px; }
  .stats .grid4 { grid-template-columns: 1fr 1fr; gap: 16px; }
  .stats .stat { padding: 6px 4px; }
  .stats .stat .n { font-size: 40px; }
  .programs { padding: 48px 24px 56px; }
  .programs .cards { grid-template-columns: 1fr; }
  .featured { padding: 56px 24px; }
  .featured .inner { grid-template-columns: 1fr; gap: 32px; }
  .featured .art img { height: 280px; }
  .work { padding: 48px 24px 56px; }
  .work .hd { flex-direction: column; align-items: flex-start; gap: 16px; }
  .start { padding: 48px 24px 56px; }
  .start .inner { grid-template-columns: 1fr; gap: 32px; }
  .start .art { display: none; }
  .voice { padding: 56px 24px; }
  .voice .inner { grid-template-columns: 1fr; gap: 24px; }
  .voice .headshot img { width: 160px; height: 160px; }
  .voice blockquote { font-size: 20px; }
  .newsband { padding: 40px 24px; }
  .newsband .inner { flex-direction: column; gap: 24px; }
  .newsband .form { flex-direction: column; width: 100%; }
  .newsband .field { width: 100%; }
  .foot { padding: 40px 24px 24px; }
  .foot .top { grid-template-columns: 1fr 1fr; gap: 24px; }
  .pagehead .phc { padding: 16px 24px 40px; }
  .pagehead h1 { font-size: 32px; }
  .pagehead .sub { font-size: 15px; }
  .twocol { grid-template-columns: 1fr !important; padding: 40px 24px; gap: 28px; }
  .twocol .shot img { height: 280px; }
  .twocol .flip .txt { order: -1; }
  .feature { padding: 56px 24px; }
  .timeline .track { grid-template-columns: 1fr 1fr; gap: 20px; }
  .timeline { padding: 56px 24px 64px; }
  .plainprose { padding: 56px 24px; }
  .accordion { padding: 56px 24px; }
  .shopgrid { padding: 24px; }
  .shopgrid .grid { grid-template-columns: 1fr 1fr; }
  .shopgrid .bar { flex-direction: column; align-items: flex-start; }
  .pdp { grid-template-columns: 1fr; padding: 40px 24px; gap: 28px; }
  .pdp .gallery .main { height: 300px; }
  .regpage .regions { flex-direction: column; min-height: auto; padding: 40px 24px 48px; }
  .regpage .regions .rmap { max-width: 100%; }
  .regpage .regions .mapbleed { position: relative; right: auto; top: auto; transform: none; height: auto; width: calc(100vw - 10px); max-width: none; margin: 20px 0 0 -14px; align-self: flex-start; }
  .regpage .regions .region-map-wrap, .regpage .regions .region-map-wrap svg { width: 100%; height: auto; }
  .regpage .roster { padding: 40px 24px 56px; }
  .regpage .roster .grid { grid-template-columns: 1fr 1fr; }
  .regleaders { padding: 48px 24px 56px; }
  .regleaders .lcard { grid-template-columns: 1fr; text-align: center; }
  .regleaders .lcard img { width: 100px; height: 100px; margin: 0 auto; }
  .regleaders .lcard .soc { justify-content: center; }
  .regleaders .lgrid { grid-template-columns: 1fr; }
  .roster .grid { grid-template-columns: 1fr 1fr; }
  .profhead { grid-template-columns: 1fr; padding: 40px 24px; gap: 24px; }
  .profhead .shot img { width: 200px; height: 200px; }
  .join .band { grid-template-columns: 1fr; padding: 48px 24px; gap: 24px; }
  .join .art { display: none; }
  .search-results-page { padding: 40px 24px 60px; }
  .progtable { padding: 48px 24px 56px; overflow-x: auto; }
  .topics .list { grid-template-columns: 1fr; }
  .voices .grid { grid-template-columns: 1fr; }
  .quotes .grid { grid-template-columns: 1fr; }
  .facts .grid, .factcards .grid3, .regconf .facts .grid { grid-template-columns: 1fr; }
  .photowall .grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 390px) {
  .hero h1 { font-size: 32px; }
  .hero .cta { flex-direction: column; align-items: flex-start; }
  .stats .grid4 { grid-template-columns: 1fr; }
  .stats .stat:nth-child(2n+1) { border-right: none; }
  .shopgrid .grid { grid-template-columns: 1fr; }
  .regpage .roster .grid { grid-template-columns: 1fr; }
  .roster .grid { grid-template-columns: 1fr; }
  .photowall .grid { grid-template-columns: 1fr; }
  .foot .top { grid-template-columns: 1fr; }
  .timeline .track { grid-template-columns: 1fr; }
}


/* WOOCOMMERCE */
.woo-wrap{padding:56px 72px;}
.woo-wrap .woocommerce{max-width:980px; margin:0 auto;}
.pdp .buy .cart{display:flex; gap:14px; align-items:center; margin-top:26px;}
.pdp .buy .quantity .qty{width:74px; padding:12px 10px; border:1px solid var(--line); border-radius:10px; font-size:15px;}
.pdp .buy .single_add_to_cart_button, .woo-wrap .button, .woocommerce button.button{background:var(--orange, #f18f01); color:#fff; border:0; border-radius:999px; padding:14px 28px; font-family:'Montserrat'; font-weight:700; font-size:15px; cursor:pointer;}
.pdp .buy .single_add_to_cart_button:hover, .woo-wrap .button:hover{filter:brightness(1.06);}
.woo-wrap table.shop_table{width:100%; border:1px solid var(--line); border-radius:14px; border-collapse:separate; border-spacing:0; overflow:hidden;}
.woo-wrap table.shop_table th, .woo-wrap table.shop_table td{padding:14px 16px; border-bottom:1px solid var(--line); text-align:left;}
.woo-wrap .woocommerce-message, .woo-wrap .woocommerce-info, .woocommerce-message, .woocommerce-info{border-top-color:var(--blue); padding:14px 18px 14px 44px; background:var(--mist); border-radius:10px; margin:18px 0;}
.woo-wrap form .form-row input.input-text, .woo-wrap form .form-row textarea, .woocommerce form .form-row input.input-text{border:1px solid var(--line); border-radius:10px; padding:12px 14px; font-size:15px;}
.shopgrid .prod .ph img{width:100%; height:100%; object-fit:cover;}
.pdp .gallery .main img{width:100%; height:100%; object-fit:cover;}


/* HOMEPAGE FEEDBACK ROUND (2026-07-24) */
.nav ul li > a{position:relative; transition:opacity .18s ease;}
.nav ul li > a:after{content:""; position:absolute; left:0; right:100%; bottom:-7px; height:2px; border-radius:2px; background:currentColor; opacity:.85; transition:right .22s ease;}
.nav ul li > a:hover:after{right:0;}
.nav li .drop a:after{display:none;}
.nav .actions .pill, .nav .actions .pill:hover{text-decoration:none;}
.nav .brand:after{display:none;}

.casc-overlay{position:fixed; inset:0; z-index:160; background:rgba(7,29,56,.94); -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px); display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:opacity .28s ease, visibility 0s linear .28s;}
.casc-overlay.open{opacity:1; visibility:visible; transition:opacity .28s ease;}
.casc-overlay .ov-close{position:absolute; top:26px; right:34px; width:46px; height:46px; border:0; border-radius:999px; background:rgba(255,255,255,.12); color:#fff; font-size:22px; cursor:pointer; line-height:1;}
.casc-overlay .ov-close:hover{background:rgba(255,255,255,.22);}
.casc-search-panel{width:min(760px, 88vw); transform:translateY(14px); transition:transform .28s ease;}
.casc-overlay.open .casc-search-panel{transform:none;}
.casc-search-panel .eyebrow{color:#8fd0f0; letter-spacing:.14em; text-transform:uppercase; font-family:'Montserrat'; font-weight:700; font-size:13px; margin-bottom:14px;}
.casc-search-panel form{display:flex; gap:14px; align-items:center; border-bottom:2px solid rgba(255,255,255,.4); padding-bottom:12px;}
.casc-search-panel input[type="s"], .casc-search-panel input[type="search"], .casc-search-panel input[type="text"]{flex:1; background:transparent; border:0; outline:0; color:#fff; font-family:'Montserrat'; font-weight:600; font-size:clamp(22px, 3.4vw, 34px);}
.casc-search-panel input::placeholder{color:rgba(255,255,255,.45);}
.casc-search-panel button[type="submit"]{background:var(--orange, #f7931e); color:#fff; border:0; border-radius:999px; padding:13px 26px; font-family:'Montserrat'; font-weight:700; font-size:15px; cursor:pointer;}
.casc-video-panel{width:min(1080px, 92vw); aspect-ratio:16/9; background:#000; border-radius:14px; overflow:hidden; box-shadow:0 30px 90px -20px rgba(0,0,0,.6); transform:translateY(14px); transition:transform .28s ease;}
.casc-overlay.open .casc-video-panel{transform:none;}
.casc-video-panel iframe, .casc-video-panel video{width:100%; height:100%; border:0; display:block;}

/* FEEDBACK ROUND 2 (2026-07-24) */
.nav{position:relative; z-index:120;}
.nav li .drop{z-index:130;}

.timeline .track{position:relative;}
.timeline .tline{position:absolute; left:0; right:0; top:9px; height:2px; overflow:hidden; pointer-events:none;}
.timeline .tline i{display:block; height:100%; background:var(--line); transform:scaleX(0); transform-origin:left center; transition:transform 1.4s cubic-bezier(.4,0,.2,1);}
.timeline .track.tgo .tline i{transform:scaleX(1);}
.timeline .tstop .tdot{transform:scale(0); transition:transform .38s cubic-bezier(.34,1.56,.64,1);}
.timeline .tstop.tdotgo .tdot{transform:scale(1);}
.timeline.many .track{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:34px; padding-bottom:16px;}
.timeline.many .tstop{min-width:250px; scroll-snap-align:start;}

.accordion .row .q{cursor:pointer;}
.accordion .row .a{height:0; overflow:hidden; opacity:0; transition:height .34s cubic-bezier(.4,0,.2,1), opacity .26s ease;}
.accordion .row.open .a{opacity:1;}
.accordion .a .a-inner{overflow:hidden; padding-top:14px;}

.casc-overlay .ov-close{display:grid; place-items:center; padding:0; line-height:1;}
.casc-search-panel .eyebrow{color:var(--orange, #f7931e);}
.casc-search-panel{transform:translateY(26px) scale(.985); opacity:0; transition:transform .34s cubic-bezier(.22,.9,.3,1), opacity .3s ease;}
.casc-overlay.open .casc-search-panel{transform:none; opacity:1;}

.search-results-page form{display:flex; gap:12px; border:1px solid var(--line); border-radius:999px; padding:6px 6px 6px 22px; align-items:center; background:#fff; box-shadow:0 14px 34px -26px rgba(10,58,92,.4);}
.search-results-page form input[type="search"], .search-results-page form input[type="text"], .search-results-page form input[type="s"]{flex:1; border:0; outline:0; font-size:16px; font-family:'Open Sans'; background:transparent;}
.search-results-page form button, .search-results-page form input[type="submit"]{background:var(--orange, #f7931e); color:#fff; border:0; border-radius:999px; padding:11px 22px; font-family:'Montserrat'; font-weight:700; cursor:pointer;}
.search-results-page article{border-bottom:1px solid var(--line); padding:22px 0;}
.search-results-page article h2, .search-results-page article h3{font-size:20px; margin:0 0 8px;}
.search-results-page article p{color:var(--slate); line-height:1.6;}
.search-results-page .relevanssi-query-term{background:rgba(247,147,30,.18); padding:0 2px; border-radius:3px;}


/* DOT-MATRIX REGION MAP (approved mockup) */
.region-map-wrap .casc-dotmap{height:100%; width:auto; display:block;}
.casc-dotmap .terrain{pointer-events:none;}
.casc-dotmap .castate{fill:#FBFDFF; stroke:#C9D6EA; stroke-width:1;}
.casc-dotmap .cd{fill:#C4D4EF; transition:fill .25s ease;}
.casc-dotmap .nd{fill:#c3cbd8; opacity:.5;}
.casc-dotmap[data-active="1"] .cd.rg1{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="2"] .cd.rg2{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="3"] .cd.rg3{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="4"] .cd.rg4{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="5"] .cd.rg5{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="6"] .cd.rg6{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="7"] .cd.rg7{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="8"] .cd.rg8{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="9"] .cd.rg9{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="10"] .cd.rg10{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="11"] .cd.rg11{fill:var(--orange, #f7931e); opacity:1;} .casc-dotmap[data-active="12"] .cd.rg12{fill:var(--orange, #f7931e); opacity:1;}
.casc-dotmap .pin{cursor:pointer;}
.casc-dotmap .pin circle{fill:#fff; stroke:#0071bc; stroke-width:2; transition:fill .2s ease;}
.casc-dotmap .pin text{font:700 11px 'Montserrat', sans-serif; fill:#0a3a5c; text-anchor:middle; pointer-events:none; transition:fill .2s ease;}
.casc-dotmap .pin:hover circle{fill:#e8f2fb;}
.casc-dotmap .pin.active circle{fill:#0071bc;}
.casc-dotmap .pin.active text{fill:#fff;}

.foot .soc{display:flex; gap:12px;}
.foot .soc .sic{width:38px; height:38px; border:1px solid rgba(255,255,255,.35); border-radius:999px; display:grid; place-items:center; color:#fff; transition:background .2s ease, border-color .2s ease;}
.foot .soc .sic svg{width:18px; height:18px;}
.foot .soc .sic:hover{background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.6);}
.foot .soc span{display:none;}

/* LOOSE PAGE CONTENT + CORE BLOCKS (frontend .site-main and editor canvas):
   pages built from plain core blocks read on-brand without any wrapper */
:where(.site-main, .editor-styles-wrapper) > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote, figure.wp-block-image, figure.wp-block-table, .wp-block-buttons, .wp-block-columns, .wp-block-media-text, .wp-block-group, .wp-block-separator, .wp-block-cover){
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: content-box;
}
:where(.site-main, .editor-styles-wrapper) > :where(p, ul, ol){
  font-family: 'Open Sans', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  color: var(--slate);
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 18px;
}
:where(.site-main, .editor-styles-wrapper) > :where(h1, h2, h3, h4, h5, h6){
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 800;
  color: var(--navy);
  letter-spacing: -.01em;
  line-height: 1.18;
  margin: 34px auto 14px;
}
:where(.site-main, .editor-styles-wrapper) > h1{font-size: 40px;}
:where(.site-main, .editor-styles-wrapper) > h2{font-size: 32px;}
:where(.site-main, .editor-styles-wrapper) > h3{font-size: 24px;}
:where(.site-main, .editor-styles-wrapper) > h4{font-size: 19px;}
:where(.site-main, .editor-styles-wrapper) > p:first-child,
:where(.site-main, .editor-styles-wrapper) > h1:first-child,
:where(.site-main, .editor-styles-wrapper) > h2:first-child{margin-top: 56px;}
:where(.site-main, .editor-styles-wrapper) > :where(p, h1, h2, ul, ol):last-child{margin-bottom: 72px;}
:where(.site-main, .editor-styles-wrapper) blockquote{
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: var(--navy);
  border-left: 4px solid var(--orange);
  padding-left: 24px;
  margin: 28px auto;
}
:where(.site-main, .editor-styles-wrapper) .wp-block-table table{
  width: 100%;
  border-collapse: collapse;
  font-family: 'Open Sans', system-ui, sans-serif;
  font-size: 15px;
  color: var(--slate);
}
:where(.site-main, .editor-styles-wrapper) .wp-block-table :where(td, th){
  border: 1px solid var(--line-mid, #dbe3ee);
  padding: 10px 14px;
  text-align: left;
}
:where(.site-main, .editor-styles-wrapper) .wp-block-table th{
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  color: var(--navy);
  background: var(--mist);
}
:where(.site-main, .editor-styles-wrapper) .wp-block-separator{
  border: 0;
  border-top: 1px solid var(--line-mid, #dbe3ee);
  margin: 40px auto;
}
:where(.site-main, .editor-styles-wrapper) a:not([class]){
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 2px;
}
:where(.site-main, .editor-styles-wrapper) .wp-block-button__link{
  font-family: 'Montserrat', system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  background: var(--orange);
  color: #fff;
  border-radius: 999px;
  padding: 15px 30px;
  text-decoration: none;
}
:where(.site-main, .editor-styles-wrapper) .is-style-outline .wp-block-button__link{
  background: transparent;
  color: var(--navy);
  border: 2px solid var(--navy);
}
.editor-styles-wrapper{
  font-family: 'Open Sans', system-ui, sans-serif;
  background: #fff;
}


/* RESPONSIVE + POLISH ROUND (2026-07-24) */

.sec.intro{background:#fff; padding:56px 72px 8px;}
.sec.intro .inner{max-width:820px; margin:0 auto;}
.sec.intro p{font-size:18px; line-height:1.62; color:var(--slate); letter-spacing:-.02em; margin-bottom:20px;}

.work .wcard{flex:0 0 calc((100% - 52px)/3);}
@media (max-width: 1024px){
  .work .wcard{flex:0 0 calc((100% - 26px)/2);}
}
@media (max-width: 700px){
  .work .wcard{flex:0 0 100%;}
}

.nav-hamburger span{transition:transform .28s ease, opacity .2s ease, background .28s ease;}
.nav li.dd .caret{transition:transform .25s ease;}

@media (max-width: 768px){
  .nav{display:flex; align-items:center; gap:16px; padding:16px 24px;}
  .nav .actions{display:flex; margin-left:auto; align-items:center;}
  .nav .actions .search-form{display:block;}
  .nav ul{
    display:flex; flex-direction:column; align-items:stretch; text-align:left; gap:0;
    position:fixed; top:72px; left:0; right:0; bottom:0;
    background:#fff; padding:20px 24px; z-index:96; overflow-y:auto;
    opacity:0; visibility:hidden; transform:translateY(-14px); pointer-events:none;
    transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
  }
  .nav.nav-mobile-open ul{
    opacity:1; visibility:visible; transform:none; pointer-events:auto;
    transition:opacity .3s ease, transform .3s ease;
  }
  .nav.nav-mobile-open{position:fixed; top:0; left:0; right:0; z-index:97; background:var(--navy); padding:16px 24px; margin:0; display:flex; align-items:center; gap:16px;}
  .nav.nav-mobile-open .nav-hamburger span{background:#fff;}
  .nav.nav-mobile-open .actions{display:flex;}
  .nav.nav-mobile-open .actions .pill{display:inline-flex;}
  .nav.nav-mobile-open .actions .search-form{display:none;}
  .nav ul li, .nav > ul > li > a{color:var(--navy, #0a3a5c) !important;}
  .nav ul a{color:var(--navy, #0a3a5c); font-family:'Montserrat'; font-weight:700;}
  .nav ul li > a:after{display:none;}
  .nav ul li{border-bottom:1px solid var(--line); padding:14px 0; font-size:18px; justify-content:flex-start;}
  .nav li.dd{flex-wrap:wrap;}
  .nav li.dd .caret{border-color:var(--navy); margin-left:10px; padding:8px; cursor:pointer;}
  .nav li.dd .drop{display:none; position:static; box-shadow:none; border:none; border-radius:0; padding:8px 0 0; opacity:1; visibility:visible; transform:none; pointer-events:auto; transition:none; min-width:0; width:100%; background:transparent;}
  .nav li.dd.open .drop{display:block;}
  .nav li.dd.open .caret{transform:rotate(225deg) translateY(-2px);}
  .nav li.dd .drop::before{display:none;}
  .nav li.dd .drop a{color:var(--slate, #51617a) !important; font-family:'Open Sans'; font-weight:600; padding:10px 0 10px 14px;}
  .nav li.dd .drop a span{color:var(--slate); opacity:.75;}

  .hero .hcontent{padding:48px 24px 8px;}
  .hero .eyebrow{font-size:12px; letter-spacing:.14em;}
  .hero .cta{display:flex; flex-direction:column; gap:14px; width:100%;}
  .hero .cta .btn{width:100%; text-align:center; justify-content:center;}
  .hero .vhint{position:static; margin:22px 24px 30px; left:auto; bottom:auto;}

  .featured .meta{display:flex; flex-direction:column; align-items:flex-start; gap:8px; border-radius:18px; padding:14px 18px;}
  .featured .meta .dotsep{display:none;}
  .featured .cta{flex-direction:column; align-items:stretch; gap:12px; width:100%;}
  .featured .cta .btn{width:100%; text-align:center;}

  .newsband .btn{width:100%; text-align:center;}
  .newsband .form{width:100%;}

  .casc-overlay .ov-close{top:14px; right:14px;}

  .contact{grid-template-columns:1fr; padding:56px 24px; gap:40px;}
  .contact h2{font-size:28px;}
  .cform{grid-template-columns:1fr; max-width:none;}
  .cinfo{padding:28px 22px;}
  .contact + .sec .cards, .cards:has(> .pcard){grid-template-columns:1fr; gap:18px;}
  .join .band{grid-template-columns:1fr; padding:48px 24px; gap:32px;}
  .programs.imgcards .cards{grid-template-columns:1fr;}
  .programs h2{font-size:28px;}
  .work h2, .featured h2, .newsband h2, .clubs h2{font-size:28px;}
  .sec.intro{padding:44px 24px 4px;}
  .sec.intro p{font-size:16px;}
}
@media (max-width: 560px){
  .contact{padding:48px 20px;}
}

:root{--gx:72px;}
@media (min-width: 1441px){
  :root{--gx:calc((100vw - 1440px)/2 + 72px);}
  div.page{width:100%; max-width:none;}
  .accordion, .sec.dir, .sec.clubstart, .contact, .ctaband, .factcards, .facts,
  .feature, .featured, .foot, .hero .hcontent, .join .band, .leadin, .media,
  .roster, .mission, .nav, .newsband, .partners .hd,
  .pagehead .phc, .pdp, .people, .photowall, .plainprose, .profhead, .programs,
  .progtable, .quotes, .sec.body, .regconf .facts, .sec.intro,
  .sec.sable, .sec.sched, .regions, .regleaders, .regpage .roster,
  .retro, .sec.intro, .shopgrid, .start, .stats, .timeline, .tmony, .topics,
  .twocol, .voice, .voices, .ways, .woo-wrap, .work, .sable, .sched, .sec.body,
  .sec.pagehead .phc{
    padding-left:var(--gx); padding-right:var(--gx);
  }
  .hero .hcontent{max-width:calc(920px - 144px + var(--gx)*2);}
  .pagehead .phc{max-width:calc(860px - 144px + var(--gx)*2);}
  .hero .vhint{left:var(--gx);}
  .regions .mapbleed{margin-right:calc(-1 * var(--gx));}
  .regions .maphint{left:calc(var(--gx) + 16px);}
}

/* FEEDBACK ROUND 3 (2026-07-24) */

/* Item 2: homepage "Join a club" body text no longer scrunched */
.start .item .body p{max-width:none;}

/* Item 4: About intro reads as an intentional lead paragraph */
.sec.intro p{font-size:19px; line-height:1.6; color:var(--ink); font-weight:400; letter-spacing:-.02em; margin-bottom:18px;}
.sec.intro .arrowlink{display:inline-block; margin-top:4px;}

/* Item 7: program card link pinned to the bottom on every card */
.programs .card{display:flex; flex-direction:column;}
.programs .card .link{margin-top:auto;}

/* Items 9 & 11: content lists match the Keynote-speakers list style (paragraph text + orange dot) */
.twocol .txt ul, .plainprose .inner ul, .leadin .inner ul, .sec.intro .inner ul,
.feature .inner ul, .site-main .wp-block-list, .editor-styles-wrapper .wp-block-list{
  list-style:none; display:grid; gap:12px; margin:14px 0 20px; padding:0;
}
.twocol .txt li, .plainprose .inner li, .leadin .inner li, .sec.intro .inner li,
.feature .inner li, .site-main .wp-block-list li, .editor-styles-wrapper .wp-block-list li{
  position:relative; padding-left:30px; font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em; margin:0;
}
.twocol .txt li:before, .plainprose .inner li:before, .leadin .inner li:before,
.sec.intro .inner li:before, .feature .inner li:before,
.site-main .wp-block-list li:before, .editor-styles-wrapper .wp-block-list li:before{
  content:""; position:absolute; left:2px; top:9px; width:11px; height:11px; border-radius:50%; background:var(--orange);
}

/* Item 5: Association History horizontal timeline — arrows + edge fades */
.timeline .tnav{display:none;}
.timeline.many .hd{display:flex; flex-direction:column; align-items:center;}
.timeline.many .tnav{order:3; display:flex; gap:12px; margin-top:24px;}
.timeline.many .tarr{width:46px; height:46px; border-radius:50%; border:2px solid var(--blue); background:#fff; color:var(--blue); display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; transition:background .18s ease, color .18s ease, opacity .18s ease;}
.timeline.many .tarr:hover:not(:disabled){background:var(--blue); color:#fff;}
.timeline.many .tarr:disabled{opacity:.3; cursor:default;}
.timeline.many .tarr svg{width:20px; height:20px;}
.timeline .track-wrap{position:relative;}
.timeline .tfade{display:none;}
.timeline.many .tfade{display:block; position:absolute; top:0; bottom:0; width:64px; z-index:3; pointer-events:none; opacity:0; transition:opacity .25s ease;}
.timeline.many .tfade.on{opacity:1;}
.timeline.many .tfade-l{left:0; background:linear-gradient(to right, #fff 20%, rgba(255,255,255,0));}
.timeline.many .tfade-r{right:0; background:linear-gradient(to left, #fff 20%, rgba(255,255,255,0));}
.timeline.many .track{scroll-behavior:smooth;}

/* FEEDBACK ROUND 4 (2026-07-24) */

/* Item 5: memroster note + button below the heading, centered */
.roster .hd .note{font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em; max-width:640px; margin:14px auto 0;}
.roster .hd .note a{font-family:'Montserrat'; font-weight:700; color:var(--blue); text-decoration:none;}
.roster .hd .note-btn{margin-top:20px;}

/* Items 6 & 7: stats heading/body + tinted variant so stacked stat blocks read as distinct sections */
.stats.tint{background:linear-gradient(180deg, var(--mist) 0%, #fff 100%);}
.stats .stats-h{font-family:'Montserrat'; font-weight:800; font-size:30px; line-height:1.18; color:var(--navy); text-align:center; letter-spacing:-.01em; margin:0 auto 12px; max-width:760px;}
.stats .stats-body{font-size:16px; line-height:1.65; color:var(--slate); text-align:center; letter-spacing:-.02em; max-width:680px; margin:0 auto 30px;}

/* Item 3: region president social icons (Instagram / LinkedIn) */
.regleaders .lcard .soc .sic{width:34px; height:34px; border-radius:999px; border:1px solid var(--line-mid); color:var(--blue); display:grid; place-items:center; transition:background .18s ease, color .18s ease, border-color .18s ease;}
.regleaders .lcard .soc .sic:hover{background:var(--blue); color:#fff; border-color:var(--blue);}
.regleaders .lcard .soc .sic svg{width:17px; height:17px;}

/* Item 2: neutral initials avatar when a president has no photo */
.regleaders .lcard .av-ph{width:150px; height:150px; border-radius:50%; background:linear-gradient(150deg, var(--peri-soft), #cddcf4); display:grid; place-items:center; box-shadow:0 22px 46px -30px rgba(10,58,92,.55);}
.regleaders .lcard .av-ph span{font-family:'Montserrat'; font-weight:800; font-size:44px; color:var(--blue); letter-spacing:.02em;}

/* Items 9-11: shop grid + product page polish */
.shopgrid .prodlink{text-decoration:none; color:inherit; display:block;}
.shopgrid .prod{transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.shopgrid .prodlink:hover .prod{transform:translateY(-5px); box-shadow:0 26px 50px -30px rgba(10,58,92,.4); border-color:var(--peri);}
.pdp .info .desc{font-size:16px; line-height:1.65; color:var(--slate); margin-bottom:22px; max-width:460px; letter-spacing:-.02em;}
.pdp .info .desc p{margin-bottom:12px;}
.pdp .info .ship-note{margin-top:20px; font-size:14px; line-height:1.6; color:var(--slate); letter-spacing:-.02em;}
.pdp .info .ship-note a{color:var(--blue); text-decoration:none; font-weight:600;}

/* Item 8: photo gallery lightbox */
.casc-lightbox{align-items:center; justify-content:center;}
.casc-lightbox-panel{margin:0; max-width:88vw; max-height:84vh; display:flex; flex-direction:column; align-items:center; gap:14px; transform:scale(.96); transition:transform .28s ease;}
.casc-overlay.open .casc-lightbox-panel{transform:none;}
.casc-lightbox-panel img{max-width:88vw; max-height:78vh; border-radius:12px; box-shadow:0 40px 90px -30px rgba(0,0,0,.6); object-fit:contain;}
.casc-lightbox-panel figcaption{color:#e6eef6; font-family:'Open Sans'; font-size:14px; line-height:1.5; text-align:center; max-width:640px;}
.casc-lightbox .lb-nav{position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:999px; border:0; background:rgba(255,255,255,.12); color:#fff; font-size:30px; line-height:1; cursor:pointer; display:grid; place-items:center; transition:background .18s ease;}
.casc-lightbox .lb-nav:hover{background:rgba(255,255,255,.24);}
.casc-lightbox .lb-prev{left:24px;}
.casc-lightbox .lb-next{right:24px;}
@media (max-width: 768px){
  .casc-lightbox .lb-nav{width:44px; height:44px; font-size:24px;}
  .casc-lightbox .lb-prev{left:8px;}
  .casc-lightbox .lb-next{right:8px;}
}

/* FEEDBACK ROUND 5 (2026-07-24) === DESKTOP === */

/* D3: decorations clip inside a wrapper so the nav dropdown escapes overflow */
.hero > .hero-deco, .pagehead > .ph-deco{position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none;}
.hero{isolation:isolate;}
.hero > .hero-deco .bg, .hero > .hero-deco .scrim, .hero > .hero-deco .topshade{pointer-events:none;}
.nav li.dd .drop{z-index:60;}

/* D1: About intro now lives in the hero */
.pagehead .phc .sub2{margin-top:14px;}
.pagehead .ph-link{display:inline-block; margin-top:20px; font-family:'Montserrat'; font-weight:700; font-size:15px; color:#fff; text-decoration:none; transition:color .18s ease;}
.pagehead .ph-link .aro{color:var(--peach); margin-left:2px;}
.pagehead .ph-link:hover{color:var(--peach);}

/* D4: program card icon vertically centered + sized */
.programs .card .chip{display:flex; align-items:center; justify-content:center;}
.programs .card .chip .ic{display:block; width:26px; height:26px;}

/* D2a: hide the Association History scrollbar (keep scroll) */
.timeline.many .track{scrollbar-width:none; -ms-overflow-style:none;}
.timeline.many .track::-webkit-scrollbar{width:0; height:0; display:none;}

/* D5: trim the region section's vertical padding */
.regions{padding-top:32px; padding-bottom:32px;}

/* D7: lightbox close + arrows perfectly centered (Firefox glyph baseline) */
.casc-overlay .ov-close, .casc-lightbox .lb-nav{display:flex; align-items:center; justify-content:center; line-height:0; padding:0;}
.casc-overlay .ov-close{font-size:24px;}
.casc-lightbox .lb-nav{font-size:30px;}

/* D8: shop category filters — active pill readable, no forced underline */
.shopgrid .bar .cat a{color:inherit; text-decoration:none;}
.shopgrid .bar .cat.on a{color:#fff;}

/* D9: breadcrumbs — orange links, no underline, current in place */
.crumb a{color:var(--orange); text-decoration:none; font-weight:700;}
.crumb a:hover{text-decoration:underline;}
.crumb .sep{opacity:.45; margin:0 2px;}
.pagehead .crumb .cur{opacity:.85;}

/* D10: cart link in the nav */
.nav .actions{gap:18px;}
.nav .cart-link{position:relative; display:inline-flex; align-items:center; color:inherit; text-decoration:none;}
.nav .cart-link svg{width:23px; height:23px;}
.nav .cart-count{position:absolute; top:-7px; right:-9px; min-width:17px; height:17px; padding:0 4px; border-radius:999px; background:var(--orange); color:#fff; font-family:'Montserrat'; font-weight:800; font-size:10px; line-height:17px; text-align:center; display:none;}
.nav .cart-count.has{display:block;}
.navd .actions{color:#fff;}
.woo-notices{max-width:1180px; margin:0 auto; padding:24px 72px 0;}
.woo-notices .woocommerce-message, .woo-notices .woocommerce-error, .woo-notices .woocommerce-info{background:var(--mist); border:1px solid var(--line); border-left:4px solid var(--orange); border-radius:12px; padding:14px 20px; font-family:'Open Sans'; font-size:15px; color:var(--navy); list-style:none; margin:0 0 8px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.woo-notices .button{background:var(--orange); color:#fff; border-radius:999px; padding:10px 22px; font-family:'Montserrat'; font-weight:700; font-size:14px; text-decoration:none; white-space:nowrap;}

/* FEEDBACK ROUND 5 === MOBILE (<=768px) === */
@media (max-width: 768px){
  /* M1: keep the video hint; shrink the hero ring */
  .hero .vhint{display:flex !important; position:static; margin:20px 24px 28px; left:auto; bottom:auto;}
  .hero .arc{width:150px !important; height:150px !important; border-width:12px !important; right:-50px !important; bottom:-40px !important;}
  .hero .ringthin{width:60px !important; height:60px !important;}

  /* M2: newsletter email field breathing room */
  .newsband .form{flex-direction:column;}
  .newsband .field{width:100%; margin-bottom:12px;}

  /* M3: footer single column */
  .foot .top{grid-template-columns:1fr; gap:26px;}

  /* M4: unify body/intro/hero paragraph sizes on About + content pages */
  .pagehead .sub, .pagehead .sub2{font-size:15px; line-height:1.6;}
  .plainprose .inner p, .twocol .txt p, .feature .inner p, .sec.intro p, .leadin p{font-size:15px; line-height:1.6;}
  .pagehead .ph-link{margin-top:16px;}

  /* M5: beliefs feature padding */
  .feature{padding:44px 24px !important;}

  /* M7: standalone image full-bleed, square corners */
  .media{padding:0 !important; background:transparent;}
  .media img{width:100%; height:auto; max-height:280px; border-radius:0 !important; box-shadow:none !important;}

  /* M8: FAQ +/- stays circular; slightly smaller question */
  .accordion{padding:44px 24px;}
  .accordion .q{font-size:16px;}
  .accordion .q .pm{flex:0 0 26px; width:26px; height:26px;}

  /* M9 + M11: hamburger + search icons white on the dark bar */
  .navd .nav-hamburger span{background:#fff;}
  .navd .actions{color:#fff;}
  .navd .search-toggle{color:#fff;}

  /* M10: drawer chevron sane size */
  .nav.nav-mobile-open li.dd .caret{width:9px; height:9px; padding:0; margin-left:10px; border-right-width:2px; border-bottom-width:2px;}

  /* M12: summer lead-in padding */
  .leadin{padding:40px 24px 8px;}

  /* M13: summer facts section padding matches curriculum */
  .factcards, .facts{padding:40px 24px 44px !important;}

  /* M14: summer quote + camp recap readable */
  .quotes{padding:40px 24px !important;}
  .quotes blockquote{font-size:17px !important; line-height:1.45;}
  .retro{padding:40px 24px !important;}

  /* M15: region map flush right, 10px left */
  .regions .mapbleed{width:calc(100vw - 10px); max-width:none; height:auto; margin:20px 0 0 -14px; align-self:flex-start; flex:0 0 auto;}
  .regions .region-map-wrap{width:100%; height:auto;}
  .regions .region-map-wrap svg{width:100%; height:auto;}

  /* M16: find-your-region search full width, count below */
  .regpage .roster .searchwrap{flex-direction:column; align-items:stretch; gap:12px;}
  .regpage .roster .regsearch{width:100%;}
  .regpage .roster .count{text-align:left;}

  /* M17: region president avatar centered + smaller */
  .regleaders .lcard img, .regleaders .lcard .av-ph{width:96px; height:96px; margin:0 auto;}
  .regleaders .lcard .av-ph span{font-size:32px;}

  /* M18: members roster centered, proper padding */
  .roster{padding:44px 24px 52px;}
  .roster .grid{justify-items:stretch;}
  .roster .hd{padding:0;}

  /* M19: gallery images full width, tight padding */
  .photowall{padding:32px 16px !important;}
  .photowall .grid{grid-template-columns:1fr !important; gap:12px;}
  .photowall .grid img{width:100%; height:auto; border-radius:12px;}

  /* M20: contact members section padding */
  .contact{padding:44px 24px !important;}
  .people{padding:44px 24px !important;}

  /* M21: contact stay-connected buttons stacked full width */
  .join .band .cta, .join .band .act{flex-direction:column; align-items:stretch; width:100%;}
  .join .band .btn{width:100%; text-align:center;}

  /* M22: shop single column */
  .shopgrid .grid{grid-template-columns:1fr !important;}
}

/* FEEDBACK ROUND 5 — map tooltip / hint, timeline line (D6, D2b) */
.timeline.many .tline{right:auto; left:0;}
.region-map-wrap .casc-map-tip{position:absolute; z-index:8; transform:translate(-50%, calc(-100% - 14px)); background:var(--navy); color:#fff; padding:8px 12px; border-radius:10px; font-family:'Montserrat'; font-weight:700; font-size:13px; line-height:1.3; white-space:nowrap; pointer-events:none; opacity:0; transition:opacity .15s ease; box-shadow:0 14px 30px -14px rgba(10,58,92,.7);}
.region-map-wrap .casc-map-tip.on{opacity:1;}
.region-map-wrap .casc-map-tip span{display:block; font-family:'Open Sans'; font-weight:400; font-size:12px; color:#cfe0f0;}
.region-map-wrap .map-hint-text .mod{font-weight:800; color:#fff;}
.region-map-wrap .map-hint-text.nudge{animation:casc-hint-nudge .5s ease;}
@keyframes casc-hint-nudge{0%,100%{transform:none;}50%{transform:scale(1.06);}}

/* CART + CHECKOUT ON-BRAND (2026-07-24) */
.woo-wrap .inner{max-width:1180px; margin:0 auto;}
.woo-wrap a{color:var(--blue); text-decoration:none;}
.woo-wrap a:hover{text-decoration:underline;}

/* Buttons */
.woo-wrap .button, .woo-wrap button, .woo-wrap input[type="submit"],
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woo-wrap #place_order{
  background:var(--orange) !important; color:#fff !important; border:0 !important; border-radius:999px !important;
  padding:14px 30px !important; font-family:'Montserrat',sans-serif !important; font-weight:700 !important;
  font-size:15px !important; line-height:1.2 !important; cursor:pointer; text-decoration:none !important;
  box-shadow:none !important; text-shadow:none !important; letter-spacing:0 !important; transition:filter .18s ease;
}
.woo-wrap .button:hover, .woo-wrap #place_order:hover, .woocommerce-cart .checkout-button:hover{filter:brightness(1.06);}
.woo-wrap .button.alt, .woo-wrap #place_order{width:auto;}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{display:block; text-align:center; width:100%; padding:16px 30px !important;}

/* Cart table */
.woocommerce-cart-form{margin-bottom:0;}
.woo-wrap table.cart, .woo-wrap table.shop_table{width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; margin:0 0 30px;}
.woo-wrap table.cart thead th, .woo-wrap table.shop_table thead th{background:var(--navy); color:#fff; font-family:'Montserrat',sans-serif; font-weight:700; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; padding:16px 20px; text-align:left; border:0;}
.woo-wrap table.cart td, .woo-wrap table.shop_table td{padding:18px 20px; border-top:1px solid var(--line); vertical-align:middle; font-family:'Open Sans',sans-serif; font-size:15px; color:var(--slate);}
.woo-wrap table.cart td.product-name a{color:var(--navy); font-family:'Montserrat',sans-serif; font-weight:700; font-size:15px;}
.woo-wrap table.cart td.product-price, .woo-wrap table.cart td.product-subtotal{color:var(--navy); font-weight:700; font-family:'Montserrat',sans-serif;}
.woo-wrap table.cart img{width:64px; height:64px; object-fit:cover; border-radius:10px; border:1px solid var(--line);}
.woo-wrap table.cart td.product-remove a.remove{color:var(--orange) !important; font-size:22px; width:26px; height:26px; line-height:24px; border-radius:999px; background:var(--peach-soft) !important; display:inline-block; text-align:center;}
.woo-wrap .quantity input.qty{width:66px; padding:10px 8px; border:1px solid var(--line-mid); border-radius:10px; font-size:15px; text-align:center;}
.woo-wrap td.actions{padding:16px 20px; background:var(--mist);}
.woo-wrap .coupon{display:inline-flex; gap:10px; align-items:center; flex-wrap:wrap;}
.woo-wrap .coupon input#coupon_code{padding:12px 16px; border:1px solid var(--line-mid); border-radius:999px; font-size:14px; min-width:180px;}
.woo-wrap td.actions > .button[name="update_cart"]{margin-left:8px;}

/* Cart totals card */
.cart-collaterals{display:flex; justify-content:flex-end;}
.cart-collaterals .cart_totals{width:100%; max-width:420px;}
.woo-wrap .cart_totals h2, .woo-wrap #order_review_heading{font-family:'Montserrat',sans-serif; font-weight:800; font-size:22px; color:var(--navy); margin:0 0 16px; letter-spacing:-.01em;}
.woo-wrap .cart_totals table{border:1px solid var(--line); border-radius:16px; overflow:hidden; width:100%; background:#fff;}
.woo-wrap .cart_totals th{background:var(--mist); font-family:'Montserrat',sans-serif; font-weight:700; color:var(--navy); text-align:left; padding:14px 18px; font-size:14px; width:45%;}
.woo-wrap .cart_totals td{padding:14px 18px; color:var(--navy); font-weight:700; font-family:'Montserrat',sans-serif;}
.woo-wrap .cart_totals .order-total th, .woo-wrap .cart_totals .order-total td{font-size:16px; border-top:1px solid var(--line);}
.woo-wrap .wc-proceed-to-checkout{padding:20px 0 0;}

/* Checkout */
.woo-wrap form.checkout{display:grid; grid-template-columns:1.1fr .9fr; grid-template-rows:auto 1fr; gap:0 48px; align-items:start;}
.woo-wrap form.checkout .col2-set, .woo-wrap #customer_details{grid-column:1; grid-row:1 / span 2;}
.woo-wrap form.checkout #order_review_heading{grid-column:2; grid-row:1;}
.woo-wrap form.checkout #order_review{grid-column:2; grid-row:2;}
.woo-wrap form.checkout .col2-set{display:block;}
.woo-wrap form.checkout .col2-set .col-1, .woo-wrap form.checkout .col2-set .col-2{width:100%; float:none; margin-bottom:8px;}
.woo-wrap .woocommerce-billing-fields h3, .woo-wrap .woocommerce-additional-fields h3{font-family:'Montserrat',sans-serif; font-weight:800; font-size:20px; color:var(--navy); margin:0 0 16px;}
.woo-wrap .form-row{margin:0 0 16px;}
.woo-wrap .form-row label{font-family:'Montserrat',sans-serif; font-weight:700; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); margin-bottom:7px; display:block; line-height:1.3;}
.woo-wrap .form-row input.input-text, .woo-wrap .form-row textarea, .woo-wrap .select2-container--default .select2-selection--single, .woo-wrap .form-row select{width:100%; background:var(--mist); border:1px solid var(--line-mid); border-radius:12px; padding:13px 16px; font-family:'Open Sans',sans-serif; font-size:15px; color:var(--ink); line-height:1.5;}
.woo-wrap .select2-container .select2-selection--single{height:auto;}
.woo-wrap #order_review{background:var(--mist); border:1px solid var(--line); border-radius:18px; padding:26px 26px 30px;}
.woo-wrap #order_review table.shop_table{border:0; background:transparent; margin:0;}
.woo-wrap #order_review table.shop_table thead th{background:transparent; color:var(--navy); border-bottom:1px solid var(--line);}
.woo-wrap #order_review table.shop_table td, .woo-wrap #order_review table.shop_table th{border-top:1px solid var(--line); background:transparent; color:var(--navy);}
.woo-wrap #payment{background:#fff; border:1px solid var(--line); border-radius:14px; padding:8px 20px;}
.woo-wrap #payment ul.payment_methods{border:0; padding:14px 0;}
.woo-wrap #payment .payment_box{background:var(--mist); border-radius:10px;}
.woo-wrap #payment div.form-row.place-order{padding:14px 0 4px;}
.woo-wrap .woocommerce-info, .woo-wrap .woocommerce-message, .woo-wrap .cart-empty{background:var(--mist); border:1px solid var(--line); border-left:4px solid var(--orange); border-radius:12px; padding:16px 20px; font-family:'Open Sans',sans-serif; font-size:15px; color:var(--navy); list-style:none;}
.woo-wrap .return-to-shop{margin-top:20px;}

@media (max-width: 900px){
  .woo-wrap form.checkout{grid-template-columns:1fr; grid-template-rows:auto; gap:28px;}
  .woo-wrap form.checkout .col2-set, .woo-wrap #customer_details{grid-column:1; grid-row:auto;}
  .woo-wrap form.checkout #order_review, .woo-wrap form.checkout #order_review_heading{grid-column:1; grid-row:auto;}
  .cart-collaterals .cart_totals{max-width:none;}
}
@media (max-width: 768px){
  .woo-wrap table.cart thead{display:none;}
  .woo-wrap table.cart tr{display:block; border-top:1px solid var(--line); padding:8px 0;}
  .woo-wrap table.cart td{display:flex; justify-content:space-between; align-items:center; border:0; padding:8px 16px;}
  .woo-wrap table.cart td.product-remove{justify-content:flex-end;}
}

/* FEEDBACK ROUND 6 (2026-07-24) === DESKTOP === */
/* F1: nav search icon solid white (was 0.75 opacity = looked transparent) */
.nav .search{opacity:1;}
/* F2: product category pill — tighten above, add space below */
.shopgrid .prod .body .cat2{margin-top:0; margin-bottom:10px; order:-1; align-self:flex-start; width:auto; max-width:100%;}
.shopgrid .prod .body{display:flex; flex-direction:column;}
/* M1: empty Woo notices bar must not reserve space */
.woo-notices:empty{display:none; padding:0; margin:0;}

/* M2: mobile nav layout kicks in below 1120px (was cramped 768-1120) */
@media (max-width: 1120px){
  .nav > ul, .nav .actions .pill{display:none;}
  .nav-hamburger{display:flex;}
  .nav{display:flex; align-items:center; gap:16px; padding:16px 24px;}
  .nav .actions{display:flex; margin-left:auto; align-items:center;}
  .nav .actions .search-form{display:block;}
  .nav > ul{
    display:flex; flex-direction:column; align-items:stretch; text-align:left; gap:0;
    position:fixed; top:72px; left:0; right:0; bottom:0;
    background:#fff; padding:20px 24px; z-index:96; overflow-y:auto;
    opacity:0; visibility:hidden; transform:translateY(-14px); pointer-events:none;
    transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
  }
  .nav.nav-mobile-open > ul{opacity:1; visibility:visible; transform:none; pointer-events:auto; transition:opacity .3s ease, transform .3s ease;}
  .nav.nav-mobile-open{position:fixed; top:0; left:0; right:0; z-index:97; background:var(--navy); padding:16px 24px; margin:0; display:flex; align-items:center; gap:16px;}
  .navd .nav-hamburger span, .nav.nav-mobile-open .nav-hamburger span{background:#fff;}
  .nav.nav-mobile-open .actions{display:flex;}
  .nav.nav-mobile-open .actions .pill{display:inline-flex;}
  .nav.nav-mobile-open .actions .search-form{display:none;}
  .nav > ul li, .nav > ul > li > a{color:var(--navy, #0a3a5c) !important;}
  .nav > ul a{color:var(--navy, #0a3a5c); font-family:'Montserrat'; font-weight:700;}
  .nav > ul li > a:after{display:none;}
  .nav > ul li{border-bottom:1px solid var(--line); padding:14px 0; font-size:18px; justify-content:flex-start;}
  .nav li.dd{flex-wrap:wrap;}
  .nav li.dd .caret{width:9px; height:9px; padding:0; margin-left:10px; border-right-width:2px; border-bottom-width:2px; border-color:var(--navy); cursor:pointer;}
  .nav li.dd .drop{display:none; position:static; box-shadow:none; border:none; border-radius:0; padding:8px 0 0; opacity:1; visibility:visible; transform:none; pointer-events:auto; transition:none; min-width:0; width:100%; background:transparent;}
  .nav li.dd.open .drop{display:block;}
  .nav li.dd.open .caret{transform:rotate(225deg) translateY(-2px);}
  .nav li.dd .drop::before{display:none;}
  .nav li.dd .drop a{color:var(--slate, #51617a) !important; font-family:'Open Sans'; font-weight:600; padding:10px 0 10px 14px;}
  .nav li.dd .drop a span{color:var(--slate); opacity:.75;}
  .navd .actions, .navd .search-toggle{color:#fff;}
}

/* === MOBILE (<=768px) === */
@media (max-width: 768px){
  /* M4: don't force the eyebrow break on small screens */
  .hero .eyebrow br{display:none;}
  /* M9: video hint — unmissable pill so it reads over the photo */
  .hero .vhint{position:static; display:inline-flex !important; align-items:center; gap:10px; width:-moz-fit-content; width:fit-content; margin:18px 24px 28px; padding:9px 16px 9px 12px; background:rgba(10,58,92,.62); border-radius:999px; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); color:#fff;}
  .hero .vhint .play{width:30px; height:30px; border-width:2px;}
  /* M3: footer 2 columns down to 600 */
  .foot .top{grid-template-columns:1fr 1fr; gap:24px 28px;}
  /* M5: timeline fades hide content on mobile — drop them */
  .timeline.many .tfade{display:none !important;}
  /* M8: tighten space between region numbers and the map */
  .regions .rpills{margin-bottom:0;}
  .regpage .regions .mapbleed{margin-top:10px;}
  /* M10: footer bottom row centered, each on its own line */
  .foot .btm{flex-direction:column; align-items:center; text-align:center; gap:14px;}
  .foot .btm .legal{flex-direction:column; gap:8px; text-align:center;}
  .foot .btm .soc{justify-content:center;}
  /* M6/M7: cart + checkout not scrunched on mobile */
  .woo-wrap{padding:32px 16px 40px !important;}
  .woo-wrap .inner{max-width:none;}
  .woo-notices{padding:0 16px !important;}
  .woo-wrap td.actions{padding:14px 12px;}
  .woo-wrap .coupon{display:flex; flex-wrap:nowrap; gap:8px; width:100%;}
  .woo-wrap .coupon input#coupon_code{flex:1 1 auto; min-width:0;}
  .woo-wrap .coupon .button{flex:0 0 auto; padding:12px 18px !important;}
  .woo-wrap td.actions > .button[name="update_cart"]{display:block; width:100%; margin:12px 0 0 !important;}
}
/* M6: below 480 the coupon controls each get their own line */
@media (max-width: 480px){
  .woo-wrap .coupon{flex-wrap:wrap;}
  .woo-wrap .coupon input#coupon_code{flex:1 1 100%;}
  .woo-wrap .coupon .button{flex:1 1 100%;}
}
/* M3: single-column footer only below 600 */
@media (max-width: 600px){
  .foot .top{grid-template-columns:1fr;}
}

/* ROUND 7 (2026-07-24) — regions mobile layout at <=1120px (was 768/1024) */
@media (max-width: 1120px){
  .regions{flex-direction:column; align-items:stretch; min-height:auto; padding:32px 24px;}
  .regions .rmap{max-width:100%; flex:0 0 auto;}
  .regpage .regions .mapbleed, .regions .mapbleed{position:relative; right:auto; top:auto; transform:none; height:auto; width:calc(100vw - 10px); max-width:none; margin:18px 0 0 -14px; align-self:flex-start;}
  .regpage .regions .region-map-wrap, .regions .region-map-wrap, .regpage .regions .region-map-wrap svg, .regions .region-map-wrap svg{width:100%; height:auto;}
}


/* ROUND 8 (2026-07-24) — scribble drawn in CSS (wysiwyg strips inline SVG) */
.hero .scribble{position:relative; display:inline-block;}
.hero .scribble svg{display:none !important;}
.hero .scribble::after{content:""; position:absolute; left:-4px; right:-4px; bottom:-12px; height:16px; pointer-events:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M4,14 C70,4 150,20 210,9 C250,2 280,10 296,7' fill='none' stroke='%23f7931e' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;}
.hero h1 p{margin:0; display:inline;}

/* regions: no vertical padding (enforced) */
.regions{padding-top:0 !important; padding-bottom:0 !important;}


/* ROUND 10 (2026-07-24) — clubs page: directory padding, tmony + clubstart mobile,
   clubstart decoupled from the .start stepper (own centered single-column layout) */
.sec.dir {padding:58px 40px 74px;}
.sec.dir .inner {max-width:1220px;}
.sec.dir .tablewrap {width:100%;}

@media (max-width:768px){
  .sec.dir {padding:44px 16px 52px;}
  .sec.dir .bar {flex-direction:column; align-items:stretch; gap:12px;}
  .sec.dir .regsearch {width:100%; box-sizing:border-box;}
  .sec.dir .count {text-align:left;}
  .sec.dir .tablewrap {overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:18px;}
  .sec.dir table {min-width:560px;}
  .sec.dir th, .sec.dir td {padding:12px 12px; font-size:14px;}
  .sec.dir td.school {font-size:14px;}
  .tmony {padding:52px 22px 56px;}
  .tmony blockquote {font-size:21px; line-height:1.42;}
  .sec.clubstart {padding:52px 24px 60px;}
  .sec.clubstart .cta {flex-wrap:wrap;}
}
@media (max-width:480px){
  .sec.dir {padding:34px 10px 42px;}
  .sec.dir th, .sec.dir td {padding:10px 9px; font-size:13px;}
  .sec.dir td.school {font-size:13.5px;}
  .tmony {padding:42px 18px 46px;}
  .tmony blockquote {font-size:19px;}
  .sec.clubstart {padding:44px 18px 52px;}
}

/* Contact: region-specific inquiry note (arrives from region-president "Contact Region N") */
.contact .region-note{border-left:3px solid var(--orange); padding:2px 0 2px 14px; margin:0 0 20px; font-size:15px; line-height:1.5; color:var(--slate); letter-spacing:-.02em;}
.contact .region-note strong{color:var(--navy); font-family:'Montserrat'; font-weight:700;}

/* Contact form success / error banners */
.contact .form-ok, .contact .form-err{padding:12px 16px; margin:0 0 20px; font-size:15px; line-height:1.5; letter-spacing:-.02em;}
.contact .form-ok{background:#eaf7ef; border-left:3px solid #2f8f57; color:#1c6b3d;}
.contact .form-err{background:#fdecec; border-left:3px solid #c23b3b; color:#a12626;}

/* memroster: cards that link to the contact form (e.g. Regional Clubs Directors) */
.roster .pcard-link{display:block; text-decoration:none; color:inherit; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease;}
.roster .pcard-link:hover{transform:translateY(-3px); box-shadow:0 16px 30px -18px rgba(10,58,92,.5);}
.roster .pcard-link .contact-cue{margin-top:10px; font-family:'Montserrat'; font-weight:700; font-size:13px; letter-spacing:0; color:var(--orange);}

/* ROUND 13 (2026-07-24) — region pages: counties section had no mobile rules
   (kept desktop 72px side padding on phones) */
@media (max-width:768px){
  .topics{padding:48px 22px 54px;}
  .topics .hd{margin-bottom:26px;}
}
@media (max-width:480px){
  .topics{padding:38px 16px 44px;}
}

/* ROUND 14 (2026-07-24) — profile detail pages (State Council, board, alumni) */
.profile{background:#fff; padding:64px 72px 80px;}
.profile .inner{max-width:1000px; margin:0 auto; display:grid; grid-template-columns:300px 1fr; gap:48px; align-items:start;}
.profile .pphoto{width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; display:block; box-shadow:0 24px 48px -28px rgba(10,58,92,.5);}
.profile .pmeta{margin:22px 0 0; display:grid; grid-template-columns:auto 1fr; gap:6px 14px; font-size:15px; line-height:1.5; letter-spacing:-.02em;}
.profile .pmeta dt{font-family:'Montserrat'; font-weight:700; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--navy); align-self:center;}
.profile .pmeta dd{margin:0; color:var(--slate);}
.profile .pmeta dd a{color:var(--blue);}
.profile .pbody p{font-size:17px; line-height:1.7; color:var(--slate); letter-spacing:-.02em; margin:0 0 18px;}
.profile .pbody h2, .profile .pbody h3{font-family:'Montserrat'; font-weight:800; color:var(--navy); letter-spacing:-.01em; margin:28px 0 12px;}
.profile .pbody .pempty{color:#8395a5; font-style:italic;}
.profile .pback{display:inline-block; margin-top:14px; font-family:'Montserrat'; font-weight:700; font-size:15px; color:var(--blue); text-decoration:none;}
.profile .pback:hover{color:var(--blue-deep);}
.pagehead .sub .pron{color:rgba(255,255,255,.72); font-weight:400;}

/* roster cards that link to a profile */
.roster .pcard-profile{display:block; text-decoration:none; color:inherit; transition:transform .15s ease, box-shadow .15s ease;}
.roster .pcard-profile:hover{transform:translateY(-3px); box-shadow:0 16px 30px -18px rgba(10,58,92,.5);}
.roster .pcard-profile .viewbio{margin-top:8px; font-family:'Montserrat'; font-weight:700; font-size:13px; color:var(--blue);}

@media (max-width:900px){
  .profile{padding:48px 24px 60px;}
  .profile .inner{grid-template-columns:1fr; gap:28px;}
  .profile .pphoto{max-width:280px;}
}
@media (max-width:480px){
  .profile{padding:38px 16px 48px;}
  .profile .pbody p{font-size:16px;}
}


/* Slim page header: navigation and breadcrumb only, for pages whose real heading is
   supplied by the content below (profiles, product pages). */
.sec.pagehead.slim{padding-bottom:18px; min-height:0;}
.sec.pagehead.slim .phc{padding-top:6px; padding-bottom:6px;}
.sec.pagehead.slim .crumb{margin-bottom:0;}


/* Plain Prose options Emily asked for: a white background instead of the tint, and a
   genuine two-column text layout (the native WP columns left background gaps). */
.sec.plainprose.onwhite{background:#fff;}
/* Columns belong to the container, not to each paragraph. Set on the paragraph, every
   paragraph split into two columns on its own, which broke the text mid-thought instead
   of letting it run down one column and continue in the next. The heading and button
   span the full width so only the prose flows. */
.sec.plainprose.twocolumns .inner{max-width:1100px; column-count:2; column-gap:48px;}
.sec.plainprose.twocolumns .inner > .eyebrow,
.sec.plainprose.twocolumns .inner > h2,
.sec.plainprose.twocolumns .inner > .cta{column-span:all;}
.sec.plainprose.twocolumns .inner p{break-inside:avoid-column;}
.sec.plainprose.twocolumns .inner p:first-of-type{margin-top:0;}
.sec.plainprose .cta{margin-top:26px;}
@media (max-width:860px){
  .sec.plainprose.twocolumns .inner{column-count:1;}
}


/* Custom uploaded icons sit in the same box as the drawn ones. */
.programs .card .chip img.ic{width:26px; height:26px; object-fit:contain; display:block;}
.ways .card .ic img{width:24px; height:24px; object-fit:contain; display:block;}


/* Play button over an image slot, for the video-url option on media / two-col / mission. */
.media .inner, .twocol .shot, .mission .imgwrap{position:relative;}
.play-overlay{position:absolute; inset:0; z-index:5; display:flex; align-items:center; justify-content:center; text-decoration:none;}
.play-overlay .play{width:74px; height:74px; border-radius:50%; background:rgba(10,58,92,.72); border:2px solid rgba(255,255,255,.9); color:#fff; display:flex; align-items:center; justify-content:center; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); transition:transform .18s ease, background .18s ease;}
.play-overlay .play svg{width:30px; height:30px; margin-left:4px;}
.play-overlay:hover .play{transform:scale(1.07); background:rgba(10,58,92,.85);}
@media (max-width:700px){ .play-overlay .play{width:58px; height:58px;} .play-overlay .play svg{width:24px; height:24px;} }


/* These lead/subhead classes used to live on the <p> itself. They are now divs holding a
   wysiwyg paragraph: font, colour, line-height and letter-spacing inherit down, so the
   inner paragraph only needs its own margin removed to render identically. */
.lead > p, .lead-p > p, .sub > p, .guestlead > p, .rl-sub > p,
.stats-body > p, .sched .lead .big > p, .note > p{
  margin:0; font-size:inherit; font-weight:inherit; line-height:inherit;
  color:inherit; letter-spacing:inherit; text-align:inherit; max-width:none;
}
.lead > p + p, .lead-p > p + p, .sub > p + p, .guestlead > p + p{margin-top:.7em;}


/* Testimonial in its dark treatment: the headshot needs a light ring to read against
   the gradient, and sits above the quote rather than beside it. The light layout is a
   two-column grid, which would scatter these into cells, so this variant is a plain
   centred column. */
.voice .vivid-inner{display:block;}
.voice .vivid-shot{position:static; margin:0 0 22px;}
.voice .vivid-shot img{margin:0 auto;}
/* the centred variant does not want the accent rule the quote carries elsewhere */
.voice .vivid-inner blockquote{border-left:0; padding-left:0; margin-left:auto; margin-right:auto;}
.voice .vivid-shot img{width:150px; height:150px; object-fit:cover; border-radius:50%;
  border:4px solid rgba(255,255,255,.85); box-shadow:0 18px 40px -18px rgba(0,0,0,.55);}
@media (max-width:700px){ .voice .vivid-shot img{width:112px; height:112px;} }

/* ---- Emily / Cale round, 26 July ---- */

.regleaders .lcard .soc{margin-top:10px;}
.regleaders .lcard .soc a.mail{margin-left:0;}

.ctaband p{max-width:700px; margin:0 auto 1em;}

.woo-notices .woocommerce-message, .woo-notices .woocommerce-error, .woo-notices .woocommerce-info,
.woo-wrap .woocommerce-info, .woo-wrap .woocommerce-message, .woo-wrap .cart-empty,
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  position:relative; border:1px solid var(--line); border-left-width:1px; border-left-color:var(--line);
  border-radius:10px; background:var(--mist); color:var(--navy);
  padding:15px 20px 15px 52px; margin:0 0 10px;
}
.woo-notices .woocommerce-message::before, .woo-notices .woocommerce-info::before,
.woo-notices .woocommerce-error::before, .woo-wrap .woocommerce-info::before,
.woo-wrap .woocommerce-message::before, .woocommerce-message::before, .woocommerce-info::before{
  left:20px; top:50%; transform:translateY(-50%); margin:0;
}
.woo-notices{padding:22px var(--gx) 0;}

.woo-wrap .form-row input.input-text, .woo-wrap .form-row textarea,
.woo-wrap .form-row select, .woo-wrap .select2-container--default .select2-selection--single{
  background:#fff;
}

.woo-wrap #payment ul.payment_methods, .woo-wrap #payment ul.payment_methods > li{
  list-style:none; margin-left:0; padding-left:0;
}
.woo-wrap #payment ul.payment_methods > li::before,
.woo-wrap #payment ul.payment_methods > li::marker{content:none; display:none;}
.woo-wrap #payment .payment_box{background:var(--mist); border:1px solid var(--line); border-radius:10px; margin:10px 0 0; padding:14px 16px;}
.woo-wrap #payment .payment_box::before{display:none;}
.woo-wrap #payment .payment_box p:last-child{margin-bottom:0;}

.woo-wrap form.checkout{grid-template-rows:auto auto auto 1fr;}
.woo-wrap form.checkout > #wc-stripe-express-checkout-element{grid-column:1 / -1; grid-row:1; max-width:460px; margin:0 auto; width:100%;}
.woo-wrap form.checkout > #wc-stripe-express-checkout-button-separator{grid-column:1 / -1; grid-row:2; margin:14px auto 24px; color:var(--slate);}
.woo-wrap form.checkout > #wc-stripe-express-checkout__order-attribution-inputs{display:none;}
.woo-wrap form.checkout .col2-set, .woo-wrap #customer_details{grid-row:3 / span 2;}
.woo-wrap form.checkout #order_review_heading{grid-row:3;}
.woo-wrap form.checkout #order_review{grid-row:4;}

.pdp .buy form.cart{flex-wrap:wrap;}
.pdp .buy .single_add_to_cart_button, .woo-wrap .single_add_to_cart_button{
  background:var(--orange); color:#fff; border:0; white-space:nowrap; flex:0 0 auto;
  min-width:168px; border-radius:999px; padding:15px 32px;
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:15px; letter-spacing:.01em;
}
.pdp .buy .single_add_to_cart_button:hover, .woo-wrap .single_add_to_cart_button:hover{filter:brightness(1.06);}
.pdp .buy #wc-stripe-express-checkout-element,
.pdp .buy #wc-stripe-express-checkout-button-separator{flex:1 0 100%; max-width:360px; margin:16px 0 0;}

@media (max-width:900px){
  :root{--gx:28px;}
  .accordion, .sec.dir, .sec.clubstart, .contact, .ctaband, .factcards, .facts,
  .feature, .featured, .leadin, .media, .roster, .mission, .newsband,
  .partners .hd, .pdp, .people, .photowall, .plainprose, .profhead, .programs,
  .progtable, .quotes, .sec.body, .sec.intro, .sec.sable, .sec.sched, .regions,
  .regleaders, .regconf .facts, .retro, .shopgrid, .start, .stats, .timeline,
  .tmony, .topics, .twocol, .voice, .voices, .ways, .woo-wrap, .work, .sable,
  .sched, .regpage .roster, .sec.pagehead .phc, .hero .hcontent{
    padding-left:var(--gx); padding-right:var(--gx);
  }
  main#main > section.sec{padding-top:max(40px, var(--sec-pt, 40px));}
  main#main > section.sec.pagehead, main#main > section.sec.hero{padding-top:0;}
  .ctaband{padding-top:52px; padding-bottom:56px;}
  .hero .hcontent{padding-bottom:56px;}
  .sec.hero{height:auto; min-height:600px;}
}

@media (max-width:600px){
  :root{--gx:20px;}
  .ctaband{padding-top:44px; padding-bottom:48px;}
  .hero .hcontent{padding-bottom:48px;}
}

body.woocommerce .pdp .buy button.single_add_to_cart_button.button,
body.woocommerce .pdp .buy button.single_add_to_cart_button.button.alt,
body.woocommerce .woo-wrap button.single_add_to_cart_button.button,
body.woocommerce-page button.single_add_to_cart_button.button.alt{
  background-color:var(--orange); background-image:none; color:#fff;
}
body.woocommerce .pdp .buy button.single_add_to_cart_button.button:hover,
body.woocommerce .pdp .buy button.single_add_to_cart_button.button.alt:hover,
body.woocommerce-page button.single_add_to_cart_button.button.alt:hover{
  background-color:var(--orange); filter:brightness(1.06);
}

body.woocommerce-checkout #payment div.payment_box{
  background-color:var(--mist); color:var(--navy);
  border:1px solid var(--line); border-radius:10px; margin:12px 0 0; padding:14px 16px;
}
body.woocommerce-checkout #payment div.payment_box::before{display:none; content:none;}
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment ul.payment_methods > li{list-style:none; margin-left:0; padding-left:0;}
body.woocommerce-checkout #payment ul.payment_methods > li::before,
body.woocommerce-checkout #payment ul.payment_methods > li::marker{content:none; display:none;}
body.woocommerce-checkout #payment div.payment_box .wc-stripe-currency-selector,
body.woocommerce-checkout #payment div.payment_box .StripeElement{border:0; background:transparent;}

@media (max-width:900px){
  main#main > section.sec.pagehead + section.sec{padding-top:36px;}
  .regpage .sec.regions{padding-top:36px !important; padding-bottom:28px !important;}
}

.stats .grid4 .stat{position:relative;}
.stats .grid4 .stat + .stat{border-left:0;}
.stats .grid4 .stat + .stat::before{
  content:''; position:absolute; left:-13px; top:8px; bottom:8px;
  width:1px; background:var(--line-mid);
}

body.woocommerce-checkout .woocommerce li::before,
body.woocommerce-cart .woocommerce li::before,
body.woocommerce-checkout .woo-wrap .woocommerce li::before{
  background:none; width:auto; height:auto; position:static; border-radius:0;
}

@media (max-width:1024px){
  .stats .grid4 .stat:nth-child(2n+1){border-right:0;}
  .stats .grid4 .stat:nth-child(2n+1)::before{content:none;}
}

@media (max-width:768px){
  .stats .grid4 .stat:nth-child(2n)::before{left:-8px;}
}

@media (max-width:390px){
  .stats .grid4 .stat + .stat::before{content:none;}
}

.regleaders .lcard .nm a{color:inherit; text-decoration:none;}
.regleaders .lcard .nm a:hover{text-decoration:underline;}

#region-presidents,
.sec.regleaders{scroll-margin-top:26px;}

.progtable td a{color:var(--blue); font-weight:700; text-decoration:none;}
.progtable td a:hover{text-decoration:underline;}
.foot .soc .sic i{width:18px; font-size:17px; line-height:1; text-align:center;}

.newsband .form .ctct-form-wrapper{width:auto; margin:0; padding:0; background:none; border:0;}
.newsband .form .ctct-form-wrapper .ctct-form{display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:12px; width:692px; max-width:100%; margin:0;}
.newsband .form .ctct-form-wrapper .ctct-form::after{content:none;}
.newsband .form .ctct-form-wrapper .ctct-form-field{flex:0 1 340px; max-width:340px; min-width:0; margin:0;}
.newsband .form .ctct-form-wrapper .ctct-form .ctct-form-field-submit{flex:0 0 auto; max-width:none; margin:0;}
.newsband .form .ctct-form-wrapper .ctct-form span.ctct-label-top,
.newsband .form .ctct-form-wrapper .ctct-form span.ctct-label-bottom,
.newsband .form .ctct-form-wrapper .ctct-form span.ctct-label-left,
.newsband .form .ctct-form-wrapper .ctct-form span.ctct-label-right,
.newsband .form .ctct-form-wrapper .ctct-form legend.ctct-label-top{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0;
  overflow:hidden; white-space:nowrap; clip:rect(0 0 0 0); clip-path:inset(50%);
}
.newsband .form .ctct-form-wrapper .ctct-form input[type=email],
.newsband .form .ctct-form-wrapper .ctct-form input[type=text],
.newsband .form .ctct-form-wrapper .ctct-form input[type=tel],
.newsband .form .ctct-form-wrapper .ctct-form input[type=number],
.newsband .form .ctct-form-wrapper .ctct-form input[type=date],
.newsband .form .ctct-form-wrapper .ctct-form select,
.newsband .form .ctct-form-wrapper .ctct-form textarea{
  display:block; width:100%; max-width:100%; background-color:#fff; background-image:none;
  border-color:revert; border-radius:999px; padding:16px 24px; box-shadow:none;
  font-family:var(--font-body); font-size:15px; font-weight:400; color:#8395a5;
  line-height:1.4; letter-spacing:-.02em;
}
.newsband .form .ctct-form-wrapper .ctct-form textarea{border-radius:22px; min-height:110px; resize:vertical;}
.newsband .form .ctct-form-wrapper .ctct-form input::placeholder,
.newsband .form .ctct-form-wrapper .ctct-form textarea::placeholder{color:#8395a5; opacity:1;}
.newsband .form .ctct-form-wrapper .ctct-form input.ctct-invalid{border-color:var(--orange); background-color:#fff;}
.newsband .form .ctct-form-wrapper .ctct-form input[type=submit],
.newsband .form .ctct-form-wrapper .ctct-form button[type=submit]{
  display:inline-block; width:auto; background:var(--orange); color:#fff; border-radius:999px;
  padding:15px 30px; font-family:var(--font-ui); font-weight:700; font-size:16px;
  line-height:1.2; letter-spacing:0; white-space:nowrap; cursor:pointer;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.newsband .form .ctct-form-wrapper .ctct-form input[type=submit]:hover,
.newsband .form .ctct-form-wrapper .ctct-form button[type=submit]:hover{
  transform:translateY(-2px); background:#e2830f; box-shadow:0 14px 28px -14px rgba(247,147,30,.65);
}
.newsband .form .ctct-form-wrapper .ctct-form-description,
.newsband .form .ctct-form-wrapper .ctct-disclosure{flex:1 1 100%; max-width:100%; margin:0; color:#d6e6f2 !important;}
.newsband .form .ctct-form-wrapper .ctct-form-description{display:block; font-family:var(--font-body); font-size:15px; line-height:1.65; letter-spacing:-.02em;}
.newsband .form .ctct-form-wrapper .ctct-form-description p{margin:0 0 8px; color:inherit; font-size:15px; line-height:1.65;}
.newsband .form .ctct-form-wrapper .ctct-disclosure hr{display:none;}
.newsband .form .ctct-form-wrapper .ctct-disclosure small{display:block; font-family:var(--font-body); font-size:12px; line-height:1.55; letter-spacing:-.01em; color:#c2d8e8;}
.newsband .form .ctct-form-wrapper .ctct-disclosure a{color:#fff; text-decoration:underline;}
.newsband .form .ctct-form-wrapper .ctct-message{
  flex:1 1 100%; max-width:100%; margin:0 0 12px; padding:12px 22px; border:1px solid;
  border-radius:18px; font-family:var(--font-body); font-size:14px; line-height:1.5; letter-spacing:-.02em;
}
.newsband .form .ctct-form-wrapper .ctct-message.ctct-success{background-color:rgba(255,255,255,.14); border-color:rgba(255,255,255,.55); color:#fff;}
.newsband .form .ctct-form-wrapper .ctct-message.ctct-error{background-color:rgba(247,147,30,.18); border-color:var(--orange); color:#ffe3bd;}
.newsband .form .ctct-form-wrapper .ctct-message .ctct-dismiss-ajax-notice{color:inherit;}
.newsband .form .ctct-form-wrapper .ctct-field-error{
  display:block; margin:6px 0 0; padding-left:24px; font-family:var(--font-body);
  font-size:12px; font-style:normal; line-height:1.4; color:#ffd9a8;
}
.newsband .form .ctct-form-wrapper .ctct-list-selector{flex:1 1 100%; max-width:100%;}
.newsband .form .ctct-form-wrapper .ctct-form-field-checkbox fieldset{border:0; padding:0;}
.newsband .form .ctct-form-wrapper .ctct-form-field-checkbox label{font-family:var(--font-body); font-size:14px; line-height:1.5; color:#d6e6f2;}
.newsband .form .ctct-form-wrapper .ctct-form-field-checkbox input[type=checkbox]{width:auto; margin-right:8px; accent-color:var(--orange);}

@media (max-width:768px){
  .newsband .form .ctct-form-wrapper{width:100%;}
  .newsband .form .ctct-form-wrapper .ctct-form{flex-direction:column; align-items:stretch; width:100%;}
  .newsband .form .ctct-form-wrapper .ctct-form-field{flex:0 0 auto; width:100%; max-width:none;}
  .newsband .form .ctct-form-wrapper .ctct-form input[type=submit],
  .newsband .form .ctct-form-wrapper .ctct-form button[type=submit]{width:100%; text-align:center;}
}

.accordion .a-inner ul{
  list-style:none; display:grid; gap:12px; margin:14px 0 20px; padding:0;
}
.accordion .a-inner li{
  position:relative; padding-left:30px; font-size:16px; line-height:1.65; color:var(--slate); letter-spacing:-.02em; margin:0;
}
.accordion .a-inner li:before{
  content:""; position:absolute; left:2px; top:9px; width:11px; height:11px; border-radius:50%; background:var(--orange);
}

.newsband .form .ctct-form-wrapper .ctct-message{display:flex; align-items:center; gap:10px; text-align:left;}
.newsband .form .ctct-form-wrapper .ctct-message .ctct-dismiss-ajax-notice{-webkit-appearance:none; appearance:none; float:none; order:1; flex:0 0 auto; width:auto; height:auto; min-width:0; min-height:0; background:none; border:0; border-radius:0; box-shadow:none; padding:4px 0 4px 12px; margin:0 0 0 auto; font-family:inherit; font-size:15px; line-height:1; color:inherit; opacity:.75; cursor:pointer; transition:opacity .18s ease;}
.newsband .form .ctct-form-wrapper .ctct-message .ctct-dismiss-ajax-notice:hover,
.newsband .form .ctct-form-wrapper .ctct-message .ctct-dismiss-ajax-notice:focus-visible{background:none; opacity:1;}
