.institutional-home { --institutional-ink:#193e35; --institutional-green:#527d76; --institutional-muted:#62746d; --institutional-line:#dce4de; text-align:left; background:#fff; }
.institutional-home .institutional-eyebrow { display:block; font-size:.68rem; line-height:1.7; letter-spacing:.13em; font-weight:600; text-transform:uppercase; color:#456d5e; }
.institutional-hero { padding:112px 0 0; background:#f2f5ef; border-bottom:1px solid var(--institutional-line); }
.hero-layout { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:64px; padding-bottom:40px; }
.hero-copy > .institutional-eyebrow { display:flex; align-items:center; gap:10px; max-width:32rem; }
.hero-copy > .institutional-eyebrow > span { flex:0 0 7px; height:7px; background:#9f8660; border-radius:50%; }
.institutional-home .hero-copy h1 { margin:22px 0; font-size:clamp(2.25rem,3.6vw,3.35rem); letter-spacing:-.045em; line-height:1.16; font-weight:600; color:var(--institutional-ink); }
.hero-copy h1 em { font-style:normal; color:var(--institutional-green); }
.hero-description { max-width:35rem; font-size:.95rem; line-height:1.85; color:#54685e; margin-bottom:27px; }
.institutional-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.institutional-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; text-decoration:none; border-radius:6px; padding:14px 20px; font-size:.8rem; line-height:1.5; font-weight:600; border:1px solid transparent; }
.button-primary { background:var(--institutional-ink); color:#fff; }
.button-primary:hover { color:#fff; background:#30594c; transform:translateY(-2px); }
.hero-secondary { display:inline-flex; gap:10px; align-items:center; font-size:.78rem; font-weight:600; color:#365b4b; text-decoration:none; padding:10px 0; }
.hero-secondary:hover { color:#193e35; text-decoration:underline; text-underline-offset:5px; }
.hero-fees { display:flex; align-items:center; gap:25px; width:fit-content; max-width:100%; margin-top:30px; padding-top:23px; border-top:1px solid #d3ded4; color:var(--institutional-ink); text-decoration:none; }
.hero-fees > span + span { border-left:1px solid #ccd8cd; padding-left:25px; }
.hero-fees small { display:block; color:#62746d; font-size:.7rem; margin-bottom:4px; }
.hero-fees strong { display:block; font-size:1.45rem; font-weight:600; letter-spacing:-.03em; white-space:nowrap; }
.hero-fees .hero-fees-caption { color:#5c7064; font-size:.7rem; line-height:1.75; }
.hero-identity { display:flex; flex-direction:column; background:#e8eee4; border:1px solid #d5dfd1; border-radius:5px 60px 5px 5px; padding:25px 28px 28px; min-height:512px; position:relative; overflow:hidden; }
.identity-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#637563; font-size:.7rem; font-weight:500; letter-spacing:.08em; }
.identity-logo { flex:1; display:flex; align-items:center; justify-content:center; padding:36px 0 29px; }
.identity-logo img { display:block; width:100%; max-width:380px; height:auto; }
.identity-caption { border-top:1px solid #cdd9c9; padding-top:18px; }
.identity-caption strong { font-size:.82rem; line-height:1.6; font-weight:500; color:#294d3c; }
.identity-caption > span { display:block; margin-top:11px; color:#6a7c69; font-size:.7rem; }
.hero-affiliation { display:flex; align-items:center; gap:20px; padding-top:20px; padding-bottom:20px; border-top:1px solid #d9e2d6; }
.affiliation-monogram { color:#53755e; font-size:1.3rem; font-weight:600; letter-spacing:-.05em; padding-right:20px; border-right:1px solid #cad8c8; }
.hero-affiliation p { margin:0; color:#5b7060; font-size:.75rem; line-height:1.8; }
.hero-affiliation strong { font-weight:600; color:#365d44; }
.hero-affiliation p > span { display:block; color:#6d7f70; font-size:.65rem; }
.membership-section { padding:55px 0 45px; scroll-margin-top:80px; }
.membership-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:25px; }
.institutional-home .membership-heading h2 { color:var(--institutional-ink); font-size:clamp(1.6rem,2.6vw,2.2rem); letter-spacing:-.035em; line-height:1.25; margin:11px 0 0; }
.membership-heading > p { margin:0 0 3px; max-width:380px; color:var(--institutional-muted); font-size:.82rem; line-height:1.8; }
.membership-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.membership-card { padding:27px; border:1px solid var(--institutional-line); border-radius:8px; display:flex; flex-direction:column; background:#fafbf8; }
.membership-index { display:block; color:#6d7d6c; font-size:.82rem; letter-spacing:.12em; font-weight:500; }
.institutional-home .membership-card h3 { font-size:1.05rem; letter-spacing:-.025em; line-height:1.5; color:var(--institutional-ink); margin:18px 0 12px; }
.membership-card > p { font-size:.8rem; color:#657569; line-height:1.8; margin:0 0 25px; }
.membership-price { display:flex; align-items:baseline; font-size:3.4rem; font-weight:600; letter-spacing:-.065em; line-height:1; color:var(--institutional-ink); margin-top:auto; white-space:nowrap; }
.membership-price > span { font-size:1rem; font-weight:500; letter-spacing:0; margin-right:8px; }
.membership-price > small { font-size:1.8rem; letter-spacing:-.04em; }
.membership-price-label { display:block; color:#728072; font-size:.85rem; margin:9px 0 25px; }
.membership-join { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:12px 0 0; border-top:1px solid #d6e0d4; font-size:.78rem; color:#365a43; font-weight:600; text-decoration:none; }
.membership-join:hover { color:#193e35; }
.membership-featured { background:#214a3d; border-color:#214a3d; }
.institutional-home .membership-featured h3, .membership-featured .membership-price, .membership-featured .membership-join { color:#fff; }
.membership-featured .membership-index { color:#d8c49c; }
.membership-featured > p, .membership-featured .membership-price-label { color:#c4d4c7; }
.membership-featured .membership-join { border-color:#50705c; }
.membership-featured .membership-join:hover { color:#e9d4a9; }
.membership-note { color:#788478; font-size:.75rem; text-align:center; margin:20px 0 0; line-height:1.8; }
.membership-note i { margin-right:5px; }
.professional-home { border-top:1px solid var(--institutional-line); padding-top:45px; padding-bottom:50px; }
.professional-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:20px; }
.institutional-home .professional-heading h2 { margin:10px 0 0; color:var(--institutional-ink); font-size:clamp(1.6rem,2.6vw,2.2rem); letter-spacing:-.035em; }
.button-outline { color:#365f4a; border-color:#cbd9cf; background:#fff; }
.button-outline:hover { background:#edf3ed; color:#193e35; }
.institutional-home a:focus-visible { outline:3px solid #ad965d; outline-offset:5px; }
@media(min-width:1400px) { .institutional-home > section > .container, .institutional-home > .professional-home { max-width:1200px; } }
@media(max-width:1199px) { .hero-layout { gap:32px; } .institutional-actions { gap:12px; } .hero-identity { padding:22px; } .hero-fees { gap:18px; } .hero-fees > span + span { padding-left:18px; } .hero-fees .hero-fees-caption { display:none; } }
@media(max-width:991px) { .hero-layout { grid-template-columns:1.2fr 1fr; gap:25px; } .hero-identity { min-height:340px; padding:20px; } .identity-topline { font-size:.5rem; flex-wrap:wrap; } .membership-card { padding:20px; } .institutional-home .hero-copy h1 { font-size:2.3rem; } .hero-description { font-size:.84rem; } .membership-heading > p { max-width:280px; } .membership-grid { gap:13px; } .professional-heading { align-items:start; flex-direction:column; } }
@media(max-width:767px) { .institutional-hero { padding-top:94px; } .hero-layout { grid-template-columns:1fr; gap:30px; padding-bottom:30px; } .hero-copy > .institutional-eyebrow { max-width:24rem; font-size:.59rem; } .institutional-home .hero-copy h1 { max-width:34rem; font-size:clamp(2.2rem,6.8vw,2.9rem); } .hero-description { font-size:.9rem; } .hero-identity { display:none; } .hero-affiliation { gap:14px; } .affiliation-monogram { font-size:1.1rem; padding-right:14px; } .hero-affiliation p { font-size:.62rem; } .hero-affiliation p > span { display:none; } .hero-fees { width:100%; gap:26px; margin-top:25px; } .hero-fees > span + span { padding-left:26px; } .hero-fees .hero-fees-caption { display:block; } .membership-section { padding-top:36px; } .membership-heading { flex-direction:column; align-items:start; gap:15px; } .membership-heading h2 br { display:none; } .membership-heading > p { max-width:100%; } .membership-grid { grid-template-columns:1fr; gap:15px; } .membership-card { display:grid; grid-template-columns:1fr auto; column-gap:18px; padding:24px; } .membership-index, .membership-card h3, .membership-card > p { grid-column:1; } .membership-price { grid-column:2; grid-row:2 / 4; align-self:center; margin-top:0; font-size:2.9rem; } .membership-price > small { font-size:1.45rem; } .membership-price > span { font-size:.8rem; margin-right:5px; } .membership-price-label { grid-column:2; text-align:right; grid-row:4; margin:0 0 18px; } .membership-card h3 { margin:15px 0 9px; } .membership-card > p { font-size:.71rem; margin-bottom:15px; } .membership-join { grid-column:1 / -1; } .professional-home { padding-top:35px; padding-bottom:30px; } }
@media(max-width:420px) { .hero-fees .hero-fees-caption { display:none; } .membership-card { column-gap:12px; padding:22px 18px; } .institutional-home .membership-card h3 { font-size:.95rem; } .membership-price { font-size:2.5rem; } .membership-price > small { font-size:1.3rem; } .institutional-actions { gap:9px; } .hero-secondary { font-size:.75rem; } }
@media(prefers-reduced-motion:reduce) { .institutional-home a { transition:none; } .institutional-home .button-primary:hover { transform:none; } }
