
:root{--navy:#2b5972;--deep:#1e4257;--sky:#0ea5e9;--stone:#eef3f6;--ink:#14232b;--line:#cfdbe2;--bs-border-radius:0;--bs-border-radius-sm:0;--bs-border-radius-lg:0}
*,*::before,*::after{border-radius:0!important}
body{font-family:'Public Sans',sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,.brand{display:flex;align-items:center;text-decoration:none}
.navbar{background:#fff;border-bottom:4px solid var(--sky);padding:.25rem 0}
.navbar .nav-link{color:var(--navy);font-weight:600}
.navbar .nav-link:hover,.navbar .nav-link:focus{color:#0369a1}
.btn-outline-navy{border:2px solid var(--navy);color:var(--navy);font-weight:600}
.btn-outline-navy:hover{background:var(--navy);color:#fff}
.brand{color:#fff;font-size:1.05rem;letter-spacing:.12em;text-decoration:none;display:flex;align-items:center;gap:.7rem}
.brand img{width:150px;height:100px;object-fit:contain;display:block}
.btn-gold{background:var(--sky);border-color:var(--sky);color:#0b2530;font-weight:600;letter-spacing:.02em}
.btn-gold:hover{background:#38bdf8;border-color:#38bdf8;color:#0b2530}
.btn-outline-light{border-width:2px}
.btn-outline-light:hover{color:var(--navy)}
.hero{position:relative;overflow:hidden;color:#fff;padding:6rem 0 6.5rem;border-bottom:6px solid var(--sky);background:var(--deep)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,66,87,.92) 0%,rgba(43,89,114,.7) 55%,rgba(43,89,114,.35) 100%)}
.hero .container{position:relative;z-index:1}
.hero .logo{width:150px;height:100px;object-fit:contain;margin-bottom:1.5rem}
.hero h1{font-size:clamp(2.2rem,5.5vw,4rem);letter-spacing:.08em;line-height:1.1}
.hero p{max-width:52ch;color:#e1eef5;font-size:1.1rem}
h2::after{content:"";display:block;width:56px;height:4px;background:var(--sky);margin-top:.6rem}
.about-img{width:100%;height:100%;min-height:340px;object-fit:cover;border:1px solid var(--line);border-bottom:6px solid var(--sky)}
.person{background:#fff;border:1px solid var(--line);border-top:4px solid var(--sky);padding:1.25rem 1.4rem;height:100%}
.person .role{font-family:'Source Serif 4',serif;font-weight:700;color:var(--navy);font-size:1.05rem}
.person .name{margin:.3rem 0 .4rem;font-weight:500}
.person a{color:#0369a1;font-size:.9rem;text-decoration:none;word-break:break-all}
.person a:hover{text-decoration:underline}
.rate{background:#fff;border:2px solid var(--navy);padding:1.75rem 1rem;text-align:center;height:100%}
.rate .amt{font-family:'Source Serif 4',serif;font-weight:700;font-size:2.4rem;color:var(--navy);line-height:1}
.rate .lbl{margin-top:.6rem;color:#3d515b}
section{padding:4rem 0}
.alt{background:var(--stone)}
.doc-list a{display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.doc-list a:hover{color:var(--sky)}
.doc-list a span{font-size:.8rem;color:#6b7772}
.member-card{border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:.4rem;padding:1.25rem;background:#fff;height:100%;cursor:pointer;transition:border-color .2s}
.member-card:hover{border-left-color:var(--sky)}
.member-card h3{font-size:1.1rem;margin-bottom:.4rem}
.member-card p{font-size:.92rem;color:#55625d;margin:0}
.sec-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--navy);color:var(--sky);font-size:1.4rem;margin-bottom:1rem}
.doc-list a>div i{color:#b23b3b;font-size:1.2rem;margin-right:.65rem;vertical-align:-2px}
.card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:.5rem;background:var(--stone);color:var(--sky);font-size:1.3rem;margin-bottom:.75rem}
.member-card:hover .card-icon{background:var(--sky);color:#fff}
.lock i{margin-right:.3rem}
.lock{font-size:.78rem;color:var(--deep);font-weight:600}
body.authed .lock{color:#1f6b3d}
.modal-content{border:0;border-radius:.5rem}
.nav-tabs .nav-link{color:var(--ink)}
.nav-tabs .nav-link.active{color:var(--navy);font-weight:600;border-bottom-color:#fff}
.form-control:focus{border-color:var(--sky);box-shadow:0 0 0 .2rem rgba(14,165,233,.25)}
footer{background:var(--navy);color:#b9cbc4;padding:2rem 0;font-size:.9rem}
.member-only{display:none}body.authed .member-only{display:inline-block}body.authed .guest-only{display:none}

/* portal pages */
.page{padding:3rem 0 4rem;min-height:70vh;background:var(--stone)}
.panel{background:#fff;border:1px solid var(--line);border-top:4px solid var(--sky);padding:1.5rem}
.rte img{max-width:100%}.rte{overflow-wrap:anywhere}
.stat{font-family:'Source Serif 4',serif;font-size:2.2rem;font-weight:700;color:var(--navy)}
.table th{background:var(--navy);color:#fff;font-weight:500;white-space:nowrap}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}.btn-navy:hover{background:var(--deep);color:#fff}
.sec-head{background:var(--navy);color:#fff;padding:.6rem 1rem;margin:0}
