@charset "UTF-8";
/* FORM/FIELD — R00000007 / softer, more natural stars. */
:root{
  color-scheme:dark;
  --night:#050b19;
  --white:#f2f6ff;
  --silver:#c1cde0;
  --soft:#9aa9c3;
  --muted:#7e90ad;
  --line:rgba(191,207,236,.19);
  --accent:#d6e6ff;
  --sans:"Pretendard Variable","Pretendard","Noto Sans KR","NanumBarunGothic","Apple SD Gothic Neo","Malgun Gothic",Arial,sans-serif;
  --serif:"Noto Serif KR","NanumMyeongjo","Times New Roman",Georgia,serif;
  --eng:Georgia,"Times New Roman",serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --max:1560px;
  --gutter:clamp(24px,6vw,112px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{position:relative;margin:0;min-width:280px;min-height:100vh;
  background-color:var(--night);
  /* Solid color only; all stars and gas belong to the document-scrolling sky. */
  background-image:none;
  color:var(--white);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.65;overflow-x:clip}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block;width:100%;height:auto}
::selection{background:#dae9ff;color:#081124}
:focus-visible{outline:2px solid #e4f1ff;outline-offset:5px}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:200;left:15px;top:-95px;background:#f1f6ff;color:#081124;padding:12px 18px;font-weight:700;transition:top .2s}.skip-link:focus{top:15px}
/* R00000004: sparse background stars; independent twinkles scroll with content. */
.site-sky{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 60% 70% at 67% 39%,rgba(40,61,111,.065),transparent 80%)}
.site-sky::before{content:"";position:absolute;inset:0;z-index:0;opacity:.38;background-image:url("/assets/star-texture.svg");background-size:960px 820px;background-repeat:repeat}
.site-sky::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 85% 80% at 50% 48%,transparent 33%,rgba(0,3,11,.22) 100%)}
.site-sky__stars{position:absolute;inset:0;z-index:1}
/* R00000005 — readable independent twinkles with a few refined four-point flares. */
/* R00000007: photometric point stars, soft atmospheric halos, rare fine flares. */
.sky-star{position:absolute;left:var(--sx);top:var(--sy);width:var(--size);height:var(--size);background:var(--color);border-radius:50%;opacity:var(--alpha);box-shadow:0 0 var(--blur) var(--color);animation:star-breathe var(--duration) ease-in-out var(--delay) infinite}
.sky-star--luminous{box-shadow:0 0 2px .5px var(--color),0 0 9px 1px rgba(199,218,255,.13)}
.sky-star--spark{z-index:1;background:var(--color);box-shadow:0 0 3px .6px var(--color),0 0 11px 1px rgba(171,204,255,.23);animation-name:star-flash}
.sky-star--spark::before,.sky-star--spark::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--tilt));border-radius:999px;pointer-events:none;opacity:.72}
.sky-star--spark::before{width:1px;height:var(--ray);background:linear-gradient(180deg,transparent,var(--color) 50%,transparent)}
.sky-star--spark::after{width:var(--ray);height:1px;background:linear-gradient(90deg,transparent,var(--color) 50%,transparent)}
@keyframes star-breathe{0%,100%{opacity:calc(var(--alpha) * .35);transform:scale(.83)}48%{opacity:var(--alpha);transform:scale(1.12)}}
@keyframes star-flash{0%,100%{opacity:.15;transform:scale(.70)}47%{opacity:1;transform:scale(1.24)}69%{opacity:.5;transform:scale(.93)}}
.stars-paused .sky-star{animation-play-state:paused}
/* Structure above the night. No opaque content panels. */
.site-header,main,.site-footer{position:relative;z-index:1}
.shell{width:100%;max-width:var(--max);padding-left:var(--gutter);padding-right:var(--gutter);margin-left:auto;margin-right:auto}
.eyebrow,.section-kicker,.hero-meta,.hero-overline,.hero-foot,.page-overline,.project-index,.project-hero__base,.project-row__no,.project-row__type,.artwork figcaption,.editorial-disclaimer,.filter-bar,.footer-upper,.footer-bottom,.manifesto-overline{font-family:var(--mono);letter-spacing:.12em}
.site-header{height:91px;padding:0 var(--gutter);max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:52px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;white-space:nowrap;font-size:19px;font-weight:750;letter-spacing:-.07em;line-height:1}
.brand-star{font-size:24px;font-weight:400;color:#d8e7ff;margin-right:12px;transform:translateY(-1px)}
.brand-slash{color:#93a8ca;margin:0 3px}
.site-nav{display:flex;gap:clamp(25px,3vw,56px);align-items:center;margin-left:auto}
.site-nav a{padding:12px 0;color:#a8b6ce;font-size:12px;font-weight:600;white-space:nowrap;transition:color .2s}
.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--white)}
.site-nav a[aria-current=page]::after{content:"";display:block;width:100%;height:1px;margin-top:6px;background:var(--accent)}
.nav-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid var(--line);width:41px;height:41px;margin-left:auto;padding:0}
.nav-toggle span{width:17px;height:1px;background:var(--white);transition:transform .2s}
.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{position:absolute;z-index:30;left:var(--gutter);right:var(--gutter);top:91px;background:rgba(4,11,25,.97);border:1px solid var(--line);padding:18px 28px 26px;box-shadow:0 22px 48px rgba(0,0,0,.4);backdrop-filter:blur(16px)}
.mobile-nav a{display:block;font-size:22px;line-height:1.45;padding:13px 0;border-bottom:1px solid var(--line)}
/* HOME / one sky and free-floating type */
.home-hero{min-height:calc(100svh - 91px);min-height:max(690px,calc(100svh - 91px));display:flex;flex-direction:column;position:relative}
.hero-meta,.hero-foot{display:flex;justify-content:space-between;gap:24px;font-size:10px;color:#99abc8}
.hero-meta{padding-top:33px}.hero-meta>span:first-child{display:inline-flex;align-items:center;gap:11px}
.signal{display:inline-block;width:5px;height:5px;background:#e2edff;border-radius:50%;box-shadow:0 0 10px rgba(198,221,255,.75)}
.hero-core{position:relative;flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:1250px;padding-top:80px;padding-bottom:93px}
.hero-overline{display:flex;align-items:center;gap:21px;font-size:11px;color:#a5b6d4;margin:0 0 39px;line-height:1}
.hero-overline span{font-size:16px;line-height:.6;color:#e9f4ff}
.home-hero h1{margin:0;font-weight:650;font-size:clamp(56px,7.4vw,126px);letter-spacing:-.087em;line-height:1.21;word-break:keep-all;white-space:nowrap;text-shadow:0 4px 50px rgba(9,23,47,.32)}
.home-hero h1 span{font-weight:400;background:linear-gradient(100deg,#f0f6ff 8%,#b5c5e5 54%,#f2f6ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{font-size:clamp(15px,1.45vw,20px);font-weight:400;letter-spacing:-.04em;line-height:2;color:#aebcce;margin:42px 0 43px;word-break:keep-all}
.hero-links{display:flex;align-items:center;gap:clamp(30px,5vw,83px);flex-wrap:wrap}
.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;border-bottom:1px solid rgba(229,239,255,.72);padding:0 0 14px;min-width:185px;font-weight:600;font-size:13px;letter-spacing:-.02em;transition:border-color .25s,color .25s}
.line-link span{font-size:18px;font-weight:400;transition:transform .25s}
.line-link:hover{color:#a3c1ff;border-color:#a3c1ff}.line-link:hover span{transform:translate(3px,-3px)}
.line-link--quiet{color:#a5b5cb;border-bottom-color:rgba(188,204,231,.30)}
.hero-foot{border-top:1px solid var(--line);padding:22px 0 26px}
.hero-foot span span{display:inline-block;margin-left:10px}
/* Editorial sections — transparent all the way down */
.night-section{padding-top:150px;padding-bottom:115px}
.section-kicker{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#a0afc9}
.section-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(170px,.6fr);align-items:end;gap:70px;padding:76px 0 70px}
.section-intro h2,.related-title{font-weight:550;font-size:clamp(43px,5.5vw,94px);line-height:1.32;letter-spacing:-.075em;margin:0;word-break:keep-all}
.section-intro h2 em,.related-title em,.page-heading h1 em,.studio-statement h2 em,.manifesto h2 em,.footer-heading span{font-family:var(--serif);font-style:normal;font-weight:400;letter-spacing:-.065em;color:#c0d0ef}
.section-intro p{margin:0 0 4px;color:#a9b9d2;line-height:2;font-size:14px;word-break:keep-all}
.project-list{border-top:1px solid var(--line)}
.project-row{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr) 155px 22px;align-items:center;gap:26px;padding:30px 3px 31px;border-bottom:1px solid var(--line);transition:background .25s,padding .25s;min-width:0}
.project-row:hover{background:rgba(180,206,255,.037);padding-left:17px;padding-right:17px}
.project-row__no,.project-row__type{font-size:10px;color:#90a1bd;white-space:nowrap}
.project-row__main{min-width:0;display:flex;flex-direction:column;gap:11px}
.project-row__title{font-weight:550;font-size:clamp(26px,3.4vw,58px);line-height:1.2;letter-spacing:-.065em;transition:color .2s}
.project-row:hover .project-row__title{color:#bad1ff}
.project-row__subtitle{font-size:12px;line-height:1.6;color:#91a4be;word-break:keep-all;letter-spacing:-.02em}
.project-row__arrow{font-size:26px;line-height:1;color:#bdcdea;transition:transform .2s}
.project-row:hover .project-row__arrow{transform:translate(3px,-3px)}
.view-all{display:inline-flex;align-items:center;gap:75px;margin-top:44px;padding-bottom:14px;border-bottom:1px solid rgba(232,242,255,.6);font-size:13px;font-weight:600}
.view-all span{font-size:17px;transition:transform .2s}.view-all:hover span{transform:translate(3px,-3px)}
.manifesto{padding-top:155px;padding-bottom:155px}
.manifesto-overline{font-size:11px;color:#a9bad3;margin:115px 0 35px}
.manifesto h2{font-size:clamp(54px,8.2vw,135px);line-height:1.28;font-weight:530;letter-spacing:-.09em;word-break:keep-all;margin:0}
.manifesto-foot{display:flex;justify-content:space-between;gap:45px;align-items:end;margin-top:83px}
.manifesto-foot p{font-size:15px;color:#a5b4ca;line-height:2;margin:0;word-break:keep-all}
.archive-listing{padding-bottom:175px}
/* Inner pages */
.page-heading{min-height:560px;padding-top:117px;padding-bottom:95px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.page-overline{color:#adbfda;font-size:11px;line-height:1.7}
.page-heading h1{font-size:clamp(65px,8.2vw,134px);font-weight:550;letter-spacing:-.09em;line-height:1.24;margin:47px 0 22px;word-break:keep-all}
.page-description{color:#acbdd3;line-height:1.95;font-size:clamp(15px,1.4vw,19px);margin:15px 0 0;word-break:keep-all}
.page-list{padding-top:30px}
.filter-bar{display:flex;gap:35px;padding:40px 0 25px;flex-wrap:wrap}
.filter-bar button{background:transparent;border:none;border-bottom:1px solid transparent;padding:4px 0 12px;font-size:13px;letter-spacing:-.02em;color:#8ea0bb;transition:color .2s}
.filter-bar button.active,.filter-bar button:hover{color:#f4f8ff;border-bottom-color:#e1ebfa}
.filter-bar button span{font-size:9px;font-family:var(--mono);margin-left:4px;vertical-align:top}
.editorial-disclaimer{color:#879bb8;font-size:10px;line-height:1.8;margin:40px 0 0}
/* Studio page stays transparent, too */
.studio-hero{min-height:650px}
.studio-statement{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.65fr);align-items:end;gap:75px;padding:98px 0 8px}
.studio-statement h2{font-size:clamp(43px,5.3vw,83px);font-weight:550;line-height:1.36;letter-spacing:-.073em;margin:0;word-break:keep-all}
.studio-statement p{color:#a5b8d0;font-size:15px;line-height:2;word-break:keep-all}
.studio-statement p+p{margin-top:33px}
.principle-line{display:grid;grid-template-columns:75px minmax(0,1fr) 36%;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding:44px 0}
.principle-line:first-of-type{margin-top:65px;border-top:1px solid var(--line)}
.principle-line>span{font:11px var(--mono);color:#91a4c0}
.principle-line strong{font-size:clamp(28px,3.8vw,55px);font-weight:500;letter-spacing:-.05em}
.principle-line p{font-size:14px;line-height:1.8;color:#a4b5cb;margin:0;word-break:keep-all}
/* Editorial project details. Artwork is content, never an alternate section background. */
.project-hero{padding-top:112px;padding-bottom:110px}
.project-hero .page-overline a{color:#b9c8de;border-bottom:1px solid #7e90aa}
.project-hero .page-overline span{margin:0 12px;color:#667e9e}
.project-hero__heading{display:grid;grid-template-columns:125px 1fr;gap:16px;align-items:start;margin-top:83px}
.project-index{font-size:11px;color:#9bacbf;margin-top:17px}
.project-hero h1{font-size:clamp(70px,10vw,160px);font-weight:550;line-height:1.1;letter-spacing:-.08em;min-width:0;overflow-wrap:anywhere;margin:0}
.project-hero__lead{font-size:clamp(23px,2.6vw,40px);font-weight:400;letter-spacing:-.05em;color:#c3d0e5;margin:45px 0 105px;line-height:1.6}
.project-hero__base{font-size:10px;color:#a2b4ce;display:flex;gap:16px;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}
.artwork{margin-top:0;margin-bottom:0}
.artwork img{max-height:780px;object-fit:cover;aspect-ratio:1.55;background:#101d30;border:1px solid rgba(216,229,247,.1)}
.artwork figcaption{font-size:10px;color:#93a6c2;display:flex;justify-content:space-between;gap:30px;padding-top:20px}
.detail-copy{padding-top:165px;padding-bottom:180px}
.detail-copy__grid{padding-top:74px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.72fr);gap:60px;align-items:start}
.detail-copy__grid h2{font-size:clamp(38px,4.4vw,72px);font-weight:550;line-height:1.36;letter-spacing:-.065em;margin:0;word-break:keep-all}
.detail-copy__grid>p{max-width:490px;margin:0;color:#adbed5;line-height:2.2;font-size:16px;word-break:keep-all}
.related-title{margin:75px 0 60px}
.related-section{padding-bottom:160px}
.page-error{min-height:70vh}
.page-error .line-link{margin-top:50px}
/* Footer — brand/company appears here */
.site-footer{padding-top:90px;padding-bottom:35px}
.footer-upper{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;color:#92a4c0;font-size:10px}
.footer-upper .text-link{letter-spacing:-.02em;font-family:var(--sans);font-size:12px}
.footer-upper .text-link span{padding-left:10px}
.footer-heading{font-size:clamp(48px,6.7vw,112px);letter-spacing:-.08em;line-height:1.25;font-weight:500;margin:75px 0 110px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 0 0;border-top:1px solid var(--line);font-size:10px;line-height:1.8;color:#879ab6}
@media (min-width:1600px){.site-header{padding-left:112px;padding-right:112px}}
@media (max-width:1100px){
 .home-hero h1{font-size:clamp(51px,7.2vw,85px)}
 .section-intro{gap:40px}
 .project-row{grid-template-columns:90px minmax(0,1fr) 120px 20px;gap:18px}
 .studio-statement{grid-template-columns:1.3fr .7fr;gap:40px}
}
@media (max-width:780px){
 :root{--gutter:clamp(22px,5.5vw,42px)}
 .site-header{height:76px;gap:15px}
 .brand{font-size:19px}.brand-star{font-size:22px}
 .site-nav{display:none}.nav-toggle{display:flex}.mobile-nav{top:76px}
 .home-hero{min-height:max(640px,calc(100svh - 76px))}
 .hero-meta{font-size:9px;padding-top:25px}.hero-meta>span:last-child{display:none}
 .hero-core{padding-top:45px;padding-bottom:70px}
 .home-hero h1{font-size:clamp(43px,8.4vw,73px);letter-spacing:-.085em;line-height:1.35}
 .hero-overline{margin-bottom:35px;font-size:10px}
 .hero-lead{font-size:16px;margin:34px 0}
 .hero-foot{font-size:9px}
 .night-section{padding-top:100px;padding-bottom:85px}
 .section-intro{display:block;padding:59px 0 55px}.section-intro p{margin-top:29px}
 .section-intro h2{font-size:clamp(43px,7.7vw,70px)}
 .project-row{grid-template-columns:60px minmax(0,1fr) 20px;gap:14px;padding:28px 0 29px}
 .project-row__type{display:none}.project-row__title{font-size:clamp(28px,4.4vw,41px)}
 .project-row__subtitle{font-size:12px}.project-row__no{font-size:9px}
 .manifesto{padding-top:90px;padding-bottom:90px}.manifesto-overline{margin-top:70px}
 .manifesto h2{font-size:clamp(53px,8.3vw,79px)}
 .manifesto-foot{margin-top:55px}
 .page-heading{min-height:500px;padding-top:80px;padding-bottom:65px}
 .page-heading h1{font-size:clamp(54px,9vw,92px)}
 .studio-statement,.detail-copy__grid{grid-template-columns:1fr;gap:26px}
 .studio-statement{padding-top:75px}.studio-statement h2{font-size:clamp(45px,7.1vw,74px)}
 .studio-hero{min-height:575px}
 .principle-line{grid-template-columns:40px 1fr;gap:15px;padding:32px 0}
 .principle-line p{grid-column:2}
 .project-hero{padding-top:85px;padding-bottom:65px}
 .project-hero__heading{grid-template-columns:65px 1fr;gap:10px;margin-top:55px}
 .project-hero h1{font-size:clamp(55px,10vw,100px)}
 .project-hero__lead{margin:42px 0 68px}
 .detail-copy{padding-top:105px;padding-bottom:120px}
 .artwork figcaption{font-size:9px;flex-wrap:wrap}
 .footer-heading{margin:70px 0 100px}
 .footer-bottom{flex-direction:column;align-items:flex-start;gap:4px;font-size:9px}
}
@media(max-width:520px){
 :root{--gutter:21px}
 .site-header{height:70px}.mobile-nav{top:70px}
 .hero-core{padding-bottom:47px;padding-top:38px}
 .home-hero{min-height:max(670px,calc(100svh - 70px))}
 .hero-overline{font-size:9px;letter-spacing:.11em;margin-bottom:43px}
 .home-hero h1{font-size:clamp(34px,8.95vw,46px);letter-spacing:-.085em;line-height:1.35}
 .hero-lead{font-size:14px;line-height:2;letter-spacing:-.05em;margin:34px 0 39px}
 .hero-links{flex-direction:column;align-items:flex-start;gap:25px;width:100%}.line-link{min-width:210px;font-size:13px}
 .hero-foot{font-size:8px;letter-spacing:.04em}.hero-foot>span:last-child{display:none}
 .section-kicker{font-size:9px;letter-spacing:.055em}
 .section-kicker span:last-child{opacity:.75}
 .section-intro h2{font-size:clamp(37px,9vw,49px)}
 .section-intro p{font-size:13px}
 .project-row{grid-template-columns:42px minmax(0,1fr) 18px;gap:9px;padding:23px 0 24px}
 .project-row__title{font-size:clamp(26px,7vw,36px)}
 .project-row__subtitle{font-size:11px;line-height:1.65}
 .project-row__no{font-size:8px}.project-row__arrow{font-size:20px}
 .view-all{margin-top:37px}
 .manifesto h2{font-size:clamp(41px,10.8vw,60px);line-height:1.34}
 .manifesto-foot{flex-direction:column;align-items:flex-start}.manifesto-foot p{font-size:13px}
 .page-heading h1{font-size:clamp(44px,11vw,60px);margin-top:46px}
 .page-description{font-size:14px}
 .page-heading{min-height:480px}
 .filter-bar{gap:20px;padding:26px 0}.filter-bar button{font-size:12px}
 .project-hero .page-overline{font-size:9px;letter-spacing:.045em}
 .project-hero__heading{display:block;margin-top:48px}.project-index{display:block;margin:0 0 18px}
 .project-hero h1{font-size:clamp(51px,13vw,77px)}
 .project-hero__lead{font-size:22px;margin:35px 0 70px}
 .project-hero__base{font-size:9px;flex-wrap:wrap;letter-spacing:.045em}
 .artwork img{aspect-ratio:1.07}.artwork figcaption{font-size:8px}
 .detail-copy__grid h2{font-size:39px}.detail-copy__grid>p{font-size:14px}
 .related-title{font-size:43px}
 .studio-statement h2{font-size:41px}.studio-statement p{font-size:14px}
 .footer-upper{font-size:8px}.footer-heading{font-size:clamp(51px,12vw,70px);margin:60px 0 82px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
 .sky-star{animation:none!important;opacity:var(--alpha)!important;transform:none!important}
}

/* Usable navigation when scripting is unavailable on narrow screens. */
@media(max-width:780px){
 html:not(.js) .site-header{flex-wrap:wrap;height:auto;min-height:76px;padding-top:20px;padding-bottom:16px}
 html:not(.js) .site-nav{display:flex;order:3;flex-basis:100%;margin-left:0;margin-top:12px;justify-content:space-between;gap:12px}
 html:not(.js) .site-nav a{font-size:11px}
 html:not(.js) .nav-toggle{display:none}
}
