:root{
  --ink:#111214;
  --muted:#6d7075;
  --line:#dedfe1;
  --soft:#f7f8f9;
  --blue:#2774c6;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:Inter,"Noto Sans KR",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{
  height:76px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);z-index:50
}
.logo{display:inline-flex;align-items:center;height:38px}.logo img{display:block;width:auto;height:32px;max-width:180px}
.desktop-nav{display:flex;gap:44px;font-size:11px;font-weight:600}
.desktop-nav a,.footer-links a{transition:.25s}
.desktop-nav a:hover,.footer-links a:hover{color:var(--blue)}
.menu-toggle{display:none;background:none;border:0;width:34px;height:34px;padding:7px}
.menu-toggle span{display:block;height:1px;background:#111;margin:6px 0}
.mobile-menu{display:none}
.section-grid{display:grid;grid-template-columns:100px minmax(0,1fr);max-width:var(--max);margin:auto}
.section-index{border-right:1px solid var(--line);padding:44px 0 0 24px;font-size:11px;letter-spacing:.02em}
.section-index span{font-size:13px}
.section-index i{display:block;width:22px;border-top:1px solid #111;margin:10px 0}
.section-index b{font-weight:500;font-size:9px;line-height:1.35}
.hero{min-height:calc(100vh - 76px);position:relative;overflow:hidden}
.hero-copy{padding:15vh 5vw 12vh;position:relative;z-index:2}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:600;margin:0 0 26px}
.hero h1{font-size:clamp(50px,6.2vw,100px);line-height:.96;letter-spacing:-.065em;margin:0 0 34px;font-weight:700}
.lead{font-family:"Noto Sans KR",sans-serif;font-size:18px;line-height:1.65;margin-bottom:42px}
.outline-button,.solid-button{
  display:inline-flex;align-items:center;justify-content:space-between;gap:55px;border:1px solid #aeb0b4;
  min-width:190px;padding:13px 16px;font-size:10px;font-weight:600;letter-spacing:.03em;transition:.3s
}
.outline-button:hover{background:#111;color:#fff;border-color:#111}
.energy-orbit{position:absolute;width:min(58vw,720px);height:min(58vw,720px);right:-7vw;top:50%;transform:translateY(-50%);opacity:.9}
.orbit{position:absolute;inset:0;border:1px solid #d9dde1;border-radius:50%}
.orbit-a{transform:scale(.98)}
.orbit-b{transform:scale(.72)}
.orbit-c{transform:scale(.45);border-color:#c9d5e1}
.orbit-dot{position:absolute;width:7px;height:7px;background:var(--blue);border-radius:50%}
.dot-1{top:15%;left:31%}.dot-2{top:52%;right:10%}.dot-3{bottom:21%;left:18%}
.orbit-center{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:10px;letter-spacing:.28em}
.orbit-center i{width:1px;height:16px;background:#111}
.scroll-cue{position:absolute;bottom:24px;left:50%;font-size:25px;animation:bob 1.8s infinite}
@keyframes bob{50%{transform:translateY(7px)}}
.content-section{border-top:1px solid var(--line);min-height:520px}
.section-content{padding:100px 5.5vw}
.what-we-do{display:grid;grid-template-columns:1fr 1.65fr;gap:70px}
.intro h2,.section-title h2,.about h2{font-size:clamp(30px,3.3vw,52px);line-height:1.15;letter-spacing:-.055em;margin:0}
.three-columns{display:grid;grid-template-columns:repeat(3,1fr)}
.service{padding:0 35px;border-left:1px solid var(--line);min-height:280px;display:flex;flex-direction:column}
.service .number{font-size:11px;margin-bottom:35px}
.service h3{font-size:16px;line-height:1.15;margin:0 0 18px}
.service p{font-family:"Noto Sans KR",sans-serif;color:var(--muted);font-size:12px;margin:0;max-width:190px}
.round-icon{margin-top:auto;width:42px;height:42px;border:1px solid #aaa;border-radius:50%;display:grid;place-items:center;font-size:18px}
.light-panel{background:var(--soft)}
.solutions{padding-top:85px}
.section-title{margin-bottom:55px}
.solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.solution-card{min-height:300px;background:#fff;border:1px solid var(--line);position:relative;overflow:hidden;padding:34px;display:flex;justify-content:space-between}
.card-copy{max-width:55%;position:relative;z-index:2}
.card-copy h3{font-size:16px;margin:0 0 16px}
.card-copy p{font-family:"Noto Sans KR";font-size:12px;color:var(--muted);max-width:210px}
.card-copy a{position:absolute;bottom:0;font-size:9px;font-weight:600;letter-spacing:.04em}
.card-copy a b{margin-left:28px}
.card-graphic{position:absolute;right:8%;top:50%;transform:translateY(-50%);width:220px;height:220px}
.coupling-graphic span{position:absolute;border:1px solid #ccd7e2;border-radius:50%;inset:0}
.coupling-graphic span:nth-child(2){inset:35px}.coupling-graphic span:nth-child(3){inset:75px;border-color:#111}
.pump-box{position:absolute;width:100px;height:80px;border:1px solid #999;left:45px;top:65px}
.pump-lines{position:absolute;width:40px;height:110px;border:1px solid #999;right:15px;top:50px}
.products{display:grid;grid-template-columns:250px 1fr;gap:65px;align-items:center}
.product-intro h2{font-size:36px;line-height:1.05;letter-spacing:-.055em;margin:0 0 25px}
.product-intro>p:not(.eyebrow){font-family:"Noto Sans KR";font-size:12px;color:var(--muted)}
.text-link{display:inline-block;margin-top:25px;font-size:9px;font-weight:600;border-bottom:1px solid #111;padding-bottom:7px}
.text-link span{margin-left:20px}
.featured-product{min-height:450px;background:#f5f6f7;display:grid;grid-template-columns:1.35fr .65fr;position:relative;overflow:hidden}
.placeholder-visual{display:grid;place-items:center;position:relative;overflow:hidden}
.placeholder-visual>span{font-size:9px;letter-spacing:.2em;color:#a5a8ac;text-align:center;z-index:2}
.big-orbit{position:absolute;width:360px;height:360px;border:1px solid #dfe2e5;border-radius:50%}
.big-orbit:before,.big-orbit:after{content:"";position:absolute;border:1px solid #e4e6e8;border-radius:50%;inset:60px}
.big-orbit:after{inset:120px}
.featured-copy{padding:55px 45px;border-left:1px solid #ddd;display:flex;flex-direction:column}
.product-count{font-size:10px;color:#777;margin-bottom:auto}
.featured-copy h3{font-size:18px;margin:0 0 18px}
.featured-copy p{font-family:"Noto Sans KR";font-size:12px;color:#666}
.black-circle-button{margin-top:28px;width:42px;height:42px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center;font-size:18px}
.about{display:grid;grid-template-columns:1fr 1.6fr;gap:75px}
.about-copy>p:not(.eyebrow){font-family:"Noto Sans KR";font-size:13px;color:#666;max-width:470px}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #bbb;margin-top:15px}
.timeline div{padding:18px 10px 20px 0;border-top:2px solid #111;margin-top:-1px}
.timeline strong{display:block;font-size:15px;margin-bottom:22px}
.timeline span{font-family:"Noto Sans KR";font-size:9px;color:#666}
.stats{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:10px}
.stats div{text-align:center;padding:18px;border-right:1px solid var(--line)}
.stats div:last-child{border:0}
.stats strong{display:block;font-size:34px;letter-spacing:-.05em}
.stats strong span{font-size:20px}
.stats small{font-size:8px;color:#777}
.partners{padding-top:75px;padding-bottom:75px}
.partner-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:28px}
.partner-grid div{height:72px;border:1px solid var(--line);display:grid;place-items:center;color:#a8aaad;font-size:12px}
.contact-section{background:#fafafa}
.contact{display:grid;grid-template-columns:1fr .8fr 1.2fr;gap:45px;align-items:center}
.contact-intro h2{font-size:56px;letter-spacing:-.06em;line-height:1;margin:0 0 25px}
.contact-intro>p:not(.eyebrow){font-family:"Noto Sans KR";font-size:12px;color:#666;margin-bottom:28px}
.solid-button{background:#111;color:#fff;border-color:#111;gap:35px}
.solid-button:hover{background:var(--blue);border-color:var(--blue)}
.contact-info p{font-size:12px;margin:15px 0;display:flex;gap:12px}.contact-info span{color:#666}
.map-placeholder{height:250px;background:#eef0f2;display:grid;place-items:center;position:relative;overflow:hidden}
.map-placeholder b{font-size:28px;letter-spacing:.15em;color:#c0c3c7}.map-placeholder span{position:absolute;bottom:20px;font-size:9px;color:#9a9da1}
.map-grid{position:absolute;inset:-30%;background:linear-gradient(25deg,transparent 47%,#d6d9dc 48%,#d6d9dc 49%,transparent 50%),linear-gradient(140deg,transparent 47%,#d6d9dc 48%,#d6d9dc 49%,transparent 50%);opacity:.55}
.footer{background:#111;color:#fff;min-height:140px;padding:45px 5.5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;position:relative}
.footer-links{display:flex;gap:30px;font-size:9px}
.footer p{text-align:right;color:#8c8c8c;font-size:8px}
.top-button{position:absolute;right:22px;bottom:20px;border:1px solid #555;width:30px;height:30px;border-radius:50%;display:grid;place-items:center}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){
  .section-grid{grid-template-columns:65px 1fr}
  .section-index{padding-left:15px}
  .what-we-do,.products,.about{grid-template-columns:1fr;gap:55px}
  .three-columns{grid-template-columns:repeat(3,1fr)}
  .stats{grid-column:1}
  .timeline{margin-top:20px}
  .contact{grid-template-columns:1fr 1fr}
  .map-placeholder{grid-column:1/-1}
  .energy-orbit{width:62vw;height:62vw;right:-16vw}
}
@media(max-width:700px){
  .site-header{height:64px;padding:0 22px}.desktop-nav{display:none}.menu-toggle{display:block}
  .mobile-menu{position:fixed;top:64px;left:0;right:0;background:#fff;z-index:45;padding:25px 22px;display:flex;flex-direction:column;gap:22px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:.35s}
  .mobile-menu.open{transform:none}.mobile-menu a{font-size:13px;font-weight:600}
  .section-grid{display:block}.section-index{display:none}
  .hero{min-height:calc(100svh - 64px);padding:0 22px}.hero-copy{padding:14vh 0 10vh}
  .hero h1{font-size:clamp(43px,13vw,68px)}.lead{font-size:15px}.energy-orbit{width:90vw;height:90vw;right:-30vw;top:62%;opacity:.6}
  .section-content{padding:75px 22px}.content-section{min-height:auto}
  .three-columns{grid-template-columns:1fr}.service{border-left:0;border-top:1px solid var(--line);padding:28px 0;min-height:0}.service .round-icon{margin-top:24px}
  .solution-grid{grid-template-columns:1fr}.solution-card{min-height:290px}.card-graphic{width:180px;height:180px;right:-2%}
  .products{gap:35px}.product-intro h2{font-size:34px}.featured-product{grid-template-columns:1fr;min-height:550px}.featured-copy{border-left:0;border-top:1px solid #ddd;padding:30px}
  .big-orbit{width:260px;height:260px}
  .about{gap:35px}.timeline{grid-template-columns:1fr 1fr 1fr;gap:15px}.timeline div:nth-child(n+4){display:none}
  .stats{grid-template-columns:1fr;margin-top:20px}.stats div{border-right:0;border-bottom:1px solid var(--line)}
  .partner-grid{grid-template-columns:repeat(2,1fr)}
  .contact{grid-template-columns:1fr}.contact-intro h2{font-size:48px}.map-placeholder{grid-column:auto}
  .footer{grid-template-columns:1fr;gap:22px;padding:35px 22px}.footer-links{flex-wrap:wrap}.footer p{text-align:left}.top-button{right:20px}
}

/* SAECOTEC logo: original symbol image + live Korean text */
.logo{
  display:inline-flex;
  align-items:center;
  gap:9px;
  height:auto;
  font-family:"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",sans-serif;
  font-size:24px;
  font-weight:700;
  letter-spacing:-1.5px;
  line-height:1;
  white-space:nowrap;
}
.logo img{
  width:30px !important;
  height:30px !important;
  max-width:none !important;
  object-fit:contain;
  flex:none;
}
.logo-header span{color:#111214}
.logo-footer span{color:#fff}
@media(max-width:700px){
  .logo{font-size:21px;gap:7px}
  .logo img{width:27px !important;height:27px !important}
}

/* Footer logo visibility fix */
.footer .logo-footer{
  display:inline-flex !important;
  align-items:center;
  gap:9px;
  color:#fff;
  opacity:1;
}
.footer .logo-footer img{
  display:block !important;
  width:30px !important;
  height:30px !important;
  object-fit:contain;
  opacity:1 !important;
  visibility:visible !important;
}
.footer .logo-footer span{
  display:inline !important;
  color:#fff !important;
  font-family:"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",sans-serif;
  font-size:24px;
  font-weight:700;
  letter-spacing:-1.5px;
}

.footer .logo-footer span{
  font-family:Inter,Arial,sans-serif;
  font-size:21px;
  font-weight:700;
  letter-spacing:-0.5px;
}

/* Real product showcase */
.products-real{align-items:start}
.product-tabs{display:flex;flex-direction:column;align-items:flex-start;margin-top:34px;border-top:1px solid var(--line)}
.product-tab{width:100%;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;font-family:Inter,sans-serif;font-size:11px;font-weight:600;color:#9a9da1;cursor:pointer;transition:.25s}
.product-tab:hover,.product-tab.active{color:#111214;padding-left:8px}
.product-tab.active:after{content:"  →";color:#7db61c}
.real-product{background:#f7f8f9;min-height:560px}
.product-photo-wrap{display:grid;place-items:center;padding:40px;background:#fff;overflow:hidden}
.product-photo-wrap img{display:block;width:min(100%,520px);height:auto;max-height:480px;object-fit:contain;transition:opacity .22s ease,transform .35s ease}
.product-photo-wrap img.switching{opacity:0;transform:scale(.975)}
.product-details{padding:48px 42px}
.product-heading{margin-bottom:28px}
.product-heading h3{font-size:27px;letter-spacing:-.04em;margin:12px 0 0}
.spec-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d9dadd;border-bottom:1px solid #d9dadd;margin-bottom:30px}
.spec-row>div{padding:18px 12px 18px 0}
.spec-row>div+div{padding-left:18px;border-left:1px solid #d9dadd}
.spec-row small,.detail-block small{display:block;font-size:8px;letter-spacing:.14em;color:#8b8e92;margin-bottom:7px}
.spec-row strong{font-size:13px}
.detail-block{margin-top:24px}
.detail-block ul{padding-left:17px;margin:9px 0 0}
.detail-block li,.detail-block p{font-family:"Noto Sans KR",sans-serif;font-size:12px;line-height:1.8;color:#5f6266}
.detail-block p{margin:8px 0 0}
@media(max-width:700px){
  .product-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
  .product-tab{padding:12px 5px}
  .product-tab:hover,.product-tab.active{padding-left:5px}
  .real-product{min-height:auto}
  .product-photo-wrap{min-height:360px;padding:28px}
  .product-photo-wrap img{max-height:330px}
  .product-details{padding:30px 24px}
}

/* v11 SOLUTIONS redesign */
.solution-grid-real .solution-card{
  min-height:340px;
  padding:38px;
  align-items:stretch;
}
.solution-grid-real .card-copy{
  max-width:52%;
  display:flex;
  flex-direction:column;
}
.solution-kicker{
  display:block;
  margin-bottom:14px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
  color:#7db61c;
}
.solution-grid-real .card-copy h3{
  font-family:"Noto Sans KR",sans-serif;
  font-size:24px;
  letter-spacing:-.04em;
  margin:0 0 15px;
}
.solution-grid-real .card-copy p{
  max-width:290px;
  line-height:1.8;
}
.solution-tags{
  margin-top:16px;
  font-size:8px;
  letter-spacing:.08em;
  color:#8a8d90;
  line-height:1.6;
}
.solution-grid-real .card-copy a{
  margin-top:auto;
  position:static;
  padding-top:28px;
}
.solution-diagram{
  position:absolute;
  right:5%;
  top:50%;
  transform:translateY(-50%);
  width:42%;
  min-width:220px;
  height:210px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.energy-diagram{
  gap:11px;
}
.machine{
  width:62px;
  height:62px;
  border:1px solid #9ea3a8;
  display:grid;
  place-items:center;
  font-size:8px;
  letter-spacing:.08em;
  background:#fff;
}
.shaft{
  width:28px;
  height:1px;
  background:#9ea3a8;
}
.coupling-symbol{
  width:66px;
  height:66px;
  position:relative;
}
.coupling-symbol span{
  position:absolute;
  border:2px solid #7db61c;
  border-radius:50%;
  inset:3px;
}
.coupling-symbol span:last-child{
  inset:17px;
  border-color:#111;
}
.energy-badge{
  position:absolute;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  color:#7db61c;
}
.protection-diagram{
  gap:10px;
}
.shock-line{
  width:46px;
  display:flex;
  gap:4px;
  align-items:center;
}
.shock-line i{
  display:block;
  width:10px;
  height:10px;
  border-right:1px solid #777;
  border-bottom:1px solid #777;
  transform:rotate(-45deg);
}
.shock-line.reverse i{
  transform:rotate(135deg);
}
.shield{
  width:74px;
  height:88px;
  border:2px solid #7db61c;
  clip-path:polygon(50% 0, 92% 15%, 84% 70%, 50% 100%, 16% 70%, 8% 15%);
  display:grid;
  place-items:center;
  background:rgba(125,182,28,.04);
}
.shield span{
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
  color:#5f851b;
}
@media(max-width:900px){
  .solution-grid-real .card-copy{max-width:56%}
  .solution-diagram{right:2%;width:40%;transform:translateY(-50%) scale(.9)}
}
@media(max-width:700px){
  .solution-grid-real .solution-card{min-height:420px;padding:28px}
  .solution-grid-real .card-copy{max-width:100%}
  .solution-diagram{
    position:relative;
    right:auto;
    top:auto;
    transform:none;
    width:100%;
    min-width:0;
    height:165px;
    margin-top:28px;
  }
}

/* v12 SOLUTIONS - explicit process flow diagrams */
.solution-grid-flow .solution-card{
  min-height:350px;
  padding:38px;
}
.solution-grid-flow .card-copy{
  max-width:46%;
  display:flex;
  flex-direction:column;
}
.solution-grid-flow .card-copy h3{
  font-family:"Noto Sans KR",sans-serif;
  font-size:24px;
  line-height:1.28;
  letter-spacing:-.045em;
  margin:0 0 15px;
  word-break:keep-all;
}
.solution-grid-flow .card-copy p{
  max-width:315px;
  line-height:1.8;
  word-break:keep-all;
}
.solution-grid-flow .card-copy a{
  position:static;
  margin-top:auto;
  padding-top:26px;
}
.flow-diagram{
  position:absolute;
  right:4%;
  top:50%;
  transform:translateY(-50%);
  width:47%;
  min-width:300px;
}
.flow-row{
  display:grid;
  grid-template-columns:1fr auto 1.25fr auto 1fr;
  align-items:center;
  gap:10px;
}
.flow-box{
  min-height:74px;
  border:1px solid #aeb3b8;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:10px 8px;
  text-align:center;
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.35;
}
.flow-highlight{
  min-height:88px;
  border:2px solid #7db61c;
  background:rgba(125,182,28,.045);
  color:#4f7415;
}
.flow-highlight strong{
  font-size:9px;
  letter-spacing:.09em;
}
.flow-highlight span{
  font-size:8px;
  letter-spacing:.09em;
  margin-top:2px;
}
.flow-arrow{
  font-size:20px;
  color:#9da2a7;
  line-height:1;
}
.flow-note{
  margin-top:24px;
  padding-top:17px;
  border-top:1px solid #d8dadd;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.flow-note span{
  font-family:"Noto Sans KR",sans-serif;
  font-size:10px;
  color:#85898d;
}
.flow-note b{
  font-size:9px;
  letter-spacing:.11em;
  color:#7db61c;
}
@media(max-width:1050px){
  .solution-grid-flow .card-copy{max-width:44%}
  .flow-diagram{width:49%;right:2%;min-width:280px}
  .flow-row{gap:7px}
}
@media(max-width:800px){
  .solution-grid-flow{grid-template-columns:1fr}
  .solution-grid-flow .solution-card{min-height:420px}
  .solution-grid-flow .card-copy{max-width:48%}
}
@media(max-width:700px){
  .solution-grid-flow .solution-card{
    min-height:auto;
    padding:28px;
    display:block;
  }
  .solution-grid-flow .card-copy{max-width:100%}
  .flow-diagram{
    position:relative;
    right:auto;
    top:auto;
    transform:none;
    width:100%;
    min-width:0;
    margin-top:34px;
  }
  .flow-row{
    grid-template-columns:1fr auto 1.35fr auto 1fr;
    gap:7px;
  }
  .flow-box{
    min-height:64px;
    font-size:7px;
  }
  .flow-highlight{min-height:74px}
  .flow-arrow{font-size:16px}
  .flow-note{margin-top:18px}
  .flow-note span{font-size:9px}
  .flow-note b{font-size:8px}
}

/* v13 SOLUTIONS layout fix: copy and diagram get separate columns */
.solution-grid-flow .solution-card{
  display:grid !important;
  grid-template-columns:minmax(0, .82fr) minmax(300px, 1.18fr);
  column-gap:34px;
  align-items:stretch;
  min-height:365px;
  padding:38px;
}
.solution-grid-flow .card-copy{
  max-width:none !important;
  min-width:0;
  position:relative;
  z-index:2;
}
.solution-grid-flow .card-copy p{
  max-width:100% !important;
  margin-right:0;
}
.solution-grid-flow .flow-diagram{
  position:relative !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  width:100% !important;
  min-width:0 !important;
  align-self:center;
  padding-left:0;
}
.solution-grid-flow .flow-row{
  width:100%;
  grid-template-columns:minmax(62px,1fr) 20px minmax(84px,1.25fr) 20px minmax(62px,1fr);
  gap:7px;
}
.solution-grid-flow .flow-box{
  width:100%;
  min-width:0;
  padding:9px 5px;
}
.solution-grid-flow .flow-note{
  width:100%;
}
@media(max-width:1150px){
  .solution-grid-flow{
    grid-template-columns:1fr !important;
  }
  .solution-grid-flow .solution-card{
    grid-template-columns:minmax(220px,.8fr) minmax(360px,1.2fr);
  }
}
@media(max-width:700px){
  .solution-grid-flow .solution-card{
    display:block !important;
    min-height:auto;
    padding:28px;
  }
  .solution-grid-flow .flow-diagram{
    margin-top:34px;
  }
}

.about-v14{padding-bottom:0}.about-heading{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;padding-bottom:64px}.about-heading h2{margin:14px 0 0;font-family:"Noto Sans KR",sans-serif;font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-.055em}.about-lead{max-width:500px;margin:0 0 5px;font-family:"Noto Sans KR",sans-serif;font-size:13px;line-height:1.9;color:#686b6f;word-break:keep-all}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-stats>div{padding:38px 0 34px}.about-stats>div+div{padding-left:34px;border-left:1px solid var(--line)}.about-stats strong{display:block;font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.055em}.about-stats span{display:block;margin-top:11px;font-size:8px;font-weight:700;letter-spacing:.16em;color:#8b8e92}
.history-wrap{display:grid;grid-template-columns:210px 1fr;gap:60px;padding:72px 0 10px}.history-title span{font-size:10px;font-weight:700;letter-spacing:.16em}.history-title p{margin-top:10px;font-size:11px;color:#929599}.history-list{border-top:1px solid #161719}.history-item{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:24px 0 25px;border-bottom:1px solid var(--line)}.history-item>strong{font-size:16px}.history-item h4{margin:0;font-family:"Noto Sans KR",sans-serif;font-size:14px;line-height:1.5;word-break:keep-all}.history-item p{margin:7px 0 0;font-family:"Noto Sans KR",sans-serif;font-size:10px;line-height:1.7;color:#85898d;word-break:keep-all}.history-recent>strong{color:#6f9f1b}.ongoing{display:inline-block;margin-right:8px;padding:3px 6px;border:1px solid #7db61c;color:#679319;font-size:7px;font-weight:700;letter-spacing:.1em}
@media(max-width:800px){.about-heading{grid-template-columns:1fr;gap:28px}.history-wrap{grid-template-columns:1fr;gap:25px}}@media(max-width:600px){.history-item{grid-template-columns:72px 1fr;gap:14px}}

/* v15 ABOUT — compact homepage version */
.about-v15{padding-bottom:0}
.about-compact{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  gap:84px;
  align-items:start;
  padding-bottom:54px;
}
.about-copy h2{
  margin:14px 0 24px;
  font-family:"Noto Sans KR",sans-serif;
  font-size:clamp(34px,4vw,56px);
  line-height:1.12;
  letter-spacing:-.055em;
}
.about-copy>p:not(.eyebrow){
  max-width:450px;
  margin:0;
  font-family:"Noto Sans KR",sans-serif;
  font-size:12px;
  line-height:1.9;
  color:#686b6f;
  word-break:keep-all;
}
.history-link{
  display:inline-flex;
  gap:14px;
  align-items:center;
  margin-top:28px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
}
.compact-history{
  border-top:1px solid #17181a;
}
.compact-history-item{
  position:relative;
  display:grid;
  grid-template-columns:76px 1fr auto;
  gap:20px;
  align-items:center;
  min-height:66px;
  border-bottom:1px solid var(--line);
}
.compact-history-item strong{
  font-size:15px;
  letter-spacing:-.03em;
}
.compact-history-item span{
  font-family:"Noto Sans KR",sans-serif;
  font-size:12px;
  line-height:1.5;
  word-break:keep-all;
}
.compact-history-item em{
  padding:3px 6px;
  border:1px solid #7db61c;
  color:#679319;
  font-size:7px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.09em;
}
.about-stats-compact{
  margin-top:0;
}
@media(max-width:900px){
  .about-compact{grid-template-columns:1fr;gap:42px}
}
@media(max-width:600px){
  .compact-history-item{grid-template-columns:62px 1fr;gap:12px;padding:12px 0}
  .compact-history-item em{grid-column:2;justify-self:start}
}

/* v16 ABOUT — restore original compact proportions and neutralize legacy .about rules */
.section-content.about.about-v15{
  display:block !important;
  grid-template-columns:none !important;
  align-items:initial !important;
  min-width:0 !important;
}
.about-v15 .about-compact{
  display:grid !important;
  grid-template-columns:minmax(360px,.9fr) minmax(500px,1.1fr) !important;
  gap:64px !important;
  align-items:start !important;
  width:100% !important;
  padding:0 0 44px !important;
}
.about-v15 .about-copy{
  min-width:0 !important;
}
.about-v15 .about-copy h2{
  width:auto !important;
  max-width:none !important;
  margin:12px 0 20px !important;
  font-size:clamp(32px,3.25vw,50px) !important;
  line-height:1.12 !important;
  white-space:normal !important;
  word-break:keep-all !important;
  writing-mode:horizontal-tb !important;
}
.about-v15 .about-copy>p:not(.eyebrow){
  max-width:440px !important;
}
.about-v15 .compact-history{
  width:100% !important;
  min-width:0 !important;
}
.about-v15 .about-stats{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  margin:0 !important;
}
.about-v15 .about-stats>div{
  min-height:118px !important;
  padding:28px 30px !important;
}
.about-v15 .about-stats strong{
  font-size:42px !important;
}
.about-v15 .history-link{
  margin-top:22px !important;
}
@media(max-width:1000px){
  .about-v15 .about-compact{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
}
@media(max-width:600px){
  .about-v15 .about-stats>div{padding:22px 12px !important}
  .about-v15 .about-stats strong{font-size:30px !important}
}

/* v17 PARTNERS */
.partners-v17{padding-bottom:10px}
.partners-heading{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:end;
  margin-bottom:48px;
}
.partners-heading h2{
  margin:12px 0 0;
  font-family:"Noto Sans KR",sans-serif;
  font-size:clamp(34px,4vw,54px);
  line-height:1.12;
  letter-spacing:-.055em;
}
.partners-heading>p:last-child{
  max-width:430px;
  margin:0 0 5px;
  font-family:"Noto Sans KR",sans-serif;
  font-size:12px;
  line-height:1.9;
  color:#727579;
  word-break:keep-all;
}
.partner-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.partner-tile{
  min-height:138px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:24px 18px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  text-align:center;
  transition:background .25s ease,transform .25s ease;
}
.partner-tile:hover{background:#fafbf8}
.partner-tile strong{
  font-family:"Noto Sans KR",sans-serif;
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.035em;
  word-break:keep-all;
}
.partner-tile span{
  margin-top:9px;
  font-size:7px;
  font-weight:600;
  letter-spacing:.13em;
  color:#a0a3a6;
}
@media(max-width:800px){
  .partners-heading{grid-template-columns:1fr;gap:24px}
}
@media(max-width:650px){
  .partner-grid{grid-template-columns:repeat(2,1fr)}
  .partner-tile{min-height:112px}
  .partner-tile strong{font-size:15px}
}

/* v18 PARTNERS fix — remove legacy placeholder conflict */
.partners-section-v18 .partner-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
}
.partners-section-v18 .partner-grid .partner-tile{
  display:flex !important;
}
@media(max-width:650px){
  .partners-section-v18 .partner-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* v20 PARTNERS — user-provided local logo files */
.partners-section-v20 .partner-logo-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.partners-section-v20 .partner-logo-tile{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 34px;
  background:#fff;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.partners-section-v20 .partner-logo-tile img{
  display:block;
  width:auto;
  height:auto;
  max-width:78%;
  max-height:64px;
  object-fit:contain;
}
/* A few logos are naturally wider/taller, so tune them individually */
.partners-section-v20 .partner-logo-tile:nth-child(4) img{max-width:74%;max-height:72px}
.partners-section-v20 .partner-logo-tile:nth-child(5) img{max-width:82%;max-height:64px}
.partners-section-v20 .partner-logo-tile:nth-child(8) img{max-width:66%;max-height:58px}
.partners-section-v20 .partner-logo-tile:nth-child(9) img{max-width:72%;max-height:66px}
@media(max-width:650px){
  .partners-section-v20 .partner-logo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .partners-section-v20 .partner-logo-tile{
    min-height:118px;
    padding:22px;
  }
  .partners-section-v20 .partner-logo-tile img{
    max-width:82%;
    max-height:52px;
  }
}

/* v22 CONTACT */
.contact-v22{
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(520px,1.2fr);
  gap:80px;
  align-items:start;
}
.contact-heading h2{
  margin:12px 0 22px;
  font-family:"Noto Sans KR",sans-serif;
  font-size:clamp(34px,4vw,56px);
  line-height:1.12;
  letter-spacing:-.055em;
  word-break:keep-all;
}
.contact-heading>p:last-child{
  max-width:390px;
  margin:0;
  font-family:"Noto Sans KR",sans-serif;
  font-size:12px;
  line-height:1.85;
  color:#777b7f;
  word-break:keep-all;
}
.contact-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid #1b1c1e;
}
.contact-info-item{
  min-height:132px;
  padding:24px 22px 22px 0;
  border-bottom:1px solid var(--line);
}
.contact-info-item:nth-child(odd){
  padding-right:30px;
  border-right:1px solid var(--line);
}
.contact-info-item:nth-child(even){
  padding-left:30px;
}
.contact-info-item>span{
  display:block;
  margin-bottom:18px;
  font-size:8px;
  font-weight:700;
  letter-spacing:.14em;
  color:#8f9296;
}
.contact-info-item strong,
.contact-info-item a{
  display:block;
  font-family:"Noto Sans KR",Inter,sans-serif;
  font-size:15px;
  font-weight:600;
  line-height:1.6;
  letter-spacing:-.025em;
  color:#17181a;
  word-break:keep-all;
}
.contact-info-item a{
  text-decoration:none;
  transition:color .2s ease;
}
.contact-info-item a:hover{color:#73a71c}
@media(max-width:900px){
  .contact-v22{grid-template-columns:1fr;gap:42px}
}
@media(max-width:600px){
  .contact-info-grid{grid-template-columns:1fr}
  .contact-info-item:nth-child(odd),
  .contact-info-item:nth-child(even){
    padding:22px 0;
    border-right:0;
  }
}

/* v23 full HISTORY page */
.history-page{background:#fff}
.history-hero{border-bottom:1px solid var(--line)}
.history-hero-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:110px max(6vw,80px) 90px;
}
.history-back{
  display:inline-block;
  margin-bottom:65px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
}
.history-hero h1{
  margin:0;
  font-family:"Noto Sans KR",sans-serif;
  font-size:clamp(54px,7vw,96px);
  line-height:1.02;
  letter-spacing:-.065em;
}
.history-period{
  margin:28px 0 0;
  font-size:11px;
  font-weight:600;
  letter-spacing:.16em;
  color:#7c8084;
}
.history-content{
  max-width:var(--max);
  margin:0 auto;
  padding:90px max(6vw,80px) 120px;
  display:grid;
  grid-template-columns:300px 1fr;
  gap:90px;
}
.history-intro{
  position:sticky;
  top:120px;
  align-self:start;
}
.history-intro h2{
  margin:10px 0 24px;
  font-family:"Noto Sans KR",sans-serif;
  font-size:36px;
  line-height:1.2;
  letter-spacing:-.05em;
}
.history-intro>p:last-child{
  font-family:"Noto Sans KR",sans-serif;
  font-size:12px;
  line-height:1.85;
  color:#777b7f;
  word-break:keep-all;
}
.history-timeline{
  border-top:1px solid #151618;
}
.history-year{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:28px;
  padding:31px 0 34px;
  border-bottom:1px solid var(--line);
}
.history-year-label strong{
  font-size:24px;
  letter-spacing:-.05em;
}
.history-events{
  list-style:none;
  margin:0;
  padding:0;
}
.history-events li{
  display:grid;
  grid-template-columns:68px 1fr;
  gap:18px;
  padding:7px 0;
  align-items:start;
}
.history-events li>span{
  font-size:9px;
  font-weight:700;
  color:#8b8e92;
  padding-top:3px;
}
.history-events li>p{
  margin:0;
  font-family:"Noto Sans KR",sans-serif;
  font-size:12px;
  line-height:1.6;
  word-break:keep-all;
}
.history-status{
  display:inline-block;
  width:max-content;
  padding:3px 6px !important;
  border:1px solid #7db61c;
  color:#679319 !important;
  font-size:7px !important;
  letter-spacing:.08em;
}
@media(max-width:900px){
  .history-hero-inner{padding:90px 40px 70px}
  .history-content{grid-template-columns:1fr;padding:70px 40px 90px;gap:45px}
  .history-intro{position:static}
}
@media(max-width:600px){
  .history-hero-inner{padding:75px 22px 58px}
  .history-content{padding:55px 22px 75px}
  .history-year{grid-template-columns:70px 1fr;gap:15px}
  .history-events li{grid-template-columns:58px 1fr;gap:10px}
  .history-year-label strong{font-size:20px}
}
