*{box-sizing:border-box}
:root{color-scheme:light;scrollbar-color:#208c49 #eef3ef;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#208c49;background:#fff}
html{min-width:320px;min-height:100%;background:#fff}
body{min-width:320px;min-height:100vh;min-height:100svh;margin:0;display:grid;grid-template-rows:4px minmax(0,1fr) auto;overflow-x:hidden;background:#fff;color:#208c49}
.brand-strip{width:100%;height:4px;background:#208c49}
main{display:grid;place-items:center;width:100%;padding:clamp(1.25rem,5vw,3rem)}
.brand-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1rem,2.8vh,1.6rem);width:min(100%,42rem);margin-inline:auto}
.brand-icon{display:block;width:clamp(6rem,11.1vw,8.1rem);height:auto}
.brand-ter{display:block;width:min(66vw,21.5rem);height:auto}
.portal-intro{max-width:40rem;color:#1f5b38;text-align:center}
.portal-intro h1{margin:0 0 .45rem;color:#208c49;font-size:clamp(1.25rem,2.9vw,1.6rem);font-weight:650;line-height:1.25}
.portal-intro p{margin:0;font-size:clamp(.9rem,1.8vw,1rem);line-height:1.55}
footer{width:100%;padding:1rem 1rem max(1.35rem,env(safe-area-inset-bottom));text-align:center}
footer .development-notice{margin:0;color:#208c49;font-size:.78rem;line-height:1.4}
footer .footer-credit{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.55rem;color:inherit;font-size:.75rem;line-height:1.4;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:color .18s ease,transform .18s ease,text-decoration-color .18s ease}
footer .footer-credit img{display:block;width:14px;height:14px;flex:0 0 14px;object-fit:contain}
footer .footer-credit:hover,footer .footer-credit:focus-visible{color:#208c49;transform:translateY(-1px);text-decoration-color:currentColor}
.language-switch{display:flex;justify-content:center;gap:.8rem;margin:0 0 .55rem;color:#1f5b38;font-size:.72rem;line-height:1.4}
.language-switch a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.18em}
.language-switch a:hover,.language-switch a:focus-visible,.language-switch a[aria-current=page]{text-decoration-color:currentColor}
.language-switch a[aria-current=page]{font-weight:750}
@media(max-width:480px){main{padding:1rem}.brand-stack{gap:clamp(.75rem,2.5vh,1rem)}.brand-icon{width:clamp(4.92rem,25.2vw,6.3rem)}.brand-ter{width:min(68vw,18rem)}footer{padding-top:.75rem}}
