/* ============================================================
   방패세무그룹 — 메인 페이지 전용 리디자인 레이어
   (index.html 에서만 로드 · style.css 위에 덮어씀)
   Navy · Gold · Cream editorial
   ============================================================ */

.home{
  --ink: #0B1426;
  --paper: #F5F1E8;
  --paper-2: #FBF9F4;
  --grid-line: rgba(13,35,67,0.05);
  --ease-out: cubic-bezier(.19,1,.22,1);
  --ease-soft: cubic-bezier(.22,.9,.32,1);
}
.home ::selection{background:var(--gold); color:var(--navy-deep);}
.home main{overflow-x:clip;}

/* ---------- 공통: 섹션 라벨 · 제목 ---------- */
.home .section-label{
  display:inline-flex; align-items:center; gap:0; margin-bottom:22px;
  font-size:12.5px; letter-spacing:3px; font-weight:700; color:var(--navy);
}
.home .section-label::before{display:none;}
.home .section-label em{
  font-style:normal; font-family:'Noto Serif KR',serif; letter-spacing:0;
  color:var(--gold); font-size:15px; font-weight:700;
  display:inline-flex; align-items:center; gap:12px; margin-right:12px;
}
.home .section-label em::after{content:""; width:34px; height:1px; background:var(--gold); display:inline-block;}
.home .section-label.light{color:rgba(255,255,255,0.85);}

.home .section-head{max-width:640px; margin-bottom:0;}
.home .section-head h2{
  font-size:clamp(30px, 3.5vw, 48px); font-weight:800; letter-spacing:-1.4px;
  line-height:1.22; color:var(--ink); word-break:keep-all;
}
.home .section-head p{font-size:16px; line-height:1.8; color:#5A6070; margin-top:20px; word-break:keep-all;}

.sec-head-split{
  display:flex; justify-content:space-between; align-items:flex-end; gap:40px;
  margin-bottom:64px;
}

/* ---------- 헤더: 히어로 위에서는 투명 → 스크롤 시 유리 질감 ---------- */
.home header{
  background:transparent; border-bottom-color:transparent; backdrop-filter:none;
  transition:background .45s ease, border-color .45s ease, backdrop-filter .45s ease;
}
.home header.scrolled,
.home header:hover,
.home header:has(.nav-zone.open){
  background:rgba(8,24,51,0.9);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:rgba(200,167,90,0.18);
}
.scroll-progress{
  position:absolute; left:0; bottom:-1px; height:2px; width:100%;
  background:linear-gradient(90deg, var(--gold), var(--gold-light));
  transform-origin:0 50%; transform:scaleX(0); pointer-events:none;
}

/* ---------- 버튼 ---------- */
.home .btn-gold{border-radius:0; letter-spacing:-0.2px;}
.home .btn-ghost{border-radius:0;}
.btn-arrow .arr{display:inline-block; margin-left:10px; transition:transform .35s var(--ease-soft);}
.btn-arrow:hover .arr{transform:translateX(5px);}

/* ============================================================
   HERO
   ============================================================ */
.home .hero{
  min-height:100vh; min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding:128px 0 200px; background:var(--navy-deep);
}
.home .hero::after{display:none;}
.home .hero .hero-photos .hp{
  transform:scale(1.14);
  transition:opacity 1.8s ease, transform 8s cubic-bezier(.25,.6,.3,1);
}
.home .hero .hero-photos .hp.on{transform:scale(1.0);}
.home .hero .hero-overlay{
  background:
    linear-gradient(180deg, rgba(8,24,51,0.50) 0%, rgba(8,24,51,0) 20%),
    linear-gradient(0deg, rgba(8,24,51,0.62) 0%, rgba(8,24,51,0) 32%),
    linear-gradient(100deg, rgba(8,24,51,0.82) 0%, rgba(8,24,51,0.60) 32%, rgba(8,24,51,0.16) 62%, rgba(8,24,51,0) 100%);
}
@media(max-width:900px){
  .home .hero .hero-overlay{background:linear-gradient(180deg, rgba(8,24,51,0.55) 0%, rgba(8,24,51,0.42) 40%, rgba(8,24,51,0.70) 100%);}
}
.hero-grid{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background-image:
    linear-gradient(rgba(228,201,138,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(228,201,138,0.07) 1px, transparent 1px);
  background-size:88px 88px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 72% 45%, #000 10%, transparent 72%);
          mask-image:radial-gradient(ellipse 70% 80% at 72% 45%, #000 10%, transparent 72%);
}
.hero-shield{
  position:absolute; z-index:2; right:5%; top:50%;
  height:min(72vh, 640px); width:auto; transform:translateY(-50%);
  fill:none; stroke:rgba(228,201,138,0.5); stroke-width:0.6;
  pointer-events:none; opacity:.9;
}
.hero-shield path{stroke-dasharray:900; stroke-dashoffset:900; animation:shieldDraw 3.2s .5s var(--ease-soft) forwards;}
.hero-shield path.inner{stroke:rgba(228,201,138,0.26); animation-delay:1s;}
.hero-shield .glint{fill:var(--gold-light); stroke:none; opacity:0; animation:glint 3s 3.4s ease-in-out infinite;}
@keyframes shieldDraw{to{stroke-dashoffset:0;}}
@keyframes glint{0%,100%{opacity:0;} 50%{opacity:.9;}}

.home .hero-inner{width:100%;}
.home .hero-eyebrow{
  display:inline-flex; align-items:center; gap:14px;
  font-size:13px; letter-spacing:3px; font-weight:600; color:var(--gold-light);
  margin-bottom:30px;
  opacity:0; animation:fadeUp .9s .1s var(--ease-out) forwards;
}
.eb-line{display:inline-block; height:1px; width:0; background:var(--gold); animation:ebLine 1.2s .3s var(--ease-out) forwards;}
@keyframes ebLine{to{width:46px;}}

.home .hero h1.hero-title{
  font-size:clamp(34px, 4.5vw, 64px); font-weight:700; line-height:1.3;
  letter-spacing:-1.5px; max-width:none; color:#fff;
}
.hero-title .ln{display:block; overflow:hidden; padding:0.04em 0 0.08em;}
.hero-title .ln > span{
  display:inline-block; transform:translateY(110%);
  animation:lineUp 1.25s var(--ease-out) forwards;
}
.hero-title .ln:nth-child(1) > span{animation-delay:.25s;}
.hero-title .ln:nth-child(2) > span{animation-delay:.4s;}
.hero-title .ln:nth-child(3) > span{animation-delay:.55s;}
.hero-title em{
  font-style:normal;
  background:linear-gradient(100deg, #F3DDA6 0%, var(--gold) 45%, #F1D79B 70%, var(--gold) 100%);
  background-size:220% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:goldSheen 6s 1.8s ease-in-out infinite;
}
@keyframes lineUp{to{transform:translateY(0);}}
@keyframes goldSheen{0%,100%{background-position:0% 50%;} 50%{background-position:100% 50%;}}
@media(min-width:901px){ .hero-title .ln{white-space:nowrap;} }

.home .hero p.hero-lead br{display:none;}
.home .hero p.hero-lead{
  max-width:600px; font-size:17px; line-height:1.85; margin-top:30px; text-wrap:pretty;
  color:rgba(255,255,255,0.7); word-break:keep-all;
  opacity:0; animation:fadeUp 1s .85s var(--ease-out) forwards;
}
.home .hero .hero-actions{margin-top:44px; opacity:0; animation:fadeUp 1s 1s var(--ease-out) forwards;}
@keyframes fadeUp{from{opacity:0; transform:translateY(22px);} to{opacity:1; transform:translateY(0);}}

.hero-foot{
  position:absolute; left:0; right:0; bottom:134px; z-index:3;
  max-width:1180px; margin:0 auto; padding:0 32px;
  display:flex; align-items:center; gap:22px;
  opacity:0; animation:fadeUp 1s 1.3s var(--ease-out) forwards;
}
.hero-counter{font-size:13px; letter-spacing:2px; color:rgba(255,255,255,0.55); font-weight:600; font-variant-numeric:tabular-nums;}
.hero-counter b{color:#fff; font-weight:700;}
.hero-counter span{margin:0 6px;}
.hero-progress{position:relative; width:180px; height:1px; background:rgba(255,255,255,0.22); overflow:hidden;}
.hero-progress i{position:absolute; inset:0; background:var(--gold-light); transform-origin:0 50%; transform:scaleX(0);}
.hero-progress i.run{animation:heroBar var(--hero-ms, 6000ms) linear forwards;}
@keyframes heroBar{to{transform:scaleX(1);}}
.hero:not(.has-photo) .hero-counter,
.hero:not(.has-photo) .hero-progress{visibility:hidden;}
.hero-scroll{
  margin-left:auto; display:flex; align-items:center; gap:14px;
  font-size:11px; letter-spacing:3px; color:rgba(255,255,255,0.6); font-weight:600;
}
.hero-scroll span{position:relative; width:1px; height:46px; background:rgba(255,255,255,0.22); overflow:hidden;}
.hero-scroll span::after{
  content:""; position:absolute; left:0; top:-40%; width:1px; height:40%;
  background:var(--gold-light); animation:scrollCue 2.2s ease-in-out infinite;
}
@keyframes scrollCue{0%{top:-40%;} 100%{top:100%;}}
.hero-scroll:hover{color:var(--gold-light);}

/* ============================================================
   QUICK — 검색 + 핵심 지표 (히어로 하단에 겹치는 카드)
   ============================================================ */
.home .quick{padding:0; position:relative; z-index:5; background:#fff;}
.quick-card{
  position:relative; margin-top:-104px; background:#fff;
  box-shadow:0 40px 90px rgba(8,24,51,0.18);
  padding:46px 54px 0; border-top:3px solid var(--gold);
}
.qs{display:grid; grid-template-columns:auto 1fr; gap:14px 34px; align-items:center;}
.qs-label{font-size:19px; font-weight:800; color:var(--ink); letter-spacing:-0.5px; white-space:nowrap;}
.qs-form{position:relative;}
.qs-form input{
  width:100%; height:62px; border:none; border-bottom:2px solid var(--ink); border-radius:0;
  padding:0 66px 0 4px; font-size:17px; font-family:inherit; background:transparent; color:var(--ink);
  -webkit-appearance:none; appearance:none; transition:border-color .3s;
}
.qs-form input::-webkit-search-cancel-button{display:none;}
.qs-form input:focus{outline:none; border-bottom-color:var(--gold);}
.qs-form input::placeholder{color:#9AA0AB;}
.qs-btn{
  position:absolute; right:2px; top:50%; transform:translateY(-50%);
  width:50px; height:50px; border-radius:50%; background:var(--navy); color:#fff;
  display:flex; align-items:center; justify-content:center; transition:background .3s, color .3s;
}
.qs-btn:hover{background:var(--gold); color:var(--navy-deep);}
.qs-tags{grid-column:2; display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.qs-tags-label{font-size:12px; font-weight:700; color:#9AA0AB; margin-right:4px; letter-spacing:.5px;}
.qs-tags button{font-size:13px; color:#4A5160; padding:6px 13px; border-radius:30px; background:#F3F1EC; transition:background .25s, color .25s;}
.qs-tags button:hover{background:var(--navy); color:#fff;}
.qs-tags .qs-ai{
  margin-left:auto; display:inline-flex; align-items:center; gap:9px;
  background:linear-gradient(100deg, var(--navy) 0%, #1C3F72 100%); color:#fff;
  padding:10px 18px 10px 15px; font-weight:700; font-size:13.5px;
  box-shadow:0 10px 24px rgba(13,35,67,0.25);
}
.qs-ai i{width:8px; height:8px; border-radius:50%; background:#3DD68C; box-shadow:0 0 0 3px rgba(61,214,140,.25); animation:pulseDot 1.8s ease-in-out infinite;}
.qs-ai span{transition:transform .3s var(--ease-soft);}
.qs-tags .qs-ai:hover{background:linear-gradient(100deg, var(--gold) 0%, var(--gold-light) 100%); color:var(--navy-deep);}
.qs-ai:hover span{transform:translateX(4px);}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 3px rgba(61,214,140,.25);} 50%{box-shadow:0 0 0 6px rgba(61,214,140,0);}}
.qs-results{
  position:absolute; left:0; right:0; top:calc(100% + 10px); z-index:40;
  background:#fff; border:1px solid var(--line); box-shadow:0 26px 54px rgba(8,24,51,.18);
  max-height:430px; overflow:auto; display:none;
}
.qs-results.open{display:block; animation:fadeUp .35s var(--ease-out);}
.qr-group{padding:10px 0;}
.qr-group + .qr-group{border-top:1px solid var(--line);}
.qr-head{font-size:11px; font-weight:700; letter-spacing:1.6px; color:var(--gold); padding:6px 20px 6px;}
.qr-item{
  display:flex; justify-content:space-between; align-items:center; gap:14px; width:100%;
  text-align:left; padding:11px 20px; font-size:14.5px; color:var(--ink); background:none;
}
.qr-item small{color:#8A909C; font-size:12.5px; flex-shrink:0;}
.qr-item:hover, .qr-item.active{background:#F6F2E9;}
.qr-item mark{background:none; color:#A8843A; font-weight:800;}
.qr-empty{padding:18px 20px; font-size:14px; color:#6B7280; line-height:1.7;}
.qr-empty button{color:var(--navy); font-weight:700; text-decoration:underline; background:none;}

.home .qstats{
  max-width:none; margin-top:36px; padding:28px 0 32px;
  border-top:1px solid var(--line);
}
.home .qstats .stat{border-left:1px solid var(--line);}
.home .qstats .stat:first-child{border-left:none;}
.home .qstats .stat b{
  font-size:clamp(26px, 2.6vw, 38px); font-weight:800; letter-spacing:-1px; line-height:1.15;
  color:var(--navy); font-variant-numeric:tabular-nums;
}
.home .qstats .stat > span{font-size:13px; letter-spacing:.5px; margin-top:8px; color:#6B7280;}
.home .qstats .stat b .count{display:inline; font-size:inherit; color:inherit; margin:0; letter-spacing:inherit;}

/* ============================================================
   CLIENTS — 개인 / 사업자 (지그재그)
   ============================================================ */
.home .clients{padding:150px 0 130px; background:#fff;}
.client-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:64px; align-items:start;}
.client-panel.alt{margin-top:110px;}
.cp-media{position:relative; aspect-ratio:16 / 10; overflow:hidden;}
.cp-media > div{position:absolute; inset:-9% 0; background-size:cover; background-position:center; will-change:transform;}
.cp-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,24,51,0) 35%, rgba(8,24,51,0.5)); transition:background .5s;}
.client-panel:hover .cp-media::after{background:linear-gradient(180deg, rgba(8,24,51,0.1) 0%, rgba(8,24,51,0.62));}
.cp-body{
  position:relative; margin:-76px 30px 0; background:#fff; padding:38px 38px 36px;
  box-shadow:0 30px 64px rgba(13,35,67,0.12); border-top:3px solid var(--gold);
  transition:transform .6s var(--ease-soft), box-shadow .6s var(--ease-soft);
}
.client-panel.alt .cp-body{border-top-color:var(--navy);}
.client-panel:hover .cp-body{transform:translateY(-8px); box-shadow:0 40px 80px rgba(13,35,67,0.16);}
.cp-tag{font-size:11px; letter-spacing:3px; font-weight:700; color:var(--gold);}
.client-panel.alt .cp-tag{color:var(--navy);}
.cp-body h3{font-size:clamp(22px, 2vw, 28px); font-weight:800; color:var(--ink); letter-spacing:-0.8px; margin-top:10px;}
.cp-body p{font-size:15px; line-height:1.85; color:#5A6070; margin-top:14px; word-break:keep-all;}
.cp-links{display:flex; flex-wrap:wrap; gap:8px; margin-top:24px;}
.cp-links a{
  font-size:13px; font-weight:600; color:var(--navy); padding:8px 14px;
  border:1px solid rgba(13,35,67,0.16); border-radius:30px; transition:background .3s, color .3s, border-color .3s;
}
.cp-links a:hover{background:var(--navy); color:#fff; border-color:var(--navy);}

/* ============================================================
   FAQ — 아코디언
   ============================================================ */
.home .faq{padding:150px 0; background:#fff;}
.faq-grid{display:grid; grid-template-columns:0.78fr 1.22fr; gap:90px; align-items:start;}
.faq-side{position:sticky; top:124px;}
.faq-side h2{font-size:clamp(32px, 3.6vw, 50px); font-weight:800; letter-spacing:-1.6px; line-height:1.2; color:var(--ink);}
.faq-side p{font-size:15.5px; line-height:1.85; color:#5A6070; margin-top:22px; word-break:keep-all;}
.faq-actions{display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-top:36px;}
.faq-item{border-top:1px solid rgba(13,35,67,0.14);}
.faq-item:last-child{border-bottom:1px solid rgba(13,35,67,0.14);}
.faq-item summary{
  list-style:none; cursor:pointer; position:relative;
  padding:26px 60px 26px 0; display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px;
  font-size:18px; font-weight:700; color:var(--ink); letter-spacing:-0.4px; word-break:keep-all;
  transition:color .3s;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::before,
.faq-item summary::after{
  content:""; position:absolute; right:8px; top:50%; width:16px; height:2px; background:var(--ink);
  transition:transform .45s var(--ease-soft), background .3s;
}
.faq-item summary::after{transform:rotate(90deg);}
.faq-item[open] summary::after{transform:rotate(0);}
.faq-item summary:hover{color:#A8843A;}
.faq-item summary:hover::before, .faq-item summary:hover::after{background:var(--gold);}
.fq-cat{
  font-size:11.5px; font-weight:700; letter-spacing:.3px; color:#A8843A;
  border:1px solid rgba(200,167,90,0.55); padding:4px 11px; border-radius:30px;
}
.fq-a{padding:0 60px 28px 0; font-size:15.5px; line-height:1.9; color:#4A5160; word-break:keep-all; animation:faqOpen .5s var(--ease-soft);}
@keyframes faqOpen{from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:none;}}

/* ============================================================
   MARQUEE (15개 센터)
   ============================================================ */
.marquee{
  background:var(--navy); overflow:hidden; white-space:nowrap;
  border-top:1px solid rgba(200,167,90,0.14); border-bottom:1px solid rgba(200,167,90,0.14);
  padding:26px 0; position:relative;
}
.marquee::before, .marquee::after{
  content:""; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none;
}
.marquee::before{left:0; background:linear-gradient(90deg, var(--navy), transparent);}
.marquee::after{right:0; background:linear-gradient(-90deg, var(--navy), transparent);}
.marquee-track{display:inline-flex; align-items:center; animation:marquee 60s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track span{
  font-size:clamp(20px, 2.2vw, 30px); font-weight:800; letter-spacing:-0.6px;
  color:var(--gold-light); padding:0 4px;
}
.marquee-track span:nth-of-type(even){color:transparent; -webkit-text-stroke:1px rgba(228,201,138,0.7);}
.marquee-track i{
  font-style:normal; color:var(--gold); font-size:12px; margin:0 30px;
  display:inline-block; transform:translateY(-2px);
}
@keyframes marquee{to{transform:translateX(-50%);}}

/* ============================================================
   ABOUT (크림 · 그리드 페이퍼)
   ============================================================ */
.home #about{
  padding:150px 0;
  background-color:var(--paper);
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:44px 44px;
}
.about-wrap{display:grid; grid-template-columns:0.92fr 1.08fr; gap:96px; align-items:center;}
.about-media{position:relative; aspect-ratio:4 / 5; max-width:520px;}
.about-media::before{
  content:""; position:absolute; inset:9% 0 0 11%;
  border:1px solid var(--gold); z-index:0;
}
.am-main{
  position:absolute; inset:0 11% 9% 0; z-index:1; overflow:hidden;
  box-shadow:0 44px 90px rgba(13,35,67,0.28);
}
.am-main > div{position:absolute; inset:-8% 0; background-size:cover; background-position:center 30%; will-change:transform;}
.am-main::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(8,24,51,0.55));}
.am-badge{
  position:absolute; right:0; bottom:0; z-index:2;
  background:var(--navy-deep); color:#fff; padding:26px 28px 24px;
  display:flex; align-items:center; gap:16px;
  box-shadow:0 24px 50px rgba(8,24,51,0.35);
}
.am-badge img{width:48px; height:48px; border-radius:8px; flex-shrink:0;}
.am-badge b{display:block; font-size:16px; font-weight:800; letter-spacing:-0.2px;}
.am-badge span{display:block; color:var(--gold-light); font-size:10px; letter-spacing:1.6px; margin-top:4px; font-weight:600;}

.home .about-body .section-head{margin-bottom:34px;}
.home .about-copy p{font-size:16.5px; line-height:2; color:#39404F; margin-bottom:18px; word-break:keep-all;}
.home .about-copy p:last-child{margin-bottom:0;}
.home .about-points{display:block; margin-top:44px; gap:0; background:none; border:none;}
.home .about-point{
  display:grid; grid-template-columns:64px 1fr; align-items:baseline;
  background:none; border:none; border-top:1px solid rgba(13,35,67,0.14);
  border-radius:0 !important; box-shadow:none; padding:22px 0;
  transition:padding .4s var(--ease-soft), background .4s ease;
}
.home .about-point:last-child{border-bottom:1px solid rgba(13,35,67,0.14);}
.home .about-point:hover{transform:none; box-shadow:none; padding-left:14px; background:rgba(200,167,90,0.07);}
.home .about-point b{grid-column:1 / -1; display:grid; grid-template-columns:64px 1fr; font-size:17px; color:var(--ink); margin-bottom:6px;}
.home .about-point b .ap-mark{color:var(--gold); font-size:15px;}
.home .about-point:nth-child(2) b .ap-mark{color:var(--gold);}
.home .about-point > span{grid-column:2; font-size:14.5px; color:#5A6070; line-height:1.7;}
.home .about-point b .ap-mark{margin-right:0;}

/* ============================================================
   BRAND FILM (다크 · 시네마틱)
   ============================================================ */
.home .brandfilm{
  position:relative; padding:150px 0; overflow:hidden;
  background:
    radial-gradient(ellipse 60% 70% at 85% 40%, rgba(200,167,90,0.12), transparent 60%),
    linear-gradient(160deg, #0B1E3B 0%, #06132A 100%);
}
.bf-bgword{
  position:absolute; left:-2vw; bottom:-3.2vw; z-index:0; pointer-events:none;
  font-size:21vw; font-weight:900; letter-spacing:-0.8vw; line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(228,201,138,0.09);
  white-space:nowrap; will-change:transform;
}
.home .brandfilm-inner{position:relative; z-index:1; grid-template-columns:0.9fr 1.1fr; gap:80px;}
.home .bf-text h2{font-size:clamp(28px, 3.1vw, 44px); line-height:1.36; letter-spacing:-1px; word-break:keep-all;}
.home .bf-en{font-size:14px; letter-spacing:2px; text-transform:uppercase; margin-top:22px; color:var(--gold-light);}
.home .bf-lead{font-size:16px; margin-top:38px;}
.home .bf-quote{
  font-size:17px; margin-top:30px; padding-left:18px;
  border-left:2px solid var(--gold);
}
.home .bf-video{
  border-radius:0; overflow:visible; background:none; box-shadow:none;
  aspect-ratio:16 / 9;
}
.bf-frame{position:absolute; inset:0; overflow:hidden; background:#06132A; box-shadow:0 50px 100px rgba(0,0,0,0.55);}
.home .bf-video::before{
  content:""; position:absolute; inset:-18px -18px 18px 18px; z-index:-1;
  border:1px solid rgba(200,167,90,0.45);
  transition:transform .6s var(--ease-soft);
}
.home .bf-video:hover::before{transform:translate(-8px, 8px);}
.home .bf-thumb{opacity:.88; transition:opacity .5s ease, transform 1.2s var(--ease-soft);}
.home .bf-video:hover .bf-thumb{opacity:1; transform:scale(1.045);}
.bf-frame::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,19,42,0) 45%, rgba(6,19,42,0.82) 100%);}
.home .bf-play{
  width:92px; height:92px; border-radius:50%; background:#fff; z-index:2;
  box-shadow:0 18px 40px rgba(0,0,0,0.35);
}
.home .bf-play::after{border-width:12px 0 12px 20px; border-color:transparent transparent transparent var(--navy-deep); transform:translate(-35%,-50%);}
.home .bf-play::before{
  content:""; position:absolute; inset:-12px; border-radius:50%;
  border:1px solid rgba(228,201,138,0.8); animation:ring 2.4s ease-out infinite;
}
@keyframes ring{0%{transform:scale(.85); opacity:1;} 100%{transform:scale(1.55); opacity:0;}}
.home .bf-video:hover .bf-play{transform:translate(-50%,-50%) scale(1.08);}
.bf-caption{
  position:absolute; left:28px; right:28px; bottom:24px; z-index:2;
  color:#fff; font-size:15px; font-weight:600; letter-spacing:-0.2px; line-height:1.5;
}
.bf-caption b{display:block; font-size:11px; letter-spacing:3px; color:var(--gold-light); margin-bottom:6px; font-weight:700;}

/* ============================================================
   CENTERS — Canva 포토 카드 (사진에는 글자 없음 · 글자는 HTML)
   ============================================================ */
.home .centers{
  padding:150px 0 140px;
  background:var(--paper-2);
}
.big-count{
  font-size:clamp(120px, 15vw, 210px); font-weight:900; line-height:.78; letter-spacing:-8px;
  color:transparent; -webkit-text-stroke:1.5px rgba(200,167,90,0.55);
  user-select:none; flex-shrink:0;
}
.home .centers .center-grid{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; background:none; border:none;}
.home .centers .center-card.cc{
  position:relative; isolation:isolate; display:flex; flex-direction:column;
  aspect-ratio:16/10; min-height:0; padding:0; overflow:hidden; border-radius:14px;
  background:#0B1426; border:1px solid rgba(13,35,67,0.10);
  box-shadow:0 18px 40px -26px rgba(13,35,67,0.55);
  transition:transform .55s var(--ease-soft), box-shadow .55s var(--ease-soft), border-color .4s ease;
}
.home .centers .cc .cc-media{position:absolute; inset:0; z-index:-2;}
.home .centers .cc .cc-media img{width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 1.3s var(--ease-soft);}
.home .centers .center-card.cc::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(8,17,36,0.92) 0%, rgba(8,17,36,0.74) 40%, rgba(8,17,36,0.28) 76%, rgba(8,17,36,0.12) 100%),
    linear-gradient(0deg, rgba(8,17,36,0.55) 0%, rgba(8,17,36,0) 55%);
  transition:opacity .5s ease;
}
.home .centers .cc .center-body{position:relative; z-index:1; flex:1; display:flex; flex-direction:column; padding:24px 26px 22px; max-width:80%;}
.home .centers .cc .center-num{display:flex; align-items:center; gap:10px; font-family:'Noto Serif KR',serif; font-size:15px; font-weight:700; color:var(--gold);}
.home .centers .cc .center-num::after{content:""; width:28px; height:1px; background:rgba(228,201,138,0.6); transition:width .5s var(--ease-soft);}
.home .centers .cc h3{margin-top:auto; font-size:21px; font-weight:800; line-height:1.3; letter-spacing:-.04em; color:#fff; word-break:keep-all;}
.home .centers .cc p{margin-top:7px; font-size:13.5px; line-height:1.6; color:rgba(255,255,255,0.74); word-break:keep-all;}
.home .centers .cc .center-more{display:inline-flex; align-items:center; gap:8px; margin-top:14px; font-size:13px; font-weight:700; color:var(--gold-light);}
.home .centers .cc .center-more i{
  font-style:normal; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-size:12px;
  border:1px solid rgba(228,201,138,0.55); transition:background .3s ease, color .3s ease, transform .45s var(--ease-soft);
}
.home .centers .cc .center-body::after{
  content:""; position:absolute; left:26px; right:26px; bottom:0; height:2px;
  background:linear-gradient(90deg, var(--gold), rgba(200,167,90,0)); transform:scaleX(0); transform-origin:left;
  transition:transform .6s var(--ease-soft);
}
.home .centers .center-card.cc:hover{transform:translateY(-8px); border-color:rgba(200,167,90,0.6); box-shadow:0 34px 60px -28px rgba(13,35,67,0.6);}
.home .centers .center-card.cc:hover .cc-media img{transform:scale(1.07);}
.home .centers .center-card.cc:hover::before{opacity:.86;}
.home .centers .center-card.cc:hover .center-num::after{width:44px;}
.home .centers .center-card.cc:hover .center-more i{background:var(--gold); color:var(--navy-deep); border-color:var(--gold); transform:translateX(4px);}
.home .centers .center-card.cc:hover .center-body::after{transform:scaleX(1);}
.home .centers .center-card::after{
  content:""; position:absolute; inset:0; z-index:3; pointer-events:none; border-radius:inherit;
  background:radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(228,201,138,0.16), transparent 65%);
  opacity:0; transition:opacity .35s ease;
}
.home .centers .center-card:hover::after{opacity:1;}
@media(max-width:1024px){ .home .centers .center-grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px;} }
@media(max-width:560px){
  .home .centers .center-grid{grid-template-columns:minmax(0,1fr); gap:14px;}
  .home .centers .center-card.cc{aspect-ratio:auto; min-height:214px;}
  .home .centers .cc .center-body{max-width:88%; padding:20px 20px 18px;}
  .home .centers .cc h3{font-size:19px;}
}


/* ============================================================
   PARTNERS (Canva 포토 배경 · 글래스 카드 그리드)
   ============================================================ */
.home #partners{padding:150px 0; position:relative; overflow:hidden; isolation:isolate; background:#060E1C;}
.pt-bg{position:absolute; inset:-12% 0; z-index:-2; background:url(../img/partners-bg.webp) center / cover no-repeat; will-change:transform;}
.home #partners::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 65% at 12% 8%, rgba(200,167,90,0.18), transparent 62%),
    linear-gradient(180deg, rgba(6,14,28,0.80) 0%, rgba(6,14,28,0.58) 45%, rgba(6,14,28,0.90) 100%);
}
.home #partners .section-head h2{color:#fff;}
.sec-desc{max-width:420px; font-size:15.5px; line-height:1.85; color:rgba(255,255,255,0.66); word-break:keep-all;}
.home .pc-grid{display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:18px;}
.home .partner-card{
  position:relative; display:flex; flex-direction:column; overflow:hidden; border-radius:14px;
  background:rgba(255,255,255,0.05); border:1px solid rgba(228,201,138,0.2);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  transition:transform .55s var(--ease-soft), border-color .4s ease, background .4s ease, box-shadow .55s var(--ease-soft);
}
.home .partner-card:hover{transform:translateY(-8px); border-color:rgba(228,201,138,0.6); background:rgba(255,255,255,0.09); box-shadow:0 34px 60px -30px rgba(0,0,0,0.75);}
.home .pc-img{position:relative; aspect-ratio:4/3; overflow:hidden;}
.home .pc-img img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-soft);}
.home .pc-img::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,14,28,0) 45%, rgba(6,14,28,0.7));}
.home .partner-card:hover .pc-img img{transform:scale(1.07);}
.home .pc-body{display:flex; flex-direction:column; padding:18px 18px 22px; min-height:138px;}
.home .pc-body em{font-style:normal; font-size:10.5px; font-weight:700; letter-spacing:.18em; color:var(--gold);}
.home .pc-body strong{font-size:19px; font-weight:800; color:#fff; letter-spacing:-.03em; margin-top:5px;}
.home .pc-body small{font-size:12.5px; color:rgba(255,255,255,0.62); margin-top:6px; line-height:1.55; word-break:keep-all;}
.home .pc-arrow{
  position:absolute; right:12px; top:12px; z-index:2; width:34px; height:34px; border-radius:50%;
  display:grid; place-items:center; font-size:14px; color:#fff;
  background:rgba(6,14,28,0.45); border:1px solid rgba(255,255,255,0.28);
  transition:background .3s ease, color .3s ease, border-color .3s ease, transform .45s var(--ease-soft);
}
.home .partner-card:hover .pc-arrow{background:var(--gold); border-color:var(--gold); color:var(--navy-deep); transform:rotate(-45deg);}
.home .partner-card::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%), rgba(228,201,138,0.14), transparent 70%);
  opacity:0; transition:opacity .35s ease;
}
.home .partner-card:hover::after{opacity:1;}

/* ============================================================
   NEWS
   ============================================================ */
.home .news{
  padding:150px 0;
  background-color:var(--paper);
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:44px 44px;
}
.news-links{display:flex; flex-direction:column; align-items:flex-end; gap:14px; flex-shrink:0;}
.home .tv-channel-link{margin-top:0;}
.more-link{
  display:inline-flex; align-items:center; gap:10px;
  font-size:14px; font-weight:700; color:var(--ink);
  border-bottom:1px solid var(--ink); padding-bottom:4px;
}
.more-link span{transition:transform .35s var(--ease-soft);}
.more-link:hover{color:var(--gold); border-color:var(--gold);}
.more-link:hover span{transform:translateX(5px);}
.home .news-grid{gap:26px;}
.home .news-card{
  position:relative; border-radius:0; border:none; background:#fff;
  box-shadow:0 1px 0 rgba(13,35,67,0.06);
  transition:transform .55s var(--ease-soft), box-shadow .55s var(--ease-soft);
}
.home .news-card:hover{transform:translateY(-8px); box-shadow:0 30px 60px rgba(13,35,67,0.13);}
.home .news-thumb{height:190px; overflow:hidden;}
.home .news-card:nth-child(1) .news-thumb::before,
.home .news-card:nth-child(2) .news-thumb::before,
.home .news-card:nth-child(3) .news-thumb::before{
  content:""; position:absolute; inset:0; background-size:cover; background-position:center;
  transition:transform 1.2s var(--ease-soft);
}
.home .news-card:nth-child(1) .news-thumb::before{
  background-image:linear-gradient(160deg, rgba(13,35,67,0.35), rgba(8,24,51,0.82)), url(../img/tax-info/notice.webp);
}
.home .news-card:nth-child(2) .news-thumb::before{
  background-image:linear-gradient(160deg, rgba(13,35,67,0.3), rgba(8,24,51,0.78)), url(../img/tax-info/succession.webp);
}
.home .news-card:nth-child(3) .news-thumb::before{
  background-image:linear-gradient(160deg, rgba(13,35,67,0.3), rgba(8,24,51,0.8)), url(../img/tax-info/audit.webp);
}
.home .news-thumb.tv .tv-logo{position:relative; z-index:2; width:76px; filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));}
.home .news-card:hover .news-thumb::before{transform:scale(1.06);}
.home .news-thumb::after{z-index:1;}
.home .news-body{padding:30px 28px 34px;}
.home .news-body h4{font-size:19px; font-weight:800; letter-spacing:-0.5px; line-height:1.45; margin-top:12px; color:var(--ink); word-break:keep-all;}
.home .news-date{margin-top:22px; letter-spacing:.5px;}
.news-arrow{
  position:absolute; right:26px; bottom:28px;
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(13,35,67,0.18);
  display:flex; align-items:center; justify-content:center; font-size:15px; color:var(--ink);
  transition:background .35s ease, color .35s ease, border-color .35s ease, transform .5s var(--ease-soft);
}
.home .news-card:hover .news-arrow{background:var(--navy); color:var(--gold-light); border-color:var(--navy); transform:rotate(-45deg);}

/* ============================================================
   CONSULT — 온라인 상담 접수 (다크 무드 포토)
   ============================================================ */
.home .consult-x{position:relative; overflow:hidden; padding:150px 0; background:#07101F; color:#fff;}
.cx-bg{
  position:absolute; inset:-10% 0; z-index:0; will-change:transform;
  background:url(../img/consult-bg.webp) left center / cover no-repeat;
}
.home .consult-x::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(90deg, rgba(7,16,31,0.62) 0%, rgba(7,16,31,0.45) 42%, rgba(7,16,31,0.78) 100%),
    linear-gradient(0deg, rgba(7,16,31,0.7) 0%, rgba(7,16,31,0) 45%);
}
.cx-inner{position:relative; z-index:2; display:grid; grid-template-columns:1fr 0.92fr; gap:84px; align-items:center;}
.cx-text h2{font-size:clamp(32px, 3.8vw, 54px); font-weight:700; line-height:1.3; letter-spacing:-1.2px; word-break:keep-all;}
.cx-text > p{font-size:16.5px; color:rgba(255,255,255,0.74); margin-top:20px;}
.cx-contact{list-style:none; margin-top:46px; border-top:1px solid rgba(255,255,255,0.16); max-width:440px;}
.cx-contact li{display:flex; gap:24px; align-items:baseline; padding:18px 0; border-bottom:1px solid rgba(255,255,255,0.16);}
.cx-contact span{width:84px; flex-shrink:0; font-size:12.5px; letter-spacing:1px; color:var(--gold-light); font-weight:700;}
.cx-contact a, .cx-contact em{font-style:normal; font-size:18px; font-weight:700; color:#fff; transition:color .3s;}
.cx-contact a:hover{color:var(--gold-light);}
.cx-form{
  background:#fff; color:var(--ink); padding:42px 40px 30px;
  box-shadow:0 44px 100px rgba(0,0,0,0.5); border-top:3px solid var(--gold);
  display:grid; gap:12px;
}
.cx-form-title{font-size:23px; font-weight:800; letter-spacing:-0.6px; margin-bottom:10px;}
.cx-form-title small{display:block; font-size:13px; font-weight:500; color:#6B7280; letter-spacing:0; margin-top:6px;}
.cx-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.cx-form input[type="text"], .cx-form input[type="tel"], .cx-form select, .cx-form textarea{
  width:100%; padding:14px 16px; font-size:14.5px; font-family:inherit; color:var(--ink);
  border:1px solid #DDD8CC; background:#FBFAF7; border-radius:0; transition:border-color .25s, background .25s;
}
.cx-form input:focus, .cx-form select:focus, .cx-form textarea:focus{outline:none; border-color:var(--gold); background:#fff;}
.cx-form textarea{min-height:108px; resize:vertical;}
.cx-agree{display:flex; gap:9px; font-size:12px; color:#6B7280; line-height:1.6; margin-top:2px; cursor:pointer;}
.cx-agree input{margin-top:3px; flex-shrink:0; accent-color:var(--navy);}
.cx-form .btn-gold{width:100%; padding:17px; font-size:16px; margin-top:6px; text-align:center;}
.cx-legal{font-size:11.5px; color:#9AA0AB; text-align:center;}

/* ============================================================
   LOCATION — 오시는 길
   ============================================================ */
.home .location{padding:130px 0 140px; background:var(--paper);}
.loc-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:80px; align-items:center;}
.loc-info h2{font-size:clamp(30px, 3.4vw, 46px); font-weight:800; letter-spacing:-1.3px; color:var(--ink);}
.loc-list{margin:34px 0 32px; border-top:1px solid rgba(13,35,67,0.14);}
.loc-list > div{display:grid; grid-template-columns:96px 1fr; gap:16px; padding:18px 0; border-bottom:1px solid rgba(13,35,67,0.14);}
.loc-list dt{font-size:13px; font-weight:700; color:#A8843A; letter-spacing:.5px;}
.loc-list dd{font-size:15.5px; color:var(--ink); font-weight:600; word-break:keep-all;}
.loc-list dd a:hover{color:#A8843A;}
.loc-map{position:relative; isolation:isolate; aspect-ratio:4 / 3; background:#E9E4D8; box-shadow:0 40px 80px rgba(13,35,67,0.18);}
.loc-map::before{content:""; position:absolute; inset:20px -20px -20px 20px; border:1px solid var(--gold); z-index:-1;}
.loc-map iframe{position:relative; width:100%; height:100%; border:0; display:block; filter:grayscale(.5) contrast(1.05);}

/* ---------- 푸터 (메인) ---------- */
.home footer{position:relative;}
.home footer::before{
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(200,167,90,0.5), transparent);
}

/* ============================================================
   스크롤 리빌 (data-reveal)
   ============================================================ */
.home [data-reveal]{opacity:0;}
.home [data-reveal],
.home .centers .center-card[data-reveal],
.home .partner-card[data-reveal],
.home .news-card[data-reveal],
.home .stat[data-reveal]{
  transition:opacity 1s var(--ease-out) calc(var(--ri, 0) * 80ms), transform 1.1s var(--ease-out) calc(var(--ri, 0) * 80ms);
}
.home [data-reveal="up"]{transform:translateY(46px);}
.home [data-reveal="left"]{transform:translateX(-56px);}
.home [data-reveal="right"]{transform:translateX(56px);}
.home [data-reveal="scale"]{transform:scale(.94);}
.home [data-reveal].in{opacity:1; transform:none;}

/* ============================================================
   반응형
   ============================================================ */
@media(max-width:1024px){
  .home .pc-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
}
@media(max-width:900px){
  .home [data-reveal="left"], .home [data-reveal="right"]{transform:translateY(40px);}
  .home .hero{padding:130px 0 170px;}
  .hero-foot{bottom:92px;}
  .hero-shield{right:-18%; height:62vh; opacity:.45;}
  .home .hero h1.hero-title{letter-spacing:-1px;}
  .home .hero p.hero-lead br{display:none;}
  .sec-head-split{flex-direction:column; align-items:flex-start; gap:24px; margin-bottom:44px;}
  .news-links{align-items:flex-start;}
  .big-count{display:none;}
  .about-wrap{grid-template-columns:1fr; gap:60px;}
  .about-media{max-width:460px; width:100%; margin:0 auto;}
  .home .brandfilm-inner{grid-template-columns:1fr; gap:56px;}
  .home .pc-grid{grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px;}
  .home .partner-card{flex-direction:row; align-items:stretch;}
  .home .pc-img{width:40%; flex-shrink:0; aspect-ratio:auto; min-height:118px;}
  .home .pc-body{flex:1; justify-content:center; min-height:0;}
  .home #about, .home .brandfilm, .home .centers, .home #partners, .home .news,
  .home .clients, .home .faq, .home .consult-x, .home .location{padding:100px 0;}
  .quick-card{margin-top:-64px; padding:32px 26px 0;}
  .qs{grid-template-columns:1fr; gap:14px;}
  .qs-tags{grid-column:auto;}
  .qs-tags .qs-ai{margin-left:0;}
  .home .qstats{grid-template-columns:repeat(2, 1fr); row-gap:24px; margin-top:28px; padding:24px 0 26px;}
  .home .qstats .stat{border-left:none;}
  .client-grid{grid-template-columns:1fr; gap:56px; margin-top:44px;}
  .client-panel.alt{margin-top:0;}
  .faq-grid{grid-template-columns:1fr; gap:44px;}
  .faq-side{position:static;}
  .cx-inner{grid-template-columns:1fr; gap:52px;}
  .loc-grid{grid-template-columns:1fr; gap:56px;}
  .loc-map{width:calc(100% - 20px);}
}
@media(max-width:560px){
  .home .hero{padding:118px 0 140px;}
  .home .hero h1.hero-title{font-size:27px; letter-spacing:-0.6px; line-height:1.4;}
  .home .hero-eyebrow{font-size:11px; letter-spacing:1.5px; gap:10px; margin-bottom:22px;}
  @keyframes ebLine{to{width:24px;}}
  .hero-foot{padding:0 20px; bottom:72px;}
  .hero-progress{width:90px;}
  .hero-scroll{display:none;}
  .hero-shield{right:-30%; height:48vh; opacity:.35;}
  .home .hero p.hero-lead{font-size:15px; margin-top:22px; padding-right:52px;}
  .home .hero .hero-actions{margin-top:32px; padding-right:52px;}
  .home .section-head h2{letter-spacing:-0.8px;}
  .home .pc-grid{grid-template-columns:minmax(0,1fr);}
  .home .pc-img{width:36%;}
  .home .pc-body{padding:14px 44px 16px 16px;}
  .home .pc-body strong{font-size:17px;}
  .home #about, .home .brandfilm, .home .centers, .home #partners, .home .news,
  .home .clients, .home .faq, .home .consult-x, .home .location{padding:84px 0;}
  .quick-card{margin-top:-48px; padding:26px 18px 0;}
  .qs-label{font-size:16px;}
  .qs-form input{height:54px; font-size:15px; padding-right:58px;}
  .qs-btn{width:44px; height:44px;}
  .qs-tags button{font-size:12.5px; padding:5px 11px;}
  .cp-body{margin:-52px 14px 0; padding:28px 22px 26px;}
  .faq-item summary{font-size:16px; padding:22px 44px 22px 0;}
  .fq-a{padding-right:0; font-size:15px;}
  .cx-form{padding:30px 20px 24px;}
  .cx-row{grid-template-columns:1fr;}
  .cx-contact span{width:70px;}
  .cx-contact a, .cx-contact em{font-size:16px;}
  .loc-list > div{grid-template-columns:74px 1fr;}
  .marquee{padding:18px 0;}
  .marquee-track i{margin:0 18px;}
  .home .bf-video::before{inset:-10px -10px 10px 10px;}
  .home .bf-play{width:70px; height:70px;}
  .bf-caption{left:18px; right:18px; bottom:16px; font-size:13px;}
  .about-media{aspect-ratio:1 / 1;}
  .am-badge{padding:18px 20px; gap:12px;}
  .am-badge img{width:38px; height:38px;}
  .home .about-point{grid-template-columns:48px 1fr;}
  .home .about-point b{grid-template-columns:48px 1fr;}
}

@media(prefers-reduced-motion:reduce){
  .home *, .home *::before, .home *::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
  .home [data-reveal]{opacity:1; transform:none;}
  .hero-title .ln > span{transform:none;}
  .marquee-track{animation:none;}
}

/* 밝은 히어로 사진 위 가독성 보강 */
.home .hero-title, .home .hero-lead, .home .hero-eyebrow{text-shadow:0 2px 22px rgba(8,24,51,0.45);}
