/* =========================================================
   자문밖 국제 아트레지던시 — FLEX (PLAT) FORM
   Design system after SCALE Architecture (tropical-cloud.scale.kr)
   ========================================================= */

/* ---------- Spoqa Han Sans Neo (self-hosted, subset) ---------- */
@font-face{font-family:"Spoqa Han Sans Neo";font-weight:100;font-style:normal;font-display:swap;src:url("/assets/fonts/SpoqaHanSansNeo-Thin.woff2") format("woff2")}
@font-face{font-family:"Spoqa Han Sans Neo";font-weight:300;font-style:normal;font-display:swap;src:url("/assets/fonts/SpoqaHanSansNeo-Light.woff2") format("woff2")}
@font-face{font-family:"Spoqa Han Sans Neo";font-weight:400;font-style:normal;font-display:swap;src:url("/assets/fonts/SpoqaHanSansNeo-Regular.woff2") format("woff2")}
@font-face{font-family:"Spoqa Han Sans Neo";font-weight:500;font-style:normal;font-display:swap;src:url("/assets/fonts/SpoqaHanSansNeo-Medium.woff2") format("woff2")}
@font-face{font-family:"Spoqa Han Sans Neo";font-weight:700;font-style:normal;font-display:swap;src:url("/assets/fonts/SpoqaHanSansNeo-Bold.woff2") format("woff2")}

:root{
  /* color */
  --ink:#0E0E0E;
  --ink-2:#151515;
  --ink-3:#1c1c1c;
  --paper:#F3EDE3;
  --paper-2:#EAE2D5;
  --white:#ffffff;

  --on-dark:rgba(255,255,255,.90);
  --on-dark-mut:rgba(255,255,255,.52);
  --on-dark-faint:rgba(255,255,255,.32);
  --on-light:#1A1612;
  --on-light-mut:#6C6258;
  --on-light-faint:#9a8f82;

  --line-dark:rgba(255,255,255,.16);
  --line-light:rgba(26,22,18,.18);

  --accent:#4A6E7E;          /* dusty slate-blue, used sparingly */
  --accent-soft:#8FB0BC;

  /* type — Spoqa Han Sans Neo for all Korean; Playfair only for Latin display accents */
  --serif:"Playfair Display","Spoqa Han Sans Neo",serif;
  --serif-kr:"Spoqa Han Sans Neo",system-ui,-apple-system,sans-serif;
  --sans:"Spoqa Han Sans Neo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Space Grotesk","Spoqa Han Sans Neo",system-ui,sans-serif;

  /* layout */
  --wrap:1180px;
  --gut:clamp(22px,5vw,80px);
  --nav-h:74px;

  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset / base ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{
  font-family:var(--sans);
  background:var(--ink);
  color:var(--on-light);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  word-break:keep-all;
  overflow-wrap:break-word;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
em{font-style:italic}
::selection{background:var(--accent);color:#fff}

/* ---------- typography helpers ---------- */
.display{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.04;
  letter-spacing:-.01em;
  color:var(--on-light);
  font-size:clamp(2.1rem,5.2vw,4rem);
}
.display em{font-style:italic}
.display--lg{font-size:clamp(2.4rem,6vw,4.6rem)}
.display--xl{font-size:clamp(2.7rem,7.2vw,6rem)}
.display.light{color:var(--white)}
:lang(ko) .display{font-family:var(--serif-kr)}

.label{
  font-family:var(--mono);
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--on-light-mut);
  display:flex;align-items:center;gap:.85em;
  margin-bottom:1.6rem;
}
.label span{color:var(--on-light);font-weight:600}
.label::before{content:"";width:34px;height:1px;background:var(--line-light)}
.label--light{color:var(--on-dark-mut)}
.label--light span{color:var(--white)}
.label--light::before{background:var(--line-dark)}

.eyebrow{
  font-family:var(--mono);
  font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--on-light-mut);font-weight:400;
}
.eyebrow--light{color:rgba(255,255,255,.7)}

.lead{
  font-size:clamp(1.05rem,1.7vw,1.32rem);
  line-height:1.85;color:var(--on-light-mut);
  max-width:46ch;font-weight:350;
}
.lead strong{color:var(--on-light);font-weight:600}
.lead--light{color:var(--on-dark-mut)}
.lead--light strong{color:var(--white)}

.u{font-family:var(--mono);font-size:.62em;color:var(--on-light-faint);letter-spacing:.02em}

/* ---------- layout ---------- */
.section{padding:clamp(80px,11vw,160px) 0;position:relative}
.section--paper{background:var(--paper);color:var(--on-light)}
.section--ink{background:var(--ink);color:var(--on-dark)}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.wrap--narrow{max-width:880px}

/* =========================================================
   NAV
   ========================================================= */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--gut);
  color:#fff;
  transition:background .5s var(--ease),backdrop-filter .5s,height .4s,border-color .5s;
  border-bottom:1px solid transparent;
}
.nav.is-solid{
  background:rgba(14,14,14,.82);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  border-bottom-color:var(--line-dark);
  height:62px;
}
.nav__brand{display:flex;align-items:center}
.nav__logo{height:46px;width:auto;display:block;filter:invert(1);transition:height .4s var(--ease)}
.nav.is-solid .nav__logo{height:38px}
.nav__links{display:flex;gap:2.2rem}
.nav__links a{
  font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;
  color:rgba(255,255,255,.74);position:relative;padding:.4rem 0;
  transition:color .3s;
}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:.1rem;width:0;height:1px;
  background:var(--accent-soft);transition:width .35s var(--ease);
}
.nav__links a:hover{color:#fff}
.nav__links a:hover::after{width:100%}
.nav__links a[aria-current="true"]{color:#fff}
.nav__links a[aria-current="true"]::after{width:100%;background:var(--accent-soft)}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;height:100svh;min-height:620px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 60%;transform:scale(1.06);animation:heroZoom 14s var(--ease) forwards}
.hero__media video{width:100%;height:100%;object-fit:cover;object-position:center 60%}
@keyframes heroZoom{to{transform:scale(1)}}
.hero__scrim{position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to bottom,rgba(10,10,10,.55) 0%,rgba(10,10,10,0) 26%,rgba(10,10,10,0) 50%,rgba(10,10,10,.78) 100%);
}
.hero__inner{position:relative;z-index:2;padding:0 var(--gut) clamp(70px,11vh,120px);max-width:1100px}
.hero__title{margin:1.3rem 0 1.6rem;font-weight:500}
.hero__kr{
  display:block;font-family:var(--serif-kr);font-weight:500;
  font-size:clamp(2.5rem,7vw,5.6rem);line-height:1.02;letter-spacing:-.01em;
  text-shadow:0 2px 40px rgba(0,0,0,.35);
}
.hero__en{
  display:block;font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(1.2rem,3vw,2.3rem);letter-spacing:.02em;
  color:rgba(255,255,255,.82);margin-top:.5rem;
}
.hero__en em{font-style:normal;color:var(--accent-soft)}
.hero__sub{
  font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.7;
  color:rgba(255,255,255,.8);max-width:40ch;font-weight:350;
}
.hero__scroll{
  position:absolute;z-index:2;right:var(--gut);bottom:clamp(40px,7vh,64px);
  display:flex;flex-direction:column;align-items:center;gap:.8rem;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,255,255,.7);
}
.hero__scroll i{width:1px;height:54px;background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,0));position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;top:-50%;left:0;width:1px;height:50%;background:#fff;animation:scrollLine 2.2s var(--ease) infinite}
@keyframes scrollLine{0%{top:-50%}60%,100%{top:100%}}

/* =========================================================
   FACTS
   ========================================================= */
.facts{background:var(--ink);color:var(--on-dark);border-bottom:1px solid var(--line-dark);padding:clamp(48px,7vw,84px) 0}
.facts__grid{
  width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line-dark);
}
.fact{background:var(--ink);padding:1.2rem clamp(1rem,2.2vw,2rem) .6rem;display:flex;flex-direction:column;gap:.5rem}
.fact__label{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-faint)}
.fact__value{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2.1rem);line-height:1.1;color:#fff;font-weight:500}
:lang(ko) .fact__value{font-family:var(--serif-kr)}
.fact__value i{font-style:normal;color:var(--accent-soft);font-family:var(--sans);font-weight:300;margin:0 .12em}
.fact__note{font-size:.82rem;color:var(--on-dark-mut)}
.facts__grid,.fact{min-width:0}

/* =========================================================
   OVERVIEW
   ========================================================= */
.overview .label{margin-bottom:2rem}
.overview .display{max-width:18ch;margin-bottom:2.4rem}
.overview .display em{color:var(--accent)}
.overview .lead{margin-bottom:clamp(3rem,6vw,4.5rem)}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line-light);border:1px solid var(--line-light)}
.pillars li{background:var(--paper);padding:clamp(1.6rem,3vw,2.4rem)}
.pillars__num{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;color:var(--accent);display:block;margin-bottom:.9rem}
.pillars b{font-family:var(--serif);font-size:1.3rem;font-weight:600;display:block;margin-bottom:.5rem}
.pillars p{font-size:.94rem;color:var(--on-light-mut);line-height:1.6;max-width:34ch}

/* =========================================================
   CONCEPT INTRO
   ========================================================= */
.concept-intro{text-align:center}
.concept-intro .label{justify-content:center}
.concept-intro .label::after{content:"";width:34px;height:1px;background:var(--line-dark)}
.concept-intro .display{margin:0 auto 2rem}
.concept-intro .display em{color:var(--accent-soft)}
.concept-intro .lead{margin:0 auto;max-width:54ch;text-align:center}

/* =========================================================
   FEATURE — cinematic plate (c01, c03, c04)
   ========================================================= */
.feature--full{position:relative;min-height:88vh;display:flex;overflow:hidden;background:var(--ink)}
.feature--full.feature--tall{min-height:100vh}
.feature__media{position:absolute;inset:0;z-index:0}
.feature__media img{width:100%;height:100%;object-fit:cover}
.feature--full::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(8,8,8,.9) 0%,rgba(8,8,8,.35) 38%,rgba(8,8,8,0) 65%);
}
.feature__body--over{
  position:relative;z-index:2;align-self:flex-end;
  padding:clamp(48px,8vw,96px) var(--gut);max-width:760px;width:100%;
}
.feature__body--bottom{align-self:flex-end}
.index{font-family:var(--serif);font-size:clamp(2.6rem,5vw,4rem);line-height:1;color:var(--on-light-faint);font-weight:400;margin-bottom:1rem}
.index.light{color:rgba(255,255,255,.42)}
.feature__body .display{margin:.4rem 0 1.5rem}
.feature__body .display em{color:var(--accent-soft)}
.feature__text{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.85;color:var(--on-light-mut);max-width:48ch;font-weight:350}
.feature__text--light{color:rgba(255,255,255,.82)}

/* steps (c01) */
.steps{display:flex;gap:clamp(1.2rem,3vw,2.6rem);margin-top:2.2rem;flex-wrap:wrap}
.steps li{display:flex;flex-direction:column;gap:.2rem;position:relative;padding-right:clamp(1.2rem,3vw,2.6rem)}
.steps li:not(:last-child)::after{content:"→";position:absolute;right:0;top:.1rem;color:var(--accent-soft);transform:translateX(50%)}
.steps b{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:#fff}
.steps span{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-faint)}

/* tags (c03,c04) */
.tags{display:flex;gap:.6rem;margin-top:1.9rem;flex-wrap:wrap}
.tags li{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;
  padding:.42rem .95rem;border:1px solid rgba(255,255,255,.28);border-radius:100px;
  color:rgba(255,255,255,.86);
}

/* =========================================================
   FEATURE — paper split (c02 patrons / growth)
   ========================================================= */
.feature:not(.feature--full){
  background:var(--paper);color:var(--on-light);
  display:grid;grid-template-columns:1fr 1.15fr;align-items:center;
  gap:clamp(2rem,5vw,5rem);
  padding:clamp(70px,9vw,130px) var(--gut);
  max-width:calc(var(--wrap) + 2*var(--gut));margin:0 auto;
}
.feature--reverse:not(.feature--full){direction:rtl}
.feature--reverse:not(.feature--full) > *{direction:ltr}
.feature:not(.feature--full) .feature__media{position:static}
.feature__media--contain img{width:100%;height:auto;object-fit:contain}
.feature:not(.feature--full) .index{color:var(--on-light-faint)}
.feature:not(.feature--full) .display em{color:var(--accent)}
.growth-bar{display:flex;align-items:center;gap:clamp(.6rem,1.6vw,1.2rem);margin-top:2rem}
.growth-bar span{display:flex;flex-direction:column;align-items:flex-start}
.growth-bar b{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1;font-weight:600}
.growth-bar span small{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-light-faint);margin-top:.3rem}
.growth-bar i{flex:1;height:1px;background:var(--line-light);position:relative}
.growth-bar i::after{content:"";position:absolute;right:-1px;top:-2px;width:5px;height:5px;border-top:1px solid var(--accent);border-right:1px solid var(--accent);transform:rotate(45deg)}
.growth-bar--light b{color:#fff}
.growth-bar--light span small{color:var(--on-dark-faint)}
.growth-bar--light i{background:var(--line-dark)}
.growth-bar--light i::after{border-top-color:var(--accent-soft);border-right-color:var(--accent-soft)}

/* intro split (about) — portrait render beside the narrative */
.feature--intro{align-items:center}
.feature--intro .feature__media img{width:100%;height:auto;max-height:82vh;object-fit:cover;display:block}
.feature--intro .feature__body .feature__text{max-width:42ch}

/* spec facilities */
.spec__facility{margin-top:2.6rem}
.spec__facility-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-faint);margin-bottom:1.1rem}
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chips li{font-size:.9rem;color:var(--on-dark);padding:.5rem 1.05rem;border:1px solid var(--line-dark);border-radius:100px}
.spec__note{margin-top:2.6rem;padding-top:1.5rem;border-top:1px solid var(--line-dark);font-family:var(--mono);font-size:.78rem;letter-spacing:.03em;color:var(--on-dark-mut)}

/* =========================================================
   QUOTE
   ========================================================= */
.quote{background:var(--ink-2);color:#fff;padding:clamp(90px,14vw,180px) var(--gut);text-align:center}
.quote blockquote{max-width:980px;margin:0 auto}
.quote p{font-family:var(--serif-kr);font-size:clamp(1.7rem,4.4vw,3.3rem);line-height:1.3;font-weight:500;letter-spacing:-.01em}
.quote p em{font-style:normal;color:var(--accent-soft)}
.quote cite{display:block;margin-top:2rem;font-style:normal;font-size:.95rem;color:var(--on-dark-mut);letter-spacing:.01em;line-height:1.7;max-width:54ch;margin-left:auto;margin-right:auto}

/* =========================================================
   STRIP (parallax band)
   ========================================================= */
.strip{height:clamp(360px,62vh,640px);overflow:hidden;position:relative;background:var(--ink)}
.strip img{width:100%;height:120%;object-fit:cover;object-position:center 30%}
[data-parallax] img{will-change:transform}

/* =========================================================
   EFFICIENCY
   ========================================================= */
.efficiency .label{margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.eff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,3.4vw,3rem)}
.eff{border-top:1px solid var(--line-light);padding-top:1.5rem}
.eff h4{font-family:var(--serif);font-size:1.35rem;font-weight:600;margin-bottom:.8rem;line-height:1.25}
:lang(ko) .eff h4{font-family:var(--serif-kr)}
.eff p{font-size:.96rem;color:var(--on-light-mut);line-height:1.7}

/* =========================================================
   SPEC / 건축개요
   ========================================================= */
.spec .display{margin:1.6rem 0 clamp(3rem,6vw,4.5rem)}
.spec__phases{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);margin-bottom:2.5rem}
.phase{background:var(--ink);padding:clamp(1.8rem,3.4vw,2.8rem)}
.phase header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.6rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line-dark)}
.phase__tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-soft)}
.phase h3{font-family:var(--serif-kr);font-size:1.7rem;font-weight:600;color:#fff}
.phase dl div{display:flex;justify-content:space-between;gap:1rem;padding:.62rem 0;border-bottom:1px solid rgba(255,255,255,.07)}
.phase dl div:last-child{border-bottom:none}
.phase dt{font-size:.86rem;color:var(--on-dark-mut);white-space:nowrap}
.phase dd{font-size:.92rem;color:#fff;text-align:right}
.phase dd small{color:var(--on-dark-faint);font-family:var(--mono);font-size:.78em;margin-left:.3em}

.spec__base{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(2rem,5vw,4rem)}
.spec__base div{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line-dark)}
.spec__base dt{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-faint);white-space:nowrap}
.spec__base dd{font-size:.94rem;color:var(--on-dark);text-align:right}

/* =========================================================
   ARCHITECT
   ========================================================= */
.architect__wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.architect__head .display{margin:1rem 0 .8rem;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.architect__en{font-family:var(--mono);font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-light-faint);font-weight:400}
.architect__role{font-size:1.02rem;color:var(--on-light-mut)}
.architect__bio{border-top:1px solid var(--line-light)}
.architect__bio li{padding:.95rem 0;border-bottom:1px solid var(--line-light);font-size:.98rem;color:var(--on-light);position:relative;padding-left:1.4rem}
.architect__bio li::before{content:"";position:absolute;left:0;top:1.35rem;width:6px;height:6px;border:1px solid var(--accent);border-radius:50%}

/* =========================================================
   CLOSING
   ========================================================= */
/* EVENT */
.event{padding:clamp(5rem,10vw,8rem) 0}
.event__wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem);align-items:start}
.event__text .display{margin:1.2rem 0 0;line-height:1.05}
.event__schedule{display:flex;flex-direction:column;gap:2.5rem;padding-top:.5rem}
.event__block{border-top:1px solid var(--line-dark);padding-top:1.4rem}
.event__type{font-family:var(--mono);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#b5a27a;margin-bottom:.7rem}
.event__date{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);color:#fff;line-height:1.1;margin-bottom:.5rem}
.event__date span{font-size:.75em;font-family:var(--mono);letter-spacing:.08em;opacity:.7}
.event__venue{font-size:.95rem;color:var(--on-dark-mut)}
.event__venue a{color:var(--on-dark-mut);text-decoration:underline;text-underline-offset:3px}
.event__partners{display:flex;gap:1.5rem;padding-top:2rem;border-top:1px solid var(--line-dark);font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;color:var(--on-dark-faint)}
@media(max-width:640px){
  .event__wrap{grid-template-columns:1fr}
}

/* PRESS KIT */
.presskit{padding:clamp(4rem,8vw,6rem) 0}
.presskit__wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.presskit__text .display{margin:.8rem 0 .6rem}
.presskit__desc{font-size:1rem;color:var(--on-light-mut);line-height:1.6}
.presskit__date{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;color:var(--on-light-faint)}
.presskit__btn{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.8rem;background:var(--ink);color:#fff;font-family:var(--mono);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .25s var(--ease),transform .2s var(--ease);white-space:nowrap;flex-shrink:0}
.presskit__btn:hover{background:#333;transform:translateY(-2px)}
.presskit__btn svg{flex-shrink:0}

/* FILM */
.film{padding:clamp(5rem,10vw,8rem) 0 0;background:var(--ink)}
.film .label{margin-bottom:1.2rem}
.film .display{margin-bottom:clamp(2.5rem,5vw,4rem)}
.film__player{width:100%;aspect-ratio:16/9;background:#000}
.film__player video{width:100%;height:100%;display:block;object-fit:contain}

.closing{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:var(--ink)}
.closing__media{position:absolute;inset:0;z-index:0}
.closing__media img{width:100%;height:120%;object-fit:cover;filter:grayscale(.2) brightness(.6)}
.closing__scrim{position:absolute;inset:0;z-index:1;background:rgba(10,10,10,.5)}
.closing__line{position:relative;z-index:2;font-family:var(--serif-kr);color:#fff;font-size:clamp(1.6rem,4.2vw,3rem);line-height:1.35;font-weight:500;padding:0 var(--gut);max-width:24ch}
.closing__line em{font-style:normal;color:var(--accent-soft)}

/* =========================================================
   FOOTER
   ========================================================= */
.foot{background:var(--ink);color:var(--on-dark);padding:clamp(54px,7vw,80px) 0 28px;border-top:1px solid var(--line-dark)}
.foot__grid{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);display:grid;grid-template-columns:1.4fr 1.4fr 1fr;gap:2.4rem;align-items:start}
.foot__title{font-family:var(--serif-kr);font-size:1.5rem;font-weight:500;color:#fff;margin-bottom:.3rem}
.foot__sub{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-faint)}
.foot__meta{display:flex;flex-direction:column;gap:.7rem;font-size:.9rem;color:var(--on-dark-mut)}
.foot__meta span{display:inline-block;width:42px;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-faint);margin-right:.6rem}
.foot__links{display:flex;flex-direction:column;gap:.6rem}
.foot__links a{font-family:var(--mono);font-size:.84rem;letter-spacing:.04em;color:var(--on-dark);position:relative;width:fit-content}
.foot__links a::after{content:"↗";margin-left:.3em;color:var(--accent-soft);font-size:.8em}
.foot__links a:hover{color:#fff}
.foot__base{width:100%;max-width:var(--wrap);margin:clamp(40px,6vw,64px) auto 0;padding:22px var(--gut) 0;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;gap:1rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--on-dark-faint)}

/* =========================================================
   REVEAL ANIMATIONS
   ========================================================= */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal].in .display,[data-reveal].in .lead{}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto}
  [data-reveal]{opacity:1;transform:none;transition:none}
  .hero__media img{transform:none}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:900px){
  .nav__links{gap:1.3rem}
  .nav__links a{font-size:.76rem}
  .facts__grid{grid-template-columns:1fr 1fr}
  .pillars{grid-template-columns:1fr}
  .feature:not(.feature--full){grid-template-columns:1fr;gap:2.4rem}
  .feature--reverse:not(.feature--full){direction:ltr}
  .architect__wrap{grid-template-columns:1fr;gap:2.5rem}
  .eff-grid{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr;gap:2rem}
}
@media (max-width:640px){
  :root{--nav-h:62px}
  .nav__logo{height:34px}
  .nav.is-solid .nav__logo{height:30px}
  .nav__links{gap:1.1rem}
  .nav__links a:nth-child(n+3){display:none}
  .facts__grid{grid-template-columns:1fr;gap:1px}
  .fact{flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap;padding:1rem var(--gut)}
  .fact__note{width:100%}
  .spec__phases{grid-template-columns:1fr}
  .spec__base{grid-template-columns:1fr}
  .hero__scroll{display:none}
  .steps li{padding-right:1.4rem}
}
@media (max-width:380px){
  .nav__links a:nth-child(n+2){display:none}
}
