@font-face{font-family:Fraunces;src:url("9900ad35-2cce-4f1d-8656-6ecf9565c14b.woff2") format("woff2");font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#0a100f;color:#e7eae3;font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background:url(gate-background.webp) center/cover;opacity:.1;pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9bcab8;outline-offset:6px}::selection{background:#b4d9c4;color:#0b1912}.shell{width:min(1240px,calc(100% - 100px));margin:auto}.nav{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:94px;border-bottom:1px solid #ffffff22}.logo{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:28px;display:flex;align-items:center;gap:16px}.logo img{height:28px;width:10px;transform:rotate(35deg)}.navlinks{display:flex;gap:30px;font-size:13px;color:#c0cbc3}.navlinks a:hover{color:#a6d2bd}.hero{position:relative;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;min-height:640px;padding:75px 0 80px;gap:25px}.eyebrow{font-size:11px;letter-spacing:.14em;color:#abc8b8;display:block;margin:0 0 25px}.hero h1{font-size:clamp(34px,4.1vw,60px);font-weight:500;line-height:1.37;letter-spacing:-.065em;margin:0 0 27px;word-break:keep-all}.hero h1 em{color:#aac8b8;font-style:normal}.intro{font-size:15px;line-height:1.9;color:#b0bbb3;max-width:460px;word-break:keep-all;margin:0}.textlink{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #94ad9e;padding:10px 0;font-size:13px;margin-top:28px}.textlink:after{content:"↗"}.sky{position:relative;width:100%;aspect-ratio:1;max-width:450px;justify-self:end}.sky:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 42% 37%,#41615025,transparent 65%);box-shadow:inset 0 0 90px #8dbda010}.orbit{position:absolute;inset:9%;border:1px solid #94b5a432;border-radius:50%;transform:rotate(-32deg) scaleY(.62)}.orbit.two{inset:0;transform:rotate(40deg) scaleY(.62);border-style:dashed;border-color:#94b5a421}.orbit.three{inset:24%;transform:rotate(75deg) scaleY(.58)}.sky .cross{position:absolute;left:50%;top:50%;width:15px;height:15px;transform:translate(-50%,-50%);opacity:.6}.sky .cross:before,.sky .cross:after{content:"";position:absolute;background:#c4e2d2}.sky .cross:before{height:1px;width:15px;top:7px}.sky .cross:after{width:1px;height:15px;left:7px}.orb-label{position:absolute;font-size:12px;color:#becdc2;padding:5px 12px;background:#0b120f;border:1px solid #75978044;border-radius:30px}.orb-label:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#bddac8;margin-right:8px;box-shadow:0 0 10px #a6d2bd}.ol1{top:20%;left:19%}.ol2{right:2%;top:47%}.ol3{left:24%;bottom:16%}.sky-caption{position:absolute;bottom:1%;left:0;width:100%;text-align:center;font-family:Fraunces,serif;font-size:14px;letter-spacing:.05em;color:#798e80}.statbar{display:flex;gap:60px;border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:24px 0;color:#9aa99d;font-size:12px}.statbar strong{font-family:Fraunces,serif;font-size:27px;font-weight:400;color:#d4ddcf;margin-right:12px}.section{padding:100px 0 0;scroll-margin-top:20px}.sect-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:25px}.sect-head h2{font-family:Fraunces,Georgia,serif;font-size:46px;font-weight:400;line-height:1.2;margin:0}.sect-head h2 small{font-family:inherit;font-size:13px;vertical-align:middle;margin-left:15px;color:#aab9ad;letter-spacing:0}.sect-head>p{font-size:13px;color:#9da99f;max-width:360px;margin:0}.feature{display:grid;grid-template-columns:1.38fr 1fr;background:#111c17;border:1px solid #ffffff15;overflow:hidden}.feature-art{min-height:380px;background:#ecebdd;display:flex;position:relative;align-items:center;justify-content:center;color:#25473b;overflow:hidden}.feature-art .pattern{position:absolute;inset:0;background:radial-gradient(circle at 0 0,#97b095 0 80px,transparent 81px),radial-gradient(circle at 100% 100%,#24483e 0 105px,transparent 106px),linear-gradient(90deg,#bdd0af 55px,transparent 55px);opacity:.8}.feature-art .fftitle{font-family:Fraunces,Georgia,serif;position:relative;font-size:clamp(62px,6.8vw,102px);line-height:.95;text-align:center;letter-spacing:-.05em;transform:rotate(-6deg);transition:transform .5s}.feature:hover .fftitle{transform:rotate(0) scale(1.03)}.fftitle small{display:block;font-family:system-ui;font-size:10px;letter-spacing:.13em;line-height:1.6;margin-top:25px}.feature-art .corner{position:absolute;width:75px;height:75px;border-radius:50%;border:16px solid #8da78d;top:30px;right:35px}.feature-copy{padding:45px 38px;display:flex;flex-direction:column;justify-content:center}.kicker{font-size:10px;letter-spacing:.14em;color:#a5b8a7}.feature h3{font-size:29px;line-height:1.35;font-weight:500;letter-spacing:-.04em;margin:15px 0}.feature p,.project p{font-size:13px;color:#aebcaf;word-break:keep-all}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 5px}.tags span{font-size:10px;border:1px solid #ffffff20;padding:3px 9px;color:#adc1b2;border-radius:20px}.feature .textlink{align-self:flex-start}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px}.project{border-bottom:1px solid #ffffff26;padding-bottom:25px;display:block}.project .visual{height:265px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;background:#16251f;transition:background .3s}.project:hover .visual{background:#1c2e25}.project h3{font-size:23px;font-weight:500;margin:20px 0 8px;letter-spacing:-.035em}.project p{margin:0}.project .kicker{display:block;margin-top:20px}.deck-paper{background:#f0ecdf;color:#243b31;width:70%;min-height:210px;margin-top:50px;padding:27px;box-shadow:10px 0 0 #829d8733,22px 0 0 #829d8722;transform:rotate(-5deg);font-family:Fraunces,serif;font-size:29px;line-height:1.1;transition:transform .5s}.project:hover .deck-paper{transform:rotate(0deg)}.deck-paper small{display:block;font-family:system-ui;font-size:10px;margin-top:17px;color:#748071}.deck-line{width:70%;height:1px;background:#23402c33;margin:14px 0}.chamber-word{font-family:Fraunces,serif;font-size:clamp(36px,5vw,64px);letter-spacing:-.05em;z-index:1}.chamber-word small{font-family:system-ui;font-size:10px;display:block;text-align:center;letter-spacing:.25em;color:#92b29e}.c-orbit{position:absolute;border:1px solid #91b39a40;width:220px;height:220px;transform:rotate(-35deg) scaleY(.65);border-radius:50%}.c-orbit.second{transform:rotate(40deg) scaleY(.7);width:270px;height:270px}.archive-row{display:grid;grid-template-columns:80px 1fr auto;gap:20px;align-items:center;padding:32px 0;border-bottom:1px solid #ffffff22}.archive-no{font-family:Fraunces,serif;font-size:32px;color:#718a77}.archive-row h3{font-size:19px;font-weight:500;margin:0 0 7px}.archive-row p{font-size:13px;color:#99ac9d;margin:0}.badge{font-size:10px;border:1px solid #ffffff26;padding:5px 12px;border-radius:20px;white-space:nowrap;color:#b3c5b7}.about-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:100px}.about-title{font-family:Fraunces,serif;font-size:65px;font-weight:400;line-height:1.05;margin:0;color:#c5d3c5}.about-title small{display:block;font-family:system-ui;font-size:13px;line-height:1.8;color:#96a798;margin-top:25px}.about-body h3{font-size:25px;line-height:1.55;font-weight:500;letter-spacing:-.045em;margin:0 0 24px;word-break:keep-all}.about-body p{font-size:14px;color:#b2c0b4;word-break:keep-all}.skills{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #ffffff22;margin-top:32px;padding-top:25px}.skills h4{font-size:12px;font-weight:500;margin:0 0 8px;color:#d5ded3}.skills p{font-size:12px;color:#91a593;margin:0}.career{margin-top:40px}.job{display:grid;grid-template-columns:180px 1fr;border-top:1px solid #ffffff22;padding:28px 0;gap:24px}.job time{font-size:12px;color:#93a697}.job h3{font-size:18px;font-weight:500;margin:0}.job .role{font-size:12px;color:#a5b7aa;margin:5px 0 12px}.job p{font-size:13px;color:#9eaea1;max-width:720px;margin:0}.job ul{padding-left:18px;color:#a5b4a8;font-size:13px}.education{font-size:12px;color:#96a89b;padding-top:25px;border-top:1px solid #ffffff22}.contact{padding:105px 0 65px}.contact h2{font-family:Fraunces,serif;font-weight:400;font-size:clamp(42px,7vw,90px);letter-spacing:-.04em;margin:0}.contact p{color:#a8b9ad;font-size:14px}.contact>a{display:inline-block;font-family:Fraunces,serif;font-size:clamp(21px,3vw,38px);border-bottom:1px solid #6e8e76;margin:15px 0 30px}.footer{display:flex;justify-content:space-between;border-top:1px solid #ffffff22;padding:25px 0 35px;font-size:11px;color:#8a9b8e;gap:20px}.footer-links{display:flex;gap:20px}.case-hero{padding:80px 0 65px;max-width:890px}.case-hero h1{font-size:clamp(35px,5vw,63px);font-weight:500;line-height:1.3;letter-spacing:-.05em;margin:15px 0 28px}.case-hero .lead{font-size:19px;color:#b4c6b9;word-break:keep-all;line-height:1.8}.case-meta{display:flex;flex-wrap:wrap;gap:35px;font-size:12px;margin-top:35px;border-top:1px solid #ffffff25;padding-top:24px;color:#9bb2a2}.case-meta b{color:#dae5dc;font-weight:500;display:block;margin-bottom:5px}.case-sections{max-width:900px;margin:auto}.case-block{padding:45px 0;border-top:1px solid #ffffff22}.case-block h2{font-size:24px;font-weight:500;margin:0 0 20px}.case-block p,.case-block li{font-size:15px;line-height:1.9;color:#adbdaf;word-break:keep-all}.case-block ul{padding-left:20px}.case-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px}.flow{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.flow>div{padding:26px;border:1px solid #68867355;background:#14221a}.flow h3{font-size:16px;font-weight:500}.flow p{font-size:13px}.notice{padding:18px 22px;border-left:2px solid #88b69c;background:#16241c;color:#afc3b5;font-size:13px}.cta-button{display:inline-flex;padding:13px 24px;background:#c9dccb;color:#182d1f;font-size:13px;margin:20px 0;align-items:center;gap:20px}.cta-button:hover{background:#e4eddf}.case-image{max-width:100%;display:block}.case-end{margin:60px 0 80px}.muted{color:#8aa491}details{border-top:1px solid #ffffff22;padding:20px 0;font-size:13px;color:#a9bbae}summary{cursor:pointer;color:#cfddd0} @media(min-width:1500px){.hero{min-height:700px}}@media(max-width:900px){.shell{width:calc(100% - 48px)}.hero{min-height:560px;grid-template-columns:1.4fr 1fr}.hero h1{font-size:40px}.feature-copy{padding:30px}.about-layout{gap:40px}.statbar{gap:28px}.navlinks{gap:20px}}@media(max-width:640px){html{scroll-padding-top:20px}.shell{width:calc(100% - 40px)}.nav{min-height:80px;align-items:flex-start;padding:20px 0;gap:12px}.logo{font-size:24px}.navlinks{gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:11px;max-width:245px;padding-top:5px}.hero{display:block;padding:65px 0 40px;min-height:0}.hero h1{font-size:36px}.hero .intro{font-size:14px}.sky{width:75%;max-width:310px;margin:5px auto 0;height:auto}.statbar{gap:20px;flex-wrap:wrap;padding:20px 0}.statbar>div{flex:1;min-width:100px}.statbar strong{display:block;font-size:25px}.section{padding-top:70px}.sect-head{display:block;margin-bottom:26px}.sect-head h2{font-size:36px}.sect-head>p{margin-top:18px}.feature{grid-template-columns:1fr}.feature-art{min-height:290px}.feature-copy{padding:28px}.feature h3{font-size:25px}.project-grid{grid-template-columns:1fr;gap:30px}.project .visual{height:250px}.archive-row{grid-template-columns:35px 1fr;gap:14px}.archive-row .badge{grid-column:2;justify-self:start}.archive-no{font-size:25px}.about-layout{grid-template-columns:1fr;gap:36px}.about-title{font-size:50px}.about-body h3{font-size:23px}.job{grid-template-columns:1fr;gap:10px;padding:25px 0}.contact{padding-top:75px}.footer{flex-wrap:wrap}.case-hero{padding:55px 0 40px}.case-hero .lead{font-size:17px}.case-meta{gap:20px}.case-columns,.flow{grid-template-columns:1fr}.case-block{padding:30px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Key and coordinated orbital motion */
.sky{--orbit-spin:0deg;--orbit-tilt-x:0deg;--orbit-tilt-y:0deg;isolation:isolate}
.orbit-scene{position:absolute;inset:0 0 7%;transform:perspective(850px) rotateX(var(--orbit-tilt-x)) rotateY(var(--orbit-tilt-y));transform-style:preserve-3d}
.orbit-wheel{position:absolute;inset:0;transform:rotate(var(--orbit-spin))}
.orbit-wheel .orb-label{transform:rotate(calc(-1 * var(--orbit-spin)));font-size:10px;letter-spacing:.13em;white-space:nowrap}
.orbit-key{position:absolute;left:50%;top:50%;width:28px;height:91px;transform:translate(-50%,-50%);pointer-events:none}
.orbit-key:before{content:"";position:absolute;inset:-25px;background:radial-gradient(ellipse,#b5dfc52b,transparent 68%);opacity:.5;transition:opacity 1.3s}
.orbit-key img{display:block;width:100%;height:100%;object-fit:contain;animation:orbit-key-turn 38s linear infinite;filter:drop-shadow(0 0 6px #bcdfc540);opacity:.86;transition:filter 1.3s,opacity 1.3s}
.sky:hover .orbit-key img{filter:drop-shadow(0 0 10px #c5ead389);opacity:1}
.sky:hover .orbit-key:before{opacity:1}
.sky .sky-caption{bottom:0}
@keyframes orbit-key-turn{from{transform:rotate(-32deg)}to{transform:rotate(328deg)}}
@media(max-width:640px){.orbit-key{width:22px;height:71px}.orbit-wheel .orb-label{font-size:9px;padding:5px 9px}}
@media(prefers-reduced-motion:reduce){.orbit-scene,.orbit-wheel,.orbit-wheel .orb-label{transform:none!important}.orbit-key img{animation:none!important;transform:rotate(-32deg)}}
