:root{--navy:#082f42;--navy-deep:#041f2d;--blue:#0875e1;--sky:#dceeff;--ink:#102431;--muted:#647986;--line:#dfe8ed;--paper:#f5f9fb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans KR",sans-serif;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{position:absolute;z-index:20;left:0;right:0;top:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.nav-wrap{height:88px;display:flex;align-items:center;gap:52px}.logo{font-size:27px;font-weight:900;letter-spacing:-2px}.logo span{color:#55b8ff}.site-header nav{display:flex;gap:36px;margin-left:auto}.site-header nav a{font-size:14px;font-weight:600;color:#e9f3f8}.nav-cta{border:1px solid rgba(255,255,255,.55);border-radius:26px;padding:11px 20px;font-size:13px;font-weight:700}.menu-button{display:none}.hero{min-height:760px;background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff;position:relative}.hero-inner{min-height:760px;display:flex;flex-direction:column;justify-content:center;padding-top:72px}.eyebrow,.section-label{font-size:12px;font-weight:800;letter-spacing:2.2px;color:var(--blue)}.eyebrow{color:#75c6ff}.eyebrow span{display:inline-block;width:32px;height:2px;background:#75c6ff;margin:0 10px 4px 0}.hero h1{font-size:64px;line-height:1.13;letter-spacing:-4px;margin:18px 0 24px}.hero h1 em{font-style:normal;color:#61bdff}.hero-copy{font-size:18px;line-height:1.8;color:#d8e8ef;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:40px}.primary-button{display:flex;align-items:center;justify-content:space-between;width:225px;background:var(--blue);padding:17px 20px;border-radius:5px;font-size:15px;font-weight:800;box-shadow:0 12px 30px rgba(0,97,211,.3)}.primary-button b{font-size:20px}.text-button{font-size:14px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:5px}.trust-list{list-style:none;display:flex;gap:40px;margin:55px 0 0;padding:0}.trust-list li{display:flex;align-items:center;gap:11px}.trust-list b{font-size:11px;color:#63bdff;border:1px solid rgba(99,189,255,.5);width:32px;height:32px;display:grid;place-items:center;border-radius:50%}.trust-list span{font-size:12px;line-height:1.5;color:#dce9ee}.scroll-hint{position:absolute;right:25px;bottom:38px;font-size:9px;letter-spacing:2px;writing-mode:vertical-rl;color:#d6e6ec}.scroll-hint span{margin-top:12px;font-size:16px}.intro{padding:120px 0}.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:110px}.intro h2,.section-heading h2,.giftcards h2,.faq-section h2,.contact h2{font-size:42px;line-height:1.28;letter-spacing:-2.5px;margin:12px 0}.intro-copy>p{font-size:17px;line-height:1.9;color:var(--muted);margin:35px 0 45px}.numbers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:28px}.numbers div{display:flex;flex-direction:column;gap:8px}.numbers strong{font-size:28px;color:var(--navy)}.numbers span{font-size:12px;color:var(--muted)}.process-section{padding:110px 0;background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-heading p{color:var(--muted);margin-bottom:16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:45px 0 0;margin:0}.steps li{background:white;padding:32px;position:relative;min-height:290px;border:1px solid #eaf0f3;transition:.25s}.steps li:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(21,60,82,.1)}.steps li>span{position:absolute;right:25px;top:22px;color:#a9b9c2;font-size:12px;font-weight:800}.step-icon{width:62px;height:62px;border-radius:18px;background:var(--sky);color:var(--blue);display:grid;place-items:center;font-size:26px;margin:18px 0 42px}.steps h3{font-size:20px;margin:0 0 12px}.steps p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.giftcards{background:var(--navy);color:#fff;padding:115px 0}.gift-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.section-label.light{color:#69c2ff}.giftcards>div>div>p:not(.section-label){color:#b8cbd4;line-height:1.9}.giftcards>div>div>a{display:inline-block;margin-top:25px;color:#6dc7ff;border-bottom:1px solid #6dc7ff;padding-bottom:4px;font-weight:700}.gift-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gift-list article{min-height:145px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:24px;display:flex;flex-direction:column}.gift-list span{color:#60bdfc;font-size:11px}.gift-list b{font-size:19px;margin:auto 0 4px}.gift-list small{color:#88a6b4}.faq-section{padding:115px 0}.faq-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px}.faq-grid>div:first-child>p:last-child{color:var(--muted)}.accordion details{border-top:1px solid var(--line);padding:0 5px}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;cursor:pointer;padding:25px 0;font-weight:700;display:flex;justify-content:space-between}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{color:var(--blue);font-size:22px}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{color:var(--muted);line-height:1.8;margin:0 0 25px;font-size:14px}.contact{padding:0 0 110px}.contact-box{background:linear-gradient(135deg,#0875e1,#0755ad);color:#fff;padding:65px 70px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact-box>div>p:last-child{color:#d7eaff}.contact-actions{display:flex;flex-direction:column;gap:10px}.contact-actions>a{background:#fff;color:var(--navy);padding:17px 20px;display:flex;justify-content:space-between;font-weight:800}.contact-actions>a:nth-child(2){background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3)}.contact-actions small{color:#c9e1f8;margin-top:5px}footer{background:var(--navy-deep);color:#819ca8;padding:50px 0}.footer-grid{display:grid;grid-template-columns:250px 1fr}.footer-logo{font-size:23px;font-weight:900;color:#fff}.footer-grid div>a{font-size:13px;color:#d7e3e8;margin-right:25px}.footer-grid p{font-size:11px;margin:18px 0 0}.floating-contact{position:fixed;right:25px;bottom:25px;width:68px;height:68px;background:var(--blue);color:#fff;border-radius:50%;display:grid;place-items:center;text-align:center;line-height:1.1;font-weight:800;box-shadow:0 8px 25px rgba(0,80,170,.3);z-index:15}.floating-contact span{display:block;font-size:10px;font-weight:500}
@media(max-width:850px){.site-header nav{display:none;position:absolute;top:75px;left:20px;right:20px;background:#fff;color:var(--navy);padding:12px;box-shadow:0 15px 35px rgba(0,0,0,.18)}.site-header nav.open{display:flex;flex-direction:column;gap:0}.site-header nav a{color:var(--navy);padding:12px}.menu-button{display:block;margin-left:auto;color:#fff;border:1px solid rgba(255,255,255,.5);background:transparent;border-radius:4px;padding:7px 10px}.nav-cta{display:none}.nav-wrap{height:75px}.hero,.hero-inner{min-height:680px}.hero h1{font-size:50px}.intro-grid,.gift-grid,.faq-grid{grid-template-columns:1fr;gap:40px}.intro{padding:85px 0}.steps{gap:10px}.steps li{padding:24px}.contact-box{padding:50px;gap:40px}.footer-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:600px){.container{width:min(100% - 28px,520px)}.hero{background-position:60% center}.hero h1{font-size:42px;letter-spacing:-2.5px}.hero-copy{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.trust-list{gap:15px;margin-top:42px}.trust-list li{gap:6px}.scroll-hint{display:none}.intro h2,.section-heading h2,.giftcards h2,.faq-section h2,.contact h2{font-size:34px}.section-heading{display:block}.numbers{gap:10px}.numbers strong{font-size:22px}.steps{grid-template-columns:1fr}.steps li{min-height:220px}.step-icon{margin-bottom:25px}.gift-list{grid-template-columns:1fr}.gift-list article{min-height:120px}.faq-section,.giftcards,.process-section{padding:80px 0}.contact-box{grid-template-columns:1fr;padding:38px 24px}.footer-grid div>a{display:block;margin:0 0 10px}.floating-contact{width:60px;height:60px;right:14px;bottom:14px}}

/* 밝은 화면 테마 */
.site-header{background:rgba(255,255,255,.92);color:var(--navy);border-bottom:1px solid rgba(8,47,66,.12);box-shadow:0 6px 25px rgba(25,71,94,.06);backdrop-filter:blur(12px)}
.site-header nav a{color:var(--navy)}
.nav-cta{color:#fff;background:var(--blue);border-color:var(--blue)}
.hero{color:var(--navy)}
.eyebrow{color:var(--blue)}
.eyebrow span{background:var(--blue)}
.hero h1 em{display:inline-block;color:var(--blue);transform-origin:center;animation:headline-brand-spin 6s cubic-bezier(.55,.08,.35,1) infinite}
@keyframes headline-brand-spin{0%,68%{transform:perspective(700px) rotateY(0deg) scale(1)}82%{transform:perspective(700px) rotateY(180deg) scale(1.04)}96%,100%{transform:perspective(700px) rotateY(360deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.hero h1 em{animation:none}}
.hero-copy{color:#385665;font-weight:500}
.text-button{color:var(--navy);border-bottom-color:rgba(8,47,66,.55)}
.trust-list b{color:var(--blue);background:rgba(255,255,255,.8);border-color:rgba(8,117,225,.35)}
.trust-list span{color:#31505f;font-weight:600}
.scroll-hint{color:#31505f}
@media(max-width:850px){.menu-button{color:var(--navy);border-color:rgba(8,47,66,.35)}}

/* 메인 문구가 오른쪽 이미지 영역을 침범하지 않도록 제한 */
.hero h1{font-size:clamp(34px,3.5vw,48px);line-height:1.18;letter-spacing:-3px;max-width:500px}
.hero-copy{max-width:430px}
@media(max-width:1100px){.hero h1{max-width:430px}}
@media(max-width:850px){.hero h1{font-size:40px;max-width:470px}}
@media(max-width:600px){.hero h1{font-size:34px;max-width:100%;letter-spacing:-2px}}

/* 로고 글자가 순서대로 내려오는 효과 */
.logo{display:inline-flex;overflow:visible}
.logo .logo-char{display:inline-block;color:#55b8ff;opacity:0;animation:logo-drop .58s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i) * .13s);will-change:transform,opacity}
.logo .logo-char-dark{color:var(--navy)}
@keyframes logo-drop{0%{opacity:0;transform:translateY(-34px) rotate(-8deg)}65%{opacity:1;transform:translateY(5px) rotate(2deg)}100%{opacity:1;transform:translateY(0) rotate(0)}}
@media(prefers-reduced-motion:reduce){.logo .logo-char{opacity:1;animation:none}}

/* 제공 서비스 카드 */
.service-showcase{padding:105px 0;background:#172337;color:#fff}
.service-heading{text-align:center;margin-bottom:54px}
.service-heading h2{font-size:36px;letter-spacing:-2px;margin:8px 0 10px}
.service-heading>p:last-child{margin:0;color:#9db2cc;font-size:16px}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.service-card{min-height:300px;padding:30px;text-align:center;border:1px solid #2a3a52;border-radius:15px;background:#1b293e;display:flex;flex-direction:column;align-items:center;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.service-card:hover{transform:translateY(-7px);border-color:#466180;box-shadow:0 22px 45px rgba(0,0,0,.18)}
.service-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;font-size:34px;font-weight:700;margin-bottom:22px;color:#fff}
.service-mobile .service-icon{background:#14afa6}.service-info .service-icon{background:#f39309}.service-cardpay .service-icon{background:#8147ed}
.service-card h3{font-size:20px;margin:0 0 12px}.service-card p{color:#9dacbf;font-size:14px;line-height:1.75;margin:0 0 22px}
.service-card strong{width:100%;margin-top:auto;border-top:1px solid #2d3d54;padding-top:22px;font-size:14px}.service-mobile strong{color:#16c9bd}.service-info strong{color:#ff9d00}.service-cardpay strong{color:#9b67ff}
@media(max-width:750px){.service-showcase{padding:75px 0}.service-cards{grid-template-columns:1fr}.service-card{min-height:260px}.service-heading h2{font-size:32px}}

/* 실시간 처리 현황 */
.live-status{padding:54px 0 70px;background:#111c2f;color:#fff;overflow:hidden;border-top:1px solid #25334a}.live-status-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.live-status-heading>div{display:flex;align-items:center;gap:11px}.live-status-heading h2{margin:0;font-size:28px;letter-spacing:-1.5px}.live-status-heading h2 em{font-style:normal;color:#4cc78d}.live-status-heading h2 b{color:#d5bd36}.live-status-heading small{color:#6f819a;font-size:11px}.live-dot{width:9px;height:9px;border-radius:50%;background:#44d28e;box-shadow:0 0 0 6px rgba(68,210,142,.12);animation:live-pulse 1.5s ease-in-out infinite}.status-viewport{width:100%;overflow:hidden}.status-track{display:flex;width:max-content;animation:status-marquee 34s linear infinite}.status-group{display:flex;gap:14px;padding-right:14px}.status-card{width:255px;height:72px;padding:13px 15px;background:#1a293f;border:1px solid #283850;border-radius:13px;display:flex;align-items:center;gap:12px;flex:none}.status-card i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800}.status-card i.mint{background:#14afa6}.status-card i.purple{background:#8147ed}.status-card i.orange{background:#f39309}.status-card>div{min-width:0;display:flex;flex-direction:column;gap:4px}.status-card strong{font-size:13px;white-space:nowrap}.status-card strong em{font-style:normal;color:#48cfa0}.status-card span{font-size:11px;color:#72849e;white-space:nowrap}.status-card>b{font-size:9px;border-radius:10px;padding:4px 7px;margin-left:auto;white-space:nowrap}.status-card .done{color:#23d394;background:rgba(35,211,148,.1)}.status-card .working{color:#e5b832;background:rgba(229,184,50,.12)}
@keyframes status-marquee{to{transform:translateX(-50%)}}@keyframes live-pulse{50%{opacity:.45;transform:scale(.8)}}.status-viewport:hover .status-track{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.status-track{animation:none}.live-dot{animation:none}}@media(max-width:650px){.live-status{padding:42px 0 55px}.live-status-heading{align-items:flex-start;flex-direction:column;gap:8px}.live-status-heading h2{font-size:24px}.status-card{width:230px}}

/* 흰색 배경 원형 이용 절차 */
.procedure-section{padding:100px 0 110px;background:#fff;color:var(--navy)}.procedure-heading{text-align:center;margin-bottom:58px}.procedure-heading h2{font-size:36px;letter-spacing:-2px;margin:0 0 10px}.procedure-heading h2 em{font-style:normal;color:#38b979}.procedure-heading p{margin:0;color:#7790a1;font-size:15px}.procedure-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0}.procedure-steps::before{content:"";position:absolute;z-index:0;left:16.66%;right:16.66%;top:57px;height:2px;background:linear-gradient(90deg,#14b8b1,#f2aa1a 50%,#20c875)}.procedure-steps li{position:relative;z-index:1;text-align:center}.procedure-number{width:116px;height:116px;margin:0 auto 24px;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:900;background:#fff;border:2px solid currentColor}.procedure-number.teal{color:#12aaa7;box-shadow:inset 0 0 0 14px rgba(18,170,167,.08)}.procedure-number.amber{color:#ec9700;box-shadow:inset 0 0 0 14px rgba(236,151,0,.08)}.procedure-number.green{color:#16b866;box-shadow:inset 0 0 0 14px rgba(22,184,102,.08)}.procedure-steps h3{font-size:20px;margin:0 0 10px}.procedure-steps p{font-size:14px;line-height:1.65;color:#6e8797;margin:0}
@media(max-width:650px){.procedure-section{padding:75px 0}.procedure-heading{margin-bottom:42px}.procedure-heading h2{font-size:31px}.procedure-steps{grid-template-columns:1fr;gap:38px}.procedure-steps::before{left:50%;right:auto;top:55px;bottom:55px;width:2px;height:auto;background:linear-gradient(#14b8b1,#f2aa1a 50%,#20c875)}.procedure-steps li{background:#fff}.procedure-number{width:100px;height:100px}}

/* 카드형 FAQ */
.faq-modern{padding:100px 0 115px;background:#f5f7fa}.faq-modern-heading{text-align:center;margin-bottom:52px}.faq-modern-heading h2{margin:0 0 12px;color:#2f61c8;font-size:40px;letter-spacing:-2.5px}.faq-modern-heading p{margin:0;color:#536779;font-size:16px}.modern-accordion{width:min(810px,100%);margin:auto;display:flex;flex-direction:column;gap:14px}.modern-accordion details{border:0;border-radius:14px;background:#fff;padding:0 30px;box-shadow:0 7px 16px rgba(35,53,72,.12);overflow:hidden}.modern-accordion details:last-child{border:0}.modern-accordion summary{padding:23px 0;font-size:16px;color:#0c2940;display:flex;align-items:center;gap:10px}.modern-accordion summary b{margin-left:auto;font-size:22px;font-weight:400;transition:transform .2s}.modern-accordion details[open] summary b{transform:rotate(180deg)}.modern-accordion .faq-icon{font-size:17px}.modern-accordion details p{padding:0 28px 22px;color:#657989;font-size:14px;line-height:1.8;margin:0}
@media(max-width:600px){.faq-modern{padding:75px 0}.faq-modern-heading{margin-bottom:36px}.faq-modern-heading h2{font-size:33px}.faq-modern-heading p{font-size:14px}.modern-accordion details{padding:0 18px}.modern-accordion summary{font-size:14px;padding:19px 0}.modern-accordion details p{padding:0 0 18px}}

/* 고객 최적화 플랜 */
.optimized-plan{padding:105px 0 115px;background:#f8fafc}.plan-heading{text-align:center;margin-bottom:55px}.plan-heading>p{margin:0 0 10px;color:#2f61c8;font-size:12px;font-weight:900;letter-spacing:2px}.plan-heading h2{margin:0 0 14px;color:#172943;font-size:42px;line-height:1.25;letter-spacing:-2.7px}.plan-heading h2 em{font-style:normal;color:#2f61c8}.plan-heading>span{color:#6d7e91;font-size:16px}.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.plan-grid article{min-height:310px;padding:36px 28px;border:1px solid #dce4ec;border-radius:22px;background:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;transition:transform .25s,box-shadow .25s,border-color .25s}.plan-grid article:hover{transform:translateY(-7px);border-color:#a9c0df;box-shadow:0 20px 45px rgba(38,67,105,.1)}.plan-icon{height:74px;display:grid;place-items:center;font-size:52px;margin-bottom:26px}.plan-grid h3{font-size:20px;color:#172943;margin:0 0 16px}.plan-grid p{color:#687b8e;font-size:14px;line-height:1.85;margin:0;word-break:keep-all}
@media(max-width:900px){.plan-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.optimized-plan{padding:75px 0}.plan-heading{margin-bottom:38px}.plan-heading h2{font-size:33px}.plan-heading>span{font-size:14px}.plan-grid{grid-template-columns:1fr}.plan-grid article{min-height:260px}.plan-icon{margin-bottom:18px}}

.preparing-notice{width:max-content;margin:24px 0 4px;padding:9px 14px;border:1px solid rgba(255,193,77,.4);border-radius:20px;background:rgba(255,193,77,.1);color:#ffd276;font-size:13px;font-weight:800;display:flex;align-items:center;gap:8px}.preparing-notice span{width:8px;height:8px;border-radius:50%;background:#ffc14d;box-shadow:0 0 0 5px rgba(255,193,77,.1);animation:preparing-pulse 1.6s ease-in-out infinite}@keyframes preparing-pulse{50%{opacity:.45;transform:scale(.8)}}@media(prefers-reduced-motion:reduce){.preparing-notice span{animation:none}}

/* 주소 접속 시 표시되는 스크린 도어 인트로 */
body.intro-active{overflow:hidden}
.intro-gate{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:#071d2a;transition:visibility 0s linear 1.1s}
.intro-gate.finished{visibility:hidden;pointer-events:none}
.gate-door{position:absolute;top:0;bottom:0;width:50.2%;background-color:#092838;background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;transition:transform 1.05s cubic-bezier(.76,0,.24,1);will-change:transform}
.gate-door::after{content:"";position:absolute;top:0;bottom:0;width:3px;background:linear-gradient(transparent,#56c7ff 18%,#ffbf3f 50%,#56c7ff 82%,transparent);box-shadow:0 0 24px rgba(86,199,255,.75)}
.gate-door-left{left:0;border-right:1px solid rgba(255,255,255,.1)}
.gate-door-left::after{right:-2px}
.gate-door-right{right:0;border-left:1px solid rgba(255,255,255,.1)}
.gate-door-right::after{left:-2px}
.intro-gate.opening .gate-door-left{transform:translateX(-101%)}
.intro-gate.opening .gate-door-right{transform:translateX(101%)}
.gate-content{position:relative;z-index:2;width:min(900px,88vw);text-align:center;color:#fff;transition:opacity .32s ease,transform .32s ease}
.intro-gate.opening .gate-content{opacity:0;transform:scale(.96)}
.gate-brand{margin:0 0 32px;color:#62caff;font-size:12px;font-weight:900;letter-spacing:5px}
.gate-message{min-height:2.8em;margin:0;display:grid;place-items:center;font-size:clamp(54px,8.8vw,116px);font-weight:900;line-height:1.22;letter-spacing:-4px;word-break:keep-all;opacity:0;transform:translateY(42px);filter:blur(7px);transition:opacity .72s ease,transform .72s ease,filter .72s ease;text-shadow:0 5px 30px rgba(0,0,0,.35)}
.gate-message.show{opacity:1;transform:translateY(0);filter:blur(0)}
.gate-message.hide{opacity:0;transform:translateY(-22px);filter:blur(5px)}
.gate-skip{margin-top:48px;padding:10px 20px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.82);font:inherit;font-size:13px;cursor:pointer;transition:background .2s,border-color .2s}
.gate-skip:hover,.gate-skip:focus-visible{background:rgba(255,255,255,.16);border-color:#fff;outline:none}
@media(max-width:600px){.gate-brand{margin-bottom:25px}.gate-content{width:92vw}.gate-message{font-size:clamp(42px,13vw,66px);line-height:1.25;letter-spacing:-2.8px}.gate-skip{margin-top:34px}}
@media(prefers-reduced-motion:reduce){.intro-gate{display:none}.gate-door,.gate-content,.gate-message{transition:none}}

/* 놀이터 - 로또 번호 생성기 */
.playground-section{padding:105px 0;background:linear-gradient(135deg,#f1f8ff,#fff8e8)}
.playground-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.playground-heading>p{margin:0 0 10px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:2.5px}
.playground-heading h2{margin:0 0 16px;color:var(--navy);font-size:42px;letter-spacing:-2.5px}
.playground-heading span{display:block;color:var(--muted);font-size:15px;line-height:1.8;word-break:keep-all}
.lotto-machine{padding:46px 38px;border:1px solid #dce8ee;border-radius:24px;background:rgba(255,255,255,.9);text-align:center;box-shadow:0 20px 60px rgba(24,76,105,.1)}
.lotto-balls{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin-bottom:34px}
.lotto-ball{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:23px;font-weight:900;box-shadow:inset 0 -7px 0 rgba(0,0,0,.1),0 8px 18px rgba(26,63,82,.16);animation:lotto-pop .5s cubic-bezier(.2,.85,.35,1.3) both;animation-delay:calc(var(--ball-index,0) * .07s)}
.lotto-ball.range-1{background:#f2b623}.lotto-ball.range-2{background:#398cd6}.lotto-ball.range-3{background:#e95b54}.lotto-ball.range-4{background:#717b86}.lotto-ball.range-5{background:#47a968}
.lotto-button{min-width:230px;padding:16px 24px;border:0;border-radius:999px;background:var(--blue);color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 10px 25px rgba(8,117,225,.25);transition:transform .2s,box-shadow .2s}
.lotto-button:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(8,117,225,.32)}
.lotto-button span{display:inline-block;margin-right:5px;font-size:19px}
.lotto-machine>p{margin:18px 0 0;color:#8a9aa5;font-size:11px}
@keyframes lotto-pop{0%{opacity:0;transform:translateY(-30px) scale(.55) rotate(-18deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@media(max-width:850px){.playground-wrap{grid-template-columns:1fr;gap:36px}.playground-heading{text-align:center}}
@media(max-width:600px){.playground-section{padding:75px 0}.playground-heading h2{font-size:34px}.lotto-machine{padding:34px 16px}.lotto-balls{gap:8px}.lotto-ball{width:48px;height:48px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.lotto-ball{animation:none}}

/* 오늘의 KBO 경기 일정 */
.kbo-schedule{grid-column:1/-1;margin-top:8px;padding:38px;border:1px solid #dce8ee;border-radius:24px;background:#fff;box-shadow:0 20px 60px rgba(24,76,105,.08)}
.kbo-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid #e8eef2}
.kbo-title-row p{margin:0 0 6px;color:#e04b42;font-size:11px;font-weight:900;letter-spacing:2.4px}
.kbo-title-row h3{margin:0;color:var(--navy);font-size:28px;letter-spacing:-1.5px}
.kbo-title-row time{color:#617987;font-size:14px;font-weight:700}
.kbo-games{display:grid;gap:10px;padding:20px 0}
.kbo-loading,.kbo-empty{min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#7b8f9b;text-align:center}
.kbo-empty b{color:#294656;font-size:16px}.kbo-empty span{font-size:12px}.kbo-error b{color:#bb514b}
.kbo-game{min-height:76px;padding:13px 18px;border:1px solid #e5edf1;border-radius:13px;background:#f9fbfc;display:grid;grid-template-columns:130px 1fr 90px;align-items:center;gap:18px}
.kbo-game-time{display:flex;flex-direction:column}.kbo-game-time b{color:var(--navy);font-size:17px}.kbo-game-time span{color:#82949f;font-size:11px;margin-top:3px}
.kbo-matchup{text-align:center;color:#1d3747;font-size:17px;font-weight:800}.kbo-matchup strong{padding:0 14px;color:var(--blue)}
.kbo-game>em{justify-self:end;padding:6px 9px;border-radius:20px;background:#eaf4ff;color:#2176bc;font-size:10px;font-style:normal;font-weight:800}
.kbo-source{display:flex;justify-content:space-between;gap:15px;padding-top:16px;border-top:1px solid #e8eef2;color:#8a9aa5;font-size:11px}.kbo-source a{color:var(--blue);font-weight:800}
@media(max-width:650px){.kbo-schedule{padding:26px 16px}.kbo-title-row{align-items:flex-start;flex-direction:column}.kbo-title-row h3{font-size:24px}.kbo-game{grid-template-columns:72px 1fr;gap:10px}.kbo-matchup{text-align:right;font-size:14px}.kbo-matchup strong{padding:0 5px}.kbo-game>em{grid-column:1/-1;justify-self:end}.kbo-source{flex-direction:column}}

/* 메인 이미지 우측 상단 주가판 */
.stock-widget{position:absolute;z-index:4;top:145px;right:26px;width:255px;padding:14px 15px 10px;border:1px solid rgba(255,255,255,.75);border-radius:15px;background:rgba(5,31,47,.88);color:#fff;box-shadow:0 14px 35px rgba(4,31,45,.24);backdrop-filter:blur(12px)}
.stock-widget-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.stock-widget-title span{color:#69c7ff;font-size:9px;font-weight:900;letter-spacing:1.8px}.stock-widget-title small{color:#8fa8b6;font-size:8px}
.stock-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 0;border-top:1px solid rgba(255,255,255,.11)}
.stock-row>div{grid-row:1/3;display:flex;flex-direction:column;justify-content:center}.stock-row b{font-size:12px}.stock-row small{color:#91a8b5;font-size:8px;margin-top:2px}.stock-row strong{justify-self:end;font-size:13px}.stock-row em{justify-self:end;font-size:9px;font-style:normal;font-weight:800}
.stock-up{color:#ff6d64}.stock-down{color:#58a9ff}.stock-flat{color:#a9bac4}.stock-widget>p{margin:4px 0 0;color:#78919f;font-size:8px;text-align:right}
@media(max-width:850px){.stock-widget{top:108px;right:18px;width:225px}}
@media(max-width:600px){.stock-widget{top:88px;right:12px;width:190px;padding:10px 12px}.stock-row{padding:7px 0}.stock-row b{font-size:10px}.stock-row strong{font-size:11px}.stock-widget-title small,.stock-widget>p{display:none}}
