/* Portal homepage/account only. Other services retain their own layouts. */
.portal-page{--portal-forest:#294f3e;--portal-ink:#263f32;--portal-muted:#596657;--portal-paper:#faf7ef;--portal-line:#d5dbca;--portal-soft:#edf0e3;--portal-amber:#81513b;background:var(--portal-paper);color:var(--portal-ink);font:16px/1.55 "Segoe UI",Arial,sans-serif}
.portal-page .skip-link{z-index:100}
.portal-page a{color:var(--portal-forest)}
.portal-wrap{max-width:1080px;margin-inline:auto;padding-inline:20px}
.portal-main{min-height:65vh}
.portal-header{position:sticky;top:0;z-index:30;background:var(--portal-paper);border-bottom:1px solid var(--portal-line)}
.portal-header-inner{min-height:68px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.portal-brand{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:750;letter-spacing:.015em;text-decoration:none;white-space:nowrap}
.portal-brand-mark{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;min-width:1em;min-height:1em;border:1px solid #a6b798;border-radius:50%;font-size:21px;line-height:1}
.portal-brand-index{font-size:14px;font-weight:400}
.portal-header-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:3px}
.portal-header-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:8px 9px;font-size:13px;font-weight:600;text-decoration:none;border:1px solid transparent;border-radius:6px;cursor:pointer}
.portal-header-button:hover{background:var(--portal-soft)}
.portal-account-button{border-color:var(--portal-line)}
.portal-account-button[aria-current="page"]{background:var(--portal-forest);border-color:var(--portal-forest);color:var(--portal-paper)}
.portal-header-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7}
.portal-service-switcher summary{list-style:none}
.portal-service-switcher summary::-webkit-details-marker{display:none}
.portal-service-switcher[open] summary{background:var(--portal-soft)}
.portal-service-switcher[open] summary svg{transform:rotate(180deg)}
.portal-service-menu{position:absolute;top:calc(100% - 6px);right:16px;width:310px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--portal-line);border-radius:10px;background:#fffdf8;box-shadow:0 16px 44px #21372b1a}
.portal-service-menu>p{margin:0;padding:8px 14px 4px;font-size:11px;color:var(--portal-muted)}
.portal-service-menu a{display:block;padding:14px;border-radius:6px;text-decoration:none}
.portal-service-menu a:hover,.portal-service-menu a[aria-current="page"]{background:var(--portal-soft)}
.portal-service-menu strong{font-weight:600}
.portal-service-menu small{display:block;margin-top:3px;color:var(--portal-muted);font-size:12px}
.portal-service-menu .portal-menu-home{margin-top:5px;border-top:1px solid var(--portal-line);border-radius:0}
.portal-cover{height:146px;margin:0 -20px;overflow:hidden;position:relative;background:var(--portal-forest)}
.portal-cover picture{display:block;height:100%}
.portal-cover img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 77%}
.portal-cover figcaption{position:absolute;right:16px;bottom:9px;padding:3px 7px;font-size:11px;color:#fffce9;background:#193e2ded;letter-spacing:.04em;text-transform:uppercase}
.portal-introduction{padding:22px 0 20px}
.portal-introduction h1,.portal-account-page h1{font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:1.09;letter-spacing:-.035em;font-weight:400;overflow-wrap:normal;margin:0 0 12px}
.portal-introduction h1 em,.portal-account-page h1 em{font-style:normal;color:#687342}
.portal-introduction h1{overflow-wrap:anywhere}
.portal-introduction p{font-size:15px;line-height:1.5;max-width:420px;margin:0;color:var(--portal-muted)}
.portal-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portal-service-list{display:grid;grid-template-columns:1fr}
.portal-service-row{display:grid;position:relative;grid-template-columns:28px minmax(0,1fr) 16px;gap:12px;padding:17px 12px 18px;border-top:1px solid var(--portal-line);border-bottom:1px solid var(--portal-line);text-decoration:none;align-items:start}
.portal-service-row:hover{background:#eff1e5}
.portal-help-row{background:#edf1e3;border-top-color:#c1cfb0;border-bottom:0}
.portal-row-icon{margin-top:22px;color:var(--portal-forest)}
.portal-route-row .portal-row-icon{color:#92583b}
.portal-row-icon svg{display:block;width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.portal-row-copy{min-width:0}
.portal-row-status{display:block;font-size:11px;color:var(--portal-muted);margin:0 0 4px}
.portal-development{color:var(--portal-amber)}
.portal-row-copy h3{font-size:23px;line-height:1.2;letter-spacing:-.025em;font-weight:650;margin:0 0 7px}
.portal-row-copy p{font-size:14px;line-height:1.45;color:var(--portal-muted);margin:0 0 10px;max-width:350px}
.portal-help-row .portal-row-copy p{margin-bottom:0}
.portal-service-title{text-decoration:none}
.portal-service-title::after{content:"";position:absolute;inset:0}
.portal-service-title:focus-visible{outline:none}
.portal-service-title:focus-visible::after{outline:3px solid #bd6c21;outline-offset:3px}
.portal-row-action{font-size:14px;font-weight:650;text-decoration:underline;text-underline-offset:4px}
.portal-row-chevron{width:15px;height:15px;fill:none;stroke:var(--portal-forest);stroke-width:1.8;margin-top:28px}
.portal-help-actions{grid-column:1/-1;position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.portal-help-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;font-size:14px;font-weight:600;text-underline-offset:4px}
.portal-help-actions .portal-request-action{padding:10px 14px;background:var(--portal-forest);color:var(--portal-paper);text-decoration:none;border-radius:4px}
.portal-help-actions .portal-request-action:hover{background:#173b28}
.portal-helper-action{padding:10px 0}
.portal-shared-account{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--portal-muted);padding:10px 0 18px}
.portal-shared-account svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}
.portal-shared-account a,.portal-text-link,.portal-text-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-underline-offset:4px}
.portal-calendar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:20px 0;border-top:1px solid var(--portal-line)}
.portal-calendar h2{font-size:18px;font-weight:600;line-height:1.25;margin:0 0 6px}
.portal-row-copy h3,.portal-calendar h2{overflow-wrap:anywhere}
.portal-calendar p{font-size:13px;margin:0;color:var(--portal-muted)}
.portal-calendar small{font-size:11px;color:var(--portal-amber);align-self:start}
.portal-about,.portal-help-guide,.portal-faq{padding:24px 0 30px;border-top:1px solid var(--portal-line);scroll-margin-top:88px}
.portal-about h2,.portal-help-guide>h2,.portal-faq h2,.portal-account-section>h2{font:400 27px/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.025em;margin:0 0 12px}
.portal-about h2,.portal-help-guide>h2,.portal-faq h2{overflow-wrap:anywhere}
.portal-about>p{max-width:660px;font-size:14px;margin:0;color:var(--portal-muted)}
.portal-about>p+p{margin-top:12px}
.portal-about .portal-text-link{margin-top:8px;font-size:14px}
.portal-help-guide ol{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:18px}
.portal-help-guide li{padding:0}
.portal-help-guide strong{font-size:16px}
.portal-help-guide li p{color:var(--portal-muted);font-size:14px;margin:6px 0 0}
.portal-faq .portal-section-heading{margin-bottom:16px}
.portal-faq summary{padding-block:16px;min-height:48px;font-size:15px;cursor:pointer}
.portal-faq .faq-list p{color:var(--portal-muted);font-size:14px}
.portal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:18px 26px;border-top:1px solid var(--portal-line);font-size:12px;color:var(--portal-muted)}
.portal-footer a{display:inline-flex;align-items:center;min-height:44px}
.portal-page .legal-links{max-width:1080px;margin-inline:auto;font-family:"Segoe UI",Arial,sans-serif;padding-inline:20px;font-size:13px}
.portal-account-page{max-width:780px;padding:14px 0 32px;margin-inline:auto}
.portal-back{font-size:14px;margin-bottom:6px}
.portal-eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--portal-muted);margin:8px 0 16px}
.portal-account-lead{color:var(--portal-muted);font-size:16px;margin:18px 0 26px;max-width:650px}
.portal-account-section{padding:22px 0 0;border-top:1px solid var(--portal-line)}
.portal-account-link{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:6px 16px;padding:18px 0;border-top:1px solid var(--portal-line);text-decoration:none}
.portal-account-link strong{font-size:17px;font-weight:600}
.portal-account-link span:first-of-type{grid-column:1;color:var(--portal-muted);font-size:14px}
.portal-account-link span:last-of-type{grid-column:2;grid-row:1/3;align-self:center}
.portal-account-link:hover{background:var(--portal-soft)}
.portal-account-actions{padding-top:18px;border-top:1px solid var(--portal-line);display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;font-size:14px}
.portal-account-actions form{margin:0}
.portal-text-button{border:0;padding:0;background:transparent;color:var(--portal-forest);text-decoration:underline;font:inherit}
@media(max-width:360px){
  .portal-wrap{padding-inline:16px}.portal-brand{font-size:16px}.portal-brand-index{display:none}.portal-header-button{padding:8px}
  .portal-cover{height:114px;margin-inline:-16px}.portal-introduction{padding:18px 0 16px}.portal-introduction h1{font-size:30px}.portal-introduction p{font-size:14px}
  .portal-service-row{grid-template-columns:23px minmax(0,1fr) 12px;gap:8px;padding-inline:10px}.portal-row-icon svg{width:23px;height:23px}.portal-row-copy h3{font-size:21px}.portal-row-copy p{line-height:1.4}
  .portal-help-actions{gap:12px}.portal-help-actions a{font-size:13px}.portal-help-actions .portal-request-action{padding-inline:12px}.portal-calendar{display:block}.portal-calendar small{display:block;margin-top:8px}
}
@media(min-width:761px){
  .portal-wrap{padding-inline:36px}.portal-header-inner{min-height:76px;gap:24px}.portal-brand{font-size:20px;letter-spacing:.03em;gap:10px}.portal-brand-mark{width:32px;height:32px;font-size:24px}.portal-brand-index{font-size:20px}
  .portal-header-actions{gap:12px}.portal-header-button{padding:9px 14px;font-size:14px}.portal-service-switcher{position:relative}.portal-service-menu{top:calc(100% + 12px);right:0}
  .portal-cover{height:290px;margin:28px 0 0}.portal-cover img{object-position:50% 74%}.portal-cover figcaption{right:16px;bottom:12px;padding:5px 9px}
  .portal-introduction{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:end;padding:26px 0 24px}.portal-introduction h1,.portal-account-page h1{font-size:48px;line-height:1.07;margin:0}.portal-introduction p{max-width:370px;font-size:17px;margin-bottom:3px}
  .portal-service-list{grid-template-columns:1fr 1fr;gap:28px}.portal-service-row{grid-template-columns:36px minmax(0,1fr) 20px;gap:14px;padding:22px 16px}.portal-help-row{border-bottom:1px solid #c1cfb0}
  .portal-row-icon svg{width:30px;height:30px}.portal-row-copy h3{font-size:24px;margin-bottom:8px}.portal-row-copy p{font-size:15px;margin-bottom:12px}.portal-help-row .portal-row-copy p{margin-bottom:0}.portal-row-status{margin-bottom:6px}.portal-row-chevron{width:18px;height:18px;margin-top:29px}
  .portal-help-actions{gap:16px;margin-top:2px}.portal-help-actions .portal-request-action{padding-inline:16px}.portal-shared-account{padding:16px 0 26px}
  .portal-calendar{padding:22px 0;gap:16px}.portal-calendar h2{font-size:20px}.portal-calendar p{font-size:14px}.portal-about,.portal-help-guide,.portal-faq{padding:26px 0 40px}.portal-about h2{font-size:29px}.portal-about>p{font-size:15px}
  .portal-help-guide ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.portal-faq{display:grid;grid-template-columns:.85fr 1.25fr;gap:36px}.portal-page .legal-links{padding-inline:36px}.portal-account-page{padding-block:28px 44px}
}
@media(prefers-reduced-motion:reduce){.portal-page *,.portal-page *::before,.portal-page *::after{scroll-behavior:auto!important}}
