.portal-page{background:var(--paper)}
.portal-home-link{font-size:13px;font-weight:600;color:var(--ink);text-underline-offset:5px}
.portal-intro{padding:90px clamp(22px,7vw,110px) 65px;display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end;background:var(--cream);border-bottom:1px solid var(--line)}
.portal-intro h1{font:400 clamp(50px,7vw,92px)/.96 "Newsreader",serif;letter-spacing:-.045em;margin:0}
.portal-lede{font-size:19px;max-width:700px;margin:25px 0 0}
.security-note{margin:0;padding:22px 0 3px;border-top:3px solid var(--gold);font-size:14px}
.service-grid{padding:70px clamp(22px,7vw,110px) 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:var(--cream)}
.service-card{min-height:360px;border:1px solid var(--line);background:var(--paper);padding:34px;display:flex;flex-direction:column;position:relative;transition:transform .2s,box-shadow .2s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,33,28,.1)}
.maintenance-card{background:var(--teal);color:white}
.service-number{font-weight:600;color:var(--rust)}
.maintenance-card .service-number{color:#e4bf73}
.service-label{margin:42px 0 8px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;opacity:.68}
.service-card h2{font:400 38px/1.05 "Newsreader",serif;margin:0 0 15px}
.service-card>p:not(.service-label){margin:0 0 30px;opacity:.72}
.service-action{margin-top:auto;color:inherit;font-weight:600;text-decoration:none;border-top:1px solid currentColor;padding-top:18px;display:flex;justify-content:space-between;gap:20px}
.maintenance-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:110px clamp(22px,7vw,110px);background:var(--ink);color:white}
.maintenance-copy h2{font:400 clamp(45px,5vw,72px)/1 "Newsreader",serif;margin:0 0 24px}
.maintenance-copy>p:not(.eyebrow){font-size:18px;opacity:.76}
.urgent-note{margin-top:35px;padding:22px;border:1px solid rgba(255,255,255,.26);font-size:14px}
.maintenance-form{background:var(--paper);color:var(--ink);padding:40px}
.maintenance-form label{display:block;font-size:13px;font-weight:600;margin-bottom:22px}
.maintenance-form input,.maintenance-form select,.maintenance-form textarea{width:100%;font:inherit;margin-top:7px;padding:12px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink)}
.maintenance-form textarea{resize:vertical;border:1px solid var(--line);padding:13px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.maintenance-form .button{width:100%;cursor:pointer}
.form-help{font-size:12px;opacity:.68;margin:16px 0 0}
.form-help a{color:inherit}
.portal-help{padding:85px clamp(22px,7vw,110px);display:grid;grid-template-columns:.6fr 1fr .6fr;gap:5vw;align-items:start;background:#e5d8c0}
.portal-help h2{font:400 38px/1.1 "Newsreader",serif;margin:0}
.portal-help p{margin:0}
.portal-help div{display:flex;flex-direction:column;gap:12px}
.portal-help a{color:var(--ink);font-weight:600;text-underline-offset:5px}
.portal-footer{padding:35px clamp(22px,5vw,76px)}
.portal-footer a{color:white;font-weight:600}
@media(max-width:900px){.portal-intro,.maintenance-section{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card{min-height:280px}.portal-help{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.portal-home-link{font-size:12px;max-width:90px;text-align:right}.portal-intro{padding:60px 22px 45px}.portal-intro h1{font-size:50px}.service-grid{padding:45px 22px 70px}.service-card{padding:28px}.maintenance-section{padding:75px 22px}.maintenance-form{padding:25px}.field-row{grid-template-columns:1fr;gap:0}.portal-help{padding:65px 22px}.portal-footer{flex-direction:row;align-items:center}}
