/*
Theme Name: TEAS Club Theme
Theme URI: https://example.com
Author: The Eastern Aquatic Society
Description: Custom WordPress theme for The Eastern Aquatic Society, built from the club's own homepage mockup design.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: teas-club
*/

:root{
  --bg:#182024;
  --bg2:#11171a;
  --bg3:#20292e;
  --purple:#4b145f;
  --purple2:#7c3f91;
  --gold:#dbae48;
  --gold2:#f1cf7b;
  --text:#f5f3ed;
  --muted:#bcc4c8;
  --line:rgba(255,255,255,.14);
  --max:1500px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Arial,Helvetica,sans-serif;line-height:1.45
}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}

header.site-header{
  height:90px;background:#172025;border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:30
}
.header-inner{
  height:100%;display:grid;grid-template-columns:315px 1fr 110px;align-items:center;gap:28px
}
.brand{display:flex;align-items:center;gap:15px}
.brand img{width:68px;height:68px;border-radius:50%;object-fit:cover}
.brand strong{
  display:block;color:var(--gold);font:500 43px/36px Georgia,serif;letter-spacing:.04em
}
.brand span{font-size:15px;line-height:1.15;display:block;margin-top:5px}
nav.main-nav{display:flex;justify-content:center;gap:31px;font-size:13px;text-transform:uppercase}
nav.main-nav ul{display:flex; list-style:none; margin:0; padding:0; gap:31px;}
nav.main-nav a{padding:36px 0 26px;position:relative; display:inline-block;}
nav.main-nav li.current-menu-item > a:after,
nav.main-nav a:hover:after{
  content:"";position:absolute;left:0;right:0;bottom:19px;height:2px;background:var(--gold)
}
.social{display:flex;justify-content:flex-end;gap:17px;color:var(--gold);font-weight:bold}
.menu-toggle{display:none}

.hero{
  min-height:480px;
  background:
    linear-gradient(90deg,rgba(7,10,12,.97) 0%,rgba(7,10,12,.85) 27%,rgba(7,10,12,.35) 50%,rgba(7,10,12,.03) 78%),
    url("https://images.unsplash.com/photo-1522069169874-c58ec4b76be5?auto=format&fit=crop&w=2100&q=92") center/cover;
  border-bottom:1px solid var(--line)
}
.hero .wrap{height:480px;display:flex;align-items:center}
.hero-copy{width:600px;padding-left:14px}
.kicker{color:var(--gold);font-weight:bold;font-size:19px;text-transform:uppercase;letter-spacing:.03em}
h1{
  font:500 clamp(66px,7vw,106px)/.9 Georgia,serif;
  letter-spacing:-.04em;margin:8px 0 25px
}
.tags{display:flex;gap:20px;text-transform:uppercase;font-size:16px;margin-bottom:26px}
.tags span:not(:last-child):after{content:"•";color:var(--gold);margin-left:20px}
.buttons{display:flex;gap:18px}
.btn{
  height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;
  text-transform:uppercase;font-size:13px;font-weight:bold;border:1px solid transparent
}
.btn.gold{background:var(--gold);color:#171717}
.btn.purple{background:rgba(75,20,95,.72);border-color:#9d64b2}



.circle{
  width:66px;height:66px;border-radius:50%;display:grid;place-items:center;
  background:var(--purple);border:1px solid #a36eb7;color:var(--gold);font-size:28px
}

.events{background:#11171a;padding:20px 0 18px;border-bottom:1px solid var(--line)}
.events-layout{display:grid;grid-template-columns:250px 1fr;gap:26px}
.side-title{padding:8px 0}
.side-title h2,.section-heading{
  margin:0;color:var(--gold);font:500 27px Georgia,serif;text-transform:uppercase
}
.side-title h2:after,.section-heading:after{
  content:"";display:block;width:40px;height:2px;background:var(--gold);margin-top:10px
}
.side-title p{font-size:14px;color:var(--muted);margin:19px 0 22px;max-width:190px}
.small-btn{height:40px;padding:0 15px;font-size:11px}

.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;align-items:start}
.event{
  background:#1c2428;border:1px solid rgba(219,174,72,.45);position:relative;min-height:275px
}
.date{
  position:absolute;top:0;left:0;z-index:2;background:var(--purple);width:50px;
  text-align:center;padding:7px 3px;color:#fff;text-transform:uppercase;font-size:10px;
  border-right:1px solid #a36eb7;border-bottom:1px solid #a36eb7
}
.date b{display:block;font-size:18px}
.event .photo{height:142px}
.event-content{padding:12px 14px}
.type{color:#c486db;font-size:12pt;text-transform:uppercase}
.event h3{font:500 20px/1.1 Georgia,serif;margin:4px 0 12px}
.meta{font-size:12pt;color:var(--muted);line-height:1.6}

.event.has-details .event-content{cursor:default;}
.event-details-toggle{
  display:inline-block;
  margin-top:10px;
  padding:0;
  background:none;
  border:none;
  color:#c486db;
  font-size:12pt;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:bold;
  cursor:pointer;
  font-family:Arial,Helvetica,sans-serif;
}
.event-details-toggle:hover{color:var(--gold);}

.event-details-outer{margin-top:20px;grid-column:1 / -1;}
.event-full-details{
  display:none;
  position:relative;
  background:#1c2428;
  border:1px solid rgba(219,174,72,.45);
  padding:34px 40px;
  margin-top:6px;
}
.event-full-details.open{display:block;}
.event-full-details h3{
  color:var(--gold);
  font:500 26px Georgia,serif;
  margin:0 0 18px;
  padding-right:90px;
}
.event-full-details p,
.event-full-details li{
  color:var(--muted);
  font-size:12pt;
  line-height:1.7;
}
.event-full-details h4{color:var(--gold2);font:500 17px Georgia,serif;margin:20px 0 8px;}
.event-full-details ul{padding-left:20px;}
.close-details{
  position:absolute;
  top:28px;
  right:34px;
  background:none;
  border:1px solid var(--line);
  color:var(--muted);
  padding:8px 14px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.03em;
  cursor:pointer;
}
.close-details:hover{border-color:var(--gold);color:var(--gold);}

.explore{padding:18px 0 40px;background:#182024;border-bottom:1px solid var(--line)}
.explore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.tile{
  height:110px;position:relative;display:flex;align-items:flex-end;padding:12px 15px;
  border:1px solid var(--line);background-size:cover;background-position:center;overflow:hidden;
  cursor:pointer;font-family:Arial,Helvetica,sans-serif;text-align:left;width:100%;
  background-color:#1c2428;margin:0;-webkit-appearance:none;appearance:none;
}
.tile:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(5,8,10,.92))}
.tile span{position:relative;font-size:12px;font-weight:bold;text-transform:uppercase;color:#fff;}
.tile:hover{border-color:rgba(219,174,72,.6);}

.explore-details-outer{margin-top:20px;}
.explore-full-details{
  display:none;
  position:relative;
  background:#1c2428;
  border:1px solid rgba(219,174,72,.45);
  padding:34px 40px;
  margin-top:6px;
}
.explore-full-details.open{display:block;}
.explore-full-details h3{
  color:var(--gold);
  font:500 26px Georgia,serif;
  margin:0 0 18px;
  padding-right:90px;
}
.explore-full-details p{
  color:var(--muted);
  font-size:12pt;
  line-height:1.7;
}

.join{padding:16px 0;background:#1c2428;border-bottom:1px solid var(--line)}
.join-grid{display:grid;grid-template-columns:1.25fr repeat(4,1fr);align-items:stretch}
.join-copy{padding:12px 35px 12px 0}
.join-copy p{font-size:13px;color:var(--muted);max-width:220px;margin:12px 0 16px}
.stat{border-left:1px solid var(--line);display:grid;place-items:center;text-align:center;min-height:130px}
.stat .circle{width:55px;height:55px;margin:0 auto 7px;font-size:23px}
.stat strong{display:block;color:var(--gold);font:500 31px Georgia,serif}
.stat span{font-size:13px;text-transform:uppercase}

.sponsors{padding:18px 0 40px;background:#1b2428;border-bottom:1px solid var(--line)}
.sponsor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px;}
.sponsor-card{
  background:#1c2428;
  border:1px solid var(--line);
  padding:24px 22px 26px;
  text-align:center;
  display:flex;
  flex-direction:column;
}
.sponsor-logo{
  height:80px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed var(--line);
  color:var(--gold);
  font-family:Georgia,serif;
  font-size:15px;
  letter-spacing:.02em;
}
.sponsor-logo img{max-height:100%;max-width:100%;object-fit:contain;}
.sponsor-name{color:var(--gold);font:500 20px Georgia,serif;margin:0 0 8px;}
.sponsor-desc{color:var(--muted);font-size:12pt;line-height:1.6;flex-grow:1;margin:0 0 14px;}
.sponsor-link{
  color:#c486db;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:bold;
}
.sponsor-link:hover{color:var(--gold);}
.note{text-align:center;color:#c486db;font-size:11px;text-transform:uppercase;margin-top:22px}
@media(max-width:1050px){.sponsor-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.sponsor-grid{grid-template-columns:1fr;}}

.news{padding:17px 0;background:#182024}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:13px}
.news-item{display:grid;grid-template-columns:130px 1fr;gap:14px;border-top:1px solid var(--line);padding-top:13px}
.news-item .photo{height:95px}
.news-item h3{font:500 18px Georgia,serif;margin:0 0 5px}
.news-item p{font-size:12px;color:var(--muted);margin:0 0 5px}
.news-item a{color:#c486db;font-size:10px;text-transform:uppercase}

footer.site-footer{background:#11171a;border-top:1px solid var(--line);padding:19px 0 11px}
.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:25px}
.footer-brand{display:flex;gap:13px}
.footer-brand img{width:75px;height:75px;border-radius:50%}
.footer-brand strong{color:var(--gold);font:500 33px Georgia,serif}
.footer-brand p{font-size:11px;color:var(--muted);margin:2px 0;max-width:210px}
footer h4{color:var(--gold);font-size:12px;text-transform:uppercase;margin:0 0 7px}
footer ul{list-style:none;margin:0;padding:0}
footer li{font-size:11px;color:var(--muted);margin:3px 0}
footer li a{color:var(--muted);}
.copy{text-align:center;border-top:1px solid var(--line);margin-top:14px;padding-top:10px;color:#8c969b;font-size:10px}

/* TEAS Connect integration */
.header-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
}
.connect-nav-btn{
  height:39px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--gold);
  color:var(--gold);
  background:rgba(75,20,95,.38);
  text-transform:uppercase;
  letter-spacing:.055em;
  font-size:11px;
  font-weight:bold;
  white-space:nowrap;
}
.connect-nav-btn:hover{background:var(--gold);color:#171717}
.teas-connect{
  padding:38px 0 42px;
  background:
    radial-gradient(circle at 85% 20%,rgba(124,63,145,.18),transparent 32%),
    linear-gradient(120deg,#12191c,#20282d);
  border-bottom:1px solid var(--line);
}
.connect-layout{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(600px,1.55fr);
  gap:34px;
  align-items:center;
}
.connect-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gold);
  border:1px solid rgba(219,174,72,.42);
  background:rgba(75,20,95,.33);
  padding:7px 11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:bold;
}
.connect-copy h2{
  margin:13px 0 10px;
  color:var(--text);
  font:500 clamp(40px,4vw,64px)/.98 Georgia,serif;
  letter-spacing:-.025em;
}
.connect-copy h2 em{color:var(--gold);font-style:normal}
.connect-copy>p{
  max-width:430px;
  margin:0 0 17px;
  color:var(--muted);
  font-size:14px;
}
.connect-feature-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 16px;
  margin:20px 0 22px;
}
.connect-feature{
  display:flex;
  gap:9px;
  align-items:flex-start;
  font-size:12px;
  color:#d9dfe1;
}
.connect-feature i{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--purple);
  border:1px solid #9d64b2;
  color:var(--gold);
  font-style:normal;
  font-size:11px;
}
.connect-note{
  margin-top:12px;
  color:#929da2;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.portal-window{
  overflow:hidden;
  border:1px solid rgba(219,174,72,.42);
  background:#111719;
  box-shadow:0 16px 44px rgba(0,0,0,.3);
}
.portal-browser{
  height:31px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#252e33;
  border-bottom:1px solid var(--line);
}
.browser-dots{display:flex;gap:6px}
.browser-dots span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#6d777c;
}
.browser-address{color:#aab4b8;font-size:9px;letter-spacing:.03em}
.portal-app{display:grid;grid-template-columns:155px 1fr;min-height:405px}
.portal-sidebar{
  padding:16px 11px;
  background:#151d21;
  border-right:1px solid var(--line);
}
.portal-logo{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 5px 14px;
  border-bottom:1px solid var(--line);
  margin-bottom:11px;
}
.portal-logo img{width:31px;height:31px;border-radius:50%}
.portal-logo strong{display:block;color:var(--gold);font:500 15px Georgia,serif}
.portal-logo small{display:block;color:#aeb7bb;font-size:8px}
.portal-menu{display:grid;gap:3px}
.portal-menu span{
  padding:7px 8px;
  border-radius:3px;
  color:#aeb8bd;
  font-size:9px;
}
.portal-menu span.active{
  color:var(--text);
  background:rgba(75,20,95,.7);
  border-left:2px solid var(--gold);
}
.portal-main{
  padding:16px;
  min-width:0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    #182024;
  background-size:22px 22px;
}
.portal-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.portal-heading h3{margin:0;font:500 20px Georgia,serif}
.portal-heading p{margin:2px 0 0;color:#9eaaaf;font-size:9px}
.view-tabs{display:flex;gap:5px}
.view-tab{
  border:1px solid var(--line);
  background:#20292d;
  color:#aeb8bd;
  padding:6px 8px;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.04em;
  cursor:pointer;
}
.view-tab.active{background:var(--purple);border-color:#9d64b2;color:#fff}
.portal-pane[hidden]{display:none}
.dashboard-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-bottom:10px;
}
.dash-card{
  min-height:66px;
  padding:9px;
  background:#20292e;
  border:1px solid var(--line);
}
.dash-card small{
  color:#9ba6ab;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.dash-card strong{
  display:block;
  margin-top:5px;
  color:var(--gold);
  font:500 17px Georgia,serif;
}
.dash-card span{display:block;color:#c6ced1;font-size:8px;margin-top:2px}
.member-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:10px}
.digital-card{
  min-height:178px;
  position:relative;
  overflow:hidden;
  padding:14px;
  background:
    radial-gradient(circle at 87% 15%,rgba(241,207,123,.18),transparent 30%),
    linear-gradient(135deg,#521768,#24122d 63%,#182024);
  border:1px solid rgba(219,174,72,.58);
}
.digital-card:after{
  content:"";
  position:absolute;
  width:155px;
  height:155px;
  right:-45px;
  bottom:-75px;
  border:1px solid rgba(219,174,72,.25);
  border-radius:50%;
}
.card-top{display:flex;align-items:center;gap:9px}
.card-top img{width:38px;height:38px;border-radius:50%}
.card-top strong{display:block;color:var(--gold);font:500 18px Georgia,serif}
.card-top small{display:block;font-size:8px;color:#ddd6e2}
.member-name{margin-top:17px;font:500 19px Georgia,serif;letter-spacing:.03em}
.member-id{color:var(--gold2);font-size:10px;margin-top:2px}
.card-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:17px;
}
.card-meta small{display:block;color:#b8aebd;font-size:7px;text-transform:uppercase}
.card-meta span{font-size:8px}
.quick-panel{padding:11px;background:#20292e;border:1px solid var(--line)}
.quick-panel h4{margin:0 0 8px;color:var(--gold);font:500 14px Georgia,serif}
.quick-actions{display:grid;gap:6px}
.quick-action{
  padding:8px;
  display:flex;
  justify-content:space-between;
  gap:8px;
  background:#182024;
  border:1px solid var(--line);
  font-size:8px;
}
.quick-action b{color:var(--gold);font-weight:normal}
.exec-table{
  width:100%;
  border-collapse:collapse;
  background:#20292e;
  border:1px solid var(--line);
  font-size:8px;
}
.exec-table th,.exec-table td{
  padding:7px;
  text-align:left;
  border-bottom:1px solid var(--line);
}
.exec-table th{color:#9ca8ad;text-transform:uppercase;letter-spacing:.035em}
.status{
  display:inline-block;
  padding:3px 6px;
  background:rgba(75,20,95,.75);
  border:1px solid #87539a;
  color:#eadff0;
}
.status.gold{
  background:rgba(219,174,72,.13);
  border-color:rgba(219,174,72,.45);
  color:var(--gold2);
}
.security-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.security-chip{
  padding:4px 7px;
  border:1px solid var(--line);
  color:#aab5ba;
  font-size:7px;
  text-transform:uppercase;
}
.connect-workflow{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.workflow-step{
  position:relative;
  padding:11px 8px;
  text-align:center;
  color:#b7c0c5;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.workflow-step+ .workflow-step{border-left:1px solid var(--line)}
.workflow-step b{
  display:block;
  color:var(--gold);
  font:500 15px Georgia,serif;
  margin-bottom:2px;
}
.portal-window-full{margin-top:6px;min-height:calc(100vh - 200px);display:flex;flex-direction:column;}
.portal-window-full .portal-app{
  min-height:calc(100vh - 240px);
  grid-template-columns:230px 1fr;
  flex:1;
}
.portal-window-full .portal-sidebar{padding:26px 18px;}
.portal-window-full .portal-logo{padding:0 8px 20px;margin-bottom:18px;}
.portal-window-full .portal-logo img{width:40px;height:40px;}
.portal-window-full .portal-logo strong{font-size:20px;}
.portal-window-full .portal-logo small{font-size:11px;}
.portal-window-full .portal-menu{gap:5px;}
.portal-window-full .portal-menu span{padding:12px 14px;font-size:14px;border-radius:5px;}
.portal-window-full .portal-main{padding:34px 38px;}
.portal-window-full .portal-heading{margin-bottom:26px;}
.portal-window-full .portal-heading h3{font-size:30px;}
.portal-window-full .portal-heading p{font-size:14px;margin-top:4px;}
.portal-window-full .view-tab{padding:10px 18px;font-size:12.5px;}
.portal-window-full .dashboard-cards{gap:16px;margin-bottom:20px;}
.portal-window-full .dash-card{min-height:110px;padding:20px;}
.portal-window-full .dash-card small{font-size:12px;}
.portal-window-full .dash-card strong{font-size:26px;margin-top:8px;}
.portal-window-full .dash-card span{font-size:13px;margin-top:5px;}
.portal-window-full .member-layout{gap:20px;}
.portal-window-full .digital-card{min-height:230px;padding:28px;}
.portal-window-full .card-top img{width:46px;height:46px;}
.portal-window-full .card-top strong{font-size:22px;}
.portal-window-full .card-top small{font-size:11px;}
.portal-window-full .member-name{font-size:27px;margin-top:26px;}
.portal-window-full .member-id{font-size:14px;}
.portal-window-full .card-meta{gap:14px;margin-top:26px;}
.portal-window-full .card-meta small{font-size:10.5px;}
.portal-window-full .card-meta span{font-size:13px;}
.portal-window-full .quick-panel{padding:22px;}
.portal-window-full .quick-panel h4{font-size:18px;margin-bottom:14px;}
.portal-window-full .quick-actions{gap:10px;}
.portal-window-full .quick-action{padding:14px;font-size:13px;}
.portal-window-full .exec-table{font-size:13px;}
.portal-window-full .exec-table th,
.portal-window-full .exec-table td{padding:14px;}
.portal-window-full .status{padding:5px 10px;font-size:12px;}
.portal-window-full .security-row{gap:10px;margin-top:16px;}
.portal-window-full .security-chip{padding:7px 12px;font-size:11px;}

.portal-gate{
  min-height:400px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:40px;
}
.portal-gate-title{color:var(--gold);font:500 20px Georgia,serif;margin:0 0 8px;}
.portal-gate-sub{color:#9eaaaf;font-size:13px;max-width:34ch;margin:0 0 20px;}

@media(max-width:1100px){
  .header-actions{display:none}
  .connect-layout{grid-template-columns:1fr}
  .portal-window{max-width:850px}
}
@media(max-width:700px){
  .connect-feature-list{grid-template-columns:1fr}
  .portal-app{grid-template-columns:1fr}
  .portal-sidebar{display:none}
  .dashboard-cards{grid-template-columns:1fr}
  .member-layout{grid-template-columns:1fr}
  .connect-workflow{grid-template-columns:repeat(2,1fr)}
  .workflow-step{border-bottom:1px solid var(--line)}
}

/* About Us narrative section */
.about-narrative{padding:38px 0 20px;background:#182024;}
.about-narrative-inner{max-width:760px;}
.eyebrow-label{
  display:block;
  color:#c486db;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:bold;
  margin-bottom:8px;
}
.about-narrative-inner .section-heading{margin-bottom:18px;}
.about-narrative-inner p{
  color:var(--muted);
  font-size:14.5px;
  line-height:1.75;
  margin:0 0 18px;
}
.about-narrative-inner p:last-child{margin-bottom:0;}

/* Mission & vision section */
.mission-vision{padding:38px 0 8px;background:#182024;}
.mv-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
}
.mv-block{padding:0 40px;}
.mv-block+ .mv-block{border-left:1px solid var(--line);}
.mv-label{
  color:#c486db;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:bold;
  margin-bottom:8px;
}
.mv-block h2{color:var(--gold);font:500 27px Georgia,serif;margin:0 0 12px;}
.mv-block p{color:var(--muted);font-size:14.5px;line-height:1.7;margin:0;}
@media(max-width:1050px){
  .mv-grid{grid-template-columns:1fr;gap:26px;}
  .mv-block+ .mv-block{border-left:0;border-top:1px solid var(--line);padding-top:26px;}
}

/* Executive team section */
.exec-team{padding:10px 0 44px;background:#182024;}
.exec-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:18px;
}
.exec-card{
  background:#1c2428;
  border:1px solid var(--line);
  padding:22px 20px 26px;
  text-align:center;
}
.exec-photo{
  width:96px;
  height:96px;
  margin:0 auto 16px;
  border-radius:50%;
  background:var(--purple);
  border:1px solid #a36eb7;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.exec-photo img{width:100%;height:100%;object-fit:cover;}
.exec-photo svg{width:42px;height:42px;opacity:.85;}
.exec-name{color:var(--gold);font:500 19px Georgia,serif;margin:0 0 2px;}
.exec-role{
  color:#c486db;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:bold;
  margin-bottom:12px;
}
.exec-bio{color:var(--muted);font-size:13px;margin:0;}
@media(max-width:1050px){.exec-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.exec-grid{grid-template-columns:1fr;}}

/* Standalone section pages */
.section-page-spacer{padding-top:34px;}

/* Homepage teaser cards linking out to standalone pages */
.section-teasers{padding:40px 0 10px;background:#182024;}
.teaser-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:16px;
}
.teaser-card{
  padding:24px 22px;
  background:#1c2428;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.teaser-card .circle{width:48px;height:48px;font-size:20px;}
.teaser-card h3{margin:2px 0 0;color:var(--gold);font:500 22px Georgia,serif;}
.teaser-card p{margin:0;color:var(--muted);font-size:13px;flex-grow:1;}
.teaser-card a{color:#c486db;font-size:11px;text-transform:uppercase;font-weight:bold;}
@media(max-width:1050px){.teaser-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.teaser-grid{grid-template-columns:1fr;}}

/* Paid Memberships Pro output styling — forced to override the plugin's
   own default white-card styling, whatever wrapper classes it uses */
#levels-table,
#levels-table div,
#levels-table table,
#levels-table thead,
#levels-table tbody,
#levels-table tr,
#levels-table td{
  background-color:#1c2428 !important;
  color:var(--muted) !important;
  border-color:var(--line) !important;
}
#levels-table table{
  border:1px solid var(--line) !important;
}
#levels-table th{
  background-color:#20292e !important;
  color:var(--gold) !important;
  font-family:Georgia,serif;
  font-weight:500;
  font-size:15px;
}
#levels-table td{
  font-size:13.5px;
}
#levels-table .pmpro_btn,
#levels-table input[type="submit"],
#levels-table button{
  background:var(--gold) !important;
  color:#171717 !important;
  border:1px solid var(--gold) !important;
  height:44px;
  padding:0 22px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:bold;
  letter-spacing:.03em;
  cursor:pointer;
}
#levels-table .pmpro_btn:hover,
#levels-table input[type="submit"]:hover{
  background:var(--gold2) !important;
}

.page-wrap input[type="text"],
.page-wrap input[type="email"],
.page-wrap input[type="password"],
.page-wrap select{
  background:#20292e;
  border:1px solid var(--line);
  color:var(--text);
  padding:10px 12px;
  font-size:14px;
  margin-bottom:12px;
  width:100%;
  max-width:420px;
}
.page-wrap .pmpro_content_message{
  background:#1c2428;
  border:1px solid var(--line);
  padding:20px;
  margin-bottom:20px;
  color:var(--muted);
}

/* generic page wrapper for non-front pages */
.page-wrap{max-width:900px;margin:0 auto;padding:60px 22px 90px;}
.page-wrap h1{font:500 44px Georgia,serif;color:var(--gold);}
.page-wrap p{color:var(--muted);line-height:1.7;}

@media(max-width:1050px){
  .header-inner{grid-template-columns:1fr auto}
  nav.main-nav,.social{display:none}
  .menu-toggle{display:block;background:transparent;border:1px solid var(--line);color:#fff;padding:9px 11px}
  nav.main-nav.open{display:flex;position:absolute;top:90px;left:0;right:0;background:#172025;flex-direction:column;padding:12px 25px;gap:0}
  nav.main-nav.open ul{flex-direction:column; gap:0;}
  nav.main-nav.open a{padding:11px 0}
  .pillar-grid{grid-template-columns:1fr}
  .pillar+.pillar{border-left:0;border-top:1px solid var(--line)}
  .events-layout{grid-template-columns:1fr}
  .event-grid{grid-template-columns:repeat(2,1fr)}
  .explore-grid{grid-template-columns:repeat(2,1fr)}
  .join-grid{grid-template-columns:repeat(2,1fr)}
  .join-copy{grid-column:1/-1}
  .sponsor-row{grid-template-columns:repeat(3,1fr)}
  .news-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .wrap{width:calc(100% - 22px)}
  .brand strong{font-size:32px;line-height:30px}
  .brand span{font-size:12px}
  .brand img{width:57px;height:57px}
  .hero,.hero .wrap{height:510px;min-height:510px}
  h1{font-size:58px}
  .tags{font-size:12px}
  .event-grid,.explore-grid,.sponsor-row,.footer-grid{grid-template-columns:1fr}
  .join-grid{grid-template-columns:1fr}
  .stat{border-left:0;border-top:1px solid var(--line)}
  .news-item{grid-template-columns:105px 1fr}
}

/* Sponsors Section Typography & Intro Layout */
.sponsors-header {
    max-width: 820px;
    margin-bottom: 24px;
}

/* Intro Text Double Space Line Break */
.sponsors-intro-text.double-space {
    margin-top: 1.5em;
}

/* Member Perk Banner Below Sponsors Grid */
.member-perk-banner {
    background: #1c2428;
    border: 1px solid var(--line);
    border-left: 4px solid var(--gold);
    padding: 24px;
    margin-top: 32px;
    text-align: center; /* Centers inline/text elements */
    display: flex;
    flex-direction: column;
    align-items: center; /* Center-aligns child blocks */
    justify-content: center;
}

.perk-text {
    color: var(--text);
    font-size: 14.5px;
    line-height: 1.5;
    margin: 0 0 18px 0;
    text-align: center;
}

.perk-text strong {
    color: var(--gold);
}

/* Centered Sponsor Actions Container */
.sponsor-actions {
    display: flex;
    justify-content: center; /* Centers flex items horizontally */
    align-items: center;     /* Aligns buttons evenly */
    gap: 16px;
    width: 100%;             /* Spans full width so flex centering works */
    margin: 0 auto;          /* Centers container */
    text-align: center;
}

/* Ensure buttons themselves inherit flex alignment */
.sponsor-actions .btn {
    margin: 0;
}

/* Mobile Responsiveness */
@media(max-width: 620px) {
    .sponsor-actions {
        flex-direction: column;
        width: 100%;
    }
    .sponsor-actions .btn {
        width: 100%;
    }
}