/* First screen only. The site's existing pages and click handlers remain intact. */
.selo-hero { position: relative; min-height: 640px; height: 100svh; overflow: hidden; isolation: isolate; background: #fff; }
#selo-field { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.selo-hero-caption { position: absolute; left: max(28px,calc((100% - 1200px)/2)); bottom: 48px; margin: 0; color: #334354; font-size: 15px; font-weight: 450; letter-spacing: -.02em; line-height: 1.5; }
body:not(.not-home) #mainNav { background: #ffffffed; box-shadow: none; backdrop-filter: blur(12px); }
body:not(.not-home) #mainNav .nav-wordmark, body:not(.not-home) #mainNav .nav-links a, body:not(.not-home) #mainNav .program-trigger { color: #122132; }
body:not(.not-home) #mainNav .program-trigger { border-color: #d9dfe5; background: transparent; }
body:not(.not-home) #mainNav .hamburger span { background: #122132; }
body:not(.not-home) #mainNav .nav-logo img { filter: none; }
#home:has(.selo-hero)>.hero-quick { display: none; }
@media(max-width:767px) { .selo-hero { min-height: 520px; } .selo-hero-caption { left: 24px; bottom: 32px; font-size: 13px; } }

.selo-hero-center { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:32px; pointer-events:none; padding:60px 24px 0; }
.selo-hero-center h1 { font-family:Arial,Helvetica,sans-serif; font-size:clamp(76px,9vw,140px); font-weight:500; letter-spacing:-.075em; line-height:1.05; margin:0; color:#102031; }
.selo-hero-actions { display:flex; gap:12px; align-items:flex-start; pointer-events:auto; }
.selo-hero-actions button { font:inherit; font-size:14px; font-weight:500; height:50px; border-radius:28px; padding:0 25px; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:24px; transition:background .18s,box-shadow .18s; }
#selo-app-toggle { background:#142331; color:white; border:1px solid #142331; }
#selo-app-toggle:hover { background:#293d50; }
.selo-hero-actions .selo-contact { background:#ffffffdf; color:#142331; border:1px solid #cdd3d9; min-width:114px; }
.selo-contact:hover { background:#f2f5f7; }
.selo-app-choice { position:relative; }
#selo-app-links { position:absolute; top:60px; left:0; min-width:220px; padding:8px; border:1px solid #e2e6eb; border-radius:18px; background:white; box-shadow:0 12px 40px #182b4012; }
#selo-app-links[hidden] { display:none; }
#selo-app-links a { display:block; padding:15px; color:#142331; font-size:14px; text-decoration:none; border-radius:10px; }
#selo-app-links a:hover { background:#f2f5f7; }
.selo-hero-actions :focus-visible { outline:2px solid #527eaa; outline-offset:4px; }
@media(max-width:767px) { .selo-hero-center { gap:28px; } .selo-hero-actions { gap:10px; } .selo-hero-actions button { padding-inline:20px; font-size:13px; gap:16px; height:48px; } }

/* Typography and control treatment follow the current HACCP Selo control tokens. */
@font-face { font-family:Selo Hero; src:url('/fonts/PretendardVariable.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
.selo-hero-center { padding:0 28px 9svh; gap:48px; }
.selo-hero-center h1 { font-family:Selo Hero,-apple-system,BlinkMacSystemFont,sans-serif; text-align:center; font-size:clamp(40px,4.8vw,76px); font-weight:600; line-height:1.28; letter-spacing:-.035em; color:#202224; }
.selo-title-intro { display:block; font-size:.53em; font-weight:400; letter-spacing:-.025em; color:#50545a; margin-bottom:28px; }
.selo-title-main { display:block; text-wrap:balance; }
.selo-title-name { font-weight:550; letter-spacing:-.04em; white-space:nowrap; }
.selo-hero-actions button { font-family:Selo Hero,-apple-system,sans-serif; font-size:16px; font-weight:600; line-height:24px; border-radius:8px; height:56px; padding:16px 28px; gap:22px; letter-spacing:0; box-shadow:0 1px 2px #0000000d,inset 0 0 0 1px #0000002e,inset 0 -2px #0000000d; }
#selo-app-toggle { background:#202224; border-color:#202224; }
#selo-app-toggle:hover { background:#353739; }
.selo-hero-actions .selo-contact { background:#fff; color:#404040; border-color:#d4d4d4; }
.selo-hero-actions .selo-contact:hover { background:#fafafa; }
.selo-hero-actions button:active { box-shadow:inset 0 1px 3px #00000024; }
#selo-app-links { border-radius:12px; font-family:Selo Hero,-apple-system,sans-serif; }
@media(max-width:767px) {
 .selo-hero-center { padding:0 24px 5svh; gap:36px; }
 .selo-hero-center h1 { font-size:clamp(30px,8.2vw,44px); line-height:1.38; letter-spacing:-.035em; max-width:520px; }
 .selo-title-intro { font-size:20px; margin-bottom:22px; }
 .selo-hero-actions button { font-size:14px; height:52px; padding:14px 20px; gap:14px; }
}
.selo-hero-center h1 { word-break:keep-all; overflow-wrap:normal; }

.selo-hero-actions { gap:16px; }

/* More room around the centered introduction and primary actions. */
.selo-hero-center{gap:64px;}
.selo-title-intro{font-size:clamp(34px,3.2vw,50px);margin-bottom:38px;}
.selo-hero-actions{gap:22px;}
.selo-hero-actions button{height:64px;font-size:18px;padding:18px 34px;}
@media(max-width:767px){
 .selo-hero-center{gap:44px;padding-inline:20px;}
 .selo-title-intro{font-size:clamp(25px,6.6vw,32px);margin-bottom:28px;}
 .selo-hero-actions{gap:14px;}
 .selo-hero-actions button{height:56px;font-size:15px;padding:15px 22px;}
}
