/* ===== 하율피피 커스텀 블로그 스타일 ===== */
:root{
  --dark:#15151a;
  --accent:#a6342a;
  --accent-dark:#832920;
  --text:#1c1c1e;
  --muted:#7a7a80;
  --border:#e9e8e6;
  --bg-soft:#f6f5f3;
  --font-serif:"Playfair Display","Noto Serif KR",Georgia,serif;
  --font-sans:"Pretendard","Noto Sans KR","Malgun Gothic",-apple-system,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html.instant-anchor{scroll-behavior:auto;}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--text);
  line-height:1.7;
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3{margin:0;}
ul{margin:0;padding:0;list-style:none;}

/* ---------- 헤더 ---------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.96);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border);
}
.header-inner{
  max-width:1200px;margin:0 auto;padding:16px 24px;
  display:flex;align-items:center;gap:44px;
}
.logo img{height:38px;width:auto;}
.main-nav{display:flex;gap:32px;flex-wrap:wrap;}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:2px;}
.main-nav a{
  position:relative;font-size:13.5px;font-weight:500;color:#444;padding:8px 0;
  white-space:nowrap;letter-spacing:.3px;transition:color .15s;
}
.main-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;
  background:var(--accent);transform:scaleX(0);transition:transform .2s ease;
}
.main-nav a.active,.main-nav a:hover{color:var(--dark);}
.main-nav a.active::after,.main-nav a:hover::after{transform:scaleX(1);}
.header-search{position:relative;display:flex;align-items:center;}
.search-toggle{
  background:none;border:none;cursor:pointer;color:#333;
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;transition:background .15s;
}
.search-toggle:hover{background:var(--bg-soft);}
.search-box{
  position:absolute;right:0;top:48px;
  width:0;opacity:0;overflow:hidden;
  background:#fff;border:1px solid var(--border);box-shadow:0 12px 30px rgba(0,0,0,.1);
  transition:width .22s ease,opacity .18s ease;
}
.search-box.open{width:260px;opacity:1;}
.search-box input{
  width:100%;border:none;padding:13px 16px;font-size:14px;outline:none;font-family:inherit;
}
.nav-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer;}

@media (max-width: 860px){
  .header-inner{
    min-height:70px;padding:12px 18px;gap:6px;flex-wrap:wrap;
  }
  .logo{order:1;margin-right:auto;display:flex;align-items:center;}
  .logo img{height:34px;max-width:150px;object-fit:contain;}
  .header-actions{order:2;margin-left:auto;display:flex;align-items:center;gap:2px;}
  .nav-toggle{
    display:flex;margin:0;width:40px;height:40px;padding:0;
    align-items:center;justify-content:center;line-height:1;font-size:24px;color:#222;
  }
  .header-search{margin-left:0;}
  .search-toggle{width:40px;height:40px;}
  .main-nav{
    order:3;flex-basis:100%;width:100%;flex-direction:column;gap:0;
    max-height:0;overflow:hidden;transition:max-height .25s ease;
  }
  .main-nav.open{max-height:600px;}
  .main-nav a{padding:13px 2px;border-bottom:1px solid var(--border);}
  .main-nav a:first-child{border-top:1px solid var(--border);}
  .main-nav a::after{display:none;}
  .search-box{top:46px;right:0;}
  .search-box.open{width:220px;}
}

/* ---------- 히어로 (실사진 배경 + 오버레이) ---------- */
.hero{
  position:relative;
  color:#fff;text-align:center;
  padding:170px 20px 150px;
  overflow:hidden;
  background:var(--dark);
}
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;filter:saturate(.85);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at center,rgba(10,10,14,.35) 0%,rgba(8,8,12,.72) 75%),
    linear-gradient(180deg,rgba(8,8,12,.5) 0%,rgba(8,8,12,.62) 100%);
  z-index:1;
}
.hero-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;}
.hero .tagline{
  letter-spacing:3.5px;font-size:11.5px;color:#e0b9a4;margin-bottom:22px;
  text-transform:uppercase;font-weight:600;
}
.hero h1{
  font-family:var(--font-serif);
  font-size:clamp(30px,4.2vw,50px);font-weight:700;margin-bottom:26px;
  line-height:1.5;letter-spacing:.2px;
  text-shadow:0 4px 24px rgba(0,0,0,.5);
}
.hero p{color:#dcdcdc;max-width:500px;margin:0 auto 38px;font-size:14.5px;font-weight:400;line-height:1.85;}
.btn{
  display:inline-block;background:var(--accent);color:#fff;
  padding:16px 42px;font-weight:600;font-size:12.5px;border-radius:1px;
  letter-spacing:2px;text-transform:uppercase;
  border:none;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.btn:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.3);}
.btn-dark{background:var(--dark);}
.btn-dark:hover{background:#000;}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:8px 0;border:0;background:transparent;box-shadow:none;letter-spacing:1.6px;}
.btn-outline span,.manufacturing-cta span,.cta-inquiry-button span{display:block;height:16px;line-height:16px;}
.btn-outline svg{display:block;width:16px;height:16px;flex:0 0 16px;transition:transform .18s;}
.btn-outline:hover{background:transparent;color:#ead8cf;transform:none;box-shadow:none;}
.btn-outline:hover svg{transform:translateX(3px);}

/* ---------- 섹션 공통 ---------- */
.section{max-width:1200px;margin:0 auto;padding:80px 24px;}
.section-title{text-align:center;font-family:var(--font-serif);font-size:32px;font-weight:700;letter-spacing:.5px;margin-bottom:12px;}
.section-sub{text-align:center;color:var(--muted);margin-bottom:50px;font-size:14px;letter-spacing:.2px;}

/* ---------- 사진형 카테고리 쇼케이스 (SHOP BY CATEGORY 스타일) ---------- */
.showcase-carousel{position:relative;padding:0 54px;}
.showcase-track{
  display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;
  scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;
}
.showcase-track::-webkit-scrollbar{display:none;}
.showcase-slide{
  flex:0 0 100%;min-width:0;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;
  scroll-snap-align:start;
}
.showcase-slide-clone{display:none;}
.showcase-card{
  position:relative;display:block;min-width:0;height:280px;overflow:hidden;
  background:#eee;
}
.showcase-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease;
}
.showcase-card:hover img{transform:scale(1.06);}
.showcase-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 34%,rgba(0,0,0,.78) 100%);
}
.showcase-label{position:absolute;right:18px;bottom:15px;left:18px;z-index:2;color:#fff;}
.showcase-label strong{display:block;font-size:14px;font-weight:700;line-height:1.35;letter-spacing:.05em;}
.showcase-label small{display:block;margin-top:4px;overflow:hidden;color:rgba(255,255,255,.82);font-size:11px;font-weight:400;line-height:1.4;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;}
.showcase-arrow{
  position:absolute;top:50%;z-index:4;width:40px;height:40px;padding:0;
  display:flex;align-items:center;justify-content:center;transform:translateY(-50%);
  border:1px solid #deddd9;border-radius:50%;background:#fff;color:#29292d;
  box-shadow:0 5px 18px rgba(0,0,0,.09);cursor:pointer;transition:.18s ease;
}
.showcase-arrow:hover:not(:disabled){border-color:#aaa;transform:translateY(-50%) scale(1.04);}
.showcase-arrow:disabled{opacity:.28;cursor:default;box-shadow:none;}
.showcase-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.showcase-arrow-prev{left:0;}
.showcase-arrow-next{right:0;}
.showcase-dots{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:24px;}
.showcase-dot{
  width:8px;height:8px;padding:0;border:0;border-radius:50%;
  background:#c9c8c4;cursor:pointer;transition:background .18s,transform .18s;
}
.showcase-dot:hover{background:#8d8c88;}
.showcase-dot.active{background:#29292d;transform:scale(1.08);}
.home-showcase-section{padding:82px 24px 74px;background:#fff;border-top:1px solid #e2dfd8;border-bottom:1px solid #e2dfd8;}
.home-showcase-inner{max-width:1200px;margin:0 auto;}
.showcase-section-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:70px;gap:48px;margin-bottom:34px;padding:0 54px;}
.showcase-heading-copy{width:100%;text-align:center;}
.showcase-section-head .section-title{text-align:center;margin:0;font-size:34px;font-weight:600;letter-spacing:-.02em;}
.showcase-section-head .section-sub{text-align:center;margin:9px 0 0;color:#706f73;font-size:13.5px;}
.showcase-heading-side{position:absolute;top:50%;right:54px;display:flex;align-items:center;gap:30px;transform:translateY(-50%);}
.showcase-category-count{display:flex;align-items:baseline;gap:6px;margin:0;color:#77757a;font-size:12px;white-space:nowrap;}
.showcase-category-count strong{font-family:"Noto Serif KR",serif;color:#29282c;font-size:20px;font-weight:500;}
.showcase-all-link{display:inline-flex;align-items:center;gap:8px;padding:5px 0 4px;border-bottom:1px solid #77746e;color:#353438;font-size:12.5px;font-weight:600;white-space:nowrap;transition:color .18s,border-color .18s;}
.showcase-all-link:hover{border-color:var(--accent);color:var(--accent-dark);}
.showcase-all-link svg{display:block;width:15px;height:15px;transition:transform .18s;}
.showcase-all-link:hover svg{transform:translateX(3px);}
.manufacturing-section{position:relative;isolation:isolate;height:clamp(610px,52vw,740px);overflow:hidden;background:#111217;color:#fff;}
.manufacturing-backgrounds,.manufacturing-background,.manufacturing-shade{position:absolute;inset:0;}
.manufacturing-backgrounds{z-index:-3;background:#111217;}
.manufacturing-background{opacity:0;transition:opacity .75s ease;}
.manufacturing-background.is-active{opacity:1;}
.manufacturing-background img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transform:none;}
.manufacturing-shade{z-index:-2;background:linear-gradient(90deg,rgba(7,13,21,.81) 0%,rgba(7,13,21,.57) 40%,rgba(7,13,21,.2) 75%,rgba(7,13,21,.08) 100%);}
.manufacturing-inner{position:relative;display:flex;flex-direction:column;justify-content:center;width:calc(100% - 48px);height:100%;max-width:1240px;margin:0 auto;}
.manufacturing-intro{width:min(760px,72vw);margin-top:-28px;}
.manufacturing-intro h2{margin:0;font-family:var(--font-serif);font-size:clamp(31px,2.85vw,43px);font-weight:700;line-height:1.5;letter-spacing:.2px;white-space:nowrap;}
.manufacturing-intro>p{max-width:610px;margin:22px 0 0;color:rgba(255,255,255,.8);font-size:14px;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere;}
.manufacturing-actions{display:flex;align-items:center;gap:25px;margin-top:28px;}
.manufacturing-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:32px;padding:4px 0;background:transparent;color:rgba(255,255,255,.92);font-size:13px;font-weight:600;line-height:1.35;transition:color .18s;}
.manufacturing-cta:hover{color:#fff;}
.manufacturing-cta svg{display:block;width:16px;height:16px;flex:0 0 16px;transition:transform .18s;}
.manufacturing-cta:hover svg{transform:translateX(3px);}
.manufacturing-cases-link{display:inline-flex;align-items:center;height:32px;padding:4px 0 3px;border-bottom:1px solid rgba(255,255,255,.58);color:rgba(255,255,255,.86);font-size:13px;font-weight:500;line-height:1.35;transition:color .18s,border-color .18s;}
.manufacturing-cases-link:hover{border-color:#fff;color:#fff;}
.manufacturing-controls{position:absolute;left:0;bottom:34px;display:flex;align-items:center;gap:7px;width:auto;}
.manufacturing-arrow{display:grid;place-items:center;width:36px;height:38px;padding:0;border:0;border-radius:0;background:transparent;color:rgba(255,255,255,.82);cursor:pointer;transition:color .18s;}
.manufacturing-arrow:hover{color:#fff;}
.manufacturing-arrow svg{width:24px;height:24px;}
.manufacturing-counter{display:flex;align-items:center;justify-content:center;gap:6px;min-width:50px;margin:0;color:rgba(255,255,255,.58);font-size:10px;font-weight:600;letter-spacing:.08em;}
.manufacturing-counter strong{color:#fff;font-size:11px;}
.manufacturing-counter em{font-style:normal;}
.home-latest-section{padding-top:82px;padding-bottom:84px;}
.latest-section-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:70px;gap:48px;margin-bottom:38px;}
.latest-heading-copy{width:100%;text-align:center;}
.latest-section-head .section-title{text-align:center;margin:0;font-size:34px;font-weight:600;letter-spacing:-.02em;}
.latest-section-head .section-sub{text-align:center;margin:9px 0 0;color:#706f73;font-size:13.5px;}
.latest-post-count{position:absolute;top:50%;right:0;display:flex;align-items:baseline;gap:6px;margin:0;color:#77757a;font-size:12px;white-space:nowrap;transform:translateY(-50%);}
.latest-post-count strong{font-family:"Noto Serif KR",serif;color:#29282c;font-size:20px;font-weight:500;}
@media (max-width:680px){
  .showcase-carousel{margin:0;padding:0;}
  .showcase-track{
    gap:12px;padding:0 24px;scroll-padding-inline:24px;
    scroll-snap-type:none;scroll-behavior:auto;cursor:grab;
  }
  .showcase-track:active{cursor:grabbing;}
  .showcase-slide,.showcase-slide-clone{
    display:flex;flex:0 0 auto;min-width:0;gap:12px;
    transform:translate3d(var(--showcase-auto-offset,0px),0,0);
  }
  .showcase-card{flex:0 0 clamp(160px,46vw,210px);height:170px;}
  .showcase-arrow{width:34px;height:34px;background:rgba(255,255,255,.94);}
  .showcase-arrow-prev{left:8px;}
  .showcase-arrow-next{right:8px;}
  .showcase-dots{display:none;}
  .home-showcase-section{padding:58px 0 52px;}
  .showcase-section-head{align-items:center;flex-direction:column;width:100vw;max-width:100vw;gap:18px;margin-bottom:26px;padding:0 20px;}
  .showcase-section-head .section-title{font-size:29px;}
  .showcase-section-head .section-sub{margin-top:8px;font-size:12.5px;}
  .showcase-heading-side{position:static;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;width:100%;min-width:0;gap:18px;transform:none;}
  .showcase-category-count strong{font-size:18px;}
  .showcase-all-link{justify-self:end;font-size:12px;}
  .manufacturing-section{height:660px;}
  .manufacturing-background img{object-position:68% center;}
  .manufacturing-shade{background:linear-gradient(90deg,rgba(7,13,21,.83),rgba(7,13,21,.38));}
  .manufacturing-inner{width:calc(100% - 40px);}
  .manufacturing-intro{width:100%;margin-top:-38px;}
  .manufacturing-intro h2{font-size:24px;line-height:1.4;letter-spacing:-.02em;white-space:nowrap;}
  .manufacturing-intro>p{max-width:350px;margin-top:17px;font-size:12.5px;line-height:1.75;}
  .manufacturing-actions{gap:20px;margin-top:23px;}
  .manufacturing-cta{height:30px;font-size:12px;}
  .manufacturing-cases-link{height:30px;font-size:12px;}
  .manufacturing-controls{bottom:27px;gap:4px;}
  .manufacturing-arrow{width:32px;height:36px;}
  .home-latest-section{padding-top:62px;padding-bottom:64px;}
  .latest-section-head{align-items:center;flex-direction:column;gap:14px;margin-bottom:28px;}
  .latest-section-head .section-title{font-size:29px;}
  .latest-section-head .section-sub{margin-top:8px;font-size:12.5px;}
  .latest-post-count{position:static;align-self:center;transform:none;}
  .latest-post-count strong{font-size:18px;}
}



/* ---------- 글 카드 그리드 ---------- */
.post-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
  gap:32px;
}
.post-card{background:#fff;transition:.25s ease;border-radius:2px;}
.post-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.09);transform:translateY(-3px);}
.post-card .thumb{width:100%;height:220px;overflow:hidden;background:#f2f2f2;}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.post-card:hover .thumb img{transform:scale(1.04);}
.post-card .body{padding:20px 4px 6px;}
.post-card .cat-tag{
  display:inline-block;font-size:11px;color:var(--accent);font-weight:700;margin-bottom:10px;
  letter-spacing:.5px;text-transform:uppercase;
}
.post-card h3{font-size:16.5px;margin-bottom:8px;line-height:1.5;font-weight:600;}
.post-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.7;}
.post-card .date{font-size:11.5px;color:#b5b5b5;margin-top:14px;display:block;letter-spacing:.3px;}

.empty-state{
  text-align:center;color:var(--muted);padding:60px 20px;border:1px dashed var(--border);
}

/* ---------- 페이지 번호 ---------- */
.pagination{
  display:flex;align-items:center;justify-content:center;gap:7px;
  margin:48px 0 0;min-height:40px;
}
.pagination-number,.pagination-arrow{
  width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border);background:#fff;color:#555;font-size:13px;
  line-height:1;transition:border-color .16s,color .16s,background .16s;
}
.pagination-number:hover,.pagination-arrow:hover:not(.disabled){border-color:#aaa;color:var(--dark);}
.pagination-number.active{border-color:var(--dark);background:var(--dark);color:#fff;font-weight:700;}
.pagination-arrow.disabled{opacity:.3;pointer-events:none;}
.pagination-arrow svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.pagination-ellipsis{width:24px;text-align:center;color:#aaa;}
@media (max-width:480px){
  .pagination{gap:4px;margin-top:38px;}
  .pagination-number,.pagination-arrow{width:34px;height:34px;font-size:12px;}
  .pagination-ellipsis{width:16px;}
}

/* ---------- CTA ---------- */
.cta{background:var(--bg-soft);text-align:center;padding:70px 20px;}
.cta h2{font-family:var(--font-serif);font-size:25px;margin-bottom:14px;}
.cta p{color:var(--muted);margin-bottom:30px;font-size:14px;}
.cta-inquiry-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  margin:0 auto 26px;padding:11px 20px 11px 22px;border:1px solid #bdb9b3;border-radius:999px;
  background:transparent;color:var(--text);font-size:13.5px;font-weight:700;letter-spacing:-.01em;
  transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}
.cta-inquiry-button svg{
  display:block;width:16px;height:16px;flex:0 0 16px;color:var(--accent);
  transition:color .18s ease,transform .18s ease;
}
.cta-inquiry-button:hover{border-color:var(--accent-dark);background:transparent;color:var(--accent-dark);}
.cta-inquiry-button:hover svg{color:var(--accent-dark);transform:translateX(3px);}
.cta-inquiry-button:active{background:transparent;}

.contact-line{
  display:flex;align-items:center;justify-content:center;gap:16px;
  font-size:16px;font-weight:600;color:var(--text);letter-spacing:.2px;
  flex-wrap:wrap;
}
.contact-line-item{
  display:inline-flex;align-items:center;gap:9px;
  color:inherit;line-height:1;transition:color .18s ease;
}
.contact-line-item span{display:block;line-height:1;}
.contact-line-item svg{
  display:block;flex:0 0 auto;color:var(--muted);
  width:17px;height:17px;
}
.contact-line-item:hover{color:var(--accent);}
.contact-line-item:hover svg{color:var(--accent);}
.contact-line .dot{color:var(--border);font-weight:400;line-height:1;}
@media (max-width:480px){
  .contact-line{flex-direction:column;gap:8px;}
  .contact-line .dot{display:none;}
}

/* ---------- 제작 견적 문의 ---------- */
.contact-page-layout{max-width:980px;}
.inquiry-section{min-width:0;}
.inquiry-panel{
  display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.45fr);
  overflow:hidden;border:1px solid var(--border);background:#fff;
  box-shadow:0 18px 48px rgba(25,25,28,.06);
}
.inquiry-intro{padding:42px 38px;background:#f5f3ef;border-right:1px solid var(--border);}
.inquiry-brand-mark{display:flex;align-items:center;justify-content:flex-start;width:62px;height:62px;margin:0 0 22px;}
.inquiry-brand-mark img{display:block;width:58px;height:58px;object-fit:contain;}
.inquiry-intro h2{margin:0;font-family:var(--font-serif);font-size:30px;line-height:1.35;letter-spacing:-.035em;}
.inquiry-intro-description{margin:16px 0 27px;color:var(--muted);font-size:13.5px;line-height:1.8;word-break:keep-all;}
.inquiry-guide{padding-top:21px;border-top:1px solid #d9d6d0;}
.inquiry-guide-title{margin:0 0 13px;color:#313137;font-size:11.5px;font-weight:700;letter-spacing:-.01em;}
.inquiry-intro ul{margin:0;padding:0;list-style:none;}
.inquiry-intro li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;margin:9px 0;color:#626167;font-size:12px;line-height:1.6;}
.inquiry-intro li strong{color:var(--accent-dark);font-weight:700;}
.inquiry-intro li span{min-width:0;}
.inquiry-response-note{display:flex;align-items:flex-start;gap:8px;margin:25px 0 0;color:#77767b;font-size:11.5px;line-height:1.65;word-break:keep-all;}
.inquiry-response-note svg{width:15px;height:15px;flex:0 0 15px;margin-top:2px;color:var(--accent);}
.inquiry-form{padding:42px 44px;}
.inquiry-form-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 25px;padding:0 0 15px;border-bottom:1px solid var(--border);}
.inquiry-form-head h3{margin:0;color:#29292e;font-size:14px;font-weight:700;letter-spacing:-.01em;}
.inquiry-form-head p{margin:0;color:#96959a;font-size:10.5px;}
.inquiry-form-head b{color:var(--accent);}
.inquiry-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.inquiry-field{display:block;margin:0 0 20px;}
.inquiry-field>span{display:block;margin:0 0 8px;color:#343438;font-size:12.5px;font-weight:650;letter-spacing:-.01em;}
.inquiry-field b{color:var(--accent);font-weight:700;}
.inquiry-field em{margin-left:4px;color:#9a9a9f;font-size:11px;font-style:normal;font-weight:500;}
.inquiry-field input,.inquiry-field textarea{
  width:100%;border:1px solid #deddd9;border-radius:0;background:#fff;color:var(--text);
  padding:13px 14px;font:inherit;font-size:13.5px;line-height:1.55;
  transition:border-color .18s,box-shadow .18s;
}
.inquiry-field textarea{min-height:168px;resize:vertical;}
.inquiry-field input::placeholder,.inquiry-field textarea::placeholder{color:#aaa9ad;}
.inquiry-field input:focus,.inquiry-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(166,52,42,.08);}
.inquiry-file-field{margin-bottom:14px;}
.inquiry-file-control{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:50px;margin:0!important;padding:0 18px;border:1px solid #deddd9;background:#fff;overflow:hidden;cursor:pointer;outline:none;transition:border-color .18s,background .18s,box-shadow .18s;}
.inquiry-file-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(166,52,42,.08);}
.inquiry-file-control.is-dragover{border-color:var(--accent);background:#fff8f7;box-shadow:0 0 0 3px rgba(166,52,42,.1);}
.inquiry-file-control input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;opacity:0;pointer-events:none;}
.inquiry-file-summary{min-width:0;width:100%;padding:0;color:#66666b;font-size:12px;font-weight:550;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inquiry-file-summary.is-error{color:#9b342b;}
.inquiry-selected-files{display:grid;gap:6px;margin:9px 0 0;padding:0;list-style:none;}
.inquiry-selected-files[hidden]{display:none;}
.inquiry-selected-files li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:9px 11px;border:1px solid #e5e3df;background:#faf9f7;}
.inquiry-selected-file-info{display:flex;align-items:baseline;gap:9px;min-width:0;}
.inquiry-selected-file-info strong{min-width:0;color:#444448;font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inquiry-selected-file-info small{flex:0 0 auto;color:#9a999e;font-size:10px;}
.inquiry-file-remove{flex:0 0 auto;padding:3px 2px;border:0;background:transparent;color:#8a898e;font-family:inherit;font-size:10.5px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;}
.inquiry-file-remove:hover{color:var(--accent-dark);}
.inquiry-file-help{display:block;margin-top:7px;color:#96959a;font-size:10.5px;line-height:1.55;}
.inquiry-file-error{display:block;margin-top:7px;color:#9b342b;font-size:11px;line-height:1.55;}
.inquiry-file-error[hidden]{display:none;}
.inquiry-file-guide{margin:-4px 0 20px;padding:12px 14px;background:#f7f6f3;color:#77777c;font-size:11.5px;line-height:1.65;}
.inquiry-file-guide a{color:#4a4a4e;text-decoration:underline;text-underline-offset:2px;}
.inquiry-privacy{display:flex;align-items:flex-start;gap:9px;margin:0 0 22px;color:#66666b;font-size:11.5px;line-height:1.55;cursor:pointer;}
.inquiry-privacy input{flex:0 0 auto;width:15px;height:15px;margin:1px 0 0;accent-color:var(--accent);}
.inquiry-privacy a{color:#343438;text-decoration:underline;text-underline-offset:2px;}
.inquiry-submit{
  display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:58px;
  padding:14px 20px;border:0;background:#242428;color:#fff;font-family:inherit;text-align:left;
  cursor:pointer;transition:background .18s,transform .18s,opacity .18s;
}
.inquiry-submit span{font-size:14px;font-weight:700;letter-spacing:-.01em;}
.inquiry-submit small{color:#b9b9bd;font-size:10.5px;font-weight:400;}
.inquiry-submit:hover{background:var(--accent-dark);}
.inquiry-submit:active{transform:translateY(1px);}
.inquiry-submit:disabled{cursor:wait;opacity:.72;}
.inquiry-form-status{margin:12px 0 0;padding:12px 14px;font-size:12px;line-height:1.6;}
.inquiry-form-status.is-pending{background:#f7f6f3;color:#66666b;}
.inquiry-form-status.is-success{border:1px solid #d9e5d9;background:#f5faf5;color:#355b38;}
.inquiry-form-status.is-error{border:1px solid #ead7d5;background:#fff7f6;color:#8d3028;}
.inquiry-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;}
.contact-details-panel{margin-top:22px;}
.contact-details-list{display:grid;grid-template-columns:.82fr .82fr 1.12fr 1.64fr;border:1px solid var(--border);background:#fff;}
.contact-detail-item{min-width:0;padding:17px 20px;}
.contact-detail-item+.contact-detail-item{border-left:1px solid var(--border);}
.contact-detail-label{display:flex;align-items:center;gap:7px;margin-bottom:5px;color:#929298;font-size:10.5px;font-weight:600;letter-spacing:.08em;}
.contact-detail-label svg{width:13px;height:13px;flex:0 0 13px;}
.contact-detail-value{display:block;color:#33343a;font-size:13px;line-height:1.55;overflow-wrap:anywhere;}
a.contact-detail-item{transition:background .16s;}
a.contact-detail-item:hover{background:var(--bg-soft);}
@media (max-width:760px){
  .contact-page-layout{padding-top:44px;padding-bottom:52px;}
  .inquiry-panel{grid-template-columns:minmax(0,1fr);width:100%;}
  .inquiry-intro{padding:31px 25px;border-right:0;border-bottom:1px solid var(--border);}
  .inquiry-intro h2{font-size:25px;}
  .inquiry-intro-description{margin-bottom:22px;}
  .inquiry-guide{padding-top:17px;}
  .inquiry-brand-mark{width:52px;height:52px;margin-bottom:18px;}
  .inquiry-brand-mark img{width:49px;height:49px;}
  .inquiry-form{min-width:0;padding:30px 24px;}
  .inquiry-form-grid{grid-template-columns:1fr;gap:0;}
  .inquiry-field,.inquiry-field input,.inquiry-field textarea{min-width:0;max-width:100%;}
  .inquiry-file-guide,.inquiry-privacy{min-width:0;overflow-wrap:anywhere;word-break:keep-all;overflow-wrap:anywhere;}
  .inquiry-submit{align-items:flex-start;flex-direction:column;gap:4px;}
  .contact-details-list{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;overflow:hidden;}
  .contact-detail-item{overflow:hidden;}
  .contact-detail-item+.contact-detail-item{border-left:0;}
  .contact-detail-item:nth-child(even){border-left:1px solid var(--border);}
  .contact-detail-item:nth-child(n+3){border-top:1px solid var(--border);}
}
@media (max-width:380px){
  .inquiry-form{padding:26px 18px;}
  .inquiry-intro{padding:27px 20px;}
  .contact-detail-item{padding:15px 14px;}
  .contact-detail-value{font-size:12px;}
}

/* ---------- 단일 글 ---------- */
.post-layout{max-width:1200px;margin:0 auto;padding:0 20px 72px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start;}
.post-main{min-width:0;}
.post-side-cats{margin-top:42px;}
@media (min-width:981px){.post-layout .post-nav{margin-bottom:0;}}
@media (max-width:980px){
  .post-layout{display:block;padding:0;}
  .post-side-cats{display:none;}
}
.post-header{width:100%;max-width:820px;min-width:0;margin:0 auto;padding:42px 20px 0;}
.post-back-link{
  display:flex;align-items:center;gap:7px;width:max-content;margin:0 0 22px;
  color:#747478;font-size:13px;font-weight:550;letter-spacing:-.01em;
  transition:color .18s;
}
.post-back-link svg{transition:transform .18s;}
.post-back-link:hover{color:var(--text);}
.post-back-link:hover svg{transform:translateX(-3px);}
.post-header .cat-tag{color:var(--accent);font-weight:700;font-size:13px;}
.post-header h1{font-size:30px;margin:12px 0 10px;line-height:1.4;}
.post-header .meta{color:var(--muted);font-size:13px;}
.post-cover{width:100%;max-width:820px;min-width:0;margin:30px auto;padding:0 20px;}
.post-cover img{width:100%;border-radius:2px;}
.post-content{width:100%;max-width:820px;min-width:0;margin:0 auto;padding:0 20px 70px;font-size:16px;}
.post-content h2{
  margin:48px 0 18px;font-size:23px;line-height:1.45;font-weight:700;
  letter-spacing:-.02em;color:var(--text);
}
.post-content h2:first-child{margin-top:0;}
.post-content img{margin:24px 0;border-radius:2px;}
.post-content .case-photo{margin:30px 0;}
.post-content .case-photo img{width:100%;height:auto;margin:0;border-radius:2px;}
.post-content video{
  display:block;width:100%;max-width:100%;height:auto;margin:28px 0;
  background:#111;border-radius:2px;
}
.post-content p{margin:0 0 18px;}
.post-tags{
  max-width:820px;margin:-36px auto 42px;padding:0 20px;
  display:flex;flex-wrap:wrap;gap:8px;
}
.post-tags a{
  display:inline-block;padding:7px 11px;border:1px solid var(--border);
  color:#666;background:#fff;font-size:13px;line-height:1;border-radius:2px;
}
.post-tags a:hover{border-color:#999;color:var(--text);background:var(--bg-soft);}
.post-nav{
  max-width:820px;margin:0 auto 70px;padding:28px 20px 0;
  border-top:1px solid var(--border);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;
}
.post-nav-slot{min-width:0;}
.post-nav-item{display:flex;min-width:0;flex-direction:column;gap:7px;color:var(--text);}
.post-nav-next{text-align:right;align-items:flex-end;}
.post-nav-label{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.08em;}
.post-nav-title{
  display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:14px;font-weight:600;line-height:1.5;color:var(--text);
}
.post-nav-item:hover .post-nav-title{color:var(--accent);}
@media (max-width:600px){
  .post-header{padding:32px 18px 0;}
  .post-header h1{font-size:25px;line-height:1.42;overflow-wrap:anywhere;word-break:break-word;}
  .post-content{padding-left:18px;padding-right:18px;font-size:15px;}
  .post-content p,.post-content h2{max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
  .post-content h2{margin-top:38px;font-size:20px;}
  .post-content .case-photo{margin:22px 0;}
  .post-nav{
    grid-template-columns:1fr;margin-bottom:48px;padding:20px 18px 0;gap:0;
  }
  .post-nav-slot + .post-nav-slot{border-top:1px solid var(--border);margin-top:16px;padding-top:16px;}
  .post-nav-title{
    display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;
    line-clamp:2;font-size:13px;line-height:1.5;
  }
}

/* ---------- 회사소개 ---------- */
.about-page{overflow:hidden;background:#fff;}
.about-hero{position:relative;isolation:isolate;min-height:660px;overflow:hidden;background:#171a1f;color:#fff;}
.about-hero-media,.about-hero-shade{position:absolute;inset:0;}
.about-hero-media{z-index:-2;}
.about-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;}
.about-hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(10,14,19,.9) 0%,rgba(10,14,19,.76) 34%,rgba(10,14,19,.38) 60%,rgba(10,14,19,.08) 100%);}
.about-hero-inner{display:flex;flex-direction:column;justify-content:center;width:calc(100% - 48px);max-width:1200px;min-height:660px;margin:0 auto;padding:68px 0 58px;}
.about-eyebrow,.about-section-label{margin:0 0 16px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.16em;}
.about-hero .about-eyebrow{color:#efb0a9;}
.about-hero h1{max-width:720px;margin:0;font-family:"Noto Serif KR",serif;font-size:clamp(39px,4.1vw,58px);font-weight:500;line-height:1.34;letter-spacing:-.035em;word-break:keep-all;}
.about-hero-description{max-width:590px;margin:24px 0 0;color:rgba(255,255,255,.76);font-size:14.5px;line-height:1.85;word-break:keep-all;}
.about-hero-actions{display:flex;align-items:center;gap:28px;margin-top:28px;}
.about-hero-actions a{display:inline-flex;align-items:center;gap:9px;padding:5px 0;color:rgba(255,255,255,.9);font-size:13px;font-weight:600;transition:color .18s;}
.about-hero-actions a:first-child{border-bottom:1px solid rgba(255,255,255,.52);}
.about-hero-actions a:hover{color:#fff;}
.about-hero-actions span{display:block;line-height:1;transition:transform .18s;}
.about-hero-actions a:hover span{transform:translateX(3px);}
.about-facts{display:flex;align-items:stretch;width:min(660px,100%);margin:54px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.22);}
.about-facts>div{min-width:0;padding:0 34px;border-left:1px solid rgba(255,255,255,.18);}
.about-facts>div:first-child{padding-left:0;border-left:0;}
.about-facts dt{color:rgba(255,255,255,.52);font-size:10.5px;letter-spacing:.08em;}
.about-facts dd{margin:4px 0 0;color:#fff;font-size:14px;font-weight:600;}

.about-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(62px,7vw,108px);max-width:1200px;margin:0 auto;padding:120px 24px 126px;}
.about-product-visual{min-width:0;}
.about-product-image{position:relative;overflow:hidden;background:#f4f3f0;}
.about-product-image::after{content:"";position:absolute;inset:0;border:1px solid rgba(23,23,26,.06);pointer-events:none;}
.about-product-image img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;mix-blend-mode:multiply;}
.about-product-visual>p{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:18px 0 0;padding-bottom:14px;border-bottom:1px solid var(--border);font-size:11.5px;}
.about-product-visual>p strong{color:var(--text);font-weight:700;}
.about-product-visual>p span{color:var(--muted);text-align:right;}
.about-intro-copy h2{margin:0;font-family:"Noto Serif KR",serif;font-size:clamp(28px,2.55vw,37px);font-weight:500;line-height:1.52;letter-spacing:-.035em;word-break:keep-all;}
.about-intro-text{margin-top:32px;color:#535358;font-size:14.5px;line-height:1.95;word-break:keep-all;}
.about-intro-text p{margin:0 0 17px;}
.about-signature{display:flex;align-items:baseline;justify-content:flex-end;gap:13px;margin:34px 0 0;color:#77757a;font-size:12.5px;}
.about-signature strong{color:var(--text);font-family:"Noto Serif KR",serif;font-size:21px;font-weight:500;letter-spacing:.04em;}

.about-principles{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#faf9f7;}
.about-principles-inner{display:grid;grid-template-columns:320px minmax(0,1fr);gap:clamp(60px,8vw,130px);max-width:1200px;margin:0 auto;padding:80px 24px;}
.about-principles header h2{margin:0;font-family:"Noto Serif KR",serif;font-size:28px;font-weight:500;line-height:1.5;letter-spacing:-.03em;}
.about-principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.about-principles-grid article{padding:4px 30px 4px;border-left:1px solid #d9d6d0;}
.about-principles-grid article:first-child{padding-left:0;border-left:0;}
.about-principles-grid article:last-child{padding-right:0;}
.about-principles-grid h3{margin:0 0 12px;font-family:"Noto Serif KR",serif;font-size:20px;font-weight:500;color:var(--accent-dark);}
.about-principles-grid p{margin:0;color:#66656a;font-size:13px;line-height:1.8;word-break:keep-all;}

.about-capabilities{background:#15171b;color:#fff;padding:112px 24px 122px;}
.about-capabilities-inner{max-width:1200px;margin:0 auto;}
.about-capabilities .about-section-label{color:#d88980;}
.about-capabilities-head{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:48px;}
.about-capabilities-head h2{margin:0;font-family:"Noto Serif KR",serif;font-size:clamp(31px,3vw,42px);font-weight:500;line-height:1.48;letter-spacing:-.035em;}
.about-capabilities-head>p{max-width:420px;margin:0 0 4px;color:rgba(255,255,255,.58);font-size:13.5px;line-height:1.85;word-break:keep-all;}
.about-capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.about-capability-card{position:relative;isolation:isolate;min-height:430px;overflow:hidden;background:#22252b;}
.about-capability-card>img,.about-capability-shade{position:absolute;inset:0;width:100%;height:100%;}
.about-capability-card>img{z-index:-2;object-fit:cover;transition:transform .55s ease;}
.about-capability-card:hover>img{transform:scale(1.035);}
.about-capability-shade{z-index:-1;background:linear-gradient(180deg,rgba(8,10,13,.06) 26%,rgba(8,10,13,.86) 100%);}
.about-capability-copy{position:absolute;right:24px;bottom:25px;left:24px;}
.about-capability-copy h3{margin:0;font-family:"Noto Serif KR",serif;font-size:20px;font-weight:500;}
.about-capability-copy p{margin:11px 0 0;color:rgba(255,255,255,.66);font-size:12.5px;line-height:1.72;word-break:keep-all;}

.about-history{background:#f3f1ed;padding:120px 24px 128px;}
.about-history-inner{display:grid;grid-template-columns:340px minmax(0,1fr);gap:clamp(70px,9vw,145px);max-width:1100px;margin:0 auto;align-items:start;}
.about-history-head{position:sticky;top:110px;}
.about-history-head h2{margin:0;font-family:"Noto Serif KR",serif;font-size:34px;font-weight:500;line-height:1.5;letter-spacing:-.035em;}
.about-history-head>p:last-child{max-width:290px;margin:22px 0 0;color:#6d6b70;font-size:13.5px;line-height:1.8;word-break:keep-all;}
.timeline{position:relative;}
.timeline::before{content:"";position:absolute;top:9px;bottom:8px;left:99px;width:1px;background:#d3cfc8;}
.timeline-row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:47px;padding:0 0 43px;}
.timeline-row:last-child{padding-bottom:0;}
.timeline-year{font-family:"Noto Serif KR",serif;font-size:21px;font-weight:500;line-height:1.4;color:var(--text);}
.timeline-dot{position:absolute;top:8px;left:95px;width:9px;height:9px;border:2px solid var(--accent);border-radius:50%;background:#f3f1ed;}
.timeline-content{padding-top:2px;}
.timeline-content p{margin:0 0 8px;color:#55545a;font-size:14px;line-height:1.65;word-break:keep-all;}

@media (max-width:980px){
  .about-hero{min-height:620px;}
  .about-hero-inner{min-height:620px;}
  .about-intro{gap:48px;padding-top:94px;padding-bottom:100px;}
  .about-principles-inner{grid-template-columns:1fr;gap:38px;}
  .about-capabilities-head{align-items:flex-start;flex-direction:column;gap:24px;}
  .about-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .about-capability-card{min-height:390px;}
  .about-history-inner{grid-template-columns:280px minmax(0,1fr);gap:60px;}
}
@media (max-width:720px){
  .about-hero h1,.about-hero-description,.about-intro-copy h2,.about-principles h2,.about-capabilities-head h2,.about-history-head h2{max-width:100%;overflow-wrap:anywhere;}
  .about-hero{min-height:680px;}
  .about-hero-media img{object-position:62% center;}
  .about-hero-shade{background:linear-gradient(90deg,rgba(9,13,18,.88),rgba(9,13,18,.48));}
  .about-hero-inner{justify-content:flex-end;width:calc(100% - 40px);min-height:680px;padding:94px 0 42px;}
  .about-hero h1{font-size:33px;line-height:1.42;}
  .about-hero-description{font-size:13px;line-height:1.78;}
  .about-hero-actions{gap:22px;margin-top:22px;}
  .about-facts{margin-top:36px;padding-top:17px;}
  .about-facts>div{padding:0 15px;}
  .about-facts dt{font-size:9.5px;}
  .about-facts dd{font-size:12px;}
  .about-intro{grid-template-columns:1fr;gap:52px;padding:74px 20px 82px;}
  .about-product-visual{max-width:520px;margin:0 auto;}
  .about-product-visual>p{align-items:flex-start;flex-direction:column;gap:4px;}
  .about-product-visual>p span{text-align:left;}
  .about-intro-copy h2{font-size:27px;}
  .about-intro-text{margin-top:25px;font-size:13.5px;line-height:1.9;}
  .about-principles-inner{padding:66px 20px 70px;}
  .about-principles-grid{grid-template-columns:1fr;}
  .about-principles-grid article,.about-principles-grid article:first-child,.about-principles-grid article:last-child{padding:22px 0;border-top:1px solid #d9d6d0;border-left:0;}
  .about-principles-grid article:first-child{border-top:0;}
  .about-capabilities{padding:78px 20px 84px;}
  .about-capabilities-head h2{font-size:29px;}
  .about-capabilities-head>p{font-size:12.5px;}
  .about-capability-grid{grid-template-columns:1fr;gap:12px;}
  .about-capability-card{min-height:380px;}
  .about-history{padding:80px 20px 88px;}
  .about-history-inner{grid-template-columns:1fr;gap:52px;}
  .about-history-head{position:static;}
  .about-history-head h2{font-size:29px;}
  .timeline::before{left:5px;}
  .timeline-row{grid-template-columns:1fr;gap:10px;padding:0 0 36px 30px;}
  .timeline-year{font-size:19px;}
  .timeline-dot{top:7px;left:1px;background:#f3f1ed;}
  .timeline-content p{font-size:13.5px;}
}
@media (max-width:390px){
  .about-hero h1{font-size:29px;}
  .about-facts>div{padding:0 10px;}
  .about-facts dd{font-size:11px;}
  .about-capability-card{min-height:350px;}
}
/* ---------- 카테고리 페이지 ---------- */
.category-header{
  background:var(--bg-soft);text-align:center;padding:50px 20px;
}
.category-header h1{font-size:26px;}
.category-header p{color:var(--muted);margin-top:8px;}
.category-header--visual{
  position:relative;min-height:270px;padding:64px 20px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;text-align:center;color:var(--text);background:#eeede9;border-bottom:1px solid #e2e1dc;
}
.category-header--visual .category-header-media,.category-header--visual .category-header-shade{position:absolute;inset:0;}
.category-header--visual .category-header-media picture{display:block;width:100%;height:100%;}
.category-header--visual .category-header-media{
  background:linear-gradient(180deg,#f2f1ed 0%,#e9e8e3 100%);
}
.category-header--visual .category-header-media img{
  width:100%;height:100%;object-fit:contain;object-position:74% center;
}
.category-header--visual .category-header-shade{
  background:linear-gradient(90deg,rgba(238,237,233,.99) 0%,rgba(238,237,233,.95) 38%,rgba(238,237,233,.52) 58%,rgba(238,237,233,0) 76%);
}
.category-header--visual .category-header-content{
  position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto;
  padding:0 56px;text-align:left;
}
.category-header--visual h1{
  font-family:var(--font-serif);font-size:clamp(30px,4vw,44px);
  line-height:1.25;letter-spacing:-.02em;text-shadow:none;color:#1f2023;
}
.category-header--visual .category-header-description{
  max-width:540px;margin:14px 0 0;color:#4f5258;
  font-size:14px;font-weight:500;line-height:1.65;letter-spacing:-.015em;
  word-break:keep-all;
}
.category-header--visual .category-header-count{
  margin:9px 0 0;color:#74777d;
  font-size:12px;font-weight:500;letter-spacing:.035em;
}
@media (max-width:600px){
  .category-header--visual{min-height:250px;padding:44px 0;}
  .category-header--visual .category-header-content{padding:0 22px;}
  .category-header--visual h1{max-width:46%;font-size:26px;word-break:keep-all;overflow-wrap:anywhere;}
  .category-header--visual .category-header-description{max-width:49%;font-size:12px;line-height:1.55;}
  .category-header--visual .category-header-count{max-width:49%;margin-top:7px;font-size:11px;line-height:1.45;}
}

/* ---------- 사이드바형 카테고리 목록 (네이버 블로그 느낌) ---------- */
.layout-with-side{max-width:1200px;margin:0 auto;padding:50px 20px;display:grid;grid-template-columns:220px 1fr;gap:40px;}
.side-cats{position:sticky;top:92px;align-self:start;max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:auto;border:1px solid var(--border);background:#fff;}
.side-cats-title{padding:14px 16px;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:12px;font-weight:700;letter-spacing:.14em;}
.side-cats a{display:block;padding:10px 16px;font-size:14px;border-bottom:1px solid var(--border);color:#444;}
.side-cats a.active,.side-cats a:hover{color:var(--accent);background:#fafafa;font-weight:600;}
@media (max-width:800px){.layout-with-side{grid-template-columns:1fr;}.side-cats{position:static;max-height:none;overflow:visible;}}

/* ---------- 푸터 ---------- */
.site-footer{
  background:var(--dark);color:#999;font-size:13px;
  border-top:1px solid #29282c;
}
.footer-top{
  max-width:1200px;margin:0 auto;padding:30px 24px 20px;
  display:grid;grid-template-columns:1.55fr .72fr .92fr 1fr;
  column-gap:clamp(38px,5vw,76px);align-items:start;
}
.footer-service{min-width:0}
.footer-service-label{
  display:flex;align-items:center;gap:8px;margin:1px 0 10px;
  color:#f2f2f3;font-size:13.5px;font-weight:700;letter-spacing:-.015em;
}
.footer-service-label svg{width:18px;height:18px}
.footer-tel{
  display:inline-block;color:#d2d2d7;
  font-size:clamp(24px,2vw,30px);line-height:1.12;letter-spacing:-.035em;font-weight:500;
}
.footer-hours{margin:3px 0 8px;color:#8f8f94;font-size:11.5px;letter-spacing:.01em}
.footer-contact-lines{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 18px;margin-top:0;
}
.footer-contact-lines p{display:flex;align-items:baseline;gap:8px;margin:0;color:#8f8f94;line-height:1.45}
.footer-contact-lines p span{min-width:auto;color:#6e6e75;font-size:9.5px;font-weight:700;letter-spacing:.08em}
.footer-contact-lines a{color:inherit}
.footer-contact-lines .footer-address{display:flex;margin:0;color:#8f8f94}
.footer-col{padding:0;border:0;min-width:0}
.footer-col h4{
  margin:1px 0 10px;color:#f2f2f3;font-size:13.5px;
  font-weight:700;letter-spacing:-.015em;
}
.footer-col a{
  display:flex;align-items:center;width:max-content;max-width:100%;
  margin:0 0 9px;color:#8f8f94;line-height:1.45;font-size:13px;
  transition:color .18s ease;
}
.footer-col a:hover{color:#fff}
.footer-external::after{content:"↗";margin-left:6px;color:#6e6e75;font-size:11px;transform:translateY(-1px)}
.footer-company{
  max-width:1200px;margin:0 auto;padding:11px 24px 13px;
  border-top:1px solid #2b2a2f;
}
.footer-company-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 0;color:#74747b;font-size:11px;line-height:1.55}
.footer-company-meta strong{color:#99999f;font-weight:650}
.footer-company-meta span::before{content:"";display:inline-block;width:1px;height:9px;margin:0 10px;background:#343339;vertical-align:-1px}
.footer-company>p{margin:5px 0 0;color:#68686f;font-size:10px;letter-spacing:.025em}
@media (max-width:900px){
  .footer-top{grid-template-columns:1fr 1fr 1fr;column-gap:38px;row-gap:25px;padding-top:30px}
  .footer-service{grid-column:1 / -1}
}
@media (max-width:620px){
  .footer-top{grid-template-columns:1fr 1fr;column-gap:28px;row-gap:23px;padding:28px 22px 22px}
  .footer-service{grid-column:1 / -1;padding-bottom:2px}
  .footer-service-label{margin-bottom:7px}
  .footer-tel{font-size:27px}
  .footer-hours{margin:3px 0 10px}
  .footer-contact-lines{display:grid;gap:2px;margin-top:0}
  .footer-contact-lines p{gap:9px}
  .footer-contact-lines p span{min-width:44px}
  .footer-col:last-child{grid-column:1 / -1}
  .footer-company{margin:0 22px;padding:11px 0 14px}
  .footer-company-meta{display:block}
  .footer-company-meta strong,.footer-company-meta span{display:block}
  .footer-company-meta span::before{display:none}
  .footer-company>p{margin-top:8px;line-height:1.5}
}
/* ---------- 법률·정책 페이지 ---------- */
.legal-page{max-width:900px}
.legal-hero{padding:12px 0 38px;border-bottom:1px solid var(--border)}
.legal-kicker{margin:0 0 13px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em}
.legal-hero h1{margin:0 0 13px;font-size:clamp(34px,5vw,50px);letter-spacing:-.045em}
.legal-hero>p:not(.legal-kicker){margin:0;color:#626975;line-height:1.75}
.legal-hero>span{display:inline-block;margin-top:17px;color:#8a919d;font-size:12px}
.legal-content{color:#4d5562;line-height:1.85}
.legal-content section{padding:27px 0;border-bottom:1px solid #e9ebee}
.legal-content h2{margin:0 0 11px;color:#202735;font-size:18px;letter-spacing:-.02em}
.legal-content p{margin:0}
.legal-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.email-policy-notice{display:grid;grid-template-columns:52px 1fr;gap:25px;margin:48px 0 10px;padding:34px 36px;border:1px solid #dfe3e8}
.email-policy-notice>svg{width:42px;height:42px;color:var(--accent)}
.email-policy-notice h2{margin:2px 0 13px;color:#202735;font-size:21px}
.email-policy-notice p{margin:0 0 10px;color:#565f6d;line-height:1.85}
.email-policy-notice .email-policy-date{margin-top:18px;color:#939aa5;font-size:12px}
@media(max-width:620px){
  .legal-hero{padding-bottom:30px}
  .legal-content section{padding:24px 0}
  .email-policy-notice{grid-template-columns:1fr;gap:16px;margin-top:34px;padding:26px 22px}
  .email-policy-notice>svg{width:36px;height:36px}
}
/* ---------- 관리자 공통 ---------- */
.admin-wrap{max-width:960px;margin:40px auto;padding:0 20px;}
.admin-card{border:1px solid var(--border);padding:32px;border-radius:4px;}
.admin-login{max-width:380px;margin:100px auto;}
.form-row{margin-bottom:18px;}
.form-row label{display:block;font-weight:600;margin-bottom:6px;font-size:14px;}
.form-row input[type=text],
.form-row input[type=password],
.form-row input[type=file],
.form-row select,
.form-row textarea{
  width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:3px;font-size:14px;font-family:inherit;
}
.form-row textarea{min-height:260px;resize:vertical;}
.field-hint{margin:6px 0 0;color:#888;font-size:12px;line-height:1.5;}
.seo-auto-note{
  display:flex;align-items:flex-start;gap:12px;margin:0 0 22px;padding:13px 15px;
  border:1px solid var(--border);background:var(--bg-soft);font-size:12px;line-height:1.55;
}
.seo-auto-note strong{flex:none;color:var(--text);}
.seo-auto-note span{color:#777;}
.admin-table{width:100%;border-collapse:collapse;font-size:14px;}
.admin-table th,.admin-table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;}
.admin-table thead{background:var(--bg-soft);}
.admin-topbar{
  display:flex;justify-content:space-between;align-items:center;
  max-width:960px;margin:30px auto 10px;padding:0 20px;
}
.admin-topbar h1{font-size:20px;}
.btn-sm{padding:6px 14px;font-size:13px;}
.badge{display:inline-block;background:var(--bg-soft);padding:2px 8px;border-radius:10px;font-size:12px;color:var(--muted);}
.alert{padding:12px 16px;border-radius:3px;margin-bottom:20px;font-size:14px;}
.alert-error{background:#fdecea;color:#b71c1c;}
.alert-success{background:#e8f5e9;color:#1b5e20;}
.thumb-preview{width:120px;height:90px;object-fit:cover;border:1px solid var(--border);}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
