html{scroll-behavior:smooth;}
section{scroll-margin-top:90px;}

    :root {
      --navy:#071a2f; --navy2:#0b2545; --blue:#1769ff; --cyan:#22b7d8;
      --green:#10b981; --green2:#0b8b65; --ink:#142033; --muted:#64748b;
      --line:#dbe4ee; --soft:#f5f8fb; --white:#fff; --danger:#ef4444;
      --shadow:0 18px 55px rgba(7,26,47,.12);
      --radius:24px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:"Pretendard","Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;color:var(--ink);background:#fff;word-break:keep-all;overflow-x:hidden}
    img{display:block;max-width:100%}
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit}
    .container{width:min(1180px,calc(100% - 40px));margin:auto}
    .section{padding:108px 0}
    .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--green2)}
    .eyebrow:before{content:"";width:28px;height:3px;border-radius:9px;background:linear-gradient(90deg,var(--green),var(--cyan))}
    h1,h2,h3,p{margin-top:0}
    h2{font-size:clamp(31px,4vw,52px);line-height:1.12;letter-spacing:-.045em;margin-bottom:18px}
    .lead{font-size:18px;line-height:1.8;color:var(--muted)}
    .gradient-text{background:linear-gradient(90deg,#17d5a0,#2a7fff);-webkit-background-clip:text;background-clip:text;color:transparent}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:14px;font-weight:900;border:1px solid transparent;transition:.25s ease;cursor:pointer}
    .btn.primary{color:white;background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:0 12px 30px rgba(23,105,255,.28)}
    .btn.dark{color:white;background:var(--navy)}
    .btn.ghost{color:white;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}
    .btn:hover{transform:translateY(-2px)}

    /* Header */
    header{position:fixed;z-index:50;inset:0 0 auto;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(219,228,238,.85);backdrop-filter:blur(14px)}
    .nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .brand-lockup{display:flex;align-items:center;gap:17px;min-width:0}
    .km-logo{width:214px;height:56px;object-fit:contain;background:white}
    .partner-mark{display:flex;align-items:center;gap:12px;padding-left:16px;border-left:1px solid #d4dee9}
    .sm-word{font-weight:950;font-size:21px;letter-spacing:-.03em;color:var(--navy)}
    .sm-word b{color:var(--green2)}
    .partner-sub{display:block;font-size:9px;letter-spacing:.16em;font-weight:900;color:#789;text-transform:uppercase;margin-top:3px}
    nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:800;color:#46576c}
    nav a:hover{color:var(--blue)}
    .menu-btn{display:none;border:0;background:#eef3f8;color:var(--navy);width:44px;height:44px;border-radius:12px;font-size:23px}
    .mobile-menu{display:none;padding:12px 20px 22px;border-top:1px solid var(--line)}
    .mobile-menu.open{display:grid;gap:8px}
    .mobile-menu a{padding:15px 18px;border-radius:10px;background:#f5f8fb;font-weight:800}

    /* Hero */
    .hero{min-height:790px;padding:155px 0 90px;color:white;background:
      radial-gradient(circle at 78% 25%,rgba(34,183,216,.21),transparent 30%),
      radial-gradient(circle at 15% 90%,rgba(16,185,129,.16),transparent 34%),
      linear-gradient(135deg,#061528,#0a2442 54%,#073d3c);position:relative;overflow:hidden}
    .hero:after{content:"";position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to right,black,transparent 80%)}
    .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .94fr;gap:66px;align-items:center}
    .badge{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.08);padding:10px 15px;border-radius:999px;font-size:13px;font-weight:850}
    .dot{width:9px;height:9px;border-radius:50%;background:#24e3a5;box-shadow:0 0 0 7px rgba(36,227,165,.12)}
    .hero h1{font-size:clamp(43px,5.6vw,76px);line-height:1.08;letter-spacing:-.055em;margin:26px 0 24px}
    .hero-copy{max-width:680px;font-size:19px;line-height:1.75;color:#cbd9e9}
    .hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:35px}
    .hero-kpis{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid rgba(255,255,255,.15)}
    .hero-kpis div{padding:22px 12px 0 0}
    .hero-kpis div+div{border-left:1px solid rgba(255,255,255,.12);padding-left:22px}
    .hero-kpis small{display:block;color:#8fa5be;font-weight:800;font-size:11px}
    .hero-kpis strong{display:block;margin-top:7px;font-size:20px}
    .visual-card{position:relative;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 28px 80px rgba(0,0,0,.36);background:#fff}
    .visual-card img{width:100%;height:510px;object-fit:cover}
    .visual-overlay{position:absolute;inset:auto 18px 18px;background:rgba(5,20,38,.84);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px);border-radius:17px;padding:18px}
    .visual-overlay strong{display:block;font-size:20px}
    .visual-overlay span{font-size:13px;color:#b9c9da}

    /* Partnership */
    .partnership{background:#fff}
    .partnership-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
    .lockup-large{padding:32px;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);background:linear-gradient(145deg,#fff,#f5f8fb)}
    .lockup-large .km-logo{width:100%;height:auto}
    .xline{display:flex;align-items:center;gap:18px;margin-top:24px}
    .xline .x{font-size:30px;font-weight:300;color:#9aabba}
    .xline .sm-big{font-size:34px;font-weight:950;color:var(--navy)}
    .xline .sm-big b{color:var(--green2)}
    .roles{display:grid;gap:15px;margin-top:26px}
    .role{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start}
    .icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:white;background:linear-gradient(135deg,var(--blue),var(--cyan));font-size:22px}
    .role:nth-child(2) .icon{background:linear-gradient(135deg,var(--green2),var(--green))}
    .role h3{margin:2px 0 5px;font-size:18px}
    .role p{margin:0;color:var(--muted);line-height:1.65}

    /* Problems */
    .problem{background:var(--soft)}
    .split{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:42px}
    .photo-panel{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:430px;background:#ddd}
    .photo-panel img{width:100%;height:100%;object-fit:cover}
    .problem-list{display:grid;gap:15px}
    .problem-item{padding:21px;border-radius:18px;background:white;border:1px solid var(--line);display:grid;grid-template-columns:42px 1fr;gap:14px}
    .problem-item .num{width:42px;height:42px;border-radius:13px;background:#fff0f0;color:var(--danger);display:grid;place-items:center;font-weight:950}
    .problem-item h3{font-size:17px;margin:2px 0 6px}
    .problem-item p{margin:0;line-height:1.65;color:var(--muted);font-size:14px}

    /* Differentiation */
    .dark-section{background:var(--navy);color:white}
    .dark-section .lead{color:#afc0d2}
    .compare-grid{display:grid;grid-template-columns:1fr 76px 1fr;gap:20px;align-items:stretch;margin-top:46px}
    .compare-card{border-radius:24px;padding:30px;background:#fff;color:var(--ink);border:1px solid var(--line)}
    .compare-card.after{background:linear-gradient(145deg,#0b284b,#093c3c);color:white;border-color:rgba(255,255,255,.12)}
    .tag{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.13em;background:#ffe9e9;color:#d33}
    .after .tag{background:rgba(34,227,165,.14);color:#46e7b2}
    .compare-card h3{font-size:25px;margin:15px 0 20px}
    .checks{display:grid;gap:14px}
    .check{display:grid;grid-template-columns:24px 1fr;gap:9px;line-height:1.58}
    .before .check i{color:#ef4444}
    .after .check i{color:#28d9a2}
    .arrow{display:grid;place-items:center;font-size:30px;color:#45d7b0}
    .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
    .principle{padding:24px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
    .principle b{font-size:21px;display:block;margin:14px 0 8px}
    .principle p{color:#b7c8da;line-height:1.65;font-size:14px}

    /* Technology */
    .tech-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;margin-top:42px}
    .schematic{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:white}
    .schematic img{width:100%;height:590px;object-fit:cover}
    .tech-cards{display:grid;gap:16px}
    .tech-card{padding:23px;border-radius:18px;border:1px solid var(--line);background:white;box-shadow:0 8px 25px rgba(7,26,47,.06)}
    .tech-card h3{display:flex;align-items:center;gap:12px;font-size:20px;margin-bottom:9px}
    .tech-card h3 span{width:38px;height:38px;border-radius:12px;background:#eaf4ff;color:var(--blue);display:grid;place-items:center}
    .tech-card p{margin:0;color:var(--muted);line-height:1.7}

    /* Package */
    .package{background:var(--soft)}
    .package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
    .package-card{background:white;border:1px solid var(--line);border-radius:20px;padding:26px;min-height:250px;box-shadow:0 10px 30px rgba(7,26,47,.05)}
    .package-card .picto{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#e7f2ff,#e8fff7);display:grid;place-items:center;font-size:25px}
    .package-card h3{font-size:19px;margin:22px 0 9px}
    .package-card p{color:var(--muted);line-height:1.65;font-size:14px}

    /* ESCO process */
    .process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:40px}
    .step{position:relative;padding:24px 18px;border-radius:18px;background:white;border:1px solid var(--line);min-height:205px}
    .step strong{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:white;background:var(--navy);margin-bottom:18px}
    .step h3{font-size:17px}
    .step p{font-size:13px;color:var(--muted);line-height:1.65}
    .esco-note{margin-top:28px;padding:26px;border-radius:20px;background:linear-gradient(135deg,#e9f7ff,#eafff6);border:1px solid #c8e7e1;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
    .esco-note b{display:block;color:var(--navy);font-size:15px}
    .esco-note span{font-size:13px;color:var(--muted)}

    /* Case */
    .case{background:#081a30;color:white}
    .case-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
    .case-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:28px}
    .stat{padding:20px;border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(255,255,255,.06)}
    .stat small{color:#94abc2}
    .stat strong{display:block;font-size:25px;margin-top:7px;color:#43e0b0}
    .roi-img{border-radius:22px;overflow:hidden;background:white;box-shadow:0 25px 70px rgba(0,0,0,.35)}

    /* Calculator */
    .calc-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;margin-top:40px}
    .calc-form,.calc-result{border-radius:24px;padding:30px;border:1px solid var(--line);background:white;box-shadow:var(--shadow)}
    .field{margin-bottom:18px}
    .field label{display:flex;justify-content:space-between;font-weight:850;font-size:14px;margin-bottom:8px}
    .field input{width:100%;height:48px;border:1px solid #cad6e3;border-radius:12px;padding:0 14px;outline:none}
    .field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,255,.12)}
    .result-main{padding:25px;border-radius:18px;background:linear-gradient(135deg,var(--navy),#0d3c5d);color:white}
    .result-main small{color:#9cb5ca}
    .result-main strong{display:block;font-size:39px;color:#41e2b1;margin-top:8px}
    .result-row{display:flex;justify-content:space-between;padding:16px 2px;border-bottom:1px solid var(--line)}

    /* Contact */
    .contact{background:linear-gradient(135deg,#06182d,#0b2e4b);color:white}
    .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}
    .contact-card{padding:30px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
    .contact-item{display:grid;grid-template-columns:42px 1fr;gap:13px;margin:18px 0}
    .contact-item .ci{width:42px;height:42px;border-radius:12px;background:rgba(34,183,216,.13);display:grid;place-items:center;color:#53dff7}
    .contact-item small{display:block;color:#92abc1}
    .contact-item b{font-size:16px;line-height:1.6}
    .contact form{display:grid;gap:13px}
    .contact input,.contact textarea{width:100%;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:rgba(255,255,255,.08);color:white;padding:14px}
    .contact textarea{min-height:120px;resize:vertical}
    .contact input::placeholder,.contact textarea::placeholder{color:#9bb0c4}
    footer{background:#04101f;color:#8499ae;padding:28px 0;font-size:13px}
    .footer-row{display:flex;justify-content:space-between;gap:20px;align-items:center}

    /* reveal */
    .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
    .reveal.show{opacity:1;transform:none}

    @media(max-width:1050px){
      nav{display:none} .menu-btn{display:block}
      .hero-grid,.partnership-grid,.tech-grid,.case-grid,.calc-grid,.contact-grid{grid-template-columns:1fr}
      .hero{min-height:auto} .visual-card img{height:420px}
      .package-grid{grid-template-columns:repeat(2,1fr)} .process-grid{grid-template-columns:repeat(3,1fr)}
      .compare-grid{grid-template-columns:1fr} .arrow{transform:rotate(90deg);height:48px}
      .schematic img{height:510px} .km-logo{width:190px}
    }
    @media(max-width:720px){
      .container{width:min(100% - 28px,1180px)} .section{padding:78px 0}
      .nav{height:72px} .km-logo{width:150px;height:44px}
      .partner-mark{padding-left:10px;gap:7px} .sm-word{font-size:15px} .partner-sub{font-size:7px}
      .hero{padding-top:118px} .hero h1{font-size:40px} .hero-copy{font-size:16px}
      .hero-kpis{grid-template-columns:1fr;gap:0} .hero-kpis div+div{border-left:0;padding-left:0}
      .visual-card img{height:340px}
      .split,.principles,.package-grid,.process-grid,.esco-note{grid-template-columns:1fr}
      .photo-panel{min-height:300px} .schematic img{height:430px}
      .case-stats{grid-template-columns:1fr 1fr} .footer-row{display:grid}
      h2{font-size:34px}
    }
    @media(max-width:430px){
      .brand-lockup{gap:8px} .km-logo{width:132px} .partner-mark{border-left:0;padding-left:0}
      .partner-sub{display:none} .sm-word{font-size:13px}
      .hero h1{font-size:35px} .badge{font-size:11px} .hero-actions .btn{width:100%}
      .case-stats{grid-template-columns:1fr}
    }
    @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
  
    /* ===== 이미지·텍스트 잘림 방지 보정 ===== */
    .visual-card,
    .photo-panel,
    .schematic,
    .roi-img,
    .lockup-large,
    .compare-card,
    .principle,
    .package-card,
    .step,
    .calc-form,
    .calc-result,
    .contact-card {
      overflow: visible;
    }

    /* 사진은 박스 안에서 전체가 보이도록 */
    .visual-card,
    .photo-panel,
    .schematic,
    .roi-img {
      background: #fff;
      overflow: hidden;
    }

    .visual-card img,
    .photo-panel img,
    .schematic img,
    .roi-img img {
      width: 100%;
      height: auto !important;
      max-height: none !important;
      object-fit: contain !important;
      object-position: center center !important;
      background: #fff;
    }

    /* 메인 현장 사진은 너무 커지지 않으면서 전체 노출 */
    .visual-card {
      display: flex;
      flex-direction: column;
    }

    .visual-card img {
      aspect-ratio: 4 / 3;
      padding: 14px;
    }

    .visual-overlay {
      position: static !important;
      inset: auto !important;
      margin: 0 14px 14px;
      background: linear-gradient(135deg, #071a2f, #0d3b53);
      border-radius: 16px;
    }

    /* 문제점 사진 */
    .photo-panel {
      min-height: 0 !important;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 14px;
    }

    .photo-panel img {
      aspect-ratio: auto;
      padding: 0;
    }

    /* 구조도는 세로 비율 유지 */
    .schematic {
      padding: 14px;
    }

    .schematic img {
      max-height: 760px !important;
    }

    /* ROI 제안서 이미지 전체 표시 */
    .roi-img {
      padding: 14px;
    }

    .roi-img img {
      max-height: 760px !important;
    }

    /* 카드 안 글자 잘림 방지 */
    .compare-card,
    .principle,
    .package-card,
    .step,
    .calc-form,
    .calc-result,
    .contact-card,
    .problem-item,
    .tech-card {
      height: auto !important;
      min-height: 0 !important;
    }

    .compare-card h3,
    .principle b,
    .package-card h3,
    .step h3,
    .tech-card h3,
    .problem-item h3,
    .contact-item b,
    .lead,
    .hero-copy,
    .check span,
    .role p,
    .package-card p,
    .step p,
    .principle p,
    .tech-card p,
    .problem-item p {
      overflow: visible !important;
      white-space: normal !important;
      text-overflow: clip !important;
      word-break: keep-all;
      overflow-wrap: anywhere;
    }

    .package-card {
      min-height: 0 !important;
    }

    .process-grid,
    .package-grid,
    .principles,
    .compare-grid,
    .split,
    .tech-grid,
    .case-grid,
    .calc-grid,
    .contact-grid {
      align-items: stretch;
    }

    .result-row {
      gap: 18px;
      flex-wrap: wrap;
    }

    .result-row b {
      text-align: right;
      overflow-wrap: anywhere;
    }

    .contact-item {
      align-items: start;
    }

    .contact-item b {
      display: block;
    }

    @media (max-width: 1050px) {
      .visual-card img {
        aspect-ratio: auto;
      }

      .schematic img,
      .roi-img img {
        max-height: none !important;
      }
    }

    @media (max-width: 720px) {
      .visual-card,
      .photo-panel,
      .schematic,
      .roi-img {
        border-radius: 18px;
      }

      .visual-card img,
      .photo-panel img,
      .schematic img,
      .roi-img img {
        height: auto !important;
        max-height: none !important;
        padding: 8px;
      }

      .visual-overlay {
        margin: 0 8px 8px;
        padding: 15px;
      }

      .visual-overlay strong {
        font-size: 17px;
        line-height: 1.45;
      }

      .visual-overlay span {
        display: block;
        margin-top: 5px;
        line-height: 1.6;
      }

      .compare-card,
      .principle,
      .package-card,
      .step,
      .calc-form,
      .calc-result,
      .contact-card,
      .problem-item,
      .tech-card {
        padding-left: 20px;
        padding-right: 20px;
      }

      .result-main strong {
        font-size: clamp(28px, 8vw, 39px);
        overflow-wrap: anywhere;
      }
    }


    /* 지정 이미지 비율 보정 */
    .photo-panel img {
      width: 100%;
      height: auto !important;
      object-fit: contain !important;
    }

    .visual-card img {
      width: 100%;
      height: auto !important;
      aspect-ratio: auto !important;
      object-fit: contain !important;
      padding: 12px;
    }


    /* ===== 이미지 여백 최소화 및 확대 표시 ===== */
    .photo-panel,
    .roi-img {
      padding: 8px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: #fff !important;
    }

    .photo-panel img,
    .roi-img img {
      width: 100% !important;
      height: auto !important;
      max-width: 100% !important;
      max-height: none !important;
      object-fit: contain !important;
      object-position: center !important;
      padding: 0 !important;
      margin: 0 !important;
    }

    .photo-panel {
      min-height: 0 !important;
    }

    .roi-img {
      align-self: center;
    }

    @media (min-width: 1051px) {
      .photo-panel img {
        transform: scale(1.035);
        transform-origin: center;
      }

      .roi-img img {
        transform: scale(1.04);
        transform-origin: center;
      }
    }

    @media (max-width: 720px) {
      .photo-panel,
      .roi-img {
        padding: 5px !important;
      }

      .photo-panel img,
      .roi-img img {
        transform: none !important;
      }
    }


    /* ===== 최종 이미지 확대 및 불필요한 여백 제거 ===== */

    /* 문제점 이미지: 오른쪽 카드 높이에 맞춰 늘어나던 현상 해제 */
    #problem .split {
      align-items: start !important;
    }

    #problem .photo-panel {
      align-self: start !important;
      width: 100% !important;
      min-height: 0 !important;
      height: auto !important;
      padding: 4px !important;
    }

    #problem .photo-panel img {
      display: block !important;
      width: 100% !important;
      height: auto !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
    }

    /* ROI 사례: 이미지 영역 비중 확대 */
    #case .case-grid {
      grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr) !important;
      align-items: start !important;
      gap: 26px !important;
    }

    #case .roi-img {
      align-self: start !important;
      width: 100% !important;
      padding: 4px !important;
      margin: 0 !important;
    }

    #case .roi-img img {
      display: block !important;
      width: 100% !important;
      height: auto !important;
      max-height: none !important;
      object-fit: contain !important;
      transform: none !important;
    }

    @media (max-width: 1050px) {
      #case .case-grid {
        grid-template-columns: 1fr !important;
      }

      #case .roi-img {
        width: min(100%, 820px) !important;
        margin: 0 auto !important;
      }
    }

    @media (max-width: 720px) {
      #problem .photo-panel,
      #case .roi-img {
        padding: 2px !important;
      }
    }


    /* ===== 문제점 이미지와 설명 카드 겹침 방지 ===== */
    #problem .split {
      grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
      gap: 44px !important;
      align-items: start !important;
    }

    #problem .photo-panel {
      width: 100% !important;
      max-width: 100% !important;
      align-self: start !important;
      overflow: hidden !important;
      padding: 0 !important;
      border-radius: 22px !important;
    }

    #problem .photo-panel img {
      width: 100% !important;
      height: auto !important;
      display: block !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    #problem .problem-list {
      min-width: 0 !important;
      position: relative !important;
      z-index: 2 !important;
    }

    /* ===== ROI 사례 이미지 확대 및 하단 카드 정렬 ===== */
    #case .case-grid {
      grid-template-columns: minmax(0, 0.66fr) minmax(0, 1.34fr) !important;
      gap: 30px !important;
      align-items: start !important;
    }

    #case .roi-img {
      width: 100% !important;
      max-width: none !important;
      padding: 0 !important;
      overflow: hidden !important;
      border-radius: 22px !important;
      align-self: start !important;
    }

    #case .roi-img img {
      width: 100% !important;
      height: auto !important;
      display: block !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    #case .case-stats {
      align-items: stretch !important;
    }

    #case .stat {
      min-height: 108px !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
    }

    #case .stat small {
      font-size: 13px !important;
    }

    #case .stat strong {
      font-size: clamp(22px, 2.2vw, 30px) !important;
      line-height: 1.15 !important;
    }

    @media (max-width: 1050px) {
      #problem .split,
      #case .case-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
      }

      #problem .photo-panel,
      #case .roi-img {
        width: min(100%, 900px) !important;
        margin: 0 auto !important;
      }
    }

    @media (max-width: 720px) {
      #problem .split,
      #case .case-grid {
        gap: 22px !important;
      }

      #case .stat {
        min-height: 92px !important;
      }
    }


    /* ===== ROI 우측 이미지 확대 및 세로 위치 조정 ===== */
    #case .case-grid {
      grid-template-columns: minmax(0, 0.58fr) minmax(0, 1.42fr) !important;
      gap: 28px !important;
      align-items: start !important;
    }

    #case .roi-img {
      width: 100% !important;
      max-width: none !important;
      margin-top: 34px !important;
      padding: 0 !important;
      border-radius: 22px !important;
      overflow: hidden !important;
      align-self: start !important;
    }

    #case .roi-img img {
      width: 100% !important;
      height: auto !important;
      display: block !important;
      object-fit: contain !important;
      object-position: center !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    #case .case-stats {
      margin-top: 26px !important;
    }

    #case .stat {
      min-height: 112px !important;
    }

    @media (max-width: 1050px) {
      #case .case-grid {
        grid-template-columns: 1fr !important;
      }

      #case .roi-img {
        margin-top: 8px !important;
        width: min(100%, 920px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
      }
    }

    @media (max-width: 720px) {
      #case .roi-img {
        margin-top: 0 !important;
      }
    }


    /* ===== 좌우 영역 간격 확대 및 이미지 확대 최종 보정 ===== */

    /* 문제점 섹션 */
    #problem .container {
      width: min(1260px, calc(100% - 56px)) !important;
    }

    #problem .split {
      grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr) !important;
      gap: 64px !important;
      align-items: start !important;
    }

    #problem .photo-panel {
      width: calc(100% + 26px) !important;
      margin-left: -26px !important;
      padding: 0 !important;
      align-self: start !important;
      overflow: hidden !important;
    }

    #problem .photo-panel img {
      width: 100% !important;
      height: auto !important;
      display: block !important;
      object-fit: contain !important;
      transform: none !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    #problem .problem-list {
      min-width: 0 !important;
      margin-left: 6px !important;
    }

    /* ROI 섹션 */
    #case .container {
      width: min(1260px, calc(100% - 56px)) !important;
    }

    #case .case-grid {
      grid-template-columns: minmax(0, 0.64fr) minmax(0, 1.36fr) !important;
      gap: 66px !important;
      align-items: start !important;
    }

    #case .case-grid > div:first-child {
      margin-left: -22px !important;
    }

    #case .roi-img {
      width: calc(100% + 34px) !important;
      margin-left: -8px !important;
      margin-top: 18px !important;
      padding: 0 !important;
      overflow: hidden !important;
      align-self: start !important;
    }

    #case .roi-img img {
      width: 100% !important;
      height: auto !important;
      display: block !important;
      object-fit: contain !important;
      transform: scale(1.06) !important;
      transform-origin: center center !important;
      margin: 0 !important;
      padding: 0 !important;
    }

    #case .case-stats {
      margin-top: 24px !important;
      gap: 12px !important;
    }

    @media (max-width: 1180px) {
      #problem .container,
      #case .container {
        width: min(100% - 36px, 1180px) !important;
      }

      #problem .split,
      #case .case-grid {
        gap: 40px !important;
      }

      #problem .photo-panel,
      #case .roi-img {
        width: 100% !important;
        margin-left: 0 !important;
      }

      #case .case-grid > div:first-child {
        margin-left: 0 !important;
      }
    }

    @media (max-width: 1050px) {
      #problem .split,
      #case .case-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
      }

      #problem .photo-panel,
      #case .roi-img {
        width: min(100%, 920px) !important;
        margin: 0 auto !important;
      }

      #case .roi-img img {
        transform: none !important;
      }
    }

    @media (max-width: 720px) {
      #problem .container,
      #case .container {
        width: min(100% - 24px, 1180px) !important;
      }

      #problem .split,
      #case .case-grid {
        gap: 22px !important;
      }
    }


/* ROI 최종 위치 보정 */
#case .roi-img{
  margin-top:72px !important;
}
#case .case-stats{
  margin-top:48px !important;
  row-gap:24px !important;
}
#case .stat{
  padding-top:20px !important;
  padding-bottom:20px !important;
}
#case .stat:last-child{
  margin-bottom:22px !important;
}


/* ===== ROI 이미지 잘림 제거 및 좌우 중심 정렬 ===== */
#case .case-grid{
  grid-template-columns:minmax(0,.64fr) minmax(0,1.36fr) !important;
  gap:58px !important;
  align-items:center !important;
}

#case .roi-img{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:14px !important;
  align-self:center !important;
  overflow:hidden !important;
  border-radius:22px !important;
  background:#fff !important;
}

#case .roi-img img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
  margin:0 !important;
  padding:0 !important;
}

#case .case-grid > div:first-child{
  margin-left:0 !important;
}

#case .case-stats{
  margin-top:34px !important;
  row-gap:18px !important;
}

#case .stat{
  min-height:112px !important;
  padding:22px 20px !important;
}

@media(max-width:1050px){
  #case .case-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
    align-items:start !important;
  }

  #case .roi-img{
    width:min(100%,920px) !important;
    margin:0 auto !important;
    padding:10px !important;
  }
}

@media(max-width:720px){
  #case .roi-img{
    padding:6px !important;
  }
}


    /* ===== Total Smart Energy Control ===== */
    .smart-control-section{
      background:
        radial-gradient(circle at 88% 18%,rgba(34,183,216,.12),transparent 27%),
        linear-gradient(180deg,#ffffff,#f3f8fc);
    }
    .smart-flow{
      display:grid;
      grid-template-columns:1fr 38px 1fr 38px 1fr 38px 1fr;
      gap:10px;
      align-items:stretch;
      margin-top:44px;
    }
    .smart-flow-step{
      border:1px solid var(--line);
      border-radius:20px;
      padding:24px 21px;
      background:white;
      box-shadow:0 12px 32px rgba(7,26,47,.07);
      display:grid;
      grid-template-columns:44px 1fr;
      gap:14px;
    }
    .smart-no{
      width:44px;height:44px;border-radius:14px;
      display:grid;place-items:center;
      background:linear-gradient(135deg,var(--blue),var(--cyan));
      color:white;font-weight:950;
    }
    .smart-flow-step small{font-weight:900;color:var(--green2);font-size:11px;letter-spacing:.08em}
    .smart-flow-step h3{font-size:19px;margin:6px 0 9px}
    .smart-flow-step p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
    .smart-arrow{display:grid;place-items:center;font-size:25px;color:var(--green);font-weight:900}
    .fan-law-panel{
      margin-top:28px;
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:32px;
      align-items:center;
      background:linear-gradient(135deg,#071a2f,#0d3b53);
      border-radius:24px;
      padding:34px;
      color:white;
      box-shadow:var(--shadow);
    }
    .fan-law-badge{
      display:inline-flex;padding:7px 11px;border-radius:999px;
      background:rgba(16,185,129,.15);color:#42e2b0;
      font-size:10px;font-weight:950;letter-spacing:.14em;
    }
    .fan-law-copy h3{font-size:29px;margin:15px 0 12px}
    .fan-law-copy p{color:#b8c9da;line-height:1.8;margin:0}
    .fan-law-formulas{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .fan-law-formulas div{
      padding:22px 14px;border-radius:17px;
      border:1px solid rgba(255,255,255,.13);
      background:rgba(255,255,255,.06);text-align:center;
    }
    .fan-law-formulas small,.fan-law-formulas span{display:block;color:#9eb2c6}
    .fan-law-formulas strong{display:block;font-size:27px;color:#54dfff;margin:8px 0}
    .fan-law-formulas .accent strong{color:#43e1af}
    .zero-invest-banner{
      margin-top:28px;
      display:grid;
      grid-template-columns:110px 1fr auto;
      align-items:center;
      gap:24px;
      padding:28px 30px;
      border-radius:22px;
      background:linear-gradient(135deg,#e9fff7,#edf7ff);
      border:1px solid #bde5d8;
    }
    .zero-invest-mark{
      width:100px;height:100px;border-radius:50%;
      display:grid;place-items:center;
      background:linear-gradient(135deg,var(--green2),var(--green));
      color:white;font-size:31px;font-weight:950;
      box-shadow:0 15px 35px rgba(16,185,129,.24);
    }
    .zero-invest-banner small{font-size:12px;color:var(--green2);font-weight:900}
    .zero-invest-banner h3{font-size:24px;margin:6px 0 7px}
    .zero-invest-banner p{margin:0;color:var(--muted);line-height:1.65;font-size:14px}
    .package-kicker{
      display:block;margin-top:17px;color:var(--green2);
      font-size:10px;font-weight:950;letter-spacing:.12em;
    }
    .package-card .package-kicker + h3{margin-top:7px}
    .package-point{
      display:block;margin-top:18px;padding-top:15px;border-top:1px solid var(--line);
      color:var(--navy);font-size:13px;
    }
    @media(max-width:1050px){
      .smart-flow{grid-template-columns:1fr 1fr;gap:16px}
      .smart-arrow{display:none}
      .fan-law-panel{grid-template-columns:1fr}
      .zero-invest-banner{grid-template-columns:90px 1fr}
      .zero-invest-banner .btn{grid-column:1/-1;width:100%}
      .zero-invest-mark{width:84px;height:84px;font-size:27px}
    }
    @media(max-width:720px){
      .smart-flow{grid-template-columns:1fr}
      .fan-law-panel{padding:24px 20px}
      .fan-law-formulas{grid-template-columns:1fr}
      .zero-invest-banner{grid-template-columns:1fr;text-align:center;padding:24px 20px}
      .zero-invest-mark{margin:auto}
    }


    /* ===== Total Smart Package 전문 라인 아이콘 ===== */
    .package-card .line-icon{
      width:58px !important;
      height:58px !important;
      border-radius:17px !important;
      display:grid !important;
      place-items:center !important;
      color:#0b8b65 !important;
      background:linear-gradient(145deg,#eaf7ff,#eafff7) !important;
      border:1px solid #d8e9e6 !important;
      box-shadow:0 8px 22px rgba(7,26,47,.08);
    }
    .package-card .line-icon svg{
      width:36px;
      height:36px;
      overflow:visible;
    }
    .package-card:nth-child(1) .line-icon{color:#1769ff !important}
    .package-card:nth-child(2) .line-icon{color:#0ea5c6 !important}
    .package-card:nth-child(3) .line-icon{color:#0b8b65 !important}
    .package-card:nth-child(4) .line-icon{color:#e07a22 !important}


    /* ===== RPM 10% 감소 효과 인포그래픽 ===== */
    .rpm-impact{
      grid-column:1 / -1;
      margin-top:6px;
      padding:26px;
      border-radius:20px;
      background:linear-gradient(135deg,rgba(16,185,129,.13),rgba(34,183,216,.10));
      border:1px solid rgba(83,225,178,.28);
    }
    .rpm-impact-head small{
      display:block;
      color:#58e3b7;
      font-size:11px;
      font-weight:950;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .rpm-impact-head h4{
      margin:7px 0 20px;
      font-size:24px;
      line-height:1.35;
      color:#fff;
    }
    .rpm-impact-flow{
      display:grid;
      grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1.2fr;
      align-items:center;
      gap:8px;
    }
    .rpm-impact-step{
      padding:17px 12px;
      text-align:center;
      border-radius:15px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.12);
    }
    .rpm-impact-step span{
      display:block;
      color:#a9bfd3;
      font-size:12px;
      font-weight:800;
    }
    .rpm-impact-step strong{
      display:block;
      margin-top:6px;
      color:#59dcff;
      font-size:22px;
      line-height:1.2;
    }
    .rpm-impact-step.highlight{
      background:linear-gradient(135deg,rgba(16,185,129,.23),rgba(34,183,216,.16));
      border-color:rgba(83,225,178,.44);
    }
    .rpm-impact-step.highlight strong{
      color:#55e5b6;
      font-size:23px;
    }
    .rpm-impact-arrow{
      text-align:center;
      color:#55e5b6;
      font-size:22px;
      font-weight:950;
    }
    .rpm-impact-note{
      margin:18px 0 0;
      color:#9fb5c9;
      font-size:12px;
      line-height:1.7;
    }
    @media(max-width:900px){
      .rpm-impact-flow{
        grid-template-columns:1fr;
      }
      .rpm-impact-arrow{
        transform:rotate(90deg);
      }
    }
    @media(max-width:720px){
      .rpm-impact{
        padding:20px 16px;
      }
      .rpm-impact-head h4{
        font-size:20px;
      }
    }


    /* 상사법칙 27% 단순 강조형 */
    .rpm-impact-flow.rpm-impact-simple{
      grid-template-columns:minmax(0,1fr) 56px minmax(0,1.25fr) !important;
      max-width:760px;
      margin:0 auto;
    }
    .rpm-impact-flow.rpm-impact-simple .rpm-impact-step{
      min-height:108px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }
    .rpm-impact-flow.rpm-impact-simple .rpm-impact-step.highlight strong{
      font-size:34px;
    }
    @media(max-width:900px){
      .rpm-impact-flow.rpm-impact-simple{
        grid-template-columns:1fr !important;
      }
    }



/* ===== 메인 두번째 비주얼 카드 프리미엄 리디자인 ===== */
.hero .visual-card{
  max-width:660px !important;
  margin:0 auto !important;
  padding:10px !important;
  border-radius:30px !important;
  background:linear-gradient(145deg,#ffffff,#edf5f8) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:
    0 30px 80px rgba(0,0,0,.34),
    0 0 0 1px rgba(34,183,216,.08) inset !important;
}
.hero .visual-card img{
  width:100% !important;
  padding:0 !important;
  border-radius:20px !important;
  background:#fff !important;
}
.visual-overlay.visual-overlay-premium{
  position:relative !important;
  overflow:hidden !important;
  margin:12px 0 0 !important;
  padding:24px 26px 22px !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 92% 18%,rgba(34,183,216,.24),transparent 28%),
    linear-gradient(135deg,#071a2f 0%,#0b314c 58%,#0b4a45 100%) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  box-shadow:0 16px 35px rgba(7,26,47,.24) !important;
}
.visual-overlay.visual-overlay-premium:after{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  right:-75px;
  bottom:-95px;
  border-radius:50%;
  border:26px solid rgba(80,229,184,.08);
  pointer-events:none;
}
.retrofit-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:11px;
  color:#65e9c1;
  font-size:11px;
  font-weight:950;
  letter-spacing:.14em;
}
.retrofit-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#42e2af;
  box-shadow:0 0 0 6px rgba(66,226,175,.12);
}
.visual-overlay.visual-overlay-premium strong{
  position:relative;
  z-index:1;
  display:block;
  color:#fff;
  font-size:clamp(28px,2.7vw,38px) !important;
  line-height:1.2 !important;
  letter-spacing:-.04em;
  font-weight:950 !important;
}
.visual-overlay.visual-overlay-premium strong em{
  color:#55e5b6;
  font-style:normal;
}
.visual-overlay.visual-overlay-premium .retrofit-desc{
  position:relative;
  z-index:1;
  display:block;
  max-width:560px;
  margin-top:10px;
  color:#c2d3e2;
  font-size:15px !important;
  line-height:1.72 !important;
}
.retrofit-benefits{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:18px;
}
.retrofit-benefits span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border-radius:999px;
  color:#eaf8f4;
  font-size:12px;
  font-weight:850;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.12);
}
.retrofit-benefits i{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  color:#06261f;
  background:#55e5b6;
  font-style:normal;
  font-size:11px;
  font-weight:950;
}
@media(max-width:720px){
  .hero .visual-card{
    max-width:100% !important;
    padding:7px !important;
    border-radius:23px !important;
  }
  .visual-overlay.visual-overlay-premium{
    padding:20px 18px 18px !important;
    border-radius:17px !important;
  }
  .visual-overlay.visual-overlay-premium strong{
    font-size:27px !important;
  }
  .visual-overlay.visual-overlay-premium .retrofit-desc{
    font-size:14px !important;
  }
  .retrofit-benefits{
    display:grid;
    grid-template-columns:1fr;
  }
  .retrofit-benefits span{
    justify-content:flex-start;
  }
}



/* ===== 메인 우측 상단 컴팩트 인허가 패널 ===== */
.hero-right{min-width:0;display:flex;flex-direction:column;gap:14px;align-self:center}
.hero-credentials{
  width:100%;
  max-width:700px;
  margin:0 auto;
  padding:15px 18px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 12px 28px rgba(0,0,0,.14);
  backdrop-filter:blur(10px);
  overflow:hidden;
}
.hero-credentials-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:9px;min-width:0;
}
.hero-credentials-head strong{
  min-width:0;color:#fff;font-size:12px;line-height:1.35;
  letter-spacing:-.01em;white-space:normal;
}
.hero-credentials-head span{
  flex:0 0 auto;color:#76ebc8;font-size:8px;font-weight:900;letter-spacing:.11em;
}
.credential-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.55fr);gap:10px;min-width:0}
.credential-item{
  min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;
  min-height:54px;padding:10px 10px;border-radius:11px;
  background:rgba(5,21,40,.44);border:1px solid rgba(255,255,255,.09);
  overflow:hidden;
}
.credential-icon{
  width:26px;height:26px;border-radius:8px;display:grid;place-items:center;
  color:#071a2f;background:linear-gradient(135deg,#5de6bd,#55c8ef);
  font-size:13px;font-weight:950;line-height:1;
}
.credential-item div{min-width:0}
.credential-item b{
  display:block;color:#fff;font-size:8.7px;line-height:1.25;
  letter-spacing:-.055em;white-space:normal;overflow:visible;word-break:keep-all;
}
.credential-item small{
  display:block;margin-top:2px;color:#9fb4c9;font-size:7.8px;line-height:1.3;
  white-space:normal;overflow-wrap:anywhere;word-break:keep-all;
}
@media(max-width:1050px){
  .hero-right{width:min(100%,760px);margin:0 auto}
  .hero-credentials{max-width:760px}
  .credential-grid{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) minmax(0,1fr) minmax(0,1.35fr)}
}
@media(max-width:720px){
  .hero-right{gap:10px}
  .hero-credentials{padding:11px;border-radius:14px}
  .hero-credentials-head{margin-bottom:8px}
  .hero-credentials-head strong{font-size:11px}
  .hero-credentials-head span{display:none}
  .credential-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .credential-item{min-height:46px;padding:7px}
  .credential-item b{font-size:8.7px;white-space:normal;overflow-wrap:anywhere}
  .credential-item small{font-size:7.5px}
}
@media(max-width:430px){
  .credential-grid{grid-template-columns:1fr 1fr}
  .credential-item{grid-template-columns:22px minmax(0,1fr);gap:6px}
  .credential-icon{width:22px;height:22px;font-size:12px}
  .credential-item b{font-size:8.7px;white-space:normal;overflow-wrap:anywhere}
  .credential-item small{font-size:7px}
}


/* 문의 전송 버튼 상태 */
#contactSubmitBtn:disabled{
  opacity:.62;
  cursor:wait;
  transform:none!important;
}



/* ===== 송풍기·쿨링타워·공조기 개조사례 갤러리 ===== */
.retrofit-showcase{
  background:linear-gradient(180deg,#f5f8fb 0%,#ffffff 100%);
}
.retrofit-showcase-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:38px;
}
.retrofit-showcase-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 13px 34px rgba(7,26,47,.08);
}
.retrofit-showcase-head{
  padding:20px 20px 15px;
}
.retrofit-showcase-head span{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  color:var(--green2);
  background:#e9faf4;
  font-size:10px;
  font-weight:950;
  letter-spacing:.1em;
}
.retrofit-showcase-head h3{
  margin:10px 0 0;
  color:var(--navy);
  font-size:20px;
  letter-spacing:-.03em;
}
.retrofit-photo-pair{
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
  gap:7px;
  align-items:center;
  padding:0 14px 16px;
}
.retrofit-photo-pair figure{
  margin:0;
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe8f0;
  border-radius:14px;
  background:#f6f9fb;
}
.retrofit-photo-pair img{
  width:100%;
  height:165px;
  object-fit:cover;
  object-position:center;
  background:#eef3f6;
}
.retrofit-photo-pair figcaption{
  padding:10px 9px 11px;
}
.retrofit-photo-pair figcaption b{
  display:block;
  color:var(--green2);
  font-size:9px;
  letter-spacing:.12em;
}
.retrofit-photo-pair figcaption span{
  display:block;
  margin-top:3px;
  color:#66788b;
  font-size:11px;
  line-height:1.4;
}
.retrofit-pair-arrow{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,var(--green),var(--cyan));
  font-weight:950;
  font-size:14px;
  box-shadow:0 7px 16px rgba(16,185,129,.22);
}
.smtech-home-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:13px;
  padding:10px 14px;
  border-radius:11px;
  color:#fff;
  background:linear-gradient(135deg,var(--green2),var(--green));
  font-size:13px;
  font-weight:900;
  box-shadow:0 9px 22px rgba(16,185,129,.18);
  transition:.22s ease;
}
.smtech-home-link:hover{
  transform:translateY(-2px);
  box-shadow:0 13px 28px rgba(16,185,129,.25);
}
.saving-rate-row{
  margin:4px 0;
  padding-left:14px !important;
  padding-right:14px !important;
  border-radius:11px;
  background:linear-gradient(135deg,#eafff7,#eef8ff);
}
.saving-rate-row b{
  color:var(--green2);
  font-size:19px;
}
@media(max-width:1050px){
  .retrofit-showcase-grid{grid-template-columns:1fr;}
  .retrofit-showcase-card{max-width:780px;width:100%;margin:0 auto;}
  .retrofit-photo-pair img{height:260px;}
}
@media(max-width:720px){
  .retrofit-showcase-grid{gap:16px;margin-top:28px;}
  .retrofit-photo-pair{
    grid-template-columns:1fr;
    padding:0 12px 14px;
  }
  .retrofit-pair-arrow{
    margin:auto;
    transform:rotate(90deg);
  }
  .retrofit-photo-pair img{height:auto;max-height:300px;object-fit:contain;}
}



/* ===== 메인 Retrofit 3개 분야 강조 패널 ===== */
.hero-retrofit-panel{
  padding:24px 25px 22px !important;
}
.hero-retrofit-lines{
  position:relative;
  z-index:2;
  display:grid;
  gap:8px;
  margin:3px 0 18px;
}
.hero-retrofit-line{
  display:grid;
  grid-template-columns:34px minmax(95px,.7fr) minmax(0,1.3fr);
  align-items:center;
  gap:11px;
  min-height:48px;
  padding:9px 13px 9px 10px;
  border-radius:13px;
  background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:.22s ease;
}
.hero-retrofit-line:hover{
  transform:translateX(4px);
  border-color:rgba(85,229,182,.38);
  background:linear-gradient(90deg,rgba(85,229,182,.15),rgba(255,255,255,.05));
}
.hero-retrofit-no{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:9px;
  color:#062a24;
  background:linear-gradient(135deg,#65e9c1,#55c8ef);
  font-size:9px;
  font-weight:950;
  letter-spacing:.06em;
}
.hero-retrofit-line strong{
  display:block !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:1.15 !important;
  letter-spacing:-.03em !important;
}
.hero-retrofit-line:nth-child(2) strong{color:#68e8c3 !important;}
.hero-retrofit-line:nth-child(3) strong{color:#63cfff !important;}
.hero-retrofit-line small{
  color:#b9ccdc;
  font-size:11px;
  line-height:1.4;
  text-align:right;
}
.hero-retrofit-title{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.12);
}
.hero-retrofit-title > span{
  color:#9fb5c9 !important;
  font-size:12px !important;
  font-weight:800;
}
.hero-retrofit-title > strong{
  display:block !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:1.12 !important;
  letter-spacing:-.045em !important;
  text-align:right;
}
.hero-retrofit-title em{
  color:#55e5b6;
  font-style:normal;
}
.hero-retrofit-panel .retrofit-desc{
  margin-top:11px !important;
  max-width:none !important;
}
.hero-retrofit-panel .retrofit-benefits{
  margin-top:15px !important;
}
@media(max-width:720px){
  .hero-retrofit-panel{
    padding:19px 16px 17px !important;
  }
  .hero-retrofit-line{
    grid-template-columns:30px 1fr;
    gap:9px;
    min-height:52px;
  }
  .hero-retrofit-line small{
    grid-column:2;
    text-align:left;
    margin-top:-5px;
    font-size:10px;
  }
  .hero-retrofit-line strong{
    font-size:19px !important;
  }
  .hero-retrofit-title{
    display:block;
  }
  .hero-retrofit-title > strong{
    margin-top:5px;
    text-align:left;
    font-size:26px !important;
  }
}



/* ===== 메인 우측 송풍기·쿨링타워·공조기 전후 사진 보드 ===== */
.hero-retrofit-photo-board{
  width:100%;
  padding:12px;
  border-radius:20px;
  background:linear-gradient(145deg,#f9fcfe,#eef5f8);
  border:1px solid #dbe6ee;
}
.hero-retrofit-photo-board-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:4px 4px 11px;
  border-bottom:1px solid #dce7ee;
}
.hero-retrofit-photo-board-head span{
  color:#0b8b65;
  font-size:9px;
  font-weight:950;
  letter-spacing:.14em;
}
.hero-retrofit-photo-board-head strong{
  color:#071a2f;
  font-size:14px;
  letter-spacing:-.03em;
}
.hero-retrofit-photo-row{
  display:grid;
  grid-template-columns:86px minmax(0,1fr) 24px minmax(0,1fr);
  align-items:center;
  gap:8px;
  padding:10px 2px;
  border-bottom:1px solid #e0e9ef;
}
.hero-retrofit-photo-row:last-child{
  border-bottom:0;
  padding-bottom:2px;
}
.hero-retrofit-row-label strong{
  display:block;
  color:#071a2f;
  font-size:13px;
  line-height:1.2;
}
.hero-retrofit-row-label span{
  display:block;
  margin-top:4px;
  color:#6f8192;
  font-size:9px;
  line-height:1.35;
}
.hero-retrofit-photo-row figure{
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:11px;
  border:1px solid #d9e5ec;
  background:#fff;
}
.hero-retrofit-photo-row img{
  display:block;
  width:100% !important;
  height:112px !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:0 !important;
  background:#eef3f6 !important;
}
.hero-retrofit-photo-row figcaption{
  padding:6px 7px;
  color:#0b8b65;
  background:#fff;
  font-size:8px;
  font-weight:950;
  letter-spacing:.1em;
}
.hero-retrofit-photo-arrow{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,#10b981,#22b7d8);
  font-size:13px;
  font-weight:950;
  box-shadow:0 6px 14px rgba(16,185,129,.22);
}
.hero .visual-card{
  max-width:690px !important;
}
@media(max-width:1050px){
  .hero-retrofit-photo-row{
    grid-template-columns:105px minmax(0,1fr) 28px minmax(0,1fr);
  }
  .hero-retrofit-photo-row img{
    height:170px !important;
  }
}
@media(max-width:720px){
  .hero-retrofit-photo-board{
    padding:8px;
  }
  .hero-retrofit-photo-board-head{
    display:block;
  }
  .hero-retrofit-photo-board-head strong{
    display:block;
    margin-top:4px;
  }
  .hero-retrofit-photo-row{
    grid-template-columns:1fr 22px 1fr;
    gap:6px;
    padding:11px 0;
  }
  .hero-retrofit-row-label{
    grid-column:1/-1;
    padding:0 2px 2px;
  }
  .hero-retrofit-photo-row img{
    height:118px !important;
  }
}



/* ===== 대기업형 프리미엄 마감 ===== */
:root{
  --corp-gold:#c8a96b;
}
body{
  background:
    radial-gradient(circle at 20% 0%,rgba(23,105,255,.025),transparent 25%),
    #fff;
}
header{
  transition:box-shadow .25s ease,background .25s ease,transform .25s ease;
}
header.header-scrolled{
  background:rgba(255,255,255,.985);
  box-shadow:0 10px 28px rgba(7,26,47,.08);
}
nav a{
  position:relative;
}
nav a:not(.btn):after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--green),var(--cyan));
  transition:right .24s ease;
}
nav a:not(.btn):hover:after{right:0;}
.trust-strip{
  position:fixed;
  z-index:45;
  top:82px;
  left:0;
  right:0;
  height:30px;
  color:#d9e6f0;
  background:linear-gradient(90deg,#061528,#0a2a48,#083c39);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.trust-strip-inner{
  height:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:9px;
  letter-spacing:.11em;
}
.trust-strip-inner>span{
  color:#68e8c3;
  font-weight:950;
}
.trust-strip-inner>div{
  display:flex;
  align-items:center;
  gap:12px;
}
.trust-strip-inner b{
  font-weight:800;
}
.trust-strip-inner i{
  width:3px;
  height:3px;
  border-radius:50%;
  background:#55e5b6;
}
.hero{
  padding-top:185px !important;
}
.hero-pretitle{
  margin-bottom:12px;
  color:#63e7bf;
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
}
.hero h1{
  text-shadow:0 12px 34px rgba(0,0,0,.18);
}
.hero .btn.primary{
  position:relative;
  overflow:hidden;
}
.hero .btn.primary:before{
  content:"";
  position:absolute;
  top:-20%;
  bottom:-20%;
  left:-35%;
  width:28%;
  transform:skewX(-24deg);
  background:rgba(255,255,255,.32);
  transition:left .55s ease;
}
.hero .btn.primary:hover:before{left:120%;}
.corporate-proof{
  position:relative;
  z-index:3;
  margin-top:-34px;
}
.corporate-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 24px 60px rgba(7,26,47,.13);
}
.corporate-proof-grid>div{
  position:relative;
  min-height:128px;
  padding:24px 26px;
  display:flex;
  flex-wrap:wrap;
  align-content:center;
  gap:5px 7px;
}
.corporate-proof-grid>div+div:before{
  content:"";
  position:absolute;
  left:0;
  top:24px;
  bottom:24px;
  width:1px;
  background:var(--line);
}
.corporate-proof strong{
  color:var(--navy);
  font-size:38px;
  line-height:1;
  letter-spacing:-.05em;
}
.corporate-proof span{
  align-self:flex-end;
  color:var(--green2);
  font-size:16px;
  font-weight:950;
}
.corporate-proof small{
  flex-basis:100%;
  margin-top:7px;
  color:#73869a;
  font-size:11px;
  line-height:1.5;
}
.section{
  position:relative;
}
.section:before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(1180px,calc(100% - 40px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(7,26,47,.09),transparent);
}
.section .eyebrow{
  padding:7px 11px;
  border-radius:999px;
  background:#eef9f6;
  border:1px solid #d8eee7;
}
.compare-card,.principle,.package-card,.step,.tech-card,.problem-item,.calc-form,.calc-result,.contact-card{
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.compare-card:hover,.principle:hover,.package-card:hover,.step:hover,.tech-card:hover,.problem-item:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 42px rgba(7,26,47,.11);
  border-color:#c6d7e4;
}
.package-card:hover .line-icon,
.tech-card:hover h3 span,
.problem-item:hover .num{
  transform:scale(1.06);
}
.package-card .line-icon,
.tech-card h3 span,
.problem-item .num{
  transition:transform .22s ease;
}
.result-main{
  position:relative;
  overflow:hidden;
}
.result-main:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-80px;
  bottom:-105px;
  border-radius:50%;
  border:28px solid rgba(85,229,182,.08);
}
.contact .btn.primary{
  width:100%;
}
.back-to-top{
  position:fixed;
  z-index:70;
  right:24px;
  bottom:24px;
  width:46px;
  height:46px;
  border:0;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(135deg,var(--navy),#0b4b48);
  box-shadow:0 14px 30px rgba(7,26,47,.24);
  font-size:20px;
  font-weight:950;
  cursor:pointer;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:.25s ease;
}
.back-to-top.show{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
footer{
  border-top:1px solid rgba(255,255,255,.06);
}
@media(max-width:1050px){
  .trust-strip{top:82px;}
  .corporate-proof-grid{grid-template-columns:repeat(2,1fr);}
  .corporate-proof-grid>div:nth-child(3):before{display:none;}
}
@media(max-width:720px){
  .trust-strip{top:72px;height:auto;}
  .trust-strip-inner{height:28px;}
  .trust-strip-inner>div{display:none;}
  .hero{padding-top:138px !important;}
  .corporate-proof{margin-top:-18px;}
  .corporate-proof-grid{grid-template-columns:1fr 1fr;border-radius:17px;}
  .corporate-proof-grid>div{min-height:105px;padding:18px 16px;}
  .corporate-proof-grid>div:nth-child(3):before{display:block;}
  .corporate-proof-grid>div:nth-child(odd):before{display:none;}
  .corporate-proof strong{font-size:30px;}
  .corporate-proof span{font-size:13px;}
  .corporate-proof small{font-size:10px;}
  .back-to-top{right:14px;bottom:14px;width:42px;height:42px;}
}



/* 쿨링타워 AFTER 사진 왼쪽 경계 완전 제거 */
.hero-retrofit-photo-row figure{
  overflow:hidden;
}
.hero-retrofit-photo-row .cooling-after-crop{
  width:118% !important;
  max-width:none !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:68% center !important;
  transform:translateX(-8%) !important;
  transform-origin:center center !important;
}


/* 핵심 수치 메뉴바 제거 후 메인과 다음 섹션 간격 정리 */
.hero{
  padding-bottom:86px !important;
}
.partnership{
  margin-top:0 !important;
}
@media(max-width:720px){
  .hero{
    padding-bottom:56px !important;
  }
}





/* ===== 등록특허 컴팩트 섹션 ===== */
.compact-patents{
  padding:72px 0;
  color:var(--ink);
  background:
    radial-gradient(circle at 90% 15%,rgba(34,183,216,.06),transparent 25%),
    linear-gradient(180deg,#fff,#f6f9fc);
}
.compact-patent-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:34px;
  margin-bottom:28px;
}
.compact-patent-head h2{
  margin:12px 0 0;
  font-size:clamp(28px,3vw,40px);
}
.compact-patent-head p{
  max-width:430px;
  margin:0 0 4px;
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
  text-align:right;
}
.compact-patent-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.compact-patent-card{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:18px;
  align-items:center;
  min-height:158px;
  padding:24px 26px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(7,26,47,.07);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.compact-patent-card:hover{
  transform:translateY(-4px);
  border-color:#bfd5e1;
  box-shadow:0 18px 42px rgba(7,26,47,.11);
}
.compact-patent-seal{
  width:60px;height:60px;
  display:grid;place-items:center;
  border-radius:17px;
  color:#0b8b65;
  background:linear-gradient(145deg,#edf8ff,#eafff7);
  border:1px solid #d5e8e4;
}
.compact-patent-seal svg{
  width:34px;height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.compact-patent-copy small{
  display:block;
  color:var(--green2);
  font-size:10px;
  font-weight:950;
  letter-spacing:.1em;
}
.compact-patent-copy strong{
  display:block;
  margin-top:4px;
  color:var(--navy);
  font-size:26px;
  line-height:1.1;
  letter-spacing:-.035em;
}
.compact-patent-copy h3{
  margin:9px 0 10px;
  color:#26364a;
  font-size:16px;
  line-height:1.45;
}
.compact-patent-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  color:#718398;
  font-size:11px;
}
.compact-patent-meta i{
  width:3px;height:3px;border-radius:50%;
  background:#9eb0c0;
}
@media(max-width:820px){
  .compact-patent-head{
    display:block;
  }
  .compact-patent-head p{
    max-width:none;
    margin-top:12px;
    text-align:left;
  }
  .compact-patent-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:520px){
  .compact-patents{padding:60px 0}
  .compact-patent-card{
    grid-template-columns:52px 1fr;
    gap:14px;
    min-height:0;
    padding:20px 18px;
  }
  .compact-patent-seal{
    width:50px;height:50px;border-radius:14px;
  }
  .compact-patent-seal svg{width:29px;height:29px}
  .compact-patent-copy strong{font-size:22px}
}



/* 특허 카드 설명 보정 */
.compact-patent-desc{
  margin:0 0 10px;
  color:#64748b;
  font-size:12px;
  line-height:1.6;
}
.compact-patent-card{
  align-items:start;
}


/* ===== 특허 4건 컴팩트 배치 ===== */
.compact-patents{padding:62px 0 !important}.compact-patent-head{margin-bottom:22px !important}.compact-patent-head h2{font-size:clamp(27px,2.7vw,37px) !important}.patent-four-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important}.patent-four-grid .compact-patent-card{grid-template-columns:52px minmax(0,1fr) !important;gap:14px !important;min-height:138px !important;padding:19px 20px !important;border-radius:17px !important;box-shadow:0 8px 24px rgba(7,26,47,.06) !important}.patent-four-grid .compact-patent-seal{width:50px !important;height:50px !important;border-radius:14px !important}.patent-four-grid .compact-patent-seal svg{width:28px !important;height:28px !important}.patent-four-grid .compact-patent-copy small{font-size:9px !important}.patent-four-grid .compact-patent-copy strong{margin-top:3px !important;font-size:21px !important}.patent-four-grid .compact-patent-copy h3{margin:6px 0 5px !important;font-size:14px !important;line-height:1.4 !important}.patent-four-grid .compact-patent-desc{margin:0 0 7px !important;font-size:11px !important;line-height:1.5 !important}.patent-four-grid .compact-patent-meta{gap:6px !important;font-size:10px !important}@media(max-width:760px){.patent-four-grid{grid-template-columns:1fr !important}}@media(max-width:480px){.compact-patents{padding:52px 0 !important}.patent-four-grid .compact-patent-card{grid-template-columns:44px minmax(0,1fr) !important;gap:12px !important;padding:17px 15px !important}.patent-four-grid .compact-patent-seal{width:42px !important;height:42px !important}.patent-four-grid .compact-patent-copy strong{font-size:19px !important}}


/* ===== 인허가 패널 최종 균형 보정 ===== */
.hero-credentials{
  max-width:680px !important;
  padding:15px 16px !important;
}

.credential-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
}

.credential-item{
  min-width:0 !important;
  min-height:64px !important;
  padding:10px 9px !important;
  display:grid !important;
  grid-template-columns:28px minmax(0,1fr) !important;
  gap:8px !important;
  align-items:center !important;
  border-radius:12px !important;
}

.credential-icon{
  width:28px !important;
  height:28px !important;
  flex:0 0 28px !important;
  border-radius:9px !important;
  font-size:13px !important;
}

.credential-item > div{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

.credential-item b{
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font-size:9px !important;
  line-height:1.25 !important;
  letter-spacing:-.045em !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

.credential-item small{
  display:block !important;
  margin-top:3px !important;
  color:#9fb4c9 !important;
  font-size:7.2px !important;
  line-height:1.25 !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

/* 긴 공식 명칭만 조금 더 작게 */
.credential-item:nth-child(3) b{
  font-size:8.35px !important;
  letter-spacing:-.06em !important;
}

@media(max-width:1050px){
  .hero-credentials{
    max-width:760px !important;
  }
  .credential-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

@media(max-width:820px){
  .credential-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .credential-item{
    min-height:60px !important;
  }
}

@media(max-width:430px){
  .credential-grid{
    grid-template-columns:1fr !important;
  }
  .credential-item{
    min-height:56px !important;
  }
  .credential-item b,
  .credential-item:nth-child(3) b{
    font-size:9.3px !important;
  }
  .credential-item small{
    font-size:7.5px !important;
  }
}


/* ===== 인허가 패널 균형 최종 개선 ===== */
.hero-credentials{
  max-width:760px !important;
  padding:16px 18px !important;
}

.credential-grid{
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:12px !important;
}

.credential-item{
  display:grid !important;
  grid-template-columns:22px 1fr !important;
  align-items:center !important;
  gap:7px !important;
  min-height:60px !important;
  padding:9px 8px !important;
  overflow:visible !important;
}

.credential-icon{
  width:22px !important;
  height:22px !important;
  font-size:11px !important;
  border-radius:7px !important;
}

.credential-item b{
  font-size:8.8px !important;
  line-height:1.18 !important;
  letter-spacing:-0.08em !important;
  white-space:normal !important;
  word-break:keep-all !important;
  overflow:visible !important;
}

.credential-item small{
  font-size:7.2px !important;
  line-height:1.2 !important;
  margin-top:2px !important;
}

.credential-item:nth-child(1) b,
.credential-item:nth-child(4) b{
  font-size:8.5px !important;
}

.credential-item:nth-child(3) b{
  font-size:8.1px !important;
}

@media (max-width:1050px){
 .hero-credentials{max-width:820px !important;}
}

@media (max-width:720px){
 .credential-grid{grid-template-columns:repeat(2,1fr)!important;}
 .credential-item{
   min-height:56px!important;
 }
 .credential-item b,
 .credential-item:nth-child(1) b,
 .credential-item:nth-child(3) b,
 .credential-item:nth-child(4) b{
   font-size:8.8px!important;
 }
}



/* ===== 상단 CI 로고 자연 배경 통합 최종 보정 ===== */
header{
  background:rgba(247,249,251,.96) !important;
}
.brand-lockup-premium{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  min-width:0 !important;
}
.brand-logo-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
}
.km-brand-wrap{
  width:214px !important;
  height:58px !important;
}
.km-logo{
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  mix-blend-mode:multiply;
}
.partner-mark{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  padding-left:18px !important;
  border-left:1px solid #cfd9e3 !important;
}
.sm-brand-wrap{
  width:142px !important;
  height:42px !important;
  justify-content:flex-start !important;
}
.smtech-logo{
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
  mix-blend-mode:multiply;
}
.partner-sub{
  display:block !important;
  margin:0 !important;
  color:#71869b !important;
  font-size:8px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
  white-space:nowrap !important;
}
@media(max-width:1050px){
  .brand-lockup-premium{gap:13px !important}
  .km-brand-wrap{width:190px !important;height:52px !important}
  .partner-mark{padding-left:13px !important;gap:9px !important}
  .sm-brand-wrap{width:120px !important;height:37px !important}
  .partner-sub{font-size:7px !important;letter-spacing:.11em !important}
}
@media(max-width:720px){
  .brand-lockup-premium{gap:9px !important}
  .km-brand-wrap{width:145px !important;height:43px !important}
  .partner-mark{padding-left:9px !important;gap:7px !important}
  .sm-brand-wrap{width:94px !important;height:31px !important}
  .partner-sub{
    max-width:82px !important;
    white-space:normal !important;
    font-size:6px !important;
    letter-spacing:.08em !important;
  }
}
@media(max-width:430px){
  .km-brand-wrap{width:126px !important;height:39px !important}
  .sm-brand-wrap{width:82px !important;height:28px !important}
  .partner-sub{display:none !important}
}



/* ===== 사업분야 컴팩트 프리미엄 섹션 ===== */
.business-section{
  padding:88px 0;
  background:
    radial-gradient(circle at 8% 20%,rgba(34,183,216,.07),transparent 25%),
    linear-gradient(180deg,#f8fbfd 0%,#ffffff 100%);
}
.business-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,430px);
  gap:42px;
  align-items:end;
}
.business-heading h2{
  margin:12px 0 0;
  font-size:clamp(31px,3.6vw,48px);
}
.business-heading p{
  margin:0 0 5px;
  color:var(--muted);
  font-size:15px;
  line-height:1.75;
  text-align:right;
}
.business-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:36px;
}
.business-card{
  position:relative;
  overflow:hidden;
  min-height:205px;
  padding:25px 22px 22px;
  border:1px solid #dce6ee;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 32px rgba(7,26,47,.065);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.business-card:after{
  content:"";
  position:absolute;
  width:105px;
  height:105px;
  right:-52px;
  bottom:-58px;
  border-radius:50%;
  border:19px solid rgba(16,185,129,.055);
}
.business-card:hover{
  transform:translateY(-5px);
  border-color:#bcd9d2;
  box-shadow:0 20px 42px rgba(7,26,47,.11);
}
.business-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:#0b8b65;
  background:linear-gradient(145deg,#ebf7ff,#eafff7);
  border:1px solid #d6e9e5;
}
.business-card:nth-child(2) .business-icon{color:#1769ff}
.business-card:nth-child(3) .business-icon{color:#0c8dac}
.business-card:nth-child(4) .business-icon{color:#d67522}
.business-icon svg{
  width:31px;
  height:31px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.business-no{
  position:absolute;
  top:23px;
  right:21px;
  color:#c7d3dd;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
}
.business-card h3{
  margin:22px 0 9px;
  color:var(--navy);
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.035em;
}
.business-card p{
  position:relative;
  z-index:1;
  margin:0;
  color:#6a7c8e;
  font-size:13px;
  line-height:1.65;
}
.business-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:18px;
  padding:18px 23px;
  border-radius:16px;
  background:linear-gradient(135deg,#071a2f,#0c3a4c);
  color:#fff;
}
.business-summary span{
  color:#58dfb5;
  font-size:10px;
  font-weight:950;
  letter-spacing:.14em;
}
.business-summary strong{
  font-size:16px;
  letter-spacing:-.02em;
}
@media(max-width:1050px){
  .business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .business-section{padding:72px 0}
  .business-heading{display:block}
  .business-heading p{
    margin-top:13px;
    text-align:left;
  }
  .business-grid{
    grid-template-columns:1fr;
    gap:12px;
    margin-top:28px;
  }
  .business-card{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:16px;
    align-items:center;
    min-height:0;
    padding:20px;
  }
  .business-card h3{margin:0 0 6px}
  .business-icon{width:48px;height:48px}
  .business-no{display:none}
  .business-summary{
    display:block;
    text-align:center;
  }
  .business-summary strong{
    display:block;
    margin-top:7px;
    font-size:15px;
  }
}



/* ===== 사업분야 PPT 요약 상세형 및 메뉴 이동 보정 ===== */
#business{
  scroll-margin-top:104px !important;
}
.business-grid-detail .business-card{
  min-height:250px;
}
.business-copy{
  min-width:0;
}
.business-points{
  position:relative;
  z-index:1;
  display:grid;
  gap:7px;
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid #e6edf2;
}
.business-points span{
  position:relative;
  padding-left:13px;
  color:#586c7f;
  font-size:11px;
  line-height:1.45;
}
.business-points span:before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:linear-gradient(135deg,#10b981,#22b7d8);
}
@media(max-width:720px){
  .business-grid-detail .business-card{
    min-height:0;
    align-items:start;
  }
  .business-points{
    margin-top:11px;
    padding-top:11px;
  }
}



/* ===== 사업분야 클릭 상세 패널 ===== */
.business-card-clickable{
  cursor:pointer;
  outline:none;
}
.business-card-clickable:hover .business-more,
.business-card-clickable.active .business-more{
  color:var(--green2);
}
.business-card-clickable:focus-visible{
  box-shadow:0 0 0 4px rgba(16,185,129,.17),0 20px 42px rgba(7,26,47,.11);
}
.business-card-clickable.active{
  border-color:#80d6bc;
  transform:translateY(-5px);
  box-shadow:0 20px 42px rgba(7,26,47,.12);
}
.business-more{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #e6edf2;
  color:#7b8b9a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.02em;
  transition:.2s ease;
}
.business-more b{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,#10b981,#22b7d8);
  font-size:14px;
}
.business-detail{
  display:none;
  margin-top:22px;
  padding:28px;
  border:1px solid #d7e4ec;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 48px rgba(7,26,47,.10);
}
.business-detail.open{
  display:block;
  animation:businessDetailIn .34s ease both;
}
@keyframes businessDetailIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:none}
}
.business-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  padding-bottom:20px;
  border-bottom:1px solid #e1e9ef;
}
.business-detail-kicker{
  display:block;
  color:var(--green2);
  font-size:10px;
  font-weight:950;
  letter-spacing:.13em;
}
.business-detail-head h3{
  margin:8px 0 7px;
  color:var(--navy);
  font-size:27px;
  letter-spacing:-.04em;
}
.business-detail-head p{
  max-width:780px;
  margin:0;
  color:#66798b;
  font-size:14px;
  line-height:1.7;
}
.business-detail-close{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border:0;
  border-radius:11px;
  color:#66798b;
  background:#eef4f7;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.business-detail-close:hover{
  color:#fff;
  background:var(--navy);
}
.business-detail-body{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);
  gap:28px;
  align-items:center;
  padding-top:24px;
}
.business-detail-visual{
  overflow:hidden;
  border:1px solid #dbe5ec;
  border-radius:17px;
  background:#f3f7f9;
}
.business-detail-visual img{
  display:block;
  width:100%;
  max-height:450px;
  object-fit:cover;
  object-position:center;
}
.business-detail-visual span{
  display:block;
  padding:11px 14px;
  color:#66798b;
  background:#fff;
  font-size:11px;
  font-weight:800;
}
.business-detail-copy h4{
  margin:0 0 16px;
  color:var(--navy);
  font-size:19px;
}
.business-detail-copy ul{
  display:grid;
  gap:13px;
  margin:0;
  padding:0;
  list-style:none;
}
.business-detail-copy li{
  position:relative;
  padding-left:22px;
  color:#526679;
  font-size:14px;
  line-height:1.6;
}
.business-detail-copy li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--green2);
  font-weight:950;
}
.business-detail-note{
  margin-top:22px;
  padding:16px 17px;
  border-radius:14px;
  color:#31536a;
  background:linear-gradient(135deg,#eafff7,#eef8ff);
  border:1px solid #d2e9e3;
  font-size:12px;
  line-height:1.65;
}
@media(max-width:900px){
  .business-detail-body{
    grid-template-columns:1fr;
  }
  .business-detail-visual img{
    max-height:none;
  }
}
@media(max-width:720px){
  .business-detail{
    padding:20px 16px;
    border-radius:18px;
  }
  .business-detail-head h3{font-size:23px}
  .business-detail-head p{font-size:13px}
  .business-detail-body{gap:20px}
  .business-detail-close{width:34px;height:34px}
}



/* ===== 사업분야 클릭 작동 및 버튼 인터랙션 최종 보정 ===== */
.business-card-clickable{
  cursor:pointer !important;
  user-select:none;
}
.business-card-clickable .business-more{
  pointer-events:none;
}
.business-card-clickable:hover .business-more b,
.business-card-clickable.active .business-more b{
  transform:rotate(45deg);
  background:linear-gradient(135deg,#0b8b65,#1769ff);
}
.business-more b{
  transition:transform .25s ease,background .25s ease;
}



/* ===== 송풍기 수리·성능점검 상세 이미지 및 배치 보정 ===== */
.business-detail-body{
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr) !important;
  align-items:start !important;
}
.business-detail-visual{
  align-self:start !important;
  background:#fff !important;
}
.business-detail-visual img{
  width:100% !important;
  height:auto !important;
  max-height:560px !important;
  object-fit:contain !important;
  object-position:center top !important;
  background:#fff !important;
}
.business-detail-copy{
  align-self:center !important;
  padding:6px 0 !important;
}
.business-detail-copy h4{
  margin-bottom:18px !important;
}
.business-detail-copy li{
  font-size:14px !important;
  line-height:1.7 !important;
}
.business-detail-note{
  margin-top:24px !important;
}
@media(max-width:900px){
  .business-detail-body{
    grid-template-columns:1fr !important;
  }
  .business-detail-copy{
    align-self:start !important;
    padding:0 !important;
  }
  .business-detail-visual img{
    max-height:none !important;
  }
}



/* ===== 기계설비성능점검업 이미지 최종 교체 보정 ===== */
.business-detail-visual img[alt*="기계설비 성능점검"]{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center top !important;
  background:#fff !important;
}