:root {
  color-scheme: light dark;
  --gs-bg: light-dark(#fafbfc,#0d1924);
  --gs-surface: light-dark(#fff,#142533);
  --gs-soft: light-dark(#eef3f5,#192e3c);
  --gs-text: light-dark(#142e40,#e3edf3);
  --gs-muted: light-dark(#536978,#adc0ce);
  --gs-border: light-dark(#d4dfe5,#314b5b);
  --gs-accent: light-dark(#126b63,#91dcd1);
  --gs-accent-bg: light-dark(#e5f2ef,#1b423f);
  --gs-gutter: clamp(24px,5vw,80px);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:var(--gs-bg); color:var(--gs-text); font-family:"Apple SD Gothic Neo","Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:1rem; line-height:1.7; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; color:inherit; }
a,button,input { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
a,button { cursor:pointer; }
button { text-align:left; }
button:disabled { opacity:.5; cursor:not-allowed; }
button,a { transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
:focus-visible { outline:3px solid var(--gs-accent); outline-offset:5px; }
[hidden] { display:none!important; }
h1,h2,h3,p,figure,dl { margin:0; }
h1,h2,h3,p,dt,dd,li,span,a,strong,small { overflow-wrap:break-word; }
h1,h2,h3 { word-break:keep-all; }
h1 { font-size:clamp(2.6rem,4.7vw,4.5rem); line-height:1.22; font-weight:730; letter-spacing:-.05em; }
h2 { font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.32; font-weight:700; letter-spacing:-.045em; }
h3 { font-size:1.25rem; line-height:1.45; letter-spacing:-.025em; }
em { font-style:normal; }
svg { flex-shrink:0; width:22px; height:22px; stroke-width:1.6; vertical-align:middle; }
.skip-link { position:absolute; top:8px; left:16px; z-index:5; padding:12px; background:var(--gs-text); color:var(--gs-bg); transform:translateY(-150%); }
.skip-link:focus { transform:none; }
#engineering-homepage-directions { max-width:1600px; margin:auto; }
.gs-page { min-height:100vh; }
.gs-header { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:22px var(--gs-gutter); border-bottom:1px solid var(--gs-border); }
.gs-brand { font-size:1.55rem; font-weight:780; line-height:1.15; letter-spacing:-.055em; white-space:nowrap; }
.gs-brand span { display:block; margin-top:5px; color:var(--gs-muted); font-size:.75rem; font-weight:450; letter-spacing:.015em; }
.gs-header nav { display:flex; gap:30px; flex-wrap:wrap; font-size:.875rem; font-weight:600; }
.gs-header nav a { display:inline-flex; min-height:44px; align-items:center; }
.gs-header nav a:hover { color:var(--gs-accent); }
.gs-hero { padding:76px var(--gs-gutter) 32px; }
.gs-eyebrow,.gs-kicker { font-size:.875rem; font-weight:650; letter-spacing:.02em; color:var(--gs-accent); line-height:1.7; }
.gs-eyebrow { display:flex; align-items:center; gap:10px; }
.gs-status-dot { flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:currentColor; }
.gs-lead { color:var(--gs-muted); max-width:710px; font-size:1.125rem; line-height:1.85; word-break:keep-all; }
.gs-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.gs-primary,.gs-secondary { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:11px 20px; border:1px solid transparent; border-radius:5px; font-size:.9375rem; font-weight:650; }
.gs-primary { background:var(--gs-accent); color:var(--gs-bg); }
.gs-secondary { border-color:var(--gs-border); }
.gs-primary:hover { filter:brightness(1.06); }
.gs-secondary:hover { background:#ffffff0d; }
.gs-purpose-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; }
.gs-purpose-flow span,.gs-purpose-flow strong { display:block; }
.gs-purpose-flow span { font-size:.8125rem; }
.gs-purpose-flow strong { margin-top:6px; font-size:1rem; font-weight:550; }
.gs-featured-products,.gs-core-tech,.gs-release-news { padding:96px var(--gs-gutter); }
.gs-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:32px; }
.gs-kicker { margin-bottom:12px; }
.gs-section-heading h2 { max-width:700px; }
.gs-caption,.gs-plan-label { color:var(--gs-muted); font-size:.875rem; word-break:keep-all; }
.gs-caption { max-width:230px; }
.gs-featured-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:24px; counter-reset:product; }
.gs-featured-product { display:flex; flex-direction:column; min-width:0; padding:36px; border:1px solid var(--gs-border); border-radius:10px; background:var(--gs-surface); position:relative; }
.gs-featured-product:first-child { background:light-dark(#edf4f4,#153236); border-top:3px solid var(--gs-accent); padding-top:34px; }
.gs-product-heading { display:flex; align-items:center; gap:10px; color:var(--gs-accent); margin-bottom:36px; font-size:.8125rem; font-weight:600; }
.gs-product-heading::after { counter-increment:product; content:"0" counter(product); margin-left:auto; color:var(--gs-muted); font:.8125rem ui-monospace,monospace; }
.gs-product-heading svg { width:28px; height:28px; }
.gs-featured-product h3 { font-size:1.75rem; line-height:1.35; letter-spacing:-.045em; }
.gs-product-promise { font-size:1.125rem; color:var(--gs-muted); margin-top:12px; line-height:1.75; word-break:keep-all; }
dl { display:grid; gap:14px; }
dl>div { display:grid; grid-template-columns:88px minmax(0,1fr); gap:16px; }
dt { color:var(--gs-muted); font-size:.875rem; }
dd { margin:0; font-size:.9375rem; }
.gs-featured-product dl { margin:32px 0; padding-top:24px; border-top:1px solid var(--gs-border); }
.gs-text-button,.gs-back { display:inline-flex; align-items:center; min-height:44px; font-size:.9375rem; font-weight:650; color:var(--gs-accent); width:fit-content; text-underline-offset:6px; }
.gs-text-button:hover,.gs-back:hover { text-decoration:underline; }
.gs-featured-product .gs-text-button { margin-top:auto; align-self:start; }
.gs-app-overview { padding:88px var(--gs-gutter); background:#102b3b; color:#f0f6f8; --gs-muted:#b1c5cf; --gs-accent:#9bdfd4; --gs-border:#3b596b; }
.gs-app-overview .gs-section-heading { margin-bottom:16px; }
.gs-section-lead { color:var(--gs-muted); max-width:790px; font-size:1rem; word-break:keep-all; }
.gs-node-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin:36px 0 18px; }
.gs-node { display:flex; align-items:start; flex-direction:column; gap:16px; min-width:0; padding:22px 16px; border:1px solid #466271; background:transparent; border-radius:6px; color:#c0d1da; }
.gs-node strong { font-weight:550; font-size:.9375rem; line-height:1.5; word-break:keep-all; }
.gs-node[aria-pressed="true"] { background:#d0f2e9; color:#163e40; border-color:#d0f2e9; }
.gs-node:hover:not([aria-pressed="true"]) { background:#234556; border-color:#a5c8cc; }
.gs-role-detail { display:grid; grid-template-columns:1fr 1.05fr; gap:64px; padding:36px; border:1px solid #3b596b; border-radius:8px; background:#183647; min-height:282px; }
.gs-detail-label { display:block; font-size:.8125rem; color:var(--gs-accent); margin-bottom:10px; }
.gs-detail-title h3 { font-size:1.8rem; margin-bottom:10px; }
.gs-detail-title>p { font-size:1rem; color:var(--gs-muted); word-break:keep-all; }
.gs-detail-title .gs-text-button { margin-top:18px; }
.gs-role-detail dl { align-content:center; gap:18px; }
.gs-role-detail dl>div { padding-bottom:16px; border-bottom:1px solid #355669; }
.gs-role-detail dl>div:last-child { border:0; padding-bottom:0; }
.gs-core-tech { display:grid; grid-template-columns:.83fr 1.17fr; gap:0 80px; }
.gs-core-tech .gs-section-heading { grid-column:1; display:block; align-self:start; margin:0 0 22px; }
.gs-core-tech .gs-plan-label { display:block; margin-top:22px; }
.gs-tech-intro { grid-column:1; color:var(--gs-muted); max-width:500px; font-size:1rem; word-break:keep-all; align-self:start; }
.gs-tech-grid { grid-column:2; grid-row:1/4; display:grid; grid-template-columns:1fr; gap:0; }
.gs-tech-grid article { display:grid; grid-template-columns:30px 1fr; gap:6px 18px; border-top:1px solid var(--gs-border); padding:24px 0; }
.gs-tech-grid article:first-child { padding-top:0; border-top:0; }
.gs-tech-grid article>svg { grid-row:1/4; margin-top:4px; color:var(--gs-accent); }
.gs-tech-grid h3 { font-size:1.2rem; }
.gs-tech-grid p,.gs-tech-grid span { grid-column:2; }
.gs-tech-grid p { color:var(--gs-muted); font-size:1rem; word-break:keep-all; }
.gs-tech-grid span { font-size:.8125rem; color:var(--gs-accent); margin-top:6px; }
.gs-tech-connection { grid-column:1/-1; display:flex; align-items:start; gap:24px; margin-top:44px; padding:30px 34px; border-left:3px solid var(--gs-accent); background:var(--gs-soft); border-radius:0 6px 6px 0; }
.gs-tech-connection svg { margin-top:4px; color:var(--gs-accent); }
.gs-tech-connection strong { font-size:1.125rem; }
.gs-tech-connection p { color:var(--gs-muted); margin-top:8px; font-size:1rem; word-break:keep-all; }
.gs-tech-status { grid-column:1/-1; color:var(--gs-muted); font-size:.875rem; margin-top:18px; }
.gs-release-news { padding-top:64px; padding-bottom:64px; border-top:1px solid var(--gs-border); background:var(--gs-soft); display:grid; grid-template-columns:1.1fr 1fr; gap:0 72px; }
.gs-release-news .gs-kicker { grid-column:1; }
.gs-release-news h2 { grid-column:1; font-size:1.85rem; }
.gs-release-news>p:last-child { grid-column:2; grid-row:1/3; align-self:center; color:var(--gs-muted); font-size:1rem; word-break:keep-all; }
.gs-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:36px var(--gs-gutter); border-top:1px solid var(--gs-border); color:var(--gs-muted); font-size:.875rem; }
.gs-footer span:first-child { font-size:1.125rem; font-weight:750; color:var(--gs-text); letter-spacing:-.03em; }
/* Product detail pages share the same typographic and surface system. */
.gs-detail-nav { display:flex; align-items:center; gap:28px; flex-wrap:wrap; padding:8px var(--gs-gutter); border-bottom:1px solid var(--gs-border); font-size:.875rem; }
.gs-detail-nav>span { color:var(--gs-muted); font-size:.8125rem; margin-right:auto; }
.gs-detail-nav a { display:flex; align-items:center; min-height:44px; font-weight:550; border-bottom:2px solid transparent; }
.gs-detail-nav a[aria-current="page"] { border-color:var(--gs-accent); color:var(--gs-accent); }
.gs-detail-page { padding:24px var(--gs-gutter) 72px; }
.gs-back { margin-bottom:22px; font-size:.875rem; }
.gs-detail-hero { padding:54px; background:#0c2536; border-radius:10px; color:#f4f8fa; }
.gs-detail-hero .gs-eyebrow { color:#a4dfd6; }
.gs-detail-hero h1 { font-size:clamp(2.15rem,4vw,3.75rem); margin:22px 0; }
.gs-detail-hero h1 em { display:block; color:#a3e4d8; }
.gs-detail-hero .gs-lead { color:#bdcfd9; max-width:820px; }
.gs-detail-audience { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:.875rem; margin-top:30px; color:#bdcfd9; }
.gs-detail-audience strong { color:#edf6f8; font-weight:550; }
.gs-detail-section,.gs-detail-demo { padding:64px 0; border-bottom:1px solid var(--gs-border); }
.gs-detail-section h2,.gs-detail-demo h2 { font-size:clamp(1.65rem,2.8vw,2.3rem); }
.gs-detail-section>p:not(.gs-kicker) { max-width:920px; margin-top:20px; font-size:1rem; color:var(--gs-muted); word-break:keep-all; }
.gs-detail-columns { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:30px; }
.gs-detail-columns article { border-top:2px solid var(--gs-border); padding-top:24px; }
.gs-detail-columns p { margin-top:12px; color:var(--gs-muted); font-size:1rem; word-break:keep-all; }
.gs-service-tech-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin:32px 0; }
.gs-service-tech-grid article { min-width:0; padding-top:24px; border-top:1px solid var(--gs-border); }
.gs-service-tech-grid svg { color:var(--gs-accent); margin-bottom:18px; }
.gs-service-tech-grid p { font-size:1rem; color:var(--gs-muted); margin-top:12px; word-break:keep-all; }
.gs-detail-related { margin-top:56px; padding:38px; background:var(--gs-accent-bg); border:0; border-radius:8px; }
.gs-detail-related .gs-text-button { margin-top:24px; }
.gs-detail-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; list-style:none; padding:0; margin:32px 0 0; counter-reset:step; }
.gs-detail-flow li { padding:26px 22px; background:var(--gs-soft); border-radius:6px; border-top:2px solid var(--gs-border); }
.gs-detail-flow li::before { counter-increment:step; content:"0" counter(step); display:block; color:var(--gs-accent); font:.8125rem ui-monospace,monospace; margin-bottom:24px; }
.gs-detail-flow strong { display:block; font-size:1rem; }
.gs-detail-flow span { display:block; margin-top:12px; color:var(--gs-muted); font-size:1rem; word-break:keep-all; }
/* Interactive service-flow example. */
.gs-detail-demo .gs-section-heading { margin-bottom:16px; }
.gs-fen-lead { color:var(--gs-muted); font-size:1rem; }
.gs-fen-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:32px 0 28px; }
.gs-fen-step { display:flex; flex-direction:column; gap:7px; border:1px solid var(--gs-border); border-radius:6px; background:var(--gs-surface); min-width:0; padding:22px; }
.gs-fen-step>span { font:.8125rem ui-monospace,monospace; color:var(--gs-accent); }
.gs-fen-step strong { margin-top:8px; font-size:1rem; word-break:keep-all; }
.gs-fen-step small { color:var(--gs-muted); font-size:.875rem; }
.gs-fen-step[aria-pressed="true"] { background:var(--gs-accent-bg); border-color:var(--gs-accent); }
.gs-fen-step:hover { border-color:var(--gs-accent); }
.gs-fen-body { display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start; }
.gs-fen-explanation { padding:28px 0; }
.gs-fen-explanation h3 { font-size:1.7rem; max-width:390px; }
.gs-fen-explanation>p { margin-top:16px; color:var(--gs-muted); font-size:1rem; word-break:keep-all; }
.gs-fen-reuse { display:flex; gap:14px; align-items:start; border-top:1px solid var(--gs-border); padding-top:24px; margin-top:28px; color:var(--gs-muted); font-size:.875rem; }
.gs-fen-reuse strong { font-weight:550; color:var(--gs-text); }
.gs-fen-reuse svg { margin-top:4px; color:var(--gs-accent); }
.gs-fen-screen { background:var(--gs-surface); border:1px solid var(--gs-border); border-radius:10px; padding:28px; min-height:460px; box-shadow:0 14px 32px #061c2b08; }
.gs-screen-heading { display:flex; justify-content:space-between; gap:12px; padding-bottom:20px; margin-bottom:26px; border-bottom:1px solid var(--gs-border); }
.gs-screen-heading strong { font-size:1rem; }
.gs-screen-heading>span { color:var(--gs-muted); font-size:.75rem; align-self:center; }
.gs-screen-overline { font-size:.8125rem; color:var(--gs-accent); margin-bottom:8px; }
.gs-screen-list { margin-top:24px; gap:12px; }
.gs-screen-list>div { grid-template-columns:88px minmax(0,1fr); gap:14px; }
.gs-screen-note { color:var(--gs-muted); font-size:.875rem; margin-top:24px; word-break:keep-all; }
.gs-quote-total { border-top:1px solid var(--gs-border); padding-top:16px; margin-top:8px; }
.gs-dimension-layout { display:grid; grid-template-columns:1fr .8fr; gap:30px; align-items:center; }
.gs-window-preview { text-align:center; }
.gs-window-shape { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:7px; width:156px; max-width:100%; aspect-ratio:1.07; border:2px solid var(--gs-accent); margin:8px auto 16px; background:var(--gs-soft); }
.gs-window-shape span { border:1px solid var(--gs-accent); background:var(--gs-accent-bg); }
.gs-window-preview>p { font-size:.8125rem; color:var(--gs-muted); }
.gs-dimension-inputs { display:grid; gap:14px; }
.gs-dimension-inputs label { display:block; font-size:.875rem; font-weight:600; }
.gs-dimension-inputs label>span { float:right; color:var(--gs-muted); font-size:.8125rem; font-weight:400; }
.gs-size-input { display:block; width:100%; min-width:0; margin-top:6px; padding:10px 12px; background:var(--gs-bg); border:1px solid var(--gs-border); border-radius:5px; min-height:44px; font-size:1rem; }
.gs-preview-action { display:inline-flex; min-height:44px; align-items:center; border:1px solid var(--gs-accent); border-radius:5px; background:var(--gs-accent-bg); color:var(--gs-accent); padding:10px 16px; margin-top:20px; font-size:.875rem; font-weight:650; }
.gs-preview-action:not(:disabled):hover { background:var(--gs-soft); }
@media(min-width:1500px) { .gs-hero-split { column-gap:90px!important; } }
@media(max-width:1100px) {
  .gs-featured-product { padding:28px; }
  .gs-featured-product:first-child { padding-top:26px; }
  .gs-node-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gs-node { flex-direction:row; align-items:center; gap:12px; }
  .gs-core-tech { gap:0 44px; }
  .gs-role-detail { gap:32px; }
  .gs-detail-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gs-fen-body { gap:32px; }
}
@media(max-width:900px) {
  .gs-header { flex-wrap:wrap; gap:12px 24px; }
  .gs-header nav { gap:24px; }
  .gs-featured-products,.gs-core-tech { padding-top:72px; padding-bottom:72px; }
  .gs-section-heading { align-items:start; flex-direction:column; gap:16px; }
  .gs-caption { max-width:none; }
  .gs-featured-grid { grid-template-columns:1fr; }
  .gs-product-heading { margin-bottom:24px; }
  .gs-app-overview { padding-top:72px; padding-bottom:72px; }
  .gs-core-tech { grid-template-columns:1fr; gap:0; }
  .gs-tech-grid { grid-column:1; grid-row:auto; margin-top:40px; grid-template-columns:1fr 1fr; gap:24px 32px; }
  .gs-tech-grid article,.gs-tech-grid article:first-child { padding:22px 0; border-top:1px solid var(--gs-border); }
  .gs-release-news { gap:0 36px; }
  .gs-detail-hero { padding:36px; }
  .gs-fen-body { grid-template-columns:1fr; gap:14px; }
  .gs-fen-explanation { padding:0 0 18px; }
  .gs-fen-explanation h3 { max-width:none; }
  .gs-fen-reuse { margin-top:20px; padding-top:18px; }
  .gs-service-tech-grid { grid-template-columns:1fr; gap:24px; }
  .gs-service-tech-grid article { display:grid; grid-template-columns:30px 1fr; gap:6px 18px; }
  .gs-service-tech-grid article svg { grid-row:1/3; margin:4px 0 0; }
  .gs-service-tech-grid article p { grid-column:2; margin:0; }
}
@media(max-width:620px) {
  :root { --gs-gutter:24px; }
  .gs-header { padding-top:20px; padding-bottom:12px; gap:16px; }
  .gs-header nav { width:100%; justify-content:space-between; gap:8px 16px; font-size:.875rem; }
  .gs-brand { font-size:1.5rem; }
  .gs-hero { padding-top:46px; }
  .gs-featured-products,.gs-core-tech,.gs-app-overview { padding-top:60px; padding-bottom:60px; }
  .gs-featured-product { padding:26px; }
  .gs-featured-product:first-child { padding-top:24px; }
  .gs-featured-product h3 { font-size:1.55rem; }
  .gs-featured-product dl>div { grid-template-columns:70px minmax(0,1fr); gap:12px; }
  .gs-featured-product dl { margin:24px 0; }
  .gs-product-promise { font-size:1rem; }
  .gs-role-detail { grid-template-columns:1fr; padding:26px; gap:28px; min-height:0; }
  .gs-node-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gs-node { flex-direction:column; align-items:start; padding:18px 14px; }
  .gs-role-detail dl>div { grid-template-columns:70px minmax(0,1fr); gap:12px; }
  .gs-tech-grid { grid-template-columns:1fr; gap:0; }
  .gs-tech-connection { padding:24px; gap:16px; }
  .gs-tech-connection svg { width:20px; }
  .gs-release-news { padding-top:44px; padding-bottom:44px; display:block; }
  .gs-release-news h2 { font-size:1.65rem; }
  .gs-release-news>p:last-child { margin-top:22px; }
  .gs-footer { align-items:start; flex-direction:column; gap:8px; }
  .gs-detail-nav { gap:0 22px; }
  .gs-detail-nav>span { flex-basis:100%; padding-top:8px; }
  .gs-detail-nav a { font-size:.875rem; }
  .gs-detail-page { padding-top:16px; padding-bottom:48px; }
  .gs-detail-hero { padding:30px 24px; margin-left:-6px; margin-right:-6px; }
  .gs-detail-hero h1 { font-size:2.1rem; }
  .gs-detail-hero .gs-lead { font-size:1rem; }
  .gs-detail-section,.gs-detail-demo { padding:44px 0; }
  .gs-detail-columns { grid-template-columns:1fr; gap:26px; }
  .gs-detail-flow { grid-template-columns:1fr; gap:12px; }
  .gs-detail-flow li { display:grid; grid-template-columns:28px 1fr; gap:0 12px; padding:22px; }
  .gs-detail-flow li::before { grid-row:1/3; margin:5px 0 0; }
  .gs-detail-flow span { grid-column:2; margin-top:8px; }
  .gs-detail-related { padding:26px; margin-top:44px; }
  .gs-fen-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:24px 0; }
  .gs-fen-step { padding:16px; }
  .gs-fen-step small { font-size:.8125rem; }
  .gs-fen-screen { padding:22px; min-height:450px; }
  .gs-screen-heading { flex-wrap:wrap; gap:6px; }
  .gs-dimension-layout { grid-template-columns:1fr; gap:22px; }
  .gs-dimension-inputs { grid-template-columns:1fr 1fr; gap:14px; }
  .gs-window-shape { width:136px; }
  .gs-screen-list>div { grid-template-columns:72px minmax(0,1fr); gap:12px; }
}
@media(max-width:360px) {
  :root { --gs-gutter:18px; }
  .gs-header nav { gap:6px 12px; }
  .gs-featured-product,.gs-role-detail,.gs-fen-screen { padding:20px; }
  .gs-detail-hero { padding:28px 20px; }
  .gs-featured-product dl>div,.gs-role-detail dl>div { grid-template-columns:1fr; gap:3px; }
  .gs-actions a { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

#engineering-homepage-directions .gs-hero-split { display:grid; grid-template-columns:1.05fr 1fr; gap:56px; text-align:left; background:#0c2132; color:#f1f7fb; padding-top:76px; }
#engineering-homepage-directions .gs-hero-split h1 { font-size:clamp(2.8rem,4.9vw,4.5rem); line-height:1.18; margin:24px 0; letter-spacing:-.055em; }
#engineering-homepage-directions .gs-hero-split h1 em { display:block; color:#93e1d6; font-style:normal; }
#engineering-homepage-directions .gs-hero-split .gs-lead { color:#b9cbd5; font-size:1.0625rem; line-height:1.85; margin:0; max-width:480px; }
#engineering-homepage-directions .gs-hero-split .gs-eyebrow { color:#c5dadf; }
#engineering-homepage-directions .gs-hero-split .gs-actions { justify-content:flex-start; margin-top:30px; }
#engineering-homepage-directions .gs-hero-split .gs-primary { background:#97e5d8; color:#092c33; }
#engineering-homepage-directions .gs-hero-split .gs-secondary { color:#eef7fa; border-color:#526a78; }
#engineering-homepage-directions .gs-hero-split .gs-purpose-flow { grid-column:1/-1; width:100%; max-width:none; margin:0; text-align:left; border-top:1px solid #344e5f; padding-top:26px; }
#engineering-homepage-directions .gs-hero-split .gs-purpose-flow li { border:0; padding:0 24px 0 0; }
#engineering-homepage-directions .gs-hero-split .gs-purpose-flow span { color:#aabfcd; }
.gs-engineering-flow { margin:0; align-self:center; padding:26px; border:1px solid #3b5667; background:#112c3c; border-radius:12px; box-shadow:0 24px 70px #020f1a50; }
.gs-diagram-top { display:flex; justify-content:space-between; gap:12px; margin-bottom:28px; font:500 .75rem/1.5 ui-monospace,monospace; letter-spacing:.08em; color:#b5cbd5; }
.gs-flow-inputs { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.gs-flow-inputs>div { display:flex; flex-direction:column; border:1px solid #426171; background:#173747; padding:17px; border-radius:6px; }
.gs-flow-inputs span { font:.75rem/1.5 ui-monospace,monospace; letter-spacing:.1em; color:#8acfc8; }
.gs-flow-inputs strong { font-size:1rem; margin-top:6px; }
.gs-flow-inputs small { font-size:.875rem; color:#b5cbd5; margin-top:4px; }
.gs-flow-link { height:22px; position:relative; }
.gs-flow-link::before { content:''; position:absolute; left:50%; top:0; height:100%; width:1px; background:#62928f; }
.gs-flow-link-merge { height:34px; margin:0 24%; }
.gs-flow-link-merge::after { content:''; position:absolute; left:0; right:0; top:0; height:17px; border:1px solid #62928f; border-top:0; }
.gs-flow-link-merge::before { top:18px; height:16px; }
.gs-flow-core { display:flex; align-items:center; gap:16px; padding:17px; border:1px solid #446170; background:#183747; border-radius:6px; }
.gs-flow-index { font:.75rem ui-monospace,monospace; color:#a7c0cc; }
.gs-flow-core strong { font-size:1rem; }
.gs-flow-core p { color:#b5cbd5; font-size:.875rem; margin:5px 0 0; }
.gs-flow-core-accent { background:#154447; border-color:#68b3a9; }
.gs-flow-core-accent strong { color:#c2fae9; }
.gs-diagram-point { flex:0 0 7px; height:7px; border:1px solid #91c5be; margin-left:auto; transform:rotate(45deg); }
.gs-engineering-flow figcaption { margin-top:24px; font-size:.875rem; color:#b5cbd5; line-height:1.7; }
@media(max-width:900px) { #engineering-homepage-directions .gs-hero-split { grid-template-columns:1fr; gap:36px; } #engineering-homepage-directions .gs-hero-split h1 { font-size:3.5rem; } .gs-engineering-flow { max-width:620px; width:100%; box-sizing:border-box; } }
@media(max-width:560px) { #engineering-homepage-directions .gs-hero-split h1 { font-size:2.65rem; } .gs-engineering-flow { padding:18px; } .gs-flow-inputs { gap:10px; } .gs-flow-inputs>div { padding:12px; } .gs-flow-core { padding:14px 12px; gap:10px; } #engineering-homepage-directions .gs-hero-split .gs-purpose-flow { grid-template-columns:1fr; } #engineering-homepage-directions .gs-hero-split .gs-purpose-flow li { display:flex; text-align:left; justify-content:space-between; gap:12px; padding:0; } }
/* Hero refinement uses the site's shared responsive gutter. */
#engineering-homepage-directions .gs-hero-split { padding-left:var(--gs-gutter); padding-right:var(--gs-gutter); gap:44px; }
#engineering-homepage-directions .gs-hero-split h1 { font-weight:730; }
#engineering-homepage-directions .gs-hero-split .gs-purpose-flow { padding-top:28px; }
#engineering-homepage-directions .gs-hero-split :focus-visible { outline-color:#9be5d8; }
.gs-engineering-flow { min-width:0; width:100%; }
.gs-flow-core>div { min-width:0; }
@media(max-width:900px) { #engineering-homepage-directions .gs-hero-split { grid-template-columns:1fr 1fr; gap:36px 28px; padding-top:56px; } #engineering-homepage-directions .gs-hero-split h1 { font-size:clamp(2.7rem,4.9vw,3.5rem); } .gs-engineering-flow { padding:20px; } .gs-flow-core { padding:14px 12px; gap:10px; } .gs-flow-inputs { gap:10px; } .gs-flow-inputs>div { padding:12px; } .gs-flow-core p { font-size:.875rem; } }
@media(max-width:700px) { #engineering-homepage-directions .gs-hero-split { grid-template-columns:1fr; padding-top:42px; gap:36px; } #engineering-homepage-directions .gs-hero-split h1 { font-size:clamp(2.6rem,8vw,3.3rem); } #engineering-homepage-directions .gs-hero-split .gs-purpose-flow { grid-template-columns:1fr; gap:16px; } #engineering-homepage-directions .gs-hero-split .gs-purpose-flow li { display:flex; justify-content:space-between; gap:14px; padding:0; } #engineering-homepage-directions .gs-hero-split .gs-purpose-flow strong { margin-top:0; text-align:right; } }
