/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--navy:#1a2744;--navy-deep:#0f1a30;--navy-mid:#243358;--cream:#faf7f2;--cream-warm:#f5f0e8;--gold:#c9a96e;--gold-light:#e8d5b0;--gold-muted:#a08050;--sage:#7a9e8a;--sage-light:#b8d4c8;--rose:#d4806a;--white:#fff;--text-dark:#1a2744;--text-mid:#4a5568;--text-light:#8a9ab0;--border-gold:#c9a96e33;--radius:.75rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--background:oklch(98% .005 80);--foreground:oklch(18% .04 260);--card:oklch(100% 0 0);--card-foreground:oklch(18% .04 260);--popover:oklch(100% 0 0);--popover-foreground:oklch(18% .04 260);--primary:oklch(18% .04 260);--primary-foreground:oklch(100% 0 0);--secondary:oklch(95% .02 80);--secondary-foreground:oklch(18% .04 260);--muted:oklch(95% .02 80);--muted-foreground:oklch(50% .03 260);--accent:oklch(75% .1 75);--accent-foreground:oklch(18% .04 260);--destructive:oklch(60% .2 20);--destructive-foreground:oklch(100% 0 0);--border:oklch(88% .03 80);--input:oklch(88% .03 80);--ring:oklch(75% .1 75);--sidebar-background:oklch(12% .04 260);--sidebar-foreground:oklch(88% .02 260);--sidebar-primary:oklch(75% .1 75);--sidebar-primary-foreground:oklch(18% .04 260);--sidebar-accent:oklch(20% .04 260);--sidebar-accent-foreground:oklch(88% .02 260);--sidebar-border:oklch(20% .04 260);--sidebar-ring:oklch(75% .1 75)}@layer base{*,:before,:after{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*,:before,:after{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}*,:before,:after{box-sizing:border-box}html{background-color:var(--cream);scroll-behavior:smooth;overflow-x:hidden}body{background-color:var(--background);color:var(--text-dark);background-color:var(--cream);-webkit-font-smoothing:antialiased;font-family:DM Sans,Noto Sans KR,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--navy);letter-spacing:0;font-family:Cormorant Garamond,serif;font-weight:500;line-height:1.15}button:not(:disabled),[role=button]:not([aria-disabled=true]),[type=button]:not(:disabled),[type=submit]:not(:disabled),a[href],select:not(:disabled){cursor:pointer}}@layer components{.container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (max-width:640px){.container{padding-left:1.25rem;padding-right:1.25rem}}.flex{min-width:0;min-height:0}.ko{font-family:Noto Sans KR,sans-serif;font-weight:300}.ko-sub{color:var(--text-light);letter-spacing:0;margin-top:.2em;font-family:Noto Sans KR,sans-serif;font-size:.875em;font-weight:300;display:block}.section-label{letter-spacing:.16em;text-transform:uppercase;color:var(--gold-muted);align-items:center;gap:10px;margin-bottom:20px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:700;display:inline-flex}.section-label:before{content:"";background:var(--gold);flex-shrink:0;width:24px;height:1px;display:block}.section-label-center{justify-content:center}.section-label-light{color:var(--gold)}.section-label-light:before{background:var(--gold)}.section-title{color:var(--navy);margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:clamp(36px,4vw,52px);font-weight:500;line-height:1.15}.section-title em{color:var(--gold-muted);font-style:italic}.section-title-light{color:var(--white)}.section-title-light em{color:var(--gold)}.section-subtitle{color:var(--text-mid);max-width:560px;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.8}.hero-eyebrow{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;background:#c9a96e1f;border:1px solid #c9a96e4d;border-radius:100px;align-items:center;gap:8px;width:fit-content;margin-bottom:32px;padding:6px 16px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;display:inline-flex}.btn-primary{background:var(--gold);color:var(--navy-deep);letter-spacing:.04em;cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;padding:16px 36px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;box-shadow:0 8px 32px #c9a96e59}.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 12px 40px #c9a96e73}.btn-ghost{color:#fffc;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.btn-ghost:hover{color:var(--gold)}.btn-ghost:after{content:"→";font-size:16px}.btn-navy{background:var(--navy);color:var(--white);letter-spacing:.04em;cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;padding:14px 32px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.btn-navy:hover{background:var(--gold-muted);transform:translateY(-1px)}.btn-cta-gold{background:var(--gold);color:var(--navy);letter-spacing:.04em;cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;padding:18px 44px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;box-shadow:0 8px 40px #c9a96e66}.btn-cta-gold:hover{transform:translateY(-3px);box-shadow:0 16px 50px #c9a96e80}.btn-cta-outline{color:#ffffffd9;letter-spacing:.04em;cursor:pointer;background:0 0;border:2px solid #ffffff40;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;padding:18px 44px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.btn-cta-outline:hover{border-color:var(--white);color:var(--white)}.price-cta-outline{text-align:center;letter-spacing:.04em;border:2px solid var(--navy);color:var(--navy);cursor:pointer;background:0 0;border-radius:100px;padding:14px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;text-decoration:none;transition:all .25s;display:block}.price-cta-outline:hover{background:var(--navy);color:var(--white)}.price-cta-filled{text-align:center;letter-spacing:.04em;background:var(--gold);color:var(--navy);cursor:pointer;border:none;border-radius:100px;padding:14px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;text-decoration:none;transition:all .25s;display:block;box-shadow:0 8px 24px #c9a96e66}.price-cta-filled:hover{background:var(--gold-light);transform:translateY(-1px)}.program-card{border:1px solid var(--border-gold);cursor:pointer;background:var(--cream);border-radius:20px;padding:36px 28px;transition:all .35s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.program-card:before{content:"";background:linear-gradient(90deg,var(--gold),var(--sage));transform-origin:0;height:3px;transition:transform .35s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.program-card:hover{border-color:var(--gold-light);transform:translateY(-8px);box-shadow:0 24px 60px #1a27441a}.program-card:hover:before{transform:scaleX(1)}.program-icon{background:var(--navy);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:24px;font-size:26px;display:flex}.program-title{color:var(--navy);margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600}.program-ko{color:var(--text-light);margin-bottom:16px;font-family:Noto Sans KR,sans-serif;font-size:12px;font-weight:300}.program-desc{color:var(--text-mid);font-family:DM Sans,sans-serif;font-size:14px;line-height:1.7}.why-feature{background:var(--white);border:1px solid var(--border-gold);border-radius:16px;align-items:flex-start;gap:20px;padding:24px;transition:all .25s;display:flex}.why-feature:hover{border-color:var(--gold-light);box-shadow:0 8px 32px #1a274412}.why-feature-icon{background:linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.why-feature-text h4{color:var(--navy);margin-bottom:6px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700}.why-feature-text p{color:var(--text-mid);font-family:DM Sans,sans-serif;font-size:13px;line-height:1.65}.review-card{background:#ffffff0d;border:1px solid #ffffff14;border-radius:20px;padding:36px;transition:all .3s}.review-card:hover{background:#ffffff14;border-color:#c9a96e4d;transform:translateY(-4px)}.review-stars{color:var(--gold);letter-spacing:2px;margin-bottom:20px;font-size:14px}.review-text{color:#ffffffbf;margin-bottom:28px;font-family:DM Sans,sans-serif;font-size:15px;font-style:italic;line-height:1.8}.review-author{align-items:center;gap:14px;display:flex}.review-avatar{background:linear-gradient(135deg,var(--gold),var(--gold-muted));width:44px;height:44px;color:var(--navy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.review-author-info strong{color:var(--white);font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;display:block}.review-author-info span{color:#fff6;font-family:DM Sans,sans-serif;font-size:12px}.price-card{background:var(--white);border:1px solid var(--border-gold);border-radius:24px;padding:40px 36px;transition:all .3s;position:relative}.price-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px #1a27441a}.price-card-featured{background:var(--navy);border-color:var(--gold);box-shadow:0 32px 80px #1a274440}.price-badge{background:var(--gold);color:var(--navy);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:100px;padding:6px 20px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:800;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.price-plan{letter-spacing:.12em;text-transform:uppercase;color:var(--gold-muted);margin-bottom:12px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700}.price-plan-featured{color:var(--gold)}.price-amount{color:var(--navy);margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:52px;font-weight:600;line-height:1}.price-amount-featured{color:var(--white)}.price-period{color:var(--text-light);margin-bottom:8px;font-family:DM Sans,sans-serif;font-size:13px}.price-period-featured{color:#fff6}.price-ko{color:var(--text-light);margin-bottom:28px;font-family:Noto Sans KR,sans-serif;font-size:11px;font-weight:300}.price-ko-featured{color:#ffffff59}.price-divider{background:var(--border-gold);height:1px;margin:24px 0}.price-divider-featured{background:#ffffff1a}.price-features{flex-direction:column;gap:12px;margin-bottom:36px;padding:0;list-style:none;display:flex}.price-features li{color:var(--text-mid);align-items:flex-start;gap:10px;font-family:DM Sans,sans-serif;font-size:14px;display:flex}.price-features-featured li{color:#ffffffb3}.price-features li:before{content:"✓";color:var(--sage);flex-shrink:0;margin-top:1px;font-weight:700}.price-features-featured li:before{color:var(--gold)}.scholarship-note{text-align:center;background:linear-gradient(135deg,#7a9e8a1a,#c9a96e14);border:1px solid #7a9e8a40;border-radius:16px;max-width:600px;margin-top:48px;margin-left:auto;margin-right:auto;padding:24px 32px}.scholarship-note strong{color:var(--sage);font-family:DM Sans,sans-serif;font-size:14px}.scholarship-note p{color:var(--text-mid);margin-top:6px;font-family:DM Sans,sans-serif;font-size:13px}[data-reveal]{transition:opacity .6s,transform .6s}@keyframes reveal-fallback{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.animate-on-scroll{animation:.7s .1s forwards reveal-fallback}.ticker-bar{background:var(--gold);padding:14px 0;display:flex;overflow:hidden}.ticker-track{white-space:nowrap;gap:48px;animation:20s linear infinite ticker;display:flex}.ticker-track span{letter-spacing:.12em;text-transform:uppercase;color:var(--navy);font-family:DM Sans,sans-serif;font-size:12px;font-weight:700}.ticker-dot{color:#1a274466;font-size:10px}.announcement-bar{background:var(--navy);color:var(--gold-light);text-align:center;letter-spacing:.06em;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:13px}.announcement-bar a{color:var(--gold);font-weight:600;text-decoration:none}.cta-band{background:linear-gradient(135deg,var(--navy)0%,var(--navy-mid)60%,var(--sage)100%);text-align:center;padding:100px 0;position:relative;overflow:hidden}.cta-band:before{content:"해피 플러스 아카데미";color:#ffffff08;white-space:nowrap;letter-spacing:-4px;pointer-events:none;margin-top:-60px;font-family:Noto Sans KR,sans-serif;font-size:120px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%)}.edu-card{background:var(--white);border:1px solid var(--border-gold);border-radius:20px;transition:box-shadow .25s,transform .25s;box-shadow:0 2px 12px #1a27440f}.edu-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #1a27441a}.stat-card{background:var(--white);border:1px solid var(--border-gold);border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 2px 8px #1a27440f}.section-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--gold-muted);background:#c9a96e1f;border:1px solid #c9a96e4d;border-radius:9999px;align-items:center;gap:.375rem;margin-bottom:1rem;padding:.35rem .875rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:700;display:inline-flex}.section-badge-gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.section-badge-sage{color:var(--sage);background:#7a9e8a1f;border-color:#7a9e8a4d}.testimonial-card{background:var(--white);border:1px solid var(--border-gold);border-radius:20px;padding:1.5rem;box-shadow:0 2px 8px #1a27440f}.edu-input{background:var(--white);width:100%;color:var(--text-dark);border:1.5px solid #c9a96e4d;border-radius:.625rem;outline:none;padding:.625rem .875rem;font-family:DM Sans,sans-serif;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.edu-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a96e26}.edu-input::placeholder{color:var(--text-light)}.app-sidebar{background:var(--navy-deep);color:#ffffffd9}.page-header{margin-bottom:1.5rem}.page-header h1{color:var(--navy);font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600}.page-header p{color:var(--text-mid);margin-top:.25rem;font-family:DM Sans,sans-serif;font-size:.9rem}.progress-bar-track{background:#c9a96e26;border-radius:9999px;height:8px;overflow:hidden}.progress-bar-fill{background:var(--gold);border-radius:9999px;height:100%;transition:width .6s}.progress-bar-fill-sage{background:var(--sage)}.progress-bar-fill-navy{background:var(--navy)}.badge-gold{color:var(--gold-muted);background:#c9a96e1f;border:1px solid #c9a96e4d;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .625rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.badge-sage{color:var(--sage);background:#7a9e8a1f;border:1px solid #7a9e8a4d;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .625rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.badge-navy,.badge-indigo{color:var(--navy);background:#1a274414;border:1px solid #1a274426;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .625rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.badge-amber{color:var(--gold-muted);background:#c9a96e1f;border:1px solid #c9a96e4d;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .625rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.badge-emerald{color:var(--sage);background:#7a9e8a1f;border:1px solid #7a9e8a4d;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .625rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.section-badge-amber{background:var(--gold);color:var(--navy);border-color:var(--gold)}.section-badge-emerald{color:var(--sage);background:#7a9e8a1f;border-color:#7a9e8a4d}.fade-up{opacity:0;transition:opacity .7s,transform .7s;animation:.7s 1.2s forwards reveal-fallback;transform:translateY(24px)}.fade-up.visible{opacity:1;animation:none;transform:translateY(0)}.fade-up-delay-1{transition-delay:.15s}.fade-up-delay-2{transition-delay:.3s}.fade-up-delay-3{transition-delay:.45s}.fade-up-delay-4{transition-delay:.6s}.feature-item{align-items:flex-start;gap:.75rem;padding:.75rem 0;display:flex}.feature-item-icon{width:2rem;height:2rem;color:var(--gold-muted);background:#c9a96e1f;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes badge-shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.55}}.reviews-badge-skeleton{background:linear-gradient(90deg,#c9a96e14 25%,#c9a96e38,#c9a96e14 75%) 0 0/200% 100%;border-radius:9999px;animation:1.6s ease-in-out infinite badge-shimmer}.reviews-badge-skeleton-dark{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1f,#ffffff0a 75%) 0 0/200% 100%;border-radius:9999px;animation:1.6s ease-in-out infinite badge-shimmer}@keyframes badge-reveal{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.reviews-badge-loaded{animation:.35s forwards badge-reveal}.resp-grid-2,.resp-grid-contact{grid-template-columns:1fr!important;gap:2rem!important;display:grid!important}@media (min-width:768px){.resp-grid-2{grid-template-columns:1fr 1fr!important;gap:4rem!important}.resp-grid-contact{grid-template-columns:1fr 1.5fr!important;gap:4rem!important}}.hero-image-col{display:none!important}@media (min-width:768px){.hero-image-col{justify-content:center;position:relative;display:flex!important}}.hero-grid{align-items:center;grid-template-columns:1fr!important;gap:2rem!important;display:grid!important}@media (min-width:768px){.hero-grid{grid-template-columns:1fr 1fr!important;gap:4rem!important}}.calc-wrapper{padding:1.5rem!important}@media (min-width:640px){.calc-wrapper{padding:2.5rem!important}}.form-row-2{grid-template-columns:1fr!important;gap:1rem!important;display:grid!important}@media (min-width:640px){.form-row-2{grid-template-columns:1fr 1fr!important}}.stat-bar{flex-wrap:wrap;gap:1.5rem;display:flex}@media (max-width:640px){.section-pad{padding:3rem 0!important}.hero-pad{padding:3rem 1rem 2.5rem!important}}
