/* Layout and typography preserved from the approved Momo prototype. */
[hidden]{display:none!important}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}button,input,select{font:inherit;color:inherit}button{background:transparent}input,select{margin:0}h2,h3{font-size:inherit}
:root{--background:#fff;--foreground:#202124;--primary:#242528;--primary-foreground:#fff;--border:#e8e8e9;--input:#d7d7da;--ring:#777;--popover:#fff;--muted-foreground:#717176;--accent:#f3f3f4;--radius:.375rem}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;color:var(--foreground);background:#fff;font-family:'Apple SD Gothic Neo','Malgun Gothic',Arial,sans-serif;font-size:16px;line-height:1.85;word-break:keep-all;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{outline-offset:5px}button,a{touch-action:manipulation}button{cursor:pointer;border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550}header,main,footer{width:calc(100% - 96px);max-width:1024px;margin-inline:auto}.header{height:106px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:inherit;font-size:27px;letter-spacing:-.04em;font-weight:700}.hero{padding:40px 0 90px;max-width:820px}.meta{font-size:14px;color:#85858a;margin-bottom:25px}.hero h1{font-size:clamp(2.25rem,4.4vw,3.55rem);font-weight:550;letter-spacing:-.052em;line-height:1.38}.voices{margin-top:34px;color:#88888d;font-size:16px;line-height:1.85}.voices p+p{margin-top:5px}.hero-offer{margin-top:44px;max-width:715px}.hero-offer h2{font-size:19px;letter-spacing:-.035em;line-height:1.65;font-weight:550}.hero-offer>p{font-size:16px;color:#65666c;line-height:1.9;margin-top:13px}.primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;background:#242528;color:#fff;border:1px solid #242528;border-radius:6px;font-size:14px;font-weight:500;line-height:1.5;margin-top:26px;transition:background .15s}.primary:hover{background:#414248}.hero-offer .small-note{font-size:13px;color:#949499;line-height:1.8;margin-top:14px}.section{border-top:1px solid var(--border);padding:64px 0;display:grid;grid-template-columns:240px minmax(0,1fr);gap:60px;scroll-margin-top:30px}.section h2{font-size:22px;line-height:1.65;letter-spacing:-.04em;font-weight:550}.prose{max-width:665px}.prose p{color:#626369;font-size:16px;line-height:1.95}.prose p+p{margin-top:23px}.prose .signature{font-size:14px;color:#939398;margin-top:28px}.steps{list-style:none;counter-reset:step;margin:0;padding:0;max-width:665px}.steps li{counter-increment:step;position:relative;padding-left:35px}.steps li:before{content:counter(step);position:absolute;left:0;top:1px;font-size:14px;line-height:1.85;color:#aaaab0;font-variant-numeric:tabular-nums}.steps li+li{margin-top:29px}.steps h3{font-size:16px;line-height:1.85;font-weight:550;letter-spacing:-.02em}.steps p{font-size:16px;color:#76777d;margin-top:7px;line-height:1.9}.lives{margin:0 0 25px;padding:0;list-style:none;line-height:2.2;font-size:17px;color:#4f5056}.promises a,.prose a,footer a{color:#45464d;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#bbb}.join{padding-bottom:50px}.join-note{font-size:14px;line-height:1.85;color:#939398;margin-top:17px}.interest-form{max-width:510px;min-width:0}.demo-label{font-size:12px;color:#909097;margin-bottom:23px;line-height:1.7}.field-label{display:block;font-size:14px;color:#55565e;margin-bottom:8px}.field-label>span{font-size:12px;color:#a0a0a5;margin-left:7px}.interest-form input{width:100%;min-height:49px;border:1px solid #dadade;border-radius:6px;background:#fff;padding:12px 14px;font-size:16px;color:#333}.interest-form input::placeholder{color:#aaaab0}.field-help{font-size:13px;color:#94949c;line-height:1.8;margin-top:11px}.adult-check{display:flex;gap:10px;align-items:center;font-size:13px;color:#73747b;min-height:32px;cursor:pointer;margin-top:16px}.interest-form .primary{width:100%;margin-top:19px}.interest-form h3{font-size:20px;line-height:1.6;outline:none;letter-spacing:-.025em}.sample-message{font-size:15px;color:#717178;line-height:1.9;margin-top:15px}.optional-divider{border-top:1px solid var(--border);margin:26px 0 17px;padding-top:19px;font-size:13px;color:#929299}.optional-intro{font-size:15px;line-height:1.9;color:#72737a;margin-bottom:20px}.work-label{margin-top:20px}.age-select{width:100%;height:49px;border-color:#dadade;background:#fff;border-radius:6px;font-size:14px}.skip{display:block;background:none;color:#888890;text-decoration:underline;text-underline-offset:4px;font-size:13px;margin:12px auto 0;padding:10px;min-height:44px}.done-panel p{font-size:15px;color:#777;line-height:1.9;margin-top:20px}.done-panel .skip{margin-left:0;padding-left:0}footer{padding:32px 0 24px;border-top:1px solid var(--border)}footer>p{font-size:13px;line-height:1.9;color:#8c8c92}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:32px;font-size:12px;color:#aaaab0}.footer-bottom>span:first-child{color:#73737a}
@media(max-width:900px){.section{grid-template-columns:190px minmax(0,1fr);gap:40px}.wide-break{display:none}.hero{padding-top:40px}.hero h1{font-size:3rem}}
@media(max-width:640px){header,main,footer{width:calc(100% - 44px)}.header{height:83px}.brand{font-size:25px}.hero{padding:24px 0 51px}.meta{font-size:12px;margin-bottom:20px}.hero h1{font-size:clamp(2rem,7.6vw,2.8rem);line-height:1.48;letter-spacing:-.052em}.voices{font-size:14px;line-height:1.85;margin-top:24px}.voices p+p{margin-top:8px}.hero-offer{margin-top:30px}.hero-offer h2{font-size:17px;line-height:1.65}.hero-offer>p{font-size:15px;line-height:1.9}.hero-offer .small-note{font-size:12px;margin-top:13px}.primary{margin-top:23px;font-size:14px}.section{grid-template-columns:1fr;gap:24px;padding:38px 0}.section h2{font-size:20px;line-height:1.6}.section h2 br{display:none}.prose p,.steps p{font-size:15px;line-height:1.95}.prose p+p{margin-top:20px}.prose .signature{font-size:13px;margin-top:23px}.steps li{padding-left:29px}.steps li+li{margin-top:24px}.steps h3{font-size:15px}.steps li:before{font-size:13px}.lives{font-size:16px;line-height:2.15;margin-bottom:23px}.join-note{display:none}.join{gap:22px}.interest-form{max-width:none}.demo-label{font-size:12px;margin-bottom:20px}.adult-check{font-size:12px}.field-help{font-size:12px}.footer-bottom{flex-direction:column;gap:7px;margin-top:25px;font-size:11px}footer>p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary{transition:none}}

.motivations{list-style:none;margin:0 0 30px;padding:0}.motivations li+li{margin-top:25px}.motivations h3{font-size:16px;line-height:1.85;font-weight:550;letter-spacing:-.025em;margin-bottom:7px}.motivations p{color:#76777d}.hero-offer h2{max-width:640px}
@media(max-width:640px){.motivations h3{font-size:15px}.motivations li+li{margin-top:23px}}

/* Native controls replace the React UI components. */
.interest-form input[type="checkbox"]{width:16px;height:16px;min-height:16px;flex:0 0 16px;padding:0;accent-color:#242528;cursor:pointer}
.age-select{border:1px solid #dadade;padding:0 12px;color:#55565e;font-family:inherit}
.age-select:has(option[value=""]:checked){color:#929299}
.primary:disabled{cursor:not-allowed;opacity:.55}
:focus-visible{outline:2px solid #777;outline-offset:4px}

/* 신청 버튼 안내와 측정 동의 UI. 신청 버튼을 가리지 않는다. */
.interest-form>.field-help{margin-top:0}.interest-form .primary:disabled{cursor:not-allowed;opacity:.55}
.measurement{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);color:#8c8c92;font-size:13px;line-height:1.85}.measurement summary{cursor:pointer;color:#73737a}.measurement p{margin:12px 0}.measurement a{color:#45464d;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#bbb}.measurement button{min-height:40px;padding:8px 14px;border:1px solid #cfcfd3;border-radius:6px;background:#fff;color:#242528;font-size:13px;cursor:pointer}.measurement button:focus-visible{outline:2px solid #242528;outline-offset:3px}
.measurement .awaiting-choice{position:fixed;bottom:16px;left:16px;right:16px;max-width:560px;margin:auto;padding:16px 20px;background:#fff;border:1px solid #d7d7da;border-radius:10px;box-shadow:0 4px 20px #0002;z-index:10}.measurement .awaiting-choice p{margin-top:0}
