:root{
  --teal:#1A7A6E;--teal-m:#2AA898;--teal-lt:#3DC4B0;--teal-bg:#EAF7F5;
  --slate:#3B6E8A;--slate-bg:#E8F2F7;--navy:#1B3A5C;--dark:#1A2E3B;
  --mid:#6B8299;--body:#445566;--light:#F7FAFB;--warm:#FDFAF6;
  --white:#FFFFFF;--rule:rgba(26,122,110,0.13);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--dark);background:var(--white);overflow-x:hidden;line-height:1.6}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:400;line-height:1.15}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:rgba(255,255,255,0.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);transition:box-shadow .3s}
nav.scrolled{box-shadow:0 2px 20px rgba(26,46,59,.07)}
.nav-logo{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--teal);text-decoration:none;display:flex;flex-direction:column;line-height:1.2}
.nav-logo span{font-size:.62rem;font-weight:400;color:var(--mid);letter-spacing:.04em;font-family:'DM Sans',sans-serif}
.nav-links{display:flex;gap:.2rem;list-style:none;align-items:center}
.nav-links a{color:var(--mid);text-decoration:none;font-size:.73rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:.38rem .7rem;border-radius:4px;transition:color .2s,background .2s}
.nav-links a:hover{color:var(--teal);background:var(--teal-bg)}
.nav-links a.active{color:var(--teal);font-weight:600}
.nav-cta{background:var(--teal)!important;color:white!important;padding:.38rem .9rem!important}
.nav-cta:hover{background:var(--teal-m)!important;color:white!important}
@media(max-width:900px){.nav-links{display:none}}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1.5rem;border-radius:4px;font-size:.87rem;font-weight:600;font-family:'DM Sans',sans-serif;text-decoration:none;letter-spacing:.02em;transition:all .22s;cursor:pointer;border:none}
.btn-primary{background:var(--teal);color:white}.btn-primary:hover{background:var(--teal-m);transform:translateY(-1px);box-shadow:0 6px 18px rgba(26,122,110,.24)}
.btn-outline{background:transparent;color:var(--slate);border:1.5px solid var(--slate)}.btn-outline:hover{background:var(--slate-bg);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:white;border:1.5px solid rgba(255,255,255,.38)}.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-white{background:white;color:var(--teal)}.btn-white:hover{background:var(--teal-bg)}

/* ── SECTIONS ── */
.sec{padding:6rem 9vw}.sec-alt{background:var(--light)}.sec-warm{background:var(--warm)}.sec-dark{background:var(--navy)}
.sec-title{font-size:clamp(1.8rem,2.6vw,2.5rem);margin-bottom:1rem}.sec-title-lt{color:white}
.sec-sub{font-size:1rem;line-height:1.8;color:var(--mid);max-width:620px;margin-bottom:3rem}.sec-sub-lt{color:rgba(255,255,255,.5)}
.eyebrow{font-size:.67rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:.7rem;margin-bottom:.85rem}
.eyebrow::before{content:'';width:22px;height:2px;flex-shrink:0}
.ey-teal{color:rgba(61,196,176,.8)}.ey-teal::before{background:var(--teal-lt)}
.ey-mid{color:var(--mid)}.ey-mid::before{background:rgba(107,130,153,.5)}
.ey-lt{color:rgba(255,255,255,.45)}.ey-lt::before{background:rgba(61,196,176,.5)}

/* ── PAGE HERO (interior pages) ── */
.page-hero{padding:5rem 9vw 4.5rem;background:var(--dark);position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--teal)}
.page-hero-inner{max-width:680px;position:relative;z-index:2}
.page-hero h1{font-size:clamp(2.2rem,4vw,3.6rem);color:white;margin-bottom:.7rem}
.page-hero p{font-size:1.05rem;color:rgba(255,255,255,.55);line-height:1.8;max-width:560px}
.page-hero-img{position:absolute;right:0;top:0;bottom:0;width:45%;object-fit:cover;object-position:center top;opacity:.22}

/* ── CARDS ── */
.card{background:white;border-radius:12px;border:1px solid var(--rule);box-shadow:0 2px 16px rgba(26,46,59,.05);padding:1.8rem;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(26,46,59,.1)}
.card-top{border-top:3px solid var(--teal)}

/* ── MILESTONE CARDS ── */
.mc{background:white;border-radius:10px;padding:1.2rem 1.4rem;border:1px solid rgba(26,122,110,.1);box-shadow:0 2px 14px rgba(26,46,59,.05);display:flex;gap:1rem;align-items:flex-start;transition:transform .2s,box-shadow .2s}
.mc:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(26,46,59,.09)}
.mc-ic{width:38px;height:38px;border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.it{background:var(--teal-bg)}.is{background:var(--slate-bg)}.ig{background:#FDF5E8}
.mc h4{font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:600;color:var(--dark);margin-bottom:.18rem;line-height:1.3}
.mc p{font-size:.78rem;color:var(--mid);line-height:1.55}
.mc p strong{color:var(--slate)}

/* ── BOARD LIST ── */
.bl{background:white;border-radius:10px;padding:1.1rem 1.4rem;border:1px solid rgba(26,122,110,.1);box-shadow:0 2px 12px rgba(26,46,59,.04);display:flex;gap:.9rem;align-items:flex-start;border-left:3px solid var(--teal)}
.bl-ic{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}
.bl h4{font-family:'DM Sans',sans-serif;font-size:.84rem;font-weight:600;color:var(--dark);margin-bottom:.14rem}
.bl p{font-size:.76rem;color:var(--mid);line-height:1.5}
.role-badge{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--teal);background:var(--teal-bg);padding:.16rem .52rem;border-radius:100px;margin-bottom:.28rem}

/* ── CRED GRID ── */
.cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.cred-card{background:white;border:1px solid rgba(26,122,110,.1);border-radius:10px;padding:1.15rem 1.2rem;box-shadow:0 2px 12px rgba(26,46,59,.04)}
.cred-ic{font-size:1.1rem;margin-bottom:.45rem;display:block}
.cred-card h4{font-family:'DM Sans',sans-serif;font-size:.81rem;font-weight:600;color:var(--dark);margin-bottom:.2rem;line-height:1.35}
.cred-card p{font-size:.73rem;color:var(--mid);line-height:1.5}

/* ── CHEM TAGS ── */
.chem-tags{display:flex;flex-wrap:wrap;gap:.42rem}
.ctag{background:rgba(61,196,176,.1);border:1px solid rgba(61,196,176,.22);color:var(--teal-lt);font-size:.67rem;font-weight:600;padding:.25rem .7rem;border-radius:100px;letter-spacing:.04em}

/* ── LADDER RUNGS ── */
.rungs{border-radius:10px;overflow:hidden}
.rung{display:flex;align-items:stretch}
.rn{width:54px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:.94rem;color:white}
.rb{flex:1;padding:.82rem 1.1rem;border-bottom:1px solid rgba(0,0,0,.07)}
.rt{font-size:.83rem;font-weight:600;color:white}
.rno{font-size:.71rem;color:rgba(255,255,255,.5);margin-top:.12rem;line-height:1.4}
.rbg{padding:.82rem .85rem;display:flex;align-items:center;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:rgba(255,255,255,.34)}
.rbg.hi{color:#FFD97A}
.r0 .rn,.r0 .rb,.r0 .rbg{background:#3a5162}
.r1 .rn,.r1 .rb,.r1 .rbg{background:#2d5e6e}
.r2 .rn,.r2 .rb,.r2 .rbg{background:#B8965A}.r2 .rt{color:rgba(26,46,59,.9)}.r2 .rno{color:rgba(26,46,59,.55)}.r2 .rbg{color:rgba(26,46,59,.55)}.r2 .rn{color:rgba(26,46,59,.88)}
.r3 .rn,.r3 .rb,.r3 .rbg{background:var(--teal-m)}
.r4 .rn,.r4 .rb,.r4 .rbg{background:var(--teal)}

/* ── CONNECT CARDS ── */
.cc{background:white;border-radius:12px;padding:1.8rem;border:1px solid rgba(26,122,110,.09);box-shadow:0 2px 18px rgba(26,46,59,.05);transition:transform .22s,box-shadow .22s}
.cc:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(26,46,59,.1)}
.cc-ic{width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;font-size:1.15rem}
.cit{background:var(--teal-bg)}.cis{background:var(--slate-bg)}.cig{background:#FDF5E8}
.cc h3{font-family:'DM Sans',sans-serif;font-size:.96rem;font-weight:600;margin-bottom:.4rem}
.cc p{font-size:.84rem;color:var(--mid);line-height:1.65;margin-bottom:1.1rem}
.email-row{display:flex;gap:.5rem}
.email-row input{flex:1;padding:.56rem .8rem;border:1.5px solid #D0DDE8;border-radius:4px;font-size:.82rem;font-family:'DM Sans',sans-serif;color:var(--dark);outline:none;transition:border-color .2s;min-width:0}
.email-row input:focus{border-color:var(--teal)}
.email-row input::placeholder{color:#A8BCC8}
.email-row button{background:var(--teal);color:white;border:none;padding:.56rem .9rem;border-radius:4px;font-size:.8rem;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .2s;white-space:nowrap}
.email-row button:hover{background:var(--teal-m)}
.ok-note{display:none;background:var(--teal-bg);border-radius:6px;padding:.54rem .84rem;font-size:.8rem;color:var(--teal);margin-top:.5rem}

/* ── PAGE NAV BAR (persistent secondary nav below top nav) ── */
.page-nav{background:var(--teal-bg);border-bottom:1px solid rgba(26,122,110,.15);padding:0 9vw;display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none;position:fixed;top:62px;left:0;right:0;z-index:190}
.page-nav::-webkit-scrollbar{display:none}
.page-nav a{display:flex;align-items:center;padding:.7rem 1rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mid);text-decoration:none;white-space:nowrap;border-bottom:2.5px solid transparent;transition:color .2s,border-color .2s,background .2s;flex-shrink:0;border-radius:0}
.page-nav a:hover{color:var(--teal);background:rgba(26,122,110,.06)}
.page-nav a.current{color:var(--teal);border-bottom-color:var(--teal);background:rgba(26,122,110,.05)}
.page-nav-dot{width:3px;height:3px;background:rgba(107,130,153,.25);border-radius:50%;flex-shrink:0;margin:0 .1rem}
@media(max-width:900px){.page-nav{padding:0 2vw}}
/* body offset so fixed nav bars don't cover content */
body{padding-top:100px}

/* ── HAMBURGER (mobile) ── */
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.4rem}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--mid);border-radius:2px;transition:all .25s}
@media(max-width:900px){.nav-hamburger{display:flex}}
.mobile-menu{display:none;position:fixed;top:62px;left:0;right:0;background:white;border-bottom:1px solid var(--rule);z-index:190;padding:.6rem 0;box-shadow:0 8px 24px rgba(26,46,59,.1)}
.mobile-menu.open{display:flex;flex-direction:column}
.mobile-menu a{padding:.75rem 6vw;font-size:.88rem;font-weight:500;color:var(--body);text-decoration:none;border-bottom:1px solid rgba(26,122,110,.06)}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a.active{color:var(--teal);font-weight:600}

/* ── TAB BAR (mobile bottom nav) ── */
.tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:190;background:white;border-top:1px solid var(--rule);box-shadow:0 -2px 14px rgba(26,46,59,.08);height:60px;align-items:stretch}
@media(max-width:900px){.tab-bar{display:flex}}
.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--mid);transition:color .2s;padding:.3rem 0}
.tab-item.tab-active{color:var(--teal)}
.tab-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.tab-icon svg{width:18px;height:18px}
.tab-label{font-size:.58rem;font-weight:600;letter-spacing:.03em;line-height:1}
/* pad body so tab bar doesn't overlap content on mobile */
@media(max-width:900px){body{padding-bottom:60px}}

/* ── FOOTER ── */
footer{background:var(--dark);padding:2.8rem 9vw;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.foot-name{font-family:'Playfair Display',serif;font-size:1rem;color:var(--teal-lt)}
.foot-sub{font-size:.7rem;color:rgba(255,255,255,.25);margin-top:.22rem}
.foot-nav{display:flex;flex-wrap:wrap;gap:.2rem}
.foot-nav a{color:rgba(255,255,255,.32);text-decoration:none;font-size:.72rem;padding:.3rem .6rem;border-radius:3px;transition:color .2s}
.foot-nav a:hover{color:var(--teal-lt)}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.fu{opacity:0;animation:fadeUp .7s ease forwards}
.fu.d1{animation-delay:.1s}.fu.d2{animation-delay:.22s}.fu.d3{animation-delay:.34s}.fu.d4{animation-delay:.46s}.fu.d5{animation-delay:.58s}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.17s}.reveal.d3{transition-delay:.26s}.reveal.d4{transition-delay:.35s}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .sec{padding:4.5rem 6vw}
  .page-hero{padding:3.5rem 6vw 3.5rem}
  .page-hero-img{display:none}
  .cred-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .cred-grid{grid-template-columns:1fr}
}
