/* ══════════════════════════════════════════════════════════
   MILESTONE INVEST — 지사·부본사 파트너 페이지
   1600px 캔버스 유동 스케일 (1rem = 16px @1600)
   ══════════════════════════════════════════════════════════ */

:root{
  --ink:        #1C2B4A;
  --ink-80:     rgba(28,43,74,.8);
  --ink-60:     rgba(28,43,74,.6);
  --ink-30:     rgba(28,43,74,.3);
  --ink-12:     rgba(28,43,74,.12);
  --ground:     #F3F1EA;
  --ground-80:  rgba(243,241,234,.8);
  --ground-55:  rgba(243,241,234,.55);
  --ground-20:  rgba(243,241,234,.2);
  --deep:       #131F36;
  --haze:       #AEC0CE;
  --gold:       #C6A14F;
  --white:      #FFFFFF;
  --white-75:   rgba(255,255,255,.75);
  --white-35:   rgba(255,255,255,.35);
  --white-18:   rgba(255,255,255,.18);

  --font-display: 'Noto Serif KR', 'Apple SD Gothic Neo', serif;
  --font-body:    'IBM Plex Sans KR', 'Apple SD Gothic Neo', sans-serif;

  --offset: 3rem;                /* 48px @1600 */
  --ease-inout: cubic-bezier(.75,0,.25,1);
  --ease-out:   cubic-bezier(.25,1,.5,1);

  --z-rail: 40; --z-ui: 50; --z-preloader: 100;
}

html{ font-size: 1vw; }
@media (max-width: 991px){ html{ font-size: 3.7vw; } }
@media (min-width: 2200px){ html{ font-size: 22px; } }

*,*::before,*::after{ box-sizing: border-box; margin: 0; padding: 0; }

html{ scrollbar-width: none; }
html::-webkit-scrollbar{ display: none; }

body{
  -webkit-user-select: none; user-select: none;
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink);
  background: var(--ground);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
body.is-locked{ overflow: hidden; }

a{ color: inherit; text-decoration: none; }
button{ font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
ul{ list-style: none; }
svg{ display: block; }

input, textarea, select{ -webkit-user-select: text; user-select: text; }
img{ -webkit-user-drag: none; pointer-events: none; }
a img, .product_frame img{ pointer-events: auto; }

.u-microlabel{
  font-size: .5625rem; letter-spacing: .32em; text-transform: uppercase; font-weight: 500;
}

/* ══════════ 프리로더 ══════════ */
.preloader{
  position: fixed; inset: 0; z-index: var(--z-preloader);
  background: var(--deep); color: var(--ground);
  display: grid; place-items: center;
  transition: opacity .9s var(--ease-inout), visibility .9s;
}
.preloader.is-done{ opacity: 0; visibility: hidden; }
.preloader_frame{
  position: absolute; inset: 1.5rem; border: 1px solid var(--ground-20);
  clip-path: polygon(2rem 0,calc(100% - 2rem) 0,100% 2rem,100% calc(100% - 2rem),calc(100% - 2rem) 100%,2rem 100%,0 calc(100% - 2rem),0 2rem);
}
.preloader_watermark{
  position: absolute; inset: 0; display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 900; font-size: 10.5rem; line-height: 1.12;
  letter-spacing: .05em; text-align: center;
  color: rgba(243,241,234,.05); user-select: none;
}
.preloader_side{ position: absolute; top: 50%; transform: translateY(-50%); color: var(--ground-55); }
.preloader_side.is-left{ left: 16%; }
.preloader_side.is-right{ right: 16%; }
.preloader_center{ position: relative; text-align: center; }
.preloader_symbol{ width: 3rem; height: 3rem; object-fit: contain; margin: 0 auto 1.4rem; }
.preloader_name{
  font-family: var(--font-display); font-weight: 900; font-size: 2.6rem;
  letter-spacing: .04em; line-height: 1;
}
.preloader_name_sub{
  display: inline-block; margin-top: .55rem;
  font-size: 1.15rem; letter-spacing: .58em; font-weight: 600; color: var(--gold);
}
.preloader_tag{ margin-top: 1.25rem; font-size: .6875rem; letter-spacing: .18em; color: var(--ground-55); }
.preloader_progress{
  position: absolute; bottom: 3.4rem; left: 50%; transform: translateX(-50%);
  width: 1px; height: 4.5rem; background: var(--ground-20); overflow: hidden;
}
.preloader_progress_bar{
  display: block; width: 100%; height: 100%; background: var(--ground);
  transform: scaleY(0); transform-origin: top;
}

/* ══════════ 전역 고정 UI ══════════ */
.site-ui{ position: fixed; inset: 0; z-index: var(--z-ui); pointer-events: none; color: var(--white); transition: color .5s; }
.site-ui[data-theme="light"]{ color: var(--ink); }
.site-ui[data-theme="dark"], .site-ui[data-theme="scene"]{ color: var(--white); }

.badge{
  position: absolute; top: 2rem; left: var(--offset);
  width: 6.5rem; height: 6.5rem; pointer-events: auto; display: block;
}
.badge_ring{ position: absolute; inset: 0; animation: badge-spin 22s linear infinite; }
.badge_text{ font-size: 11.5px; letter-spacing: .42em; fill: currentColor; font-family: var(--font-body); font-weight: 500; }
.badge_symbol{ position: absolute; inset: 27%; width: 46%; height: 46%; object-fit: contain; }
@keyframes badge-spin{ to{ transform: rotate(360deg); } }

.site-nav{ position: absolute; top: 2.6rem; right: var(--offset); text-align: right; pointer-events: auto; }
.site-nav_item{
  display: block; font-size: .6875rem; letter-spacing: .22em; font-weight: 500;
  margin-bottom: .8rem; opacity: .85; transition: opacity .3s;
}
.site-nav_item:hover{ opacity: 1; }
.site-nav_item.is-primary{
  font-family: var(--font-display); font-weight: 900; font-size: 1.3rem;
  letter-spacing: .02em; border-bottom: 1px solid currentColor; padding-bottom: .3rem; margin-bottom: 1.1rem;
}

.rail{
  position: absolute; left: var(--offset); top: 50%; transform: translateY(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 1.2rem;
}
.rail_track{ width: 1px; height: 7rem; background: currentColor; opacity: .25; position: relative; }
.rail_thumb{ position: absolute; top: 0; left: 0; width: 1px; height: 0%; background: currentColor; opacity: 1; }
.rail_count{ font-size: .6875rem; letter-spacing: .12em; font-variant-numeric: tabular-nums; }
.rail_scroll{
  writing-mode: vertical-rl; font-size: .5625rem; letter-spacing: .32em; opacity: .7;
  display: flex; align-items: center; gap: .6rem;
}
.rail_arrow{ width: 1px; height: 2.2rem; background: currentColor; display: block; }

/* ══════════ S1. HERO ══════════ */
.hero-scroll{ height: 340vh; position: relative; z-index: 1; }
.hero{
  position: sticky; top: 0; height: 100vh; height: 100svh;
  overflow: clip; color: var(--white);
}
.hero_scene{ position: absolute; inset: 0; will-change: transform; }
.scene{ width: 100%; height: 100%; }

/* 장면 — 장중/장후 */
.scene_sky, .scene_river{ transition: opacity 1.4s var(--ease-inout); }
.scene_sky.is-night, .scene_river.is-night{ opacity: 0; }
body[data-time="night"] .scene_sky.is-night,
body[data-time="night"] .scene_river.is-night{ opacity: 1; }

.scene_far rect{ fill: #7f97ac; transition: fill 1.4s var(--ease-inout); }
body[data-time="night"] .scene_far rect{ fill: #172743; }

.scene_towers .tw rect, .scene_towers .tw polygon{ fill: #4a617c; transition: fill 1.4s var(--ease-inout); }
.scene_towers .tw.is-dominant rect:first-child, .scene_towers .tw.is-dominant polygon{ fill: #3d5470; }
body[data-time="night"] .scene_towers .tw rect,
body[data-time="night"] .scene_towers .tw polygon{ fill: #1a2947; }
.scene_mullion{ fill: rgba(20,32,54,.22); }
.scene_antenna{ stroke: #37506d; stroke-width: 2.5; transition: stroke 1.4s; }
body[data-time="night"] .scene_antenna{ stroke: #0d1930; }

.scene_windows rect{
  fill: var(--gold); opacity: 0;
  transition: opacity 1s var(--ease-out);
  transition-delay: var(--d, 0s);
}
body[data-time="night"] .scene_windows rect{ opacity: .92; }

.scene_aviation circle{ fill: #c0392b; opacity: 0; transition: opacity .8s .5s; }
body[data-time="night"] .scene_aviation circle{ opacity: .85; animation: avi 2.6s ease-in-out infinite; }
@keyframes avi{ 0%,100%{ opacity: .85; } 50%{ opacity: .2; } }

.scene_reflect rect{ fill: rgba(243,241,234,.08); filter: blur(6px); transition: fill 1.4s; }
body[data-time="night"] .scene_reflect rect{ fill: rgba(198,161,79,.12); }
.scene_bridge{ stroke: rgba(20,32,54,.35); stroke-width: 2; }

.hero_photo{ position: absolute; inset: 0; }
.hero_photo_img{
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 40%;
}
.hero_photo_img.is-night{ opacity: 0; transition: opacity 1.4s var(--ease-inout); }
body[data-time="night"] .hero_photo_img.is-night{ opacity: 1; }

.hero_grad{ position: absolute; left: 0; right: 0; pointer-events: none; }
.hero_grad.is-top{ top: 0; height: 52vh; background: linear-gradient(rgba(14,23,41,.62), rgba(14,23,41,.28) 55%, transparent); }
.hero_grad.is-bottom{ bottom: 0; height: 32vh; background: linear-gradient(transparent, rgba(12,20,36,.6)); }

.hero_content{
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center;
  text-align: center; padding-top: 15vh;
}
.hero_kicker{ font-size: .6875rem; letter-spacing: .42em; font-weight: 500; color: var(--white-75); text-transform: uppercase; }
.hero_title{
  margin-top: 2.4rem;
  font-family: var(--font-display); font-weight: 900;
  font-size: 7.2rem; line-height: 1.04; letter-spacing: -.02em;
  text-wrap: balance;
  text-shadow: 0 1px 30px rgba(12,20,36,.25);
}
.hero_title .char{ display: inline-block; }

.hero_tagline{
  margin-top: 2.4rem; font-size: .95rem; letter-spacing: .16em;
  font-weight: 500; color: var(--white-75);
  text-shadow: 0 1px 12px rgba(12,20,36,.4);
}
.hero_sub{
  position: absolute; top: 52vh;
  font-family: var(--font-display); font-weight: 600; font-size: 1.4rem; letter-spacing: .02em;
  text-shadow: 0 1px 14px rgba(12,20,36,.45);
}
.hero_sub.is-left{ left: 10%; }
.hero_sub.is-right{ right: 10%; }

.btn-orb{
  position: absolute; bottom: 17vh; left: 50%; transform: translateX(-50%);
  width: 12.5rem; height: 12.5rem; display: grid; place-items: center;
}
.btn-orb_ring{ position: absolute; inset: 0; transform: rotate(-90deg); }
.btn-orb_base, .btn-orb_arc{ fill: none; stroke-width: 1.5; }
.btn-orb_base{ stroke: rgba(255,255,255,.32); }
.btn-orb_arc{
  stroke: var(--white);
  stroke-dasharray: 27 650;         /* 둘레 650의 4.17% */
  transition: stroke-dasharray .8s var(--ease-inout);
}
.btn-orb:hover .btn-orb_arc{ stroke-dasharray: 325 650; }
.btn-orb_label{ font-size: .6875rem; letter-spacing: .3em; font-weight: 500; line-height: 2; text-align: center; }

.hero_stats{
  position: absolute; bottom: 0; left: var(--offset); right: var(--offset);
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--white-18); padding: 1.6rem 0 2rem;
}
.stat{ text-align: center; position: relative; }
.stat + .stat::before{ content: ""; position: absolute; left: 0; top: .4rem; bottom: .4rem; width: 1px; background: var(--white-18); }
.stat_num{ font-family: var(--font-display); font-weight: 900; font-size: 2.1rem; display: block; line-height: 1.15; }
.stat_label{ font-size: .625rem; letter-spacing: .22em; color: var(--white-75); display: block; margin-top: .35rem; }

/* ══════════ S2. 매니페스토 ══════════ */
.manifesto{
  position: relative; z-index: 2;
  margin-top: -88vh;
  background: var(--ground); color: var(--ink);
  border-top-left-radius: 50rem; border-top-right-radius: 50rem;
  padding: 9rem var(--offset) 13rem;
  text-align: center;
}
.manifesto_arc-text{ width: 75rem; max-width: 92%; margin: 0 auto; overflow: visible; }
.manifesto_arc-text text{
  font-family: var(--font-body); font-weight: 500; font-size: 13px; letter-spacing: .5em; fill: var(--ink-60);
}
.manifesto_inner{ display: flex; flex-direction: column; align-items: center; margin-top: 3rem; }
.manifesto_symbol{ width: 2.5rem; height: 2.5rem; object-fit: contain; }
.manifesto_line{ width: 1px; height: 6rem; background: var(--ink-30); margin: 2.4rem 0; }
.manifesto_label{ font-size: .6875rem; letter-spacing: .26em; color: var(--ink-60); font-weight: 500; }
.manifesto_statement{
  margin-top: 4.5rem;
  font-family: var(--font-display); font-weight: 900;
  font-size: 5.6rem; line-height: 1.16; letter-spacing: -.015em;
  text-wrap: balance;
}
.manifesto_statement .line{ display: block; overflow: clip; }
.manifesto_statement .line > span{ display: inline-block; }

/* ══════════ S3. 세 가지 이유 ══════════ */
.reasons-scroll{ height: 380vh; position: relative; z-index: 2; }
.reasons{
  position: sticky; top: 0; height: 100vh; height: 100svh;
  background: var(--ground); color: var(--ink);
  overflow: clip;
  display: flex; flex-direction: column; align-items: center;
}
.reasons_headlines{ position: relative; width: 100%; height: 24vh; margin-top: 11vh; }
.reasons_headline{
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center; gap: .26em;
  font-family: var(--font-display); font-weight: 900;
  font-size: 7.4rem; letter-spacing: -.02em; line-height: 1;
  visibility: hidden;
}
.reasons_headline.is-active{ visibility: visible; }
.reasons_headline .char{ display: inline-block; }

.reasons_stage{ position: relative; width: 21rem; height: 44vh; margin-top: -4vh; }
.reasons_art{
  position: absolute; inset: 0; opacity: 0; visibility: hidden;
  transition: opacity .7s var(--ease-inout), visibility .7s;
}
.reasons_art.is-active{ opacity: 1; visibility: visible; }
.reasons_art svg{ width: 100%; height: 100%; }

/* 아트워크 공통 */
.art line{ stroke: var(--ink-30); stroke-width: 1; }
.art_caption{
  font-family: var(--font-body); font-size: 12px; letter-spacing: .3em;
  fill: var(--ink-60); text-anchor: middle; font-weight: 500;
}
.art_bar{ fill: var(--ink-12); }
.art_bar.is-strong{ fill: var(--ink-30); }
.art_ui{ font-family: var(--font-body); font-size: 13px; letter-spacing: .06em; fill: var(--ink-80); }
.art_ui.is-gold{ fill: #8a6c2a; font-weight: 600; }

.art-people .node circle{ fill: none; stroke: var(--ink); stroke-width: 1.2; }
.art-people .node text{ font-family: var(--font-body); font-size: 13px; fill: var(--ink); text-anchor: middle; font-weight: 500; }
.art-people .node .node_en{ font-size: 9px; letter-spacing: .18em; fill: var(--ink-60); }
.art-people .node.is-lead circle{ stroke-width: 2; }
.art-people .node.is-pm circle{ stroke: var(--ink-60); }
.art-people .node.is-pm text{ fill: var(--ink-80); font-size: 11px; }

.art-system .art_window{ fill: var(--white); stroke: var(--ink-30); }
.art-system circle{ fill: var(--ink-30); }
.art-system rect[width="392"]{ fill: var(--ink-12); }

.art-report .art_page{ fill: var(--white); stroke: var(--ink-12); }
.art-report .art_masthead{ fill: var(--ink); }
.art-report .art_mast-title{ font-family: var(--font-display); font-weight: 900; font-size: 19px; fill: var(--ground); letter-spacing: .06em; }
.art-report .art_chart{ fill: none; stroke: var(--ink-12); stroke-width: 1; }
.art-report .art_chartline{ fill: none; stroke: var(--gold); stroke-width: 1.6; }
.art-report rect[width="332"]{ fill: var(--ink-12); }

.reasons_copy{ margin-top: 2vh; text-align: center; position: relative; width: 100%; }
.reasons_body{
  position: absolute; left: 50%; transform: translateX(-50%);
  width: 36rem; max-width: 86vw;
  opacity: 0; visibility: hidden; transition: opacity .6s, visibility .6s;
}
.reasons_body.is-active{ opacity: 1; visibility: visible; }
.reasons_refrain{
  padding-top: 4.6rem;
  font-size: .625rem; letter-spacing: .34em; color: var(--ink-60); font-weight: 600;
}
.reasons_pager{
  position: absolute; bottom: 4.5vh; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: 1.6rem;
  font-size: .6875rem; font-variant-numeric: tabular-nums;
}
.reasons_pager_track{ position: relative; width: 12rem; height: 1px; background: var(--ink-12); }
.reasons_pager_track i{ position: absolute; inset: 0 auto 0 0; width: 0%; background: var(--ink); }


/* ══════════ S7-lite. 시스템 실물 ══════════ */
.systems{
  position: relative; z-index: 2;
  background: var(--ground); color: var(--ink);
  padding: 10rem var(--offset) 9rem;
}
.systems_title{
  font-family: var(--font-display); font-weight: 900;
  font-size: 4.6rem; line-height: 1.12; letter-spacing: -.015em;
  text-align: center; text-wrap: balance;
}
.systems_intro{ margin: 1.8rem auto 0; text-align: center; max-width: 34rem; color: var(--ink-80); }
.product{
  display: grid; grid-template-columns: 7fr 3fr; gap: 3rem; align-items: center;
  margin-top: 7rem;
}
.product.is-reverse .product_frame{ order: 2; }
.product.is-reverse .product_info{ order: 1; text-align: right; }
.product_frame{
  border: 1px solid var(--ink-12); background: var(--white);
}
.product_chrome{
  display: flex; align-items: center; gap: .45rem;
  padding: .65rem .9rem; border-bottom: 1px solid var(--ink-12);
}
.product_chrome i{ width: .5rem; height: .5rem; border-radius: 50%; background: var(--ink-12); display: block; }
.product_chrome em{
  font-style: normal; margin-left: .6rem;
  font-size: .5625rem; letter-spacing: .22em; color: var(--ink-60); font-weight: 600;
}
.product_frame img{ display: block; width: 100%; height: auto; }
.product_no{
  font-family: var(--font-display); font-weight: 600; font-size: 1rem; color: var(--ink-30);
}
.product_name{
  margin-top: .6rem;
  font-family: var(--font-display); font-weight: 900; font-size: 2.3rem; line-height: 1.15; letter-spacing: -.01em;
}
.product_line{ margin-top: 1rem; font-size: 1.0625rem; font-weight: 600; }
.product_spec{ margin-top: .9rem; font-size: .8125rem; line-height: 1.8; color: var(--ink-60); text-wrap: pretty; }

/* ══════════ S10. 대화 CTA ══════════ */
.cta{
  position: relative; z-index: 2;
  min-height: 100vh; min-height: 100svh;
  display: grid; place-items: center;
  overflow: clip; color: var(--white); text-align: center;
  background: var(--deep);
}
.cta_photo{
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 32%;
}
.cta_grad{
  position: absolute; inset: 0;
  background: linear-gradient(rgba(12,20,36,.24), transparent 34%, transparent 58%, rgba(12,20,36,.66));
}
.cta_inner{ position: relative; display: flex; flex-direction: column; align-items: center; padding: 0 var(--offset); }
.cta_title{
  font-family: var(--font-display); font-weight: 900;
  font-size: 5.4rem; line-height: 1.14; letter-spacing: -.015em;
  text-shadow: 0 1px 28px rgba(12,20,36,.4);
  text-wrap: balance;
}
.cta_sub{ margin-top: 1.8rem; font-size: 1rem; color: var(--white-75); }
.btn-orb.is-static{ position: relative; margin-top: 3.4rem; width: 11.5rem; height: 11.5rem; display: grid; place-items: center; }


/* ══════════ 합류 상담 ══════════ */
.join{
  position: relative; z-index: 2;
  background: var(--deep); color: var(--ground);
  display: grid; grid-template-columns: 5fr 5fr; gap: 5rem;
  padding: 9rem var(--offset) 8rem 8.5rem;
  border-bottom: 1px solid var(--ground-20);
}
@media (max-width: 991px){ .join{ padding-left: var(--offset); } }
.join_title{
  font-family: var(--font-display); font-weight: 900;
  font-size: 4.8rem; line-height: 1.1; letter-spacing: -.015em;
}
.join_lead{
  margin-top: 2.2rem; font-family: var(--font-display); font-weight: 600;
  font-size: 1.35rem; line-height: 1.55; color: var(--ground);
  text-wrap: pretty;
}
.join_body{ margin-top: 1.4rem; max-width: 30rem; color: var(--ground-80); text-wrap: pretty; }
.join_note{ margin-top: 2.4rem; font-size: .6875rem; letter-spacing: .08em; color: var(--ground-55); }

.hp{ position: absolute; left: -10000px; height: 0; width: 0; overflow: hidden; }
.join_form{ display: flex; flex-direction: column; gap: 2.2rem; padding-top: .8rem; }
.join_row{ display: grid; gap: 2rem; }
.join_row.is-half{ grid-template-columns: 1fr 1fr; }
.join_field{ display: block; }
.join_label{
  display: block; font-size: .625rem; letter-spacing: .24em; font-weight: 600;
  color: var(--ground-55); margin-bottom: .7rem; text-transform: uppercase;
}
.join_input{
  width: 100%; background: none; border: 0; border-bottom: 1px solid var(--ground-20);
  color: var(--ground); font-family: var(--font-body); font-size: 1.05rem;
  padding: .45rem 0 .8rem; border-radius: 0; outline: none;
  transition: border-color .3s;
}
.join_input::placeholder{ color: rgba(243,241,234,.32); }
.join_input:focus{ border-bottom-color: var(--gold); }
.join_input.is-select{ appearance: none; cursor: pointer; }
.join_input.is-select option{ color: var(--ink); }
.join_input.is-area{ resize: vertical; min-height: 4.6rem; line-height: 1.7; }
.join_actions{ margin-top: .6rem; display: flex; align-items: center; gap: 1.8rem; flex-wrap: wrap; }
.join_submit{
  font-family: var(--font-body); font-size: .8125rem; letter-spacing: .18em; font-weight: 600;
  color: var(--ground); border: 1px solid var(--ground-55);
  padding: 1.05rem 2.6rem; border-radius: 10rem;
  transition: border-color .3s, background .3s, color .3s;
}
.join_submit:hover{ border-color: var(--gold); background: var(--gold); color: var(--deep); }
.join_hint{ font-size: .625rem; letter-spacing: .06em; color: var(--ground-55); }

/* ══════════ 다음 장면 + 푸터 ══════════ */

.footer{
  position: relative; z-index: 2;
  background: var(--deep); color: var(--ground);
  text-align: center;
  padding: 5rem var(--offset) 4rem;
  border-top: 1px solid var(--ground-20);
}
.footer_symbol{ width: 2.7rem; height: 2.7rem; object-fit: contain; margin: 0 auto 2.4rem; }
.footer_tel-label{
  font-size: .6875rem; letter-spacing: .3em; font-weight: 600;
  color: var(--ground-55); margin-bottom: 1.4rem; text-transform: uppercase;
}
.footer_tel{
  font-family: var(--font-display); font-weight: 900;
  font-size: 7.5rem; line-height: 1; letter-spacing: .01em;
  display: inline-block;
}
.footer_office{ margin-top: 2.8rem; font-size: .6875rem; letter-spacing: .2em; color: var(--ground-80); }
.footer_meta{ margin-top: .9rem; font-size: .6875rem; letter-spacing: .12em; color: var(--ground-55); }
.footer_legal{ margin-top: 2.6rem; font-size: .625rem; color: var(--ground-55); max-width: 42rem; margin-inline: auto; }
.footer_copy{ margin-top: 2.4rem; font-size: .625rem; letter-spacing: .18em; color: var(--ground-55); }
.footer_credit{ margin-top: .8rem; font-size: .5625rem; letter-spacing: .06em; color: rgba(243,241,234,.38); }

/* ══════════ 모바일 ══════════ */
@media (max-width: 991px){
  .rail_scroll, .rail_track{ display: none; }
  .rail{ top: auto; bottom: 1.4rem; transform: none; }
  .badge{ width: 4.6rem; height: 4.6rem; top: 1.2rem; }
  .site-nav_item.is-primary{ font-size: 1.05rem; }

  .hero_title{ font-size: 3.2rem; margin-top: 1.8rem; }
  .hero_tagline{ font-size: .8rem; letter-spacing: .1em; }
  .preloader_watermark{ font-size: 3.2rem; }
  .hero_kicker{ font-size: .58rem; letter-spacing: .3em; }
  .hero_sub{ display: none; }
  .btn-orb{ width: 8.6rem; height: 8.6rem; bottom: 20vh; }
  .hero_stats{ grid-template-columns: repeat(2, 1fr); row-gap: 1.2rem; padding-bottom: 1.4rem; }
  .stat:nth-child(3)::before{ display: none; }
  .stat_num{ font-size: 1.5rem; }

  .manifesto{ border-top-left-radius: 9rem; border-top-right-radius: 9rem; padding-bottom: 8rem; }
  .manifesto_statement{ font-size: 2.7rem; }

  .reasons_headline{ font-size: 2.9rem; }
  .reasons_stage{ width: 66vw; }
  .reasons_body{ width: 86vw; }

  .footer_tel-label{
  font-size: .6875rem; letter-spacing: .3em; font-weight: 600;
  color: var(--ground-55); margin-bottom: 1.4rem; text-transform: uppercase;
}
.footer_tel{ font-size: 3.4rem; }
  .join{ grid-template-columns: 1fr; gap: 3rem; padding-top: 5rem; padding-bottom: 5rem; }
  .join_title{ font-size: 2.8rem; }
  .join_row.is-half{ grid-template-columns: 1fr; }
  .systems_title{ font-size: 2.6rem; }
  .product{ grid-template-columns: 1fr; gap: 1.6rem; margin-top: 4.5rem; }
  .product.is-reverse .product_frame{ order: 0; }
  .product.is-reverse .product_info{ order: 1; text-align: left; }
}

/* ══════════ 모션 감소 ══════════ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .badge_ring{ animation: none; }
  .scene_aviation circle{ animation: none; }
  .hero-scroll{ height: auto; }
  .hero{ position: relative; }
  .manifesto{ margin-top: 0; }
  .reasons-scroll{ height: auto; }
  .reasons{ position: relative; height: auto; padding: 6rem 0 8rem; }
  .reasons_headlines{ height: auto; margin-top: 0; display: flex; flex-direction: column; gap: 2rem; position: static; }
  .reasons_headline{ position: static; visibility: visible; font-size: 3.4rem; }
  .reasons_art, .reasons_body{ position: static; opacity: 1; visibility: visible; transform: none; }
  .reasons_stage{ height: auto; }
  .reasons_pager{ display: none; }
  .preloader{ display: none; }
}
