/*
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:#182126;
  --bg2:#12191c;
  --bg3:#1f292e;
  --purple:#155b45;
  --purple2:#246e55;
  --gold:#a9bd79;
  --gold2:#b99a57;
  --text:#f0eadb;
  --muted:#b9c4bd;
  --line:rgba(255,255,255,.11);
  --sage:#7d9857;
  --blue:#2e7bb6;
  --orange:#cf7132;
  --max:1500px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,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:#141b1e;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("assets/teas-banner.jpeg") 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:linear-gradient(135deg,var(--purple),var(--purple2));color:var(--text);border-color:var(--purple2)}
.btn.purple{background:rgba(15,21,24,.78);border-color:rgba(185,154,87,.5);color:var(--text)}



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

.events{background:#12191c;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:#182126;border:1px solid rgba(185,154,87,.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 #4a8a6e;border-bottom:1px solid #4a8a6e
}
.date b{display:block;font-size:18px}
.event .photo{height:142px}
.event-content{padding:12px 14px}
.type{color:#9fb877;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:#9fb877;
  font-size:12pt;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:bold;
  cursor:pointer;
  font-family:Inter,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:#182126;
  border:1px solid rgba(185,154,87,.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:#182126;border-bottom:1px solid var(--line)}
.explore-intro{color:var(--muted);font-size:14px;line-height:1.7;max-width:760px;margin:8px 0 20px;}
.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:Inter,Arial,Helvetica,sans-serif;text-align:left;width:100%;
  background-color:#182126;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:#ffffff !important;
  -webkit-text-fill-color:#ffffff;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.tile:hover{border-color:rgba(185,154,87,.6);}

.explore-details-outer{margin-top:20px;}
.explore-full-details{
  display:none;
  position:relative;
  background:#182126;
  border:1px solid rgba(185,154,87,.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:#182126;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:#172023;border-bottom:1px solid var(--line)}
.sponsor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px;}
.sponsor-card{
  background:#182126;
  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:#9fb877;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:bold;
}
.sponsor-link:hover{color:var(--gold);}
.note{text-align:center;color:#9fb877;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:#182126}
.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:#9fb877;font-size:10px;text-transform:uppercase}

footer.site-footer{background:#12191c;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:#879690;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(21,91,69,.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(36,110,85,.18),transparent 32%),
    linear-gradient(120deg,#12191c,#1c262a);
  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(185,154,87,.42);
  background:rgba(21,91,69,.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:#d3ddd6;
}
.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 #3f8064;
  color:var(--gold);
  font-style:normal;
  font-size:11px;
}
.connect-note{
  margin-top:12px;
  color:#8ea095;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.portal-window{
  overflow:hidden;
  border:1px solid rgba(185,154,87,.42);
  background:#0f1517;
  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:#212b2f;
  border-bottom:1px solid var(--line);
}
.browser-dots{display:flex;gap:6px}
.browser-dots span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#6a7873;
}
.browser-address{color:#a6b0aa;font-size:9px;letter-spacing:.03em}
.portal-app{display:grid;grid-template-columns:155px 1fr;min-height:405px}
.portal-sidebar{
  padding:16px 11px;
  background:#131a1d;
  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:#a9b7ae;font-size:8px}
.portal-menu{display:grid;gap:3px}
.portal-menu span{
  padding:7px 8px;
  border-radius:3px;
  color:#a9b7ae;
  font-size:9px;
}
.portal-menu span.active{
  color:var(--text);
  background:rgba(21,91,69,.7);
  border-left:2px solid var(--gold);
}
.portal-menu-item{
  padding:7px 8px;
  border-radius:3px;
  color:#a9b7ae;
  font-size:9px;
  background:none;
  border:none;
  border-left:2px solid transparent;
  text-align:left;
  width:100%;
  cursor:pointer;
  font-family:Inter,Arial,Helvetica,sans-serif;
}
.portal-menu-item:hover{color:var(--text);background:rgba(21,91,69,.35);}
.portal-menu-item.active{
  color:var(--text);
  background:rgba(21,91,69,.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),
    #182126;
  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:#a7b2a8;font-size:9px}
.view-tabs{display:flex;gap:5px}
.view-tab{
  border:1px solid var(--line);
  background:#1c262a;
  color:#a9b7ae;
  padding:6px 8px;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.04em;
  cursor:pointer;
}
.view-tab.active{background:var(--purple);border-color:#3f8064;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:#1f292e;
  border:1px solid var(--line);
}
.dash-card small{
  color:#96a79c;
  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:#c2cbc5;font-size:8px;margin-top:2px}
.member-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:10px}
.digital-card{
  min-height:200px;
  position:relative;
  overflow:hidden;
  padding:20px 22px;
  border-radius:14px;
  background:
    radial-gradient(circle at 88% 12%, rgba(169,189,121,.16), transparent 32%),
    linear-gradient(155deg, rgba(12,22,17,.86) 0%, rgba(9,17,14,.9) 45%, rgba(12,19,22,.94) 100%),
    url('assets/membership-card-bg.jpg') center 38%/cover no-repeat;
  border:1px solid rgba(185,154,87,.4);
  box-shadow:0 14px 34px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .25s ease, box-shadow .25s ease;
}
.digital-card:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 44px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08);
}
.digital-card:before{
  content:"";
  position:absolute;
  top:-60%;
  left:-30%;
  width:60%;
  height:220%;
  background:linear-gradient(115deg, transparent 40%, rgba(255,255,255,.1) 50%, transparent 60%);
  transform:rotate(8deg);
  pointer-events:none;
  z-index:0;
}
.digital-card:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-55px;
  bottom:-85px;
  border:1px solid rgba(185,154,87,.2);
  border-radius:50%;
  z-index:0;
}
.card-chip{
  width:34px;
  height:25px;
  border-radius:5px;
  background:linear-gradient(135deg,#cbb37a,#a9803a 60%,#8f7239);
  position:relative;
  margin-bottom:14px;
  box-shadow:0 1px 3px rgba(0,0,0,.45);
  z-index:1;
}
.card-chip:before{
  content:"";
  position:absolute;
  inset:4px;
  border:1px solid rgba(0,0,0,.3);
  border-radius:3px;
}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:9px;position:relative;z-index:1;}
.card-top-brand{display:flex;align-items:center;gap:9px;}
.card-top img{width:38px;height:38px;border-radius:50%;border:1px solid rgba(185,154,87,.5);}
.card-top strong{display:block;color:var(--gold);font:600 18px Georgia,serif;letter-spacing:.02em;}
.card-top small{display:block;font-size:8px;color:#d6e0d8;letter-spacing:.03em;}
.card-status-pill{
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:bold;
  color:#c8f0c0;
  background:rgba(120,200,110,.16);
  border:1px solid rgba(120,200,110,.45);
  padding:3px 9px;
  border-radius:20px;
  white-space:nowrap;
}
.member-name{margin-top:20px;font:600 21px Georgia,serif;letter-spacing:.04em;position:relative;z-index:1;}
.member-id{
  color:var(--gold2);
  font-size:11px;
  margin-top:4px;
  letter-spacing:.14em;
  font-family:'Courier New',monospace;
  position:relative;
  z-index:1;
}
.card-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:20px;
  padding-top:14px;
  border-top:1px solid rgba(185,154,87,.18);
  position:relative;
  z-index:1;
}
.card-meta small{display:block;color:#b3beb7;font-size:7px;text-transform:uppercase;letter-spacing:.05em;}
.card-meta span{display:block;font-size:9px;color:#f0ece5;font-weight:600;margin-top:2px;}
.quick-panel{padding:11px;background:#1f292e;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:#182126;
  border:1px solid var(--line);
  font-size:8px;
  color:var(--text);
  text-decoration:none;
  cursor:pointer;
  transition:border-color .15s ease;
}
.quick-action:hover{border-color:rgba(185,154,87,.5);}
.quick-action b{color:var(--gold);font-weight:normal}
.exec-table{
  width:100%;
  border-collapse:collapse;
  background:#1f292e;
  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:#97a89e;text-transform:uppercase;letter-spacing:.035em}
.status{
  display:inline-block;
  padding:3px 6px;
  background:rgba(21,91,69,.75);
  border:1px solid #3f7a5c;
  color:#dceee0;
}
.status.gold{
  background:rgba(185,154,87,.13);
  border-color:rgba(185,154,87,.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:#a6b3ac;
  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:#b3beb7;
  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-menu-item{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-chip{width:44px;height:32px;margin-bottom:18px;}
.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 .card-status-pill{font-size:10px;padding:4px 12px;}
.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:#a7b2a8;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:#182126;}
.about-narrative-inner{max-width:760px;margin:0 auto;text-align:center;}
.eyebrow-label{
  display:block;
  color:#9fb877;
  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:#182126;}
.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:#9fb877;
  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:#182126;}
.exec-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:18px;
}
.exec-card{
  background:#182126;
  border:1px solid var(--line);
  padding:22px 20px 26px;
  text-align:center;
}
.exec-photo{
  width:140px;
  height:140px;
  margin:0 auto 18px;
  border-radius:50%;
  background:var(--purple);
  border:1px solid #4a8a6e;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.exec-photo img{width:100%;height:100%;object-fit:cover;}
.exec-photo svg{width:56px;height:56px;opacity:.85;}
.exec-name{color:var(--gold);font:500 19px Georgia,serif;margin:0 0 2px;}
.exec-role{
  color:#9fb877;
  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:#182126;}
.teaser-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:16px;
}
.teaser-card{
  padding:24px 22px;
  background:#182126;
  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:#9fb877;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:#182126 !important;
  color:var(--muted) !important;
  border-color:var(--line) !important;
}
#levels-table table{
  border:1px solid var(--line) !important;
}
#levels-table th{
  background-color:#1f292e !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:linear-gradient(135deg,var(--purple),var(--purple2)) !important;
  color:var(--text) !important;
  border:1px solid var(--purple2) !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:#1f292e;
  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:#182126;
  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:#141b1e;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: #182126;
    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%;
    }
}


/* TEAS Connect member portal — mobile/tablet redesign.
 * Desktop (>1100px) intentionally retains the existing layout.
 * On mobile/tablet the membership card is removed from the dashboard and
 * remains available only through the "View membership card" viewer.
 */
@media (max-width:1100px){
  .teas-connect{
    padding:24px 0 30px;
  }

  .portal-window-full{
    margin-top:0;
    min-height:0;
    border-radius:10px;
  }

  .portal-window-full .portal-app{
    min-height:0;
    grid-template-columns:1fr;
  }

  /* The desktop browser chrome and sidebar add little value on touch screens. */
  .portal-window-full .portal-browser,
  .portal-window-full .portal-sidebar{
    display:none;
  }

  .portal-window-full .portal-main{
    padding:22px;
    background:
      linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
      #182126;
    background-size:22px 22px;
  }

  .portal-heading{
    align-items:flex-start;
    margin-bottom:18px;
    padding-bottom:16px;
    border-bottom:1px solid var(--line);
  }

  .portal-heading h3{
    font-size:24px;
  }

  .portal-heading p{
    font-size:11px;
    line-height:1.45;
    max-width:42em;
  }

  .view-tabs{
    flex:0 0 auto;
  }

  .view-tab{
    min-height:38px;
    padding:8px 12px;
    font-size:9px;
  }

  /* Do not show the inline membership card on touch devices.
   * The existing JS moves this exact element into the modal when requested.
   */
  .portal-pane#member-pane .member-layout{
    grid-template-columns:1fr;
    gap:14px;
  }

  .portal-pane#member-pane .member-layout > .digital-card{
    display:none;
  }

  .portal-pane#member-pane .quick-panel{
    width:100%;
    box-sizing:border-box;
    padding:16px;
  }

  .portal-pane#member-pane .quick-panel h4{
    margin-bottom:12px;
    font-size:18px;
  }

  .portal-pane#member-pane .quick-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }

  .portal-pane#member-pane .quick-action{
    min-height:52px;
    box-sizing:border-box;
    align-items:center;
    padding:12px 13px;
    font-size:11px;
    line-height:1.35;
  }

  .portal-pane#member-pane .quick-action b{
    font-size:17px;
    flex:0 0 auto;
  }

  .portal-pane#member-pane .quick-action.member-card-trigger{
    background:linear-gradient(135deg,rgba(185,154,87,.16),rgba(21,91,69,.28));
    border-color:rgba(185,154,87,.52);
  }

  .portal-pane#member-pane .quick-action.member-card-trigger span{
    color:var(--gold2);
    font-weight:600;
  }

  .dashboard-cards{
    gap:10px;
    margin-bottom:14px;
  }

  .dash-card{
    min-height:78px;
    padding:13px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .dash-card small{
    font-size:9px;
  }

  .dash-card strong{
    font-size:20px;
    margin-top:6px;
  }

  .dash-card span{
    font-size:10px;
    line-height:1.35;
  }
}

@media (max-width:700px){
  .teas-connect{
    padding:16px 0 22px;
  }

  .portal-window-full{
    border-radius:8px;
    box-shadow:0 10px 28px rgba(0,0,0,.28);
  }

  .portal-window-full .portal-main{
    padding:16px 12px 20px;
  }

  .portal-heading{
    display:block;
    margin-bottom:14px;
    padding-bottom:13px;
  }

  .portal-heading h3{
    font-size:22px;
    line-height:1.1;
  }

  .portal-heading p{
    margin-top:5px;
    font-size:10.5px;
  }

  .portal-heading .view-tabs{
    margin-top:12px;
    width:100%;
  }

  .portal-heading .view-tabs .view-tab{
    flex:1;
    min-height:40px;
    font-size:9px;
  }

  .dashboard-cards{
    grid-template-columns:1fr;
    gap:8px;
  }

  .dash-card{
    min-height:72px;
    padding:12px 13px;
  }

  .dash-card strong{
    font-size:19px;
  }

  .portal-pane#member-pane .quick-panel{
    padding:14px;
  }

  .portal-pane#member-pane .quick-panel h4{
    font-size:17px;
    margin-bottom:10px;
  }

  .portal-pane#member-pane .quick-actions{
    grid-template-columns:1fr;
    gap:8px;
  }

  .portal-pane#member-pane .quick-action{
    min-height:50px;
    padding:12px 13px;
    font-size:11px;
  }

  /* Give the primary sponsor-facing action a little more visual weight. */
  .portal-pane#member-pane .quick-action.member-card-trigger{
    min-height:56px;
  }
}

@media (min-width:701px) and (max-width:1100px){
  .portal-pane#member-pane .dashboard-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}


/* Membership card viewer
 * Opens the live card in a full-screen, orientation-aware viewer so members
 * can present it clearly to sponsors on phones and tablets.
 */
.member-card-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.member-card-modal.is-open{display:flex;}
.member-card-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,9,8,.94);
  backdrop-filter:blur(8px);
}
.member-card-modal-panel{
  position:relative;
  z-index:1;
  width:min(100%,980px);
  max-height:calc(100vh - 40px);
  overflow:auto;
  background:#101a1e;
  border:1px solid rgba(185,154,87,.28);
  border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.member-card-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 22px;
  border-bottom:1px solid var(--line);
}
.member-card-modal-kicker{
  display:block;
  color:#9fb877;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:3px;
}
.member-card-modal-header h3{
  margin:0;
  color:var(--text);
  font:500 21px Georgia,serif;
}
.member-card-modal-close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#182126;
  color:var(--text);
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.member-card-modal-close:hover{border-color:rgba(185,154,87,.6);}
.member-card-modal-body{
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:28px;
}
.member-card-modal-card-slot{
  width:min(100%,860px);
  display:flex;
  justify-content:center;
}
.member-card-modal-card-slot .digital-card{
  width:min(100%,860px);
  min-height:0;
  aspect-ratio:1.586 / 1;
  box-sizing:border-box;
  padding:clamp(22px,3vw,38px);
  border-radius:18px;
  cursor:default;
  transform:none;
}
.member-card-modal-card-slot .digital-card:hover{
  transform:none;
}
.member-card-modal-card-slot .card-chip{
  width:clamp(40px,5vw,58px);
  height:clamp(29px,3.7vw,43px);
  border-radius:7px;
  margin-bottom:clamp(16px,2vw,24px);
}
.member-card-modal-card-slot .card-top{gap:18px;}
.member-card-modal-card-slot .card-top-brand{gap:12px;}
.member-card-modal-card-slot .card-top img{
  width:clamp(48px,5.5vw,68px);
  height:clamp(48px,5.5vw,68px);
}
.member-card-modal-card-slot .card-top strong{
  font-size:clamp(22px,2.6vw,34px);
}
.member-card-modal-card-slot .card-top small{
  font-size:clamp(9px,1.1vw,14px);
}
.member-card-modal-card-slot .card-status-pill{
  font-size:clamp(9px,1vw,13px);
  padding:5px 13px;
}
.member-card-modal-card-slot .member-name{
  margin-top:clamp(24px,3.2vw,42px);
  font-size:clamp(26px,3.3vw,42px);
}
.member-card-modal-card-slot .member-id{
  font-size:clamp(12px,1.4vw,17px);
  margin-top:7px;
}
.member-card-modal-card-slot .card-meta{
  gap:clamp(12px,2vw,28px);
  margin-top:clamp(22px,3vw,38px);
  padding-top:clamp(15px,1.8vw,22px);
}
.member-card-modal-card-slot .card-meta small{
  font-size:clamp(8px,1vw,12px);
}
.member-card-modal-card-slot .card-meta span{
  font-size:clamp(11px,1.3vw,16px);
  margin-top:4px;
}
.member-card-modal-hint{
  margin:0;
  color:#a7b2a8;
  font-size:12px;
  text-align:center;
}
body.member-card-modal-open{overflow:hidden;}

@media(max-width:700px){
  .member-layout .digital-card{
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .member-layout .card-meta,
  .member-layout .card-meta > div{
    min-width:0;
  }
  .member-layout .card-meta span{
    overflow-wrap:anywhere;
  }
  .member-card-modal{
    padding:0;
    align-items:stretch;
  }
  .member-card-modal-panel{
    width:100%;
    max-height:100dvh;
    height:100dvh;
    border:0;
    border-radius:0;
    overflow:auto;
  }
  .member-card-modal-header{
    padding:14px 16px;
  }
  .member-card-modal-header h3{font-size:19px;}
  .member-card-modal-body{
    min-height:calc(100dvh - 70px);
    padding:18px 12px 24px;
  }
  .member-card-modal-card-slot{
    width:100%;
  }
  .member-card-modal-card-slot .digital-card{
    width:100%;
    aspect-ratio:1.586 / 1;
    padding:12px;
    border-radius:15px;
  }
  .member-card-modal-card-slot .card-chip{
    width:32px;
    height:23px;
    margin-bottom:8px;
  }
  .member-card-modal-card-slot .card-top{gap:6px;}
  .member-card-modal-card-slot .card-top-brand{gap:6px;}
  .member-card-modal-card-slot .card-top img{
    width:34px;
    height:34px;
  }
  .member-card-modal-card-slot .card-top strong{font-size:18px;}
  .member-card-modal-card-slot .card-top small{font-size:6.5px;}
  .member-card-modal-card-slot .card-status-pill{
    font-size:6.5px;
    padding:3px 7px;
  }
  .member-card-modal-card-slot .member-name{
    margin-top:12px;
    font-size:clamp(18px,5.2vw,25px);
  }
  .member-card-modal-card-slot .member-id{
    font-size:clamp(8.5px,2.5vw,11px);
    margin-top:3px;
  }
  .member-card-modal-card-slot .card-meta{
    gap:5px;
    margin-top:11px;
    padding-top:9px;
  }
  .member-card-modal-card-slot .card-meta small{font-size:6px;}
  .member-card-modal-card-slot .card-meta span{
    font-size:clamp(7.5px,2.15vw,10px);
    margin-top:2px;
  }
  .member-card-modal-hint{font-size:11px;}
}

/* In landscape on a phone/tablet, maximize the card without making the
 * surrounding viewer unnecessarily tall.
 */
@media(max-width:900px) and (orientation:landscape){
  .member-card-modal{
    padding:0;
    align-items:stretch;
  }

  .member-card-modal-panel{
    width:100%;
    height:100dvh;
    max-height:100dvh;
    border:0;
    border-radius:0;
    overflow:hidden;
  }

  .member-card-modal-header{
    height:52px;
    box-sizing:border-box;
    padding:8px 14px;
  }

  .member-card-modal-header h3{font-size:16px;}

  .member-card-modal-close{
    width:32px;
    height:32px;
    flex-basis:32px;
    font-size:21px;
  }

  .member-card-modal-body{
    height:calc(100dvh - 52px);
    min-height:0;
    box-sizing:border-box;
    padding:8px 14px 10px;
    gap:5px;
    justify-content:center;
    overflow:hidden;
  }

  .member-card-modal-card-slot{
    width:min(100%, calc((100dvh - 82px) * 1.586));
    flex:0 0 auto;
  }

  .member-card-modal-card-slot .digital-card{
    width:100%;
    height:auto;
    aspect-ratio:1.586 / 1;
    box-sizing:border-box;
    padding:12px 16px;
  }

  /* Keep the card header compact in the short landscape viewport. */
  .member-card-modal-card-slot .card-chip{
    width:30px;
    height:21px;
    margin-bottom:5px;
  }

  .member-card-modal-card-slot .card-top{
    gap:6px;
  }

  .member-card-modal-card-slot .card-top-brand{
    gap:6px;
  }

  .member-card-modal-card-slot .card-top img{
    width:34px;
    height:34px;
  }

  .member-card-modal-card-slot .card-top strong{
    font-size:17px;
  }

  .member-card-modal-card-slot .card-top small{
    font-size:6.5px;
  }

  .member-card-modal-card-slot .card-status-pill{
    font-size:6px;
    padding:3px 6px;
  }

  .member-card-modal-card-slot .member-name{
    margin-top:8px;
    font-size:clamp(17px,4.8vw,25px);
    line-height:1;
  }

  .member-card-modal-card-slot .member-id{
    font-size:clamp(8px,2.1vw,11px);
    margin-top:2px;
    line-height:1;
  }

  /*
   * The three member fields are anchored to the card itself rather than
   * relying on normal document flow. This is the key fix for landscape.
   */
  .member-card-modal-card-slot .card-meta{
    position:absolute;
    left:5.5%;
    right:5.5%;
    bottom:5.5%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4%;
    margin:0;
    padding-top:8px;
    box-sizing:border-box;
  }

  .member-card-modal-card-slot .card-meta small{
    font-size:clamp(5.5px,1.35vw,8px);
    line-height:1;
    white-space:nowrap;
  }

  .member-card-modal-card-slot .card-meta span{
    font-size:clamp(7px,1.85vw,11px);
    line-height:1.05;
    margin-top:2px;
    white-space:nowrap;
  }

  .member-card-modal-hint{
    flex:0 0 auto;
    margin:0;
    font-size:9px;
  }
}


/* Very narrow portrait screens: prioritize keeping all card information
 * inside the card rather than allowing horizontal overflow.
 */
@media(max-width:380px){
  .member-card-modal-card-slot .card-status-pill{
    font-size:6px;
    padding:3px 6px;
  }
  .member-card-modal-card-slot .card-top-brand div small{
    max-width:90px;
  }
  .member-card-modal-card-slot .card-meta{
    gap:4px;
  }
}


/* Executive Members directory */
.exec-section-intro{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	margin:22px 0 10px;
}
.exec-section-intro h4{
	margin:0 0 4px;
	color:var(--gold2);
	font-family:Georgia,serif;
	font-size:20px;
	font-weight:500;
}
.exec-section-intro p{
	margin:0;
	color:var(--muted);
	font-size:11px;
}
.exec-count{
	border:1px solid var(--line);
	padding:7px 10px;
	color:var(--muted);
	font-size:10px;
	white-space:nowrap;
}
.exec-table-wrap{
	width:100%;
	overflow-x:auto;
	border:1px solid var(--line);
}
.exec-table-wrap .exec-table{
	min-width:900px;
	margin:0;
	border:0;
}
.exec-table-wrap .exec-table td,
.exec-table-wrap .exec-table th{
	padding:13px 14px;
	vertical-align:middle;
}
.exec-table-wrap .exec-table td:nth-child(2){
	color:var(--muted);
	font-size:11px;
}


/* Executive portal — navigation sidebar intentionally hidden.
 * The main content becomes the primary navigation area for now.
 */
.teas-connect .portal-window-full .portal-sidebar{
	display:none;
}

.teas-connect .portal-window-full .portal-app{
	grid-template-columns:1fr;
}

.teas-connect .portal-window-full .portal-main{
	min-width:0;
	width:100%;
	box-sizing:border-box;
}


/* Executive renewals */
.renewals-table{
	min-width:1000px;
}
.renewal-followup{
	font-weight:600;
	color:var(--gold2);
	white-space:nowrap;
}
.renewals-empty{
	border:1px solid var(--line);
	padding:28px;
	display:flex;
	flex-direction:column;
	gap:7px;
	background:rgba(255,255,255,.015);
}
.renewals-empty strong{
	color:var(--gold2);
	font-family:Georgia,serif;
	font-size:18px;
	font-weight:500;
}
.renewals-empty span{
	color:var(--muted);
	font-size:11px;
}

/* Executive top navigation — replaces the hidden left sidebar. */
.exec-top-nav{display:flex;align-items:stretch;gap:6px;margin:0 0 20px;padding:6px;border:1px solid var(--line);background:rgba(11,20,24,.78);overflow-x:auto;-webkit-overflow-scrolling:touch;}
.exec-nav-item{appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:11px;letter-spacing:.02em;white-space:nowrap;padding:10px 13px;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease;}
.exec-nav-item:hover{color:var(--text);background:rgba(21,91,69,.24);}
.exec-nav-item.active{color:#fff;background:var(--purple);border-color:#3f8064;}
.exec-nav-item.is-future{color:#8e9b9f;}
.exec-nav-item.is-future.active{color:#fff;}
.exec-placeholder{border:1px solid var(--line);padding:34px;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;background:rgba(255,255,255,.012);}
.exec-placeholder h4{margin:0;color:var(--gold2);font-family:Georgia,serif;font-size:24px;font-weight:500;}
.exec-placeholder p{margin:0;color:var(--muted);font-size:12px;max-width:620px;line-height:1.6;}
.exec-placeholder span{margin-top:7px;padding:6px 9px;border:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold2);}
@media (max-width:700px){.exec-top-nav{margin-bottom:14px;padding:5px;gap:4px;}.exec-nav-item{font-size:10px;padding:9px 11px;}.exec-placeholder{padding:24px;min-height:150px;}}


/* Sponsor verification portal */
.sponsor-main{
	width:100%;
	box-sizing:border-box;
	padding:34px;
}
.sponsor-heading{
	border-bottom:1px solid var(--line);
	padding-bottom:20px;
	margin-bottom:22px;
}
.sponsor-heading h3{
	font-size:28px;
}
.sponsor-verify-card{
	max-width:900px;
	margin:0 auto;
	padding:30px;
	border:1px solid var(--line);
	background:linear-gradient(145deg,rgba(185,154,87,.07),rgba(21,91,69,.12));
	box-sizing:border-box;
}
.sponsor-verify-copy{
	margin-bottom:24px;
}
.sponsor-kicker{
	color:var(--gold2);
	font-size:9px;
	letter-spacing:2px;
	font-weight:700;
}
.sponsor-verify-copy h4{
	margin:7px 0 5px;
	font:500 26px/1.1 Georgia,serif;
	color:var(--gold2);
}
.sponsor-verify-copy p{
	margin:0;
	color:var(--muted);
	font-size:11px;
}
.sponsor-verify-form label{
	display:block;
	margin-bottom:7px;
	color:#e8e8e8;
	font-size:11px;
	font-weight:600;
}
.sponsor-verify-input-row{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:10px;
}
.sponsor-verify-input-row input{
	width:100%;
	min-height:48px;
	box-sizing:border-box;
	padding:12px 14px;
	border:1px solid var(--line);
	background:#10181b;
	color:#fff;
	font:600 14px/1 Inter,sans-serif;
	letter-spacing:.4px;
}
.sponsor-verify-input-row button{
	min-height:48px;
	padding:0 22px;
	border:1px solid rgba(185,154,87,.7);
	background:linear-gradient(135deg,#b99a57,#8e7138);
	color:#101516;
	font-size:11px;
	font-weight:800;
	cursor:pointer;
}
.sponsor-result{
	margin-top:22px;
	padding:18px 20px;
	display:flex;
	gap:14px;
	align-items:flex-start;
	border:1px solid var(--line);
}
.sponsor-result-icon{
	width:32px;
	height:32px;
	flex:0 0 32px;
	display:grid;
	place-items:center;
	border:1px solid currentColor;
	font-weight:800;
}
.sponsor-result-valid{
	color:#d8eadf;
	border-color:rgba(67,153,111,.55);
	background:rgba(35,104,73,.13);
}
.sponsor-result-valid .sponsor-result-icon{
	color:#8fd0aa;
}
.sponsor-result-invalid{
	color:#ead7d7;
	border-color:rgba(178,91,91,.5);
	background:rgba(110,42,42,.12);
}
.sponsor-result-invalid .sponsor-result-icon{
	color:#d99a9a;
}
.sponsor-result strong,
.sponsor-result span{
	display:block;
}
.sponsor-result strong{
	font-size:12px;
	margin-bottom:7px;
}
.sponsor-result span{
	font-size:10px;
	line-height:1.55;
	color:inherit;
}
.sponsor-privacy-note{
	max-width:900px;
	margin:12px auto 0;
	color:var(--muted);
	font-size:9px;
	line-height:1.5;
	text-align:center;
}
@media(max-width:700px){
	.sponsor-main{padding:16px 12px 24px;}
	.sponsor-heading h3{font-size:22px;}
	.sponsor-verify-card{padding:20px 16px;}
	.sponsor-verify-input-row{grid-template-columns:1fr;}
	.sponsor-verify-input-row button{width:100%;}
}


/* TEAS front-end My Account — v16 safe build */
.teas-my-account{min-height:70vh;padding:48px 20px 70px;background:linear-gradient(180deg,#0d1518 0%,#111b1e 100%);color:#eef2f1}
.teas-my-account__inner{width:min(1120px,100%);margin:0 auto}
.teas-my-account__header{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding-bottom:25px;border-bottom:1px solid var(--line,#2b3a3e)}
.teas-my-account__eyebrow,.teas-my-account__label{color:var(--gold2,#b99a57);font-size:9px;font-weight:800;letter-spacing:1.8px}
.teas-my-account__header h1{margin:7px 0 0;color:#f1e5c9;font:500 38px/1.08 Georgia,serif}
.teas-my-account__header p{margin:8px 0 0;color:var(--muted,#9ca9aa);font-size:12px}
.teas-my-account__header-actions{display:flex;gap:9px;flex-wrap:wrap}
.teas-my-account__header-actions a,.teas-my-account__footer a{color:#d9bd79;text-decoration:none;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.teas-my-account__header-actions a{padding:12px 14px;border:1px solid var(--line,#2b3a3e)}
.teas-my-account__header-actions .teas-my-account__logout{color:#e0b2b2;border-color:rgba(190,105,105,.45)}
.teas-my-account__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:24px}
.teas-my-account__card{padding:26px;border:1px solid var(--line,#2b3a3e);background:rgba(10,18,20,.72)}
.teas-my-account__card-top{display:flex;justify-content:space-between;gap:18px}
.teas-my-account__card h2{margin:7px 0 0;color:#eee5d2;font:500 26px/1.1 Georgia,serif}
.teas-my-account__status{display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border:1px solid currentColor;font-size:8px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap}
.teas-my-account__status--active{color:#91c9aa}.teas-my-account__status--expiring{color:#d6b86b}.teas-my-account__status--expired{color:#d69a9a}
.teas-my-account__details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line,#2b3a3e)}
.teas-my-account__details span,.teas-my-account__account-info span{display:block;margin-bottom:5px;color:var(--muted,#9ca9aa);font-size:9px;text-transform:uppercase;letter-spacing:.7px}
.teas-my-account__details strong,.teas-my-account__account-info strong{display:block;color:#e7eeee;font-size:12px;font-weight:600;word-break:break-word}
.teas-my-account__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.teas-my-account__button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--line,#2b3a3e);text-decoration:none;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.5px}
.teas-my-account__button--primary{background:linear-gradient(135deg,#b99a57,#8e7138);border-color:#b99a57;color:#101516}
.teas-my-account__button--secondary{background:rgba(255,255,255,.02);color:#dce6e7}
.teas-my-account__account-info{display:grid;gap:17px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line,#2b3a3e)}
.teas-my-account__muted{color:var(--muted,#9ca9aa);font-size:11px;line-height:1.65}
.teas-my-account__footer{display:flex;justify-content:space-between;gap:15px;margin-top:18px}
@media(max-width:800px){.teas-my-account{padding:32px 13px 55px}.teas-my-account__header{display:block}.teas-my-account__header-actions{margin-top:18px}.teas-my-account__grid{grid-template-columns:1fr}}
@media(max-width:560px){.teas-my-account__header h1{font-size:31px}.teas-my-account__card{padding:20px 16px}.teas-my-account__details{grid-template-columns:1fr;gap:14px}.teas-my-account__actions .teas-my-account__button{flex:1 1 145px}.teas-my-account__footer{display:block}.teas-my-account__footer a{display:block;margin-top:12px}}


/* TEAS Connect: member portal browser banner intentionally hidden. */
.teas-connect .portal-browser { display:none !important; }
