:root{color-scheme:dark;font-family:Inter,"Pretendard","Noto Sans KR","Segoe UI",Arial,sans-serif;color:#f7fbf9;background:#091d27}
*,*::before,*::after{box-sizing:border-box}
body{min-width:320px;margin:0}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid #c9ef75;outline-offset:5px}
.hero{position:relative;display:flex;min-height:680px;min-height:max(680px,78svh);flex-direction:column;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 73% 49%,rgba(15,95,109,.38),transparent 32%),radial-gradient(circle at 32% 76%,rgba(50,46,116,.22),transparent 46%),linear-gradient(128deg,#071923 5%,#0b2932 58%,#071920 100%)}
.hero::before{position:absolute;z-index:-1;inset:0;content:"";opacity:.26;background-image:radial-gradient(rgba(218,244,240,.52) .7px,transparent .7px);background-size:31px 31px;mask-image:linear-gradient(90deg,transparent 12%,#000 75%)}
.hero::after{position:absolute;z-index:-1;inset:0;content:"";opacity:.32;background:linear-gradient(90deg,transparent 49.95%,rgba(194,229,226,.12) 50%,transparent 50.05%),linear-gradient(0deg,transparent 49.95%,rgba(194,229,226,.08) 50%,transparent 50.05%);background-size:145px 145px;mask-image:linear-gradient(90deg,transparent 30%,#000)}
.ambient{position:absolute;z-index:-1;width:680px;aspect-ratio:1;border-radius:50%;filter:blur(78px);pointer-events:none;animation:drift 13s ease-in-out infinite alternate}
.ambient-a{top:-350px;right:10%;background:rgba(68,190,184,.19)}
.ambient-b{right:-220px;bottom:-400px;background:rgba(98,76,179,.2);animation-delay:-6s}
.site-header,.hero-inner,.hero-end{width:min(100% - 96px,1440px);margin-inline:auto}
.site-header{display:flex;height:120px;align-items:center;justify-content:space-between;gap:24px}
.brand{display:grid;width:212px;height:76px;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:4px;background:rgba(255,255,255,.97);box-shadow:0 16px 40px rgba(0,0,0,.13);transition:transform .3s,box-shadow .3s}
.brand:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(0,0,0,.22)}
.brand img{display:block;width:171px;height:auto}
.header-label{display:flex;align-items:center;gap:12px;color:#c8d9d9;font-size:11px;font-weight:700;letter-spacing:.27em}
.header-label i{width:7px;height:7px;flex:none;border-radius:50%;background:#b7e656;box-shadow:0 0 0 5px rgba(183,230,86,.11),0 0 18px #b7e656;animation:pulse 3s ease-in-out infinite}
.hero-inner{position:relative;display:flex;flex:1;align-items:center;padding:40px 0 75px}
.hero-copy{position:relative;z-index:2;width:100%}
.eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 28px;color:#b9e773;font-size:12px;font-weight:700;letter-spacing:.31em;animation:rise .8s .1s both}
.eyebrow span{width:43px;height:1px;background:#b9e773}
h1{margin:0;font-size:clamp(88px,10.6vw,178px);font-weight:800;letter-spacing:-.093em;line-height:.87;text-shadow:0 14px 70px rgba(0,0,0,.2)}
h1>span{display:block;width:fit-content;animation:rise 1s both}
h1>span:first-child{color:transparent;background:linear-gradient(110deg,#fff 20%,#bce7e0 92%);background-clip:text;-webkit-background-clip:text;animation-delay:.22s}
h1>span:last-child{color:transparent;-webkit-text-stroke:1.4px rgba(235,255,252,.84);animation-delay:.37s}
h1 b{color:#b9e773;-webkit-text-stroke:0}
.subtitle{margin:37px 0 0;color:#d1e0df;font-size:clamp(17px,2vw,22px);font-weight:500;letter-spacing:-.035em;line-height:1.5;animation:rise .9s .58s both}
.accent-rule{width:232px;height:2px;margin-top:38px;overflow:hidden;background:rgba(217,243,239,.17);animation:rise .9s .7s both}
.accent-rule i{display:block;width:43%;height:100%;background:linear-gradient(90deg,#b8df37,#48c6bb);animation:rule-travel 3.4s ease-in-out infinite alternate}
.portal{position:absolute;z-index:1;top:50%;right:-4%;width:min(51vw,730px);aspect-ratio:1;pointer-events:none;transform:translateY(-53%)}
.halo,.ring,.core,.orbit{position:absolute;border-radius:50%}
.halo{inset:-11%;background:radial-gradient(circle,rgba(44,197,183,.1),rgba(60,145,189,.08) 31%,transparent 62%);filter:blur(18px);animation:breathe 6s ease-in-out infinite alternate}
.ring{border:1px solid rgba(144,214,207,.25)}
.ring-outer{inset:2%;border-color:rgba(175,226,212,.28);box-shadow:inset 0 0 75px rgba(53,170,170,.04),0 0 65px rgba(87,188,177,.08);animation:rotate 26s linear infinite}
.ring-mid{inset:13%;border-color:rgba(170,214,226,.3);border-style:dashed;animation:rotate 38s linear infinite reverse}
.ring-inner{inset:24%;border-color:rgba(176,235,221,.3);box-shadow:0 0 44px rgba(58,169,177,.1)}
.ring-outer::before,.ring-mid::before{position:absolute;top:-2px;left:50%;width:36px;height:4px;border-radius:50%;background:#bcf68c;box-shadow:0 0 19px #bcf68c;content:""}
.ring-mid::before{width:20px;background:#76d7dd;box-shadow:0 0 18px #76d7dd}
.core{inset:31%;background:radial-gradient(circle at 37% 30%,rgba(177,246,222,.49),rgba(49,169,168,.32) 28%,rgba(35,67,123,.28) 55%,rgba(8,37,51,.05) 72%);box-shadow:0 0 75px rgba(94,204,183,.2),inset 0 0 60px rgba(150,240,223,.13);animation:float 9s ease-in-out infinite alternate}
.core::after{position:absolute;inset:20%;border-radius:50%;background:radial-gradient(circle,rgba(190,245,218,.45),transparent 62%);filter:blur(10px);content:""}
.orbit{inset:6%;animation:rotate 18s linear infinite}
.orbit i{position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:#c0ec74;box-shadow:0 0 18px 4px rgba(192,236,116,.55)}
.orbit-b{inset:19%;animation-duration:24s;animation-direction:reverse}
.orbit-b i{top:16%;left:14%;width:5px;height:5px;background:#7fe2e0;box-shadow:0 0 15px 4px rgba(127,226,224,.55)}
.hero-end{display:flex;align-items:center;gap:18px;margin-bottom:32px;color:#a9c5c6;font-size:10px;font-weight:700;letter-spacing:.23em}
.hero-end i{width:48px;height:1px;background:rgba(175,220,216,.56)}
.site-footer{padding:42px max(48px,calc((100vw - 1440px)/2)) 25px;border-top:1px solid rgba(164,220,217,.15);background:#0b2026}
.footer-main{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(240px,1fr) minmax(190px,.65fr);gap:40px;padding-bottom:37px}
.footer-brand{display:flex;align-items:flex-start;gap:13px}
.footer-brand img{width:58px;height:38px;object-fit:contain}
.footer-brand strong{display:block;margin:1px 0 5px;font-size:17px;letter-spacing:.02em}
.footer-brand span{color:#9db6ba;font-size:11px;letter-spacing:.02em}
.footer-heading{display:block;margin-bottom:12px;color:#b9e773;font-size:10px;font-weight:700;letter-spacing:.24em}
.footer-contact,.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:#c0d1d2;font-size:13px;line-height:1.65}
.footer-contact a{color:#f2f9f7;font-size:16px;font-weight:700}
.footer-links a{border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.footer-links a:hover,.footer-contact a:hover{color:#b9e773;border-color:currentColor}
.footer-links a span{margin-left:5px}
.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 32px;padding-top:19px;border-top:1px solid rgba(189,218,217,.16);color:#93adaf;font-size:11px;line-height:1.7}
.footer-bottom p{margin:0}
.footer-bottom p:last-child{flex:none;white-space:nowrap;font-size:10px;letter-spacing:.06em}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes rotate{to{transform:rotate(360deg)}}
@keyframes breathe{to{opacity:.55;transform:scale(1.12)}}
@keyframes float{to{transform:translate(12px,-15px) scale(1.07)}}
@keyframes drift{to{transform:translate(70px,45px)}}
@keyframes rule-travel{to{transform:translateX(135%)}}
@keyframes pulse{50%{opacity:.5;box-shadow:0 0 0 9px rgba(183,230,86,.04),0 0 12px #b7e656}}
@media(max-width:1100px){.portal{right:-17%;width:64vw;opacity:.82}h1{font-size:clamp(84px,11vw,138px)}.footer-main{grid-template-columns:1.2fr 1fr .7fr;gap:25px}}
@media(max-width:700px){.hero{min-height:max(680px,82svh)}.site-header,.hero-inner,.hero-end{width:calc(100% - 40px)}.site-header{height:98px;align-items:flex-start;padding-top:18px}.brand{width:168px;height:61px}.brand img{width:138px}.header-label{margin-top:21px;font-size:9px;letter-spacing:.12em}.hero-inner{align-items:flex-end;padding:0 0 101px}.portal{top:40%;right:-38%;width:min(124vw,560px);opacity:.65;transform:translateY(-54%)}.eyebrow{margin-bottom:24px;font-size:10px}.eyebrow span{width:30px}h1{font-size:clamp(72px,15vw,108px)}.subtitle{margin-top:27px;font-size:17px}.accent-rule{margin-top:27px}.hero-end{margin-bottom:22px;font-size:9px}.site-footer{padding:34px 20px 24px}.footer-main{grid-template-columns:1fr 1fr;gap:30px 18px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:flex-start}}
@media(max-width:440px){.header-label{max-width:100px;line-height:1.5}h1{font-size:clamp(61px,15vw,72px)}.hero{min-height:630px}.footer-main{grid-template-columns:1fr;gap:26px}.footer-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
