/* 자동 생성 — wp_theme.py 가 만듭니다. 여기를 고치지 말고 원본(shell/ · src/)을 고친 뒤 다시 돌리세요. */
/* ═══════════════════════════════════════════════════════════════
   랜딩 (index.html) — 레이아웃·문구는 회사 목업, 색·사진·크기는 우리 방향
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. 히어로 슬라이더: 한 화면(100svh) 크기, 헤더는 위에 투명하게 겹침 ── */
.slider{position:relative;background:#05101B;overflow:hidden;color:#fff}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;position:relative;height:100svh;min-height:560px;
  display:flex;align-items:flex-end;overflow:hidden}
@supports not (height:100svh){ .slide{height:100vh} }
.slide-media{position:absolute;inset:0}
.slide-media img{width:100%;height:100%;object-fit:cover}
.slide-media.empty{background:
  radial-gradient(120% 90% at 78% 30%,rgba(79,163,95,.22),transparent 60%),
  repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 90px),
  repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 90px),
  linear-gradient(160deg,#0A3A63,#05101B)}
.slide .placeholder-tag{display:block;width:auto;height:auto;font-family:inherit;position:absolute;top:calc(var(--hh) + 24px);right:var(--gutter);
  font-size:clamp(11px,.8vw,14px);line-height:1.6;text-align:right;color:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.2);padding:6px 10px;border-radius:2px}
.slide-scrim{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(4,17,23,.55) 0,transparent 22%),
  linear-gradient(0deg,rgba(5,16,27,.92) 0%,rgba(5,16,27,.45) 42%,rgba(5,16,27,.08) 72%)}
.slide-caption{position:relative;z-index:2;width:100%;padding-bottom:calc(clamp(64px,9vh,120px) + 40px)}
.slide-num{font-size:clamp(12px,.95vw,17px);letter-spacing:.06em;color:var(--mint);margin-bottom:clamp(14px,1.6vh,22px)}
.slide-num b{color:#fff;font-weight:600}
.slide-tagline{font-size:clamp(11px,.9vw,16px);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mint);margin-bottom:clamp(8px,1.2vh,16px)}
.slide h1,.slide h2{margin:0;max-width:22ch;font-size:clamp(30px,4.2vw,84px);font-weight:800;
  letter-spacing:-.03em;line-height:1.2;color:#fff}
.slide-caption p{margin-top:clamp(12px,1.8vh,24px);max-width:56ch;font-size:clamp(15px,1.15vw,22px);
  line-height:1.75;color:rgba(255,255,255,.78)}

.slider-controls{position:absolute;left:0;right:0;bottom:clamp(24px,4.5vh,56px);z-index:3;
  display:flex;align-items:center;justify-content:space-between;pointer-events:none;max-width:none}
.dots{display:flex;gap:8px;pointer-events:auto}
.dot{width:clamp(26px,2vw,40px);height:3px;padding:0;border:0;background:rgba(255,255,255,.3);cursor:pointer;transition:background .2s}
.dot.active{background:#fff}
.slider-arrows{display:flex;gap:10px;pointer-events:auto}
.slider-arrows button{width:clamp(40px,2.8vw,54px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.35);
  background:transparent;color:#fff;font-size:clamp(16px,1.2vw,22px);cursor:pointer;transition:background .15s}
.slider-arrows button:hover{background:rgba(255,255,255,.12)}

/* 첫 슬라이드 위의 브랜드 라인 (직접 제작) */
.slide .vein{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.slide .vein path,.slide .vein circle.ring{stroke-dasharray:1;stroke-dashoffset:1;
  animation:veindraw 2s cubic-bezier(.25,.6,.2,1) .3s forwards}
.slide .vein .b2{animation-delay:.46s}.slide .vein .b3{animation-delay:.62s}
.slide .vein .b4{animation-delay:.24s}.slide .vein .b5{animation-delay:.98s}.slide .vein .b6{animation-delay:1.12s}
.slide .vein circle.ring{animation-duration:1.1s;animation-delay:.8s}
.slide .vein circle.node{opacity:0;animation:veinpop .7s ease 1.5s forwards}
@keyframes veindraw{to{stroke-dashoffset:0}}
@keyframes veinpop{to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .slide .vein path,.slide .vein circle.ring{animation:none;stroke-dashoffset:0}
  .slide .vein circle.node{animation:none;opacity:1}
}

/* ── 공통 섹션 여백 ── */
main.home>section.h-sec{padding:clamp(64px,6.4vw,140px) 0 0}
main.home>section.h-sec+section.h-sec{padding-top:clamp(64px,6.4vw,140px)}
main.home>section.news{padding-bottom:clamp(64px,6.4vw,140px)}

/* ── 2. 사업 분야 카드 슬라이더 ── */
.service-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;
  border:1px solid var(--line);border-radius:6px}
.service-slides::-webkit-scrollbar{display:none}
.service-slide{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:1.15fr 1fr;
  min-height:clamp(380px,30vw,620px)}
.service-media{position:relative;overflow:hidden;background:var(--paper)}
.service-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-media.empty{background:
  repeating-linear-gradient(90deg,rgba(10,58,99,.05) 0 1px,transparent 1px 60px),
  repeating-linear-gradient(0deg,rgba(10,58,99,.05) 0 1px,transparent 1px 60px),var(--paper)}
.service-media .placeholder-tag{display:block;width:auto;height:auto;font-family:inherit;position:absolute;left:16px;bottom:16px;font-size:clamp(11px,.8vw,14px);color:var(--muted);
  background:#fff;border:1px solid var(--line);padding:5px 9px;border-radius:2px}
.service-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3vw,72px);
  border-left:1px solid var(--line);background:#fff}
.service-count{font-size:var(--fs-small);letter-spacing:.06em;color:var(--sky);margin-bottom:clamp(10px,1vw,18px)}
.service-body h3{font-size:clamp(20px,1.7vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.3;color:var(--navy);
  margin-bottom:clamp(10px,.9vw,16px)}
.service-body p{max-width:32em;font-size:var(--fs-body);line-height:1.75;color:var(--muted);margin-bottom:clamp(18px,1.6vw,30px)}
.discover{display:inline-flex;align-items:center;gap:6px;width:fit-content;font-size:var(--fs-small);font-weight:700;color:var(--brand)}
.discover i{font-style:normal;transition:transform .15s}
.discover:hover i{transform:translateX(3px)}
.service-dots{display:flex;justify-content:center;gap:8px;margin-top:clamp(16px,1.4vw,26px)}
.service-dots .dot{background:rgba(10,58,99,.18)}
.service-dots .dot.active{background:var(--brand)}

/* ── 3. 최신 소식 — 카드 모양은 site.css 의 .home-news 그대로 ── */
.more-link{display:inline-block;margin-top:clamp(24px,2.4vw,44px);font-size:var(--fs-small);font-weight:700;color:var(--brand)}

/* ── 4. 숫자 띠 ── */
.datastrip{background:#062A49;color:#fff}
.datastrip-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,40px);
  padding-block:clamp(22px,2.2vw,40px)}
.stat{border-left:1px solid rgba(255,255,255,.16);padding-left:clamp(14px,1.2vw,22px)}
.stat .num{font-size:clamp(22px,2vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#fff}
.stat .num small{margin-left:2px;font-size:.5em;font-weight:500;color:#9FC4D6}
.stat .label{margin-top:4px;font-size:var(--fs-small);color:#9FC4D6}
.stat .ex{color:var(--mint)}

/* ── 5. 강점 + 파트너 ── */
main.home>section.creds{display:block;padding:0;background:var(--paper)}
.creds .partner-logos{display:flex;gap:1px}
.creds .partner-logo{aspect-ratio:auto;border:0;border-radius:0}
.creds-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:clamp(18px,2vw,40px);
  padding-block:clamp(32px,3vw,56px)}
.cred{flex:1 1 220px;display:flex;align-items:center;gap:14px}
.cred .mark{flex:none;width:clamp(28px,2.2vw,40px);aspect-ratio:1;border-radius:50%;border:1px solid var(--brand);
  display:grid;place-items:center;font-size:clamp(12px,.85vw,15px);color:var(--brand)}
.cred p{font-size:var(--fs-small);font-weight:600;line-height:1.5;color:var(--navy)}
.partner-strip{border-top:1px solid var(--line);padding-bottom:clamp(8px,1vw,16px)}
.partner-label{padding-top:clamp(18px,1.6vw,28px);font-size:var(--fs-small);letter-spacing:.06em;color:var(--muted)}
.partner-logos{display:flex;flex-wrap:wrap;gap:1px;margin-top:14px;background:var(--line);border:1px solid var(--line)}
.partner-logo{flex:1 1 160px;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:clamp(18px,1.6vw,30px) 16px;background:#fff;font-size:var(--fs-small);color:var(--muted)}

/* ── 6. 회사 소개로 ── */
main.home>section.about-cta{background:var(--paper);text-align:center;padding:clamp(80px,7.4vw,160px) 0}
.about-cta-headline{max-width:24ch;margin:0 auto clamp(26px,2.4vw,44px);font-size:clamp(24px,2.5vw,50px);
  font-weight:800;letter-spacing:-.03em;line-height:1.4;color:var(--navy)}
.about-cta-btn{display:inline-block;padding:clamp(14px,1.1vw,20px) clamp(34px,2.8vw,56px);border:1px solid var(--navy);
  border-radius:3px;font-size:var(--fs-small);font-weight:700;letter-spacing:.08em;color:var(--navy);
  transition:background .15s,color .15s}
.about-cta-btn:hover{background:var(--navy);color:#fff}

/* ── 7. 마지막 CTA ── */
/* 배경·여백은 site.css 의 '상담 신청 띠' 공통 규칙 */
.cta-band h2{max-width:24ch;margin:0;font-size:clamp(24px,2.5vw,50px);font-weight:800;letter-spacing:-.03em;
  line-height:1.4;color:#fff}
.cta-band p{margin-top:clamp(12px,1.2vw,20px);font-size:var(--fs-body);color:rgba(255,255,255,.8);max-width:44ch}
.cta-row{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-top:clamp(24px,2.2vw,40px)}
.btn{display:inline-block;border-radius:4px;padding:clamp(14px,1.05vw,20px) clamp(24px,2vw,42px);
  font-size:clamp(14px,1vw,19px);font-weight:700;border:1px solid transparent}
.btn.solid{background:var(--cta);border-color:var(--cta);color:#fff;transition:background-color .25s}
.btn.solid:hover{background:var(--cta-hover)}
.btn.ghost{color:#fff;border-color:rgba(255,255,255,.4);transition:background-color .25s}
.btn.ghost:hover{background:rgba(255,255,255,.1)}

/* ── 좁은 화면 ── */
@media (max-width:900px){
  .slide{height:auto;min-height:88svh}
  .slider-arrows{display:none}
  .service-slide{grid-template-columns:1fr;min-height:0}
  .service-media{aspect-ratio:16/9}
  .service-body{border-left:0;border-top:1px solid var(--line)}
  .datastrip-inner{grid-template-columns:repeat(2,1fr)}
}
