/* Mobile composition: readable content, reachable controls and bounded artwork. */
.outlook-tabs,.journey-mobile-heading,.tech-mobile-heading,.pipeline-mobile-label { display:none; }
.partner-guide-tabs { display:none; }
.menu-chapters,.menu-card-copy { display:contents; }
.menu-intro,.menu-current,.menu-art,.menu-caption,.menu-arrow,.menu-signoff { display:none; }
@media (max-width:760px) {
 :root { --gutter:clamp(20px,5.5vw,32px); --mobile-header:calc(72px + env(safe-area-inset-top)); }
 html { scroll-padding-top:calc(var(--mobile-header) + 16px); }
 .section-pad { padding:60px max(var(--gutter),env(safe-area-inset-right)) 60px max(var(--gutter),env(safe-area-inset-left)); }
 .eyebrow { margin-bottom:32px; line-height:1.65; }
 .body-copy,.intro-description { overflow-wrap:break-word; }
 a,button { -webkit-tap-highlight-color:#73bce333; touch-action:manipulation; }
 .text-link,.underlink { min-height:48px; align-items:center; font-size:14px; padding-block:12px; }
 .text-link svg { flex-shrink:0; }
 .underlink { gap:24px; }
 .motion-toggle,.scroll-cue { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; }
 .motion-toggle { padding:10px 8px; }
 .site-header,.site-header.is-scrolled { height:var(--mobile-header); padding-top:env(safe-area-inset-top); padding-left:max(var(--gutter),env(safe-area-inset-left)); padding-right:max(var(--gutter),env(safe-area-inset-right)); }
 .site-header>.brand,.footer>.brand { min-height:44px; width:fit-content; }
 .menu-toggle { width:48px; height:48px; margin-right:-10px; flex-shrink:0; }
 /* Four destinations become miniature scenes in one mobile navigation surface. */
 .site-header:has(nav.is-open),.site-header.is-dark:has(nav.is-open) { position:fixed; background:#17212c; color:#edf5fc; border-bottom-color:transparent; backdrop-filter:none; }
 .site-header:has(nav.is-open) .brand-ai { color:#a3bed4; }
 .site-header:has(nav.is-open) .reading-progress { opacity:0; }
 .site-header .menu-toggle { align-items:center; gap:6px; border-radius:50%; transition:background .25s,box-shadow .25s; }
 .menu-toggle span { transition:transform .3s var(--ease); }
 .site-header:has(nav.is-open) .menu-toggle { width:44px; height:44px; margin-right:0; background:linear-gradient(140deg,#eff8ff12,#e0edff04); box-shadow:inset 0 1px 0 #fff4,inset 0 -1px 0 #dceaff0d,0 3px 12px #0002; }
 .site-header:has(nav.is-open) .menu-toggle span { width:18px; }
 .site-header nav,.site-header nav.is-open {
  display:flex; flex-direction:column; position:fixed; inset:var(--mobile-header) 0 auto;
  min-height:0; height:calc(100svh - var(--mobile-header)); height:calc(100dvh - var(--mobile-header));
  padding:clamp(16px,3.5svh,32px) max(var(--gutter),env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(var(--gutter),env(safe-area-inset-left));
  gap:clamp(16px,2.8svh,26px); align-items:stretch; justify-content:flex-start; overflow-y:auto; overscroll-behavior:contain;
  background:radial-gradient(ellipse at 0 45%,#30567728,transparent 70%),radial-gradient(ellipse at 110% 75%,#5749771f,transparent 65%),#17212c;
  color:#ecf4fb; border:0; box-shadow:0 35px 60px #0003; -webkit-overflow-scrolling:touch;
  visibility:hidden; opacity:0; pointer-events:none; transform:translateY(-6px); transition:opacity .22s,transform .3s var(--ease),visibility .3s;
 }
 .site-header nav.is-open { visibility:visible; opacity:1; pointer-events:auto; transform:none; transition:opacity .22s,transform .3s var(--ease),visibility 0s; }
 .menu-intro { display:block; flex-shrink:0; position:relative; padding-block:2px 4px; }
 .menu-intro>span:first-child { display:block; font-size:9px; letter-spacing:.16em; color:#8fa9bd; line-height:1.5; }
 .menu-intro>p { margin:8px 0 0; font-size:clamp(23px,6.2vw,30px); font-weight:500; letter-spacing:-.055em; line-height:1.35; }
 .menu-intro-orbit { position:absolute; right:5px; top:6px; width:40px; height:40px; border:1px solid #aacdec2b; border-radius:50%; transform:rotate(-36deg) scaleY(.52); }
 .menu-intro-orbit:before { content:''; position:absolute; inset:-1px; border:1px solid #acccef38; border-radius:50%; transform:rotate(80deg); }
 .menu-intro-orbit:after { content:''; position:absolute; top:6px; right:1px; width:4px; height:4px; background:#b0def0; border-radius:50%; box-shadow:0 0 9px #b0def088; }
 .menu-chapters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; flex-shrink:0; }
 .site-header nav .menu-chapter,.site-header nav.is-open .menu-chapter {
  --menu-light:#9cdcf2; position:relative; display:flex; align-items:flex-end; justify-content:flex-start;
  min-width:0; min-height:146px; height:clamp(146px,23svh,208px); padding:16px; gap:0; isolation:isolate;
  border:1px solid #bddfff21; border-radius:20px; color:#edf5fc; letter-spacing:normal; overflow:hidden;
  background:radial-gradient(ellipse at 85% 0,#a8d8ff0b,transparent 75%),linear-gradient(150deg,#abcde70d,#799ab303);
  box-shadow:inset 0 1px 0 #e0f3ff0d,0 5px 18px #07111d14;
  transition:border-color .25s,background-color .25s,transform .3s var(--ease),box-shadow .3s;
 }
 .site-header nav .menu-chapter-1 { --menu-light:#c7b5f7; border-radius:20px 20px 20px 6px; }
 .site-header nav .menu-chapter-2 { --menu-light:#a5d5ff; border-radius:6px 20px 20px 20px; }
 .site-header nav .menu-chapter-3 { --menu-light:#aadfd8; }
 .site-header nav .menu-chapter:before { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 85% 15%,#8dcaef13,transparent 70%); opacity:0; transition:opacity .3s; }
 .site-header nav .menu-chapter:after { display:none; }
 .site-header nav .menu-chapter .menu-index { display:block!important; position:absolute; top:14px; left:16px; color:#829bb0; font-size:10px; font-weight:400; line-height:1; letter-spacing:.05em; }
 .site-header nav .menu-chapter[aria-current=page] { border-color:#a8dcee70; background-color:#97c9e111; box-shadow:inset 0 1px 0 #dcf7ff24,0 7px 24px #060f1b24; }
 .menu-current { display:flex; align-items:center; gap:5px; position:absolute; top:12px; right:13px; color:#bce9f7; font-size:9px; line-height:1.4; }
 .menu-current:before { content:''; width:4px; height:4px; background:currentColor; border-radius:50%; box-shadow:0 0 7px #a9e7ff80; }
 .menu-art { display:block; position:absolute; width:88%; height:54%; right:-1%; top:14%; z-index:-1; transform:translateY(0); transition:transform .45s var(--ease),filter .35s; }
 .menu-art svg { width:100%; height:100%; overflow:visible; }
 .menu-card-copy { display:grid; gap:6px; min-width:0; }
 .menu-title { font-size:clamp(19px,5.5vw,27px); font-weight:550; line-height:1.15; letter-spacing:-.045em; white-space:nowrap; }
 .menu-caption { display:block; color:#98afc2; font-size:clamp(10px,2.75vw,12px); font-weight:400; line-height:1.5; letter-spacing:-.025em; white-space:nowrap; }
 .menu-arrow { display:block; position:absolute; right:13px; top:50%; width:15px; height:15px; color:var(--menu-light); opacity:0; transform:translate(-5px,4px) rotate(-45deg); transition:opacity .2s,transform .3s; }
 .menu-arrow svg,.menu-support-arrow svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; }
 .site-header nav .menu-chapter:active { transform:scale(.975); background-color:#b4dafa12; }
 .site-header nav .menu-chapter:focus-visible,.site-header nav .mobile-support:focus-visible { outline:2px solid #c3ebfa; outline-offset:3px; }
 .site-header nav.is-open .mobile-support {
  display:flex!important; flex-shrink:0; align-items:center; justify-content:flex-start; min-height:65px; margin:0; padding:12px 14px; gap:12px;
  border:1px solid #d5e9ff26; border-radius:18px; background:linear-gradient(120deg,#d7ecff0e,#c8d3f403); box-shadow:inset 0 1px 0 #f1f9ff0e,0 4px 16px #0000000d;
  color:#e3eff7; letter-spacing:normal; transition:background-color .25s,transform .2s;
 }
 .site-header nav .mobile-support:after { display:none; }
 .mobile-support>.menu-support-icon { display:grid; place-items:center; flex-shrink:0; width:34px; height:34px; border-radius:11px; background:#bacddd0c; box-shadow:inset 0 1px 0 #d1e8f324; color:#c7deed; }
 .menu-support-icon svg { width:17px; height:17px; fill:currentColor; }
 .mobile-support>.menu-support-copy { display:grid; gap:4px; font-size:10px; line-height:1.35; letter-spacing:-.025em; color:#96acbf; }
 .menu-support-copy>strong { color:#e0edf7; font-size:14px; font-weight:500; }
 .mobile-support>.menu-support-arrow { width:19px; height:19px; flex-shrink:0; margin-left:auto; color:#b3ccdf; transform:rotate(-45deg); }
 .site-header nav .mobile-support:active { transform:scale(.985); background-color:#d7ecff0a; }
 .menu-signoff { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:4px; font-size:9px; line-height:1.5; color:#748ca1; letter-spacing:.02em; }
 .menu-signoff>span:last-child { letter-spacing:0; }
 .footer { padding:28px var(--gutter) max(22px,env(safe-area-inset-bottom)); gap:16px 12px; }
 .footer nav { gap:0 12px; margin-inline:-6px; }
 .footer nav a { display:inline-flex; align-items:center; min-width:44px; min-height:44px; padding:10px 6px; font-size:13px; }
 .footer>p { font-size:10px; line-height:1.7; align-self:center; max-width:220px; }
 .footer .motion-toggle { font-size:11px; min-height:44px; padding:10px 4px; }
 .next-page { margin-top:38px; }
 .next-page .text-link { font-size:clamp(21px,5.7vw,28px); min-height:60px; }

 /* HOME: the animated symbol leads, with the message and action beneath it. */
 body[data-page=home] { --hero-stage-height:max(720px,100svh); }
 .home-hero-stage { display:grid; grid-template-rows:minmax(260px,1fr) auto auto; padding-top:calc(68px + env(safe-area-inset-top)); background:radial-gradient(ellipse at 50% 28%,#1b2b44 0,transparent 66%),#0c111a; }
 .home-hero .brand-field { position:relative; inset:auto; grid-row:1; min-height:0; transform-origin:50% 50%; }
 .home-hero .hero-coordinate { display:none; }
 .home-hero .hero-copy-shade { background:linear-gradient(180deg,transparent 48%,#0c111a55 78%,#0c111a99); }
 .home-hero-copy { grid-row:2; align-self:start; padding:8px var(--gutter) 0; }
 .home-hero h1 { font-size:clamp(40px,11.8vw,64px); line-height:1.2; }
 .eyeline { font-size:11px; line-height:1.7; margin-bottom:12px; }
 .hero-explanation { margin-top:14px; max-width:360px; }
 .hero-kakao-link { width:fit-content; max-width:100%; min-height:46px; padding:10px 16px; font-size:14px; margin-top:16px; gap:9px; border-radius:12px; }
 .hero-kakao-link>.kakao-bubble { width:18px; height:18px; }
 .hero-kakao-link>svg:last-child { width:16px; height:16px; margin-left:5px; }
 .home-hero .hero-bottom { position:relative; inset:auto; grid-row:3; gap:12px; padding:10px var(--gutter) max(14px,env(safe-area-inset-bottom)); }
 .home-hero .hero-bottom .motion-toggle { font-size:11px; }
 .home-company-layout { gap:30px; }
 .home-company-copy { grid-template-columns:72px minmax(0,1fr); gap:16px; }
 .discipline-line { margin-top:36px; font-size:11px; }
 .preview-heading h2 { font-size:clamp(28px,7.5vw,42px); line-height:1.22; }
 .preview-heading>.text-link { margin-top:8px; min-height:44px; padding-block:8px; }
 .signal-preview { height:clamp(156px,calc(100svh - 390px),280px); margin-block:12px; }
 .preview-controls { gap:10px; }
 .preview-controls button { min-height:64px; padding:12px 0; }
 .preview-controls strong { font-size:14px; }
 .service-weave { margin-top:32px; }
 body[data-page=home] .vision-navigation button { min-height:48px; padding-block:13px; }
 body[data-page=home] .vision-bottom { bottom:max(24px,env(safe-area-inset-bottom)); }
 .brand-resolution { min-height:0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto clamp(260px,82vw,380px) auto auto; gap:18px; text-align:center; justify-items:center; align-items:center; }
 .brand-resolution>.resolution-content { display:contents; }
 .brand-resolution .micro-label { grid-row:1; margin:0; font-size:12px; line-height:1.7; }
 .brand-resolution h2 { grid-row:2; font-size:clamp(42px,11.8vw,72px); }
 .brand-resolution .resolution-art { --closing-panel:1; position:relative; inset:auto; grid-column:1; grid-row:3; width:100%; height:100%; }
 .resolution-signature { grid-row:4; margin:0; justify-content:center; }
 .resolution-content>.text-link { grid-row:5; margin:0; min-height:48px; font-size:14px; gap:24px; }

 /* COMPANY: a compact reading rhythm through the eight years. */
 .page-intro,.origin-stage { padding-top:calc(var(--mobile-header) + 40px); }
 .company-intro-grid { gap:24px; }
 .time-strata { height:280px; max-width:460px; width:100%; margin:8px auto 0; }
 .strata-planes { width:61%; left:10%; }
 .company-intro-foot { margin-top:24px; }
 .journey-stage { padding-bottom:40px; }
 .journey-body { margin-top:24px; }
 .journey-chapter { padding-block:26px; }
 .journey-year { font-size:60px; margin-bottom:12px; }
 .journey-chapter h3 { font-size:22px; line-height:1.45; }
 .journey-chapter .body-copy { max-width:none; }
 .journey-art-mobile { width:min(100%,250px); margin:16px auto 0; }
 .journey-art-mobile figcaption { font-size:11px; padding-top:8px; }
 .vision-editorial { gap:28px; }
 .corporate-layout { gap:32px; }
 .corporate-layout>div:first-child { text-align:center; }
 .corporate-layout h2 { font-size:clamp(29px,8.2vw,40px); }
 .corporate-layout>div:first-child>.body-copy { margin-inline:auto; }
 .corporate-logo { display:block; width:108px; height:108px; margin:26px auto 0; }
 .corporate-signature { display:block; width:108px; margin:12px auto 0; font-size:12px; text-align:center; }
 .corporate-signature small { display:block; margin-top:6px; font-size:10px; line-height:1.6; letter-spacing:0; }
 .company-facts>div { padding-block:18px; grid-template-columns:88px minmax(0,1fr); gap:12px; }
 .company-facts dt { font-size:12px; }
 .company-facts dd { font-size:14px; overflow-wrap:anywhere; }
 .contact-line { margin-top:30px; gap:12px; padding-block:24px; }
 .contact-line p { font-size:14px; line-height:1.85; }

 /* TECHNOLOGY: compact controls with room for the research itself. */
 .origin-visual-track { height:auto; margin-top:30px; }
 .origin-visual { position:relative; top:auto; padding-bottom:0; }
 .origin-visual-heading { gap:12px; align-items:flex-start; min-height:52px; }
 .origin-visual-heading>strong { font-size:18px; }
 .origin-visual-heading>span { font-size:10px; }
 .origin-diagram { height:auto; max-height:none; aspect-ratio:720/470; }
 .origin-controls { gap:4px; }
 .origin-controls>button { min-height:48px; padding-inline:2px; gap:5px; }
 .origin-visual figcaption { font-size:13px; min-height:70px; }
 .origin-scroll-hint { display:block; font-size:11px; }
 .origin-note { margin-top:26px; }
 .lab-controls { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .lab-controls>button { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:15px 20px; row-gap:4px; align-content:center; text-align:center; }
 .lab-controls>button { min-height:58px; padding:9px 2px; }
 .lab-controls>button>span { font-size:9px; line-height:15px; margin:0; }
 .lab-controls strong { font-size:12px; line-height:20px; white-space:nowrap; }
 .lab-engine { height:190px; padding:12px 14px 0; }
 .lab-engine-meta { font-size:10px; line-height:17px; min-height:17px; flex-wrap:nowrap; gap:4px 12px; }
 .lab-engine-meta>span:last-child { display:none; }
 .lab-engine-svg { position:relative; inset:auto; height:0; flex:1; min-height:0; width:100%; margin:0; }
 .lab-engine-caption,.lab-reference,.lab-engine .lab-slice-name,.lab-engine .lab-slice-number,.lab-engine .lab-slice-callout { display:none; }
 .lab-inspectors { padding:17px 16px 20px; }
 .lab-inspector-top { display:none; }
 .lab-inspector h3 { margin-top:0; font-size:24px; line-height:1.35; }
 .lab-layer-copy { margin-top:10px; font-size:13px; line-height:1.7; }
 .lab-area-groups { margin-top:16px; }
 .lab-area-group>button { min-height:54px; padding:8px; gap:6px; border:1px solid #718fa326; border-radius:4px; }
 .lab-area-group strong { font-size:12px; line-height:1.55; }
 .lab-area-group>button>span,.lab-area-group>button>i { display:none; }
 .lab-area-group>button[aria-pressed="true"] { border-color:color-mix(in srgb,var(--lab-accent) 50%,transparent); }
 .lab-research-detail { margin-top:15px; padding-top:14px; }
 .lab-detail-item>span { font-size:11px; margin-bottom:7px; }
 .lab-research-detail p { font-size:13px; line-height:1.75; }
 .lab-research-detail .lab-area-translation { font-size:11px; line-height:1.65; }
 .tech-stage>.section-pad { padding-block:60px; }
 .tech-main { margin-top:28px; }
 .tech-copy { min-height:0; padding:24px 0 24px 18px; }
 .tech-copy .step-count { font-size:28px; margin-bottom:10px; }
 .tech-copy h3 { font-size:25px; line-height:1.4; }
 .tech-copy .body-copy { max-width:none; margin-top:14px; }
 .tech-copy .mobile-diagram { height:140px; margin-top:12px; }
 .tech-motto { margin-top:14px; font-size:11px; }

 /* SERVICE: bigger choices and clearer text within the existing scenes. */
 .service-intro-heading .intro-description { font-size:14px; }
 .experience-layers { height:390px; margin:22px 0 26px; }
 .experience-surface { width:min(250px,82%); padding:20px; transform:translate(calc(-50% + (1 - var(--experience-progress))*24px),-50%) rotateY(calc((1 - var(--experience-progress))*-18deg)); }
 .system-plane { width:75%; max-width:230px; height:225px; }
 .plane-back { --offset:-35px; }.plane-middle { --offset:-12px; }
 .experience-view-controls { width:100%; bottom:26px; gap:12px; justify-content:center; }
 .experience-view-controls button { min-height:48px; padding:12px 18px; font-size:14px; }
 .experience-view-label { font-size:11px; bottom:-5px; padding-inline:8px; line-height:1.7; }
 .user-flow { gap:20px 12px; }
 .user-flow li { font-size:13px; line-height:1.7; }
 .understanding-story .body-copy,.ecosystem-story .body-copy { font-size:14px; }
 .ux-caption p { font-size:12px; }
 .ecosystem-wing { grid-template-rows:repeat(4,56px); gap:8px; }
 .ecosystem-wing:after { bottom:28px; }
 .ecosystem-node { height:56px; min-height:56px; padding:8px 10px; gap:8px; }
 .ecosystem-node-icon { width:24px; height:24px; flex-shrink:0; }
 .ecosystem-node-icon svg { width:15px; height:15px; }
 .ecosystem-node strong { font-size:13px; }
 .ecosystem-node small { font-size:9px; }
 .ecosystem-detail p { font-size:14px; }
 .partner-station>span { font-size:10px; }
 .partner-guides article>p { font-size:14px; }
 .partner-guides li { font-size:12px; }
 [data-partner-compact="true"] .partner-guide-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #cad8e1; border-bottom:1px solid #cad8e1; background:#e6eef380; }
 .partner-guide-tabs button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:58px; padding:9px 2px; border-bottom:2px solid transparent; color:#748b9b; transition:background .2s,color .2s,border-color .2s; }
 .partner-guide-tabs button>span { font:9px Manrope,sans-serif; }
 .partner-guide-tabs strong { font-size:12px; line-height:1.5; font-weight:500; white-space:nowrap; }
 .partner-guide-tabs button[aria-selected="true"] { background:#ffffffa6; color:#31566e; border-bottom-color:#5f9bb9; }
 .partner-guide-tabs button:focus-visible { outline:2px solid #5f9bb9; outline-offset:-4px; }
 [data-partner-compact="true"] .partner-guides { border-top:0; }
 [data-partner-compact="true"] .partner-guides>article { grid-area:1/1; padding:20px 16px; border:0; visibility:hidden; opacity:0; transition:opacity .2s; }
 [data-partner-compact="true"] .partner-guides>article.is-active { visibility:visible; opacity:1; }
 [data-partner-compact="true"] .partner-guide-heading>span { display:none; }
 [data-partner-compact="true"] .partner-guide-heading h3 { font-size:22px; }
 [data-partner-compact="true"] .partner-guides article>p { flex:none; margin-top:12px; font-size:14px; line-height:1.8; }
 [data-partner-compact="true"] .partner-guides ul { margin-top:16px; gap:7px; }
 .partner-policy-note>p { font-size:12px; }
 .support-topics { font-size:12px; }
 .support-entry { padding:24px 20px; }
 .support-entry-description { font-size:14px; line-height:1.85; }
 .support-entry-note { font-size:12px; }
 .kakao-link { min-height:58px; }
 .support-bottom { font-size:12px; line-height:1.8; }
 .support-bottom>.text-link { display:flex; width:100%; justify-content:space-between; margin-top:14px; }
}

@media (max-width:360px) {
 .home-company-copy { grid-template-columns:1fr; gap:14px; }
 .established>span { display:inline; margin-left:10px; }
 .home-company-copy .text-link { grid-column:1; }
 .established { margin-bottom:0; }
 .next-page .text-link { font-size:21px; }
 .lab-controls>button { padding-inline:2px; }
 .lab-controls strong { font-size:11px; }
 .partner-station>strong { font-size:14px; }
 .experience-view-controls button { padding-inline:14px; }
 .support-entry { padding-inline:18px; }
 .support-entry h3 { font-size:30px; }
 .kakao-link { gap:8px; font-size:14px; }
}

@media (max-width:760px) and (max-height:700px) {
 body[data-page=home] { --hero-stage-height:max(720px,100svh); }
 .home-hero { height:auto; }
 .home-hero-stage { position:relative; mask-image:none; -webkit-mask-image:none; }
 .home-company { margin-top:0; }
}

/* Tablet-sized screens keep the desktop grid with touch-sized navigation. */
@media (min-width:761px) and (max-width:1024px) {
 a,button { -webkit-tap-highlight-color:#73bce333; touch-action:manipulation; }
 .site-header>.brand,.footer>.brand { min-height:44px; width:fit-content; }
 .site-header nav a,.header-contact,.footer nav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding-block:10px; }
 .site-header nav { gap:18px; }
 .site-header nav a[aria-current=page]:after { bottom:0; }
 .underlink,.text-link { min-height:48px; align-items:center; padding-block:12px; }
 .motion-toggle,.scroll-cue { display:inline-flex; align-items:center; min-height:44px; padding-block:10px; }
 .footer .motion-toggle { min-height:44px; padding-block:10px; }
 .footer nav { gap:14px; flex-wrap:wrap; }
 .year-navigation button { min-width:48px; }
 .lab-area-group>button,.experience-view-controls button { min-height:48px; }
}

@media (min-width:761px) and (max-width:1024px) and (orientation:portrait) {
 body[data-page=home] { --hero-stage-height:max(1000px,100svh); }
 .hero-coordinate { top:134px; }
 .home-hero-copy { padding:190px var(--gutter) 0; text-align:center; }
 .home-hero h1 { font-size:70px; }
 .eyeline { font-size:13px; margin-bottom:20px; }
 .hero-explanation { font-size:15px; margin:22px auto 0; }
 .hero-kakao-link { min-height:54px; width:320px; margin-top:22px; }
 .engine-caption { display:none; }
 .brand-resolution { min-height:0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto 420px auto auto; gap:20px; text-align:center; justify-items:center; }
 .brand-resolution>.resolution-content { display:contents; }
 .brand-resolution .micro-label { grid-row:1; margin:0; font-size:13px; }
 .brand-resolution h2 { grid-row:2; font-size:70px; }
 .brand-resolution .resolution-art { --closing-panel:1; position:relative; inset:auto; grid-column:1; grid-row:3; width:min(100%,620px); height:100%; }
 .resolution-signature { grid-row:4; margin:0; justify-content:center; }
 .resolution-content>.text-link { grid-row:5; margin:0; min-height:48px; font-size:15px; }
}

/* Short landscape screens use a reading layout instead of clipped pinned scenes. */
@media (max-width:1024px) and (max-height:600px) {
 .home-hero { height:auto; }
 .home-hero-stage { position:relative; mask-image:none; -webkit-mask-image:none; }
 .home-company { margin-top:0; }
 .journey,.technology,body[data-page=home] .vision { height:auto; }
 .journey-stage,.tech-stage,body[data-page=home] .vision-stage { position:relative; height:auto; min-height:0; display:block; overflow:visible; padding-block:60px; }
 .journey-body,.tech-main { display:block; height:auto; min-height:0; }
 .journey-chapters,.tech-narrative { display:block; }
 .journey-chapter,.tech-copy { position:relative; inset:auto; visibility:visible; opacity:1; transform:none; min-height:0; padding-block:24px; border-top:1px solid #8a9fb444; }
 .journey-visual,.tech-visual,.year-navigation,.pipeline { display:none; }
 .journey-art-mobile { display:flex; width:min(100%,250px); height:auto; margin:16px auto 0; }
 .journey-art-mobile .journey-sculpture { flex:none; width:100%; aspect-ratio:740/570; }
 .journey-art-mobile .journey-art-heading,.journey-art-mobile .journey-art-range { display:none; }
 .mobile-diagram { display:block; width:100%; height:140px; }
 body[data-page=home] .vision-statements { position:relative; inset:auto; height:auto; display:grid; gap:45px; margin:55px 0; }
 body[data-page=home] .vision-statement { position:relative; inset:auto; opacity:1; visibility:visible; transform:none; filter:none; }
 body[data-page=home] .vision-bottom { position:relative; inset:auto; margin-top:35px; }
 body[data-page=home] .vision-navigation { display:none; }
 .vision-point { display:none; }
}

@media (min-width:761px) and (max-width:1024px) and (max-height:600px) {
 .journey-chapters,.tech-narrative { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .home-hero-copy { padding-top:170px; }
 .home-hero h1 { font-size:60px; }
}

/* The three directions share one mobile reading panel; desktop keeps all columns. */
@media (max-width:760px) {
 .outlook-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:28px; border-bottom:1px solid #7894aa65; }
 .outlook-tabs button { min-width:0; min-height:66px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; padding:9px 2px; color:#8fa4b7; border-bottom:2px solid transparent; transition:color .2s,background .2s; }
 .outlook-tabs button>span { font-size:10px; font-family:Manrope,sans-serif; }
 .outlook-tabs strong { font-size:12px; font-weight:500; white-space:nowrap; }
 .outlook-tabs button[aria-selected="true"] { border-bottom-color:var(--outlook-accent); color:var(--outlook-accent); background:linear-gradient(0deg,color-mix(in srgb,var(--outlook-accent) 10%,transparent),transparent); }
 .outlook-tabs button:focus-visible { outline:2px solid var(--outlook-accent); outline-offset:-4px; }
 .outlook-directions { margin-top:0; border-top:0; display:grid; grid-template-columns:minmax(0,1fr); }
 .outlook-direction,.outlook-direction:first-child,.outlook-direction:last-child { grid-area:1/1; padding:26px 0 18px; min-height:475px; border:0; }
 .outlook-direction[hidden] { display:none; }
 .outlook-direction:before,.outlook-direction-label { display:none; }
 .outlook-direction h3 { font-size:29px; }
 .outlook-direction-copy { margin:14px 0 22px; font-size:14px; line-height:1.8; }
 .outlook-focus { margin-top:0; }
 .outlook-focus>span { padding-bottom:9px; }
 .outlook-focus dl>div { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:baseline; gap:10px; padding:14px 0 14px 12px; }
 .outlook-focus dl>div:before { top:24px; }
 .outlook-focus dt { font-size:15px; }
 .outlook-focus dd { font-size:12px; margin:0; line-height:1.7; }
 .outlook-purpose { padding-top:19px; }
 body[data-page=home] .vision-statement { font-size:clamp(34px,9.25vw,52px)!important; line-height:1.4!important; }
}

/* Keep the original scroll narrative on portrait phones, including 320px. */
@media (max-width:760px) and (min-height:500px) and (prefers-reduced-motion:no-preference) {
 .technology { height:calc(100svh + 1600px); }
 .tech-mobile-heading { display:block; padding-top:60px; padding-bottom:30px; }
 .tech-mobile-heading .eyebrow { margin-bottom:24px; }
 .tech-mobile-heading h2 { font-size:clamp(35px,8.8vw,59px); }
 .tech-mobile-heading h2 span { color:#79c1e8; }
 .tech-stage { position:sticky; top:var(--mobile-header); height:calc(100svh - var(--mobile-header)); min-height:0; padding:0; overflow:clip; }
 .tech-stage>.section-pad { height:100%; padding:18px var(--gutter) max(12px,env(safe-area-inset-bottom)); display:flex; flex-direction:column; }
 .tech-stage>.section-pad>.eyebrow,.tech-heading,.tech-copy .mobile-diagram { display:none; }
 .tech-main { flex:1; min-height:0; height:auto; margin:0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); gap:10px; }
 .tech-narrative { display:grid; grid-area:1/1; min-height:0; }
 .tech-copy { grid-area:1/1; position:relative; inset:auto; padding:0; border:0; min-height:0; opacity:0; visibility:hidden; transition:opacity .4s; }
 .tech-copy.is-active { opacity:1; visibility:visible; }
 .tech-copy:before { display:none; }
 .tech-copy .step-count { font-size:30px; margin-bottom:8px; }
 .tech-copy h3 { font-size:24px; line-height:1.4; }
 .tech-copy .tech-ko { margin-top:7px; font-size:13px; }
 .tech-copy .body-copy { font-size:14px; line-height:1.75; margin-top:12px; }
 .tech-visual { display:block; grid-area:2/1; min-height:0; width:100%; max-width:540px; height:100%; margin:auto; }
 .tech-visual .diagram-caption { justify-content:center; font-size:10px; bottom:4px; }
 .tech-visual .diagram-caption>span:last-child { display:none; }
 .pipeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:calc(100% - 64px); gap:0 4px; flex:none; margin:12px 0 0; border-top:1px solid #526c8d80; }
 .pipeline:before,.pipeline-node,.pipeline-full-label,.pipeline-signal { display:none; }
 .pipeline button { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:3px; min-height:44px; min-width:44px; padding:5px 0; border-bottom:2px solid transparent; font-size:12px; transition:color .2s,background .2s; }
 .pipeline-n { font-size:9px; margin:0; }
 .pipeline-mobile-label { display:block; }
 .pipeline button[aria-current="step"] { color:#a8dfff; border-bottom-color:#80d2ff; background:#80d2ff14; }
 .pipeline button:focus-visible { outline:2px solid #80d2ff; outline-offset:-3px; }
 .journey { height:calc(100svh + 1800px); }
 .journey-mobile-heading { display:block; padding-top:60px; padding-bottom:30px; }
 .journey-mobile-heading .eyebrow { margin-bottom:24px; }
 .journey-stage { position:sticky; top:var(--mobile-header); height:calc(100svh - var(--mobile-header)); min-height:0; padding:18px var(--gutter) 12px; display:flex; flex-direction:column; overflow:clip; }
 .journey-stage>.eyebrow,.journey-stage>h2,.journey-art-mobile { display:none; }
 .journey-body { flex:1; min-height:0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); gap:8px; margin:0; }
 .journey-chapters { display:grid; grid-column:1; grid-row:1; min-height:0; }
 .journey-chapter { grid-area:1/1; display:block; position:relative; inset:auto; min-height:0; padding:0; border:0; opacity:0; visibility:hidden; transition:opacity .4s; }
 .journey-chapter.is-active { opacity:1; visibility:visible; }
 .journey-year { font-size:48px; margin:0 0 8px; }
 .journey-chapter .micro-label { font-size:11px; }
 .journey-chapter h3 { font-size:21px; line-height:1.4; margin:10px 0; }
 .journey-chapter .body-copy { font-size:14px; line-height:1.75; }
 .journey-visual { display:block; grid-column:1; grid-row:2; min-height:0; width:100%; max-width:440px; margin:auto; height:100%; }
 .journey-art { height:100%; min-height:0; }
 .journey-art-heading,.journey-art figcaption { display:none; }
 .journey-art-core { width:64%; top:52%; }
 .journey-art-core>strong { font-size:21px; }
 .journey-art-label { font-size:12px; }
 .journey-art-label b { display:none; }
 .year-navigation { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:calc(100% - 64px); flex:none; gap:0 4px; overflow:visible; margin:12px 0 0; padding:0; border-top:1px solid #c3cfda; }
 .year-navigation button { width:100%; min-height:44px; min-width:44px; padding:8px 0; font-size:11px; white-space:nowrap; border-bottom:2px solid transparent; }
 .year-navigation button[aria-current="step"] { color:#28648d; border-bottom-color:#498bad; background:#5b9dc214; }
 body[data-page=home] .vision { height:255svh; }
 body[data-page=home] .vision-stage { position:sticky; top:0; height:100svh; min-height:0; display:block; overflow:clip; padding-top:calc(var(--mobile-header) + 24px); }
 body[data-page=home] .vision-point { display:block; top:29%; }
 body[data-page=home] .vision-statements { position:absolute; top:38%; left:var(--gutter); right:var(--gutter); height:220px; margin:0; display:block; }
 body[data-page=home] .vision-statement { position:absolute; inset:0; opacity:0; visibility:hidden; transform:scale(.96); filter:blur(8px); }
 body[data-page=home] .vision-statement.is-active { opacity:1; visibility:visible; transform:none; filter:none; }
 body[data-page=home] .vision-bottom { position:absolute; left:var(--gutter); right:var(--gutter); bottom:max(18px,env(safe-area-inset-bottom)); margin:0; gap:14px; }
 body[data-page=home] .vision-navigation { display:flex; width:calc(100% - 64px); align-self:flex-start; gap:6px; }
 body[data-page=home] .vision-navigation button { flex:1; width:auto; min-width:44px; }
 .origin-visual-track { height:calc(clamp(380px,65svh,520px) + 650px); margin-top:35px; }
 .origin-visual { position:sticky; top:calc(var(--mobile-header) + 8px); height:clamp(380px,65svh,520px); padding:16px 0; display:flex; flex-direction:column; justify-content:center; }
 .origin-visual-heading { min-height:30px; align-items:center; flex:none; }
 .origin-diagram { flex:1; min-height:0; height:0; aspect-ratio:auto; max-height:none; }
 .origin-data-legend { flex:none; margin-bottom:12px; }
 .origin-controls { flex:none; }
 .origin-visual figcaption { flex:none; min-height:68px; padding-top:12px; }
 .origin-scroll-hint { display:block; flex:none; }
}

@media (max-width:760px) and (min-height:500px) and (max-height:700px) and (prefers-reduced-motion:no-preference) {
 .tech-stage>.section-pad { padding-top:12px; }
 .tech-copy .step-count { font-size:26px; margin-bottom:5px; }
 .tech-copy h3 { font-size:22px; }
 .tech-copy .tech-ko { margin-top:5px; font-size:12px; }
 .tech-copy .body-copy { font-size:13px; line-height:1.7; margin-top:9px; }
 .tech-main { gap:6px; }
 .journey-stage { padding-top:12px; }
 .journey-year { font-size:40px; margin-bottom:5px; }
 .journey-chapter h3 { font-size:19px; margin-block:7px; }
 .journey-chapter .body-copy { font-size:13px; line-height:1.7; }
 .journey-art-label { font-size:13px; }
 .journey-art-core>span { display:none; }
 .journey-art-core>strong { font-size:23px; }
 body[data-page=home] .vision-statements { top:34%; }
 body[data-page=home] .vision-point { top:26%; }
 body[data-page=home] .vision-bottom>p { font-size:12px; }
}

@media (max-width:760px) and (max-height:650px) {
 .site-header nav,.site-header nav.is-open { padding-top:16px; gap:12px; }
 .menu-intro>p { margin-top:6px; font-size:23px; }
 .site-header nav.is-open .mobile-support { min-height:58px; padding-block:10px; }
 .menu-signoff { display:none; }
}
@media (min-width:500px) and (max-width:760px) and (max-height:500px) {
 .site-header nav,.site-header nav.is-open { padding-top:10px; padding-bottom:max(12px,env(safe-area-inset-bottom)); gap:10px; }
 .menu-intro { display:flex; align-items:center; justify-content:space-between; padding:0; }
 .menu-intro>p { margin:0; font-size:21px; }
 .menu-intro>span:first-child { font-size:8px; }
 .menu-intro-orbit { display:none; }
 .menu-chapters { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
 .site-header nav .menu-chapter,.site-header nav.is-open .menu-chapter { min-height:116px; height:116px; padding:12px 10px; border-radius:15px; }
 .site-header nav .menu-chapter .menu-index { left:10px; top:11px; font-size:8px; }
 .menu-current { right:9px; top:9px; font-size:8px; gap:3px; }
 .menu-art { top:12%; height:45%; }
 .menu-card-copy { gap:4px; }
 .menu-title { font-size:18px; }
 .menu-caption { font-size:9px; }
 .site-header nav.is-open .mobile-support { min-height:50px; padding-block:7px; }
 .mobile-support>.menu-support-copy { display:flex; align-items:center; gap:14px; }
}
@media (max-width:760px) and (hover:hover) and (pointer:fine) {
 .site-header nav .menu-chapter:hover { border-color:var(--menu-light); background-color:#b4dafa0a; }
 .site-header nav .menu-chapter:hover:before { opacity:1; }
 .site-header nav .menu-chapter:hover .menu-art { transform:translateY(-4px) scale(1.045); filter:drop-shadow(0 5px 9px #070f1a45); }
 .site-header nav .menu-chapter:hover .menu-arrow { opacity:1; transform:translate(0,0) rotate(-45deg); }
 .site-header nav .mobile-support:hover { background-color:#b4dafa0c; }
}
@media (max-width:760px) and (prefers-reduced-motion:no-preference) {
 html:not(.motion-paused) .site-header nav.is-open .menu-chapter { animation:menu-chapter-enter .5s var(--ease) both; }
 html:not(.motion-paused) .site-header nav.is-open .menu-chapter-1 { animation-delay:.035s; }
 html:not(.motion-paused) .site-header nav.is-open .menu-chapter-2 { animation-delay:.07s; }
 html:not(.motion-paused) .site-header nav.is-open .menu-chapter-3 { animation-delay:.105s; }
 @keyframes menu-chapter-enter { from { opacity:0; translate:0 12px; } to { opacity:1; translate:0 0; } }
}
@media (max-width:760px) {
 html.motion-paused .site-header nav,html.motion-paused .site-header nav *,html.motion-paused .site-header nav *:before { animation:none; transition:none; }
}
/* Keep the user's reduced-motion preference authoritative after mobile overrides. */
@media (prefers-reduced-motion:reduce) and (max-width:760px) {
 .site-header nav,.site-header nav *,.site-header nav *:before,.site-header .menu-toggle,.site-header .menu-toggle span { animation:none!important; transition:none!important; }
 .origin-scroll-hint { display:none; }
 body[data-page=home] .vision { height:auto; }
 body[data-page=home] .vision-stage { position:relative; height:auto; min-height:0; padding-block:60px; }
 body[data-page=home] .vision-statements { position:relative; inset:auto; height:auto; }
 body[data-page=home] .vision-bottom { position:relative; inset:auto; }
 body[data-page=home] .vision-navigation { display:none; }
}
