@font-face{font-family:Casiopea Serif;src:local("Noto Serif KR"),local("NanumMyeongjo"),local("Batang");font-display:swap}
:root{color-scheme:dark;--night:#090d0e;--cream:#f2e9d7;--gold:#d6b780;--muted:#b8b5ac;--line:rgba(214,183,128,.3);--serif:"Casiopea Serif","Noto Serif KR","Batang",Georgia,serif;--sans:"Malgun Gothic","Apple SD Gothic Neo",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--night);color:var(--cream);font-family:var(--sans);font-size:14px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #f7d291;outline-offset:6px}button{border:0}svg{display:block}p,h1,h2{margin:0}button svg,a svg,.promises svg,.dialog-compass{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-100px;left:20px;padding:16px;background:#eed3a0;color:#090d0e;z-index:100}.skip-link:focus{top:12px}
.hero{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:#090d0e}.scene{position:absolute;top:0;left:0;width:100%;aspect-ratio:1672/941;z-index:-3;pointer-events:none;overflow:hidden}.scene-image{display:block;width:100%;height:100%;object-fit:fill}.scene-shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(4,8,9,.48),transparent 49%),linear-gradient(0deg,#090d0e 1%,rgba(9,13,14,.94) 8%,transparent 36%)}
.header{position:absolute;top:0;left:0;width:100%;display:flex;align-items:center;gap:3vw;padding:22px 5.6vw;z-index:10;background:linear-gradient(180deg,rgba(3,6,8,.5),transparent)}.brand{display:flex;align-items:center;gap:17px;flex-shrink:0;color:var(--gold)}.brand-icon{width:68px;height:68px;stroke-width:.85}.brand-name{display:block;font-family:Georgia,serif;font-size:39px;line-height:1.03;font-weight:400;letter-spacing:-1.2px}.brand-tagline{display:block;margin-top:7px;font-family:var(--serif);font-size:11px;letter-spacing:1.2px;color:#c9b99a}.navigation{display:flex;justify-content:center;gap:clamp(20px,2.6vw,47px);flex:1}.navigation a{position:relative;padding:12px 0;font-size:13px;color:#ddd9cd;white-space:nowrap;transition:color .2s}.navigation a:after{content:"";position:absolute;bottom:3px;left:50%;width:0;height:1px;background:var(--gold);transition:width .3s,left .3s}.navigation a:hover{color:#f1d39b}.navigation a:hover:after{width:100%;left:0}.header-cta{display:flex;align-items:center;gap:22px;border:1px solid #b59660;border-radius:30px;padding:12px 22px;font-size:12px;color:var(--gold);white-space:nowrap;background:rgba(6,10,10,.3);transition:background .2s}.header-cta:hover{background:rgba(214,183,128,.12)}.header-cta span{font-size:17px}.menu-toggle{display:none}
.hero-copy{padding-top:clamp(145px,10.2vw,205px);margin-left:7%;width:39%;position:relative;z-index:2}.eyebrow{font-family:Georgia,serif;font-size:11px;letter-spacing:5px;color:#caaa72;font-weight:400}.hero-copy h1{font-family:var(--serif);font-size:clamp(48px,4.55vw,88px);font-weight:400;letter-spacing:-2.3px;line-height:1.3;margin-top:22px;text-shadow:0 2px 20px rgba(0,0,0,.3)}.hero-description{font-family:var(--serif);color:#c9c7bf;font-size:clamp(13px,1.05vw,18px);line-height:1.85;margin-top:24px;letter-spacing:.1px;word-break:keep-all}.primary-cta{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;margin-top:30px;padding:17px 30px;min-width:252px;border-radius:50px;background:linear-gradient(110deg,#bc9964,#ebd4a5 52%,#d4b47e);border:1px solid #ead4a7;box-shadow:inset 0 0 0 3px rgba(31,22,10,.12),0 0 35px rgba(213,173,106,.06);color:#1b170f;font-size:16px;font-weight:600;transition:transform .25s,box-shadow .25s}.primary-cta svg{width:23px;height:23px;stroke-width:1.3}.primary-cta:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 3px rgba(31,22,10,.12),0 6px 35px rgba(213,173,106,.2)}.promises{display:flex;gap:20px;margin-top:40px;width:max-content}.promises>div{display:flex;gap:12px;align-items:center;padding-right:20px;border-right:1px solid var(--line)}.promises>div:last-child{border:0;padding-right:0}.promises svg{width:34px;height:34px;stroke-width:1;color:#c7a368}.promises p{font-size:12px;color:#e0dbcf}.promises small{display:block;font-size:10px;line-height:1.5;margin-top:6px;color:#aaa9a2}.vertical-verse{position:absolute;right:11%;top:20%;display:flex;gap:11px;color:#d3be97;font-family:var(--serif);font-size:14px;letter-spacing:5px;line-height:1.8}.vertical-verse span{writing-mode:vertical-rl}.vertical-verse span:last-child{padding-top:26px}
.scene-controls{display:flex;gap:14px;align-items:center;justify-content:flex-end;margin:24px 5.8% 18px;position:relative;z-index:2}.scene-controls button{display:flex;gap:7px;align-items:center;background:rgba(6,10,12,.55);font-size:11px;color:#c8b591;padding:7px 10px;border-radius:20px;transition:color .2s,background .2s}.scene-controls button:hover{color:#ffe3ad;background:rgba(71,57,32,.5)}.spark-icon{font-size:18px;line-height:1}.motion-icon{font-family:Georgia,serif;font-size:13px;width:12px}.control-separator{height:12px;width:1px;background:var(--line)}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:0 3%;position:relative;z-index:2;scroll-margin-top:30px}.service-card{position:relative;isolation:isolate;overflow:hidden;text-align:left;min-height:174px;padding:23px 25px;border:1px solid #665235;border-radius:8px;background:#0b1215;transition:transform .3s,border-color .3s,box-shadow .3s}.service-card:before,.service-card:after{content:"";position:absolute;inset:0;z-index:-1}.service-card:before{background-image:url("./assets/casiopea-hero.png");background-size:650%;opacity:.7;transition:transform .6s}.service-card:after{background:linear-gradient(95deg,rgba(5,9,10,.97),rgba(5,9,10,.58) 65%,rgba(5,9,10,.1))}.card-saju:before{background-position:15% 42%}.card-report:before{background-position:100% 5%}.card-consult:before{background-position:100% 38%}.card-stories:before{background-position:85% 61%}.service-card:hover{transform:translateY(-5px);border-color:#b7965c;box-shadow:0 10px 35px #0004}.service-card:hover:before{transform:scale(1.05)}.card-number{display:block;font-family:Georgia,serif;font-size:9px;letter-spacing:2px;color:#b59a6c;margin-bottom:11px}.service-card h2{font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:-.4px}.service-card p{margin-top:10px;color:#b4b6af;font-size:12px;line-height:1.8;word-break:keep-all}.card-arrow{position:absolute;right:20px;bottom:19px;width:29px;height:29px;border:1px solid #ad9b7b;border-radius:50%;display:grid;place-items:center;background:#080d10a8;transition:background .25s}.card-arrow svg{width:19px;height:19px}.service-card:hover .card-arrow{background:#bc9b62;color:#080c0d}.footer{position:relative;text-align:center;padding:31px 24px 28px}.footer-wordmark{display:flex;align-items:center;justify-content:center;gap:19px;font-size:11px;color:#c5a66d}.footer-wordmark span{width:75px;height:1px;background:linear-gradient(90deg,transparent,#9a7e4b)}.footer-wordmark span:last-child{transform:rotate(180deg)}.footer-wordmark b{font-family:Georgia,serif;font-weight:400;letter-spacing:9px;font-size:10px;margin-left:9px}.footer p{font-family:var(--serif);font-size:10px;letter-spacing:1.2px;color:#928978;margin-top:10px}.footer>a{position:absolute;right:5.8%;top:33px;font-family:Georgia,serif;font-size:8px;letter-spacing:2px;color:#b29664}
.magic-anchor{position:absolute;left:48.35%;top:37.9%;width:28%;aspect-ratio:1;transform:translate(-50%,-50%);perspective:1000px}.magic-float{position:absolute;inset:0;animation:float 8s ease-in-out infinite;transform-style:preserve-3d}.disc-perspective{position:absolute;inset:0;transform:rotateX(20deg) rotateY(-17deg) rotateZ(-8deg);animation:incline 16s ease-in-out infinite;transform-style:preserve-3d}.mandala{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 2px #eab86c88) drop-shadow(0 0 9px #d9973938)}.ring{transform-origin:300px 300px}.ring-outer{animation:spin 110s linear infinite}.ring-bagua{animation:spin 64s linear infinite}.ring-script{animation:spin 88s linear infinite reverse}.ring-inner{animation:spin 46s linear infinite}.ring-heart{animation:spin 30s linear infinite reverse}.aura{position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(ellipse,rgba(249,185,88,.1),rgba(205,157,74,.035) 43%,transparent 68%);animation:breathe 6s ease-in-out infinite}.orbit{position:absolute;inset:-5%;transform-style:preserve-3d;pointer-events:none}.orbit-a{transform:rotateZ(-23deg) rotateX(67deg)}.orbit-b{inset:1%;transform:rotateZ(35deg) rotateX(70deg)}.orbit-c{inset:10%;transform:rotateZ(-68deg) rotateX(55deg)}.orbit-track{position:absolute;inset:0;border:1px solid rgba(238,197,127,.49);border-radius:50%;box-shadow:0 0 4px #efbf7744,inset 0 0 4px #efbf7733;animation:spin 22s linear infinite}.orbit-b .orbit-track{border-color:rgba(125,216,219,.48);box-shadow:0 0 5px #80e1e555;animation:spin 29s linear infinite reverse}.orbit-c .orbit-track{animation-duration:38s;opacity:.58}.orbit-track:before{content:"";position:absolute;inset:-1px;border:2px solid transparent;border-top-color:#ffe3a5;border-left-color:#f9cb7544;border-radius:50%;filter:drop-shadow(0 0 4px #ffb53e)}.orbit-b .orbit-track:before{border-top-color:#bdfcff;border-left-color:#9fecff22;filter:drop-shadow(0 0 4px #84dfed)}.orbit-track i,.orbit-track b{position:absolute;top:-4px;left:50%;width:7px;height:7px;border-radius:50%;background:#fff4d4;box-shadow:0 0 6px 3px #ffddaabb,0 0 17px 5px #fac77888}.orbit-track b{top:auto;bottom:-3px;width:4px;height:4px;opacity:.75}.orbit-b .orbit-track i{background:#eeffff;box-shadow:0 0 6px 3px #b1f0ffc9,0 0 17px 5px #83e0ff88}.core{position:absolute;inset:35%;width:30%;height:30%;overflow:visible;filter:drop-shadow(0 0 4px #ffd47e) drop-shadow(0 0 14px #f1b65a);animation:breathe 5s ease-in-out infinite}.sphere-lines{transform-origin:80px 80px;animation:spin 24s linear infinite;opacity:.8}.core-star{transform-origin:80px 80px;animation:spin 80s linear infinite;opacity:.9}.core-glow{position:absolute;inset:35%;background:radial-gradient(circle,#ffe0a573,rgba(239,177,63,.25) 30%,transparent 68%);filter:blur(13px);animation:breathe 5s ease-in-out infinite}.palm-light{position:absolute;left:47.2%;top:52.1%;width:15%;height:7%;border-radius:50%;transform:translate(-50%,-50%) rotate(12deg);background:radial-gradient(ellipse,#fff2c88a 0%,#ffd39440 32%,#ecb75d18 54%,transparent 72%);mix-blend-mode:screen;filter:blur(6px);animation:breathe 5s ease-in-out infinite}.pulse-ring{position:absolute;inset:35%;border:1px solid #ffe4a3;border-radius:50%;opacity:0;box-shadow:0 0 15px #e6b97066}.is-awakening .pulse-ring{animation:ripple 1.8s ease-out}.is-awakening .core-glow{animation:flare 1.8s ease-out}.is-awakening .palm-light{animation:flare 1.8s ease-out}#particles{position:absolute;inset:0;width:100%;height:100%}.motion-paused .scene *{animation-play-state:paused!important}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -6px}}@keyframes incline{0%,100%{transform:rotateX(20deg) rotateY(-17deg) rotateZ(-8deg)}50%{transform:rotateX(28deg) rotateY(-9deg) rotateZ(-5deg)}}@keyframes breathe{0%,100%{opacity:.77}50%{opacity:1}}@keyframes ripple{0%{transform:scale(.6);opacity:0}15%{opacity:.8}100%{transform:scale(4);opacity:0}}@keyframes flare{0%,100%{opacity:.7}30%{opacity:1;filter:brightness(1.5) blur(8px)}}
dialog{width:min(500px,calc(100% - 36px));padding:47px 38px 32px;border:1px solid #8e744c;border-radius:12px;background:radial-gradient(ellipse at top,#26313255,transparent 70%),#0c1315;color:var(--cream);box-shadow:0 30px 120px #000b;text-align:center}dialog::backdrop{background:#020606b8;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:13px;top:9px;background:transparent;color:#cbbd9f;width:36px;height:36px;font-size:27px}.dialog-compass{margin:0 auto 23px;width:60px;height:60px;color:#d6b780;stroke-width:.9}dialog .eyebrow{font-size:10px;letter-spacing:3px}dialog h2{font-family:var(--serif);font-weight:400;font-size:33px;margin:15px 0 20px}#dialog-description{line-height:1.9;font-size:14px;color:#bbbdb4;word-break:keep-all}#dialog-points{text-align:left;list-style:none;margin:25px 0;padding:20px 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);line-height:2.3;color:#d4c5aa;font-size:13px}#dialog-points li:before{content:"✦";color:#b39462;font-size:9px;margin-right:12px}.dialog-note{font-size:12px;color:#a9a699}.dialog-done{display:flex;justify-content:space-between;width:100%;background:#d8bd8d;color:#141713;padding:14px 20px;border-radius:30px;margin-top:23px;font-weight:600}.dialog-open{overflow:hidden}
@media(min-width:1900px){.hero-copy{padding-top:12vw}.scene-controls{margin-top:3vw}.services{margin-top:2vw}.service-card{min-height:205px}.hero-copy h1{font-size:5vw}}
@media(min-width:901px) and (max-width:1200px){.header{padding:20px 4%;gap:24px}.brand-icon{width:49px;height:49px}.brand-name{font-size:31px}.brand-tagline{font-size:8px}.navigation{gap:20px}.navigation a{font-size:11px}.header-cta{display:none}.hero-copy{margin-left:6%;padding-top:130px;width:42%}.hero-copy h1{font-size:49px}.hero-description{font-size:12px}.promises{gap:12px;margin-top:30px}.promises>div{gap:8px;padding-right:12px}.promises svg{width:27px;height:27px}.promises p{font-size:11px}.promises small{font-size:9px}.primary-cta{margin-top:24px;padding:14px 24px;min-width:224px;font-size:14px}.vertical-verse{right:7%;font-size:11px;top:19%}.scene-controls{margin-top:16px;margin-bottom:14px}.service-card{padding:18px;min-height:162px}.service-card h2{font-size:20px}.service-card p{font-size:10px}.card-arrow{width:24px;height:24px;right:13px;bottom:15px}.footer>a{display:none}}
@media(max-width:900px){.header{padding:19px 24px;gap:16px}.brand{gap:11px}.brand-icon{width:50px;height:50px}.brand-name{font-size:30px}.brand-tagline{font-size:9px;letter-spacing:.6px;margin-top:5px}.header-cta{margin-left:auto;font-size:11px;padding:10px 17px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;margin-left:auto;min-width:38px;height:38px;background:#09111399;border:1px solid #76634570;border-radius:50%;padding:11px}.menu-toggle span{width:15px;height:1px;background:#d6c199;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.navigation{display:none;position:absolute;left:20px;right:20px;top:86px;padding:17px 24px;border:1px solid #66553d;border-radius:10px;background:#0a1112f5;box-shadow:0 25px 60px #0008}.navigation.is-open{display:flex;flex-direction:column;gap:2px}.navigation a{padding:14px 0;font-size:14px}.navigation a:after{display:none}.scene{width:1100px;max-width:none;left:50%;transform:translateX(-55%);top:65px}.scene-shade{background:linear-gradient(180deg,transparent 350px,rgba(9,13,14,.25) 470px,#090d0e 640px);}.hero-copy{padding-top:570px;text-align:center;margin:0 auto;width:min(580px,calc(100% - 44px))}.hero-copy h1{font-size:52px;line-height:1.3;margin-top:19px}.eyebrow{font-size:10px;letter-spacing:4px}.hero-description{font-size:14px;line-height:1.9;margin-top:20px}.primary-cta{margin-top:27px;font-size:15px;min-width:256px}.promises{justify-content:center;gap:17px;margin:33px auto 0;max-width:100%}.promises>div{gap:9px;padding-right:17px;text-align:left}.promises svg{width:28px;height:28px}.promises p{font-size:11px}.promises small{font-size:9px}.vertical-verse{display:none}.scene-controls{position:absolute;top:520px;left:0;right:0;justify-content:center;margin:0}.scene-controls button{background:#080e11a6;font-size:10px}.services{grid-template-columns:repeat(2,1fr);margin:45px 24px 0;gap:13px}.service-card{min-height:180px;padding:23px}.service-card h2{font-size:23px}.service-card p{font-size:12px}.footer{padding:32px 20px}.footer>a{display:none}.footer-wordmark{gap:13px}.footer-wordmark span{width:45px}.footer-wordmark b{letter-spacing:6px}}
@media(max-width:540px){.header{padding:15px 19px}.brand-icon{width:44px;height:44px}.brand-name{font-size:28px}.brand-tagline{font-size:8px}.header-cta{display:none}.scene{width:225vw;max-width:960px;transform:translateX(-54%);top:76px}.magic-anchor{width:27%;left:48.35%}.hero-copy{padding-top:493px;width:calc(100% - 38px)}.scene-shade{background:linear-gradient(180deg,transparent 330px,rgba(9,13,14,.1) 390px,#090d0e 505px)}.scene-controls{top:441px}.hero-copy h1{font-size:42px;letter-spacing:-1.4px;line-height:1.36}.hero-description{font-size:12px;line-height:1.9;margin-top:18px}.primary-cta{padding:15px 27px;min-width:242px;margin-top:24px;font-size:14px}.promises{gap:11px;margin-top:30px}.promises>div{display:block;text-align:center;padding-right:11px}.promises svg{margin:0 auto 9px;width:26px;height:26px}.promises p{font-size:10px}.promises small{font-size:8px;letter-spacing:-.3px}.services{margin:34px 18px 0;gap:10px}.service-card{min-height:175px;padding:18px 15px 36px;border-radius:7px}.card-number{font-size:8px;letter-spacing:1.3px}.service-card h2{font-size:19px}.service-card p{font-size:10px;line-height:1.8;margin-top:10px}.card-arrow{right:13px;bottom:11px;width:24px;height:24px}.card-arrow svg{width:16px;height:16px}.footer-wordmark span{width:23px}.footer-wordmark{gap:11px}.footer p{font-size:9px;letter-spacing:.5px}dialog{padding:40px 25px 28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene *{animation-play-state:paused}.motion-enabled .scene *{animation-play-state:running}.service-card,.service-card:before,.primary-cta{transition:none}body:not(.motion-enabled) .scene-controls #awaken,body:not(.motion-enabled) .control-separator{display:none}}
button.service-card{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}
