/* =====================================================================
   home-v2.css — 잘하는병원해외마케팅.com 메인 v2 (프리뷰)
   형식 원본: /해외마케팅/styles.css + custom.css + global.css (수정 금지)
   이 파일만 오버라이드 레이어. 항상 마지막에 로드.
   ===================================================================== */

/* ---------------------------------------------------------------
   0. Figma 1920 고정폭 스캐폴딩 → 전 구간 유동폭
   --------------------------------------------------------------- */
:root{
  --hv2-max: 1200px;
  --hv2-gutter: 20px;
  --page-w: 100%;
  --inner: min(1200px, calc(100vw - 40px));
  --inner-fluid: min(1200px, calc(100vw - 40px));
  --wide-content: min(1200px, calc(100vw - 40px));
  --wide-side: max(20px, calc((100vw - 1200px) / 2));
  --figma-inner: min(1200px, calc(100vw - 40px));
  --figma-side: max(20px, calc((100vw - 1200px) / 2));
  --side: max(20px, calc((100vw - 1200px) / 2));
  --side-fluid: max(20px, calc((100vw - 1200px) / 2));
  --hv2-navy: #2A2018;
  --hv2-o: #f38b23;
  --hv2-ho: #c25100;
  --hv2-ink: #33241A;
  --hv2-body: #5a4632;
  --hv2-line: #f0dcc4;
  --hv2-serif: "NewYork", Georgia, "Times New Roman", serif;
}

html, body, .hv2 .page{
  width:100% !important; min-width:0 !important; max-width:100% !important;
  overflow-x:hidden !important;
}
.hv2 .page{overflow:visible !important}

/* 1488 강제폭 해제 (헤더/히어로/예약/푸터) */
.hv2 .site-header,
.hv2 .top-banner,
.hv2 .gnb,
.hv2 .hero,
.hv2 .info-band,
.hv2 .answer-section,
.hv2 .soft-bg,
.hv2 .compare-section,
.hv2 .faq-section,
.hv2 .social-proof,
.hv2 .g-proof,
.hv2 .reserve-hero,
.hv2 .reserve-hero.reserve-figma,
.hv2 .reserve-hero.reserve-figma.auto-col,
.hv2 .footer{
  width:100% !important; max-width:100% !important; min-width:0 !important;
  margin-left:0 !important; margin-right:0 !important;
  box-sizing:border-box !important;
}

.hv2 .container,
.hv2 .divider,
.hv2 .comparison-table,
.hv2 .reason-box,
.hv2 .faq-list,
.hv2 .footer__inner,
.hv2 .footer__main,
.hv2 .footer-line,
.hv2 .footer__bottom,
.hv2 .answer-wrap,
.hv2 .faq-wrap,
.hv2 .compare-wrap,
.hv2 .process-wrap,
.hv2 .reserve-hero__content{
  width:min(var(--hv2-max), calc(100% - 40px)) !important;
  max-width:min(var(--hv2-max), calc(100% - 40px)) !important;
  min-width:0 !important;
  margin-left:auto !important; margin-right:auto !important;
  box-sizing:border-box !important;
  padding-left:0 !important; padding-right:0 !important;
}
.hv2 .faq-list,
.hv2 .footer__main,
.hv2 .footer-line,
.hv2 .footer__bottom,
.hv2 .answer-head{width:100% !important;max-width:100% !important}
.hv2 .page img{max-width:100%;height:auto}
.hv2 *{min-width:0}
/* flex column + align-items:center → 자식이 max-content 로 부풀어 가로 넘침 */
.hv2 .section-title > *,
.hv2 .reserve-title > *,
.hv2 .answer-text,
.hv2 .quote-copy > *{max-width:100% !important}
.hv2 .reserve-title > *{width:100% !important}
/* Figma 원본의 white-space:nowrap 상속 해제 (한국어 문장 줄바꿈) */
.hv2 .reserve-hero__content,
.hv2 .reserve-title,
.hv2 .reserve-title *,
.hv2 .section-title,
.hv2 .section-title *,
.hv2 .info-card,
.hv2 .info-card *,
.hv2 .footer__info,
.hv2 .footer__info *,
.hv2 .footer__bottom,
.hv2 .footer__bottom *{white-space:normal !important;word-break:keep-all}
.hv2 .reserve-title{width:100% !important;max-width:100% !important}
.hv2 .faq-item > div{width:100% !important;max-width:100% !important}

/* ---------------------------------------------------------------
   1. 헤더 / 네비
   --------------------------------------------------------------- */
.hv2 .site-header{height:auto !important;background:#fff !important}
.hv2 .top-banner{height:auto !important;padding:11px 44px 11px 18px !important;line-height:1.5}
.hv2 .top-banner p{font-size:clamp(11.5px,1.5vw,14px) !important;line-height:1.55 !important}
.hv2 .top-banner span{opacity:.72;font-weight:500}
.hv2 .top-banner__close{right:14px !important;top:50% !important;transform:translateY(-50%)}
.hv2 .gnb{max-width:var(--hv2-max) !important;padding:16px var(--hv2-gutter) !important;gap:14px !important}
.hv2 .logo .logo-img{height:44px !important;width:auto !important}
.hv2 .gnb__menu{gap:clamp(12px,2vw,30px) !important;font-size:16px !important;flex-wrap:wrap}
.hv2 .gnb__menu > li > a,
.hv2 .gnb-top{font-size:clamp(13px,1.15vw,16px) !important;font-weight:600 !important;color:var(--hv2-ink)}
.hv2 .gnb .pill{font-size:14px !important;padding:12px 22px !important;height:auto !important;min-width:0 !important;white-space:nowrap}
.hv2 .mega a{font-size:13.5px !important;padding:10px 20px !important}
@media (max-width:1040px){
  .hv2 .gnb__menu{display:none !important}
}

/* ---------------------------------------------------------------
   2. HERO — Figma absolute → 반응형 2열 그리드
   --------------------------------------------------------------- */
.hv2 .hv2-hero{
  position:relative !important;
  aspect-ratio:auto !important; height:auto !important; min-height:0 !important;
  overflow:visible !important;
  background:linear-gradient(120deg,#FFF4E7 0%,#FFE4D3 58%,#FFF0E3 100%) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(26px,3.6vw,54px);
  align-items:center;
  padding:clamp(34px,4vw,70px) max(var(--hv2-gutter), calc((100% - var(--hv2-max)) / 2)) clamp(40px,5vw,78px) !important;
  border-bottom:1px solid #f4e2cf;
}
.hv2 .hv2-hero .hero__copy{
  position:static !important; width:100% !important; max-width:none !important;
  padding:0 !important; margin:0 !important;
  align-items:flex-start !important; text-align:left !important;
  display:flex !important; flex-direction:column !important;
  order:1;
}
.hv2 .hv2-hero .hero__video{
  position:static !important; inset:auto !important;
  width:100% !important; height:auto !important;
  background:transparent !important; overflow:visible !important;
  order:2;
}
.hv2 .hv2-hero .hero-bg{display:none !important}
.hv2 .hv2-hero .hero-mock{
  position:static !important; width:100% !important; max-width:none !important;
  min-width:0 !important; margin:0 !important; right:auto !important; top:auto !important;
  display:flex !important; flex-direction:column !important; gap:16px !important;
}
.hv2 .hv2-hero .shot-frame{min-height:0 !important;width:100% !important}
.hv2 .hv2-hero .shot-hero img{max-height:340px;object-fit:cover;object-position:top center}
.hv2 .hv2-hero .shot-ai img{max-height:230px;object-fit:cover;object-position:top center}
.hv2 .hv2-hero .shot-frame .drop{display:none !important}

.hv2 .hv2-hero .hero__eyebrow{
  font-size:clamp(12px,1.25vw,16px) !important; line-height:1.4 !important;
  color:var(--hv2-ho) !important; font-weight:700 !important;
  margin:0 0 14px !important; letter-spacing:.02em !important;
}
.hv2 .hv2-hero .g-hero-h1{
  font-family:Pretendard,-apple-system,sans-serif !important;
  font-size:clamp(28px,3.9vw,54px) !important;
  line-height:1.22 !important; font-weight:800 !important;
  letter-spacing:-.025em !important; color:var(--hv2-ink) !important;
  margin:0 0 18px !important; word-break:keep-all; overflow-wrap:break-word;
}
.hv2 .hv2-hero .g-hero-h1 strong{color:var(--hv2-ho) !important;font-weight:800 !important}
.hv2 .hv2-hero .hero__desc{
  margin:0 !important; color:#6a5540 !important;
  font-size:clamp(14px,1.28vw,17px) !important; line-height:1.72 !important;
  letter-spacing:-.02em !important; word-break:keep-all;
}
.hv2 .hv2-hero .hero__desc b{color:var(--hv2-ho);font-weight:800}
.hv2-hero-sub2{
  margin:10px 0 0 !important; color:#8a7460;
  font-size:clamp(12.5px,1.05vw,14.5px); line-height:1.7; word-break:keep-all;
}
.hv2-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.hv2-chips span{
  background:#fff;border:1px solid #ffd9b3;border-radius:999px;
  padding:7px 15px;font-size:12.5px;font-weight:700;color:#8a5a22;
  box-shadow:0 6px 14px -10px rgba(120,60,20,.5);
}
.hv2-quotebox{
  margin:22px 0 0;padding:20px 22px;border-radius:16px;
  background:rgba(255,255,255,.78);border:1px solid #ffd9b3;
}
.hv2-quotebox .q{
  margin:0;font-family:var(--hv2-serif);font-size:clamp(15px,1.5vw,19px);
  line-height:1.55;color:var(--hv2-ho);font-weight:700;word-break:keep-all;
}
.hv2-quotebox .a{
  margin:10px 0 0;font-size:clamp(12.5px,1.05vw,14px);line-height:1.7;
  color:#7a6552;word-break:keep-all;
}
.hv2-quotebox .a b{color:var(--hv2-ho)}
.hv2 .hv2-hero .hero__buttons{
  margin-top:26px !important;justify-content:flex-start !important;
  gap:12px !important;flex-wrap:wrap;
}
.hv2 .hv2-hero .pill{
  width:auto !important;min-width:0 !important;height:auto !important;
  padding:15px 30px !important;font-size:15px !important;line-height:1.3 !important;
}
.hv2 .hv2-hero .pill--black{background:var(--hv2-ink) !important;color:#fff !important}
.hv2 .hv2-hero .pill--outline{border:1.5px solid var(--hv2-ink) !important;color:var(--hv2-ink) !important;background:transparent !important}

@media (max-width:900px){
  .hv2 .hv2-hero{grid-template-columns:1fr !important;gap:24px}
  .hv2 .hv2-hero .shot-hero img{max-height:260px}
  .hv2 .hv2-hero .shot-ai img{max-height:180px}
}

/* ---------------------------------------------------------------
   3. 섹션 공통 타이포 (80px 고정 → clamp)
   --------------------------------------------------------------- */
.hv2 .section-title{width:100% !important;max-width:100% !important;gap:12px}
.hv2 .section-title p{font-size:clamp(14px,1.5vw,20px) !important;line-height:1.4 !important;font-weight:700}
.hv2 .section-title h2,
.hv2 .g-proof h2{
  font-size:clamp(24px,3.2vw,44px) !important;
  line-height:1.3 !important; font-weight:700 !important;
  letter-spacing:-.03em !important; word-break:keep-all; overflow-wrap:break-word;
}
.hv2 .section-title h2 strong,
.hv2 .section-title h2 b{
  font-size:inherit !important;line-height:inherit !important;
  color:var(--hv2-ho) !important;font-weight:800 !important;
}
.hv2 .social-proof .section-title h2 strong{color:#ffb27a !important}
.hv2 .section-title .section-desc{
  font-size:clamp(13px,1.2vw,16.5px) !important;line-height:1.72 !important;
  color:#6a5540;margin-top:4px;word-break:keep-all;
}
.hv2 .section-title small{font-size:clamp(12px,1.1vw,14px) !important;line-height:1.6 !important;color:#9a8a76}
.hv2 .answer-head .underline,
.hv2 .underline{
  position:relative !important;left:auto !important;right:auto !important;
  top:auto !important;bottom:auto !important;z-index:0 !important;
  display:block;width:clamp(72px,10vw,150px) !important;height:10px !important;
  border-radius:6px;margin-top:14px;
}
.hv2 .divider{height:1px;background:#f0e2d2;margin-top:0;margin-bottom:0}

.hv2 .info-band{height:auto !important;padding:clamp(44px,5vw,80px) var(--hv2-gutter) !important}
.hv2 .info-list{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(16px,2.6vw,44px) !important;align-items:start;justify-content:center;
}
.hv2 .info-card,
.hv2 .info-card--wide{width:auto !important;max-width:100% !important}
.hv2 .info-card__img{width:100% !important;max-width:200px !important;height:auto !important;aspect-ratio:1/1;margin:0 auto;border-radius:18px}
.hv2 .info-card__label{white-space:normal !important;margin:22px 0 8px !important;font-size:clamp(12px,1.1vw,15px) !important;line-height:1.55 !important}
.hv2 .info-card h3{white-space:normal !important;font-size:clamp(18px,2vw,27px) !important;line-height:1.35 !important}
@media (max-width:760px){
  .hv2 .info-list{grid-template-columns:1fr !important}
}

.hv2 .answer-section{padding:clamp(56px,6vw,120px) 0 !important}
.hv2 .answer-head{
  display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(22px,3vw,52px);align-items:end !important;
}
.hv2 .answer-text{
  width:100% !important;max-width:100% !important;
  font-size:clamp(14px,1.45vw,20px) !important;line-height:1.8 !important;
  letter-spacing:-.02em !important;color:#6a5540;word-break:keep-all;
}
.hv2 .answer-text strong{color:var(--hv2-ink);font-weight:800}
.hv2 .answer-text em{color:var(--hv2-ho);font-style:normal;font-weight:700}
@media (max-width:820px){
  .hv2 .answer-head{grid-template-columns:1fr !important}
}

.hv2-quote-block{
  margin:clamp(28px,3.4vw,52px) 0 0;padding:clamp(22px,2.6vw,36px);
  background:#fff7ee;border:1px solid var(--hv2-line);border-left:6px solid var(--hv2-o);
  border-radius:18px;text-align:center;
}
.hv2-quote-block .quote-mark{font-size:clamp(40px,5vw,70px) !important;line-height:.9 !important;color:#e8bb8a}
.hv2-quote-block p{
  margin:6px 0 0;font-family:var(--hv2-serif);
  font-size:clamp(16px,2.1vw,28px);line-height:1.5;color:var(--hv2-ink);word-break:keep-all;
}
.hv2-quote-block .cite{display:block;margin-top:14px;font-size:13px;color:#a08a76;font-weight:600}

.hv2-why-grid{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(20px,3vw,44px);margin-top:clamp(26px,3vw,44px);align-items:start;
}
.hv2-why-text p{margin:0 0 14px;font-size:clamp(13.5px,1.15vw,16px);line-height:1.8;color:#5a4632;word-break:keep-all}
.hv2-why-text p b{color:var(--hv2-ho);font-weight:800}
.hv2-why-text .hv2-accent{
  margin-top:20px;padding:16px 18px;background:#fff6ec;
  border:1px solid var(--hv2-line);border-radius:14px;color:#6a5540;
}
.hv2-result-card{
  background:var(--hv2-navy);border-radius:20px;padding:clamp(22px,2.4vw,32px);
  box-shadow:0 26px 50px -30px rgba(60,30,10,.55);
}
.hv2-result-card h3{margin:0 0 16px;font-family:var(--hv2-serif);font-size:19px;color:#ffb469;font-weight:700}
.hv2-result-card .row{
  display:flex;justify-content:space-between;gap:14px;
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px;
}
.hv2-result-card .row:last-child{border-bottom:0}
.hv2-result-card .k{color:rgba(255,255,255,.6)}
.hv2-result-card .v{color:#ffd0a2;font-weight:700;text-align:right}
@media (max-width:820px){
  .hv2-why-grid{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------
   4. 증거 섹션 확장 (5번째 와이드 카드)
   --------------------------------------------------------------- */
.hv2 .g-proof{padding:clamp(48px,5vw,80px) 0 clamp(48px,5vw,72px)}
.hv2 .g-proof-hero,
.hv2 .g-proof-duo,
.hv2 .g-proof-wide{
  max-width:100% !important;padding:0 !important;margin-left:0 !important;margin-right:0 !important;
}
.hv2 .g-proof-hero,
.hv2 .g-proof-duo{gap:clamp(16px,2vw,26px)}
.hv2 .g-proof-wide{margin-top:clamp(16px,2vw,26px)}
.hv2 .g-shot img{max-height:420px;object-fit:cover;object-position:top center}
.hv2 .g-proof-wide .g-shot img{max-height:none;object-fit:contain;background:#fffaf3}
.hv2 .g-shot figcaption{font-size:clamp(12.5px,1.05vw,14.5px) !important;line-height:1.65 !important}
.hv2 .g-shot__cap{font-size:clamp(12px,1vw,14px) !important}
.hv2 .g-proof-note{max-width:100% !important;padding:0 !important}

/* ---------------------------------------------------------------
   5. 케이스 숫자 카드
   --------------------------------------------------------------- */
.hv2-cases{padding:clamp(52px,5.5vw,96px) 0;background:linear-gradient(180deg,#FFF9F1,#FFF3E7)}
.hv2-case-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(16px,2.2vw,28px);margin-top:clamp(26px,3vw,42px);
}
.hv2-case{
  background:#fff;border:1px solid var(--hv2-line);border-top:5px solid var(--hv2-o);
  border-radius:20px;padding:clamp(22px,2.6vw,34px);
  box-shadow:0 18px 40px -26px rgba(160,90,30,.4);
}
.hv2-case .label{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--hv2-ho);margin-bottom:8px}
.hv2-case h3{margin:0 0 18px;font-size:clamp(17px,1.8vw,23px);color:var(--hv2-ink);font-weight:800}
.hv2-case .flow{display:flex;align-items:baseline;gap:clamp(8px,1.4vw,18px);flex-wrap:wrap;margin-bottom:18px}
.hv2-case .from{font-family:var(--hv2-serif);font-size:clamp(20px,2.4vw,32px);color:#b9a894;font-weight:700}
.hv2-case .arrow{font-size:clamp(16px,1.8vw,24px);color:var(--hv2-o);font-weight:900}
.hv2-case .to{font-family:var(--hv2-serif);font-size:clamp(30px,4vw,54px);color:var(--hv2-ho);font-weight:700;line-height:1}
.hv2-case .pct{margin-left:auto;font-family:var(--hv2-serif);font-size:clamp(16px,1.8vw,24px);color:#2f9e5e;font-weight:700}
.hv2-case .desc{margin:0;font-size:clamp(13px,1.1vw,15px);line-height:1.7;color:#6a5540;word-break:keep-all}
.hv2-foot{margin:18px 0 0;font-size:12.5px;line-height:1.7;color:#a08a76;word-break:keep-all}
.hv2-foot b{color:#8a6a45}
.hv2-note{
  margin-top:clamp(18px,2.2vw,28px);padding:clamp(20px,2.4vw,32px);
  background:#fff;border:1px solid var(--hv2-line);border-radius:18px;
}
.hv2-note h3{margin:0 0 10px;font-size:clamp(15px,1.5vw,20px);color:var(--hv2-ink);font-weight:800;word-break:keep-all}
.hv2-note p{margin:0;font-size:clamp(13px,1.1vw,15.5px);line-height:1.78;color:#5a4632;word-break:keep-all}
.hv2-note p b{color:var(--hv2-ho);font-weight:800}
.hv2-note .kicker{font-size:12.5px;font-weight:800;letter-spacing:.06em;color:#C04A39;margin-bottom:8px}
.hv2-note--red{border-color:#e9b6ac;background:#fff6f4}
.hv2-note--sage{border-color:#a9c6bd;background:#f4f9f7}
.hv2-kpi-row{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px;
}
.hv2-kpi-row div{text-align:center}
.hv2-kpi-row b{display:block;font-family:var(--hv2-serif);font-size:clamp(20px,2.4vw,32px);color:#3F6960;font-weight:700;line-height:1.1}
.hv2-kpi-row span{display:block;margin-top:6px;font-size:11.5px;letter-spacing:.04em;color:#7d8f89}
@media (max-width:760px){
  .hv2-case-grid{grid-template-columns:1fr}
  .hv2-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------------------------------------------------------------
   6. 비교표 — 데스크톱 표 / 모바일 카드
   --------------------------------------------------------------- */
.hv2 .compare-section{padding:clamp(52px,5.5vw,96px) 0 !important}
.hv2-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:clamp(24px,3vw,40px)}
.hv2-table{
  width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--hv2-line);border-radius:16px;overflow:hidden;
  font-size:clamp(12px,1.05vw,14.5px);
}
.hv2-table th,
.hv2-table td{padding:13px 12px;text-align:center;border-bottom:1px solid #f5e8da;vertical-align:middle;word-break:keep-all}
.hv2-table thead th{background:var(--hv2-navy);color:#fff;font-size:12px;font-weight:800;letter-spacing:.04em}
.hv2-table thead th.us{background:var(--hv2-o);color:#2A2018}
.hv2-table tbody th[scope="row"]{text-align:left;background:#fff8f0;color:var(--hv2-ink);font-weight:700}
.hv2-table td{color:#6a5540}
.hv2-table .us-cell{background:rgba(243,139,35,.1);color:var(--hv2-ho);font-weight:800}
.hv2-table tbody tr:last-child th,
.hv2-table tbody tr:last-child td{border-bottom:0}
.hv2-table--num td{text-align:right;font-variant-numeric:tabular-nums}
.hv2-table tr.total th,
.hv2-table tr.total td{background:rgba(243,139,35,.14);font-weight:800;color:var(--hv2-ho)}

@media (max-width:760px){
  .hv2-table-wrap{overflow-x:visible}
  .hv2-table,
  .hv2-table tbody,
  .hv2-table tr,
  .hv2-table td,
  .hv2-table tbody th{display:block;width:100%}
  .hv2-table thead{display:none}
  .hv2-table{border:0;background:transparent}
  .hv2-table tbody tr{
    background:#fff;border:1px solid var(--hv2-line);border-radius:14px;
    margin-bottom:12px;overflow:hidden;
  }
  .hv2-table tbody th[scope="row"]{
    background:var(--hv2-navy);color:#fff;text-align:left;padding:11px 14px;font-size:13px;
  }
  .hv2-table td{
    display:flex;justify-content:space-between;gap:14px;text-align:right;
    padding:10px 14px;border-bottom:1px solid #f5e8da;
  }
  .hv2-table td::before{
    content:attr(data-th);flex:0 0 auto;text-align:left;
    font-weight:700;color:#a08a76;font-size:12px;
  }
  .hv2-table tbody tr:last-child td:last-child{border-bottom:0}
}

/* ---------------------------------------------------------------
   7. Pillars / 페이지 카운트 / 보도자료 / 서비스 / 수수료
   --------------------------------------------------------------- */
.hv2-pillars{padding:clamp(52px,5.5vw,96px) 0;background:#fff}
.hv2-pillar-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2.2vw,26px);margin-top:clamp(26px,3vw,42px);
}
.hv2-pillar{
  background:linear-gradient(180deg,#FFF9F1,#FFF3E7);
  border:1px solid var(--hv2-line);border-top:5px solid var(--hv2-o);
  border-radius:20px;padding:clamp(22px,2.4vw,30px);
}
.hv2-pillar h4{margin:0 0 6px;font-size:11.5px;letter-spacing:.16em;color:var(--hv2-ho);font-weight:900}
.hv2-pillar h3{margin:0 0 16px;font-size:clamp(16px,1.6vw,20px);color:var(--hv2-ink);font-weight:800}
.hv2-pillar ul{margin:0;padding:0;list-style:none}
.hv2-pillar li{position:relative;padding-left:16px;margin-bottom:10px;font-size:clamp(12.5px,1.05vw,14.5px);line-height:1.6;color:#5a4632;word-break:keep-all}
.hv2-pillar li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--hv2-o)}
.hv2-pillar li b{color:var(--hv2-ho);font-weight:800}

.hv2-pagecount{
  margin-top:clamp(22px,2.6vw,36px);padding:clamp(20px,2.4vw,32px);
  background:#fff;border:1px solid var(--hv2-line);border-radius:20px;
  box-shadow:0 18px 40px -30px rgba(160,90,30,.4);
}
.hv2-pagecount h3{margin:0 0 6px;font-size:clamp(15px,1.5vw,20px);color:var(--hv2-ink);font-weight:800;word-break:keep-all}
.hv2-pagecount .sub{margin:8px 0 0;font-size:12.5px;line-height:1.7;color:#a08a76;word-break:keep-all}

.hv2-press{padding:clamp(52px,5.5vw,96px) 0;background:linear-gradient(180deg,#FFF3E7,#FFF9F1)}
.hv2-press-grid{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:clamp(18px,2.4vw,34px);margin-top:clamp(26px,3vw,42px);align-items:start;
}
.hv2-press-main{display:flex;flex-direction:column;gap:16px}
.hv2-press-card{
  background:#fff;border:1px solid var(--hv2-line);border-left:6px solid #C04A39;
  border-radius:18px;padding:clamp(20px,2.4vw,32px);
}
.hv2-press-card--gold{border-left-color:var(--hv2-o);background:#fff8ef}
.hv2-press-card h3{margin:0 0 12px;font-size:clamp(15px,1.5vw,20px);color:var(--hv2-ink);font-weight:800;word-break:keep-all}
.hv2-press-card p{margin:0 0 12px;font-size:clamp(13px,1.1vw,15.5px);line-height:1.78;color:#5a4632;word-break:keep-all}
.hv2-press-card p:last-child{margin-bottom:0}
.hv2-press-card p b{color:#C04A39;font-weight:800}
.hv2-press-side h3{margin:0 0 14px;font-size:clamp(14px,1.35vw,18px);color:var(--hv2-ink);font-weight:800}
.hv2-press-item{
  background:#fff;border:1px solid var(--hv2-line);border-radius:14px;
  padding:16px 18px;margin-bottom:12px;
}
.hv2-press-item .n{display:block;font-family:var(--hv2-serif);font-size:22px;color:#C04A39;line-height:1;font-weight:700}
.hv2-press-item b{display:block;margin-top:6px;font-size:14px;color:var(--hv2-ink);font-weight:700}
.hv2-press-item .d{display:block;margin-top:4px;font-size:12.5px;line-height:1.6;color:#a08a76;word-break:keep-all}
@media (max-width:820px){
  .hv2-pillar-grid{grid-template-columns:1fr}
  .hv2-press-grid{grid-template-columns:1fr}
}

.hv2-services{padding:clamp(52px,5.5vw,96px) 0;background:#fff}
.hv2-svc{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2.2vw,26px);margin-top:clamp(26px,3vw,42px);
}
.hv2-svc article{
  background:linear-gradient(180deg,#FFF9F1,#fff);
  border:1px solid var(--hv2-line);border-radius:20px;
  padding:clamp(22px,2.4vw,30px);
}
.hv2-svc-num{font-family:var(--hv2-serif);font-size:32px;line-height:1;color:var(--hv2-o);font-weight:700;margin-bottom:10px}
.hv2-svc h3{margin:0 0 12px;font-size:clamp(15px,1.5vw,19px);color:var(--hv2-ink);font-weight:800;word-break:keep-all}
.hv2-svc h3 small{display:block;margin-top:6px;font-size:12.5px;font-weight:700;color:var(--hv2-ho);line-height:1.5}
.hv2-svc p{margin:0 0 12px;font-size:clamp(12.5px,1.05vw,14.5px);line-height:1.7;color:#6a5540;word-break:keep-all}
.hv2-svc ul{margin:0;padding:0;list-style:none}
.hv2-svc li{position:relative;padding-left:18px;margin-bottom:8px;font-size:clamp(12px,1vw,14px);line-height:1.6;color:#5a4632;word-break:keep-all}
.hv2-svc li::before{content:'✓';position:absolute;left:0;color:#3F6960;font-weight:900}
.hv2-svc li b{color:var(--hv2-ho);font-weight:800}
@media (max-width:820px){.hv2-svc{grid-template-columns:1fr}}

.hv2-pricing{padding:clamp(52px,5.5vw,96px) 0;background:linear-gradient(140deg,#3a2717 0%,#5c360f 55%,#7a3f0a 100%)}
.hv2-pricing .section-title p{color:#ffb27a !important}
.hv2-pricing .section-title h2{color:#fff !important}
.hv2-pricing .section-title h2 strong{color:#ffb469 !important}
.hv2-pricing .section-title .section-desc{color:#e0cdb8 !important}
.hv2-pricing-grid{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(18px,2.6vw,40px);margin-top:clamp(26px,3vw,42px);align-items:start;
}
.hv2-pricing-table{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);
  border-radius:18px;overflow:hidden;
}
.hv2-pricing-table .row{
  display:flex;justify-content:space-between;gap:16px;
  padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1);
  font-size:clamp(12.5px,1.05vw,14.5px);
}
.hv2-pricing-table .row:last-child{border-bottom:0}
.hv2-pricing-table .row.hl{background:rgba(243,139,35,.16)}
.hv2-pricing-table .k{color:rgba(255,255,255,.62);flex:0 0 auto}
.hv2-pricing-table .v{color:#fff;font-weight:700;text-align:right;word-break:keep-all}
.hv2-pricing-table .v b{color:#ffb469}
.hv2-pricing-side h3{margin:0 0 12px;font-family:var(--hv2-serif);font-size:20px;color:#ffb469;font-weight:700}
.hv2-pricing-side p{margin:0 0 14px;font-size:clamp(12.5px,1.05vw,15px);line-height:1.75;color:rgba(255,255,255,.86);word-break:keep-all}
.hv2-pricing-side ol{counter-reset:pl;margin:14px 0;padding:0;list-style:none}
.hv2-pricing-side ol li{
  position:relative;padding:14px 18px 14px 56px;margin-bottom:10px;
  background:rgba(255,255,255,.06);border-left:3px solid var(--hv2-o);border-radius:10px;
  color:#fff;font-size:clamp(12.5px,1.05vw,14.5px);line-height:1.6;word-break:keep-all;
}
.hv2-pricing-side ol li::before{
  counter-increment:pl;content:counter(pl);position:absolute;left:18px;top:50%;
  transform:translateY(-50%);font-family:var(--hv2-serif);font-weight:700;
  color:#ffb469;font-size:24px;
}
.hv2-pricing-side ol li b{color:#ffd0a2}
.hv2-pricing-side .sub{font-size:12.5px;color:rgba(255,255,255,.55);line-height:1.7}
@media (max-width:820px){.hv2-pricing-grid{grid-template-columns:1fr}}

/* ---------------------------------------------------------------
   8. 프로세스 5단계
   --------------------------------------------------------------- */
.hv2 .soft-bg.before-after-section{
  border-top-left-radius:clamp(28px,6vw,120px);
  border-top-right-radius:clamp(28px,6vw,120px);
  padding-top:clamp(48px,5vw,80px) !important;
}
.hv2 .process-wrap{padding-bottom:clamp(56px,6vw,120px) !important;margin-top:0 !important}
.hv2 .hv2-steps5{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  gap:clamp(14px,1.8vw,20px) !important;margin-top:clamp(26px,3vw,44px) !important;
}
.hv2 .stepc-vis{height:clamp(96px,10vw,140px)}
.hv2 .stepc-vis svg{width:76%;height:auto}
.hv2 .stepc-body{padding:18px 18px 22px}
.hv2 .stepc-body h3{margin:10px 0 8px;font-size:clamp(14.5px,1.35vw,18px);color:var(--hv2-ink);font-weight:800}
.hv2 .stepc-body p{margin:0;font-size:clamp(12px,1vw,13.8px);line-height:1.7;color:#6a5540;word-break:keep-all}
.hv2 .stepc-badge{font-size:11.5px}

/* ---------------------------------------------------------------
   9. FAQ
   --------------------------------------------------------------- */
.hv2 .faq-section{padding:clamp(52px,5.5vw,110px) 0 !important}
.hv2 .faq-list{border-top:3px solid var(--hv2-ink) !important;border-bottom:3px solid var(--hv2-ink) !important;margin-top:clamp(24px,3vw,40px)}
.hv2 .faq-item{border-bottom:1px solid #e5d8c6 !important}
.hv2 .faq-item button{
  width:100% !important;max-width:100% !important;height:auto !important;min-height:0 !important;
  padding:20px 0 !important;gap:16px !important;
  white-space:normal !important;word-break:keep-all !important;
  font-size:clamp(14px,1.4vw,19px) !important;line-height:1.5 !important;
  color:var(--hv2-ink) !important;font-weight:700 !important;align-items:center !important;
}
.hv2 .faq-item button span.faq-arrow{
  width:34px !important;height:34px !important;flex:0 0 34px !important;
  background:transparent !important;overflow:visible !important;position:relative !important;
}
/* 화살표 아이콘 = 순수 CSS +/− (장식용 img 제거) */
.hv2 .faq-list .faq-item > button .faq-arrow::before,
.hv2 .faq-list .faq-item > button .faq-arrow::after,
.hv2 .faq-item button span.faq-arrow::before,
.hv2 .faq-item button span.faq-arrow::after{
  content:"" !important;display:block !important;position:absolute !important;
  top:50% !important;left:50% !important;right:auto !important;
  width:17px !important;height:2.5px !important;border-radius:3px !important;
  background:var(--hv2-ho) !important;transition:transform .2s ease !important;
}
.hv2 .faq-item button span.faq-arrow::before{transform:translate(-50%,-50%) !important}
.hv2 .faq-item button span.faq-arrow::after{transform:translate(-50%,-50%) rotate(90deg) !important}
.hv2 .faq-item.is-open button span.faq-arrow::after{transform:translate(-50%,-50%) rotate(0deg) !important}
.hv2 .faq-item div{
  padding:0 0 24px !important;font-size:clamp(13px,1.15vw,16px) !important;
  line-height:1.8 !important;color:#6a5540 !important;word-break:keep-all;
}
.hv2 .faq-item.is-open div{display:block !important}
.hv2 .more-btn{
  width:auto !important;min-width:240px;height:auto !important;
  padding:18px 34px !important;margin:clamp(26px,3vw,44px) auto 0 !important;
  font-size:16px !important;line-height:1.3 !important;align-self:center;
}

/* ---------------------------------------------------------------
   10. 문의 / 폼
   --------------------------------------------------------------- */
.hv2 .reserve-hero.reserve-figma{padding:clamp(52px,5.5vw,96px) 0 clamp(56px,6vw,104px) !important}
.hv2 .reserve-hero__content{align-items:center !important;text-align:center !important;gap:26px !important;padding:0 !important}
.hv2 .reserve-hero.reserve-figma .reserve-title{gap:12px !important;align-items:center !important;text-align:center !important}
.hv2 .reserve-hero.reserve-figma .reserve-title p{font-size:clamp(14px,1.5vw,20px) !important;line-height:1.4 !important}
.hv2 .reserve-hero.reserve-figma .reserve-title h2{
  font-size:clamp(23px,3.1vw,42px) !important;line-height:1.3 !important;
  letter-spacing:-.03em !important;word-break:keep-all;
}
.hv2 .reserve-hero.reserve-figma .reserve-title span{font-size:clamp(13px,1.15vw,16px) !important;line-height:1.7 !important;word-break:keep-all}
.hv2 .g-contact{width:100%;max-width:620px;margin:0 auto !important}
.g-contact-btn--mail{background:#fff;border-color:#f0dcc4}
.g-contact-btn--mail .g-contact-txt{color:#3a2415}
.g-contact-btn--mail .g-contact-txt i{color:#c25100}
.g-contact-btn--mail .g-contact-txt b{font-size:14px;word-break:break-all}

.hv2-contact-grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(18px,2.4vw,32px);width:100%;text-align:left;align-items:start;
}
.hv2 .hv2-contact-grid .diag-form{max-width:none !important;margin:0 !important;width:100% !important}
.hv2-company{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  border-radius:18px;padding:clamp(22px,2.4vw,32px);
}
.hv2-company h3{margin:0 0 16px;font-family:var(--hv2-serif);font-size:20px;color:#ffb469;font-weight:700}
.hv2-company table{width:100%;border-collapse:collapse;font-size:clamp(12.5px,1.05vw,14px)}
.hv2-company th,
.hv2-company td{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);vertical-align:top;text-align:left;word-break:keep-all}
.hv2-company th{color:rgba(255,255,255,.55);font-weight:600;width:36%}
.hv2-company td{color:#fff;font-weight:600}
.hv2-company a{color:#ffb469;text-decoration:underline}
.hv2-company tr:last-child th,
.hv2-company tr:last-child td{border-bottom:0}
@media (max-width:860px){
  .hv2-contact-grid{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------
   11. 푸터
   --------------------------------------------------------------- */
.hv2 .footer{
  height:auto !important;min-height:0 !important;
  padding:clamp(44px,5vw,72px) 0 !important;
}
.hv2 .footer__inner{gap:clamp(24px,3vw,44px) !important;width:min(var(--hv2-max), calc(100% - 40px)) !important}
.hv2 .footer__main{width:100% !important}
.hv2 .footer__info,
.hv2 .footer-copy{width:100% !important;max-width:100% !important;gap:16px !important}
.hv2 .footer__info-top{gap:16px !important}
.hv2 .footer-logo{gap:12px !important;flex-wrap:wrap}
.hv2 .footer-logo strong{white-space:normal !important;font-size:20px !important;letter-spacing:.06em}
.hv2 .footer-logo span{font-size:12.5px;color:rgba(255,255,255,.55);padding-left:12px;border-left:1px solid rgba(243,139,35,.35)}
.hv2 .footer-copy p{white-space:normal !important;font-size:13px !important;line-height:1.8 !important;word-break:keep-all}
.hv2 .footer__bottom{gap:16px !important;flex-direction:column !important;align-items:flex-start !important}
.hv2 .footer__bottom p{white-space:normal !important;font-size:12px !important;line-height:1.85 !important;word-break:keep-all}
.hv2 .footer-line{background:rgba(255,255,255,.18)}

/* ---------------------------------------------------------------
   12. 소셜 프루프 폭 보정
   --------------------------------------------------------------- */
.hv2 .social-proof{padding:clamp(52px,5.5vw,96px) 0}
.hv2 .sp-carousel{max-width:100%}
.hv2 .sp-shot{width:min(460px,80vw)}
.hv2 .sp-grid{gap:16px}
.hv2 .sp-q{font-size:clamp(14px,1.3vw,18px)}

/* ---------------------------------------------------------------
   13. 모바일 마무리 (≤820 커스텀 레이어 뒤에 오는 최종 보정)
   --------------------------------------------------------------- */
@media (max-width:820px){
  .hv2 .container,
  .hv2 .answer-wrap,
  .hv2 .faq-wrap,
  .hv2 .compare-wrap,
  .hv2 .process-wrap,
  .hv2 .reserve-hero__content,
  .hv2 .footer__inner{
    width:calc(100% - 32px) !important;max-width:calc(100% - 32px) !important;
    padding-left:0 !important;padding-right:0 !important;margin:0 auto !important;
  }
  .hv2 .hv2-hero{padding-left:16px !important;padding-right:16px !important}
  .hv2 .g-proof-hero,
  .hv2 .g-proof-duo,
  .hv2 .g-proof-wide,
  .hv2 .g-proof-note{padding-left:0 !important;padding-right:0 !important}
  .hv2 .info-band{padding-left:0 !important;padding-right:0 !important}
  .hv2 .faq-item button{font-size:15px !important}
  .hv2 .reserve-hero.reserve-figma{padding-left:0 !important;padding-right:0 !important}
}

/* 0925 hero slim (N13 모바일 무잘림·리베리 모바일 히어로 독트린) */
.hv2 .hv2-hero .hero__desc{font-size:clamp(15px,1.4vw,19px) !important;line-height:1.65 !important;color:#5d4835 !important}
.hv2-br{display:none}@media(min-width:1024px){.hv2-br{display:inline}}
.hv2 .hv2-hero .hv2-chips{margin-top:22px}
.hv2 .hv2-hero .hero__buttons{margin-top:30px !important}
.hv2-quotebox--pricing{max-width:820px;margin:0 auto 34px;text-align:center;background:rgba(255,255,255,.85)}
.hv2-quotebox--pricing .q{font-size:clamp(17px,1.8vw,23px)}
.hv2-quotebox--pricing .a{font-size:clamp(13px,1.1vw,15px)}
@media(max-width:640px){
  .hv2 .hv2-hero .g-hero-h1{font-size:clamp(26px,7.4vw,32px) !important;margin-bottom:12px !important}
  .hv2 .hv2-hero .hero__desc{font-size:15px !important;line-height:1.6 !important}
  .hv2 .hv2-hero .hv2-chips{margin-top:16px;gap:6px}.hv2-chips span{padding:6px 12px;font-size:12px}
  .hv2 .hv2-hero .hero__buttons{margin-top:22px !important}
  .hv2 .hv2-hero .hero__buttons .pill{min-height:44px}
  .hv2-quotebox--pricing{text-align:left;margin-bottom:26px}
}

.hv2-period{display:inline-block;margin-left:8px;font-size:12px;font-weight:600;color:#9a7b5c;background:#fff3e6;border:1px solid #ffd9b3;border-radius:999px;padding:2px 9px;vertical-align:middle}
