/* Public landing only. The shared portal theme and private pages are untouched. */
.landing-page{height:100svh;min-height:420px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-bottom:max(12px,env(safe-area-inset-bottom));overflow-x:hidden}
.landing-page .topbar{flex-wrap:nowrap}
.landing-page .topbar .top-login{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.landing-page .landing{width:calc(100% - 88px);max-width:1400px;height:100%;min-height:0;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:16px 0 4px;text-align:center}
.landing-page h1{font-size:clamp(30px,4.2vw,52px);line-height:1.15;margin:0;text-wrap:balance}
.fish-stage{position:relative;width:100%;height:100%;min-width:0;min-height:0;isolation:isolate}
.fish-stage .hero-emblem{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden;border-radius:0;box-shadow:none}
/* A wider SVG viewport contains the approved oversized impact, with the badge
   maximized against whichever dimension of the available stage is smaller. */
.landing-page .footer{width:calc(100% - 88px);max-width:1400px;padding:16px 0 12px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#impact-sound{display:none}
@media(max-width:640px){
  .landing-page .landing,.landing-page .topbar,.landing-page .footer{width:calc(100% - 48px)}
  .landing-page .landing{padding-top:16px;gap:6px}
  .landing-page h1{font-size:clamp(28px,8.4vw,42px)}
  .landing-page .footer{font-size:8px;padding:14px 0 10px;gap:12px}
}
@media(max-width:350px){
  .landing-page .brand .brand-name{font-size:16px}
  .landing-page .brand{gap:7px}
  .landing-page .brand-logo{width:40px;height:40px}
  .landing-page .topbar{gap:8px}
}
@media(max-height:520px){
  .landing-page{min-height:320px}
  .landing-page .topbar{min-height:64px;padding-block:6px}
  .landing-page .brand-logo{width:44px;height:44px}
  .landing-page .landing{padding-top:8px;gap:3px}
  .landing-page h1{font-size:28px}
  .landing-page .footer{padding:9px 0 4px}
}


/* Public inquiry navigation only; private portal remains unchanged. */
.landing-page .inquiry-nav{display:flex;gap:24px;align-items:center}.landing-page .topbar{flex-wrap:wrap}@media(max-width:480px){.landing-page .inquiry-nav{gap:16px;width:100%;justify-content:flex-end}.landing-page .topbar{padding-bottom:6px;gap:0}}
