/* PX-05 public information: the existing palette, brand and control styles. */
.public-site .public-header,.public-site .main,.public-footer{max-width:1240px;margin:0 auto}
.public-site .public-header{padding:32px 48px;gap:24px;flex-wrap:wrap}
.public-header nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.public-header nav>a:not(.button){font-size:14px;text-decoration:underline;text-underline-offset:4px}
.public-header nav .button{font-size:14px}
.public-site .main{padding:28px 48px 0}
.public-footer{padding:32px 48px 24px;margin-top:0}
.public-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding:28px 0 64px}
.public-hero h1{font-size:clamp(44px,5.3vw,70px);line-height:1.04;letter-spacing:-3px;margin:20px 0 24px}
.public-hero h1 em{font-style:normal;color:var(--red)}
.public-intro{font-size:19px;line-height:1.65;color:var(--muted);max-width:520px}
.public-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:28px}
.public-actions>.button{display:inline-flex;align-items:center;gap:28px}
.public-actions>a:not(.button){font-size:14px;text-decoration:underline;text-underline-offset:4px}
.public-access-note{font-size:13px;color:var(--muted);margin-top:18px}
.public-story{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:12px 32px;box-shadow:0 10px 35px #28342908}
.public-story>div{padding:24px 0}
.public-story>div+div{border-top:1px solid var(--line)}
.public-step{font-size:12px;letter-spacing:1.2px;color:var(--red);font-weight:750}
.public-story h2{font-size:27px;letter-spacing:-.8px;margin:14px 0 10px}
.public-story p{font-size:15px;color:var(--muted);line-height:1.65;margin:0;max-width:330px}
.public-how{border-top:1px solid var(--line);padding:44px 0}
.public-section-heading h2,.public-availability h2{font-size:30px;letter-spacing:-1px;margin:10px 0 20px}
.public-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:28px}
.public-feature-grid h3,.public-access-help h3{font-size:17px;margin:0 0 12px}
.public-feature-grid p,.public-availability p{font-size:15px;line-height:1.7;color:var(--muted)}
.public-availability{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;margin:10px 0 0;padding:32px}
.public-access-help{border-left:1px solid var(--line);padding-left:32px}
.public-access-help .button{margin:8px 0 12px}
.public-notice{margin:24px auto 40px}
.public-notice .page-heading p{max-width:640px}
.public-notice .panel{margin-top:24px}
.public-notice-end{padding:8px 0;font-size:14px;line-height:1.7}
.public-site :is(a,button,summary):focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(max-width:800px){
  .public-site .public-header{padding:24px;gap:22px}
  .public-site .main{padding:12px 24px 0}
  .public-footer{padding:28px 24px 22px;gap:12px}
  .public-hero{grid-template-columns:1fr;gap:26px;padding:20px 0 36px}
  .public-hero h1{letter-spacing:-2px;margin-top:15px}
  .public-intro{font-size:17px}
  .public-story{padding:0 24px}
  .public-story h2{font-size:25px}
  .public-how{padding:32px 0 18px}
  .public-feature-grid{grid-template-columns:1fr;gap:16px}
  .public-feature-grid p{margin-top:0}
  .public-availability{grid-template-columns:1fr;gap:18px;padding:24px}
  .public-access-help{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}
  .public-notice{margin-top:15px}
}
@media(max-width:400px){
  .public-site .public-header,.public-site .main,.public-footer{padding-left:18px;padding-right:18px}
  .public-header nav{gap:18px}
  .public-header nav .button{padding-left:14px;padding-right:14px}
  .public-hero h1{font-size:42px}
  .public-section-heading h2,.public-availability h2{font-size:26px}
  .public-story,.public-availability{padding-left:20px;padding-right:20px}
}
