:root{
  --red:#d72d24;--red-deep:#a92019;--orange:#ef7a32;--yellow:#f2b83f;--green:#3d805b;--navy:#18344c;
  --cream:#fff6e4;--paper:#fffdf8;--ink:#2d2925;--muted:#746c64;--line:#eadfce;--white:#fff;
  --shadow:0 18px 50px rgba(95,58,31,.12);--radius:24px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,-apple-system,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6}
body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}
:focus-visible{outline:3px solid rgba(215,45,36,.35);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:14px;top:14px;z-index:999;background:#fff;padding:10px 14px;border-radius:10px}
.topline{height:8px;background:repeating-linear-gradient(90deg,var(--red) 0 30px,#fff0c7 30px 60px,var(--green) 60px 90px,#fff0c7 90px 120px)}
.nav{position:sticky;top:0;z-index:100;background:rgba(255,253,248,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,208,188,.82)}.nav-inner{max-width:var(--max);margin:auto;padding:12px 22px;display:flex;align-items:center;gap:20px}.brand{font-weight:950;letter-spacing:-1px;color:var(--red);font-size:22px;white-space:nowrap}.brand small{color:var(--green);font-size:13px}.nav-links{display:flex;gap:19px;margin-left:auto;font-size:14px;font-weight:850;color:#514b45}.nav-actions{display:flex;gap:8px}.mobile-menu{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 11px}.mobile-panel{display:none}
.btn{border:0;border-radius:999px;padding:12px 20px;font-weight:900;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--red);color:#fff;box-shadow:0 8px 22px rgba(215,45,36,.22)}.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--navy)}.btn-green{background:var(--green);color:#fff}.btn-sm{padding:9px 14px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.hero{background:radial-gradient(circle at 18% 0,#fff4bf 0,transparent 34%),linear-gradient(180deg,#fff2d7 0,#fffaf0 74%,var(--paper) 100%);overflow:hidden}.hero-inner{max-width:var(--max);margin:auto;padding:56px 22px 76px;display:grid;grid-template-columns:1.03fr .97fr;gap:48px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #f1d5a8;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900;color:var(--red)}.hero h1{font-size:clamp(48px,7vw,82px);line-height:.94;letter-spacing:-4px;margin:18px 0 14px;color:var(--navy)}.hero h1 .run{color:var(--red)}.hero .slogan{font-size:28px;font-weight:950;color:var(--green)}.hero-copy{font-size:18px;color:#544d46;max-width:620px}.hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.chip{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 13px;font-size:13px;font-weight:800}.hero-cta{display:flex;gap:10px;flex-wrap:wrap}.hero-art{position:relative}.hero-art:before{content:"";position:absolute;inset:16px -8px -18px 18px;border-radius:40px;background:var(--red);opacity:.09;transform:rotate(2.4deg)}.hero-art img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 38%;border-radius:34px;border:7px solid #fff;box-shadow:var(--shadow)}.hero-note{font-size:12px;color:#8c8074;margin-top:11px}
.marquee{background:var(--red);color:#fff;overflow:hidden;white-space:nowrap;padding:10px 0;font-weight:900}.marquee span{display:inline-block;padding-left:100%;animation:marquee 22s linear infinite}@keyframes marquee{to{transform:translateX(-100%)}}
.section{padding:84px 22px}.section.alt{background:var(--cream)}.wrap{max-width:var(--max);margin:auto}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:32px}.kicker{font-size:13px;color:var(--red);font-weight:950;letter-spacing:.08em;text-transform:uppercase}.section h2{font-size:clamp(34px,4.5vw,44px);line-height:1.08;letter-spacing:-2px;margin:6px 0;color:var(--navy)}.section-desc{max-width:600px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.stat b{display:block;color:var(--red);font-size:24px}.stat span{font-size:13px;color:var(--muted)}
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.flow-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px 18px;min-height:145px}.flow-card:not(:last-child):after{content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);z-index:2;font-weight:950;color:var(--yellow);font-size:22px}.flow-card em{font-style:normal;font-size:12px;color:var(--red);font-weight:950}.flow-card b{display:block;font-size:20px;margin:6px 0}.flow-card span{font-size:13px;color:var(--muted)}
.kit-grid{display:grid;grid-template-columns:1.1fr repeat(2,1fr);gap:16px}.kit-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;overflow:hidden;box-shadow:0 10px 26px rgba(79,51,30,.06)}.kit-card.feature{grid-row:span 2}.kit-card img{width:100%;height:220px;object-fit:contain;border-radius:18px;background:#fff8ee}.kit-card.feature img{height:470px}.kit-card h3{margin:16px 0 4px;font-size:20px;color:var(--navy)}.kit-card p{margin:0;color:var(--muted);font-size:14px}
.howto{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.howto-image{border-radius:26px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.howto-image img{height:540px;width:100%;object-fit:cover}.step-list{display:grid;gap:12px}.step{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.step .num{flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:950}.step b{color:var(--navy)}.step small{color:var(--muted)}
.course-map{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:0 10px 30px rgba(51,42,33,.06)}.course-svg{width:100%;height:auto}.km-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}.km{background:#fff;border-radius:24px;border:1px solid var(--line);overflow:hidden}.km img{width:100%;height:240px;object-fit:cover}.km .body{padding:18px}.tag{display:inline-block;background:var(--red);color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.km h3{margin:10px 0 6px;color:var(--navy)}.km p{margin:0;color:var(--muted);font-size:14px}
.wave-table{width:100%;border-collapse:separate;border-spacing:0 9px}.wave-table td,.wave-table th{padding:16px}.wave-table th{text-align:left;color:var(--muted);font-size:13px}.wave-table tbody tr{background:#fff}.wave-table tbody td:first-child{border-radius:16px 0 0 16px;font-weight:950;color:var(--red)}.wave-table tbody td:last-child{border-radius:0 16px 16px 0}.wave-note{margin-top:12px;color:var(--muted);font-size:13px}
.join-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.join-step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.join-step .n{font-weight:950;color:var(--red);font-size:13px}.join-step h3{margin:8px 0;color:var(--navy)}.join-step p{color:var(--muted);font-size:14px;margin:0}
.register-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:24px}.register-side{background:var(--navy);color:#fff;border-radius:28px;padding:28px;position:sticky;top:96px;height:max-content}.register-side h3{font-size:28px;margin:0 0 8px}.register-side p{color:#dce6ee}.price-box{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.price-box div{background:rgba(255,255,255,.09);padding:14px;border-radius:16px}.price-box b{display:block;font-size:21px;color:#ffd772}.mini-policy{font-size:12px;color:#b9c8d3;border-top:1px solid rgba(255,255,255,.15);padding-top:14px;margin-top:16px}
.register-form{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px}.progress{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:26px}.progress span{height:7px;border-radius:999px;background:#eee5d8}.progress span.active{background:var(--red)}.form-page{display:none}.form-page.active{display:block}.form-page h3{margin:0 0 18px;color:var(--navy);font-size:26px}.subhead{font-size:14px;font-weight:900;color:var(--navy);margin:20px 0 10px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:900;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #dcd2c4;border-radius:14px;padding:13px 14px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(215,45,36,.08)}.field .hint{display:block;color:#8a8077;font-size:12px;margin-top:5px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice{border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;background:#fff}.choice input{margin-right:7px}.choice:has(input:checked){border-color:var(--red);background:#fff7f2}.checkline{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:#5d554d;margin:10px 0}.form-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.summary{background:#fff8e9;border:1px solid #f0d6a7;border-radius:18px;padding:18px}.summary dl{display:grid;grid-template-columns:130px 1fr;gap:8px;margin:0}.summary dt{font-weight:900;color:var(--muted)}.summary dd{margin:0}.notice-box{background:#fff4f1;color:#8d2a22;border:1px solid #f2cfc9;border-radius:14px;padding:12px 14px;font-size:12px;margin-top:12px}.success{display:grid;place-items:center;text-align:center;padding:18px}.success .emoji{font-size:48px}.success .entry{font-size:28px;color:var(--red);font-weight:950}
.family-list{display:grid;gap:12px}.member-card{border:1px solid var(--line);background:#fffdfa;border-radius:18px;padding:16px}.member-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.member-title{font-weight:950;color:var(--navy)}.remove-member{border:0;background:#fff0ed;color:var(--red);border-radius:999px;padding:6px 10px;font-weight:800}.member-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}.member-grid input,.member-grid select{width:100%;border:1px solid #dcd2c4;border-radius:12px;padding:11px}.family-total{display:flex;justify-content:space-between;align-items:center;background:#fff7e8;border:1px solid #f0d8ab;border-radius:16px;padding:14px 16px;font-weight:900;margin-top:12px}
.size-link{border:0;background:transparent;color:var(--red);font-weight:900;text-decoration:underline;text-underline-offset:3px;padding:0}.allergy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.allergy-grid label{border:1px solid var(--line);border-radius:13px;padding:10px;background:#fff}.allergy-grid input{width:auto;margin-right:5px}
.lookup{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.lookup input{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px}.lookup-result{display:none;margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.notice-list{display:grid;gap:10px}.notice-item{display:flex;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}.notice-item b{color:var(--navy)}.notice-item time{white-space:nowrap;color:var(--muted);font-size:13px}.faq{display:grid;gap:10px}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.faq summary{cursor:pointer;font-weight:900;color:var(--navy)}.faq p{color:var(--muted);margin:12px 0 0}
.footer{background:#182c3e;color:#dbe5ec;padding:42px 22px}.footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr auto;gap:20px}.footer b{color:#fff}.footer small{color:#97aabb}.footer a{text-decoration:underline;text-underline-offset:3px}.sticky-mobile{display:none}.toast{position:fixed;right:20px;bottom:22px;z-index:300;background:#1f2d38;color:#fff;padding:12px 16px;border-radius:13px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}
.modal-backdrop{position:fixed;inset:0;background:rgba(20,26,31,.58);z-index:250;display:none;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{background:#fff;border-radius:24px;width:min(820px,96vw);max-height:88vh;overflow:auto;box-shadow:0 28px 90px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-body{padding:22px}.close{border:0;background:#f7f2e9;border-radius:10px;width:38px;height:38px;font-weight:950}.size-tabs{display:flex;gap:8px;margin-bottom:16px}.size-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:900}.size-tab.active{background:var(--red);color:#fff;border-color:var(--red)}.size-table{width:100%;border-collapse:collapse}.size-table th,.size-table td{border:1px solid var(--line);padding:11px;text-align:center}.size-table th{background:#fff5e8}.size-note{font-size:12px;color:var(--muted);margin-top:12px}.measure{background:#f7fbf8;border:1px solid #d8eadf;border-radius:16px;padding:14px;margin-top:14px}.consent-link{color:var(--red);text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px){.nav-links,.nav-actions{display:none}.mobile-menu{display:block}.mobile-panel.open{display:grid;position:fixed;top:65px;left:12px;right:12px;z-index:120;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:12px}.mobile-panel a,.mobile-panel button{padding:13px;border:0;background:#fff;text-align:left;font-weight:850}.hero-inner,.howto,.register-shell{grid-template-columns:1fr}.hero-art{max-width:620px}.stats{grid-template-columns:repeat(2,1fr)}.flow{grid-template-columns:1fr}.flow-card:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-22px}.kit-grid{grid-template-columns:1fr 1fr}.kit-card.feature{grid-row:auto;grid-column:1/-1}.kit-card.feature img{height:400px}.km-grid{grid-template-columns:1fr}.register-side{position:static}.allergy-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.section{padding:64px 16px}.hero-inner{padding:38px 16px 58px}.hero h1{letter-spacing:-2.5px}.section-head{display:block}.section-desc{margin-top:12px}.stats,.kit-grid,.two,.choices,.member-grid{grid-template-columns:1fr}.kit-card.feature{grid-column:auto}.kit-card.feature img{height:330px}.howto-image img{height:390px}.lookup{grid-template-columns:1fr}.register-form,.register-side{padding:20px}.summary dl{grid-template-columns:100px 1fr}.wave-table{font-size:12px}.wave-table td,.wave-table th{padding:11px 8px}.sticky-mobile{display:block;position:fixed;left:14px;right:14px;bottom:14px;z-index:120}.sticky-mobile .btn{width:100%;box-shadow:0 10px 30px rgba(215,45,36,.3)}.footer{padding-bottom:96px}.notice-item{display:block}.notice-item time{display:block;margin-top:5px}}
