/* Contained hero: the same content width as every other section. */
.hero-interface{--signal-rgb:40,125,149;background:var(--substrate);color:var(--ink);overflow:hidden;padding:110px 0 0;scroll-margin-top:66px}
.hero-interface .hero-layout{position:relative;isolation:isolate}
.hero-copy{position:absolute;z-index:3;top:0;left:28px;right:28px;text-align:center;pointer-events:none}
.hero-interface h1{font-family:var(--font-display);font-size:clamp(15px,3.9vw,46px);font-weight:600;line-height:1.2;letter-spacing:-.045em;white-space:nowrap}
.hero-interface h1 span{color:#327a94;white-space:nowrap}
html[lang="ko"] .hero-interface h1{font-size:clamp(18px,5.7vw,46px);line-height:1.23;letter-spacing:-.045em}
.hero-description{max-width:760px;margin:15px auto 0;color:var(--ink-soft);font-size:15px;line-height:1.8;text-wrap:balance;word-break:keep-all}
.hero-figure{position:relative;margin:0;padding-top:30px;overflow:hidden}
/* Dissolve the cropped edges into the current theme, keeping the center crisp. */
.hero-figure::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,var(--substrate),transparent 9%,transparent 91%,var(--substrate)),linear-gradient(0deg,var(--substrate),transparent 12%)}
/* Trim only the artwork's empty lower 8%; keep the source image and its scale. */
.hero-stage{position:relative;width:100%;aspect-ratio:3/2;margin-bottom:-5.333333%;perspective:1200px;isolation:isolate;touch-action:pan-y pinch-zoom}
.hero-scene{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:translateZ(-8px);pointer-events:none}
.hero-art-dark{display:none;transform:translateZ(0);mix-blend-mode:lighten;mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 88%,transparent)}
.hero-signals{position:absolute;inset:0;width:100%;height:100%;transform:translateZ(26px);pointer-events:none}
.hero-film-depth{position:absolute;left:47%;top:27%;width:9%;height:33%;transform:rotateY(-28deg) rotateZ(7deg);transform-style:preserve-3d;pointer-events:none}
.hero-film-depth i{position:absolute;inset:0;border:1px solid rgba(var(--signal-rgb),.13);border-radius:24% 5% 23% 7%;background:linear-gradient(135deg,rgba(210,233,238,.025),transparent,rgba(var(--signal-rgb),.035));transform:translateZ(var(--z))}
.hero-film-depth i:nth-child(1){--z:-25px}.hero-film-depth i:nth-child(2){--z:0px}.hero-film-depth i:nth-child(3){--z:25px}
.hero-figure-foot{position:absolute;right:8px;bottom:8px;z-index:4}
.hero-motion{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dce6ea;border-radius:50%;background:#ffffffdb;color:#536c78;font:500 13px/1 var(--font-mono);cursor:pointer}
.hero-motion[hidden]{display:none}
.hero-interface button:focus-visible,.welcome-section a:focus-visible{outline:2px solid #1e6482;outline-offset:5px}
.hero-interface[data-motion="paused"] .hero-scene{will-change:auto}
.rcard{scroll-margin-top:90px}
@media(max-width:1024px){
  .hero-interface{padding:106px 0 0}
  .hero-copy{position:relative;inset:auto}
  .hero-figure{margin-top:-24px;padding-top:0}
  .hero-description{max-width:650px;font-size:14px;line-height:1.75;margin-top:13px}
}
@media(max-width:480px){.hero-description{font-size:12px;line-height:1.8;margin-top:12px}.hero-figure{margin-top:0}}
@media(prefers-reduced-motion:reduce){.hero-scene{will-change:auto}}
@supports not (aspect-ratio:1){.hero-stage{padding-top:66.667%}}
html[data-theme="dark"] .hero-scene{background:var(--substrate)}
html[data-theme="dark"] .hero-art-light{display:none}
html[data-theme="dark"] .hero-art-dark{display:block}
html[data-theme="dark"] .hero-interface h1 span{color:#96d5e7}
html[data-theme="dark"] .hero-motion{background:#0d1b2bd9;border-color:#2d4359;color:#c6d8e5}
html[data-theme="dark"] .hero-interface button:focus-visible,html[data-theme="dark"] .welcome-section a:focus-visible{outline-color:#a4dce8}

/* The research vision leads into the people who will build it. */
.welcome-section{background:var(--substrate);color:#173440;padding:48px 0 92px;scroll-margin-top:66px}
.welcome-topline{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:23px;border-bottom:1px solid #d6e1df;margin-bottom:46px;color:#51716f;font:500 12px/1.6 var(--font-mono);letter-spacing:.11em;text-transform:uppercase}
.welcome-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:70px;align-items:center}
.welcome-photo{margin:0;position:relative;grid-column:1;grid-row:1}
.welcome-copy{grid-column:2;grid-row:1}
.welcome-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;border-radius:5px 34px 5px 5px;box-shadow:0 20px 40px -32px #163b3b77}
.welcome-photo figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:17px;font-size:12px;color:#526967}
.welcome-photo figcaption a{color:#2d6b72;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.welcome-label{display:inline-flex;align-items:center;gap:8px;color:#396f74;font-size:12px;font-weight:600;margin-bottom:20px}
.welcome-label::before{content:"";width:6px;height:6px;background:#529a8b;border-radius:50%}
.welcome-copy h2{font-family:var(--font-display);font-size:clamp(31px,3.3vw,47px);font-weight:500;letter-spacing:-.05em;line-height:1.14;text-wrap:balance}
.welcome-copy h2 span{color:#49858a}
html[lang="ko"] .welcome-copy h2{line-height:1.24;word-break:keep-all;font-weight:600}
.welcome-copy>p{margin-top:24px;font-size:15px;line-height:1.85;color:#526965;word-break:keep-all}
.welcome-fields{display:flex;flex-wrap:wrap;gap:7px;margin:21px 0 29px;list-style:none}
.welcome-fields li{font-size:12px;line-height:1.5;padding:6px 10px;color:#54736c;border:1px solid #d4e1dc;border-radius:30px}
.welcome-contact{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.welcome-contact .btn{background:#254f50;color:#fff;border-radius:8px;padding:13px 19px;font-size:14px;box-shadow:none}
.welcome-contact .btn:hover{background:#32666a;transform:translateY(-2px)}
.welcome-email{font-size:12px;color:#486861;text-decoration:underline;text-underline-offset:4px}

@media(max-width:980px){
  .navlinks{position:absolute;top:66px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;gap:2px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);transform:none;max-height:calc(100dvh - 90px);overflow:auto}
  .navlinks.open{display:flex;transform:none}.navlinks a{padding:11px 13px}.burger{display:grid;place-items:center}
}
@media(max-width:1100px){.welcome-grid{gap:38px}.welcome-copy h2{font-size:34px}}
@media(max-width:900px){.welcome-section{padding:48px 0 65px}.welcome-grid{gap:32px}.welcome-copy h2{font-size:30px}.welcome-copy>p{font-size:14px;margin-top:18px}.welcome-topline{margin-bottom:32px}.welcome-photo figcaption{flex-direction:column;gap:5px}.welcome-fields{margin:17px 0 22px}}
@media(max-width:620px){.welcome-grid{grid-template-columns:1fr;gap:34px}.welcome-topline{font-size:12px;margin-bottom:27px}.welcome-copy{grid-row:1}.welcome-copy h2{font-size:36px}.welcome-copy>p{font-size:15px}.welcome-photo figcaption{flex-direction:row;gap:12px}.welcome-label{margin-bottom:17px}.welcome-fields{margin-bottom:25px}.welcome-photo img{border-radius:5px 28px 5px 5px}.welcome-copy{grid-column:1}.welcome-photo{grid-row:2}}
@media(max-width:360px){.welcome-copy h2{font-size:31px}.welcome-photo figcaption{font-size:12px}}
html[data-theme="dark"] .welcome-section{background:var(--substrate);color:#e4eeee}
html[data-theme="dark"] .welcome-topline{border-color:#2a4048;color:#a3bbb9}
html[data-theme="dark"] .welcome-label{color:#a3cdc7}
html[data-theme="dark"] .welcome-copy h2 span{color:#9fd1d0}
html[data-theme="dark"] .welcome-copy>p{color:#b8c8cd}
html[data-theme="dark"] .welcome-fields li{border-color:#304b50;color:#b5ccc7}
html[data-theme="dark"] .welcome-contact .btn{background:#b1d5cb;color:#163d3e}
html[data-theme="dark"] .welcome-contact .btn:hover{background:#c5e5dc}
html[data-theme="dark"] .welcome-photo figcaption{color:#b2c5c6}
html[data-theme="dark"] :is(.welcome-email,.welcome-photo figcaption a){color:#a7d1d4}


@media(max-width:600px){
  .hero-interface h1,html[lang="ko"] .hero-interface h1{font-size:clamp(28px,7.6vw,34px);white-space:normal;text-wrap:balance;line-height:1.23}
  .hero-description{font-size:14px;line-height:1.75}
  .hero-figure{margin-top:0}
}
