/* ===== Theme D — site signage (yellow / black). Loaded after the base (A) stylesheet. ===== */
body.theme-d{
  --asphalt:#1c1d1f; --asphalt-2:#2a2c2f; --concrete:#ececea; --steel:#5b6066;
  --primary:#1c1d1f; --ink:#1c1d1f; --ink-2:#3a3d42; --muted:#6c7178; --line:#d8d8d4; --bg-soft:#ececea;
  --radius:0px; --radius-sm:0px; --shadow:none; --shadow-lg:0 18px 40px rgba(0,0,0,.18);
  --head:'GmarketSans','Pretendard Variable',Pretendard,sans-serif;
  background:#fff;color:var(--ink)
}
.theme-d h1,.theme-d h2,.theme-d h3,.theme-d .logo-text{font-family:var(--head);font-weight:700;letter-spacing:-.02em}
.theme-d a:focus-visible,.theme-d button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* header */
.theme-d .site-header,.theme-d.is-home .site-header{position:sticky;background:#fff;color:var(--ink);border-bottom:4px solid var(--asphalt)}
.theme-d .site-header.is-scrolled{box-shadow:none}
.theme-d .logo-text b{color:var(--ink);background:var(--accent);padding:0 3px;margin-left:2px}
.theme-d .logo-sub{color:var(--steel);opacity:1;letter-spacing:.08em}
.theme-d .gnb>ul>li>a{font-weight:700}
.theme-d .gnb>ul>li>a::after{height:4px;bottom:0;background:var(--accent);left:12px;right:12px}
.theme-d .gnb .sub{border-radius:0;border:2px solid var(--asphalt);box-shadow:6px 6px 0 var(--accent)}
.theme-d .gnb .sub a{border-radius:0;font-weight:600}
.theme-d .gnb .sub a:hover{background:var(--accent);color:var(--ink)}
.theme-d .btn-cta{background:var(--asphalt);color:var(--accent);border-radius:0;font-family:var(--head)}
.theme-d .btn-cta:hover{background:var(--accent);color:var(--ink);box-shadow:none;transform:none}
.theme-d .btn-cta .arrow{display:none}
.theme-d .m-close{border-radius:0}

/* buttons */
.d-btn{display:inline-flex;align-items:center;height:54px;padding:0 28px;font-family:var(--head);font-weight:700;font-size:16px;border:3px solid var(--asphalt);transition:background .15s,color .15s}
.d-btn-dark{background:var(--asphalt);color:var(--accent)}
.d-btn-dark:hover{background:#000;color:#fff}
.d-btn-line{background:transparent;color:var(--asphalt)}
.d-btn-line:hover{background:var(--asphalt);color:var(--accent)}
.theme-d .btn{border-radius:0;font-family:var(--head)}
.theme-d .btn .arrow{display:none}
.theme-d .btn-primary,.theme-d .btn-accent{background:var(--asphalt);color:var(--accent);border:3px solid var(--asphalt)}
.theme-d .btn-primary:hover,.theme-d .btn-accent:hover{background:#000;color:#fff;box-shadow:none;transform:none}
.theme-d .btn-line{border:3px solid var(--asphalt);color:var(--asphalt)}
.theme-d .btn-line:hover{background:var(--asphalt);color:var(--accent)}
.theme-d .eyebrow{color:var(--ink);background:var(--accent);padding:2px 8px;letter-spacing:0;text-transform:none;font-weight:700}
.theme-d .tag{border-radius:0;background:var(--asphalt);color:var(--accent)}
.theme-d .more-link{color:var(--ink)}
.theme-d .more-link .arrow{display:none}
.d-more{font-weight:700;border-bottom:3px solid var(--accent);padding-bottom:2px;white-space:nowrap}
.d-more:hover{background:var(--accent)}

/* hero */
.d-hero{background:var(--asphalt)}
.d-stage{display:grid}
.d-hero .hero-slide{grid-area:1/1;position:relative;inset:auto;display:block;height:min(78vh,720px);min-height:520px;opacity:0;visibility:hidden;transition:opacity .7s}
.d-hero .hero-slide::after{display:none}
.d-hero .hero-slide.is-active{opacity:1;visibility:visible}
.d-hero-img{position:absolute;inset:0;background:#333 center/cover no-repeat}
.d-panel{position:absolute;top:0;bottom:0;left:0;width:min(58%,860px);background:var(--accent);clip-path:polygon(0 0,100% 0,82% 100%,0 100%);display:flex;align-items:center}
.d-panel-in{padding:0 18% 0 max(24px,calc((100vw - 1280px)/2 + 24px));max-width:760px}
.d-label{display:inline-block;background:var(--asphalt);color:var(--accent);font-weight:700;font-size:13px;padding:5px 10px;margin-bottom:22px;letter-spacing:.04em}
.d-display{font-family:var(--head);font-size:clamp(34px,4.6vw,64px);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--ink)}
.d-lead{margin-top:20px;font-size:17.5px;color:var(--ink);max-width:520px;font-weight:500}
.d-btns{display:flex;gap:10px;margin-top:34px;flex-wrap:wrap}
.d-ctrl{background:var(--asphalt);color:#fff}
.d-ctrl .container{display:flex;align-items:center;gap:22px;height:64px}
.d-hero .hero-count{font-family:var(--head);font-weight:700;color:#aaa}
.d-hero .hero-count b{color:var(--accent);font-size:20px}
.d-hero .hero-bars button{background:#555;height:4px}
.d-hero .hero-bars button i{background:var(--accent)}
.d-hero.is-paused .hero-bars button.is-active i{animation-play-state:paused}
.d-arrows{margin-left:auto;display:flex;gap:4px}
.d-arrows button{width:44px;height:44px;border:0;background:#333;color:#fff;font-size:24px;line-height:1}
.d-arrows button:hover{background:var(--accent);color:var(--ink)}
.d-stripe{height:16px;background:repeating-linear-gradient(-45deg,var(--accent) 0 18px,var(--asphalt) 18px 36px)}

/* stats */
.d-stats{background:var(--asphalt);color:#fff}
.d-stats dl{display:grid;grid-template-columns:repeat(4,1fr);margin:0}
.d-stats dl>div{padding:36px 24px;border-left:1px solid #3a3c40}
.d-stats dl>div:first-child{border-left:0;padding-left:0}
.d-stats dd{margin:0;font-family:var(--head);font-size:clamp(36px,4vw,58px);font-weight:700;color:var(--accent);line-height:1;font-variant-numeric:tabular-nums}
.d-stats dd small{font-size:.38em;color:#fff;margin-left:6px}
.d-stats dt{margin-top:10px;color:#c9cbcf;font-weight:600;font-size:15px}

/* sections */
.d-sec{padding:100px 0}
.d-sec-tight{padding:64px 0 90px}
.d-sec-concrete{background:var(--concrete)}
.d-sec-dark{background:var(--asphalt);color:#fff}
.d-sec-dark .d-text{color:#c9cbcf}
.d-sec-dark .d-more{color:#fff}
.d-sec-dark .d-more:hover{color:var(--ink)}
.d-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px}
.d-title{font-family:var(--head);font-size:clamp(28px,3.2vw,44px);font-weight:700;line-height:1.2;letter-spacing:-.03em}
.d-text{color:var(--ink-2);font-size:17px;margin:20px 0 30px;max-width:560px}
.d-about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.d-about-img{margin:0 16px 16px 0}
.d-about-img img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:16px 16px 0 var(--accent);border:3px solid var(--asphalt)}

.d-biz{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.d-biz-item{display:flex;flex-direction:column;background:#fff;border:3px solid var(--asphalt);transition:transform .15s,box-shadow .15s}
.d-biz-item:hover{transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--asphalt)}
.d-biz-img{aspect-ratio:4/3;overflow:hidden;background:#ccc;border-bottom:3px solid var(--asphalt)}
.d-biz-img img{width:100%;height:100%;object-fit:cover}
.d-biz-item strong{font-family:var(--head);font-size:21px;padding:18px 18px 6px;border-left:8px solid var(--accent);margin-top:14px}
.d-biz-sum{padding:0 18px 20px 26px;color:var(--ink-2);font-size:14.5px}

.d-products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.d-product{display:block}
.d-product-img{display:block;aspect-ratio:1;background:var(--concrete);overflow:hidden;border-bottom:4px solid var(--asphalt)}
.d-product-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.d-product:hover .d-product-img img{transform:scale(1.05)}
.d-product-body{display:block;padding:12px 2px}
.d-product-body small{display:inline-block;background:var(--accent);color:var(--ink);font-weight:700;font-size:12px;padding:2px 7px;margin-bottom:6px}
.d-product-body strong{display:block;font-size:17px;font-weight:700}
.d-product:hover strong{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:4px;text-underline-offset:3px}

.d-fac{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.d-fac a{display:flex;flex-direction:column;gap:8px}
.d-fac img{aspect-ratio:16/10;object-fit:cover;width:100%;border-top:6px solid var(--accent)}
.d-fac strong{font-family:var(--head);font-size:19px;margin-top:6px}
.d-fac span{color:#b9bcc1;font-size:14.5px}
.d-fac a:hover strong{color:var(--accent)}

.d-certs{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.d-certs a{display:flex;flex-direction:column;gap:10px;font-weight:600;font-size:14px}
.d-certs a span{display:block;aspect-ratio:3/4;background:#fff;border:3px solid var(--asphalt);padding:8px}
.d-certs img{width:100%;height:100%;object-fit:contain}
.d-certs a:hover span{box-shadow:6px 6px 0 var(--accent)}

.d-cta{background:var(--accent);color:var(--ink);padding:72px 0}
.d-cta-in{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.d-cta h2{font-family:var(--head);font-size:clamp(28px,3.4vw,46px);font-weight:700;letter-spacing:-.03em}
.d-cta p{margin-top:12px;font-weight:600}
.d-cta-side{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.d-cta-phone{font-family:var(--head);font-size:clamp(28px,3vw,40px);font-weight:700}
.d-news{border-top:4px solid var(--asphalt)}
.d-news li a{display:flex;justify-content:space-between;gap:20px;padding:18px 4px;border-bottom:1px solid var(--line);font-weight:500}
.d-news b{background:var(--accent);font-size:12px;padding:2px 7px;margin-right:8px}
.d-news time{color:var(--muted);white-space:nowrap}
.d-news a:hover span{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px}

/* sub pages */
.theme-d .subvisual{background:var(--asphalt);padding:90px 0 70px}
.theme-d .subvisual::before{background-image:none}
.theme-d .subvisual::after{width:auto;height:16px;left:0;right:0;top:auto;bottom:0;border-radius:0;background:repeating-linear-gradient(-45deg,var(--accent) 0 18px,var(--asphalt) 18px 36px)}
.theme-d .subvisual-bg{opacity:.25}
.theme-d .subvisual h1{font-family:var(--head);color:#fff}
.theme-d .subvisual h1::after{content:"";display:block;width:64px;height:6px;background:var(--accent);margin-top:18px}
.theme-d .subnav{border-bottom:3px solid var(--asphalt)}
.theme-d .subnav a{font-weight:700;color:var(--muted)}
.theme-d .subnav a.is-on,.theme-d .subnav a:hover{color:var(--ink);border-color:var(--accent);border-bottom-width:4px}
.theme-d .filter-tabs a{border-radius:0;border:2px solid var(--asphalt);color:var(--ink);font-weight:700}
.theme-d .filter-tabs a.is-on,.theme-d .filter-tabs a:hover{background:var(--accent);border-color:var(--asphalt);color:var(--ink)}
.theme-d .p-thumb,.theme-d .si-card,.theme-d .gallery-main,.theme-d .gallery-thumbs button,.theme-d .section-detail .cover,.theme-d .about-hero img,.theme-d .map-box,.theme-d .loc-item,.theme-d .consent-box,.theme-d .done-box,.theme-d .contact-aside{border-radius:0}
.theme-d .p-thumb{border:3px solid var(--asphalt)}
.theme-d .p-view{background:rgba(28,29,31,.75);color:var(--accent);font-family:var(--head)}
.theme-d .si-card{border:3px solid var(--asphalt)}
.theme-d .si-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--accent)}
.theme-d .gallery-thumbs button.is-on{border-color:var(--accent)}
.theme-d .prose th{background:var(--accent);color:var(--ink)}
.theme-d .prose blockquote{border-left-color:var(--asphalt);background:var(--concrete)}
.theme-d .board-table,.theme-d .notice-head,.theme-d .post-nav{border-top:4px solid var(--asphalt)}
.theme-d .badge-pin{background:var(--accent);color:var(--ink);border-radius:0}
.theme-d .pagination a,.theme-d .pagination span{border-radius:0;border:2px solid var(--asphalt)}
.theme-d .pagination .is-current{background:var(--accent);color:var(--ink);border-color:var(--asphalt)}
.theme-d .loc-item{border:3px solid var(--asphalt)}
.theme-d .loc-item .ico{background:var(--accent);color:var(--ink);border-radius:0}
.theme-d .contact-aside{background:var(--asphalt);border-top:8px solid var(--accent)}
.theme-d .contact-aside dd{color:var(--accent);font-family:var(--head)}
.theme-d .input,.theme-d .select,.theme-d .textarea{border-radius:0;border:2px solid #b9b9b4}
.theme-d .input:focus,.theme-d .select:focus,.theme-d .textarea:focus{border-color:var(--asphalt);box-shadow:4px 4px 0 var(--accent)}
.theme-d .check input{accent-color:var(--asphalt)}
.theme-d .done-box .ok-ico{background:var(--accent);color:var(--ink)}
.theme-d .nf b{color:var(--ink);font-family:var(--head);text-shadow:6px 6px 0 var(--accent)}

/* footer */
.theme-d .site-footer{background:var(--asphalt);border-top:8px solid var(--accent)}
.theme-d .footer-links a.strong{color:var(--accent)}
.theme-d .footer-cs .cs-phone{color:var(--accent);font-family:var(--head)}
.theme-d .floating a,.theme-d .floating button{border-radius:0}
.theme-d .fl-contact{background:var(--accent);color:var(--ink);box-shadow:4px 4px 0 var(--asphalt)}
.theme-d .fl-call{background:var(--asphalt);color:var(--accent);box-shadow:4px 4px 0 var(--accent)}
.theme-d .fl-top{border:2px solid var(--asphalt)}

@media (max-width:1024px){
  .d-about{grid-template-columns:1fr;gap:48px}
  .d-biz{grid-template-columns:repeat(2,1fr)}
  .d-products{grid-template-columns:repeat(3,1fr)}
  .d-fac{grid-template-columns:repeat(2,1fr)}
  .d-certs{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:720px){
  .d-hero .hero-slide{height:auto;min-height:0}
  .d-hero-img{position:relative;display:block;height:230px}
  .d-panel{position:relative;width:auto;clip-path:none;display:block}
  .d-panel-in{padding:30px 18px 34px}
  .d-display{font-size:30px}
  .d-lead{font-size:15.5px}
  .d-btns{margin-top:22px}
  .d-btn{height:48px;padding:0 20px;font-size:15px}
  .d-ctrl .container{height:56px}
  .d-hero .hero-bars button{width:30px}
  .d-arrows{display:none}
  .d-stats dl{grid-template-columns:repeat(2,1fr)}
  .d-stats dl>div{padding:22px 14px}
  .d-stats dl>div:nth-child(odd){border-left:0;padding-left:0}
  .d-sec{padding:60px 0}
  .d-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}
  .d-biz{grid-template-columns:1fr}
  .d-products{grid-template-columns:repeat(2,1fr);gap:14px}
  .d-product-body strong{font-size:15px}
  .d-fac{grid-template-columns:1fr}
  .d-certs{grid-template-columns:repeat(2,1fr)}
  .d-cta{padding:48px 0}
  .d-news li a{flex-direction:column;gap:2px}
}
@media (prefers-reduced-motion:reduce){.d-hero .hero-slide,.d-biz-item{transition:none}}

