/* 세깔(Sekal) 파트너 독립 홈페이지 통합 스타일시트 (site-style.css) */
:root { --brand-primary: #1A365D; --brand-accent: #2563EB; --border-color: #E2E8F0; }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { font-family: 'Pretendard', sans-serif; margin: 0; background: #fff; color: #1E293B; line-height: 1.6; }

    /* 상단 긴급 공지 띠배너 */
    .notice-banner-bar {
      padding: 10px 20px; color: #fff; text-align: center; font-size: 0.88rem; font-weight: 800;
      display: var(--notice-display, none);
      background: var(--notice-bg, #DC2626);
    }

    /* 상단 네비게이션 */
    .top-nav { height: 75px; border-bottom: 1px solid var(--border-color); display: flex; align-items: center; justify-content: space-between; padding: 0 40px; max-width: 1440px; margin: 0 auto; background:#fff; }
    
    /* 모바일 햄버거 메뉴 버튼 (PC 숨김) */
    .btn-mobile-menu {
      display: none; width: 42px; height: 42px; border: none; background: transparent;
      cursor: pointer; align-items: center; justify-content: center; color: #1E293B;
      border-radius: 8px; padding: 0; transition: background 0.2s;
    }
    .btn-mobile-menu:active { background: #F1F5F9; }
    .btn-mobile-menu svg { width: 26px; height: 26px; fill: currentColor; }

    .logo-container img { max-height: 48px; }
    
    .nav-menu-links { display: flex; gap: 28px; align-items: center; }
    .nav-link-item { text-decoration: none; color: #475569; font-weight: 700; font-size: 0.95rem; transition: 0.2s; position: relative; padding: 6px 0; }
    .nav-link-item:hover, .nav-link-item.active { color: var(--brand-accent); }
    .nav-link-item.active::after { content: ''; position: absolute; bottom: -4px; left: 0; right: 0; height: 3px; background: var(--brand-accent); border-radius: 2px; }

    /* 헤더 전화 버튼 */
    .nav-contact-btn {
      background: #2563EB; color: #fff; padding: 10px 22px; border-radius: 30px;
      font-weight: 800; text-decoration: none; font-size: 0.95rem; white-space: nowrap;
      display: inline-flex; align-items: center; gap: 8px; border: none; cursor: pointer; transition: 0.2s;
      box-shadow: 0 4px 14px rgba(37, 99, 235, 0.3);
    }
    .nav-contact-btn:hover { background: #1D4ED8; transform: translateY(-1px); }
    .nav-contact-btn .call-icon-svg { width: 17px; height: 17px; fill: #ffffff; }

    /* PC 4단 합성 히어로 */
    .hero-sec {
      position: relative; padding: 110px 20px 95px; overflow: hidden; min-height: 540px;
      display: flex; align-items: center; justify-content: center; background-color: #0F172A;
    }
    .hero-bg-layer {
      position: absolute; top: 0; left: 0; width: 100%; height: 100%;
      background-image: var(--hero-bg-image, none);
      background-size: cover; background-position: center; z-index: 1; transform: scale(1.03);
    }
    .hero-overlay-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--hero-overlay-rgba, rgba(26,54,93,0.85)); z-index: 2; }
    
    .hero-floating-wrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 3; pointer-events: none; }
    .floating-actor {
      --actor-scale: var(--actor-init-scale, 0.75);
      position: absolute;
      left: var(--actor-init-x, 75%);
      top: var(--actor-init-y, 25%);
      transform-origin: top center !important;
      transform: translate(-50%, 0) scale(var(--actor-scale, 1));
      max-height: 480px;
      pointer-events: auto;
      cursor: grab;
      user-select: none;
      -webkit-user-drag: none;
      filter: drop-shadow(0 15px 30px rgba(0,0,0,0.4));
      animation: floatBreath 5s ease-in-out infinite;
      -webkit-mask-image: linear-gradient(to bottom, #000 90%, transparent 100%);
      mask-image: linear-gradient(to bottom, #000 90%, transparent 100%);
    }
    .floating-actor:active {
      cursor: grabbing;
    }
    @keyframes floatBreath {
      0%, 100% { transform: translate(-50%, 0px) scale(var(--actor-scale, 1)); }
      50% { transform: translate(-50%, -10px) scale(var(--actor-scale, 1)); }
    }

    .hero-container { position: relative; z-index: 10; width: 100%; max-width: 1200px; margin: 0 auto; text-align: var(--hero-align, center); }
    .hero-badge { display: inline-block; padding: 6px 16px; background: rgba(255,255,255,0.15); backdrop-filter: blur(5px); border-radius: 30px; font-size: 0.85rem; font-weight: 700; margin-bottom: 20px; color: #fff; }
    .hero-title { font-size: var(--hero-title-size, 44px); color: var(--hero-title-color, #FFFFFF); font-weight: 900; margin: 0 0 18px; line-height: 1.35; white-space: pre-line; letter-spacing: -0.5px; }
    .hero-desc { font-size: var(--hero-subcopy-size, 18px); color: var(--hero-subcopy-color, #CBD5E1); max-width: 820px; margin: var(--hero-desc-margin, 0 auto 34px); line-height: 1.65; white-space: pre-line; word-break: keep-all; }
    .btn-cta { background: var(--brand-accent); color: #fff; padding: 16px 36px; border-radius: 8px; font-size: 1.05rem; font-weight: 800; text-decoration: none; display: inline-block; box-shadow: 0 10px 25px rgba(0,0,0,0.3); }

    /* 신뢰 배지 바 */
    .trust-strip { background: #0B132B; padding: 20px; border-bottom: 3px solid var(--brand-accent); }
    .trust-flex { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-around; flex-wrap: wrap; gap: 15px; color: #fff; font-size: 0.95rem; font-weight: 600; }
    .trust-box { display: flex; align-items: center; gap: 8px; }

    /* ========================================================
       핵심 시공 솔루션 섹션 & 인터랙티브 카드 (모달 연결)
       ======================================================== */
    .sec-services { padding: 90px 20px; width: 100%; max-width: 1200px; margin: 0 auto; box-sizing: border-box; }
    .sec-head { text-align: center; margin-bottom: 45px; }
    .sec-head h2 { font-size: 2.2rem; font-weight: 800; color: var(--brand-primary); margin: 0 0 10px; }
    .sec-head p { color: #64748B; font-size: 1.05rem; margin: 0; }
    .grid-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; width: 100%; }
    @media (max-width: 1024px) {
      .grid-services { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    }
    
    .card-srv {
      background: #F8FAFC; border: 1px solid var(--border-color); border-radius: 16px;
      padding: 30px 24px; transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s, border-color 0.25s;
      cursor: pointer; position: relative; display: flex; flex-direction: column;
    }
    .card-srv:hover {
      transform: translateY(-6px); box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08); background: #fff; border-color: #93C5FD;
    }
    .card-srv-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 16px; }
    .card-srv-icon { font-size: 2.2rem; line-height: 1; }
    .badge-sop-preview {
      background: #EFF6FF; color: #2563EB; font-size: 0.74rem; font-weight: 800;
      padding: 4px 10px; border-radius: 20px; transition: 0.2s; border: 1px solid #BFDBFE;
    }
    .card-srv:hover .badge-sop-preview { background: #2563EB; color: #fff; border-color: #2563EB; }
    .card-srv-title { margin: 0 0 10px; font-size: 1.22rem; font-weight: 800; color: var(--brand-primary); line-height: 1.4; }
    .card-srv-desc { margin: 0 0 18px; color: #475569; font-size: 0.9rem; line-height: 1.65; word-break: keep-all; flex: 1; }
    .card-srv-ft {
      border-top: 1px dashed #E2E8F0; padding-top: 13px; display: flex; justify-content: space-between;
      align-items: center; font-size: 0.78rem; font-weight: 700; color: #2563EB;
    }

    /* B&A 갤러리 */
    .sec-portfolio { background: #F8FAFC; padding: 90px 20px; border-top: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); }
    .portfolio-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 30px; max-width: 1200px; margin: 0 auto; }
    .ba-card { background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid var(--border-color); }
    .ba-viewer { position: relative; width: 100%; height: 260px; overflow: hidden; background: #0F172A; }
    .ba-img { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
    .ba-img.before { opacity: 0; }
    .ba-img.after { opacity: 1; }
    .ba-badge { position: absolute; top: 14px; left: 14px; padding: 5px 12px; border-radius: 20px; font-size: 0.75rem; font-weight: 800; color: #fff; z-index: 5; background: #16A34A; }
    .ba-toggle-wrap { position: absolute; bottom: 12px; right: 12px; z-index: 5; background: rgba(15, 23, 42, 0.75); border-radius: 20px; padding: 3px; display: flex; gap: 4px; }
    .btn-toggle-ba { background: transparent; border: none; color: #CBD5E1; padding: 4px 12px; border-radius: 16px; font-size: 0.75rem; font-weight: 700; cursor: pointer; }
    .btn-toggle-ba.active { background: #fff; color: #0F172A; font-weight: 800; }
    .ba-info { padding: 22px; }
    .ba-tag { font-size: 0.75rem; font-weight: 800; color: var(--brand-accent); background: #EFF6FF; padding: 3px 8px; border-radius: 4px; display: inline-block; margin-bottom: 8px; }
    .ba-info h3 { margin: 0 0 8px; font-size: 1.15rem; font-weight: 800; }
    .ba-info p { margin: 0 0 12px; font-size: 0.88rem; color: #64748B; }
    .ba-meta { font-size: 0.75rem; color: #94A3B8; display: flex; justify-content: space-between; border-top: 1px solid #F1F5F9; padding-top: 10px; }

    /* 2열 스플릿 실시간 견적 섹션 */
    .sec-booking { background: #F8FAFC; padding: 90px 20px 110px; border-top: 1px solid var(--border-color); }
    .booking-split-container { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: 36px; align-items: stretch; }
    .trust-showcase-card { background: #fff; border-radius: 20px; border: 1px solid var(--border-color); box-shadow: 0 8px 30px rgba(0,0,0,0.04); overflow: hidden; display: flex; flex-direction: column; }
    .trust-slider-box { position: relative; width: 100%; height: 360px; overflow: hidden; background: #0F172A; }
    .trust-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 0.8s ease-in-out; display: flex; flex-direction: column; justify-content: flex-end; }
    .trust-slide.active { opacity: 1; z-index: 2; }
    .trust-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .trust-slide-caption { position: relative; z-index: 3; padding: 25px 22px; background: linear-gradient(to top, rgba(15,23,42,0.92) 0%, rgba(15,23,42,0.4) 70%, transparent 100%); color: #fff; }
    .trust-slide-badge { display: inline-block; background: #2563EB; color: #fff; font-size: 0.75rem; font-weight: 800; padding: 4px 10px; border-radius: 4px; margin-bottom: 6px; }
    .trust-slide-caption h4 { margin: 0 0 4px; font-size: 1.25rem; font-weight: 800; }
    .trust-slide-caption p { margin: 0; font-size: 0.88rem; color: #CBD5E1; }
    .slider-dots-bar { position: absolute; top: 16px; right: 16px; z-index: 5; display: flex; gap: 6px; }
    .slider-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.4); cursor: pointer; transition: 0.3s; }
    .slider-dot.active { background: #38BDF8; width: 22px; border-radius: 10px; }
    .trust-fact-list { padding: 24px; background: #fff; flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
    .fact-item { display: flex; align-items: center; gap: 12px; font-size: 0.9rem; color: #334155; }
    .fact-icon { width: 36px; height: 36px; border-radius: 8px; background: #EFF6FF; color: #2563EB; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; flex-shrink: 0; }
    .fact-item strong { color: #1E293B; font-weight: 800; }

    .booking-card { background: #fff; border-radius: 20px; padding: 40px 36px; border: 1px solid var(--border-color); box-shadow: 0 8px 30px rgba(0,0,0,0.04); display: flex; flex-direction: column; justify-content: center; }
    .booking-card h3 { margin: 0 0 6px; font-size: 1.6rem; font-weight: 900; color: #1E293B; }
    .booking-card p { color: #64748B; margin: 0 0 24px; font-size: 0.92rem; }
    .form-row { margin-bottom: 16px; display: flex; flex-direction: column; gap: 6px; }
    .form-row label { font-size: 0.85rem; font-weight: 700; color: #334155; }
    .form-input { padding: 13px 14px; border: 1px solid #CBD5E1; border-radius: 10px; font-family: inherit; font-size: 0.95rem; }
    .form-input:focus { border-color: #2563EB; outline: none; box-shadow: 0 0 0 3px rgba(37,99,235,0.12); }
    .btn-submit { background: var(--brand-primary); color: #fff; border: none; width: 100%; padding: 16px; border-radius: 10px; font-size: 1.05rem; font-weight: 800; cursor: pointer; transition: 0.2s; margin-top: 6px; }
    .btn-submit:hover { filter: brightness(1.1); transform: translateY(-1px); }

    /* 견적 품목 자동 바인딩 강조 펄스 애니메이션 */
    @keyframes quotePulse {
      0% { border-color: #2563EB; box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.4); transform: scale(1.02); }
      100% { border-color: #CBD5E1; box-shadow: none; transform: scale(1); }
    }
    .input-quote-highlight { animation: quotePulse 1.8s ease-out; }

    /* 푸터 스타일 (빌더 푸터 배경색 설정 실시간 연동) */
    .footer-wrap, footer.footer-wrap { background: var(--footer-bg, #0F172A) !important; background-color: var(--footer-bg, #0F172A) !important; color: #94A3B8; padding: 60px 20px 50px; font-size: 0.86rem; border-top: 1px solid rgba(255,255,255,0.08); transition: background-color 0.2s ease; }
    .footer-top-flex { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 28px; margin-bottom: 30px; }
    .footer-cs-box { text-align: right; }
    .footer-call-link { font-size: 1.6rem; color: #fff; font-weight: 900; line-height: 1.2; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
    .footer-sns-group { display: flex; gap: 10px; align-items: center; justify-content: flex-end; margin-top: 12px; }
    .sns-circle-btn {
      width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
      background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15);
      color: #CBD5E1; text-decoration: none; transition: all 0.3s;
    }
    .sns-circle-btn svg { width: 19px; height: 19px; fill: currentColor; }
    .sns-circle-btn:hover { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(0,0,0,0.3); color: #fff; }
    .sns-circle-btn.blog:hover { background: #03C75A; border-color: #03C75A; }
    .sns-circle-btn.instagram:hover { background: linear-gradient(45deg, #f09433, #dc2743, #bc1888); border-color: transparent; }
    .sns-circle-btn.youtube:hover { background: #FF0000; border-color: #FF0000; }
    .sns-circle-btn.kakao:hover { background: #FEE500; border-color: #FEE500; color: #181600; }
    .sns-circle-btn.tiktok:hover { background: #000; border-color: #fff; }

    /* 슬림화된 Sekal 크레딧 */
    .powered-by-sekal {
      display: inline-flex; align-items: center; gap: 6px;
      font-size: 0.78rem; color: #64748B; text-decoration: none;
    }
    .powered-by-sekal span { color: #64748B; }
    .powered-by-sekal .sekal-brand {
      color: #7DD3FC; font-weight: 500; border-bottom: 1px dotted rgba(125, 211, 252, 0.4);
      transition: color 0.2s; letter-spacing: -0.2px;
    }
    .powered-by-sekal:hover .sekal-brand { color: #BAE6FD; }

    /* 미니멀 플로팅 퀵 바 */
    .floating-quick-bar { position: fixed; bottom: 25px; right: 18px; z-index: 999; display: flex; flex-direction: column; align-items: center; gap: 6px; }
    .quick-nav-icon {
      background: transparent; border: none; padding: 6px; cursor: pointer; color: #64748B;
      display: flex; align-items: center; justify-content: center; transition: all 0.2s;
      filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.25));
    }
    .quick-nav-icon svg { width: 26px; height: 26px; fill: currentColor; }
    .quick-nav-icon:hover { color: #2563EB; transform: translateY(-2px); }
    .quick-nav-icon.bottom:hover { transform: translateY(2px); }

    .btn-kakao-minimal {
      background: transparent; border: none; padding: 4px; cursor: pointer;
      display: flex; align-items: center; justify-content: center; text-decoration: none;
      transition: transform 0.2s; filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.3));
    }
    .btn-kakao-minimal svg { width: 28px; height: 28px; fill: #FEE500; }
    .btn-kakao-minimal:hover { transform: scale(1.12); }

    /* 모바일 서브페이지 슬라이드 메뉴 드로어 */
    .mobile-nav-backdrop {
      display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.65);
      backdrop-filter: blur(4px); z-index: 10002; opacity: 0; transition: opacity 0.3s;
    }
    .mobile-nav-backdrop.open { display: block; opacity: 1; }
    .mobile-nav-drawer {
      position: absolute; top: 0; left: 0; width: 290px; height: 100%;
      background: #ffffff; box-shadow: 5px 0 25px rgba(0,0,0,0.25);
      display: flex; flex-direction: column; transform: translateX(-100%);
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .mobile-nav-backdrop.open .mobile-nav-drawer { transform: translateX(0); }
    .mobile-nav-header {
      padding: 18px 20px; border-bottom: 1px solid #E2E8F0;
      display: flex; justify-content: space-between; align-items: center;
    }
    .drawer-brand img { max-height: 34px; }
    .drawer-brand strong { font-size: 1.15rem; color: #1E293B; font-weight: 900; }
    .btn-drawer-close {
      background: none; border: none; font-size: 1.35rem; color: #64748B; cursor: pointer; padding: 4px;
    }
    .mobile-nav-body {
      flex: 1; padding: 20px 16px; display: flex; flex-direction: column; gap: 6px; overflow-y: auto;
    }
    .drawer-nav-item {
      padding: 13px 16px; border-radius: 10px; text-decoration: none;
      color: #334155; font-weight: 700; font-size: 0.95rem; display: flex; align-items: center; gap: 10px;
      transition: background 0.2s, color 0.2s;
    }
    .drawer-nav-item:hover, .drawer-nav-item.active {
      background: #EFF6FF; color: #2563EB; font-weight: 800;
    }
    .mobile-nav-footer {
      padding: 18px 20px; border-top: 1px solid #E2E8F0; background: #F8FAFC;
    }
    .drawer-call-btn {
      width: 100%; background: #2563EB; color: #fff; border: none; padding: 13px;
      border-radius: 10px; font-weight: 800; font-size: 0.95rem; cursor: pointer;
      display: flex; align-items: center; justify-content: center; gap: 8px;
    }
    .drawer-hours { margin-top: 8px; font-size: 0.75rem; color: #94A3B8; text-align: center; }

    /* 전화 연결 확인 플로팅 팝업 모달 */
    .call-modal-backdrop {
      display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.65);
      backdrop-filter: blur(4px); z-index: 10005; align-items: flex-end; justify-content: center;
    }
    .call-modal-sheet {
      background: #fff; width: 100%; max-width: 440px; border-radius: 24px 24px 0 0;
      padding: 24px 22px 34px; box-shadow: 0 -10px 30px rgba(0,0,0,0.25); text-align: center;
      animation: sheetSlideUp 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    }
    @keyframes sheetSlideUp {
      from { transform: translateY(100%); }
      to { transform: translateY(0); }
    }
    .call-modal-bar { width: 44px; height: 4px; background: #CBD5E1; border-radius: 10px; margin: 0 auto 16px; }
    .call-modal-icon { width: 56px; height: 56px; border-radius: 50%; background: #EFF6FF; color: #2563EB; font-size: 1.8rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; }
    .call-modal-title { font-size: 1.22rem; font-weight: 900; color: #1E293B; margin: 0 0 6px; }
    .call-modal-desc { font-size: 0.9rem; color: #64748B; margin: 0 0 16px; }
    .call-modal-phone { font-size: 1.7rem; font-weight: 900; color: #2563EB; letter-spacing: 0.5px; margin-bottom: 6px; }
    .call-modal-time { font-size: 0.8rem; color: #94A3B8; margin-bottom: 22px; }
    .call-modal-btns { display: grid; grid-template-columns: 1fr 1.6fr; gap: 10px; }
    .btn-call-cancel {
      background: #F1F5F9; color: #475569; border: none; padding: 14px; border-radius: 12px;
      font-size: 0.95rem; font-weight: 800; cursor: pointer;
    }
    .btn-call-confirm {
      background: #16A34A; color: #fff; text-decoration: none; padding: 14px; border-radius: 12px;
      font-size: 1rem; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 6px;
      box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35);
    }

    /* ========================================================
       표준 시공 SOP 상세 레이어 모달 전용 스타일
       ======================================================== */
    .sop-modal-overlay {
      position: fixed; inset: 0; background: rgba(15, 23, 42, 0.72);
      backdrop-filter: blur(4px); display: none; align-items: center; justify-content: center; z-index: 10020;
      padding: 20px;
    }
    .sop-modal-card {
      background: #fff; width: 100%; max-width: 600px; max-height: 90vh; border-radius: 20px;
      overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
      animation: sopFadeIn 0.25s ease-out;
    }
    @keyframes sopFadeIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
    .sop-modal-header {
      padding: 20px 24px; background: #F8FAFC; border-bottom: 1px solid #E2E8F0;
      display: flex; justify-content: space-between; align-items: center;
    }
    .sop-modal-body { padding: 24px; overflow-y: auto; flex: 1; }
    .sop-modal-footer {
      padding: 16px 24px; background: #F8FAFC; border-top: 1px solid #E2E8F0;
      display: flex; gap: 10px; justify-content: flex-end; align-items: center;
    }
    .workflow-timeline { display: flex; flex-direction: column; gap: 12px; margin: 14px 0; }
    .workflow-item { display: flex; gap: 12px; align-items: flex-start; }
    .step-number {
      width: 32px; height: 32px; background: #2563EB; color: #fff; border-radius: 50%;
      display: flex; align-items: center; justify-content: center; font-size: 0.82rem; font-weight: 900; flex-shrink: 0;
    }
    .step-content { background: #F8FAFC; border: 1px solid #E2E8F0; border-radius: 10px; padding: 12px 14px; flex: 1; }
    .step-content h4 { margin: 0 0 4px; font-size: 0.92rem; font-weight: 800; color: #0F172A; }
    .step-content p { margin: 0; font-size: 0.84rem; color: #64748B; line-height: 1.45; }
    .tag-chip {
      display: inline-block; background: #EFF6FF; color: #1E40AF; border: 1px solid #BFDBFE;
      padding: 4px 10px; border-radius: 6px; font-size: 0.78rem; font-weight: 700; margin: 0 4px 4px 0;
    }

    /* 모바일 반응형 완벽 최적화 (@media max-width: 768px) */
    @media (max-width: 768px) {
      .top-nav {
        padding: 0 14px !important;
        height: 64px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
      }
      .nav-menu-links { display: none !important; }
      .btn-mobile-menu { display: flex !important; flex-shrink: 0 !important; }

      .logo-container {
        flex: 1 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
      }
      .logo-container img { max-height: 38px !important; margin: 0 auto !important; }
      
      .nav-contact-btn {
        width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        justify-content: center !important;
        align-items: center !important;
        flex-shrink: 0 !important;
        background: #2563EB !important;
        box-shadow: 0 4px 14px rgba(37, 99, 235, 0.42) !important;
        border: none !important;
      }
      .nav-contact-btn .call-text { display: none !important; }
      .nav-contact-btn .call-icon-svg { width: 20px !important; height: 20px !important; fill: #ffffff !important; }

      .hero-sec {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 45px 18px 0 !important;
        min-height: auto !important;
        overflow: hidden !important;
      }
      .hero-container {
        order: 1 !important;
        text-align: center !important;
        margin: 0 auto !important;
        width: 100% !important;
      }
      .hero-badge { margin: 0 auto 12px !important; display: inline-block !important; }

      .hero-title {
        font-size: calc(var(--hero-title-size, 44px) * 0.6) !important;
        line-height: 1.35 !important;
        text-align: center !important;
        margin: 0 auto 12px !important;
        word-break: keep-all !important;
        white-space: pre-line !important;
      }
      .hero-desc {
        font-size: calc(var(--hero-subcopy-size, 18px) * 0.9) !important;
        text-align: center !important;
        margin: 0 auto 20px !important;
        word-break: keep-all !important;
        white-space: pre-line !important;
        max-width: 100% !important;
      }
      .btn-cta {
        display: block !important;
        margin: 0 auto !important;
        width: 100% !important;
        max-width: 290px !important;
        text-align: center !important;
        padding: 14px 20px !important;
        font-size: 1rem !important;
      }

      .hero-floating-wrap {
        order: 2 !important;
        position: relative !important;
        top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
        width: 100% !important; height: auto !important;
        display: flex !important; justify-content: center !important; align-items: flex-end !important;
        margin-top: 24px !important; z-index: 5 !important; pointer-events: auto !important;
      }
      .floating-actor {
        position: relative !important;
        left: auto !important; top: auto !important; right: auto !important; bottom: auto !important;
        transform: none !important; max-height: 310px !important; width: auto !important;
        opacity: 1 !important; display: block !important; margin: 0 auto -6px !important;
        animation: none !important; filter: drop-shadow(0 12px 25px rgba(0,0,0,0.4)) !important;
        -webkit-mask-image: linear-gradient(to bottom, #000 92%, transparent 100%) !important;
        mask-image: linear-gradient(to bottom, #000 92%, transparent 100%) !important;
      }

      html, body { overflow-x: hidden !important; width: 100% !important; }
      .sec-services, .sec-portfolio, .sec-booking { padding: 56px 16px !important; width: 100% !important; box-sizing: border-box !important; }
      .grid-services, .ba-gallery-grid { grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; margin: 0 auto !important; }
      .booking-split-container { grid-template-columns: minmax(0, 1fr) !important; gap: 24px !important; width: 100% !important; max-width: 100% !important; margin: 0 auto !important; }
      .trust-showcase-card, .booking-card, .ba-card, .card-srv { width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 auto !important; box-sizing: border-box !important; }
      .booking-card { padding: 28px 20px !important; }
      .trust-fact-list { padding: 20px 18px !important; }
      .trust-slider-box { height: 250px !important; }
      .footer-wrap { padding: 45px 20px 105px !important; }
      .footer-top-flex { flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 20px !important; }
      .footer-brand-box { text-align: center !important; width: 100% !important; }
      .footer-cs-box { text-align: center !important; width: 100% !important; }
      .footer-call-link { justify-content: center !important; margin: 6px auto 12px !important; }
      .footer-sns-group { justify-content: center !important; }
      .footer-legal-box { text-align: left !important; font-size: 0.78rem !important; }
      .floating-quick-bar { bottom: 20px !important; right: 12px !important; }
    }
    
    /* 레이어 팝업 배너 스타일 */
    .popup-layer-backdrop {
      display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.65);
      backdrop-filter: blur(5px); z-index: 10010; align-items: center; justify-content: center;
      padding: 20px; animation: popupFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    @keyframes popupFadeIn {
      from { opacity: 0; transform: scale(0.96); }
      to { opacity: 1; transform: scale(1); }
    }
    .popup-layer-card {
      background: #ffffff; width: 100%; max-width: 450px; border-radius: 20px;
      overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
      display: flex; flex-direction: column; position: relative;
    }
    .popup-img-wrap { width: 100%; height: 210px; background: #0F172A; overflow: hidden; position: relative; }
    .popup-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
    .popup-content-box { padding: 24px 22px 18px; }
    .popup-badge-chip {
      display: inline-block; background: #EFF6FF; color: #2563EB; font-size: 0.75rem;
      font-weight: 800; padding: 4px 10px; border-radius: 20px; margin-bottom: 8px;
    }
    .popup-main-title { margin: 0 0 8px; font-size: 1.28rem; font-weight: 900; color: #1E293B; line-height: 1.35; }
    .popup-main-desc { margin: 0 0 18px; font-size: 0.9rem; color: #64748B; line-height: 1.6; white-space: pre-line; word-break: keep-all; }
    .popup-cta-btn {
      display: block; width: 100%; background: #2563EB; color: #fff; text-align: center;
      padding: 13px; border-radius: 10px; text-decoration: none; font-weight: 800; font-size: 0.96rem;
      transition: background 0.2s, transform 0.2s; box-shadow: 0 4px 12px rgba(37,99,235,0.3);
    }
    .popup-cta-btn:hover { background: #1D4ED8; transform: translateY(-1px); }
    
    .popup-footer-bar {
      background: #F8FAFC; border-top: 1px solid #E2E8F0; padding: 10px 18px;
      display: flex; justify-content: space-between; align-items: center; font-size: 0.82rem; color: #64748B;
    }
    .popup-today-close { display: flex; align-items: center; gap: 6px; cursor: pointer; user-select: none; }
    .popup-close-link { background: none; border: none; font-weight: 800; color: #475569; cursor: pointer; padding: 4px; font-size: 0.82rem; }
    .popup-close-link:hover { color: #0F172A; }

    /* =========================================================================
       [세깔(Sekal) 12종 멀티 테마 디자인 토큰 & 4대 아키텍처 통합 렌더링 엔진]
       메인 화면 + 4대 서브페이지(브랜드소개·포트폴리오·서비스지역·FAQ) 100% 무결점 호환
       ========================================================================= */
    .main-sections-flow { display: flex !important; flex-direction: column !important; width: 100% !important; }
    .b2b-kpi-strip { display: none; }

    /* -------------------------------------------------------------------------
       1. 12종 테마별 전용 디자인 토큰(CSS Variables) 정의
       ------------------------------------------------------------------------- */
    /* 🟦 TYPE A: 프로 블루 (표준 설비·장비 신뢰형) */
    body, body.theme-type-a {
      --brand-primary: #1A365D;
      --brand-accent: #2563EB;
      --brand-tint-bg: #EFF6FF;
      --brand-tint-border: #BFDBFE;
      --brand-tint-text: #1E40AF;
      --nav-active-bg: #EFF6FF;
      --nav-active-text: #2563EB;
      --section-alt-bg: #F8FAFC;
    }

    /* 🟧 TYPE B: 클린 앤 웜 (입주·이사·홈케어 감성형 — 후기 최상단) */
    body.theme-type-b {
      --brand-primary: #065F46;
      --brand-accent: #059669;
      --brand-tint-bg: #ECFDF5;
      --brand-tint-border: #A7F3D0;
      --brand-tint-text: #065F46;
      --nav-active-bg: #D1FAE5;
      --nav-active-text: #065F46;
      --section-alt-bg: #FFFBEB;
    }

    /* ⬛ TYPE C: 모던 그리드 (기업 B2B·사옥·준공 카탈로그형) */
    body.theme-type-c {
      --brand-primary: #090D16;
      --brand-accent: #D97706;
      --brand-tint-bg: #FEF3C7;
      --brand-tint-border: #FDE68A;
      --brand-tint-text: #92400E;
      --nav-active-bg: #FEF3C7;
      --nav-active-text: #92400E;
      --section-alt-bg: #F1F5F9;
    }

    /* 🟥 TYPE D: 스피드 레드 (24시 긴급출동·역류·응급복구 특화) */
    body.theme-type-d {
      --brand-primary: #7F1D1D;
      --brand-accent: #DC2626;
      --brand-tint-bg: #FEF2F2;
      --brand-tint-border: #FECACA;
      --brand-tint-text: #991B1B;
      --nav-active-bg: #FEE2E2;
      --nav-active-text: #DC2626;
      --section-alt-bg: #FFF5F5;
    }

    /* 🟨 TYPE E: 인더스트리얼 앰버 (특수청소·철거·방수 헤비듀티) */
    body.theme-type-e {
      --brand-primary: #1E293B;
      --brand-accent: #D97706;
      --brand-tint-bg: #FFFBEB;
      --brand-tint-border: #FDE68A;
      --brand-tint-text: #92400E;
      --nav-active-bg: #FEF3C7;
      --nav-active-text: #92400E;
      --section-alt-bg: #F8FAFC;
    }

    /* 🩵 TYPE F: 아쿠아 프레시 (에어컨·냉장고·세탁기 분해살균 — 후기 최상단) */
    body.theme-type-f {
      --brand-primary: #0C4A6E;
      --brand-accent: #0284C7;
      --brand-tint-bg: #E0F2FE;
      --brand-tint-border: #7DD3FC;
      --brand-tint-text: #0369A1;
      --nav-active-bg: #E0F2FE;
      --nav-active-text: #0284C7;
      --section-alt-bg: #E0F2FE;
    }

    /* 🌸 TYPE G: 소프트 코랄 (베이비·반려동물·매트리스 안심케어 — 후기 최상단) */
    body.theme-type-g {
      --brand-primary: #881337;
      --brand-accent: #E11D48;
      --brand-tint-bg: #FFE4E6;
      --brand-tint-border: #FECDD3;
      --brand-tint-text: #9F1239;
      --nav-active-bg: #FFE4E6;
      --nav-active-text: #E11D48;
      --section-alt-bg: #FFF1F2;
    }

    /* 🏛️ TYPE H: 메트로 실버 (오피스·병원·학원 정기관리 B2B) */
    body.theme-type-h {
      --brand-primary: #1E1B4B;
      --brand-accent: #4F46E5;
      --brand-tint-bg: #EEF2FF;
      --brand-tint-border: #C7D2FE;
      --brand-tint-text: #3730A3;
      --nav-active-bg: #E0E7FF;
      --nav-active-text: #4338CA;
      --section-alt-bg: #F8FAFC;
    }

    /* 🛡️ TYPE I: 메디컬 민트 (방역·소독·해충방제·공기질 바이오케어) */
    body.theme-type-i {
      --brand-primary: #134E4A;
      --brand-accent: #0D9488;
      --brand-tint-bg: #CCFBF1;
      --brand-tint-border: #5EEAD4;
      --brand-tint-text: #115E59;
      --nav-active-bg: #CCFBF1;
      --nav-active-text: #0F766E;
      --section-alt-bg: #F0FDFA;
    }

    /* 🌿 TYPE J: 포레스트 에코 (피톤치드·친환경코팅·마루/우드케어) */
    body.theme-type-j {
      --brand-primary: #14532D;
      --brand-accent: #15803D;
      --brand-tint-bg: #DCFCE7;
      --brand-tint-border: #86EFAC;
      --brand-tint-text: #166534;
      --nav-active-bg: #DCFCE7;
      --nav-active-text: #15803D;
      --section-alt-bg: #F0FDF4;
    }

    /* 🍇 TYPE K: 로얄 바이올렛 (줄눈시공·탄성코트·상판연마 — 후기 최상단) */
    body.theme-type-k {
      --brand-primary: #2E1065;
      --brand-accent: #7C3AED;
      --brand-tint-bg: #F3E8FF;
      --brand-tint-border: #D8B4FE;
      --brand-tint-text: #5B21B6;
      --nav-active-bg: #F3E8FF;
      --nav-active-text: #6D28D9;
      --section-alt-bg: #F5F3FF;
    }

    /* 🤍 TYPE L: 미니멀 노르딕 (하이엔드 주택·스튜디오 모노 화이트&블랙) */
    body.theme-type-l {
      --brand-primary: #111827;
      --brand-accent: #111827;
      --brand-tint-bg: #F3F4F6;
      --brand-tint-border: #D1D5DB;
      --brand-tint-text: #111827;
      --nav-active-bg: #111827;
      --nav-active-text: #FFFFFF;
      --section-alt-bg: #F9FAFB;
    }

    /* -------------------------------------------------------------------------
       2. 전역 바탕색(V영역 순백색 / O영역 테마 배경) & 투명 헤더 공통 규칙
       ------------------------------------------------------------------------- */
    html,
    body,
    body[class*="theme-type-"],
    body[class*="theme-type-"] .sec-services {
      background: #FFFFFF !important;
      background-color: #FFFFFF !important;
    }
    .sec-portfolio,
    .sec-booking,
    body[class*="theme-type-"] .sec-portfolio,
    body[class*="theme-type-"] .sec-booking {
      background: var(--section-alt-bg, #F8FAFC) !important;
      background-color: var(--section-alt-bg, #F8FAFC) !important;
      border-top: 1px solid var(--border-color) !important;
    }

    /* 빌더 RGB 색상·투명도 슬라이더 실시간 반영 보장 */
    .hero-sec, .sub-hero-sec {
      background-color: #FFFFFF !important;
    }
    body[class*="theme-type-"] #heroOverlayLayer.hero-overlay-layer {
      background: var(--hero-overlay-rgba, rgba(15, 23, 42, 0.82)) !important;
    }
    body[class*="theme-type-"] #subHeroOverlayLayer.sub-hero-overlay-layer {
      background: var(--sub-hero-overlay-rgba, rgba(15, 23, 42, 0.82)) !important;
    }

    /* 상단 헤더(.top-nav): 투명 배경 + 하단 라인 제거 + 활성 메뉴 글자 가림 원천 차단 */
    header.top-nav,
    body[class*="theme-type-"] header.top-nav {
      background: transparent !important;
      border-bottom: none !important;
      box-shadow: none !important;
      max-width: 1440px !important;
      padding: 0 40px !important;
    }
    body[class*="theme-type-"] .top-nav .logo-container,
    body[class*="theme-type-"] .top-nav .logo-container svg text {
      color: #0F172A !important;
      filter: none !important;
    }
    body[class*="theme-type-"] .top-nav .nav-link-item {
      color: #334155 !important;
      padding: 8px 16px !important;
      border-radius: 999px !important;
      transition: all 0.2s ease !important;
    }
    body[class*="theme-type-"] .top-nav .nav-link-item::after {
      display: none !important;
    }
    body[class*="theme-type-"] .top-nav .nav-link-item:hover {
      color: var(--brand-accent) !important;
      background: var(--brand-tint-bg) !important;
    }
    body[class*="theme-type-"] .top-nav .nav-link-item.active {
      background: var(--nav-active-bg) !important;
      color: var(--nav-active-text) !important;
      font-weight: 900 !important;
    }
    body[class*="theme-type-"] .top-nav .btn-mobile-menu {
      color: #0F172A !important;
    }

    /* -------------------------------------------------------------------------
       3. 모든 카드 내부 아이콘·배지·장비태그·버튼의 테마 토큰 100% 연동 (파란색 잔재 제거)
       ------------------------------------------------------------------------- */
    .card-srv-icon {
      width: 58px !important;
      height: 58px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      font-size: 1.85rem !important;
      background: var(--brand-tint-bg) !important;
      border: 1.5px solid var(--brand-tint-border) !important;
      border-radius: 16px;
      transition: all 0.25s ease;
    }
    .card-srv:hover .card-srv-icon {
      transform: scale(1.08) rotate(-3deg);
    }
    .badge-sop-preview,
    .srv-equip-tag,
    .ba-srv-tag,
    .card-srv span[style*="#1E40AF"],
    .ba-card span[style*="#2563EB"] {
      background: var(--brand-tint-bg) !important;
      color: var(--brand-tint-text) !important;
      border: 1px solid var(--brand-tint-border) !important;
    }
    .card-srv:hover .badge-sop-preview {
      background: var(--brand-accent) !important;
      color: #FFFFFF !important;
      border-color: var(--brand-accent) !important;
    }
    .card-srv-ft {
      color: var(--brand-accent) !important;
    }
    .fact-icon {
      background: var(--brand-tint-bg) !important;
      color: var(--brand-accent) !important;
      border: 1px solid var(--brand-tint-border) !important;
    }
    .trust-slide-badge {
      background: var(--brand-accent) !important;
    }
    .btn-more-portfolio,
    .sec-portfolio a[href="portfolio.php"] {
      border-color: var(--brand-accent) !important;
      color: var(--brand-accent) !important;
    }
    .btn-more-portfolio:hover,
    .sec-portfolio a[href="portfolio.php"]:hover {
      background: var(--brand-accent) !important;
      color: #FFFFFF !important;
    }

    /* B2B 핵심 역량 KPI 그리드 기본 규격 */
    .b2b-kpi-grid {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      text-align: center;
    }
    .b2b-kpi-item {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.16);
      padding: 20px 14px;
      border-radius: 10px;
    }
    .b2b-kpi-num { font-size: 1.65rem; font-weight: 900; color: #38BDF8; display: block; margin-bottom: 4px; }
    .b2b-kpi-txt { font-size: 0.82rem; color: #E2E8F0; font-weight: 700; }
    @media (max-width: 768px) {
      .b2b-kpi-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
      .b2b-kpi-num { font-size: 1.3rem; }
    }

    /* -------------------------------------------------------------------------
       4. [아키텍처 1] 소프트 아일랜드 & 플로팅 신뢰 카드형 (TYPE B, F, G, J, K)
       ------------------------------------------------------------------------- */
    @media (min-width: 769px) {
      body.theme-type-b .hero-sec, body.theme-type-f .hero-sec, body.theme-type-g .hero-sec, body.theme-type-j .hero-sec, body.theme-type-k .hero-sec,
      body.theme-type-b .sub-hero-sec, body.theme-type-f .sub-hero-sec, body.theme-type-g .sub-hero-sec, body.theme-type-j .sub-hero-sec, body.theme-type-k .sub-hero-sec {
        max-width: 1360px !important;
        width: calc(100% - 48px) !important;
        margin: 12px auto 0 !important;
        border-radius: 32px !important;
        box-shadow: 0 22px 48px -12px rgba(15, 23, 42, 0.18) !important;
      }
      body.theme-type-b .trust-strip, body.theme-type-f .trust-strip, body.theme-type-g .trust-strip, body.theme-type-j .trust-strip, body.theme-type-k .trust-strip {
        background: transparent !important;
        border: none !important;
        padding: 0 24px !important;
        margin-top: -34px !important;
        margin-bottom: 28px !important;
        position: relative !important;
        z-index: 20 !important;
      }
      body.theme-type-b .trust-flex, body.theme-type-f .trust-flex, body.theme-type-g .trust-flex, body.theme-type-j .trust-flex, body.theme-type-k .trust-flex {
        max-width: 1220px !important;
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 14px !important;
        color: var(--brand-primary) !important;
      }
      body.theme-type-b .trust-box, body.theme-type-f .trust-box, body.theme-type-g .trust-box, body.theme-type-j .trust-box, body.theme-type-k .trust-box {
        background: #FFFFFF !important;
        padding: 15px 16px !important;
        border-radius: 20px !important;
        box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
        border: 1.5px solid var(--brand-tint-border) !important;
        justify-content: center !important;
        font-size: 0.86rem !important;
        font-weight: 800 !important;
        color: var(--brand-primary) !important;
      }
    }
    /* 후기 갤러리 최상단 배치 테마 (B, F, G, K) */
    body.theme-type-b .sec-portfolio, body.theme-type-f .sec-portfolio, body.theme-type-g .sec-portfolio, body.theme-type-k .sec-portfolio { order: 1 !important; }
    body.theme-type-b .sec-services,  body.theme-type-f .sec-services,  body.theme-type-g .sec-services,  body.theme-type-k .sec-services  { order: 2 !important; }
    body.theme-type-b .sec-booking,   body.theme-type-f .sec-booking,   body.theme-type-g .sec-booking,   body.theme-type-k .sec-booking   { order: 3 !important; }

    body.theme-type-b .nav-contact-btn, body.theme-type-b .btn-cta, body.theme-type-b .btn-submit { background: linear-gradient(135deg, #059669, #10B981) !important; border-radius: 50px !important; }
    body.theme-type-f .nav-contact-btn, body.theme-type-f .btn-cta, body.theme-type-f .btn-submit { background: linear-gradient(135deg, #0284C7, #06B6D4) !important; border-radius: 50px !important; }
    body.theme-type-g .nav-contact-btn, body.theme-type-g .btn-cta, body.theme-type-g .btn-submit { background: linear-gradient(135deg, #E11D48, #FB7185) !important; border-radius: 50px !important; }
    body.theme-type-j .nav-contact-btn, body.theme-type-j .btn-cta, body.theme-type-j .btn-submit { background: linear-gradient(135deg, #15803D, #16A34A) !important; border-radius: 50px !important; }
    body.theme-type-k .nav-contact-btn, body.theme-type-k .btn-cta, body.theme-type-k .btn-submit { background: linear-gradient(135deg, #7C3AED, #6D28D9) !important; border-radius: 50px !important; }

    body.theme-type-b .card-srv-icon, body.theme-type-f .card-srv-icon, body.theme-type-g .card-srv-icon, body.theme-type-j .card-srv-icon, body.theme-type-k .card-srv-icon {
      border-radius: 50% !important;
    }
    body.theme-type-b .card-srv, body.theme-type-b .ba-card,
    body.theme-type-f .card-srv, body.theme-type-f .ba-card,
    body.theme-type-g .card-srv, body.theme-type-g .ba-card,
    body.theme-type-j .card-srv, body.theme-type-j .ba-card,
    body.theme-type-k .card-srv, body.theme-type-k .ba-card {
      background: #FFFFFF !important;
      border-radius: 26px !important;
      border: 1.5px solid var(--brand-tint-border) !important;
    }

    /* -------------------------------------------------------------------------
       5. [아키텍처 2] 풀와이드(Full-Bleed) 시네마틱 & B2B 전광판형 (TYPE A, C, H)
       ------------------------------------------------------------------------- */
    /* TYPE C: 모던 그리드 (다크 & 골드 샤프 카탈로그) */
    body.theme-type-c .top-nav .nav-link-item { border-radius: 4px !important; }
    body.theme-type-c .nav-contact-btn, body.theme-type-c .btn-cta {
      background: #F59E0B !important; color: #090D16 !important; border-radius: 4px !important; font-weight: 900 !important;
    }
    body.theme-type-c .nav-contact-btn .call-icon-svg { fill: #090D16 !important; }
    body.theme-type-c .trust-strip { background: #090D16 !important; border-bottom: 1px solid #374151 !important; }
    body.theme-type-c .b2b-kpi-strip { display: block !important; background: #111827 !important; padding: 34px 20px !important; border-bottom: 3px solid #F59E0B !important; }
    body.theme-type-c .b2b-kpi-item { border-color: rgba(245, 158, 11, 0.35) !important; border-radius: 4px !important; }
    body.theme-type-c .b2b-kpi-num { color: #FBBF24 !important; }
    body.theme-type-c .card-srv, body.theme-type-c .ba-card, body.theme-type-c .trust-showcase-card, body.theme-type-c .booking-card {
      background: #FFFFFF !important; border-radius: 4px !important; border: 1px solid #CBD5E1 !important;
    }
    body.theme-type-c .card-srv { border-top: 5px solid #090D16 !important; }
    body.theme-type-c .card-srv:hover { border-top-color: #F59E0B !important; }
    body.theme-type-c .card-srv-icon { border-radius: 4px !important; }
    body.theme-type-c .btn-submit { background: #090D16 !important; color: #FBBF24 !important; border: 1.5px solid #F59E0B !important; border-radius: 4px !important; }

    /* TYPE H: 메트로 실버 (네이비 & 인디고 스마트 오피스) */
    body.theme-type-h .top-nav .nav-link-item { border-radius: 6px !important; }
    body.theme-type-h .nav-contact-btn, body.theme-type-h .btn-cta, body.theme-type-h .btn-submit {
      background: linear-gradient(135deg, #4F46E5, #3730A3) !important; color: #FFFFFF !important; border-radius: 8px !important;
    }
    body.theme-type-h .trust-strip { background: #0F172A !important; border-bottom: 1px solid #312E81 !important; }
    body.theme-type-h .b2b-kpi-strip { display: block !important; background: #1E1B4B !important; padding: 32px 20px !important; border-bottom: 3px solid #6366F1 !important; }
    body.theme-type-h .b2b-kpi-num { color: #A5B4FC !important; }
    body.theme-type-h .card-srv { background: #FFFFFF !important; border-radius: 12px !important; border-top: 4px solid #4F46E5 !important; }
    body.theme-type-h .card-srv-icon { border-radius: 8px !important; }

    /* -------------------------------------------------------------------------
       6. [아키텍처 3] 박스형 아머 프레임 & 일체형 KPI 도킹형 (TYPE D, E, I)
          - 상단 Hero + 신뢰 배지 바 + KPI 바 3개가 동일한 가로폭(1360px)으로 완벽 결합!
       ------------------------------------------------------------------------- */
    @media (min-width: 769px) {
      body.theme-type-d .hero-sec, body.theme-type-e .hero-sec, body.theme-type-i .hero-sec {
        max-width: 1360px !important;
        width: calc(100% - 48px) !important;
        margin: 12px auto 0 !important;
        border-radius: 24px 24px 0 0 !important;
      }
      body.theme-type-d .sub-hero-sec, body.theme-type-e .sub-hero-sec, body.theme-type-i .sub-hero-sec {
        max-width: 1360px !important;
        width: calc(100% - 48px) !important;
        margin: 12px auto 0 !important;
        border-radius: 24px !important;
      }
      body.theme-type-d .trust-strip, body.theme-type-e .trust-strip, body.theme-type-i .trust-strip {
        max-width: 1360px !important;
        width: calc(100% - 48px) !important;
        margin: 0 auto !important;
        border-radius: 0 !important;
      }
      body.theme-type-d .b2b-kpi-strip, body.theme-type-e .b2b-kpi-strip, body.theme-type-i .b2b-kpi-strip {
        display: block !important;
        max-width: 1360px !important;
        width: calc(100% - 48px) !important;
        margin: 0 auto 24px !important;
        border-radius: 0 0 24px 24px !important;
        box-shadow: 0 18px 38px -12px rgba(15, 23, 42, 0.22) !important;
      }
    }
    @media (max-width: 768px) {
      body.theme-type-d .b2b-kpi-strip, body.theme-type-e .b2b-kpi-strip, body.theme-type-i .b2b-kpi-strip {
        display: block !important;
      }
    }

    /* TYPE D: 스피드 레드 세부 스타일 */
    body.theme-type-d .nav-contact-btn, body.theme-type-d .btn-cta, body.theme-type-d .btn-submit {
      background: linear-gradient(135deg, #DC2626, #991B1B) !important; color: #FFFFFF !important; border-radius: 10px !important;
    }
    body.theme-type-d .trust-strip { background: #7F1D1D !important; border-bottom: 1px solid #991B1B !important; }
    body.theme-type-d .b2b-kpi-strip { background: #18181B !important; padding: 28px 20px !important; border-bottom: 4px solid #DC2626 !important; }
    body.theme-type-d .b2b-kpi-num { color: #F87171 !important; }
    body.theme-type-d .card-srv { background: #FFFFFF !important; border-radius: 14px !important; border-top: 4px solid #DC2626 !important; }

    /* TYPE E: 인더스트리얼 앰버 세부 스타일 */
    body.theme-type-e .nav-contact-btn, body.theme-type-e .btn-cta {
      background: #F59E0B !important; color: #0F172A !important; font-weight: 900 !important; border-radius: 8px !important;
    }
    body.theme-type-e .nav-contact-btn .call-icon-svg { fill: #0F172A !important; }
    body.theme-type-e .trust-strip { background: #1E293B !important; border-bottom: 2px solid #F59E0B !important; }
    body.theme-type-e .b2b-kpi-strip { background: #0F172A !important; padding: 28px 20px !important; border-bottom: 4px solid #F59E0B !important; }
    body.theme-type-e .b2b-kpi-num { color: #FBBF24 !important; }
    body.theme-type-e .card-srv { background: #FFFFFF !important; border-radius: 8px !important; border: 1.5px solid #CBD5E1 !important; border-left: 6px solid #D97706 !important; }
    body.theme-type-e .card-srv-icon { border-radius: 8px !important; }

    /* TYPE I: 메디컬 민트 세부 스타일 */
    body.theme-type-i .nav-contact-btn, body.theme-type-i .btn-cta, body.theme-type-i .btn-submit {
      background: linear-gradient(135deg, #0D9488, #0F766E) !important; color: #FFFFFF !important; border-radius: 12px !important;
    }
    body.theme-type-i .trust-strip { background: #115E59 !important; border-bottom: 1px solid #0F766E !important; }
    body.theme-type-i .b2b-kpi-strip { background: #042F2E !important; padding: 28px 20px !important; border-bottom: 4px solid #14B8A6 !important; }
    body.theme-type-i .b2b-kpi-item { border-color: rgba(45, 212, 191, 0.3) !important; }
    body.theme-type-i .b2b-kpi-num { color: #5EEAD4 !important; }
    body.theme-type-i .card-srv, body.theme-type-i .ba-card { background: #FFFFFF !important; border: 1.5px solid #99F6E4 !important; border-radius: 18px !important; }

    /* -------------------------------------------------------------------------
       7. [아키텍처 4] 하이엔드 노르딕 모노 에디토리얼 프레임형 (TYPE L)
          - 상단 '홈' 메뉴 흰색 글씨 보장 + Hero & 신뢰 배지 바 모노 프레임 일체화
       ------------------------------------------------------------------------- */
    body.theme-type-l .top-nav .nav-link-item {
      border-radius: 6px !important;
    }
    body.theme-type-l .top-nav .nav-link-item.active {
      background: #111827 !important;
      color: #FFFFFF !important;
    }
    @media (min-width: 769px) {
      body.theme-type-l .hero-sec {
        max-width: 1360px !important;
        width: calc(100% - 48px) !important;
        margin: 12px auto 0 !important;
        border-radius: 12px 12px 0 0 !important;
        border: 2px solid #111827 !important;
        border-bottom: none !important;
      }
      body.theme-type-l .sub-hero-sec {
        max-width: 1360px !important;
        width: calc(100% - 48px) !important;
        margin: 12px auto 0 !important;
        border-radius: 12px !important;
        border: 2px solid #111827 !important;
      }
      body.theme-type-l .trust-strip {
        max-width: 1360px !important;
        width: calc(100% - 48px) !important;
        margin: 0 auto 24px !important;
        background: #F9FAFB !important;
        border: 2px solid #111827 !important;
        border-radius: 0 0 12px 12px !important;
      }
    }
    body.theme-type-l .trust-flex { color: #111827 !important; font-weight: 800 !important; }
    body.theme-type-l .nav-contact-btn, body.theme-type-l .btn-submit {
      background: #111827 !important; color: #FFFFFF !important; border-radius: 6px !important; box-shadow: none !important;
    }
    body.theme-type-l .hero-badge, body.theme-type-l .btn-cta {
      background: #FFFFFF !important; color: #111827 !important; border-radius: 6px !important; font-weight: 900 !important;
    }
    body.theme-type-l .card-srv, body.theme-type-l .ba-card, body.theme-type-l .trust-showcase-card, body.theme-type-l .booking-card {
      background: #FFFFFF !important; border-radius: 8px !important; border: 1.5px solid #111827 !important; box-shadow: none !important;
    }
    body.theme-type-l .card-srv-icon {
      border-radius: 6px !important; border-color: #111827 !important;
    }

    /* -------------------------------------------------------------------------
       8. 4대 서브페이지(.sub-container) 본문 카드 & 배지 12종 테마 동기화
       ------------------------------------------------------------------------- */
    .sub-container span[style*="#2563EB"],
    .sub-container a[style*="#2563EB"],
    .sub-container strong[style*="#2563EB"] {
      color: var(--brand-accent) !important;
    }
    .sub-container span[style*="background:#EFF6FF"] {
      background: var(--brand-tint-bg) !important;
      color: var(--brand-tint-text) !important;
      border-color: var(--brand-tint-border) !important;
    }
    .sub-container div[style*="font-size:2.2rem"] {
      width: 60px !important;
      height: 60px !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      font-size: 1.8rem !important;
      background: var(--brand-tint-bg) !important;
      border: 1.5px solid var(--brand-tint-border) !important;
      border-radius: 16px;
      margin-bottom: 16px !important;
    }
    body.theme-type-b .sub-container > div[style*="background:#fff"],
    body.theme-type-f .sub-container > div[style*="background:#fff"],
    body.theme-type-g .sub-container > div[style*="background:#fff"],
    body.theme-type-j .sub-container > div[style*="background:#fff"],
    body.theme-type-k .sub-container > div[style*="background:#fff"],
    body.theme-type-b .sub-container > div > div[style*="background:#fff"],
    body.theme-type-f .sub-container > div > div[style*="background:#fff"],
    body.theme-type-g .sub-container > div > div[style*="background:#fff"],
    body.theme-type-j .sub-container > div > div[style*="background:#fff"],
    body.theme-type-k .sub-container > div > div[style*="background:#fff"] {
      border-radius: 26px !important;
      border: 1.5px solid var(--brand-tint-border) !important;
    }
    body.theme-type-c .sub-container > div[style*="background:#fff"],
    body.theme-type-c .sub-container > div > div[style*="background:#fff"] {
      border-radius: 4px !important;
      border-top: 5px solid #F59E0B !important;
    }
    body.theme-type-l .sub-container > div[style*="background:#fff"],
    body.theme-type-l .sub-container > div > div[style*="background:#fff"] {
      border-radius: 8px !important;
      border: 1.5px solid #111827 !important;
      box-shadow: none !important;
    }