/* 토큰 - 색/타이포/간격 기본값임 */
:root{
  --ink:#0a0e1a;
  --ink-soft:#1a1f2e;
  --paper:#faf7f2;
  --paper-2:#f2ece0;
  --paper-3:#e8dfce;
  --gold:#b8935a;
  --gold-deep:#8a6a40;
  --navy:#0b2656;
  --muted:#8b8578;
  --line:rgba(10,14,26,.1);
  --line-soft:rgba(10,14,26,.06);

  --f-display:'Fraunces','Gowun Batang',serif;
  --f-serif:'Gowun Batang','Fraunces',serif;
  --f-sans:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --f-mono:ui-monospace,'SF Mono',Menlo,monospace;

  --gutter:clamp(20px,4vw,80px);
  --maxw:1440px;

  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--f-sans);
  font-weight:400;
  font-feature-settings:"ss01","ss02","cv11";
  background:var(--paper);
  color:var(--ink);
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}
::selection{background:var(--ink);color:var(--paper)}

/* 공통 레이아웃 유틸 - 사이트 전역 container임 */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:500;
}
.eyebrow .num{color:var(--gold-deep);font-weight:700;margin-right:8px}

/* 타이틀 시스템 - 디스플레이용 대형 세리프 + 본문 산세리프임 */
.display{
  font-family:var(--f-display);
  font-weight:400;
  font-optical-sizing:auto;
  letter-spacing:-.02em;
  line-height:1.02;
}
.display em{font-style:italic;color:var(--gold-deep);font-weight:400}
.display-ko{
  font-family:var(--f-serif);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.15;
}
.kicker{font-weight:600;font-size:13px;letter-spacing:-.01em}

/* 커스텀 커서 - 미세하게 따라다니는 링임 */
.cursor{
  position:fixed;top:0;left:0;width:32px;height:32px;
  border:1px solid var(--ink);border-radius:50%;
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .3s var(--ease),height .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease);
  mix-blend-mode:difference;
}
.cursor.hov{width:56px;height:56px;background:rgba(255,255,255,.08)}
.cursor.dark{border-color:var(--paper)}
@media(hover:none){.cursor{display:none}}

/* 스크롤 진행 바 - 최상단 오렌지색 라인임 */
.progress{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:100;
  background:transparent;
}
.progress__bar{
  height:100%;width:0;
  background:linear-gradient(90deg,var(--gold),var(--gold-deep));
  transition:width .08s linear;
}

/* 프리로더 - 퍼센트 카운트 + 오버레이임 */
.preloader{
  position:fixed;inset:0;z-index:2000;
  background:var(--ink);color:var(--paper);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:var(--gutter);
  transition:transform 1s var(--ease-out),opacity .4s .7s;
}
.preloader.done{transform:translateY(-100%);opacity:0;pointer-events:none}
.preloader__top{position:absolute;top:var(--gutter);left:var(--gutter);right:var(--gutter);
  display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.6}
.preloader__num{
  font-family:var(--f-display);
  font-size:clamp(80px,22vw,320px);
  line-height:.85;font-weight:300;letter-spacing:-.04em;
  font-feature-settings:"tnum";
}
.preloader__name{
  font-family:var(--f-display);font-style:italic;font-size:14px;
  margin-top:24px;display:flex;justify-content:space-between;align-items:baseline;
  border-top:1px solid rgba(255,255,255,.2);padding-top:20px;
}
.preloader__name span:last-child{font-family:var(--f-mono);font-style:normal;font-size:11px;letter-spacing:.2em;opacity:.5}

/* 네비게이션 - 스티키 헤더 + 배경 블러임 */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding:24px var(--gutter);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;
  transition:background .4s var(--ease),border-color .4s var(--ease),padding .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(250,247,242,.88);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom-color:var(--line-soft);
  padding-top:14px;padding-bottom:14px;
}
.nav.dark{color:var(--paper)}
.nav.dark.scrolled{background:rgba(10,14,26,.85);border-bottom-color:rgba(255,255,255,.08)}
.nav__brand{display:flex;align-items:center;gap:14px;transition:opacity .4s var(--ease-out)}
.nav__brand:hover{opacity:.75}
.nav__brand img{height:34px;width:auto;transition:filter .5s var(--ease-out),opacity .5s var(--ease-out)}
.nav.dark .nav__brand img{filter:brightness(0) invert(1);opacity:.92}
.nav__brand-tag{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-left:14px;border-left:1px solid var(--line);line-height:1.3}
.nav.dark .nav__brand-tag{color:rgba(250,247,242,.55);border-color:rgba(250,247,242,.18)}
@media(max-width:720px){.nav__brand-tag{display:none}.nav__brand img{height:28px}}
.nav__links{display:flex;gap:36px;justify-self:center;align-items:center}
.nav__links a{position:relative;font-size:13px;font-weight:500;padding:6px 0;letter-spacing:-.005em}
.nav__links a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .4s var(--ease-out)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left center}
.nav__end{display:flex;gap:14px;justify-self:end;align-items:center}
.lang{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;
  padding:8px 14px;border:1px solid var(--line);border-radius:100px;
  transition:border-color .3s,background .3s;
}
.nav.dark .lang{border-color:rgba(255,255,255,.2)}
.lang:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.nav.dark .lang:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.lang span{opacity:.4}
.lang span.on{opacity:1}
.menu-btn{display:none}
@media(max-width:960px){
  .nav{grid-template-columns:1fr auto}
  .nav__links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:20px var(--gutter);border-bottom:1px solid var(--line)}
  .nav__links.open{display:flex}
  .nav__links a{padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:16px}
  .nav__links a:last-child{border-bottom:none}
  .nav__end{display:none}
  .menu-btn{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%}
  .nav.dark .menu-btn{border-color:rgba(255,255,255,.2)}
  .menu-btn span{width:14px;height:1px;background:currentColor;position:relative}
  .menu-btn span::before,.menu-btn span::after{content:'';position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .3s}
  .menu-btn span::before{top:-5px}
  .menu-btn span::after{top:5px}
  .menu-btn.open span{background:transparent}
  .menu-btn.open span::before{transform:translateY(5px) rotate(45deg)}
  .menu-btn.open span::after{transform:translateY(-5px) rotate(-45deg)}
}

/* 리빌 애니메이션 공용 클래스 - IO 진입 시 in 추가임 */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal-delay="1"]{transition-delay:.08s}
[data-reveal-delay="2"]{transition-delay:.16s}
[data-reveal-delay="3"]{transition-delay:.24s}
[data-reveal-delay="4"]{transition-delay:.32s}
[data-reveal-delay="5"]{transition-delay:.4s}

.split-line{display:block;overflow:hidden;padding-bottom:.1em}
.split-line>span{display:block;transform:translateY(110%);transition:transform 1.1s var(--ease-out)}
.in .split-line>span{transform:translateY(0)}
.split-line:nth-child(2)>span{transition-delay:.08s}
.split-line:nth-child(3)>span{transition-delay:.16s}
.split-line:nth-child(4)>span{transition-delay:.24s}
.split-line:nth-child(5)>span{transition-delay:.32s}

/* 섹션 구분 번호+라벨 - 에디토리얼 톤 장식임 */
.section-head{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;
  padding-top:40px;border-top:1px solid var(--line);
  margin-bottom:80px;align-items:end;
}
@media(max-width:820px){.section-head{grid-template-columns:1fr;gap:28px}}
.section-head__num{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.section-head__title{font-family:var(--f-display);font-size:clamp(40px,5.4vw,84px);line-height:.98;letter-spacing:-.03em;font-weight:400}
.section-head__title em{font-style:italic;color:var(--gold-deep)}
.section-head__desc{font-size:16px;line-height:1.7;color:var(--ink-soft);max-width:46ch}

/* --- HERO --- 매거진 표지 레이아웃 - 4중 레이어 (이미지/그레인/고스트/입자)임 */
.hero{
  position:relative;min-height:100vh;min-height:100svh;
  padding:120px var(--gutter) 48px;
  color:var(--paper);background:var(--ink);
  display:grid;grid-template-rows:auto 1fr auto;
  overflow:hidden;
  isolation:isolate;
}
.hero__bg{position:absolute;inset:0;z-index:0;background:#000}
.hero__bg img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 55%;
  opacity:.45;transform:scale(1.1);
  transition:transform 16s var(--ease-out),opacity 2s var(--ease-out);
  will-change:transform;
}
.hero.loaded .hero__bg img{opacity:.4;transform:scale(1.02)}
.hero__bg::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(10,14,26,.6) 0%,rgba(10,14,26,.2) 28%,rgba(10,14,26,.15) 55%,rgba(10,14,26,.8) 100%),
    radial-gradient(110% 70% at 25% 50%,transparent 35%,rgba(10,14,26,.55) 100%);
}
.hero__grain{
  position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.14;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='2'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.75 0'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");
}
.hero__particles{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.45}

/* 거대 고스트 워드마크 - 배경에 떠있는 블리드된 ISAAC임 */
.hero__ghost{
  position:absolute;z-index:1;
  left:-4vw;bottom:-6vw;
  font-family:var(--f-display);font-style:italic;font-weight:300;
  font-size:clamp(260px,34vw,560px);line-height:.82;letter-spacing:-.06em;
  color:transparent;
  -webkit-text-stroke:1px rgba(250,247,242,.08);
  text-stroke:1px rgba(250,247,242,.08);
  white-space:nowrap;pointer-events:none;user-select:none;
  transform:translateY(10%);
}

/* Zero-G 회전 심볼 - 우상단 앵커 시그니처임 */
.hero__zerog{
  position:absolute;z-index:2;top:118px;right:var(--gutter);
  width:clamp(110px,13vw,170px);aspect-ratio:1;
  display:grid;place-items:center;pointer-events:none;
}
.hero__zerog svg{position:absolute;inset:0;width:100%;height:100%;animation:zerogSpin 32s linear infinite}
.hero__zerog img{width:46%;height:auto;opacity:.85;animation:zerogBreath 6s ease-in-out infinite}
@keyframes zerogSpin{to{transform:rotate(360deg)}}
@keyframes zerogBreath{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:.9;transform:scale(1.04)}}
@media(max-width:820px){.hero__zerog{display:none}}

/* 상단 매스트헤드 - 볼륨/출판일/장소임 */
.hero__mast{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(250,247,242,.55);
  padding-bottom:20px;border-bottom:1px solid rgba(250,247,242,.12);
  opacity:0;animation:heroFade 1.2s var(--ease-out) .8s forwards;
}
.hero__mast>:nth-child(2){text-align:center;color:var(--gold)}
.hero__mast>:nth-child(3){text-align:right}
@keyframes heroFade{to{opacity:1}}
@media(max-width:720px){.hero__mast{font-size:9px;letter-spacing:.18em}.hero__mast>:nth-child(1){display:none}}

/* 메인 - 제목/서브카피/스펙 3컬럼 에디토리얼 복합 구조임 */
.hero__main{
  position:relative;z-index:2;align-self:end;
  display:grid;grid-template-columns:1fr minmax(280px,360px);gap:80px;align-items:end;
  padding-bottom:40px;
}
@media(max-width:960px){.hero__main{grid-template-columns:1fr;gap:36px}}

.hero__eyebrow{
  display:inline-flex;gap:20px;align-items:center;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.24em;opacity:.8;
  margin-bottom:36px;padding:6px 14px;
  border:1px solid rgba(250,247,242,.18);border-radius:100px;
}
.hero__eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}

.hero__title{
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(58px,9.6vw,184px);
  line-height:.88;letter-spacing:-.038em;
  font-variation-settings:"opsz" 144;
}
.hero__title em{font-style:italic;font-weight:400;color:var(--gold);font-variation-settings:"opsz" 144}
.hero__title small{
  display:block;margin-top:28px;
  font-family:var(--f-serif);font-size:clamp(15px,1.4vw,19px);
  font-style:italic;font-weight:400;letter-spacing:0;line-height:1.4;
  color:rgba(250,247,242,.8);max-width:38ch;
}

/* 우측 패널 - 설명 + 스펙 카드 + CTA임 */
.hero__right{display:grid;gap:24px;align-content:end}
.hero__right-lead{
  font-family:var(--f-serif);font-style:italic;font-size:15px;line-height:1.65;
  color:rgba(250,247,242,.82);padding-left:16px;border-left:2px solid var(--gold);
}
.hero__spec{
  display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;
  padding:20px 0;border-block:1px solid rgba(250,247,242,.12);
}
.hero__spec dt{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.22em;opacity:.5;margin-bottom:4px;text-transform:uppercase}
.hero__spec dd{font-family:var(--f-display);font-size:22px;font-weight:400;letter-spacing:-.02em;line-height:1.1}
.hero__spec dd small{font-size:11px;opacity:.55;margin-left:4px;letter-spacing:-.01em}

.hero__cta{
  display:inline-flex;gap:14px;align-items:center;justify-content:space-between;
  padding:18px 28px;
  background:var(--gold);color:var(--ink);
  font-size:13px;font-weight:600;letter-spacing:.01em;
  border-radius:100px;
  transition:transform .4s var(--ease),background .4s var(--ease),color .4s var(--ease),padding .4s var(--ease);
  justify-self:start;
}
.hero__cta:hover{background:var(--paper);padding-right:40px;transform:translateX(2px)}
.hero__cta .arr{display:inline-block;transition:transform .4s var(--ease)}
.hero__cta:hover .arr{transform:translateX(6px)}

/* 히어로 풋 - 좌측 출처 메타 + 우측 스크롤 인디케이터임 */
.hero__foot{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px;
  padding-top:24px;border-top:1px solid rgba(250,247,242,.12);
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
}
.hero__foot-l{display:grid;gap:3px;color:rgba(250,247,242,.65)}
.hero__foot-l span:first-child{color:rgba(250,247,242,.4)}
.hero__foot-c{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:14px;letter-spacing:0;text-transform:none;color:var(--gold);opacity:.85}
.hero__foot-r{justify-self:end;display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(250,247,242,.7)}
.hero__scroll-line{width:1px;height:48px;background:rgba(255,255,255,.2);position:relative;overflow:hidden}
.hero__scroll-line::after{content:'';position:absolute;top:-100%;left:0;right:0;height:50%;background:var(--gold);animation:scrollLine 2.4s var(--ease) infinite}
@keyframes scrollLine{to{top:100%}}
@media(max-width:720px){.hero__foot{grid-template-columns:1fr auto;gap:20px}.hero__foot-c{display:none}}

/* --- 마키 스트립 --- 회사 가치 연속 롤링임 */
.marquee{
  background:var(--paper-2);color:var(--ink);
  border-block:1px solid var(--line-soft);
  padding:28px 0;overflow:hidden;
  font-family:var(--f-display);font-size:clamp(28px,4.4vw,58px);font-weight:400;letter-spacing:-.02em;
  white-space:nowrap;
}
.marquee__track{display:inline-flex;animation:marquee 44s linear infinite;gap:60px}
.marquee__track span{display:inline-flex;align-items:center;gap:60px}
.marquee__track em{font-style:italic;color:var(--gold-deep);font-weight:400}
.marquee__dot{width:14px;height:14px;border-radius:50%;background:var(--gold);flex:0 0 auto}
@keyframes marquee{to{transform:translateX(-50%)}}

/* --- 필로소피 섹션 --- 본문 에디토리얼 레이아웃임 */
section{padding:clamp(80px,12vw,160px) 0}
.philosophy{background:var(--paper)}
.philo-grid{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
@media(max-width:960px){.philo-grid{grid-template-columns:1fr;gap:48px}}
.philo-lede{position:sticky;top:120px;font-family:var(--f-display);font-size:clamp(28px,3vw,42px);font-weight:300;line-height:1.15;letter-spacing:-.015em}
.philo-lede em{font-style:italic;color:var(--gold-deep)}
.philo-body{display:grid;gap:32px;max-width:58ch;font-size:16px;line-height:1.75;color:var(--ink-soft)}
.philo-body p{text-wrap:pretty}
.philo-signature{margin-top:20px;display:flex;gap:20px;align-items:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-top:24px;border-top:1px solid var(--line-soft)}

/* --- 숫자 섹션 --- 대형 애니메이션 카운터임 */
.stats{background:var(--paper-2);border-block:1px solid var(--line-soft)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
@media(max-width:820px){.stats__grid{grid-template-columns:repeat(2,1fr)}}
.stats__cell{
  padding:48px 36px 40px;
  border-right:1px solid var(--line-soft);
  display:grid;gap:10px;
}
.stats__cell:last-child{border-right:none}
@media(max-width:820px){.stats__cell:nth-child(2n){border-right:none}.stats__cell{border-bottom:1px solid var(--line-soft)}.stats__cell:nth-last-child(-n+2){border-bottom:none}}
.stats__val{font-family:var(--f-display);font-size:clamp(56px,6.8vw,108px);font-weight:300;line-height:.9;letter-spacing:-.03em;color:var(--ink)}
.stats__val small{font-size:.38em;font-weight:400;color:var(--gold-deep);margin-left:6px;letter-spacing:-.02em}
.stats__lbl{font-size:13px;color:var(--muted);line-height:1.5;margin-top:6px;max-width:22ch}
.stats__k{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}

/* --- 타임라인 --- 가로 스크롤 히스토리임 */
.heritage{background:var(--ink);color:var(--paper);overflow:hidden}
.heritage .section-head{border-top-color:rgba(255,255,255,.12)}
.heritage .section-head__num{color:rgba(250,247,242,.4)}
.heritage .section-head__desc{color:rgba(250,247,242,.7)}
.timeline-shell{position:relative;margin-left:calc(var(--gutter) * -1);margin-right:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
.timeline{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(380px,420px);
  gap:28px;
  overflow-x:auto;overflow-y:hidden;
  padding:20px var(--gutter) 40px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:var(--gold) transparent;
}
.timeline::-webkit-scrollbar{height:4px}
.timeline::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}
.timeline::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}
.tl-card{
  scroll-snap-align:start;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.1);
  padding:32px 32px 40px;
  display:grid;grid-template-rows:auto 1fr auto;gap:24px;
  transition:background .5s var(--ease),border-color .5s var(--ease),transform .5s var(--ease);
}
.tl-card:hover{background:rgba(184,147,90,.08);border-color:rgba(184,147,90,.4);transform:translateY(-4px)}
.tl-year{font-family:var(--f-display);font-size:72px;font-weight:300;line-height:1;letter-spacing:-.03em;color:var(--gold)}
.tl-title{font-family:var(--f-serif);font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.3}
.tl-list{display:grid;gap:10px;font-size:14px;line-height:1.6;color:rgba(250,247,242,.8)}
.tl-list li{list-style:none;padding-left:18px;position:relative}
.tl-list li::before{content:'';position:absolute;left:0;top:10px;width:10px;height:1px;background:var(--gold)}
.tl-chip{display:inline-flex;padding:5px 10px;font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;background:rgba(184,147,90,.15);color:var(--gold);border-radius:3px;width:fit-content}
.timeline-hint{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.4;margin-top:10px;display:flex;gap:10px;align-items:center}
.timeline-hint::before{content:'←';font-size:14px}
.timeline-hint::after{content:'→';font-size:14px}

/* --- 코어 테크놀로지 --- 3대 기술 섹션 좌우 교차 레이아웃임 */
.core-tech{background:var(--paper)}
.tech-row{
  display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;
  padding:80px 0;border-bottom:1px solid var(--line-soft);
}
.tech-row:last-child{border-bottom:none}
.tech-row.reverse{direction:rtl}
.tech-row.reverse>*{direction:ltr}
@media(max-width:960px){.tech-row{grid-template-columns:1fr;gap:40px;padding:60px 0}.tech-row.reverse{direction:ltr}}
.tech-num{font-family:var(--f-display);font-size:clamp(120px,16vw,240px);font-weight:200;line-height:.9;letter-spacing:-.04em;color:var(--paper-3);margin-bottom:-40px}
.tech-title{font-family:var(--f-display);font-size:clamp(36px,4.6vw,72px);font-weight:400;line-height:1;letter-spacing:-.03em;margin-bottom:24px}
.tech-title em{font-style:italic;color:var(--gold-deep)}
.tech-title-ko{font-family:var(--f-serif);font-weight:700;font-size:clamp(22px,2.4vw,32px);line-height:1.2;margin-bottom:32px;color:var(--ink-soft)}
.tech-desc{font-size:15.5px;line-height:1.75;color:var(--ink-soft);max-width:50ch;margin-bottom:32px}
.tech-kv{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:24px}
.tech-kv li{list-style:none;display:grid;grid-template-columns:22px 1fr;gap:14px;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.tech-kv li span{font-family:var(--f-mono);font-size:10px;color:var(--gold-deep);font-weight:600;letter-spacing:.1em;padding-top:3px}
.tech-visual{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper-2)}
.tech-visual img{width:100%;height:100%;object-fit:cover;transition:transform 2s var(--ease-out)}
.tech-row:hover .tech-visual img{transform:scale(1.04)}
.tech-visual::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);pointer-events:none}
.tech-visual-label{
  position:absolute;left:24px;bottom:24px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--paper);padding:8px 14px;background:rgba(10,14,26,.7);backdrop-filter:blur(6px);
}

/* --- 제품 쇼케이스 Zero-G --- 프리미엄 제품 카드임 */
.collection{background:var(--paper-2);position:relative}
.collection .section-head{border-top-color:var(--line)}
.coll-intro{
  display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;
  padding:32px 40px;margin-bottom:60px;
  background:var(--paper);border:1px solid var(--line-soft);
}
@media(max-width:820px){.coll-intro{grid-template-columns:1fr;text-align:left;padding:28px}}
.coll-brand{display:flex;align-items:center;gap:20px}
.coll-brand img{width:64px;height:auto}
.coll-brand-name{font-family:var(--f-display);font-size:22px;font-weight:500;letter-spacing:-.02em}
.coll-brand-name small{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--muted);margin-top:4px;text-transform:uppercase}
.coll-tag{font-size:14.5px;line-height:1.6;color:var(--ink-soft);max-width:52ch}
.coll-meta{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:right}
@media(max-width:820px){.coll-meta{text-align:left}}

.coll-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:1100px){.coll-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.coll-grid{grid-template-columns:1fr}}
.product{
  background:var(--paper);border:1px solid var(--line-soft);
  padding:28px 28px 32px;display:grid;gap:20px;
  transition:background .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease);
  position:relative;overflow:hidden;
}
.product:hover{transform:translateY(-6px);border-color:var(--gold);background:#fff}
.product__meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.product__meta .sku{color:var(--gold-deep);font-weight:600}
.product__visual{aspect-ratio:1;background:linear-gradient(180deg,var(--paper-2) 0%,var(--paper) 100%);display:grid;place-items:center;position:relative;overflow:hidden;border-radius:2px}
.product__visual img{max-width:80%;max-height:90%;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.08));transition:transform .6s var(--ease-out)}
.product:hover .product__visual img{transform:scale(1.06) translateY(-4px)}
.product__name{font-family:var(--f-serif);font-weight:700;font-size:18px;line-height:1.3;letter-spacing:-.02em}
.product__name-en{font-family:var(--f-display);font-style:italic;font-size:13px;color:var(--muted);margin-top:2px;font-weight:400;letter-spacing:-.01em}
.product__desc{font-size:13.5px;line-height:1.55;color:var(--ink-soft)}
.product__tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.product__tag{font-family:var(--f-mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;padding:4px 8px;background:var(--paper-2);color:var(--ink-soft);border-radius:2px}

/* --- 산업 분야 --- 식품/산업/사료 3분할임 */
.industries{background:var(--paper)}
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line-soft);border:1px solid var(--line-soft)}
@media(max-width:820px){.ind-grid{grid-template-columns:1fr}}
.ind-card{
  background:var(--paper);padding:48px 40px 44px;
  display:grid;gap:28px;position:relative;
  transition:background .5s var(--ease);
  min-height:480px;
}
.ind-card:hover{background:var(--paper-2)}
.ind-card__top{display:flex;justify-content:space-between;align-items:baseline}
.ind-card__num{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;color:var(--gold-deep)}
.ind-card__type{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.ind-card__title{font-family:var(--f-display);font-size:40px;font-weight:400;letter-spacing:-.025em;line-height:1}
.ind-card__title em{font-style:italic;color:var(--gold-deep)}
.ind-card__title-ko{font-family:var(--f-serif);font-weight:700;font-size:22px;line-height:1.2;margin-top:10px}
.ind-card__desc{font-size:14px;line-height:1.7;color:var(--ink-soft);max-width:36ch}
.ind-card__list{display:grid;gap:14px;margin-top:auto;padding-top:24px;border-top:1px solid var(--line-soft)}
.ind-card__list li{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:14px;font-size:13px;line-height:1.5;color:var(--ink-soft)}
.ind-card__list strong{font-family:var(--f-serif);font-size:13px;font-weight:700;color:var(--ink);min-width:72px}

/* --- 인증/특허 --- 그리드 쇼케이스임 */
.credentials{background:var(--paper-2)}
.credentials .section-head{border-top-color:var(--line)}
.cred-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:960px){.cred-grid{grid-template-columns:repeat(2,1fr)}}
.cred-item{
  background:var(--paper);border:1px solid var(--line-soft);
  padding:20px 20px 24px;display:grid;gap:16px;
  transition:transform .4s var(--ease),border-color .4s var(--ease);
}
.cred-item:hover{transform:translateY(-4px);border-color:var(--gold)}
.cred-thumb{aspect-ratio:.7;overflow:hidden;background:#fff;border:1px solid var(--line-soft)}
.cred-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center}
.cred-kicker{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.cred-name{font-family:var(--f-serif);font-weight:700;font-size:15px;line-height:1.35}
.cred-no{font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.05em}

/* --- 인프라 / 설비 갤러리 --- 비대칭 매거진 레이아웃임 */
.infra{background:var(--ink);color:var(--paper);overflow:hidden}
.infra .section-head{border-top-color:rgba(255,255,255,.12)}
.infra .section-head__num{color:rgba(250,247,242,.4)}
.infra .section-head__desc{color:rgba(250,247,242,.72)}
.infra-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:130px;gap:16px}
@media(max-width:820px){.infra-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:100px}}
.infra-cell{position:relative;overflow:hidden;background:rgba(255,255,255,.04)}
.infra-cell img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out),filter .5s;filter:saturate(.92)}
.infra-cell:hover img{transform:scale(1.06);filter:saturate(1.05)}
.infra-cell__cap{
  position:absolute;left:16px;bottom:16px;right:16px;
  display:flex;justify-content:space-between;align-items:end;gap:12px;
  opacity:0;transition:opacity .4s var(--ease);
}
.infra-cell:hover .infra-cell__cap{opacity:1}
.infra-cell__name{font-family:var(--f-serif);font-weight:700;font-size:16px;letter-spacing:-.01em;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.infra-cell__tag{font-family:var(--f-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding:4px 8px;background:var(--gold);color:var(--ink);font-weight:600;flex:0 0 auto}
.infra-cell::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.75) 100%);opacity:0;transition:opacity .4s}
.infra-cell:hover::after{opacity:1}

.c-a{grid-column:span 7;grid-row:span 3}
.c-b{grid-column:span 5;grid-row:span 2}
.c-c{grid-column:span 5;grid-row:span 2}
.c-d{grid-column:span 4;grid-row:span 2}
.c-e{grid-column:span 4;grid-row:span 2}
.c-f{grid-column:span 4;grid-row:span 2}
.c-g{grid-column:span 8;grid-row:span 2}
.c-h{grid-column:span 4;grid-row:span 2}
@media(max-width:820px){
  .c-a,.c-g{grid-column:span 6}
  .c-b,.c-c,.c-d,.c-e,.c-f,.c-h{grid-column:span 3}
}

/* --- 파트너 --- 고객사 연속 라인업임 */
.partners{background:var(--paper)}
.partner-lede{font-family:var(--f-display);font-size:clamp(32px,4vw,56px);font-weight:300;line-height:1.1;letter-spacing:-.025em;max-width:22ch;margin-bottom:64px}
.partner-lede em{font-style:italic;color:var(--gold-deep)}
.partner-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line-soft);margin-bottom:48px}
@media(max-width:820px){.partner-grid{grid-template-columns:repeat(2,1fr)}}
.partner{
  padding:44px 28px;display:grid;gap:8px;align-content:center;
  text-align:center;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  transition:background .3s;
  min-height:160px;
}
.partner:nth-child(5n){border-right:none}
.partner:hover{background:var(--paper-2)}
@media(max-width:820px){.partner:nth-child(5n){border-right:1px solid var(--line-soft)}.partner:nth-child(2n){border-right:none}}
.partner__name{font-family:var(--f-display);font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
.partner__type{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* --- 글로벌 & 매출 로드맵 --- 도표 + 지역임 */
.global{background:var(--paper-2)}
.global .section-head{border-top-color:var(--line)}
.global-grid{display:grid;grid-template-columns:7fr 5fr;gap:60px;align-items:start}
@media(max-width:960px){.global-grid{grid-template-columns:1fr;gap:40px}}
.revenue-table{background:var(--paper);border:1px solid var(--line-soft);padding:36px;font-family:var(--f-mono);font-size:12px}
.revenue-table h3{font-family:var(--f-display);font-size:28px;font-weight:400;letter-spacing:-.02em;margin-bottom:8px}
.revenue-table .rev-lbl{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-size:10px;margin-bottom:28px}
.rev-row{display:grid;grid-template-columns:auto repeat(5,1fr);gap:12px;padding:14px 0;border-top:1px solid var(--line-soft);align-items:center}
.rev-row:first-of-type{border-top:1px solid var(--ink)}
.rev-row.head{font-size:10px;letter-spacing:.15em;color:var(--muted);font-weight:600}
.rev-row.total{border-top:1px solid var(--ink);font-weight:700;color:var(--ink);padding-top:18px}
.rev-row>div:first-child{color:var(--gold-deep);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:10px}
.rev-row>div{text-align:right;font-variant-numeric:tabular-nums}
.rev-foot{margin-top:24px;padding-top:18px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em;color:var(--muted)}
.rev-foot strong{color:var(--gold-deep)}

.regions{display:grid;gap:20px}
.region{background:var(--paper);border:1px solid var(--line-soft);padding:24px 28px;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}
.region__code{font-family:var(--f-display);font-size:34px;font-weight:400;letter-spacing:-.02em;line-height:1;color:var(--gold-deep);min-width:56px}
.region__body{display:grid;gap:4px}
.region__name{font-family:var(--f-serif);font-weight:700;font-size:15px}
.region__status{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.region__dot{width:8px;height:8px;border-radius:50%;background:var(--gold);position:relative}
.region.active .region__dot{background:#2aa36b}
.region.active .region__dot::after{content:'';position:absolute;inset:-4px;border:1px solid #2aa36b;border-radius:50%;animation:pulse 2s var(--ease) infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.8);opacity:0}}

/* --- 문의 섹션 --- 대형 CTA + 연락처 정보임 */
.contact{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.contact::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(80% 60% at 100% 0%,rgba(184,147,90,.18) 0%,transparent 60%);
}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;position:relative}
@media(max-width:960px){.contact-inner{grid-template-columns:1fr;gap:48px}}
.contact__lede{font-family:var(--f-display);font-weight:300;font-size:clamp(44px,6vw,92px);line-height:.98;letter-spacing:-.03em}
.contact__lede em{font-style:italic;color:var(--gold)}
.contact__sub{margin-top:24px;font-size:15px;line-height:1.7;opacity:.75;max-width:42ch}
.contact__info{display:grid;gap:26px;margin-top:48px;font-size:13px}
.contact__info>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.contact__info>div:first-child{border-top:1px solid rgba(255,255,255,.35);padding-top:18px}
.contact__info dt{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.55;align-self:start;padding-top:2px}
.contact__info dd{font-size:14.5px;line-height:1.6}
.contact__info a{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;transition:border-color .3s,color .3s}
.contact__info a:hover{color:var(--gold);border-color:var(--gold)}

.form{display:grid;gap:22px}
.field{display:grid;gap:8px}
.field label{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.5}
.field input,.field select,.field textarea{
  background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.25);
  color:var(--paper);font-family:var(--f-sans);font-size:15px;padding:10px 0;
  transition:border-color .3s;outline:none;
}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--gold)}
.field textarea{resize:vertical;min-height:96px;line-height:1.6}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23b8935a' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:right 4px center;padding-right:24px}
.field select option{background:var(--ink-soft);color:var(--paper)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:620px){.form-row{grid-template-columns:1fr}}
.submit{
  margin-top:12px;padding:18px 0;background:var(--gold);color:var(--ink);
  font-family:var(--f-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:700;
  transition:background .3s,transform .3s;
  display:inline-flex;justify-content:center;align-items:center;gap:14px;
}
.submit:hover{background:var(--paper);transform:translateY(-1px)}
.submit .arr{transition:transform .3s}
.submit:hover .arr{transform:translateX(6px)}
.form-msg{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);min-height:16px}

/* --- 푸터 --- */
.footer{background:#06080f;color:rgba(250,247,242,.65);padding:80px 0 40px;font-size:13px;line-height:1.6}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.08)}
@media(max-width:960px){.footer-top{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:620px){.footer-top{grid-template-columns:1fr}}
.footer-brand{display:grid;gap:20px;max-width:36ch}
.footer-brand-mark{display:flex;align-items:center;gap:16px}
.footer-brand-mark img{height:42px;width:auto;filter:brightness(0) invert(1);opacity:.95}
.footer-brand-mark-divider{width:1px;height:28px;background:rgba(255,255,255,.16)}
.footer-brand-mark-text{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:14px;letter-spacing:.02em;color:var(--gold);line-height:1.4}
.footer h4{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,247,242,.4);margin-bottom:16px;font-weight:500}
.footer ul{list-style:none;display:grid;gap:10px}
.footer a:hover{color:var(--gold)}
.footer-bot{display:flex;justify-content:space-between;align-items:center;padding-top:30px;gap:20px;font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:rgba(250,247,242,.35);flex-wrap:wrap}
.footer-bot a{border-bottom:1px dotted rgba(250,247,242,.3)}

/* --- 콜로폰 - 매거진 판권 브랜드 모먼트임 --- */
.colophon{
  background:var(--paper);
  padding:clamp(100px,14vw,180px) 0;
  position:relative;
  border-bottom:1px solid var(--line);
}
.colophon::before,.colophon::after{
  content:'';position:absolute;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line);
}
.colophon::before{top:clamp(60px,8vw,100px)}
.colophon__head{
  text-align:center;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--muted);margin-bottom:clamp(48px,7vw,90px);
}
.colophon__logo{
  display:flex;justify-content:center;
  padding:clamp(40px,6vw,80px) 0;
  position:relative;
}
.colophon__logo::before,.colophon__logo::after{
  content:'';width:clamp(60px,10vw,140px);height:1px;background:var(--ink);
  position:absolute;top:50%;opacity:.3;
}
.colophon__logo::before{left:clamp(20%,25vw,32%)}
.colophon__logo::after{right:clamp(20%,25vw,32%)}
.colophon__logo img{height:clamp(100px,13vw,170px);width:auto;max-width:90%}
.colophon__slogan{
  text-align:center;
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(48px,8vw,130px);line-height:.95;letter-spacing:-.04em;
  margin:clamp(48px,7vw,90px) 0;
  font-variation-settings:"opsz" 144;
}
.colophon__slogan em{font-style:italic;font-weight:400;color:var(--gold-deep);font-variation-settings:"opsz" 144}
.colophon__slogan span,.colophon__slogan em{display:inline-block;margin:0 .08em}
.colophon__spec{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line);border-block:1px solid var(--line);
  margin-bottom:clamp(48px,6vw,80px);
}
.colophon__spec>div{background:var(--paper);padding:28px 24px;display:grid;gap:8px}
.colophon__spec dt{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}
.colophon__spec dd{font-family:var(--f-display);font-size:20px;font-weight:400;letter-spacing:-.015em;line-height:1.25}
.colophon__sub{font-family:var(--f-sans);font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;display:inline-block;margin-top:2px}
.colophon__hyphen{color:var(--gold);margin:0 2px;font-style:italic}
.colophon__foot{
  text-align:center;max-width:56ch;margin:0 auto;
  font-family:var(--f-serif);font-style:italic;font-size:16px;line-height:1.65;color:var(--ink-soft);
}
@media(max-width:820px){
  .colophon__spec{grid-template-columns:repeat(2,1fr)}
  .colophon__logo::before,.colophon__logo::after{display:none}
}
@media(max-width:520px){
  .colophon__spec{grid-template-columns:1fr}
}

/* --- 사이드 챕터 인덱스 - 스티키 우측 레일임 --- */
.siderail{
  position:fixed;top:50%;right:24px;z-index:30;
  transform:translateY(-50%);
  display:grid;gap:8px;
  pointer-events:none;
  opacity:0;transition:opacity .6s var(--ease-out);
}
.siderail.show{opacity:1}
.siderail a{
  pointer-events:auto;
  display:flex;align-items:center;gap:14px;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;
  color:var(--muted);padding:6px 0;
  text-transform:uppercase;
  transition:color .4s var(--ease-out),gap .4s var(--ease-out);
}
.siderail a::before{
  content:'';width:18px;height:1px;background:currentColor;opacity:.45;
  transition:width .4s var(--ease-out),opacity .4s var(--ease-out);
}
.siderail a .sr-label{opacity:0;transform:translateX(-6px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.siderail a:hover,.siderail a.active{color:var(--ink)}
.siderail a:hover::before,.siderail a.active::before{width:36px;opacity:1}
.siderail a.active{color:var(--ink)}
.siderail a.active .sr-label{opacity:1;transform:none}
.siderail a .sr-num{font-variant-numeric:tabular-nums}
@media(max-width:1200px){.siderail{display:none}}

/* --- Zero-G 브랜드 모먼트 - 전면 브랜드 섹션임 --- */
.zerog-moment{
  background:var(--ink);color:var(--paper);
  padding:clamp(120px,16vw,200px) 0;
  position:relative;overflow:hidden;
  isolation:isolate;
}
.zerog-moment::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(50% 70% at 50% 50%,rgba(184,147,90,.18) 0%,transparent 70%),
    radial-gradient(80% 100% at 50% 100%,rgba(11,38,86,.4) 0%,transparent 60%);
}
.zerog-moment__grain{
  position:absolute;inset:0;opacity:.08;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.9 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
}
.zerog-moment .wrap{position:relative;z-index:2;text-align:center}
.zerog-moment__eye{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.28em;
  color:rgba(250,247,242,.5);margin-bottom:40px;
}
.zerog-moment__symbol{
  width:clamp(160px,20vw,240px);height:auto;margin:0 auto 40px;
  opacity:.95;
  animation:zerogBreath 7s ease-in-out infinite;
}
.zerog-moment__wordmark{
  font-family:var(--f-display);font-weight:300;font-style:italic;
  font-size:clamp(80px,14vw,200px);line-height:.9;letter-spacing:-.04em;
  color:var(--gold);margin-bottom:24px;
  font-variation-settings:"opsz" 144;
}
.zerog-moment__line{
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(22px,3vw,38px);line-height:1.35;letter-spacing:-.02em;
  max-width:22ch;margin:0 auto 60px;
}
.zerog-moment__line em{font-style:italic;color:var(--gold)}
.zerog-moment__props{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  max-width:820px;margin:0 auto;
  padding-top:40px;border-top:1px solid rgba(250,247,242,.14);
}
.zerog-moment__props>div{display:grid;gap:6px}
.zerog-moment__props dt{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.22em;color:rgba(250,247,242,.5);text-transform:uppercase}
.zerog-moment__props dd{font-family:var(--f-display);font-style:italic;font-size:18px;font-weight:400;color:var(--paper)}
@media(max-width:640px){.zerog-moment__props{grid-template-columns:repeat(2,1fr)}}

/* --- 필로소피 에디토리얼 강화 - 풀쿼트 + 마지널리아 --- */
.philo-pullquote{
  padding:clamp(60px,9vw,120px) 0 clamp(40px,6vw,80px);
  border-block:1px solid var(--line);margin-block:clamp(40px,6vw,80px);
  position:relative;
  padding-left:clamp(0px,8vw,80px);
}
.philo-pullquote::before{
  content:'"';
  position:absolute;left:-.05em;top:-.3em;
  font-family:var(--f-display);font-style:italic;font-weight:300;
  font-size:clamp(180px,24vw,340px);line-height:1;color:var(--paper-3);
  z-index:0;pointer-events:none;
}
.philo-pullquote p{
  position:relative;z-index:1;
  font-family:var(--f-display);font-weight:300;font-style:italic;
  font-size:clamp(28px,4vw,52px);line-height:1.2;letter-spacing:-.02em;
  max-width:22ch;color:var(--ink);
  font-variation-settings:"opsz" 144;
}
.philo-pullquote cite{
  display:block;margin-top:24px;
  font-family:var(--f-mono);font-style:normal;font-size:11px;letter-spacing:.22em;
  color:var(--muted);text-transform:uppercase;
}
.philo-body p:first-of-type::first-letter{
  font-family:var(--f-display);font-style:italic;font-weight:400;
  font-size:4.5em;line-height:.85;
  float:left;margin:.08em .12em 0 -.06em;
  color:var(--gold-deep);
  font-variation-settings:"opsz" 144;
}
.philo-marginalia{
  margin-top:28px;padding:18px 20px;
  border-left:2px solid var(--gold);background:var(--paper-2);
  font-family:var(--f-serif);font-style:italic;font-size:14px;line-height:1.5;color:var(--ink-soft);
}
.philo-marginalia strong{font-family:var(--f-mono);font-style:normal;font-size:9.5px;letter-spacing:.22em;color:var(--muted);display:block;margin-bottom:6px;text-transform:uppercase}

/* 기타 접근성 - 모션 선호 꺼둠 사용자용임 */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
/* ============================================================
   입체감·3D 인핸스먼트 - 레이어드 섀도/틸트/페이지 히어로임
   ============================================================ */

:root{
  --sh-1: 0 1px 2px rgba(10,14,26,.04), 0 2px 6px rgba(10,14,26,.05);
  --sh-2: 0 2px 6px rgba(10,14,26,.06), 0 12px 32px rgba(10,14,26,.08);
  --sh-3: 0 4px 10px rgba(10,14,26,.08), 0 24px 60px rgba(10,14,26,.14);
  --sh-4: 0 8px 16px rgba(10,14,26,.1), 0 40px 96px rgba(10,14,26,.2);
  --sh-gold: 0 10px 30px rgba(184,147,90,.16), 0 2px 8px rgba(184,147,90,.08);
  --glass: rgba(250,247,242,.72);
}

/* 페이지 히어로 - 서브페이지 공용 상단 커버 (자막형)임 */
.page-hero{
  position:relative;
  padding:180px var(--gutter) 100px;
  background:var(--ink);color:var(--paper);
  overflow:hidden;isolation:isolate;
  min-height:72vh;display:grid;align-items:end;
}
.page-hero__bg{position:absolute;inset:0;z-index:0;background:#000}
.page-hero__bg img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.32;transform:scale(1.1);transition:transform 14s var(--ease-out),opacity 2s var(--ease-out);
  filter:contrast(1.05) saturate(.92);
}
.page-hero.loaded .page-hero__bg img{opacity:.28;transform:scale(1.02)}
.page-hero__bg::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(10,14,26,.65) 0%,rgba(10,14,26,.28) 38%,rgba(10,14,26,.9) 100%),
    radial-gradient(65% 70% at 22% 55%,rgba(10,14,26,.5),transparent 65%),
    radial-gradient(100% 80% at 50% 110%,rgba(11,38,86,.5),transparent 60%);
}
.page-hero__grain{
  position:absolute;inset:0;z-index:1;opacity:.1;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.8 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
}
.page-hero__wrap{position:relative;z-index:2;width:100%;max-width:var(--maxw);margin:0 auto}
.page-hero__crumb{
  display:flex;gap:14px;align-items:center;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.24em;
  color:rgba(250,247,242,.5);margin-bottom:40px;text-transform:uppercase;
}
.page-hero__crumb a{color:inherit;transition:color .3s}
.page-hero__crumb a:hover{color:var(--gold)}
.page-hero__crumb .sep{opacity:.4}
.page-hero__num{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.3em;color:var(--gold);
  margin-bottom:24px;display:block;
}
.page-hero__title{
  font-family:var(--f-display);font-weight:300;font-style:italic;
  font-size:clamp(60px,9vw,160px);line-height:.9;letter-spacing:-.035em;
  color:var(--paper);margin-bottom:28px;
  font-variation-settings:"opsz" 144;
  text-shadow:0 40px 80px rgba(0,0,0,.4);
}
.page-hero__title em{font-style:normal;color:var(--gold)}
.page-hero__lead{
  font-family:var(--f-serif);font-style:italic;font-weight:400;
  font-size:clamp(17px,1.8vw,22px);line-height:1.55;
  color:rgba(250,247,242,.82);max-width:58ch;
}
.page-hero__meta{
  display:flex;gap:40px;flex-wrap:wrap;
  padding-top:48px;margin-top:48px;
  border-top:1px solid rgba(250,247,242,.14);
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(250,247,242,.55);
}
.page-hero__meta strong{display:block;color:var(--paper);font-weight:500;font-family:var(--f-display);font-size:17px;letter-spacing:-.01em;text-transform:none;margin-top:4px}

/* 깊이감 있는 카드 - 다층 섀도 + 호버 리프트임 */
.lift{transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}
.lift:hover{transform:translateY(-6px);box-shadow:var(--sh-4)}
.card-3d{
  position:relative;background:var(--paper);
  box-shadow:var(--sh-2);
  border:1px solid var(--line-soft);
  will-change:transform;
}

/* 글래스 패널 - 배경 블러 + 반투명임 */
.glass{
  background:var(--glass);
  backdrop-filter:saturate(180%) blur(16px);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  border:1px solid rgba(250,247,242,.4);
  box-shadow:var(--sh-2);
}

/* 깊이감 있는 이미지 - 다층 스택 효과임 */
.img-stack{position:relative}
.img-stack::before,.img-stack::after{
  content:'';position:absolute;inset:0;
  background:inherit;z-index:-1;
  box-shadow:var(--sh-1);
  transition:transform .6s var(--ease-out);
}
.img-stack::before{transform:translate(12px,12px);background:var(--paper-3);opacity:.7}
.img-stack::after{transform:translate(6px,6px);background:var(--paper-2)}
.img-stack:hover::before{transform:translate(18px,18px)}
.img-stack:hover::after{transform:translate(10px,10px)}

/* 텍스트 카빙 - 디스플레이 헤딩 깊이감임 */
.carved{
  text-shadow:
    0 1px 0 rgba(255,255,255,.5),
    0 -1px 0 rgba(10,14,26,.1),
    0 40px 80px rgba(10,14,26,.1);
}

/* 페이지 섹션 공용 - 다음 페이지 CTA 블록임 */
.nextpage{
  background:var(--ink);color:var(--paper);
  padding:clamp(80px,11vw,140px) 0;
  position:relative;overflow:hidden;
}
.nextpage__inner{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;position:relative;z-index:2}
@media(max-width:820px){.nextpage__inner{grid-template-columns:1fr;gap:32px}}
.nextpage__eye{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.28em;color:rgba(250,247,242,.5);margin-bottom:16px;text-transform:uppercase}
.nextpage__title{
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(40px,6vw,88px);line-height:.98;letter-spacing:-.03em;
  font-variation-settings:"opsz" 144;
}
.nextpage__title em{font-style:italic;color:var(--gold)}
.nextpage__arrow{
  display:inline-flex;align-items:center;gap:14px;
  padding:22px 36px;background:var(--gold);color:var(--ink);
  font-size:13px;font-weight:600;letter-spacing:.02em;
  border-radius:100px;transition:padding .4s var(--ease-out),background .4s var(--ease-out);
}
.nextpage__arrow:hover{padding-right:52px;background:var(--paper)}
.nextpage__arrow .arr{transition:transform .4s var(--ease-out)}
.nextpage__arrow:hover .arr{transform:translateX(6px)}

/* 홈페이지 섹션 티저 그리드 - 페이지 탐색임 */
.teasers{background:var(--paper);padding:clamp(80px,12vw,160px) 0}
.teasers__head{text-align:center;margin-bottom:clamp(60px,8vw,100px)}
.teasers__eye{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.28em;color:var(--muted);margin-bottom:20px;text-transform:uppercase}
.teasers__title{font-family:var(--f-display);font-weight:300;font-size:clamp(40px,6vw,80px);line-height:1;letter-spacing:-.03em;font-variation-settings:"opsz" 144}
.teasers__title em{font-style:italic;color:var(--gold-deep)}
.teasers__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
@media(max-width:960px){.teasers__grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:620px){.teasers__grid{grid-template-columns:1fr}}
.teaser{
  position:relative;display:block;
  aspect-ratio:3/4;overflow:hidden;
  background:var(--ink);color:var(--paper);
  isolation:isolate;
  box-shadow:var(--sh-2);
  transition:transform .7s var(--ease-out),box-shadow .7s var(--ease-out);
}
.teaser:hover{transform:translateY(-8px);box-shadow:var(--sh-4)}
.teaser__bg{position:absolute;inset:0;z-index:0}
.teaser__bg img{width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform 1.4s var(--ease-out),opacity .6s var(--ease-out)}
.teaser:hover .teaser__bg img{transform:scale(1.06);opacity:.45}
.teaser__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,14,26,.2) 0%,rgba(10,14,26,.55) 65%,rgba(10,14,26,.9) 100%);
}
.teaser__body{
  position:absolute;inset:0;z-index:1;
  padding:32px 32px 36px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.teaser__num{font-family:var(--f-mono);font-size:10px;letter-spacing:.3em;color:var(--gold);letter-spacing:.3em}
.teaser__title{
  font-family:var(--f-display);font-weight:300;
  font-size:clamp(28px,2.6vw,40px);line-height:1;letter-spacing:-.02em;margin-bottom:8px;
  font-variation-settings:"opsz" 144;
}
.teaser__title em{font-style:italic;color:var(--gold)}
.teaser__tag{font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;color:rgba(250,247,242,.65);text-transform:uppercase;margin-bottom:14px}
.teaser__read{
  display:inline-flex;gap:10px;align-items:center;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  opacity:.85;transition:gap .4s var(--ease-out),opacity .4s var(--ease-out);
}
.teaser:hover .teaser__read{gap:16px;opacity:1;color:var(--gold)}

/* 페이지 전환 페이드인 - 첫 렌더 시 */
body:not(.ready){opacity:0}
body.ready{opacity:1;transition:opacity .6s var(--ease-out)}

/* 네비 현재 페이지 활성화 밑줄임 */
.nav__links a.active::after{transform:scaleX(1)}
.nav__links a.active{font-weight:600}

/* 섹션 헤드 사이드 번호 바 - 좌측 에디토리얼 컬럼임 */
.side-num{
  position:absolute;left:var(--gutter);top:120px;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.24em;
  color:var(--muted);writing-mode:vertical-rl;transform:rotate(180deg);
  text-transform:uppercase;
}
@media(max-width:1200px){.side-num{display:none}}

/* 인터랙티브 호버 이미지 zoom - 모든 figure 공통임 */
figure.zoom{overflow:hidden;position:relative;background:var(--ink)}
figure.zoom img{transition:transform 1.4s var(--ease-out),opacity .6s var(--ease-out)}
figure.zoom:hover img{transform:scale(1.05)}

/* 컨택트 페이지 대형 타이틀 - 깊이감 있는 디스플레이임 */
.contact-big{
  font-family:var(--f-display);font-weight:300;font-style:italic;
  font-size:clamp(80px,14vw,240px);line-height:.88;letter-spacing:-.045em;
  font-variation-settings:"opsz" 144;
  color:var(--ink);
}
.contact-big em{font-style:normal;color:var(--gold-deep)}

/* 페이지 타이틀 레이어드 그림자 - 입체 글자 */
.layered-title{
  position:relative;display:inline-block;
  font-family:var(--f-display);font-style:italic;font-weight:300;
  font-variation-settings:"opsz" 144;
}
.layered-title::before{
  content:attr(data-text);
  position:absolute;left:6px;top:6px;
  color:transparent;-webkit-text-stroke:1px rgba(184,147,90,.35);
  z-index:-1;
}

/* --- 이메일 CTA 블록 - 폼 대체임 --- */
.mail-cta{display:grid;gap:28px;align-content:start}
.mail-cta__eye{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.28em;color:var(--gold);text-transform:uppercase}
.mail-cta__lead{font-family:var(--f-serif);font-style:italic;font-size:16px;line-height:1.7;color:rgba(250,247,242,.8);max-width:42ch}
.mail-cta__btn{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:28px 32px;
  background:var(--gold);color:var(--ink);
  border-radius:100px;
  transition:background .4s var(--ease-out),padding .4s var(--ease-out),transform .4s var(--ease-out);
  box-shadow:var(--sh-gold);
}
.mail-cta__btn:hover{background:var(--paper);padding-right:44px;transform:translateY(-2px)}
.mail-cta__addr{font-family:var(--f-display);font-style:italic;font-weight:400;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.01em;font-variation-settings:"opsz" 72}
.mail-cta__arr{font-family:var(--f-display);font-size:22px;transition:transform .4s var(--ease-out)}
.mail-cta__btn:hover .mail-cta__arr{transform:translateX(8px)}
.mail-cta__guide{padding-top:28px;border-top:1px solid rgba(250,247,242,.14);display:grid;gap:18px}
.mail-cta__guide-title{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(250,247,242,.55)}
.mail-cta__guide-list{list-style:none;display:grid;gap:12px}
.mail-cta__guide-list li{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:baseline;font-size:13.5px;line-height:1.55;color:rgba(250,247,242,.75)}
.mail-cta__guide-list strong{font-family:var(--f-serif);font-weight:700;font-size:14px;color:var(--paper);letter-spacing:-.01em}
@media(max-width:620px){
  .mail-cta__guide-list li{grid-template-columns:1fr;gap:4px}
  .mail-cta__btn{padding:22px 26px}
}
