﻿/* BASE — shared by every size
   Loaded with media="all". Mode-independent rules, custom properties, reduced-motion.
*/

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');
/* v1.4: supplied Tailwind layout + accessible local interactions. */
:root{--body:Inter,Pretendard,Arial,sans-serif;--display:Geist,Pretendard,sans-serif;--technical:'Geist Mono',monospace}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font-family:var(--body);background:#fafaf7;color:#1a1c19;overflow-x:clip}
body,p,input,select,textarea{font-family:var(--body)}
h1,h2,h3,h4{font-family:var(--display)}
.font-mono{font-family:var(--technical)}
section{scroll-margin-top:100px}
.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;font-feature-settings:'liga'}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #735c00;outline-offset:5px}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#ffcd00;color:#171916;padding:12px 18px;border-radius:8px}
.skip-link:focus{top:12px}
#site-header{transition:background .35s,color .35s,border-color .35s}
#site-header.is-scrolled{background:#151d19;border-color:#ffffff20;color:#f1f1ec;backdrop-filter:none}
#site-header.is-scrolled nav a,#site-header.is-scrolled .tracking-tight{color:#f1f1ec}
#site-header nav a[aria-current]{border-bottom:2px solid #ffcd00;color:#735c00}
#site-header.is-scrolled nav a[aria-current]{color:#ffcd00}
.mobile-menu-button{display:none;background:transparent;border:1px solid #e7e8e3;border-radius:8px;width:44px;height:44px;font-size:22px;align-items:center;justify-content:center;color:inherit}
.concept-label{font-family:var(--technical);font-size:10px;line-height:1.7;letter-spacing:.035em;color:#747873;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #e7e8e3}
article.bg-\[\#151D19\] .concept-label{color:#c0c9c2;border-color:#ffffff20}
article{border:1px solid #e7e8e3}
article>div,.grid>div{min-width:0}
img{max-width:100%}
.image-fallback{display:flex;align-items:center;justify-content:center;min-height:160px;padding:24px;background:#ede9df;color:#58605b;font:500 12px/1.75 var(--technical);text-align:center;letter-spacing:.04em}
.image-fallback:before{content:'CONCEPT VISUAL / 이미지 준비 중'}
#inquiry-form :disabled{cursor:not-allowed;opacity:.65}
#inquiry-form{border:1px solid #e7e8e3}
.footer-notice{background:none;border:0;color:#58605b;font:500 11px/1.6 var(--technical);cursor:pointer;padding:12px 0}
.footer-notice:hover{color:#171916}
.release-label{font:500 10px/1.6 var(--technical);letter-spacing:.08em;background:#ede9df;border-radius:9999px;padding:5px 10px;color:#58605b}
#products .font-mono{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Signature yellow pairs with the specified dark ink. */
.bg-primary-container{color:#171916}
.hero-section{isolation:isolate;overflow:hidden}
.hero-network{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.82}
.hero-network canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-network:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgb(250 250 247 / 26%) 0%,rgb(250 250 247 / 14%) 55%,rgb(250 250 247 / 5%) 100%);pointer-events:none}
.hero-section>*:not(.hero-network){position:relative;z-index:1}
.network-fallback{position:absolute;width:min(42vw,520px);aspect-ratio:1;right:5%;top:50%;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,#ffcd0030 0 2%,transparent 2.5%),radial-gradient(circle at 50% 50%,#ffcd0020 0 18%,transparent 18.5%),repeating-radial-gradient(circle at center,transparent 0 14%,#3f73d819 14.2% 14.45%,transparent 14.7% 21%);opacity:.75}
.hero-network.network-ready .network-fallback{display:none}
@media(prefers-reduced-motion:reduce){.hero-network canvas{display:none}}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.brand-logo{display:block;width:192px;height:auto;max-height:38px;object-fit:contain;object-position:left center}
.legal-name{font-family:var(--display);font-size:12px;line-height:1.4;font-weight:500;letter-spacing:.02em;color:#4e4632}
#site-header.is-scrolled .legal-name{color:#f1f1ec}
.brand-lockup{flex-direction:row;align-items:center;gap:18px}
.brand-logo{width:192px;height:auto;max-height:none;background:transparent}
.legal-name{font-size:13px;font-weight:600;white-space:nowrap;color:#1a1c19}
#site-header.is-scrolled .legal-name{color:#f1f1ec}
@media(prefers-reduced-motion:reduce){.hero-network canvas{display:block}}
/* Header overlays the hero so the live particle canvas remains visible behind it. */
#site-header{border-bottom:0!important;background:transparent;backdrop-filter:none}
#site-header.is-scrolled{border-bottom:0!important}
.hero-section{min-height:100svh;padding-top:clamp(6rem,13vh,9rem)}
#hero-network{left:0;right:0;width:100%}
.mobile-only-break{display:none}
#main,#solutions,#services,#contact,[id^='service-'],[id^='solution-']{scroll-margin-top:5rem}
/* Inline SVG logo adapts its mark and wordmark to the header contrast. */
.brand-logo .logo-mark-bg{fill:#111;stroke:#111;transition:fill .35s,stroke .35s}
.brand-logo .logo-mark-line{fill:none;stroke:#ffcd00;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.brand-logo .logo-wordmark,.brand-logo .logo-tagline{fill:#111;transition:fill .35s}
#site-header.is-scrolled .brand-logo .logo-mark-bg{fill:#ffcd00;stroke:#ffcd00}
#site-header.is-scrolled .brand-logo .logo-mark-line{stroke:#151d19}
#site-header.is-scrolled .brand-logo .logo-wordmark,#site-header.is-scrolled .brand-logo .logo-tagline{fill:#f1f1ec}
/* Reference layout: four service cards and two balanced solution panels. */
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-card{position:relative;display:flex;min-height:300px;flex-direction:column;overflow:hidden;padding:32px;border:1px solid #e7e8e3;border-radius:24px;background:#fff;box-shadow:0 1px 2px rgb(23 25 22 / 3%);transition:transform .25s ease,box-shadow .25s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgb(23 25 22 / 7%)}
.service-number{font-family:var(--technical);font-size:14px;color:#646a65}
.service-rule{width:28px;height:3px;margin-top:20px;background:#ffcd00}
.service-icon{position:absolute;top:34px;right:42px;width:150px;height:140px;color:#e7e9e8;opacity:.9}
.service-copy{position:relative;z-index:1;margin-top:auto;padding-top:52px;max-width:88%}
.service-copy h3{margin:0 0 14px;color:#171916;font-family:var(--display);font-size:clamp(1.4rem,2.3vw,2.1rem);font-weight:650;line-height:1.15;letter-spacing:-.04em}
.service-copy p{margin:0;color:#747873;font-size:1rem;line-height:1.8}
.solutions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.solution-card{min-width:0;padding:30px;border:1px solid #e7e8e3;border-radius:24px;background:#fff;box-shadow:0 2px 5px rgb(23 25 22 / 4%)}
.solution-card--dark{border-color:#202923;background:#151d19;color:#f1f1ec;box-shadow:0 18px 40px rgb(23 25 22 / 12%)}
.solution-card .concept-label{margin:0 0 26px;padding:0 0 18px;border-bottom:1px solid #e7e8e3}
.solution-card--dark .concept-label{border-color:#ffffff24;color:#c0c9c2}
.solution-card-content{display:flex;flex-direction:column;gap:24px}
.solution-kicker{display:inline-flex;border-radius:8px;padding:9px 14px;font-size:.78rem;font-weight:650;letter-spacing:.04em}
.solution-kicker--blue{background:#eaf1ff;color:#1e5abe}
.solution-kicker--yellow{background:#ffffff12;color:#ffcd00}
.solution-title{margin:0;color:#171916;font-family:var(--display);font-size:clamp(3rem,5vw,4.5rem);font-weight:750;line-height:1;letter-spacing:-.06em}
.solution-card--dark .solution-title{color:#fff}
.solution-subtitle{margin:14px 0 0;color:#4e4632;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:600;line-height:1.45}
.solution-card--dark .solution-subtitle{color:#e0e4df}
.solution-description{margin:0;color:#747873;font-size:1.02rem;line-height:1.85}
.solution-card--dark .solution-description{color:#b6beb8}
.solution-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:10px}
.solution-metrics div{display:flex;flex-direction:column;gap:6px}
.solution-metrics strong{color:#171916;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1;font-weight:750;letter-spacing:-.04em}
.solution-metrics span,.solution-specs span{color:#747873;font-size:.78rem;line-height:1.5}
.solution-tags{display:flex;flex-wrap:wrap;gap:8px}
.solution-tags span{border-radius:8px;background:#f4f4ee;padding:8px 11px;color:#252823;font-size:.78rem;font-weight:550}
.solution-tags--dark span{background:#ffffff12;color:#e8ece8}
.solution-specs{display:grid;gap:0;border-radius:12px;background:#ffffff0d;padding:8px 16px}
.solution-specs div{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:12px 0;border-bottom:1px solid #ffffff18}
.solution-specs div:last-child{border-bottom:0}
.solution-specs strong{color:#f1f1ec;font-size:.8rem;font-weight:550;text-align:right}
.solution-card--dark .solution-specs span{color:#aeb8b0}
.momo-beacon-note{border-left:2px solid #ffcd00;padding:2px 0 2px 14px}
.momo-beacon-note>span{color:#ffcd00;font-size:.68rem}
.momo-beacon-note p{margin:7px 0 0;color:#c0c9c2;font-size:.85rem;line-height:1.6}
.solution-link{display:inline-flex;align-items:center;gap:9px;width:fit-content;font-size:.95rem;font-weight:650;text-decoration:none}
.solution-link--blue{color:#1e5abe}
.solution-link--yellow{color:#ffcd00}
.solution-link span{font-size:1.2rem;transition:transform .2s}
.solution-link:hover span{transform:translate(3px,-3px)}
/* Product-led Solutions showcase */
.product-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.product-showcase{display:flex;min-width:0;flex-direction:column;padding:28px;border:1px solid #e7e8e3;border-radius:26px;background:#fff;box-shadow:0 3px 10px rgb(23 25 22 / 4%);transition:transform .28s ease,box-shadow .28s ease}
.product-showcase:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgb(23 25 22 / 10%)}
.product-showcase--momo{border-color:#242e28;background:#111915;color:#f1f1ec}
.product-showcase .concept-label{margin:0 0 22px;padding:0 0 15px;border-bottom:1px solid #e7e8e3;color:#747873}
.product-showcase--momo .concept-label{border-color:#ffffff20;color:#b8c1bb}
.product-showcase-body{display:flex;flex:1;flex-direction:column;gap:22px}
.product-showcase-top{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:14px;align-items:center}
.product-copy{position:relative;z-index:1;min-width:0}
.product-category{display:inline-flex;border-radius:7px;padding:8px 11px;font-size:.72rem;font-weight:700;letter-spacing:.035em;line-height:1.3}
.product-category--blue{background:#eaf1ff;color:#145ecb}
.product-category--yellow{background:#ffcd001a;color:#ffcd00}
.product-name{margin:22px 0 4px;color:#171916;font-family:var(--display);font-size:clamp(3rem,4vw,4.2rem);font-weight:750;line-height:1;letter-spacing:-.06em}
.product-showcase--momo .product-name{color:#fff}
.product-subtitle{margin:8px 0 0;color:#3d4540;font-size:1rem;font-weight:650;line-height:1.5}
.product-showcase--momo .product-subtitle{color:#e5e9e5}
.product-lead{margin:18px 0 0;color:#171916;font-size:1.12rem;font-weight:700;line-height:1.55;letter-spacing:-.025em}
.product-showcase--momo .product-lead{color:#fff}
.product-description{margin:12px 0 0;color:#69706b;font-size:.9rem;line-height:1.8}
.product-showcase--momo .product-description{color:#c0c9c2}
.product-visual{position:relative;display:flex;min-width:0;min-height:280px;align-items:center;justify-content:center;overflow:hidden;margin:0;border-radius:18px;background:radial-gradient(ellipse at 62% 52%,#e7f0ff 0%,#f6f8fb 54%,#fff 100%)}
.product-visual::after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(90deg,transparent 58%,rgb(255 255 255 / 14%))}
.hi5-desktop-screen{display:block;width:114%;max-width:none;height:auto;object-fit:contain;transform:translate(5%,4%);transition:transform .5s ease}
.hi5-mobile-screen{position:absolute;z-index:1;right:2%;bottom:0;width:26%;max-height:88%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 24px rgb(15 23 42 / 24%));transition:transform .5s ease}
.product-showcase:hover .hi5-desktop-screen{transform:translate(5%,1%) scale(1.025)}
.product-showcase:hover .hi5-mobile-screen{transform:translateY(-4px)}
.product-visual figcaption{position:absolute;z-index:2;bottom:10px;left:12px;color:#738092;font-family:var(--technical);font-size:.55rem;letter-spacing:.08em}
.product-visual--momo{background:#0d1311}
.product-visual--momo::after{background:linear-gradient(90deg,rgb(11 17 14 / 48%),transparent 65%),linear-gradient(0deg,rgb(11 17 14 / 48%),transparent 46%)}
.momo-render{width:100%;height:100%;min-height:280px;object-fit:contain;object-position:center bottom;background:#0d1311;transition:transform .55s ease}
.product-showcase:hover .momo-render{transform:scale(1.035)}
.momo-field-image{position:absolute;right:12px;bottom:28px;width:42%;height:76px;object-fit:cover;object-position:center;border:2px solid #f1f1ec;border-radius:10px;box-shadow:0 8px 26px rgb(0 0 0 / 35%)}
.product-visual--momo figcaption{color:#e7e9e8}
.product-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:4px 0 0;padding:16px 0 0;list-style:none;border-top:1px solid #e7e8e3}
.product-module-grid li{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:5px;padding:0 10px;border-right:1px solid #eceeea}
.product-module-grid li:first-child{padding-left:0}
.product-module-grid li:last-child{padding-right:0;border-right:0}
.product-module-grid .material-symbols-outlined{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#eaf1ff;color:#1765d5;font-size:20px}
.product-module-grid strong{color:#171916;font-size:.82rem}
.product-module-grid small{color:#777e79;font-size:.68rem;line-height:1.45}
.momo-technology{padding-top:4px}
.momo-technology h4{margin:0 0 12px;color:#ffcd00;font-family:var(--technical);font-size:.68rem;letter-spacing:.12em}
.momo-technology-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1px;list-style:none;border:1px solid #ffffff15;border-radius:13px;background:#ffffff15;overflow:hidden}
.momo-technology-grid li{display:flex;min-height:66px;flex-direction:column;justify-content:center;gap:5px;padding:11px 12px;background:#17211b}
.momo-technology-grid strong{color:#f5f6f5;font-size:.72rem;line-height:1.35}
.momo-technology-grid span{color:#b7c0b9;font-size:.68rem;line-height:1.45}
.momo-field-features{display:flex;flex-wrap:wrap;gap:7px}
.momo-field-features span{border-radius:7px;background:#ffffff12;padding:7px 9px;color:#e2e7e3;font-size:.67rem;line-height:1.45}
.product-cta{display:flex;min-height:52px;align-items:center;justify-content:center;gap:12px;margin-top:auto;padding:12px 18px;border-radius:12px;font-size:.87rem;font-weight:700;text-align:center;text-decoration:none;transition:filter .2s ease,transform .2s ease}
.product-cta:hover{filter:brightness(1.06)}
.product-cta span{font-size:1.1rem;transition:transform .2s ease}
.product-cta:hover span{transform:translate(4px,-2px)}
.product-cta--blue{background:#1765e9;color:#fff}
.product-cta--yellow{background:#ffcd00;color:#171916}
.product-cta:focus-visible{outline:3px solid #145ecb;outline-offset:4px}
.product-showcase--momo .product-cta:focus-visible{outline-color:#ffcd00}
@media(prefers-reduced-motion:reduce){
 .product-showcase,.product-showcase *{scroll-behavior:auto!important;transition:none!important}
}
/* Ultra-wide About page composition: hero and Services left, Solutions stacked right. */
.about-us-page{display:flex;flex-direction:column}
/* Compact services cards and smaller section titles. */
.about-us-page>#services .section-heading h2,
.about-us-page>#solutions .section-heading h2 {
  font-size: clamp(1.5rem, 1.5vw, 2.1rem);
  line-height: 1.12;
}
.about-us-page .services-grid {
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, .55vw, 14px);
}
.about-us-page .service-card {
  width: min(100%, 560px);
  min-height: 0;
  justify-self: center;
  padding: clamp(10px, .72vw, 18px);
  border-radius: clamp(12px, .72vw, 18px);
}
.about-us-page .service-card h3 { font-size: clamp(.9rem, .92vw, 1.2rem); }
.about-us-page .service-card p { font-size: clamp(.68rem, .66vw, .82rem); line-height: 1.4; }
.about-us-page .service-card .service-icon { width: clamp(38px, 3vw, 56px); height: clamp(38px, 3vw, 56px); }
.about-us-page .service-card { text-align: left; }
.about-us-page .product-showcase .concept-label { display: none; }
.about-us-page .product-cta {
  position: absolute;
  z-index: 4;
  right: clamp(8px, .7vw, 16px);
  bottom: clamp(8px, .7vw, 16px);
  display: inline-flex;
  width: max-content;
  max-width: calc(100% - 16px);
  min-height: 0;
  margin: 0;
  padding: clamp(6px, .45vw, 10px) clamp(8px, .55vw, 12px);
  gap: 6px;
  border-radius: 9px;
  font-size: clamp(.5rem, .5vw, .68rem);
  line-height: 1.25;
  white-space: nowrap;
}
.about-us-page .product-cta span { font-size: 1em; }
.product-image-stack { display: flex; min-width: 0; flex-direction: column; align-self: stretch; }
.product-image-stack .product-visual { flex: 1 1 auto; width: 100%; }
.about-us-page .product-cta {
  position: static;
  z-index: auto;
  align-self: flex-end;
  width: max-content;
  max-width: 100%;
  min-height: 0;
  margin: 8px 0 0;
  padding: 7px 11px;
  white-space: normal;
}
.about-us-page .product-cta span { flex: 0 0 auto; }
.footer-copyright { width: 100%; margin: 0; text-align: center; }
.company-news {
  display: flex; min-height: 44px; align-items: center; gap: 14px;
  max-width: min(100%, 760px); margin-top: 2px; padding: 10px 14px;
  border-left: 2px solid #ffcd00; background: rgb(255 255 255 / 62%);
}
.company-news-label { flex: 0 0 auto; color: #747873; font: 600 .62rem/1.3 var(--technical); letter-spacing: .08em; }
.company-news-title { color: #3d4540; font-size: clamp(.78rem, .85vw, .98rem); font-weight: 550; transition: opacity .24s ease, transform .24s ease; }
.company-news-title.is-changing { opacity: 0; transform: translateY(5px); }
.about-page-status {
  display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 18px;
  width: 100%; padding: 10px 18px; border-radius: 14px; background: rgb(255 255 255 / 72%);
}
.status-clock, .social-links { display: flex; align-items: center; }
.status-clock { gap: 10px; color: #747873; font-size: .8rem; }
.status-live-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #10b981; }
.status-clock-label { color: #1a1c19; font-size: .88rem; letter-spacing: .04em; }
.status-clock-time { color: #747873; font: .78rem/1.4 var(--technical); }
.social-links { gap: 8px; }
.social-link { display: grid; width: 34px; height: 34px; place-items: center; padding: 7px; border: 1px solid #e7e8e3; border-radius: 50%; background: #fff; color: #858984; opacity: .56; cursor: not-allowed; }
.social-link:disabled { opacity: .56; }
/* Live social links (YouTube, Instagram): clickable, a little stronger than the disabled X. */
a.social-link { cursor: pointer; text-decoration: none; opacity: .75; transition: opacity .2s; }
a.social-link:hover, a.social-link:focus-visible { opacity: 1; }
.social-link svg { width: 17px; height: 17px; fill: currentColor; }
.social-link:nth-child(2) svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.social-link:nth-child(2) .social-dot { fill: currentColor; stroke: none; }
@media (prefers-reduced-motion: reduce) {
  .company-news-title { transition: none; }
}
/* Hi5 Book & Palm reference treatment. */
.about-page-status .company-news {
  min-height: 0; max-width: none; flex: 1 1 0; margin: 0; padding: 0 18px;
  flex-direction: row; align-items: center; gap: 12px; border-left: 1px solid #e7e8e3;
  background: transparent;
}
.about-page-status .company-news-label { flex: 0 0 auto; white-space: nowrap; }
.about-page-status .company-news-title { min-width: 0; }
.product-showcase-top { align-items: start; }
.product-module-grid li { flex-direction: row; align-items: center; gap: 9px; }
.product-module-grid .module-icon {
  display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center;
  border-radius: 11px;
}
.product-module-grid .module-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.product-module-grid .module-icon--crew { background: #e8f1ff; color: #0877ef; }
.product-module-grid .module-icon--crew svg path { fill: currentColor; stroke: none; }
.product-module-grid .module-icon--crew svg circle { fill: #fff; stroke: none; }
.product-module-grid .module-icon--work { background: #ddf8ed; color: #12b981; }
.product-module-grid .module-icon--work svg { padding: 3px; border-radius: 50%; background: currentColor; stroke: #fff; stroke-width: 2.8; }
.product-module-grid .module-icon--pass { background: #fff0df; color: #fa8b10; }
.product-module-grid .module-icon--link { background: #efe9ff; color: #7445ef; }
/* Hi5 module detail (kicker, title, tagline, copy) is shown by normal.css only. */
.module-detail { display: none; }
.product-module-grid .module-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.product-module-grid .module-copy strong { font-size: .78rem; line-height: 1.2; }
.product-module-grid .module-copy small { font-size: .62rem; line-height: 1.3; }
.product-visual--hi5 { background: linear-gradient(135deg, #fff 24%, #f0f6ff 100%); }
.hi5-desktop-screen { width: 126%; transform: translate(7%, 3%); }
.product-showcase:hover .hi5-desktop-screen { transform: translate(7%, 1%) scale(1.025); }
/* Momo safety-beacon concept presentation. */
.product-visual--momo { isolation: isolate; background: #0d1311; }
.product-visual--momo::before {
  position: absolute; z-index: 0; inset: -8px; content: "";
  background: url("assets/products/momo-feature-hero.webp") center 58% / cover no-repeat;
  filter: blur(7px) brightness(.43) saturate(.82);
  transform: scale(1.04);
}
.product-visual--momo::after { z-index: 1; background: linear-gradient(90deg, rgb(11 17 14 / 54%), transparent 70%), linear-gradient(0deg, rgb(11 17 14 / 36%), transparent 55%); }
.product-visual--momo .momo-render {
  position: relative; z-index: 2; background: transparent; mix-blend-mode: screen;
  filter: drop-shadow(0 8px 24px rgb(0 0 0 / 34%));
}
.product-visual--momo figcaption { z-index: 3; }
.momo-field-image { display: none; }
.momo-technology-grid li { flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; }
.momo-core-icon {
  display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center;
  border: 1px solid rgb(255 205 0 / 22%); border-radius: 10px; background: rgb(255 255 255 / 6%); color: #ffcd00;
}
.momo-core-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.momo-core-copy { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.momo-technology-grid .momo-core-copy strong { color: #f5f6f5; font-size: .67rem; line-height: 1.25; }
.momo-technology-grid .momo-core-copy>span { color: #b7c0b9; font-size: .6rem; line-height: 1.35; }
.momo-cta-group { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.momo-cta-group .product-cta { margin: 0; }
.product-cta--coming,
.product-cta--coming:disabled {
  border: 1px solid rgb(255 255 255 / 18%); background: rgb(255 255 255 / 8%); color: #c7cec9;
  cursor: not-allowed; opacity: .72;
}
.product-cta--coming:disabled:hover { filter: none; transform: none; }
.momo-cta-group { margin-top: 0; }
/* Final visual refinements: title hierarchy, angled device render, shared icon spacing, translucent cards. */
.product-name-secondary { display: inline; font-size: .6667em; font-weight: 650; letter-spacing: -.045em; }
.hi5-desktop-screen {
  transform: perspective(1050px) rotateY(-13deg) rotateZ(-1deg) translate(7%, 3%);
  transform-origin: 58% 50%;
  filter: drop-shadow(0 15px 22px rgb(24 42 70 / 20%));
}
.product-showcase:hover .hi5-desktop-screen {
  transform: perspective(1050px) rotateY(-9deg) rotateZ(-.5deg) translate(7%, 1%) scale(1.025);
}
.product-module-grid li { gap: clamp(12px, .9vw, 16px); padding-inline: clamp(10px, .8vw, 14px); }
.product-module-grid .module-copy { gap: 4px; }
.momo-technology-grid li { gap: clamp(12px, .9vw, 16px); padding: 11px 13px; }
.momo-core-copy { gap: 5px; }
.service-card { background: rgb(255 255 255 / 80%); backdrop-filter: blur(2px); }
.product-showcase--hi5 { background: rgb(255 255 255 / 80%); backdrop-filter: blur(2px); }
.product-showcase--momo { background: rgb(17 25 21 / 80%); backdrop-filter: blur(2px); }
/* Services service imagery and concise section statement. */
.about-us-page>#services .services-intro {
  max-width: 58ch; margin: 8px 0 0; color: #747873;
  font-size: clamp(.72rem, .72vw, .92rem); line-height: 1.5;
}
.about-us-page .service-card {
  isolation: isolate; background: rgb(255 255 255 / 28%); backdrop-filter: blur(3px);
}
.about-us-page .service-card::before {
  position: absolute; z-index: -2; inset: -8px; content: "";
  background-image: var(--service-image); background-position: center right;
  background-size: cover; background-repeat: no-repeat; opacity: .78;
  transform: scale(1.02); transition: transform .5s ease, opacity .35s ease;
}
.about-us-page .service-card::after {
  position: absolute; z-index: -1; inset: 0; content: ""; pointer-events: none;
  background: linear-gradient(90deg, rgb(255 255 255 / 95%) 0%, rgb(255 255 255 / 84%) 48%, rgb(255 255 255 / 55%) 100%);
}
.about-us-page .service-card:hover::before { transform: scale(1.06); opacity: .9; }
.about-us-page .service-card .service-number,
.about-us-page .service-card .service-rule,
.about-us-page .service-card .service-icon,
.about-us-page .service-card .service-copy { z-index: 1; }
.about-us-page .service-card .service-number,
.about-us-page .service-card .service-rule { position: relative; }
.about-us-page .service-card:nth-child(1) { --service-image: url("assets/services/on-device-ai.png"); }
.about-us-page .service-card:nth-child(2) { --service-image: url("assets/services/software-engineering.png"); }
.about-us-page .service-card:nth-child(3) { --service-image: url("assets/services/systems-integration.png"); }
.about-us-page .service-card:nth-child(4) { --service-image: url("assets/services/ict-infrastructure.png"); }
/* Status rail: live Seoul date/time and newsroom cards. */
.status-clock { flex-wrap: wrap; }
.status-clock-date { color: #747873; font: .76rem/1.4 var(--technical); white-space: nowrap; }
.about-page-status .company-news {
  display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center;
  min-width: 0; max-width: none; flex: 1 1 0; gap: 10px; margin: 0; padding: 0 16px;
  border-left: 1px solid #e7e8e3; background: transparent;
}
.about-page-status .company-news-label { align-self: start; padding-top: 3px; color: #747873; font: 650 .62rem/1.3 var(--technical); letter-spacing: .08em; white-space: nowrap; }
.company-news-items { display: grid; min-width: 0; }
.company-news-item { display: none; min-width: 0; }
.company-news-item.is-active { display: block; }
.news-item-stack { display: grid; gap: 5px; }
.company-news-item p { margin: 0; color: #3d4540; font-size: clamp(.68rem, .72vw, .82rem); font-weight: 550; line-height: 1.45; }
.company-news-item.is-changing { opacity: 0; transform: translateY(5px); transition: opacity .24s ease, transform .24s ease; }
.news-badge { display: inline-block; padding: 3px 7px; border-radius: 5px; font-size: .58rem; font-weight: 750; line-height: 1.35; vertical-align: 1px; }
.news-badge--recruitment { background: #fff0e7; color: #a7461c; }
.news-badge--news { background: #eaf1ff; color: #145ecb; }
.news-badge--coming { background: #eeeee9; color: #59615b; }
@media (prefers-reduced-motion: reduce) {
  .company-news-item, .company-news-item.is-changing { transition: none; }
}
/* Services cards: move the index to the right and bring the background subject left. */
.about-us-page .service-card .service-number {
  position: absolute; top: clamp(12px, .72vw, 18px); right: clamp(12px, .72vw, 18px); z-index: 2;
}
.about-us-page .service-card .service-rule { margin-top: 0; }
.about-us-page .service-card::before { background-size: auto 145%; background-position: right center; }
.about-us-page .service-card .service-icon { left: clamp(12px, .72vw, 18px); right: auto; }
/* Hi5 modules move into a balanced 2x2 block beneath the copy. */
.about-us-page .product-showcase--hi5 .product-module-grid {
  grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(10px, .85vw, 16px) clamp(14px, 1.2vw, 22px);
  margin: clamp(14px, 1vw, 20px) 0 0; padding: 0; border: 0;
}
.about-us-page .product-showcase--hi5 .product-module-grid li {
  min-width: 0; flex-direction: row; align-items: center; gap: 14px;
  padding: 8px 0; border: 0;
}
.about-us-page .product-showcase--hi5 .module-icon { width: 42px; height: 42px; flex-basis: 42px; }
.about-us-page .product-showcase--hi5 .module-copy { gap: 4px; }
.about-us-page .product-showcase--hi5 .module-copy strong { font-size: clamp(.76rem, .8vw, .92rem); }
.about-us-page .product-showcase--hi5 .module-copy small { font-size: clamp(.65rem, .68vw, .76rem); }
/* Roll one NEWS & NOTICE item at a time at every viewport width. */
.company-news-item:not(.is-active) { display: none; }
.company-news-item.is-active { display: block; }
.about-page-status .company-news-label,
.news-badge {
  border: 0; border-radius: 0; background: transparent; padding: 0;
  color: #1a1c19; font-size: .88rem; font-weight: 700; line-height: 1.35;
}
.news-badge { display: inline; vertical-align: baseline; }
.about-page-status .company-news-label { align-self: center; }
.company-news-item p { color: #3d4540; }
/* Service-card art now sits on the left with no ornamental SVG overlay. */
.about-us-page .service-card::before {
  background-size: cover; background-position: center;
  transform: scale(1.02) scaleX(-1);
}
.about-us-page .service-card:hover::before { transform: scale(1.06) scaleX(-1); }
/* Service cards use clean surfaces without photo or icon artwork. */
.about-us-page .service-card {
  isolation: auto; background: rgb(255 255 255 / 80%); backdrop-filter: blur(2px);
}
.about-us-page .service-card::before,
.about-us-page .service-card::after { display: none; }
.about-us-page .service-card .service-rule {
  position: absolute; top: clamp(10px, .65vw, 16px); left: clamp(10px, .72vw, 18px);
  width: 28px; height: 3px; margin: 0; background: #ffcd00;
}
.about-us-page .service-card .service-number {
  top: calc(clamp(10px, .65vw, 16px) + 8px); right: clamp(10px, .72vw, 18px);
}
/* Services: keep the yellow dash at left and set the number farther below on the right. */
.about-us-page .service-card .service-number { top: calc(clamp(10px, .65vw, 16px) + 28px); }
/* Align the ACC caption beside its icon in the fourth Momo technology cell. */
.about-us-page .momo-technology-grid li:last-child { flex-direction: row; align-items: center; gap: 9px; }
.about-us-page .momo-technology-grid li:last-child .momo-core-icon { flex: 0 0 30px; }
.about-us-page .momo-technology-grid li:last-child .momo-core-copy { min-width: 0; }
.about-us-page .momo-technology-grid li:last-child .momo-core-copy strong { overflow-wrap: anywhere; }
/* Product cards rise and fade in when they enter the viewport. */
.product-showcase.reveal-ready {
  opacity: 0; transform: translateY(24px);
  transition: opacity .72s ease, transform .72s cubic-bezier(.2,.75,.25,1), box-shadow .28s ease;
}
.product-showcase--momo.reveal-ready { transition-delay: .12s; }
.product-showcase.reveal-ready.is-visible { opacity: 1; transform: translateY(0); }
.product-showcase.reveal-ready.is-visible:hover { transform: translateY(-3px); }
@media (prefers-reduced-motion: reduce) {
  .product-showcase.reveal-ready,
  .product-showcase--momo.reveal-ready { opacity: 1; transform: none; transition: none; }
}
/* Keep every Momo core technology icon beside its title and explanation. */
.about-us-page .momo-technology-grid li {
  flex-direction: row; align-items: center; justify-content: flex-start; gap: 9px;
}
.about-us-page .momo-technology-grid .momo-core-icon { flex: 0 0 30px; }
.about-us-page .momo-technology-grid .momo-core-copy { min-width: 0; }
.about-us-page .momo-technology-grid .momo-core-copy strong,
.about-us-page .momo-technology-grid .momo-core-copy>span { overflow-wrap: anywhere; }
.product-showcase.reveal-ready { will-change: opacity, transform; }
/* Tighten the Momo core-technology area and enlarge its icons by 1.5x. */
.about-us-page .momo-technology { padding-top: 0; }
.about-us-page .momo-technology h4 { margin-bottom: 4px; }
.about-us-page .momo-technology-grid li { min-height: 0; padding-block: 6px; }
.about-us-page .momo-technology-grid li .momo-core-icon,
.about-us-page .momo-technology-grid li:last-child .momo-core-icon {
  width: 45px; height: 45px; flex-basis: 45px;
}
.about-us-page .momo-technology-grid li .momo-core-icon svg { width: 30px; height: 30px; }
.about-us-page .momo-technology-grid .momo-core-copy strong { line-height: 1.2; }
.about-us-page .momo-field-features { margin-top: 6px; }
/* Wide status rail: three independent rolling content slots, no section heading. */
.about-page-status .company-news { display: block; min-width: 0; flex: 1 1 0; max-width: none; padding: 0 14px; }
.company-news-slots { display: grid; grid-template-columns: minmax(0,1fr); min-width: 0; }
.company-news-slot { display: none; min-width: 0; }
.company-news-slot.is-current { display: block; }
.company-news-item { display: none; min-width: 0; }
.company-news-item.is-active { display: block; }
.company-news-item.is-changing { opacity: 0; transform: translateY(4px); }
/* Center each rolling status message and present its category as a compact icon badge. */
.company-news-slots { align-items: center; }
.company-news-slot.is-current { display: flex; min-height: 36px; align-items: center; }
.company-news-item.is-active { display: block; width: 100%; }
.company-news-item p { display: flex; align-items: center; gap: 8px; min-height: 32px; }
.news-badge {
  display: inline-flex; flex: 0 0 auto; align-items: center; gap: 5px;
  padding: 4px 9px; border: 0; border-radius: 999px; font-size: .76rem; font-weight: 700; line-height: 1.2;
}
.news-badge svg { width: 13px; height: 13px; flex: 0 0 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.news-badge--recruitment { background: #fff0e7; color: #a7461c; }
.news-badge--news { background: #eaf1ff; color: #145ecb; }
.news-badge--coming { background: #eeeee9; color: #59615b; }
/* Keep service index at its upper-right position and align the yellow rule directly below it. */
.about-us-page .service-card .service-number { top: clamp(12px, .72vw, 18px); right: calc(clamp(12px, .72vw, 18px) + 8px); }
.about-us-page .service-card .service-rule { position: absolute; top: calc(clamp(12px, .72vw, 18px) + 27px); right: clamp(12px, .72vw, 18px); left: auto; margin: 0; }
/* Restore the Momo core technology frame and tile surfaces. */
.about-us-page .momo-technology-grid { gap: 1px; padding: 1px; border: 1px solid #ffffff15; border-radius: 13px; background: #ffffff15; overflow: hidden; }
.about-us-page .momo-technology-grid li { background: #17211b; }
/* Keep the CORE TECHNOLOGY label aligned to the icon row. */
.about-us-page .momo-technology h4 { display: inline-flex; align-items: center; width: fit-content; padding: 6px 10px; border-radius: 10px; background: rgb(255 255 255 / 6%); }
/* Set Momo core technology icon tile surfaces to the panel charcoal. */
.about-us-page .momo-technology-grid .momo-core-icon { background: #17211b; }
/* Remove only the Momo core technology outer frame and fill; preserve its spacing. */
.about-us-page .momo-technology-grid { border: 0; background: transparent; padding: 1px; }
/* Keep the Momo technology group and labels clear while retaining icon tiles. */
.about-us-page .momo-technology-grid li,
.about-us-page .momo-technology h4 { background: transparent; }
/* Remove outlines from Momo core technology icon tiles. */
.about-us-page .momo-technology-grid .momo-core-icon { border: 0; }
/* Traced reference logo: preserve its original aspect ratio within the header. */
.brand-logo{width:240px;height:auto;max-height:40px;flex-shrink:0}
/* Momo reference photograph, shown in full without caption or overlays. */
.product-visual--momo{background:#c8c7c7}
.product-visual--momo::before,.product-visual--momo::after{display:none}
.product-visual--momo .momo-render{object-fit:contain;object-position:center;background:#c8c7c7;mix-blend-mode:normal;filter:none}
.product-showcase:hover .momo-render{transform:none}
/* Landscape studio composition matched to the Momo panel. */
.product-visual--momo{aspect-ratio:1.6;background:#20262d;overflow:hidden}
.product-visual--momo .momo-render{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;background:#20262d}
/* Restored header branding. */
#site-header .brand-logo{width:160px;height:auto;max-height:none;flex-shrink:0}
#site-header .brand-logo .logo-mark-bg{fill:#000;stroke:none}
#site-header .brand-logo .logo-wordmark{fill:#000}
#site-header .brand-logo .logo-mark-detail{fill:#f4cc25}
#site-header.is-scrolled .brand-logo .logo-mark-bg{fill:#f4cc25;stroke:none}
#site-header.is-scrolled .brand-logo .logo-wordmark{fill:#fff}
#site-header.is-scrolled .brand-logo .logo-mark-detail{fill:#000}
#site-header .legal-name{font-size:20px;line-height:1;font-weight:600}
/* Services: interior content only. Existing panel dimensions and grid remain intact. */
#services .service-interior{position:absolute;inset:clamp(12px,.72vw,18px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(6px,.45vw,10px);min-width:0}
#services .service-line-icon{display:grid;place-items:center;flex:0 0 auto;width:clamp(32px,2.4vw,44px);height:clamp(32px,2.4vw,44px);border-radius:10px;background:#19231d;color:#ffcd00}
#services .service-line-icon svg{width:72%;height:72%}
#services .service-interior .service-copy{margin:0;padding:0;max-width:100%;position:relative;flex:0 0 auto}
#services .service-interior .service-copy h3{margin:0 0 5px;line-height:1.2}
#services .service-tech-tags{position:relative;list-style:none;display:flex;flex-wrap:wrap;gap:4px 5px;width:100%;margin:0;padding:8px 0 0;border-top:1px solid #e1e5dc;color:#5d665e;font:500 clamp(9px,.56vw,12px)/1.4 var(--technical)}
#services .service-tech-tags li{padding:2px 6px;border-radius:5px;background:#eff2eb;white-space:nowrap}
/* Seven technology tags per service, balanced across two rows. */
#services .service-tech-tags{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
#services .service-tech-tags li{padding:3px 4px;text-align:center;font-size:clamp(8px,.5vw,11px);letter-spacing:-.03em}
/* Contact label marker matches the About label circle. */
.contact-label-dot{display:inline-block;width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#000;margin-right:10px}
/* Headquarters panels share one row beneath the contact introduction. */
#contact .contact-location-intro{grid-column:1 / -1}
#contact .contact-channel-row{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}
#contact .contact-channel-row>div{min-width:0}
/* Expand both contact panels equally, within the available viewport. */
#contact>div{max-width:1856px;width:100%;margin-inline:auto}
/* Full-width regional company introduction. */
#contact .contact-region-emphasis{font-weight:800;color:#171916}
#contact .contact-introduction-line{width:100%;max-width:none;white-space:nowrap;font-size:clamp(12px,1.05vw,18px)}
/* Headquarters only: original artwork above, existing contact card overlapping its lower edge. */
#contact .contact-hq-scene{min-width:0;position:relative;isolation:isolate}
#contact .contact-hq-art{width:100%;aspect-ratio:3 / 2;background:url("assets/locations/naju-hq-overlay.png") center top / contain no-repeat}
#contact .contact-hq-scene>.rounded-2xl{position:relative;z-index:1;margin-top:-64px;background:rgb(242 195 0 / .96)}
/* Headquarters placement only: inset contact card overlapping the image bottom. */
#contact .contact-hq-scene>.rounded-2xl{width:85%;margin-left:auto;margin-right:auto;margin-top:-64px}
/* Rounded corners for the headquarters background image. */
#contact .contact-hq-art{border-radius:24px;overflow:hidden}
/* Half the spacing below the contact slogan. */
#contact .contact-location-layout{row-gap:20px}
/* Research matches headquarters scene size, rounded artwork and overlay placement. */
#contact .contact-research-art{background-image:url("assets/locations/research-overlay-crisp.png");background-size:cover;background-position:center 52%}

.news-title-link{color:inherit;font:inherit;text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-title-link:hover{text-decoration:underline}
