
/* V23 overrides — based on V21 */

/* Design Development page: keep Korean copy as clean one-line statement on desktop */
html[lang="ko"] .dd-hero__body,
html:not([lang]) .dd-hero__body{
  max-width:none!important;
  font-size:15px!important;
  line-height:1.7!important;
  white-space:nowrap;
  letter-spacing:-.02em;
}
html[lang="ko"] .dd-wide-copy,
html:not([lang]) .dd-wide-copy{
  max-width:none!important;
  font-size:15px!important;
  line-height:1.7!important;
  white-space:nowrap;
  letter-spacing:-.02em;
}
@media (max-width:1280px){
  html[lang="ko"] .dd-hero__body,
  html:not([lang]) .dd-hero__body,
  html[lang="ko"] .dd-wide-copy,
  html:not([lang]) .dd-wide-copy{
    font-size:14px!important;
  }
}
@media (max-width:1024px){
  html[lang="ko"] .dd-hero__body,
  html:not([lang]) .dd-hero__body,
  html[lang="ko"] .dd-wide-copy,
  html:not([lang]) .dd-wide-copy{
    white-space:normal;
    font-size:15px!important;
  }
}

/* Home hero: move horizontal reference line below the copy so it does not overlap */
.cine-line{top:calc(50% + 214px)!important;width:min(26vw,430px)!important}
.cine-scene--package .cine-line{top:calc(50% + 198px)!important}
.cine-scene:last-child .cine-line{top:calc(50% + 262px)!important;width:min(28vw,480px)!important}
@media (max-width:900px){
  .cine-line,
  .cine-scene[data-align="right"] .cine-line,
  .cine-scene--package .cine-line,
  .cine-scene:last-child .cine-line{left:24px!important;right:24px!important;top:auto!important;bottom:12px!important;width:auto!important}
}

/* Home innovation list: clearer click affordance and more polished typography */
.innovation-tabs{display:grid;gap:12px;border-top:0!important}
.innovation-tab{
  position:relative;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) auto!important;
  align-items:center;
  gap:18px!important;
  padding:18px 22px!important;
  border:1px solid rgba(127,112,103,.22)!important;
  border-radius:18px!important;
  background:#ffffff!important;
  box-shadow:0 14px 32px rgba(0,0,0,.05);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
}
.innovation-tab span{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1;
  color:var(--burgundy)!important;
  background:rgba(206,23,53,.07);
  border:1px solid rgba(206,23,53,.14);
}
.innovation-tab strong{
  font-size:22px!important;
  font-weight:430!important;
  letter-spacing:-.028em;
  color:#2f2c2a;
}
.innovation-tab::after{
  content:"VIEW ↗";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:94px;
  height:40px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(206,23,53,.18);
  color:var(--burgundy);
  background:rgba(206,23,53,.04);
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
}
.innovation-tab:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(0,0,0,.08);
  border-color:rgba(206,23,53,.28)!important;
}
.innovation-tab.active{
  background:linear-gradient(180deg,rgba(206,23,53,.045),rgba(206,23,53,.02))!important;
  border-color:rgba(206,23,53,.32)!important;
  box-shadow:0 20px 42px rgba(149,28,53,.10);
}
.innovation-tab.active strong{color:var(--burgundy)!important}
.innovation-tab.active::after{
  content:"OPEN ↗";
  color:#fff;
  background:var(--burgundy);
  border-color:var(--burgundy);
}
@media (max-width:900px){
  .innovation-tabs{gap:10px}
  .innovation-tab{grid-template-columns:54px minmax(0,1fr)!important;padding:16px 18px 16px 16px!important}
  .innovation-tab::after{grid-column:2;justify-self:start;margin-top:8px;min-width:86px;height:34px;font-size:10px;letter-spacing:.14em}
  .innovation-tab strong{font-size:18px!important}
  .innovation-tab span{width:38px;height:38px;font-size:11px!important}
}


/* ===== V23 revision 2: cleaner buttons + refined line breaks ===== */

/* Home / innovation list buttons — simpler and more refined */
.innovation-tab{
  grid-template-columns:54px minmax(0,1fr) auto!important;
  gap:16px!important;
  padding:16px 18px!important;
  border-radius:16px!important;
  box-shadow:none!important;
  background:#fff!important;
}
.innovation-tab span{
  width:40px;height:40px;
  font-size:11px!important;
  background:rgba(206,23,53,.04)!important;
  border-color:rgba(206,23,53,.10)!important;
}
.innovation-tab strong{
  font-size:18px!important;
  font-weight:410!important;
  letter-spacing:-.03em!important;
}
.innovation-tab::after{
  content:"↗";
  min-width:42px;
  width:42px;
  height:42px;
  padding:0;
  border-radius:999px;
  font-size:16px;
  font-weight:400;
  letter-spacing:0;
  background:#fff;
  border:1px solid rgba(206,23,53,.14);
}
.innovation-tab.active::after{
  content:"↗";
  background:var(--burgundy);
  color:#fff;
  border-color:var(--burgundy);
}
.innovation-tab:hover{transform:translateY(-1px)!important;box-shadow:none!important}
@media (max-width:900px){
  .innovation-tab{grid-template-columns:48px minmax(0,1fr) auto!important;padding:14px 16px!important;gap:14px!important}
  .innovation-tab strong{font-size:17px!important}
  .innovation-tab span{width:36px;height:36px}
  .innovation-tab::after{grid-column:auto;justify-self:end;margin-top:0;width:38px;min-width:38px;height:38px;font-size:15px}
}

/* Innovation modal — improve readable line breaks */
.formula-modal__copy h2{
  font-weight:300!important;
  letter-spacing:-.05em!important;
  max-width:14ch;
}
.formula-modal__subtitle{
  max-width:34ch;
  line-height:1.48!important;
  color:#5f5a57!important;
}
.formula-modal__detail{
  gap:18px!important;
}
.formula-modal__detail p{
  max-width:64ch;
  line-height:1.82!important;
  text-wrap:pretty;
  color:#57524f!important;
}
/* About page — prevent awkward orphan lines in headlines and keep body cleaner */
.about-v32__hero-copy h1,
.about-v32__statement h2{
  max-width:12ch;
  text-wrap:balance;
}
.about-v32__hero-copy p,
.about-v32__statement p{
  max-width:58ch;
  text-wrap:pretty;
}
html[lang="ko"] .about-v32__hero-copy p,
html[lang="ko"] .about-v32__statement p{
  letter-spacing:-.022em!important;
}
@media (min-width:1100px){
  .about-v32__hero-copy p,
  .about-v32__statement p{font-size:16px!important;line-height:1.9!important}
}
@media (max-width:900px){
  .formula-modal__copy h2{max-width:none}
  .formula-modal__subtitle,.formula-modal__detail p,.about-v32__hero-copy p,.about-v32__statement p{max-width:none}
}


/* ===== V24 text layout refinements ===== */
.formula-modal__detail p{white-space:pre-line;word-break:keep-all;max-width:none!important;}
.formula-modal__copy h2{max-width:none!important;}
@media (min-width:1100px){.formula-modal__detail p{font-size:16px!important;line-height:1.78!important;}}
.about-v32__hero-copy h1,.about-v32__statement h2{max-width:none!important;}
.about-v32__statement p{max-width:none!important;white-space:normal;}


/* ===== V25 title size unification ===== */
.about-v32__hero-copy h1,.about-v32__statement h2{font-size:clamp(36px,3vw,48px)!important;line-height:1.16!important;letter-spacing:-.038em!important;font-weight:500!important;max-width:none!important;}
html[lang="ko"] .about-v32__hero-copy h1,html[lang="ko"] .about-v32__statement h2{font-size:clamp(36px,3vw,48px)!important;line-height:1.16!important;letter-spacing:-.038em!important;max-width:none!important;}
@media (max-width:767px){.about-v32__hero-copy h1,.about-v32__statement h2,html[lang="ko"] .about-v32__hero-copy h1,html[lang="ko"] .about-v32__statement h2{font-size:31px!important;line-height:1.18!important;letter-spacing:-.035em!important;}}
html[lang="ko"] .formula-modal__detail p{white-space:normal!important;}


/* =========================================================
   Post-feedback refinements · Korea origin + softer partner logos
   ========================================================= */
/* Global map — pin positions tuned and route origin visually anchored to Korea */
.global-pin--china{left:82.3354% !important; top:33.3972% !important;}
.global-pin--vietnam{left:79.4039% !important; top:45.9810% !important;}
.global-pin--taiwan{left:83.7682% !important; top:43.3113% !important;}
.global-pin--iran{left:64.2747% !important; top:36.2072% !important;}
.global-pin--russia{left:60.4492% !important; top:22.8295% !important;}

/* Small markers keep separate capitals legible on narrow map viewports. */
@media(max-width:680px){
  .global-map__stage .global-pin{width:10px;height:10px;box-shadow:0 0 0 3px rgba(206,23,53,.12),0 0 0 6px rgba(206,23,53,.07)}
  .global-map__stage .global-pin:hover,.global-map__stage .global-pin:focus-visible,.global-map__stage .global-pin.is-active{box-shadow:0 0 0 4px rgba(206,23,53,.16),0 0 0 7px rgba(206,23,53,.09)}
}

/* Partner logo display: retain neatly cropped SVGs with hard visual size limits. */
.logos{
  position:relative !important;
  padding:86px 0 98px !important;
  background:#fff !important;
  overflow:hidden !important;
}
.logos::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:calc(50% - 34px);
  transform:translateY(-50%);
  height:118px;
  background:#f6f5f2;
  z-index:0;
}
.logo-track{
  position:relative !important;
  z-index:1 !important;
  gap:92px !important;
  animation-duration:128s !important;
}
.logo-item{
  width:auto !important;
  min-width:0 !important;
  height:106px !important;
  padding:0 2px !important;
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  z-index:1 !important;
}
.logo-item img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:210px !important;
  max-height:74px !important;
  object-fit:contain !important;
  opacity:.94 !important;
  filter:none !important;
  transform:scale(.9) !important; /* logos 10% smaller, leave spacing and stripe untouched */
  transform-origin:center center;
}
@media(max-width:1100px){
  .logos{padding:80px 0 92px !important;}
  .logos::before{top:calc(50% - 28px);height:106px;background:#f6f5f2;}
  .logo-track{gap:72px !important;animation-duration:122s !important;}
  .logo-item{height:94px !important;}
  .logo-item img{max-width:174px !important;max-height:64px !important;}
}
@media(max-width:680px){
  .logos{padding:70px 0 80px !important;}
  .logos::before{top:calc(50% - 18px);height:92px;background:#f6f5f2;}
  .logo-track{gap:56px !important;animation-duration:116s !important;}
  .logo-item{height:76px !important;padding:0 1px !important;}
  .logo-item img{max-width:140px !important;max-height:52px !important;}
}
