:root{--public-paper:#faf7ef;--public-ink:#263f32;--public-muted:#586456;--public-green:#294f3e;--public-line:#d5dbca;--public-radius:10px;--public-width:1160px}
.public-button:focus-visible{outline:3px solid #a35a18;outline-offset:3px}
.public-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 18px;border:1px solid var(--public-green);border-radius:8px;background:var(--public-green);color:#fffdf6!important;font:650 16px/1.4 system-ui,sans-serif;text-decoration:none;cursor:pointer}
.public-button:hover{background:#193c2b;border-color:#193c2b}
.public-button:active{background:#122f20;transform:translateY(1px)}
.public-button--secondary{background:transparent;color:var(--public-green)!important;border-color:#9aaa8e}
.public-button--secondary:hover{background:#e9eddf}
.public-button:disabled,.public-button[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
.public-footer-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.public-footer-links a{display:inline-flex;min-height:44px;align-items:center}
/* The existing illustration and typography remain; actions lead the first screen. */
.portal-main.portal-wrap{max-width:var(--public-width);padding-inline:24px}
.public-hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:28px 0 32px}
.public-hero .portal-introduction{display:block;padding:0}
.public-hero .portal-introduction h1{font-size:clamp(36px,4.3vw,54px);line-height:1.05;margin:0 0 18px}
.public-hero .portal-introduction>p{font-size:17px;line-height:1.55;max-width:470px;margin:0}
.public-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 12px}
.public-hero .portal-introduction .public-beta-note{font-size:14px;line-height:1.45;color:#586456;margin-top:12px;max-width:450px}
.public-hero .portal-cover{margin:0;min-width:0;border-radius:12px;overflow:hidden;position:relative;align-self:stretch;min-height:300px;background:#e7e5d6}
.public-hero .portal-cover picture{height:100%;position:absolute;inset:0}
.public-hero .portal-cover img{object-position:49% 65%}
.public-hero .portal-cover figcaption{position:absolute;right:12px;bottom:12px;margin:0;max-width:calc(100% - 24px);font-size:11px}
.portal-page .portal-services{margin-bottom:0}
.portal-page .portal-helper-action span{display:none}
@media(max-width:760px){
 .portal-main.portal-wrap{padding-inline:16px}
 .public-hero{grid-template-columns:1fr;gap:20px;padding:24px 0}
 .public-hero .portal-introduction h1{font-size:38px;margin-bottom:14px;overflow-wrap:normal}
 .public-hero .portal-introduction>p{font-size:16px}
 .public-hero-actions{margin-top:18px;gap:10px}
 .public-hero-actions .public-button{flex:1 1 auto}
 .public-hero .portal-cover{min-height:140px}
 .public-hero .portal-cover img{object-position:50% 68%}
}
@media(prefers-reduced-motion:reduce){.public-button:active{transform:none}}
