/* ===== Theme E — eco materials (sage green, rounded). Loaded after the base (A) stylesheet. ===== */
body.theme-e{
  --deep:#1d3a2c; --mist:#eff5f0; --mist-2:#e2ede4; --soil:#7a6a55;
  --primary:var(--accent); --ink:#1f2d26; --ink-2:#44554b; --muted:#6f7f75; --line:#dbe6dd; --bg-soft:#eff5f0;
  --radius:22px; --radius-sm:14px; --shadow:0 10px 30px rgba(31,77,58,.08); --shadow-lg:0 22px 50px rgba(31,77,58,.14);
  --head:'Gowun Dodum','Pretendard Variable',Pretendard,sans-serif;
  background:#fff;color:var(--ink)
}
.theme-e h1,.theme-e h2,.theme-e h3,.theme-e .logo-text{font-family:var(--head);font-weight:400;letter-spacing:-.02em}
.theme-e a:focus-visible,.theme-e button:focus-visible{outline:3px solid var(--leaf);outline-offset:3px;border-radius:8px}

/* header */
.theme-e .site-header,.theme-e.is-home .site-header{position:sticky;background:rgba(255,255,255,.94);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.theme-e .logo-text{font-size:25px}
.theme-e .logo-text b{color:var(--leaf)}
.theme-e .logo-sub{color:var(--accent);opacity:.8;letter-spacing:.06em}
.theme-e .gnb>ul>li>a{font-weight:600}
.theme-e .gnb>ul>li>a::after{height:6px;width:6px;left:50%;right:auto;bottom:20px;border-radius:50%;background:var(--leaf);transform:translateX(-50%) scale(0)}
.theme-e .gnb>ul>li:hover>a::after,.theme-e .gnb>ul>li.is-active>a::after{transform:translateX(-50%) scale(1)}
.theme-e .gnb .sub{border-radius:18px;border-color:var(--line)}
.theme-e .gnb .sub a{border-radius:12px}
.theme-e .gnb .sub a:hover{background:var(--mist);color:var(--accent)}
.theme-e .btn-cta{background:var(--accent);border-radius:999px}
.theme-e .btn-cta:hover{box-shadow:0 8px 20px rgba(47,107,79,.3)}
.theme-e .btn-cta .arrow{display:none}

/* buttons */
.e-btn{display:inline-flex;align-items:center;height:52px;padding:0 28px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;transition:filter .2s,box-shadow .2s}
.e-btn:hover{filter:brightness(1.1);box-shadow:0 10px 24px rgba(47,107,79,.25)}
.e-btn-soft{background:var(--mist-2);color:var(--accent)}
.e-btn-soft:hover{background:var(--leaf);color:#fff;filter:none}
.e-btn-light{background:#fff;color:var(--accent)}
.theme-e .btn{border-radius:999px}
.theme-e .btn .arrow{display:none}
.theme-e .btn-primary,.theme-e .btn-accent{background:var(--accent);color:#fff}
.theme-e .btn-line{border-color:var(--line)}
.theme-e .btn-line:hover{border-color:var(--accent);color:var(--accent)}
.theme-e .eyebrow{color:var(--accent);letter-spacing:0;text-transform:none;font-weight:700}
.theme-e .tag{background:var(--mist-2);color:var(--accent)}
.theme-e .more-link{color:var(--accent)}
.theme-e .more-link .arrow{display:none}
.e-more{color:var(--accent);font-weight:700;padding:8px 16px;border-radius:999px;background:var(--mist);white-space:nowrap}
.e-more:hover{background:var(--mist-2)}

/* hero */
.e-hero{background:linear-gradient(180deg,var(--mist) 0%,#fff 100%);padding:56px 0 72px;overflow:hidden}
.e-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.e-stage{display:grid}
.e-hero .hero-slide{grid-area:1/1;position:relative;inset:auto;opacity:0;visibility:hidden;transition:opacity .8s}
.e-hero .hero-slide::after{display:none}
.e-hero .hero-slide.is-active{opacity:1;visibility:visible}
.e-display{font-family:var(--head);font-size:clamp(34px,4.6vw,62px);line-height:1.25;color:var(--deep)}
.e-lead{margin-top:22px;font-size:18px;color:var(--ink-2);max-width:500px}
.e-btns{display:flex;gap:10px;margin-top:34px;flex-wrap:wrap}
.e-dots{display:flex;gap:8px;margin-top:40px}
.e-dots button{width:12px;height:12px;border-radius:50%;background:var(--mist-2);overflow:hidden;position:relative;border:0;padding:0;transition:width .3s}
.e-dots button.is-active{width:44px;border-radius:999px}
.e-dots button i{background:var(--accent)}
.e-hero.is-paused .hero-bars button.is-active i{animation-play-state:paused}
.e-hero-media{position:relative;aspect-ratio:1/1;max-width:560px;justify-self:end;width:100%}
.e-hero-media img{width:100%;height:100%;object-fit:cover;border-radius:46% 54% 42% 58% / 52% 44% 56% 48%;box-shadow:var(--shadow-lg)}
.e-leaf{position:absolute;border-radius:0 70% 0 70%;background:var(--leaf);opacity:.85}
.e-leaf-1{width:88px;height:88px;left:-18px;bottom:40px}
.e-leaf-2{width:46px;height:46px;right:10px;top:18px;background:var(--accent);opacity:.75;transform:rotate(90deg)}

/* stats */
.e-stats{margin-top:-24px;position:relative}
.e-stats dl{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0}
.e-stats dl>div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;text-align:center;box-shadow:var(--shadow)}
.e-stats dd{margin:0;font-family:var(--head);font-size:clamp(32px,3.4vw,46px);color:var(--accent);font-variant-numeric:tabular-nums}
.e-stats dd small{font-size:.45em;color:var(--leaf);margin-left:3px}
.e-stats dt{color:var(--muted);font-size:14.5px;margin-top:4px}

/* sections */
.e-sec{padding:100px 0}
.e-sec-mist{background:var(--mist)}
.e-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px}
.e-title{font-family:var(--head);font-size:clamp(28px,3vw,42px);line-height:1.3;color:var(--deep)}
.e-center{text-align:center;margin-bottom:48px}
.e-text{color:var(--ink-2);font-size:17px;margin:20px auto 30px;max-width:640px}
.e-about{text-align:center}
.e-about .e-title{max-width:760px;margin:0 auto}
.e-values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.e-value{background:#fff;border-radius:26px;padding:36px 30px;text-align:center}
.e-value-ico{display:block;width:56px;height:56px;margin:0 auto 18px;border-radius:0 70% 0 70%;background:linear-gradient(135deg,var(--leaf),var(--accent))}
.e-value:nth-child(2) .e-value-ico{border-radius:50%}
.e-value:nth-child(3) .e-value-ico{border-radius:70% 0 70% 0}
.e-value h3{font-family:var(--head);font-size:23px;color:var(--deep);margin-bottom:10px}
.e-value p{color:var(--ink-2);font-size:15px}

.e-biz{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.e-biz-item{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center;background:var(--mist);border-radius:28px;padding:16px;transition:background .25s}
.e-biz-item:hover{background:var(--mist-2)}
.e-biz-img{aspect-ratio:1;border-radius:22px;overflow:hidden}
.e-biz-img img{width:100%;height:100%;object-fit:cover}
.e-biz-body{display:flex;flex-direction:column;gap:8px;padding-right:12px}
.e-biz-body strong{font-family:var(--head);font-weight:400;font-size:24px;color:var(--deep)}
.e-biz-body span{color:var(--ink-2);font-size:15px}

.e-products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.e-product{display:block;background:#fff;border-radius:24px;padding:12px 12px 18px;transition:transform .25s,box-shadow .25s}
.e-product:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.e-product-img{display:block;aspect-ratio:1;border-radius:18px;overflow:hidden;background:var(--mist);margin-bottom:14px}
.e-product-img img{width:100%;height:100%;object-fit:cover}
.e-product small{display:block;color:var(--accent);font-weight:700;font-size:13px;padding:0 6px}
.e-product strong{display:block;font-size:17px;padding:2px 6px 0}

.e-fac{gap:18px}
.e-fac a{flex:0 0 300px;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px}
.e-fac img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px;margin-bottom:8px}
.e-fac strong{font-family:var(--head);font-weight:400;font-size:21px;color:var(--deep)}
.e-fac span{color:var(--ink-2);font-size:14.5px}
.theme-e .fac-track{scrollbar-color:var(--leaf) transparent}

.e-certs{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.e-certs a{display:flex;flex-direction:column;gap:10px;font-size:14px;text-align:center;color:var(--ink-2)}
.e-certs a span{display:block;aspect-ratio:3/4;background:#fff;border-radius:18px;padding:12px}
.e-certs img{width:100%;height:100%;object-fit:contain}

.e-closing{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.e-cta{background:var(--accent);color:#fff;border-radius:32px;padding:48px;position:relative;overflow:hidden}
.e-cta::after{content:"";position:absolute;width:220px;height:220px;right:-60px;bottom:-60px;background:var(--leaf);opacity:.35;border-radius:0 70% 0 70%}
.e-cta h2{font-family:var(--head);font-size:clamp(26px,2.8vw,36px);position:relative}
.e-cta p{opacity:.85;margin:14px 0 22px;position:relative}
.e-cta-phone{display:block;font-size:30px;font-weight:800;margin-bottom:22px;position:relative}
.e-cta .e-btn{position:relative}
.e-news li a{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:18px 6px;border-bottom:1px solid var(--line)}
.e-news time{color:var(--muted)}
.e-news a:hover span{color:var(--accent)}

/* sub pages */
.theme-e .subvisual{background:var(--mist);color:var(--deep);padding:80px 0 64px}
.theme-e .subvisual::before{background-image:none}
.theme-e .subvisual::after{background:var(--leaf);opacity:.35;border-radius:0 70% 0 70%;width:260px;height:260px;right:6%;top:auto;bottom:-90px}
.theme-e .subvisual-bg{display:none}
.theme-e .subvisual h1{font-family:var(--head);font-weight:400;color:var(--deep)}
.theme-e .subvisual p{color:var(--ink-2);opacity:1}
.theme-e .breadcrumb{color:var(--muted);opacity:1}
.theme-e .subnav{border-color:var(--line)}
.theme-e .subnav a{border:0;border-radius:999px;margin:10px 0;padding:8px 18px}
.theme-e .subnav a.is-on,.theme-e .subnav a:hover{background:var(--accent);color:#fff}
.theme-e .filter-tabs a.is-on,.theme-e .filter-tabs a:hover{background:var(--accent);border-color:var(--accent)}
.theme-e .p-thumb{border-radius:22px;border:0;background:var(--mist)}
.theme-e .p-view{background:rgba(47,107,79,.55)}
.theme-e .si-card{border-radius:26px;border-color:var(--line)}
.theme-e .section-detail .cover,.theme-e .about-hero img{border-radius:32px}
.theme-e .gallery-main{border-radius:26px;border:0;background:var(--mist)}
.theme-e .gallery-thumbs button{border-radius:14px}
.theme-e .gallery-thumbs button.is-on{border-color:var(--accent)}
.theme-e .prose th{background:var(--mist)}
.theme-e .prose blockquote{border-left-color:var(--leaf);background:var(--mist)}
.theme-e .board-table,.theme-e .notice-head,.theme-e .post-nav{border-top-color:var(--accent)}
.theme-e .badge-pin{background:var(--leaf);border-radius:999px}
.theme-e .pagination a,.theme-e .pagination span{border-radius:999px}
.theme-e .pagination .is-current{background:var(--accent);border-color:var(--accent)}
.theme-e .map-box{border-radius:28px}
.theme-e .loc-item{border-radius:24px;background:var(--mist);border:0}
.theme-e .loc-item .ico{background:#fff;color:var(--accent);border-radius:50%}
.theme-e .contact-aside{background:var(--accent);border-radius:28px}
.theme-e .input,.theme-e .select,.theme-e .textarea{border-radius:14px;border-color:var(--line)}
.theme-e .input:focus,.theme-e .select:focus,.theme-e .textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(141,184,122,.3)}
.theme-e .consent-box{border-radius:18px;background:var(--mist);border:0}
.theme-e .check input{accent-color:var(--accent)}
.theme-e .done-box{border-radius:28px}
.theme-e .nf b{color:var(--accent);font-family:var(--head);font-weight:400}

/* footer */
.theme-e .site-footer{background:var(--deep)}
.theme-e .footer-links a.strong{color:var(--leaf)}
.theme-e .fl-contact{background:var(--accent)}
.theme-e .fl-call{background:var(--leaf);color:var(--deep)}

@media (max-width:1024px){
  .e-hero-grid{grid-template-columns:1fr;gap:36px}
  .e-hero-media{justify-self:center;max-width:440px}
  .e-biz{grid-template-columns:1fr}
  .e-products{grid-template-columns:repeat(3,1fr)}
  .e-closing{grid-template-columns:1fr}
  .e-certs{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:720px){
  .e-hero{padding:32px 0 56px}
  .e-hero-media{order:-1;max-width:300px}
  .e-display{font-size:30px}
  .e-lead{font-size:16px}
  .e-stats{margin-top:0}
  .e-stats dl{grid-template-columns:repeat(2,1fr);gap:10px}
  .e-stats dl>div{padding:18px 10px}
  .e-sec{padding:60px 0}
  .e-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:26px}
  .e-values{grid-template-columns:1fr}
  .e-biz-item{grid-template-columns:110px 1fr;gap:14px;border-radius:22px}
  .e-biz-body strong{font-size:19px}
  .e-biz-body span{font-size:13.5px}
  .e-products{grid-template-columns:repeat(2,1fr);gap:12px}
  .e-product strong{font-size:15px}
  .e-fac a{flex-basis:76vw}
  .e-certs{grid-template-columns:repeat(2,1fr)}
  .e-cta{padding:32px 26px}
  .e-news li a{grid-template-columns:1fr;gap:2px}
}
@media (prefers-reduced-motion:reduce){.e-hero .hero-slide,.e-product{transition:none}}

