@font-face{font-family:Outfit;src:url('/assets/outfit-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;--forest:#143a21;--forest-hover:#235332;--mint:#e6f5d8;--paper:#f7f9f3;--muted:#6b7868;--line:#e3e9dd;--white:#fff;font-family:'Trebuchet MS',sans-serif;color:var(--forest);background:var(--paper);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100svh;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
a{color:inherit;text-underline-offset:4px}
a:focus-visible,button:focus-visible{outline:3px solid var(--forest);outline-offset:5px}
[hidden]{display:none!important}
.gate-page{display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#edf4e7 0, var(--paper) 66%)}
.site-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:32px 52px;gap:20px}
.brand{display:inline-flex;align-items:center;text-decoration:none}
.brand img{width:62px;height:40px;display:block;object-fit:contain}
.header-note{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;letter-spacing:.02em}
.status-dot{width:6px;height:6px;border-radius:50%;background:#719657}
.gate-layout{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:35px 22px 55px}
.welcome-label{font-size:10px;font-weight:700;letter-spacing:.2em;margin-bottom:23px;color:#708467;text-align:center}
.gate-card{width:100%;max-width:490px;padding:39px 43px 0;background:var(--white);border:1px solid var(--line);border-radius:25px;text-align:center;box-shadow:0 20px 60px -30px #36502424;overflow:hidden}
.age-badge{display:flex;align-items:center;justify-content:center;position:relative;width:100px;height:100px;margin:0 auto 29px;background:var(--mint);border-radius:50%;font-family:Outfit,sans-serif;font-weight:700;font-size:43px;letter-spacing:-.055em}
.age-badge>span{font-size:27px;align-self:center;margin-top:-12px;margin-left:2px}
.age-badge>svg:not(.result-icon){position:absolute;right:-2px;bottom:0;width:31px;height:31px;background:var(--forest);color:var(--mint);border-radius:50%;padding:6px;outline:4px solid var(--white)}
.eyebrow{font-size:9px;font-weight:700;letter-spacing:.12em;margin:0 0 13px;color:#738366;line-height:1.5}
h1,h2{font-family:Outfit,'Trebuchet MS',sans-serif;font-weight:700}
h1{font-size:34px;line-height:1.18;letter-spacing:-.035em;margin:0 0 17px}
.lead{font-size:14px;line-height:1.75;color:var(--muted);margin:0 auto 29px;max-width:355px}
.actions{display:grid;gap:11px}
.button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:54px;padding:14px 20px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;transition:background-color .18s,transform .18s,border-color .18s}
.button:active{transform:translateY(1px)}
.button-primary{background:var(--forest);border:1px solid var(--forest);color:var(--white)}
.button-primary svg{width:19px;height:19px}
.button-primary:hover{background:var(--forest-hover);border-color:var(--forest-hover)}
.button-primary:disabled{cursor:wait;opacity:.7}
.button-secondary{border:1px solid var(--line);background:var(--white);color:#65705f;font-weight:400;min-height:48px;font-size:13px}
.button-secondary:hover{background:#f4f8ef;border-color:#bac9ad;color:var(--forest)}
.consent-note{font-size:10px;line-height:1.7;color:#7c8575;margin:19px 20px 25px}
.card-footer{display:flex;justify-content:center;align-items:center;gap:7px;border-top:1px solid #edf0e8;padding:18px 0;font-size:10px;color:#71806b}
.card-footer svg{width:14px;height:14px;flex-shrink:0}
.below-card{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#79876f;margin-top:22px;text-align:center}
.small-shield{display:inline-flex}.small-shield svg{width:14px;height:14px}
.variant{font-size:10px;letter-spacing:.06em;margin:12px 0 0;color:#75866b}
.variant-navigation{max-width:460px;margin-top:24px;text-align:center}
.variant-navigation p{margin:0 0 10px;font-size:11px;color:var(--muted)}
.variant-navigation ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}
.variant-navigation a{display:flex;align-items:center;justify-content:center;min-width:52px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--forest);font-size:12px;text-decoration:none}
.variant-navigation a:hover{border-color:var(--forest)}
.variant-navigation a[aria-current="page"]{background:var(--forest);border-color:var(--forest);color:var(--white)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 52px;padding:24px 0;border-top:1px solid #e2e9dc;font-size:11px;color:#7c8674}
.site-footer p{margin:0}.site-footer nav{display:flex;align-items:center;gap:16px}
.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline;color:var(--forest)}
.result{padding-bottom:38px}.result .lead{margin-bottom:16px}.result .age-badge{margin-bottom:27px}.result-icon{width:42px;height:42px}
.result-note,.notice{font-size:12px;line-height:1.7;color:var(--muted)}
.text-button{background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:var(--forest);font-size:12px;padding:15px;cursor:pointer;margin-top:10px}
.legal-page{display:flex;flex-direction:column}
.legal-layout{width:min(760px,100%);padding:35px 24px 65px;margin:0 auto;flex:1}
.legal-layout .variant-navigation{max-width:none}
.back-link{display:inline-block;font-size:12px;text-decoration:none;margin-bottom:25px;color:var(--muted)}
.back-link:hover{color:var(--forest)}
.legal-card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:42px}
.legal-card h1{margin-bottom:27px}.legal-card h2{font-size:19px;letter-spacing:-.015em;margin:30px 0 10px}
.legal-card p,.legal-card li{font-size:14px;line-height:1.85;color:var(--muted)}
.legal-card p:first-of-type{margin-top:0}.legal-card ul{padding-left:20px}.legal-card a{overflow-wrap:anywhere;color:var(--forest)}
.legal-card .legal-note{background:#f3f7ed;border-left:3px solid #b7d49b;padding:16px 20px;font-size:12px;border-radius:0 6px 6px 0}
.page-date{font-size:11px!important;border-top:1px solid var(--line);padding-top:22px;margin-top:32px!important}
@media(prefers-reduced-motion:no-preference){.gate-card{animation:arrive .45s ease-out both}.welcome-label{animation:arrive .4s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media(min-width:1500px){.site-header{padding:40px 65px}.site-footer{margin:0 65px}.gate-card{max-width:510px;padding:44px 48px 0}.result{padding-bottom:44px}}
@media(max-width:600px){.site-header{padding:24px;gap:12px}.header-note{font-size:10px;gap:6px}.gate-layout{padding:24px 18px 39px}.welcome-label{font-size:9px;letter-spacing:.14em;margin-bottom:19px}.gate-card{padding:31px 26px 0;border-radius:21px}h1{font-size:30px}.age-badge{width:86px;height:86px;font-size:39px;margin-bottom:25px}.lead{font-size:13px}.consent-note{margin-left:6px;margin-right:6px}.site-footer{margin:0 24px;padding:22px 0;flex-direction:column;gap:15px}.legal-layout{padding:18px 18px 40px}.legal-card{padding:28px 24px;border-radius:18px}.result{padding-bottom:28px}}
@media(max-width:350px){.header-note{display:none}.gate-card{padding-left:20px;padding-right:20px}.button{font-size:13px}.below-card{font-size:10px}h1{font-size:27px}}
