
/* =====================================================================
   @core — 우강 랜딩 v2 공통 (템플릿 core 기반) + 배잘남 시안 공통 컴포넌트
   ===================================================================== */
:root{
  --f-sans:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',sans-serif;
  --f-body:var(--f-sans); --f-display:var(--f-sans); --f-head:var(--f-display); --f-h3:var(--f-sans);
  --f-num:var(--f-display); --f-label:var(--f-sans);
  --display-weight:800; --display-leading:1.2; --display-tracking:-.03em;
  --head-weight:800; --head-tracking:-.02em; --h3-weight:700;
  --fs-hero:clamp(36px,9.6vw,64px); --fs-h2:clamp(28px,6.8vw,44px); --fs-body:17px;
  --bg:#fff; --bg-alt:#F3F4F6; --surface:#fff; --ink:#111; --ink-2:#3c4048; --muted:#6b7079; --line:#e1e3e8;
  --brand:#1446A0; --brand-ink:#fff; --brand-soft:#E6ECF7; --accent:#FFD60A; --accent-ink:#111;
  --dark:#111; --dark-ink:#fff; --warn:#C62828; --ok:#14804A;
  --cta:var(--brand); --cta-ink:var(--brand-ink); --cta-hover:var(--brand);
  --r-card:12px; --r-media:12px; --r-btn:10px; --r-pill:999px;
  --card-border:1px solid var(--line); --card-shadow:none;
  --maxw:1120px; --gutter:20px; --sec-pad:64px; --head-gap:30px;
  --label-tracking:0; --label-transform:none; --fs-label:14px;
  --focus-ring:color-mix(in srgb,var(--brand) 28%,transparent);
  --reveal-y:18px; --bbar-h:78px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;font-family:var(--f-body);font-size:var(--fs-body);line-height:1.68;color:var(--ink);background:var(--bg);
  word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,dl,dd,dt,figure,blockquote,table{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ic{width:1.15em;height:1.15em;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.ic--lg{width:30px;height:30px;stroke-width:1.6}
.nowrap{white-space:nowrap}
.muted{color:var(--muted)}

/* ---------- 섹션 공통 ---------- */
.sec{padding:var(--sec-pad) 0}
.sec--alt{background:var(--bg-alt)}
.sec-head{margin-bottom:var(--head-gap);max-width:46rem}
.label{display:flex;align-items:center;gap:10px;font-family:var(--f-label);font-size:var(--fs-label);font-weight:800;line-height:1.3;
  letter-spacing:var(--label-tracking);text-transform:var(--label-transform);color:var(--label-ink,var(--brand));margin-bottom:12px}
.label::before{content:"";width:var(--label-bar,18px);height:var(--label-bar-h,3px);background:currentColor;flex:none}
.sec-title{font-family:var(--f-head);font-weight:var(--head-weight);font-size:var(--fs-h2);line-height:1.22;letter-spacing:var(--head-tracking);text-wrap:balance}
.sec-title em{font-style:normal;color:var(--title-em,var(--brand))}
.sec-lede{margin-top:14px;color:var(--ink-2);font-size:17px;max-width:40em}

/* ---------- 버튼 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 22px;border-radius:var(--r-btn);
  font-weight:800;font-size:17px;line-height:1.2;border:1.5px solid transparent;cursor:pointer;text-align:center;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .12s ease}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--cta);color:var(--cta-ink)}
.btn--primary:hover{background:var(--cta-hover)}
.btn--line{border-color:currentColor;background:transparent;color:var(--ink)}
.btn--line:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.btn--xl{min-height:60px;font-size:19px;padding:0 26px}
.btn--block{display:flex;width:100%}
.link-more{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--link-ink,var(--brand));border-bottom:1.5px solid currentColor;padding-bottom:2px}

/* ---------- 전화 박스 ---------- */
.callbox{display:inline-flex;flex-direction:column;gap:4px;padding:14px 22px 16px;background:var(--callbox-bg,var(--ink));color:var(--callbox-ink,#fff);
  border-radius:var(--r-btn);border:var(--callbox-border,0)}
.callbox__label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;opacity:.9}
.callbox__num{font-family:var(--f-num);font-weight:var(--num-weight,800);font-size:clamp(30px,8.4vw,46px);line-height:1.05;letter-spacing:.005em;color:var(--callbox-num,var(--accent));white-space:nowrap}
.callbox--xl .callbox__num{font-size:clamp(34px,10vw,64px)}
.callbox:hover{filter:brightness(1.06)}
.call-hint{margin-top:10px;font-size:14px;line-height:1.55;color:var(--muted)}

/* ---------- 상단바 ---------- */
.topbar{position:relative;z-index:50;background:var(--topbar-bg,var(--bg));color:var(--topbar-ink,var(--ink));border-bottom:1px solid var(--topbar-line,var(--line))}
.topbar__in{height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:baseline;gap:6px;min-width:0;line-height:1;white-space:nowrap}
.brand b{font-family:var(--f-brand,var(--f-sans));font-weight:900;font-size:22px;letter-spacing:-.03em;color:var(--brand-word,var(--ink))}
.brand span{font-family:var(--f-sans);font-weight:700;font-size:15.5px;letter-spacing:-.01em;color:var(--brand-sub,var(--brand))}
.brand__mark{width:21px;height:21px;flex:none;align-self:center;fill:var(--drop,var(--accent));margin-right:-1px}
.topbar__cta{display:inline-flex;align-items:center;gap:6px;flex:none;font-weight:800;font-size:15px;padding:9px 13px;border-radius:var(--r-btn);background:var(--cta);color:var(--cta-ink);white-space:nowrap}
.topbar__nav{display:none}
@media (min-width:960px){
  .topbar{position:sticky;top:0}
  .topbar__in{height:70px}
  .topbar__nav{display:flex;gap:26px;font-weight:600;font-size:15px;color:var(--ink-2)}
  .topbar__nav a:hover{color:var(--ink)}
}

/* ---------- 히어로 공통 ---------- */
.hero{position:relative;padding:var(--hero-pt,22px) 0 var(--hero-pb,44px);background:var(--hero-bg,var(--bg))}
.hero__kicker{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:800;font-size:15px;line-height:1.4;color:var(--kicker-ink,var(--brand));margin-bottom:12px}
.hero__title{font-family:var(--f-display);font-weight:var(--display-weight);font-size:var(--fs-hero);line-height:var(--display-leading);letter-spacing:var(--display-tracking);text-wrap:balance}
.hero__title em{font-style:normal;color:var(--em-ink,var(--brand))}
.hero__lede{margin-top:14px;font-size:clamp(16.5px,2.4vw,19.5px);line-height:1.6;color:var(--ink-2);max-width:32em}
.hero__actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.chiprow{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.chiprow li{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:var(--r-pill);font-weight:800;font-size:15px;line-height:1.2;
  background:var(--chip-bg,var(--brand-soft));color:var(--chip-ink,var(--ink))}
.chiprow .ic{color:var(--chip-ic,var(--brand));stroke-width:2.8;width:1em;height:1em}

/* ---------- 핵심 숫자 띠 ---------- */
.facts{background:var(--facts-bg,var(--ink));color:var(--facts-ink,#fff)}
.facts__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:720px){.facts__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fact{padding:22px 10px 20px;text-align:center;border-left:1px solid var(--facts-line,rgba(255,255,255,.14))}
.fact:nth-child(odd){border-left:0}
.fact:nth-child(n+3){border-top:1px solid var(--facts-line,rgba(255,255,255,.14))}
@media (min-width:720px){.fact:nth-child(odd){border-left:1px solid var(--facts-line,rgba(255,255,255,.14))}.fact:first-child{border-left:0}.fact:nth-child(n+3){border-top:0}}
.fact__num{display:block;font-family:var(--f-num);font-weight:var(--num-weight,400);font-size:clamp(30px,8vw,46px);line-height:1;color:var(--facts-num,var(--accent))}
.fact__num small{font-family:var(--f-sans);font-weight:800;font-size:.42em;margin-left:3px;color:var(--facts-ink,#fff)}
.fact__label{display:block;margin-top:9px;font-size:13.5px;font-weight:600;line-height:1.35;opacity:.86}

/* ---------- 막힌 곳 탭 ---------- */
.tabs__list{display:none}
.js .tabs__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
@media (min-width:860px){.js .tabs__list{grid-template-columns:repeat(6,minmax(0,1fr))}}
.tabs__btn{min-height:50px;padding:6px 6px;border-radius:var(--r-tab,10px);border:1.5px solid var(--tab-line,var(--line));background:var(--tab-bg,var(--surface));
  color:var(--ink);font-weight:800;font-size:15.5px;line-height:1.25;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.tabs__btn:hover{border-color:var(--brand)}
.tabs__btn.on{background:var(--tab-on-bg,var(--brand));border-color:var(--tab-on-bg,var(--brand));color:var(--tab-on-ink,var(--brand-ink))}
.tabpanel{display:grid;gap:0;background:var(--surface);border:var(--card-border);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--card-shadow)}
.tabpanel+.tabpanel{margin-top:14px}
.js .tabpanel+.tabpanel{margin-top:0}
.tabpanel[hidden]{display:none}
.tabpanel__media{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt)}
.tabpanel__media img{width:100%;height:100%;object-fit:cover}
.tabpanel__media--duo{aspect-ratio:3/2}
.tabpanel__media .duo{display:grid;grid-template-columns:1fr 1fr;gap:3px;height:100%}
.tabpanel__body{padding:20px 18px 20px}
.tabpanel__name{font-family:var(--f-head);font-weight:var(--head-weight);font-size:clamp(23px,5.6vw,30px);line-height:1.25;letter-spacing:var(--head-tracking)}
.tabpanel__sub{margin-top:14px;font-size:14px;font-weight:800;color:var(--muted)}
.symptoms{display:grid;gap:7px;margin-top:8px}
.symptoms li{display:flex;gap:9px;align-items:flex-start;font-size:16.5px;font-weight:700;line-height:1.45}
.symptoms .ic{color:var(--brand);stroke-width:2.6;margin-top:.15em;width:1.1em;height:1.1em}
.tabpanel__work{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:16px;line-height:1.6;color:var(--ink-2)}
.tabpanel__price{margin-top:12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.tabpanel__price b{font-family:var(--f-num);font-weight:var(--num-weight,800);font-size:26px;line-height:1.1;color:var(--price-ink,var(--brand))}
.tabpanel__price small{font-size:14px;color:var(--muted)}
.tabpanel .btn{margin-top:16px}
@media (min-width:860px){
  .tabpanel{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .tabpanel__media{aspect-ratio:auto;min-height:100%;position:relative}
  .tabpanel__media img{position:absolute;inset:0}
  .tabpanel__media .duo{position:absolute;inset:0}
  .tabpanel__media .duo img{position:static}
  .tabpanel__body{padding:30px 32px}
}

/* ---------- 가격: 견적표 ---------- */
.sheet{background:var(--sheet-bg,var(--surface));border:var(--sheet-border,var(--card-border));border-radius:var(--r-card);padding:4px 20px 20px;max-width:780px;box-shadow:var(--card-shadow)}
.sheet__groups{display:contents}
.sheet__group+.sheet__group{margin-top:8px}
.sheet__title{display:flex;align-items:center;gap:10px;padding:18px 0 10px;font-family:var(--f-h3);font-weight:800;font-size:18px;border-bottom:var(--sheet-rule,2px solid var(--ink))}
.sheet__row{display:flex;align-items:baseline;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
.sheet__row:last-child{border-bottom:0}
.sheet__row dt{flex:0 1 auto;min-width:0;font-weight:700;font-size:16.5px;line-height:1.4}
.sheet__row dt small{display:block;font-weight:500;font-size:13.5px;color:var(--muted);margin-top:3px;line-height:1.45}
.sheet__row .dots{flex:1 1 20px;min-width:14px;border-bottom:2px dotted color-mix(in srgb,var(--ink) 26%,transparent);transform:translateY(-5px)}
.sheet__row dd{flex:none;font-family:var(--f-num);font-weight:var(--num-weight,700);font-size:19px;white-space:nowrap;color:var(--price-ink,var(--ink))}
.sheet__note{margin-top:16px;display:grid;gap:6px;font-size:14.5px;color:var(--ink-2)}
.sheet__note li{display:flex;gap:8px;align-items:flex-start;line-height:1.5}
.sheet__note .ic{color:var(--brand);stroke-width:2.6;margin-top:.2em;width:1em;height:1em}
@media (min-width:960px){
  .sheet{max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;padding:8px 30px 26px}
  .sheet__group+.sheet__group{margin-top:0}
  .sheet__note{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
}

/* ---------- 강조 띠 ---------- */
.callout{position:relative;padding:var(--sec-pad) 0;background:var(--callout-bg,var(--accent));color:var(--callout-ink,var(--ink))}
.callout__label{font-weight:800;font-size:14px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.callout__title{font-family:var(--f-display);font-weight:var(--display-weight);font-size:var(--fs-h2);line-height:1.22;letter-spacing:var(--display-tracking);max-width:22em;text-wrap:balance}
.callout__text{margin-top:16px;font-size:18px;line-height:1.65;max-width:38em;font-weight:600}

/* ---------- 진행 과정 ---------- */
.steps{display:grid;gap:22px}
.step{position:relative}
.step__no{display:block;font-family:var(--f-num);font-weight:var(--num-weight,800);font-size:var(--step-no,28px);line-height:1;color:var(--brand)}
.step__title{margin-top:10px;font-family:var(--f-h3);font-weight:800;font-size:19px;line-height:1.35}
.step__desc{margin-top:6px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.step__media{margin:14px 0 0;border-radius:var(--r-media);overflow:hidden;aspect-ratio:4/3;background:var(--bg-alt)}
.step__media img{width:100%;height:100%;object-fit:cover}
.steps--photo{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
.steps--photo .step__title{font-size:17px}
.steps--photo .step__desc{font-size:14.5px}
@media (min-width:960px){.steps--photo{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}}
.steps--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.steps--compact .step{padding:18px 16px;background:var(--surface);border:var(--card-border);border-radius:var(--r-card)}
.steps--compact .step__no{font-size:30px}
.steps--compact .step__title{font-size:17px;margin-top:10px}
.steps--compact .step__desc{font-size:14px}
@media (min-width:860px){.steps--compact{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ---------- 장비 ---------- */
.equip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:960px){.equip{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.equip__item{background:var(--surface);border:var(--card-border);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--card-shadow)}
.equip__media{margin:0;aspect-ratio:1/1;overflow:hidden;background:var(--bg-alt)}
.equip__media img{width:100%;height:100%;object-fit:cover}
.equip__body{padding:12px 13px 15px}
.equip__name{font-family:var(--f-h3);font-weight:800;font-size:16.5px;line-height:1.3}
.equip__desc{margin-top:5px;font-size:14px;line-height:1.5;color:var(--ink-2)}

/* ---------- 갤러리 ---------- */
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:960px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
.gallery__item{position:relative;margin:0;overflow:hidden;border-radius:var(--r-media);aspect-ratio:1/1;background:var(--bg-alt)}
.gallery__item img{width:100%;height:100%;object-fit:cover}
.gallery__item figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 10px 9px;font-size:13px;font-weight:700;line-height:1.35;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.gallery--mosaic .gallery__item:first-child{grid-column:span 2;aspect-ratio:16/10}
@media (min-width:960px){.gallery--mosaic .gallery__item:first-child{grid-row:span 2;aspect-ratio:auto}}
.gallery--slide{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-template-rows:auto auto;grid-auto-columns:62%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.gallery--slide::-webkit-scrollbar{display:none}
.gallery--slide .gallery__item{scroll-snap-align:start}
.gallery--slide .gallery__item:last-child:nth-child(odd){grid-row:1/3;aspect-ratio:auto}
@media (min-width:960px){.gallery--slide{grid-template-columns:none;grid-auto-columns:calc((100% - 36px)/4)}}
.more{margin-top:20px}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:10px;max-width:880px}
.faq__item{background:var(--surface);border:var(--card-border);border-radius:var(--r-card)}
.faq__q{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:18px 18px;font-weight:800;font-size:17px;line-height:1.45}
.faq__q::-webkit-details-marker{display:none}
.faq__q::before{content:"Q";flex:none;font-family:var(--f-num);font-weight:var(--num-weight,800);font-size:19px;line-height:1;color:var(--brand);width:1.1em}
.faq__icon{position:relative;flex:none;width:20px;height:20px;margin-left:auto;color:var(--muted)}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:3px;right:3px;top:9px;height:2px;border-radius:1px;background:currentColor;transition:transform .2s ease}
.faq__icon::after{transform:rotate(90deg)}
.faq__item[open] .faq__icon::after{transform:rotate(0)}
.faq__a{padding:0 18px 18px calc(18px + 1.1em + 12px);color:var(--ink-2);font-size:16px;line-height:1.72}

/* ---------- 지역·시간 ---------- */
.info{display:grid;gap:12px}
@media (min-width:860px){.info{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}}
.info__block{background:var(--surface);border:var(--card-border);border-radius:var(--r-card);padding:20px 20px 20px;box-shadow:var(--card-shadow)}
.info__title{display:flex;align-items:center;gap:8px;font-family:var(--f-h3);font-weight:800;font-size:17.5px;margin-bottom:12px}
.info__title .ic{color:var(--brand)}
.info__sub{margin:14px 0 8px;font-size:14px;font-weight:800;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chips li{padding:7px 12px;border-radius:var(--r-pill);background:var(--bg-alt);font-weight:700;font-size:15px;line-height:1.3}
.chips li.is-main{background:var(--brand);color:var(--brand-ink)}
.bigtime{font-family:var(--f-num);font-weight:var(--num-weight,800);font-size:clamp(30px,8vw,40px);line-height:1.1;color:var(--ink)}
.info__text{margin-top:10px;font-size:15.5px;color:var(--ink-2);line-height:1.6}

/* ---------- 최종 CTA ---------- */
.final{position:relative;padding:calc(var(--sec-pad) + 8px) 0;background:var(--final-bg,var(--dark));color:var(--final-ink,var(--dark-ink))}
.final__kicker{font-weight:800;font-size:15px;margin-bottom:12px;opacity:.92}
.final__title{font-family:var(--f-display);font-weight:var(--display-weight);font-size:var(--fs-h2);line-height:1.22;letter-spacing:var(--display-tracking);text-wrap:balance}
.final__actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.final .call-hint{color:inherit;opacity:.78}
.final__meta{margin-top:16px;font-size:15.5px;opacity:.88}
@media (max-width:600px){.final__actions{flex-direction:column}.final__actions>*{width:100%}}

/* ---------- 푸터 ---------- */
.footer{padding:34px 0 calc(34px + var(--bbar-h));background:var(--footer-bg,var(--bg-alt));color:var(--footer-ink,var(--muted));font-size:13.5px;line-height:1.85}
.footer__brand{font-weight:900;font-size:19px;color:var(--footer-strong,var(--ink));margin-bottom:8px;letter-spacing:-.02em}
.footer a{text-decoration:underline;text-underline-offset:2px}
.footer__biz span{display:inline-block;max-width:100%}
.footer__biz span:not(:last-child)::after{content:"·";margin:0 .45em;color:color-mix(in srgb,currentColor 55%,transparent)}
@media (min-width:960px){.footer{padding-bottom:34px}}

/* ---------- 하단 고정 문의 바 ---------- */
.bbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:var(--bbar-bg,color-mix(in srgb,var(--bg) 94%,transparent));border-top:1px solid var(--line);backdrop-filter:saturate(140%) blur(6px);transition:transform .25s ease}
.bbar.is-hidden{transform:translateY(115%)}
.bbar__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 12px;border-radius:var(--r-btn);font-weight:800;font-size:17.5px;white-space:nowrap}
.bbar__btn--call{background:var(--cta);color:var(--cta-ink)}
.bbar__btn--alt{flex:0 0 36%;background:var(--bbar-alt-bg,var(--ink));color:var(--bbar-alt-ink,var(--bg))}
@media (min-width:960px){
  .bbar{left:auto;right:24px;bottom:24px;padding:0;border:0;background:none;backdrop-filter:none}
  .bbar.is-hidden{transform:translateY(calc(100% + 48px))}
  .bbar__btn{flex:none;min-height:56px;padding:0 24px;box-shadow:0 10px 28px -10px rgba(0,0,0,.45)}
}

/* ---------- 등장 효과 (JS 있을 때만 숨김) ---------- */
.js .reveal{opacity:0;transform:translateY(var(--reveal-y));transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.js .hero__copy{animation:heroIn .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes heroIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  .js .hero__copy{animation:none}
}

/* ---------- 480px 이하 미세 조정 ---------- */
@media (max-width:480px){
  :root{--sec-pad:54px;--gutter:18px;--head-gap:24px}
  .btn--xl{min-height:56px;font-size:17.5px;padding:0 18px}
  .sec-lede,.callout__text{font-size:16px}
  .faq__q{font-size:16px;padding:16px 15px}
  .faq__a{padding:0 15px 16px 15px;font-size:15.5px}
  .sheet{padding:2px 16px 16px}
  .sheet__row dt{font-size:15.5px}
  .sheet__row dd{font-size:17.5px}
  .bbar__btn{font-size:16.5px}
}
@media (max-width:359px){
  .steps--photo,.equip{grid-template-columns:minmax(0,1fr)}
  .js .tabs__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* @core:end */

/* @theme:power — 2안 '못 뚫으면 0원, 현장 출동' : 차콜(차량 바탕색) + 세이프티 오렌지 */
:root[data-theme=power]{
  --f-display:'Do Hyeon',var(--f-sans); --f-head:var(--f-display); --f-num:'Anton','Do Hyeon',sans-serif; --f-h3:var(--f-sans); --f-label:var(--f-sans);
  --display-weight:400; --display-leading:1.12; --display-tracking:-.01em; --head-weight:400; --head-tracking:-.01em; --num-weight:400;
  --fs-hero:clamp(54px,15.2vw,108px); --fs-h2:clamp(33px,8.6vw,58px);
  --bg:#0E0F11; --bg-alt:#161719; --surface:#1C1D20; --ink:#F5F5F2; --ink-2:#CFCFC9; --muted:#9A9A94; --line:#2E2F33;
  --brand:#FFD400; --brand-ink:#111111; --brand-soft:rgba(255,212,0,.14); --accent:#FFD400; --accent-ink:#111111;
  --dark:#070708; --dark-ink:#F5F5F2; --cta-hover:#FFE14D;
  --r-card:6px; --r-media:4px; --r-btn:6px; --r-pill:4px; --r-tab:6px;
  --card-border:1px solid var(--line);
  --label-bar:22px; --label-bar-h:3px;
  --facts-bg:#070708; --facts-ink:#F5F5F2; --facts-num:var(--brand); --facts-line:#242529;
  --callout-bg:var(--brand); --callout-ink:#111111;
  --final-bg:#070708; --final-ink:#F5F5F2;
  --callbox-bg:var(--brand); --callbox-ink:#111111; --callbox-num:#111111;
  --topbar-bg:#0E0F11; --topbar-line:#222326; --footer-bg:#070708; --footer-strong:#F5F5F2; --footer-ink:#9A9A94;
  --bbar-bg:rgba(14,15,17,.95); --bbar-alt-bg:#F5F5F2; --bbar-alt-ink:#111111;
  --brand-word:#F5F5F2; --brand-sub:var(--brand);
  --sheet-rule:2px solid var(--brand); --price-ink:#F5F5F2;
  --chip-bg:rgba(255,255,255,.12); --chip-ink:#FFFFFF; --chip-ic:var(--brand);
  --tab-bg:var(--surface); --tab-line:#3A3B40; --tab-on-bg:var(--brand); --tab-on-ink:#111111;
  --title-em:var(--brand);
  --sec-pad:76px;
}
[data-theme=power] .brand b{font-family:var(--f-sans)}
[data-theme=power] .fact__num small{color:var(--facts-ink)}
[data-theme=power] .step__no{font-size:40px}
@media (max-width:480px){:root[data-theme=power]{--sec-pad:58px}}
/* @end:power */
/* 업체 전용 */

.hero--2{padding:0 0 34px;color:#fff;background:var(--bg);overflow:hidden}
.hero--2 .hero__visual{position:relative;margin:0;height:clamp(300px,88vw,460px);overflow:hidden;background:#070708}
.hero--2 .hero__visual img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.hero--2 .hero__visual .vgrid{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;background:#000}
.hero--2 .hero__visual .vgrid video{width:100%;height:100%;object-fit:cover;background:#111}
.hero--2 .hero__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,15,17,.35) 0%,rgba(14,15,17,0) 22%,rgba(14,15,17,0) 46%,rgba(14,15,17,.86) 82%,#0E0F11 100%)}
.hero--2 .hero__copy{position:relative;margin-top:-92px}
.hero--2 .hero__kicker{background:var(--brand);color:#0E0F11;padding:6px 10px;border-radius:3px;font-size:14px}
.hero--2 .hero__title{color:#fff;line-height:1.02}
.hero--2 .zero{display:inline-flex;align-items:baseline;gap:.04em;font-style:normal;color:var(--brand)}
.hero--2 .zero b{font-family:'Anton','Do Hyeon',sans-serif;font-weight:400;font-size:2.1em;line-height:.9;letter-spacing:-.01em}
.hero--2 .hero__lede{color:rgba(255,255,255,.9)}
.hero--2 .hero__actions{flex-direction:column}
.hero--2 .btn{width:100%}
.hero--2 .btn--line{color:#fff;border-color:rgba(255,255,255,.7)}
.hero--2 .call-hint{color:rgba(255,255,255,.7)}
.btn--tel{min-height:68px;font-family:'Anton',var(--f-sans);font-weight:400;font-size:30px;letter-spacing:.03em}
.btn--tel .ic{width:26px;height:26px;stroke-width:2.2}
@media (min-width:960px){
  .hero--2{display:flex;align-items:center;min-height:min(84svh,760px);padding:0}
  .hero--2 .hero__visual{position:absolute;top:0;right:0;bottom:0;width:54%;height:auto}
  .hero--2 .hero__visual img{object-position:50% 55%}
  .hero--2 .hero__visual::after{background:linear-gradient(90deg,#0E0F11 0%,rgba(14,15,17,.6) 18%,rgba(14,15,17,0) 46%)}
  .hero--2 .hero__copy{margin-top:0;padding-top:64px;padding-bottom:72px}
  .hero--2 .hero__copy>*{max-width:600px}
  .hero--2 .hero__actions{flex-direction:row}
  .hero--2 .btn{width:auto}
  .hero--2 .zero b{font-size:1.8em}
}
.clips{display:grid;grid-auto-flow:column;grid-template-rows:auto auto;grid-auto-columns:78%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.clips::-webkit-scrollbar{display:none}
.clip{scroll-snap-align:start;margin:0;background:#070708;border:1px solid var(--line);border-radius:var(--r-media);overflow:hidden}
.clip video{display:block;width:100%;aspect-ratio:960/444;object-fit:cover;background:#070708}
.clip figcaption{padding:10px 12px 12px;font-size:14px;font-weight:700;line-height:1.45;color:var(--ink-2)}
.clip figcaption b{display:inline-block;margin-right:6px;padding:2px 7px;border-radius:3px;background:var(--brand);color:#0E0F11;font-size:13px;font-weight:800}
.clips .clip:last-child:nth-child(odd){grid-row:1/3;display:flex;flex-direction:column}
.clips .clip:last-child:nth-child(odd) video{flex:1;aspect-ratio:auto;min-height:0}
.clips-note{margin-top:12px;font-size:14px;color:var(--muted)}
@media (min-width:860px){.clips{grid-auto-columns:calc((100% - 24px)/3)}.m-only{display:none}}
.callout--2 .callout__grid{display:grid;gap:24px;align-items:center}
.callout--2 .callout__label .ic{stroke-width:2.4}
.callout--2 .callout__text{font-weight:700;color:#0E0F11}
.callout--2 .callout__media{margin:0;border-radius:4px;overflow:hidden;aspect-ratio:1/1;border:4px solid #0E0F11}
.callout--2 .callout__media img{width:100%;height:100%;object-fit:cover}
.pledge2{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
.pledge2 li{padding:8px 12px;border-radius:3px;background:#0E0F11;color:#fff;font-weight:800;font-size:15px}
@media (min-width:960px){.callout--2 .callout__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px}}
.sheet{--sheet-bg:var(--surface)}
.sheet__row .dots{border-bottom-color:rgba(255,255,255,.22)}
.tabpanel__price b{color:var(--brand)}
.final--2 .final__title em{font-style:normal;color:var(--brand)}
.final--2 .btn--line{color:#fff;border-color:rgba(255,255,255,.6)}
.final--2 .callbox{color:#0E0F11}
.chips li{background:#232428;color:var(--ink)}
.chips li.is-main{background:var(--brand);color:#0E0F11}
.bigtime{color:var(--brand)}
.info .btn--line{color:var(--ink)}
.link-more{color:var(--brand)}


/* 보유 장비 이미지 (최신 장비) */
.equip__hero{margin:0 0 16px;border-radius:var(--r-card);overflow:hidden;background:#070708;border:var(--card-border)}
.equip__hero img{width:100%;max-height:420px;object-fit:cover;object-position:50% 40%}
.equip__hero figcaption{padding:14px 18px;font-size:15px;color:var(--ink-2);line-height:1.5}
.equip__hero figcaption b{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:3px;background:var(--brand);color:#0E0F11;font-size:13px;font-weight:800}

/* ---------- 슬라이더 공통 (영상 · 후기) ---------- */
.slider{position:relative}
.slider__track{cursor:grab;user-select:none;scroll-behavior:auto}
.slider__track.is-anim{scroll-snap-type:none}
.slider__track.is-drag{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.slider__nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px}
.slider__btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.slider__btn:hover{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.slider__btn[data-prev] .ic{transform:rotate(180deg)}
.slider__dots{display:flex;gap:6px}
.slider__dots i{display:block;width:8px;height:8px;border-radius:50%;background:#3A3B40;transition:background .2s,width .2s}
.slider__dots i.on{background:var(--brand);width:22px;border-radius:4px}

/* ---------- 고객 후기 ---------- */
.reviews{display:grid;grid-auto-flow:column;grid-auto-columns:86%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.reviews::-webkit-scrollbar{display:none}
@media (min-width:640px){.reviews{grid-auto-columns:calc((100% - 12px)/2)}}
@media (min-width:960px){.reviews{grid-auto-columns:calc((100% - 36px)/4)}}
.review{scroll-snap-align:start;margin:0;display:flex;flex-direction:column;min-height:100%;padding:22px 20px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}
.review__stars{font-size:15px;letter-spacing:2px;color:var(--brand)}
.review__text{flex:1;margin-top:12px;font-size:15.5px;line-height:1.65;color:var(--ink)}
.review__meta{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.review__ava{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand);color:var(--brand-ink);font-weight:800;font-size:15px}
.review__meta b{display:block;font-size:15px;font-weight:800}
.review__meta small{display:block;margin-top:2px;font-size:13px;color:var(--muted)}

/* ---------- 방문 예약 ---------- */
.book{display:grid;gap:24px}
.book__info .callbox{display:flex;width:100%}
.book__points{margin-top:18px;display:grid;gap:10px}
.book__points li{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15.5px}
.book__points .ic{color:var(--brand);stroke-width:2.6}
.book__card{background:var(--surface);border:var(--card-border);border-radius:var(--r-card);padding:22px 18px 20px}
.form__h{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;margin-bottom:10px}
.req{font-size:12px;font-weight:800;color:var(--brand-ink);background:var(--brand);padding:2px 7px;border-radius:3px}
.chips--form{gap:8px}
.chips--form button{height:42px;padding:0 14px;border-radius:6px;border:1.5px solid var(--line);font-size:15px;font-weight:700;color:var(--ink);background:#232428;cursor:pointer;transition:all .15s}
.chips--form button.is-on{border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}
.form__grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
.form label{display:grid;gap:6px}
.lab{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--ink-2)}
.form input:not([type=checkbox]),.form select{height:46px;padding:0 12px;border:1.5px solid var(--line);border-radius:6px;background:#0E0F11;color:var(--ink);font-size:15px;width:100%;color-scheme:dark}
.form input:focus,.form select:focus{outline:none;border-color:var(--brand)}
.form__memo{margin-top:12px}
.agree{display:flex!important;align-items:center;gap:10px;margin-top:14px;font-size:13.5px;color:var(--ink-2)}
.agree input{width:18px;height:18px;accent-color:var(--brand)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form__err{margin-top:12px;padding:10px 12px;border-radius:6px;background:rgba(198,40,40,.18);border:1px solid rgba(198,40,40,.5);color:#FF8A80;font-size:14px;font-weight:700}
.form .btn--block{margin-top:16px}
.book__done{text-align:center;padding:10px 0}
.book__done-t{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-display);font-size:26px;color:var(--brand)}
.book__done-d{margin:10px 0 18px;color:var(--ink-2);line-height:1.7;white-space:pre-line}
.book__done .btn+.btn{margin-top:8px}
@media (min-width:640px){.form__grid{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.book{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:40px;align-items:start}.book__card{padding:28px}.form__grid{grid-template-columns:repeat(3,1fr)}}
