:root{--navy:#071a3b;--deep:#020c1e;--orange:#f57931;--cream:#f4f1eb;--ink:#131b29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,"Noto Sans KR",sans-serif}a{text-decoration:none;color:inherit}img,video{display:block;max-width:100%}.wrap{max-width:1440px;margin:auto;padding:100px clamp(20px,8vw,128px)}header{height:76px;padding:0 clamp(18px,5vw,70px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 4px 24px #00153512}.brand{display:flex;flex-direction:column}.brand span{font-family:Georgia,serif;letter-spacing:.18em;font-size:12px}.brand b{font-size:18px}nav{display:flex;gap:28px;font-weight:800}.head-call{background:var(--navy);color:#fff;padding:12px 18px}.head-call b{color:#ffad73;margin-left:6px;font-size:21px}.hero{min-height:calc(100svh - 76px);position:relative;background:url('/images/hero.webp') center/cover;color:#fff;display:flex;align-items:center;padding:60px clamp(20px,8vw,128px);overflow:hidden}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#010a1bee 0%,#071a3bc9 47%,#071a3b24 80%)}.hero-copy{position:relative;z-index:2;max-width:780px}.kicker{color:var(--orange);font-weight:900;letter-spacing:.14em;font-size:14px}.hero h1{font-size:clamp(48px,7vw,94px);line-height:1.03;letter-spacing:-.06em;margin:16px 0 22px}.hero h1 strong{font-weight:900}.spark-text i{display:inline-block;font-style:normal;opacity:0;filter:blur(7px);transform:translateY(8px) scale(.7);animation:engrave .48s cubic-bezier(.2,.8,.2,1) forwards,twinkle 1.4s ease-in-out calc(2.3s + var(--i)*.08s) 2;animation-delay:calc(.65s + var(--i)*.09s),calc(2.4s + var(--i)*.08s);text-shadow:0 0 0 transparent}.light-saber{position:absolute;z-index:3;top:22%;left:-45%;width:42%;height:4px;background:#fff;box-shadow:0 0 8px #fff,0 0 18px #7feaff,0 0 36px #27d9ff;transform:rotate(-6deg);animation:saber 2.35s ease-in-out .35s forwards;pointer-events:none}.light-saber:after{content:"";position:absolute;right:-10px;top:-5px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 14px #fff,0 0 30px #5be7ff}@keyframes engrave{65%{opacity:1;filter:blur(0);transform:translateY(0) scale(1.08);color:#eafcff;text-shadow:0 0 8px #fff,0 0 20px #45ddff}100%{opacity:1;filter:blur(0);transform:none;color:#fff;text-shadow:0 0 3px #fff,0 0 12px #7deaff}}@keyframes twinkle{0%,100%{text-shadow:0 0 3px #fff,0 0 12px #7deaff}50%{color:#fff8ce;text-shadow:0 0 8px #fff,0 0 22px #ffe76a,0 0 38px #4ee7ff}}@keyframes saber{0%{left:-45%;top:25%;opacity:0}10%{opacity:1}55%{left:72%;top:42%}85%{left:105%;top:56%;opacity:1}100%{left:125%;top:58%;opacity:0}}.price{display:inline-flex;align-items:center;gap:15px;background:#fff;color:var(--navy);padding:10px 17px;border-left:6px solid var(--orange)}.price b{font-size:clamp(28px,4vw,46px);color:#e85017}.hero h2{font-size:clamp(20px,2.5vw,29px);line-height:1.5}.hero h2 em,.offer em,.reserve em{font-style:normal;color:#ff9b58}.hero-cta{display:flex;gap:12px;margin:22px 0}.hero-cta a{min-width:240px;padding:13px 18px;background:var(--orange);font-weight:900;display:flex;flex-direction:column}.hero-cta a:last-child{background:#fff;color:var(--navy)}.hero-cta strong{font-size:30px}.hero small{opacity:.72}.title{font-size:clamp(38px,5vw,64px);line-height:1.1;letter-spacing:-.055em;margin:12px 0 40px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cards article{background:var(--navy);color:#fff;padding:34px 20px;border-top:5px solid var(--orange);display:flex;flex-direction:column}.cards b{font-size:clamp(27px,3vw,40px);color:#ff9e60}.cards span{font-weight:800;margin-top:8px}.banner-call{margin-top:22px;background:var(--orange);color:#fff;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;font-size:20px;font-weight:800}.banner-call b{font-size:32px}.split{display:grid;grid-template-columns:.82fr 1.18fr;min-height:650px;background:var(--cream)}.split-copy{padding:90px clamp(20px,6vw,88px);align-self:center}.split-copy>p:not(.kicker){font-size:18px;line-height:1.8}.split ul{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}.split li{font-weight:800;padding:12px 0;border-bottom:1px solid #bbb}.split>img{width:100%;height:100%;object-fit:cover}.facts{display:grid;grid-template-columns:1fr 1fr;border-top:3px solid var(--navy)}.facts div{display:flex;flex-direction:column;gap:7px;padding:26px 8px;border-bottom:1px solid #ddd}.facts span{font-size:13px;color:#687180}.facts b{font-size:21px}.facts small{font-size:16px}.type-wrap{background:var(--navy);color:#fff}.type-list{display:grid;gap:30px}.type-card{background:#fff;color:var(--ink);display:grid;grid-template-columns:.55fr 1fr 1fr;min-height:330px;overflow:hidden}.type-info{padding:30px;display:flex;flex-direction:column;align-items:flex-start}.type-info>b{font-size:58px;color:var(--navy)}.type-info span{background:var(--orange);color:#fff;padding:5px 9px;font-weight:800}.type-info strong{margin-top:18px;font-size:18px}.type-info p{line-height:1.7;color:#5b6472}.type-card>img,.type-card>video,.type-photo,.type-photo img{width:100%;height:100%;object-fit:cover}.type-card>video{background:#000}.video-gallery>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.video-gallery video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#000}.community{background:var(--navy);color:#fff}.offer{text-align:center}.offer>p:not(.kicker){font-size:19px}.offer>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:35px auto;max-width:900px}.offer article{background:var(--cream);padding:27px;border-bottom:5px solid var(--orange);display:flex;flex-direction:column;gap:9px}.offer article b{font-size:29px;color:var(--navy)}.offer small{color:#777}.reserve{padding:100px clamp(20px,8vw,128px);background:linear-gradient(135deg,var(--deep),#123b6d);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px}.reserve>div>a{display:block;margin-top:25px;font-size:20px}.reserve>div>a b{display:block;font-size:clamp(40px,5vw,62px);color:#ff9b58}form{background:#fff;color:var(--ink);padding:34px;display:flex;flex-direction:column;gap:16px;border-radius:8px}label{font-weight:800}input{width:100%;height:54px;border:1px solid #ccd1da;border-radius:4px;padding:0 14px;margin-top:7px;font-size:16px}.agree{font-size:14px;font-weight:500}.agree input{width:auto;height:auto;margin:0 7px 0 0}button{height:60px;border:0;border-radius:4px;background:var(--orange);color:#fff;font-size:20px;font-weight:900}footer{background:#050b16;color:#aeb6c4;padding:52px clamp(20px,8vw,128px) 115px;line-height:1.8}footer>b{color:#fff;font-size:22px}.floating{position:fixed;bottom:0;left:0;right:0;z-index:90;display:grid;grid-template-columns:.7fr 1.15fr 1.45fr;text-align:center;color:#fff;font-weight:900}.floating a{min-height:66px;display:flex;align-items:center;justify-content:center}.floating a:first-child{background:#293954}.floating a:nth-child(2){background:#fb7a2e}.floating a:last-child{background:#d94424}.floating b{font-size:22px;margin-left:7px}
@media(max-width:800px){header{height:62px;padding:0 15px}.brand span{font-size:9px}.brand b{font-size:15px}nav,.head-call{display:none}.wrap{padding:70px 18px}.hero{min-height:calc(100svh - 62px);padding:38px 18px;background-position:64% center}.overlay{background:linear-gradient(90deg,#010a1bf5,#071a3bd7 70%,#071a3b70)}.hero h1{font-size:45px}.hero h2{font-size:19px}.hero-cta a{min-width:0;flex:1;padding:12px}.hero-cta strong{font-size:22px}.price b{font-size:29px}.cards{grid-template-columns:1fr 1fr}.cards article{padding:23px 13px}.cards b{font-size:26px}.banner-call{flex-direction:column;gap:5px}.split,.reserve{grid-template-columns:1fr}.split-copy{padding:70px 18px}.split>img{min-height:320px}.facts{grid-template-columns:1fr}.type-card{grid-template-columns:1fr}.type-info{padding:24px}.type-card>img{height:auto}.type-card>video,.type-photo{height:260px}.video-gallery>div{gap:7px}.offer>div{grid-template-columns:1fr}.reserve{padding:70px 18px;gap:30px}form{padding:24px 17px}.floating{grid-template-columns:.65fr 1.1fr 1.3fr}.floating a{min-height:62px;font-size:13px;flex-direction:column}.floating b{font-size:18px;margin:2px 0 0}.light-saber{width:62%}footer{padding-bottom:100px}}@media(prefers-reduced-motion:reduce){.spark-text i,.light-saber{animation:none;opacity:1;filter:none;transform:none}}
/* 별빛이 날아와 글자 자리에 꽂히는 메인 타이틀 효과 */
.spark-text i{position:relative;opacity:0;filter:blur(2px);transform:translate(var(--x),var(--y)) rotate(-18deg) scale(.08);animation:starFlight .72s cubic-bezier(.12,.72,.18,1.12) forwards,twinkle 1.35s ease-in-out calc(2.4s + var(--i)*.09s) 2;animation-delay:calc(.55s + var(--i)*.115s),calc(2.45s + var(--i)*.09s)}
.spark-text i:before,.spark-text i:after{content:"";position:absolute;left:50%;top:50%;z-index:-1;background:#fff;box-shadow:0 0 8px #fff,0 0 18px #72ecff;opacity:0;animation:sparkImpact .42s ease-out calc(1.08s + var(--i)*.115s) both}
.spark-text i:before{width:34px;height:2px}.spark-text i:after{width:2px;height:34px}.spark-text i span{font-style:normal}
@keyframes starFlight{0%{opacity:0;filter:blur(4px);transform:translate(var(--x),var(--y)) rotate(-24deg) scale(.08)}35%{opacity:1;color:#fff;filter:blur(0);text-shadow:0 0 10px #fff,0 0 28px #55ddff}78%{transform:translate(0,0) rotate(2deg) scale(1.32);color:#fff7b0}86%{transform:translate(0,0) rotate(0) scale(.92)}100%{opacity:1;filter:blur(0);transform:none;color:#fff;text-shadow:0 0 3px #fff,0 0 12px #7deaff}}
@keyframes sparkImpact{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(.1)}}
@media(prefers-reduced-motion:reduce){.spark-text i,.spark-text i:before,.spark-text i:after{animation:none;opacity:1;filter:none;transform:none}}
.video-call{margin-top:20px;min-height:92px;padding:16px 28px;background:linear-gradient(90deg,#ef5b20,#ff8b3d);color:#fff;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 28px #d64a1f35;font-weight:800}.video-call strong{font-size:clamp(28px,4vw,46px);letter-spacing:-.04em;text-shadow:0 2px 10px #8b210d55}@media(max-width:800px){.video-call{min-height:102px;flex-direction:column;justify-content:center;gap:5px;text-align:center;padding:15px 10px}.video-call strong{font-size:30px}}
.footer-contact{margin-top:26px;padding-top:24px;border-top:1px solid #273247;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-contact a,.footer-contact p{margin:0;display:flex;align-items:center;gap:12px}.footer-contact span{color:#ff9b58;font-weight:900}.footer-contact strong{font-size:clamp(28px,4vw,42px);color:#fff}.footer-contact p b{color:#fff;font-size:18px;letter-spacing:.06em}@media(max-width:800px){.footer-contact{align-items:flex-start;flex-direction:column}.footer-contact a{align-items:flex-start;flex-direction:column;gap:2px}.footer-contact strong{font-size:32px}.footer-contact p{flex-direction:column;align-items:flex-start;gap:2px}}
/* 상단과 모바일 고정 상담 버튼 가독성 강화 */
header{height:88px}.brand span{font-size:15px}.brand b{font-size:23px}nav{gap:38px;font-size:20px}.head-call{padding:18px 24px;font-size:18px}.head-call b{font-size:27px}.floating a{min-height:78px;font-size:19px}.floating b{font-size:27px}
@media(max-width:800px){header{height:70px}.brand span{font-size:11px}.brand b{font-size:18px}.hero{min-height:calc(100svh - 70px)}.floating a{min-height:70px;font-size:16px}.floating b{font-size:21px}.floating{grid-template-columns:.62fr 1.08fr 1.4fr}}
.cards article{min-height:160px;justify-content:center;padding:32px 24px}.cards b{font-size:clamp(34px,3.4vw,50px)}.cards span{font-size:clamp(20px,1.7vw,27px);line-height:1.35;margin-top:12px}@media(max-width:800px){.cards article{min-height:138px;padding:24px 15px}.cards b{font-size:30px}.cards span{font-size:19px}}
.video-call>span{font-size:clamp(25px,2.5vw,36px);font-weight:900;letter-spacing:-.04em}.video-call strong{font-size:clamp(34px,4.3vw,52px)}@media(max-width:800px){.video-call>span{font-size:24px}.video-call strong{font-size:32px}}
.video-call,.video-call>span,.video-call strong{color:var(--navy);text-shadow:none}
.video-call>span{font-size:clamp(22px,2vw,30px)}@media(max-width:800px){.video-call>span{font-size:20px}}
