:root{--ink:#172033;--muted:#637083;--paper:#fff;--soft:#f4f6f8;--line:#dfe5eb;--accent:#8a1c2b;--ok:#176b4d;--warn:#9a5b16;--radius:18px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}.container{width:min(calc(100% - 32px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font-size:19px;font-weight:900}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:white;font-size:14px}.nav-links{display:flex;gap:22px;align-items:center}.nav-links a,.link-button{font:inherit;text-decoration:none;color:var(--ink);font-weight:650;border:0;background:none;cursor:pointer;padding:8px 0}.nav-links form{margin:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:12px;background:var(--accent);color:#fff!important;text-decoration:none;border:1px solid var(--accent);font-weight:800;cursor:pointer}.button-small{min-height:40px;padding:0 15px}.button-secondary{background:#fff;color:var(--ink)!important;border-color:var(--line)}.hero{padding:86px 0 76px;background:linear-gradient(135deg,#fff 0%,#f7f4ee 100%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:56px;align-items:center}.eyebrow{font-size:14px;font-weight:900;letter-spacing:.15em;color:var(--accent);margin-bottom:14px}.hero h1,.auth-card h1,.dashboard-hero h1{font-family:Georgia,serif;font-size:clamp(42px,7vw,76px);line-height:1.02;letter-spacing:-.03em;margin:.1em 0 .25em}.lead{font-size:20px;color:var(--muted);max-width:700px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.status-card,.feature-grid article,.membership-grid article,.panel,.metric,.auth-card{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.status-label,.tag{font-size:14px;font-weight:900;letter-spacing:.12em;color:var(--muted)}.status-card strong{font-family:Georgia,serif;font-size:32px;display:block;margin:4px 0 12px}.section{padding:76px 0}.section-soft,.dashboard-hero,.auth-section{background:var(--soft)}.section-heading{max-width:780px;margin-bottom:34px}.section-heading h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);line-height:1.1;margin:0 0 14px}.section-heading p{font-size:18px;color:var(--muted)}.feature-grid,.membership-grid,.metric-grid,.panel-grid{display:grid;gap:18px}.feature-grid{grid-template-columns:repeat(3,1fr)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.timeline div{background:#fff;padding:28px;display:grid;gap:8px}.timeline b{font-family:Georgia,serif;font-size:26px}.timeline span{color:var(--muted)}.membership-grid{grid-template-columns:1fr 1fr}.membership-grid article{display:grid;gap:10px}.membership-grid strong{color:var(--accent)}.site-footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted)}.site-footer .container{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap}.auth-section{padding:80px 16px;min-height:650px}.auth-card{max-width:480px;margin:auto;padding:34px}.auth-card h1{font-size:44px}.stack-form{display:grid;gap:18px;margin-top:28px}.stack-form label{font-weight:750;display:grid;gap:8px}.stack-form input[type=email],.stack-form input[type=password]{width:100%;padding:13px 14px;border:1px solid #c9d1da;border-radius:10px;font:inherit}.stack-form .check{display:flex;align-items:center;font-weight:550}.alert{background:#fff2f1;border:1px solid #efc0bd;padding:12px;border-radius:10px;color:#8c2d25}.dashboard-hero{padding:50px 0}.dashboard-hero h1{font-size:48px}.metric-grid{grid-template-columns:repeat(4,1fr)}.metric{display:grid;gap:6px}.metric span{font-size:14px;font-weight:800;color:var(--muted)}.metric strong{font-family:Georgia,serif;font-size:27px}.metric small{color:var(--muted)}.good{color:var(--ok)}.warn{color:var(--warn)}.panel-grid{grid-template-columns:1.2fr .8fr 1fr;margin-top:22px}.eligibility{padding:16px;border-radius:12px;display:grid;gap:4px}.good-bg{background:#eef8f3}.warn-bg{background:#fff7ea}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{padding:7px 10px;background:var(--soft);border-radius:999px;font-size:14px;font-weight:700}.clean-list{padding-left:20px}@media(max-width:850px){.hero-grid,.feature-grid,.timeline,.membership-grid,.metric-grid,.panel-grid{grid-template-columns:1fr}.nav-links>a:not(.button),.nav-links form{display:none}.hero{padding-top:56px}.section{padding:56px 0}}@media(max-width:480px){.container{width:min(calc(100% - 22px),var(--max))}.hero h1{font-size:46px}.auth-card{padding:24px}.site-footer .container{display:grid}}

/* DHS PSA public brand refresh */
:root{--ink:#162827;--muted:#617674;--paper:#fff;--soft:#f2f8f5;--line:#d9e7e1;--accent:#087f86;--accent-dark:#075d63;--mint:#78b99f;--mint-soft:#e9f5ef;--ok:#176b4d;--warn:#9a5b16}
.psa-brand{gap:12px;min-width:0}.brand-logo{width:58px;height:58px;object-fit:contain;flex:0 0 58px}.brand-copy{display:grid;line-height:1.15;min-width:0}.brand-copy strong{font-family:Georgia,serif;font-size:15px;letter-spacing:.01em;max-width:355px}.brand-copy small{margin-top:5px;color:var(--accent-dark);font-size:14px;font-weight:700;letter-spacing:.035em}.site-header{background:rgba(255,255,255,.97)}.button{background:var(--accent);border-color:var(--accent)}.button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.eyebrow{color:var(--accent-dark)}
.page-hero{background:linear-gradient(135deg,#f3faf6 0%,#fff 68%);border-bottom:1px solid var(--line)}.page-hero-compact{padding:70px 0}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:56px;align-items:center}.page-hero h1{font-family:Georgia,serif;font-size:clamp(44px,6vw,72px);line-height:1.02;letter-spacing:-.03em;margin:.08em 0 .24em}.leadership-mark{width:210px;height:210px;border-radius:50%;background:#fff;display:grid;place-items:center;border:1px solid var(--line);padding:18px}.leadership-mark img{width:100%;height:100%;object-fit:contain;border-radius:50%}.leadership-intro{max-width:850px}.executive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.executive-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff}.executive-photo-wrap{aspect-ratio:4/4.4;background:var(--mint-soft);overflow:hidden;display:grid;place-items:center}.executive-photo{width:100%;height:100%;object-fit:cover;display:block}.executive-photo[src$="default-profile.svg"]{width:50%;height:50%;object-fit:contain}.executive-placeholder{height:100%;display:grid;place-items:center;font-family:Georgia,serif;font-size:54px;font-weight:700;color:var(--accent-dark);background:linear-gradient(145deg,var(--mint-soft),#dceee6)}.executive-card-body{padding:24px}.executive-position{margin:0 0 6px;color:var(--accent-dark);text-transform:uppercase;letter-spacing:.12em;font-size:14px;font-weight:900}.executive-card h3{font-family:Georgia,serif;font-size:26px;line-height:1.15;margin:0 0 5px}.executive-class{color:var(--muted);font-weight:700;margin:0 0 15px}.executive-card-body>p:last-of-type{color:var(--muted)}.executive-contact{display:inline-flex;margin-top:6px;color:var(--accent-dark);font-weight:800;text-decoration:none}.executive-contact:hover{text-decoration:underline}.executive-empty{display:grid;grid-template-columns:90px minmax(0,1fr);gap:24px;align-items:center;padding:32px;border:1px dashed #a8c8bb;border-radius:20px;background:var(--mint-soft)}.executive-empty-icon{width:82px;height:82px;border-radius:50%;background:var(--accent-dark);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:20px;font-weight:800}.executive-empty h3{font-family:Georgia,serif;font-size:28px;margin:0 0 6px}.executive-empty p{margin:0;color:var(--muted);max-width:760px}.leadership-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--line)}.leadership-value-grid article{background:#fff;padding:30px}.leadership-value-grid h3{font-family:Georgia,serif;font-size:26px;margin:8px 0 10px}.leadership-value-grid p{margin:0;color:var(--muted)}.value-number{font-size:14px;letter-spacing:.14em;font-weight:900;color:var(--accent)}.executive-cta-section{padding-top:58px;padding-bottom:72px}.executive-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:38px;border-radius:22px;background:var(--accent-dark);color:#fff}.executive-cta .eyebrow{color:#b9dfce}.executive-cta h2{font-family:Georgia,serif;font-size:38px;margin:0 0 8px}.executive-cta p{max-width:680px;margin:0;color:#d8ebe6}.executive-cta .hero-actions{margin:0;justify-content:flex-end}.executive-cta .button{background:#fff;color:var(--accent-dark)!important;border-color:#fff}.executive-cta .button-secondary{background:transparent;color:#fff!important;border-color:#b6d9cf}.footer-main{align-items:center}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:46px;height:46px;object-fit:contain}.footer-brand div{display:grid}.footer-brand strong{color:var(--ink);font-family:Georgia,serif}.footer-brand span{font-size:14px}.footer-meta{display:grid;text-align:right;gap:3px}.footer-meta strong{color:var(--accent-dark)}
@media(max-width:1050px){.brand-copy strong{max-width:250px;font-size:14px}.nav-links{gap:14px}.executive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.page-hero-grid,.leadership-value-grid{grid-template-columns:1fr}.leadership-mark{display:none}.executive-cta{display:grid}.executive-cta .hero-actions{justify-content:flex-start}.psa-brand{max-width:76%}.brand-logo{width:50px;height:50px;flex-basis:50px}.brand-copy strong{max-width:none}.nav-links>a:not(.button),.nav-links form{display:none}}
@media(max-width:620px){.executive-grid{grid-template-columns:1fr}.executive-empty{grid-template-columns:1fr}.executive-empty-icon{width:66px;height:66px}.page-hero-compact{padding:52px 0}.brand-copy strong{font-size:14px}.brand-copy small{font-size:14px}.footer-main,.footer-brand{align-items:flex-start}.footer-main{display:grid!important}.footer-meta{text-align:left}.executive-cta{padding:28px}}

/* Public Events page */
.events-page-hero{padding:72px 0;background:#fff}.events-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:64px;align-items:center}.events-page-hero h1{font-family:Georgia,serif;font-size:clamp(46px,6vw,74px);line-height:1.02;letter-spacing:-.035em;margin:.08em 0 .24em}.events-hero-mark{justify-self:end;width:250px;min-height:230px;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--mint-soft);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.events-hero-mark:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--mint);opacity:.24;right:-42px;top:-42px}.events-calendar-day{align-self:flex-start;padding:7px 10px;border-radius:999px;background:var(--accent-dark);color:#fff;font-size:14px;font-weight:900;letter-spacing:.13em;position:relative}.events-hero-mark strong{font-family:Georgia,serif;font-size:42px;line-height:1;margin-top:35px;position:relative}.events-hero-mark small{margin-top:10px;color:var(--accent-dark);font-weight:750;position:relative}.events-intro-heading{max-width:860px}.event-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}.event-type-grid article{padding:30px;background:#fff}.event-type-grid h3{font-family:Georgia,serif;font-size:27px;margin:9px 0 10px}.event-type-grid p{margin:0;color:var(--muted)}.event-type-number{font-size:14px;font-weight:900;letter-spacing:.14em;color:var(--accent)}.events-section-top{display:flex;align-items:end;justify-content:space-between;gap:24px}.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.event-card{border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;min-width:0}.event-card-image-wrap{aspect-ratio:16/10;overflow:hidden;background:var(--mint-soft)}.event-card-image{width:100%;height:100%;display:block;object-fit:cover}.event-card-body{padding:24px}.event-card-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;color:var(--muted);font-size:14px;font-weight:750}.event-category{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--mint-soft);color:var(--accent-dark);text-transform:uppercase;letter-spacing:.08em;font-size:14px;font-weight:900}.event-card h3{font-family:Georgia,serif;font-size:27px;line-height:1.13;margin:0 0 11px}.event-card p{margin:13px 0;color:var(--muted)}.event-details{display:flex;flex-wrap:wrap;gap:7px 16px;color:var(--ink);font-size:14px;font-weight:700}.event-details span+span:before{content:"•";margin-right:16px;color:var(--mint)}.event-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent-dark);font-weight:850;text-decoration:none;margin-top:4px}.event-link:hover{text-decoration:underline}.events-empty-state{display:grid;grid-template-columns:110px minmax(0,1fr);gap:28px;align-items:center;padding:36px;border:1px dashed #a8c8bb;border-radius:22px;background:#fff}.events-empty-date{width:96px;height:96px;border-radius:20px;background:var(--accent-dark);color:#fff;display:grid;place-items:center;align-content:center}.events-empty-date span{font-size:14px;font-weight:900;letter-spacing:.14em}.events-empty-date strong{font-family:Georgia,serif;font-size:37px;line-height:1}.events-empty-state h3{font-family:Georgia,serif;font-size:29px;margin:0 0 7px}.events-empty-state p{margin:0;color:var(--muted);max-width:760px}.event-card-past{background:#fafcfb}.events-network-section{padding-top:58px}.events-network-card{display:flex;justify-content:space-between;align-items:center;gap:36px;padding:40px;border-radius:24px;background:var(--accent-dark);color:#fff}.events-network-card .eyebrow{color:#b9dfce}.events-network-card h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,44px);line-height:1.08;margin:0 0 10px;max-width:720px}.events-network-card p{margin:0;color:#d8ebe6;max-width:740px}.events-network-card .hero-actions{margin:0;justify-content:flex-end}.events-network-card .button{background:#fff;color:var(--accent-dark)!important;border-color:#fff}.events-network-card .button-secondary{background:transparent;color:#fff!important;border-color:#b6d9cf}
@media(max-width:1050px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.events-hero-grid{grid-template-columns:minmax(0,1fr) 220px;gap:36px}.events-hero-mark{width:210px;min-height:200px}}
@media(max-width:850px){.events-hero-grid,.event-type-grid{grid-template-columns:1fr}.events-hero-mark{display:none}.events-network-card{display:grid}.events-network-card .hero-actions{justify-content:flex-start}.events-page-hero{padding:54px 0}.events-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.events-grid{grid-template-columns:1fr}.events-empty-state{grid-template-columns:1fr;padding:28px}.events-empty-date{width:76px;height:76px}.events-network-card{padding:29px}.event-card-meta{align-items:flex-start;flex-direction:column}.event-details span+span:before{display:none}}

/* Public About page */
.about-page-hero,.membership-page-hero{padding:72px 0;background:#fff}.about-hero-grid,.membership-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:64px;align-items:center}.about-page-hero h1,.membership-page-hero h1{font-family:Georgia,serif;font-size:clamp(46px,6vw,74px);line-height:1.02;letter-spacing:-.035em;margin:.08em 0 .24em}.about-motto-card{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--mint-soft);display:grid;justify-items:start;gap:7px}.about-motto-card img{width:94px;height:94px;object-fit:contain;margin-bottom:8px;border-radius:50%}.about-motto-card span{font-size:14px;font-weight:900;letter-spacing:.13em;color:var(--accent-dark);text-transform:uppercase}.about-motto-card strong{font-family:Georgia,serif;font-size:28px;line-height:1.15}.about-intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}.about-intro-grid .section-heading{margin:0}.about-copy{font-size:18px;color:var(--muted)}.about-copy p:first-child{margin-top:0}.about-purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--line)}.about-purpose-grid article{background:#fff;padding:32px}.about-purpose-grid h3{font-family:Georgia,serif;font-size:28px;margin:9px 0 10px}.about-purpose-grid p{margin:0;color:var(--muted)}.about-story-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:64px;align-items:start}.about-story-grid h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0 0 16px}.about-story-grid>div>p{font-size:17px;color:var(--muted)}.about-quote-card{padding:32px;border-radius:24px;background:var(--accent-dark);color:#fff}.about-quote-card>span{font-size:14px;font-weight:900;letter-spacing:.14em;color:#b9dfce}.about-quote-card blockquote{font-family:Georgia,serif;font-size:34px;line-height:1.15;margin:24px 0}.about-quote-card p{color:#d8ebe6;margin-bottom:0}.about-cta-section{padding-top:54px}.about-cta-card{padding:40px;border-radius:24px;background:var(--mint-soft);display:flex;align-items:center;justify-content:space-between;gap:36px}.about-cta-card h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,44px);line-height:1.08;margin:0 0 10px}.about-cta-card p{margin:0;color:var(--muted);max-width:720px}.about-cta-card .hero-actions{margin:0;justify-content:flex-end}

/* Public Membership page */
.membership-hero-card{padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--mint-soft)}.membership-hero-card strong{display:block;font-family:Georgia,serif;font-size:31px;line-height:1.12;margin:13px 0 10px}.membership-hero-card p{margin:0;color:var(--muted)}.membership-intro-heading{max-width:880px}.membership-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.membership-benefit-grid article{padding:27px;border:1px solid var(--line);border-radius:20px;background:#fff}.membership-benefit-grid h3{font-family:Georgia,serif;font-size:26px;margin:10px 0}.membership-benefit-grid p{margin:0;color:var(--muted)}.benefit-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--mint-soft);color:var(--accent-dark);font-size:11px;font-weight:900;letter-spacing:.08em}.membership-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.membership-status-card{padding:32px;border:1px solid var(--line);border-radius:22px;background:#fff}.membership-status-primary{border-top:5px solid var(--accent)}.membership-status-card h3{font-family:Georgia,serif;font-size:31px;line-height:1.12;margin:12px 0 10px}.membership-status-card>p{color:var(--muted)}.membership-check-list{padding:0;margin:24px 0;list-style:none;display:grid;gap:12px}.membership-check-list li{position:relative;padding-left:28px}.membership-check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:900}.membership-rule{display:block;padding-top:16px;border-top:1px solid var(--line);color:var(--accent-dark)}.eligibility-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}.eligibility-flow>div{padding:28px;background:#fff;display:grid;gap:8px}.eligibility-flow span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--mint-soft);color:var(--accent-dark);font-weight:900}.eligibility-flow strong{font-family:Georgia,serif;font-size:22px;line-height:1.18}.eligibility-flow small{color:var(--muted);font-size:14px}.eligibility-flow-final{background:var(--accent-dark)!important;color:#fff}.eligibility-flow-final span{background:#fff;color:var(--accent-dark)}.eligibility-flow-final small{color:#d8ebe6}.membership-join-card{padding:40px;border-radius:24px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:36px}.membership-join-card h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,44px);line-height:1.08;margin:0 0 10px}.membership-join-card p{margin:0;color:var(--muted);max-width:760px}.membership-join-card .hero-actions{margin:0;justify-content:flex-end}
@media(max-width:1050px){.membership-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-hero-grid,.membership-hero-grid{grid-template-columns:minmax(0,1fr) 280px;gap:40px}}
@media(max-width:850px){.about-hero-grid,.membership-hero-grid,.about-intro-grid,.about-purpose-grid,.about-story-grid,.membership-status-grid,.eligibility-flow{grid-template-columns:1fr}.about-motto-card{display:none}.about-cta-card,.membership-join-card{display:grid}.about-cta-card .hero-actions,.membership-join-card .hero-actions{justify-content:flex-start}.about-page-hero,.membership-page-hero{padding:54px 0}}
@media(max-width:620px){.membership-benefit-grid{grid-template-columns:1fr}.about-cta-card,.membership-join-card{padding:28px}.membership-status-card{padding:26px}}

/* Refined public homepage */
.home-banner{width:100%;overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}
.home-banner img{display:block;width:100%;height:min(78vh,820px);min-height:420px;object-fit:cover;object-position:center center}
.home-welcome{padding-top:74px}
.home-welcome-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:70px;align-items:center}
.home-welcome-copy h1{font-family:Georgia,serif;font-size:clamp(46px,6vw,74px);line-height:1.02;letter-spacing:-.035em;margin:.08em 0 .24em;max-width:780px}
.home-principles{border-top:1px solid var(--line)}
.home-principles article{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.home-principles article>span,.home-feature-number{font-size:14px;font-weight:900;letter-spacing:.12em;color:var(--accent)}
.home-principles strong{font-family:Georgia,serif;font-size:25px;line-height:1.1}
.home-principles p{margin:5px 0 0;color:var(--muted)}
.home-section-heading{max-width:850px}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-feature-grid article{padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}
.home-feature-grid h3{font-family:Georgia,serif;font-size:29px;line-height:1.1;margin:12px 0 10px}
.home-feature-grid p{color:var(--muted);margin:0 0 18px}
.home-feature-grid a{margin-top:auto;color:var(--accent-dark);font-weight:850;text-decoration:none}
.home-feature-grid a:hover{text-decoration:underline}
.home-community-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:60px;align-items:start}
.home-community-grid .section-heading{margin:0}
.home-timeline{grid-template-columns:1fr}
.home-membership-callout{display:flex;align-items:center;justify-content:space-between;gap:48px}
.home-membership-callout>div:first-child{max-width:770px}
.home-membership-callout h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0 0 13px}
.home-membership-callout p{font-size:17px;color:var(--muted);margin:0}
.home-membership-callout .hero-actions{margin:0;justify-content:flex-end;flex:0 0 auto}
.home-network-section{padding-top:64px;padding-bottom:82px}
.home-network-card{padding:48px;border-radius:26px;background:var(--accent-dark);color:#fff;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:52px;align-items:center}
.home-network-card .eyebrow{color:#b9dfce}
.home-network-card h2{font-family:Georgia,serif;font-size:clamp(34px,4.5vw,52px);line-height:1.05;margin:0 0 16px;max-width:820px}
.home-network-card p{color:#d8ebe6;font-size:17px;max-width:850px}
.home-network-card p strong{color:#fff}
.home-network-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.home-network-actions .button{background:#fff;color:var(--accent-dark)!important;border-color:#fff}
.home-network-actions .button-secondary{background:transparent;color:#fff!important;border-color:#b6d9cf}
@media(max-width:950px){
  .home-banner img{height:min(62vh,650px);min-height:340px}
  .home-welcome-grid,.home-community-grid,.home-network-card{grid-template-columns:1fr;gap:38px}
  .home-feature-grid{grid-template-columns:1fr 1fr}
  .home-membership-callout{display:grid;gap:24px}
  .home-membership-callout .hero-actions{justify-content:flex-start}
  .home-network-actions{flex-direction:row;flex-wrap:wrap;align-items:center}
}
@media(max-width:620px){
  .home-banner img{height:46vh;min-height:280px;object-position:center center}
  .home-welcome{padding-top:54px}
  .home-feature-grid{grid-template-columns:1fr}
  .home-network-card{padding:30px}
}

/* DHS PSAN public page */
.psan-page-hero,.contact-page-hero{padding:72px 0;background:#fff}
.psan-hero-grid,.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:center}
.psan-page-hero h1,.contact-page-hero h1{font-family:Georgia,serif;font-size:clamp(48px,7vw,80px);line-height:1;letter-spacing:-.04em;margin:.08em 0 .24em}
.psan-identity-card{padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--mint-soft);display:grid;gap:8px}
.psan-identity-card img{width:100px;height:100px;object-fit:contain;border-radius:50%;margin-bottom:8px}
.psan-identity-card span{font-size:14px;font-weight:900;letter-spacing:.14em;color:var(--accent-dark)}
.psan-identity-card strong{font-family:Georgia,serif;font-size:29px;line-height:1.12}
.psan-identity-card p{margin:2px 0 0;color:var(--muted)}
.psan-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.psan-intro-grid .section-heading{margin:0}
.psan-intro-copy{font-size:18px;color:var(--muted)}
.psan-intro-copy p:first-child{margin-top:0}
.psan-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.psan-feature-grid article,.psan-service-grid article{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}
.psan-feature-grid article>span{font-size:14px;font-weight:900;letter-spacing:.12em;color:var(--accent)}
.psan-feature-grid h3,.psan-service-grid h3{font-family:Georgia,serif;font-size:26px;line-height:1.12;margin:10px 0}
.psan-feature-grid p,.psan-service-grid p{margin:0;color:var(--muted)}
.psan-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.psan-governance-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:56px;align-items:center}
.psan-governance-grid h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,48px);line-height:1.08;margin:0 0 14px}
.psan-governance-grid>div:first-child>p:last-child{color:var(--muted);font-size:17px}
.psan-governance-card{padding:30px;border-radius:22px;background:var(--accent-dark);color:#fff}
.psan-governance-card span{font-size:14px;font-weight:900;letter-spacing:.14em;color:#b9dfce}
.psan-governance-card strong{display:block;font-family:Georgia,serif;font-size:29px;line-height:1.14;margin:13px 0}
.psan-governance-card p{color:#d8ebe6}
.psan-governance-card a{color:#fff;font-weight:850;text-decoration:none}
.psan-governance-card a:hover{text-decoration:underline}
.psan-access-card{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:40px;border:1px solid var(--line);border-radius:24px;background:var(--mint-soft)}
.psan-access-card h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,44px);line-height:1.08;margin:0 0 10px}
.psan-access-card p{max-width:760px;margin:0;color:var(--muted)}
.psan-access-card .hero-actions{margin:0;flex:0 0 auto}

/* Contact page */
.contact-hero-card{padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--mint-soft);display:grid;gap:7px}
.contact-hero-card img{width:92px;height:92px;object-fit:contain;border-radius:50%;margin-bottom:8px}
.contact-hero-card strong{font-family:Georgia,serif;font-size:25px;line-height:1.18}
.contact-hero-card span{color:var(--accent-dark);font-size:14px;font-weight:800}
.contact-help-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:56px;align-items:start}
.contact-help-grid .section-heading{margin:0}
.contact-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-topic-grid a{display:grid;grid-template-columns:40px 1fr;column-gap:14px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;color:var(--ink)}
.contact-topic-grid a>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--mint-soft);color:var(--accent-dark);font-size:14px;font-weight:900}
.contact-topic-grid strong{font-family:Georgia,serif;font-size:21px;line-height:1.1}
.contact-topic-grid small{margin-top:5px;color:var(--muted);font-size:14px;line-height:1.4}
.contact-form-layout{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:56px;align-items:start}
.contact-form-layout>div:first-child h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,48px);line-height:1.08;margin:0 0 14px}
.contact-form-layout>div:first-child>p{color:var(--muted);font-size:17px}
.contact-note{margin-top:28px;padding:20px;border-left:4px solid var(--accent);background:#fff;display:grid;gap:5px}
.contact-note span{color:var(--muted);font-size:14px}
.contact-form-card{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff}
.contact-success{padding:14px 16px;margin-bottom:20px;border:1px solid #a7d6bf;border-radius:12px;background:#edf8f2;color:#145b40;font-weight:750}
.contact-form{display:grid;gap:18px}
.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form label{display:grid;gap:8px;font-weight:750}
.contact-form label small{font-weight:550;color:var(--muted)}
.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid #c9d7d1;border-radius:11px;background:#fff;color:var(--ink);font:inherit;outline:none}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(8,127,134,.11)}
.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}

/* Preserve the top of the supplied PSA banner photograph so faces are not cropped. */
.home-banner img{object-position:center top}

@media(max-width:1120px){.nav-links{gap:11px}.nav-links a,.link-button{font-size:14px}.brand-copy strong{max-width:220px}}
@media(max-width:950px){.psan-feature-grid{grid-template-columns:1fr 1fr}.psan-service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.psan-hero-grid,.contact-hero-grid,.psan-intro-grid,.psan-governance-grid,.contact-help-grid,.contact-form-layout{grid-template-columns:1fr}.psan-identity-card,.contact-hero-card{display:none}.psan-access-card{display:grid}.psan-access-card .hero-actions{justify-content:flex-start}.contact-topic-grid{grid-template-columns:1fr 1fr}.psan-page-hero,.contact-page-hero{padding:54px 0}}
@media(max-width:620px){.psan-feature-grid,.psan-service-grid,.contact-topic-grid,.contact-field-grid{grid-template-columns:1fr}.psan-access-card,.contact-form-card{padding:26px}.home-banner img{object-position:center top}}
.footer-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.footer-links a{color:var(--muted);font-weight:700;text-decoration:none;font-size:14px}.footer-links a:hover{color:var(--accent-dark);text-decoration:underline}
@media(max-width:850px){.footer-main{align-items:flex-start}.footer-meta{text-align:left}.footer-links{justify-content:flex-start}}

/* Contact information + social channels */
.contact-direct-heading{max-width:820px}.contact-direct-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.contact-direct-card{min-width:0;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:14px;transition:border-color .2s ease,transform .2s ease}.contact-direct-card:hover{border-color:#aacfc1;transform:translateY(-2px)}.contact-direct-icon{width:44px;height:44px;border-radius:14px;background:var(--mint-soft);color:var(--accent-dark);display:grid;place-items:center;flex:0 0 44px;font-size:12px;font-weight:950;letter-spacing:.04em}.contact-direct-card>span:last-child{display:grid;min-width:0}.contact-direct-card small{font-size:14px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.contact-direct-card strong{margin-top:4px;font-size:15px;overflow-wrap:anywhere}.whatsapp-community-card{margin-top:24px;padding:34px 38px;border-radius:22px;background:var(--accent-dark);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:38px}.whatsapp-community-card .eyebrow{color:#b9dfce;margin-bottom:8px}.whatsapp-community-card h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,42px);line-height:1.08;margin:0 0 8px}.whatsapp-community-card p:last-child{margin:0;max-width:760px;color:#d9ece7}.whatsapp-button{background:#fff!important;border-color:#fff!important;color:var(--accent-dark)!important;white-space:nowrap}.footer-meta a{color:var(--muted);text-decoration:none}.footer-meta a:hover{color:var(--accent-dark);text-decoration:underline}.footer-social-links{display:flex;gap:10px;justify-content:flex-end}.footer-social-links a{font-weight:800}
@media(max-width:1000px){.contact-direct-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.whatsapp-community-card{display:grid;padding:28px}.whatsapp-button{justify-self:start;white-space:normal}.footer-social-links{justify-content:flex-start}}
@media(max-width:560px){.contact-direct-grid{grid-template-columns:1fr}}

/* About page — Denbigh school + generations */
.about-school-section{padding-top:64px}
.about-school-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:54px;align-items:start;margin-bottom:34px}
.about-school-grid h2{font-family:Georgia,serif;font-size:clamp(34px,4.5vw,52px);line-height:1.06;margin:0 0 18px;color:var(--ink)}
.about-school-grid>div>p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:760px}
.about-school-facts{padding:30px;border-radius:22px;background:var(--mint-soft,#edf8f4);border:1px solid var(--line);display:grid;gap:10px}
.about-school-facts>span{font-size:14px;font-weight:900;letter-spacing:.14em;color:var(--accent-dark,var(--accent))}
.about-school-facts>strong{font-family:Georgia,serif;font-size:28px;line-height:1.14}
.about-school-facts>p{margin:0;color:var(--muted)}
.about-generations-figure{margin:0;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.about-generations-figure img{display:block;width:100%;height:auto;aspect-ratio:16/6.2;object-fit:cover;object-position:center center}
.about-generations-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 24px;background:#fff}
.about-generations-figure figcaption strong{font-family:Georgia,serif;font-size:22px;color:var(--accent-dark,var(--accent))}
.about-generations-figure figcaption span{color:var(--muted);text-align:right}
@media(max-width:850px){.about-school-grid{grid-template-columns:1fr;gap:28px}.about-generations-figure img{aspect-ratio:4/2.3}.about-generations-figure figcaption{display:grid}.about-generations-figure figcaption span{text-align:left}}
@media(max-width:560px){.about-generations-figure img{aspect-ratio:1/1;object-position:40% center}.about-generations-figure figcaption{padding:18px}.about-school-facts{padding:24px}}
/* About page: authentic past/present imagery, mission, vision, values and President message */
.about-generations-collage{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:430px;
    background:var(--accent-dark);
    overflow:hidden;
}
.about-generation-panel{
    position:relative;
    min-width:0;
    overflow:hidden;
}
.about-generation-panel img{
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:cover;
    display:block;
}
.about-generation-panel:first-child img{object-position:center 30%}
.about-generation-panel:nth-child(2) img{object-position:center top}
.about-generation-label{
    position:absolute;
    left:18px;
    bottom:18px;
    padding:8px 13px;
    border-radius:999px;
    background:rgba(4,65,66,.88);
    color:#fff;
    font-size:14px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.about-generation-motto{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:min(340px,72%);
    padding:20px 24px;
    border-radius:18px;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(255,255,255,.8);
    text-align:center;
    box-shadow:0 12px 34px rgba(0,0,0,.15);
}
.about-generation-motto span{
    display:block;
    color:var(--accent-dark);
    font-size:14px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:5px;
}
.about-generation-motto strong{
    font-family:Georgia,serif;
    color:var(--ink);
    font-size:25px;
    line-height:1.12;
}
.about-mission-vision-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}
.about-statement-card{
    padding:34px;
    border:1px solid var(--line);
    border-radius:24px;
    background:#fff;
}
.about-statement-card-accent{background:var(--mint-soft)}
.about-statement-card>span,
.about-president-identity>span{
    display:block;
    color:var(--accent-dark);
    font-size:14px;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
    margin-bottom:10px;
}
.about-statement-card h3{
    font-family:Georgia,serif;
    font-size:32px;
    margin:0 0 14px;
}
.about-statement-card p{
    color:var(--muted);
    margin:0;
    font-size:17px;
}
.about-values-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.about-values-grid article{
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:28px;
}
.about-values-grid article:last-child{
    grid-column:span 3;
}
.about-values-grid h3{
    font-family:Georgia,serif;
    font-size:26px;
    margin:8px 0 10px;
}
.about-values-grid p{
    color:var(--muted);
    margin:0;
}
.about-president-section{background:#fff}
.about-president-grid{
    display:grid;
    grid-template-columns:minmax(240px,.7fr) minmax(0,1.5fr);
    gap:58px;
    align-items:start;
}
.about-president-identity{
    position:sticky;
    top:24px;
    padding:32px;
    border-radius:24px;
    background:var(--mint-soft);
    border:1px solid var(--line);
}
.about-president-photo{
    width:100%;
    max-width:240px;
    margin:18px 0;
    border-radius:20px;
    overflow:hidden;
    border:1px solid var(--line);
    box-shadow:0 12px 34px rgba(0,0,0,.08);
}
.about-president-photo img{
    width:100%;
    display:block;
    aspect-ratio:4/5;
    object-fit:cover;
    object-position:center top;
}
.about-president-identity h2{
    font-family:Georgia,serif;
    font-size:32px;
    margin:0 0 5px;
}
.about-president-identity p{
    margin:0;
    color:var(--accent-dark);
    font-weight:800;
}
.about-president-identity small{
    display:block;
    color:var(--muted);
    margin-top:7px;
}
.about-president-message{
    max-width:820px;
}
.about-president-message h2{
    font-family:Georgia,serif;
    font-size:clamp(34px,4.5vw,50px);
    line-height:1.06;
    margin:0 0 24px;
}
.about-president-message p{
    font-size:17px;
    color:var(--muted);
    line-height:1.8;
}
.about-president-closing{
    margin-top:28px;
    color:var(--ink)!important;
}
@media(max-width:900px){
    .about-mission-vision-grid,
    .about-president-grid{grid-template-columns:1fr}
    .about-president-identity{position:static}
    .about-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .about-values-grid article:last-child{grid-column:span 2}
}
@media(max-width:700px){
    .about-generations-collage{grid-template-columns:1fr;min-height:0}
    .about-generation-panel img{min-height:300px}
    .about-generation-motto{
        position:relative;
        left:auto;
        top:auto;
        transform:none;
        width:auto;
        border-radius:0;
        box-shadow:none;
    }
    .about-generation-label{bottom:14px}
}
@media(max-width:560px){
    .about-values-grid{grid-template-columns:1fr}
    .about-values-grid article:last-child{grid-column:auto}
    .about-statement-card,
    .about-president-identity{padding:26px}
}


/* Constitution flipbook - reliable single-page page-turn reader */
.constitution-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);
    gap:34px;
    align-items:center;
}
.constitution-hero-card{
    padding:28px;
    border-radius:22px;
    background:var(--mint-soft);
    border:1px solid var(--line);
}
.constitution-hero-card span{
    display:block;
    color:var(--accent-dark);
    font-size:14px;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.constitution-hero-card strong{
    display:block;
    margin-top:8px;
    font-family:Georgia,serif;
    font-size:28px;
    line-height:1.1;
}
.constitution-hero-card small{
    display:block;
    margin-top:9px;
    color:var(--muted);
}
.constitution-reader-section{
    background:#f4efe5;
}
.constitution-toolbar{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-bottom:22px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}
.constitution-control{
    min-height:44px;
    padding:8px 14px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:var(--ink);
    font-weight:800;
    cursor:pointer;
}
.constitution-control:hover:not(:disabled){
    border-color:var(--accent);
    color:var(--accent-dark);
}
.constitution-control:disabled{
    opacity:.4;
    cursor:not-allowed;
}
.constitution-page-status{
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 8px;
    font-size:14px;
    font-weight:800;
}
.constitution-page-status input{
    width:72px;
    min-height:44px;
    padding:8px;
    border:1px solid var(--line);
    border-radius:10px;
    font:inherit;
    text-align:center;
}
.constitution-flipbook-shell{
    max-width:780px;
    margin:0 auto;
    padding:24px;
    border-radius:26px;
    background:#d7c7a5;
    border:1px solid #c8b78f;
    box-shadow:0 22px 58px rgba(48,39,23,.14);
}
.constitution-flipbook{
    position:relative;
    width:100%;
    aspect-ratio:8.5/11;
    perspective:1800px;
    outline:none;
}
.constitution-flipbook:focus-visible{
    box-shadow:0 0 0 4px rgba(10,138,146,.22);
    border-radius:12px;
}
.constitution-flip-page{
    position:absolute;
    inset:0;
    display:none;
    margin:0;
    transform-origin:left center;
    backface-visibility:hidden;
}
.constitution-flip-page.is-active{
    display:block;
}
.constitution-paper{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    border-radius:10px;
    background:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.constitution-paper::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(0,0,0,.05),transparent 7%,transparent 93%,rgba(0,0,0,.035));
}
.constitution-paper img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    background:#fff;
}
.constitution-page-number{
    position:absolute;
    right:12px;
    bottom:10px;
    min-width:30px;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(4,65,66,.86);
    color:#fff;
    font-size:14px;
    font-weight:900;
    text-align:center;
}
.constitution-flip-page.turning-next{
    display:block;
    animation:constitution-page-next .18s ease forwards;
}
.constitution-flip-page.turning-prev{
    display:block;
    transform-origin:right center;
    animation:constitution-page-prev .18s ease forwards;
}
@keyframes constitution-page-next{
    from{transform:rotateY(0deg);opacity:1}
    to{transform:rotateY(-18deg);opacity:.18}
}
@keyframes constitution-page-prev{
    from{transform:rotateY(0deg);opacity:1}
    to{transform:rotateY(18deg);opacity:.18}
}
.constitution-reader-footer{
    max-width:900px;
    margin:22px auto 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}
.constitution-reader-footer p{
    margin:0;
    color:var(--muted);
    max-width:620px;
}
.constitution-noscript{
    max-width:780px;
    margin:18px auto 0;
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}
.constitution-note-card{
    display:grid;
    grid-template-columns:minmax(230px,.6fr) minmax(0,1.4fr);
    gap:34px;
    align-items:center;
}
.constitution-note-card h2{margin-bottom:0}
.constitution-note-card>p{
    margin:0;
    color:var(--muted);
    font-size:17px;
}
@media(max-width:850px){
    .constitution-hero-grid,
    .constitution-note-card{
        grid-template-columns:1fr;
    }
    .constitution-reader-footer{
        flex-direction:column;
        align-items:flex-start;
    }
}
@media(max-width:600px){
    .constitution-flipbook-shell{padding:10px;border-radius:16px}
    .constitution-toolbar{gap:7px}
    .constitution-control{padding:8px 10px;font-size:14px}
    .constitution-page-status{order:-1;width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
    .constitution-flip-page.turning-next,
    .constitution-flip-page.turning-prev{
        animation:none;
    }
}

/* Executive Team profile image size refinement */
.executive-photo-wrap{
    padding:18px;
}
.executive-photo{
    width:70%;
    height:70%;
    max-width:220px;
    max-height:260px;
    object-fit:cover;
    object-position:center top;
    border-radius:16px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}
.executive-photo[src$="default-profile.svg"]{
    width:42%;
    height:42%;
    max-width:150px;
    max-height:150px;
    object-fit:contain;
    border-radius:0;
    box-shadow:none;
}
@media(max-width:640px){
    .executive-photo-wrap{
        padding:14px;
    }
    .executive-photo{
        width:66%;
        height:66%;
        max-width:190px;
        max-height:225px;
    }
    .executive-photo[src$="default-profile.svg"]{
        width:40%;
        height:40%;
        max-width:130px;
        max-height:130px;
    }
}

/* Events Phase 1 - Gate Link external ticketing */
.events-filter-section{padding:0 0 18px;background:#fff;border-bottom:1px solid var(--line)}
.events-filter-row,.admin-filter-row{display:flex;gap:9px;flex-wrap:wrap}
.event-filter{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:#fff;text-decoration:none;font-size:14px;font-weight:800}
.event-filter:hover,.event-filter.active{border-color:var(--accent);background:var(--mint-soft);color:var(--accent-dark)}
.featured-event-section{padding-bottom:30px}
.featured-event-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#fff}
.featured-event-content{padding:42px}
.featured-event-content h2{font-family:Georgia,serif;font-size:clamp(34px,4.5vw,54px);line-height:1.05;margin:8px 0 14px}
.featured-event-content>p:not(.eyebrow){font-size:18px;color:var(--muted);max-width:700px}
.featured-event-image{min-height:360px;background:var(--mint-soft)}
.featured-event-image img{width:100%;height:100%;display:block;object-fit:cover}
.featured-event-placeholder{min-height:360px;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,var(--accent-dark),var(--accent));color:#fff}
.featured-event-placeholder span{font-size:18px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.featured-event-placeholder strong{font-family:Georgia,serif;font-size:96px;line-height:.95}
.event-card h3 a{color:inherit;text-decoration:none}
.event-card h3 a:hover{color:var(--accent-dark)}
.event-card-date-art{aspect-ratio:16/10;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,var(--mint-soft),#d9eee5);color:var(--accent-dark)}
.event-card-date-art span{font-size:14px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.event-card-date-art strong{font-family:Georgia,serif;font-size:64px;line-height:1}
.event-status{display:inline-flex;width:max-content;margin:0 0 11px;padding:5px 8px;border-radius:999px;font-size:14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:#eef2f4;color:#53616d}
.event-status-postponed{background:#fff3d9;color:#85590f}
.event-status-cancelled{background:#fff0ef;color:#9b3028}
.event-status-completed{background:#edf4f2;color:#42635b}
.gatelink-badge{display:inline-flex;width:max-content;align-items:center;padding:6px 9px;border-radius:999px;background:#eef7f7;color:var(--accent-dark);font-size:14px;font-weight:900;letter-spacing:.035em}
.event-card-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}
.event-ticket-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:10px;background:var(--accent-dark);color:#fff;text-decoration:none;font-size:14px;font-weight:900}
.event-ticket-link:hover{background:var(--accent)}
.event-detail-hero{padding:58px 0 64px;background:linear-gradient(135deg,#f3faf6,#fff);border-bottom:1px solid var(--line)}
.event-back-link{display:inline-flex;margin-bottom:30px;color:var(--accent-dark);font-weight:800;text-decoration:none}
.event-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:48px;align-items:center}
.event-detail-hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,70px);line-height:1.02;letter-spacing:-.03em;margin:14px 0 16px}
.event-detail-badges{display:flex;gap:8px;flex-wrap:wrap}
.event-detail-date-card{width:170px;height:190px;justify-self:end;display:grid;place-items:center;align-content:center;border-radius:24px;background:var(--accent-dark);color:#fff}
.event-detail-date-card span{font-size:15px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.event-detail-date-card strong{font-family:Georgia,serif;font-size:72px;line-height:1}
.event-detail-date-card small{font-size:14px;font-weight:800}
.event-detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:42px;align-items:start}
.event-detail-feature-image{width:100%;max-height:560px;object-fit:cover;border-radius:24px;margin-bottom:32px}
.event-detail-copy{font-size:17px;color:var(--muted)}
.event-detail-copy .eyebrow{color:var(--accent-dark)}
.event-detail-sidebar{display:grid;gap:18px;position:sticky;top:98px}
.event-info-card,.event-ticket-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}
.event-info-card h2,.event-ticket-card h2{font-family:Georgia,serif;font-size:27px;line-height:1.12;margin:0 0 18px}
.event-info-list{display:grid;gap:15px;margin:0}
.event-info-list div{padding-bottom:14px;border-bottom:1px solid var(--line)}
.event-info-list div:last-child{padding-bottom:0;border-bottom:0}
.event-info-list dt{font-size:14px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.event-info-list dd{margin:4px 0 0;font-weight:700}
.event-ticket-card{background:var(--mint-soft);border-color:#cce4db}
.event-ticket-card>p{color:var(--muted)}
.event-price-label{display:block;margin:0 0 12px;font-size:20px;color:var(--accent-dark)}
.event-ticket-button{width:100%;margin:8px 0 14px}
.event-ticket-card small{display:block;color:var(--muted);line-height:1.5}
.event-ticket-unavailable{padding:12px;border-radius:10px;background:#fff0ef;color:#9b3028;font-weight:800;margin:10px 0}
.admin-page-heading{display:flex;align-items:center;justify-content:space-between;gap:28px}
.admin-page-heading h1{margin-bottom:10px}
.admin-page-heading p{max-width:800px;color:var(--muted);margin:0}
.admin-success{margin-bottom:22px;padding:14px 16px;border:1px solid #b8dfcf;border-radius:12px;background:#eef8f3;color:#176b4d;font-weight:750}
.admin-filter-row{margin-bottom:24px}
.admin-event-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px}
.admin-event-table{width:100%;min-width:880px;border-collapse:collapse;background:#fff}
.admin-event-table th{padding:14px 16px;background:var(--soft);border-bottom:1px solid var(--line);text-align:left;font-size:14px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.admin-event-table td{padding:17px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.admin-event-table tr:last-child td{border-bottom:0}
.admin-event-table td strong,.admin-event-table td small{display:block}
.admin-event-table td small{margin-top:4px;color:var(--muted)}
.admin-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eef2f4;font-size:14px;font-weight:900;text-transform:uppercase}
.admin-status-published{background:#eef8f3;color:#176b4d}
.admin-status-postponed{background:#fff3d9;color:#85590f}
.admin-status-cancelled{background:#fff0ef;color:#9b3028}
.admin-status-completed{background:#edf4f2;color:#42635b}
.admin-event-actions{display:flex;align-items:center;gap:12px}
.admin-event-actions a,.admin-event-actions button{border:0;background:none;padding:0;color:var(--accent-dark);font:inherit;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer}
.admin-event-actions button{color:#9b3028}
.admin-event-form{display:grid;gap:24px}
.admin-form-section{padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff}
.admin-form-section-heading{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:24px}
.admin-form-section-heading>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--mint-soft);color:var(--accent-dark);font-size:14px;font-weight:900}
.admin-form-section-heading h2{font-family:Georgia,serif;font-size:28px;margin:0 0 3px}
.admin-form-section-heading p{margin:0;color:var(--muted)}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.admin-field{display:grid;gap:7px;font-weight:800;min-width:0}
.admin-field-wide{grid-column:1/-1}
.admin-field>span{font-size:14px}
.admin-field input,.admin-field select,.admin-field textarea{width:100%;padding:12px 13px;border:1px solid #c8d8d2;border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.admin-field textarea{resize:vertical}
.admin-field small{font-weight:500;color:var(--muted)}
.admin-check{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-weight:750}
.admin-check input{width:18px;height:18px}
.gatelink-field.is-muted{opacity:.55}
.gatelink-phase-note{margin-top:20px;padding:15px;border-left:4px solid var(--accent);background:var(--mint-soft);color:var(--muted)}
.gatelink-phase-note strong{color:var(--accent-dark)}
.admin-form-actions{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:10px}
.admin-validation{margin-bottom:22px}
.admin-validation ul{margin-bottom:0}
@media(max-width:900px){
    .featured-event-card,.event-detail-layout{grid-template-columns:1fr}
    .featured-event-image,.featured-event-placeholder{min-height:280px}
    .event-detail-sidebar{position:static}
    .admin-page-heading{display:grid}
}
@media(max-width:700px){
    .event-detail-hero-grid{grid-template-columns:1fr}
    .event-detail-date-card{justify-self:start;width:130px;height:145px}
    .event-detail-date-card strong{font-size:56px}
    .featured-event-content{padding:30px}
    .event-card-actions{align-items:flex-start;flex-direction:column}
    .admin-form-grid{grid-template-columns:1fr}
    .admin-field-wide,.admin-check{grid-column:auto}
    .admin-form-section{padding:22px}
}

/* =========================================================
   Modern Event Editor
   ========================================================= */
.event-editor-hero{
    position:relative;
    overflow:hidden;
    padding:34px 0 30px;
    background:
        radial-gradient(circle at 88% -10%, rgba(134,201,175,.28), transparent 34%),
        linear-gradient(135deg,#f7fbf9 0%,#ffffff 62%,#f2faf7 100%);
    border-bottom:1px solid #dce9e4;
}
.event-editor-hero::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:-80px;
    bottom:-150px;
    border:34px solid rgba(10,138,146,.06);
    border-radius:50%;
    pointer-events:none;
}
.event-editor-breadcrumbs{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:18px;
    font-size:14px;
    font-weight:750;
    color:#6f827b;
}
.event-editor-breadcrumbs a{
    color:#08777e;
    text-decoration:none;
}
.event-editor-hero-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
}
.event-editor-heading{
    min-width:0;
}
.event-editor-kicker{
    display:inline-flex;
    margin-bottom:8px;
    padding:5px 9px;
    border:1px solid rgba(10,138,146,.18);
    border-radius:999px;
    background:rgba(255,255,255,.72);
    color:#08777e;
    font-size:14px;
    font-weight:900;
    letter-spacing:.12em;
}
.event-editor-heading h1{
    margin:0;
    font-family:Georgia,serif;
    font-size:clamp(36px,4.6vw,56px);
    line-height:1.04;
    letter-spacing:-.025em;
    color:#173c3e;
}
.event-editor-heading p{
    max-width:700px;
    margin:10px 0 0;
    color:#667873;
    font-size:16px;
}
.event-editor-hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.event-editor-back-button,
.event-editor-preview-button{
    display:inline-flex;
    min-height:43px;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 15px;
    border-radius:12px;
    border:1px solid #cfe0da;
    background:#fff;
    color:#244e4f;
    text-decoration:none;
    font-size:14px;
    font-weight:850;
    box-shadow:0 6px 18px rgba(23,60,62,.04);
}
.event-editor-preview-button{
    background:#eaf7f2;
    border-color:#c1e3d7;
    color:#08777e;
}
.event-editor-back-button svg,
.event-editor-preview-button svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.event-editor-preview-button svg path:first-child{
    fill:currentColor;
    stroke:none;
}
.event-editor-page{
    padding:34px 0 70px;
    background:#f4f7f6;
}
.event-editor-layout{
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    gap:26px;
    align-items:start;
}
.event-editor-sidebar{
    position:sticky;
    top:92px;
    display:grid;
    gap:16px;
}
.event-editor-sidebar-card,
.event-editor-help-card{
    border:1px solid #dce7e3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(23,60,62,.035);
}
.event-editor-sidebar-card{
    padding:16px;
}
.event-editor-sidebar-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:2px 4px 13px;
    border-bottom:1px solid #edf2f0;
}
.event-editor-sidebar-title span{
    font-size:14px;
    font-weight:900;
    color:#23494a;
}
.event-editor-sidebar-title small{
    color:#84938e;
    font-size:14px;
    font-weight:800;
}
.event-editor-step-nav{
    display:grid;
    gap:4px;
    margin-top:10px;
}
.event-editor-step-nav a{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:10px;
    border-radius:12px;
    color:#536963;
    text-decoration:none;
    transition:background .16s ease,color .16s ease,transform .16s ease;
}
.event-editor-step-nav a:hover,
.event-editor-step-nav a.active{
    background:#eef8f4;
    color:#086f74;
}
.event-editor-step-nav a:hover{
    transform:translateX(2px);
}
.event-editor-step-number{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:10px;
    background:#f0f4f2;
    color:#71817c;
    font-size:14px;
    font-weight:950;
}
.event-editor-step-nav a.active .event-editor-step-number{
    background:#0a8a92;
    color:#fff;
}
.event-editor-step-nav strong,
.event-editor-step-nav small{
    display:block;
}
.event-editor-step-nav strong{
    font-size:14px;
    line-height:1.2;
}
.event-editor-step-nav small{
    margin-top:2px;
    color:#87958f;
    font-size:14px;
    line-height:1.25;
}
.event-editor-help-card{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    padding:16px;
    background:linear-gradient(145deg,#0b7177,#075d63);
    border-color:#075d63;
    color:#fff;
}
.event-editor-help-logo{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:rgba(255,255,255,.13);
    font-size:12px;
    font-weight:950;
    letter-spacing:.04em;
}
.event-editor-help-card strong{
    font-size:14px;
}
.event-editor-help-card p{
    margin:4px 0 0;
    color:rgba(255,255,255,.75);
    font-size:14px;
    line-height:1.5;
}
.event-editor-main{
    min-width:0;
}
.event-editor-form{
    display:grid;
    gap:20px;
}
.event-editor-card{
    margin:0;
    padding:0;
    overflow:hidden;
    border:1px solid #dce7e3;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 35px rgba(23,60,62,.04);
    scroll-margin-top:110px;
}
.event-editor-card-heading{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:15px;
    align-items:center;
    margin:0;
    padding:22px 24px 20px;
    border-bottom:1px solid #edf2f0;
    background:linear-gradient(180deg,#fff,#fcfdfd);
}
.event-editor-section-icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:14px;
    background:#edf8f4;
    color:#08777e;
}
.event-editor-section-icon svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.event-editor-gatelink-icon{
    background:#0a8a92;
    color:#fff;
    font-size:12px;
    font-weight:950;
    letter-spacing:.04em;
}
.event-editor-section-label{
    display:block;
    margin-bottom:3px;
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.event-editor-card-heading h2{
    margin:0;
    font-family:Georgia,serif;
    font-size:24px;
    line-height:1.15;
    color:#1d4446;
}
.event-editor-card-heading p{
    margin:4px 0 0;
    color:#788883;
    font-size:14px;
}
.event-editor-grid{
    padding:24px;
    gap:19px;
}
.event-editor-grid-three{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.event-editor-field{
    gap:8px;
}
.event-editor-field>span,
.event-editor-choice-label{
    color:#344f50;
    font-size:14px;
    font-weight:850;
}
.event-editor-field>span em,
.event-editor-choice-label em{
    margin-left:5px;
    color:#0a8a92;
    font-style:normal;
    font-size:14px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.event-editor-field input,
.event-editor-field select,
.event-editor-field textarea{
    box-sizing:border-box;
    min-height:46px;
    padding:11px 13px;
    border:1px solid #cddbd6;
    border-radius:12px;
    background:#fff;
    color:#203f40;
    font:inherit;
    font-size:14px;
    line-height:1.45;
    outline:none;
    box-shadow:inset 0 1px 1px rgba(20,60,60,.015);
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.event-editor-field textarea{
    min-height:auto;
    line-height:1.55;
}
.event-editor-field input::placeholder,
.event-editor-field textarea::placeholder{
    color:#a3afab;
}
.event-editor-field input:hover,
.event-editor-field select:hover,
.event-editor-field textarea:hover{
    border-color:#adc8bf;
}
.event-editor-field input:focus,
.event-editor-field select:focus,
.event-editor-field textarea:focus{
    border-color:#0a8a92;
    box-shadow:0 0 0 4px rgba(10,138,146,.10);
}
.event-editor-field small{
    color:#8a9893;
    font-size:14px;
    font-weight:500;
    line-height:1.45;
}
.event-editor-title-field input{
    min-height:52px;
    font-size:16px;
    font-weight:750;
}
.event-editor-select-wrap{
    position:relative;
}
.event-editor-select-wrap::after{
    content:"";
    position:absolute;
    right:15px;
    top:50%;
    width:7px;
    height:7px;
    border-right:2px solid #6d817a;
    border-bottom:2px solid #6d817a;
    transform:translateY(-65%) rotate(45deg);
    pointer-events:none;
}
.event-editor-select-wrap select{
    appearance:none;
    padding-right:40px;
}
.event-editor-image-field,
.event-editor-icon-input{
    position:relative;
}
.event-editor-image-field input,
.event-editor-icon-input input{
    padding-left:44px;
}
.event-editor-field-prefix,
.event-editor-icon-input>svg{
    position:absolute;
    z-index:1;
    left:13px;
    top:50%;
    width:18px;
    height:18px;
    transform:translateY(-50%);
    color:#78908a;
}
.event-editor-field-prefix{
    display:grid;
    place-items:center;
}
.event-editor-field-prefix svg{
    width:18px;
    height:18px;
}
.event-editor-field-prefix svg,
.event-editor-icon-input>svg{
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.event-editor-feature-toggle{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:14px 15px;
    border:1px solid #dce7e3;
    border-radius:14px;
    background:#f8fbfa;
    cursor:pointer;
}
.event-editor-feature-toggle input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.event-editor-toggle-control{
    position:relative;
    width:40px;
    height:23px;
    border-radius:999px;
    background:#cad6d2;
    transition:background .18s ease;
}
.event-editor-toggle-control::after{
    content:"";
    position:absolute;
    width:17px;
    height:17px;
    left:3px;
    top:3px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 5px rgba(0,0,0,.16);
    transition:transform .18s ease;
}
.event-editor-feature-toggle input:checked + .event-editor-toggle-control{
    background:#0a8a92;
}
.event-editor-feature-toggle input:checked + .event-editor-toggle-control::after{
    transform:translateX(17px);
}
.event-editor-feature-toggle input:focus-visible + .event-editor-toggle-control{
    outline:3px solid rgba(10,138,146,.18);
    outline-offset:2px;
}
.event-editor-feature-toggle strong,
.event-editor-feature-toggle small{
    display:block;
}
.event-editor-feature-toggle strong{
    color:#315052;
    font-size:14px;
}
.event-editor-feature-toggle small{
    margin-top:2px;
    color:#87958f;
    font-size:14px;
    line-height:1.4;
}
.event-editor-subsection-label{
    margin:22px 24px -9px;
    color:#82918c;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.event-editor-divider{
    height:1px;
    margin:0 24px;
    background:#edf2f0;
}
.event-editor-ticketing-card{
    border-color:#cfe5dc;
}
.event-editor-ticketing-card .event-editor-card-heading{
    background:linear-gradient(135deg,#f5fbf8,#fff);
}
.event-editor-registration-choice{
    padding:24px 24px 0;
}
.event-editor-choice-label{
    display:block;
    margin-bottom:10px;
}
.event-editor-registration-options{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.event-editor-option-card{
    position:relative;
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    gap:11px;
    align-items:start;
    padding:16px;
    border:1px solid #d7e2de;
    border-radius:14px;
    background:#fff;
    cursor:pointer;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.event-editor-option-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.event-editor-option-radio{
    position:relative;
    display:block;
    width:18px;
    height:18px;
    margin-top:1px;
    border:2px solid #b7c6c1;
    border-radius:50%;
    background:#fff;
}
.event-editor-option-radio::after{
    content:"";
    position:absolute;
    width:8px;
    height:8px;
    inset:3px;
    border-radius:50%;
    background:#0a8a92;
    transform:scale(0);
    transition:transform .15s ease;
}
.event-editor-option-card:has(input:checked){
    border-color:#72bfb0;
    background:#f3faf7;
    box-shadow:0 0 0 3px rgba(10,138,146,.06);
}
.event-editor-option-card input:checked + .event-editor-option-radio{
    border-color:#0a8a92;
}
.event-editor-option-card input:checked + .event-editor-option-radio::after{
    transform:scale(1);
}
.event-editor-option-card input:focus-visible + .event-editor-option-radio{
    outline:3px solid rgba(10,138,146,.18);
    outline-offset:3px;
}
.event-editor-option-card strong,
.event-editor-option-card small{
    display:block;
}
.event-editor-option-card strong{
    color:#29494b;
    font-size:14px;
}
.event-editor-option-card small{
    margin-top:3px;
    color:#84938e;
    font-size:14px;
    line-height:1.4;
}
.event-editor-option-gatelink{
    background:#fbfefd;
}
.event-editor-gatelink-panel{
    margin:20px 24px 24px;
    overflow:hidden;
    border:1px solid #d7e7e1;
    border-radius:16px;
    background:#fbfefd;
    transition:opacity .18s ease,filter .18s ease;
}
.event-editor-gatelink-panel.is-inactive{
    opacity:.48;
    filter:saturate(.55);
}
.event-editor-gatelink-panel-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:15px 18px;
    border-bottom:1px solid #e3eeea;
    background:#eef8f4;
}
.event-editor-gatelink-panel-heading strong,
.event-editor-gatelink-panel-heading small{
    display:block;
}
.event-editor-gatelink-panel-heading strong{
    color:#265052;
    font-size:14px;
}
.event-editor-gatelink-panel-heading small{
    margin-top:2px;
    color:#77908a;
    font-size:14px;
}
.event-editor-gatelink-panel-heading>span{
    flex:none;
    padding:5px 8px;
    border-radius:999px;
    background:#0a8a92;
    color:#fff;
    font-size:14px;
    font-weight:950;
    letter-spacing:.1em;
}
.event-editor-gatelink-panel .event-editor-grid{
    padding:18px;
}
.event-editor-phase-boundary{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:10px;
    align-items:start;
    margin:0 18px 18px;
    padding:12px 14px;
    border:1px solid #dbeae4;
    border-radius:12px;
    background:#f5faf8;
}
.event-editor-phase-boundary svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:#0a8a92;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.event-editor-phase-boundary p{
    margin:0;
    color:#6f817b;
    font-size:14px;
    line-height:1.5;
}
.event-editor-phase-boundary strong{
    color:#315557;
}
.event-editor-savebar{
    position:sticky;
    bottom:14px;
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:2px;
    padding:14px 16px 14px 18px;
    border:1px solid rgba(199,217,210,.95);
    border-radius:17px;
    background:rgba(255,255,255,.94);
    box-shadow:0 14px 40px rgba(23,60,62,.13);
    backdrop-filter:blur(12px);
}
.event-editor-savebar-copy strong,
.event-editor-savebar-copy small{
    display:block;
}
.event-editor-savebar-copy strong{
    color:#244849;
    font-size:14px;
}
.event-editor-savebar-copy small{
    margin-top:2px;
    color:#899792;
    font-size:14px;
}
.event-editor-savebar-actions{
    display:flex;
    align-items:center;
    gap:14px;
}
.event-editor-savebar-actions>a{
    color:#6f817c;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
}
.event-editor-save-button{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    padding-inline:18px;
    border:0;
    border-radius:12px;
    box-shadow:0 8px 20px rgba(10,138,146,.18);
}
.event-editor-save-button svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.event-editor-notice,
.event-editor-validation{
    margin-bottom:22px;
    border-radius:15px;
}
.event-editor-notice{
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 15px;
}
.event-editor-notice-icon{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    flex:none;
    border-radius:50%;
    background:#1d8a62;
    color:#fff;
    font-size:13px;
    font-weight:950;
}
.event-editor-notice strong,
.event-editor-notice span{
    display:block;
}
.event-editor-notice span{
    margin-top:2px;
    font-size:14px;
    font-weight:550;
}
.event-editor-validation{
    padding:16px 18px;
}
.event-editor-validation-heading{
    display:flex;
    align-items:center;
    gap:11px;
}
.event-editor-validation-heading>span{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    flex:none;
    border-radius:50%;
    background:#a8473e;
    color:#fff;
    font-weight:950;
}
.event-editor-validation-heading strong,
.event-editor-validation-heading small{
    display:block;
}
.event-editor-validation-heading small{
    margin-top:2px;
}
.event-editor-validation ul{
    margin:12px 0 0 42px;
}
@media(max-width:1050px){
    .event-editor-layout{
        grid-template-columns:210px minmax(0,1fr);
        gap:20px;
    }
    .event-editor-grid-three{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:860px){
    .event-editor-hero-row{
        align-items:flex-start;
        flex-direction:column;
    }
    .event-editor-layout{
        grid-template-columns:1fr;
    }
    .event-editor-sidebar{
        position:static;
    }
    .event-editor-sidebar-card{
        overflow-x:auto;
    }
    .event-editor-sidebar-title,
    .event-editor-help-card{
        display:none;
    }
    .event-editor-step-nav{
        display:flex;
        min-width:max-content;
        gap:6px;
        margin:0;
    }
    .event-editor-step-nav a{
        grid-template-columns:30px auto;
        padding:8px 10px;
        background:#f7faf9;
    }
    .event-editor-step-nav small{
        display:none;
    }
    .event-editor-step-number{
        width:28px;
        height:28px;
    }
}
@media(max-width:700px){
    .event-editor-hero{
        padding:26px 0 24px;
    }
    .event-editor-page{
        padding:22px 0 56px;
    }
    .event-editor-heading h1{
        font-size:36px;
    }
    .event-editor-hero-actions{
        width:100%;
    }
    .event-editor-back-button,
    .event-editor-preview-button{
        flex:1;
    }
    .event-editor-card{
        border-radius:16px;
    }
    .event-editor-card-heading{
        grid-template-columns:40px minmax(0,1fr);
        padding:18px;
    }
    .event-editor-section-icon{
        width:38px;
        height:38px;
        border-radius:12px;
    }
    .event-editor-section-icon svg{
        width:20px;
        height:20px;
    }
    .event-editor-card-heading h2{
        font-size:21px;
    }
    .event-editor-grid,
    .event-editor-grid-three{
        grid-template-columns:1fr;
        padding:18px;
        gap:16px;
    }
    .event-editor-registration-choice{
        padding:18px 18px 0;
    }
    .event-editor-registration-options{
        grid-template-columns:1fr;
    }
    .event-editor-gatelink-panel{
        margin:18px;
    }
    .event-editor-gatelink-panel-heading{
        align-items:flex-start;
    }
    .event-editor-subsection-label{
        margin-inline:18px;
    }
    .event-editor-divider{
        margin-inline:18px;
    }
    .event-editor-savebar{
        align-items:flex-start;
        flex-direction:column;
        bottom:8px;
    }
    .event-editor-savebar-actions{
        width:100%;
        justify-content:space-between;
    }
    .event-editor-save-button{
        flex:1;
        justify-content:center;
    }
}
@media(max-width:420px){
    .event-editor-step-nav strong{
        font-size:14px;
    }
    .event-editor-hero-actions{
        flex-direction:column;
    }
    .event-editor-back-button,
    .event-editor-preview-button{
        width:100%;
    }
}
@media(prefers-reduced-motion:reduce){
    .event-editor-step-nav a,
    .event-editor-field input,
    .event-editor-field select,
    .event-editor-field textarea,
    .event-editor-option-card,
    .event-editor-toggle-control,
    .event-editor-toggle-control::after{
        transition:none;
    }
}

.event-date-tbd{
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    background:#fff5df;
    color:#8a5d13;
    font-size:14px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}

/* Event feature image upload */
.event-image-upload-layout{
    display:grid;
    grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);
    gap:18px;
    padding-top:2px;
}
.event-image-preview-panel{
    position:relative;
    min-height:245px;
    overflow:hidden;
    border:1px solid #d5e2dd;
    border-radius:16px;
    background:#f4f8f6;
}
.event-image-preview-panel>img{
    width:100%;
    height:100%;
    min-height:245px;
    position:absolute;
    inset:0;
    display:block;
    object-fit:cover;
}
.event-image-preview-empty{
    min-height:245px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:6px;
    padding:28px;
    text-align:center;
    color:#7b918a;
}
.event-image-preview-empty svg{
    width:38px;
    height:38px;
    margin-bottom:5px;
    fill:none;
    stroke:#83ada1;
    stroke-width:1.4;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.event-image-preview-empty strong{
    color:#476764;
    font-size:14px;
}
.event-image-preview-empty small{
    font-size:14px;
}
.event-image-upload-controls{
    display:grid;
    align-content:start;
    gap:13px;
}
.event-image-dropzone{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:13px;
    align-items:center;
    min-height:100px;
    padding:16px;
    border:1.5px dashed #9fc7bb;
    border-radius:16px;
    background:#f5fbf8;
    cursor:pointer;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.event-image-dropzone:hover{
    border-color:#0a8a92;
    background:#eef9f5;
    box-shadow:0 0 0 4px rgba(10,138,146,.06);
}
.event-image-dropzone>input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    overflow:hidden;
}
.event-image-dropzone:has(input:focus-visible){
    outline:3px solid rgba(10,138,146,.16);
    outline-offset:3px;
}
.event-image-upload-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    background:#e5f4ee;
    color:#0a7c83;
}
.event-image-upload-icon svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.event-image-dropzone strong,
.event-image-dropzone small{
    display:block;
}
.event-image-dropzone strong{
    color:#315456;
    font-size:14px;
}
.event-image-dropzone small{
    margin-top:3px;
    color:#81938d;
    font-size:14px;
    line-height:1.4;
}
.event-image-choose-button{
    display:inline-flex;
    min-height:34px;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border:1px solid #b9d7cd;
    border-radius:10px;
    background:#fff;
    color:#08777e;
    font-size:14px;
    font-weight:900;
    white-space:nowrap;
}
.event-image-divider{
    display:flex;
    align-items:center;
    gap:10px;
    color:#99a5a1;
    font-size:14px;
    font-weight:900;
    letter-spacing:.12em;
}
.event-image-divider::before,
.event-image-divider::after{
    content:"";
    height:1px;
    flex:1;
    background:#e3eae7;
}
.event-image-url-field{
    display:grid;
    gap:7px;
}
.event-image-url-field>span{
    color:#344f50;
    font-size:14px;
    font-weight:850;
}
.event-image-url-field input{
    box-sizing:border-box;
    width:100%;
    min-height:46px;
    padding:11px 13px 11px 44px;
    border:1px solid #cddbd6;
    border-radius:12px;
    background:#fff;
    color:#203f40;
    font:inherit;
    font-size:14px;
    outline:none;
}
.event-image-url-field input:focus{
    border-color:#0a8a92;
    box-shadow:0 0 0 4px rgba(10,138,146,.10);
}
.event-image-remove{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:11px 12px;
    border:1px solid #eadbd8;
    border-radius:12px;
    background:#fffafa;
    cursor:pointer;
}
.event-image-remove input{
    width:17px;
    height:17px;
    flex:none;
    margin-top:1px;
    accent-color:#9b4d45;
}
.event-image-remove strong,
.event-image-remove small{
    display:block;
}
.event-image-remove strong{
    color:#754641;
    font-size:14px;
}
.event-image-remove small{
    margin-top:2px;
    color:#9b817d;
    font-size:14px;
}
@media(max-width:760px){
    .event-image-upload-layout{
        grid-template-columns:1fr;
    }
    .event-image-preview-panel,
    .event-image-preview-empty,
    .event-image-preview-panel>img{
        min-height:210px;
    }
}
@media(max-width:480px){
    .event-image-dropzone{
        grid-template-columns:40px minmax(0,1fr);
    }
    .event-image-choose-button{
        grid-column:1/-1;
        width:100%;
    }
}


/* Event image upload reliability */
.event-image-dropzone.is-processing{
    opacity:.65;
    pointer-events:none;
}
.event-image-upload-controls::after{
    content:"Images larger than the upload target are resized to a maximum 1600px dimension and compressed before upload.";
    display:block;
    color:#7d8f89;
    font-size:9.5px;
    line-height:1.45;
}


/* Events section order refinement */
.events-featured-inline{
    margin:26px 0 34px;
}
.events-featured-inline .featured-event-card{
    margin:0;
}


/* Events exact content order */
#upcoming-events{
    border-top:0;
}
#past-events{
    border-top:1px solid var(--line);
}
.events-intro-section{
    border-top:1px solid var(--line);
}
.events-network-section{
    border-top:1px solid var(--line);
}


/* Past Events archive */
.past-events-view-all{
    display:flex;
    justify-content:center;
    margin-top:30px;
}
.past-events-view-all-button{
    display:inline-flex;
    align-items:center;
    gap:9px;
}
.past-events-view-all-button span{
    transition:transform .16s ease;
}
.past-events-view-all-button:hover span{
    transform:translateX(3px);
}
.past-events-archive-hero h1{
    margin-bottom:14px;
}
.past-events-archive-hero .lead{
    max-width:780px;
}
.past-events-filter-section{
    padding-top:16px;
}
.past-events-archive-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:22px;
    margin-bottom:28px;
}
.past-events-archive-heading h2{
    margin:3px 0 0;
    font-family:Georgia,serif;
    font-size:clamp(30px,4vw,44px);
    color:#173c3e;
}
.past-events-count{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:0 12px;
    border:1px solid #d4e4de;
    border-radius:999px;
    background:#f5faf8;
    color:#58716b;
    font-size:14px;
    font-weight:850;
    white-space:nowrap;
}
@media(max-width:640px){
    .past-events-archive-heading{
        align-items:flex-start;
        flex-direction:column;
    }
    .past-events-view-all{
        justify-content:stretch;
    }
    .past-events-view-all-button{
        width:100%;
        justify-content:center;
    }
}


/* EKAPPS footer credit link */
.site-footer a[href="https://ekapps.com"]{
    color:inherit;
    text-decoration:none;
}
.site-footer a[href="https://ekapps.com"]:hover,
.site-footer a[href="https://ekapps.com"]:focus-visible{
    text-decoration:underline;
}

/* Offline / physical event ticketing */
.offline-ticket-badge{
    display:inline-flex;
    width:max-content;
    align-items:center;
    padding:6px 9px;
    border-radius:999px;
    background:#fff5df;
    color:#805b12;
    font-size:14px;
    font-weight:900;
    letter-spacing:.035em;
}
.event-editor-registration-options{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.event-editor-option-offline,
.event-editor-option-both{
    background:#fffdf8;
}
.event-editor-offline-panel{
    margin:20px 24px 24px;
    overflow:hidden;
    border:1px solid #eadfbf;
    border-radius:16px;
    background:#fffdf8;
    transition:opacity .18s ease,filter .18s ease;
}
.event-editor-offline-panel.is-inactive{
    opacity:.48;
    filter:saturate(.55);
}
.event-editor-offline-panel-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:15px 18px;
    border-bottom:1px solid #eee4c9;
    background:#fff8e8;
}
.event-editor-offline-panel-heading strong,
.event-editor-offline-panel-heading small{
    display:block;
}
.event-editor-offline-panel-heading strong{
    color:#5d4b1d;
    font-size:14px;
}
.event-editor-offline-panel-heading small{
    margin-top:2px;
    color:#8a7a52;
    font-size:14px;
}
.event-editor-offline-panel-heading>span{
    flex:none;
    padding:5px 8px;
    border-radius:999px;
    background:#9a741d;
    color:#fff;
    font-size:14px;
    font-weight:950;
    letter-spacing:.1em;
}
.event-editor-offline-panel .event-editor-grid{
    padding:18px;
}
.event-editor-offline-note{
    display:grid;
    grid-template-columns:22px minmax(0,1fr);
    gap:10px;
    align-items:start;
    margin:0 18px 18px;
    padding:12px 14px;
    border:1px solid #ece1c5;
    border-radius:12px;
    background:#fffaf0;
}
.event-editor-offline-note svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:#9a741d;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.event-editor-offline-note p{
    margin:0;
    color:#776a49;
    font-size:14px;
    line-height:1.5;
}
.event-editor-offline-note strong{
    color:#57491f;
}
.event-offline-ticket-card{
    background:#fffaf0;
    border-color:#eadfbf;
}
.offline-ticket-details{
    display:grid;
    gap:14px;
    margin:15px 0;
}
.offline-ticket-details>div{
    padding-bottom:13px;
    border-bottom:1px solid #eee4c9;
}
.offline-ticket-details>div:last-child{
    padding-bottom:0;
    border-bottom:0;
}
.offline-ticket-label{
    display:block;
    margin-bottom:4px;
    color:#8a7a52;
    font-size:14px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.offline-ticket-locations{
    color:#4d4a3d;
    font-weight:750;
    line-height:1.55;
}
.event-offline-ticket-card p{
    margin:0;
}
.admin-registration-badges{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}
@media(max-width:700px){
    .event-editor-registration-options{
        grid-template-columns:1fr;
    }
    .event-editor-offline-panel{
        margin:18px;
    }
}


/* Past Events pagination */
.past-events-pagination{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:16px;
    align-items:center;
    margin-top:38px;
    padding-top:26px;
    border-top:1px solid var(--line);
}
.past-pagination-pages{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}
.past-pagination-button,
.past-pagination-page{
    display:inline-flex;
    min-height:42px;
    align-items:center;
    justify-content:center;
    border:1px solid #cfe0da;
    border-radius:11px;
    background:#fff;
    color:#315456;
    text-decoration:none;
    font-size:14px;
    font-weight:850;
    transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.past-pagination-button{
    padding:0 14px;
}
.past-pagination-page{
    min-width:42px;
    padding:0 10px;
}
.past-pagination-button:hover,
.past-pagination-page:hover{
    border-color:#0a8a92;
    background:#eef8f4;
    color:#08777e;
}
.past-pagination-page.is-current{
    border-color:#0a8a92;
    background:#0a8a92;
    color:#fff;
}
.past-pagination-button.is-disabled{
    opacity:.42;
    cursor:not-allowed;
}
.past-pagination-ellipsis{
    padding:0 3px;
    color:#8b9994;
    font-weight:850;
}
.past-pagination-summary{
    margin:14px 0 0;
    text-align:center;
    color:#80908b;
    font-size:14px;
    font-weight:650;
}
@media(max-width:700px){
    .past-events-pagination{
        grid-template-columns:1fr 1fr;
    }
    .past-pagination-pages{
        grid-column:1/-1;
        grid-row:1;
        order:-1;
    }
    .past-pagination-button{
        width:100%;
    }
}


/* Event image side preview + lightbox */
.event-image-side-card{
    padding:12px;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
}
.event-image-thumbnail-button{
    position:relative;
    display:block;
    width:100%;
    padding:0;
    overflow:hidden;
    border:0;
    border-radius:14px;
    background:#f4f8f6;
    cursor:pointer;
}
.event-image-thumbnail{
    display:block;
    width:100%;
    max-height:320px;
    object-fit:contain;
    background:#f4f8f6;
}
.event-image-thumbnail-overlay{
    position:absolute;
    right:10px;
    bottom:10px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    border-radius:10px;
    background:rgba(10,70,72,.9);
    color:#fff;
    font-size:14px;
    font-weight:900;
    letter-spacing:.02em;
}
.event-image-thumbnail-overlay svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.event-image-thumbnail-button:focus-visible{
    outline:3px solid rgba(10,138,146,.24);
    outline-offset:3px;
}
.event-image-lightbox[hidden]{
    display:none;
}
.event-image-lightbox{
    position:fixed;
    z-index:9999;
    inset:0;
    display:grid;
    place-items:center;
    padding:24px;
}
.event-image-lightbox-backdrop{
    position:absolute;
    inset:0;
    background:rgba(8,25,26,.88);
}
.event-image-lightbox-dialog{
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    width:min(1100px,94vw);
    max-height:92vh;
}
.event-image-lightbox-image{
    display:block;
    max-width:100%;
    max-height:88vh;
    object-fit:contain;
    border-radius:14px;
    box-shadow:0 22px 60px rgba(0,0,0,.35);
}
.event-image-lightbox-close{
    position:absolute;
    z-index:2;
    top:-14px;
    right:-14px;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:50%;
    background:#fff;
    color:#173c3e;
    cursor:pointer;
    box-shadow:0 8px 22px rgba(0,0,0,.22);
}
.event-image-lightbox-close svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
}
.event-lightbox-open{
    overflow:hidden;
}
@media(max-width:900px){
    .event-image-side-card{
        max-width:380px;
    }
}
@media(max-width:640px){
    .event-image-thumbnail{
        max-height:260px;
    }
    .event-image-lightbox{
        padding:14px;
    }
    .event-image-lightbox-close{
        top:-10px;
        right:-6px;
    }
}


/* Event detail cropped banner + side full-image preview */
.event-detail-banner{
    position:relative;
    min-height:420px;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    background:#153f41;
}
.event-detail-banner-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 35%;
}
.event-detail-banner-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(6,30,31,.88) 0%,
            rgba(6,30,31,.70) 42%,
            rgba(6,30,31,.40) 68%,
            rgba(6,30,31,.28) 100%
        ),
        linear-gradient(
            0deg,
            rgba(6,30,31,.70) 0%,
            rgba(6,30,31,.05) 60%
        );
}
.event-detail-banner-content{
    position:relative;
    z-index:2;
    width:100%;
    padding-top:42px;
    padding-bottom:46px;
    color:#fff;
}
.event-detail-banner-content h1{
    margin:14px 0 16px;
    font-family:Georgia,serif;
    font-size:clamp(42px,6vw,72px);
    line-height:1.02;
    letter-spacing:-.03em;
    color:#fff;
    text-shadow:0 2px 14px rgba(0,0,0,.25);
}
.event-detail-banner-content .lead{
    max-width:760px;
    color:rgba(255,255,255,.88);
}
.event-back-link-on-banner{
    color:#fff;
}
.event-back-link-on-banner:hover{
    color:#d9f4e8;
}
.event-detail-date-card-on-banner{
    background:rgba(255,255,255,.95);
    color:#173c3e;
    box-shadow:0 16px 36px rgba(0,0,0,.20);
}
.event-detail-banner .event-category,
.event-detail-banner .gatelink-badge,
.event-detail-banner .offline-ticket-badge,
.event-detail-banner .event-status{
    box-shadow:0 4px 14px rgba(0,0,0,.10);
}
.event-image-side-caption{
    margin:9px 3px 0;
    color:#7d8d88;
    font-size:14px;
    line-height:1.4;
    text-align:center;
}
@media(max-width:900px){
    .event-detail-banner{
        min-height:390px;
    }
    .event-detail-banner-image{
        object-position:center 30%;
    }
}
@media(max-width:640px){
    .event-detail-banner{
        min-height:360px;
    }
    .event-detail-banner-content{
        padding-top:28px;
        padding-bottom:30px;
    }
    .event-detail-banner-content h1{
        font-size:36px;
    }
    .event-detail-banner-overlay{
        background:linear-gradient(
            0deg,
            rgba(6,30,31,.88) 0%,
            rgba(6,30,31,.56) 72%,
            rgba(6,30,31,.35) 100%
        );
    }
}


/* Event metadata moved into detail body */
.event-detail-body-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-bottom:14px;
}
.event-detail-body-meta .event-category,
.event-detail-body-meta .event-status,
.event-detail-body-meta .gatelink-badge,
.event-detail-body-meta .offline-ticket-badge{
    display:inline-flex;
}

/* =========================================================
   Executive Team — modern profile card layout
   ========================================================= */
.executive-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:20px;
    align-items:stretch;
}

.executive-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    border:1px solid #dce8e3;
    border-radius:22px;
    background:#fff;
    box-shadow:0 8px 26px rgba(19,69,69,.055);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.executive-card:hover{
    transform:translateY(-4px);
    border-color:#bddbd0;
    box-shadow:0 16px 38px rgba(19,69,69,.105);
}

.executive-photo-wrap{
    position:relative;
    width:100%;
    height:188px;
    min-height:188px;
    padding:20px;
    overflow:hidden;
    display:grid;
    place-items:center;
    aspect-ratio:auto;
    background:
        radial-gradient(circle at 82% 14%,rgba(255,255,255,.76) 0 34px,transparent 35px),
        radial-gradient(circle at 8% 92%,rgba(10,138,146,.08) 0 52px,transparent 53px),
        linear-gradient(145deg,#eff9f5,#deeee7);
}

.executive-photo-wrap::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:linear-gradient(90deg,#0a8a92,#86c9af);
    opacity:.78;
}

.executive-photo{
    position:relative;
    z-index:1;
    width:128px;
    height:146px;
    max-width:none;
    max-height:none;
    display:block;
    flex:none;
    object-fit:cover;
    object-position:center 20%;
    border:4px solid rgba(255,255,255,.98);
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 24px rgba(18,70,70,.16);
}

.executive-photo[src$="default-profile.svg"]{
    width:102px;
    height:112px;
    max-width:none;
    max-height:none;
    padding:0;
    object-fit:contain;
    object-position:center;
    border:0;
    border-radius:16px;
    background:transparent;
    box-shadow:0 7px 18px rgba(18,70,70,.08);
}

.executive-card-body{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:19px 17px 21px;
    text-align:center;
}

.executive-position{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    max-width:100%;
    min-height:28px;
    margin:0 0 11px;
    padding:5px 10px;
    border:1px solid #cce4da;
    border-radius:999px;
    background:#f0f8f5;
    color:#08777e;
    font-size:14px;
    font-weight:900;
    letter-spacing:.075em;
    line-height:1.15;
    text-transform:uppercase;
}

.executive-card h3{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    margin:0;
    font-family:Georgia,serif;
    font-size:21px;
    line-height:1.18;
    letter-spacing:-.012em;
    color:#183f41;
    text-wrap:balance;
}

.executive-class{
    margin:7px 0 0;
    color:#788a85;
    font-size:14px;
    font-weight:700;
}

.executive-card-body>p:not(.executive-position):not(.executive-class){
    margin:11px 0 0;
    color:#70817c;
    font-size:14px;
    line-height:1.5;
}

.executive-contact{
    margin-top:auto;
    padding-top:14px;
    color:#08777e;
    font-size:14px;
    font-weight:850;
}

@media(max-width:1100px){
    .executive-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:820px){
    .executive-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }
}

@media(max-width:560px){
    .executive-grid{
        grid-template-columns:1fr;
        gap:16px;
    }

    .executive-card{
        display:grid;
        grid-template-columns:138px minmax(0,1fr);
        min-height:178px;
    }

    .executive-photo-wrap{
        height:100%;
        min-height:178px;
        padding:14px;
    }

    .executive-photo{
        width:104px;
        height:126px;
        border-radius:18px;
    }

    .executive-photo[src$="default-profile.svg"]{
        width:82px;
        height:94px;
    }

    .executive-card-body{
        align-items:flex-start;
        justify-content:center;
        padding:20px 18px;
        text-align:left;
    }

    .executive-position{
        justify-content:flex-start;
        margin-bottom:9px;
    }

    .executive-card h3{
        min-height:0;
        justify-content:flex-start;
        text-align:left;
        font-size:20px;
    }
}

@media(prefers-reduced-motion:reduce){
    .executive-card{
        transition:none;
    }

    .executive-card:hover{
        transform:none;
    }
}

/* =========================================================
   Executive Team — full modern page experience
   ========================================================= */
.executive-page{
    overflow:hidden;
    background:#fff;
}

/* Hero */
.exec-hero{
    position:relative;
    overflow:hidden;
    padding:74px 0 72px;
    background:
        linear-gradient(135deg,#f5fbf8 0%,#fff 52%,#eef8f4 100%);
    border-bottom:1px solid #dce8e3;
}
.exec-hero::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(10,138,146,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(10,138,146,.025) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(90deg,#000,transparent 72%);
}
.exec-hero-orb{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
    filter:blur(1px);
}
.exec-hero-orb-one{
    width:310px;
    height:310px;
    right:7%;
    top:-185px;
    background:rgba(134,201,175,.24);
}
.exec-hero-orb-two{
    width:190px;
    height:190px;
    right:30%;
    bottom:-120px;
    border:35px solid rgba(10,138,146,.055);
}
.exec-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
    gap:64px;
    align-items:center;
}
.exec-hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:16px;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.14em;
}
.exec-hero-kicker-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#0a8a92;
    box-shadow:0 0 0 5px rgba(10,138,146,.10);
}
.exec-hero-copy h1{
    margin:0;
    max-width:720px;
    font-family:Georgia,serif;
    font-size:clamp(52px,6.5vw,82px);
    line-height:.96;
    letter-spacing:-.045em;
    color:#173f41;
}
.exec-hero-lead{
    max-width:710px;
    margin:23px 0 0;
    color:#647872;
    font-size:18px;
    line-height:1.65;
}
.exec-hero-stats{
    display:flex;
    gap:0;
    width:max-content;
    max-width:100%;
    margin-top:30px;
    overflow:hidden;
    border:1px solid #d8e7e1;
    border-radius:16px;
    background:rgba(255,255,255,.82);
    box-shadow:0 10px 26px rgba(27,77,75,.035);
}
.exec-hero-stats>div{
    min-width:130px;
    padding:14px 18px;
    border-right:1px solid #e2ebe8;
}
.exec-hero-stats>div:last-child{
    border-right:0;
}
.exec-hero-stats strong,
.exec-hero-stats span{
    display:block;
}
.exec-hero-stats strong{
    color:#173f41;
    font-family:Georgia,serif;
    font-size:27px;
    line-height:1;
}
.exec-hero-stats span{
    margin-top:5px;
    color:#7b8e88;
    font-size:14px;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.exec-hero-actions{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:28px;
}
.exec-text-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.exec-text-link span{
    transition:transform .16s ease;
}
.exec-text-link:hover span{
    transform:translateX(4px);
}

/* hero visual */
.exec-hero-visual{
    position:relative;
    min-height:470px;
    display:grid;
    place-items:center;
}
.exec-hero-logo-ring{
    position:absolute;
    width:330px;
    height:330px;
    display:grid;
    place-items:center;
    border:1px solid rgba(10,138,146,.18);
    border-radius:50%;
    background:rgba(255,255,255,.46);
    box-shadow:
        0 0 0 24px rgba(134,201,175,.07),
        0 0 0 52px rgba(10,138,146,.025);
}
.exec-hero-logo-ring img{
    width:108px;
    height:108px;
    object-fit:contain;
    border-radius:50%;
    opacity:.18;
}
.exec-hero-president-card{
    position:relative;
    z-index:2;
    width:min(330px,88%);
    padding:12px;
    border:1px solid rgba(255,255,255,.9);
    border-radius:26px;
    background:rgba(255,255,255,.93);
    box-shadow:0 28px 70px rgba(17,72,70,.18);
    transform:rotate(1.8deg);
}
.exec-hero-president-photo-wrap{
    height:315px;
    overflow:hidden;
    border-radius:19px;
    background:#eaf5f0;
}
.exec-hero-president-photo{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 18%;
}
.exec-hero-president-placeholder{
    height:100%;
    display:grid;
    place-items:center;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:54px;
    font-weight:800;
}
.exec-hero-president-meta{
    padding:15px 10px 10px;
}
.exec-hero-president-meta span,
.exec-hero-president-meta strong,
.exec-hero-president-meta small{
    display:block;
}
.exec-hero-president-meta span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.exec-hero-president-meta strong{
    margin-top:4px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:24px;
    line-height:1.1;
}
.exec-hero-president-meta small{
    margin-top:5px;
    color:#84938e;
    font-size:14px;
}
.exec-hero-motto{
    position:absolute;
    z-index:3;
    right:-5px;
    bottom:44px;
    width:190px;
    padding:14px 16px;
    border-radius:15px;
    background:#0b6e74;
    color:#fff;
    box-shadow:0 14px 34px rgba(8,76,80,.22);
    transform:rotate(-3deg);
}
.exec-hero-motto span,
.exec-hero-motto strong{
    display:block;
}
.exec-hero-motto span{
    color:#bde1d2;
    font-size:14px;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.exec-hero-motto strong{
    margin-top:2px;
    font-family:Georgia,serif;
    font-size:18px;
}

/* subnav */
.exec-subnav-wrap{
    position:relative;
    z-index:20;
    border-bottom:1px solid #dce7e3;
    background:rgba(255,255,255,.95);
}
.exec-subnav{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:12px 0;
    scrollbar-width:none;
}
.exec-subnav::-webkit-scrollbar{
    display:none;
}
.exec-subnav a{
    flex:none;
    display:inline-flex;
    min-height:38px;
    align-items:center;
    justify-content:center;
    padding:0 14px;
    border-radius:999px;
    color:#5d726c;
    text-decoration:none;
    font-size:14px;
    font-weight:850;
    white-space:nowrap;
    transition:background .16s ease,color .16s ease;
}
.exec-subnav a:hover,
.exec-subnav a.is-active{
    background:#edf8f4;
    color:#08777e;
}

/* section label */
.exec-section-label-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
}
.exec-section-label-row span{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:#0a8a92;
    color:#fff;
    font-size:14px;
    font-weight:950;
}
.exec-section-label-row p{
    margin:0;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}

/* President spotlight */
.exec-president-section{
    padding-top:78px;
    padding-bottom:82px;
}
.exec-president-spotlight{
    display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
    gap:54px;
    align-items:center;
}
.exec-president-image-panel{
    position:relative;
    min-height:500px;
    overflow:hidden;
    border-radius:28px;
    background:#eaf5f0;
    box-shadow:0 22px 55px rgba(17,72,70,.11);
}
.exec-president-image-panel::before{
    content:"";
    position:absolute;
    z-index:2;
    inset:auto 0 0;
    height:42%;
    background:linear-gradient(0deg,rgba(8,45,46,.86),transparent);
    pointer-events:none;
}
.exec-president-spotlight-photo{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 18%;
}
.exec-president-spotlight-placeholder{
    height:100%;
    display:grid;
    place-items:center;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:70px;
    font-weight:850;
}
.exec-president-image-tag{
    position:absolute;
    z-index:3;
    left:26px;
    right:26px;
    bottom:24px;
    color:#fff;
}
.exec-president-image-tag span,
.exec-president-image-tag strong{
    display:block;
}
.exec-president-image-tag span{
    color:#bfe4d6;
    font-size:14px;
    font-weight:950;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.exec-president-image-tag strong{
    margin-top:3px;
    font-family:Georgia,serif;
    font-size:29px;
}
.exec-president-copy .eyebrow{
    margin-bottom:10px;
}
.exec-president-copy h2{
    margin:0;
    max-width:700px;
    font-family:Georgia,serif;
    font-size:clamp(36px,4.4vw,54px);
    line-height:1.03;
    letter-spacing:-.03em;
    color:#173f41;
}
.exec-president-lead{
    max-width:790px;
    margin:20px 0 0;
    color:#647872;
    font-size:17px;
    line-height:1.72;
}
.exec-president-principles{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-top:27px;
}
.exec-president-principles>div{
    padding:17px;
    border:1px solid #dce8e3;
    border-radius:16px;
    background:#f9fcfb;
}
.exec-president-principles span,
.exec-president-principles strong{
    display:block;
}
.exec-president-principles span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
}
.exec-president-principles strong{
    margin-top:5px;
    color:#274d4e;
    font-size:14px;
}
.exec-president-principles p{
    margin:6px 0 0;
    color:#7b8d87;
    font-size:14px;
    line-height:1.5;
}
.exec-president-message-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:25px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.exec-president-message-link span{
    transition:transform .16s ease;
}
.exec-president-message-link:hover span{
    transform:translateX(4px);
}

/* Team heading and groups */
.exec-team-section{
    padding-top:78px;
    padding-bottom:84px;
}
.exec-team-heading{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(300px,.65fr);
    gap:60px;
    align-items:end;
    padding-bottom:34px;
    border-bottom:1px solid #dbe7e2;
}
.exec-team-heading h2{
    margin:4px 0 0;
    font-family:Georgia,serif;
    font-size:clamp(38px,4.5vw,55px);
    line-height:1.03;
    letter-spacing:-.03em;
    color:#173f41;
}
.exec-team-heading>p{
    margin:0;
    color:#687b75;
    font-size:15px;
    line-height:1.65;
}
.exec-role-group{
    padding-top:42px;
    scroll-margin-top:96px;
}
.exec-role-group + .exec-role-group{
    margin-top:44px;
    padding-top:44px;
    border-top:1px solid #dbe7e2;
}
.exec-role-group-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    margin-bottom:20px;
}
.exec-role-group-heading>div{
    display:flex;
    align-items:center;
    gap:13px;
}
.exec-role-group-number{
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    flex:none;
    border:1px solid #bddbd0;
    border-radius:13px;
    background:#fff;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}
.exec-role-group-heading p{
    margin:0;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.exec-role-group-heading h3{
    margin:3px 0 0;
    font-family:Georgia,serif;
    font-size:25px;
    line-height:1.1;
    color:#274d4e;
}
.exec-role-group-heading>small{
    padding:6px 10px;
    border-radius:999px;
    background:#eaf6f1;
    color:#6e837d;
    font-size:14px;
    font-weight:850;
}

/* profile cards scoped to this page */
.executive-page .exec-group-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:15px;
}
.executive-page .exec-profile-card{
    border-radius:18px;
    box-shadow:0 7px 20px rgba(24,72,71,.045);
}
.executive-page .exec-profile-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 28px rgba(24,72,71,.095);
}
.executive-page .exec-profile-card .executive-photo-wrap{
    height:158px;
    min-height:158px;
    padding:14px;
    background:
        radial-gradient(circle at 86% 14%,rgba(255,255,255,.82) 0 28px,transparent 29px),
        linear-gradient(145deg,#eff8f4,#e3f1eb);
}
.executive-page .exec-profile-card .executive-photo{
    width:106px;
    height:124px;
    border-width:3px;
    border-radius:18px;
}
.executive-page .exec-profile-card .executive-photo[src$="default-profile.svg"]{
    width:78px;
    height:88px;
    border:0;
    box-shadow:none;
}
.executive-page .exec-profile-card .executive-placeholder{
    width:82px;
    height:88px;
    display:grid;
    place-items:center;
    border-radius:18px;
    color:#08777e;
    background:rgba(255,255,255,.72);
    font-family:Georgia,serif;
    font-size:28px;
    font-weight:850;
}
.executive-page .exec-profile-card .executive-card-body{
    min-height:126px;
    justify-content:center;
    padding:15px 12px 17px;
}
.executive-page .exec-profile-card .executive-position{
    min-height:24px;
    margin-bottom:8px;
    padding:4px 8px;
    font-size:14px;
}
.executive-page .exec-profile-card h3{
    min-height:42px;
    font-size:18px;
    line-height:1.15;
}
.executive-page .exec-advisor-grid{
    grid-template-columns:repeat(2,minmax(0,280px));
}

/* Commitment */
.exec-commitment-section{
    padding-top:82px;
    padding-bottom:84px;
}
.exec-commitment-heading{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.6fr);
    gap:58px;
    align-items:end;
    margin-bottom:30px;
}
.exec-commitment-heading h2{
    margin:4px 0 0;
    max-width:750px;
    font-family:Georgia,serif;
    font-size:clamp(38px,4.6vw,56px);
    line-height:1.03;
    color:#173f41;
}
.exec-commitment-heading>p{
    margin:0;
    color:#6d7f79;
    font-size:15px;
    line-height:1.65;
}
.exec-commitment-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.exec-commitment-card{
    position:relative;
    overflow:hidden;
    min-height:265px;
    padding:25px;
    border:1px solid #dce8e3;
    border-radius:20px;
    background:#fff;
    transition:transform .18s ease,box-shadow .18s ease;
}
.exec-commitment-card::after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-55px;
    bottom:-55px;
    border-radius:50%;
    background:rgba(134,201,175,.11);
}
.exec-commitment-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 32px rgba(24,72,71,.08);
}
.exec-commitment-icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    margin-bottom:34px;
    border-radius:14px;
    background:#eaf7f2;
    color:#08777e;
}
.exec-commitment-icon svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.exec-commitment-card>span{
    color:#92a19c;
    font-size:14px;
    font-weight:950;
}
.exec-commitment-card h3{
    margin:5px 0 8px;
    font-family:Georgia,serif;
    font-size:27px;
    color:#24494b;
}
.exec-commitment-card p{
    position:relative;
    z-index:1;
    max-width:340px;
    margin:0;
    color:#738680;
    font-size:14px;
    line-height:1.6;
}

/* CTA */
.exec-modern-cta-section{
    padding-top:0;
    padding-bottom:82px;
}
.exec-modern-cta{
    display:grid;
    grid-template-columns:85px minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    padding:34px;
    overflow:hidden;
    border-radius:24px;
    background:
        radial-gradient(circle at 92% 10%,rgba(134,201,175,.16),transparent 35%),
        #0b646a;
    color:#fff;
}
.exec-modern-cta-mark{
    width:78px;
    height:78px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    background:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.15);
}
.exec-modern-cta-mark img{
    width:72px;
    height:72px;
    object-fit:contain;
}
.exec-modern-cta-copy .eyebrow{
    color:#b8e0d0;
}
.exec-modern-cta-copy h2{
    max-width:760px;
    margin:4px 0 8px;
    font-family:Georgia,serif;
    font-size:34px;
    line-height:1.08;
    color:#fff;
}
.exec-modern-cta-copy p{
    max-width:710px;
    margin:0;
    color:#d3e9e4;
    font-size:14px;
    line-height:1.55;
}
.exec-modern-cta-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.exec-modern-cta .button{
    background:#fff;
    border-color:#fff;
    color:#0b646a!important;
}
.exec-modern-cta .button-secondary{
    background:transparent;
    border-color:#abd5c8;
    color:#fff!important;
}

/* responsive */
@media(max-width:1180px){
    .exec-hero-grid{
        grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);
        gap:40px;
    }
    .executive-page .exec-group-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:940px){
    .exec-hero{
        padding:58px 0;
    }
    .exec-hero-grid{
        grid-template-columns:1fr;
    }
    .exec-hero-visual{
        max-width:560px;
        min-height:430px;
        margin:0 auto;
    }
    .exec-president-spotlight{
        grid-template-columns:1fr;
    }
    .exec-president-image-panel{
        width:min(520px,100%);
        min-height:520px;
    }
    .exec-team-heading,
    .exec-commitment-heading{
        grid-template-columns:1fr;
        gap:18px;
        align-items:start;
    }
    .exec-modern-cta{
        grid-template-columns:70px minmax(0,1fr);
    }
    .exec-modern-cta-actions{
        grid-column:1/-1;
        justify-content:flex-start;
    }
}
@media(max-width:720px){
    .exec-hero{
        padding:44px 0 46px;
    }
    .exec-hero-copy h1{
        font-size:52px;
    }
    .exec-hero-lead{
        font-size:16px;
    }
    .exec-hero-stats{
        width:100%;
    }
    .exec-hero-stats>div{
        flex:1;
        min-width:0;
        padding:12px;
    }
    .exec-hero-stats strong{
        font-size:22px;
    }
    .exec-hero-stats span{
        font-size:14px;
    }
    .exec-hero-visual{
        min-height:390px;
    }
    .exec-hero-logo-ring{
        width:270px;
        height:270px;
    }
    .exec-hero-president-card{
        width:270px;
    }
    .exec-hero-president-photo-wrap{
        height:255px;
    }
    .exec-hero-motto{
        right:0;
        bottom:28px;
        width:168px;
    }
    .exec-president-section,
    .exec-team-section,
    .exec-commitment-section{
        padding-top:58px;
        padding-bottom:60px;
    }
    .exec-president-image-panel{
        min-height:430px;
    }
    .exec-president-principles{
        grid-template-columns:1fr;
    }
    .executive-page .exec-group-grid,
    .executive-page .exec-advisor-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .exec-commitment-grid{
        grid-template-columns:1fr;
    }
    .exec-commitment-card{
        min-height:220px;
    }
}
@media(max-width:520px){
    .exec-hero-copy h1{
        font-size:44px;
    }
    .exec-hero-actions{
        align-items:flex-start;
        flex-direction:column;
    }
    .exec-hero-stats{
        display:grid;
        grid-template-columns:repeat(3,1fr);
    }
    .exec-hero-stats>div{
        border-right:1px solid #e2ebe8;
    }
    .exec-hero-stats>div:last-child{
        border-right:0;
    }
    .exec-hero-visual{
        min-height:355px;
    }
    .exec-hero-president-card{
        width:235px;
        border-radius:22px;
    }
    .exec-hero-president-photo-wrap{
        height:220px;
    }
    .exec-hero-president-meta strong{
        font-size:20px;
    }
    .exec-hero-logo-ring{
        width:235px;
        height:235px;
    }
    .exec-hero-motto{
        width:145px;
        padding:11px 12px;
    }
    .exec-hero-motto strong{
        font-size:15px;
    }
    .exec-president-image-panel{
        min-height:380px;
        border-radius:22px;
    }
    .exec-president-image-tag{
        left:18px;
        right:18px;
        bottom:18px;
    }
    .exec-president-image-tag strong{
        font-size:24px;
    }
    .exec-role-group-heading{
        align-items:flex-start;
    }
    .exec-role-group-heading>small{
        display:none;
    }
    .executive-page .exec-group-grid,
    .executive-page .exec-advisor-grid{
        grid-template-columns:1fr;
    }
    .executive-page .exec-profile-card{
        display:grid;
        grid-template-columns:120px minmax(0,1fr);
        min-height:150px;
    }
    .executive-page .exec-profile-card .executive-photo-wrap{
        height:100%;
        min-height:150px;
        padding:10px;
    }
    .executive-page .exec-profile-card .executive-photo{
        width:88px;
        height:105px;
    }
    .executive-page .exec-profile-card .executive-photo[src$="default-profile.svg"]{
        width:66px;
        height:74px;
    }
    .executive-page .exec-profile-card .executive-card-body{
        min-height:150px;
        align-items:flex-start;
        text-align:left;
        padding:17px 14px;
    }
    .executive-page .exec-profile-card h3{
        min-height:0;
        justify-content:flex-start;
        text-align:left;
    }
    .executive-page .exec-profile-card .executive-position{
        justify-content:flex-start;
    }
    .exec-modern-cta{
        grid-template-columns:1fr;
        padding:27px;
    }
    .exec-modern-cta-mark{
        width:64px;
        height:64px;
    }
    .exec-modern-cta-mark img{
        width:59px;
        height:59px;
    }
    .exec-modern-cta-copy h2{
        font-size:29px;
    }
    .exec-modern-cta-actions{
        grid-column:auto;
        flex-direction:column;
    }
    .exec-modern-cta-actions .button{
        width:100%;
        justify-content:center;
    }
}
@media(prefers-reduced-motion:reduce){
    .executive-page .exec-profile-card,
    .exec-commitment-card,
    .exec-text-link span,
    .exec-president-message-link span{
        transition:none;
    }
    .executive-page .exec-profile-card:hover,
    .exec-commitment-card:hover{
        transform:none;
    }
}

/* =========================================================
   About Page — modern full-page experience
   ========================================================= */
.about-modern-page{
    overflow:hidden;
    background:#fff;
}
.about-modern-page section[id]{
    scroll-margin-top:96px;
}

/* Hero */
.about-modern-hero{
    position:relative;
    overflow:hidden;
    padding:76px 0 84px;
    background:
        radial-gradient(circle at 78% 18%,rgba(134,201,175,.19),transparent 31%),
        linear-gradient(135deg,#f7fcfa 0%,#fff 50%,#edf8f4 100%);
    border-bottom:1px solid #dce8e3;
}
.about-modern-hero::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(10,138,146,.024) 1px,transparent 1px),
        linear-gradient(90deg,rgba(10,138,146,.024) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.25) 58%,transparent 88%);
}
.about-modern-hero-shape{
    position:absolute;
    pointer-events:none;
    border-radius:50%;
}
.about-modern-hero-shape-one{
    width:290px;
    height:290px;
    right:-110px;
    top:-115px;
    border:46px solid rgba(10,138,146,.045);
}
.about-modern-hero-shape-two{
    width:160px;
    height:160px;
    left:42%;
    bottom:-100px;
    background:rgba(134,201,175,.10);
}
.about-modern-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
    gap:66px;
    align-items:center;
}
.about-modern-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:17px;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-modern-kicker>span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#0a8a92;
    box-shadow:0 0 0 5px rgba(10,138,146,.10);
}
.about-modern-hero-copy h1{
    margin:0;
    font-family:Georgia,serif;
    font-size:clamp(58px,7.2vw,90px);
    line-height:.94;
    letter-spacing:-.05em;
    color:#173f41;
}
.about-modern-hero-lead{
    max-width:720px;
    margin:24px 0 0;
    color:#627771;
    font-size:18px;
    line-height:1.68;
}
.about-modern-hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:27px;
}
.about-modern-hero-tags span{
    display:inline-flex;
    min-height:32px;
    align-items:center;
    padding:0 11px;
    border:1px solid #d1e4dd;
    border-radius:999px;
    background:rgba(255,255,255,.8);
    color:#53716b;
    font-size:14px;
    font-weight:850;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.about-modern-hero-actions{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:29px;
}
.about-modern-text-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.about-modern-text-link span{
    transition:transform .16s ease;
}
.about-modern-text-link:hover span{
    transform:translateX(4px);
}

/* Hero visual */
.about-modern-hero-visual{
    position:relative;
    min-height:520px;
}
.about-modern-photo{
    position:absolute;
    overflow:hidden;
    border:9px solid #fff;
    border-radius:26px;
    background:#eaf5f0;
    box-shadow:0 24px 60px rgba(18,70,70,.14);
}
.about-modern-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.about-modern-photo>span{
    position:absolute;
    left:14px;
    bottom:14px;
    display:inline-flex;
    min-height:30px;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    background:rgba(7,65,67,.9);
    color:#fff;
    font-size:14px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.about-modern-photo-present{
    width:64%;
    height:370px;
    right:0;
    top:0;
    transform:rotate(2.2deg);
}
.about-modern-photo-present img{
    object-position:center top;
}
.about-modern-photo-past{
    width:60%;
    height:285px;
    left:0;
    bottom:8px;
    transform:rotate(-3deg);
}
.about-modern-motto-badge{
    position:absolute;
    z-index:3;
    right:6%;
    bottom:8px;
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:12px;
    align-items:center;
    width:275px;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.8);
    border-radius:17px;
    background:rgba(255,255,255,.95);
    box-shadow:0 14px 36px rgba(16,67,67,.14);
    transform:rotate(1deg);
}
.about-modern-motto-badge img{
    width:52px;
    height:52px;
    object-fit:contain;
    border-radius:50%;
}
.about-modern-motto-badge small,
.about-modern-motto-badge strong{
    display:block;
}
.about-modern-motto-badge small{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-modern-motto-badge strong{
    margin-top:3px;
    color:#24494b;
    font-family:Georgia,serif;
    font-size:16px;
    line-height:1.15;
}

/* Subnav */
.about-modern-subnav-wrap{
    position:relative;
    z-index:20;
    border-bottom:1px solid #dce7e3;
    background:rgba(255,255,255,.96);
}
.about-modern-subnav{
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding:12px 0;
    scrollbar-width:none;
}
.about-modern-subnav::-webkit-scrollbar{
    display:none;
}
.about-modern-subnav a{
    flex:none;
    display:inline-flex;
    min-height:38px;
    align-items:center;
    justify-content:center;
    padding:0 13px;
    border-radius:999px;
    color:#5d726c;
    text-decoration:none;
    font-size:14px;
    font-weight:850;
    white-space:nowrap;
    transition:background .16s ease,color .16s ease;
}
.about-modern-subnav a:hover,
.about-modern-subnav a.is-active{
    background:#edf8f4;
    color:#08777e;
}

/* Shared section headings */
.about-modern-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:30px;
}
.about-modern-section-heading h2{
    margin:4px 0 0;
    max-width:800px;
    font-family:Georgia,serif;
    font-size:clamp(38px,4.8vw,58px);
    line-height:1.02;
    letter-spacing:-.035em;
    color:#173f41;
}
.about-modern-section-number{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    flex:none;
    border:1px solid #c9e0d7;
    border-radius:14px;
    background:#f3faf7;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}

/* School */
.about-modern-school-section{
    padding-top:82px;
    padding-bottom:84px;
}
.about-modern-school-grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(320px,.55fr);
    gap:50px;
    align-items:start;
}
.about-modern-school-copy>p{
    margin:0 0 18px;
    color:#657872;
    font-size:16px;
    line-height:1.75;
}
.about-modern-school-principles{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:28px;
}
.about-modern-school-principles>div{
    padding:14px;
    border-top:3px solid #86c9af;
    background:#f8fbfa;
}
.about-modern-school-principles span,
.about-modern-school-principles strong{
    display:block;
}
.about-modern-school-principles span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.about-modern-school-principles strong{
    margin-top:4px;
    color:#315456;
    font-size:14px;
}
.about-modern-location-card{
    position:relative;
    overflow:hidden;
    padding:27px;
    border:1px solid #cee3db;
    border-radius:22px;
    background:
        radial-gradient(circle at 90% 8%,rgba(134,201,175,.18),transparent 32%),
        #eef8f4;
}
.about-modern-location-card::after{
    content:"";
    position:absolute;
    width:130px;
    height:130px;
    right:-65px;
    bottom:-65px;
    border-radius:50%;
    background:rgba(10,138,146,.08);
}
.about-modern-location-icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    margin-bottom:26px;
    border-radius:14px;
    background:#0a8a92;
    color:#fff;
}
.about-modern-location-icon svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.about-modern-location-card>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-modern-location-card>strong{
    display:block;
    margin-top:6px;
    color:#24494b;
    font-family:Georgia,serif;
    font-size:26px;
    line-height:1.15;
}
.about-modern-location-card>p{
    position:relative;
    z-index:1;
    margin:14px 0 0;
    color:#6e817b;
    font-size:14px;
    line-height:1.6;
}
.about-modern-motto-strip{
    display:grid;
    grid-template-columns:minmax(270px,.55fr) minmax(0,1fr);
    gap:34px;
    align-items:center;
    margin-top:46px;
    padding:22px 26px;
    border-radius:18px;
    background:#0b666c;
    color:#fff;
}
.about-modern-motto-strip small,
.about-modern-motto-strip strong{
    display:block;
}
.about-modern-motto-strip small{
    color:#bce1d3;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-modern-motto-strip strong{
    margin-top:4px;
    font-family:Georgia,serif;
    font-size:22px;
}
.about-modern-motto-strip p{
    margin:0;
    color:#d4e8e3;
    font-size:14px;
    line-height:1.55;
}

/* Who we are */
.about-modern-who-section{
    padding-top:78px;
    padding-bottom:80px;
}
.about-modern-who-grid{
    display:grid;
    grid-template-columns:minmax(320px,.68fr) minmax(0,1fr);
    gap:70px;
    align-items:start;
}
.about-modern-who-heading .about-modern-section-number{
    margin-bottom:22px;
}
.about-modern-who-heading h2{
    margin:4px 0 0;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.7vw,56px);
    line-height:1.03;
    color:#173f41;
}
.about-modern-who-copy{
    padding-left:34px;
    border-left:1px solid #cfe0da;
}
.about-modern-who-copy p{
    margin:0 0 18px;
    color:#657872;
    font-size:16px;
    line-height:1.78;
}
.about-modern-who-copy p:last-child{
    margin-bottom:0;
}

/* Mission vision */
.about-modern-direction-section{
    padding-top:82px;
    padding-bottom:86px;
}
.about-modern-direction-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px;
}
.about-modern-statement-card{
    position:relative;
    overflow:hidden;
    min-height:410px;
    padding:32px;
    border:1px solid #d9e7e2;
    border-radius:24px;
}
.about-modern-statement-card::after{
    content:"";
    position:absolute;
    width:175px;
    height:175px;
    right:-85px;
    bottom:-85px;
    border-radius:50%;
    background:rgba(134,201,175,.12);
}
.about-modern-mission-card{
    background:#f6fbf9;
}
.about-modern-vision-card{
    background:#0b666c;
    border-color:#0b666c;
    color:#fff;
}
.about-modern-vision-card::after{
    background:rgba(255,255,255,.06);
}
.about-modern-statement-top{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
}
.about-modern-statement-top span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-modern-statement-top strong{
    color:#9eaaa6;
    font-size:14px;
}
.about-modern-vision-card .about-modern-statement-top span{
    color:#bde1d3;
}
.about-modern-vision-card .about-modern-statement-top strong{
    color:#96bdb8;
}
.about-modern-statement-card h3{
    margin:48px 0 15px;
    font-family:Georgia,serif;
    font-size:40px;
    line-height:1;
    color:#24494b;
}
.about-modern-vision-card h3{
    color:#fff;
}
.about-modern-statement-card p{
    position:relative;
    z-index:1;
    margin:0;
    color:#647872;
    font-size:15px;
    line-height:1.75;
}
.about-modern-vision-card p{
    color:#d7e9e5;
}
.about-modern-statement-card p strong{
    color:#08777e;
}
.about-modern-vision-card p strong{
    color:#fff;
}

/* Values */
.about-modern-values-section{
    padding-top:80px;
    padding-bottom:84px;
}
.about-modern-values-heading{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(300px,.55fr);
    gap:60px;
    align-items:end;
    margin-bottom:30px;
}
.about-modern-values-heading h2{
    margin:4px 0 0;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.8vw,57px);
    line-height:1.03;
    color:#173f41;
}
.about-modern-values-heading>p{
    margin:0;
    color:#687b75;
    font-size:14px;
    line-height:1.65;
}
.about-modern-values-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.about-modern-value-card{
    position:relative;
    overflow:hidden;
    min-height:235px;
    padding:23px;
    border:1px solid #dce7e3;
    border-radius:18px;
    background:#fff;
    transition:transform .18s ease,box-shadow .18s ease;
}
.about-modern-value-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 28px rgba(22,72,70,.075);
}
.about-modern-value-card>span{
    color:#97a59f;
    font-size:14px;
    font-weight:950;
}
.about-modern-value-card h3{
    margin:28px 0 9px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:26px;
}
.about-modern-value-card p{
    margin:0;
    color:#72847e;
    font-size:14px;
    line-height:1.62;
}
.about-modern-value-featured{
    grid-row:span 2;
    min-height:484px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    background:
        radial-gradient(circle at 86% 10%,rgba(134,201,175,.19),transparent 31%),
        #0b666c;
    border-color:#0b666c;
}
.about-modern-value-featured>span{
    color:#9ecbc0;
}
.about-modern-value-featured h3{
    color:#fff;
    font-size:36px;
}
.about-modern-value-featured p{
    color:#d6e9e4;
    font-size:14px;
}
.about-modern-value-icon{
    position:absolute;
    top:24px;
    left:24px;
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    border-radius:16px;
    background:rgba(255,255,255,.11);
    color:#fff;
}
.about-modern-value-icon svg{
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.about-modern-value-wide{
    grid-column:span 2;
}

/* President */
.about-modern-president-section{
    padding-top:84px;
    padding-bottom:86px;
}
.about-modern-president-layout{
    display:grid;
    grid-template-columns:minmax(290px,.56fr) minmax(0,1fr);
    gap:54px;
    align-items:start;
}
.about-modern-president-aside{
    position:sticky;
    top:96px;
}
.about-modern-president-photo-wrap{
    height:420px;
    overflow:hidden;
    border-radius:24px;
    background:#eaf4f0;
    box-shadow:0 20px 46px rgba(18,70,70,.10);
}
.about-modern-president-photo-wrap img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 15%;
}
.about-modern-president-meta{
    padding:21px 4px 0;
}
.about-modern-president-meta span,
.about-modern-president-meta h2,
.about-modern-president-meta p,
.about-modern-president-meta small{
    display:block;
}
.about-modern-president-meta span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-modern-president-meta h2{
    margin:6px 0 0;
    color:#24494b;
    font-family:Georgia,serif;
    font-size:29px;
}
.about-modern-president-meta p{
    margin:4px 0 0;
    color:#0a8a92;
    font-size:14px;
    font-weight:850;
}
.about-modern-president-meta small{
    margin-top:4px;
    color:#899792;
    font-size:14px;
}
.about-modern-president-aside blockquote{
    margin:22px 0 0;
    padding:16px 18px;
    border-left:3px solid #86c9af;
    background:#f6faf8;
    color:#496763;
    font-family:Georgia,serif;
    font-size:17px;
    line-height:1.45;
}
.about-modern-message-heading{
    display:block;
    min-width:0;
    align-items:start;
    margin-bottom:28px;
}
.about-modern-message-heading h2{
    margin:4px 0 0;
    max-width:720px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(28px,3vw,42px);
    line-height:1.15;
}
.about-modern-president-message>p{
    margin:0 0 19px;
    color:#60746e;
    font-size:15.5px;
    line-height:1.78;
}
.about-modern-president-closing{
    margin-top:28px;
    padding-top:22px;
    border-top:1px solid #dce7e3;
}
.about-modern-president-closing span,
.about-modern-president-closing strong,
.about-modern-president-closing small{
    display:block;
}
.about-modern-president-closing span{
    color:#788b85;
    font-size:14px;
    font-style:italic;
}
.about-modern-president-closing strong{
    margin-top:7px;
    color:#24494b;
    font-family:Georgia,serif;
    font-size:24px;
}
.about-modern-president-closing small{
    margin-top:2px;
    color:#08777e;
    font-size:14px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* Community */
.about-modern-community-section{
    padding-top:80px;
    padding-bottom:82px;
}
.about-modern-community-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);
    gap:55px;
    align-items:center;
}
.about-modern-community-copy .about-modern-section-number{
    margin-bottom:20px;
}
.about-modern-community-copy h2{
    margin:4px 0 17px;
    max-width:690px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.8vw,57px);
    line-height:1.03;
}
.about-modern-community-copy>p{
    max-width:750px;
    margin:0 0 17px;
    color:#657872;
    font-size:15px;
    line-height:1.72;
}
.about-modern-community-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:25px;
}
.about-modern-community-card{
    position:relative;
    min-height:470px;
    overflow:hidden;
    border-radius:25px;
    box-shadow:0 20px 48px rgba(20,70,69,.11);
}
.about-modern-community-card>img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}
.about-modern-community-card-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(0deg,rgba(5,42,44,.88) 0%,rgba(5,42,44,.22) 70%),
        linear-gradient(120deg,rgba(10,138,146,.12),transparent);
}
.about-modern-community-card-content{
    position:absolute;
    z-index:2;
    left:28px;
    right:28px;
    bottom:28px;
    color:#fff;
}
.about-modern-community-card-content>span{
    color:#bde1d3;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-modern-community-card-content blockquote{
    margin:8px 0 11px;
    font-family:Georgia,serif;
    font-size:31px;
    line-height:1.08;
}
.about-modern-community-card-content p{
    margin:0;
    color:#d6e9e4;
    font-size:14px;
    line-height:1.55;
}

/* CTA */
.about-modern-cta-section{
    padding-top:0;
    padding-bottom:84px;
}
.about-modern-cta{
    display:grid;
    grid-template-columns:84px minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    padding:34px;
    overflow:hidden;
    border-radius:24px;
    background:
        radial-gradient(circle at 91% 10%,rgba(134,201,175,.18),transparent 35%),
        #0b646a;
    color:#fff;
}
.about-modern-cta-logo{
    width:78px;
    height:78px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    background:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.15);
}
.about-modern-cta-logo img{
    width:72px;
    height:72px;
    object-fit:contain;
}
.about-modern-cta-copy .eyebrow{
    color:#b8e0d0;
}
.about-modern-cta-copy h2{
    margin:4px 0 8px;
    max-width:720px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:35px;
    line-height:1.08;
}
.about-modern-cta-copy p{
    max-width:740px;
    margin:0;
    color:#d3e9e4;
    font-size:14px;
    line-height:1.55;
}
.about-modern-cta-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.about-modern-cta .button{
    background:#fff;
    border-color:#fff;
    color:#0b646a!important;
}
.about-modern-cta .button-secondary{
    background:transparent;
    border-color:#abd5c8;
    color:#fff!important;
}

/* responsive */
@media(max-width:1100px){
    .about-modern-hero-grid{
        grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);
        gap:42px;
    }
    .about-modern-values-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .about-modern-value-featured{
        grid-row:auto;
        min-height:260px;
    }
    .about-modern-value-wide{
        grid-column:auto;
    }
}
@media(max-width:920px){
    .about-modern-hero{
        padding:58px 0 64px;
    }
    .about-modern-hero-grid{
        grid-template-columns:1fr;
    }
    .about-modern-hero-visual{
        width:min(620px,100%);
        margin:0 auto;
    }
    .about-modern-school-grid,
    .about-modern-who-grid,
    .about-modern-president-layout,
    .about-modern-community-grid{
        grid-template-columns:1fr;
    }
    .about-modern-who-grid{
        gap:30px;
    }
    .about-modern-who-copy{
        padding-left:0;
        border-left:0;
    }
    .about-modern-president-aside{
        position:static;
        display:grid;
        grid-template-columns:minmax(230px,.55fr) minmax(0,1fr);
        gap:25px;
        align-items:end;
    }
    .about-modern-president-aside blockquote{
        grid-column:2;
        margin-top:0;
    }
    .about-modern-president-photo-wrap{
        grid-row:1/3;
        height:390px;
    }
    .about-modern-community-card{
        min-height:420px;
    }
    .about-modern-cta{
        grid-template-columns:70px minmax(0,1fr);
    }
    .about-modern-cta-actions{
        grid-column:1/-1;
        justify-content:flex-start;
    }
}
@media(max-width:720px){
    .about-modern-hero{
        padding:45px 0 52px;
    }
    .about-modern-hero-copy h1{
        font-size:53px;
    }
    .about-modern-hero-lead{
        font-size:16px;
    }
    .about-modern-hero-visual{
        min-height:455px;
    }
    .about-modern-photo-present{
        width:69%;
        height:330px;
    }
    .about-modern-photo-past{
        width:64%;
        height:245px;
    }
    .about-modern-motto-badge{
        right:2%;
        width:245px;
    }
    .about-modern-school-section,
    .about-modern-who-section,
    .about-modern-direction-section,
    .about-modern-values-section,
    .about-modern-president-section,
    .about-modern-community-section{
        padding-top:58px;
        padding-bottom:60px;
    }
    .about-modern-section-heading,
    .about-modern-values-heading{
        align-items:flex-start;
        grid-template-columns:1fr;
        flex-direction:column-reverse;
    }
    .about-modern-section-heading{
        display:flex;
    }
    .about-modern-school-principles{
        grid-template-columns:1fr;
    }
    .about-modern-motto-strip{
        grid-template-columns:1fr;
        gap:10px;
    }
    .about-modern-direction-grid{
        grid-template-columns:1fr;
    }
    .about-modern-statement-card{
        min-height:330px;
    }
    .about-modern-values-grid{
        grid-template-columns:1fr;
    }
    .about-modern-president-aside{
        display:block;
    }
    .about-modern-president-photo-wrap{
        height:410px;
    }
    .about-modern-president-aside blockquote{
        margin-top:20px;
    }
}
@media(max-width:520px){
    .about-modern-hero-copy h1{
        font-size:45px;
    }
    .about-modern-kicker{
        font-size:14px;
        line-height:1.4;
    }
    .about-modern-hero-actions{
        align-items:flex-start;
        flex-direction:column;
    }
    .about-modern-hero-visual{
        min-height:375px;
    }
    .about-modern-photo{
        border-width:6px;
        border-radius:20px;
    }
    .about-modern-photo-present{
        width:72%;
        height:270px;
    }
    .about-modern-photo-past{
        width:65%;
        height:205px;
    }
    .about-modern-motto-badge{
        width:220px;
        grid-template-columns:44px minmax(0,1fr);
        padding:10px 12px;
    }
    .about-modern-motto-badge img{
        width:44px;
        height:44px;
    }
    .about-modern-motto-badge strong{
        font-size:14px;
    }
    .about-modern-section-heading h2,
    .about-modern-who-heading h2,
    .about-modern-values-heading h2,
    .about-modern-community-copy h2{
        font-size:38px;
    }
    .about-modern-location-card{
        padding:22px;
    }
    .about-modern-location-card>strong{
        font-size:22px;
    }
    .about-modern-statement-card{
        padding:24px;
    }
    .about-modern-statement-card h3{
        margin-top:36px;
        font-size:34px;
    }
    .about-modern-president-photo-wrap{
        height:365px;
    }
    .about-modern-message-heading{
        grid-template-columns:42px minmax(0,1fr);
    }
    .about-modern-community-card{
        min-height:390px;
    }
    .about-modern-community-card-content{
        left:20px;
        right:20px;
        bottom:20px;
    }
    .about-modern-community-card-content blockquote{
        font-size:27px;
    }
    .about-modern-cta{
        grid-template-columns:1fr;
        padding:27px;
    }
    .about-modern-cta-logo{
        width:64px;
        height:64px;
    }
    .about-modern-cta-logo img{
        width:59px;
        height:59px;
    }
    .about-modern-cta-copy h2{
        font-size:29px;
    }
    .about-modern-cta-actions{
        grid-column:auto;
        flex-direction:column;
    }
    .about-modern-cta-actions .button{
        width:100%;
        justify-content:center;
    }
}
@media(prefers-reduced-motion:reduce){
    .about-modern-value-card,
    .about-modern-text-link span{
        transition:none;
    }
    .about-modern-value-card:hover{
        transform:none;
    }
}

/* =========================================================
   Home Page — modern Association-first experience
   ========================================================= */
.home-modern-page{
    overflow:hidden;
    background:#fff;
}

/* Required actual image banner */
.home-modern-banner{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#123f41;
}
.home-modern-banner-image{
    width:100%;
    height:clamp(320px,42vw,610px);
    display:block;
    object-fit:cover;
    object-position:center top;
}
.home-modern-banner-shade{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(0deg,rgba(6,35,36,.58) 0%,rgba(6,35,36,.02) 48%),
        linear-gradient(90deg,rgba(6,35,36,.22),transparent 48%);
}
.home-modern-banner-caption{
    position:absolute;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    color:#fff;
}
.home-modern-banner-caption span,
.home-modern-banner-caption strong{
    display:block;
    text-shadow:0 2px 16px rgba(0,0,0,.28);
}
.home-modern-banner-caption span{
    color:#cde9de;
    font-size:14px;
    font-weight:950;
    letter-spacing:.16em;
}
.home-modern-banner-caption strong{
    margin-top:4px;
    font-family:Georgia,serif;
    font-size:clamp(24px,3vw,39px);
    line-height:1.05;
}

/* Intro card overlapping banner */
.home-modern-intro{
    position:relative;
    z-index:4;
    margin-top:-2px;
    padding-bottom:58px;
    background:linear-gradient(180deg,#f5faf8 0%,#fff 100%);
}
.home-modern-intro-card{
    position:relative;
    margin-top:-1px;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(330px,.65fr);
    gap:52px;
    padding:46px 48px;
    border:1px solid #d9e7e2;
    border-top:4px solid #0a8a92;
    border-radius:0 0 26px 26px;
    background:#fff;
    box-shadow:0 20px 48px rgba(19,69,69,.08);
}
.home-modern-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.home-modern-kicker>span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#0a8a92;
}
.home-modern-intro-copy h1{
    max-width:790px;
    margin:10px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(45px,5vw,68px);
    line-height:.99;
    letter-spacing:-.04em;
}
.home-modern-intro-copy>p{
    max-width:780px;
    margin:19px 0 0;
    color:#61756f;
    font-size:17px;
    line-height:1.68;
}
.home-modern-intro-actions{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:26px;
}
.home-modern-text-link,
.home-modern-arrow-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#08777e;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
}
.home-modern-text-link span,
.home-modern-arrow-link span{
    transition:transform .16s ease;
}
.home-modern-text-link:hover span,
.home-modern-arrow-link:hover span{
    transform:translateX(4px);
}
.home-modern-intro-principles{
    display:grid;
    align-content:center;
}
.home-modern-intro-principles article{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:13px;
    padding:14px 0;
    border-bottom:1px solid #e3ebe8;
}
.home-modern-intro-principles article:first-child{
    padding-top:0;
}
.home-modern-intro-principles article:last-child{
    padding-bottom:0;
    border-bottom:0;
}
.home-modern-intro-principles>article>span{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:11px;
    background:#edf8f4;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}
.home-modern-intro-principles strong{
    display:block;
    color:#315052;
    font-size:14px;
}
.home-modern-intro-principles p{
    margin:3px 0 0;
    color:#7b8c86;
    font-size:14px;
    line-height:1.45;
}

/* Section numbers + split headings */
.home-modern-section-number{
    display:grid;
    place-items:center;
    width:47px;
    height:47px;
    margin-bottom:20px;
    border:1px solid #c9e0d7;
    border-radius:14px;
    background:#f3faf7;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}
.home-modern-heading-split{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(300px,.55fr);
    gap:58px;
    align-items:end;
    margin-bottom:30px;
}
.home-modern-heading-split h2{
    margin:4px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.8vw,57px);
    line-height:1.03;
    letter-spacing:-.03em;
}
.home-modern-heading-split>p{
    margin:0;
    color:#687b75;
    font-size:14px;
    line-height:1.65;
}

/* Story */
.home-modern-story-section{
    padding-top:78px;
    padding-bottom:88px;
}
.home-modern-story-grid{
    display:grid;
    grid-template-columns:minmax(0,.88fr) minmax(410px,.82fr);
    gap:70px;
    align-items:center;
}
.home-modern-story-copy h2{
    max-width:720px;
    margin:4px 0 17px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(40px,5vw,60px);
    line-height:1.02;
    letter-spacing:-.035em;
}
.home-modern-story-copy>p{
    max-width:740px;
    margin:0 0 17px;
    color:#657872;
    font-size:15.5px;
    line-height:1.74;
}
.home-modern-story-copy .home-modern-arrow-link{
    margin-top:10px;
}
.home-modern-story-visual{
    position:relative;
    min-height:520px;
}
.home-modern-story-image{
    position:absolute;
    overflow:hidden;
    margin:0;
    border:8px solid #fff;
    border-radius:25px;
    background:#e8f4ef;
    box-shadow:0 22px 55px rgba(18,70,70,.14);
}
.home-modern-story-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.home-modern-story-image figcaption{
    position:absolute;
    left:13px;
    bottom:13px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(6,56,58,.9);
    color:#fff;
    font-size:14px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.home-modern-story-image-present{
    width:63%;
    height:365px;
    right:0;
    top:0;
    transform:rotate(2.4deg);
}
.home-modern-story-image-present img{
    object-position:center top;
}
.home-modern-story-image-past{
    width:62%;
    height:275px;
    left:0;
    bottom:7px;
    transform:rotate(-3deg);
}
.home-modern-story-motto{
    position:absolute;
    z-index:3;
    right:3%;
    bottom:2px;
    width:255px;
    padding:14px 17px;
    border-radius:16px;
    background:#0b666c;
    color:#fff;
    box-shadow:0 14px 34px rgba(8,72,76,.20);
    transform:rotate(1.5deg);
}
.home-modern-story-motto small,
.home-modern-story-motto strong{
    display:block;
}
.home-modern-story-motto small{
    color:#bce1d3;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.home-modern-story-motto strong{
    margin-top:3px;
    font-family:Georgia,serif;
    font-size:18px;
    line-height:1.15;
}

/* Explore */
.home-modern-explore-section{
    padding-top:80px;
    padding-bottom:84px;
}
.home-modern-explore-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:13px;
}
.home-modern-explore-card{
    position:relative;
    overflow:hidden;
    min-height:315px;
    display:flex;
    flex-direction:column;
    padding:23px;
    border:1px solid #dce8e3;
    border-radius:19px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.home-modern-explore-card:hover{
    transform:translateY(-4px);
    border-color:#bddbd0;
    box-shadow:0 15px 32px rgba(20,70,69,.085);
}
.home-modern-explore-card-featured{
    background:#0b666c;
    border-color:#0b666c;
}
.home-modern-explore-card>span{
    color:#99a7a2;
    font-size:14px;
    font-weight:950;
}
.home-modern-explore-card-featured>span{
    color:#9ecbc0;
}
.home-modern-explore-card-icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    margin-bottom:39px;
    border-radius:14px;
    background:#eaf7f2;
    color:#08777e;
}
.home-modern-explore-card-featured .home-modern-explore-card-icon{
    background:rgba(255,255,255,.11);
    color:#fff;
}
.home-modern-explore-card-icon svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.home-modern-explore-card h3{
    margin:9px 0 8px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:25px;
    line-height:1.08;
}
.home-modern-explore-card-featured h3{
    color:#fff;
}
.home-modern-explore-card p{
    margin:0;
    color:#71847e;
    font-size:14px;
    line-height:1.58;
}
.home-modern-explore-card-featured p{
    color:#d4e8e3;
}
.home-modern-explore-card>strong{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:9px;
    margin-top:auto;
    padding-top:22px;
    color:#08777e;
    font-size:14px;
    font-weight:900;
}
.home-modern-explore-card-featured>strong{
    color:#fff;
}
.home-modern-explore-card>strong b{
    font-size:15px;
    transition:transform .16s ease;
}
.home-modern-explore-card:hover>strong b{
    transform:translateX(3px);
}

/* Events */
.home-modern-events-section{
    padding-top:84px;
    padding-bottom:88px;
}
.home-modern-events-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(350px,.58fr);
    gap:65px;
    align-items:center;
}
.home-modern-events-copy h2{
    max-width:730px;
    margin:4px 0 17px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(40px,5vw,60px);
    line-height:1.02;
}
.home-modern-events-copy>p{
    max-width:760px;
    margin:0;
    color:#667973;
    font-size:15px;
    line-height:1.7;
}
.home-modern-event-paths{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin-top:27px;
}
.home-modern-event-paths>div{
    padding:15px;
    border-top:3px solid #86c9af;
    background:#f7fbf9;
}
.home-modern-event-paths span,
.home-modern-event-paths strong{
    display:block;
}
.home-modern-event-paths span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
}
.home-modern-event-paths strong{
    margin-top:5px;
    color:#315052;
    font-size:14px;
}
.home-modern-event-paths p{
    margin:4px 0 0;
    color:#7b8c86;
    font-size:14px;
    line-height:1.45;
}
.home-modern-events-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    margin-top:26px;
}
.home-modern-events-card{
    position:relative;
    overflow:hidden;
    min-height:440px;
    display:flex;
    flex-direction:column;
    padding:28px;
    border-radius:25px;
    background:
        radial-gradient(circle at 87% 11%,rgba(134,201,175,.18),transparent 34%),
        #0b666c;
    color:#fff;
    box-shadow:0 21px 48px rgba(18,70,70,.14);
}
.home-modern-events-card::after{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    right:-85px;
    bottom:-85px;
    border-radius:50%;
    background:rgba(255,255,255,.055);
}
.home-modern-events-calendar{
    display:grid;
    place-items:center;
    width:72px;
    height:72px;
    margin-bottom:auto;
    border:1px solid rgba(255,255,255,.18);
    border-radius:19px;
    background:rgba(255,255,255,.10);
}
.home-modern-events-calendar span,
.home-modern-events-calendar strong{
    display:block;
}
.home-modern-events-calendar span{
    color:#bde1d3;
    font-size:14px;
    font-weight:950;
}
.home-modern-events-calendar strong{
    margin-top:-6px;
    font-family:Georgia,serif;
    font-size:27px;
}
.home-modern-events-card .eyebrow{
    color:#bde1d3;
}
.home-modern-events-card h3{
    margin:5px 0 10px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:31px;
    line-height:1.08;
}
.home-modern-events-card p{
    margin:0;
    color:#d5e8e4;
    font-size:14px;
    line-height:1.58;
}
.home-modern-events-card>a{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.16);
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

/* Membership */
.home-modern-membership-section{
    padding-top:78px;
    padding-bottom:80px;
}
.home-modern-membership-card{
    display:grid;
    grid-template-columns:85px minmax(0,1fr) minmax(195px,.32fr);
    gap:30px;
    align-items:center;
    padding:34px;
    border:1px solid #d3e5de;
    border-radius:24px;
    background:
        radial-gradient(circle at 95% 5%,rgba(134,201,175,.15),transparent 35%),
        #fff;
}
.home-modern-membership-mark{
    display:grid;
    place-items:center;
    width:80px;
    height:80px;
    overflow:hidden;
    border:1px solid #d9e7e2;
    border-radius:50%;
    background:#fff;
    box-shadow:0 9px 24px rgba(18,70,70,.07);
}
.home-modern-membership-mark img{
    width:73px;
    height:73px;
    object-fit:contain;
}
.home-modern-membership-copy h2{
    margin:4px 0 9px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:35px;
    line-height:1.08;
}
.home-modern-membership-copy>p{
    max-width:900px;
    margin:0;
    color:#667a73;
    font-size:14px;
    line-height:1.62;
}
.home-modern-membership-actions{
    display:grid;
    gap:11px;
    justify-items:start;
}
.home-modern-membership-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

/* Connected */
.home-modern-connect-section{
    padding-top:80px;
    padding-bottom:86px;
}
.home-modern-connect-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.home-modern-connect-grid>a{
    display:grid;
    grid-template-columns:1fr auto;
    min-height:125px;
    align-content:center;
    gap:4px 10px;
    padding:19px;
    border:1px solid #dce7e3;
    border-radius:16px;
    color:inherit;
    text-decoration:none;
    transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.home-modern-connect-grid>a:hover{
    transform:translateY(-2px);
    border-color:#bddbd0;
    background:#f7fbf9;
}
.home-modern-connect-grid span{
    grid-column:1;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.home-modern-connect-grid strong{
    grid-column:1;
    color:#315052;
    font-size:14px;
    line-height:1.35;
    overflow-wrap:anywhere;
}
.home-modern-connect-grid b{
    grid-column:2;
    grid-row:1/3;
    align-self:center;
    color:#08777e;
    font-size:17px;
}

/* DHS PSAN - deliberately last */
.home-modern-network-section{
    padding-top:0;
    padding-bottom:88px;
}
.home-modern-network-card{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:195px minmax(0,1fr) auto;
    gap:34px;
    align-items:center;
    padding:40px;
    border-radius:26px;
    background:
        radial-gradient(circle at 90% 10%,rgba(134,201,175,.18),transparent 34%),
        #083f43;
    color:#fff;
}
.home-modern-network-card::before{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    right:-90px;
    bottom:-90px;
    border-radius:50%;
    border:36px solid rgba(255,255,255,.035);
}
.home-modern-network-identity{
    display:grid;
    justify-items:center;
    gap:13px;
    padding-right:30px;
    border-right:1px solid rgba(255,255,255,.15);
    text-align:center;
}
.home-modern-network-logo{
    display:grid;
    place-items:center;
    width:86px;
    height:86px;
    overflow:hidden;
    border-radius:50%;
    background:#fff;
}
.home-modern-network-logo img{
    width:79px;
    height:79px;
    object-fit:contain;
}
.home-modern-network-identity span,
.home-modern-network-identity strong{
    display:block;
}
.home-modern-network-identity span{
    color:#abd8ca;
    font-size:14px;
    font-weight:950;
    letter-spacing:.11em;
}
.home-modern-network-identity strong{
    margin-top:3px;
    font-family:Georgia,serif;
    font-size:26px;
}
.home-modern-network-copy .eyebrow{
    color:#afdaca;
}
.home-modern-network-copy h2{
    margin:4px 0 10px;
    max-width:750px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:37px;
    line-height:1.07;
}
.home-modern-network-copy p{
    max-width:820px;
    margin:0 0 9px;
    color:#d1e7e1;
    font-size:14px;
    line-height:1.58;
}
.home-modern-network-copy p:last-child{
    margin-bottom:0;
}
.home-modern-network-actions{
    position:relative;
    z-index:1;
    display:grid;
    gap:9px;
}
.home-modern-network-card .button{
    background:#fff;
    border-color:#fff;
    color:#084e53!important;
}
.home-modern-network-card .button-secondary{
    background:transparent;
    border-color:#9accc0;
    color:#fff!important;
}

/* Responsive */
@media(max-width:1150px){
    .home-modern-explore-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .home-modern-network-card{
        grid-template-columns:160px minmax(0,1fr);
    }
    .home-modern-network-actions{
        grid-column:1/-1;
        grid-template-columns:repeat(2,max-content);
        justify-content:flex-end;
    }
}
@media(max-width:930px){
    .home-modern-intro-card,
    .home-modern-story-grid,
    .home-modern-events-grid{
        grid-template-columns:1fr;
    }
    .home-modern-intro-card{
        gap:34px;
    }
    .home-modern-story-visual{
        width:min(600px,100%);
        margin:0 auto;
    }
    .home-modern-events-card{
        min-height:390px;
    }
    .home-modern-membership-card{
        grid-template-columns:75px minmax(0,1fr);
    }
    .home-modern-membership-actions{
        grid-column:1/-1;
        display:flex;
        align-items:center;
        gap:17px;
    }
    .home-modern-connect-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .home-modern-network-card{
        grid-template-columns:130px minmax(0,1fr);
    }
}
@media(max-width:720px){
    .home-modern-banner-image{
        height:390px;
    }
    .home-modern-banner-caption{
        bottom:20px;
    }
    .home-modern-intro{
        padding-bottom:48px;
    }
    .home-modern-intro-card{
        padding:31px 28px;
        border-radius:0 0 22px 22px;
    }
    .home-modern-intro-copy h1{
        font-size:47px;
    }
    .home-modern-intro-copy>p{
        font-size:15.5px;
    }
    .home-modern-story-section,
    .home-modern-explore-section,
    .home-modern-events-section,
    .home-modern-membership-section,
    .home-modern-connect-section{
        padding-top:58px;
        padding-bottom:62px;
    }
    .home-modern-heading-split{
        grid-template-columns:1fr;
        gap:16px;
        align-items:start;
    }
    .home-modern-story-visual{
        min-height:450px;
    }
    .home-modern-story-image-present{
        height:315px;
    }
    .home-modern-story-image-past{
        height:235px;
    }
    .home-modern-event-paths{
        grid-template-columns:1fr;
    }
    .home-modern-membership-card{
        padding:26px;
    }
    .home-modern-network-card{
        grid-template-columns:1fr;
        padding:31px;
    }
    .home-modern-network-identity{
        grid-template-columns:78px minmax(0,1fr);
        justify-items:start;
        align-items:center;
        padding-right:0;
        padding-bottom:20px;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.15);
        text-align:left;
    }
    .home-modern-network-actions{
        grid-column:auto;
        justify-content:start;
    }
}
@media(max-width:540px){
    .home-modern-banner-image{
        height:325px;
    }
    .home-modern-banner-caption strong{
        font-size:25px;
    }
    .home-modern-intro-card{
        padding:27px 21px;
    }
    .home-modern-intro-copy h1{
        font-size:40px;
    }
    .home-modern-intro-actions{
        align-items:flex-start;
        flex-direction:column;
    }
    .home-modern-story-copy h2,
    .home-modern-heading-split h2,
    .home-modern-events-copy h2{
        font-size:38px;
    }
    .home-modern-story-visual{
        min-height:365px;
    }
    .home-modern-story-image{
        border-width:6px;
        border-radius:19px;
    }
    .home-modern-story-image-present{
        width:71%;
        height:255px;
    }
    .home-modern-story-image-past{
        width:66%;
        height:185px;
    }
    .home-modern-story-motto{
        width:218px;
        padding:11px 13px;
    }
    .home-modern-story-motto strong{
        font-size:15px;
    }
    .home-modern-explore-grid,
    .home-modern-connect-grid{
        grid-template-columns:1fr;
    }
    .home-modern-explore-card{
        min-height:280px;
    }
    .home-modern-membership-card{
        grid-template-columns:1fr;
    }
    .home-modern-membership-mark{
        width:66px;
        height:66px;
    }
    .home-modern-membership-mark img{
        width:61px;
        height:61px;
    }
    .home-modern-membership-copy h2{
        font-size:30px;
    }
    .home-modern-membership-actions{
        grid-column:auto;
        align-items:flex-start;
        flex-direction:column;
    }
    .home-modern-network-copy h2{
        font-size:31px;
    }
    .home-modern-network-actions{
        width:100%;
        grid-template-columns:1fr;
    }
    .home-modern-network-actions .button{
        width:100%;
        justify-content:center;
    }
}
@media(prefers-reduced-motion:reduce){
    .home-modern-explore-card,
    .home-modern-connect-grid>a,
    .home-modern-text-link span,
    .home-modern-arrow-link span{
        transition:none;
    }
    .home-modern-explore-card:hover,
    .home-modern-connect-grid>a:hover{
        transform:none;
    }
}

/* =========================================================
   Events Page — modern public experience
   ========================================================= */
.events-modern-page,.past-modern-page{overflow:hidden;background:#fff}
.events-modern-page section[id]{scroll-margin-top:95px}
.events-modern-hero{position:relative;overflow:hidden;padding:76px 0 78px;border-bottom:1px solid #dce8e3;background:radial-gradient(circle at 82% 10%,rgba(134,201,175,.21),transparent 30%),linear-gradient(135deg,#f7fcfa 0%,#fff 48%,#edf8f4 100%)}
.events-modern-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(10,138,146,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(10,138,146,.024) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.25) 56%,transparent 90%)}
.events-modern-hero-orb{position:absolute;border-radius:50%;pointer-events:none}
.events-modern-hero-orb-one{width:330px;height:330px;right:-120px;top:-140px;border:52px solid rgba(10,138,146,.04)}
.events-modern-hero-orb-two{width:150px;height:150px;left:46%;bottom:-95px;background:rgba(134,201,175,.11)}
.events-modern-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.78fr);gap:68px;align-items:center}
.events-modern-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;color:#08777e;font-size:14px;font-weight:950;letter-spacing:.14em}
.events-modern-kicker>span{width:8px;height:8px;border-radius:50%;background:#0a8a92;box-shadow:0 0 0 5px rgba(10,138,146,.10)}
.events-modern-hero-copy h1{max-width:800px;margin:0;color:#173f41;font-family:Georgia,serif;font-size:clamp(57px,7vw,86px);line-height:.94;letter-spacing:-.05em}
.events-modern-hero-lead{max-width:740px;margin:24px 0 0;color:#61756f;font-size:18px;line-height:1.67}
.events-modern-hero-actions{display:flex;align-items:center;gap:20px;margin-top:29px}
.events-modern-text-link{display:inline-flex;align-items:center;gap:8px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}
.events-modern-text-link span{transition:transform .16s ease}
.events-modern-text-link:hover span{transform:translateX(4px)}
.events-modern-hero-themes{display:flex;width:max-content;max-width:100%;margin-top:32px;overflow:hidden;border:1px solid #d7e6e0;border-radius:15px;background:rgba(255,255,255,.78)}
.events-modern-hero-themes>div{min-width:125px;padding:12px 15px;border-right:1px solid #e1eae7}
.events-modern-hero-themes>div:last-child{border-right:0}
.events-modern-hero-themes strong,.events-modern-hero-themes span{display:block}
.events-modern-hero-themes strong{color:#315052;font-size:14px}
.events-modern-hero-themes span{margin-top:3px;color:#83928d;font-size:14px}
.events-modern-hero-visual{position:relative;min-height:470px;display:grid;place-items:center}
.events-modern-calendar-shell{width:310px;overflow:hidden;border:10px solid #fff;border-radius:27px;background:#fff;box-shadow:0 27px 64px rgba(18,70,70,.17);transform:rotate(2deg)}
.events-modern-calendar-top{display:flex;justify-content:space-between;gap:14px;padding:17px 18px;background:#0b666c;color:#fff}
.events-modern-calendar-top span{color:#c1e2d6;font-size:14px;font-weight:950;letter-spacing:.12em}
.events-modern-calendar-top small{font-size:14px;font-weight:950;letter-spacing:.10em}
.events-modern-calendar-body{min-height:270px;display:grid;align-content:center;padding:28px;background:radial-gradient(circle at 82% 14%,rgba(134,201,175,.17),transparent 32%),#f7fbf9}
.events-modern-calendar-body span,.events-modern-calendar-body strong,.events-modern-calendar-body small{display:block}
.events-modern-calendar-body span{color:#0a8a92;font-size:14px;font-weight:950;letter-spacing:.15em}
.events-modern-calendar-body strong{margin-top:5px;color:#173f41;font-family:Georgia,serif;font-size:46px;line-height:.95}
.events-modern-calendar-body small{max-width:180px;margin-top:17px;color:#768985;font-size:14px;line-height:1.4}
.events-modern-hero-note{position:absolute;z-index:2;width:155px;padding:13px 15px;border:1px solid rgba(255,255,255,.85);border-radius:15px;background:rgba(255,255,255,.95);box-shadow:0 14px 34px rgba(18,70,70,.12)}
.events-modern-hero-note span,.events-modern-hero-note strong{display:block}
.events-modern-hero-note span{color:#0a8a92;font-size:14px;font-weight:950;letter-spacing:.11em}
.events-modern-hero-note strong{margin-top:3px;color:#315052;font-family:Georgia,serif;font-size:17px}
.events-modern-hero-note-one{left:0;top:74px;transform:rotate(-4deg)}
.events-modern-hero-note-two{right:-6px;bottom:98px;transform:rotate(3deg)}
.events-modern-hero-ticket{position:absolute;z-index:3;left:20px;bottom:24px;display:grid;grid-template-columns:37px minmax(0,1fr);gap:11px;align-items:center;width:205px;padding:13px;border-radius:15px;background:#0a8a92;color:#fff;box-shadow:0 14px 34px rgba(8,92,96,.23);transform:rotate(-2deg)}
.events-modern-hero-ticket svg{width:29px;height:29px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.events-modern-hero-ticket small,.events-modern-hero-ticket strong{display:block}
.events-modern-hero-ticket small{color:#c8e7dc;font-size:14px;font-weight:950;letter-spacing:.1em}
.events-modern-hero-ticket strong{margin-top:2px;font-size:14px}
.events-modern-filter-wrap,.past-modern-filter-wrap{position:relative;z-index:12;padding:14px 0;border-bottom:1px solid #dfe9e5;background:#fff}
.events-modern-filter-shell{display:flex;align-items:center;gap:18px}
.events-modern-filter-label{flex:none;color:#82928c;font-size:14px;font-weight:950;letter-spacing:.12em}
.events-modern-filter-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}
.events-modern-filter-row::-webkit-scrollbar{display:none}
.events-modern-filter{flex:none;display:inline-flex;min-height:35px;align-items:center;padding:0 12px;border:1px solid #dbe6e2;border-radius:999px;background:#fff;color:#5f736d;text-decoration:none;font-size:14px;font-weight:850;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease}
.events-modern-filter:hover,.events-modern-filter.is-active{border-color:#abd1c5;background:#edf8f4;color:#08777e}
.events-modern-heading-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(300px,.55fr);gap:58px;align-items:end;margin-bottom:30px}
.events-modern-section-number{display:grid;place-items:center;width:47px;height:47px;margin-bottom:19px;border:1px solid #c9e0d7;border-radius:14px;background:#fff;color:#08777e;font-size:14px;font-weight:950}
.events-modern-heading-split h2{margin:4px 0 0;color:#173f41;font-family:Georgia,serif;font-size:clamp(40px,5vw,59px);line-height:1.02;letter-spacing:-.035em}
.events-modern-heading-split>p,.events-modern-heading-side>p{margin:0;color:#687b75;font-size:14px;line-height:1.65}
.events-modern-heading-side>a{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}
.events-modern-upcoming{padding-top:78px;padding-bottom:84px}
.events-modern-featured{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);overflow:hidden;margin-bottom:28px;border:1px solid #d2e3dc;border-radius:25px;background:#fff;box-shadow:0 18px 44px rgba(18,70,70,.08)}
.events-modern-featured-copy{padding:34px}
.events-modern-featured-topline,.events-modern-featured-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.events-modern-featured-topline{justify-content:space-between;margin-bottom:20px}
.events-modern-featured-topline>span:first-child{color:#0a8a92;font-size:14px;font-weight:950;letter-spacing:.13em}
.events-modern-featured-meta{color:#81908b;font-size:14px;font-weight:800}
.events-modern-featured h3{max-width:750px;margin:14px 0 12px;color:#173f41;font-family:Georgia,serif;font-size:clamp(32px,4vw,48px);line-height:1.03}
.events-modern-featured-copy>p{max-width:760px;margin:0;color:#677a74;font-size:14px;line-height:1.67}
.events-modern-featured-details{display:flex;gap:0;width:max-content;max-width:100%;margin-top:25px;overflow:hidden;border:1px solid #dce7e3;border-radius:13px}
.events-modern-featured-details>div{min-width:125px;padding:11px 14px;border-right:1px solid #e3ebe8}
.events-modern-featured-details>div:last-child{border-right:0}
.events-modern-featured-details small,.events-modern-featured-details strong{display:block}
.events-modern-featured-details small{color:#8a9994;font-size:14px;font-weight:950;letter-spacing:.11em}
.events-modern-featured-details strong{margin-top:3px;color:#315052;font-size:14px}
.events-modern-ticket-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:15px}
.events-modern-featured-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:23px}
.events-modern-featured-visual{position:relative;min-height:440px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 75% 16%,rgba(134,201,175,.17),transparent 34%),#0b666c;color:#fff;text-decoration:none}
.events-modern-featured-visual>img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.events-modern-featured-image-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,44,46,.65),transparent 58%)}
.events-modern-featured-date{display:grid;place-items:center;text-align:center}
.events-modern-featured-date span{color:#bae0d2;font-size:14px;font-weight:950;letter-spacing:.13em}
.events-modern-featured-date strong{margin-top:2px;font-family:Georgia,serif;font-size:92px;line-height:.9}
.events-modern-featured-date small{margin-top:8px;color:#c9e5dc;font-size:14px;font-weight:850}
.events-modern-featured-view{position:absolute;z-index:2;right:18px;bottom:18px;display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:11px;background:rgba(255,255,255,.94);color:#0b666c;font-size:14px;font-weight:900}
.events-modern-featured-view b{font-size:14px}
.events-modern-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.events-modern-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid #dce7e3;border-radius:20px;background:#fff;box-shadow:0 7px 22px rgba(20,70,69,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.events-modern-card:hover{transform:translateY(-4px);border-color:#bddbd0;box-shadow:0 15px 34px rgba(20,70,69,.09)}
.events-modern-card-media{position:relative;height:220px;display:block;overflow:hidden;background:#eaf5f0}
.events-modern-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .22s ease}
.events-modern-card:hover .events-modern-card-media img{transform:scale(1.025)}
.events-modern-card-date-art{height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 80% 10%,rgba(134,201,175,.17),transparent 34%),#0b666c;color:#fff;text-align:center}
.events-modern-card-date-art span,.events-modern-card-date-art strong,.events-modern-card-date-art small{display:block}
.events-modern-card-date-art span{color:#bce1d3;font-size:14px;font-weight:950;letter-spacing:.13em}
.events-modern-card-date-art strong{margin-top:1px;font-family:Georgia,serif;font-size:64px;line-height:.9}
.events-modern-card-date-art small{margin-top:7px;color:#c9e5dc;font-size:14px}
.events-modern-card-date-chip{position:absolute;top:12px;right:12px;padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.93);color:#315052;font-size:14px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.events-modern-card-body{flex:1;display:flex;flex-direction:column;padding:19px}
.events-modern-card-topline{display:flex;gap:6px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.events-modern-card h3{margin:12px 0 8px;font-family:Georgia,serif;font-size:23px;line-height:1.08}
.events-modern-card h3 a{color:#294d4f;text-decoration:none}
.events-modern-card-info{display:flex;gap:7px 12px;flex-wrap:wrap;color:#7d8d88;font-size:14px;font-weight:750}
.events-modern-card-body>p{margin:12px 0 0;color:#70837d;font-size:14px;line-height:1.58}
.events-modern-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:20px}
.events-modern-card-actions>a{display:inline-flex;align-items:center;gap:7px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}
.events-modern-card-ticket{padding:7px 9px;border-radius:9px;background:#edf8f4}
.events-modern-empty-state{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;border:1px dashed #c8ddd5;border-radius:18px;background:#fff}
.events-modern-empty-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#edf8f4;color:#08777e}
.events-modern-empty-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.events-modern-empty-state h3{margin:3px 0 5px;color:#294d4f;font-family:Georgia,serif;font-size:25px}
.events-modern-empty-state>div:nth-child(2)>p:last-child{margin:0;color:#71847e;font-size:14px;line-height:1.55}
.events-modern-past{padding-top:82px;padding-bottom:85px}
.events-modern-past-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.events-modern-past-card{overflow:hidden;border:1px solid #dce7e3;border-radius:19px;background:#fff;transition:transform .18s ease,box-shadow .18s ease}
.events-modern-past-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(20,70,69,.075)}
.events-modern-past-media{height:210px;display:block;overflow:hidden;background:#edf6f2}
.events-modern-past-media img{width:100%;height:100%;display:block;object-fit:cover}
.events-modern-past-date-art{height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 78% 10%,rgba(134,201,175,.16),transparent 34%),#f0f7f4;color:#315052;text-align:center}
.events-modern-past-date-art span,.events-modern-past-date-art strong,.events-modern-past-date-art small{display:block}
.events-modern-past-date-art span{color:#0a8a92;font-size:14px;font-weight:950;letter-spacing:.12em}
.events-modern-past-date-art strong{margin-top:2px;font-family:Georgia,serif;font-size:58px;line-height:.9}
.events-modern-past-date-art small{margin-top:7px;color:#7d9089;font-size:14px}
.events-modern-past-card-body{padding:18px}
.events-modern-past-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#87958f;font-size:14px;font-weight:800}
.events-modern-past-meta>span{color:#08777e;font-weight:900;text-transform:uppercase}
.events-modern-past-card h3{margin:12px 0 8px;font-family:Georgia,serif;font-size:22px;line-height:1.1}
.events-modern-past-card h3 a{color:#294d4f;text-decoration:none}
.events-modern-past-card-body>p{margin:0;color:#73847f;font-size:14px;line-height:1.56}
.events-modern-past-link{display:inline-flex;align-items:center;gap:7px;margin-top:15px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}
.events-modern-past-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:27px;padding:19px 21px;border:1px solid #d6e5df;border-radius:16px;background:#f8fbfa}
.events-modern-past-cta span,.events-modern-past-cta strong{display:block}
.events-modern-past-cta span{color:#08777e;font-size:14px;font-weight:950;letter-spacing:.12em}
.events-modern-past-cta strong{margin-top:3px;color:#315052;font-size:14px}
.events-modern-together{padding-top:80px;padding-bottom:84px}
.events-modern-reasons-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.events-modern-reason-card{position:relative;overflow:hidden;min-height:275px;padding:24px;border:1px solid #dce7e3;border-radius:19px;background:#fff;transition:transform .18s ease,box-shadow .18s ease}
.events-modern-reason-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(20,70,69,.075)}
.events-modern-reason-featured{background:#0b666c;border-color:#0b666c;color:#fff}
.events-modern-reason-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:39px;border-radius:14px;background:#eaf7f2;color:#08777e}
.events-modern-reason-featured .events-modern-reason-icon{background:rgba(255,255,255,.11);color:#fff}
.events-modern-reason-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.events-modern-reason-card>span{color:#97a59f;font-size:14px;font-weight:950}
.events-modern-reason-featured>span{color:#9fcac0}
.events-modern-reason-card h3{margin:7px 0 9px;color:#294d4f;font-family:Georgia,serif;font-size:28px}
.events-modern-reason-featured h3{color:#fff}
.events-modern-reason-card p{margin:0;color:#71847e;font-size:14px;line-height:1.62}
.events-modern-reason-featured p{color:#d4e8e3}
.events-modern-ticketing{padding-top:80px;padding-bottom:88px}
.events-modern-ticketing-shell{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:46px;padding:38px;overflow:hidden;border-radius:26px;background:radial-gradient(circle at 92% 10%,rgba(134,201,175,.17),transparent 33%),#083f43;color:#fff}
.events-modern-section-number-light{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#c4e3d8}
.events-modern-ticketing-heading .eyebrow{color:#b9dfd1}
.events-modern-ticketing-heading h2{max-width:620px;margin:4px 0 12px;color:#fff;font-family:Georgia,serif;font-size:clamp(37px,4.7vw,54px);line-height:1.03}
.events-modern-ticketing-heading>p{max-width:620px;margin:0;color:#cee4df;font-size:14px;line-height:1.63}
.events-modern-ticketing-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.events-modern-ticket-option{min-height:300px;display:flex;flex-direction:column;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:19px;background:rgba(255,255,255,.08)}
.events-modern-ticket-option-offline{background:rgba(134,201,175,.09)}
.events-modern-ticket-option-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:37px;border-radius:14px;background:rgba(255,255,255,.10);color:#fff}
.events-modern-ticket-option-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.events-modern-ticket-option>span{color:#a9d3c6;font-size:14px;font-weight:950;letter-spacing:.12em}
.events-modern-ticket-option h3{margin:7px 0 9px;color:#fff;font-family:Georgia,serif;font-size:27px}
.events-modern-ticket-option p{margin:0;color:#d0e5df;font-size:14px;line-height:1.58}
.events-modern-ticket-option a{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:19px;border-top:1px solid rgba(255,255,255,.13);color:#fff;text-decoration:none;font-size:14px;font-weight:900}
.past-modern-hero{position:relative;overflow:hidden;padding:64px 0 62px;background:radial-gradient(circle at 84% 12%,rgba(134,201,175,.18),transparent 30%),linear-gradient(135deg,#f7fcfa,#fff 55%,#eef8f4);border-bottom:1px solid #dce7e3}
.past-modern-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:50px;align-items:end}
.past-modern-back{display:inline-flex;margin-bottom:21px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}
.past-modern-hero h1{margin:4px 0 13px;color:#173f41;font-family:Georgia,serif;font-size:clamp(51px,6vw,75px);line-height:.96}
.past-modern-hero .lead{max-width:760px;margin:0;color:#657872;font-size:16px;line-height:1.67}
.past-modern-hero-mark{justify-self:end;width:220px;min-height:205px;display:grid;align-content:center;padding:25px;border-radius:23px;background:#0b666c;color:#fff;box-shadow:0 18px 40px rgba(18,70,70,.12);transform:rotate(2deg)}
.past-modern-hero-mark span,.past-modern-hero-mark strong,.past-modern-hero-mark small{display:block}
.past-modern-hero-mark span{color:#bce1d3;font-size:9px;font-weight:950;letter-spacing:.13em}
.past-modern-hero-mark strong{margin-top:3px;font-family:Georgia,serif;font-size:37px}
.past-modern-hero-mark small{max-width:140px;margin-top:15px;color:#d0e6df;font-size:9px;line-height:1.45}
.past-modern-section{padding-top:70px;padding-bottom:84px}
.past-modern-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:29px}
.past-modern-heading h2{margin:4px 0 0;color:#173f41;font-family:Georgia,serif;font-size:clamp(37px,4.5vw,53px);line-height:1.03}
.past-modern-count{display:inline-flex;min-height:36px;align-items:center;padding:0 12px;border:1px solid #d4e4de;border-radius:999px;background:#f5faf8;color:#58716b;font-size:14px;font-weight:850;white-space:nowrap}
.past-modern-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.past-modern-pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;margin-top:38px;padding-top:25px;border-top:1px solid #dce7e3}
.past-modern-pagination-edge-right{justify-self:end}
.past-modern-pagination-pages{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.past-modern-pagination-button,.past-modern-pagination-page{display:inline-flex;min-height:40px;align-items:center;justify-content:center;border:1px solid #d1e1db;border-radius:10px;background:#fff;color:#315052;text-decoration:none;font-size:14px;font-weight:850}
.past-modern-pagination-button{padding:0 13px}
.past-modern-pagination-page{min-width:40px;padding:0 9px}
.past-modern-pagination-button:hover,.past-modern-pagination-page:hover{border-color:#9fcabc;background:#edf8f4;color:#08777e}
.past-modern-pagination-page.is-current{border-color:#0a8a92;background:#0a8a92;color:#fff}
.past-modern-pagination-button.is-disabled{opacity:.42;cursor:not-allowed}
.past-modern-pagination-ellipsis{color:#899792}
.past-modern-pagination-summary{margin:13px 0 0;color:#81908b;font-size:14px;font-weight:700;text-align:center}
@media(max-width:1120px){.events-modern-hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.68fr);gap:45px}.events-modern-grid,.events-modern-past-grid,.past-modern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.events-modern-hero{padding:58px 0 62px}.events-modern-hero-grid,.events-modern-featured,.events-modern-ticketing-shell{grid-template-columns:1fr}.events-modern-hero-visual{width:min(570px,100%);min-height:430px;margin:0 auto}.events-modern-featured-visual{min-height:360px}.events-modern-ticketing-options{grid-template-columns:1fr 1fr}.past-modern-hero-grid{grid-template-columns:1fr}.past-modern-hero-mark{justify-self:start}}
@media(max-width:720px){.events-modern-hero{padding:45px 0 52px}.events-modern-hero-copy h1{font-size:53px}.events-modern-hero-lead{font-size:16px}.events-modern-filter-shell{align-items:flex-start;flex-direction:column;gap:9px}.events-modern-filter-row{width:100%}.events-modern-upcoming,.events-modern-past,.events-modern-together,.events-modern-ticketing{padding-top:58px;padding-bottom:62px}.events-modern-heading-split{grid-template-columns:1fr;gap:16px;align-items:start}.events-modern-featured-copy{padding:26px}.events-modern-featured-details{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.events-modern-featured-details>div{min-width:0;border-bottom:1px solid #e3ebe8}.events-modern-featured-details>div:nth-child(2n){border-right:0}.events-modern-featured-visual{min-height:315px}.events-modern-grid,.events-modern-past-grid,.past-modern-grid,.events-modern-reasons-grid{grid-template-columns:1fr}.events-modern-card{display:grid;grid-template-columns:150px minmax(0,1fr)}.events-modern-card-media{height:100%;min-height:215px}.events-modern-past-card{display:grid;grid-template-columns:140px minmax(0,1fr)}.events-modern-past-media{height:100%;min-height:190px}.events-modern-past-cta{align-items:flex-start;flex-direction:column}.events-modern-ticketing-shell{padding:29px}.past-modern-hero{padding:48px 0}.past-modern-hero-mark{width:200px;min-height:175px}.past-modern-heading{align-items:flex-start;flex-direction:column}.past-modern-pagination{grid-template-columns:1fr 1fr}.past-modern-pagination-pages{grid-column:1/-1;grid-row:1}}
@media(max-width:540px){.events-modern-hero-copy h1{font-size:45px}.events-modern-hero-actions{align-items:flex-start;flex-direction:column}.events-modern-hero-themes{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.events-modern-hero-themes>div{min-width:0;padding:10px}.events-modern-hero-visual{min-height:355px}.events-modern-calendar-shell{width:245px}.events-modern-calendar-body{min-height:220px}.events-modern-calendar-body strong{font-size:36px}.events-modern-hero-note{width:130px;padding:10px 11px}.events-modern-hero-note-one{left:0;top:55px}.events-modern-hero-note-two{right:0;bottom:74px}.events-modern-hero-ticket{width:180px;left:10px;bottom:12px}.events-modern-heading-split h2{font-size:38px}.events-modern-featured h3{font-size:34px}.events-modern-featured-details{grid-template-columns:1fr}.events-modern-featured-details>div{border-right:0}.events-modern-featured-actions{flex-direction:column}.events-modern-featured-actions .button{width:100%;justify-content:center}.events-modern-card,.events-modern-past-card{grid-template-columns:1fr}.events-modern-card-media{min-height:210px}.events-modern-past-media{min-height:200px}.events-modern-empty-state{grid-template-columns:1fr}.events-modern-ticketing-shell{padding:24px}.events-modern-ticketing-options{grid-template-columns:1fr}.past-modern-hero h1{font-size:45px}.past-modern-pagination-button{width:100%}}
@media(prefers-reduced-motion:reduce){.events-modern-card,.events-modern-past-card,.events-modern-reason-card,.events-modern-text-link span,.events-modern-card-media img{transition:none}.events-modern-card:hover,.events-modern-past-card:hover,.events-modern-reason-card:hover,.events-modern-card:hover .events-modern-card-media img{transform:none}}

/* =========================================================
   DHS PSAN — special top-navigation button
   ========================================================= */
.nav-links .nav-psan-special{
    position:relative;
    min-height:40px;
    gap:8px;
    padding:0 13px 0 10px;
    border:1px solid #0a7d84;
    border-radius:12px;
    background:
        linear-gradient(135deg,#075d63 0%,#0a8a92 62%,#0b7379 100%);
    color:#fff!important;
    box-shadow:0 8px 20px rgba(7,93,99,.18);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.nav-links .nav-psan-special:hover{
    transform:translateY(-1px);
    background:
        linear-gradient(135deg,#064f54 0%,#087b82 62%,#09666c 100%);
    box-shadow:0 11px 24px rgba(7,93,99,.23);
}
.nav-psan-special-mark{
    position:relative;
    width:23px;
    height:23px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:8px;
    background:rgba(255,255,255,.13);
}
.nav-psan-special-mark svg{
    width:15px;
    height:15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.nav-psan-special-copy{
    display:grid;
    line-height:1;
    text-align:left;
}
.nav-psan-special-copy strong{
    color:#fff;
    font-size:14px;
    letter-spacing:.02em;
}
.nav-psan-special-copy small{
    margin-top:3px;
    color:#c8e7dc;
    font-size:14px;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
}
@media(max-width:1120px){
    .nav-links .nav-psan-special{
        padding-right:10px;
    }
    .nav-psan-special-copy small{
        display:none;
    }
}
@media(max-width:850px){
    .nav-links .nav-psan-special{
        display:inline-flex!important;
        min-height:40px;
        padding:0 10px;
    }
    .nav-psan-special-copy strong{
        font-size:14px;
    }
    .nav-psan-special-mark{
        width:21px;
        height:21px;
    }
}
@media(max-width:620px){
    .nav-links .nav-psan-special{
        padding:0 8px;
        gap:6px;
    }
    .nav-psan-special-copy strong{
        font-size:14px;
    }
    .nav-psan-special-mark{
        display:none;
    }
}

/* =========================================================
   DHS PSAN — modern digital member-network experience
   ========================================================= */
.psan-modern-page{
    overflow:hidden;
    background:#fff;
}
.psan-modern-page section[id]{
    scroll-margin-top:96px;
}

/* Hero */
.psan-modern-hero{
    position:relative;
    overflow:hidden;
    padding:82px 0 84px;
    background:
        radial-gradient(circle at 83% 8%,rgba(86,210,178,.13),transparent 30%),
        linear-gradient(135deg,#062f33 0%,#074d53 51%,#073d42 100%);
    color:#fff;
}
.psan-modern-grid-lines{
    position:absolute;
    inset:0;
    opacity:.28;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(160,225,207,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(160,225,207,.07) 1px,transparent 1px);
    background-size:46px 46px;
    mask-image:radial-gradient(circle at 70% 50%,#000 0%,rgba(0,0,0,.7) 45%,transparent 84%);
}
.psan-modern-orb{
    position:absolute;
    border-radius:50%;
    pointer-events:none;
}
.psan-modern-orb-one{
    width:340px;
    height:340px;
    right:-120px;
    top:-150px;
    border:52px solid rgba(134,201,175,.05);
}
.psan-modern-orb-two{
    width:180px;
    height:180px;
    left:43%;
    bottom:-115px;
    background:rgba(134,201,175,.045);
}
.psan-modern-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.82fr);
    gap:68px;
    align-items:center;
}
.psan-modern-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:17px;
    color:#a9d9ca;
    font-size:14px;
    font-weight:950;
    letter-spacing:.14em;
}
.psan-modern-kicker-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#86c9af;
    box-shadow:0 0 0 5px rgba(134,201,175,.12);
}
.psan-modern-title-row{
    display:flex;
    align-items:center;
    gap:13px;
    flex-wrap:wrap;
}
.psan-modern-title-row h1{
    margin:0;
    color:#fff;
    font-family:Georgia,serif;
    font-size:clamp(62px,7.8vw,96px);
    line-height:.9;
    letter-spacing:-.055em;
}
.psan-modern-network-pill{
    display:inline-flex;
    min-height:31px;
    align-items:center;
    padding:0 10px;
    border:1px solid rgba(186,225,213,.24);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:#c1e2d6;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.psan-modern-hero-copy>h2{
    max-width:720px;
    margin:18px 0 0;
    color:#fff;
    font-family:Georgia,serif;
    font-size:clamp(30px,3.6vw,45px);
    line-height:1.03;
    letter-spacing:-.025em;
}
.psan-modern-hero-lead{
    max-width:760px;
    margin:20px 0 0;
    color:#d0e6e0;
    font-size:16.5px;
    line-height:1.7;
}
.psan-modern-hero-lead strong{
    color:#fff;
}
.psan-modern-hero-actions{
    display:flex;
    align-items:center;
    gap:19px;
    margin-top:28px;
}
.psan-modern-primary-action{
    gap:9px;
    background:#fff!important;
    border-color:#fff!important;
    color:#075d63!important;
}
.psan-modern-primary-action:hover{
    background:#ecf7f3!important;
    border-color:#ecf7f3!important;
}
.psan-modern-hero-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#b9dfd2;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.psan-modern-hero-stats{
    display:flex;
    width:max-content;
    max-width:100%;
    margin-top:34px;
    overflow:hidden;
    border:1px solid rgba(184,222,210,.14);
    border-radius:15px;
    background:rgba(255,255,255,.045);
}
.psan-modern-hero-stats>div{
    min-width:135px;
    padding:12px 15px;
    border-right:1px solid rgba(184,222,210,.11);
}
.psan-modern-hero-stats>div:last-child{
    border-right:0;
}
.psan-modern-hero-stats strong,
.psan-modern-hero-stats span{
    display:block;
}
.psan-modern-hero-stats strong{
    color:#fff;
    font-size:14px;
}
.psan-modern-hero-stats span{
    margin-top:3px;
    color:#a8c9c1;
    font-size:14px;
}

/* digital mockup */
.psan-modern-hero-visual{
    position:relative;
    min-height:500px;
    display:grid;
    place-items:center;
}
.psan-modern-device{
    width:390px;
    overflow:hidden;
    border:8px solid rgba(255,255,255,.92);
    border-radius:25px;
    background:#fff;
    box-shadow:0 30px 70px rgba(0,0,0,.28);
    transform:rotate(1.3deg);
}
.psan-modern-device-bar{
    height:36px;
    display:flex;
    align-items:center;
    gap:5px;
    padding:0 11px;
    border-bottom:1px solid #e0ebe6;
    background:#f7faf9;
}
.psan-modern-device-bar>span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#b8cbc4;
}
.psan-modern-device-bar small{
    margin-left:9px;
    color:#80918b;
    font-size:14px;
}
.psan-modern-device-body{
    min-height:330px;
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
}
.psan-modern-device-sidebar{
    display:grid;
    align-content:start;
    justify-items:center;
    gap:15px;
    padding:17px 8px;
    background:#073f44;
}
.psan-modern-device-logo{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    overflow:hidden;
    margin-bottom:7px;
    border-radius:50%;
    background:#fff;
}
.psan-modern-device-logo img{
    width:31px;
    height:31px;
    object-fit:contain;
}
.psan-modern-device-sidebar i{
    width:23px;
    height:5px;
    border-radius:999px;
    background:rgba(193,226,214,.26);
}
.psan-modern-device-content{
    padding:20px;
    background:#f6faf8;
}
.psan-modern-device-welcome small,
.psan-modern-device-welcome strong,
.psan-modern-device-welcome span{
    display:block;
}
.psan-modern-device-welcome small{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.psan-modern-device-welcome strong{
    margin-top:3px;
    color:#234a4c;
    font-family:Georgia,serif;
    font-size:25px;
}
.psan-modern-device-welcome span{
    margin-top:2px;
    color:#81918b;
    font-size:14px;
}
.psan-modern-device-cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
    margin-top:17px;
}
.psan-modern-device-cards>div{
    min-height:78px;
    display:grid;
    align-content:center;
    justify-items:start;
    padding:9px;
    border:1px solid #dce8e3;
    border-radius:10px;
    background:#fff;
}
.psan-modern-mini-icon{
    display:grid;
    place-items:center;
    width:23px;
    height:23px;
    border-radius:7px;
    background:#eaf7f2;
    color:#08777e;
    font-size:6.5px;
    font-weight:950;
}
.psan-modern-device-cards strong{
    margin-top:7px;
    color:#405c5d;
    font-size:14px;
}
.psan-modern-device-feed{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:9px;
    margin-top:13px;
    padding:12px;
    border:1px solid #dce8e3;
    border-radius:11px;
    background:#fff;
}
.psan-modern-feed-avatar{
    width:31px;
    height:31px;
    border-radius:50%;
    background:linear-gradient(135deg,#86c9af,#0a8a92);
}
.psan-modern-device-feed>div:last-child{
    display:grid;
    align-content:center;
    gap:5px;
}
.psan-modern-device-feed i{
    display:block;
    height:5px;
    border-radius:999px;
    background:#e2ebe7;
}
.psan-modern-device-feed i:nth-child(1){width:50%}
.psan-modern-device-feed i:nth-child(2){width:92%}
.psan-modern-device-feed i:nth-child(3){width:70%}
.psan-modern-floating-card{
    position:absolute;
    z-index:3;
    display:grid;
    grid-template-columns:10px minmax(0,1fr);
    gap:9px;
    align-items:center;
    min-width:150px;
    padding:11px 13px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:13px;
    background:rgba(255,255,255,.94);
    box-shadow:0 13px 32px rgba(0,0,0,.17);
    color:#315052;
}
.psan-modern-float-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#0a8a92;
    box-shadow:0 0 0 4px rgba(10,138,146,.10);
}
.psan-modern-floating-card small,
.psan-modern-floating-card strong{
    display:block;
}
.psan-modern-floating-card small{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.1em;
}
.psan-modern-floating-card strong{
    margin-top:2px;
    font-size:14px;
}
.psan-modern-floating-card-one{
    left:-18px;
    top:70px;
    transform:rotate(-3deg);
}
.psan-modern-floating-card-two{
    right:-10px;
    top:205px;
    transform:rotate(3deg);
}
.psan-modern-floating-card-three{
    left:10px;
    bottom:44px;
    transform:rotate(-2deg);
}

/* Subnav */
.psan-modern-subnav-wrap{
    position:relative;
    z-index:20;
    border-bottom:1px solid #dce7e3;
    background:rgba(255,255,255,.97);
}
.psan-modern-subnav{
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding:12px 0;
    scrollbar-width:none;
}
.psan-modern-subnav::-webkit-scrollbar{display:none}
.psan-modern-subnav a{
    flex:none;
    display:inline-flex;
    min-height:38px;
    align-items:center;
    justify-content:center;
    padding:0 13px;
    border-radius:999px;
    color:#5d726c;
    text-decoration:none;
    font-size:14px;
    font-weight:850;
    white-space:nowrap;
    transition:background .16s ease,color .16s ease;
}
.psan-modern-subnav a:hover,
.psan-modern-subnav a.is-active{
    background:#edf8f4;
    color:#08777e;
}

/* Shared */
.psan-modern-section-number{
    display:grid;
    place-items:center;
    width:47px;
    height:47px;
    margin-bottom:20px;
    border:1px solid #c9e0d7;
    border-radius:14px;
    background:#f3faf7;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}
.psan-modern-heading-split{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(300px,.55fr);
    gap:58px;
    align-items:end;
    margin-bottom:30px;
}
.psan-modern-heading-split h2{
    max-width:800px;
    margin:4px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.8vw,57px);
    line-height:1.03;
    letter-spacing:-.035em;
}
.psan-modern-heading-split>p{
    margin:0;
    color:#687b75;
    font-size:14px;
    line-height:1.65;
}

/* Intro */
.psan-modern-intro{
    padding-top:82px;
    padding-bottom:85px;
}
.psan-modern-intro-grid{
    display:grid;
    grid-template-columns:minmax(320px,.7fr) minmax(0,1fr);
    gap:70px;
    align-items:start;
}
.psan-modern-intro-heading h2{
    max-width:650px;
    margin:4px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.8vw,57px);
    line-height:1.03;
    letter-spacing:-.03em;
}
.psan-modern-intro-copy>p{
    margin:0 0 18px;
    color:#657872;
    font-size:15.5px;
    line-height:1.76;
}
.psan-modern-intro-points{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:27px;
}
.psan-modern-intro-points>div{
    padding:15px;
    border-top:3px solid #86c9af;
    background:#f7fbf9;
}
.psan-modern-intro-points span,
.psan-modern-intro-points strong{
    display:block;
}
.psan-modern-intro-points span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
}
.psan-modern-intro-points strong{
    margin-top:5px;
    color:#315052;
    font-size:14px;
}
.psan-modern-intro-points p{
    margin:4px 0 0;
    color:#7b8c86;
    font-size:14px;
    line-height:1.45;
}

/* Community */
.psan-modern-community{
    padding-top:80px;
    padding-bottom:84px;
}
.psan-modern-feature-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:13px;
}
.psan-modern-feature-card{
    position:relative;
    overflow:hidden;
    min-height:315px;
    display:flex;
    flex-direction:column;
    padding:23px;
    border:1px solid #dce8e3;
    border-radius:19px;
    background:#fff;
    transition:transform .18s ease,box-shadow .18s ease;
}
.psan-modern-feature-card:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 32px rgba(20,70,69,.085);
}
.psan-modern-feature-card-featured{
    background:#0b666c;
    border-color:#0b666c;
    color:#fff;
}
.psan-modern-feature-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    margin-bottom:38px;
    border-radius:14px;
    background:#eaf7f2;
    color:#08777e;
}
.psan-modern-feature-card-featured .psan-modern-feature-icon{
    background:rgba(255,255,255,.11);
    color:#fff;
}
.psan-modern-feature-icon svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.psan-modern-feature-card>span{
    color:#97a59f;
    font-size:14px;
    font-weight:950;
}
.psan-modern-feature-card-featured>span{
    color:#9fcac0;
}
.psan-modern-feature-card h3{
    margin:8px 0 10px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:26px;
    line-height:1.08;
}
.psan-modern-feature-card-featured h3{
    color:#fff;
}
.psan-modern-feature-card p{
    margin:0;
    color:#71847e;
    font-size:14px;
    line-height:1.62;
}
.psan-modern-feature-card-featured p{
    color:#d4e8e3;
}
.psan-modern-feature-label{
    margin-top:auto;
    padding-top:20px;
    color:#b9dfd1;
    font-size:14px;
    letter-spacing:.12em;
}

/* Services */
.psan-modern-services{
    padding-top:82px;
    padding-bottom:86px;
}
.psan-modern-service-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:13px;
}
.psan-modern-service-grid>article{
    position:relative;
    min-height:235px;
    padding:22px;
    border:1px solid #dce7e3;
    border-radius:18px;
    background:#fff;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.psan-modern-service-grid>article:hover{
    transform:translateY(-3px);
    border-color:#bddbd0;
    box-shadow:0 13px 28px rgba(20,70,69,.07);
}
.psan-modern-service-number{
    position:absolute;
    top:19px;
    right:19px;
    color:#a2aea9;
    font-size:14px;
    font-weight:950;
}
.psan-modern-service-icon{
    display:grid;
    place-items:center;
    width:45px;
    height:45px;
    margin-bottom:33px;
    border-radius:13px;
    background:#edf8f4;
    color:#08777e;
}
.psan-modern-service-icon svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.psan-modern-service-grid h3{
    margin:0 0 8px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:24px;
}
.psan-modern-service-grid p{
    margin:0;
    color:#71847e;
    font-size:14px;
    line-height:1.58;
}

/* Annual PSA Membership access */
.psan-modern-relationship{
    padding-top:80px;
    padding-bottom:84px;
}
.psan-modern-relationship-heading{
    max-width:940px;
    margin-bottom:31px;
}
.psan-modern-relationship-heading h2{
    margin:4px 0 13px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.9vw,58px);
    line-height:1.02;
    letter-spacing:-.035em;
}
.psan-modern-relationship-heading>p{
    max-width:800px;
    margin:0;
    color:#687b75;
    font-size:14px;
    line-height:1.65;
}
.psan-modern-relationship-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}
.psan-modern-relationship-card{
    min-height:430px;
    display:flex;
    flex-direction:column;
    padding:30px;
    border-radius:23px;
}
.psan-modern-membership-card{
    border:1px solid #d5e5df;
    background:#fff;
}
.psan-modern-access-card{
    border:1px solid #0b666c;
    background:
        radial-gradient(circle at 90% 8%,rgba(134,201,175,.15),transparent 32%),
        #0b666c;
    color:#fff;
}
.psan-modern-relationship-card-top span,
.psan-modern-relationship-card-top strong{
    display:block;
}
.psan-modern-relationship-card-top span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.psan-modern-access-card .psan-modern-relationship-card-top span{
    color:#b9dfd1;
}
.psan-modern-relationship-card-top strong{
    margin-top:5px;
    color:#526d67;
    font-size:14px;
}
.psan-modern-access-card .psan-modern-relationship-card-top strong{
    color:#d7e9e4;
}
.psan-modern-relationship-card h3{
    margin:42px 0 13px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:34px;
    line-height:1.04;
}
.psan-modern-access-card h3{
    color:#fff;
}
.psan-modern-relationship-card>p{
    margin:0;
    color:#6b7e78;
    font-size:14px;
    line-height:1.67;
}
.psan-modern-access-card>p{
    color:#d3e7e1;
}
.psan-modern-option-row,
.psan-modern-access-levels{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:24px;
}
.psan-modern-option-row span,
.psan-modern-access-levels span{
    display:inline-flex;
    min-height:32px;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    font-size:14px;
    font-weight:850;
}
.psan-modern-option-row span{
    border:1px solid #d4e5de;
    background:#f5faf8;
    color:#496660;
}
.psan-modern-access-levels span{
    border:1px solid rgba(255,255,255,.17);
    background:rgba(255,255,255,.08);
    color:#fff;
}
.psan-modern-relationship-card>a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:auto;
    padding-top:21px;
    border-top:1px solid #dce7e3;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.psan-modern-access-card>a{
    border-top-color:rgba(255,255,255,.14);
    color:#fff;
}
.psan-modern-relationship-note{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:12px;
    align-items:center;
    margin-top:15px;
    padding:15px 17px;
    border:1px solid #d4e5de;
    border-radius:14px;
    background:#fff;
}
.psan-modern-note-icon{
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    border-radius:50%;
    background:#edf8f4;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:15px;
    font-weight:850;
}
.psan-modern-relationship-note p{
    margin:0;
    color:#667a73;
    font-size:14px;
    line-height:1.5;
}

/* Governance */
.psan-modern-governance{
    padding-top:82px;
    padding-bottom:86px;
}
.psan-modern-governance-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(340px,.55fr);
    gap:62px;
    align-items:center;
}
.psan-modern-governance-copy h2{
    max-width:710px;
    margin:4px 0 15px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.8vw,57px);
    line-height:1.03;
}
.psan-modern-governance-copy>p{
    max-width:740px;
    margin:0;
    color:#687b75;
    font-size:14.5px;
    line-height:1.7;
}
.psan-modern-governance-points{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin-top:27px;
}
.psan-modern-governance-points>div{
    padding:15px;
    border-top:3px solid #86c9af;
    background:#f7fbf9;
}
.psan-modern-governance-points span,
.psan-modern-governance-points strong{
    display:block;
}
.psan-modern-governance-points span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
}
.psan-modern-governance-points strong{
    margin-top:5px;
    color:#315052;
    font-size:14px;
}
.psan-modern-governance-points p{
    margin:4px 0 0;
    color:#7b8c86;
    font-size:14px;
    line-height:1.45;
}
.psan-modern-governance-card{
    position:relative;
    overflow:hidden;
    min-height:390px;
    display:flex;
    flex-direction:column;
    padding:28px;
    border-radius:24px;
    background:
        radial-gradient(circle at 87% 10%,rgba(134,201,175,.17),transparent 34%),
        #083f43;
    color:#fff;
    box-shadow:0 20px 48px rgba(18,70,70,.13);
}
.psan-modern-governance-card-icon{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    margin-bottom:48px;
    border-radius:15px;
    background:rgba(255,255,255,.10);
}
.psan-modern-governance-card-icon svg{
    width:26px;
    height:26px;
    fill:none;
    stroke:#fff;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.psan-modern-governance-card>span{
    color:#b9dfd1;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.psan-modern-governance-card h3{
    margin:8px 0 12px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:31px;
    line-height:1.07;
}
.psan-modern-governance-card>p{
    margin:0;
    color:#d0e5df;
    font-size:14px;
    line-height:1.62;
}
.psan-modern-governance-card>a{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-top:auto;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.14);
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

/* Trust */
.psan-modern-trust{
    padding-top:80px;
    padding-bottom:84px;
}
.psan-modern-trust-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.psan-modern-trust-grid article{
    min-height:215px;
    padding:22px;
    border:1px solid #dce7e3;
    border-radius:18px;
    background:#fff;
}
.psan-modern-trust-grid span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
}
.psan-modern-trust-grid h3{
    margin:34px 0 8px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:24px;
}
.psan-modern-trust-grid p{
    margin:0;
    color:#72847e;
    font-size:14px;
    line-height:1.58;
}

/* Web mobile */
.psan-modern-access{
    padding-top:82px;
    padding-bottom:86px;
}
.psan-modern-access-card{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(380px,.62fr);
    gap:45px;
    align-items:center;
    min-height:480px;
    padding:42px;
    border-radius:27px;
    background:
        radial-gradient(circle at 90% 9%,rgba(134,201,175,.16),transparent 31%),
        #0a5d63;
    color:#fff;
}
.psan-modern-section-number-dark{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
    color:#c3e3d7;
}
.psan-modern-access-copy .eyebrow{
    color:#b9dfd1;
}
.psan-modern-access-copy h2{
    max-width:710px;
    margin:4px 0 14px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.8vw,57px);
    line-height:1.03;
}
.psan-modern-access-copy>p{
    max-width:740px;
    margin:0;
    color:#d2e7e1;
    font-size:14px;
    line-height:1.58;
}
.psan-modern-platform-row{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:25px;
}
.psan-modern-platform-row>span{
    display:inline-flex;
    min-height:34px;
    align-items:center;
    gap:5px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:#fff;
    font-size:14px;
    font-weight:850;
}
.psan-modern-platform-row small{
    color:#b8dcd1;
    font-size:14px;
}
.psan-modern-access-visual{
    position:relative;
    min-height:330px;
}
.psan-modern-access-desktop{
    position:absolute;
    width:330px;
    right:0;
    top:20px;
    overflow:hidden;
    border:7px solid #fff;
    border-radius:18px;
    background:#fff;
    box-shadow:0 20px 48px rgba(0,0,0,.22);
    transform:rotate(2deg);
}
.psan-modern-access-desktop-bar{
    height:24px;
    background:#eff5f2;
    border-bottom:1px solid #dce7e3;
}
.psan-modern-access-desktop-content{
    min-height:210px;
    display:grid;
    align-content:center;
    justify-items:center;
    padding:20px;
    background:#f7fbf9;
}
.psan-modern-access-desktop-content img{
    width:55px;
    height:55px;
    object-fit:contain;
    border-radius:50%;
}
.psan-modern-access-desktop-content span{
    margin-top:8px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:21px;
}
.psan-modern-access-desktop-content i{
    display:block;
    height:6px;
    margin-top:8px;
    border-radius:999px;
    background:#dce9e4;
}
.psan-modern-access-desktop-content i:nth-of-type(1){width:70%}
.psan-modern-access-desktop-content i:nth-of-type(2){width:50%}
.psan-modern-access-desktop-content i:nth-of-type(3){width:62%}
.psan-modern-access-phone{
    position:absolute;
    z-index:2;
    left:0;
    bottom:0;
    width:135px;
    min-height:235px;
    display:grid;
    align-content:center;
    justify-items:center;
    padding:15px;
    border:6px solid #fff;
    border-radius:24px;
    background:#073f44;
    box-shadow:0 18px 43px rgba(0,0,0,.25);
    transform:rotate(-4deg);
}
.psan-modern-access-phone>div{
    position:absolute;
    top:8px;
    width:38px;
    height:5px;
    border-radius:999px;
    background:rgba(255,255,255,.25);
}
.psan-modern-access-phone img{
    width:48px;
    height:48px;
    object-fit:contain;
    border-radius:50%;
    background:#fff;
}
.psan-modern-access-phone strong{
    margin-top:8px;
    font-family:Georgia,serif;
    font-size:18px;
}
.psan-modern-access-phone i{
    display:block;
    width:78px;
    height:6px;
    margin-top:9px;
    border-radius:999px;
    background:rgba(190,225,214,.19);
}

/* CTA */
.psan-modern-cta-section{
    padding-top:0;
    padding-bottom:88px;
}
.psan-modern-cta{
    display:grid;
    grid-template-columns:84px minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    padding:34px;
    overflow:hidden;
    border:1px solid #d4e5de;
    border-radius:24px;
    background:
        radial-gradient(circle at 92% 9%,rgba(134,201,175,.14),transparent 33%),
        #fff;
}
.psan-modern-cta-logo{
    width:78px;
    height:78px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid #dbe8e3;
    border-radius:50%;
    background:#fff;
    box-shadow:0 9px 25px rgba(18,70,70,.07);
}
.psan-modern-cta-logo img{
    width:72px;
    height:72px;
    object-fit:contain;
}
.psan-modern-cta-copy h2{
    margin:4px 0 8px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:35px;
    line-height:1.08;
}
.psan-modern-cta-copy>p{
    max-width:730px;
    margin:0;
    color:#687b75;
    font-size:14px;
    line-height:1.56;
}
.psan-modern-cta-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

/* Responsive */
@media(max-width:1140px){
    .psan-modern-hero-grid{
        grid-template-columns:minmax(0,1fr) minmax(360px,.68fr);
        gap:44px;
    }
    .psan-modern-feature-grid,
    .psan-modern-trust-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:930px){
    .psan-modern-hero{
        padding:60px 0 66px;
    }
    .psan-modern-hero-grid,
    .psan-modern-intro-grid,
    .psan-modern-governance-grid,
    .psan-modern-access-card{
        grid-template-columns:1fr;
    }
    .psan-modern-hero-visual{
        width:min(590px,100%);
        min-height:470px;
        margin:0 auto;
    }
    .psan-modern-service-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .psan-modern-governance-card{
        min-height:350px;
    }
    .psan-modern-access-visual{
        width:min(500px,100%);
        margin:0 auto;
    }
    .psan-modern-cta{
        grid-template-columns:70px minmax(0,1fr);
    }
    .psan-modern-cta-actions{
        grid-column:1/-1;
        justify-content:flex-start;
    }
}
@media(max-width:720px){
    .psan-modern-hero{
        padding:47px 0 54px;
    }
    .psan-modern-title-row h1{
        font-size:57px;
    }
    .psan-modern-hero-copy>h2{
        font-size:34px;
    }
    .psan-modern-hero-lead{
        font-size:15px;
    }
    .psan-modern-hero-stats{
        width:100%;
    }
    .psan-modern-hero-stats>div{
        flex:1;
        min-width:0;
        padding:10px;
    }
    .psan-modern-hero-visual{
        min-height:400px;
    }
    .psan-modern-device{
        width:320px;
    }
    .psan-modern-floating-card{
        min-width:130px;
    }
    .psan-modern-floating-card-two{
        right:0;
    }
    .psan-modern-intro,
    .psan-modern-community,
    .psan-modern-services,
    .psan-modern-relationship,
    .psan-modern-governance,
    .psan-modern-trust,
    .psan-modern-access{
        padding-top:58px;
        padding-bottom:62px;
    }
    .psan-modern-heading-split{
        grid-template-columns:1fr;
        gap:16px;
        align-items:start;
    }
    .psan-modern-intro-grid{
        gap:30px;
    }
    .psan-modern-intro-points,
    .psan-modern-governance-points{
        grid-template-columns:1fr;
    }
    .psan-modern-relationship-grid{
        grid-template-columns:1fr;
    }
    .psan-modern-relationship-card{
        min-height:390px;
    }
    .psan-modern-access-card{
        padding:30px;
    }
}
@media(max-width:540px){
    .psan-modern-title-row{
        align-items:flex-start;
        flex-direction:column;
    }
    .psan-modern-title-row h1{
        font-size:49px;
    }
    .psan-modern-hero-actions{
        align-items:flex-start;
        flex-direction:column;
    }
    .psan-modern-hero-stats{
        display:grid;
        grid-template-columns:repeat(3,1fr);
    }
    .psan-modern-hero-visual{
        min-height:330px;
    }
    .psan-modern-device{
        width:260px;
        border-width:6px;
    }
    .psan-modern-device-body{
        min-height:265px;
        grid-template-columns:45px minmax(0,1fr);
    }
    .psan-modern-device-content{
        padding:13px;
    }
    .psan-modern-device-welcome strong{
        font-size:20px;
    }
    .psan-modern-device-cards{
        gap:4px;
    }
    .psan-modern-device-cards>div{
        min-height:65px;
        padding:6px;
    }
    .psan-modern-device-cards strong{
        font-size:14px;
    }
    .psan-modern-floating-card{
        min-width:115px;
        padding:8px 9px;
    }
    .psan-modern-floating-card-one{
        left:0;
        top:45px;
    }
    .psan-modern-floating-card-two{
        top:155px;
    }
    .psan-modern-floating-card-three{
        left:0;
        bottom:19px;
    }
    .psan-modern-intro-heading h2,
    .psan-modern-heading-split h2,
    .psan-modern-relationship-heading h2,
    .psan-modern-governance-copy h2,
    .psan-modern-access-copy h2{
        font-size:38px;
    }
    .psan-modern-feature-grid,
    .psan-modern-service-grid,
    .psan-modern-trust-grid{
        grid-template-columns:1fr;
    }
    .psan-modern-feature-card{
        min-height:285px;
    }
    .psan-modern-relationship-card{
        padding:24px;
    }
    .psan-modern-relationship-card h3{
        margin-top:34px;
        font-size:30px;
    }
    .psan-modern-relationship-note{
        grid-template-columns:1fr;
    }
    .psan-modern-access-card{
        min-height:auto;
        padding:25px;
    }
    .psan-modern-access-visual{
        min-height:275px;
    }
    .psan-modern-access-desktop{
        width:260px;
    }
    .psan-modern-access-phone{
        width:110px;
        min-height:195px;
    }
    .psan-modern-cta{
        grid-template-columns:1fr;
        padding:27px;
    }
    .psan-modern-cta-logo{
        width:64px;
        height:64px;
    }
    .psan-modern-cta-logo img{
        width:59px;
        height:59px;
    }
    .psan-modern-cta-copy h2{
        font-size:29px;
    }
    .psan-modern-cta-actions{
        grid-column:auto;
        flex-direction:column;
    }
    .psan-modern-cta-actions .button{
        width:100%;
        justify-content:center;
    }
}
@media(prefers-reduced-motion:reduce){
    .nav-links .nav-psan-special,
    .psan-modern-feature-card,
    .psan-modern-service-grid>article{
        transition:none;
    }
    .nav-links .nav-psan-special:hover,
    .psan-modern-feature-card:hover,
    .psan-modern-service-grid>article:hover{
        transform:none;
    }
}

/* =========================================================
   Past Events Archive — premium memories experience
   ========================================================= */
.archive2-page{overflow:hidden;background:#fff}.archive2-page #past-events-archive{scroll-margin-top:96px}
.archive2-hero{position:relative;overflow:hidden;padding:72px 0 76px;border-bottom:1px solid #dce8e3;background:radial-gradient(circle at 83% 12%,rgba(134,201,175,.19),transparent 30%),linear-gradient(135deg,#f7fcfa 0%,#fff 50%,#edf8f4 100%)}
.archive2-pattern{position:absolute;inset:0;opacity:.5;pointer-events:none;background-image:linear-gradient(rgba(10,138,146,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(10,138,146,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.28) 58%,transparent 88%)}
.archive2-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.66fr);gap:68px;align-items:center}
.archive2-back{display:inline-flex;margin-bottom:25px;color:#55716b;text-decoration:none;font-size:14px;font-weight:850}.archive2-kicker{margin:0 0 14px;color:#08777e;font-size:14px;font-weight:950;letter-spacing:.14em}
.archive2-hero h1{max-width:790px;margin:0;color:#173f41;font-family:Georgia,serif;font-size:clamp(54px,6.7vw,82px);line-height:.95;letter-spacing:-.05em}.archive2-lead{max-width:750px;margin:23px 0 0;color:#627771;font-size:17px;line-height:1.68}
.archive2-actions{display:flex;align-items:center;gap:20px;margin-top:28px}.archive2-text-link{display:inline-flex;align-items:center;gap:8px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}
.archive2-memory-card{width:300px;justify-self:center;overflow:hidden;border:9px solid #fff;border-radius:25px;background:#fff;box-shadow:0 25px 60px rgba(18,70,70,.16);transform:rotate(2.3deg)}
.archive2-memory-top{display:flex;justify-content:space-between;gap:12px;padding:15px 17px;background:#0b666c;color:#fff}.archive2-memory-top span{font-size:14px;font-weight:950;letter-spacing:.12em}.archive2-memory-top span:first-child{color:#c1e2d6}
.archive2-memory-body{min-height:285px;display:grid;align-content:center;padding:26px;background:radial-gradient(circle at 83% 13%,rgba(134,201,175,.17),transparent 32%),#f6faf8}.archive2-memory-body small{color:#0a8a92;font-size:14px;font-weight:950;letter-spacing:.14em}.archive2-memory-body>strong{margin-top:3px;color:#173f41;font-family:Georgia,serif;font-size:43px;line-height:.93}.archive2-memory-body blockquote{margin:22px 0 0;color:#68817a;font-family:Georgia,serif;font-size:14px;line-height:1.35}.archive2-memory-body>div{display:flex;gap:5px;margin-top:22px}.archive2-memory-body i{width:28px;height:5px;border-radius:999px;background:#d7e6e0}.archive2-memory-body i:nth-child(2){width:48px;background:#b9d9cd}
.archive2-stats-wrap{border-bottom:1px solid #dfe9e5;background:#fff}.archive2-stats{display:grid;grid-template-columns:repeat(3,minmax(105px,.24fr)) minmax(250px,1fr)}.archive2-stats>div{display:grid;align-content:center;min-height:88px;padding:14px 18px;border-right:1px solid #e2ebe7}.archive2-stats>div:first-child{border-left:1px solid #e2ebe7}.archive2-stats strong,.archive2-stats span{display:block}.archive2-stats>div:not(.archive2-stat-message)>strong{color:#173f41;font-family:Georgia,serif;font-size:25px}.archive2-stats>div:not(.archive2-stat-message)>span{margin-top:4px;color:#85938e;font-size:14px;font-weight:850;text-transform:uppercase}.archive2-stat-message{background:#f7fbf9}.archive2-stat-message small{color:#08777e;font-size:14px;font-weight:950;letter-spacing:.12em}.archive2-stat-message strong{margin-top:4px;color:#315052;font-family:Georgia,serif;font-size:16px}
.archive2-filter-wrap{padding:16px 0;border-bottom:1px solid #dfe9e5;background:#fff}.archive2-filter-shell{display:grid;grid-template-columns:145px minmax(0,1fr);gap:18px;align-items:center}.archive2-filter-label span,.archive2-filter-label small{display:block}.archive2-filter-label span{color:#08777e;font-size:14px;font-weight:950;letter-spacing:.12em}.archive2-filter-label small{margin-top:3px;color:#83928d;font-size:14px}.archive2-filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.archive2-filters::-webkit-scrollbar{display:none}.archive2-filters a{flex:none;display:inline-flex;min-height:36px;align-items:center;padding:0 12px;border:1px solid #d9e6e1;border-radius:999px;background:#fff;color:#5f736d;text-decoration:none;font-size:14px;font-weight:850;white-space:nowrap}.archive2-filters a:hover,.archive2-filters a.is-active{border-color:#9fcabc;background:#edf8f4;color:#08777e}
.archive2-section{padding-top:76px;padding-bottom:84px}.archive2-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:31px}.archive2-number{display:grid;place-items:center;width:47px;height:47px;margin-bottom:19px;border:1px solid #c9e0d7;border-radius:14px;background:#f3faf7;color:#08777e;font-size:14px;font-weight:950}.archive2-heading h2{margin:4px 0 10px;color:#173f41;font-family:Georgia,serif;font-size:clamp(39px,4.7vw,56px);line-height:1.03;letter-spacing:-.035em}.archive2-heading>div:first-child>p:last-child{max-width:710px;margin:0;color:#6b7d77;font-size:14px;line-height:1.6}.archive2-total{min-width:150px;padding:16px 18px;border:1px solid #d6e5df;border-radius:16px;background:#f8fbfa;text-align:center}.archive2-total span,.archive2-total strong,.archive2-total small{display:block}.archive2-total span{color:#08777e;font-size:14px;font-weight:950;letter-spacing:.12em}.archive2-total strong{margin-top:5px;color:#173f41;font-family:Georgia,serif;font-size:30px}.archive2-total small{color:#87958f;font-size:14px}
.archive2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.archive2-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid #dce7e3;border-radius:20px;background:#fff;box-shadow:0 7px 22px rgba(20,70,69,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.archive2-card:hover{transform:translateY(-4px);border-color:#bddbd0;box-shadow:0 16px 35px rgba(20,70,69,.09)}
.archive2-media{position:relative;height:235px;display:block;overflow:hidden;background:#edf6f2}.archive2-media>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .22s ease}.archive2-card:hover .archive2-media>img{transform:scale(1.025)}.archive2-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,44,46,.5),transparent 48%)}.archive2-date-art{height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 80% 12%,rgba(134,201,175,.18),transparent 35%),#0b666c;color:#fff;text-align:center}.archive2-date-art span,.archive2-date-art strong,.archive2-date-art small{display:block}.archive2-date-art span{color:#bce1d3;font-size:14px;font-weight:950;letter-spacing:.13em}.archive2-date-art strong{margin-top:2px;font-family:Georgia,serif;font-size:64px;line-height:.9}.archive2-date-art small{margin-top:7px;color:#c9e5dc;font-size:14px}
.archive2-date{position:absolute;top:12px;left:12px;min-width:57px;display:grid;justify-items:center;padding:7px 9px;border-radius:12px;background:rgba(255,255,255,.95);color:#315052;box-shadow:0 8px 18px rgba(0,0,0,.10)}.archive2-date strong{font-family:Georgia,serif;font-size:21px;line-height:.9}.archive2-date span{margin-top:3px;color:#08777e;font-size:14px;font-weight:950}.archive2-date small{color:#87958f;font-size:14px}.archive2-view{position:absolute;right:12px;bottom:12px;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.94);color:#0b666c;font-size:14px;font-weight:900;opacity:0;transform:translateY(5px);transition:.17s}.archive2-card:hover .archive2-view{opacity:1;transform:translateY(0)}
.archive2-body{flex:1;display:flex;flex-direction:column;padding:19px}.archive2-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.archive2-type{display:inline-flex;min-height:25px;align-items:center;padding:0 8px;border-radius:999px;background:#edf8f4;color:#08777e;font-size:14px;font-weight:950;text-transform:uppercase}.archive2-card h3{margin:13px 0 9px;font-family:Georgia,serif;font-size:23px;line-height:1.1}.archive2-card h3 a{color:#294d4f;text-decoration:none}.archive2-details{display:flex;flex-wrap:wrap;gap:7px 12px;color:#788a84;font-size:14px;font-weight:750}.archive2-details span{display:inline-flex;align-items:center;gap:5px}.archive2-details svg{width:13px;height:13px;fill:none;stroke:#0a8a92;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.archive2-body>p{margin:13px 0 0;color:#70837d;font-size:14px;line-height:1.58}.archive2-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px}.archive2-footer>a{display:inline-flex;align-items:center;gap:7px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}.archive2-ticket{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border-radius:999px;background:#f4f8f6;color:#81918b;font-size:14px;font-weight:800}
.archive2-pagination-wrap{display:grid;grid-template-columns:205px minmax(0,1fr);gap:30px;align-items:center;margin-top:40px;padding-top:25px;border-top:1px solid #dce7e3}.archive2-page-summary span,.archive2-page-summary strong{display:block}.archive2-page-summary span{color:#08777e;font-size:14px;font-weight:950;letter-spacing:.12em}.archive2-page-summary strong{margin-top:4px;color:#5f736d;font-size:14px}.archive2-pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center}.archive2-page-edge{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 13px;border:1px solid #d1e1db;border-radius:10px;background:#fff;color:#315052;text-decoration:none;font-size:14px;font-weight:850}.archive2-pagination>.archive2-page-edge:last-child{justify-self:end}.archive2-page-edge.is-disabled{opacity:.42;cursor:not-allowed}.archive2-pages{display:flex;align-items:center;justify-content:center;gap:6px}.archive2-pages a,.archive2-pages span{display:inline-flex;min-width:40px;min-height:40px;align-items:center;justify-content:center;padding:0 9px;border:1px solid #d1e1db;border-radius:10px;background:#fff;color:#315052;text-decoration:none;font-size:14px;font-weight:850}.archive2-pages span:not(.is-current){min-width:auto;border:0;background:transparent}.archive2-pages .is-current{border-color:#0a8a92;background:#0a8a92;color:#fff}
.archive2-empty{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:18px;align-items:center;padding:25px;border:1px dashed #c8ddd5;border-radius:18px;background:#f9fcfb}.archive2-empty-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#edf8f4;color:#08777e}.archive2-empty-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7}.archive2-empty h3{margin:3px 0 5px;color:#294d4f;font-family:Georgia,serif;font-size:25px}.archive2-empty p:last-child{margin:0;color:#71847e;font-size:14px;line-height:1.55}
.archive2-cta-section{padding-top:0;padding-bottom:88px}.archive2-cta{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:28px;align-items:center;padding:34px;border-radius:24px;background:radial-gradient(circle at 92% 10%,rgba(134,201,175,.16),transparent 35%),#0b646a;color:#fff}.archive2-cta-logo{width:78px;height:78px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#fff}.archive2-cta-logo img{width:72px;height:72px;object-fit:contain}.archive2-cta .eyebrow{color:#b8e0d0}.archive2-cta h2{margin:4px 0 8px;color:#fff;font-family:Georgia,serif;font-size:34px;line-height:1.08}.archive2-cta p:last-child{max-width:730px;margin:0;color:#d3e9e4;font-size:14px;line-height:1.55}.archive2-cta-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.archive2-cta .button{background:#fff;border-color:#fff;color:#0b646a!important}.archive2-cta .button-secondary{background:transparent;border-color:#abd5c8;color:#fff!important}
@media(max-width:1120px){.archive2-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.6fr);gap:45px}.archive2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive2-pagination-wrap{grid-template-columns:1fr;gap:16px}}
@media(max-width:900px){.archive2-hero-grid{grid-template-columns:1fr}.archive2-memory-card{margin-top:20px}.archive2-stats{grid-template-columns:repeat(3,1fr)}.archive2-stat-message{grid-column:1/-1}.archive2-cta{grid-template-columns:70px minmax(0,1fr)}.archive2-cta-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:720px){.archive2-hero{padding:48px 0 54px}.archive2-hero h1{font-size:51px}.archive2-lead{font-size:15.5px}.archive2-filter-shell{grid-template-columns:1fr;gap:9px}.archive2-heading{align-items:flex-start;flex-direction:column}.archive2-section{padding-top:58px;padding-bottom:64px}.archive2-card{display:grid;grid-template-columns:160px minmax(0,1fr)}.archive2-media{height:100%;min-height:235px}.archive2-view{display:none}.archive2-pagination{grid-template-columns:1fr 1fr}.archive2-pages{grid-column:1/-1;grid-row:1}.archive2-cta{padding:28px}}
@media(max-width:540px){.archive2-hero h1{font-size:44px}.archive2-actions{align-items:flex-start;flex-direction:column}.archive2-memory-card{width:245px;border-width:6px}.archive2-memory-body{min-height:220px}.archive2-stats>div{min-height:72px;padding:10px}.archive2-stats>div:not(.archive2-stat-message)>strong{font-size:21px}.archive2-heading h2{font-size:38px}.archive2-grid{grid-template-columns:1fr}.archive2-card{grid-template-columns:1fr}.archive2-media{min-height:220px}.archive2-empty{grid-template-columns:1fr}.archive2-cta{grid-template-columns:1fr;padding:27px}.archive2-cta-logo{width:64px;height:64px}.archive2-cta-logo img{width:59px;height:59px}.archive2-cta h2{font-size:29px}.archive2-cta-actions{grid-column:auto;flex-direction:column}.archive2-cta-actions .button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.archive2-card,.archive2-media>img,.archive2-view{transition:none}.archive2-card:hover,.archive2-card:hover .archive2-media>img,.archive2-card:hover .archive2-view{transform:none}}

/* =========================================================
   DHS PSAN — under construction / coming soon
   ========================================================= */
.psan-modern-construction-notice{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:14px;
    align-items:start;
    max-width:720px;
    margin-top:24px;
    padding:16px 18px;
    border:1px solid rgba(195,227,215,.22);
    border-radius:16px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(8px);
    box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.psan-modern-construction-icon{
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    border-radius:13px;
    background:#86c9af;
    color:#073f44;
}
.psan-modern-construction-icon svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.psan-modern-construction-notice span,
.psan-modern-construction-notice strong{
    display:block;
}
.psan-modern-construction-notice>div:last-child>span{
    color:#bce2d4;
    font-size:14px;
    font-weight:950;
    letter-spacing:.14em;
}
.psan-modern-construction-notice strong{
    margin-top:4px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:19px;
}
.psan-modern-construction-notice p{
    margin:5px 0 0;
    color:#d2e7e1;
    font-size:14px;
    line-height:1.55;
}
.psan-modern-coming-soon-button{
    cursor:default;
    pointer-events:none;
    user-select:none;
}
.psan-modern-hero .psan-modern-coming-soon-button{
    opacity:.96;
}
.psan-modern-cta .psan-modern-coming-soon-button{
    background:#edf8f4;
    border-color:#d0e5dc;
    color:#08777e!important;
}
@media(max-width:540px){
    .psan-modern-construction-notice{
        grid-template-columns:38px minmax(0,1fr);
        padding:14px;
    }
    .psan-modern-construction-icon{
        width:36px;
        height:36px;
    }
    .psan-modern-construction-notice strong{
        font-size:17px;
    }
}

/* =========================================================
   Constitution — modern compact reader + lightbox
   ========================================================= */
.constitution2-page{
    overflow:hidden;
    background:#fff;
}
.constitution2-page #constitution-reader{
    scroll-margin-top:96px;
}

/* Hero */
.constitution2-hero{
    position:relative;
    overflow:hidden;
    padding:68px 0 70px;
    border-bottom:1px solid #dce8e3;
    background:
        radial-gradient(circle at 84% 12%,rgba(134,201,175,.19),transparent 31%),
        linear-gradient(135deg,#f7fcfa 0%,#fff 53%,#eef8f4 100%);
}
.constitution2-pattern{
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.55;
    background-image:
        linear-gradient(rgba(10,138,146,.024) 1px,transparent 1px),
        linear-gradient(90deg,rgba(10,138,146,.024) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.23) 60%,transparent 88%);
}
.constitution2-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.48fr);
    gap:62px;
    align-items:center;
}
.constitution2-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:15px;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.14em;
}
.constitution2-kicker>span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#0a8a92;
    box-shadow:0 0 0 5px rgba(10,138,146,.10);
}
.constitution2-hero h1{
    margin:0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(51px,6.5vw,78px);
    line-height:.96;
    letter-spacing:-.05em;
}
.constitution2-lead{
    max-width:770px;
    margin:22px 0 0;
    color:#627771;
    font-size:17px;
    line-height:1.68;
}
.constitution2-hero-actions{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:27px;
}
.constitution2-text-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.constitution2-document-card{
    position:relative;
    overflow:hidden;
    min-height:270px;
    padding:27px;
    border:1px solid #d4e5de;
    border-radius:23px;
    background:#fff;
    box-shadow:0 16px 40px rgba(18,70,70,.08);
}
.constitution2-document-card::after{
    content:"";
    position:absolute;
    width:140px;
    height:140px;
    right:-70px;
    bottom:-70px;
    border-radius:50%;
    background:rgba(134,201,175,.13);
}
.constitution2-document-icon{
    display:grid;
    place-items:center;
    width:51px;
    height:51px;
    margin-bottom:40px;
    border-radius:15px;
    background:#0b666c;
    color:#fff;
}
.constitution2-document-icon svg{
    width:26px;
    height:26px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.constitution2-document-card>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.constitution2-document-card>strong{
    display:block;
    margin-top:5px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:27px;
    line-height:1.08;
}
.constitution2-document-meta{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:22px;
}
.constitution2-document-meta>div{
    padding:9px;
    border-radius:10px;
    background:#f5faf8;
}
.constitution2-document-meta small,
.constitution2-document-meta b{
    display:block;
}
.constitution2-document-meta small{
    color:#8b9994;
    font-size:14px;
    font-weight:950;
    letter-spacing:.1em;
}
.constitution2-document-meta b{
    margin-top:3px;
    color:#315052;
    font-size:14px;
}

/* Reader heading */
.constitution2-reader-section{
    padding-top:76px;
    padding-bottom:82px;
    background:#f4f7f5;
}
.constitution2-reader-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    max-width:980px;
    margin:0 auto 27px;
}
.constitution2-section-number{
    display:grid;
    place-items:center;
    width:47px;
    height:47px;
    margin-bottom:18px;
    border:1px solid #c9e0d7;
    border-radius:14px;
    background:#fff;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}
.constitution2-reader-heading h2,
.constitution2-about-card h2{
    margin:4px 0 8px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(36px,4.5vw,52px);
    line-height:1.03;
}
.constitution2-reader-heading>div>p:last-child{
    max-width:680px;
    margin:0;
    color:#697b75;
    font-size:14px;
    line-height:1.6;
}
.constitution2-open-lightbox{
    flex:none;
    gap:8px;
}
.constitution2-open-lightbox svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* Compact reader */
.constitution2-reader-card{
    max-width:760px;
    margin:0 auto;
    overflow:hidden;
    border:1px solid #d7e2de;
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 45px rgba(20,70,69,.08);
}
.constitution2-reader-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:15px 18px;
    border-bottom:1px solid #dfe8e5;
    background:#fff;
}
.constitution2-reader-topbar>div:first-child>span,
.constitution2-reader-topbar>div:first-child>strong{
    display:block;
}
.constitution2-reader-topbar>div:first-child>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.constitution2-reader-topbar>div:first-child>strong{
    margin-top:3px;
    color:#315052;
    font-size:14px;
}
.constitution2-current-page{
    display:flex;
    align-items:baseline;
    gap:4px;
    color:#71837d;
}
.constitution2-current-page small{
    margin-right:3px;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.11em;
}
.constitution2-current-page strong{
    color:#173f41;
    font-family:Georgia,serif;
    font-size:22px;
}
.constitution2-current-page span{
    font-size:14px;
}

/* Smaller on-page flipbook */
.constitution2-flipbook-shell{
    width:100%;
    max-width:560px;
    margin:24px auto;
    padding:14px;
    border:1px solid #d4c7ad;
    border-radius:18px;
    background:linear-gradient(145deg,#ded2b8,#cfc09f);
    box-shadow:0 14px 34px rgba(48,39,23,.12);
}
.constitution2-flipbook{
    position:relative;
    width:100%;
    aspect-ratio:8.5/11;
    perspective:1800px;
    outline:none;
}
.constitution2-flipbook:focus-visible{
    box-shadow:0 0 0 4px rgba(10,138,146,.18);
    border-radius:9px;
}
.constitution2-flip-page{
    position:absolute;
    inset:0;
    display:none;
    margin:0;
    transform-origin:left center;
    backface-visibility:hidden;
}
.constitution2-flip-page.is-active{
    display:block;
}
.constitution2-paper{
    width:100%;
    height:100%;
    overflow:hidden;
    border-radius:7px;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.15);
}
.constitution2-paper img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    background:#fff;
}
.constitution2-flip-page.turning-next{
    display:block;
    animation:constitution2-next .17s ease forwards;
}
.constitution2-flip-page.turning-prev{
    display:block;
    transform-origin:right center;
    animation:constitution2-prev .17s ease forwards;
}
@keyframes constitution2-next{
    from{transform:rotateY(0deg);opacity:1}
    to{transform:rotateY(-18deg);opacity:.18}
}
@keyframes constitution2-prev{
    from{transform:rotateY(0deg);opacity:1}
    to{transform:rotateY(18deg);opacity:.18}
}

/* Bottom navigation */
.constitution2-bottom-controls{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:8px;
    padding:15px 18px;
    border-top:1px solid #dfe8e5;
    border-bottom:1px solid #dfe8e5;
    background:#f8fbfa;
}
.constitution2-control{
    min-height:39px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 11px;
    border:1px solid #d1dfda;
    border-radius:9px;
    background:#fff;
    color:#315052;
    font:inherit;
    font-size:14px;
    font-weight:850;
    cursor:pointer;
}
.constitution2-control:hover:not(:disabled){
    border-color:#9fcabc;
    background:#edf8f4;
    color:#08777e;
}
.constitution2-control:disabled{
    opacity:.4;
    cursor:not-allowed;
}
.constitution2-page-status{
    display:flex;
    align-items:center;
    gap:6px;
    padding:0 4px;
    color:#637771;
    font-size:14px;
    font-weight:850;
}
.constitution2-page-status input{
    width:58px;
    min-height:39px;
    padding:6px;
    border:1px solid #ccdcd6;
    border-radius:9px;
    background:#fff;
    color:#294d4f;
    font:inherit;
    text-align:center;
}
.constitution2-reader-help{
    display:grid;
    grid-template-columns:31px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:13px 18px 16px;
}
.constitution2-reader-help>span{
    display:grid;
    place-items:center;
    width:29px;
    height:29px;
    border-radius:50%;
    background:#edf8f4;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
}
.constitution2-reader-help p{
    margin:0;
    color:#778984;
    font-size:14px;
    line-height:1.5;
}

/* PDF actions */
.constitution2-document-actions{
    max-width:760px;
    margin:18px auto 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:17px 19px;
    border:1px solid #d6e4df;
    border-radius:15px;
    background:#fff;
}
.constitution2-document-actions>div:first-child>span,
.constitution2-document-actions>div:first-child>strong{
    display:block;
}
.constitution2-document-actions>div:first-child>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.constitution2-document-actions>div:first-child>strong{
    margin-top:3px;
    color:#465f5b;
    font-size:14px;
}
.constitution2-noscript{
    max-width:760px;
    margin:16px auto 0;
    padding:13px 15px;
    border:1px solid #d8e4df;
    border-radius:12px;
    background:#fff;
    color:#667a73;
    font-size:14px;
}

/* About */
.constitution2-about-section{
    padding-top:72px;
    padding-bottom:76px;
}
.constitution2-about-card{
    display:grid;
    grid-template-columns:minmax(300px,.65fr) minmax(0,1fr);
    gap:58px;
    align-items:center;
}
.constitution2-about-card>p{
    margin:0;
    color:#657872;
    font-size:15px;
    line-height:1.7;
}

/* Lightbox */
body.constitution2-lightbox-open{
    overflow:hidden;
}
.constitution2-lightbox{
    position:fixed;
    z-index:9999;
    inset:0;
    display:none;
    padding:22px;
}
.constitution2-lightbox.is-open{
    display:grid;
    place-items:center;
}
.constitution2-lightbox-backdrop{
    position:absolute;
    inset:0;
    background:rgba(5,27,29,.88);
    backdrop-filter:blur(7px);
}
.constitution2-lightbox-panel{
    position:relative;
    z-index:1;
    width:min(920px,96vw);
    max-height:94vh;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.15);
    border-radius:22px;
    background:#f5f7f6;
    box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.constitution2-lightbox-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 17px;
    border-bottom:1px solid #dce7e3;
    background:#fff;
}
.constitution2-lightbox-header span,
.constitution2-lightbox-header strong{
    display:block;
}
.constitution2-lightbox-header span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.constitution2-lightbox-header strong{
    margin-top:3px;
    color:#315052;
    font-size:14px;
}
.constitution2-lightbox-close{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #d6e3de;
    border-radius:50%;
    background:#fff;
    color:#315052;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.constitution2-lightbox-close:hover{
    background:#edf8f4;
    color:#08777e;
}
.constitution2-lightbox-document{
    min-height:0;
    overflow:auto;
    display:grid;
    place-items:center;
    padding:18px;
    background:#e6ded0;
}
.constitution2-lightbox-document img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:calc(94vh - 150px);
    object-fit:contain;
    background:#fff;
    border-radius:5px;
    box-shadow:0 12px 36px rgba(0,0,0,.24);
}
.constitution2-lightbox-controls{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:13px 16px;
    border-top:1px solid #dce7e3;
    background:#fff;
}
.constitution2-lightbox-controls>button{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 13px;
    border:1px solid #d1dfda;
    border-radius:9px;
    background:#fff;
    color:#315052;
    font:inherit;
    font-size:14px;
    font-weight:850;
    cursor:pointer;
}
.constitution2-lightbox-controls>button:hover:not(:disabled){
    border-color:#9fcabc;
    background:#edf8f4;
    color:#08777e;
}
.constitution2-lightbox-controls>button:disabled{
    opacity:.4;
    cursor:not-allowed;
}
.constitution2-lightbox-status{
    display:flex;
    align-items:center;
    gap:6px;
    color:#61756f;
    font-size:14px;
    font-weight:850;
}
.constitution2-lightbox-status input{
    width:61px;
    min-height:40px;
    padding:6px;
    border:1px solid #ccdcd6;
    border-radius:9px;
    background:#fff;
    color:#294d4f;
    font:inherit;
    text-align:center;
}

/* Responsive */
@media(max-width:900px){
    .constitution2-hero-grid,
    .constitution2-about-card{
        grid-template-columns:1fr;
    }
    .constitution2-document-card{
        max-width:480px;
    }
}
@media(max-width:720px){
    .constitution2-hero{
        padding:48px 0 54px;
    }
    .constitution2-hero h1{
        font-size:49px;
    }
    .constitution2-lead{
        font-size:15px;
    }
    .constitution2-reader-section{
        padding-top:58px;
        padding-bottom:62px;
    }
    .constitution2-reader-heading{
        align-items:flex-start;
        flex-direction:column;
    }
    .constitution2-flipbook-shell{
        max-width:500px;
    }
    .constitution2-document-actions{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:540px){
    .constitution2-hero h1{
        font-size:43px;
    }
    .constitution2-hero-actions{
        align-items:flex-start;
        flex-direction:column;
    }
    .constitution2-reader-heading h2,
    .constitution2-about-card h2{
        font-size:36px;
    }
    .constitution2-reader-card{
        border-radius:18px;
    }
    .constitution2-flipbook-shell{
        width:calc(100% - 22px);
        margin:14px auto;
        padding:8px;
        border-radius:12px;
    }
    .constitution2-reader-topbar{
        padding:12px 13px;
    }
    .constitution2-bottom-controls{
        gap:6px;
        padding:12px 10px;
    }
    .constitution2-control{
        min-height:37px;
        padding:0 8px;
        font-size:14px;
    }
    .constitution2-control-edge{
        display:none;
    }
    .constitution2-page-status{
        order:-1;
        width:100%;
        justify-content:center;
        margin-bottom:2px;
    }
    .constitution2-document-actions .hero-actions{
        width:100%;
        display:grid;
    }
    .constitution2-document-actions .button{
        width:100%;
        justify-content:center;
    }
    .constitution2-lightbox{
        padding:8px;
    }
    .constitution2-lightbox-panel{
        width:100%;
        max-height:98vh;
        border-radius:15px;
    }
    .constitution2-lightbox-document{
        padding:9px;
    }
    .constitution2-lightbox-document img{
        max-height:calc(98vh - 148px);
    }
    .constitution2-lightbox-controls{
        gap:6px;
        padding:10px 8px;
    }
    .constitution2-lightbox-controls>button{
        min-height:38px;
        padding:0 9px;
        font-size:14px;
    }
    .constitution2-lightbox-status label{
        display:none;
    }
}
@media(prefers-reduced-motion:reduce){
    .constitution2-flip-page.turning-next,
    .constitution2-flip-page.turning-prev{
        animation:none;
    }
}

/* =========================================================
   Mobile Primary Navigation — repaired, isolated implementation
   ========================================================= */
.mobile-menu-toggle,
.mobile-menu-panel{
    display:none;
}

@media(max-width:850px){
    /*
     * Only mobile rules below.
     * The desktop header markup and authentication navigation remain untouched.
     */
    .nav-wrap{
        min-height:68px;
        gap:12px;
    }

    .nav-links{
        display:none!important;
    }

    .psa-brand{
        min-width:0;
        max-width:calc(100% - 62px);
    }

    .brand-logo{
        width:47px;
        height:47px;
        flex-basis:47px;
    }

    .brand-copy{
        min-width:0;
    }

    .brand-copy strong{
        display:block;
        max-width:250px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:14px;
    }

    .brand-copy small{
        margin-top:3px;
        font-size:14px;
    }

    .mobile-menu-toggle{
        display:grid;
        grid-template-columns:24px auto;
        align-items:center;
        gap:7px;
        min-height:43px;
        padding:0 10px;
        border:1px solid #d2e3dc;
        border-radius:12px;
        background:#fff;
        color:#315052;
        font:inherit;
        cursor:pointer;
        box-shadow:0 5px 14px rgba(18,70,70,.06);
    }

    .mobile-menu-toggle-icon{
        width:23px;
        display:grid;
        gap:4px;
    }

    .mobile-menu-toggle-icon i{
        display:block;
        width:23px;
        height:2px;
        border-radius:999px;
        background:#0b666c;
        transition:transform .16s ease,opacity .16s ease;
    }

    .mobile-menu-toggle-icon i:nth-child(2){
        width:17px;
    }

    .mobile-menu-toggle-text{
        font-size:14px;
        font-weight:900;
    }

    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon i:nth-child(1){
        transform:translateY(6px) rotate(45deg);
    }

    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon i:nth-child(2){
        opacity:0;
    }

    .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon i:nth-child(3){
        transform:translateY(-6px) rotate(-45deg);
    }

    .mobile-menu-panel{
        position:absolute;
        z-index:40;
        top:100%;
        left:0;
        right:0;
        display:block;
        border-top:1px solid #dce8e3;
        border-bottom:1px solid #cddfd8;
        background:
            radial-gradient(circle at 92% 0%,rgba(134,201,175,.15),transparent 32%),
            #f8fbfa;
        box-shadow:0 22px 45px rgba(14,63,63,.14);
    }

    .mobile-menu-panel[hidden]{
        display:none!important;
    }

    .mobile-menu-inner{
        max-height:calc(100dvh - 69px);
        overflow-y:auto;
        overscroll-behavior:contain;
        padding-top:17px;
        padding-bottom:19px;
    }

    .mobile-menu-heading{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:16px;
        margin-bottom:13px;
    }

    .mobile-menu-heading>div>span,
    .mobile-menu-heading>div>strong{
        display:block;
    }

    .mobile-menu-heading>div>span{
        color:#08777e;
        font-size:14px;
        font-weight:950;
        letter-spacing:.14em;
    }

    .mobile-menu-heading>div>strong{
        margin-top:3px;
        color:#173f41;
        font-family:Georgia,serif;
        font-size:20px;
    }

    .mobile-menu-close{
        width:38px;
        height:38px;
        display:grid;
        place-items:center;
        flex:none;
        padding:0;
        border:1px solid #d4e3dd;
        border-radius:50%;
        background:#fff;
        color:#315052;
        font:inherit;
        font-size:23px;
        line-height:1;
        cursor:pointer;
    }

    .mobile-menu-links{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .mobile-menu-links>a{
        min-height:69px;
        display:grid;
        grid-template-columns:39px minmax(0,1fr) 14px;
        gap:9px;
        align-items:center;
        padding:10px;
        border:1px solid #dde8e4;
        border-radius:14px;
        background:#fff;
        color:#315052;
        text-decoration:none;
    }

    .mobile-menu-link-icon{
        width:38px;
        height:38px;
        display:grid;
        place-items:center;
        border-radius:11px;
        background:#edf8f4;
        color:#08777e;
    }

    .mobile-menu-link-icon svg{
        width:19px;
        height:19px;
        fill:none;
        stroke:currentColor;
        stroke-width:1.7;
        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .mobile-menu-links>a>span:nth-child(2){
        min-width:0;
        display:grid;
        line-height:1.18;
    }

    .mobile-menu-links strong{
        color:#315052;
        font-size:14px;
    }

    .mobile-menu-links small{
        margin-top:3px;
        color:#84938e;
        font-size:14px;
        line-height:1.25;
    }

    .mobile-menu-links>a>b{
        color:#08777e;
        font-size:14px;
    }

    .mobile-menu-member-block{
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,.76fr);
        gap:8px;
        margin-top:11px;
        padding-top:11px;
        border-top:1px solid #dce7e3;
    }

    .mobile-menu-psan{
        min-height:78px;
        display:grid;
        grid-template-columns:42px minmax(0,1fr) 14px;
        gap:10px;
        align-items:center;
        padding:11px 12px;
        border:1px solid #0a747b;
        border-radius:15px;
        background:
            radial-gradient(circle at 95% 0%,rgba(134,201,175,.17),transparent 36%),
            #08646b;
        color:#fff;
        text-decoration:none;
    }

    .mobile-menu-psan-icon{
        width:41px;
        height:41px;
        display:grid;
        place-items:center;
        border-radius:12px;
        background:rgba(255,255,255,.11);
    }

    .mobile-menu-psan-icon svg{
        width:21px;
        height:21px;
        fill:none;
        stroke:#fff;
        stroke-width:1.7;
        stroke-linecap:round;
        stroke-linejoin:round;
    }

    .mobile-menu-psan>span:nth-child(2){
        display:grid;
        min-width:0;
    }

    .mobile-menu-psan small{
        color:#bce2d5;
        font-size:14px;
        font-weight:950;
        letter-spacing:.12em;
    }

    .mobile-menu-psan strong{
        margin-top:2px;
        color:#fff;
        font-family:Georgia,serif;
        font-size:17px;
    }

    .mobile-menu-psan em{
        margin-top:2px;
        color:#d4e9e3;
        font-size:14px;
        font-style:normal;
    }

    .mobile-menu-psan>b{
        color:#fff;
        font-size:14px;
    }

    .mobile-menu-login{
        min-height:78px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:9px;
        padding:11px 12px;
        border:1px solid #cde0d9;
        border-radius:15px;
        background:#edf8f4;
        color:#315052;
        text-decoration:none;
    }

    .mobile-menu-login>span{
        display:grid;
    }

    .mobile-menu-login small{
        color:#08777e;
        font-size:14px;
        font-weight:950;
        letter-spacing:.11em;
    }

    .mobile-menu-login strong{
        margin-top:3px;
        font-size:14px;
    }

    .mobile-menu-login>b{
        color:#08777e;
    }

    .mobile-menu-footer{
        margin-top:13px;
        padding-top:11px;
        border-top:1px solid #dce7e3;
        color:#60766f;
        font-family:Georgia,serif;
        font-size:14px;
        text-align:center;
    }
}

@media(max-width:620px){
    .brand-copy strong{
        max-width:190px;
        font-size:14px;
    }

    .mobile-menu-links{
        grid-template-columns:1fr;
    }

    .mobile-menu-member-block{
        grid-template-columns:1fr;
    }
}

@media(max-width:440px){
    .brand-copy strong{
        max-width:155px;
    }

    .brand-copy small{
        display:none;
    }

    .mobile-menu-toggle{
        width:44px;
        grid-template-columns:1fr;
        padding:0 9px;
    }

    .mobile-menu-toggle-text{
        display:none;
    }
}

@media(prefers-reduced-motion:reduce){
    .mobile-menu-toggle-icon i{
        transition:none;
    }
}


/* Executive Team top section group photo */
.exec-hero-team-photo{
    object-fit:cover;
    object-position:center 28%;
}
@media (max-width: 720px){
    .exec-hero-team-photo{
        object-position:center 24%;
    }
}


/* Executive Team top card group text */
.exec-hero-team-meta strong{
    font-size:22px;
}
.exec-hero-team-meta small{
    max-width:270px;
    line-height:1.45;
}

/* =========================================================
   Denbigh History — About timeline + Home teaser
   ========================================================= */

/* About: History */
.about-history-section{
    position:relative;
    overflow:hidden;
    padding-top:84px;
    padding-bottom:88px;
    background:
        radial-gradient(circle at 90% 8%,rgba(134,201,175,.12),transparent 31%),
        #f8fbfa;
    border-top:1px solid #dce8e3;
    border-bottom:1px solid #dce8e3;
}
.about-history-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.42;
    background-image:
        linear-gradient(rgba(10,138,146,.026) 1px,transparent 1px),
        linear-gradient(90deg,rgba(10,138,146,.026) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.2) 60%,transparent 90%);
}
.about-history-section>.container{
    position:relative;
    z-index:1;
}
.about-history-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
    gap:58px;
    align-items:end;
    margin-bottom:50px;
}
.about-history-heading h2{
    margin:4px 0 14px;
    max-width:770px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(40px,5vw,60px);
    line-height:1.02;
    letter-spacing:-.04em;
}
.about-history-heading>div:first-child>p:last-child{
    max-width:760px;
    margin:0;
    color:#667a74;
    font-size:15px;
    line-height:1.68;
}
.about-history-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border:1px solid #d5e4de;
    border-radius:19px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 10px 28px rgba(18,70,70,.055);
}
.about-history-summary>div{
    min-height:90px;
    display:grid;
    align-content:center;
    padding:15px 17px;
    border-right:1px solid #e0e9e6;
    border-bottom:1px solid #e0e9e6;
}
.about-history-summary>div:nth-child(2){
    border-right:0;
}
.about-history-summary>div:nth-child(3){
    grid-column:1/-1;
    border-right:0;
    border-bottom:0;
    background:#f4faf7;
}
.about-history-summary strong,
.about-history-summary span{
    display:block;
}
.about-history-summary strong{
    color:#173f41;
    font-family:Georgia,serif;
    font-size:27px;
    line-height:1;
}
.about-history-summary>div:nth-child(3) strong{
    font-size:18px;
}
.about-history-summary span{
    margin-top:5px;
    color:#7f918b;
    font-size:14px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.about-history-timeline{
    position:relative;
    max-width:1080px;
    margin:0 auto;
}
.about-history-timeline::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    width:2px;
    transform:translateX(-50%);
    background:linear-gradient(#b8d9ce,#0a8a92 48%,#b8d9ce);
}
.about-history-item{
    position:relative;
    display:grid;
    grid-template-columns:1fr 92px 1fr;
    align-items:center;
    min-height:170px;
    margin-bottom:15px;
}
.about-history-item:nth-child(odd) .about-history-card{
    grid-column:1;
    grid-row:1;
    text-align:right;
}
.about-history-item:nth-child(even) .about-history-card{
    grid-column:3;
    grid-row:1;
}
.about-history-year{
    z-index:2;
    grid-column:2;
    grid-row:1;
    width:70px;
    height:70px;
    display:grid;
    place-items:center;
    justify-self:center;
    border:5px solid #f8fbfa;
    border-radius:50%;
    background:#0a8a92;
    color:#fff;
    box-shadow:0 0 0 1px #9fcabc,0 8px 22px rgba(18,70,70,.10);
    font-size:14px;
    font-weight:950;
    letter-spacing:.03em;
}
.about-history-card{
    position:relative;
    max-width:440px;
    padding:22px 23px;
    border:1px solid #d9e6e1;
    border-radius:19px;
    background:#fff;
    box-shadow:0 8px 23px rgba(18,70,70,.045);
}
.about-history-item:nth-child(odd) .about-history-card{
    justify-self:end;
}
.about-history-card>span{
    display:block;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-history-card h3{
    margin:5px 0 8px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:24px;
    line-height:1.08;
}
.about-history-card p{
    margin:0;
    color:#70837d;
    font-size:14px;
    line-height:1.62;
}
.about-history-item-today .about-history-year{
    background:#173f41;
}
.about-history-item-today .about-history-card{
    border-color:#bddbd0;
    background:#f1f9f6;
}

.about-history-past-present{
    max-width:900px;
    display:grid;
    grid-template-columns:1fr 70px 1fr;
    gap:16px;
    align-items:center;
    margin:54px auto 0;
    padding:24px;
    border:1px solid #d5e4de;
    border-radius:20px;
    background:#fff;
}
.about-history-era{
    text-align:center;
}
.about-history-era span,
.about-history-era strong{
    display:block;
}
.about-history-era span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.14em;
}
.about-history-era strong{
    max-width:320px;
    margin:6px auto 0;
    color:#315052;
    font-family:Georgia,serif;
    font-size:18px;
    line-height:1.28;
}
.about-history-arrow{
    display:grid;
    place-items:center;
    width:50px;
    height:50px;
    margin:auto;
    border-radius:50%;
    background:#edf8f4;
    color:#08777e;
    font-size:20px;
}
.about-history-source{
    max-width:900px;
    margin:18px auto 0;
    padding:15px 18px;
    border-left:3px solid #9fcabc;
    background:#f4f8f6;
}
.about-history-source span{
    display:block;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-history-source p{
    margin:5px 0 0;
    color:#7a8b85;
    font-size:14px;
    line-height:1.5;
}

/* Home: history teaser */
.home-history-section{
    position:relative;
    overflow:hidden;
    padding-top:78px;
    padding-bottom:80px;
    border-top:1px solid #dce8e3;
    border-bottom:1px solid #dce8e3;
    background:
        radial-gradient(circle at 12% 16%,rgba(134,201,175,.15),transparent 28%),
        #f8fbfa;
}
.home-history-grid{
    display:grid;
    grid-template-columns:minmax(320px,.78fr) minmax(0,1fr);
    gap:68px;
    align-items:center;
}
.home-history-visual{
    position:relative;
    min-height:310px;
    display:grid;
    place-items:center;
    align-content:center;
}
.home-history-year-card{
    position:relative;
    z-index:2;
    width:260px;
    padding:28px 25px;
    border:8px solid #fff;
    border-radius:24px;
    background:
        radial-gradient(circle at 85% 10%,rgba(134,201,175,.18),transparent 33%),
        #0b666c;
    color:#fff;
    box-shadow:0 25px 60px rgba(18,70,70,.16);
    transform:rotate(-2deg);
}
.home-history-year-card span,
.home-history-year-card strong,
.home-history-year-card small{
    display:block;
}
.home-history-year-card span{
    color:#bee2d5;
    font-size:14px;
    font-weight:950;
    letter-spacing:.14em;
}
.home-history-year-card strong{
    margin-top:4px;
    font-family:Georgia,serif;
    font-size:72px;
    line-height:.9;
}
.home-history-year-card small{
    margin-top:13px;
    color:#d4e9e3;
    font-size:14px;
    line-height:1.45;
}
.home-history-line{
    position:absolute;
    z-index:1;
    inset:50% 6% auto;
    height:2px;
    background:#c3ded4;
}
.home-history-line i{
    position:absolute;
    top:50%;
    width:12px;
    height:12px;
    border:3px solid #f8fbfa;
    border-radius:50%;
    background:#0a8a92;
    transform:translateY(-50%);
}
.home-history-line i:nth-child(1){left:0}
.home-history-line i:nth-child(2){left:50%}
.home-history-line i:nth-child(3){right:0}
.home-history-motto{
    position:absolute;
    z-index:3;
    right:0;
    bottom:18px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:10px 12px;
    border:1px solid #d5e4de;
    border-radius:999px;
    background:#fff;
    box-shadow:0 9px 24px rgba(18,70,70,.08);
    color:#55716b;
}
.home-history-motto span{
    font-size:14px;
    font-weight:950;
    letter-spacing:.08em;
}
.home-history-motto b{
    color:#0a8a92;
    font-size:14px;
}
.home-history-copy h2{
    max-width:760px;
    margin:4px 0 14px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(38px,4.7vw,56px);
    line-height:1.03;
    letter-spacing:-.035em;
}
.home-history-copy>p:last-of-type{
    max-width:760px;
    margin:0;
    color:#697d77;
    font-size:14px;
    line-height:1.7;
}
.home-history-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:24px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.home-history-link span{
    transition:transform .16s ease;
}
.home-history-link:hover span{
    transform:translateX(4px);
}

@media(max-width:940px){
    .about-history-heading,
    .home-history-grid{
        grid-template-columns:1fr;
        gap:35px;
    }
    .about-history-summary{
        max-width:650px;
    }
    .home-history-visual{
        max-width:600px;
        width:100%;
        margin:0 auto;
    }
}
@media(max-width:720px){
    .about-history-section,
    .home-history-section{
        padding-top:58px;
        padding-bottom:62px;
    }
    .about-history-timeline::before{
        left:34px;
    }
    .about-history-item{
        grid-template-columns:68px minmax(0,1fr);
        gap:12px;
        min-height:0;
        margin-bottom:18px;
    }
    .about-history-year{
        grid-column:1!important;
        grid-row:1!important;
        width:60px;
        height:60px;
        justify-self:start;
    }
    .about-history-card,
    .about-history-item:nth-child(odd) .about-history-card,
    .about-history-item:nth-child(even) .about-history-card{
        grid-column:2!important;
        grid-row:1!important;
        max-width:none;
        justify-self:stretch;
        text-align:left;
    }
    .about-history-past-present{
        grid-template-columns:1fr;
    }
    .about-history-arrow{
        transform:rotate(90deg);
    }
}
@media(max-width:520px){
    .about-history-heading h2,
    .home-history-copy h2{
        font-size:38px;
    }
    .about-history-summary{
        grid-template-columns:1fr 1fr;
    }
    .about-history-summary>div{
        min-height:78px;
        padding:12px;
    }
    .about-history-card{
        padding:18px;
    }
    .about-history-card h3{
        font-size:21px;
    }
    .about-history-card p{
        font-size:14px;
    }
    .home-history-visual{
        min-height:270px;
    }
    .home-history-year-card{
        width:230px;
        padding:24px 21px;
    }
    .home-history-year-card strong{
        font-size:62px;
    }
    .home-history-motto{
        right:50%;
        transform:translateX(50%);
        bottom:4px;
    }
}
@media(prefers-reduced-motion:reduce){
    .home-history-link span{
        transition:none;
    }
}

/* =========================================================
   Authentic Denbigh photography
   ========================================================= */

/* Home history photo */
.home-history-authentic{
    min-height:390px;
}
.home-history-photo-card{
    position:relative;
    z-index:2;
    width:min(500px,94%);
    height:340px;
    margin:0;
    overflow:hidden;
    border:9px solid #fff;
    border-radius:25px;
    background:#eaf5f0;
    box-shadow:0 25px 60px rgba(18,70,70,.17);
    transform:rotate(-1.4deg);
}
.home-history-photo-card img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 44%;
}
.home-history-photo-card::after{
    content:"";
    position:absolute;
    inset:42% 0 0;
    background:linear-gradient(0deg,rgba(5,42,44,.68),transparent);
    pointer-events:none;
}
.home-history-photo-card figcaption{
    position:absolute;
    z-index:2;
    left:20px;
    right:20px;
    bottom:18px;
    color:#fff;
}
.home-history-photo-card figcaption span,
.home-history-photo-card figcaption strong{
    display:block;
}
.home-history-photo-card figcaption span{
    color:#c6e7dc;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.home-history-photo-card figcaption strong{
    margin-top:4px;
    font-family:Georgia,serif;
    font-size:23px;
}
.home-history-year-badge{
    position:absolute;
    z-index:4;
    top:18px;
    right:0;
    width:105px;
    min-height:86px;
    display:grid;
    align-content:center;
    padding:12px;
    border:5px solid #f8fbfa;
    border-radius:18px;
    background:#0b666c;
    color:#fff;
    box-shadow:0 13px 28px rgba(18,70,70,.14);
    transform:rotate(2deg);
}
.home-history-year-badge span,
.home-history-year-badge strong{
    display:block;
}
.home-history-year-badge span{
    color:#bfe2d6;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.home-history-year-badge strong{
    margin-top:2px;
    font-family:Georgia,serif;
    font-size:31px;
    line-height:1;
}

/* Home authentic photo gallery */
.home-authentic-section{
    padding-top:78px;
    padding-bottom:82px;
    background:#fff;
}
.home-authentic-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);
    gap:54px;
    align-items:end;
    margin-bottom:29px;
}
.home-authentic-heading h2{
    max-width:720px;
    margin:4px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(38px,4.7vw,56px);
    line-height:1.03;
    letter-spacing:-.035em;
}
.home-authentic-heading>p{
    margin:0;
    color:#687c76;
    font-size:14px;
    line-height:1.65;
}
.home-authentic-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr .85fr 1.15fr;
    gap:12px;
}
.home-authentic-card{
    position:relative;
    min-height:300px;
    margin:0;
    overflow:hidden;
    border-radius:18px;
    background:#eaf5f0;
}
.home-authentic-card img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .2s ease;
}
.home-authentic-card:nth-child(1) img{
    object-position:center 44%;
}
.home-authentic-card:nth-child(2) img{
    object-position:center 40%;
}
.home-authentic-card:nth-child(3) img{
    object-position:center 36%;
}
.home-authentic-card:nth-child(4) img{
    object-position:center 48%;
}
.home-authentic-card::after{
    content:"";
    position:absolute;
    inset:50% 0 0;
    background:linear-gradient(0deg,rgba(5,42,44,.72),transparent);
    pointer-events:none;
}
.home-authentic-card figcaption{
    position:absolute;
    z-index:2;
    left:15px;
    right:15px;
    bottom:14px;
    color:#fff;
}
.home-authentic-card figcaption span,
.home-authentic-card figcaption strong{
    display:block;
}
.home-authentic-card figcaption span{
    color:#c7e5da;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.home-authentic-card figcaption strong{
    margin-top:3px;
    font-family:Georgia,serif;
    font-size:17px;
    line-height:1.15;
}
.home-authentic-card:hover img{
    transform:scale(1.025);
}

/* About authentic photo story */
.about-authentic-section{
    padding-top:82px;
    padding-bottom:86px;
    background:#fff;
}
.about-authentic-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);
    gap:55px;
    align-items:end;
    margin-bottom:31px;
}
.about-authentic-heading h2{
    max-width:720px;
    margin:4px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(39px,4.8vw,57px);
    line-height:1.03;
    letter-spacing:-.035em;
}
.about-authentic-heading>p{
    margin:0;
    color:#687c76;
    font-size:14px;
    line-height:1.67;
}
.about-authentic-collage{
    display:grid;
    grid-template-columns:1.35fr .65fr;
    grid-template-rows:260px 260px;
    gap:13px;
}
.about-authentic-photo{
    position:relative;
    margin:0;
    overflow:hidden;
    border-radius:20px;
    background:#eaf5f0;
}
.about-authentic-photo-feature{
    grid-row:1 / 3;
}
.about-authentic-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.about-authentic-photo-feature img{
    object-position:center 43%;
}
.about-authentic-photo:nth-child(2) img{
    object-position:center 40%;
}
.about-authentic-photo:nth-child(3) img{
    object-position:center 36%;
}
.about-authentic-photo::after{
    content:"";
    position:absolute;
    inset:52% 0 0;
    background:linear-gradient(0deg,rgba(5,42,44,.73),transparent);
}
.about-authentic-photo figcaption{
    position:absolute;
    z-index:2;
    left:18px;
    right:18px;
    bottom:16px;
    color:#fff;
}
.about-authentic-photo figcaption span,
.about-authentic-photo figcaption strong{
    display:block;
}
.about-authentic-photo figcaption span{
    color:#c7e5da;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-authentic-photo figcaption strong{
    margin-top:4px;
    font-family:Georgia,serif;
    font-size:21px;
    line-height:1.12;
}
.about-authentic-note{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:18px;
    align-items:center;
    margin-top:15px;
    padding:15px 18px;
    border:1px solid #dbe7e2;
    border-radius:15px;
    background:#f7fbf9;
}
.about-authentic-note span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.about-authentic-note p{
    margin:0;
    color:#758780;
    font-size:14px;
    line-height:1.55;
}

/* Better crop for the authentic About hero photos */
.about-modern-photo-present img{
    object-position:center 44%!important;
}
.about-modern-photo-past img{
    object-position:center 32%!important;
}

@media(max-width:1000px){
    .home-authentic-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .home-authentic-card{
        min-height:330px;
    }
}
@media(max-width:900px){
    .home-authentic-heading,
    .about-authentic-heading{
        grid-template-columns:1fr;
        gap:16px;
    }
    .about-authentic-collage{
        grid-template-columns:1fr 1fr;
        grid-template-rows:360px 260px;
    }
    .about-authentic-photo-feature{
        grid-column:1/-1;
        grid-row:1;
    }
}
@media(max-width:720px){
    .home-authentic-section,
    .about-authentic-section{
        padding-top:58px;
        padding-bottom:62px;
    }
    .home-history-authentic{
        min-height:360px;
    }
    .home-history-photo-card{
        width:94%;
        height:315px;
    }
    .home-history-year-badge{
        right:2%;
    }
    .home-authentic-card{
        min-height:285px;
    }
}
@media(max-width:560px){
    .home-authentic-grid,
    .about-authentic-collage{
        grid-template-columns:1fr;
        grid-template-rows:auto;
    }
    .home-authentic-card{
        min-height:280px;
    }
    .about-authentic-photo,
    .about-authentic-photo-feature{
        grid-column:auto;
        grid-row:auto;
        min-height:300px;
    }
    .about-authentic-note{
        grid-template-columns:1fr;
        gap:6px;
    }
    .home-history-photo-card{
        width:100%;
        height:285px;
        border-width:6px;
    }
    .home-history-year-badge{
        top:10px;
        right:-3px;
        width:92px;
        min-height:76px;
    }
    .home-history-year-badge strong{
        font-size:27px;
    }
}
@media(prefers-reduced-motion:reduce){
    .home-authentic-card img{
        transition:none;
    }
    .home-authentic-card:hover img{
        transform:none;
    }
}


/* Home page approved Denbigh entrance banner */
.home-modern-banner-image-denbigh{
    object-position:center center;
}
@media(max-width:720px){
    .home-modern-banner-image-denbigh{
        object-position:64% center;
    }
}
@media(max-width:520px){
    .home-modern-banner-image-denbigh{
        object-position:68% center;
    }
}




/* =========================================================
   DHS PSA News & Announcements
   ========================================================= */
.news-page,.news-detail-page{background:#fff}
.news-hero{position:relative;overflow:hidden;padding:72px 0 76px;border-bottom:1px solid #dce8e3;background:radial-gradient(circle at 85% 10%,rgba(134,201,175,.18),transparent 30%),linear-gradient(135deg,#f7fcfa,#fff 54%,#edf8f4)}
.news-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:70px;align-items:center}
.news-hero h1{margin:5px 0 0;color:#173f41;font-family:Georgia,serif;font-size:clamp(58px,7vw,88px);line-height:.92;letter-spacing:-.05em}
.news-hero-lead{max-width:720px;margin:22px 0 0;color:#627771;font-size:17px;line-height:1.7}
.news-hero-mark{min-height:250px;display:grid;place-items:center;align-content:center;border:1px solid #d5e5df;border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(18,70,70,.08);text-align:center}
.news-hero-mark span,.news-hero-mark strong,.news-hero-mark small{display:block}
.news-hero-mark span{color:#08777e;font-size:9px;font-weight:950;letter-spacing:.16em}.news-hero-mark strong{margin:4px 0;color:#0b666c;font-family:Georgia,serif;font-size:84px;line-height:.8}.news-hero-mark small{color:#80918b;font-size:9px}
.news-filter-wrap{border-bottom:1px solid #dce7e3;background:#fff}.news-filter{display:flex;gap:7px;overflow-x:auto;padding:13px 0;scrollbar-width:none}.news-filter::-webkit-scrollbar{display:none}.news-filter a{flex:none;display:inline-flex;min-height:36px;align-items:center;padding:0 13px;border:1px solid #d9e6e1;border-radius:999px;color:#60746e;text-decoration:none;font-size:14px;font-weight:850}.news-filter a:hover,.news-filter a.is-active{border-color:#a9d2c4;background:#edf8f4;color:#08777e}
.news-featured-section{padding-top:68px;padding-bottom:25px}.news-featured{display:grid;grid-template-columns:minmax(380px,.95fr) minmax(0,1fr);min-height:460px;overflow:hidden;border:1px solid #d8e5e0;border-radius:24px;background:#fff;box-shadow:0 14px 35px rgba(18,70,70,.065)}.news-featured-media{display:block;min-height:460px;background:#eaf5f0}.news-featured-media img{width:100%;height:100%;display:block;object-fit:cover}.news-featured-copy{display:flex;flex-direction:column;justify-content:center;padding:46px}.news-meta-row{display:flex;justify-content:space-between;gap:15px;margin-bottom:22px;color:#7b8c87;font-size:14px;font-weight:800;text-transform:uppercase}.news-meta-row span{color:#08777e}.news-featured-copy h2{margin:5px 0 14px;font-family:Georgia,serif;font-size:clamp(36px,4.4vw,52px);line-height:1.02}.news-featured-copy h2 a{color:#25494b;text-decoration:none}.news-featured-copy>p:not(.eyebrow){margin:0;color:#6d817a;font-size:14px;line-height:1.65}.news-read-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}
.news-image-placeholder{width:100%;height:100%;min-height:210px;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 80% 10%,rgba(134,201,175,.18),transparent 32%),#0b666c;color:#fff}.news-image-placeholder span{color:#bae0d2;font-size:14px;font-weight:950;letter-spacing:.14em}.news-image-placeholder strong{margin-top:4px;font-family:Georgia,serif;font-size:35px}
.news-list-section{padding-top:55px;padding-bottom:86px}.news-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.news-section-heading h2{margin:4px 0 0;color:#173f41;font-family:Georgia,serif;font-size:clamp(36px,4.2vw,52px);line-height:1.04}.news-section-heading>span{color:#87958f;font-size:14px;font-weight:850;text-transform:uppercase}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.news-card{overflow:hidden;border:1px solid #dce7e3;border-radius:20px;background:#fff;box-shadow:0 7px 22px rgba(20,70,69,.045)}.news-card-media{position:relative;height:225px;display:block;overflow:hidden;background:#edf6f2}.news-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .2s ease}.news-card:hover .news-card-media img{transform:scale(1.025)}.news-category-badge{position:absolute;left:12px;bottom:12px;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:#08777e;font-size:14px;font-weight:950;text-transform:uppercase}.news-card-body{padding:19px}.news-card-body time{color:#8b9994;font-size:14px;font-weight:850;text-transform:uppercase}.news-card-body h3{margin:8px 0 9px;font-family:Georgia,serif;font-size:23px;line-height:1.12}.news-card-body h3 a{color:#294d4f;text-decoration:none}.news-card-body p{margin:0;color:#70837d;font-size:14px;line-height:1.58}.news-card-body>a{display:inline-flex;align-items:center;gap:7px;margin-top:15px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}.news-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:38px;padding-top:24px;border-top:1px solid #dce7e3}.news-pagination a,.news-pagination>span{color:#5f746e;font-size:14px;font-weight:850;text-decoration:none}.news-pagination>a:last-child,.news-pagination>span:last-child{justify-self:end}.news-pagination>span:nth-child(2){justify-self:center;color:#8a9893}.news-pagination .is-disabled{opacity:.42}.news-empty{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:center;padding:26px;border:1px dashed #c8ddd5;border-radius:18px;background:#f9fcfb}.news-empty-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:#edf8f4;color:#08777e;font-family:Georgia,serif;font-size:28px}.news-empty h3{margin:0 0 5px;color:#294d4f;font-family:Georgia,serif;font-size:25px}.news-empty p{margin:0;color:#71847e;font-size:14px}
.news-detail-hero{padding:68px 0 76px;border-bottom:1px solid #dce7e3;background:linear-gradient(135deg,#f7fcfa,#fff 60%,#edf8f4)}.news-detail-header{max-width:980px}.news-back-link{display:inline-flex;margin-bottom:25px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}.news-detail-meta{display:flex;gap:12px;flex-wrap:wrap;color:#87958f;font-size:14px;font-weight:900;text-transform:uppercase}.news-detail-meta span:first-child{color:#08777e}.news-detail-hero h1{max-width:950px;margin:15px 0 18px;color:#173f41;font-family:Georgia,serif;font-size:clamp(48px,6vw,75px);line-height:.98;letter-spacing:-.04em}.news-detail-hero p{max-width:820px;margin:0;color:#637872;font-size:17px;line-height:1.68}.news-detail-image-wrap{margin-top:42px}.news-detail-image{width:100%;max-height:660px;display:block;object-fit:cover;border-radius:22px}.news-detail-section{padding-top:58px;padding-bottom:82px}.news-detail-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,.5fr);gap:72px;align-items:start}.news-detail-body{color:#405e59;font-size:15px;line-height:1.9;white-space:normal}.news-detail-aside{position:sticky;top:95px;padding:22px;border:1px solid #d9e6e1;border-radius:18px;background:#f8fbfa}.news-detail-aside span,.news-detail-aside strong{display:block}.news-detail-aside span{color:#08777e;font-size:14px;font-weight:950;letter-spacing:.13em}.news-detail-aside strong{margin-top:5px;color:#294d4f;font-family:Georgia,serif;font-size:23px}.news-detail-aside p{color:#758780;font-size:14px;line-height:1.55}.news-detail-aside a{color:#08777e;text-decoration:none;font-size:14px;font-weight:900}.news-related-section{padding-top:65px;padding-bottom:80px}

/* Home latest news */
.home-news-section{padding-top:78px;padding-bottom:80px;background:#fff}.home-news-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:55px;align-items:end;margin-bottom:28px}.home-news-heading h2{margin:4px 0 0;color:#173f41;font-family:Georgia,serif;font-size:clamp(38px,4.7vw,56px);line-height:1.03}.home-news-heading>div:last-child p{margin:0;color:#687c76;font-size:14px;line-height:1.62}.home-news-heading>div:last-child a{display:inline-flex;align-items:center;gap:7px;margin-top:11px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}.home-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-news-card{overflow:hidden;border:1px solid #dce7e3;border-radius:19px;background:#fff}.home-news-media{position:relative;height:210px;display:block;overflow:hidden}.home-news-media img{width:100%;height:100%;display:block;object-fit:cover}.home-news-media>span{position:absolute;left:11px;bottom:11px;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.94);color:#08777e;font-size:14px;font-weight:950}.home-news-card-body{padding:17px}.home-news-card-body time{color:#899792;font-size:14px;font-weight:850}.home-news-card-body h3{margin:7px 0 8px;font-family:Georgia,serif;font-size:21px;line-height:1.12}.home-news-card-body h3 a{color:#294d4f;text-decoration:none}.home-news-card-body p{margin:0;color:#70837d;font-size:14px;line-height:1.55}.home-news-card-body>a{display:inline-flex;gap:6px;margin-top:13px;color:#08777e;text-decoration:none;font-size:14px;font-weight:900}.home-news-empty{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:18px;align-items:center;padding:23px;border:1px dashed #c8ddd5;border-radius:18px;background:#f8fbfa}.home-news-empty>div{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#edf8f4;color:#08777e;font-family:Georgia,serif;font-size:28px}.home-news-empty span strong,.home-news-empty span small{display:block}.home-news-empty span strong{color:#315052;font-family:Georgia,serif;font-size:19px}.home-news-empty span small{margin-top:4px;color:#82918c;font-size:14px}

/* Admin news */
.news-admin-hero,.news-editor-hero{padding:54px 0;border-bottom:1px solid #dce7e3;background:linear-gradient(135deg,#f7fcfa,#fff 60%,#edf8f4)}.news-admin-hero-row,.news-editor-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.news-admin-hero h1,.news-editor-hero h1{margin:4px 0 9px;color:#173f41;font-family:Georgia,serif;font-size:clamp(39px,4.7vw,58px);line-height:1.03}.news-admin-hero p:last-child,.news-editor-hero-row>div:first-child>p:last-child{max-width:720px;margin:0;color:#687c76;font-size:14px;line-height:1.6}.news-admin-section,.news-editor-section{background:#f8fbfa}.news-admin-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.news-admin-filters{display:flex;gap:7px}.news-admin-filters a{padding:8px 11px;border:1px solid #d5e4de;border-radius:999px;background:#fff;color:#627771;text-decoration:none;font-size:14px;font-weight:850}.news-admin-filters a.is-active{background:#0a8a92;border-color:#0a8a92;color:#fff}.news-admin-toolbar>span{color:#87958f;font-size:14px}.news-admin-table-wrap{overflow-x:auto;border:1px solid #d9e6e1;border-radius:17px;background:#fff}.news-admin-table{width:100%;border-collapse:collapse;min-width:850px}.news-admin-table th{padding:13px 15px;background:#0b666c;color:#fff;text-align:left;font-size:14px;letter-spacing:.07em;text-transform:uppercase}.news-admin-table td{padding:15px;border-bottom:1px solid #e3ebe8;color:#536a64;font-size:14px;vertical-align:middle}.news-admin-table tr:last-child td{border-bottom:0}.news-admin-table td:first-child strong,.news-admin-table td:first-child small{display:block}.news-admin-table td:first-child strong{color:#294d4f;font-size:14px}.news-admin-table td:first-child small{max-width:430px;margin-top:4px;color:#87958f;font-size:14px}.news-admin-status{display:inline-flex;padding:6px 8px;border-radius:999px;font-size:14px;font-weight:900;text-transform:uppercase}.news-admin-status-published{background:#e9f7ef;color:#28734c}.news-admin-status-draft{background:#f1f3f2;color:#6f817b}.news-admin-actions{display:flex;align-items:center;gap:10px}.news-admin-actions a,.news-admin-actions button{border:0;background:none;color:#08777e;font:inherit;font-size:14px;font-weight:850;text-decoration:none;cursor:pointer}.news-admin-actions button{color:#9a4843}.news-admin-actions form{margin:0}
.news-editor-breadcrumb{display:flex;gap:7px;margin-bottom:14px;color:#87958f;font-size:14px}.news-editor-breadcrumb a{color:#08777e;text-decoration:none}.news-editor-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.news-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.news-editor-main{display:grid;gap:18px}.news-editor-sidebar{position:sticky;top:92px}.news-editor-card{padding:25px;border:1px solid #d9e6e1;border-radius:19px;background:#fff;box-shadow:0 6px 20px rgba(18,70,70,.04)}.news-editor-card-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:21px;padding-bottom:16px;border-bottom:1px solid #e2ebe7}.news-editor-card-heading>span{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:11px;background:#edf8f4;color:#08777e;font-size:14px;font-weight:950}.news-editor-card-heading h2{margin:0;color:#294d4f;font-family:Georgia,serif;font-size:24px}.news-editor-card-heading p{margin:4px 0 0;color:#84938e;font-size:14px}.news-field{display:grid;gap:7px;margin-bottom:17px;color:#425e59}.news-field>span{font-size:14px;font-weight:900}.news-field em{color:#08777e;font-size:14px;font-style:normal;text-transform:uppercase}.news-field input[type=text],.news-field input[type=datetime-local],.news-field input[type=file],.news-field select,.news-field textarea{width:100%;padding:11px 12px;border:1px solid #cfded8;border-radius:11px;background:#fff;color:#315052;font:inherit;font-size:14px;box-sizing:border-box}.news-field textarea{resize:vertical;line-height:1.55}.news-field small{color:#8a9893;font-size:14px}.news-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.news-editor-current-image{height:260px;margin-bottom:18px;overflow:hidden;border-radius:14px;background:#edf6f2}.news-editor-current-image img{width:100%;height:100%;display:block;object-fit:cover}.news-editor-remove,.news-editor-feature{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #dce7e3;border-radius:12px;background:#f8fbfa;color:#536a64;font-size:14px}.news-editor-feature span strong,.news-editor-feature span small{display:block}.news-editor-feature span strong{color:#315052;font-size:14px}.news-editor-feature span small{margin-top:3px;color:#84938e;font-size:14px;line-height:1.4}.news-editor-save{width:100%;justify-content:center;margin-top:17px}.news-editor-tip{display:block;margin-top:10px;color:#8a9893;font-size:14px;text-align:center}.admin-success{margin-bottom:18px;padding:13px 15px;border:1px solid #badcca;border-radius:11px;background:#edf9f2;color:#286b4b;font-size:14px}.admin-validation{margin-bottom:18px;padding:15px;border:1px solid #e7c8c5;border-radius:11px;background:#fff5f4;color:#8c4842;font-size:14px}

@media(max-width:980px){.news-hero-grid{grid-template-columns:1fr}.news-hero-mark{display:none}.news-featured{grid-template-columns:1fr}.news-featured-media{min-height:360px}.news-grid,.home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-detail-layout{grid-template-columns:1fr}.news-detail-aside{position:static}.news-editor-layout{grid-template-columns:1fr}.news-editor-sidebar{position:static}.home-news-heading{grid-template-columns:1fr;gap:15px}}
@media(max-width:680px){.news-hero{padding:49px 0 54px}.news-hero h1{font-size:51px}.news-featured-section{padding-top:45px}.news-featured-copy{padding:27px}.news-featured-media{min-height:275px}.news-grid,.home-news-grid{grid-template-columns:1fr}.news-card-media{height:245px}.news-section-heading{align-items:flex-start;flex-direction:column;gap:10px}.news-pagination{grid-template-columns:1fr 1fr}.news-pagination>span:nth-child(2){grid-column:1/-1;grid-row:1}.home-news-empty{grid-template-columns:50px minmax(0,1fr)}.home-news-empty .button{grid-column:1/-1;width:100%;justify-content:center}.news-admin-hero-row,.news-editor-hero-row{align-items:flex-start;flex-direction:column}.news-field-grid{grid-template-columns:1fr}.news-editor-hero-actions{width:100%}.news-editor-hero-actions .button{flex:1;justify-content:center}}
@media(prefers-reduced-motion:reduce){.news-card-media img{transition:none}.news-card:hover .news-card-media img{transform:none}}

/* =========================================================
   Navigation — About submenu / Executive Team
   ========================================================= */
.nav-dropdown{
    position:relative;
    display:flex;
    align-items:center;
}

.nav-dropdown::after{
    content:"";
    position:absolute;
    z-index:1199;
    left:-12px;
    right:-12px;
    top:100%;
    height:12px;
    background:transparent;
}

.nav-dropdown-trigger{
    display:inline-flex!important;
    align-items:center;
    gap:5px;
}
.nav-dropdown-chevron{
    display:inline-block;
    margin-top:-2px;
    color:#6f817b;
    font-size:12px;
    transition:transform .16s ease;
}
.nav-dropdown-menu{
    position:absolute;
    z-index:1200;
    top:100%;
    left:50%;
    margin-top:8px;
    box-sizing:border-box;
    width:340px;
    max-width:calc(100vw - 32px);
    padding:8px;
    border:1px solid #d9e6e1;
    border-radius:15px;
    background:#fff;
    box-shadow:0 18px 42px rgba(18,70,70,.14);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%,4px);
    transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
}
.nav-dropdown-menu::before{
    content:"";
    position:absolute;
    left:50%;
    top:-7px;
    width:12px;
    height:12px;
    border-left:1px solid #d9e6e1;
    border-top:1px solid #d9e6e1;
    background:#fff;
    transform:translateX(-50%) rotate(45deg);
}
.nav-dropdown-menu a{
    position:relative;
    z-index:1;
    display:flex!important;
    padding:11px 12px!important;
    border-radius:10px;
    color:#315052!important;
    text-decoration:none;
}
.nav-dropdown-menu a:hover{
    background:#f0f8f5;
}
.nav-dropdown-menu a span{
    display:grid;
    min-width:0;
    width:100%;
    gap:2px;
}
.nav-links .nav-dropdown-menu a,
.nav-links .nav-dropdown-menu a strong,
.nav-links .nav-dropdown-menu a small{
    white-space:normal;
    overflow-wrap:anywhere;
}
.nav-dropdown-menu a strong{
    color:#315052;
    font-size:14px;
    font-weight:900;
}
.nav-dropdown-menu a small{
    color:#81918b;
    font-size:14px;
    line-height:1.35;
    font-weight:500;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
    transition-delay:0s;
}
.nav-dropdown:hover .nav-dropdown-chevron,
.nav-dropdown:focus-within .nav-dropdown-chevron{
    transform:rotate(180deg);
}

/* Mobile nested item beneath About */
.mobile-menu-about-group{
    display:grid;
    gap:0;
}
.mobile-menu-about-link{
    position:relative;
}
.mobile-menu-subitem{
    position:relative;
    min-height:55px!important;
    display:grid!important;
    grid-template-columns:18px 34px minmax(0,1fr) 14px!important;
    gap:8px!important;
    align-items:center;
    margin:0 0 1px 28px;
    padding:8px 10px!important;
    border-top:0!important;
    border-radius:0 0 13px 13px!important;
    background:#f7fbf9!important;
    color:#536a64!important;
}
.mobile-menu-subitem-line{
    width:13px;
    height:22px;
    border-left:1.5px solid #b8d7cc;
    border-bottom:1.5px solid #b8d7cc;
    border-radius:0 0 0 8px;
    align-self:start;
    margin-top:-7px;
}
.mobile-menu-subitem-icon{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#eaf6f1;
    color:#08777e;
}
.mobile-menu-subitem-icon svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.mobile-menu-subitem>span:nth-child(3){
    display:grid;
    min-width:0;
}
.mobile-menu-subitem strong{
    color:#45645e;
    font-size:14px;
}
.mobile-menu-subitem small{
    margin-top:2px;
    color:#8a9893;
    font-size:14px;
}
.mobile-menu-subitem>b{
    color:#08777e;
    font-size:14px;
}

@media(max-width:850px){
    .nav-dropdown{
        display:none;
    }
}
@media(prefers-reduced-motion:reduce){
    .nav-dropdown-menu,
    .nav-dropdown-chevron{
        transition:none;
    }
}

/* =========================================================
   News & Announcements — automatic Upcoming Events
   ========================================================= */
.news-events-section{
    padding-top:62px;
    padding-bottom:22px;
    background:#fff;
}
.news-events-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:24px;
}
.news-events-heading h2{
    margin:4px 0 9px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(35px,4vw,50px);
    line-height:1.04;
}
.news-events-heading>div>p:last-child{
    max-width:650px;
    margin:0;
    color:#71837d;
    font-size:14px;
    line-height:1.55;
}
.news-events-heading>a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    flex:none;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.news-events-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.news-event-card{
    overflow:hidden;
    border:1px solid #d8e6e1;
    border-radius:19px;
    background:#fff;
    box-shadow:0 7px 23px rgba(18,70,70,.045);
}
.news-event-media{
    position:relative;
    height:205px;
    display:block;
    overflow:hidden;
    background:#edf6f2;
}
.news-event-media>img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.news-event-badge{
    position:absolute;
    left:11px;
    bottom:11px;
    padding:7px 9px;
    border-radius:999px;
    background:#fff;
    color:#08777e;
    box-shadow:0 5px 14px rgba(18,70,70,.10);
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
}
.news-event-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    align-content:center;
    background:
        radial-gradient(circle at 82% 8%,rgba(134,201,175,.22),transparent 35%),
        #0b666c;
    color:#fff;
}
.news-event-placeholder span{
    color:#bee1d5;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.news-event-placeholder strong{
    margin-top:4px;
    font-family:Georgia,serif;
    font-size:26px;
    line-height:1;
}
.news-event-placeholder b{
    font-family:Georgia,serif;
    font-size:48px;
    line-height:.95;
}
.news-event-body{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:13px;
    padding:17px;
}
.news-event-date{
    width:48px;
    height:54px;
    display:grid;
    place-items:center;
    align-content:center;
    border-radius:12px;
    background:#edf8f4;
    color:#08777e;
}
.news-event-date strong,
.news-event-date span{
    display:block;
}
.news-event-date strong{
    font-size:14px;
}
.news-event-date span{
    margin-top:2px;
    color:#78908a;
    font-size:14px;
}
.news-event-copy>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
}
.news-event-copy h3{
    margin:4px 0 7px;
    font-family:Georgia,serif;
    font-size:20px;
    line-height:1.12;
}
.news-event-copy h3 a{
    color:#294d4f;
    text-decoration:none;
}
.news-event-copy p{
    margin:0;
    color:#71837d;
    font-size:14px;
    line-height:1.48;
}
.news-event-meta{
    display:flex;
    flex-wrap:wrap;
    gap:5px 10px;
    margin-top:9px;
    color:#82918c;
    font-size:14px;
}
.news-event-link{
    display:inline-flex;
    gap:6px;
    margin-top:10px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

/* Home News upcoming events */
.home-news-events-heading,
.home-news-posts-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 12px;
    padding-top:4px;
}
.home-news-posts-heading{
    margin-top:27px;
}
.home-news-events-heading span,
.home-news-posts-heading span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.home-news-events-heading a{
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.home-news-event-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.home-news-event-card{
    display:grid;
    grid-template-columns:135px minmax(0,1fr);
    min-height:150px;
    overflow:hidden;
    border:1px solid #d9e6e1;
    border-radius:17px;
    background:#f9fcfb;
}
.home-news-event-media{
    position:relative;
    min-height:150px;
    display:block;
    overflow:hidden;
    background:#0b666c;
}
.home-news-event-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.home-news-event-media>span{
    position:absolute;
    left:8px;
    bottom:8px;
    padding:5px 7px;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#08777e;
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
}
.home-news-event-date-tile{
    width:100%;
    height:100%;
    min-height:150px;
    display:grid;
    place-items:center;
    align-content:center;
    background:
        radial-gradient(circle at 85% 10%,rgba(134,201,175,.19),transparent 33%),
        #0b666c;
    color:#fff;
}
.home-news-event-date-tile span{
    color:#bfe2d6;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.home-news-event-date-tile strong{
    font-family:Georgia,serif;
    font-size:44px;
    line-height:.95;
}
.home-news-event-body{
    padding:14px;
}
.home-news-event-body small{
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
}
.home-news-event-body h3{
    margin:5px 0 7px;
    font-family:Georgia,serif;
    font-size:18px;
    line-height:1.13;
}
.home-news-event-body h3 a{
    color:#294d4f;
    text-decoration:none;
}
.home-news-event-body p{
    margin:0;
    color:#71837d;
    font-size:14px;
    line-height:1.45;
}
.home-news-event-body>a{
    display:inline-flex;
    gap:5px;
    margin-top:9px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

@media(max-width:1050px){
    .news-events-grid,
    .home-news-event-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:720px){
    .news-events-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }
    .news-events-grid,
    .home-news-event-grid{
        grid-template-columns:1fr;
    }
    .home-news-event-card{
        grid-template-columns:125px minmax(0,1fr);
    }
}
@media(max-width:440px){
    .home-news-event-card{
        grid-template-columns:1fr;
    }
    .home-news-event-media,
    .home-news-event-date-tile{
        min-height:190px;
    }
}

/* =========================================================
   News Detail — Event-style featured image treatment
   ========================================================= */
.news-detail-banner{
    position:relative;
    min-height:430px;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    background:#153f41;
}
.news-detail-banner-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 35%;
}
.news-detail-banner-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(6,30,31,.90) 0%,
            rgba(6,30,31,.73) 42%,
            rgba(6,30,31,.42) 68%,
            rgba(6,30,31,.28) 100%
        ),
        linear-gradient(
            0deg,
            rgba(6,30,31,.73) 0%,
            rgba(6,30,31,.04) 62%
        );
}
.news-detail-banner-content{
    position:relative;
    z-index:2;
    width:100%;
    padding-top:42px;
    padding-bottom:48px;
    color:#fff;
}
.news-back-link-on-banner{
    color:#fff!important;
}
.news-back-link-on-banner:hover{
    color:#d9f4e8!important;
}
.news-detail-banner-meta{
    display:flex;
    gap:10px 14px;
    flex-wrap:wrap;
    margin-top:2px;
    color:rgba(255,255,255,.80);
    font-size:14px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.news-detail-banner-meta span:first-child{
    color:#c9eadf;
}
.news-detail-banner-content h1{
    max-width:980px;
    margin:14px 0 16px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:clamp(42px,6vw,72px);
    line-height:1.02;
    letter-spacing:-.03em;
    text-shadow:0 2px 14px rgba(0,0,0,.26);
}
.news-detail-banner-lead{
    max-width:780px;
    margin:0;
    color:rgba(255,255,255,.89);
    font-size:16px;
    line-height:1.68;
    text-shadow:0 2px 12px rgba(0,0,0,.16);
}

/* Remove the old standalone full-width article image treatment. */
.news-detail-image-wrap{
    display:none!important;
}

.news-detail-sidebar{
    display:grid;
    gap:18px;
    position:sticky;
    top:95px;
}
.news-detail-aside{
    position:static;
    top:auto;
}
.news-image-side-card{
    width:100%;
}
.news-image-thumbnail{
    object-fit:contain!important;
    object-position:center!important;
    background:#f4f8f6;
}
.news-detail-body-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
    margin-bottom:22px;
}
.news-detail-body-meta>span{
    display:inline-flex;
    min-height:28px;
    align-items:center;
    padding:0 9px;
    border-radius:999px;
    background:#f0f6f3;
    color:#71847e;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
}
.news-detail-body-meta .news-detail-category{
    background:#e8f6f1;
    color:#08777e;
}
.news-detail-body{
    font-size:15px;
    line-height:1.9;
}
.news-detail-body br{
    content:"";
}
.news-detail-body br+br{
    display:block;
    margin-top:1em;
}

/* Poster/flyer proportions deserve extra height in the sidebar. */
.news-image-side-card .event-image-thumbnail-button{
    min-height:330px;
    background:#f4f8f6;
}
.news-image-side-card .event-image-thumbnail{
    width:100%;
    height:330px;
    object-fit:contain!important;
}

/* Make lightbox useful for tall flyers and portrait notices. */
.news-detail-page .event-image-lightbox-image{
    max-width:min(92vw,1200px);
    max-height:90vh;
    object-fit:contain;
}

@media(max-width:900px){
    .news-detail-banner{
        min-height:395px;
    }
    .news-detail-banner-image{
        object-position:center 30%;
    }
    .news-detail-sidebar{
        position:static;
    }
}
@media(max-width:640px){
    .news-detail-banner{
        min-height:360px;
    }
    .news-detail-banner-content{
        padding-top:28px;
        padding-bottom:31px;
    }
    .news-detail-banner-content h1{
        font-size:36px;
    }
    .news-detail-banner-lead{
        font-size:14px;
    }
    .news-detail-banner-overlay{
        background:linear-gradient(
            0deg,
            rgba(6,30,31,.91) 0%,
            rgba(6,30,31,.62) 68%,
            rgba(6,30,31,.36) 100%
        );
    }
    .news-image-side-card .event-image-thumbnail-button,
    .news-image-side-card .event-image-thumbnail{
        height:auto;
        min-height:0;
        max-height:440px;
    }
}

/* =========================================================
   PDF Newsletters
   ========================================================= */
.newsletter-publication-meta{
    border-bottom:1px solid #dce7e3;
    background:#fff;
}
.newsletter-publication-meta-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(150px,.22fr)) minmax(220px,1fr);
}
.newsletter-publication-meta-grid>div{
    min-height:82px;
    display:grid;
    align-content:center;
    padding:13px 18px;
    border-right:1px solid #e2ebe7;
}
.newsletter-publication-meta-grid>div:first-child{
    border-left:1px solid #e2ebe7;
}
.newsletter-publication-meta-grid span,
.newsletter-publication-meta-grid strong{
    display:block;
}
.newsletter-publication-meta-grid span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.newsletter-publication-meta-grid strong{
    margin-top:4px;
    color:#315052;
    font-family:Georgia,serif;
    font-size:16px;
}
.newsletter-publication-meta-action{
    background:#f7fbf9;
}
.newsletter-publication-meta-action a{
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.newsletter-highlights-section{
    padding-top:55px;
    padding-bottom:25px;
}
.newsletter-highlights-grid{
    display:grid;
    grid-template-columns:minmax(280px,.62fr) minmax(0,1fr);
    gap:60px;
    align-items:start;
    padding:30px;
    border:1px solid #d9e6e1;
    border-radius:20px;
    background:#f8fbfa;
}
.newsletter-highlights-grid h2{
    margin:4px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(30px,3.8vw,44px);
    line-height:1.06;
}
.newsletter-highlights-list{
    display:grid;
    gap:9px;
}
.newsletter-highlights-list>div{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding-bottom:9px;
    border-bottom:1px solid #dce7e3;
}
.newsletter-highlights-list>div:last-child{
    padding-bottom:0;
    border-bottom:0;
}
.newsletter-highlights-list span{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e8f6f1;
    color:#08777e;
    font-size:14px;
}
.newsletter-highlights-list p{
    margin:3px 0 0;
    color:#526c66;
    font-size:14px;
    line-height:1.5;
}
.newsletter-reader-section{
    padding-top:45px;
    padding-bottom:65px;
    background:#fff;
}
.newsletter-reader-heading{
    display:flex;
    justify-content:space-between;
    gap:35px;
    align-items:end;
    margin-bottom:20px;
}
.newsletter-reader-heading h2{
    margin:4px 0 8px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(34px,4vw,48px);
    line-height:1.05;
}
.newsletter-reader-heading>div:first-child>p:last-child{
    max-width:680px;
    margin:0;
    color:#71837d;
    font-size:14px;
    line-height:1.55;
}
.newsletter-reader-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.newsletter-download-link{
    display:inline-flex;
    min-height:39px;
    align-items:center;
    padding:0 8px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.newsletter-reader-shell{
    overflow:hidden;
    border:1px solid #ceded8;
    border-radius:20px;
    background:#f1f5f3;
    box-shadow:0 15px 40px rgba(18,70,70,.075);
}
.newsletter-reader-toolbar{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:10px 17px;
    border-bottom:1px solid #d4e2dd;
    background:#fff;
}
.newsletter-reader-toolbar>div{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.newsletter-reader-toolbar span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.11em;
}
.newsletter-reader-toolbar strong{
    color:#315052;
    font-size:14px;
}
.newsletter-reader-frame-wrap{
    position:relative;
    background:#e9efec;
}
.newsletter-reader-frame{
    width:100%;
    height:720px;
    display:block;
    border:0;
    background:#fff;
}
.newsletter-reader-fallback{
    display:flex;
    justify-content:center;
    gap:6px;
    padding:9px;
    background:#fff;
    color:#82918c;
    font-size:14px;
}
.newsletter-reader-fallback a{
    color:#08777e;
    text-decoration:none;
    font-weight:900;
}
body.newsletter-reader-open{
    overflow:hidden;
}
.newsletter-reader-modal{
    position:fixed;
    z-index:5000;
    inset:0;
}
.newsletter-reader-modal[hidden]{
    display:none!important;
}
.newsletter-reader-modal-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgba(5,31,32,.72);
    backdrop-filter:blur(5px);
}
.newsletter-reader-modal-dialog{
    position:absolute;
    inset:3vh 3vw;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    overflow:hidden;
    border:1px solid rgba(255,255,255,.25);
    border-radius:18px;
    background:#fff;
    box-shadow:0 28px 80px rgba(0,0,0,.30);
}
.newsletter-reader-modal-header{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:10px 16px;
    border-bottom:1px solid #dce7e3;
    background:#fff;
}
.newsletter-reader-modal-header>div{
    display:flex;
    align-items:center;
    gap:13px;
}
.newsletter-reader-modal-header>div:first-child{
    display:grid;
    gap:2px;
}
.newsletter-reader-modal-header span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.newsletter-reader-modal-header strong{
    color:#315052;
    font-family:Georgia,serif;
    font-size:16px;
}
.newsletter-reader-modal-header a{
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.newsletter-reader-modal-header button{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #d6e3de;
    border-radius:50%;
    background:#f8fbfa;
    color:#315052;
    font:inherit;
    font-size:23px;
    cursor:pointer;
}
.newsletter-reader-modal-frame{
    width:100%;
    height:100%;
    border:0;
    background:#e9efec;
}
.newsletter-about-label{
    margin-bottom:10px!important;
}
.newsletter-card-pdf-badge{
    display:flex;
    gap:8px;
    align-items:center;
    margin-bottom:10px;
}
.newsletter-card-pdf-badge span,
.newsletter-card-pdf-badge strong{
    display:inline-flex;
    min-height:26px;
    align-items:center;
    padding:0 8px;
    border-radius:999px;
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
}
.newsletter-card-pdf-badge span{
    background:#e8f6f1;
    color:#08777e;
}
.newsletter-card-pdf-badge strong{
    background:#f1f3f2;
    color:#697b75;
}
.newsletter-card-meta,
.home-newsletter-meta{
    display:flex;
    gap:6px;
    align-items:center;
    margin-top:7px;
}
.newsletter-card-meta span,
.newsletter-card-meta b,
.home-newsletter-meta span,
.home-newsletter-meta b{
    display:inline-flex;
    min-height:23px;
    align-items:center;
    padding:0 7px;
    border-radius:999px;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
}
.newsletter-card-meta span,
.home-newsletter-meta span{
    background:#e8f6f1;
    color:#08777e;
}
.newsletter-card-meta b,
.home-newsletter-meta b{
    background:#f1f3f2;
    color:#71837d;
}

/* Newsletter editor */
.newsletter-editor-card[hidden]{
    display:none!important;
}
.newsletter-editor-intro{
    margin-bottom:18px;
    padding:14px 15px;
    border:1px solid #cfe2db;
    border-radius:13px;
    background:#f1faf6;
}
.newsletter-editor-intro span,
.newsletter-editor-intro strong{
    display:block;
}
.newsletter-editor-intro span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.newsletter-editor-intro strong{
    margin-top:3px;
    color:#315052;
    font-family:Georgia,serif;
    font-size:18px;
}
.newsletter-editor-intro p{
    margin:6px 0 0;
    color:#71837d;
    font-size:14px;
    line-height:1.5;
}
.newsletter-page-count{
    max-width:280px;
}
.newsletter-current-pdf{
    display:flex;
    gap:12px;
    align-items:center;
    margin:4px 0 17px;
    padding:12px;
    border:1px solid #d8e5e0;
    border-radius:12px;
    background:#f8fbfa;
}
.newsletter-current-pdf-icon{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#0b666c;
    color:#fff;
    font-size:8px;
    font-weight:950;
}
.newsletter-current-pdf>div:last-child{
    display:grid;
    gap:4px;
}
.newsletter-current-pdf strong{
    color:#315052;
    font-size:14px;
}
.newsletter-current-pdf a{
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.newsletter-publish-note{
    margin-top:14px;
    padding:12px;
    border-left:3px solid #0a8a92;
    background:#f7fbf9;
}
.newsletter-publish-note strong{
    color:#315052;
    font-size:14px;
}
.newsletter-publish-note p{
    margin:4px 0 0;
    color:#7a8b85;
    font-size:14px;
    line-height:1.45;
}

@media(max-width:980px){
    .newsletter-publication-meta-grid{
        grid-template-columns:repeat(3,1fr);
    }
    .newsletter-publication-meta-action{
        grid-column:1/-1;
        min-height:55px!important;
        border-left:1px solid #e2ebe7;
        border-top:1px solid #e2ebe7;
    }
    .newsletter-reader-heading{
        align-items:flex-start;
        flex-direction:column;
    }
    .newsletter-reader-actions{
        justify-content:flex-start;
    }
    .newsletter-reader-frame{
        height:620px;
    }
}
@media(max-width:720px){
    .newsletter-highlights-grid{
        grid-template-columns:1fr;
        gap:22px;
        padding:22px;
    }
    .newsletter-reader-frame{
        height:520px;
    }
    .newsletter-reader-modal-dialog{
        inset:1.5vh 1.5vw;
    }
}
@media(max-width:560px){
    .newsletter-publication-meta-grid{
        grid-template-columns:1fr 1fr;
    }
    .newsletter-publication-meta-grid>div{
        min-height:70px;
        padding:11px;
    }
    .newsletter-publication-meta-action{
        grid-column:1/-1;
    }
    .newsletter-reader-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .newsletter-reader-actions .button{
        justify-content:center;
    }
    .newsletter-download-link{
        grid-column:1/-1;
        justify-content:center;
    }
    .newsletter-reader-frame{
        height:430px;
    }
    .newsletter-reader-toolbar{
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
    }
    .newsletter-reader-modal-header{
        min-height:56px;
    }
    .newsletter-reader-modal-header>div:first-child strong{
        max-width:180px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
}

/* =========================================================
   News & Announcements — Modern public newsroom
   ========================================================= */
.news-modern-page{
    overflow:hidden;
    background:#fff;
}
.news-modern-hero{
    position:relative;
    padding:64px 0 70px;
    overflow:hidden;
    border-bottom:1px solid #dce8e3;
    background:
        radial-gradient(circle at 9% 12%,rgba(134,201,175,.18),transparent 25%),
        linear-gradient(135deg,#f8fcfa 0%,#fff 58%,#eef8f4 100%);
}
.news-modern-hero::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-190px;
    top:-170px;
    border:1px solid rgba(10,138,146,.10);
    border-radius:50%;
    box-shadow:
        0 0 0 45px rgba(10,138,146,.025),
        0 0 0 90px rgba(10,138,146,.02);
    pointer-events:none;
}
.news-modern-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(390px,.76fr);
    gap:68px;
    align-items:center;
}
.news-modern-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.14em;
}
.news-modern-kicker>span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#86c9af;
    box-shadow:0 0 0 5px rgba(134,201,175,.14);
}
.news-modern-hero h1{
    max-width:780px;
    margin:15px 0 20px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(56px,6.5vw,82px);
    line-height:.94;
    letter-spacing:-.052em;
}
.news-modern-hero-copy>p{
    max-width:760px;
    margin:0;
    color:#627771;
    font-size:16px;
    line-height:1.72;
}
.news-modern-hero-actions{
    display:flex;
    align-items:center;
    gap:16px 22px;
    flex-wrap:wrap;
    margin-top:28px;
}
.news-modern-text-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.news-modern-text-link span{
    transition:transform .16s ease;
}
.news-modern-text-link:hover span{
    transform:translateX(4px);
}
.news-modern-hero-note{
    display:grid;
    gap:4px;
    max-width:520px;
    margin-top:35px;
    padding-top:18px;
    border-top:1px solid #d5e4de;
}
.news-modern-hero-note span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.news-modern-hero-note strong{
    color:#45635d;
    font-family:Georgia,serif;
    font-size:16px;
}
.news-modern-hero-photo{
    position:relative;
    height:470px;
    margin:0;
    overflow:hidden;
    border:9px solid #fff;
    border-radius:28px;
    background:#eaf5f0;
    box-shadow:0 28px 70px rgba(18,70,70,.16);
    transform:rotate(.7deg);
}
.news-modern-hero-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 42%;
}
.news-modern-hero-photo-shade{
    position:absolute;
    inset:40% 0 0;
    background:linear-gradient(0deg,rgba(5,42,44,.70),transparent);
}
.news-modern-hero-photo figcaption{
    position:absolute;
    z-index:2;
    left:21px;
    right:21px;
    bottom:19px;
    color:#fff;
}
.news-modern-hero-photo figcaption span,
.news-modern-hero-photo figcaption strong{
    display:block;
}
.news-modern-hero-photo figcaption span{
    color:#c8e8dd;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.news-modern-hero-photo figcaption strong{
    max-width:370px;
    margin-top:5px;
    font-family:Georgia,serif;
    font-size:23px;
    line-height:1.15;
}
.news-modern-photo-badge{
    position:absolute;
    z-index:3;
    top:18px;
    right:18px;
    width:78px;
    height:78px;
    display:grid;
    place-items:center;
    align-content:center;
    border:4px solid rgba(255,255,255,.92);
    border-radius:50%;
    background:#0b666c;
    color:#fff;
    box-shadow:0 9px 25px rgba(0,0,0,.18);
}
.news-modern-photo-badge span,
.news-modern-photo-badge strong{
    display:block;
}
.news-modern-photo-badge span{
    color:#bfe2d6;
    font-size:14px;
    font-weight:900;
    letter-spacing:.13em;
}
.news-modern-photo-badge strong{
    font-family:Georgia,serif;
    font-size:19px;
}

/* newsroom snapshot */
.news-modern-snapshot{
    border-bottom:1px solid #dce7e3;
    background:#fff;
}
.news-modern-snapshot-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(125px,.22fr)) minmax(280px,1fr);
}
.news-modern-snapshot-grid>div{
    min-height:85px;
    display:grid;
    align-content:center;
    padding:13px 18px;
    border-right:1px solid #e2ebe7;
}
.news-modern-snapshot-grid>div:first-child{
    border-left:1px solid #e2ebe7;
}
.news-modern-snapshot-grid>div:not(.news-modern-snapshot-message)>strong{
    color:#173f41;
    font-family:Georgia,serif;
    font-size:25px;
    line-height:1;
}
.news-modern-snapshot-grid>div:not(.news-modern-snapshot-message)>span{
    margin-top:5px;
    color:#82918c;
    font-size:14px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.news-modern-snapshot-message{
    padding-left:26px!important;
    background:#f7fbf9;
}
.news-modern-snapshot-message small,
.news-modern-snapshot-message strong{
    display:block;
}
.news-modern-snapshot-message small{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.news-modern-snapshot-message strong{
    margin-top:4px;
    color:#315052;
    font-family:Georgia,serif;
    font-size:17px;
}

/* filters */
.news-modern-filter-wrap{
    position:sticky;
    z-index:40;
    top:0;
    border-bottom:1px solid #dce7e3;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(10px);
}
.news-modern-filter-heading{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center;
    padding-top:12px;
}
.news-modern-filter-heading>span{
    color:#7b8c86;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.news-modern-filter-heading>a{
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.news-modern-filter{
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding:8px 0 13px;
    scrollbar-width:none;
}
.news-modern-filter::-webkit-scrollbar{
    display:none;
}
.news-modern-filter a{
    flex:none;
    min-height:35px;
    display:inline-flex;
    align-items:center;
    padding:0 13px;
    border:1px solid #d7e5df;
    border-radius:999px;
    background:#fff;
    color:#60746e;
    text-decoration:none;
    font-size:14px;
    font-weight:850;
    transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.news-modern-filter a:hover{
    transform:translateY(-1px);
    border-color:#acd2c5;
    background:#f1faf6;
    color:#08777e;
}
.news-modern-filter a.is-active{
    border-color:#0a8a92;
    background:#0a8a92;
    color:#fff;
    box-shadow:0 6px 16px rgba(10,138,146,.16);
}

/* shared heading */
.news-modern-section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:35px;
    margin-bottom:27px;
}
.news-modern-section-heading h2{
    max-width:760px;
    margin:4px 0 9px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(36px,4.5vw,54px);
    line-height:1.04;
    letter-spacing:-.025em;
}
.news-modern-section-heading>div>p:last-child{
    max-width:720px;
    margin:0;
    color:#71837d;
    font-size:14px;
    line-height:1.58;
}
.news-modern-section-heading>a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    flex:none;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

/* upcoming events */
.news-modern-events-section{
    padding-top:68px;
    padding-bottom:48px;
    background:#f7fbf9;
    border-bottom:1px solid #e0e9e6;
}
.news-modern-event-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.news-modern-event-card{
    overflow:hidden;
    border:1px solid #d8e6e1;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 25px rgba(18,70,70,.055);
    transition:transform .17s ease,box-shadow .17s ease;
}
.news-modern-event-card:hover{
    transform:translateY(-3px);
    box-shadow:0 16px 36px rgba(18,70,70,.095);
}
.news-modern-event-media{
    position:relative;
    height:215px;
    display:block;
    overflow:hidden;
    background:#edf6f2;
}
.news-modern-event-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .2s ease;
}
.news-modern-event-card:hover .news-modern-event-media img{
    transform:scale(1.025);
}
.news-modern-event-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    align-content:center;
    background:
        radial-gradient(circle at 82% 10%,rgba(134,201,175,.20),transparent 33%),
        #0b666c;
    color:#fff;
}
.news-modern-event-placeholder span{
    color:#bee1d5;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.news-modern-event-placeholder strong{
    margin-top:4px;
    font-family:Georgia,serif;
    font-size:26px;
    line-height:1;
}
.news-modern-event-placeholder b{
    font-family:Georgia,serif;
    font-size:52px;
    line-height:.9;
}
.news-modern-event-badge{
    position:absolute;
    left:12px;
    bottom:12px;
    padding:7px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.95);
    color:#08777e;
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
    box-shadow:0 5px 14px rgba(18,70,70,.10);
}
.news-modern-event-content{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:14px;
    padding:18px;
}
.news-modern-event-date{
    width:52px;
    height:60px;
    display:grid;
    place-items:center;
    align-content:center;
    border-radius:13px;
    background:#edf8f4;
    color:#08777e;
}
.news-modern-event-date strong{
    font-family:Georgia,serif;
    font-size:24px;
    line-height:1;
}
.news-modern-event-date span{
    margin-top:3px;
    color:#78908a;
    font-size:14px;
    font-weight:850;
    text-transform:uppercase;
}
.news-modern-event-content small{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
}
.news-modern-event-content h3{
    margin:4px 0 7px;
    font-family:Georgia,serif;
    font-size:21px;
    line-height:1.12;
}
.news-modern-event-content h3 a{
    color:#294d4f;
    text-decoration:none;
}
.news-modern-event-content p{
    margin:0;
    color:#71837d;
    font-size:14px;
    line-height:1.5;
}
.news-modern-event-meta{
    display:flex;
    flex-wrap:wrap;
    gap:5px 10px;
    margin-top:9px;
    color:#82918c;
    font-size:14px;
}
.news-modern-event-link{
    display:inline-flex;
    gap:6px;
    margin-top:10px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

/* featured update */
.news-modern-featured-section{
    padding-top:48px;
    padding-bottom:32px;
    background:#fff;
}
.news-modern-featured-label{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:13px;
}
.news-modern-featured-label>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.news-modern-featured-label>div{
    height:1px;
    flex:1;
    background:#dce7e3;
}
.news-modern-featured{
    display:grid;
    grid-template-columns:minmax(390px,1fr) minmax(0,1.05fr);
    min-height:360px;
    overflow:hidden;
    border:1px solid #d7e5df;
    border-radius:25px;
    background:#fff;
    box-shadow:0 16px 44px rgba(18,70,70,.08);
}
.news-modern-featured-media{
    position:relative;
    display:block;
    min-height:360px;
    overflow:hidden;
    background:#edf6f2;
}
.news-modern-featured-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.news-modern-featured-media-shade{
    position:absolute;
    inset:55% 0 0;
    background:linear-gradient(0deg,rgba(5,42,44,.45),transparent);
}
.news-modern-featured-category{
    position:absolute;
    z-index:2;
    left:15px;
    bottom:15px;
    padding:7px 10px;
    border-radius:999px;
    background:#fff;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
}
.news-modern-featured-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:30px 34px;
}
.news-modern-featured-meta{
    display:flex;
    gap:8px 14px;
    flex-wrap:wrap;
    color:#82918c;
    font-size:14px;
    font-weight:850;
    text-transform:uppercase;
}
.news-modern-featured-meta span:first-of-type{
    color:#08777e;
}
.news-modern-featured-copy h2{
    margin:14px 0 14px;
    font-family:Georgia,serif;
    font-size:clamp(31px,3.6vw,44px);
    line-height:1.03;
}
.news-modern-featured-copy h2 a{
    color:#25494b;
    text-decoration:none;
}
.news-modern-featured-copy>p{
    margin:0;
    color:#6d817a;
    font-size:14px;
    line-height:1.67;
}
.news-modern-featured-edition{
    display:grid;
    gap:3px;
    margin-top:18px;
    padding:12px 14px;
    border-left:3px solid #86c9af;
    background:#f7fbf9;
}
.news-modern-featured-edition span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.news-modern-featured-edition strong{
    color:#45635d;
    font-size:14px;
}
.news-modern-featured-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:24px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

/* latest news cards */
.news-modern-list-section{
    padding-top:62px;
    padding-bottom:84px;
    background:#f9fcfb;
    border-top:1px solid #e1e9e6;
}
.news-modern-list-heading{
    margin-bottom:25px;
}
.news-modern-update-count{
    flex:none;
    color:#87958f;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
}
.news-modern-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:17px;
}
.news-modern-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    border:1px solid #dbe7e2;
    border-radius:20px;
    background:#fff;
    box-shadow:0 6px 22px rgba(18,70,70,.045);
    transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease;
}
.news-modern-card:hover{
    transform:translateY(-4px);
    border-color:#bddbd0;
    box-shadow:0 15px 35px rgba(18,70,70,.09);
}
.news-modern-card-media{
    position:relative;
    height:235px;
    display:block;
    overflow:hidden;
    background:#edf6f2;
}
.news-modern-card-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .2s ease;
}
.news-modern-card:hover .news-modern-card-media img{
    transform:scale(1.028);
}
.news-modern-card-category{
    position:absolute;
    left:12px;
    bottom:12px;
    padding:7px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    color:#08777e;
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
    box-shadow:0 4px 12px rgba(18,70,70,.08);
}
.news-modern-card-pdf{
    position:absolute;
    top:11px;
    right:11px;
    width:35px;
    height:35px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#0b666c;
    color:#fff;
    font-size:14px;
    font-weight:950;
    box-shadow:0 5px 15px rgba(0,0,0,.14);
}
.news-modern-card-body{
    flex:1;
    display:flex;
    flex-direction:column;
    padding:19px;
}
.news-modern-card-meta{
    display:flex;
    gap:6px 10px;
    flex-wrap:wrap;
    color:#87958f;
    font-size:14px;
    font-weight:850;
    text-transform:uppercase;
}
.news-modern-card-meta span:first-of-type{
    color:#08777e;
}
.news-modern-card-body h3{
    margin:9px 0 9px;
    font-family:Georgia,serif;
    font-size:23px;
    line-height:1.12;
}
.news-modern-card-body h3 a{
    color:#294d4f;
    text-decoration:none;
}
.news-modern-card-body p{
    margin:0;
    color:#70837d;
    font-size:14px;
    line-height:1.6;
}
.news-modern-card-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:auto;
    padding-top:16px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.news-modern-pagination{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:14px;
    margin-top:38px;
    padding-top:24px;
    border-top:1px solid #dce7e3;
}
.news-modern-pagination a,
.news-modern-pagination>span{
    color:#5f746e;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
}
.news-modern-pagination>a:last-child,
.news-modern-pagination>span:last-child{
    justify-self:end;
}
.news-modern-pagination>span:nth-child(2){
    justify-self:center;
    color:#8a9893;
}
.news-modern-pagination .is-disabled{
    opacity:.4;
}
.news-modern-empty{
    display:grid;
    grid-template-columns:65px minmax(0,1fr);
    gap:20px;
    align-items:center;
    padding:30px;
    border:1px dashed #bed7ce;
    border-radius:20px;
    background:#fff;
}
.news-modern-empty-mark{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    border-radius:17px;
    background:#edf8f4;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:32px;
}
.news-modern-empty>div:last-child>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.news-modern-empty h3{
    margin:5px 0 6px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:26px;
}
.news-modern-empty p{
    max-width:740px;
    margin:0;
    color:#71837d;
    font-size:14px;
    line-height:1.55;
}
.news-modern-empty a{
    display:inline-flex;
    margin-top:10px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}

/* closing CTA */
.news-modern-connect-section{
    padding:0 0 78px;
    background:#f9fcfb;
}
.news-modern-connect-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:38px 40px;
    overflow:hidden;
    border-radius:24px;
    background:
        radial-gradient(circle at 92% 10%,rgba(134,201,175,.18),transparent 32%),
        #0b666c;
    color:#fff;
}
.news-modern-connect-card span{
    color:#bfe3d6;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.news-modern-connect-card h2{
    max-width:720px;
    margin:6px 0 9px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:clamp(30px,4vw,43px);
    line-height:1.07;
}
.news-modern-connect-card p{
    max-width:760px;
    margin:0;
    color:#d7e9e4;
    font-size:14px;
    line-height:1.55;
}
.news-modern-connect-card .button{
    flex:none;
    background:#fff;
    border-color:#fff;
    color:#075d63!important;
}

@media(max-width:1050px){
    .news-modern-hero-grid{
        grid-template-columns:minmax(0,1fr) minmax(330px,.72fr);
        gap:42px;
    }
    .news-modern-hero-photo{
        height:430px;
    }
    .news-modern-event-grid,
    .news-modern-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .news-modern-snapshot-grid{
        grid-template-columns:repeat(3,1fr);
    }
    .news-modern-snapshot-message{
        grid-column:1/-1;
        min-height:60px!important;
        border-left:1px solid #e2ebe7;
        border-top:1px solid #e2ebe7;
    }
}
@media(max-width:850px){
    .news-modern-hero{
        padding-top:48px;
    }
    .news-modern-hero-grid{
        grid-template-columns:1fr;
        gap:36px;
    }
    .news-modern-hero-copy{
        order:1;
    }
    .news-modern-hero-photo{
        order:2;
        width:min(620px,100%);
        height:430px;
        transform:none;
    }
    .news-modern-featured{
        grid-template-columns:1fr;
    }
    .news-modern-featured-media{
        min-height:260px;
    }
    .news-modern-featured-copy{
        padding:31px;
    }
    .news-modern-section-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }
    .news-modern-connect-card{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:640px){
    .news-modern-hero{
        padding:40px 0 47px;
    }
    .news-modern-hero h1{
        font-size:49px;
    }
    .news-modern-hero-copy>p{
        font-size:14px;
    }
    .news-modern-hero-actions{
        align-items:flex-start;
        flex-direction:column;
        gap:12px;
    }
    .news-modern-hero-photo{
        height:360px;
        border-width:6px;
        border-radius:22px;
    }
    .news-modern-photo-badge{
        width:66px;
        height:66px;
        top:12px;
        right:12px;
    }
    .news-modern-snapshot-grid{
        grid-template-columns:repeat(3,1fr);
    }
    .news-modern-snapshot-grid>div{
        min-height:72px;
        padding:9px;
    }
    .news-modern-snapshot-grid>div:not(.news-modern-snapshot-message)>strong{
        font-size:21px;
    }
    .news-modern-snapshot-grid>div:not(.news-modern-snapshot-message)>span{
        font-size:14px;
        line-height:1.2;
    }
    .news-modern-event-grid,
    .news-modern-grid{
        grid-template-columns:1fr;
    }
    .news-modern-event-media,
    .news-modern-card-media{
        height:250px;
    }
    .news-modern-featured-media{
        min-height:300px;
    }
    .news-modern-featured-copy{
        padding:24px;
    }
    .news-modern-featured-copy h2{
        font-size:34px;
    }
    .news-modern-pagination{
        grid-template-columns:1fr 1fr;
    }
    .news-modern-pagination>span:nth-child(2){
        grid-column:1/-1;
        grid-row:1;
    }
    .news-modern-connect-card{
        padding:29px;
    }
}
@media(max-width:430px){
    .news-modern-hero h1{
        font-size:43px;
    }
    .news-modern-hero-photo{
        height:320px;
    }
    .news-modern-hero-photo figcaption strong{
        font-size:19px;
    }
    .news-modern-event-content{
        grid-template-columns:50px minmax(0,1fr);
        gap:11px;
        padding:15px;
    }
    .news-modern-filter-wrap{
        top:0;
    }
}
@media(prefers-reduced-motion:reduce){
    .news-modern-text-link span,
    .news-modern-filter a,
    .news-modern-event-card,
    .news-modern-event-media img,
    .news-modern-card,
    .news-modern-card-media img{
        transition:none;
    }
    .news-modern-filter a:hover,
    .news-modern-event-card:hover,
    .news-modern-card:hover{
        transform:none;
    }
    .news-modern-event-card:hover .news-modern-event-media img,
    .news-modern-card:hover .news-modern-card-media img{
        transform:none;
    }
}

/* =========================================================
   Newsroom — Dedicated Newsletter Section
   ========================================================= */
.news-newsletters-section{
    padding-top:64px;
    padding-bottom:58px;
    border-bottom:1px solid #dce8e3;
    background:
        radial-gradient(circle at 92% 9%,rgba(134,201,175,.13),transparent 24%),
        #fff;
}
.news-newsletters-section-archive{
    padding-top:72px;
    min-height:480px;
}
.news-newsletters-heading{
    margin-bottom:25px;
}
.news-newsletter-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.news-newsletter-card{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-height:285px;
    overflow:hidden;
    border:1px solid #d5e4de;
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 30px rgba(18,70,70,.06);
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.news-newsletter-card:hover{
    transform:translateY(-3px);
    border-color:#b8d7cc;
    box-shadow:0 18px 40px rgba(18,70,70,.10);
}
.news-newsletter-cover{
    position:relative;
    min-height:285px;
    display:block;
    overflow:hidden;
    background:#eaf5f0;
}
.news-newsletter-cover img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    transition:transform .2s ease;
}
.news-newsletter-card:hover .news-newsletter-cover img{
    transform:scale(1.025);
}
.news-newsletter-cover-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    align-content:center;
    padding:25px;
    text-align:center;
    background:
        radial-gradient(circle at 82% 12%,rgba(255,255,255,.13),transparent 28%),
        linear-gradient(150deg,#0b666c,#08777e);
    color:#fff;
}
.news-newsletter-cover-placeholder span{
    color:#bee2d5;
    font-size:14px;
    font-weight:950;
    letter-spacing:.15em;
}
.news-newsletter-cover-placeholder strong{
    margin-top:6px;
    font-family:Georgia,serif;
    font-size:27px;
}
.news-newsletter-cover-placeholder small{
    margin-top:8px;
    color:#d9eee7;
    font-size:14px;
    font-weight:800;
}
.news-newsletter-pdf-badge{
    position:absolute;
    top:12px;
    right:12px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:2px solid rgba(255,255,255,.72);
    border-radius:11px;
    background:#0b666c;
    color:#fff;
    box-shadow:0 6px 17px rgba(0,0,0,.16);
    font-size:14px;
    font-weight:950;
}
.news-newsletter-card-body{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:23px;
}
.news-newsletter-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:#87958f;
    font-size:14px;
    font-weight:850;
    text-transform:uppercase;
}
.news-newsletter-meta>span{
    color:#08777e;
    font-weight:950;
    letter-spacing:.10em;
}
.news-newsletter-card-body h3{
    margin:9px 0 9px;
    font-family:Georgia,serif;
    font-size:27px;
    line-height:1.08;
}
.news-newsletter-card-body h3 a{
    color:#294d4f;
    text-decoration:none;
}
.news-newsletter-issue{
    display:grid;
    gap:2px;
    margin-bottom:10px;
    padding:8px 10px;
    border-left:3px solid #86c9af;
    background:#f7fbf9;
}
.news-newsletter-issue span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.news-newsletter-issue strong{
    color:#536e68;
    font-size:14px;
}
.news-newsletter-card-body>p{
    margin:0;
    color:#71837d;
    font-size:14px;
    line-height:1.55;
}
.news-newsletter-card-footer{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    margin-top:auto;
    padding-top:16px;
}
.news-newsletter-card-footer>div{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}
.news-newsletter-card-footer>div span{
    display:inline-flex;
    min-height:24px;
    align-items:center;
    padding:0 7px;
    border-radius:999px;
    background:#f0f5f3;
    color:#74867f;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
}
.news-newsletter-card-footer>a{
    display:inline-flex;
    gap:6px;
    flex:none;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
@media(max-width:1080px){
    .news-newsletter-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:700px){
    .news-newsletters-section{
        padding-top:48px;
        padding-bottom:46px;
    }
    .news-newsletter-card{
        grid-template-columns:170px minmax(0,1fr);
        min-height:250px;
    }
    .news-newsletter-cover{
        min-height:250px;
    }
}
@media(max-width:520px){
    .news-newsletter-card{
        grid-template-columns:1fr;
    }
    .news-newsletter-cover{
        height:230px;
        min-height:230px;
    }
    .news-newsletter-card-body{
        padding:18px;
    }
    .news-newsletter-card-footer{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(prefers-reduced-motion:reduce){
    .news-newsletter-card,
    .news-newsletter-cover img{
        transition:none;
    }
    .news-newsletter-card:hover,
    .news-newsletter-card:hover .news-newsletter-cover img{
        transform:none;
    }
}

/* =========================================================
   PDF Newsletter — Constitution-style Flipbook
   ========================================================= */
.newsletter-flipbook-section{
    padding-top:52px;
    padding-bottom:70px;
    background:#f7fbf9;
}
.newsletter-flipbook-heading{
    align-items:flex-end;
}
.newsletter-flipbook-section-number{
    display:inline-grid;
    width:34px;
    height:34px;
    place-items:center;
    margin-bottom:8px;
    border-radius:50%;
    background:#e8f6f1;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}
.newsletter-flipbook-open{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex:none;
}
.newsletter-flipbook-open svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.newsletter-flipbook-card{
    overflow:hidden;
    border:1px solid #d1dfda;
    border-radius:22px;
    background:#fff;
    box-shadow:0 16px 42px rgba(18,70,70,.08);
}
.newsletter-flipbook-topbar{
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:12px 18px;
    border-bottom:1px solid #dce7e3;
    background:#fff;
}
.newsletter-flipbook-topbar>div:first-child{
    display:grid;
    gap:3px;
}
.newsletter-flipbook-topbar>div:first-child span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.newsletter-flipbook-topbar>div:first-child strong{
    color:#315052;
    font-family:Georgia,serif;
    font-size:17px;
}
.newsletter-flipbook-current-page{
    display:flex;
    align-items:baseline;
    gap:5px;
    color:#6f817b;
}
.newsletter-flipbook-current-page small{
    margin-right:3px;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.10em;
}
.newsletter-flipbook-current-page strong{
    color:#315052;
    font-family:Georgia,serif;
    font-size:23px;
}
.newsletter-flipbook-current-page span{
    font-size:14px;
    font-weight:800;
}
.newsletter-flipbook-shell{
    display:grid;
    place-items:center;
    min-height:600px;
    padding:30px 24px;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 22%,rgba(255,255,255,.85),transparent 35%),
        linear-gradient(135deg,#dfe9e5,#eef4f1);
}
.newsletter-flipbook-stage{
    position:relative;
    width:min(540px,100%);
    aspect-ratio:8.5/11;
    outline:none;
    perspective:1500px;
}
.newsletter-flipbook-paper{
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    border:1px solid rgba(44,78,74,.18);
    border-radius:3px 12px 12px 3px;
    background:#fff;
    box-shadow:
        0 22px 55px rgba(22,58,56,.22),
        -7px 0 18px rgba(50,78,75,.08);
    transform-origin:left center;
    transition:transform .24s ease,opacity .24s ease;
}
.newsletter-flipbook-paper::before{
    content:"";
    position:absolute;
    z-index:3;
    top:0;
    bottom:0;
    left:0;
    width:12px;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(26,52,51,.13),transparent);
}
.newsletter-flipbook-canvas{
    position:relative;
    z-index:1;
    width:100%;
    height:auto;
    display:block;
    margin:auto;
    background:#fff;
}
.newsletter-flipbook-page-curl{
    position:absolute;
    z-index:4;
    right:0;
    bottom:0;
    width:35px;
    height:35px;
    pointer-events:none;
    background:
        linear-gradient(135deg,transparent 49%,rgba(38,71,68,.10) 50%,rgba(255,255,255,.98) 53%);
    opacity:.8;
}
.newsletter-flipbook-stage.is-turning-next .newsletter-flipbook-paper{
    animation:newsletterFlipNext .25s ease;
}
.newsletter-flipbook-stage.is-turning-prev .newsletter-flipbook-paper{
    animation:newsletterFlipPrev .25s ease;
}
@keyframes newsletterFlipNext{
    0%{transform:rotateY(0deg);opacity:1}
    48%{transform:rotateY(-8deg) scale(.99);opacity:.72}
    100%{transform:rotateY(0deg);opacity:1}
}
@keyframes newsletterFlipPrev{
    0%{transform:rotateY(0deg);opacity:1}
    48%{transform:rotateY(8deg) scale(.99);opacity:.72}
    100%{transform:rotateY(0deg);opacity:1}
}
.newsletter-flipbook-controls{
    display:grid;
    grid-template-columns:auto auto minmax(145px,1fr) auto auto;
    align-items:center;
    gap:8px;
    padding:14px 16px;
    border-top:1px solid #dce7e3;
    background:#fff;
}
.newsletter-flipbook-control,
.newsletter-flipbook-lightbox-controls button{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 11px;
    border:1px solid #d6e4de;
    border-radius:10px;
    background:#fff;
    color:#45635d;
    font:inherit;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}
.newsletter-flipbook-control:hover:not(:disabled),
.newsletter-flipbook-lightbox-controls button:hover:not(:disabled){
    border-color:#a9d2c4;
    background:#edf8f4;
    color:#08777e;
}
.newsletter-flipbook-control:disabled,
.newsletter-flipbook-lightbox-controls button:disabled{
    opacity:.35;
    cursor:not-allowed;
}
.newsletter-flipbook-edge{
    color:#08777e;
}
.newsletter-flipbook-page-status,
.newsletter-flipbook-lightbox-controls>div{
    justify-self:center;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:#758780;
    font-size:14px;
    font-weight:850;
}
.newsletter-flipbook-page-status label,
.newsletter-flipbook-lightbox-controls label{
    color:#60746e;
}
.newsletter-flipbook-page-status input,
.newsletter-flipbook-lightbox-controls input{
    width:54px;
    height:36px;
    border:1px solid #ccdcd6;
    border-radius:9px;
    background:#f9fcfb;
    color:#315052;
    text-align:center;
    font:inherit;
    font-size:14px;
    font-weight:900;
}
.newsletter-flipbook-help{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:12px 16px 14px;
    border-top:1px solid #edf2f0;
    background:#fbfdfc;
}
.newsletter-flipbook-help span{
    flex:none;
    padding:4px 7px;
    border-radius:999px;
    background:#e8f6f1;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    text-transform:uppercase;
}
.newsletter-flipbook-help p{
    margin:1px 0 0;
    color:#7a8b85;
    font-size:14px;
    line-height:1.45;
}
.newsletter-flipbook-document-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-top:18px;
    padding:20px 22px;
    border:1px solid #d8e5e0;
    border-radius:17px;
    background:#fff;
}
.newsletter-flipbook-document-actions>div:first-child{
    display:grid;
    gap:3px;
}
.newsletter-flipbook-document-actions>div:first-child span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.newsletter-flipbook-document-actions>div:first-child strong{
    color:#45635d;
    font-family:Georgia,serif;
    font-size:17px;
}
.newsletter-flipbook-document-actions .hero-actions{
    margin:0;
}
.newsletter-flipbook-noscript{
    margin-top:16px;
    padding:13px 15px;
    border-radius:12px;
    background:#fff7e8;
    color:#775b28;
    font-size:14px;
}
.newsletter-flipbook-noscript a{
    color:#08777e;
    font-weight:900;
}

/* Newsletter flipbook large view */
body.newsletter-flipbook-open{
    overflow:hidden;
}
.newsletter-flipbook-lightbox{
    position:fixed;
    z-index:6000;
    inset:0;
    visibility:hidden;
    opacity:0;
    transition:opacity .18s ease,visibility .18s ease;
}
.newsletter-flipbook-lightbox.is-open{
    visibility:visible;
    opacity:1;
}
.newsletter-flipbook-lightbox-backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,30,31,.78);
    backdrop-filter:blur(5px);
}
.newsletter-flipbook-lightbox-panel{
    position:absolute;
    inset:2.5vh 3vw;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.20);
    border-radius:18px;
    background:#eff4f2;
    box-shadow:0 30px 90px rgba(0,0,0,.34);
}
.newsletter-flipbook-lightbox-header{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:10px 15px 10px 18px;
    border-bottom:1px solid #d8e5e0;
    background:#fff;
}
.newsletter-flipbook-lightbox-header>div:first-child{
    display:grid;
    gap:2px;
}
.newsletter-flipbook-lightbox-header>div:first-child span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.newsletter-flipbook-lightbox-header>div:first-child strong{
    color:#315052;
    font-family:Georgia,serif;
    font-size:17px;
}
.newsletter-flipbook-lightbox-header-actions{
    display:flex;
    align-items:center;
    gap:13px;
    color:#6f817b;
    font-size:14px;
    font-weight:850;
}
.newsletter-flipbook-lightbox-header-actions>a{
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.newsletter-flipbook-lightbox-header-actions>button{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #d7e3df;
    border-radius:50%;
    background:#f8fbfa;
    color:#315052;
    font:inherit;
    font-size:23px;
    cursor:pointer;
}
.newsletter-flipbook-lightbox-body{
    min-width:0;
    min-height:0;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:auto;
    padding:16px;
    box-sizing:border-box;
    background:
        radial-gradient(circle at 50% 18%,rgba(255,255,255,.72),transparent 34%),
        #dfe8e4;
}
.newsletter-flipbook-lightbox-stage{
    position:relative;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    flex:none;
    outline:none;
    perspective:1700px;
}
.newsletter-flipbook-lightbox-paper{
    position:relative;
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    overflow:visible;
    border-radius:4px 13px 13px 4px;
    background:#fff;
    box-shadow:0 20px 52px rgba(12,42,41,.24);
    transform-origin:left center;
}
.newsletter-flipbook-lightbox-canvas{
    position:relative;
    z-index:1;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    display:block;
    margin:auto;
    background:#fff;
    object-fit:contain;
}
.newsletter-flipbook-lightbox-stage.is-turning-next .newsletter-flipbook-lightbox-paper{
    animation:newsletterFlipNext .25s ease;
}
.newsletter-flipbook-lightbox-stage.is-turning-prev .newsletter-flipbook-lightbox-paper{
    animation:newsletterFlipPrev .25s ease;
}
.newsletter-flipbook-lightbox-controls{
    min-height:62px;
    display:grid;
    grid-template-columns:auto auto minmax(140px,1fr) auto auto;
    align-items:center;
    gap:8px;
    padding:10px 15px;
    border-top:1px solid #d4e1dc;
    background:#fff;
}

@media(max-width:850px){
    .newsletter-flipbook-shell{
        min-height:520px;
        padding:22px;
    }
    .newsletter-flipbook-stage{
        width:min(470px,100%);
    }
    .newsletter-flipbook-controls,
    .newsletter-flipbook-lightbox-controls{
        grid-template-columns:1fr 1fr 1.1fr 1fr 1fr;
    }
    .newsletter-flipbook-document-actions{
        align-items:flex-start;
        flex-direction:column;
    }
}
@media(max-width:620px){
    .newsletter-flipbook-section{
        padding-top:40px;
        padding-bottom:52px;
    }
    .newsletter-flipbook-shell{
        min-height:0;
        padding:14px 10px;
    }
    .newsletter-flipbook-stage{
        width:100%;
    }
    .newsletter-flipbook-topbar{
        min-height:58px;
        padding:10px 12px;
    }
    .newsletter-flipbook-topbar>div:first-child strong{
        font-size:14px;
    }
    .newsletter-flipbook-controls{
        grid-template-columns:1fr 1fr;
        gap:7px;
    }
    .newsletter-flipbook-page-status{
        grid-column:1/-1;
        grid-row:1;
        margin-bottom:2px;
    }
    .newsletter-flipbook-edge{
        display:none;
    }
    .newsletter-flipbook-document-actions{
        padding:17px;
    }
    .newsletter-flipbook-document-actions .hero-actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }
    .newsletter-flipbook-document-actions .button{
        justify-content:center;
    }
    .newsletter-flipbook-lightbox-panel{
        inset:1vh 1.5vw;
    }
    .newsletter-flipbook-lightbox-header{
        padding:8px 10px;
    }
    .newsletter-flipbook-lightbox-header>div:first-child strong{
        max-width:180px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:14px;
    }
    .newsletter-flipbook-lightbox-header-actions>span,
    .newsletter-flipbook-lightbox-header-actions>a{
        display:none;
    }
    .newsletter-flipbook-lightbox-body{
        padding:8px 5px;
    }
    .newsletter-flipbook-lightbox-stage{
        width:auto;
        height:auto;
        max-width:100%;
        max-height:100%;
    }
    .newsletter-flipbook-lightbox-controls{
        grid-template-columns:1fr 1fr;
        min-height:76px;
        padding:8px;
    }
    .newsletter-flipbook-lightbox-controls>div{
        grid-column:1/-1;
        grid-row:1;
    }
    #newsletter-lightbox-first,
    #newsletter-lightbox-last{
        display:none;
    }
}
@media(prefers-reduced-motion:reduce){
    .newsletter-flipbook-paper,
    .newsletter-flipbook-lightbox-paper,
    .newsletter-flipbook-lightbox{
        transition:none;
    }
    .newsletter-flipbook-stage.is-turning-next .newsletter-flipbook-paper,
    .newsletter-flipbook-stage.is-turning-prev .newsletter-flipbook-paper,
    .newsletter-flipbook-lightbox-stage.is-turning-next .newsletter-flipbook-lightbox-paper,
    .newsletter-flipbook-lightbox-stage.is-turning-prev .newsletter-flipbook-lightbox-paper{
        animation:none;
    }
}

/* PDF.js canvas rendering and reader states */
.newsletter-flipbook-paper,
.newsletter-flipbook-lightbox-paper{
    display:grid;
    place-items:center;
}
.newsletter-flipbook-loading,
.newsletter-flipbook-lightbox-loading{
    position:absolute;
    z-index:5;
    inset:0;
    display:grid;
    place-items:center;
    align-content:center;
    gap:7px;
    padding:24px;
    background:#fff;
    color:#60746e;
    text-align:center;
}
.newsletter-flipbook-loading[hidden],
.newsletter-flipbook-lightbox-loading[hidden]{
    display:none!important;
}
.newsletter-flipbook-loading strong,
.newsletter-flipbook-lightbox-loading strong{
    color:#315052;
    font-family:Georgia,serif;
    font-size:16px;
}
.newsletter-flipbook-loading small{
    color:#87958f;
    font-size:14px;
}
.newsletter-flipbook-spinner{
    width:28px;
    height:28px;
    border:3px solid #d8e8e2;
    border-top-color:#0a8a92;
    border-radius:50%;
    animation:newsletterPdfSpin .8s linear infinite;
}
@keyframes newsletterPdfSpin{
    to{transform:rotate(360deg)}
}
.newsletter-flipbook-error{
    position:absolute;
    z-index:7;
    inset:0;
    display:grid;
    place-items:center;
    align-content:center;
    gap:8px;
    padding:32px;
    background:#fff;
    color:#71837d;
    text-align:center;
}
.newsletter-flipbook-error[hidden]{
    display:none!important;
}
.newsletter-flipbook-error>span{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#edf8f4;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}
.newsletter-flipbook-error strong{
    color:#315052;
    font-family:Georgia,serif;
    font-size:20px;
}
.newsletter-flipbook-error p{
    max-width:390px;
    margin:0;
    font-size:14px;
    line-height:1.5;
}
.newsletter-flipbook-error a{
    margin-top:3px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.newsletter-flipbook-card.has-pdf-error .newsletter-flipbook-page-curl{
    display:none;
}
@media(prefers-reduced-motion:reduce){
    .newsletter-flipbook-spinner{
        animation:none;
    }
}

/* Large newsletter reader — full-page contain guarantee */
.newsletter-flipbook-lightbox.is-open .newsletter-flipbook-lightbox-body{
    overscroll-behavior:contain;
}
.newsletter-flipbook-lightbox.is-open .newsletter-flipbook-lightbox-stage,
.newsletter-flipbook-lightbox.is-open .newsletter-flipbook-lightbox-paper{
    box-sizing:border-box;
}
.newsletter-flipbook-lightbox.is-open .newsletter-flipbook-lightbox-canvas{
    box-sizing:border-box;
}

/* =========================================================
   FAQ
   ========================================================= */
.faq-page{background:#fff}
.faq-hero{
    padding:70px 0;
    border-bottom:1px solid #dce7e3;
    background:
        radial-gradient(circle at 85% 10%,rgba(134,201,175,.16),transparent 28%),
        linear-gradient(135deg,#f8fcfa,#fff 62%,#eef8f4);
}
.faq-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(290px,.48fr);
    gap:65px;
    align-items:center;
}
.faq-hero-copy h1{
    max-width:800px;
    margin:8px 0 18px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(50px,6vw,76px);
    line-height:.98;
    letter-spacing:-.04em;
}
.faq-hero-copy>p:last-child{
    max-width:730px;
    margin:0;
    color:#687c76;
    font-size:15px;
    line-height:1.7;
}
.faq-hero-card{
    padding:28px;
    border:1px solid #d7e5df;
    border-radius:21px;
    background:#fff;
    box-shadow:0 14px 35px rgba(18,70,70,.065);
}
.faq-hero-card span,.faq-hero-card strong{display:block}
.faq-hero-card span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.faq-hero-card strong{
    margin-top:5px;
    color:#294d4f;
    font-family:Georgia,serif;
    font-size:29px;
}
.faq-hero-card p{
    margin:9px 0 18px;
    color:#71837d;
    font-size:14px;
    line-height:1.55;
}
.faq-section{padding-top:70px;padding-bottom:82px}
.faq-section-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);
    gap:55px;
    align-items:end;
    margin-bottom:30px;
}
.faq-section-heading h2{
    margin:4px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(38px,4.8vw,56px);
    line-height:1.04;
}
.faq-section-heading>p{
    margin:0;
    color:#71837d;
    font-size:14px;
    line-height:1.6;
}
.faq-list{display:grid;gap:11px}
.faq-item{
    overflow:hidden;
    border:1px solid #d9e6e1;
    border-radius:17px;
    background:#fff;
    box-shadow:0 5px 18px rgba(18,70,70,.035);
}
.faq-item summary{
    list-style:none;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 34px;
    gap:14px;
    align-items:center;
    min-height:72px;
    padding:13px 17px;
    cursor:pointer;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary>span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#edf8f4;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}
.faq-item summary>strong{
    color:#315052;
    font-family:Georgia,serif;
    font-size:19px;
}
.faq-item summary>b{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    justify-self:end;
    border-radius:50%;
    background:#f3f7f5;
    color:#08777e;
    font-size:18px;
    font-weight:400;
    transition:transform .18s ease;
}
.faq-item[open] summary>b{transform:rotate(45deg)}
.faq-answer{
    padding:0 69px 20px 73px;
    border-top:1px solid #edf2f0;
}
.faq-answer p{
    margin:15px 0 0;
    color:#60746e;
    font-size:14px;
    line-height:1.65;
}
.faq-answer a{
    display:inline-flex;
    margin-top:11px;
    color:#08777e;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.faq-closing-section{padding:0 0 75px}
.faq-closing-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    padding:36px 40px;
    border-radius:23px;
    background:
        radial-gradient(circle at 90% 10%,rgba(134,201,175,.18),transparent 30%),
        #0b666c;
    color:#fff;
}
.faq-closing-card span{
    color:#bfe2d6;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.faq-closing-card h2{
    margin:6px 0 7px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:clamp(30px,4vw,43px);
    line-height:1.08;
}
.faq-closing-card p{
    margin:0;
    color:#d6e9e3;
    font-size:14px;
}
.faq-closing-card .button{
    flex:none;
    border-color:#fff;
    background:#fff;
    color:#075d63!important;
}
@media(max-width:850px){
    .faq-hero-grid,.faq-section-heading{
        grid-template-columns:1fr;
        gap:28px;
    }
    .faq-hero-card{max-width:560px}
}
@media(max-width:620px){
    .faq-hero{padding:48px 0}
    .faq-hero-copy h1{font-size:46px}
    .faq-section{padding-top:52px;padding-bottom:60px}
    .faq-item summary{
        grid-template-columns:36px minmax(0,1fr) 30px;
        gap:10px;
        padding:11px 12px;
    }
    .faq-item summary>span{width:34px;height:34px}
    .faq-item summary>strong{font-size:17px}
    .faq-answer{padding:0 18px 18px 58px}
    .faq-closing-card{
        align-items:flex-start;
        flex-direction:column;
        padding:28px;
    }
}
@media(prefers-reduced-motion:reduce){
    .faq-item summary>b{transition:none}
}

/* =========================================================
   Member Registration + Limited DHS PSAN Access
   ========================================================= */
.nav-register-link{
    display:inline-flex!important;
    align-items:center;
    padding:8px 10px!important;
    border-radius:9px;
    color:#08777e!important;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}
.nav-register-link:hover{background:#edf8f4}
.mobile-menu-register{
    margin-top:8px;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 18px!important;
    align-items:center;
    gap:10px!important;
    padding:13px 14px!important;
    border:1px solid #bcdacf!important;
    border-radius:13px!important;
    background:#edf8f4!important;
    color:#315f59!important;
}
.mobile-menu-register>span{display:grid}
.mobile-menu-register small{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.10em;
}
.mobile-menu-register strong{
    margin-top:2px;
    color:#315f59;
    font-size:14px;
}
.member-register-hero{
    padding:66px 0;
    border-bottom:1px solid #dce8e3;
    background:
        radial-gradient(circle at 88% 8%,rgba(134,201,175,.18),transparent 28%),
        linear-gradient(135deg,#f7fbf9,#fff 62%,#eef8f4);
}
.member-register-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:60px;
    align-items:center;
}
.member-register-hero h1{
    margin:7px 0 17px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(48px,6vw,74px);
    line-height:.98;
    letter-spacing:-.04em;
}
.member-register-lead{
    max-width:760px;
    margin:0;
    color:#667a74;
    font-size:16px;
    line-height:1.7;
}
.member-register-access-note{
    max-width:760px;
    margin-top:25px;
    padding:18px 20px;
    border-left:4px solid #0a8a92;
    border-radius:0 14px 14px 0;
    background:#fff;
    box-shadow:0 8px 25px rgba(18,70,70,.05);
}
.member-register-access-note>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.member-register-access-note strong{
    display:block;
    margin-top:4px;
    color:#315052;
    font-family:Georgia,serif;
    font-size:18px;
}
.member-register-access-note p{
    margin:7px 0 0;
    color:#71837d;
    font-size:14px;
    line-height:1.55;
}
.member-register-aquapride-card{
    position:relative;
    overflow:hidden;
    min-height:390px;
    border:1px solid #d5e4de;
    border-radius:23px;
    background:#0b666c;
    box-shadow:0 18px 45px rgba(18,70,70,.14);
}
.member-register-aquapride-card>img{
    width:100%;
    height:100%;
    min-height:390px;
    display:block;
    object-fit:cover;
    object-position:center;
}
.member-register-aquapride-card::after{
    content:"";
    position:absolute;
    inset:45% 0 0;
    background:linear-gradient(to bottom,transparent,rgba(5,56,60,.88));
    pointer-events:none;
}
.member-register-aquapride-caption{
    position:absolute;
    z-index:2;
    left:22px;
    right:22px;
    bottom:21px;
    color:#fff;
}
.member-register-aquapride-caption>span{
    display:block;
    margin-bottom:5px;
    color:#c8eadf;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.member-register-aquapride-caption>strong{
    display:block;
    font-family:Georgia,serif;
    font-size:22px;
    line-height:1.08;
}
.member-register-aquapride-caption>small{
    display:block;
    margin-top:7px;
    color:#e0efea;
    font-size:14px;
    line-height:1.45;
}
.member-register-section{background:#fff}
.member-register-layout{
    display:grid;
    grid-template-columns:270px minmax(0,1fr);
    gap:30px;
    align-items:start;
}
.member-register-steps{
    position:sticky;
    top:105px;
    padding:25px;
    border:1px solid #d8e5e0;
    border-radius:19px;
    background:#f8fbfa;
}
.member-register-steps>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.member-register-steps h2{
    margin:7px 0 22px;
    color:#315052;
    font-family:Georgia,serif;
    font-size:27px;
    line-height:1.12;
}
.member-register-steps ol{
    display:grid;
    gap:13px;
    margin:0;
    padding:0;
    list-style:none;
}
.member-register-steps li{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
    align-items:center;
}
.member-register-steps li>b{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#e8f6f1;
    color:#08777e;
    font-size:14px;
}
.member-register-steps li>span{display:grid;gap:1px}
.member-register-steps li strong{color:#45635d;font-size:14px}
.member-register-steps li small{color:#87958f;font-size:14px}
.member-register-form-card{
    overflow:hidden;
    border:1px solid #d8e5e0;
    border-radius:22px;
    background:#fff;
    box-shadow:0 12px 34px rgba(18,70,70,.05);
}
.member-register-errors{
    margin:22px 22px 0;
}
.member-register-errors strong{display:block;margin-bottom:6px}
.member-register-errors ul{margin:0;padding-left:18px}
.member-register-form>section{
    padding:28px;
    border-bottom:1px solid #e5eeea;
}
.member-register-section-title,
.membership-create-title{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
}
.member-register-section-title>span,
.membership-create-title>span{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    flex:none;
    border-radius:11px;
    background:#e8f6f1;
    color:#08777e;
    font-size:14px;
    font-weight:950;
}
.member-register-section-title>div,
.membership-create-title>div{display:grid;gap:2px}
.member-register-section-title strong,
.membership-create-title strong{
    color:#315052;
    font-family:Georgia,serif;
    font-size:20px;
}
.member-register-section-title small,
.membership-create-title small{
    color:#83928d;
    font-size:14px;
}
.member-register-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.member-register-grid-three{
    grid-template-columns:repeat(3,1fr);
}
.member-register-wide{grid-column:1/-1}
.member-register-field{
    display:grid;
    gap:7px;
    color:#45635d;
    font-size:14px;
    font-weight:850;
}
.member-register-field>span em,
.admin-field>span em{
    color:#08777e;
    font-style:normal;
    font-size:14px;
    text-transform:uppercase;
}
.member-register-field input{
    width:100%;
    padding:12px 13px;
    border:1px solid #cbdcd6;
    border-radius:10px;
    background:#fff;
    color:#223f40;
    font:inherit;
}
.member-register-field small{
    color:#8a9893;
    font-size:14px;
    font-weight:500;
}
.member-register-confirm{
    display:flex;
    align-items:flex-start;
    gap:11px;
    padding:14px;
    border:1px solid #cce0d9;
    border-radius:12px;
    background:#f6fbf9;
    color:#45635d;
}
.member-register-confirm input{
    width:18px;
    height:18px;
    margin-top:2px;
    flex:none;
}
.member-register-confirm span{display:grid;gap:3px}
.member-register-confirm strong{font-size:14px}
.member-register-confirm small{color:#7d8e88;font-size:14px}
.member-register-submit{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    padding:22px 28px;
    background:#f8fbfa;
}
.member-register-submit>div{max-width:530px}
.member-register-submit span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.member-register-submit p{
    margin:5px 0 0;
    color:#71837d;
    font-size:14px;
    line-height:1.5;
}
.member-register-submit .button{flex:none}
.member-register-login{
    padding:13px 28px 20px;
    background:#f8fbfa;
    color:#71837d;
    font-size:14px;
}
.member-register-login a{
    margin-left:5px;
    color:#08777e;
    text-decoration:none;
    font-weight:900;
}
.auth-register-link{
    display:grid;
    gap:3px;
    margin-top:22px;
    padding-top:17px;
    border-top:1px solid #e2ebe7;
    color:#758780;
    font-size:14px;
}
.auth-register-link a{
    color:#08777e;
    text-decoration:none;
    font-weight:900;
}

/* Member dashboard access state */
.dashboard-success{
    margin-bottom:20px;
    display:grid;
    gap:3px;
}
.member-access-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:21px;
    padding:20px 23px;
    border-radius:17px;
}
.member-access-banner>div{max-width:760px}
.member-access-banner span{
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.member-access-banner strong{
    display:block;
    margin-top:4px;
    font-family:Georgia,serif;
    font-size:21px;
}
.member-access-banner p{
    margin:6px 0 0;
    font-size:14px;
    line-height:1.5;
}
.member-access-banner>a{
    flex:none;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.member-access-banner.is-limited{
    border:1px solid #ead8b6;
    background:#fff8ec;
    color:#795a26;
}
.member-access-banner.is-limited span,
.member-access-banner.is-limited>a{color:#99601c}
.member-access-banner.is-full{
    border:1px solid #c9dfd5;
    background:#eef8f3;
    color:#315f4c;
}
.member-access-banner.is-full span{color:#176b4d}
.member-access-panel{grid-column:span 2}
.member-access-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.member-access-columns>div{
    padding:14px;
    border-radius:12px;
    background:#eef8f3;
}
.member-access-columns>div.is-locked{
    background:#f5f6f5;
    color:#71817c;
}
.member-access-columns>div>span{
    font-size:14px;
    font-weight:950;
    letter-spacing:.10em;
    color:#176b4d;
}
.member-access-columns .is-locked>span{color:#7d8b86}
.member-access-columns ul{
    margin-bottom:0;
    font-size:14px;
    line-height:1.7;
}

/* Backend Membership Management */
.membership-admin-hero{
    padding:42px 0 35px;
    border-bottom:1px solid #dce8e3;
    background:
        radial-gradient(circle at 90% 0%,rgba(134,201,175,.17),transparent 28%),
        linear-gradient(135deg,#f8fcfa,#fff);
}
.membership-admin-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
}
.membership-admin-heading h1{
    margin:5px 0 8px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(40px,5vw,58px);
    line-height:1;
}
.membership-admin-heading p:last-child{
    max-width:700px;
    margin:0;
    color:#6f817b;
    font-size:14px;
}
.membership-admin-breadcrumbs{
    display:flex;
    gap:7px;
    margin-bottom:13px;
    color:#87958f;
    font-size:14px;
}
.membership-admin-breadcrumbs a{color:#08777e;text-decoration:none;font-weight:900}
.membership-admin-section{background:#fff}
.membership-admin-success{
    display:grid;
    gap:3px;
    margin-bottom:18px;
}
.membership-admin-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}
.membership-admin-toolbar form{
    display:flex;
    align-items:center;
    gap:8px;
    flex:1;
}
.membership-admin-toolbar input{
    width:min(430px,100%);
    padding:10px 12px;
    border:1px solid #cbdcd6;
    border-radius:10px;
    font:inherit;
}
.membership-admin-toolbar form>a{
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.membership-admin-count{
    display:flex;
    align-items:baseline;
    gap:6px;
    color:#71837d;
}
.membership-admin-count strong{
    color:#315052;
    font-family:Georgia,serif;
    font-size:23px;
}
.membership-admin-count span{font-size:14px}
.membership-admin-table-wrap{
    overflow:auto;
    border:1px solid #d9e6e1;
    border-radius:16px;
}
.membership-admin-table{
    width:100%;
    min-width:940px;
    border-collapse:collapse;
}
.membership-admin-table th{
    padding:12px 13px;
    background:#0b666c;
    color:#fff;
    text-align:left;
    font-size:14px;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.membership-admin-table td{
    padding:13px;
    border-bottom:1px solid #e8efec;
    color:#5e746e;
    font-size:14px;
    vertical-align:top;
}
.membership-admin-table tr:last-child td{border-bottom:0}
.membership-admin-table td>strong,
.membership-admin-table td>span,
.membership-admin-table td>small{display:block}
.membership-admin-table td>strong{color:#315052;font-size:14px}
.membership-admin-table td>span{margin-top:2px}
.membership-admin-table td>small{margin-top:3px;color:#8a9893;font-size:14px}
.membership-admin-status,
.membership-admin-access{
    display:inline-flex!important;
    width:max-content;
    padding:5px 8px;
    border-radius:999px;
    font-size:14px!important;
    font-weight:950;
    text-transform:uppercase;
}
.membership-admin-status.is-good,
.membership-admin-access.is-full{
    background:#e8f6ee;
    color:#176b4d;
}
.membership-admin-status.is-pending,
.membership-admin-access.is-limited{
    background:#fff4e1;
    color:#94601f;
}
.membership-create-layout{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:28px;
    align-items:start;
}
.membership-create-sidebar{
    position:sticky;
    top:105px;
    display:grid;
    gap:14px;
}
.membership-create-sidebar>div{
    padding:22px;
    border:1px solid #d7e5df;
    border-radius:17px;
    background:#f8fbfa;
}
.membership-create-sidebar>div>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.11em;
}
.membership-create-sidebar>div>strong{
    display:block;
    margin-top:6px;
    color:#315052;
    font-family:Georgia,serif;
    font-size:20px;
}
.membership-create-sidebar>div>p{
    margin:8px 0 0;
    color:#71837d;
    font-size:14px;
    line-height:1.55;
}
.membership-create-sidebar .membership-create-fee{
    background:#0b666c;
    color:#fff;
}
.membership-create-sidebar .membership-create-fee>span{color:#bfe2d6}
.membership-create-sidebar .membership-create-fee>strong{
    color:#fff;
    font-size:32px;
}
.membership-create-sidebar .membership-create-fee>small{
    display:block;
    margin-top:3px;
    color:#d6e9e3;
    font-size:14px;
}
.membership-create-card{
    overflow:hidden;
    border:1px solid #d8e5e0;
    border-radius:21px;
    background:#fff;
    box-shadow:0 12px 34px rgba(18,70,70,.05);
}
.membership-create-errors{margin:22px 22px 0}
.membership-create-form>section{
    padding:27px;
    border-bottom:1px solid #e6eeeb;
}
.membership-create-form .admin-field select{
    width:100%;
    padding:12px 13px;
    border:1px solid #c8d8d2;
    border-radius:10px;
    background:#fff;
    color:var(--ink);
    font:inherit;
}
.membership-create-form .admin-field.is-muted{
    opacity:.48;
}
.membership-create-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    padding:20px 27px;
    background:#f8fbfa;
}
.psan-modern-registration-open{
    border-color:#bcdacf!important;
    background:#f3fbf7!important;
}
.psan-modern-registration-open span{color:#08777e!important}
.psan-modern-construction-notice.psan-modern-registration-open strong{
    color:#073f44;
}
.psan-modern-construction-notice.psan-modern-registration-open p{
    color:#315752;
}

@media(max-width:950px){
    .member-register-hero-grid,
    .member-register-layout,
    .membership-create-layout{
        grid-template-columns:1fr;
    }
    .member-register-steps,
    .membership-create-sidebar{
        position:static;
    }
    .member-register-steps ol{
        grid-template-columns:repeat(3,1fr);
    }
    .member-access-panel{grid-column:auto}
}
@media(max-width:700px){
    .member-register-hero{padding:48px 0}
    .member-register-hero-grid{gap:28px}
    .member-register-aquapride-card{max-width:400px;width:100%}
    .member-register-grid,
    .member-register-grid-three,
    .member-access-columns{
        grid-template-columns:1fr;
    }
    .member-register-wide{grid-column:auto}
    .member-register-form>section{padding:21px 17px}
    .member-register-submit{
        align-items:flex-start;
        flex-direction:column;
        padding:19px 17px;
    }
    .member-register-login{padding:12px 17px 18px}
    .member-register-steps ol{grid-template-columns:1fr}
    .member-access-banner{
        align-items:flex-start;
        flex-direction:column;
    }
    .membership-admin-heading,
    .membership-admin-toolbar{
        align-items:flex-start;
        flex-direction:column;
    }
    .membership-admin-toolbar form{width:100%}
    .membership-admin-heading .button{width:100%;justify-content:center}
    .membership-create-form>section{padding:21px 17px}
}


/* =========================================================
   DHS PSAN Email Verification
   ========================================================= */
.email-verify-page{
    min-height:680px;
    padding:78px 0;
    background:
        radial-gradient(circle at 84% 8%,rgba(134,201,175,.20),transparent 28%),
        linear-gradient(135deg,#f5fbf8,#fff 60%,#edf8f4);
}
.email-verify-card{
    max-width:680px;
    margin:0 auto;
    padding:42px;
    border:1px solid #d5e4de;
    border-radius:24px;
    background:#fff;
    box-shadow:0 20px 55px rgba(18,70,70,.09);
}
.email-verify-icon{
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    margin-bottom:22px;
    border-radius:18px;
    background:#e8f6f1;
    color:#08777e;
}
.email-verify-icon svg{
    width:31px;
    height:31px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.email-verify-card h1{
    margin:7px 0 14px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(38px,5vw,54px);
    line-height:1.03;
    letter-spacing:-.03em;
}
.email-verify-lead{
    margin:0;
    color:#6d817a;
    font-size:14px;
    line-height:1.7;
}
.email-verify-lead strong{color:#315052}
.email-verify-benefit{
    margin-top:25px;
    padding:18px 20px;
    border-left:4px solid #0a8a92;
    border-radius:0 14px 14px 0;
    background:#f3faf7;
}
.email-verify-benefit>span{
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.email-verify-benefit>strong{
    display:block;
    margin-top:5px;
    color:#315052;
    font-family:Georgia,serif;
    font-size:19px;
}
.email-verify-benefit p{
    margin:7px 0 0;
    color:#71837d;
    font-size:14px;
    line-height:1.6;
}
.email-verify-success{
    display:grid;
    gap:3px;
    margin-top:20px;
    padding:14px 16px;
    border:1px solid #c6dfd4;
    border-radius:12px;
    background:#eef8f3;
    color:#315f4c;
}
.email-verify-success strong{font-size:14px}
.email-verify-success span{font-size:14px}
.email-verify-alert{
    display:grid;
    gap:4px;
    margin-top:20px;
}
.email-verify-alert strong{font-size:14px}
.email-verify-alert span{font-size:14px}
.email-verify-actions{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:24px;
    flex-wrap:wrap;
}
.email-verify-actions form{margin:0}
.email-verify-signout{
    padding:9px 4px;
    border:0;
    background:transparent;
    color:#6d817a;
    font:inherit;
    font-size:14px;
    font-weight:850;
    cursor:pointer;
}
.email-verify-signout:hover{color:#08777e}
.email-verify-help{
    margin-top:25px;
    padding-top:18px;
    border-top:1px solid #e3ece8;
}
.email-verify-help strong{
    color:#45635d;
    font-size:14px;
}
.email-verify-help p{
    margin:5px 0 0;
    color:#82918c;
    font-size:14px;
    line-height:1.55;
}
.membership-admin-access.is-pending{
    background:#f2f2f2;
    color:#6f7e79;
}
@media(max-width:700px){
    .email-verify-page{padding:48px 0}
    .email-verify-card{padding:28px 20px}
    .email-verify-actions{
        align-items:stretch;
        flex-direction:column;
    }
    .email-verify-actions .button{
        width:100%;
        justify-content:center;
    }
}

/* =========================================================
   AquaPride / Aqua Family / Aqua Nation / Aqua Love
   ========================================================= */
.home-aqua-section{
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at 88% 15%,rgba(134,201,175,.20),transparent 28%),
        linear-gradient(135deg,#f1faf7,#ffffff 58%,#e8f6f3);
}
.home-aqua-card{
    display:grid;
    grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
    gap:0;
    overflow:hidden;
    border:1px solid #cfe2db;
    border-radius:25px;
    background:#fff;
    box-shadow:0 22px 55px rgba(11,102,108,.09);
}
.home-aqua-visual{
    position:relative;
    min-height:430px;
    overflow:hidden;
    background:#08676d;
}
.home-aqua-visual>img{
    width:100%;
    height:100%;
    min-height:430px;
    display:block;
    object-fit:cover;
    object-position:center;
}
.home-aqua-visual::after{
    content:"";
    position:absolute;
    inset:45% 0 0;
    background:linear-gradient(to bottom,transparent,rgba(3,57,62,.88));
}
.home-aqua-visual-mark{
    position:absolute;
    z-index:2;
    left:25px;
    right:25px;
    bottom:23px;
    color:#fff;
}
.home-aqua-visual-mark span{
    display:block;
    color:#c9ebe0;
    font-size:7px;
    font-weight:950;
    letter-spacing:.14em;
}
.home-aqua-visual-mark strong{
    display:block;
    margin-top:4px;
    font-family:Georgia,serif;
    font-size:35px;
    line-height:1;
}
.home-aqua-copy{
    align-self:center;
    padding:48px 52px;
}
.home-aqua-copy h2{
    max-width:720px;
    margin:7px 0 16px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(34px,4vw,48px);
    line-height:1.05;
    letter-spacing:-.025em;
}
.home-aqua-copy>p:not(.eyebrow){
    max-width:720px;
    margin:0;
    color:#6a7e77;
    font-size:14px;
    line-height:1.75;
}
.home-aqua-copy>p strong{color:#08777e}
.home-aqua-phrases{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:24px;
}
.home-aqua-phrases span{
    display:inline-flex;
    align-items:center;
    padding:8px 12px;
    border:1px solid #bcded2;
    border-radius:999px;
    background:#f2faf7;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    letter-spacing:.04em;
}
.home-aqua-actions{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:27px;
    flex-wrap:wrap;
}

/* About: Aqua identity */
.about-aqua-section{
    position:relative;
    overflow:hidden;
    background:#0b666c;
    color:#fff;
}
.about-aqua-section::before{
    content:"AQUA";
    position:absolute;
    right:-35px;
    top:-65px;
    color:rgba(255,255,255,.035);
    font-family:Georgia,serif;
    font-size:220px;
    font-weight:900;
    line-height:1;
    pointer-events:none;
}
.about-aqua-heading{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
    gap:55px;
    align-items:end;
}
.about-aqua-heading .eyebrow{color:#bfe5d9}
.about-aqua-heading h2{
    max-width:760px;
    margin:7px 0 0;
    color:#fff;
    font-family:Georgia,serif;
    font-size:clamp(37px,5vw,55px);
    line-height:1.03;
}
.about-aqua-heading>p{
    margin:0 0 4px;
    color:#d7ebe5;
    font-size:14px;
    line-height:1.7;
}
.about-aqua-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px;
    margin-top:34px;
}
.about-aqua-card{
    min-height:190px;
    padding:22px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:17px;
    background:rgba(255,255,255,.065);
}
.about-aqua-card-featured{
    background:#fff;
    color:#315052;
}
.about-aqua-card>span{
    color:#a9d9c9;
    font-size:14px;
    font-weight:950;
}
.about-aqua-card-featured>span{color:#08777e}
.about-aqua-card>strong{
    display:block;
    margin-top:24px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:23px;
}
.about-aqua-card-featured>strong{color:#08777e}
.about-aqua-card>p{
    margin:9px 0 0;
    color:#d9e9e4;
    font-size:14px;
    line-height:1.6;
}
.about-aqua-card-featured>p{color:#6f817b}
.about-aqua-footer{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    margin-top:20px;
    padding:20px 22px;
    border-top:1px solid rgba(255,255,255,.18);
}
.about-aqua-footer>div{display:grid;gap:3px}
.about-aqua-footer>div span{
    color:#a9d9c9;
    font-size:14px;
    font-weight:950;
    letter-spacing:.11em;
}
.about-aqua-footer>div strong{
    color:#fff;
    font-family:Georgia,serif;
    font-size:18px;
}
.about-aqua-footer>a{
    color:#fff;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}

/* Footer Aqua identity */

@media(max-width:950px){
    .home-aqua-card,
    .about-aqua-heading{
        grid-template-columns:1fr;
    }
    .about-aqua-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .home-aqua-visual{min-height:360px}
    .home-aqua-visual>img{min-height:360px}
}
@media(max-width:700px){
    .home-aqua-copy{padding:30px 22px}
    .home-aqua-visual{min-height:320px}
    .home-aqua-visual>img{min-height:320px}
    .about-aqua-grid{grid-template-columns:1fr}
    .about-aqua-heading{gap:20px}
    .about-aqua-footer{
        align-items:flex-start;
        flex-direction:column;
        padding-left:0;
        padding-right:0;
    }
    .about-aqua-section::before{
        right:-20px;
        top:-30px;
        font-size:120px;
    }
}

/* =========================================================
   Limited Member — Personalized Welcome
   ========================================================= */
.limited-member-welcome{
    position:relative;
    overflow:hidden;
    padding:58px 0;
    background:
        radial-gradient(circle at 88% 20%,rgba(134,201,175,.22),transparent 29%),
        linear-gradient(135deg,#edf8f4,#ffffff 58%,#e8f5f2);
}
.limited-member-welcome::after{
    content:"AQUA";
    position:absolute;
    right:-20px;
    bottom:-85px;
    color:rgba(10,138,146,.035);
    font-family:Georgia,serif;
    font-size:190px;
    font-weight:900;
    line-height:1;
    pointer-events:none;
}
.limited-member-welcome-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);
    gap:48px;
    align-items:center;
}
.limited-member-welcome-copy h1{
    margin:8px 0 14px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(48px,6vw,72px);
    line-height:.98;
    letter-spacing:-.035em;
}
.limited-member-welcome-lead{
    max-width:760px;
    margin:0;
    color:#627872;
    font-size:14px;
    line-height:1.72;
}
.limited-member-welcome-meta{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:24px;
}
.limited-member-welcome-meta>span{
    display:grid;
    gap:2px;
    padding:9px 12px;
    border:1px solid #c9dfd7;
    border-radius:11px;
    background:rgba(255,255,255,.76);
    color:#45635d;
    font-size:14px;
    font-weight:850;
}
.limited-member-welcome-meta b{
    color:#0a8a92;
    font-size:14px;
    letter-spacing:.11em;
}
.limited-member-welcome-card{
    padding:27px;
    border:1px solid #c5ddd4;
    border-radius:21px;
    background:#0b666c;
    color:#fff;
    box-shadow:0 18px 44px rgba(10,91,96,.13);
}
.limited-member-welcome-card>span{
    color:#bfe5d9;
    font-size:14px;
    font-weight:950;
    letter-spacing:.13em;
}
.limited-member-welcome-card>strong{
    display:block;
    margin-top:7px;
    font-family:Georgia,serif;
    font-size:25px;
    line-height:1.12;
}
.limited-member-welcome-card>p{
    margin:11px 0 0;
    color:#d9ece6;
    font-size:14px;
    line-height:1.65;
}
.limited-member-aqua-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:18px;
}
.limited-member-aqua-tags i{
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:#fff;
    font-size:14px;
    font-style:normal;
    font-weight:900;
}
@media(max-width:900px){
    .limited-member-welcome-grid{
        grid-template-columns:1fr;
        gap:28px;
    }
    .limited-member-welcome-card{
        max-width:540px;
    }
}
@media(max-width:700px){
    .limited-member-welcome{padding:44px 0}
    .limited-member-welcome::after{font-size:110px}
    .limited-member-welcome-meta{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:470px){
    .limited-member-welcome-meta{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   DHS PSAN — Aqua Access Limited Member Dashboard
   ========================================================= */
.aqua-access-dashboard-section{
    background:#f7fbf9;
}
.aqua-access-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin-bottom:20px;
    padding:20px 23px;
    border:1px solid #c7dfd6;
    border-radius:18px;
    background:#fff;
}
.aqua-access-topbar>div{
    display:grid;
    gap:3px;
}
.aqua-access-topbar>div>span,
.aqua-access-metrics article>span:first-child,
.aqua-access-card-heading>span,
.aqua-access-community-pulse>span,
.aqua-access-year-top>span,
.aqua-access-upgrade-intro>span,
.aqua-access-account-grid article>span,
.member-profile-form-heading>span,
.member-profile-privacy>div:first-child>span,
.member-profile-side-card>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.aqua-access-topbar>div>strong{
    color:#173f41;
    font-family:Georgia,serif;
    font-size:25px;
}
.aqua-access-topbar>div>p{
    margin:0;
    color:#6b7d77;
    font-size:14px;
}
.aqua-access-topbar>a{
    flex:0 0 auto;
    color:#08777e;
    font-size:14px;
    font-weight:950;
    text-decoration:none;
}
.aqua-access-metrics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}
.aqua-access-metrics article{
    min-height:160px;
    padding:19px;
    border:1px solid #d5e4df;
    border-radius:17px;
    background:#fff;
}
.aqua-access-metrics article>strong{
    display:block;
    margin-top:18px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:27px;
    line-height:1;
}
.aqua-access-metrics article>strong.is-good,
.aqua-access-account-grid strong.is-good{color:#08775d}
.aqua-access-metrics article>strong.is-warn,
.aqua-access-account-grid strong.is-warn{color:#a36b16}
.aqua-access-metrics article>p{
    min-height:30px;
    margin:7px 0 0;
    color:#6d7f79;
    font-size:14px;
    line-height:1.5;
}
.aqua-access-metrics article>a{
    display:inline-block;
    margin-top:11px;
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.aqua-access-locked-inline{
    display:block;
    margin-top:9px;
    color:#81938d !important;
    font-size:14px!important;
    font-weight:750 !important;
    letter-spacing:0 !important;
}
.aqua-access-block{
    margin-top:44px;
}
.aqua-access-section-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:25px;
    margin-bottom:18px;
}
.aqua-access-section-heading h2{
    margin:5px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(29px,4vw,38px);
    line-height:1.05;
}
.aqua-access-section-heading>a{
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.aqua-access-content-grid{
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);
    gap:14px;
}
.aqua-access-news-column{
    display:grid;
    gap:9px;
}
.aqua-access-news-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:107px;
    padding:17px 19px;
    border:1px solid #d5e4df;
    border-radius:15px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}
.aqua-access-news-card:hover{
    border-color:#86c9af;
    transform:translateY(-1px);
}
.aqua-access-news-card>div{
    min-width:0;
}
.aqua-access-news-card>div>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.09em;
}
.aqua-access-news-card>div>strong{
    display:block;
    margin-top:4px;
    color:#244a4b;
    font-size:14px;
}
.aqua-access-news-card>div>p{
    margin:5px 0 0;
    color:#74847f;
    font-size:14px;
    line-height:1.45;
}
.aqua-access-news-card>small{
    flex:0 0 auto;
    color:#8c9a95;
    font-size:14px;
}
.aqua-access-community-pulse{
    padding:24px;
    border-radius:18px;
    background:#0b666c;
    color:#fff;
}
.aqua-access-community-pulse>span{
    color:#bfe5d9;
}
.aqua-access-community-pulse>strong{
    display:block;
    margin-top:7px;
    font-family:Georgia,serif;
    font-size:25px;
    line-height:1.08;
}
.aqua-access-community-pulse>p{
    margin:11px 0 0;
    color:#d7ebe5;
    font-size:14px;
    line-height:1.6;
}
.aqua-access-pulse-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
    margin-top:22px;
}
.aqua-access-pulse-stats>div{
    padding:11px 9px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:11px;
    background:rgba(255,255,255,.06);
}
.aqua-access-pulse-stats b{
    display:block;
    font-family:Georgia,serif;
    font-size:17px;
}
.aqua-access-pulse-stats small{
    display:block;
    margin-top:3px;
    color:#cce4dd;
    font-size:14px;
    line-height:1.3;
}
.aqua-access-network-preview{
    padding:30px;
    border:1px solid #cfe1db;
    border-radius:22px;
    background:#eef8f4;
}
.aqua-access-network-grid{
    display:grid;
    grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
    gap:14px;
}
.aqua-access-year-card{
    padding:24px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 15px 38px rgba(16,93,92,.06);
}
.aqua-access-year-top{
    display:grid;
    gap:3px;
}
.aqua-access-year-top>b{
    color:#42605a;
    font-size:14px;
}
.aqua-access-year-card>strong{
    display:block;
    margin-top:28px;
    color:#0a8a92;
    font-family:Georgia,serif;
    font-size:52px;
    line-height:.9;
}
.aqua-access-year-card>p{
    margin:9px 0 0;
    color:#697c76;
    font-size:14px;
    line-height:1.55;
}
.aqua-access-year-actions{
    display:grid;
    gap:8px;
    margin-top:28px;
    padding-top:15px;
    border-top:1px solid #e1ebe7;
}
.aqua-access-year-actions>a{
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.aqua-access-year-actions>span{
    color:#8a9994;
    font-size:14px;
    line-height:1.45;
}
.aqua-access-locked-features{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
}
.aqua-access-locked-features article{
    position:relative;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:11px;
    min-height:132px;
    padding:17px;
    border:1px solid #d5e4df;
    border-radius:15px;
    background:rgba(255,255,255,.78);
}
.aqua-lock-icon{
    display:grid;
    place-items:center;
    width:29px;
    height:29px;
    border-radius:9px;
    background:#e6f2ee;
    font-size:11px;
}
.aqua-access-locked-features article>div>strong{
    color:#294d4e;
    font-size:14px;
}
.aqua-access-locked-features article>div>p{
    margin:5px 0 0;
    color:#73847f;
    font-size:14px;
    line-height:1.45;
}
.aqua-access-locked-features article>b{
    position:absolute;
    left:17px;
    bottom:14px;
    color:#0a8a92;
    font-size:14px;
    letter-spacing:.08em;
}
.aqua-access-discovery-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(310px,.78fr);
    gap:14px;
}
.aqua-access-events-card,
.aqua-access-newsletter-card{
    border:1px solid #d5e4df;
    border-radius:18px;
    background:#fff;
    overflow:hidden;
}
.aqua-access-events-card{
    padding:20px;
}
.aqua-access-card-heading{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin-bottom:10px;
}
.aqua-access-card-heading>a{
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.aqua-access-event-row{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:13px;
    align-items:center;
    padding:13px 0;
    border-top:1px solid #e5ece9;
    color:inherit;
    text-decoration:none;
}
.aqua-access-event-date{
    display:grid;
    place-items:center;
    width:43px;
    height:45px;
    border-radius:11px;
    background:#eef8f4;
    color:#08777e;
}
.aqua-access-event-date b{
    font-family:Georgia,serif;
    font-size:16px;
    line-height:1;
}
.aqua-access-event-date span{
    font-size:14px;
    font-weight:900;
}
.aqua-access-event-row>div:nth-child(2)>strong{
    color:#294d4e;
    font-size:14px;
}
.aqua-access-event-row>div:nth-child(2)>p{
    margin:3px 0 0;
    color:#81908b;
    font-size:14px;
}
.aqua-access-event-row>span{
    color:#0a8a92;
    font-weight:900;
}
.aqua-access-newsletter-card{
    display:grid;
    grid-template-columns:minmax(125px,.42fr) minmax(0,.58fr);
}
.aqua-access-newsletter-art{
    min-height:270px;
    overflow:hidden;
    background:#0b666c;
}
.aqua-access-newsletter-art img{
    width:100%;
    height:100%;
    min-height:270px;
    display:block;
    object-fit:cover;
}
.aqua-access-newsletter-copy{
    align-self:center;
    padding:24px;
}
.aqua-access-newsletter-copy>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.11em;
}
.aqua-access-newsletter-copy>strong{
    display:block;
    margin-top:7px;
    color:#264b4c;
    font-family:Georgia,serif;
    font-size:22px;
    line-height:1.08;
}
.aqua-access-newsletter-copy>p{
    margin:10px 0 0;
    color:#71837d;
    font-size:14px;
    line-height:1.55;
}
.aqua-access-newsletter-copy>a{
    display:inline-block;
    margin-top:17px;
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.aqua-access-upgrade{
    display:grid;
    grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
    gap:32px;
    margin-top:48px;
    padding:34px;
    border-radius:23px;
    background:#0b666c;
    color:#fff;
}
.aqua-access-upgrade-intro>span{
    color:#bfe5d9;
}
.aqua-access-upgrade-intro h2{
    margin:8px 0 12px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:33px;
    line-height:1.05;
}
.aqua-access-upgrade-intro>p{
    margin:0;
    color:#d5e9e3;
    font-size:14px;
    line-height:1.6;
}
.aqua-access-upgrade-intro>.button{
    margin-top:21px;
}
.aqua-access-upgrade-intro>small{
    display:block;
    margin-top:13px;
    color:#bcd9d1;
    font-size:14px;
    line-height:1.5;
}
.aqua-access-plan-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
}
.aqua-access-plan-grid article{
    padding:17px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:15px;
    background:rgba(255,255,255,.07);
}
.aqua-access-plan-grid article>span{
    color:#bfe5d9;
    font-size:14px;
    font-weight:950;
    letter-spacing:.08em;
}
.aqua-access-plan-grid article>strong{
    display:block;
    min-height:52px;
    margin-top:7px;
    color:#fff;
    font-size:14px;
    line-height:1.45;
}
.aqua-access-plan-grid ul{
    margin:13px 0 0;
    padding-left:15px;
    color:#d8ebe5;
    font-size:14px;
    line-height:1.65;
}
.aqua-access-plan-grid article>b{
    display:block;
    margin-top:14px;
    color:#fff;
    font-size:14px;
}
.aqua-access-account{
    margin-top:45px;
}
.aqua-access-account-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}
.aqua-access-account-grid article{
    padding:17px;
    border:1px solid #d9e6e1;
    border-radius:14px;
    background:#fff;
}
.aqua-access-account-grid article>strong{
    display:block;
    margin-top:9px;
    color:#294d4e;
    font-size:14px;
}
.aqua-access-account-grid article>p{
    margin:5px 0 0;
    color:#7e8d88;
    font-size:14px;
    line-height:1.45;
}
.aqua-access-empty{
    padding:22px;
    border:1px dashed #c7dcd4;
    border-radius:14px;
    background:#fff;
}
.aqua-access-empty>strong{
    color:#345657;
    font-size:14px;
}
.aqua-access-empty>p{
    margin:5px 0 0;
    color:#80908b;
    font-size:14px;
}
.aqua-access-empty.is-compact{
    margin-top:9px;
}

/* Member Profile */
.member-profile-hero{
    padding:54px 0;
    background:
        radial-gradient(circle at 88% 20%,rgba(134,201,175,.20),transparent 28%),
        linear-gradient(135deg,#edf8f4,#fff);
}
.member-profile-hero-grid{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:35px;
}
.member-profile-hero h1{
    max-width:720px;
    margin:6px 0 10px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(38px,5vw,53px);
    line-height:1.02;
}
.member-profile-hero p:not(.eyebrow){
    max-width:680px;
    margin:0;
    color:#697d76;
    font-size:14px;
    line-height:1.65;
}
.member-profile-back{
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.member-profile-section{background:#f7fbf9}
.member-profile-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 285px;
    gap:18px;
    align-items:start;
}
.member-profile-form{
    padding:28px;
    border:1px solid #d4e3de;
    border-radius:20px;
    background:#fff;
}
.member-profile-form-heading{
    margin-bottom:16px;
}
.member-profile-form-heading.is-secondary{
    margin-top:31px;
    padding-top:25px;
    border-top:1px solid #e2ece8;
}
.member-profile-form-heading h2{
    margin:4px 0 0;
    color:#274d4e;
    font-family:Georgia,serif;
    font-size:24px;
}
.member-profile-form-heading>p{
    margin:5px 0 0;
    color:#82918c;
    font-size:14px;
}
.member-profile-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
}
.member-profile-form-grid.is-three{
    grid-template-columns:repeat(3,1fr);
}
.member-profile-form label{
    display:grid;
    gap:6px;
}
.member-profile-form label>span{
    color:#516b65;
    font-size:14px;
    font-weight:850;
}
.member-profile-form input,
.member-profile-form textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #cbdcd6;
    border-radius:10px;
    background:#fbfdfc;
    color:#304f4e;
    font:inherit;
    font-size:14px;
    padding:10px 11px;
}
.member-profile-form input:focus,
.member-profile-form textarea:focus{
    outline:2px solid rgba(10,138,146,.16);
    border-color:#0a8a92;
}
.member-profile-form input:disabled{
    background:#f1f4f3;
    color:#899590;
}
.member-profile-form label>small{
    color:#9aa6a2;
    font-size:14px;
}
.member-profile-span-two{
    grid-column:1 / -1;
}
.member-profile-privacy{
    display:grid;
    grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
    gap:22px;
    margin-top:28px;
    padding:20px;
    border-radius:15px;
    background:#eef7f4;
}
.member-profile-privacy>div:first-child>strong{
    display:block;
    margin-top:5px;
    color:#2d5252;
    font-size:14px;
}
.member-profile-privacy>div:first-child>p{
    margin:6px 0 0;
    color:#758681;
    font-size:14px;
    line-height:1.5;
}
.member-profile-radio-group{
    display:grid;
    gap:8px;
}
.member-profile-radio-group label{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:9px;
    align-items:start;
    padding:10px;
    border:1px solid #d3e2dd;
    border-radius:10px;
    background:#fff;
}
.member-profile-radio-group input{
    width:auto;
    margin-top:2px;
}
.member-profile-radio-group label span strong{
    display:block;
    color:#355858;
    font-size:14px;
}
.member-profile-radio-group label span small{
    display:block;
    margin-top:2px;
    color:#82918c;
    font-size:14px;
}
.member-profile-actions{
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:25px;
}
.member-profile-actions>a{
    color:#6f827b;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
}
.member-profile-side{
    display:grid;
    gap:10px;
    position:sticky;
    top:105px;
}
.member-profile-side-card{
    padding:22px;
    border-radius:17px;
    background:#0b666c;
    color:#fff;
}
.member-profile-side-card>span{color:#bfe5d9}
.member-profile-side-card>strong{
    display:block;
    margin-top:8px;
    font-family:Georgia,serif;
    font-size:22px;
    line-height:1.1;
}
.member-profile-side-card>p{
    margin:9px 0 0;
    color:#d8ebe5;
    font-size:14px;
    line-height:1.55;
}
.member-profile-side-card.is-light{
    border:1px solid #d4e3de;
    background:#fff;
    color:#2d5152;
}
.member-profile-side-card.is-light>span{color:#0a8a92}
.member-profile-side-card.is-light>p{color:#71837d}
.member-profile-errors{
    margin-bottom:20px;
    padding:14px 16px;
    border:1px solid #e6b9b9;
    border-radius:11px;
    background:#fff5f5;
    color:#803c3c;
    font-size:14px;
}
.member-profile-errors ul{
    margin:6px 0 0;
    padding-left:16px;
}

@media(max-width:1050px){
    .aqua-access-metrics,
    .aqua-access-account-grid{
        grid-template-columns:1fr 1fr;
    }
    .aqua-access-upgrade{
        grid-template-columns:1fr;
    }
    .member-profile-layout{
        grid-template-columns:1fr;
    }
    .member-profile-side{
        position:static;
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:850px){
    .aqua-access-content-grid,
    .aqua-access-network-grid,
    .aqua-access-discovery-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:700px){
    .aqua-access-topbar,
    .aqua-access-section-heading,
    .member-profile-hero-grid{
        align-items:flex-start;
        flex-direction:column;
    }
    .aqua-access-metrics,
    .aqua-access-account-grid,
    .aqua-access-locked-features,
    .aqua-access-plan-grid,
    .member-profile-form-grid,
    .member-profile-form-grid.is-three,
    .member-profile-privacy,
    .member-profile-side{
        grid-template-columns:1fr;
    }
    .aqua-access-network-preview,
    .aqua-access-upgrade,
    .member-profile-form{
        padding:20px;
    }
    .aqua-access-newsletter-card{
        grid-template-columns:120px 1fr;
    }
}
@media(max-width:480px){
    .aqua-access-newsletter-card{
        grid-template-columns:1fr;
    }
    .aqua-access-newsletter-art,
    .aqua-access-newsletter-art img{
        min-height:230px;
        max-height:280px;
    }
}

/* =========================================================
   DHS PSAN — Full Member Dashboard
   ========================================================= */
.full-member-welcome{
    position:relative;
    overflow:hidden;
    padding:60px 0;
    background:
        radial-gradient(circle at 88% 18%,rgba(134,201,175,.24),transparent 29%),
        linear-gradient(135deg,#eaf7f2,#ffffff 55%,#e7f5f1);
}
.full-member-welcome::after{
    content:"PSAN";
    position:absolute;
    right:-25px;
    bottom:-90px;
    color:rgba(10,138,146,.035);
    font-family:Georgia,serif;
    font-size:190px;
    font-weight:900;
    pointer-events:none;
}
.full-member-welcome-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
    gap:48px;
    align-items:center;
}
.full-member-welcome-copy h1{
    margin:8px 0 14px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(49px,6vw,72px);
    line-height:.98;
    letter-spacing:-.035em;
}
.full-member-welcome-copy>p{
    max-width:760px;
    margin:0;
    color:#617871;
    font-size:14px;
    line-height:1.72;
}
.full-member-welcome-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:24px;
}
.full-member-welcome-meta>span{
    display:grid;
    gap:2px;
    padding:9px 12px;
    border:1px solid #c8ded6;
    border-radius:10px;
    background:rgba(255,255,255,.78);
    color:#48655f;
    font-size:14px;
    font-weight:850;
}
.full-member-welcome-meta b{
    color:#0a8a92;
    font-size:14px;
    letter-spacing:.11em;
}
.full-member-welcome-card{
    padding:28px;
    border-radius:21px;
    background:#0b666c;
    color:#fff;
    box-shadow:0 20px 45px rgba(10,91,96,.14);
}
.full-member-welcome-card>span{
    color:#bfe5d9;
    font-size:14px;
    font-weight:950;
    letter-spacing:.12em;
}
.full-member-welcome-card>strong{
    display:block;
    margin-top:7px;
    font-family:Georgia,serif;
    font-size:29px;
}
.full-member-welcome-card>p{
    margin:10px 0 0;
    color:#d7ebe5;
    font-size:14px;
    line-height:1.6;
}
.full-member-plan-date{
    display:grid;
    gap:2px;
    margin-top:18px;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.16);
}
.full-member-plan-date b{
    color:#bfe5d9;
    font-size:14px;
    letter-spacing:.1em;
}
.full-member-plan-date span{
    color:#fff;
    font-size:14px;
}
.full-member-statusbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    padding:21px 23px;
    border:1px solid #c9dfd7;
    border-radius:18px;
    background:#fff;
}
.full-member-statusbar>div:first-child{
    display:grid;
    gap:3px;
}
.full-member-statusbar>div:first-child>span,
.full-member-metrics article>span,
.full-member-panel-title>span,
.full-member-account-card>span,
.full-member-officer-grid>a>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.11em;
}
.full-member-statusbar>div:first-child>strong{
    color:#234a4b;
    font-family:Georgia,serif;
    font-size:24px;
}
.full-member-statusbar>div:first-child>p{
    margin:0;
    color:#71837d;
    font-size:14px;
}
.full-member-statusbar-actions{
    display:flex;
    align-items:center;
    gap:14px;
}
.full-member-statusbar-actions>a:not(.button){
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.full-member-metrics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:11px;
    margin-top:13px;
}
.full-member-metrics article{
    min-height:154px;
    padding:19px;
    border:1px solid #d5e4df;
    border-radius:16px;
    background:#fff;
}
.full-member-metrics article>strong{
    display:block;
    margin-top:17px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:28px;
}
.full-member-metrics article>p{
    min-height:30px;
    margin:5px 0 0;
    color:#74857f;
    font-size:14px;
    line-height:1.45;
}
.full-member-metrics article>a{
    display:inline-block;
    margin-top:10px;
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.full-member-block{
    margin-top:45px;
}
.full-member-heading{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:25px;
    margin-bottom:17px;
}
.full-member-heading h2{
    margin:5px 0 0;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(30px,4vw,39px);
}
.full-member-heading>a,
.full-member-heading>span{
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.full-member-launch-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:11px;
}
.full-member-launch-card{
    position:relative;
    min-height:225px;
    padding:21px;
    border:1px solid #d4e4de;
    border-radius:18px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}
.full-member-launch-card.is-live{
    border-color:#b8d9cd;
    background:linear-gradient(145deg,#fff,#f1f9f6);
}
.full-member-launch-card>span{
    color:#91aaa2;
    font-size:14px;
    font-weight:950;
}
.full-member-launch-card>strong{
    display:block;
    margin-top:24px;
    color:#284d4e;
    font-family:Georgia,serif;
    font-size:21px;
    line-height:1.08;
}
.full-member-launch-card>p{
    margin:9px 0 0;
    color:#74857f;
    font-size:14px;
    line-height:1.55;
}
.full-member-launch-card>b{
    position:absolute;
    left:21px;
    right:21px;
    bottom:19px;
    color:#08777e;
    font-size:14px;
    letter-spacing:.07em;
}
.full-member-launch-card>em{
    position:absolute;
    left:21px;
    right:21px;
    bottom:7px;
    color:#9ba8a4;
    font-size:14px;
    font-style:normal;
}
.full-member-preview-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.full-member-preview-card{
    display:flex;
    align-items:center;
    gap:13px;
    min-height:95px;
    padding:14px;
    border:1px solid #d7e5e0;
    border-radius:14px;
    background:#fff;
}
.full-member-preview-avatar{
    flex:0 0 49px;
    width:49px;
    height:49px;
    overflow:hidden;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e7f4ef;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:20px;
    font-weight:900;
}
.full-member-preview-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.full-member-preview-card>div:last-child>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.07em;
}
.full-member-preview-card>div:last-child>strong{
    display:block;
    margin-top:2px;
    color:#315455;
    font-size:14px;
}
.full-member-preview-card>div:last-child>p{
    margin:3px 0 0;
    color:#83918d;
    font-size:14px;
}
.full-member-year-section{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:32px;
    padding:30px;
    border-radius:22px;
    background:#0b666c;
    color:#fff;
}
.full-member-year-copy .eyebrow{color:#bfe5d9}
.full-member-year-copy h2{
    margin:6px 0 10px;
    color:#fff;
    font-family:Georgia,serif;
    font-size:32px;
    line-height:1.05;
}
.full-member-year-copy>p{
    margin:0;
    color:#d5e9e3;
    font-size:14px;
    line-height:1.6;
}
.full-member-year-copy>a{
    display:inline-block;
    margin-top:17px;
    color:#fff;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.full-member-year-people{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    align-content:center;
}
.full-member-year-people>div:not(.full-member-year-empty){
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:12px;
    background:rgba(255,255,255,.06);
}
.full-member-year-people>div>span{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-family:Georgia,serif;
    font-size:14px;
}
.full-member-year-people p{
    margin:0;
}
.full-member-year-people p strong{
    display:block;
    color:#fff;
    font-size:14px;
}
.full-member-year-people p small{
    display:block;
    margin-top:2px;
    color:#c6ded7;
    font-size:14px;
}
.full-member-year-empty{
    grid-column:1 / -1;
    padding:20px;
    border:1px dashed rgba(255,255,255,.22);
    border-radius:13px;
}
.full-member-year-empty strong{
    display:block;
    color:#fff;
    font-size:14px;
}
.full-member-year-empty span{
    display:block;
    margin-top:4px;
    color:#c6ded7;
    font-size:14px;
}
.full-member-content-grid{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:11px;
}
.full-member-news-panel,
.full-member-events-panel,
.full-member-aquapride-panel{
    min-height:310px;
    border:1px solid #d5e4df;
    border-radius:17px;
    background:#fff;
    overflow:hidden;
}
.full-member-news-panel,
.full-member-events-panel{
    padding:19px;
}
.full-member-panel-title{
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin-bottom:8px;
}
.full-member-panel-title>a{
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.full-member-news-panel>a{
    display:block;
    padding:13px 0;
    border-top:1px solid #e5ece9;
    color:inherit;
    text-decoration:none;
}
.full-member-news-panel>a>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:900;
}
.full-member-news-panel>a>strong{
    display:block;
    margin-top:3px;
    color:#315455;
    font-size:14px;
    line-height:1.35;
}
.full-member-news-panel>a>small{
    display:block;
    margin-top:4px;
    color:#8c9995;
    font-size:14px;
}
.full-member-events-panel>a{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:11px;
    align-items:center;
    padding:12px 0;
    border-top:1px solid #e5ece9;
    color:inherit;
    text-decoration:none;
}
.full-member-events-panel>a>div{
    display:grid;
    place-items:center;
    width:39px;
    height:42px;
    border-radius:9px;
    background:#eef8f4;
    color:#08777e;
}
.full-member-events-panel>a>div>b{
    font-family:Georgia,serif;
    font-size:14px;
}
.full-member-events-panel>a>div>span{
    font-size:14px;
    font-weight:900;
}
.full-member-events-panel>a>p{
    margin:0;
}
.full-member-events-panel>a>p>strong{
    display:block;
    color:#315455;
    font-size:14px;
}
.full-member-events-panel>a>p>small{
    display:block;
    margin-top:3px;
    color:#87948f;
    font-size:14px;
}
.full-member-aquapride-panel{
    display:grid;
    grid-template-rows:150px 1fr;
}
.full-member-aquapride-art{
    overflow:hidden;
    background:#0b666c;
}
.full-member-aquapride-art img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.full-member-aquapride-panel>div:last-child{
    padding:18px;
}
.full-member-aquapride-panel>div:last-child>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.1em;
}
.full-member-aquapride-panel>div:last-child>strong{
    display:block;
    margin-top:5px;
    color:#2e5353;
    font-family:Georgia,serif;
    font-size:19px;
}
.full-member-aquapride-panel>div:last-child>p{
    margin:7px 0 0;
    color:#7b8a85;
    font-size:14px;
}
.full-member-aquapride-panel>div:last-child>a{
    display:inline-block;
    margin-top:13px;
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.full-member-account-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}
.full-member-account-card{
    min-height:205px;
    padding:19px;
    border:1px solid #d6e4df;
    border-radius:16px;
    background:#fff;
}
.full-member-account-card.is-plan{
    background:#eef8f4;
}
.full-member-account-card>strong{
    display:block;
    margin-top:15px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:20px;
}
.full-member-account-card>strong.is-good{color:#08775d}
.full-member-account-card>strong.is-warn{color:#a36b16}
.full-member-account-card>p{
    margin:8px 0 0;
    color:#7b8a85;
    font-size:14px;
    line-height:1.5;
}
.full-member-account-card>ul{
    margin:12px 0 0;
    padding-left:15px;
    color:#647a73;
    font-size:14px;
    line-height:1.65;
}
.full-member-account-card>small{
    display:block;
    margin-top:12px;
    color:#869590;
    font-size:14px;
}
.full-member-officer-tools{
    padding-top:29px;
    border-top:1px solid #d9e5e1;
}
.full-member-officer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.full-member-officer-grid>a{
    padding:18px;
    border:1px solid #d4e3de;
    border-radius:14px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}
.full-member-officer-grid>a>strong{
    display:block;
    margin-top:7px;
    color:#315455;
    font-size:14px;
}
.full-member-officer-grid>a>p{
    margin:5px 0 0;
    color:#7b8a85;
    font-size:14px;
}
.full-member-empty{
    padding:18px;
    border:1px dashed #c9dcd5;
    border-radius:12px;
}
.full-member-empty>strong{
    color:#3a5b5b;
    font-size:14px;
}
.full-member-empty>p{
    margin:4px 0 0;
    color:#879590;
    font-size:14px;
}

/* Full Member Directory */
.full-member-directory-hero{
    padding:52px 0;
    background:
        radial-gradient(circle at 88% 15%,rgba(134,201,175,.18),transparent 28%),
        linear-gradient(135deg,#edf8f4,#fff);
}
.full-member-directory-hero-grid{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:35px;
}
.full-member-directory-hero h1{
    max-width:760px;
    margin:6px 0 10px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(40px,5vw,55px);
}
.full-member-directory-hero p:not(.eyebrow){
    max-width:720px;
    margin:0;
    color:#6e817a;
    font-size:14px;
    line-height:1.6;
}
.full-member-directory-hero a{
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}
.full-member-directory-section{background:#f7fbf9}
.full-member-directory-filters{
    display:grid;
    grid-template-columns:minmax(230px,1.4fr) 170px 190px auto auto;
    gap:10px;
    align-items:end;
    padding:17px;
    border:1px solid #d4e3de;
    border-radius:16px;
    background:#fff;
}
.full-member-directory-filters label{
    display:grid;
    gap:5px;
}
.full-member-directory-filters label>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.09em;
}
.full-member-directory-filters input,
.full-member-directory-filters select{
    width:100%;
    box-sizing:border-box;
    padding:9px 10px;
    border:1px solid #cbdcd6;
    border-radius:9px;
    background:#fbfdfc;
    color:#345454;
    font:inherit;
    font-size:14px;
}
.full-member-directory-clear{
    padding-bottom:8px;
    color:#7f8d88;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
}
.full-member-directory-summary{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin:23px 0 12px;
}
.full-member-directory-summary>div{
    display:grid;
    gap:2px;
}
.full-member-directory-summary>div>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
}
.full-member-directory-summary>div>strong{
    color:#315455;
    font-family:Georgia,serif;
    font-size:20px;
}
.full-member-directory-summary>p{
    margin:0;
    color:#84918d;
    font-size:14px;
}
.full-member-directory-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.full-member-person-card{
    display:flex;
    gap:14px;
    align-items:center;
    min-height:120px;
    padding:16px;
    border:1px solid #d5e4df;
    border-radius:15px;
    background:#fff;
}
.full-member-person-avatar{
    flex:0 0 56px;
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    background:#e6f4ef;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:22px;
    font-weight:900;
}
.full-member-person-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.full-member-person-copy>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
}
.full-member-person-copy>strong{
    display:block;
    margin-top:3px;
    color:#315455;
    font-size:14px;
}
.full-member-person-copy>p{
    margin:4px 0 0;
    color:#72837d;
    font-size:14px;
}
.full-member-person-copy>small{
    display:block;
    margin-top:4px;
    color:#8b9894;
    font-size:14px;
}
.full-member-directory-empty{
    grid-column:1 / -1;
    padding:28px;
    border:1px dashed #c8dcd4;
    border-radius:14px;
    background:#fff;
}
.full-member-directory-empty>strong{
    color:#315455;
    font-size:14px;
}
.full-member-directory-empty>p{
    margin:4px 0 0;
    color:#82908c;
    font-size:14px;
}
.full-member-directory-pagination{
    margin-top:25px;
}

@media(max-width:1080px){
    .full-member-metrics,
    .full-member-account-grid{
        grid-template-columns:1fr 1fr;
    }
    .full-member-launch-grid{
        grid-template-columns:1fr 1fr;
    }
    .full-member-content-grid{
        grid-template-columns:1fr 1fr;
    }
    .full-member-aquapride-panel{
        grid-column:1 / -1;
        grid-template-columns:180px 1fr;
        grid-template-rows:none;
    }
    .full-member-directory-filters{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:900px){
    .full-member-welcome-grid,
    .full-member-year-section{
        grid-template-columns:1fr;
    }
    .full-member-preview-grid,
    .full-member-directory-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:700px){
    .full-member-statusbar,
    .full-member-heading,
    .full-member-directory-hero-grid,
    .full-member-directory-summary{
        align-items:flex-start;
        flex-direction:column;
    }
    .full-member-metrics,
    .full-member-launch-grid,
    .full-member-preview-grid,
    .full-member-content-grid,
    .full-member-account-grid,
    .full-member-officer-grid,
    .full-member-directory-grid,
    .full-member-directory-filters{
        grid-template-columns:1fr;
    }
    .full-member-year-people{
        grid-template-columns:1fr;
    }
    .full-member-aquapride-panel{
        grid-column:auto;
        grid-template-columns:120px 1fr;
    }
    .full-member-statusbar-actions{
        width:100%;
        justify-content:space-between;
    }
}
@media(max-width:480px){
    .full-member-aquapride-panel{
        grid-template-columns:1fr;
        grid-template-rows:180px 1fr;
    }
}

/* =========================================================
   Member Profile Picture Upload
   ========================================================= */
.member-profile-photo-section{
    display:grid;
    grid-template-columns:130px minmax(0,1fr);
    gap:22px;
    align-items:center;
    margin-bottom:29px;
    padding:20px;
    border:1px solid #d3e3dd;
    border-radius:16px;
    background:#f2f9f6;
}
.member-profile-photo-preview{
    width:118px;
    height:118px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:4px solid #fff;
    border-radius:50%;
    background:#dcefe8;
    box-shadow:0 10px 24px rgba(23,91,85,.10);
}
.member-profile-photo-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.member-profile-photo-preview>span{
    color:#08777e;
    font-family:Georgia,serif;
    font-size:44px;
    font-weight:900;
}
.member-profile-photo-copy>span{
    color:#0a8a92;
    font-size:14px;
    font-weight:950;
    letter-spacing:.11em;
}
.member-profile-photo-copy>strong{
    display:block;
    margin-top:5px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:21px;
}
.member-profile-photo-copy>p{
    max-width:640px;
    margin:7px 0 0;
    color:#72837d;
    font-size:14px;
    line-height:1.55;
}
.member-profile-photo-upload{
    display:inline-flex !important;
    width:auto;
    margin-top:14px;
    cursor:pointer;
}
.member-profile-photo-upload>span{
    display:inline-block;
    padding:8px 12px;
    border-radius:9px;
    background:#0a8a92;
    color:#fff !important;
    font-size:14px!important;
    font-weight:900 !important;
}
.member-profile-photo-upload>input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}
.member-profile-photo-copy>small{
    display:block;
    margin-top:7px;
    color:#8a9994;
    font-size:14px;
}
.full-member-welcome-identity{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:18px;
    align-items:start;
}
.full-member-welcome-avatar{
    width:78px;
    height:78px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:4px solid #fff;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    box-shadow:0 12px 30px rgba(25,91,85,.11);
}
.full-member-welcome-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.full-member-welcome-avatar span{
    font-family:Georgia,serif;
    font-size:28px;
    font-weight:900;
}

@media(max-width:700px){
    .member-profile-photo-section{
        grid-template-columns:1fr;
    }
    .member-profile-photo-preview{
        width:104px;
        height:104px;
    }
    .full-member-welcome-identity{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   Header — keep DHS PSAN Login visible
   ========================================================= */
.nav-guest-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    white-space:nowrap;
}
.nav-login-link{
    display:inline-flex!important;
    visibility:visible!important;
    flex:0 0 auto;
    white-space:nowrap;
}

/* Prevent the desktop navigation from pushing Login outside the header. */
@media(min-width:851px){
    .nav-wrap{
        gap:14px;
    }
    .psa-brand{
        flex:1 1 255px;
        max-width:300px;
    }
    .brand-logo{
        flex:0 0 46px;
        width:46px;
        height:46px;
    }
    .brand-copy strong{
        max-width:235px;
        font-size:14px;
        line-height:1.12;
    }
    .brand-copy small{
        font-size:14px;
    }
    .nav-links{
        flex:0 1 auto;
        min-width:0;
        gap:10px;
        white-space:nowrap;
    }
    .nav-links>a:not(.button),
    .nav-dropdown-trigger,
    .link-button{
        font-size:14px;
    }
    .nav-links .nav-psan-special{
        min-height:38px;
        padding-left:8px;
        padding-right:9px;
        gap:6px;
    }
    .nav-links .button-small.nav-login-link{
        min-height:38px;
        padding-left:11px;
        padding-right:11px;
        font-size:14px;
    }
    .nav-register-link{
        font-size:14px!important;
        padding-left:5px!important;
        padding-right:5px!important;
    }
}

/*
 * On compact desktop widths, prioritize Login over the secondary
 * Join link. Join remains fully available in the mobile menu and
 * on the public registration calls-to-action.
 */
@media(min-width:851px) and (max-width:1120px){
    .nav-wrap{
        gap:9px;
    }
    .psa-brand{
        flex-basis:205px;
        max-width:225px;
    }
    .brand-copy strong{
        max-width:165px;
        font-size:14px;
    }
    .brand-copy small{
        display:none;
    }
    .nav-links{
        gap:6px;
    }
    .nav-links>a:not(.button),
    .nav-dropdown-trigger,
    .link-button{
        font-size:14px;
    }
    .nav-register-link{
        display:none!important;
    }
    .nav-links .nav-psan-special{
        padding-left:7px;
        padding-right:7px;
    }
    .nav-psan-special-mark{
        width:20px;
        height:20px;
    }
    .nav-psan-special-copy strong{
        font-size:14px;
    }
    .nav-links .button-small.nav-login-link{
        padding-left:9px;
        padding-right:9px;
        font-size:14px;
    }
}

/* Mobile navigation owns all auth actions below this breakpoint. */
@media(max-width:850px){
    .nav-guest-actions{
        display:none!important;
    }
}

/* =========================================================
   DHS PSAN — Readable Typography Standard
   Accessibility/readability baseline
   ========================================================= */
:root{
    --type-body:16px;
    --type-body-mobile:16px;
    --type-small:14px;
    --type-label:14px;
    --type-nav:15px;
    --type-control:16px;
    --type-table:15px;
    --type-table-heading:14px;
    --type-h1-min:36px;
    --type-h2-min:28px;
    --type-h3:20px;
    --type-h4:18px;
}

html{
    font-size:100%;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body{
    font-size:var(--type-body);
    line-height:1.6;
}

/* Standard reading text */
main p,
main li,
main dd{
    font-size:var(--type-body)!important;
    line-height:1.65;
}

/* Supporting copy is deliberately not smaller than 14px */
main small,
.site-footer small,
.site-header small{
    font-size:var(--type-small)!important;
    line-height:1.45;
}

/* Form readability; 16px also prevents unwanted mobile zoom */
input,
select,
textarea{
    font-size:var(--type-control)!important;
    line-height:1.45;
}

label,
.stack-form label,
.admin-field>span,
.event-editor-field>span,
.event-editor-choice-label{
    font-size:15px!important;
    line-height:1.45;
}

/* Buttons and interactive text */
button,
.button,
.button-small,
.link-button,
.event-filter,
.constitution-control,
.past-pagination-button,
.past-pagination-page{
    font-size:15px!important;
    line-height:1.25;
}

/* Headings */
main h3{
    font-size:max(var(--type-h3),1.25rem);
    line-height:1.25;
}
main h4{
    font-size:max(var(--type-h4),1.125rem);
    line-height:1.3;
}
main h5,
main h6{
    font-size:16px;
    line-height:1.35;
}

/* Eyebrows, tags, statuses, badges and metadata */
.eyebrow,
.status-label,
.tag,
[class*="-kicker"],
[class*="-eyebrow"],
[class*="-status"],
[class*="-badge"],
[class*="-caption"],
[class*="-meta"] small,
[class*="-meta"] span,
[class*="-label"]{
    font-size:var(--type-label)!important;
    line-height:1.4;
}

/* Avoid applying label sizing to decorative/icon classes */
[class*="-icon"],
[class*="-mark"]{
    line-height:1;
}

/* Primary desktop navigation — readable, not compressed */
@media(min-width:1121px){
    .site-header .container.nav-wrap{
        width:min(calc(100% - 32px),1440px);
    }

    .nav-wrap{
        gap:20px;
    }

    .psa-brand{
        flex:0 1 360px;
        max-width:360px;
    }

    .brand-logo{
        width:50px;
        height:50px;
        flex-basis:50px;
    }

    .brand-copy strong{
        max-width:295px;
        font-size:14px!important;
        line-height:1.2;
    }

    .brand-copy small{
        display:block;
        margin-top:2px;
        font-size:13px!important;
    }

    .nav-links{
        gap:14px;
    }

    .nav-links>a:not(.button),
    .nav-dropdown-trigger,
    .link-button,
    .nav-register-link{
        font-size:var(--type-nav)!important;
    }

    .nav-register-link{
        padding:8px 9px!important;
    }

    .nav-links .button-small.nav-login-link{
        min-height:42px;
        padding-left:13px;
        padding-right:13px;
        font-size:14px!important;
    }

    .nav-psan-special-copy strong{
        font-size:14px!important;
    }

    .nav-psan-special-copy small{
        font-size:12px!important;
    }
}

/*
 * At compact desktop/tablet widths, use the existing mobile navigation
 * instead of shrinking the desktop menu below readable sizes.
 */
@media(max-width:1120px){
    .nav-wrap{
        min-height:68px;
        gap:12px;
    }

    .nav-links{
        display:none!important;
    }

    .psa-brand{
        min-width:0;
        max-width:calc(100% - 90px);
    }

    .brand-logo{
        width:47px;
        height:47px;
        flex-basis:47px;
    }

    .brand-copy strong{
        max-width:430px;
        font-size:14px!important;
        line-height:1.2;
    }

    .brand-copy small{
        font-size:13px!important;
    }

    .mobile-menu-toggle{
        display:grid;
        grid-template-columns:24px auto;
        align-items:center;
        gap:7px;
        min-height:44px;
        padding:0 12px;
        border:1px solid #d2e3dc;
        border-radius:12px;
        background:#fff;
        color:#315052;
        font:inherit;
        cursor:pointer;
        box-shadow:0 5px 14px rgba(18,70,70,.06);
    }

    .mobile-menu-toggle-text{
        display:inline;
        font-size:14px!important;
        font-weight:900;
    }

    .mobile-menu-panel{
        position:absolute;
        z-index:40;
        top:100%;
        left:0;
        right:0;
        display:block;
        border-top:1px solid #dce8e3;
        border-bottom:1px solid #cddfd8;
        background:
            radial-gradient(circle at 92% 0%,rgba(134,201,175,.15),transparent 32%),
            #f8fbfa;
        box-shadow:0 22px 45px rgba(14,63,63,.14);
    }

    .mobile-menu-panel[hidden]{
        display:none!important;
    }

    .mobile-menu-inner{
        max-height:calc(100dvh - 69px);
        overflow-y:auto;
        overscroll-behavior:contain;
    }

    .mobile-menu-links> a strong,
    .mobile-menu-about-link strong,
    .mobile-menu-subitem strong,
    .mobile-menu-register strong,
    .mobile-menu-login strong,
    .mobile-menu-psan strong{
        font-size:15px!important;
        line-height:1.3;
    }

    .mobile-menu-links small,
    .mobile-menu-about-link small,
    .mobile-menu-subitem small,
    .mobile-menu-register small,
    .mobile-menu-login small,
    .mobile-menu-psan small,
    .mobile-menu-psan em,
    .mobile-menu-footer span,
    .mobile-menu-heading span{
        font-size:13px!important;
        line-height:1.4;
    }

    .mobile-menu-heading strong{
        font-size:18px!important;
    }

    .nav-dropdown{
        display:none;
    }

    .nav-guest-actions{
        display:none!important;
    }
}

@media(max-width:520px){
    .brand-copy strong{
        max-width:230px;
        font-size:13px!important;
    }

    .brand-copy small{
        display:none;
    }

    .mobile-menu-toggle{
        width:46px;
        grid-template-columns:1fr;
        padding:0 9px;
    }

    .mobile-menu-toggle-text{
        display:none;
    }
}

/* Footer */
.site-footer,
.site-footer a,
.footer-links a,
.footer-meta,
.footer-meta a,
.footer-brand span{
    font-size:14px!important;
    line-height:1.5;
}

.footer-brand strong{
    font-size:16px!important;
}

/* Data tables and admin screens */
table{
    font-size:var(--type-table);
}

table th,
.admin-event-table th,
.membership-admin-table th{
    font-size:var(--type-table-heading)!important;
    line-height:1.35;
}

table td,
.admin-event-table td,
.membership-admin-table td{
    font-size:var(--type-table)!important;
    line-height:1.5;
}

table td small,
.membership-admin-table small,
.admin-event-table small{
    font-size:14px!important;
}

/* Dashboard/member network */
.metric span,
.metric small,
.full-member-metric span,
.full-member-metric small,
.member-directory-card small,
.member-directory-card span,
.member-directory-meta,
.full-member-launch-card small,
.full-member-welcome-copy p,
.full-member-status-bar span,
.full-member-status-bar small{
    font-size:14px!important;
    line-height:1.45;
}

.member-directory-card p,
.full-member-launch-card p{
    font-size:16px!important;
    line-height:1.6;
}

/* News and events */
.news-event-card p,
.news-modern-card p,
.event-card p,
.event-details,
.event-info-list dd,
.past-event-card p{
    font-size:16px!important;
    line-height:1.6;
}

.news-event-card small,
.news-modern-card small,
.event-card small,
.past-event-card small,
.event-card-meta,
.event-category,
.event-status,
.gatelink-badge,
.event-ticket-link,
.event-info-list dt{
    font-size:14px!important;
    line-height:1.4;
}

/* About, Executive, registration and public feature cards */
.about-modern-section p,
.about-modern-value-card p,
.about-modern-location-card>p,
.about-statement-card p,
.executive-page p,
.exec-profile-card p,
.exec-commitment-card p,
.member-register-access-note p,
.member-register-form p,
.psan-feature-grid p,
.psan-governance-card p{
    font-size:16px!important;
    line-height:1.65;
}

.about-modern-section small,
.executive-page small,
.member-register-hero small,
.member-register-form small{
    font-size:14px!important;
}

/* Event/news editors: compact but comfortably readable */
.event-editor-card p,
.event-editor-field small,
.event-editor-option-card small,
.event-editor-help-card p,
.event-editor-savebar-copy small,
.event-image-dropzone small,
.event-image-remove small,
.admin-form-section-heading>span{
    font-size:14px!important;
    line-height:1.5;
}

.event-editor-step-nav strong,
.event-editor-feature-toggle strong,
.event-editor-option-card strong,
.event-editor-help-card strong,
.event-editor-savebar-copy strong{
    font-size:15px!important;
}

/* Accessible focus remains easy to identify */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:3px solid rgba(10,138,146,.35);
    outline-offset:3px;
}

/* =========================================================
   DHS PSAN Login — always-visible desktop button
   =========================================================
   Root cause:
   `.nav-links a` has greater selector specificity than `.button`
   and applies `background:none` and `border:0`. That left the
   Login link with white button text on the white header until
   `.button:hover` supplied a background.
*/
.nav-links .nav-login-link,
.nav-links .nav-login-link:link,
.nav-links .nav-login-link:visited{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    background:var(--accent)!important;
    color:#fff!important;
    border:1px solid var(--accent)!important;
    text-decoration:none!important;
    opacity:1!important;
    visibility:visible!important;
}

.nav-links .nav-login-link:hover,
.nav-links .nav-login-link:focus-visible{
    background:var(--accent-dark)!important;
    color:#fff!important;
    border-color:var(--accent-dark)!important;
}

.nav-links .nav-login-link:active{
    background:var(--accent-dark)!important;
    color:#fff!important;
    border-color:var(--accent-dark)!important;
    transform:translateY(1px);
}

/* =========================================================
   Full Member — Member Profile Viewing
   ========================================================= */
.full-member-person-card,
.full-member-preview-card,
.full-member-year-people>a{
    color:inherit;
    text-decoration:none;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.full-member-person-card:hover,
.full-member-person-card:focus-visible,
.full-member-preview-card:hover,
.full-member-preview-card:focus-visible{
    transform:translateY(-2px);
    border-color:#9fcfc0;
    box-shadow:0 12px 28px rgba(14,83,77,.10);
    outline:none;
}

.full-member-person-view{
    display:block;
    margin-top:8px;
    color:#08777e;
    font-size:14px;
    font-weight:900;
}

.full-member-preview-card>div:last-child>small{
    display:block;
    margin-top:5px;
    color:#08777e;
    font-size:14px!important;
    font-weight:850;
}

.full-member-year-people>a{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:12px;
    background:rgba(255,255,255,.06);
}

.full-member-year-people>a:hover,
.full-member-year-people>a:focus-visible{
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.28);
    outline:2px solid rgba(255,255,255,.42);
    outline-offset:2px;
}

.full-member-year-people>a>span{
    display:grid;
    place-items:center;
    flex:0 0 32px;
    width:32px;
    height:32px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-family:Georgia,serif;
    font-size:14px;
    font-weight:900;
}

.full-member-year-people>a p{
    margin:0;
}

.full-member-year-people>a p strong{
    display:block;
    color:#fff;
    font-size:14px;
}

.full-member-year-people>a p small{
    display:block;
    margin-top:2px;
    color:#c6ded7;
    font-size:14px!important;
}

/* Member profile hero */
.member-public-profile-hero{
    padding:54px 0;
    background:
        radial-gradient(circle at 88% 12%,rgba(134,201,175,.20),transparent 29%),
        linear-gradient(135deg,#edf8f4 0%,#ffffff 75%);
    border-bottom:1px solid #dbe8e3;
}

.member-public-profile-hero-grid{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
}

.member-public-profile-avatar{
    width:126px;
    height:126px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:5px solid #fff;
    border-radius:50%;
    background:#dfeee8;
    color:#08777e;
    box-shadow:0 18px 40px rgba(27,92,85,.14);
}

.member-public-profile-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.member-public-profile-avatar>span{
    font-family:Georgia,serif;
    font-size:48px;
    font-weight:900;
}

.member-public-profile-intro h1{
    margin:5px 0 7px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(38px,5vw,58px);
    line-height:1.03;
}

.member-public-profile-former{
    margin:0 0 13px;
    color:#6e817a;
    font-size:16px!important;
}

.member-public-profile-chips{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.member-public-profile-chips>span{
    display:inline-flex;
    padding:7px 10px;
    border:1px solid #c7ddd5;
    border-radius:999px;
    background:rgba(255,255,255,.78);
    color:#365e5d;
    font-size:14px!important;
    font-weight:800;
}

.member-public-profile-hero-actions{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:12px;
}

.member-public-profile-hero-actions>a:not(.button){
    color:#08777e;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
}

/* Profile body */
.member-public-profile-section{
    background:#f7fbf9;
}

.member-public-profile-layout{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);
    gap:24px;
    align-items:start;
}

.member-public-profile-main{
    display:grid;
    gap:16px;
}

.member-public-profile-card{
    padding:28px;
    border:1px solid #d5e4df;
    border-radius:19px;
    background:#fff;
}

.member-public-profile-card>span,
.member-public-profile-status-card>span,
.member-public-profile-privacy-card>span,
.member-public-profile-directory-card>span{
    color:#0a8a92;
    font-size:14px!important;
    font-weight:950;
    letter-spacing:.10em;
}

.member-public-profile-card h2{
    margin:6px 0 14px;
    color:#294f50;
    font-family:Georgia,serif;
    font-size:26px;
    line-height:1.15;
}

.member-public-profile-card>p{
    margin:0;
    color:#667a74;
    font-size:16px!important;
    line-height:1.7;
}

.member-public-profile-about>p{
    max-width:850px;
    white-space:pre-line;
}

.member-public-profile-detail-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.member-public-profile-detail-grid>div{
    min-height:92px;
    padding:15px;
    border:1px solid #e0ebe7;
    border-radius:13px;
    background:#f9fcfb;
}

.member-public-profile-detail-grid small{
    display:block;
    color:#78908a;
    font-size:14px!important;
    font-weight:850;
    letter-spacing:.06em;
}

.member-public-profile-detail-grid strong{
    display:block;
    margin-top:7px;
    color:#315455;
    font-size:17px;
    line-height:1.35;
    overflow-wrap:anywhere;
}

.member-public-profile-empty-copy{
    padding:15px;
    border:1px dashed #c9dcd5;
    border-radius:12px;
    background:#fbfdfc;
}

.member-public-profile-year-link{
    display:inline-flex;
    margin-top:17px;
    color:#08777e;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
}

.member-public-profile-side{
    position:sticky;
    top:100px;
    display:grid;
    gap:12px;
}

.member-public-profile-status-card,
.member-public-profile-privacy-card,
.member-public-profile-directory-card{
    padding:22px;
    border-radius:17px;
}

.member-public-profile-status-card{
    background:#0b666c;
    color:#fff;
}

.member-public-profile-status-card>span{
    color:#bfe5d9;
}

.member-public-profile-status-card>strong,
.member-public-profile-privacy-card>strong,
.member-public-profile-directory-card>strong{
    display:block;
    margin-top:8px;
    font-family:Georgia,serif;
    font-size:21px;
    line-height:1.2;
}

.member-public-profile-status-card>p{
    margin:10px 0 0;
    color:#d6ebe5;
    font-size:15px!important;
    line-height:1.6;
}

.member-public-profile-privacy-card{
    border:1px solid #d7e5e0;
    background:#fff;
}

.member-public-profile-privacy-card>strong{
    color:#315455;
}

.member-public-profile-privacy-card>p{
    margin:10px 0 0;
    color:#71837d;
    font-size:15px!important;
    line-height:1.6;
}

.member-public-profile-directory-card{
    display:block;
    border:1px solid #c9ded6;
    background:#eef8f4;
    color:inherit;
    text-decoration:none;
}

.member-public-profile-directory-card>strong{
    color:#315455;
}

.member-public-profile-directory-card>b{
    display:block;
    margin-top:15px;
    color:#08777e;
    font-size:15px;
}

.member-public-profile-directory-card:hover,
.member-public-profile-directory-card:focus-visible{
    border-color:#8fc8b6;
    box-shadow:0 10px 24px rgba(14,83,77,.08);
    outline:none;
}

@media(max-width:900px){
    .member-public-profile-hero-grid{
        grid-template-columns:auto minmax(0,1fr);
    }

    .member-public-profile-hero-actions{
        grid-column:1 / -1;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
    }

    .member-public-profile-layout{
        grid-template-columns:1fr;
    }

    .member-public-profile-side{
        position:static;
        grid-template-columns:1fr 1fr;
    }

    .member-public-profile-directory-card{
        grid-column:1 / -1;
    }
}

@media(max-width:620px){
    .member-public-profile-hero{
        padding:40px 0;
    }

    .member-public-profile-hero-grid{
        grid-template-columns:1fr;
        text-align:center;
    }

    .member-public-profile-avatar{
        width:104px;
        height:104px;
        margin:auto;
    }

    .member-public-profile-avatar>span{
        font-size:40px;
    }

    .member-public-profile-chips{
        justify-content:center;
    }

    .member-public-profile-hero-actions{
        grid-column:auto;
        flex-direction:column;
        align-items:center;
    }

    .member-public-profile-detail-grid,
    .member-public-profile-side{
        grid-template-columns:1fr;
    }

    .member-public-profile-card{
        padding:22px;
    }
}

/* =========================================================
   DHS PSAN — Full Member Connections
   ========================================================= */
.full-member-person-view.is-connected{color:#176b4d}.full-member-person-view.is-pending{color:#8a651f}.full-member-person-view.is-request{color:#075d63}
.full-member-request-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;padding:0 6px;border-radius:999px;background:#0a8a92;color:#fff;font-size:13px!important;font-weight:950;line-height:1}
.member-profile-connection-actions{display:grid;justify-items:end;gap:8px}.member-profile-connection-state{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:999px;font-size:14px!important;font-weight:900}.member-profile-connection-state.is-connected{border:1px solid #aad3bf;background:#edf8f2;color:#176b4d}.member-profile-connection-state.is-pending{border:1px solid #e3cf9f;background:#fff8e9;color:#805f18}.member-profile-connection-state.is-request{border:1px solid #aad5d8;background:#eef9fa;color:#075d63}.member-profile-connection-buttons{display:flex;align-items:center;gap:8px}.member-profile-connection-buttons form,.member-profile-connection-actions form{margin:0}.member-profile-text-action,.member-connection-remove{padding:0;border:0;background:none;color:#6c7f79;font:inherit;font-size:14px!important;font-weight:850;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.member-profile-text-action:hover,.member-profile-text-action:focus-visible,.member-connection-remove:hover,.member-connection-remove:focus-visible{color:#075d63}
.member-connection-flash-wrap{margin-top:18px}.member-connection-flash{padding:14px 16px;border-radius:12px;font-size:15px;font-weight:800}.member-connection-flash.is-success{border:1px solid #b8d9c9;background:#eff8f3;color:#215c46}.member-connection-flash.is-error{border:1px solid #e7c1c1;background:#fff4f4;color:#823d3d}
.member-connections-hero{padding:58px 0;border-bottom:1px solid #d7e5e0;background:radial-gradient(circle at 88% 15%,rgba(134,201,175,.22),transparent 30%),#f4faf7}.member-connections-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end}.member-connections-hero h1{max-width:840px;margin:6px 0 12px;color:#173f41;font-family:Georgia,serif;font-size:clamp(40px,5vw,62px);line-height:1.04}.member-connections-hero p:not(.eyebrow){max-width:800px;margin:0;color:#617674;font-size:17px!important;line-height:1.65}.member-connections-hero-actions{display:flex;align-items:center;gap:18px;padding-bottom:5px}.member-connections-hero-actions>a{color:#08777e;font-size:15px;font-weight:900;text-decoration:none}.member-connections-section{background:#f8fbfa}
.member-connections-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.member-connections-metrics>article{padding:22px;border:1px solid #d7e5e0;border-radius:17px;background:#fff}.member-connections-metrics span{color:#0a8a92;font-size:14px!important;font-weight:950;letter-spacing:.09em}.member-connections-metrics strong{display:block;margin-top:5px;color:#254d4e;font-family:Georgia,serif;font-size:32px}.member-connections-metrics p{margin:4px 0 0;color:#73847e;font-size:15px!important;line-height:1.5}.member-connections-block{margin-top:42px}.member-connections-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:16px}.member-connections-heading h2{margin:4px 0 0;color:#264d4e;font-family:Georgia,serif;font-size:31px;line-height:1.12}.member-connections-heading>a{color:#08777e;font-size:15px;font-weight:900;text-decoration:none}.member-connections-heading>span{color:#71837d;font-size:14px!important;font-weight:850}
.member-connections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-connection-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;padding:17px;border:1px solid #d7e5e0;border-radius:16px;background:#fff}.member-connection-card.is-request{border-color:#b7d9ce;background:#fbfefd}.member-connection-card.is-pending{background:#fffdf8}.member-connection-person{display:flex;align-items:center;gap:13px;min-width:0;color:inherit;text-decoration:none}.member-connection-avatar{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;overflow:hidden;border-radius:50%;background:#dfeee8;color:#08777e;font-family:Georgia,serif;font-size:22px;font-weight:900}.member-connection-avatar img{width:100%;height:100%;object-fit:cover}.member-connection-person>div:last-child{min-width:0}.member-connection-person>div:last-child>span{display:block;color:#0a8a92;font-size:14px!important;font-weight:950;letter-spacing:.07em}.member-connection-person strong{display:block;margin-top:2px;color:#315455;font-size:17px;line-height:1.25}.member-connection-person p{margin:3px 0 0;color:#74867f;font-size:15px!important;line-height:1.45}.member-connection-person small{display:block;margin-top:5px;color:#08777e;font-size:14px!important;font-weight:800}.member-connection-card-actions{display:flex;align-items:center;gap:7px}.member-connection-card-actions form{margin:0}
.member-connections-empty{grid-column:1/-1;padding:30px;border:1px dashed #bbd4cb;border-radius:17px;background:#fff}.member-connections-empty>span,.member-connections-next>span{color:#0a8a92;font-size:14px!important;font-weight:950;letter-spacing:.09em}.member-connections-empty>strong{display:block;margin-top:7px;color:#315455;font-family:Georgia,serif;font-size:23px}.member-connections-empty>p{max-width:720px;margin:8px 0 17px;color:#70827c;font-size:16px!important;line-height:1.65}.member-connections-next{margin-top:45px;padding:24px;border-radius:18px;background:#0b666c;color:#fff}.member-connections-next>span{color:#bfe5d9}.member-connections-next>strong{display:block;margin-top:6px;font-family:Georgia,serif;font-size:24px}.member-connections-next>p{max-width:780px;margin:8px 0 0;color:#d6e9e4;font-size:15px!important;line-height:1.6}
@media(max-width:900px){.member-connections-hero-grid{grid-template-columns:1fr}.member-connections-hero-actions{padding-bottom:0}.member-connections-grid{grid-template-columns:1fr}}
@media(max-width:700px){.member-connections-metrics{grid-template-columns:1fr}.member-connections-heading{align-items:flex-start;flex-direction:column}.member-connection-card{grid-template-columns:1fr}.member-connection-card-actions{padding-left:71px}.member-profile-connection-actions{justify-items:center}}
@media(max-width:520px){.member-connections-hero{padding:42px 0}.member-connections-hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.member-connection-card-actions{padding-left:0;flex-wrap:wrap}.member-profile-connection-buttons{flex-wrap:wrap;justify-content:center}}

/* =========================================================
   Full Member Dashboard — Pending Connection Requests
   ========================================================= */
.full-member-connection-flash-wrap{
    margin-top:16px;
}

.full-member-pending-connections{
    padding:26px;
    border:1px solid #b9d9ce;
    border-radius:20px;
    background:
        radial-gradient(circle at 96% 0%,rgba(134,201,175,.16),transparent 28%),
        #fbfefd;
}

.full-member-pending-connections .full-member-heading{
    margin-bottom:16px;
}

.full-member-pending-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
}

.full-member-pending-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:16px;
    border:1px solid #d3e5df;
    border-radius:15px;
    background:#fff;
    box-shadow:0 8px 22px rgba(18,83,76,.05);
}

.full-member-pending-person{
    display:flex;
    align-items:center;
    gap:13px;
    min-width:0;
    color:inherit;
    text-decoration:none;
}

.full-member-pending-avatar{
    display:grid;
    place-items:center;
    flex:0 0 58px;
    width:58px;
    height:58px;
    overflow:hidden;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:22px;
    font-weight:900;
}

.full-member-pending-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.full-member-pending-person>div:last-child{
    min-width:0;
}

.full-member-pending-person>div:last-child>span{
    display:block;
    color:#0a8a92;
    font-size:14px!important;
    font-weight:950;
    letter-spacing:.07em;
}

.full-member-pending-person strong{
    display:block;
    margin-top:2px;
    color:#315455;
    font-size:17px;
    line-height:1.25;
}

.full-member-pending-person p{
    margin:3px 0 0;
    color:#71837d;
    font-size:15px!important;
    line-height:1.45;
}

.full-member-pending-person small{
    display:block;
    margin-top:5px;
    color:#08777e;
    font-size:14px!important;
    font-weight:850;
}

.full-member-pending-person:hover strong,
.full-member-pending-person:focus-visible strong{
    color:#075d63;
}

.full-member-pending-person:focus-visible{
    outline:3px solid rgba(10,138,146,.25);
    outline-offset:4px;
    border-radius:10px;
}

.full-member-pending-actions{
    display:flex;
    align-items:center;
    gap:7px;
}

.full-member-pending-actions form{
    margin:0;
}

.full-member-pending-more{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #dce9e4;
}

.full-member-pending-more>span{
    color:#71837d;
    font-size:14px!important;
    font-weight:800;
}

.full-member-pending-more>a{
    color:#08777e;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
}

@media(max-width:980px){
    .full-member-pending-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){
    .full-member-pending-connections{
        padding:20px;
    }

    .full-member-pending-card{
        grid-template-columns:1fr;
    }

    .full-member-pending-actions{
        padding-left:71px;
    }

    .full-member-pending-more{
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
    }
}

@media(max-width:430px){
    .full-member-pending-actions{
        padding-left:0;
        flex-wrap:wrap;
    }
}

/* =========================================================
   DHS PSAN — Private Messaging
   ========================================================= */
.sr-only{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

@media(min-width:1081px){
    .full-member-launch-grid{
        grid-template-columns:repeat(5,minmax(0,1fr));
    }
}

.member-connections-next.is-live{
    display:grid;
    justify-items:start;
    gap:7px;
}

.member-connections-next.is-live .button{
    margin-top:7px;
}

.member-connection-card-actions.is-connected-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
}

/* Inbox hero */
.member-messages-hero{
    padding:58px 0;
    border-bottom:1px solid #d7e5e0;
    background:
        radial-gradient(circle at 90% 12%,rgba(134,201,175,.2),transparent 30%),
        #f4faf7;
}

.member-messages-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:40px;
    align-items:end;
}

.member-messages-hero h1{
    max-width:820px;
    margin:6px 0 12px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(40px,5vw,62px);
    line-height:1.04;
}

.member-messages-hero p:not(.eyebrow){
    max-width:790px;
    margin:0;
    color:#617674;
    font-size:17px!important;
    line-height:1.65;
}

.member-messages-hero-actions{
    display:flex;
    align-items:center;
    gap:18px;
    padding-bottom:5px;
}

.member-messages-hero-actions>a{
    color:#08777e;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
}

.member-messages-section{
    background:#f8fbfa;
}

.member-messages-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.member-messages-metrics>article{
    padding:22px;
    border:1px solid #d7e5e0;
    border-radius:17px;
    background:#fff;
}

.member-messages-metrics span{
    color:#0a8a92;
    font-size:14px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.member-messages-metrics strong{
    display:block;
    margin-top:5px;
    color:#254d4e;
    font-family:Georgia,serif;
    font-size:31px;
}

.member-messages-metrics p{
    margin:4px 0 0;
    color:#73847e;
    font-size:15px!important;
    line-height:1.5;
}

.member-messages-inbox-block{
    margin-top:42px;
}

.member-messages-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:16px;
}

.member-messages-heading h2{
    margin:4px 0 0;
    color:#264d4e;
    font-family:Georgia,serif;
    font-size:31px;
    line-height:1.12;
}

.member-messages-heading>a{
    color:#08777e;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
}

.member-messages-inbox-list{
    display:grid;
    gap:9px;
}

.member-messages-inbox-row{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    min-height:92px;
    padding:15px 17px;
    border:1px solid #d7e5e0;
    border-radius:16px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.member-messages-inbox-row:hover,
.member-messages-inbox-row:focus-visible{
    border-color:#99c9ba;
    box-shadow:0 10px 28px rgba(18,83,76,.07);
    transform:translateY(-1px);
}

.member-messages-inbox-row.has-unread{
    border-color:#9bcbbb;
    background:#fbfefd;
}

.member-message-avatar,
.member-message-chat-avatar,
.member-message-sidebar-avatar{
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-weight:900;
}

.member-message-avatar{
    width:60px;
    height:60px;
    font-size:22px;
}

.member-message-avatar img,
.member-message-chat-avatar img,
.member-message-sidebar-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.member-messages-inbox-main{
    min-width:0;
}

.member-messages-inbox-name{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}

.member-messages-inbox-name>strong{
    min-width:0;
    overflow:hidden;
    color:#315455;
    font-size:17px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.member-messages-inbox-name>span{
    flex:0 0 auto;
    padding:4px 8px;
    border-radius:999px;
    background:#0a8a92;
    color:#fff;
    font-size:13px!important;
    font-weight:900;
}

.member-messages-inbox-main>p{
    margin:4px 0 2px;
    overflow:hidden;
    color:#667a74;
    font-size:15px!important;
    line-height:1.45;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.member-messages-inbox-main>small{
    color:#809089;
    font-size:14px!important;
}

.member-messages-inbox-meta{
    display:grid;
    justify-items:end;
    gap:9px;
    color:#73847e;
}

.member-messages-inbox-meta time,
.member-messages-inbox-meta>span{
    font-size:14px!important;
    font-weight:800;
}

.member-messages-inbox-meta>b{
    color:#08777e;
    font-size:18px;
}

.member-messages-empty{
    padding:32px;
    border:1px dashed #b7d2c9;
    border-radius:17px;
    background:#fff;
}

.member-messages-empty>span,
.member-messages-privacy-note>span{
    color:#0a8a92;
    font-size:14px!important;
    font-weight:950;
    letter-spacing:.09em;
}

.member-messages-empty>strong{
    display:block;
    margin-top:7px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:24px;
}

.member-messages-empty>p{
    max-width:760px;
    margin:8px 0 17px;
    color:#70827c;
    font-size:16px!important;
    line-height:1.65;
}

.member-messages-privacy-note{
    margin-top:36px;
    padding:22px;
    border-radius:17px;
    background:#0b666c;
    color:#fff;
}

.member-messages-privacy-note>span{
    color:#bfe5d9;
}

.member-messages-privacy-note>strong{
    display:block;
    margin-top:5px;
    font-family:Georgia,serif;
    font-size:22px;
}

.member-messages-privacy-note>p{
    max-width:850px;
    margin:7px 0 0;
    color:#d6e9e4;
    font-size:15px!important;
    line-height:1.6;
}

/* Conversation shell */
.member-message-thread-section{
    min-height:calc(100vh - 72px);
    padding:34px 0 54px;
    background:#f4f8f6;
}

.member-message-layout{
    display:grid;
    grid-template-columns:315px minmax(0,1fr);
    min-height:690px;
    overflow:hidden;
    border:1px solid #d5e4df;
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 55px rgba(24,74,70,.08);
}

.member-message-sidebar{
    display:flex;
    flex-direction:column;
    min-width:0;
    border-right:1px solid #dbe8e3;
    background:#f8fbfa;
}

.member-message-sidebar-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:22px 20px 15px;
}

.member-message-sidebar-top>div{
    display:grid;
}

.member-message-sidebar-top span{
    color:#0a8a92;
    font-size:13px!important;
    font-weight:950;
    letter-spacing:.09em;
}

.member-message-sidebar-top strong{
    color:#315455;
    font-family:Georgia,serif;
    font-size:25px;
}

.member-message-sidebar-top>b{
    display:grid;
    place-items:center;
    min-width:25px;
    height:25px;
    padding:0 7px;
    border-radius:999px;
    background:#0a8a92;
    color:#fff;
    font-size:13px!important;
}

.member-message-sidebar-back,
.member-message-sidebar-connections{
    margin:0 20px 13px;
    color:#08777e;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
}

.member-message-sidebar-list{
    display:grid;
    gap:4px;
    padding:0 10px 14px;
    overflow-y:auto;
}

.member-message-sidebar-list>a{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:10px;
    border-radius:13px;
    color:inherit;
    text-decoration:none;
}

.member-message-sidebar-list>a:hover,
.member-message-sidebar-list>a:focus-visible,
.member-message-sidebar-list>a.is-active{
    background:#eaf5f1;
}

.member-message-sidebar-avatar{
    width:44px;
    height:44px;
    font-size:17px;
}

.member-message-sidebar-list>a>div:nth-child(2){
    display:grid;
    min-width:0;
}

.member-message-sidebar-list strong{
    overflow:hidden;
    color:#315455;
    font-size:15px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.member-message-sidebar-list small{
    overflow:hidden;
    color:#71837d;
    font-size:13px!important;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.member-message-sidebar-list>a>b{
    display:grid;
    place-items:center;
    min-width:22px;
    height:22px;
    padding:0 6px;
    border-radius:999px;
    background:#0a8a92;
    color:#fff;
    font-size:12px!important;
}

.member-message-sidebar-connections{
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid #dbe8e3;
}

/* Conversation main */
.member-message-chat{
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr) auto auto;
    min-width:0;
    min-height:690px;
}

.member-message-chat-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 22px;
    border-bottom:1px solid #dbe8e3;
}

.member-message-chat-person{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    color:inherit;
    text-decoration:none;
}

.member-message-chat-avatar{
    flex:0 0 52px;
    width:52px;
    height:52px;
    font-size:20px;
}

.member-message-chat-person>div:last-child{
    display:grid;
    min-width:0;
}

.member-message-chat-person span{
    color:#0a8a92;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.member-message-chat-person strong{
    overflow:hidden;
    color:#315455;
    font-size:18px;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.member-message-chat-person small{
    color:#08777e;
    font-size:13px!important;
    font-weight:800;
}

.member-message-chat-status{
    display:grid;
    justify-items:end;
    max-width:310px;
    text-align:right;
}

.member-message-chat-status span{
    padding:4px 8px;
    border-radius:999px;
    background:#edf7f3;
    color:#176b4d;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.member-message-chat-status small{
    margin-top:5px;
    color:#71837d;
    font-size:13px!important;
    line-height:1.35;
}

.member-message-errors{
    display:grid;
    gap:4px;
    padding:10px 20px;
    border-bottom:1px solid #efd5d5;
    background:#fff4f4;
    color:#823d3d;
    font-size:14px;
    font-weight:800;
}

.member-message-thread{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:0;
    max-height:610px;
    padding:24px;
    overflow-y:auto;
    background:
        radial-gradient(circle at 8% 12%,rgba(134,201,175,.09),transparent 24%),
        #f7faf9;
    scroll-behavior:smooth;
}

.member-message-bubble{
    display:grid;
    gap:5px;
    width:min(72%,690px);
}

.member-message-bubble.is-mine{
    align-self:flex-end;
}

.member-message-bubble.is-theirs{
    align-self:flex-start;
}

.member-message-bubble-body{
    padding:11px 14px;
    border:1px solid #d5e4df;
    border-radius:16px 16px 16px 5px;
    background:#fff;
    color:#294948;
    font-size:16px!important;
    line-height:1.55;
    overflow-wrap:anywhere;
    white-space:pre-wrap;
}

.member-message-bubble.is-mine .member-message-bubble-body{
    border-color:#9fcfc0;
    border-radius:16px 16px 5px 16px;
    background:#def1ea;
}

.member-message-bubble-meta{
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 4px;
    color:#7d8e88;
    font-size:12px!important;
}

.member-message-bubble.is-mine .member-message-bubble-meta{
    justify-content:flex-end;
}

.member-message-bubble-meta span{
    color:#54756c;
    font-weight:850;
}

.member-message-thread-empty{
    display:grid;
    place-items:center;
    align-content:center;
    flex:1;
    min-height:370px;
    padding:30px;
    text-align:center;
}

.member-message-thread-empty span{
    color:#0a8a92;
    font-size:13px!important;
    font-weight:950;
    letter-spacing:.09em;
}

.member-message-thread-empty strong{
    margin-top:7px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:27px;
}

.member-message-thread-empty p{
    max-width:520px;
    margin:7px 0 0;
    color:#71837d;
    font-size:15px!important;
    line-height:1.6;
}

.member-message-compose{
    padding:16px 20px 18px;
    border-top:1px solid #dbe8e3;
    background:#fff;
}

.member-message-compose label{
    display:block;
}

.member-message-compose textarea{
    width:100%;
    min-height:88px;
    resize:vertical;
    padding:12px 14px;
    border:1px solid #bfd2cb;
    border-radius:14px;
    background:#fbfefd;
    color:#294948;
    font:inherit;
    font-size:16px!important;
    line-height:1.5;
}

.member-message-compose textarea:focus{
    outline:3px solid rgba(10,138,146,.16);
    border-color:#0a8a92;
}

.member-message-compose-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:9px;
}

.member-message-compose-actions small{
    color:#71837d;
    font-size:13px!important;
}

.member-message-safety-note{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:11px 20px 14px;
    background:#fff;
    color:#71837d;
}

.member-message-safety-note span{
    flex:0 0 auto;
    color:#0a8a92;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.member-message-safety-note p{
    margin:0;
    font-size:13px!important;
    line-height:1.45;
}

@media(max-width:980px){
    .member-messages-hero-grid{
        grid-template-columns:1fr;
    }

    .member-message-layout{
        grid-template-columns:245px minmax(0,1fr);
    }

    .member-message-chat-status{
        display:none;
    }
}

@media(max-width:760px){
    .member-messages-metrics{
        grid-template-columns:1fr;
    }

    .member-messages-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .member-message-layout{
        display:block;
        overflow:visible;
    }

    .member-message-sidebar{
        border-right:0;
        border-bottom:1px solid #dbe8e3;
    }

    .member-message-sidebar-list{
        display:flex;
        overflow-x:auto;
        padding:0 10px 12px;
    }

    .member-message-sidebar-list>a{
        flex:0 0 210px;
    }

    .member-message-sidebar-connections{
        display:inline-flex;
        margin:0 20px 16px;
        padding-top:0;
        border-top:0;
    }

    .member-message-chat{
        min-height:650px;
    }

    .member-message-thread{
        max-height:540px;
    }
}

@media(max-width:580px){
    .member-messages-hero{
        padding:42px 0;
    }

    .member-messages-hero-actions{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

    .member-messages-inbox-row{
        grid-template-columns:auto minmax(0,1fr);
    }

    .member-messages-inbox-meta{
        grid-column:2;
        grid-row:2;
        display:flex;
        justify-items:start;
        justify-content:space-between;
    }

    .member-message-chat-header{
        padding:14px;
    }

    .member-message-thread{
        padding:15px;
    }

    .member-message-bubble{
        width:88%;
    }

    .member-message-compose{
        padding:13px 14px 15px;
    }

    .member-message-compose-actions{
        align-items:flex-end;
        flex-direction:column;
    }

    .member-message-compose-actions .button{
        width:100%;
    }

    .member-message-safety-note{
        display:grid;
        padding:10px 14px 14px;
    }
}

/* =========================================================
   DHS PSAN — Member Safety, Blocking & Reporting
   ========================================================= */
.full-member-person-view.is-blocked{
    color:#8a4343;
}

.member-profile-connection-state.is-blocked{
    border:1px solid #e4bebe;
    background:#fff3f3;
    color:#833d3d;
}

.member-profile-report-link{
    color:#8a4343;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
}

.member-profile-report-link:hover,
.member-profile-report-link:focus-visible{
    text-decoration:underline;
}

.member-profile-safety-card>div{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-top:10px;
}

.member-profile-safety-card a{
    color:#08777e;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
}

/* Messaging safety menu */
.member-message-chat-header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.member-message-actions-menu{
    position:relative;
}

.member-message-actions-menu summary{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border:1px solid #cdded8;
    border-radius:10px;
    background:#fff;
    color:#315455;
    font-size:21px;
    font-weight:900;
    cursor:pointer;
    list-style:none;
}

.member-message-actions-menu summary::-webkit-details-marker{
    display:none;
}

.member-message-actions-menu>div{
    position:absolute;
    z-index:30;
    top:46px;
    right:0;
    display:grid;
    width:205px;
    padding:7px;
    border:1px solid #d5e4df;
    border-radius:13px;
    background:#fff;
    box-shadow:0 16px 40px rgba(24,74,70,.14);
}

.member-message-actions-menu a,
.member-message-actions-menu button{
    width:100%;
    padding:10px 11px;
    border:0;
    border-radius:9px;
    background:none;
    color:#315455;
    font:inherit;
    font-size:14px!important;
    font-weight:800;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
}

.member-message-actions-menu a:hover,
.member-message-actions-menu a:focus-visible,
.member-message-actions-menu button:hover,
.member-message-actions-menu button:focus-visible{
    background:#f1f7f4;
}

.member-message-actions-menu form{
    margin:0;
}

.member-message-actions-menu form button{
    color:#8a4343;
}

.member-message-report-link{
    color:#8a5a5a;
    font-size:12px!important;
    font-weight:850;
    text-decoration:none;
}

.member-message-report-link:hover{
    text-decoration:underline;
}

.member-message-restriction{
    padding:15px 20px 18px;
    border-top:1px solid #ead6ac;
    background:#fff8e9;
}

.member-message-restriction.is-inbox{
    margin-bottom:18px;
    border:1px solid #ead6ac;
    border-radius:15px;
}

.member-message-restriction>span{
    color:#8b621a;
    font-size:13px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.member-message-restriction>strong{
    display:block;
    margin-top:4px;
    color:#6e521f;
    font-size:16px;
}

.member-message-restriction>p{
    margin:5px 0 0;
    color:#806b45;
    font-size:14px!important;
}

/* Safety pages */
.safety-page-hero{
    padding:58px 0;
    border-bottom:1px solid #d7e5e0;
    background:
        radial-gradient(circle at 90% 12%,rgba(134,201,175,.17),transparent 30%),
        #f4faf7;
}

.safety-page-hero.is-compact{
    padding:46px 0;
}

.safety-page-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:38px;
    align-items:end;
}

.safety-page-hero h1{
    margin:5px 0 10px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(38px,5vw,58px);
    line-height:1.04;
}

.safety-page-hero p:not(.eyebrow){
    max-width:790px;
    margin:0;
    color:#617674;
    font-size:17px!important;
    line-height:1.6;
}

.safety-page-hero-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:9px 17px;
}

.safety-page-hero-actions a{
    color:#08777e;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
}

.safety-page-section{
    background:#f8fbfa;
}

.safety-page-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:18px;
}

.safety-page-heading span{
    color:#0a8a92;
    font-size:13px!important;
    font-weight:950;
    letter-spacing:.09em;
}

.safety-page-heading h2{
    margin:4px 0 0;
    color:#315455;
    font-family:Georgia,serif;
    font-size:31px;
}

.safety-page-heading>a{
    color:#08777e;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
}

.safety-blocked-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.safety-blocked-card{
    padding:20px;
    border:1px solid #d7e5e0;
    border-radius:17px;
    background:#fff;
}

.safety-blocked-person{
    display:flex;
    align-items:center;
    gap:13px;
}

.safety-blocked-avatar{
    display:grid;
    place-items:center;
    flex:0 0 58px;
    width:58px;
    height:58px;
    overflow:hidden;
    border-radius:50%;
    background:#efe4e4;
    color:#8a4343;
    font-family:Georgia,serif;
    font-size:22px;
    font-weight:900;
}

.safety-blocked-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.safety-blocked-person>div:last-child{
    display:grid;
}

.safety-blocked-person span{
    color:#8a4343;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.safety-blocked-person strong{
    color:#315455;
    font-size:17px;
}

.safety-blocked-person small{
    color:#7b8b85;
    font-size:13px!important;
}

.safety-blocked-card>p{
    margin:14px 0;
    color:#6c7f79;
    font-size:15px!important;
    line-height:1.55;
}

.safety-blocked-card-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}

.safety-blocked-card-actions>a{
    color:#08777e;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
}

.safety-empty-state{
    grid-column:1 / -1;
    padding:30px;
    border:1px dashed #b7d2c9;
    border-radius:17px;
    background:#fff;
}

.safety-empty-state>span{
    color:#0a8a92;
    font-size:13px!important;
    font-weight:950;
    letter-spacing:.09em;
}

.safety-empty-state>strong{
    display:block;
    margin-top:6px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:24px;
}

.safety-empty-state>p{
    max-width:700px;
    margin:7px 0 0;
    color:#70827c;
    font-size:15px!important;
}

.safety-archive-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:20px;
    align-items:start;
}

.safety-archive-thread,
.safety-archive-side>article,
.safety-archive-side>a{
    border:1px solid #d7e5e0;
    border-radius:17px;
    background:#fff;
}

.safety-archive-thread{
    overflow:hidden;
}

.safety-archive-thread-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:18px 20px;
    border-bottom:1px solid #dbe8e3;
}

.safety-archive-thread-heading>div{
    display:grid;
}

.safety-archive-thread-heading span,
.safety-archive-side span{
    color:#0a8a92;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.safety-archive-thread-heading strong{
    color:#315455;
    font-size:17px;
}

.safety-archive-thread-heading>b{
    color:#71837d;
    font-size:13px;
}

.safety-archive-messages{
    display:flex;
    flex-direction:column;
    gap:10px;
    max-height:620px;
    padding:22px;
    overflow-y:auto;
    background:#f7faf9;
}

.safety-archive-side{
    display:grid;
    gap:12px;
}

.safety-archive-side>article,
.safety-archive-side>a{
    padding:20px;
}

.safety-archive-side strong{
    display:block;
    margin-top:5px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:20px;
}

.safety-archive-side p{
    color:#70827c;
    font-size:14px!important;
    line-height:1.55;
}

.safety-archive-side>a{
    color:inherit;
    text-decoration:none;
}

.safety-archive-side>a>b{
    display:block;
    margin-top:10px;
    color:#08777e;
    font-size:14px;
}

/* Reporting */
.safety-report-list{
    display:grid;
    gap:9px;
}

.safety-report-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 20px;
    border:1px solid #d7e5e0;
    border-radius:15px;
    background:#fff;
}

.safety-report-row>div:first-child{
    display:grid;
}

.safety-report-row>div:first-child>span{
    color:#0a8a92;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.safety-report-row strong{
    color:#315455;
    font-size:17px;
}

.safety-report-row p{
    margin:2px 0 0;
    color:#71837d;
    font-size:14px!important;
}

.safety-report-row-status span,
.moderation-status{
    display:inline-flex;
    padding:6px 9px;
    border-radius:999px;
    background:#eef5f2;
    color:#516c64;
    font-size:13px!important;
    font-weight:900;
}

.safety-report-row-status .is-new,
.moderation-status.is-new{
    background:#fff1dc;
    color:#8a5f18;
}

.safety-report-row-status .is-action_taken,
.moderation-status.is-action_taken{
    background:#e9f6ef;
    color:#26644b;
}

.safety-report-form-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:22px;
    align-items:start;
}

.safety-reported-message-preview,
.safety-report-form,
.safety-report-info{
    border:1px solid #d7e5e0;
    border-radius:17px;
    background:#fff;
}

.safety-reported-message-preview{
    margin-bottom:12px;
    padding:20px;
    border-color:#e5c4c4;
    background:#fff8f8;
}

.safety-reported-message-preview>span,
.safety-report-info>span{
    color:#8a4343;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.safety-reported-message-preview blockquote{
    margin:10px 0 7px;
    color:#3b5350;
    font-size:16px;
    line-height:1.6;
}

.safety-reported-message-preview small{
    color:#7c8985;
    font-size:13px!important;
}

.safety-report-form{
    display:grid;
    gap:18px;
    padding:24px;
}

.safety-report-form>label{
    display:grid;
    gap:7px;
}

.safety-report-form label>span,
.safety-report-form legend{
    color:#315455;
    font-size:14px;
    font-weight:900;
}

.safety-report-form label>span em{
    color:#8a4343;
    font-style:normal;
    font-size:12px;
}

.safety-report-form select,
.safety-report-form textarea{
    width:100%;
    padding:11px 12px;
    border:1px solid #c9d9d3;
    border-radius:11px;
    background:#fff;
    color:#294948;
    font:inherit;
    font-size:16px!important;
}

.safety-report-form fieldset{
    display:grid;
    gap:9px;
    margin:0;
    padding:0;
    border:0;
}

.safety-report-form legend{
    margin-bottom:7px;
}

.safety-choice{
    display:flex!important;
    align-items:flex-start;
    gap:10px;
    padding:13px;
    border:1px solid #d7e5e0;
    border-radius:12px;
}

.safety-choice.is-emphasis{
    border-color:#e3c0c0;
    background:#fff9f9;
}

.safety-choice input{
    margin-top:4px;
}

.safety-choice>span{
    display:grid;
}

.safety-choice small{
    color:#70827c;
    font-size:13px!important;
    font-weight:500;
}

.safety-report-form-actions{
    display:flex;
    align-items:center;
    gap:16px;
}

.safety-report-form-actions>a{
    color:#617674;
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}

.safety-report-info{
    padding:22px;
}

.safety-report-info strong{
    display:block;
    margin-top:6px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:21px;
}

.safety-report-info p{
    color:#70827c;
    font-size:14px!important;
    line-height:1.6;
}

.field-error{
    color:#9a4040;
    font-size:13px!important;
    font-weight:800;
}

/* Dashboard safety notices */
.dashboard-safety-notices{
    padding:14px 0;
    border-bottom:1px solid #ead4ac;
    background:#fff8e9;
}

.dashboard-safety-notices .container{
    display:grid;
    gap:9px;
}

.dashboard-safety-notices article{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.dashboard-safety-notices article>div{
    display:grid;
}

.dashboard-safety-notices span{
    color:#8b621a;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.dashboard-safety-notices strong{
    color:#6e521f;
    font-size:15px;
}

.dashboard-safety-notices p{
    margin:3px 0 0;
    color:#806b45;
    font-size:14px!important;
}

/* Moderation */
.moderation-dashboard-panel{
    position:relative;
}

.moderation-dashboard-count{
    display:inline-flex;
    align-self:start;
    margin-bottom:10px;
    padding:5px 8px;
    border-radius:999px;
    background:#fff0dd;
    color:#8a5f18;
    font-size:13px!important;
    font-weight:900;
}

.moderation-metrics{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    margin-bottom:20px;
}

.moderation-metrics>a{
    padding:15px;
    border:1px solid #d7e5e0;
    border-radius:13px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}

.moderation-metrics>a.is-active{
    border-color:#8ec5b3;
    background:#f1faf6;
}

.moderation-metrics span{
    color:#71837d;
    font-size:12px!important;
    font-weight:900;
    letter-spacing:.06em;
}

.moderation-metrics strong{
    display:block;
    margin-top:4px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:25px;
}

.moderation-toolbar form{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
}

.moderation-toolbar select{
    min-height:42px;
    padding:0 10px;
    border:1px solid #cbdad5;
    border-radius:10px;
    background:#fff;
    font:inherit;
    font-size:15px!important;
}

.moderation-report-list{
    display:grid;
    gap:8px;
}

.moderation-report-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px;
    border:1px solid #d7e5e0;
    border-radius:14px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}

.moderation-report-card:hover{
    border-color:#9bcbbb;
}

.moderation-report-card>div:first-child{
    display:grid;
}

.moderation-report-card>div:first-child>span{
    color:#0a8a92;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.07em;
}

.moderation-report-card strong{
    color:#315455;
    font-size:17px;
}

.moderation-report-card p{
    margin:2px 0 0;
    color:#71837d;
    font-size:14px!important;
}

.moderation-report-card>div:last-child{
    display:grid;
    justify-items:end;
    gap:5px;
}

.moderation-report-card small{
    color:#7d8c87;
    font-size:13px!important;
}

.moderation-review-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:20px;
    align-items:start;
}

.moderation-review-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:12px;
}

.moderation-review-summary article,
.moderation-review-card,
.moderation-action-form,
.moderation-review-side article{
    padding:20px;
    border:1px solid #d7e5e0;
    border-radius:15px;
    background:#fff;
}

.moderation-review-summary span,
.moderation-review-card>span,
.moderation-review-side span{
    color:#0a8a92;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.07em;
}

.moderation-review-summary strong{
    display:block;
    margin-top:4px;
    color:#315455;
    font-size:16px;
}

.moderation-review-summary small{
    color:#71837d;
    font-size:13px!important;
}

.moderation-review-card{
    margin-bottom:12px;
}

.moderation-review-card h2{
    margin:5px 0 8px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:24px;
}

.moderation-review-card>p{
    color:#657873;
    font-size:15px!important;
    line-height:1.6;
}

.moderation-evidence-list{
    display:grid;
    gap:8px;
}

.moderation-evidence-list>div{
    padding:13px;
    border:1px solid #dce7e3;
    border-radius:11px;
    background:#fafcfb;
}

.moderation-evidence-list>div.is-reported{
    border-color:#e1b3b3;
    background:#fff5f5;
}

.moderation-evidence-list span{
    color:#667a74;
    font-size:12px!important;
    font-weight:900;
}

.moderation-evidence-list blockquote{
    margin:6px 0;
    color:#304d49;
    font-size:15px;
    line-height:1.55;
    white-space:pre-wrap;
}

.moderation-evidence-list small{
    color:#83908c;
    font-size:12px!important;
}

.moderation-action-form{
    display:grid;
    gap:16px;
}

.moderation-action-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.moderation-action-form label{
    display:grid;
    gap:6px;
}

.moderation-action-form label>span{
    color:#315455;
    font-size:14px;
    font-weight:900;
}

.moderation-action-form select,
.moderation-action-form textarea{
    width:100%;
    padding:10px 11px;
    border:1px solid #cbdad5;
    border-radius:10px;
    background:#fff;
    font:inherit;
    font-size:15px!important;
}

.moderation-action-form-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.moderation-action-form-footer>div{
    display:grid;
    gap:5px;
}

.moderation-active-restriction,
.moderation-suspended{
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    font-size:13px!important;
    font-weight:900;
}

.moderation-active-restriction{
    background:#fff1dd;
    color:#8a5f18;
}

.moderation-suspended{
    background:#fff0f0;
    color:#8a4343;
}

.moderation-review-side{
    display:grid;
    gap:12px;
}

.moderation-review-side strong{
    display:block;
    margin-top:5px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:20px;
}

.moderation-review-side p{
    color:#70827c;
    font-size:14px!important;
    line-height:1.55;
}

@media(max-width:980px){
    .moderation-metrics{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .safety-archive-layout,
    .safety-report-form-layout,
    .moderation-review-layout{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .safety-page-hero-grid{
        grid-template-columns:1fr;
    }

    .safety-page-hero-actions{
        justify-content:flex-start;
    }

    .safety-blocked-grid{
        grid-template-columns:1fr;
    }

    .moderation-review-summary,
    .moderation-action-grid{
        grid-template-columns:1fr;
    }

    .dashboard-safety-notices article{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media(max-width:560px){
    .safety-page-heading,
    .safety-report-row,
    .moderation-report-card,
    .moderation-action-form-footer{
        align-items:flex-start;
        flex-direction:column;
    }

    .moderation-report-card>div:last-child{
        justify-items:start;
    }

    .moderation-metrics{
        grid-template-columns:1fr 1fr;
    }

    .safety-blocked-card-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .member-message-chat-header-actions{
        margin-left:auto;
    }

    .member-message-chat-status{
        display:none;
    }
}

/* =========================================================
   DHS PSAN — Admin Moderation Visibility
   ========================================================= */
.nav-links .nav-moderation-link,
.nav-links .nav-moderation-link:link,
.nav-links .nav-moderation-link:visited{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:38px;
    padding:6px 10px;
    border:1px solid #d9b9b9;
    border-radius:10px;
    background:#fff7f7;
    color:#7e3535!important;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
}

.nav-links .nav-moderation-link:hover,
.nav-links .nav-moderation-link:focus-visible{
    border-color:#c78d8d;
    background:#fff0f0;
    color:#6d2929!important;
}

.nav-links .nav-moderation-link.has-alert{
    border-color:#b94d4d;
    background:#922f2f;
    color:#fff!important;
    box-shadow:0 5px 16px rgba(122,45,45,.18);
}

.nav-links .nav-moderation-link.has-alert:hover,
.nav-links .nav-moderation-link.has-alert:focus-visible{
    background:#7d2828;
    color:#fff!important;
}

.nav-moderation-link>b{
    display:grid;
    place-items:center;
    min-width:23px;
    height:23px;
    padding:0 6px;
    border-radius:999px;
    background:#fff;
    color:#922f2f;
    font-size:12px!important;
    line-height:1;
}

.mobile-menu-moderation{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:15px 16px;
    border:1px solid #d9b9b9;
    border-radius:14px;
    background:#fff7f7;
    color:inherit;
    text-decoration:none;
}

.mobile-menu-moderation.has-alert{
    border-color:#b94d4d;
    background:#922f2f;
    color:#fff;
    box-shadow:0 9px 24px rgba(122,45,45,.16);
}

.mobile-menu-moderation>span{
    display:grid;
}

.mobile-menu-moderation small{
    color:#914d4d;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.mobile-menu-moderation strong{
    color:#4b2e2e;
    font-size:16px;
}

.mobile-menu-moderation em{
    color:#7d6565;
    font-size:13px;
    font-style:normal;
}

.mobile-menu-moderation.has-alert small,
.mobile-menu-moderation.has-alert strong,
.mobile-menu-moderation.has-alert em{
    color:#fff;
}

.mobile-menu-moderation>b{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    min-width:30px;
    height:30px;
    padding:0 8px;
    border-radius:999px;
    background:#fff;
    color:#922f2f;
    font-size:13px!important;
    font-weight:950;
}

/* Admin dashboard moderation attention */
.admin-moderation-attention{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:17px;
    align-items:center;
    margin-bottom:22px;
    padding:19px 21px;
    border:1px solid #cfded8;
    border-radius:17px;
    background:#f7fbf9;
}

.admin-moderation-attention.is-urgent{
    border-color:#d7a3a3;
    background:#fff5f5;
    box-shadow:0 12px 30px rgba(129,51,51,.08);
}

.admin-moderation-attention-icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:50%;
    background:#dfeee8;
    color:#176b4d;
    font-size:22px;
    font-weight:950;
}

.admin-moderation-attention.is-urgent .admin-moderation-attention-icon{
    background:#922f2f;
    color:#fff;
}

.admin-moderation-attention-copy{
    display:grid;
    min-width:0;
}

.admin-moderation-attention-copy>span{
    color:#57716a;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.09em;
}

.admin-moderation-attention.is-urgent .admin-moderation-attention-copy>span{
    color:#922f2f;
}

.admin-moderation-attention-copy>strong{
    margin-top:2px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:22px;
    line-height:1.25;
}

.admin-moderation-attention.is-urgent .admin-moderation-attention-copy>strong{
    color:#6e2b2b;
}

.admin-moderation-attention-copy>p{
    margin:5px 0 0;
    color:#6c7f79;
    font-size:14px!important;
    line-height:1.5;
}

.admin-moderation-attention-button{
    display:inline-flex;
    gap:8px;
    background:#922f2f!important;
    border-color:#922f2f!important;
    white-space:nowrap;
}

.admin-moderation-attention-button:hover,
.admin-moderation-attention-button:focus-visible{
    background:#7d2828!important;
    border-color:#7d2828!important;
}

.admin-moderation-attention-button>b{
    display:grid;
    place-items:center;
    min-width:23px;
    height:23px;
    padding:0 6px;
    border-radius:999px;
    background:#fff;
    color:#922f2f;
    font-size:12px!important;
}

.moderation-dashboard-panel.has-alert{
    border-color:#d7a3a3;
    background:#fff8f8;
}

.moderation-dashboard-eyebrow{
    display:inline-flex;
    align-self:start;
    margin-bottom:5px;
    color:#6b7f79;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}

.moderation-dashboard-panel.has-alert .moderation-dashboard-eyebrow{
    color:#922f2f;
}

@media(max-width:760px){
    .admin-moderation-attention{
        grid-template-columns:auto minmax(0,1fr);
    }

    .admin-moderation-attention>a{
        grid-column:1 / -1;
        width:100%;
    }
}

@media(max-width:520px){
    .admin-moderation-attention{
        grid-template-columns:1fr;
    }

    .admin-moderation-attention-icon{
        width:40px;
        height:40px;
    }
}

/* =========================================================
   DHS PSAN — Social Feed
   ========================================================= */
.nav-links .nav-feed-link,
.nav-links .nav-feed-link:link,
.nav-links .nav-feed-link:visited{
    color:#08777e;
    font-weight:900;
}

.mobile-menu-feed{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:15px 16px;
    border:1px solid #b8d9ce;
    border-radius:14px;
    background:#f3fbf7;
    color:inherit;
    text-decoration:none;
}

.mobile-menu-feed>span{display:grid}
.mobile-menu-feed small{
    color:#0a8a92;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}
.mobile-menu-feed strong{color:#315455;font-size:16px}
.mobile-menu-feed em{color:#6f817b;font-size:13px;font-style:normal}
.mobile-menu-feed>b{color:#08777e;font-size:18px}

.social-feed-hero{
    padding:58px 0;
    border-bottom:1px solid #d7e5e0;
    background:linear-gradient(135deg,#f7fbf9 0%,#eef8f4 100%);
}
.social-feed-hero.is-compact{padding:42px 0}
.social-feed-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:40px;
    align-items:end;
}
.social-feed-hero h1{
    margin:5px 0 12px;
    color:#173f41;
    font-family:Georgia,serif;
    font-size:clamp(40px,5vw,62px);
    line-height:1.04;
}
.social-feed-hero p:not(.eyebrow){
    max-width:820px;
    margin:0;
    color:#617674;
    font-size:17px!important;
}
.social-feed-hero-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:9px 18px;
}
.social-feed-hero-actions>a{
    color:#08777e;
    font-size:15px;
    font-weight:900;
    text-decoration:none;
}

.social-feed-section{background:#f4f8f6}
.social-feed-layout{
    display:grid;
    grid-template-columns:minmax(0,760px) 300px;
    gap:24px;
    justify-content:center;
    align-items:start;
}
.social-feed-single{width:min(100%,760px)}
.social-feed-flash,.social-feed-errors{margin-bottom:14px}

.social-feed-composer,
.social-feed-post,
.social-feed-side>article{
    border:1px solid #d5e4df;
    border-radius:18px;
    background:#fff;
}
.social-feed-composer{padding:20px;margin-bottom:16px}
.social-feed-composer-person,
.social-feed-author{
    display:flex;
    align-items:center;
    gap:12px;
}
.social-feed-avatar,
.social-feed-comment-avatar{
    display:grid;
    place-items:center;
    overflow:hidden;
    flex:0 0 auto;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-weight:900;
}
.social-feed-avatar{width:52px;height:52px;font-size:20px}
.social-feed-comment-avatar{width:38px;height:38px;font-size:15px}
.social-feed-avatar img,
.social-feed-comment-avatar img{width:100%;height:100%;object-fit:cover}
.social-feed-composer-person>div:last-child{display:grid}
.social-feed-composer-person span{
    color:#0a8a92;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}
.social-feed-composer-person strong{color:#315455;font-size:17px}
.social-feed-composer form{margin-top:15px}

.social-feed-composer textarea,
.social-feed-edit-panel textarea,
.social-feed-comment-edit textarea,
.social-feed-comment-compose textarea{
    width:100%;
    padding:12px 13px;
    border:1px solid #c6d8d1;
    border-radius:13px;
    background:#fbfefd;
    color:#294948;
    font:inherit;
    font-size:16px!important;
    line-height:1.55;
    resize:vertical;
}
.social-feed-composer textarea{min-height:104px}
.social-feed-composer-actions{
    display:flex;
    align-items:center;
    gap:13px;
    margin-top:11px;
}
.social-feed-composer-actions>small{
    margin-right:auto;
    color:#71837d;
    font-size:13px!important;
}
.social-feed-image-picker{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:0 13px;
    border:1px solid #c5d8d1;
    border-radius:10px;
    background:#f5faf8;
    color:#315455;
    font-size:14px;
    font-weight:850;
    cursor:pointer;
}
.social-feed-image-picker input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.social-feed-list{display:grid;gap:14px}
.social-feed-post-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:17px 18px 12px;
}
.social-feed-author>div:last-child{display:grid;min-width:0}
.social-feed-author strong{color:#315455;font-size:16px}
.social-feed-author small{color:#73847e;font-size:13px!important}
.social-feed-author time{color:#87958f;font-size:12px!important}

.social-feed-post-menu{position:relative;flex:0 0 auto}
.social-feed-post-menu summary{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:10px;
    color:#657873;
    font-size:20px;
    font-weight:900;
    cursor:pointer;
    list-style:none;
}
.social-feed-post-menu summary::-webkit-details-marker{display:none}
.social-feed-post-menu>div{
    position:absolute;
    z-index:25;
    top:42px;
    right:0;
    display:grid;
    width:190px;
    padding:7px;
    border:1px solid #d5e4df;
    border-radius:12px;
    background:#fff;
    box-shadow:0 15px 38px rgba(24,74,70,.13);
}
.social-feed-post-menu a,
.social-feed-post-menu button{
    width:100%;
    padding:9px 10px;
    border:0;
    border-radius:8px;
    background:none;
    color:#315455;
    font:inherit;
    font-size:14px!important;
    font-weight:800;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
}
.social-feed-post-menu form{margin:0}
.social-feed-post-menu .is-danger{color:#8a4343}

.social-feed-post-body{
    padding:3px 18px 15px;
    color:#2f4d4b;
    font-size:16px!important;
    line-height:1.65;
    overflow-wrap:anywhere;
    white-space:pre-wrap;
}
.social-feed-post-image{
    display:block;
    overflow:hidden;
    border-top:1px solid #e0e9e6;
    border-bottom:1px solid #e0e9e6;
    background:#eef3f1;
}
.social-feed-post-image img{
    display:block;
    width:100%;
    max-height:650px;
    object-fit:contain;
}

.social-feed-edit-panel{
    margin:0 18px 14px;
    padding:14px;
    border:1px solid #cfe0da;
    border-radius:13px;
    background:#f7fbf9;
}
.social-feed-edit-panel form{display:grid;gap:10px}
.social-feed-edit-panel label{display:grid;gap:5px}
.social-feed-check{display:flex!important;align-items:center;gap:7px!important}

.social-feed-engagement-summary{
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:10px 18px;
    color:#71837d;
    font-size:13px!important;
}
.social-feed-engagement-summary a{color:#71837d;text-decoration:none}

.social-feed-reaction-bar{
    display:flex;
    align-items:center;
    gap:4px;
    padding:7px 12px;
    border-top:1px solid #e1eae7;
    border-bottom:1px solid #e1eae7;
    overflow-x:auto;
}
.social-feed-reaction-bar form{margin:0}
.social-feed-reaction-bar button{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:36px;
    padding:5px 8px;
    border:1px solid transparent;
    border-radius:9px;
    background:none;
    color:#61756f;
    font:inherit;
    font-size:13px!important;
    cursor:pointer;
    white-space:nowrap;
}
.social-feed-reaction-bar button.is-active{
    border-color:#a9d2c5;
    background:#e9f6f1;
    color:#08777e;
}
.social-feed-remove-reaction{color:#8a5a5a!important;font-size:12px!important}

.social-feed-comments{padding:12px 16px 16px}
.social-feed-all-comments{
    display:inline-flex;
    margin-bottom:10px;
    color:#08777e;
    font-size:13px;
    font-weight:850;
    text-decoration:none;
}
.social-feed-comment-list{display:grid;gap:9px}
.social-feed-comment{display:flex;align-items:flex-start;gap:9px}
.social-feed-comment-main{flex:1;min-width:0}
.social-feed-comment-bubble{
    padding:9px 11px;
    border-radius:12px;
    background:#f0f6f3;
}
.social-feed-comment-bubble>div{display:flex;flex-wrap:wrap;gap:6px}
.social-feed-comment-bubble strong{color:#315455;font-size:14px}
.social-feed-comment-bubble span{color:#81908b;font-size:11px!important}
.social-feed-comment-bubble p{
    margin:3px 0 0;
    color:#35524f;
    font-size:14px!important;
    white-space:pre-wrap;
}
.social-feed-comment-actions{
    display:flex;
    gap:8px;
    padding:3px 8px 0;
}
.social-feed-comment-actions form{margin:0}
.social-feed-comment-actions a,
.social-feed-comment-actions button{
    padding:0;
    border:0;
    background:none;
    color:#758681;
    font:inherit;
    font-size:12px!important;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
}
.social-feed-comment-edit{margin-top:6px}
.social-feed-comment-edit form{display:grid;gap:6px}
.social-feed-comment-compose{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:9px;
    align-items:end;
    margin-top:13px;
    padding-top:12px;
    border-top:1px solid #e2ebe8;
}
.social-feed-comment-compose textarea{min-height:44px;max-height:150px}

.social-feed-side{
    display:grid;
    gap:12px;
    position:sticky;
    top:92px;
}
.social-feed-side>article{padding:19px}
.social-feed-side span{
    color:#0a8a92;
    font-size:12px!important;
    font-weight:950;
    letter-spacing:.08em;
}
.social-feed-side strong{
    display:block;
    margin-top:5px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:20px;
}
.social-feed-side p{margin:7px 0 0;color:#70827c;font-size:14px!important}
.social-feed-side a{
    display:inline-flex;
    margin-top:10px;
    color:#08777e;
    font-size:13px;
    font-weight:850;
    text-decoration:none;
}
.social-feed-empty{
    padding:34px;
    border:1px dashed #b8d2c9;
    border-radius:17px;
    background:#fff;
}
.social-feed-empty span{color:#0a8a92;font-size:13px!important;font-weight:950}
.social-feed-empty strong{
    display:block;
    margin-top:6px;
    color:#315455;
    font-family:Georgia,serif;
    font-size:25px;
}
.social-feed-empty p{color:#70827c;font-size:15px!important}
.social-feed-pagination{margin-top:24px}

.safety-reported-social-image{
    display:block;
    width:min(100%,500px);
    max-height:360px;
    margin-top:10px;
    border-radius:11px;
    object-fit:contain;
}
.moderation-social-evidence{display:grid;gap:9px}
.moderation-social-evidence>div{
    padding:13px;
    border:1px solid #dce7e3;
    border-radius:11px;
    background:#fafcfb;
}
.moderation-social-evidence>div.is-reported{
    border-color:#e1b3b3;
    background:#fff5f5;
}
.moderation-social-evidence span{
    color:#667a74;
    font-size:12px!important;
    font-weight:950;
}
.moderation-social-evidence blockquote{
    margin:7px 0;
    color:#304d49;
    font-size:15px;
    white-space:pre-wrap;
}
.moderation-social-evidence img{
    display:block;
    width:min(100%,520px);
    max-height:420px;
    margin:9px 0;
    border-radius:10px;
    object-fit:contain;
}
.moderation-content-state{
    margin:11px 0 0!important;
    padding:9px 11px;
    border-radius:9px;
    background:#f1f7f4;
}

@media(max-width:980px){
    .social-feed-layout{grid-template-columns:minmax(0,760px)}
    .social-feed-side{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
    .social-feed-hero-grid{grid-template-columns:1fr}
    .social-feed-hero-actions{justify-content:flex-start}
    .social-feed-side{grid-template-columns:1fr}
    .social-feed-composer-actions{align-items:flex-start;flex-wrap:wrap}
    .social-feed-composer-actions>small{width:100%;order:3}
}
@media(max-width:580px){
    .social-feed-composer{padding:15px}
    .social-feed-post-header{padding:14px 14px 10px}
    .social-feed-post-body{padding:3px 14px 13px}
    .social-feed-comments{padding:11px 12px 14px}
    .social-feed-comment-compose{grid-template-columns:auto minmax(0,1fr)}
    .social-feed-comment-compose>.button{grid-column:2;width:100%}
    .social-feed-reaction-bar button b{display:none}
}


/* Social Feed in-place interaction state */
.social-feed-ajax-toast{
    position:fixed;
    z-index:9999;
    right:22px;
    bottom:22px;
    max-width:min(420px,calc(100vw - 32px));
    padding:12px 15px;
    border:1px solid #9bcbbb;
    border-radius:12px;
    background:#f0faf6;
    color:#315455;
    box-shadow:0 16px 42px rgba(24,74,70,.18);
    font-size:14px!important;
    font-weight:850;
}
.social-feed-ajax-toast.is-error{
    border-color:#d7a3a3;
    background:#fff4f4;
    color:#7e3535;
}
form[data-feed-ajax][aria-busy="true"]{
    opacity:.72;
}
form[data-feed-ajax] button.is-loading{
    cursor:wait;
}
@media(max-width:580px){
    .social-feed-ajax-toast{
        right:16px;
        bottom:16px;
        left:16px;
        max-width:none;
    }
}

/* Social Feed video-link composer and safe embeds */
.social-feed-video-field{
    margin-top:12px;
    padding:13px;
    border:1px solid #cfe0da;
    border-radius:13px;
    background:#f7fbf9;
}
.social-feed-video-field label{
    display:grid;
    gap:6px;
}
.social-feed-video-field label>span{
    color:#315455;
    font-size:13px;
    font-weight:900;
}
.social-feed-video-field input,
.social-feed-edit-panel input[type="text"]{
    width:100%;
    padding:11px 12px;
    border:1px solid #c6d8d1;
    border-radius:10px;
    background:#fff;
    color:#294948;
    font:inherit;
    font-size:16px!important;
}
.social-feed-video-field small,
.social-feed-edit-panel label>small{
    color:#70827c;
    font-size:12px!important;
}
.social-feed-media-button{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:0 13px;
    border:1px solid #c5d8d1;
    border-radius:10px;
    background:#f5faf8;
    color:#315455;
    font:inherit;
    font-size:14px!important;
    font-weight:850;
    cursor:pointer;
}
.social-feed-media-button:hover,
.social-feed-media-button:focus-visible{
    border-color:#8fc7b5;
    background:#edf8f4;
}
.social-feed-post-video{
    border-top:1px solid #e0e9e6;
    border-bottom:1px solid #e0e9e6;
    background:#eef3f1;
}
.social-feed-post-video-frame{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
    background:#152322;
}
.social-feed-post-video-frame iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}
.social-feed-post-video>a{
    display:inline-flex;
    padding:9px 14px;
    color:#08777e;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}
.moderation-social-video{
    margin-top:10px;
}
.moderation-social-video-frame{
    position:relative;
    width:min(100%,560px);
    aspect-ratio:16 / 9;
    overflow:hidden;
    border-radius:10px;
    background:#152322;
}
.moderation-social-video-frame iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

/* Social Feed selected-photo preview */
.social-feed-photo-preview{
    display:grid;
    grid-template-columns:88px minmax(0,1fr) auto;
    gap:13px;
    align-items:center;
    margin-top:12px;
    padding:10px;
    border:1px solid #b9d8cd;
    border-radius:13px;
    background:#f3faf7;
}
.social-feed-photo-preview[hidden]{
    display:none;
}
.social-feed-photo-preview>img{
    width:88px;
    height:70px;
    border-radius:10px;
    object-fit:cover;
    background:#e7efec;
}
.social-feed-photo-preview>div{
    display:grid;
    min-width:0;
}
.social-feed-photo-preview>div>span{
    color:#0a8a92;
    font-size:11px!important;
    font-weight:950;
    letter-spacing:.08em;
}
.social-feed-photo-preview>div>strong{
    overflow:hidden;
    color:#315455;
    font-size:14px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.social-feed-photo-preview>div>small{
    color:#70827c;
    font-size:12px!important;
}
.social-feed-photo-preview>button{
    padding:8px 10px;
    border:1px solid #c8d8d2;
    border-radius:9px;
    background:#fff;
    color:#6a514c;
    font:inherit;
    font-size:12px!important;
    font-weight:850;
    cursor:pointer;
    white-space:nowrap;
}
.social-feed-photo-preview>button:hover,
.social-feed-photo-preview>button:focus-visible{
    border-color:#b98f88;
    background:#fff7f5;
    color:#7c3d35;
}
@media(max-width:580px){
    .social-feed-photo-preview{
        grid-template-columns:72px minmax(0,1fr);
    }
    .social-feed-photo-preview>img{
        width:72px;
        height:62px;
    }
    .social-feed-photo-preview>button{
        grid-column:2;
        justify-self:start;
    }
}


/* Social Feed photo upload feedback */
.social-feed-photo-upload-error{
    margin-top:12px;
    padding:10px 12px;
    border:1px solid #d8a5a5;
    border-radius:11px;
    background:#fff4f4;
    color:#7e3535;
    font-size:13px!important;
    font-weight:800;
    line-height:1.45;
}
.social-feed-photo-upload-error[hidden]{
    display:none;
}


/* Social Feed sticky create-post shortcut */
.social-feed-side-create{
    border-color:#9fcfbe!important;
    background:linear-gradient(145deg,#f0faf6 0%,#ffffff 100%)!important;
}
.social-feed-side-create .social-feed-create-shortcut{
    width:100%;
    margin-top:13px;
    justify-content:center;
}
.social-feed-composer{
    scroll-margin-top:110px;
    transition:border-color .25s ease, box-shadow .25s ease;
}
.social-feed-composer.is-highlighted{
    border-color:#0a8a92;
    box-shadow:0 0 0 4px rgba(10,138,146,.12),0 12px 30px rgba(24,74,70,.08);
}
@media(max-width:980px){
    .social-feed-side-create{
        order:-1;
    }
}

/* =========================================================
   DHS PSAN — Social Feed social-network redesign
   ========================================================= */
.psan-social-shell{
    min-height:calc(100vh - 80px);
    padding:28px 0 56px;
    background:#f3f7f5;
}
.psan-social-shell.is-single{
    padding-top:26px;
}
.psan-social-grid{
    display:grid;
    grid-template-columns:230px minmax(0,690px) 285px;
    gap:22px;
    align-items:start;
    max-width:1260px;
}
.psan-social-single-grid{
    display:grid;
    grid-template-columns:210px minmax(0,720px) 285px;
    gap:22px;
    align-items:start;
    max-width:1235px;
}

.psan-social-left,
.psan-social-right{
    position:sticky;
    top:88px;
    display:grid;
    gap:14px;
}
.psan-social-main{
    min-width:0;
}

.psan-social-profile-card,
.psan-social-nav,
.psan-social-left-note,
.psan-social-action-card,
.psan-social-side-card,
.psan-social-feed-header,
.psan-social-stream-heading{
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 12px rgba(29,70,67,.035);
}

/* Left profile card */
.psan-social-profile-card{
    overflow:hidden;
}
.psan-social-cover-accent{
    height:62px;
    background:
        radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 28%),
        linear-gradient(135deg,#0a8a92 0%,#06666d 100%);
}
.psan-social-profile-body{
    display:grid;
    justify-items:center;
    padding:0 16px 18px;
    text-align:center;
}
.psan-social-profile-avatar{
    display:grid;
    place-items:center;
    width:72px;
    height:72px;
    margin-top:-36px;
    overflow:hidden;
    border:4px solid #fff;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:27px;
    font-weight:900;
    box-shadow:0 4px 15px rgba(25,71,67,.12);
}
.psan-social-profile-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-social-profile-body>strong{
    margin-top:8px;
    color:#263f40;
    font-size:16px;
}
.psan-social-profile-body>small{
    margin-top:2px;
    color:#768782;
    font-size:13px!important;
}
.psan-social-profile-body>a{
    margin-top:9px;
    color:#08777e;
    font-size:13px;
    font-weight:850;
    text-decoration:none;
}

/* Left nav */
.psan-social-nav{
    display:grid;
    gap:3px;
    padding:8px;
}
.psan-social-nav>a{
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    gap:9px;
    align-items:center;
    min-height:46px;
    padding:7px 10px;
    border-radius:11px;
    color:#3c5553;
    text-decoration:none;
}
.psan-social-nav>a:hover,
.psan-social-nav>a:focus-visible{
    background:#f1f7f4;
}
.psan-social-nav>a.is-active{
    background:#e9f6f1;
    color:#08777e;
}
.psan-social-nav>a>span{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:9px;
    background:#eef5f2;
    font-size:16px;
}
.psan-social-nav>a.is-active>span{
    background:#d8eee6;
}
.psan-social-nav>a>b{
    font-size:14px;
}

.psan-social-left-note{
    padding:16px;
}
.psan-social-left-note>span{
    color:#0a8a92;
    font-size:11px!important;
    font-weight:950;
    letter-spacing:.09em;
}
.psan-social-left-note>p{
    margin:5px 0 0;
    color:#667a74;
    font-size:13px!important;
    line-height:1.5;
}
.psan-social-back-link{
    display:inline-flex;
    padding:12px 14px;
    border:1px solid #dce7e3;
    border-radius:12px;
    background:#fff;
    color:#08777e;
    font-size:14px;
    font-weight:850;
    text-decoration:none;
}

/* Feed header */
.psan-social-feed-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px;
    padding:17px 19px;
}
.psan-social-feed-header>div{
    min-width:0;
}
.psan-social-feed-header .eyebrow{
    margin:0 0 1px;
    color:#0a8a92;
    font-size:11px!important;
}
.psan-social-feed-header h1{
    margin:0;
    color:#243f40;
    font-family:Georgia,serif;
    font-size:29px;
    line-height:1.1;
}
.psan-social-feed-header p:not(.eyebrow){
    margin:4px 0 0;
    color:#71827d;
    font-size:14px!important;
}
.psan-social-header-create{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:0 14px;
    border:1px solid #0a8a92;
    border-radius:999px;
    background:#0a8a92;
    color:#fff;
    font:inherit;
    font-size:14px!important;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
}
.psan-social-header-create>span{
    font-size:20px;
    line-height:1;
}

/* Composer becomes familiar social-media card */
.psan-social-composer.social-feed-composer{
    margin-bottom:14px;
    padding:16px;
    border-color:#dce7e3;
    border-radius:16px;
    box-shadow:0 3px 14px rgba(29,70,67,.035);
}
.psan-social-composer-top{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:11px;
}
.psan-social-composer .social-feed-avatar{
    width:46px;
    height:46px;
}
.psan-social-composer-copy{
    display:grid;
}
.psan-social-composer-copy>strong{
    color:#2d4948;
    font-size:15px;
}
.psan-social-composer-copy>small{
    color:#7c8c87;
    font-size:12px!important;
}
.psan-social-composer form{
    margin-top:0;
}
.psan-social-composer textarea#social-feed-composer-body{
    min-height:74px;
    padding:14px 16px;
    border:1px solid #d7e2de;
    border-radius:16px;
    background:#f5f8f7;
    color:#2d4948;
    font-size:16px!important;
    line-height:1.5;
}
.psan-social-composer textarea#social-feed-composer-body::placeholder{
    color:#81908b;
}
.psan-social-composer-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:11px;
    padding-top:10px;
    border-top:1px solid #e5ece9;
}
.psan-social-composer-media{
    display:flex;
    align-items:center;
    gap:6px;
}
.psan-social-media-action.social-feed-image-picker,
.psan-social-media-action.social-feed-media-button{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:38px;
    padding:0 10px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#4d6662;
    font-size:13px!important;
    font-weight:850;
}
.psan-social-media-action:hover,
.psan-social-media-action:focus-visible{
    background:#f0f6f3!important;
}
.psan-social-media-action>b{
    font-size:13px;
}
.psan-social-share-button{
    min-width:86px;
    border-radius:999px!important;
}
.psan-social-composer .social-feed-video-field,
.psan-social-composer .social-feed-photo-preview,
.psan-social-composer .social-feed-photo-upload-error{
    margin-top:10px;
}

/* Stream label */
.psan-social-stream-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:10px;
    padding:12px 15px;
}
.psan-social-stream-heading>div{
    display:grid;
}
.psan-social-stream-heading strong{
    color:#315150;
    font-size:14px;
}
.psan-social-stream-heading small{
    color:#80908a;
    font-size:12px!important;
}
.psan-social-stream-heading>span{
    color:#0a8a92;
    font-size:11px;
}

/* Post cards */
.psan-social-post-stream.social-feed-list{
    gap:12px;
}
.psan-social-post-stream .social-feed-post,
.psan-social-single-grid .social-feed-post{
    overflow:visible;
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 15px rgba(29,70,67,.04);
}
.psan-social-post-stream .social-feed-post-header,
.psan-social-single-grid .social-feed-post-header{
    padding:15px 16px 10px;
}
.psan-social-post-stream .social-feed-avatar,
.psan-social-single-grid .social-feed-avatar{
    width:44px;
    height:44px;
}
.psan-social-post-stream .social-feed-author strong,
.psan-social-single-grid .social-feed-author strong{
    color:#2a4544;
    font-size:15px;
}
.psan-social-post-stream .social-feed-author small,
.psan-social-single-grid .social-feed-author small{
    font-size:12px!important;
}
.psan-social-post-stream .social-feed-post-body,
.psan-social-single-grid .social-feed-post-body{
    padding:5px 16px 14px;
    color:#2d4443;
    font-size:15px!important;
    line-height:1.58;
}
.psan-social-post-stream .social-feed-post-image,
.psan-social-post-stream .social-feed-post-video,
.psan-social-single-grid .social-feed-post-image,
.psan-social-single-grid .social-feed-post-video{
    border-top-color:#e5ece9;
    border-bottom-color:#e5ece9;
    background:#eef3f1;
}
.psan-social-post-stream .social-feed-post-image img,
.psan-social-single-grid .social-feed-post-image img{
    max-height:600px;
}

/* Counts + reaction row */
.psan-social-post-stream .social-feed-engagement-summary,
.psan-social-single-grid .social-feed-engagement-summary{
    padding:9px 16px;
    color:#73847f;
    font-size:12px!important;
}
.psan-social-post-stream .social-feed-reaction-bar,
.psan-social-single-grid .social-feed-reaction-bar{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr)) auto;
    gap:2px;
    padding:5px 10px;
    border-color:#e7eeeb;
}
.psan-social-post-stream .social-feed-reaction-bar form,
.psan-social-single-grid .social-feed-reaction-bar form{
    min-width:0;
}
.psan-social-post-stream .social-feed-reaction-bar form>button:not(.social-feed-remove-reaction),
.psan-social-single-grid .social-feed-reaction-bar form>button:not(.social-feed-remove-reaction){
    justify-content:center;
    width:100%;
    min-height:38px;
    border-radius:9px;
}
.psan-social-post-stream .social-feed-reaction-bar button.is-active,
.psan-social-single-grid .social-feed-reaction-bar button.is-active{
    background:#e9f6f1;
}

/* Comments */
.psan-social-post-stream .social-feed-comments,
.psan-social-single-grid .social-feed-comments{
    padding:10px 14px 14px;
}
.psan-social-post-stream .social-feed-comment-bubble,
.psan-social-single-grid .social-feed-comment-bubble{
    border-radius:14px;
    background:#f1f5f4;
}
.psan-social-post-stream .social-feed-comment-compose,
.psan-social-single-grid .social-feed-comment-compose{
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:8px;
}
.psan-social-post-stream .social-feed-comment-compose textarea,
.psan-social-single-grid .social-feed-comment-compose textarea{
    min-height:40px;
    padding:9px 12px;
    border-radius:18px;
    background:#f4f7f6;
}
.psan-social-post-stream .social-feed-comment-compose>.button,
.psan-social-single-grid .social-feed-comment-compose>.button{
    min-height:38px;
    border-radius:999px;
}

/* Right rail */
.psan-social-action-card,
.psan-social-side-card{
    padding:15px;
}
.psan-social-action-card{
    border-color:#b7d9cd;
    background:linear-gradient(145deg,#f1faf6 0%,#ffffff 100%);
}
.psan-social-create-button{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:7px;
    width:100%;
    border-radius:999px!important;
}
.psan-social-action-card>p{
    margin:8px 4px 0;
    color:#758680;
    font-size:12px!important;
    line-height:1.45;
    text-align:center;
}
.psan-social-side-card>header{
    display:grid;
    margin-bottom:8px;
}
.psan-social-side-card>header>span{
    color:#0a8a92;
    font-size:10px!important;
    font-weight:950;
    letter-spacing:.09em;
}
.psan-social-side-card>header>strong{
    margin-top:2px;
    color:#315150;
    font-size:15px;
}
.psan-social-side-card>a{
    display:grid;
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    padding:9px 0;
    border-top:1px solid #edf1ef;
    color:inherit;
    text-decoration:none;
}
.psan-social-side-card>a:first-of-type{
    border-top:0;
}
.psan-social-side-card>a>span{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:9px;
    background:#eef5f2;
    font-size:15px;
}
.psan-social-side-card>a>div{
    display:grid;
}
.psan-social-side-card>a b{
    color:#395654;
    font-size:13px;
}
.psan-social-side-card>a small{
    color:#81908b;
    font-size:11px!important;
}
.psan-social-side-card>a em{
    color:#9aa7a2;
    font-size:20px;
    font-style:normal;
}
.psan-social-side-card>p{
    margin:6px 0 0;
    color:#6e817b;
    font-size:13px!important;
    line-height:1.5;
}
.psan-social-side-card.is-family{
    background:
        radial-gradient(circle at 85% 10%,rgba(134,201,175,.18),transparent 32%),
        #fff;
}
.psan-social-side-card.is-safety>div{
    display:flex;
    flex-wrap:wrap;
    gap:7px 12px;
    margin-top:10px;
}
.psan-social-side-card.is-safety>div>a{
    color:#08777e;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}

/* Empty state */
.psan-social-empty{
    text-align:center;
}
.psan-social-empty>.button{
    margin-top:14px;
}

/* Mobile create FAB */
.psan-social-mobile-create{
    display:none;
    position:fixed;
    z-index:80;
    right:18px;
    bottom:20px;
    align-items:center;
    gap:6px;
    min-height:46px;
    padding:0 16px;
    border:0;
    border-radius:999px;
    background:#0a8a92;
    color:#fff;
    box-shadow:0 10px 28px rgba(6,102,109,.28);
    font:inherit;
    font-size:14px!important;
    font-weight:900;
    cursor:pointer;
}
.psan-social-mobile-create>span{
    font-size:20px;
}

/* Single conversation page */
.psan-social-feed-header.is-conversation{
    margin-bottom:12px;
}

/* Re-center legacy elements under new shell */
.psan-social-shell .social-feed-flash,
.psan-social-shell .social-feed-errors{
    margin-bottom:12px;
}
.psan-social-shell .social-feed-pagination{
    margin-top:18px;
}

/* Tablet */
@media(max-width:1180px){
    .psan-social-grid{
        grid-template-columns:205px minmax(0,680px) 255px;
        gap:16px;
    }
    .psan-social-single-grid{
        grid-template-columns:190px minmax(0,700px) 250px;
        gap:16px;
    }
}

@media(max-width:1040px){
    .psan-social-grid,
    .psan-social-single-grid{
        grid-template-columns:minmax(0,700px) 270px;
        justify-content:center;
    }
    .psan-social-left{
        display:none;
    }
}

/* Mobile/tablet feed */
@media(max-width:820px){
    .psan-social-shell{
        padding:12px 0 72px;
    }
    .psan-social-grid,
    .psan-social-single-grid{
        grid-template-columns:minmax(0,1fr);
        gap:12px;
    }
    .psan-social-right{
        display:none;
    }
    .psan-social-feed-header{
        border-radius:14px;
    }
    .psan-social-header-create{
        display:none;
    }
    .psan-social-mobile-create{
        display:inline-flex;
    }
    .psan-social-composer.social-feed-composer,
    .psan-social-post-stream .social-feed-post,
    .psan-social-single-grid .social-feed-post{
        border-radius:14px;
    }
    .psan-social-stream-heading{
        border-radius:14px;
    }
}

@media(max-width:580px){
    .psan-social-shell{
        padding-top:8px;
    }
    .psan-social-feed-header{
        padding:14px 15px;
    }
    .psan-social-feed-header h1{
        font-size:25px;
    }
    .psan-social-feed-header p:not(.eyebrow){
        font-size:13px!important;
    }
    .psan-social-composer.social-feed-composer{
        padding:13px;
    }
    .psan-social-composer-copy>small{
        display:none;
    }
    .psan-social-composer textarea#social-feed-composer-body{
        min-height:68px;
        padding:12px 13px;
    }
    .psan-social-composer-toolbar{
        align-items:stretch;
    }
    .psan-social-composer-media{
        flex:1;
    }
    .psan-social-media-action.social-feed-image-picker,
    .psan-social-media-action.social-feed-media-button{
        flex:1;
        justify-content:center;
    }
    .psan-social-share-button{
        min-width:72px;
    }
    .psan-social-post-stream .social-feed-reaction-bar,
    .psan-social-single-grid .social-feed-reaction-bar{
        grid-template-columns:repeat(4,1fr);
    }
    .psan-social-post-stream .social-feed-reaction-bar .social-feed-remove-reaction,
    .psan-social-single-grid .social-feed-reaction-bar .social-feed-remove-reaction{
        display:none;
    }
    .psan-social-post-stream .social-feed-comment-compose,
    .psan-social-single-grid .social-feed-comment-compose{
        grid-template-columns:auto minmax(0,1fr);
    }
    .psan-social-post-stream .social-feed-comment-compose>.button,
    .psan-social-single-grid .social-feed-comment-compose>.button{
        grid-column:2;
        width:100%;
    }
}

/* =========================================================
   DHS PSAN — Member Network social-media redesign
   Directory, Connections, Messages and Profiles
   ========================================================= */

.psan-network-shell{
    min-height:calc(100vh - 80px);
    padding:28px 0 58px;
    background:#f3f7f5;
}
.psan-network-grid{
    display:grid;
    grid-template-columns:230px minmax(0,690px) 285px;
    gap:22px;
    align-items:start;
    max-width:1260px;
}
.psan-network-left,
.psan-network-right{
    position:sticky;
    top:88px;
    display:grid;
    gap:14px;
}
.psan-network-main{
    min-width:0;
}

/* Shared profile rail */
.psan-network-profile-card,
.psan-network-nav,
.psan-network-aqua-card,
.psan-network-side-card,
.psan-network-page-header,
.psan-network-content-card,
.psan-directory-search-card,
.psan-directory-result-bar,
.psan-messages-inbox-card,
.psan-profile-settings-card{
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 12px rgba(29,70,67,.035);
}

.psan-network-profile-card{
    overflow:hidden;
}
.psan-network-cover-accent{
    height:62px;
    background:
        radial-gradient(circle at 78% 18%,rgba(255,255,255,.22),transparent 28%),
        linear-gradient(135deg,#0a8a92 0%,#06666d 100%);
}
.psan-network-profile-body{
    display:grid;
    justify-items:center;
    padding:0 16px 18px;
    text-align:center;
}
.psan-network-profile-avatar{
    display:grid;
    place-items:center;
    width:72px;
    height:72px;
    margin-top:-36px;
    overflow:hidden;
    border:4px solid #fff;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:27px;
    font-weight:900;
    box-shadow:0 4px 15px rgba(25,71,67,.12);
}
.psan-network-profile-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-network-profile-body>strong{
    margin-top:8px;
    color:#263f40;
    font-size:16px;
}
.psan-network-profile-body>small{
    margin-top:2px;
    color:#768782;
    font-size:13px!important;
}
.psan-network-profile-body>a{
    margin-top:9px;
    color:#08777e;
    font-size:13px;
    font-weight:850;
    text-decoration:none;
}

.psan-network-nav{
    display:grid;
    gap:3px;
    padding:8px;
}
.psan-network-nav>a{
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    gap:9px;
    align-items:center;
    min-height:46px;
    padding:7px 10px;
    border-radius:11px;
    color:#3c5553;
    text-decoration:none;
}
.psan-network-nav>a:hover,
.psan-network-nav>a:focus-visible{
    background:#f1f7f4;
}
.psan-network-nav>a.is-active{
    background:#e9f6f1;
    color:#08777e;
}
.psan-network-nav>a>span{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:9px;
    background:#eef5f2;
    font-size:16px;
}
.psan-network-nav>a.is-active>span{
    background:#d8eee6;
}
.psan-network-nav>a>b{
    font-size:14px;
}

.psan-network-aqua-card{
    padding:16px;
}
.psan-network-aqua-card>span{
    color:#0a8a92;
    font-size:11px!important;
    font-weight:950;
    letter-spacing:.09em;
}
.psan-network-aqua-card>strong{
    display:block;
    margin-top:4px;
    color:#315150;
    font-size:15px;
}
.psan-network-aqua-card>p{
    margin:5px 0 0;
    color:#667a74;
    font-size:13px!important;
    line-height:1.5;
}

/* Shared page header */
.psan-network-page-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:14px;
    padding:17px 19px;
}
.psan-network-page-header>div{
    min-width:0;
}
.psan-network-page-header .eyebrow{
    margin:0 0 1px;
    color:#0a8a92;
    font-size:11px!important;
}
.psan-network-page-header h1{
    margin:0;
    color:#243f40;
    font-family:Georgia,serif;
    font-size:29px;
    line-height:1.1;
}
.psan-network-page-header p:not(.eyebrow){
    margin:4px 0 0;
    color:#71827d;
    font-size:14px!important;
    line-height:1.5;
}
.psan-network-header-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 14px;
    border:1px solid #0a8a92;
    border-radius:999px;
    background:#fff;
    color:#08777e;
    font-size:14px;
    font-weight:900;
    text-decoration:none;
    white-space:nowrap;
}
.psan-network-header-action:hover,
.psan-network-header-action:focus-visible{
    background:#eaf7f2;
}

/* Shared right rail cards */
.psan-network-side-card{
    padding:15px;
}
.psan-network-side-card>header{
    display:grid;
    margin-bottom:8px;
}
.psan-network-side-card>header>span{
    color:#0a8a92;
    font-size:10px!important;
    font-weight:950;
    letter-spacing:.09em;
}
.psan-network-side-card>header>strong{
    margin-top:2px;
    color:#315150;
    font-size:15px;
}
.psan-network-side-card>p{
    margin:6px 0 0;
    color:#6e817b;
    font-size:13px!important;
    line-height:1.5;
}
.psan-network-side-card>a{
    display:grid;
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    padding:9px 0;
    border-top:1px solid #edf1ef;
    color:inherit;
    text-decoration:none;
}
.psan-network-side-card>a:first-of-type{
    border-top:0;
}
.psan-network-side-card>a>span{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border-radius:9px;
    background:#eef5f2;
    font-size:15px;
}
.psan-network-side-card>a>div{
    display:grid;
}
.psan-network-side-card>a b{
    color:#395654;
    font-size:13px;
}
.psan-network-side-card>a small{
    color:#81908b;
    font-size:11px!important;
}
.psan-network-side-card>a em{
    color:#9aa7a2;
    font-size:20px;
    font-style:normal;
}
.psan-network-side-card.is-highlight{
    border-color:#b7d9cd;
    background:
        radial-gradient(circle at 88% 12%,rgba(134,201,175,.18),transparent 32%),
        linear-gradient(145deg,#f1faf6 0%,#fff 100%);
}
.psan-network-side-card.is-privacy{
    background:#fafcfb;
}
.psan-network-side-button{
    display:inline-flex!important;
    grid-template-columns:none!important;
    align-items:center!important;
    justify-content:center;
    min-height:38px;
    margin-top:11px;
    padding:0 13px!important;
    border:1px solid #0a8a92!important;
    border-radius:999px;
    background:#0a8a92;
    color:#fff!important;
    font-size:13px!important;
    font-weight:900;
    text-decoration:none;
}
.psan-network-side-button.is-inline{
    margin-top:15px;
}
.psan-network-side-links{
    display:flex;
    flex-wrap:wrap;
    gap:7px 12px;
    margin-top:10px;
}
.psan-network-side-links>a,
.psan-network-text-link{
    color:#08777e;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}
.psan-network-text-button{
    padding:0;
    border:0;
    background:transparent;
    color:#7c5c55;
    font:inherit;
    font-size:12px!important;
    font-weight:850;
    cursor:pointer;
}

/* Shared empty state */
.psan-network-empty{
    grid-column:1 / -1;
    padding:30px 24px;
    border:1px dashed #bdd2cb;
    border-radius:14px;
    background:#fbfdfc;
    text-align:center;
}
.psan-network-empty>span{
    color:#0a8a92;
    font-size:11px!important;
    font-weight:950;
    letter-spacing:.09em;
}
.psan-network-empty>strong{
    display:block;
    margin-top:5px;
    color:#315150;
    font-family:Georgia,serif;
    font-size:22px;
}
.psan-network-empty>p{
    max-width:520px;
    margin:7px auto 0;
    color:#71827d;
    font-size:14px!important;
}
.psan-network-empty>.button{
    margin-top:13px;
}

/* =========================================================
   Member Directory / People
   ========================================================= */
.psan-directory-search-card{
    margin-bottom:12px;
    padding:15px;
}
.psan-directory-search-box{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:center;
    gap:5px;
    min-height:45px;
    padding:0 10px;
    border:1px solid #d7e2de;
    border-radius:999px;
    background:#f4f7f6;
}
.psan-directory-search-box>span{
    display:grid;
    place-items:center;
    color:#81908b;
    font-size:19px;
}
.psan-directory-search-box>input{
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#2f4e4b;
    font:inherit;
    font-size:15px!important;
}
.psan-directory-filter-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;
    gap:9px;
    align-items:end;
    margin-top:11px;
}
.psan-directory-filter-row>label{
    display:grid;
    gap:4px;
}
.psan-directory-filter-row>label>span{
    color:#71827d;
    font-size:11px!important;
    font-weight:850;
}
.psan-directory-filter-row select{
    width:100%;
    min-height:39px;
    padding:0 9px;
    border:1px solid #d7e2de;
    border-radius:10px;
    background:#fff;
    color:#34514f;
    font:inherit;
    font-size:14px!important;
}
.psan-directory-result-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:11px;
    padding:11px 14px;
}
.psan-directory-result-bar>div{
    display:grid;
}
.psan-directory-result-bar strong{
    color:#315150;
    font-size:14px;
}
.psan-directory-result-bar small{
    color:#81908b;
    font-size:11px!important;
}
.psan-directory-result-bar>span{
    padding:5px 9px;
    border-radius:999px;
    background:#e9f6f1;
    color:#08777e;
    font-size:11px;
    font-weight:850;
}

.psan-people-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.psan-person-card{
    overflow:hidden;
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 12px rgba(29,70,67,.035);
}
.psan-person-card-profile{
    display:grid;
    justify-items:center;
    color:inherit;
    text-align:center;
    text-decoration:none;
}
.psan-person-card-cover{
    width:100%;
    height:60px;
    background:
        radial-gradient(circle at 75% 20%,rgba(255,255,255,.2),transparent 32%),
        linear-gradient(135deg,#0a8a92,#6db9a1);
}
.psan-person-card-avatar{
    display:grid;
    place-items:center;
    width:82px;
    height:82px;
    margin-top:-41px;
    overflow:hidden;
    border:4px solid #fff;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:28px;
    font-weight:900;
}
.psan-person-card-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-person-card-profile>strong{
    margin-top:7px;
    padding:0 12px;
    color:#294746;
    font-size:16px;
}
.psan-person-card-profile>small{
    margin-top:2px;
    color:#08777e;
    font-size:12px!important;
    font-weight:850;
}
.psan-person-card-profile>p{
    min-height:41px;
    margin:7px 14px 0;
    color:#667a74;
    font-size:13px!important;
    line-height:1.45;
}
.psan-person-card-profile>span{
    margin-top:4px;
    color:#8a9893;
    font-size:11px!important;
}
.psan-person-card-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:7px 10px;
    margin-top:13px;
    padding:11px 12px 13px;
    border-top:1px solid #edf1ef;
}
.psan-person-card-actions form{
    margin:0;
}
.psan-person-view-link{
    color:#08777e;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}
.psan-person-state{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:0 8px;
    border-radius:999px;
    background:#f1f5f3;
    color:#627671;
    font-size:11px!important;
    font-weight:850;
}
.psan-person-state.is-connected{
    background:#e9f6f1;
    color:#08777e;
}
.psan-person-state.is-pending{
    background:#fff7e8;
    color:#8a672f;
}
.psan-person-state.is-blocked{
    background:#fff0f0;
    color:#8a4343;
}
.psan-network-pagination{
    margin-top:18px;
}

/* =========================================================
   Connections
   ========================================================= */
.psan-network-stat-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
}
.psan-network-stat-strip>article{
    display:grid;
    padding:13px 14px;
    border:1px solid #dce7e3;
    border-radius:14px;
    background:#fff;
}
.psan-network-stat-strip strong{
    color:#0a8a92;
    font-family:Georgia,serif;
    font-size:25px;
}
.psan-network-stat-strip span{
    margin-top:2px;
    color:#617671;
    font-size:12px;
    font-weight:850;
}
.psan-network-content-card{
    margin-bottom:12px;
    padding:14px;
}
.psan-network-section-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:11px;
}
.psan-network-section-heading>div{
    display:grid;
}
.psan-network-section-heading>div>span{
    color:#0a8a92;
    font-size:10px!important;
    font-weight:950;
    letter-spacing:.08em;
}
.psan-network-section-heading>div>strong{
    margin-top:2px;
    color:#315150;
    font-size:16px;
}
.psan-network-section-heading>b{
    display:grid;
    place-items:center;
    min-width:27px;
    height:27px;
    padding:0 7px;
    border-radius:999px;
    background:#e9f6f1;
    color:#08777e;
    font-size:12px;
}
.psan-network-section-heading>a{
    color:#08777e;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}

.psan-request-list{
    display:grid;
}
.psan-request-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:11px 0;
    border-top:1px solid #edf1ef;
}
.psan-request-row:first-child{
    border-top:0;
}
.psan-request-person{
    display:flex;
    align-items:center;
    min-width:0;
    gap:10px;
    color:inherit;
    text-decoration:none;
}
.psan-request-avatar{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:48px;
    height:48px;
    overflow:hidden;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:18px;
    font-weight:900;
}
.psan-request-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-request-person>div:last-child{
    display:grid;
    min-width:0;
}
.psan-request-person strong{
    overflow:hidden;
    color:#315150;
    font-size:14px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-request-person small{
    color:#7e8e88;
    font-size:12px!important;
}
.psan-request-actions{
    display:flex;
    align-items:center;
    gap:7px;
    flex:0 0 auto;
}
.psan-request-actions form{
    margin:0;
}

.psan-connection-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.psan-connection-social-card{
    display:grid;
    min-width:0;
    border:1px solid #e1eae7;
    border-radius:14px;
    background:#fbfdfc;
}
.psan-connection-social-profile{
    display:grid;
    justify-items:center;
    padding:17px 13px 12px;
    color:inherit;
    text-align:center;
    text-decoration:none;
}
.psan-connection-social-avatar{
    display:grid;
    place-items:center;
    width:66px;
    height:66px;
    overflow:hidden;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:23px;
    font-weight:900;
}
.psan-connection-social-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-connection-social-profile>strong{
    margin-top:7px;
    color:#315150;
    font-size:14px;
}
.psan-connection-social-profile>small{
    color:#08777e;
    font-size:11px!important;
    font-weight:850;
}
.psan-connection-social-profile>span{
    margin-top:4px;
    color:#899791;
    font-size:11px!important;
}
.psan-connection-social-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:9px 10px 11px;
    border-top:1px solid #e9efed;
}
.psan-connection-social-actions details{
    position:relative;
}
.psan-connection-social-actions summary{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border:1px solid #d8e3df;
    border-radius:999px;
    color:#60736d;
    font-size:18px;
    cursor:pointer;
    list-style:none;
}
.psan-connection-social-actions summary::-webkit-details-marker{
    display:none;
}
.psan-connection-social-actions details>div{
    position:absolute;
    z-index:40;
    right:0;
    bottom:40px;
    display:grid;
    width:180px;
    padding:7px;
    border:1px solid #dce7e3;
    border-radius:11px;
    background:#fff;
    box-shadow:0 14px 34px rgba(32,66,63,.14);
}
.psan-connection-social-actions details a,
.psan-connection-social-actions details button{
    width:100%;
    padding:8px 9px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#415b58;
    font:inherit;
    font-size:12px!important;
    font-weight:800;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
}
.psan-connection-social-actions details a:hover,
.psan-connection-social-actions details button:hover{
    background:#f1f6f4;
}
.psan-connection-social-actions details form{
    margin:0;
}

/* =========================================================
   Messages inbox
   ========================================================= */
.psan-messages-inbox-card{
    overflow:hidden;
}
.psan-messages-inbox-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:15px 16px 11px;
}
.psan-messages-inbox-header>div{
    display:grid;
}
.psan-messages-inbox-header strong{
    color:#315150;
    font-size:18px;
}
.psan-messages-inbox-header small{
    color:#81908b;
    font-size:12px!important;
}
.psan-messages-inbox-header>a{
    color:#08777e;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}
.psan-messages-search,
.psan-messenger-search{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:center;
    gap:4px;
    margin:0 12px 10px;
    min-height:41px;
    padding:0 9px;
    border:1px solid #dae4e1;
    border-radius:999px;
    background:#f3f7f5;
}
.psan-messages-search>span,
.psan-messenger-search>span{
    display:grid;
    place-items:center;
    color:#85938e;
    font-size:17px;
}
.psan-messages-search>input,
.psan-messenger-search>input{
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:#34514f;
    font:inherit;
    font-size:14px!important;
}
.psan-messages-list{
    display:grid;
}
.psan-message-row{
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    gap:11px;
    align-items:center;
    padding:11px 15px;
    border-top:1px solid #edf1ef;
    color:inherit;
    text-decoration:none;
}
.psan-message-row:hover,
.psan-message-row:focus-visible{
    background:#f7faf9;
}
.psan-message-row.has-unread{
    background:#f0faf6;
}
.psan-message-row-avatar{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    overflow:hidden;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:19px;
    font-weight:900;
}
.psan-message-row-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-message-row-main{
    display:grid;
    min-width:0;
}
.psan-message-row-main>div{
    display:flex;
    align-items:center;
    gap:7px;
}
.psan-message-row-main strong{
    overflow:hidden;
    color:#315150;
    font-size:14px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-message-row-main>div>b{
    display:grid;
    place-items:center;
    min-width:21px;
    height:21px;
    padding:0 5px;
    border-radius:999px;
    background:#0a8a92;
    color:#fff;
    font-size:10px;
}
.psan-message-row-main>p{
    overflow:hidden;
    margin:2px 0 0;
    color:#6d807a;
    font-size:13px!important;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-message-row-main>p>span{
    color:#46615d;
    font-weight:850;
}
.psan-message-row-main>small{
    overflow:hidden;
    margin-top:2px;
    color:#8a9893;
    font-size:11px!important;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-message-row-meta{
    align-self:start;
    padding-top:3px;
    color:#82918c;
    font-size:11px;
}
.psan-message-row.has-unread .psan-message-row-meta{
    color:#08777e;
    font-weight:850;
}
.psan-message-search-empty,
.psan-messenger-search-empty{
    padding:18px;
    color:#71827d;
    text-align:center;
}
.psan-message-search-empty>strong{
    display:block;
    color:#315150;
    font-size:14px;
}
.psan-message-search-empty>p{
    margin:3px 0 0;
    font-size:12px!important;
}
.psan-message-side-stat{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin-top:5px;
}
.psan-message-side-stat>span{
    color:#0a8a92;
    font-family:Georgia,serif;
    font-size:30px;
    font-weight:900;
}
.psan-message-side-stat>p{
    margin:0;
    color:#71827d;
    font-size:12px!important;
}

/* =========================================================
   Messenger conversation page
   ========================================================= */
.psan-messenger-page{
    padding-bottom:34px;
}
.psan-messenger-grid{
    display:grid;
    grid-template-columns:215px 310px minmax(0,1fr);
    gap:14px;
    align-items:stretch;
    max-width:1320px;
    min-height:calc(100vh - 140px);
}
.psan-messenger-grid>.psan-network-left{
    align-self:start;
}
.psan-messenger-conversations,
.psan-messenger-chat{
    min-height:calc(100vh - 140px);
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 12px rgba(29,70,67,.035);
}
.psan-messenger-conversations{
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.psan-messenger-conversations-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:15px 14px 10px;
}
.psan-messenger-conversations-header>div{
    display:grid;
}
.psan-messenger-conversations-header strong{
    color:#315150;
    font-size:18px;
}
.psan-messenger-conversations-header small{
    color:#82918c;
    font-size:11px!important;
}
.psan-messenger-conversations-header>b{
    display:grid;
    place-items:center;
    min-width:26px;
    height:26px;
    padding:0 6px;
    border-radius:999px;
    background:#0a8a92;
    color:#fff;
    font-size:11px;
}
.psan-messenger-conversation-list{
    flex:1;
    overflow:auto;
}
.psan-messenger-conversation-list>a{
    display:grid;
    grid-template-columns:43px minmax(0,1fr) auto;
    gap:9px;
    align-items:center;
    min-height:62px;
    padding:8px 11px;
    border-top:1px solid #edf1ef;
    color:inherit;
    text-decoration:none;
}
.psan-messenger-conversation-list>a:hover{
    background:#f6f9f8;
}
.psan-messenger-conversation-list>a.is-active{
    background:#eaf7f2;
}
.psan-messenger-sidebar-avatar{
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    overflow:hidden;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:16px;
    font-weight:900;
}
.psan-messenger-sidebar-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-messenger-conversation-list>a>div:nth-child(2){
    display:grid;
    min-width:0;
}
.psan-messenger-conversation-list strong{
    overflow:hidden;
    color:#315150;
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-messenger-conversation-list small{
    overflow:hidden;
    color:#81908b;
    font-size:11px!important;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-messenger-conversation-list>a>b{
    display:grid;
    place-items:center;
    min-width:21px;
    height:21px;
    padding:0 5px;
    border-radius:999px;
    background:#0a8a92;
    color:#fff;
    font-size:10px;
}
.psan-messenger-sidebar-footer{
    display:flex;
    justify-content:space-between;
    gap:8px;
    padding:10px 12px;
    border-top:1px solid #e8efec;
}
.psan-messenger-sidebar-footer>a{
    color:#08777e;
    font-size:11px;
    font-weight:850;
    text-decoration:none;
}

.psan-messenger-chat{
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.psan-messenger-chat-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 14px;
    border-bottom:1px solid #e5ece9;
    background:#fff;
}
.psan-messenger-chat-person{
    display:flex;
    align-items:center;
    min-width:0;
    gap:9px;
}
.psan-messenger-chat-avatar{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:44px;
    height:44px;
    overflow:hidden;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:17px;
    font-weight:900;
    text-decoration:none;
}
.psan-messenger-chat-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-messenger-chat-person>div:last-child{
    display:grid;
    min-width:0;
}
.psan-messenger-chat-person strong{
    overflow:hidden;
    color:#315150;
    font-size:14px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-messenger-chat-person small,
.psan-messenger-chat-person small>a{
    color:#81908b;
    font-size:11px!important;
    text-decoration:none;
}
.psan-messenger-chat-actions{
    display:flex;
    align-items:center;
    gap:8px;
}
.psan-messenger-private-pill{
    padding:5px 8px;
    border-radius:999px;
    background:#f1f5f3;
    color:#637671;
    font-size:10px;
    font-weight:850;
}
.psan-messenger-thread.member-message-thread{
    flex:1;
    min-height:420px;
    max-height:none;
    padding:18px 16px;
    overflow-y:auto;
    background:
        radial-gradient(circle at 10% 10%,rgba(134,201,175,.08),transparent 28%),
        #f7faf9;
}
.psan-messenger-thread .member-message-bubble{
    max-width:76%;
}
.psan-messenger-thread .member-message-bubble.is-mine .member-message-bubble-body{
    border-radius:18px 18px 5px 18px;
    background:#0a8a92;
    color:#fff;
}
.psan-messenger-thread .member-message-bubble.is-theirs .member-message-bubble-body{
    border:1px solid #dde6e3;
    border-radius:18px 18px 18px 5px;
    background:#fff;
    color:#304d4a;
}
.psan-messenger-compose.member-message-compose{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:end;
    margin:0;
    padding:11px 12px;
    border-top:1px solid #e5ece9;
    background:#fff;
}
.psan-messenger-compose>label{
    min-width:0;
}
.psan-messenger-compose textarea{
    min-height:44px;
    max-height:130px;
    padding:10px 13px;
    border:1px solid #d8e3df;
    border-radius:19px;
    background:#f3f7f5;
}
.psan-messenger-compose .member-message-compose-actions{
    display:grid;
    justify-items:end;
    gap:4px;
}
.psan-messenger-compose .member-message-compose-actions>.button{
    min-width:72px;
    border-radius:999px;
}
.psan-messenger-footer-note{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px 12px;
    border-top:1px solid #edf1ef;
    background:#fbfdfc;
}
.psan-messenger-footer-note>span{
    font-size:12px;
}
.psan-messenger-footer-note>p{
    margin:0;
    color:#84918d;
    font-size:10px!important;
    text-align:center;
}

/* =========================================================
   Social-style member profile
   ========================================================= */
.psan-profile-flash-stack{
    display:grid;
    gap:8px;
    margin-bottom:12px;
}
.psan-social-profile-header{
    overflow:hidden;
    margin-bottom:10px;
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 12px rgba(29,70,67,.035);
}
.psan-social-profile-cover{
    height:126px;
    background:
        radial-gradient(circle at 78% 18%,rgba(255,255,255,.18),transparent 27%),
        linear-gradient(135deg,#06666d 0%,#0a8a92 58%,#86c9af 100%);
}
.psan-social-profile-header-body{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:15px;
    align-items:end;
    padding:0 18px 16px;
}
.psan-social-profile-main-avatar{
    display:grid;
    place-items:center;
    width:112px;
    height:112px;
    margin-top:-48px;
    overflow:hidden;
    border:5px solid #fff;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:40px;
    font-weight:900;
    box-shadow:0 5px 18px rgba(25,71,67,.13);
}
.psan-social-profile-main-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-social-profile-identity{
    min-width:0;
    padding-top:10px;
}
.psan-social-profile-identity .eyebrow{
    margin:0;
    color:#0a8a92;
    font-size:10px!important;
}
.psan-social-profile-identity h1{
    margin:1px 0 0;
    color:#263f40;
    font-family:Georgia,serif;
    font-size:29px;
    line-height:1.1;
}
.psan-social-profile-identity>p:not(.eyebrow){
    margin:3px 0 0;
    color:#73847e;
    font-size:12px!important;
}
.psan-social-profile-meta{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:8px;
}
.psan-social-profile-meta>span{
    padding:5px 8px;
    border-radius:999px;
    background:#eef5f2;
    color:#56706b;
    font-size:11px;
    font-weight:800;
}
.psan-social-profile-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
    padding-bottom:4px;
}
.psan-social-profile-actions form{
    margin:0;
}
.psan-social-profile-more{
    position:relative;
}
.psan-social-profile-more>summary{
    display:grid;
    place-items:center;
    width:35px;
    height:35px;
    border:1px solid #d7e2de;
    border-radius:999px;
    color:#627671;
    cursor:pointer;
    list-style:none;
}
.psan-social-profile-more>summary::-webkit-details-marker{
    display:none;
}
.psan-social-profile-more>div{
    position:absolute;
    z-index:50;
    right:0;
    top:41px;
    display:grid;
    width:185px;
    padding:7px;
    border:1px solid #dce7e3;
    border-radius:11px;
    background:#fff;
    box-shadow:0 14px 34px rgba(32,66,63,.14);
}
.psan-social-profile-more a,
.psan-social-profile-more button{
    width:100%;
    padding:8px 9px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#415b58;
    font:inherit;
    font-size:12px!important;
    font-weight:800;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
}
.psan-social-profile-more form{
    margin:0;
}
.psan-social-profile-tabs{
    display:flex;
    gap:5px;
    margin-bottom:10px;
    padding:6px;
    border:1px solid #dce7e3;
    border-radius:13px;
    background:#fff;
}
.psan-social-profile-tabs>a{
    padding:8px 11px;
    border-radius:9px;
    color:#60746e;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}
.psan-social-profile-tabs>a:hover{
    background:#f0f6f3;
    color:#08777e;
}
.psan-social-profile-card{
    margin-bottom:10px;
    padding:16px;
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 12px rgba(29,70,67,.035);
    scroll-margin-top:100px;
}
.psan-social-profile-card>header{
    display:grid;
    margin-bottom:10px;
}
.psan-social-profile-card>header>span{
    color:#0a8a92;
    font-size:10px!important;
    font-weight:950;
    letter-spacing:.08em;
}
.psan-social-profile-card>header>strong{
    margin-top:2px;
    color:#315150;
    font-size:17px;
}
.psan-social-profile-bio{
    margin:0;
    color:#405b57;
    font-size:14px!important;
    line-height:1.65;
    white-space:pre-wrap;
}
.psan-social-profile-empty-copy{
    margin:0;
    color:#7a8984;
    font-size:13px!important;
}
.psan-social-profile-detail-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.psan-social-profile-detail-grid>div{
    display:grid;
    min-height:68px;
    padding:10px 11px;
    border:1px solid #e2ebe8;
    border-radius:11px;
    background:#fafcfb;
}
.psan-social-profile-detail-grid span{
    color:#7d8d87;
    font-size:10px!important;
    font-weight:850;
}
.psan-social-profile-detail-grid strong{
    margin-top:2px;
    color:#315150;
    font-size:14px;
}

/* =========================================================
   Social-style profile settings
   ========================================================= */
.psan-profile-settings-form{
    display:grid;
    gap:11px;
}
.psan-profile-settings-card{
    overflow:hidden;
    padding:16px;
}
.psan-profile-settings-card.is-photo{
    padding:0;
}
.psan-profile-settings-cover{
    height:86px;
    background:
        radial-gradient(circle at 82% 14%,rgba(255,255,255,.18),transparent 30%),
        linear-gradient(135deg,#06666d,#0a8a92 58%,#86c9af);
}
.psan-profile-settings-photo-row{
    display:flex;
    align-items:flex-end;
    gap:15px;
    padding:0 17px 17px;
}
.psan-profile-settings-avatar.member-profile-photo-preview{
    flex:0 0 auto;
    width:92px;
    height:92px;
    margin-top:-36px;
    border:4px solid #fff;
    border-radius:50%;
    box-shadow:0 4px 15px rgba(25,71,67,.12);
}
.psan-profile-settings-photo-copy{
    display:grid;
    padding-top:10px;
}
.psan-profile-settings-photo-copy>span,
.psan-profile-settings-heading>span{
    color:#0a8a92;
    font-size:10px!important;
    font-weight:950;
    letter-spacing:.08em;
}
.psan-profile-settings-photo-copy>strong{
    margin-top:1px;
    color:#315150;
    font-size:16px;
}
.psan-profile-settings-photo-copy>p{
    margin:4px 0 7px;
    color:#74857f;
    font-size:12px!important;
}
.psan-profile-settings-photo-copy>small{
    margin-top:5px;
    color:#899691;
    font-size:10px!important;
}
.psan-profile-settings-heading{
    display:grid;
    margin-bottom:12px;
}
.psan-profile-settings-heading>strong{
    margin-top:2px;
    color:#315150;
    font-size:17px;
}
.psan-profile-settings-heading>p{
    margin:4px 0 0;
    color:#758680;
    font-size:12px!important;
}
.psan-profile-settings-form .member-profile-form-grid input,
.psan-profile-settings-form .member-profile-form-grid textarea{
    border-color:#d7e2de;
    border-radius:10px;
    background:#fbfdfc;
}
.psan-profile-privacy-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.psan-profile-privacy-options>label{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:9px;
    align-items:center;
    padding:12px;
    border:1px solid #dce7e3;
    border-radius:12px;
    background:#fafcfb;
    cursor:pointer;
}
.psan-profile-privacy-options>label.is-selected{
    border-color:#94c8b8;
    background:#eef9f5;
}
.psan-profile-privacy-options input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.psan-profile-privacy-options>label>span{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:10px;
    background:#eef5f2;
    font-size:16px;
}
.psan-profile-privacy-options>label>div{
    display:grid;
}
.psan-profile-privacy-options strong{
    color:#315150;
    font-size:13px;
}
.psan-profile-privacy-options small{
    margin-top:2px;
    color:#7c8c87;
    font-size:11px!important;
}
.psan-profile-settings-actions{
    display:flex;
    align-items:center;
    gap:12px;
    padding:5px 2px 0;
}
.psan-profile-settings-actions>a{
    color:#687b75;
    font-size:13px;
    font-weight:850;
    text-decoration:none;
}
.psan-profile-save-success{
    margin-bottom:11px;
}

/* =========================================================
   Responsive network pages
   ========================================================= */
@media(max-width:1180px){
    .psan-network-grid{
        grid-template-columns:205px minmax(0,680px) 255px;
        gap:16px;
    }
    .psan-messenger-grid{
        grid-template-columns:190px 285px minmax(0,1fr);
    }
}

@media(max-width:1040px){
    .psan-network-grid{
        grid-template-columns:minmax(0,700px) 270px;
        justify-content:center;
    }
    .psan-network-grid>.psan-network-left{
        display:none;
    }
    .psan-messenger-grid{
        grid-template-columns:290px minmax(0,1fr);
    }
    .psan-messenger-grid>.psan-network-left{
        display:none;
    }
}

@media(max-width:820px){
    .psan-network-shell{
        padding:12px 0 46px;
    }
    .psan-network-grid{
        grid-template-columns:minmax(0,1fr);
        gap:12px;
    }
    .psan-network-right{
        display:none;
    }
    .psan-network-page-header{
        border-radius:14px;
    }
    .psan-people-grid,
    .psan-connection-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .psan-messenger-grid{
        grid-template-columns:240px minmax(0,1fr);
        min-height:calc(100vh - 112px);
    }
    .psan-messenger-conversations,
    .psan-messenger-chat{
        min-height:calc(100vh - 112px);
        border-radius:14px;
    }
}

@media(max-width:680px){
    .psan-network-page-header{
        align-items:flex-start;
    }
    .psan-network-header-action{
        display:none;
    }
    .psan-directory-filter-row{
        grid-template-columns:1fr 1fr;
    }
    .psan-directory-filter-row>.button,
    .psan-directory-filter-row>.psan-network-text-link{
        align-self:center;
    }
    .psan-people-grid,
    .psan-connection-grid{
        grid-template-columns:1fr;
    }
    .psan-network-stat-strip{
        grid-template-columns:repeat(3,1fr);
    }
    .psan-request-row{
        align-items:flex-start;
    }
    .psan-request-actions{
        flex-direction:column;
        align-items:stretch;
    }
    .psan-social-profile-header-body{
        grid-template-columns:auto minmax(0,1fr);
        align-items:start;
    }
    .psan-social-profile-actions{
        grid-column:1 / -1;
        justify-content:flex-start;
        padding-bottom:0;
    }
    .psan-social-profile-main-avatar{
        width:92px;
        height:92px;
        margin-top:-38px;
        font-size:33px;
    }
    .psan-social-profile-cover{
        height:105px;
    }
    .psan-profile-privacy-options{
        grid-template-columns:1fr;
    }
    .psan-messenger-grid{
        grid-template-columns:1fr;
    }
    .psan-messenger-conversations{
        min-height:0;
        max-height:285px;
    }
    .psan-messenger-chat{
        min-height:620px;
    }
}

@media(max-width:520px){
    .psan-network-page-header{
        padding:14px 15px;
    }
    .psan-network-page-header h1{
        font-size:25px;
    }
    .psan-directory-search-card,
    .psan-network-content-card,
    .psan-profile-settings-card{
        border-radius:14px;
    }
    .psan-directory-filter-row{
        grid-template-columns:1fr;
    }
    .psan-directory-filter-row>.button{
        width:100%;
    }
    .psan-network-stat-strip{
        gap:6px;
    }
    .psan-network-stat-strip>article{
        padding:10px;
    }
    .psan-network-stat-strip strong{
        font-size:22px;
    }
    .psan-request-row{
        display:grid;
        grid-template-columns:1fr;
    }
    .psan-request-actions{
        flex-direction:row;
        justify-content:flex-start;
    }
    .psan-message-row{
        grid-template-columns:46px minmax(0,1fr);
        padding:10px 12px;
    }
    .psan-message-row-avatar{
        width:46px;
        height:46px;
    }
    .psan-message-row-meta{
        grid-column:2;
        padding:0;
    }
    .psan-social-profile-header-body{
        padding:0 14px 14px;
    }
    .psan-social-profile-identity h1{
        font-size:24px;
    }
    .psan-social-profile-detail-grid{
        grid-template-columns:1fr;
    }
    .psan-profile-settings-photo-row{
        align-items:flex-start;
        padding:0 14px 15px;
    }
    .psan-profile-settings-avatar.member-profile-photo-preview{
        width:78px;
        height:78px;
        margin-top:-29px;
    }
    .psan-profile-settings-photo-copy>p{
        display:none;
    }
    .psan-profile-settings-actions{
        flex-direction:column;
        align-items:stretch;
    }
    .psan-profile-settings-actions>.button{
        width:100%;
    }
    .psan-messenger-conversations{
        max-height:235px;
    }
    .psan-messenger-thread.member-message-thread{
        min-height:360px;
        padding:14px 10px;
    }
    .psan-messenger-thread .member-message-bubble{
        max-width:86%;
    }
    .psan-messenger-compose.member-message-compose{
        grid-template-columns:1fr;
    }
    .psan-messenger-compose .member-message-compose-actions{
        display:flex;
        align-items:center;
        justify-content:space-between;
    }
}

/* =========================================================
   DHS PSAN Dashboard — social home experience
   ========================================================= */
.psan-dashboard-shell .psan-network-main{
    display:grid;
    gap:12px;
}
.psan-dashboard-shell .psan-network-page-header,
.psan-dashboard-shell .psan-network-content-card{
    margin-bottom:0;
}
.psan-dashboard-overview-strip{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}
.psan-dashboard-overview-strip>a{
    display:grid;
    min-width:0;
    padding:12px 13px;
    border:1px solid #dce7e3;
    border-radius:14px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    box-shadow:0 3px 12px rgba(29,70,67,.03);
}
.psan-dashboard-overview-strip>a:hover,
.psan-dashboard-overview-strip>a:focus-visible{
    border-color:#b8d7cc;
    background:#f8fcfa;
}
.psan-dashboard-overview-strip strong{
    color:#0a8a92;
    font-family:Georgia,serif;
    font-size:24px;
}
.psan-dashboard-overview-strip span{
    margin-top:2px;
    color:#617671;
    font-size:11px;
    font-weight:850;
}
.psan-dashboard-post-launcher{
    display:grid;
    grid-template-columns:46px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:13px 14px 10px;
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 12px rgba(29,70,67,.035);
}
.psan-dashboard-post-avatar{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    overflow:hidden;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:18px;
    font-weight:900;
}
.psan-dashboard-post-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-dashboard-post-launcher>a{
    display:flex;
    align-items:center;
    min-height:42px;
    padding:0 14px;
    border:1px solid #d8e3df;
    border-radius:999px;
    background:#f4f7f6;
    color:#73847f;
    font-size:14px;
    text-decoration:none;
}
.psan-dashboard-post-launcher>a:hover{
    background:#eef5f2;
}
.psan-dashboard-post-launcher-actions{
    grid-column:2;
    display:flex;
    gap:6px;
    padding-top:7px;
    border-top:1px solid #edf1ef;
}
.psan-dashboard-post-launcher-actions>a{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 9px;
    border-radius:9px;
    color:#536d68;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}
.psan-dashboard-post-launcher-actions>a:hover{
    background:#f1f6f4;
}
.psan-dashboard-social-stream{
    display:grid;
    gap:10px;
}
.psan-dashboard-social-stream>.psan-network-section-heading{
    padding:2px 2px 0;
    margin:0;
}
.psan-dashboard-feed-list{
    display:grid;
    gap:11px;
}
.psan-dashboard-feed-list .social-feed-post{
    overflow:visible;
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 15px rgba(29,70,67,.04);
}
.psan-dashboard-feed-list .social-feed-post-header{
    padding:15px 16px 10px;
}
.psan-dashboard-feed-list .social-feed-avatar{
    width:44px;
    height:44px;
}
.psan-dashboard-feed-list .social-feed-post-body{
    padding:5px 16px 14px;
    font-size:15px!important;
}
.psan-dashboard-feed-list .social-feed-engagement-summary{
    padding:9px 16px;
}
.psan-dashboard-feed-list .social-feed-reaction-bar{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr)) auto;
    gap:2px;
    padding:5px 10px;
}
.psan-dashboard-feed-list .social-feed-reaction-bar form>button:not(.social-feed-remove-reaction){
    justify-content:center;
    width:100%;
}
.psan-dashboard-feed-list .social-feed-comments{
    padding:10px 14px 14px;
}
.psan-dashboard-feed-more{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    border:1px solid #dce7e3;
    border-radius:14px;
    background:#fff;
    color:#08777e;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
}
.psan-dashboard-feed-more:hover{
    background:#f0f8f5;
}
.psan-dashboard-request-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.psan-dashboard-request-card{
    padding:11px;
    border:1px solid #e1eae7;
    border-radius:13px;
    background:#fbfdfc;
}
.psan-dashboard-request-card>a{
    display:flex;
    align-items:center;
    gap:9px;
    color:inherit;
    text-decoration:none;
}
.psan-dashboard-request-card>a>div:last-child{
    display:grid;
    min-width:0;
}
.psan-dashboard-request-card>a strong{
    overflow:hidden;
    color:#315150;
    font-size:13px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-dashboard-request-card>a small{
    color:#7f8f89;
    font-size:11px!important;
}
.psan-dashboard-request-card>div:last-child{
    display:flex;
    gap:6px;
    margin-top:9px;
}
.psan-dashboard-request-card form{
    margin:0;
}
.psan-dashboard-people-row{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:9px;
}
.psan-dashboard-people-row>a{
    display:grid;
    justify-items:center;
    min-width:0;
    padding:10px 5px;
    border-radius:11px;
    color:inherit;
    text-align:center;
    text-decoration:none;
}
.psan-dashboard-people-row>a:hover{
    background:#f3f8f6;
}
.psan-dashboard-person-avatar,
.psan-dashboard-year-avatar{
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-weight:900;
}
.psan-dashboard-person-avatar{
    width:54px;
    height:54px;
    font-size:19px;
}
.psan-dashboard-person-avatar img,
.psan-dashboard-year-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-dashboard-people-row strong{
    overflow:hidden;
    width:100%;
    margin-top:5px;
    color:#315150;
    font-size:11px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-dashboard-people-row small{
    overflow:hidden;
    width:100%;
    margin-top:1px;
    color:#84928d;
    font-size:10px!important;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.psan-dashboard-year-card>p{
    margin:0 0 10px;
    color:#71827d;
    font-size:13px!important;
}
.psan-dashboard-year-people{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.psan-dashboard-year-people>a{
    display:flex;
    align-items:center;
    gap:6px;
    padding:5px 8px 5px 5px;
    border:1px solid #e1e9e6;
    border-radius:999px;
    color:#45615d;
    font-size:11px;
    font-weight:850;
    text-decoration:none;
}
.psan-dashboard-year-avatar{
    width:30px;
    height:30px;
    font-size:11px;
}
.psan-dashboard-community-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.psan-dashboard-news-list,
.psan-dashboard-event-list{
    overflow:hidden;
    border:1px solid #e1e9e6;
    border-radius:13px;
    background:#fbfdfc;
}
.psan-dashboard-card-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:10px 11px;
    border-bottom:1px solid #e9efed;
}
.psan-dashboard-card-title strong{
    color:#315150;
    font-size:13px;
}
.psan-dashboard-card-title a{
    color:#08777e;
    font-size:10px;
    font-weight:850;
    text-decoration:none;
}
.psan-dashboard-news-list>a{
    display:grid;
    padding:10px 11px;
    border-top:1px solid #edf1ef;
    color:inherit;
    text-decoration:none;
}
.psan-dashboard-news-list>a:first-of-type{
    border-top:0;
}
.psan-dashboard-news-list>a>span{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
}
.psan-dashboard-news-list>a>strong{
    margin-top:2px;
    color:#315150;
    font-size:12px;
}
.psan-dashboard-news-list>a>small{
    margin-top:3px;
    color:#8b9893;
    font-size:9px!important;
}
.psan-dashboard-news-list>a>p{
    margin:4px 0 0;
    color:#71827d;
    font-size:11px!important;
}
.psan-dashboard-event-list>a{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:9px;
    align-items:center;
    padding:9px 11px;
    border-top:1px solid #edf1ef;
    color:inherit;
    text-decoration:none;
}
.psan-dashboard-event-list>a:first-of-type{
    border-top:0;
}
.psan-dashboard-event-list>a>div{
    display:grid;
    place-items:center;
    width:42px;
    min-height:45px;
    border-radius:9px;
    background:#e9f6f1;
    color:#08777e;
}
.psan-dashboard-event-list>a>div>b{
    font-family:Georgia,serif;
    font-size:17px;
    line-height:1;
}
.psan-dashboard-event-list>a>div>span{
    font-size:8px;
    font-weight:950;
}
.psan-dashboard-event-list>a>p{
    display:grid;
    margin:0;
}
.psan-dashboard-event-list>a strong{
    color:#315150;
    font-size:12px;
}
.psan-dashboard-event-list>a small{
    color:#85938e;
    font-size:10px!important;
}
.psan-dashboard-profile-card{
    overflow:hidden;
    border:1px solid #dce7e3;
    border-radius:16px;
    background:#fff;
    box-shadow:0 3px 12px rgba(29,70,67,.035);
}
.psan-dashboard-profile-cover{
    height:62px;
    background:linear-gradient(135deg,#06666d,#0a8a92 60%,#86c9af);
}
.psan-dashboard-profile-body{
    display:grid;
    justify-items:center;
    padding:0 14px 15px;
    text-align:center;
}
.psan-dashboard-profile-avatar{
    display:grid;
    place-items:center;
    width:70px;
    height:70px;
    margin-top:-35px;
    overflow:hidden;
    border:4px solid #fff;
    border-radius:50%;
    background:#dcefe8;
    color:#08777e;
    font-family:Georgia,serif;
    font-size:25px;
    font-weight:900;
}
.psan-dashboard-profile-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.psan-dashboard-profile-body>strong{
    margin-top:6px;
    color:#315150;
    font-size:14px;
}
.psan-dashboard-profile-body>small{
    color:#81908b;
    font-size:11px!important;
}
.psan-dashboard-profile-progress{
    width:100%;
    margin-top:10px;
}
.psan-dashboard-profile-progress>div{
    display:flex;
    justify-content:space-between;
    gap:8px;
    color:#71827d;
    font-size:10px;
}
.psan-dashboard-profile-progress progress{
    width:100%;
    height:7px;
    margin-top:4px;
    accent-color:#0a8a92;
}
.psan-dashboard-profile-body>a{
    margin-top:9px;
    color:#08777e;
    font-size:11px;
    font-weight:850;
    text-decoration:none;
}
.psan-dashboard-officer-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.psan-dashboard-officer-grid>a{
    display:grid;
    padding:11px;
    border:1px solid #e0e9e6;
    border-radius:11px;
    background:#fafcfb;
    color:inherit;
    text-decoration:none;
}
.psan-dashboard-officer-grid>a>span{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
}
.psan-dashboard-officer-grid>a>strong{
    margin-top:3px;
    color:#315150;
    font-size:12px;
}
@media(max-width:820px){
    .psan-dashboard-overview-strip{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .psan-dashboard-request-grid{
        grid-template-columns:1fr;
    }
    .psan-dashboard-people-row{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:580px){
    .psan-dashboard-post-launcher{
        grid-template-columns:40px minmax(0,1fr);
    }
    .psan-dashboard-post-avatar{
        width:40px;
        height:40px;
    }
    .psan-dashboard-post-launcher-actions{
        grid-column:1 / -1;
        justify-content:center;
    }
    .psan-dashboard-feed-list .social-feed-reaction-bar{
        grid-template-columns:repeat(4,1fr);
    }
    .psan-dashboard-feed-list .social-feed-reaction-bar .social-feed-remove-reaction{
        display:none;
    }
    .psan-dashboard-community-grid{
        grid-template-columns:1fr;
    }
    .psan-dashboard-people-row{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .psan-dashboard-officer-grid{
        grid-template-columns:1fr;
    }
}

/* Member network navigation arrows */
.psan-network-nav>a{
    grid-template-columns:32px minmax(0,1fr) 14px;
}
.psan-network-nav>a::after{
    content:"";
    justify-self:end;
    width:7px;
    height:7px;
    border-right:2px solid #8b9994;
    border-bottom:2px solid #8b9994;
    transform:rotate(-45deg);
    transition:transform .18s ease,border-color .18s ease;
}
.psan-network-nav>a:hover::after,
.psan-network-nav>a:focus-visible::after,
.psan-network-nav>a.is-active::after{
    border-color:#0a8a92;
}
.psan-network-nav>a:hover::after,
.psan-network-nav>a:focus-visible::after{
    transform:translateX(2px) rotate(-45deg);
}

/* Member Directory pagination — standalone, no framework SVG dependency */
.psan-member-pagination{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:12px;
    align-items:center;
    margin-top:22px;
    padding-top:16px;
    border-top:1px solid #dce7e3;
}
.psan-member-pagination-edge,
.psan-member-pagination-pages>a,
.psan-member-pagination-pages>span.is-current{
    display:inline-flex;
    min-height:38px;
    align-items:center;
    justify-content:center;
    border:1px solid #d1e1db;
    border-radius:10px;
    background:#fff;
    color:#315052;
    font-size:13px!important;
    font-weight:850;
    line-height:1;
    text-decoration:none;
}
.psan-member-pagination-edge{
    justify-self:start;
    gap:6px;
    padding:0 12px;
}
.psan-member-pagination-edge.is-next{
    justify-self:end;
}
.psan-member-pagination-edge>span{
    display:inline;
    width:auto;
    height:auto;
    font-size:18px!important;
    line-height:1;
}
.psan-member-pagination-edge:hover,
.psan-member-pagination-pages>a:hover,
.psan-member-pagination-edge:focus-visible,
.psan-member-pagination-pages>a:focus-visible{
    border-color:#0a8a92;
    background:#edf8f4;
    color:#08777e;
}
.psan-member-pagination-edge.is-disabled{
    opacity:.42;
    cursor:not-allowed;
}
.psan-member-pagination-pages{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
}
.psan-member-pagination-pages>a,
.psan-member-pagination-pages>span.is-current{
    min-width:38px;
    padding:0 8px;
}
.psan-member-pagination-pages>span.is-current{
    border-color:#0a8a92;
    background:#0a8a92;
    color:#fff;
}
.psan-member-pagination-ellipsis{
    display:inline-flex;
    min-width:20px;
    align-items:center;
    justify-content:center;
    color:#7f8e89;
    font-size:13px!important;
}
.psan-member-pagination-summary{
    margin-top:9px;
    color:#73847f;
    font-size:12px!important;
    text-align:center;
}
@media(max-width:620px){
    .psan-member-pagination{
        grid-template-columns:1fr 1fr;
    }
    .psan-member-pagination-pages{
        grid-column:1 / -1;
        grid-row:1;
        flex-wrap:wrap;
    }
    .psan-member-pagination-edge{
        grid-row:2;
    }
}

/* Shared DHS PSAN navigation: no utility CSS or icon fonts required. */
.psan-chevron{display:inline-block!important;position:relative;box-sizing:border-box;width:10px!important;height:10px!important;min-width:10px;flex:0 0 10px;margin:0 3px;vertical-align:middle;line-height:1}
.psan-chevron::before{content:"";position:absolute;box-sizing:border-box;width:7px;height:7px;top:1px;left:0;border:0;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.psan-chevron-left::before{transform:rotate(-135deg);left:3px}
.psan-chevron-down::before{transform:rotate(135deg);top:0}
.psan-chevron-double::after{content:"";position:absolute;width:7px;height:7px;box-sizing:border-box;top:1px;left:4px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.psan-chevron-double.psan-chevron-left::after{left:-1px;transform:rotate(-135deg)}
.psan-pagination{margin:24px 0;width:100%;min-width:0;color:#29453f;font-size:14px}
.psan-pagination-controls,.psan-page-numbers{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;min-width:0}
.psan-pagination .psan-page{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:40px;min-height:40px;padding:8px 12px;border:1px solid #c8d8d3;border-radius:10px;background:#fff;color:#29453f;line-height:1.3;font-size:14px;font-weight:700;text-decoration:none}
.psan-pagination a.psan-page:hover{background:#e9f5f4;border-color:#087b82}
.psan-pagination a.psan-page:focus-visible{outline:3px solid #087b82;outline-offset:3px}
.psan-pagination .is-current{background:#087b82;color:#fff;border-color:#087b82}
.psan-pagination .is-disabled{color:#64746f;background:#f1f5f3;cursor:default}
.psan-page-gap{padding:6px;color:#64746f}
.psan-pagination-summary{text-align:center;margin:12px 0 0;font-size:13px;color:#586e66}
@media(max-width:560px){.psan-page-numbers{order:3;flex-basis:100%}.psan-pagination .psan-page{min-width:36px;min-height:40px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.psan-network-nav>a::after,.nav-dropdown-chevron{transition:none}}

/* Membership tiers on the public PSAN page. */
.psan-tier-current{padding:14px 18px;border:1px solid #bcdacf;border-radius:12px;background:#edf8f3;color:#234e49}
.psan-tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 32px}
.psan-tier-card{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid #c7ddd4;border-radius:18px;background:#fff;color:#315752;overflow-wrap:anywhere}
.psan-tier-card-full{border:2px solid #08777e;background:#f3fbf7}
.psan-tier-label{font-size:12px;font-weight:800;letter-spacing:.1em;color:#08777e}
.psan-tier-card h3{margin:12px 0 8px;font-size:28px;color:#073f44}
.psan-tier-card .psan-tier-price{margin:0 0 14px;font-size:24px;font-weight:800;color:#073f44}
.psan-tier-price small{font-size:14px;font-weight:500}
.psan-tier-card p,.psan-tier-card li{line-height:1.6}
.psan-tier-card ul{padding-left:20px;margin:8px 0 24px}
.psan-tier-card li+li{margin-top:8px}
.psan-tier-card .button{align-self:flex-start;margin-top:auto;white-space:normal}
@media(max-width:700px){.psan-tier-grid{grid-template-columns:1fr}.psan-tier-card{padding:22px}}

/* Accessible feature comparison; all columns remain visible on small screens. */
.psan-comparison-wrap{margin:24px 0 12px;border:1px solid #c7ddd4;border-radius:16px;overflow:hidden;background:#fff}
.psan-comparison{width:100%;border-collapse:collapse;table-layout:fixed;color:#315752;font-size:15px;line-height:1.5}
.psan-comparison caption{text-align:left;padding:18px 22px;font-weight:700;color:#073f44;background:#f3fbf7}
.psan-comparison th,.psan-comparison td{padding:16px 20px;border-bottom:1px solid #dce9e3;vertical-align:middle;overflow-wrap:anywhere;white-space:normal}
.psan-comparison th:first-child{width:40%;text-align:left}
.psan-comparison td,.psan-comparison thead th:not(:first-child){text-align:center}
.psan-comparison thead{background:#073f44;color:#fff}
.psan-comparison thead th{font-size:19px}
.psan-comparison thead small{display:block;margin-top:6px;font-size:14px;font-weight:500;color:#e0f2eb}
.psan-comparison tbody td:last-child,.psan-comparison tfoot td:last-child{background:#f0f9f4}
.psan-comparison tbody th{font-weight:600}
.psan-feature-yes{color:#08664e;font-weight:700}
.psan-feature-no{color:#66746f}
.psan-comparison tfoot th,.psan-comparison tfoot td{border-bottom:0}
.psan-comparison .button{white-space:normal;font-size:14px;padding:10px 14px}
.psan-comparison-note{font-size:13px;line-height:1.6;color:#536b62;margin-bottom:30px}
@media(max-width:600px){.psan-comparison{font-size:12px}.psan-comparison th,.psan-comparison td{padding:12px 7px}.psan-comparison th:first-child{width:36%}.psan-comparison thead th{font-size:15px}.psan-comparison thead small{font-size:12px}.psan-comparison .button{font-size:12px;padding:9px 6px}.psan-comparison caption{padding:14px 12px}}

/* Concise PSAN landing page: introduction and one membership comparison. */
.psan-compact-hero{padding:56px 0 42px;background:#073f44;color:#fff}
.psan-compact-hero .container{max-width:1080px}
.psan-compact-kicker{margin:0 0 16px;color:#a8d9c7;font-size:12px;font-weight:800;letter-spacing:.12em}
.psan-compact-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(32px,4.5vw,54px);line-height:1.1}
.psan-compact-lead{max-width:680px;font-size:18px;line-height:1.6;color:#e0f2eb;margin:0 0 24px}
.psan-compact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.psan-compact-actions .button{background:#a8d9c7;color:#073f44;border-color:#a8d9c7}
.psan-compact-login{color:#fff;text-underline-offset:4px;font-weight:700}
.psan-compact-actions a:focus-visible{outline:3px solid #a8d9c7;outline-offset:5px}
.psan-compact-detail{margin:20px 0 0;color:#c5e2d7;font-size:13px;line-height:1.5}
.psan-compact-membership{padding:38px 0 42px;background:#f7fbf9;scroll-margin-top:100px}
.psan-compact-membership .container{max-width:1080px}
.psan-compact-membership h2{margin:0 0 10px;color:#073f44;font-size:30px;line-height:1.2}
.psan-compact-intro{margin:0;color:#315752;line-height:1.6}
.psan-compact-help{margin:18px 0 0;color:#315752}
.psan-compact-help a{color:#08666d;font-weight:700;text-underline-offset:3px}
.psan-compact-page .psan-comparison th,.psan-compact-page .psan-comparison td{padding-top:12px;padding-bottom:12px}
@media(max-width:600px){.psan-compact-hero{padding:36px 0 30px}.psan-compact-membership{padding:28px 0}.psan-compact-lead{font-size:16px}.psan-compact-actions{gap:14px}.psan-compact-membership h2{font-size:26px}}

/* Fixed-size feature status icons with accessible text labels. */
.psan-feature-icon{display:inline-block;position:relative;box-sizing:border-box;width:26px;height:26px;vertical-align:middle;border-radius:50%}
.psan-feature-check{color:#08664e;background:#dcefe5}
.psan-feature-check::before{content:"";position:absolute;left:9px;top:5px;width:7px;height:13px;box-sizing:border-box;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.psan-feature-cross{color:#64716d;background:#edf0ee}
.psan-feature-cross::before,.psan-feature-cross::after{content:"";position:absolute;left:12px;top:6px;width:2px;height:14px;background:currentColor;transform:rotate(45deg)}
.psan-feature-cross::after{transform:rotate(-45deg)}

/* Public editorial layout: shorter headers and tighter content sections. */
.public-site-page .section{padding-top:40px;padding-bottom:40px}
.public-page-heading{padding:40px 0 28px;background:#f3faf6;border-bottom:1px solid #dce9e3}
.public-page-heading h1{margin:8px 0 12px;font-size:clamp(30px,4vw,48px);line-height:1.15;color:#073f44}
.public-page-heading p:not(.eyebrow){max-width:720px;color:#315752;line-height:1.6;margin:0 0 12px}
.public-page-heading a{color:#08666d;font-weight:700;text-underline-offset:4px}
.public-site-page .archive2-hero,.public-site-page .faq-hero,.public-site-page .member-register-hero,.public-site-page .constitution2-hero{padding-top:36px;padding-bottom:30px}
.public-site-page .section-heading,.public-site-page .news-modern-section-heading{margin-bottom:24px}
.public-site-page .contact-direct-heading p{max-width:680px}
.public-site-page .faq-section{padding-top:24px}
.public-site-page .about-modern-subnav{flex-wrap:wrap}
@media(max-width:600px){.public-site-page .section{padding-top:28px;padding-bottom:28px}.public-page-heading{padding:28px 0 22px}}
.public-site-page .home-modern-intro-card{grid-template-columns:minmax(0,1fr)}
.public-site-page .home-modern-intro-copy{max-width:800px}

/* The President heading no longer has a numbered leading column. */
.about-modern-president-message,.about-modern-message-heading>div{min-width:0;max-width:100%}
.about-modern-message-heading .eyebrow{white-space:normal;line-height:1.5}
.about-modern-message-heading h2{overflow-wrap:break-word}

/* Prominent membership payment action. */
.button.psan-payment-button{background:#b91c1c;color:#fff;border-color:#b91c1c}
.button.psan-payment-button:hover{background:#991b1b;color:#fff;border-color:#991b1b}
.button.psan-payment-button:focus-visible{outline:3px solid #b91c1c;outline-offset:4px}
.button.psan-payment-button:active{background:#7f1d1d;border-color:#7f1d1d}

.psan-management-panel{margin-top:20px;padding-top:20px;padding-bottom:20px;border:1px solid #c7ddd4;border-radius:14px;background:#f3fbf7}
.psan-management-panel h2{margin:0 0 12px;color:#073f44;font-size:22px}
.psan-management-panel nav{display:flex;flex-wrap:wrap;gap:10px}
.psan-management-panel a{display:inline-flex;padding:11px 16px;background:#073f44;color:#fff;border-radius:8px;font-weight:700;text-decoration:none}
.psan-management-panel a:hover{background:#08666d}
.psan-management-panel a:focus-visible{outline:3px solid #08777e;outline-offset:3px}

/* Admin workspace: persistent navigation and responsive content canvas. */
.psan-admin-body{margin:0;background:#f3f5f8;color:#243b42}
.psan-admin-shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}
.psan-admin-sidebar{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;background:#103c40;color:#fff;padding:24px 16px;box-sizing:border-box;display:flex;flex-direction:column;gap:28px}
.psan-admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-size:20px;font-weight:800;padding:0 8px}
.psan-admin-brand img{width:40px;height:40px;object-fit:contain;border-radius:10px;background:#fff}
.psan-admin-brand small{display:block;font-size:12px;font-weight:500;color:#b7d5cf;margin-top:3px}
.psan-admin-menu summary{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#b7d5cf;padding:0 12px 12px;cursor:pointer}
.psan-admin-menu nav,.psan-admin-secondary{display:grid;gap:5px}
.psan-admin-menu a{display:block;border-radius:9px;padding:11px 14px;color:#deeeea;text-decoration:none;font-size:14px;font-weight:600}
.psan-admin-menu a:hover{background:#205055;color:#fff}
.psan-admin-menu a.is-active{background:#bce5d7;color:#103c40;box-shadow:inset 3px 0 #fff}
.psan-admin-secondary{border-top:1px solid #386064;margin-top:22px;padding-top:20px}
.psan-admin-secondary>span{padding:0 14px 8px;font-size:11px;letter-spacing:.1em;color:#b7d5cf}
.psan-admin-identity{margin-top:auto;padding:18px 12px 0;border-top:1px solid #386064;overflow-wrap:anywhere}
.psan-admin-identity strong,.psan-admin-identity small{display:block}
.psan-admin-identity small{color:#b7d5cf;margin:4px 0 12px}
.psan-admin-identity button{background:none;border:0;color:#fff;padding:0;text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
.psan-admin-workspace{min-width:0;display:flex;flex-direction:column}
.psan-admin-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border-bottom:1px solid #dfe6e9;padding:19px 32px;font-size:14px}
.psan-admin-topbar>span{font-weight:700;color:#536770}
.psan-admin-topbar a{color:#17666b;text-decoration:none}
.psan-admin-workspace main{padding:28px 32px;flex:1;min-width:0}
.psan-admin-workspace main>.section,.psan-admin-workspace main>section{padding:22px 0;background:transparent;border:0}
.psan-admin-workspace .container{width:100%;max-width:none;padding-left:0;padding-right:0;margin-left:0;margin-right:0;box-sizing:border-box}
.psan-admin-workspace h1{font-family:inherit;font-size:clamp(26px,3vw,36px);line-height:1.2;color:#153e43;margin:6px 0 12px}
.psan-admin-workspace h2{font-family:inherit;line-height:1.3}
.psan-admin-workspace input,.psan-admin-workspace select,.psan-admin-workspace textarea{max-width:100%;box-sizing:border-box}
.psan-admin-workspace .psan-tier-card,.psan-admin-card{background:#fff;border:1px solid #dfe6e9;border-radius:14px;padding:24px;box-shadow:0 3px 12px #153e4305}
.psan-admin-workspace .section{padding-top:24px;padding-bottom:24px}
.psan-admin-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:16px;margin:26px 0}
.psan-admin-metric{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid #dfe6e9;border-radius:14px;background:#fff;text-decoration:none;color:#52676e}
.psan-admin-metric strong{font-size:34px;line-height:1;color:#13494e}
.psan-admin-metric small{color:#687a80}.psan-admin-metric:hover{border-color:#448e8e}
.psan-admin-overview-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.psan-admin-card h2{margin:0 0 18px;font-size:20px}
.psan-admin-card p,.psan-admin-intro{color:#60747b;line-height:1.6}
.psan-admin-quick-actions{display:grid;gap:0}
.psan-admin-quick-actions a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #e7eded;color:#1c6267;text-decoration:none;font-weight:600}
.psan-admin-footer{padding:18px 32px;font-size:12px;color:#6c7e85}
.psan-admin-body a:focus-visible,.psan-admin-body summary:focus-visible,.psan-admin-body button:focus-visible{outline:3px solid #49a4a3;outline-offset:3px}
.psan-admin-skip{position:fixed;top:-80px;left:16px;z-index:5000;padding:12px;background:#fff;color:#103c40}.psan-admin-skip:focus{top:12px}
@media(max-width:1100px){.psan-admin-shell{grid-template-columns:220px minmax(0,1fr)}.psan-admin-workspace main{padding:22px}.psan-admin-overview-grid{grid-template-columns:1fr}}
@media(max-width:760px){.psan-admin-shell{display:block}.psan-admin-sidebar{position:relative;height:auto;padding:16px;gap:16px}.psan-admin-menu nav{grid-template-columns:repeat(2,minmax(0,1fr))}.psan-admin-secondary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;padding-top:12px}.psan-admin-secondary>span{grid-column:1/-1}.psan-admin-identity{display:none}.psan-admin-workspace main{padding:16px}.psan-admin-topbar{padding:16px}.psan-admin-footer{padding:16px}.psan-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.psan-admin-metric{padding:16px}.psan-admin-workspace .psan-tier-grid{grid-template-columns:1fr}}

/* Keep wide management forms within the reduced sidebar workspace. */
.psan-admin-workspace .membership-admin-table-wrap,.psan-admin-workspace .admin-event-table-wrap,.psan-admin-workspace .news-admin-table-wrap{max-width:100%;overflow-x:auto}
.psan-admin-workspace .membership-create-layout>*,.psan-admin-workspace .news-editor-layout>*,.psan-admin-workspace .event-editor-layout>*,.psan-admin-workspace .moderation-review-layout>*{min-width:0}
@media(max-width:1250px){.psan-admin-workspace .membership-create-layout,.psan-admin-workspace .news-editor-layout,.psan-admin-workspace .event-editor-layout,.psan-admin-workspace .moderation-review-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.psan-admin-identity{display:block;margin-top:0;padding-top:12px}.psan-admin-workspace .admin-form-grid,.psan-admin-workspace .news-field-grid,.psan-admin-workspace .event-editor-grid-three,.psan-admin-workspace .event-image-upload-layout{grid-template-columns:minmax(0,1fr)}}

/* Join PSA required-field marker */
.member-register-required{
    margin-left:2px;
    color:#c62828;
    font-style:normal;
    font-weight:950;
}

/* Executive Team — six Executive Officers arranged 3 per row */
.executive-page #officers .exec-group-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:760px){
    .executive-page #officers .exec-group-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:520px){
    .executive-page #officers .exec-group-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   DHS PSAN Election Management — Stage 1
   ========================================================= */
.election-admin-hero{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    padding:36px 38px 28px;
    border-bottom:1px solid #dce7e3;
    background:linear-gradient(135deg,#f3faf7 0%,#fff 68%);
}
.election-admin-hero.is-compact{padding-top:28px}
.election-admin-hero h1{
    margin:3px 0 8px;
    color:#183f40;
    font-family:Georgia,serif;
    font-size:clamp(30px,4vw,46px);
    line-height:1.05;
}
.election-admin-hero p:not(.eyebrow){
    max-width:760px;
    margin:0;
    color:#657a75;
}
.election-admin-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.election-admin-section{
    display:grid;
    gap:18px;
    padding:28px 38px 44px;
}
.election-admin-alert{margin:0}
.election-admin-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.election-admin-metrics article{
    display:grid;
    gap:3px;
    padding:16px 18px;
    border:1px solid #dce7e3;
    border-radius:15px;
    background:#fff;
}
.election-admin-metrics span{
    color:#71827d;
    font-size:10px!important;
    font-weight:900;
    letter-spacing:.08em;
}
.election-admin-metrics strong{
    color:#08777e;
    font-family:Georgia,serif;
    font-size:27px;
}
.election-admin-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:10px 0;
}
.election-admin-toolbar>div{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.election-admin-toolbar a{
    padding:8px 11px;
    border-radius:999px;
    color:#5f746f;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}
.election-admin-toolbar a.is-active,
.election-admin-toolbar a:hover{
    background:#e8f5f0;
    color:#08777e;
}
.election-admin-toolbar>span{
    color:#7b8c87;
    font-size:12px;
}
.election-admin-list{
    display:grid;
    gap:12px;
}
.election-admin-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    padding:20px;
    border:1px solid #dce7e3;
    border-radius:17px;
    background:#fff;
    box-shadow:0 4px 16px rgba(23,67,64,.035);
}
.election-admin-card h2{
    margin:7px 0 5px;
    color:#234c4b;
    font-family:Georgia,serif;
    font-size:22px;
}
.election-admin-card-main>p{
    max-width:760px;
    margin:0;
    color:#6d7f7a;
    font-size:13px!important;
}
.election-admin-status{
    display:inline-flex;
    width:max-content;
    padding:5px 8px;
    border-radius:999px;
    background:#edf2f0;
    color:#627570;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.election-admin-status.is-voting_open,
.election-admin-status.is-nominations_open{
    background:#def4e8;
    color:#176b48;
}
.election-admin-status.is-draft{background:#f1f1f1;color:#646464}
.election-admin-status.is-scheduled,
.election-admin-status.is-campaigning,
.election-admin-status.is-nomination_review{background:#e8f3fa;color:#27667f}
.election-admin-status.is-voting_closed,
.election-admin-status.is-results_published{background:#eee9f8;color:#634d87}
.election-admin-status.is-cancelled{background:#fce8e8;color:#9c3b3b}
.election-admin-status.is-archived{background:#ecefed;color:#5f6b67}
.election-admin-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 18px;
    margin-top:12px;
    color:#73847f;
    font-size:11px;
}
.election-admin-card-meta b{color:#3d5d58}
.election-admin-card-actions{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:105px;
}
.election-admin-empty{
    display:grid;
    justify-items:start;
    gap:5px;
    padding:30px;
    border:1px dashed #aac9bf;
    border-radius:17px;
    background:#f5fbf8;
}
.election-admin-empty.is-compact{padding:22px}
.election-admin-empty>span{
    color:#0a8a92;
    font-size:10px!important;
    font-weight:950;
    letter-spacing:.1em;
}
.election-admin-empty>strong{
    color:#315150;
    font-size:17px;
}
.election-admin-empty>p{
    margin:0 0 8px;
    color:#71827d;
    font-size:13px!important;
}
.election-admin-form{
    display:grid;
    gap:16px;
    max-width:1080px;
}
.election-form-card,
.election-positions-panel,
.election-governance-panel,
.election-danger-zone{
    border:1px solid #dce7e3;
    border-radius:17px;
    background:#fff;
}
.election-form-card{padding:20px}
.election-form-card>header{
    display:flex;
    gap:12px;
    align-items:flex-start;
    margin-bottom:18px;
}
.election-form-card>header>span{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    flex:0 0 auto;
    border-radius:9px;
    background:#e4f4ee;
    color:#08777e;
    font-size:11px!important;
    font-weight:950;
}
.election-form-card>header>div{
    display:grid;
    gap:2px;
}
.election-form-card>header strong{
    color:#315150;
    font-size:16px;
}
.election-form-card>header small{
    color:#7a8b86;
    font-size:11px!important;
}
.election-form-grid,
.election-position-grid,
.election-position-edit-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.election-rule-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.election-rule-options>label,
.election-position-active{
    display:flex;
    align-items:flex-start;
    gap:9px;
    padding:12px;
    border:1px solid #dfe9e5;
    border-radius:12px;
    background:#fbfdfc;
}
.election-rule-options>label>span,
.election-position-active>span{
    display:grid;
    gap:2px;
}
.election-rule-options strong,
.election-position-active strong{
    color:#365653;
    font-size:12px;
}
.election-rule-options small,
.election-position-active small{
    color:#7a8b86;
    font-size:10px!important;
}
.election-form-submit{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
}
.election-form-submit>a{
    color:#667b75;
    font-size:12px;
    font-weight:800;
}
.election-lock-notice{
    padding:14px 16px;
    border:1px solid #e9d49a;
    border-radius:13px;
    background:#fff8e6;
}
.election-lock-notice strong{color:#745a18}
.election-lock-notice p{
    margin:3px 0 0;
    color:#806e42;
    font-size:12px!important;
}
.election-overview-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.election-overview-grid article{
    display:grid;
    gap:3px;
    padding:15px;
    border:1px solid #dce7e3;
    border-radius:14px;
    background:#fff;
}
.election-overview-grid span,
.election-governance-panel>div>span{
    color:#72837e;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.08em;
}
.election-overview-grid strong{
    color:#315150;
    font-size:13px;
}
.election-overview-grid small{
    color:#8a9793;
    font-size:10px!important;
}
.election-positions-panel{padding:20px}
.election-section-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}
.election-section-heading h2{
    margin:2px 0 3px;
    color:#234c4b;
    font-family:Georgia,serif;
    font-size:26px;
}
.election-section-heading p:not(.eyebrow){
    margin:0;
    color:#71827d;
    font-size:12px!important;
}
.election-section-heading>span{
    padding:6px 9px;
    border-radius:999px;
    background:#edf6f2;
    color:#58736c;
    font-size:10px!important;
    font-weight:850;
}
.election-position-create{
    display:grid;
    gap:13px;
    margin-bottom:18px;
    padding:16px;
    border:1px solid #cfe3dc;
    border-radius:14px;
    background:#f5fbf8;
}
.election-position-create-heading{
    display:grid;
    gap:1px;
}
.election-position-create-heading strong{
    color:#315150;
    font-size:14px;
}
.election-position-create-heading small{
    color:#7a8b86;
    font-size:10px!important;
}
.election-position-list{
    display:grid;
    gap:10px;
}
.election-position-card{
    position:relative;
    padding:15px;
    border:1px solid #dfe8e5;
    border-radius:14px;
    background:#fff;
}
.election-position-edit-grid{
    grid-template-columns:minmax(180px,1.2fr) 100px 110px minmax(220px,1.6fr);
    align-items:end;
}
.election-position-edit-grid .admin-field-wide{
    grid-column:auto;
}
.election-position-edit-grid .election-position-active{
    grid-column:1 / -1;
}
.election-position-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:9px;
}
.election-position-delete{
    position:absolute;
    right:82px;
    bottom:16px;
}
.election-position-delete button{
    border:0;
    background:transparent;
    color:#a34848;
    font-size:11px;
    font-weight:850;
    cursor:pointer;
}
.election-position-readonly{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    align-items:start;
}
.election-position-order{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:10px;
    background:#e9f5f1;
    color:#08777e;
    font-weight:900;
}
.election-position-readonly>div:last-child{
    display:grid;
    gap:3px;
}
.election-position-readonly span{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
}
.election-position-readonly h3{
    margin:0;
    color:#315150;
    font-size:15px;
}
.election-position-readonly p{
    margin:0;
    color:#71827d;
    font-size:12px!important;
}
.election-position-readonly small{
    color:#899691;
    font-size:10px!important;
}
.election-governance-panel{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:hidden;
}
.election-governance-panel>div{
    display:grid;
    gap:4px;
    padding:17px;
    border-left:1px solid #e4ece9;
}
.election-governance-panel>div:first-child{border-left:0}
.election-governance-panel strong{
    color:#315150;
    font-size:13px;
}
.election-governance-panel p{
    margin:0;
    color:#71827d;
    font-size:11px!important;
}
.election-danger-zone{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:17px;
}
.election-danger-zone>div:first-child{
    max-width:720px;
}
.election-danger-zone strong{
    color:#315150;
    font-size:13px;
}
.election-danger-zone p{
    margin:3px 0 0;
    color:#71827d;
    font-size:11px!important;
}
.election-danger-zone>div:last-child{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
@media(max-width:960px){
    .election-admin-metrics,
    .election-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .election-position-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .election-position-edit-grid .admin-field-wide{grid-column:1 / -1}
    .election-governance-panel{grid-template-columns:1fr}
    .election-governance-panel>div{border-left:0;border-top:1px solid #e4ece9}
    .election-governance-panel>div:first-child{border-top:0}
}
@media(max-width:680px){
    .election-admin-hero{
        align-items:flex-start;
        flex-direction:column;
        padding:26px 20px 22px;
    }
    .election-admin-section{padding:22px 20px 36px}
    .election-admin-card{grid-template-columns:1fr}
    .election-admin-card-actions{flex-direction:row}
    .election-form-grid,
    .election-position-grid,
    .election-position-edit-grid,
    .election-rule-options{grid-template-columns:1fr}
    .election-form-grid .admin-field-wide,
    .election-position-grid .admin-field-wide,
    .election-position-edit-grid .admin-field-wide{grid-column:auto}
    .election-overview-grid{grid-template-columns:1fr 1fr}
    .election-danger-zone{align-items:flex-start;flex-direction:column}
    .election-position-delete{position:static;margin-top:8px}
}
@media(max-width:430px){
    .election-admin-metrics,
    .election-overview-grid{grid-template-columns:1fr}
}

/* =========================================================
   DHS PSAN Election Management — Stage 2 nominations/candidates
   ========================================================= */
.psan-election-shell{padding-top:26px;padding-bottom:42px}
.election-member-header{align-items:flex-start}
.election-member-header .election-member-stage{margin:4px 0 8px}
.election-member-list{display:grid;gap:14px}
.election-member-card{
    display:grid;
    gap:16px;
    padding:20px;
    border:1px solid #dbe8e3;
    border-radius:18px;
    background:#fff;
    box-shadow:0 5px 18px rgba(24,73,68,.04)
}
.election-member-card h2{
    margin:7px 0 5px;
    color:#234c4b;
    font-family:Georgia,serif;
    font-size:23px
}
.election-member-card>div:first-child>p{
    margin:0;
    color:#6f817c;
    font-size:13px!important
}
.election-member-stage,
.election-nomination-status{
    display:inline-flex;
    width:max-content;
    padding:5px 8px;
    border-radius:999px;
    background:#edf2f0;
    color:#61736e;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.07em;
    text-transform:uppercase
}
.election-member-stage.is-nominations_open,
.election-member-stage.is-voting_open,
.election-nomination-status.is-approved{
    background:#ddf3e7;
    color:#176a48
}
.election-member-stage.is-scheduled,
.election-member-stage.is-campaigning,
.election-member-stage.is-nomination_review,
.election-nomination-status.is-accepted,
.election-nomination-status.is-pending{
    background:#e8f3f8;
    color:#27677e
}
.election-member-stage.is-voting_closed,
.election-member-stage.is-results_published{
    background:#eee9f7;
    color:#624f83
}
.election-member-stage.is-cancelled,
.election-nomination-status.is-rejected,
.election-nomination-status.is-declined{
    background:#fbe7e7;
    color:#963e3e
}
.election-member-stage.is-archived,
.election-nomination-status.is-withdrawn{
    background:#ecefed;
    color:#606d68
}
.election-member-card-dates{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
}
.election-member-card-dates>span{
    display:grid;
    gap:3px;
    padding:12px 14px;
    border-radius:13px;
    background:#f6faf8
}
.election-member-card-dates small{
    color:#71837d;
    font-size:9px!important;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase
}
.election-member-card-dates strong{color:#345855;font-size:12px}
.election-member-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-top:12px;
    border-top:1px solid #edf2f0
}
.election-member-card-footer>div{display:flex;flex-wrap:wrap;gap:7px}
.election-member-card-footer>div>span{
    padding:5px 8px;
    border-radius:999px;
    background:#f1f5f3;
    color:#60736d;
    font-size:9px!important;
    font-weight:800
}
.election-member-card-footer>div>span.is-eligible{background:#e0f4e9;color:#176a48}
.election-member-card-footer>div>span.is-ineligible{background:#fff1df;color:#8b5b20}
.election-member-empty{min-height:220px}
.election-member-side-card{
    display:grid;
    gap:5px;
    padding:16px;
    border:1px solid #dce8e4;
    border-radius:16px;
    background:#fff
}
.election-member-side-card+ .election-member-side-card{margin-top:12px}
.election-member-side-card>span{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.09em
}
.election-member-side-card>strong{color:#315552;font-size:14px}
.election-member-side-card>p{
    margin:0;
    color:#71827d;
    font-size:11px!important;
    line-height:1.55
}
.election-member-schedule{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px
}
.election-member-schedule article{
    display:grid;
    gap:4px;
    padding:14px;
    border:1px solid #dce8e4;
    border-radius:14px;
    background:#fff
}
.election-member-schedule span{
    color:#72847e;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-member-schedule strong{color:#315552;font-size:12px}
.election-member-schedule small{color:#899691;font-size:10px!important}
.election-member-notice{
    margin-bottom:14px;
    padding:14px 16px;
    border:1px solid #d7e7e1;
    border-radius:14px;
    background:#f5fbf8
}
.election-member-notice.is-cancelled{
    border-color:#efcccc;
    background:#fff2f2
}
.election-member-notice strong{color:#315552;font-size:13px}
.election-member-notice p{
    margin:3px 0 0;
    color:#71827d;
    font-size:11px!important
}
.election-eligibility-card{margin-bottom:14px}
.election-eligibility-pill{
    padding:5px 8px;
    border-radius:999px;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-eligibility-pill.is-good{background:#ddf3e7;color:#176a48}
.election-eligibility-pill.is-review{background:#fff0dc;color:#8a591c}
.election-eligibility-reasons{
    display:grid;
    gap:4px;
    margin:10px 0 0;
    padding-left:19px;
    color:#6f817c;
    font-size:12px
}
.election-member-card-copy{margin:8px 0 0;color:#6f817c;font-size:12px!important}
.election-incoming-panel,
.election-candidate-profile-panel,
.election-nominate-panel,
.election-outgoing-panel,
.election-approved-panel{margin-bottom:14px}
.election-nomination-list{display:grid;gap:10px}
.election-nomination-card{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    gap:12px;
    padding:14px;
    border:1px solid #dfe9e5;
    border-radius:14px;
    background:#fbfdfc
}
.election-nomination-avatar,
.election-candidate-photo,
.election-approved-photo,
.election-admin-nominee-photo,
.election-admin-candidate-photo{
    overflow:hidden;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#e7f3ef;
    color:#08777e;
    font-weight:900
}
.election-nomination-avatar{width:48px;height:48px}
.election-nomination-avatar img,
.election-candidate-photo img,
.election-approved-photo img,
.election-admin-nominee-photo img,
.election-admin-candidate-photo img{
    width:100%;
    height:100%;
    object-fit:cover
}
.election-nomination-body{display:grid;gap:6px}
.election-nomination-body h3{margin:0;color:#315552;font-size:16px}
.election-nomination-body>p{margin:0;color:#74857f;font-size:11px!important}
.election-nomination-body blockquote{
    margin:4px 0 0;
    padding:10px 12px;
    border-left:3px solid #86c9af;
    background:#fff;
    color:#4e6964;
    font-size:12px;
    line-height:1.55
}
.election-response-form{
    display:grid;
    gap:8px;
    margin-top:4px;
    padding-top:10px;
    border-top:1px solid #e6eeeb
}
.election-response-form label,
.election-candidate-form label,
.election-nominate-form label,
.election-admin-review-form label,
.election-admin-review-secondary label,
.election-admin-withdraw-approved label{
    display:grid;
    gap:5px
}
.election-response-form label>span,
.election-candidate-form label>span,
.election-nominate-form label>span,
.election-admin-review-form label>span,
.election-admin-review-secondary label>span,
.election-admin-withdraw-approved label>span{
    color:#45645f;
    font-size:11px!important;
    font-weight:850
}
.election-response-form textarea,
.election-candidate-form textarea,
.election-nominate-form textarea,
.election-nominate-form select,
.election-admin-review-form textarea,
.election-admin-review-secondary textarea,
.election-admin-withdraw-approved textarea{
    width:100%;
    border:1px solid #cfded9;
    border-radius:10px;
    background:#fff;
    color:#243e3c;
    font:inherit;
    font-size:12px;
    padding:9px 10px
}
.election-response-form>div{display:flex;flex-wrap:wrap;gap:7px}
.election-response-note,
.election-admin-note{
    padding:9px 11px;
    border-radius:10px;
    background:#f3f8f6
}
.election-response-note strong,
.election-admin-note strong{
    color:#49655f;
    font-size:10px
}
.election-response-note p,
.election-admin-note p{
    margin:2px 0 0;
    color:#6e807a;
    font-size:11px!important
}
.election-my-candidates{display:grid;gap:12px}
.election-my-candidates>article{
    padding:15px;
    border:1px solid #dfe9e5;
    border-radius:14px;
    background:#fff
}
.election-candidate-profile-heading{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
    margin-bottom:12px
}
.election-candidate-profile-heading h3{margin:5px 0 2px;color:#315552;font-size:17px}
.election-candidate-profile-heading p{margin:0;color:#74857f;font-size:11px!important}
.election-candidate-photo{width:62px;height:62px;flex:0 0 auto}
.election-candidate-form{display:grid;gap:12px}
.election-candidate-form input[type=file]{
    width:100%;
    padding:9px;
    border:1px dashed #bfd3cc;
    border-radius:10px;
    background:#f8fbfa;
    font-size:11px
}
.election-candidate-form small{color:#85938f;font-size:9px!important}
.election-candidate-form-actions{display:flex;justify-content:flex-end}
.election-candidate-withdraw{margin-top:10px;text-align:right}
.election-candidate-withdraw button,
.election-outgoing-list form button{
    border:0;
    background:transparent;
    color:#a24848;
    font-size:10px;
    font-weight:900;
    cursor:pointer
}
.election-candidate-readonly{display:grid;gap:10px}
.election-candidate-readonly>div{padding:10px;border-radius:10px;background:#f7faf9}
.election-candidate-readonly span{
    color:#72847e;
    font-size:9px!important;
    font-weight:900;
    letter-spacing:.08em
}
.election-candidate-readonly p{margin:3px 0 0;color:#526c67;font-size:12px!important;white-space:pre-line}
.election-nominate-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
}
.election-nominate-grid .is-wide{grid-column:1/-1}
.election-nominate-form select{min-height:42px}
.election-nominate-form label>span em{color:#c62828;font-style:normal}
.election-nominate-submit{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:12px
}
.election-nominate-submit p{margin:0;color:#74857f;font-size:10px!important}
.election-outgoing-list{display:grid;gap:8px}
.election-outgoing-list article{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    padding:11px 12px;
    border:1px solid #e1e9e6;
    border-radius:11px
}
.election-outgoing-list article>div{display:grid;gap:3px}
.election-outgoing-list article strong{color:#365854;font-size:12px}
.election-outgoing-list article small{color:#80908b;font-size:10px!important}
.election-approved-positions{display:grid;gap:18px}
.election-approved-positions>section>h3{
    margin:0 0 9px;
    color:#315552;
    font-size:15px
}
.election-approved-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
}
.election-approved-candidate{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:11px;
    padding:12px;
    border:1px solid #dfe9e5;
    border-radius:13px;
    background:#fff
}
.election-approved-photo{width:58px;height:58px}
.election-approved-candidate>div:last-child{display:grid;align-content:start;gap:4px}
.election-approved-candidate strong{color:#315552;font-size:13px}
.election-approved-candidate p{margin:0;color:#71827d;font-size:10px!important;line-height:1.5;white-space:pre-line}
.election-approved-candidate details{margin-top:3px}
.election-approved-candidate summary{
    color:#08777e;
    font-size:10px;
    font-weight:850;
    cursor:pointer
}
.election-dashboard-panel{margin-bottom:14px}
.election-dashboard-alerts,
.election-dashboard-open{display:grid;gap:8px}
.election-dashboard-alerts+ .election-dashboard-open{margin-top:10px}
.election-dashboard-alerts>a,
.election-dashboard-open>a{
    display:grid;
    gap:3px;
    padding:12px;
    border:1px solid #dce8e4;
    border-radius:12px;
    background:#f8fbfa;
    text-decoration:none
}
.election-dashboard-alerts>a{border-color:#cfe3dc;background:#f3faf7}
.election-dashboard-alerts span,
.election-dashboard-open span{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-dashboard-alerts strong,
.election-dashboard-open strong{color:#315552;font-size:13px}
.election-dashboard-alerts small,
.election-dashboard-open small{color:#758680;font-size:10px!important}
.election-dashboard-alerts b{color:#08777e;font-size:10px}
.election-admin-stage2-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-bottom:15px
}
.election-admin-stage2-metrics article{
    display:grid;
    gap:3px;
    padding:12px;
    border:1px solid #e0e9e6;
    border-radius:12px;
    background:#f8fbfa
}
.election-admin-stage2-metrics span{
    color:#758680;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.07em
}
.election-admin-stage2-metrics strong{
    color:#08777e;
    font-family:Georgia,serif;
    font-size:21px
}
.election-admin-nomination-list{display:grid;gap:12px}
.election-admin-nomination-card{
    display:grid;
    gap:10px;
    padding:15px;
    border:1px solid #dfe9e5;
    border-radius:14px;
    background:#fff
}
.election-admin-nomination-top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start
}
.election-admin-nomination-top h3{margin:5px 0 2px;color:#315552;font-size:16px}
.election-admin-nomination-top p{margin:0;color:#71827d;font-size:11px!important}
.election-admin-nominee-photo{width:54px;height:54px;flex:0 0 auto}
.election-admin-nomination-copy,
.election-admin-candidate-snapshot{
    padding:10px 11px;
    border-radius:10px;
    background:#f7faf9
}
.election-admin-nomination-copy>span,
.election-admin-candidate-snapshot>div>span{
    color:#72847e;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-admin-nomination-copy p,
.election-admin-candidate-snapshot p{
    margin:3px 0 0;
    color:#536d68;
    font-size:11px!important;
    white-space:pre-line
}
.election-admin-candidate-snapshot>div{
    display:flex;
    gap:7px;
    align-items:center;
    margin-bottom:5px
}
.election-admin-candidate-snapshot>div>strong{color:#315552;font-size:11px}
.election-admin-review-form{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:end;
    padding-top:9px;
    border-top:1px solid #edf2f0
}
.election-admin-review-secondary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
}
.election-admin-review-secondary form,
.election-admin-withdraw-approved{
    display:grid;
    gap:7px;
    padding:10px;
    border:1px solid #eed9d9;
    border-radius:10px;
    background:#fffafa
}
.election-admin-review-secondary button,
.election-admin-withdraw-approved button{
    justify-self:end;
    border:0;
    background:transparent;
    color:#a04646;
    font-size:10px;
    font-weight:900;
    cursor:pointer
}
.election-admin-review-meta{color:#879590;font-size:9px!important}
.election-admin-candidate-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
}
.election-admin-candidate-grid>article{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:11px;
    padding:12px;
    border:1px solid #dfe9e5;
    border-radius:13px
}
.election-admin-candidate-photo{width:58px;height:58px}
.election-admin-candidate-grid>article>div:last-child{display:grid;align-content:start;gap:3px}
.election-admin-candidate-grid h3{margin:2px 0 0;color:#315552;font-size:14px}
.election-admin-candidate-grid strong{color:#5e746e;font-size:10px}
.election-admin-candidate-grid p{margin:2px 0;color:#71827d;font-size:10px!important}
.election-admin-candidate-grid small{color:#899691;font-size:9px!important}

@media(max-width:980px){
    .election-member-schedule{grid-template-columns:1fr}
    .election-admin-stage2-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .election-admin-candidate-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
    .election-member-card-footer{align-items:flex-start;flex-direction:column}
    .election-member-card-dates,
    .election-nominate-grid,
    .election-approved-grid{grid-template-columns:1fr}
    .election-nominate-grid .is-wide{grid-column:auto}
    .election-nominate-submit{align-items:flex-start;flex-direction:column}
    .election-response-form>div{align-items:stretch;flex-direction:column}
    .election-response-form>div .button{width:100%}
    .election-admin-review-form,
    .election-admin-review-secondary{grid-template-columns:1fr}
}
@media(max-width:520px){
    .election-nomination-card{grid-template-columns:1fr}
    .election-nomination-avatar{width:42px;height:42px}
    .election-approved-candidate,
    .election-admin-candidate-grid>article{grid-template-columns:48px minmax(0,1fr)}
    .election-approved-photo,
    .election-admin-candidate-photo{width:48px;height:48px}
    .election-admin-stage2-metrics{grid-template-columns:1fr 1fr}
}

/* =========================================================
   DHS PSAN Election Management — Stage 3 secure voting
   ========================================================= */
.election-vote-panel{margin-bottom:14px}
.election-vote-ready,
.election-vote-complete{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px;
    border:1px solid #cfe4dc;
    border-radius:14px;
    background:#f4fbf8
}
.election-vote-ready>div,
.election-vote-complete>div:last-child{display:grid;gap:4px}
.election-vote-ready strong,
.election-vote-complete strong{color:#315552;font-size:14px}
.election-vote-ready p,
.election-vote-complete p{margin:0;color:#6e807a;font-size:11px!important}
.election-vote-ready small,
.election-vote-complete small{color:#879590;font-size:9px!important;word-break:break-all}
.election-vote-complete-mark{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    flex:0 0 auto;
    border-radius:50%;
    background:#dff3e7;
    color:#166c49;
    font-size:20px;
    font-weight:950
}
.election-vote-complete{justify-content:flex-start}
.election-member-notice ul{
    margin:7px 0 0;
    padding-left:18px;
    color:#71827d;
    font-size:11px
}
.election-ballot-privacy{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:14px;
    background:#f5fbf8
}
.election-ballot-privacy-icon{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    flex:0 0 auto;
    border-radius:10px;
    background:#e2f3ec;
    color:#08777e;
    font-weight:950
}
.election-ballot-privacy strong{color:#315552;font-size:13px}
.election-ballot-privacy p{margin:3px 0 0;color:#6f817c;font-size:11px!important}
.election-ballot-form{display:grid;gap:14px}
.election-ballot-position{display:grid;gap:14px}
.election-ballot-position>header{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
    padding-bottom:12px;
    border-bottom:1px solid #e6eeeb
}
.election-ballot-position>header>div{display:grid;gap:4px}
.election-ballot-position>header>div>span{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.09em
}
.election-ballot-position h2{
    margin:0;
    color:#2f5551;
    font-family:Georgia,serif;
    font-size:23px
}
.election-ballot-position header p{margin:0;color:#71827d;font-size:11px!important}
.election-ballot-position header>small{
    padding:5px 8px;
    border-radius:999px;
    background:#eef6f3;
    color:#58736c;
    font-size:9px!important;
    font-weight:850;
    white-space:nowrap
}
.election-ballot-options{display:grid;gap:9px}
.election-ballot-option{
    display:grid;
    grid-template-columns:22px 50px minmax(0,1fr);
    gap:11px;
    align-items:center;
    padding:12px;
    border:1px solid #dce8e4;
    border-radius:13px;
    background:#fff;
    cursor:pointer;
    transition:border-color .15s ease,background .15s ease,box-shadow .15s ease
}
.election-ballot-option:hover{
    border-color:#aad2c4;
    background:#fbfefd
}
.election-ballot-option:has(input:checked){
    border-color:#86c9af;
    background:#f2faf7;
    box-shadow:0 0 0 2px rgba(134,201,175,.12)
}
.election-ballot-option>input{
    position:absolute;
    opacity:0;
    pointer-events:none
}
.election-ballot-control{
    width:20px;
    height:20px;
    border:2px solid #aebfba;
    border-radius:50%;
    background:#fff;
    position:relative
}
.election-ballot-option:has(input[type=checkbox]) .election-ballot-control{border-radius:5px}
.election-ballot-option input:checked + .election-ballot-control{
    border-color:#0a8a92;
    background:#0a8a92
}
.election-ballot-option input:checked + .election-ballot-control::after{
    content:"";
    position:absolute;
    left:5px;
    top:2px;
    width:5px;
    height:9px;
    border-right:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(45deg)
}
.election-ballot-candidate-photo,
.election-ballot-abstain-mark{
    display:grid;
    place-items:center;
    width:50px;
    height:50px;
    overflow:hidden;
    border-radius:50%;
    background:#e7f3ef;
    color:#08777e
}
.election-ballot-candidate-photo img{width:100%;height:100%;object-fit:cover}
.election-ballot-abstain-mark{font-size:22px;font-weight:900}
.election-ballot-candidate-copy{display:grid;gap:3px}
.election-ballot-candidate-copy strong{color:#315552;font-size:13px}
.election-ballot-candidate-copy small{color:#72837e;font-size:10px!important;line-height:1.45}
.election-ballot-candidate-copy em{color:#60736d;font-size:10px!important;font-style:normal;line-height:1.45}
.election-ballot-position-note{
    color:#7c8c87;
    font-size:9px!important;
    text-align:right
}
.election-ballot-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
    padding:6px 0
}
.election-ballot-actions>a{color:#667b75;font-size:11px;font-weight:850}
.election-review-warning{
    margin-bottom:14px;
    border-color:#ead6a5;
    background:#fff8e7
}
.election-review-warning strong{color:#735819;font-size:13px}
.election-review-warning p{margin:4px 0 0;color:#7e6b40;font-size:11px!important}
.election-ballot-review-list{display:grid;gap:12px}
.election-ballot-review-list article>span{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-ballot-review-list h2{
    margin:3px 0 10px;
    color:#315552;
    font-family:Georgia,serif;
    font-size:21px
}
.election-review-selection-list{display:grid;gap:7px}
.election-review-selection{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 11px;
    border:1px solid #dfe9e5;
    border-radius:10px;
    background:#f8fbfa
}
.election-review-selection>span{
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#dff3e7;
    color:#166c49;
    font-size:10px;
    font-weight:950
}
.election-review-selection strong{color:#315552;font-size:12px}
.election-review-selection.is-abstain{
    display:grid;
    gap:2px;
    background:#f4f5f4
}
.election-review-selection.is-abstain small{color:#7b8985;font-size:10px!important}
.election-ballot-final-actions{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:15px
}
.election-dashboard-voting{display:grid;gap:8px;margin-bottom:10px}
.election-dashboard-voting>a{
    display:grid;
    gap:3px;
    padding:13px;
    border:1px solid #bfe0d4;
    border-radius:12px;
    background:#eff9f5;
    text-decoration:none
}
.election-dashboard-voting span{
    color:#08777e;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-dashboard-voting strong{color:#315552;font-size:13px}
.election-dashboard-voting small{color:#71827d;font-size:10px!important}
.election-dashboard-voting b{color:#08777e;font-size:10px}
.election-admin-stage3-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-bottom:14px
}
.election-admin-stage3-metrics article{
    display:grid;
    gap:3px;
    padding:13px;
    border:1px solid #dfe9e5;
    border-radius:12px;
    background:#f8fbfa
}
.election-admin-stage3-metrics article.is-good{background:#f1faf5;border-color:#cbe5d7}
.election-admin-stage3-metrics article.is-alert{background:#fff4f4;border-color:#edcccc}
.election-admin-stage3-metrics span{
    color:#74857f;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-admin-stage3-metrics strong{
    color:#08777e;
    font-family:Georgia,serif;
    font-size:21px
}
.election-admin-stage3-metrics article.is-alert strong{color:#9b3f3f}
.election-admin-stage3-metrics small{color:#81908c;font-size:9px!important;line-height:1.45}
.election-admin-privacy-note{
    padding:12px 13px;
    border:1px solid #d9e8e3;
    border-radius:11px;
    background:#f5fbf8
}
.election-admin-privacy-note strong{color:#315552;font-size:12px}
.election-admin-privacy-note p{margin:3px 0 0;color:#71827d;font-size:10px!important;line-height:1.5}

@media(max-width:900px){
    .election-admin-stage3-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
    .election-vote-ready{align-items:flex-start;flex-direction:column}
    .election-vote-ready .button{width:100%;text-align:center}
    .election-ballot-position>header{flex-direction:column}
    .election-ballot-actions,
    .election-ballot-final-actions{align-items:stretch;flex-direction:column-reverse}
    .election-ballot-actions .button,
    .election-ballot-final-actions .button{width:100%;text-align:center}
}
@media(max-width:520px){
    .election-ballot-option{grid-template-columns:20px 42px minmax(0,1fr)}
    .election-ballot-candidate-photo,
    .election-ballot-abstain-mark{width:42px;height:42px}
    .election-admin-stage3-metrics{grid-template-columns:1fr 1fr}
}

/* =========================================================
   DHS PSAN Election Management — Stage 4 results & closure
   ========================================================= */
.election-admin-results-panel{display:grid;gap:16px}
.election-results-control-card,
.election-results-publish-panel,
.election-results-published-panel{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:15px 16px;
    border:1px solid #dce8e4;
    border-radius:13px;
    background:#f7faf9
}
.election-results-control-card.is-warning{
    border-color:#ead8a9;
    background:#fff9e9
}
.election-results-control-card.is-muted{
    background:#f3f5f4
}
.election-results-control-card>div,
.election-results-publish-panel>div,
.election-results-published-panel>div{
    display:grid;
    gap:3px
}
.election-results-control-card span,
.election-results-publish-panel span,
.election-results-published-panel span,
.election-results-snapshot-head>div:first-child>span,
.election-tie-resolution-record>span{
    color:#0a8a92;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.09em
}
.election-results-control-card strong,
.election-results-publish-panel strong,
.election-results-published-panel strong,
.election-results-snapshot-head strong{
    color:#315552;
    font-size:13px
}
.election-results-control-card p,
.election-results-publish-panel p{
    margin:0;
    max-width:760px;
    color:#71827d;
    font-size:10px!important;
    line-height:1.5
}
.election-results-published-panel small,
.election-results-snapshot-head small{
    color:#889590;
    font-size:9px!important
}
.election-results-snapshot-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:2px 0
}
.election-results-snapshot-head>div:first-child{display:grid;gap:2px}
.election-results-snapshot-head>div:last-child{
    padding:5px 8px;
    border-radius:999px;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-results-snapshot-head .is-current{background:#e1f4e8;color:#176c49}
.election-results-snapshot-head .is-stale{background:#fff0dc;color:#8a591c}
.election-results-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px
}
.election-results-summary-grid article{
    display:grid;
    gap:3px;
    padding:12px;
    border:1px solid #dfe9e5;
    border-radius:12px;
    background:#f8fbfa
}
.election-results-summary-grid article.is-good{background:#f1faf5;border-color:#cbe5d7}
.election-results-summary-grid article.is-alert{background:#fff4f4;border-color:#edcccc}
.election-results-summary-grid span{
    color:#74857f;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-results-summary-grid strong{
    color:#08777e;
    font-family:Georgia,serif;
    font-size:20px
}
.election-results-summary-grid article.is-alert strong{color:#9b3f3f}
.election-admin-result-positions{display:grid;gap:12px}
.election-admin-result-position{
    display:grid;
    gap:11px;
    padding:15px;
    border:1px solid #dfe9e5;
    border-radius:14px;
    background:#fff
}
.election-admin-result-position>header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px
}
.election-admin-result-position>header>div{display:grid;gap:2px}
.election-admin-result-position>header>div>span{
    color:#71827d;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-admin-result-position h3{
    margin:0;
    color:#315552;
    font-family:Georgia,serif;
    font-size:20px
}
.election-result-tie-pill,
.election-result-winner-pill,
.election-result-no-votes-pill{
    padding:5px 8px;
    border-radius:999px;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.07em
}
.election-result-tie-pill{background:#fff0dc;color:#8a591c}
.election-result-winner-pill{background:#dff3e7;color:#176a48}
.election-result-no-votes-pill{background:#eef1ef;color:#64716d}
.election-admin-result-lines,
.election-member-result-lines{
    display:grid;
    gap:7px
}
.election-admin-result-lines>div,
.election-member-result-lines>article{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 11px;
    border:1px solid #e1e9e6;
    border-radius:11px;
    background:#fbfdfc
}
.election-admin-result-lines>div.is-winner,
.election-member-result-lines>article.is-winner{
    border-color:#bfe0d3;
    background:#f2faf6
}
.election-admin-result-lines>div.was-tied{border-style:dashed}
.election-admin-result-lines>div.is-abstain,
.election-member-result-lines>article.is-abstain{background:#f5f6f5}
.election-admin-result-lines>div>div,
.election-member-result-lines>article>div{
    display:flex;
    align-items:center;
    gap:9px
}
.election-admin-result-lines>div>div:last-child,
.election-member-result-lines>article>div:last-child{
    display:grid;
    justify-items:end;
    gap:1px
}
.election-result-candidate-photo{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    overflow:hidden;
    border-radius:50%;
    background:#e8f3ef;
    color:#08777e;
    flex:0 0 auto
}
.election-result-candidate-photo img{width:100%;height:100%;object-fit:cover}
.election-admin-result-lines strong,
.election-member-result-lines strong{color:#315552;font-size:11px}
.election-admin-result-lines small,
.election-member-result-lines small{color:#82908c;font-size:9px!important}
.election-admin-result-lines>div>div:first-child>span:last-child,
.election-member-result-lines>article>div:first-child>span:last-child{display:grid;gap:2px}
.election-tie-resolution-record,
.election-member-tie-note{
    display:grid;
    gap:3px;
    padding:11px 12px;
    border:1px solid #d7e7e1;
    border-radius:11px;
    background:#f5fbf8
}
.election-tie-resolution-record strong,
.election-member-tie-note strong{color:#315552;font-size:11px}
.election-tie-resolution-record p,
.election-member-tie-note p{margin:0;color:#647a74;font-size:10px!important;line-height:1.5}
.election-tie-resolution-record small{color:#879590;font-size:8px!important}
.election-tie-resolution-form{
    display:grid;
    gap:10px;
    padding:12px;
    border:1px solid #ead8aa;
    border-radius:11px;
    background:#fffaf0
}
.election-tie-resolution-form>div{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
}
.election-tie-resolution-form label{display:grid;gap:5px}
.election-tie-resolution-form label>span{
    color:#526e68;
    font-size:10px!important;
    font-weight:850
}
.election-tie-resolution-form label>span em{color:#c62828;font-style:normal}
.election-tie-resolution-form select,
.election-tie-resolution-form textarea{
    width:100%;
    border:1px solid #d7d7c7;
    border-radius:9px;
    background:#fff;
    color:#294542;
    font:inherit;
    font-size:11px;
    padding:8px 9px
}
.election-tie-resolution-form .button{justify-self:end}
.election-results-publish-panel{
    border-color:#cfe4dc;
    background:#f3faf7
}
.election-results-published-panel{
    border-color:#bfe0d3;
    background:#eef9f4
}
.election-published-result-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
    border-color:#c6e2d6;
    background:#f2faf6
}
.election-published-result-cta>div{display:grid;gap:3px}
.election-published-result-cta span{
    color:#08777e;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-published-result-cta strong{color:#315552;font-size:13px}
.election-published-result-cta p{margin:0;color:#71827d;font-size:10px!important}
.election-dashboard-results{display:grid;gap:8px;margin-bottom:10px}
.election-dashboard-results>a{
    display:grid;
    gap:3px;
    padding:13px;
    border:1px solid #c5e1d5;
    border-radius:12px;
    background:#f0faf5;
    text-decoration:none
}
.election-dashboard-results span{
    color:#08777e;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-dashboard-results strong{color:#315552;font-size:13px}
.election-dashboard-results small{color:#71827d;font-size:10px!important}
.election-dashboard-results b{color:#08777e;font-size:10px}
.election-results-member-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    margin-bottom:14px;
    overflow:hidden
}
.election-results-member-summary>div{
    display:grid;
    gap:2px;
    padding:13px;
    border-left:1px solid #e2ebe8
}
.election-results-member-summary>div:first-child{border-left:0}
.election-results-member-summary span{
    color:#758680;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-results-member-summary strong{
    color:#08777e;
    font-family:Georgia,serif;
    font-size:20px
}
.election-results-member-summary small{color:#879590;font-size:8px!important}
.election-results-member-integrity{
    display:flex;
    align-items:flex-start;
    gap:11px;
    margin-bottom:14px;
    background:#f4faf7
}
.election-results-member-integrity>div:first-child{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    flex:0 0 auto;
    border-radius:9px;
    background:#dff3e7;
    color:#176a48;
    font-weight:950
}
.election-results-member-integrity>div:last-child{display:grid;gap:3px}
.election-results-member-integrity strong{color:#315552;font-size:12px}
.election-results-member-integrity p{margin:0;color:#71827d;font-size:10px!important;line-height:1.5}
.election-member-result-positions{display:grid;gap:14px}
.election-member-result-position{display:grid;gap:13px}
.election-member-result-position>header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-bottom:10px;
    border-bottom:1px solid #e5edeb
}
.election-member-result-position>header>div{display:grid;gap:2px}
.election-member-result-position>header span:first-child{
    color:#0a8a92;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-member-result-position h2{
    margin:0;
    color:#315552;
    font-family:Georgia,serif;
    font-size:23px
}
.election-member-winner-card{
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px;
    border:1px solid #bfe0d3;
    border-radius:13px;
    background:#f0faf5
}
.election-member-winner-photo{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    overflow:hidden;
    flex:0 0 auto;
    border-radius:50%;
    background:#dff3e7;
    color:#176a48
}
.election-member-winner-photo img{width:100%;height:100%;object-fit:cover}
.election-member-winner-card>div{display:grid;gap:2px}
.election-member-winner-card span:not(.election-member-winner-photo){
    color:#08777e;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.election-member-winner-card strong{color:#315552;font-size:15px}
.election-member-winner-card small{color:#71827d;font-size:9px!important}
.election-member-tie-note>span{
    color:#8a591c;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}

@media(max-width:900px){
    .election-results-summary-grid,
    .election-results-member-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .election-results-member-summary>div:nth-child(3){border-left:0;border-top:1px solid #e2ebe8}
    .election-results-member-summary>div:nth-child(4){border-top:1px solid #e2ebe8}
}
@media(max-width:680px){
    .election-results-control-card,
    .election-results-publish-panel,
    .election-results-published-panel,
    .election-published-result-cta{align-items:flex-start;flex-direction:column}
    .election-results-control-card .button,
    .election-results-publish-panel .button,
    .election-results-published-panel .button,
    .election-published-result-cta .button{width:100%;text-align:center}
    .election-tie-resolution-form>div{grid-template-columns:1fr}
    .election-tie-resolution-form .button{width:100%}
}
@media(max-width:520px){
    .election-results-summary-grid,
    .election-results-member-summary{grid-template-columns:1fr}
    .election-results-member-summary>div{border-left:0;border-top:1px solid #e2ebe8}
    .election-results-member-summary>div:first-child{border-top:0}
    .election-member-result-position>header{align-items:flex-start;flex-direction:column}
}

.election-tie-candidate-choices{
    display:grid;
    gap:7px;
    margin:0;
    padding:10px;
    border:1px solid #e2d6b7;
    border-radius:10px;
    background:#fff
}
.election-tie-candidate-choices legend{
    padding:0 4px;
    color:#526e68;
    font-size:10px;
    font-weight:850
}
.election-tie-candidate-choices label{
    display:flex;
    align-items:center;
    gap:8px;
    padding:7px 8px;
    border:1px solid #e5ece9;
    border-radius:9px;
    cursor:pointer
}
.election-tie-candidate-choices label:has(input:checked){
    border-color:#86c9af;
    background:#f1faf6
}
.election-tie-candidate-choices label>span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
    color:#315552;
    font-size:10px!important;
    font-weight:800
}
.election-tie-candidate-choices small{
    color:#7d8c87;
    font-size:9px!important;
    font-weight:700
}
.election-member-winner-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px
}
@media(max-width:680px){
    .election-member-winner-list{grid-template-columns:1fr}
}

/* =========================================================
   Global form required-field indicator
   ========================================================= */
form .form-required-marker,
form .member-register-required{
    display:inline;
    margin-left:2px;
    color:#c62828 !important;
    font-style:normal;
    font-weight:950;
    line-height:1;
}
form .form-required-context{
    margin-left:2px;
    color:inherit;
    font-size:.9em;
    font-weight:inherit;
}
form .form-field-label-text{
    display:inline;
}

/* =========================================================
   DHS PSAN Stage 5 — Executive Profiles, Terms & Transition
   ========================================================= */
.exec-current-term-label{
    display:inline-grid;
    gap:2px;
    margin-top:12px;
    padding:9px 12px;
    border:1px solid rgba(10,138,146,.22);
    border-radius:12px;
    background:rgba(255,255,255,.72)
}
.exec-current-term-label span,
.executive-profile-term-card>span{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.08em
}
.exec-current-term-label strong{color:#315552;font-size:12px}
.exec-current-term-label small{color:#758680;font-size:9px!important}
.exec-president-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.executive-profile-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:8px;
    color:#08777e;
    font-size:10px;
    font-weight:850;
    text-decoration:none
}
.executive-profile-link:hover{text-decoration:underline}
.election-incumbent-badge{
    display:inline-flex;
    width:max-content;
    margin-top:2px;
    padding:3px 7px;
    border-radius:999px;
    background:#e7f3ef;
    color:#08777e;
    font-size:8px!important;
    font-style:normal!important;
    font-weight:950!important;
    letter-spacing:.07em;
    text-transform:uppercase
}

.executive-profile-page{background:#f8fbfa}
.executive-profile-breadcrumb{
    display:flex;
    gap:8px;
    align-items:center;
    padding-top:24px;
    color:#758680;
    font-size:12px
}
.executive-profile-breadcrumb a{color:#08777e;font-weight:800}
.executive-profile-hero{
    display:grid;
    grid-template-columns:minmax(220px,340px) minmax(0,1fr);
    gap:42px;
    align-items:center;
    padding-top:28px;
    padding-bottom:36px
}
.executive-profile-photo{
    aspect-ratio:4/5;
    overflow:hidden;
    display:grid;
    place-items:center;
    border-radius:24px;
    background:#e7f3ef;
    color:#08777e;
    font-size:48px;
    font-weight:950;
    box-shadow:0 18px 50px rgba(30,70,65,.12)
}
.executive-profile-photo img{width:100%;height:100%;object-fit:cover}
.executive-profile-copy{display:grid;gap:8px}
.executive-profile-position{
    display:inline-flex;
    width:max-content;
    padding:6px 10px;
    border-radius:999px;
    background:#e2f3ec;
    color:#08777e;
    font-size:11px;
    font-weight:900
}
.executive-profile-copy h1{
    margin:0;
    color:#244f4c;
    font-family:Georgia,serif;
    font-size:clamp(38px,6vw,68px);
    line-height:1.02
}
.executive-profile-meta{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0}
.executive-profile-meta span{
    padding:5px 8px;
    border-radius:999px;
    background:#fff;
    border:1px solid #dce8e4;
    color:#61746e;
    font-size:9px!important;
    font-weight:850
}
.executive-profile-term-card{
    display:grid;
    gap:3px;
    max-width:520px;
    margin-top:8px;
    padding:14px;
    border:1px solid #dce8e4;
    border-radius:14px;
    background:#fff
}
.executive-profile-term-card strong{color:#315552;font-size:14px}
.executive-profile-term-card small{color:#7d8c87;font-size:10px!important}
.executive-profile-details{background:#fff}
.executive-profile-details-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}
.executive-profile-details-grid main{display:grid;gap:16px}
.executive-profile-content-card,
.executive-profile-side-card{
    border:1px solid #dfe9e5;
    border-radius:16px;
    background:#fff
}
.executive-profile-content-card{padding:22px}
.executive-profile-content-card h2{margin:2px 0 12px;color:#315552;font-family:Georgia,serif;font-size:26px}
.executive-profile-body-copy{margin:0;color:#526c67;line-height:1.75;white-space:pre-line}
.executive-profile-empty-copy{margin:0;color:#879590;font-style:italic}
.executive-profile-details-grid aside{display:grid;align-content:start;gap:12px}
.executive-profile-side-card{display:grid;gap:3px;padding:16px}
.executive-profile-side-card>span{color:#0a8a92;font-size:8px!important;font-weight:950;letter-spacing:.08em}
.executive-profile-side-card strong{color:#315552;font-size:14px}
.executive-profile-side-card p{margin:0;color:#71827d;font-size:10px!important;line-height:1.5}
.executive-profile-back{text-align:center}

.admin-executive-page{padding:24px}
.admin-executive-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.admin-executive-current-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
    padding:14px 16px;
    border:1px solid #c9e3d9;
    border-radius:14px;
    background:#f1faf6
}
.admin-executive-current-card>div{display:grid;gap:2px}
.admin-executive-current-card span,
.admin-executive-panel-heading span,
.admin-executive-term-hero>div>span,
.admin-executive-section-heading span{
    color:#0a8a92;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.admin-executive-current-card strong{color:#315552;font-size:14px}
.admin-executive-current-card small{color:#758680;font-size:9px!important}
.admin-executive-current-card>a{color:#08777e;font-size:10px;font-weight:900}
.admin-executive-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}
.admin-executive-terms-panel{
    position:sticky;
    top:18px;
    display:grid;
    gap:12px;
    padding:14px;
    border:1px solid #dfe9e5;
    border-radius:15px;
    background:#fff
}
.admin-executive-panel-heading{display:flex;justify-content:space-between;align-items:center}
.admin-executive-panel-heading strong{color:#315552;font-size:18px}
.admin-executive-term-list{display:grid;gap:7px}
.admin-executive-term-list a{
    display:grid;
    gap:2px;
    padding:10px;
    border:1px solid #e2eae7;
    border-radius:10px;
    color:inherit;
    text-decoration:none
}
.admin-executive-term-list a.is-active{border-color:#86c9af;background:#f1faf6}
.admin-executive-term-list a>span{color:#0a8a92;font-size:8px!important;font-weight:950;letter-spacing:.07em}
.admin-executive-term-list a>strong{color:#315552;font-size:11px}
.admin-executive-term-list a>small{color:#82908c;font-size:9px!important}
.admin-executive-create-term summary,
.admin-executive-term-settings summary,
.admin-executive-profile-editor summary,
.admin-executive-add-profile summary{
    cursor:pointer;
    color:#08777e;
    font-size:10px;
    font-weight:900
}
.admin-executive-create-term form{display:grid;gap:9px;margin-top:10px}
.admin-executive-create-term label,
.admin-executive-form-grid label{display:grid;gap:5px}
.admin-executive-create-term label>span,
.admin-executive-form-grid label>span{
    color:#496660;
    font-size:10px!important;
    font-weight:850
}
.admin-executive-create-term input,
.admin-executive-create-term select,
.admin-executive-create-term textarea,
.admin-executive-form-grid input:not([type=checkbox]):not([type=hidden]),
.admin-executive-form-grid select,
.admin-executive-form-grid textarea,
.executive-transition-form input:not([type=checkbox]):not([type=hidden]),
.executive-transition-form select,
.executive-transition-form textarea{
    width:100%;
    min-height:40px;
    border:1px solid #cfded9;
    border-radius:9px;
    background:#fff;
    color:#294542;
    font:inherit;
    font-size:11px;
    padding:8px 9px
}
.admin-executive-main{display:grid;gap:14px}
.admin-executive-term-hero,
.admin-executive-term-settings,
.admin-executive-roster,
.admin-executive-add-profile{
    padding:16px;
    border:1px solid #dfe9e5;
    border-radius:15px;
    background:#fff
}
.admin-executive-term-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.admin-executive-term-hero h2{margin:3px 0;color:#315552;font-family:Georgia,serif;font-size:24px}
.admin-executive-term-hero p{margin:0;color:#71827d;font-size:10px!important}
.admin-executive-term-hero small{color:#7e8d88;font-size:9px!important}
.admin-executive-term-hero>span{padding:5px 8px;border-radius:999px;background:#eef6f3;color:#53716a;font-size:9px!important;font-weight:900}
.admin-executive-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px}
.admin-executive-form-grid .is-wide{grid-column:1/-1}
.admin-executive-form-grid label>small{color:#81908c;font-size:8px!important;line-height:1.45}
.admin-executive-section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.admin-executive-section-heading h2{margin:2px 0;color:#315552;font-family:Georgia,serif;font-size:22px}
.admin-executive-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.admin-executive-profile-card{display:grid;gap:10px;padding:13px;border:1px solid #e0e9e6;border-radius:13px;background:#fbfdfc}
.admin-executive-profile-summary{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start}
.admin-executive-avatar{display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:50%;background:#e7f3ef;color:#08777e;font-weight:950}
.admin-executive-avatar img{width:100%;height:100%;object-fit:cover}
.admin-executive-profile-summary>div:last-child{display:grid;gap:2px}
.admin-executive-profile-summary span{color:#0a8a92;font-size:8px!important;font-weight:900;letter-spacing:.05em}
.admin-executive-profile-summary h3{margin:0;color:#315552;font-size:13px}
.admin-executive-profile-summary strong{color:#5a716b;font-size:10px}
.admin-executive-profile-summary small{color:#85938f;font-size:8px!important}
.admin-executive-bio{margin:0;color:#647a74;font-size:10px!important;line-height:1.5}
.admin-executive-profile-editor{padding-top:7px;border-top:1px solid #e7eeeb}
.admin-executive-profile-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.admin-executive-delete-button{border:0;background:transparent;color:#a34747;font-size:10px;font-weight:900;cursor:pointer}
.admin-executive-check-label{display:flex!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:flex-start;gap:8px!important}
.admin-executive-check-label input[type=checkbox]{margin-top:2px}

.executive-transition-panel{display:grid;gap:13px}
.executive-transition-complete,
.executive-transition-note{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:13px;
    border:1px solid #cde4da;
    border-radius:12px;
    background:#f2faf6
}
.executive-transition-complete>div,
.executive-transition-note{display:grid;gap:3px}
.executive-transition-complete span,
.executive-transition-note strong{color:#0a8a92;font-size:9px!important;font-weight:950;letter-spacing:.07em}
.executive-transition-complete strong{color:#315552;font-size:13px}
.executive-transition-complete p,
.executive-transition-note p{margin:0;color:#71827d;font-size:10px!important}
.executive-transition-form{display:grid;gap:12px}
.executive-transition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.executive-transition-grid label{display:grid;gap:5px}
.executive-transition-grid label>span{color:#496660;font-size:10px!important;font-weight:850}
.executive-transition-grid .is-wide{grid-column:1/-1}
.executive-transition-check{display:flex!important;align-items:flex-start;gap:8px!important;padding-top:24px}
.executive-transition-check input[type=checkbox]{margin-top:2px}

@media(max-width:980px){
    .admin-executive-layout{grid-template-columns:1fr}
    .admin-executive-terms-panel{position:static}
    .admin-executive-term-list{grid-template-columns:repeat(2,minmax(0,1fr))}
    .executive-profile-details-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    .executive-profile-hero{grid-template-columns:1fr;gap:22px}
    .executive-profile-photo{max-width:330px;width:100%;margin:auto}
    .admin-executive-profile-grid,
    .admin-executive-form-grid,
    .executive-transition-grid{grid-template-columns:1fr}
    .admin-executive-form-grid .is-wide,
    .executive-transition-grid .is-wide{grid-column:auto}
    .admin-executive-heading,
    .admin-executive-current-card,
    .admin-executive-term-hero,
    .executive-transition-complete{align-items:flex-start;flex-direction:column}
    .executive-transition-check{padding-top:0}
}
@media(max-width:520px){
    .admin-executive-page{padding:16px}
    .admin-executive-term-list{grid-template-columns:1fr}
}
.admin-executive-identity-lock{
    padding:10px 12px;
    border:1px solid #cfe2db;
    border-radius:10px;
    background:#f3faf7
}
.admin-executive-identity-lock strong{color:#315552;font-size:11px}
.admin-executive-identity-lock p{margin:3px 0 0;color:#71827d;font-size:9px!important;line-height:1.5}

/* =========================================================
   DHS PSAN Membership — admin-recorded offline payments
   ========================================================= */
.membership-profile-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:14px 0 20px
}
.offline-membership-payment-page{
    padding-top:34px
}
.offline-payment-member-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px
}
.offline-payment-member-summary article{
    display:grid;
    gap:3px
}
.offline-payment-card-label{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.09em
}
.offline-payment-member-summary strong{
    color:#315552;
    font-size:15px
}
.offline-payment-member-summary small{
    color:#768781;
    font-size:10px!important
}
.offline-payment-layout{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
    gap:16px;
    align-items:start
}
.offline-payment-form{
    display:grid;
    gap:18px
}
.offline-payment-form-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding-bottom:14px;
    border-bottom:1px solid #e3ece9
}
.offline-payment-form-heading>div{
    display:grid;
    gap:3px
}
.offline-payment-form-heading span{
    color:#0a8a92;
    font-size:9px!important;
    font-weight:950;
    letter-spacing:.09em
}
.offline-payment-form-heading h2{
    margin:0;
    color:#315552;
    font-family:Georgia,serif;
    font-size:23px
}
.offline-payment-form-heading>strong{
    color:#5c716b;
    font-size:10px;
    text-align:right
}
.offline-payment-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px
}
.offline-payment-form-grid label{
    display:grid;
    gap:6px
}
.offline-payment-form-grid label.is-wide{
    grid-column:1/-1
}
.offline-payment-form-grid label>span{
    color:#45645f;
    font-size:11px!important;
    font-weight:850
}
.offline-payment-form-grid input,
.offline-payment-form-grid select,
.offline-payment-form-grid textarea{
    width:100%;
    min-height:43px;
    padding:9px 10px;
    border:1px solid #cadbd5;
    border-radius:10px;
    background:#fff;
    color:#274541;
    font:inherit;
    font-size:12px
}
.offline-payment-form-grid textarea{
    min-height:96px;
    resize:vertical
}
.offline-payment-form-grid input[type=file]{
    padding:9px;
    border-style:dashed;
    background:#f8fbfa
}
.offline-payment-form-grid label>small{
    color:#82918c;
    font-size:9px!important;
    line-height:1.45
}
.offline-payment-period-preview{
    display:grid;
    align-content:start;
    gap:4px;
    padding:11px 12px;
    border:1px solid #d6e7e1;
    border-radius:11px;
    background:#f5fbf8
}
.offline-payment-period-preview>span{
    color:#0a8a92;
    font-size:8px!important;
    font-weight:950;
    letter-spacing:.08em
}
.offline-payment-period-preview>strong{
    color:#315552;
    font-size:13px
}
.offline-payment-period-preview>small{
    color:#71827d;
    font-size:9px!important
}
.offline-payment-period-preview>em{
    color:#87601c;
    font-size:9px!important;
    font-style:normal;
    font-weight:800
}
.offline-payment-governance-note{
    padding:12px 13px;
    border:1px solid #d5e6e0;
    border-radius:11px;
    background:#f6faf8
}
.offline-payment-governance-note strong{
    color:#315552;
    font-size:11px
}
.offline-payment-governance-note p{
    margin:3px 0 0;
    color:#71827d;
    font-size:10px!important;
    line-height:1.5
}
.offline-payment-actions{
    display:flex;
    justify-content:flex-end;
    gap:9px
}
.offline-payment-side{
    display:grid;
    gap:12px
}
.offline-payment-side section{
    display:grid;
    gap:7px
}
.offline-payment-side h3{
    margin:0;
    color:#315552;
    font-size:14px
}
.offline-payment-side p,
.offline-payment-side li{
    color:#71827d;
    font-size:10px!important;
    line-height:1.55
}
.offline-payment-side p{
    margin:0
}
.offline-payment-side ol{
    margin:0;
    padding-left:18px
}
.membership-payment-history-card{
    gap:10px;
    margin-bottom:14px
}
.membership-payment-history-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px
}
.membership-payment-history-heading>div{
    display:flex;
    align-items:center;
    gap:8px
}
.membership-payment-history-heading>strong{
    color:#315552;
    font-size:13px
}
.membership-payment-history-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px
}
.membership-payment-history-grid p{
    display:grid;
    gap:2px;
    margin:0;
    padding:9px;
    border-radius:9px;
    background:#f7faf9
}
.membership-payment-history-grid span{
    color:#82918c;
    font-size:8px!important;
    font-weight:900;
    letter-spacing:.06em
}
.membership-payment-history-grid strong{
    color:#415f5a;
    font-size:10px
}
.membership-admin-table td small>a{
    color:#08777e;
    font-weight:850;
    text-decoration:none
}
.membership-admin-table td small>a:hover{
    text-decoration:underline
}

@media(max-width:980px){
    .offline-payment-layout{
        grid-template-columns:1fr
    }
    .offline-payment-side{
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .membership-payment-history-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}
@media(max-width:760px){
    .offline-payment-member-summary,
    .offline-payment-side,
    .offline-payment-form-grid{
        grid-template-columns:1fr
    }
    .offline-payment-form-grid label.is-wide{
        grid-column:auto
    }
    .offline-payment-form-heading,
    .membership-payment-history-heading{
        align-items:flex-start;
        flex-direction:column
    }
    .offline-payment-form-heading>strong{
        text-align:left
    }
    .offline-payment-actions{
        align-items:stretch;
        flex-direction:column-reverse
    }
    .offline-payment-actions .button{
        width:100%
    }
}
@media(max-width:520px){
    .membership-payment-history-grid{
        grid-template-columns:1fr
    }
}

.offline-payment-term-preview{
    display:grid;
    gap:4px;
    margin-top:4px;
    padding-top:8px;
    border-top:1px solid #dce9e4
}
.offline-payment-term-preview>span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:#60766f;
    font-size:9px!important
}
.offline-payment-term-preview>span>b{
    color:#315552;
    font-size:9px
}

/* Executive/member view selector. Mode changes presentation, never authorization. */
.psan-view-switch-wrap{padding-top:16px}
.psan-view-switch{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;font-size:13px}
.psan-view-switch>span{margin-right:5px;color:#536770;font-weight:600}
.psan-view-switch button{border:1px solid #c7d9d5;border-radius:8px;padding:9px 13px;background:#fff;color:#174c50;font:inherit;font-weight:700;cursor:pointer;min-height:40px}
.psan-view-switch button.is-selected{background:#103c40;border-color:#103c40;color:#fff}
.psan-view-switch button:hover{border-color:#08777e;box-shadow:0 0 0 1px #08777e}
.psan-view-switch button:focus-visible{outline:3px solid #08777e;outline-offset:3px}
.psan-admin-topbar{flex-wrap:wrap}
@media(max-width:760px){.psan-admin-topbar .psan-view-switch{flex-basis:100%;order:3}}

.psan-executive-duties{min-width:0;overflow-wrap:anywhere}.psan-executive-duties article+article{border-top:1px solid #d7e6e3;margin-top:1.5rem;padding-top:1rem}.psan-executive-duties ul{padding-left:1.25rem;margin:1rem 0}.psan-executive-duties li{margin-bottom:.65rem;line-height:1.6}.psan-executive-duties .psan-duty-source{font-size:.875rem}

.psan-legal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.psan-legal-form label,.psan-legal-filter label{display:flex;flex-direction:column;gap:.4rem;min-width:0}.psan-legal-form input,.psan-legal-form select,.psan-legal-form textarea,.psan-legal-filter input,.psan-legal-filter select{width:100%;box-sizing:border-box;padding:.7rem;border:1px solid #9ab6b2;border-radius:.5rem;background:#fff;color:#173f42;font:inherit}.psan-legal-wide{grid-column:1/-1}.psan-legal-filter{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin:1rem 0}.psan-legal-table{overflow-x:auto}.psan-legal-table table{width:100%;border-collapse:collapse;text-align:left}.psan-legal-table th,.psan-legal-table td{padding:.85rem;border-bottom:1px solid #d7e6e3;overflow-wrap:anywhere}.psan-legal-table small,.psan-legal-overdue{display:block}.psan-legal-overdue{color:#a12131}.psan-legal-create{margin:1.5rem 0}.psan-legal-create summary{cursor:pointer;font-weight:700}.psan-legal-history{border-top:1px solid #d7e6e3;padding:1rem 0}.psan-legal-note{white-space:pre-wrap;overflow-wrap:anywhere}.psan-legal-history dt{font-weight:700}.psan-legal-history dd{margin:0 0 .8rem}@media(max-width:640px){.psan-legal-form{grid-template-columns:minmax(0,1fr)}}

.psan-executive-recipients{border:1px solid #9ab6b2;border-radius:.5rem;padding:1rem;max-height:18rem;overflow:auto}.psan-executive-recipients label{display:flex;gap:.65rem;align-items:center;padding:.4rem}.psan-executive-recipients input{width:auto}

.psan-policy{max-width:960px;overflow-wrap:anywhere}.psan-policy h1{font-size:clamp(2rem,5vw,3.5rem)}.psan-policy h2{font-size:1.35rem;margin-top:2rem}.psan-policy p,.psan-policy li{line-height:1.7}.psan-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0}.psan-policy-grid>a{display:block;border:1px solid #bdd5d1;border-radius:1rem;padding:1.5rem;background:#f4faf8;color:#173f42}.psan-policy-grid h2{margin-top:0}.psan-policy-resources li{margin:1rem 0}.psan-policy-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}@media(max-width:600px){.psan-policy-grid{grid-template-columns:1fr}}@media print{body:has(.psan-policy) .site-header,body:has(.psan-policy) footer,.psan-policy-actions{display:none!important}.psan-policy{max-width:none}.psan-policy a{color:inherit}}
