/* ============================================================
   cohesion.css — 2026-07-21
   Cross-page cohesion pass for mobile: one cool accent
   (slate #486784) + charcoal ink, a single horizontal gutter,
   and an identical footer on every page.

   CSS ONLY. No markup, copy, or structural changes. Loaded last
   so it gently harmonises the existing design — it does not
   redesign it. Every rule below only corrects an inconsistency
   that already exists between sections/pages.
   ============================================================ */

/* ------------------------------------------------------------
   1. Remove the residual WARM cast from the header + category
      rail. These were left over from an earlier brown theme
      (rgba(87,78,66,.22) hairline, #fcfbf8 cream rail, #5e584f
      warm text, #292824 warm-black buttons) and are the only
      warm notes still visible on mobile. Bring them onto the
      same cool slate/ink system as the rest of the site.
   ------------------------------------------------------------ */
.page-home .nav,
.page-details .top,
.page-policies .top,
.page-support .support-header{
  border-bottom-color:rgba(32,40,51,.10);
  box-shadow:0 1px 0 rgba(32,40,51,.02);
}

.catalog-rail,
.policy-catalog{
  background:#fff;
  border-bottom-color:var(--dr-line);
}
.catalog-rail a,
.policy-catalog a{
  color:#5b636e;                 /* cool mid-grey, was warm #5e584f */
}

/* The header primary CTA is the SAME action on every page
   ("내 학습기기 구성하기"), but the inner pages rendered it in a
   warm charcoal while the storefront (index) uses the slate accent.
   Unify all of them to the slate accent so the one primary action —
   and the one accent colour — reads consistently site-wide. */
.page-details .top .btn-blue,
.page-policies .back,
.page-support .support-order{
  background:var(--dr-blue);
  border-color:var(--dr-blue);
}
.page-details .top .btn-blue:hover,
.page-policies .back:hover,
.page-support .support-order:hover{
  background:var(--dr-blue-dark);
  border-color:var(--dr-blue-dark);
}

/* ------------------------------------------------------------
   2. Cool the details-only variable namespace (detail.css set
      --line/--gold/--bg to warm cream tones). Keeps details
      cards, hairlines and accents in the same cool family as
      the other three pages.
   ------------------------------------------------------------ */
.page-details{
  --line:#e3e6eb;
  --gold:#486784;
  --bg:#f6f7f9;
}

/* ------------------------------------------------------------
   3. MOBILE alignment + footer consistency.
      Only applies at the mobile breakpoint so desktop spacing
      is untouched. The body content sits on a 20px gutter; the
      nav/utility bar/category rail were at 16–18px, so the logo
      and rail did not line up with the content below them.
   ------------------------------------------------------------ */
@media (max-width:760px){
  .page-home .nav-in,
  .page-home .utility-in{
    padding-left:20px;
    padding-right:20px;
  }

  /* Identical footer on every page (padding drifted 42/54 top,
     84/88/54 bottom between pages). */
  .page-home footer,
  .page-details footer,
  .page-policies footer,
  .page-support footer{
    padding-top:44px;
    padding-bottom:84px;
  }
}

/* DAICHIROOT CARE appears only on the service-detail page and
   inside the order configurator, keeping the landing page focused. */
.page-details .care-detail-section{background:#f3f6f8}
.care-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}
.care-plan{padding:28px;border:1px solid #dce4ea;border-radius:16px;background:#fff}
.care-plan.featured{border-color:#6f8ba4;box-shadow:0 14px 38px rgba(37,59,78,.09)}
.care-plan>span{color:#486784;font-size:10px;font-weight:800;letter-spacing:.14em}
.care-plan h3{margin:9px 0 5px;font-size:20px}
.care-plan>strong{display:block;margin-bottom:17px;font-size:28px;letter-spacing:-.035em}
.care-plan ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.care-plan li{position:relative;padding-left:18px;color:#616d77;font-size:13px;line-height:1.55}
.care-plan li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:#7892a9}
.care-detail-grid{margin-top:30px}
.care-detail-principle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.care-detail-principle>div{padding:24px;border:1px solid #dfe6eb;border-radius:14px;background:#fff}
.care-detail-principle span{display:block;margin-bottom:9px;color:#486784;font-size:11px;font-weight:800;letter-spacing:.08em}
.care-detail-principle strong{display:block;margin-bottom:9px;font-size:18px}
.care-detail-principle p{margin:0;color:#65717b;font-size:14px;line-height:1.7}
.care-detail-section .callout{margin-top:22px}

.care-builder{margin-top:14px;padding:18px;border:1px solid #dce3e9;border-radius:12px;background:#f7f9fa}
.care-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}
.care-builder-head b{display:block;font-size:14px}
.care-builder-head span{display:block;margin-top:4px;color:var(--ink3);font-size:11px}
.care-builder-head a{flex:none;color:#486784;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.care-builder-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.care-option{display:flex;min-width:0;min-height:84px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:13px;border:1px solid #d8dee4;border-radius:9px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}
.care-option:hover{border-color:#9baab7}
.care-option.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}
.care-option span{display:block}
.care-option b{display:block;font-size:12px}
.care-option small{display:block;margin-top:4px;color:var(--ink3);font-size:10px;line-height:1.4}
.care-option strong{display:block;margin-top:10px;font-size:12px}
.care-builder>p{margin:12px 0 0;color:var(--ink3);font-size:10.5px;line-height:1.55}
.care-summary-row{margin-top:4px;padding-top:9px;border-top:1px solid var(--line)}
.care-summary-row dd{color:#486784;font-weight:700}

@media (max-width:760px){
  .care-detail-principle,.care-plan-grid{grid-template-columns:1fr}
  .care-builder{padding:15px}
  .care-builder-options{grid-template-columns:1fr}
  .care-option{min-height:0}
}

/* ============================================================
   MOBILE REFRESH — 2026-07-21
   A cleaner mobile pass: consistent whitespace, a tighter type
   hierarchy, a unified softer card system, de-nested panels and
   consistent controls. Tone (slate accent + charcoal ink) and
   ALL copy are unchanged. Scoped to the mobile breakpoint only.
   ============================================================ */
@media (max-width:760px){

  /* -- 1. One consistent vertical cadence between sections -- */
  .page-home .commerce-shelves,
  .page-home .sales-live,
  .page-home .sec,
  .page-details .section,
  .page-policies .policy,
  .page-support .support-finder,
  .page-support .section{
    padding-top:60px;
    padding-bottom:60px;
  }

  /* -- 2. Section-header hierarchy & rhythm -- */
  .kicker,.eyebrow,.hero-slide-kicker,
  .home-section-head p,.shelf-head p{
    margin-bottom:13px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.14em;
  }
  main h2,.home-section-head h2,.shelf-head h2{
    line-height:1.34;
    letter-spacing:-.021em;
  }
  main h2 + p,
  main .intro,
  .home-section-head h2 + p{
    margin-top:14px;
    font-size:15px;
    line-height:1.75;
  }

  /* -- 3. Unified, softer card system -- */
  .card,.mcard,.tcard,.sales-live-card,.sales-fact,.video-card,
  .proof-sheet,.proof-promise,.trust-quick,.gtable-wrap,
  .advisor-card,.support-card,.sales-live-status,.price-note,
  .doc-card,.support-reservation,.contact-card{
    border-radius:14px;
    border-color:#e7eaef;
  }
  /* roomier interior for text panels */
  .page-details .card,
  .tcard,.advisor-card,.support-card,.doc-card{
    padding:22px;
  }

  /* De-nest the "접수→출고" stat block: drop the outer frame and
     turn the inner tiles into soft filled tiles (no frame-in-frame). */
  .page-home .sales-live-card{
    border:0;
    padding:0;
    background:transparent;
  }
  .page-home .sales-fact{
    border:0;
    background:#f5f7f9;
    border-radius:14px;
    padding:20px;
  }

  /* -- 4. Consistent controls: fields + buttons -- */
  select,
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
  textarea{
    border-radius:10px;
    min-height:52px;
    font-size:16px;              /* avoids iOS zoom-on-focus */
    border-color:#dce1e8;
  }
  textarea{min-height:120px}
  select:focus,input:focus,textarea:focus{
    border-color:var(--dr-blue);
    outline:none;
    box-shadow:0 0 0 3px rgba(72,103,132,.14);
  }
  .btn,.btn-blue,.cta,.ghost,.doc-link,.btn-lg,
  .support-order,.model-guide-submit,.models-more{
    border-radius:10px;
  }

  /* -- 5. Footer breathing room -- */
  .page-home footer,.page-details footer,
  .page-policies footer,.page-support footer{
    padding-top:52px;
  }
}

/* =====================================================================
   2026-07-21 · 톤앤매너 통일 패스 (디자인 전용 — 콘텐츠 무변경)
   포인트 컬러는 슬레이트 블루 #486784 하나로, 표면은 잉크 네이비 #252c34,
   나머지는 쿨 뉴트럴. 웜 베이지 잔재 제거 · 곡률 12/10 · 헤어라인 통일 · 섹션 리듬 72px.
   ===================================================================== */
:root{
  --dr2-accent:#486784;
  --dr2-navy:#252c34;
  --dr2-mut:#52606e;
  --dr2-soft:#66717c;
  --dr2-line:#dfe4e8;
  --dr2-hair:rgba(23,32,46,.07);
  --dr2-chipbg:#eef2f6;
  --dr2-r:12px;
  --dr2-r-m:10px;
  --dr2-shadow:0 1px 2px rgba(23,32,46,.04),0 8px 22px rgba(23,32,46,.05);
  --dr2-shadow-hover:0 2px 4px rgba(23,32,46,.05),0 14px 30px rgba(23,32,46,.08);
}

/* --- 홈: 차별화 섹션(#different)을 카탈로그 카드 시스템과 동일 토큰으로 --- */
.page-home #different{padding:72px 0;background:#f6f7f9}
.page-home #different .cards3{gap:16px}
.page-home #different .card{
  background:#fff;
  border:1px solid var(--dr2-hair);
  border-radius:var(--dr2-r);
  box-shadow:var(--dr2-shadow);
  padding:30px 28px;
}
.page-home #different .card:hover{transform:translateY(-2px);box-shadow:var(--dr2-shadow-hover)}
.page-home #different .cicon{background:var(--dr2-chipbg);border-radius:12px}
.page-home #different .cicon svg{stroke:#47586a}
.page-home .trust-quick{
  background:#fff;
  border:1px solid var(--dr2-hair);
  border-radius:var(--dr2-r);
  box-shadow:var(--dr2-shadow);
  overflow:hidden;
}
.page-home .trust-quick article{border-top:0;border-right:1px solid var(--dr2-line)}
.page-home .trust-quick article:last-child{border-right:0}
.page-home .order-flow li{color:var(--dr2-soft)}
.page-home .dbtn{border-radius:8px}
.page-home .final{padding:100px 0}

/* Model filters share one button language across device and brand choices. */
.page-home .model-filters-row .dev-toggle{
  gap:8px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.page-home .model-filters-row .dbtn:nth-child(n),
.page-home .model-filters-row .fchip:nth-child(n){
  min-height:44px;
  padding:0 18px;
  border:1px solid #cfd8e2;
  border-radius:999px;
  background:#fff;
  color:#536171;
  font-size:13px;
  font-weight:680;
  box-shadow:none;
}
.page-home .model-filters-row .dbtn.on,
.page-home .model-filters-row .fchip.on{
  border-color:var(--dr-blue);
  background:var(--dr-blue);
  color:#fff;
}
.page-home .model-filters-row .dbtn:hover:not(.on),
.page-home .model-filters-row .fchip:hover:not(.on){
  border-color:#9eafbf;
  background:#f7f9fb;
  color:#33485c;
}

.page-home .models-swipe-hint{
  justify-content:center;
  text-align:center;
}

/* Details page: mirror the landing page's shell, hero proportions and content rhythm. */
.page-details .topin{
  height:76px;
  gap:22px;
}
.page-details .top .logo-mark.brand-logo{
  width:40px;
  height:40px;
  flex-basis:40px;
}
.page-details .top .logo-type b{
  font-size:18px;
  font-weight:850;
}
.page-details .top .logo-type small{
  margin-top:2px;
  color:#7c8490;
  letter-spacing:.18em;
}
.page-details .top .nav-links{gap:30px}
.page-details .top .nlink{
  padding-block:0;
  color:#4e5966;
  font-size:12.5px;
  font-weight:650;
}
.page-details .detail-catalog-rail .catalog-rail-inner{
  height:48px;
  gap:28px;
}

.page-details .hero{
  width:min(1200px,calc(100% - 80px));
  min-height:430px;
  margin:24px auto 0;
  padding:0;
  border-radius:14px;
  background-position:center;
  background-size:cover;
  overflow:hidden;
}
.page-details .hero::before{
  background:linear-gradient(90deg,
    rgba(255,255,255,.9) 0%,
    rgba(255,255,255,.76) 42%,
    rgba(255,255,255,.25) 68%,
    rgba(255,255,255,.02) 88%);
}
.page-details .hero>.wrap{
  display:flex;
  width:100%;
  min-height:430px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  margin:0;
  padding:58px 60px 52px;
}
.page-details .hero .kicker{
  margin:0;
  padding-bottom:6px;
  color:#52606e;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
}
.page-details .hero h1{
  max-width:15ch;
  margin-top:16px;
  color:var(--landing-ink);
  font-size:clamp(34px,3vw,42px);
  font-weight:680;
  line-height:1.14;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.page-details .hero .lead{
  max-width:62ch;
  margin-top:18px;
  color:#4d5966;
  font-size:14px;
  line-height:1.72;
  letter-spacing:-.015em;
}
.page-details .hero-actions{
  gap:10px;
  margin-top:22px;
}
.page-details .hero>.wrap>.hero-actions .cta,
.page-details .hero>.wrap>.hero-actions .ghost{
  min-height:44px;
  padding:0 18px;
  border-radius:8px;
  font-size:13px;
  font-weight:700;
}

.page-details .section{
  padding-block:72px;
  border-color:var(--layout-line);
}
.page-details .section.alt,
.page-details .care-detail-section{background:var(--landing-tint)}
.page-details .section h2{
  max-width:20ch;
  color:var(--landing-ink);
  font-size:clamp(32px,3vw,40px);
  font-weight:680;
  line-height:1.18;
  letter-spacing:-.045em;
}
.page-details .intro{
  max-width:66ch;
  margin-top:16px;
  color:var(--landing-muted);
  font-size:15px;
  line-height:1.75;
}
.page-details .grid2,
.page-details .grid3,
.page-details .grid4,
.page-details .team{
  gap:16px;
  margin-top:32px;
}
.page-details .grid2 .card:nth-child(n),
.page-details .grid3 .card:nth-child(n),
.page-details .grid4 .card:nth-child(n),
.page-details .team .person:nth-child(n),
.page-details .care-plan,
.page-details .care-detail-principle>div,
.page-details .outcome-disclaimer,
.page-details .outcome-case,
.page-details .outcome-routine,
.page-details .outcome-principle{
  padding:24px;
  border:1px solid var(--layout-line);
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}
.page-details .card strong,
.page-details .person h3{
  font-size:18px;
  font-weight:700;
  line-height:1.35;
}
.page-details .card p,
.page-details .person p,
.page-details .step p{
  color:var(--landing-muted);
  font-size:14px;
  line-height:1.7;
}
.page-details .table-wrap,
.page-details .media img,
.page-details .media video{
  border-radius:12px;
}
.page-details .table-wrap{margin-top:32px}
.page-details .media.media-single{grid-template-columns:1fr}
.page-details .media.media-single figure{padding-right:0}
.page-details .faq{margin-top:32px}
.page-details .faq details{
  border-radius:12px;
  box-shadow:none;
}
.page-details .detail-final{
  width:100%;
  max-width:none;
  margin:0;
  padding-block:72px;
  border-radius:0;
  background:#252c34;
  color:#fff;
}
.page-details .detail-final h2{color:#fff}
.page-details .detail-final p:not(.kicker){color:rgba(255,255,255,.7)}
.page-details .detail-final .btn-blue{
  border-color:#fff;
  background:#fff;
  color:#252c34;
}

@media(max-width:700px){
  .page-details .topin{height:58px;gap:12px}
  .page-details .top .logo-mark.brand-logo{width:34px;height:34px;flex-basis:34px}
  .page-details .top .logo-type b{font-size:17px}
  .page-details .top .logo-type small{display:none}
  .page-details .top .btn-blue{min-height:38px;padding-inline:14px;font-size:12px}
  .page-details .detail-catalog-rail .catalog-rail-inner{height:44px;gap:22px}

  .page-details .hero{
    width:100%;
    min-height:390px;
    margin:0;
    border-radius:0;
    background-position:62% center;
  }
  .page-details .hero::before{
    background:linear-gradient(90deg,
      rgba(255,255,255,.9) 0%,
      rgba(255,255,255,.7) 48%,
      rgba(255,255,255,.32) 72%,
      rgba(255,255,255,.12) 100%);
  }
  .page-details .hero>.wrap{
    min-height:390px;
    padding:38px 20px 28px;
  }
  .page-details .hero .kicker{font-size:8.5px}
  .page-details .hero h1{
    max-width:12ch;
    margin-top:14px;
    font-size:29px;
    line-height:1.18;
  }
  .page-details .hero .lead{
    max-width:35ch;
    margin-top:15px;
    font-size:13px;
    line-height:1.68;
  }
  .page-details .hero-actions{margin-top:18px}
  .page-details .hero>.wrap>.hero-actions .cta,
  .page-details .hero>.wrap>.hero-actions .ghost{
    min-height:42px;
    padding-inline:14px;
    font-size:12px;
  }

  .page-details .section{padding-block:56px}
  .page-details .section h2{max-width:18ch;font-size:28px;line-height:1.2}
  .page-details .intro{margin-top:14px;font-size:14px;line-height:1.72}
  .page-details .grid2,
  .page-details .grid3,
  .page-details .grid4,
  .page-details .team{gap:12px;margin-top:28px}
  .page-details .grid2 .card:nth-child(n),
  .page-details .grid3 .card:nth-child(n),
  .page-details .grid4 .card:nth-child(n),
  .page-details .team .person:nth-child(n),
  .page-details .care-plan,
  .page-details .care-detail-principle>div,
  .page-details .outcome-disclaimer,
  .page-details .outcome-case,
  .page-details .outcome-routine,
  .page-details .outcome-principle{
    padding:20px;
    border-radius:10px;
  }
  .page-details .table-wrap,
  .page-details .media img,
  .page-details .media video,
  .page-details .faq details{border-radius:10px}
  .page-details .detail-final{padding:56px 20px}
}

/* --- 킥커 시그니처(대시 + 슬레이트)를 4개 페이지 공통으로 --- */
.page-home .sec-kicker,
.page-details .kicker,
.page-support .kicker,
.page-policies .kicker{
  font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--dr2-mut);
}
.page-details .kicker::before,
.page-support .kicker::before,
.page-policies .kicker::before{
  content:"";display:inline-block;width:18px;height:1.5px;background:#a5aeb8;
  vertical-align:middle;margin-right:10px;
}
.page-support .eyebrow,.page-policies .eyebrow{color:var(--dr2-mut);letter-spacing:.08em;font-weight:700}

/* --- 서브페이지 히어로 타이틀 스케일 통일 (48/62/64px 혼재 → 하나의 클램프) --- */
.page-details .hero h1,
.page-support .hero h1,
.page-policies .hero h1{font-size:clamp(34px,4.8vw,50px);letter-spacing:-.045em;line-height:1.12}

/* --- 섹션 타이틀 자간 통일 --- */
.page-home .sec-title,
.page-details .section h2,
.page-support .section h2,
.page-policies .policy h2{letter-spacing:-.04em}

@media(max-width:700px){
  .page-home #models .sec-title{
    max-width:12em;
    font-size:clamp(27px,7.4vw,30px);
    line-height:1.18;
    text-wrap:balance;
    word-break:keep-all;
  }
  .page-home #models .sec-title b{white-space:normal}
}

/* Keep all four hero images clear while retaining a readable light text field. */
.page-home .hero-slide::before,
.page-home .hero-slide.device-slide::before,
.page-home .hero-slide.inspection-slide::before,
.page-home .hero-slide.team-slide::before,
.page-home .hero-slide.review-slide::before{
  background:linear-gradient(90deg,
    rgba(255,255,255,.9) 0%,
    rgba(255,255,255,.76) 42%,
    rgba(255,255,255,.25) 68%,
    rgba(255,255,255,.02) 88%);
}

@media(max-width:700px){
  .page-home .hero-slide::before,
  .page-home .hero-slide.device-slide::before,
  .page-home .hero-slide.inspection-slide::before,
  .page-home .hero-slide.team-slide::before,
  .page-home .hero-slide.review-slide::before{
    background:linear-gradient(90deg,
      rgba(255,255,255,.9) 0%,
      rgba(255,255,255,.7) 48%,
      rgba(255,255,255,.32) 72%,
      rgba(255,255,255,.12) 100%);
  }

  .page-home .team-slide .hero-team-portraits::after{
    background:linear-gradient(180deg,
      rgba(255,255,255,.08) 0%,
      rgba(255,255,255,.16) 42%,
      rgba(255,255,255,.36) 74%,
      rgba(255,255,255,.58) 100%);
  }
}

/* Section-label ornament policy: labels stay typographic, without a leading rule. */
.kicker::before,
.eyebrow::before,
.sec-kicker::before{
  content:none!important;
  display:none!important;
}

/* Detailed, clearly disclosed sample-review personas below the review collage. */
.page-details .sample-reviews{
  margin-top:30px;
  padding:30px;
  border:1px solid #e1e6eb;
  border-radius:14px;
  background:#f6f8fa;
}
.page-details .sample-reviews-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
}
.page-details .sample-label{
  color:#607182;
  font-size:10px;
  font-weight:800;
  line-height:1.5;
  letter-spacing:.12em;
}
.page-details .sample-reviews h3{
  margin-top:7px;
  color:#202833;
  font-size:26px;
  line-height:1.25;
  letter-spacing:-.04em;
}
.page-details .sample-disclaimer{
  max-width:480px;
  color:#687583;
  font-size:12px;
  line-height:1.65;
}
.page-details .sample-disclaimer b{
  display:inline-block;
  margin-right:6px;
  padding:3px 7px;
  border-radius:5px;
  background:#e7edf3;
  color:#47627a;
  font-size:10px;
  line-height:1.4;
}
.page-details .sample-personas{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:24px;
}
.page-details .sample-persona{
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:24px;
  border:1px solid #e2e7ec;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 24px rgba(32,40,51,.055);
}
.page-details .persona-top{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
}
.page-details .persona-avatar{
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:15px;
  font-weight:800;
}
.page-details .persona-avatar.tone-blue{background:#6684a0}
.page-details .persona-avatar.tone-green{background:#678b7c}
.page-details .persona-avatar.tone-violet{background:#7d7898}
.page-details .persona-avatar.tone-amber{background:#a08260}
.page-details .persona-top strong{
  display:block;
  color:#202833;
  font-size:14px;
  line-height:1.4;
}
.page-details .persona-top div>span{
  display:block;
  margin-top:2px;
  color:#7a8590;
  font-size:11px;
  line-height:1.45;
}
.page-details .persona-top em{
  padding:5px 8px;
  border-radius:999px;
  background:#eef2f5;
  color:#596b7b;
  font-size:10px;
  font-style:normal;
  font-weight:700;
  line-height:1.4;
  white-space:nowrap;
}
.page-details .sample-persona h4{
  margin-top:20px;
  color:#202833;
  font-size:17px;
  line-height:1.45;
  letter-spacing:-.025em;
}
.page-details .persona-concern{
  margin-top:9px;
  color:#687583;
  font-size:13px;
  line-height:1.7;
}
.page-details .sample-persona dl{
  display:grid;
  gap:7px;
  margin-top:18px;
  padding:14px 15px;
  border-radius:9px;
  background:#f5f7f9;
}
.page-details .sample-persona dl>div{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  gap:10px;
  font-size:12px;
  line-height:1.55;
}
.page-details .sample-persona dt{color:#7a8590;font-weight:650}
.page-details .sample-persona dd{color:#3d4a56;font-weight:600}
.page-details .persona-voice{
  margin-top:16px;
  padding:14px 15px;
  border-radius:9px;
  background:#edf3f7;
  color:#40586c;
  font-size:13px;
  line-height:1.72;
}
.page-details .sample-persona small{
  display:block;
  margin-top:auto;
  padding-top:14px;
  color:#8a949e;
  font-size:10px;
  line-height:1.55;
}
@media(max-width:700px){
  .page-details .sample-reviews{margin-top:22px;padding:20px;border-radius:10px}
  .page-details .sample-reviews-head{display:block}
  .page-details .sample-reviews h3{font-size:22px}
  .page-details .sample-disclaimer{margin-top:12px}
  .page-details .sample-personas{grid-template-columns:1fr;gap:12px;margin-top:20px}
  .page-details .sample-persona{padding:20px;border-radius:10px}
  .page-details .persona-top{grid-template-columns:40px minmax(0,1fr)}
  .page-details .persona-avatar{width:40px;height:40px}
  .page-details .persona-top em{grid-column:2;justify-self:start;margin-top:-4px}
  .page-details .sample-persona h4{margin-top:17px;font-size:16px}
}

/* --- 카드 곡률·보더 통일 --- */
.page-details .care-plan{border-radius:var(--dr2-r);border-color:var(--dr2-hair);box-shadow:var(--dr2-shadow)}
.page-policies .summary>div,
.page-policies .checklist li{border:1px solid var(--dr2-hair)}

/* --- 푸터 텍스트 톤 통일 --- */
.page-support footer{color:#6b7280}

/* --- 모바일 리듬 (사이트 공통 760px 브레이크포인트·60px 카덴스에 정렬) --- */
@media(max-width:760px){
  .page-home #different{padding:60px 0}
  .page-home #different .card{border-radius:var(--dr2-r-m);padding:24px 20px}
  .page-home .trust-quick{border-radius:var(--dr2-r-m);grid-template-columns:1fr 1fr}
  .page-home .trust-quick article{border-top:0;border-right:1px solid var(--dr2-line);border-bottom:1px solid var(--dr2-line);padding:20px 18px}
  .page-home .trust-quick article:nth-child(2n){border-right:0}
  .page-home .trust-quick article:nth-child(n+3){border-bottom:0}
  .page-home .final{padding:72px 0}
  .page-details .hero h1,
  .page-support .hero h1,
  .page-policies .hero h1{font-size:clamp(27px,7.6vw,34px)}
}

/* --- 섹션 배경 교차 리듬: 모델(흰) → 차별화(틴트) → 접수 안내(흰) → 후기(틴트) → 최종(네이비) --- */
.page-home .sales-live{background:#fff;border-top:0}
.page-home .sales-live-card{background:#fff;border:1px solid var(--dr2-hair);border-radius:var(--dr2-r);box-shadow:var(--dr2-shadow)}
.page-home .media-proof-sec{border-top:0}

/* --- 세리프 잔재 제거: 요약 스트립 강조를 본문 서체 체계로 통일 --- */
.page-home .trust-quick strong{font-family:inherit;font-weight:700;font-size:18px;letter-spacing:-.02em}

/* --- 아이콘 언어 통일: 차별화 카드의 픽토그램을 사이트 공통 번호 배지(01·02·03)로 --- */
.page-home #different .cicon{display:none}
.page-home #different .cards3{counter-reset:diffcard}
.page-home #different .card{counter-increment:diffcard}
.page-home #different .card h3::before{
  content:counter(diffcard);
  display:grid;place-items:center;
  width:26px;height:26px;margin-bottom:14px;
  background:var(--dr2-chipbg);color:#47586a;
  border:1px solid #d9e0e6;border-radius:8px;
  font-size:12px;font-weight:800;letter-spacing:0;
}

/* --- 그림자 규칙 통일: 독립 카드=동일 그림자, 리스트 행·노트 블록=플랫, 정적 카드=호버 리프트 없음 --- */
.page-home #different .card:hover{transform:none;box-shadow:var(--dr2-shadow)}
.page-home .review-collage{box-shadow:var(--dr2-shadow)}
.page-policies .summary>div{box-shadow:var(--dr2-shadow)}
.page-support .video{box-shadow:var(--dr2-shadow)}
.page-details .callout,
.page-policies .callout,
.page-home .price-note{box-shadow:none}

/* Keep model browsing first; place the optional recommendation helper after it. */
.page-home #models .model-guide-placement{
  margin-top:64px;
  padding-top:56px;
  border-top:1px solid var(--dr-line);
}
.page-home #models .model-guide-placement .sec-head{margin-bottom:24px}
.page-home #models .model-guide-placement .model-guide{margin:0}

@media(max-width:700px){
  .page-home #models .model-guide-placement{
    margin-top:42px;
    padding-top:38px;
  }
}

/* Final specificity pins for the details/landing sync above. */
.page-details .care-plan{box-shadow:none}
.page-details .hero h1{
  max-width:15ch;
  font-size:clamp(34px,3vw,42px);
  line-height:1.14;
  letter-spacing:-.045em;
}
@media(max-width:700px){
  .page-details .hero h1{max-width:12ch;font-size:29px;line-height:1.18}
}

/* FAQ cards: questions and expanded answers share one comfortable text edge. */
.page-details .faq summary{
  min-height:64px;
  padding:20px 24px;
}
.page-details .faq details[open] > p{
  max-width:820px;
  margin:0;
  padding:0 24px 24px;
  color:var(--dr-muted);
  line-height:1.75;
}
@media(max-width:700px){
  .page-details .faq summary{
    min-height:60px;
    padding:16px 20px;
  }
  .page-details .faq details[open] > p{
    padding:0 20px 20px;
  }
}

/* Give the closing details CTA the same intentional presence as the landing CTA. */
.page-details .detail-final{
  display:flex;
  min-height:520px;
  align-items:center;
  justify-content:center;
  padding-block:96px;
}
@media(max-width:700px){
  .page-details .detail-final{
    min-height:420px;
    padding:72px 20px;
  }
}

/* Details header matches the landing header; the landing header remains untouched. */
.page-details .topin{
  height:60px;
  gap:18px;
}
.page-details .top .logo-mark.brand-logo{
  width:36px;
  height:36px;
  flex-basis:36px;
}
.page-details .top .btn-blue{
  min-height:38px;
  padding-inline:16px;
}
@media(max-width:700px){
  .page-details .topin{
    height:52px;
    gap:12px;
  }
  .page-details .top .logo-mark.brand-logo{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
  .page-details .top .btn-blue{
    min-height:36px;
    padding-inline:12px;
  }
}

/* Landing header hover rule sits below the label, never across its glyphs. */
.page-home .nav-links{align-items:center}
.page-home .nlink{
  position:relative;
  padding:5px 0 7px;
  line-height:1.3;
}
.page-home .nlink::after{
  right:0;
  bottom:1px;
  left:0;
  height:1px;
}

/* Support page: inherit the landing page's spacing, type, and surface rhythm. */
.page-support{
  --support-gutter:40px;
  background:#fff;
  color:var(--landing-ink);
}
.page-support .wrap{
  width:100%;
  max-width:1280px;
  padding-inline:var(--support-gutter);
}
.page-support .support-header-in{height:60px;gap:18px}
.page-support .support-logo-mark{width:36px;height:36px;flex-basis:36px}
.page-support .support-logo-type b{font-size:18px;font-weight:850}
.page-support .support-logo-type small{margin-top:2px;color:#7c8490;letter-spacing:.18em}
.page-support .support-nav-links{gap:25px}
.page-support .support-nlink{padding:5px 0 7px;line-height:1.3}
.page-support .support-nlink::after{bottom:1px;height:1px}
.page-support .support-order{min-height:38px;padding-inline:16px;border-radius:8px}
.page-support .catalog-rail-inner{height:52px;padding-inline:var(--support-gutter);gap:28px}
.page-support .hero{
  display:flex;
  align-items:flex-end;
  width:min(1200px,calc(100% - 80px));
  min-height:356px;
  margin:16px auto 0;
  padding:0;
  border-radius:14px;
  background-position:center;
  background-size:cover;
}
.page-support .hero::before{
  background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.76) 42%,rgba(255,255,255,.25) 68%,rgba(255,255,255,.02) 88%);
}
.page-support .hero>.wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  width:min(1080px,calc(100% - 120px));
  min-height:356px;
  padding:66px 0 52px;
}
.page-support .hero .eyebrow{
  padding-bottom:6px;
  color:#52606e;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
}
.page-support .hero h1{
  max-width:12ch;
  margin-top:14px;
  color:var(--landing-ink);
  font-size:clamp(34px,3vw,42px);
  font-weight:680;
  line-height:1.14;
  letter-spacing:-.045em;
}
.page-support .hero .lead{
  max-width:62ch;
  margin-top:16px;
  color:#4d5966;
  font-size:14px;
  line-height:1.72;
}
.page-support .support-finder,
.page-support .section{padding-block:72px;border-color:var(--layout-line)}
.page-support .support-finder-head{align-items:flex-end;gap:40px;margin-bottom:32px}
.page-support .support-finder-head h2,
.page-support .section h2{
  color:var(--landing-ink);
  font-size:clamp(32px,3vw,40px);
  font-weight:680;
  line-height:1.18;
  letter-spacing:-.045em;
}
.page-support .support-finder-head p,
.page-support .section>.wrap>.sub{
  color:var(--landing-muted);
  font-size:14px;
  line-height:1.72;
}
.page-support .quicknav,
.page-support .steps,
.page-support .actions{gap:16px;border-top:0}
.page-support .quicknav a:nth-child(n),
.page-support .step:nth-child(n),
.page-support .action:nth-child(n),
.page-support .form,
.page-support .faq details{
  border:1px solid var(--layout-line);
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}
.page-support .quicknav a:nth-child(n){min-height:136px;padding:24px}
.page-support .quicknav a::after{right:24px;bottom:24px}
.page-support .step:nth-child(n),
.page-support .action:nth-child(n){padding:24px}
.page-support .section:nth-of-type(even){background:var(--landing-tint)}
.page-support .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  min-height:44px;
  padding:0 17px;
  border-radius:8px;
  line-height:1;
  text-align:center;
  vertical-align:middle;
}
.page-support .btn>.btn-label{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  line-height:1;
  transform:translateY(2px);
}

/* FAQ content now lives on the dedicated FAQ page. */
.page-details:not(.page-faq) #faq,
.page-support #faq{display:none}
.page-support .form{padding:32px}
.page-support input,
.page-support select,
.page-support textarea{border-radius:8px}
.page-support .video{border-radius:12px;box-shadow:none}

@media(max-width:700px){
  .page-support{--support-gutter:20px}
  .page-support .support-header-in{height:52px;gap:12px}
  .page-support .support-logo-mark{width:32px;height:32px;flex-basis:32px}
  .page-support .support-logo-type small{display:none}
  .page-support .support-order{min-height:36px;height:auto;padding-inline:12px}
  .page-support .catalog-rail-inner{height:44px;gap:22px}
  .page-support .hero{
    width:100%;
    min-height:390px;
    margin:0;
    border-radius:0;
    background-position:64% center;
  }
  .page-support .hero::before{
    background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.7) 48%,rgba(255,255,255,.32) 72%,rgba(255,255,255,.12) 100%);
  }
  .page-support .hero>.wrap{
    width:100%;
    min-height:390px;
    padding:38px var(--support-gutter) 28px;
  }
  .page-support .hero h1{font-size:30px;line-height:1.14}
  .page-support .hero .lead{font-size:13px;line-height:1.68}
  .page-support .support-finder,
  .page-support .section{padding-block:56px}
  .page-support .support-finder-head{margin-bottom:24px}
  .page-support .support-finder-head h2,
  .page-support .section h2{font-size:28px;line-height:1.2}
  .page-support .quicknav,
  .page-support .steps,
  .page-support .actions{gap:12px}
  .page-support .quicknav a:nth-child(n){min-height:112px;padding:20px;font-size:14px}
  .page-support .quicknav a::after{right:20px;bottom:20px}
  .page-support .step:nth-child(n),
  .page-support .action:nth-child(n),
  .page-support .form{padding:20px;border-radius:10px}
  .page-support .faq details{border-radius:10px}
}

/* The landing utility links continue in the catalog rail, so the primary CTA
   owns the remaining space in the compact top header. */
.page-home .nav-in > .btn-blue{margin-left:auto}

/* Policies page: use the landing page's proportions and surface language
   without changing any landing-page rule. */
.page-policies{
  --policy-header-height:60px;
  background:#fff;
  color:var(--landing-ink);
}
.page-policies .wrap{
  width:100%;
  max-width:1280px;
  padding-inline:40px;
}
.page-policies .top-in{height:60px;gap:18px}
.page-policies .logo-mark.brand-logo{width:36px;height:36px;flex-basis:36px}
.page-policies .logo-type b{font-size:18px;font-weight:850}
.page-policies .logo-type small{margin-top:2px;color:#7c8490;letter-spacing:.18em}
.page-policies .top-nav{gap:25px}
.page-policies .top-nav a{padding:5px 0 7px;line-height:1.3;color:#39424d}
.page-policies .top-nav a::after{bottom:1px;height:1px}
.page-policies .back{
  min-height:38px;
  margin-left:0;
  padding-inline:16px;
  border-radius:8px;
}
.page-policies .policy-catalog-in{
  width:100%;
  max-width:1280px;
  height:52px;
  padding-inline:40px;
  gap:28px;
}

.page-policies .hero{
  display:flex;
  align-items:center;
  width:min(1200px,calc(100% - 80px));
  min-height:430px;
  margin:16px auto 0;
  padding:0;
  border:1px solid var(--layout-line);
  border-radius:14px;
  background-position:center;
  background-size:cover;
  color:var(--landing-ink);
}
.page-policies .hero::before{
  background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.8) 42%,rgba(255,255,255,.35) 70%,rgba(255,255,255,.08) 100%);
}
.page-policies .hero>.wrap{
  display:flex;
  width:100%;
  max-width:none;
  min-height:430px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:60px;
}
.page-policies .hero .eyebrow{
  margin:0;
  padding-bottom:6px;
  color:#52606e;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
}
.page-policies .hero h1{
  max-width:13ch;
  margin-top:16px;
  color:var(--landing-ink);
  font-size:clamp(34px,3vw,42px);
  font-weight:680;
  line-height:1.14;
  letter-spacing:-.045em;
}
.page-policies .hero .lead{
  max-width:62ch;
  margin-top:18px;
  color:#4d5966;
  font-size:14px;
  line-height:1.72;
}
.page-policies .hero .updated{margin-top:18px;color:#7a8590;font-size:11px}

.page-policies .tabs{
  position:sticky;
  top:var(--policy-header-height);
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:16px 40px;
  gap:8px;
  border-bottom:1px solid var(--layout-line);
  background:rgba(255,255,255,.96);
}
.page-policies .tabs a{
  min-height:44px;
  padding:0 16px;
  border:1px solid #cfd8e2;
  border-radius:8px;
  background:#fff;
  color:#536171;
  font-size:12px;
  font-weight:680;
}
.page-policies .tabs a:hover{
  border-color:#9eafbf;
  background:#f7f9fb;
  color:#33485c;
}

.page-policies .policy{
  padding-block:72px;
  border-top:1px solid var(--layout-line);
  scroll-margin-top:120px;
}
.page-policies #returns,
.page-policies #privacy{background:var(--landing-tint)}
.page-policies .policy>.wrap{width:100%;max-width:1200px;padding-inline:40px}
.page-policies .policy h2{
  max-width:20ch;
  margin-bottom:16px;
  color:var(--landing-ink);
  font-size:clamp(32px,3vw,40px);
  font-weight:680;
  line-height:1.18;
  letter-spacing:-.045em;
}
.page-policies .intro{
  max-width:66ch;
  margin-bottom:32px;
  color:var(--landing-muted);
  font-size:15px;
  line-height:1.75;
}
.page-policies .summary{
  gap:16px;
  margin:32px 0;
  border:0;
}
.page-policies .summary>div{
  padding:24px;
  border:1px solid var(--layout-line);
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}
.page-policies .summary b{font-size:17px;font-weight:700}
.page-policies .summary span{color:var(--landing-muted);font-size:12px;line-height:1.6}
.page-policies .doc-link{
  min-height:44px;
  padding-inline:18px;
  border-radius:8px;
  background:var(--dr-blue);
  border-color:var(--dr-blue);
}
.page-policies .document-scope{
  gap:12px;
  margin-bottom:36px;
  border-top:0;
}
.page-policies .document-scope li{
  min-height:116px;
  padding:20px 22px 20px 70px;
  border:1px solid var(--layout-line);
  border-radius:12px;
  background:#fff;
}
.page-policies .document-scope li:nth-child(even){border-right:1px solid var(--layout-line)}
.page-policies .document-scope li::before{
  border-color:#cfd8e2;
  border-radius:8px;
  background:#eef3f8;
  color:#4c6174;
}
.page-policies .checklist{
  gap:12px;
  border-top:0;
}
.page-policies .checklist li{
  min-height:86px;
  padding:20px 22px 20px 64px;
  border:1px solid var(--layout-line);
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}
.page-policies .checklist li:nth-child(even){border-right:1px solid var(--layout-line)}
.page-policies .checklist li::before{
  border-radius:8px;
  background:#eef3f8;
  color:#4c6174;
}
.page-policies h3{margin:36px 0 12px;font-size:20px;font-weight:700}
.page-policies .callout{
  padding:24px;
  border:1px solid var(--layout-line);
  border-left:3px solid var(--dr-blue);
  border-radius:12px;
  background:#eef3f8;
  color:var(--landing-ink);
  box-shadow:none;
}
.page-policies .table{
  display:table;
  overflow:hidden;
  margin-top:24px;
  border:1px solid var(--layout-line);
  border-collapse:separate;
  border-spacing:0;
  border-radius:12px;
  background:#fff;
}
.page-policies .table th{background:#f0f2f5}
.page-policies footer .wrap{max-width:1280px}

@media(max-width:700px){
  .page-policies{--policy-header-height:52px}
  .page-policies .wrap{padding-inline:20px}
  .page-policies .top-in{height:52px;gap:12px;padding-inline:16px}
  .page-policies .logo-mark.brand-logo{width:32px;height:32px;flex-basis:32px}
  .page-policies .logo-type small,.page-policies .top-nav{display:none}
  .page-policies .back{min-height:36px;padding-inline:12px;font-size:12px}
  .page-policies .policy-catalog-in{height:44px;padding-inline:20px;gap:22px}
  .page-policies .hero{
    width:100%;
    min-height:390px;
    margin:0;
    border-width:0 0 1px;
    border-radius:0;
    background-position:64% center;
  }
  .page-policies .hero::before{
    background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 52%,rgba(255,255,255,.4) 76%,rgba(255,255,255,.14) 100%);
  }
  .page-policies .hero>.wrap{min-height:390px;padding:42px 20px 32px}
  .page-policies .hero h1{max-width:12ch;font-size:30px;line-height:1.14}
  .page-policies .hero .lead{font-size:13px;line-height:1.68}
  .page-policies .tabs{
    width:100%;
    padding:12px 20px;
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .page-policies .tabs::-webkit-scrollbar{display:none}
  .page-policies .tabs a{flex:none;min-height:40px;padding-inline:14px}
  .page-policies .policy{padding-block:56px;scroll-margin-top:104px}
  .page-policies .policy>.wrap{padding-inline:20px}
  .page-policies .policy h2{font-size:30px;line-height:1.2}
  .page-policies .intro{margin-bottom:24px;font-size:13px;line-height:1.68}
  .page-policies .summary{grid-template-columns:1fr;gap:12px;margin:24px 0}
  .page-policies .summary>div{padding:20px}
  .page-policies .document-scope,
  .page-policies .checklist{grid-template-columns:1fr;gap:10px}
  .page-policies .document-scope li,
  .page-policies .checklist li{padding:18px 18px 18px 62px;border:1px solid var(--layout-line)}
  .page-policies .document-scope li::before,
  .page-policies .checklist li::before{left:18px;top:18px}
  .page-policies .table,
  .page-policies .table tbody,
  .page-policies .table tr,
  .page-policies .table th,
  .page-policies .table td{display:block}
  .page-policies .table tr{border-bottom:1px solid var(--layout-line)}
  .page-policies .table tr:last-child{border-bottom:0}
  .page-policies .table th{width:100%;padding:14px 16px 5px;border-bottom:0}
  .page-policies .table td{padding:7px 16px 16px;border-bottom:0;background:#fff}
  .page-policies .callout{padding:20px}
  .page-policies footer .wrap{padding-inline:20px}
}

/* Policies content alignment: older editorial rules zeroed horizontal card
   padding on desktop. Pin each card and control to a predictable inner box. */
body.page-policies .summary > div:nth-child(n){
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:24px;
  border:1px solid var(--layout-line);
  border-radius:12px;
}
body.page-policies .summary > div:nth-child(n) > b,
body.page-policies .summary > div:nth-child(n) > span{
  width:100%;
  margin-inline:0;
  text-align:left;
}
body.page-policies .summary > div:nth-child(n) > b{margin-bottom:7px;line-height:1.4}
body.page-policies .summary > div:nth-child(n) > span{margin-top:0}

body.page-policies .document-scope > li:nth-child(n){
  padding:20px 22px 20px 70px;
  border:1px solid var(--layout-line);
}
body.page-policies .checklist > li:nth-child(n){
  padding:20px 22px 20px 64px;
  border:1px solid var(--layout-line);
}
body.page-policies .document-scope > li:nth-child(n) > strong,
body.page-policies .document-scope > li:nth-child(n) > span,
body.page-policies .checklist > li:nth-child(n) > strong{
  margin-inline:0;
  text-align:left;
}

body.page-policies .top .back,
body.page-policies .tabs > a,
body.page-policies .doc-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding-top:0;
  padding-bottom:0;
  line-height:1;
  text-align:center;
  vertical-align:middle;
}
body.page-policies .doc-link{height:44px;margin-bottom:26px}

@media(max-width:700px){
  body.page-policies .summary > div:nth-child(n){padding:20px}
  body.page-policies .document-scope > li:nth-child(n),
  body.page-policies .checklist > li:nth-child(n){padding:18px 18px 18px 62px}
  body.page-policies .tabs > a{height:40px;min-height:40px}
}

/* One explicit page switcher in every public header. */
.site-page-nav{align-items:center}
.site-page-nav a[aria-current="page"]{color:var(--dr-blue-dark)}
.site-page-nav a[aria-current="page"]::after{transform:scaleX(1)}

@media(max-width:1000px){
  .site-header-inner{
    height:auto!important;
    min-height:60px;
    flex-wrap:wrap;
    align-content:flex-start;
    row-gap:0!important;
  }
  .site-header-inner > .site-page-nav{
    order:20;
    display:flex!important;
    width:100%;
    height:44px;
    flex:0 0 100%;
    margin:0!important;
    padding:0;
    gap:22px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .site-header-inner > .site-page-nav::-webkit-scrollbar{display:none}
  .site-header-inner > .site-page-nav > a{
    display:inline-flex;
    min-height:44px;
    flex:none;
    align-items:center;
    padding:3px 0 5px!important;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
  }
  .site-header-inner > .site-page-nav > a::after{bottom:2px!important}
  .page-policies{--policy-header-height:104px}
}

@media(max-width:700px){
  .site-header-inner{min-height:52px}
  .site-header-inner > .site-page-nav{height:44px;gap:20px}
  .page-policies{--policy-header-height:96px}
}

/* Inner pages use the landing page's final header geometry verbatim.
   These selectors never target .page-home, so the landing page stays intact. */
.shared-landing-header{
  display:block!important;
  position:sticky;
  top:0;
  z-index:90;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(32,40,51,.10)!important;
  background:#fff!important;
  box-shadow:0 1px 0 rgba(32,40,51,.02)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
  font-family:Pretendard,"Pretendard Variable","Apple SD Gothic Neo",-apple-system,"system-ui",system-ui,sans-serif!important;
}
.shared-landing-header-in{
  display:flex;
  width:100%!important;
  max-width:1280px!important;
  height:60px!important;
  min-height:0!important;
  align-items:center;
  justify-content:flex-start!important;
  gap:18px!important;
  margin:0 auto;
  padding:0 40px!important;
}
.shared-landing-header .shared-landing-logo{
  display:flex;
  flex:none;
  align-items:center;
  gap:10px!important;
  padding:0!important;
  color:#202833!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:29.7px!important;
  letter-spacing:-.02em!important;
  font-family:inherit!important;
}
.shared-landing-header .shared-landing-logo .logo-mark,
.shared-landing-header .shared-landing-logo .support-logo-mark{
  position:relative;
  display:grid!important;
  width:36px!important;
  height:36px!important;
  flex:0 0 36px!important;
  place-items:center;
}
.shared-landing-header .shared-landing-logo img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.shared-landing-header .shared-landing-logo .logo-type,
.shared-landing-header .shared-landing-logo .support-logo-type{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  line-height:1!important;
}
.shared-landing-header .shared-landing-logo b{
  font-family:inherit!important;
  font-size:18px!important;
  font-weight:850!important;
  line-height:18px!important;
  letter-spacing:-.045em!important;
}
.shared-landing-header .shared-landing-logo small{
  display:block!important;
  margin:3px 0 0!important;
  color:#737d89!important;
  font-size:8.5px!important;
  font-weight:600!important;
  line-height:8.5px!important;
  letter-spacing:normal!important;
  font-family:inherit!important;
}
.shared-landing-header .shared-landing-cta{
  display:flex!important;
  width:auto!important;
  height:38px!important;
  min-height:38px!important;
  flex:none;
  align-items:center;
  justify-content:center;
  margin:0 0 0 auto!important;
  padding:0 16px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:#486784!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:21.45px!important;
  letter-spacing:-.01em!important;
  gap:6px!important;
  align-self:auto!important;
  position:static!important;
  text-align:center;
  white-space:nowrap;
  box-shadow:none!important;
  font-family:inherit!important;
}
.shared-landing-header .shared-landing-cta:hover{
  border-color:transparent!important;
  background:#3f5c76!important;
  transform:none;
}
.shared-page-rail{
  position:relative;
  z-index:20;
  height:48px!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(32,40,51,.10)!important;
  background:#fff!important;
  box-shadow:none!important;
  font-family:Pretendard,"Pretendard Variable","Apple SD Gothic Neo",-apple-system,"system-ui",system-ui,sans-serif!important;
}
.shared-page-rail .catalog-rail-inner,
.shared-page-rail .policy-catalog-in{
  display:flex;
  width:100%;
  max-width:1280px;
  height:48px!important;
  align-items:center;
  gap:28px!important;
  margin:0 auto;
  padding:0 40px!important;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
}
.shared-page-rail .catalog-rail-inner::-webkit-scrollbar,
.shared-page-rail .policy-catalog-in::-webkit-scrollbar{display:none}
.shared-page-rail a{
  display:flex!important;
  flex:none;
  align-items:center;
  gap:7px!important;
  padding:8px 0!important;
  color:#5b636e!important;
  font-size:12px!important;
  font-weight:620!important;
  line-height:19.8px!important;
  letter-spacing:-.015em!important;
  white-space:nowrap;
  font-family:inherit!important;
}
.shared-page-rail a span{
  display:block!important;
  width:auto!important;
  height:auto!important;
  border-radius:0;
  background:transparent!important;
  color:#6b7682!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:16.5px!important;
  letter-spacing:normal!important;
}
.shared-page-rail a:hover,
.shared-page-rail a[aria-current="page"]{color:#5b636e!important}
.page-policies:has(.shared-landing-header){--policy-header-height:61px}

@media(max-width:700px){
  .shared-landing-header-in{
    height:52px!important;
    gap:12px!important;
    padding:0 20px!important;
  }
  .shared-landing-header .shared-landing-logo .logo-mark,
  .shared-landing-header .shared-landing-logo .support-logo-mark{
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
  }
  .shared-landing-header .shared-landing-logo{gap:8px!important}
  .shared-landing-header .shared-landing-logo b{
    font-size:17px!important;
    line-height:17px!important;
    letter-spacing:-.035em!important;
  }
  .shared-landing-header .shared-landing-logo small{display:none!important}
  .shared-landing-header .shared-landing-cta{
    height:36px!important;
    min-height:36px!important;
    padding:0 12px!important;
    font-size:12px!important;
    line-height:19.8px!important;
  }
  .shared-page-rail{height:44px!important}
  .shared-page-rail .catalog-rail-inner,
  .shared-page-rail .policy-catalog-in{
    height:44px!important;
    gap:21px!important;
    padding:0 20px!important;
  }
  .shared-page-rail a{
    height:44px!important;
    padding:0!important;
    font-size:12px!important;
  }
  .page-policies:has(.shared-landing-header){--policy-header-height:53px}
}

/* Inner-page heroes mirror the landing carousel's static visual frame.
   Copy and imagery remain page-specific; the landing page is never targeted. */
body:not(.page-home) .shared-landing-hero{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:436px!important;
  margin:24px 0 0!important;
  padding:0 0 56px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#202833!important;
  overflow:visible!important;
  isolation:isolate;
  font-family:Pretendard,"Pretendard Variable","Apple SD Gothic Neo",-apple-system,"system-ui",system-ui,sans-serif!important;
}
body:not(.page-home) .shared-landing-hero::before,
body:not(.page-home) .shared-landing-hero::after{content:none!important}
body:not(.page-home) .shared-landing-hero-card{
  position:relative!important;
  display:flex!important;
  width:min(1200px,calc(100% - 80px))!important;
  max-width:1200px!important;
  min-height:380px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  margin:0 auto!important;
  padding:58px 60px 42px!important;
  border:0!important;
  border-radius:14px!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  overflow:visible!important;
  isolation:isolate;
  color:#202833!important;
}
.page-details .shared-landing-hero-card,
.page-support .shared-landing-hero-card{
  background-image:url('assets/hero/hero-service.jpg')!important;
}
.page-policies .shared-landing-hero-card{
  background-image:url('assets/hero/hero-inspection.jpg')!important;
}
body:not(.page-home) .shared-landing-hero-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.76) 42%,rgba(255,255,255,.25) 68%,rgba(255,255,255,.02) 88%)!important;
  pointer-events:none;
}
body:not(.page-home) .shared-landing-hero-card::after{content:none!important}
body:not(.page-home) .shared-landing-hero .kicker,
body:not(.page-home) .shared-landing-hero .eyebrow{
  position:relative!important;
  left:2px!important;
  display:inline-flex!important;
  min-height:0!important;
  align-items:center!important;
  margin:0!important;
  padding:0 0 6px!important;
  border:0!important;
  border-bottom:1px solid #b7c0ca!important;
  color:#52606e!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:16.5px!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
body:not(.page-home) .shared-landing-hero h1{
  position:relative!important;
  left:2px!important;
  width:100%!important;
  max-width:18ch!important;
  margin:18px 0 0!important;
  color:#202833!important;
  font-size:34px!important;
  font-weight:700!important;
  line-height:1.14!important;
  letter-spacing:-.045em!important;
  text-shadow:none!important;
  text-wrap:balance;
}
body:not(.page-home) .shared-landing-hero .lead{
  position:relative!important;
  left:2px!important;
  width:100%!important;
  max-width:60ch!important;
  margin:24px 0 0!important;
  color:#4d5966!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.72!important;
  letter-spacing:-.018em!important;
}
body:not(.page-home) .shared-landing-hero .updated{
  position:relative!important;
  left:2px!important;
  margin:10px 0 0!important;
  color:#657180!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.55!important;
}
body:not(.page-home) .shared-landing-hero .hero-actions{
  position:absolute!important;
  left:0!important;
  bottom:-56px!important;
  z-index:3!important;
  display:flex!important;
  height:44px!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}
body:not(.page-home) .shared-landing-hero .hero-actions .cta,
body:not(.page-home) .shared-landing-hero .hero-actions .ghost{
  display:flex!important;
  width:auto!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0 18px!important;
  border:1px solid #e3e8ef!important;
  border-radius:8px!important;
  background:#f1f4f8!important;
  color:#395b79!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:19.8px!important;
  letter-spacing:-.015em!important;
  box-shadow:none!important;
  white-space:nowrap;
}
body:not(.page-home) .shared-landing-hero .hero-actions .cta:hover,
body:not(.page-home) .shared-landing-hero .hero-actions .ghost:hover{
  border-color:#d5dce6!important;
  background:#e8ecf1!important;
  color:#2f4d66!important;
  transform:none!important;
}

@media(min-width:1280px){
  body:not(.page-home) .shared-landing-hero{min-height:476px!important}
  body:not(.page-home) .shared-landing-hero-card{min-height:420px!important}
}

@media(max-width:700px){
  body:not(.page-home) .shared-landing-hero{
    min-height:392px!important;
    margin-top:0!important;
    padding-bottom:52px!important;
  }
  body:not(.page-home) .shared-landing-hero-card{
    width:100%!important;
    max-width:none!important;
    min-height:340px!important;
    margin:0!important;
    padding:38px 16px 22px!important;
    border-radius:0!important;
    background-position:64% center!important;
  }
  body:not(.page-home) .shared-landing-hero-card::before{
    border-radius:0!important;
    background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.7) 48%,rgba(255,255,255,.32) 72%,rgba(255,255,255,.12) 100%)!important;
  }
  body:not(.page-home) .shared-landing-hero .kicker,
  body:not(.page-home) .shared-landing-hero .eyebrow{
    left:0!important;
    margin-bottom:13px!important;
  }
  body:not(.page-home) .shared-landing-hero h1{
    left:0!important;
    max-width:none!important;
    margin-top:14px!important;
    font-size:30px!important;
    line-height:1.15!important;
    letter-spacing:-.045em!important;
  }
  body:not(.page-home) .shared-landing-hero .lead{
    left:0!important;
    max-width:35ch!important;
    margin-top:24px!important;
    font-size:12.5px!important;
    line-height:1.68!important;
    letter-spacing:-.012em!important;
  }
  body:not(.page-home) .shared-landing-hero .updated{
    left:0!important;
    max-width:35ch!important;
    margin-top:8px!important;
    font-size:9.5px!important;
  }
  body:not(.page-home) .shared-landing-hero .hero-actions{
    left:18px!important;
    bottom:-52px!important;
  }
  body:not(.page-home) .shared-landing-hero .hero-actions .cta,
  body:not(.page-home) .shared-landing-hero .hero-actions .ghost{
    height:44px!important;
    min-height:44px!important;
    padding:0 18px!important;
    font-size:11.5px!important;
    line-height:18.975px!important;
  }
}

/* === 2026-07-22 · 구성 예시 한 줄 티커 (샘플 카드 4장 → 지나가는 한 줄 롤링) === */
.page-details .media .sample-reviews{min-width:0;max-width:100%}
.page-details .review-ticker{position:relative;overflow:hidden;max-width:100%;margin-top:16px;padding:13px 0;border-top:1px solid #e3e6eb;border-bottom:1px solid #e3e6eb}
.page-details .review-ticker::before,
.page-details .review-ticker::after{content:"";position:absolute;top:0;bottom:0;width:56px;z-index:1;pointer-events:none}
.page-details .review-ticker::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.page-details .review-ticker::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.page-details .review-ticker-track{display:flex;width:max-content;animation:drTicker 64s linear infinite}
.page-details .review-ticker:hover .review-ticker-track{animation-play-state:paused}
.page-details .rt-set{display:flex;gap:44px;padding-right:44px}
.page-details .rt-item{display:inline-flex;align-items:baseline;gap:9px;white-space:nowrap;font-size:13.5px;color:#3d4854}
.page-details .rt-item b{flex:none;font-size:11px;font-weight:800;letter-spacing:.02em;color:#486784}
@keyframes drTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .page-details .review-ticker-track{animation:none;width:auto;flex-wrap:wrap}
  .page-details .rt-set[aria-hidden="true"]{display:none}
  .page-details .rt-set{flex-wrap:wrap;gap:10px 28px;padding-right:0}
  .page-details .rt-item{white-space:normal}
}
@media (max-width:760px){
  .page-details .rt-item{font-size:12.5px}
  .page-details .rt-set{gap:32px;padding-right:32px}
  .page-details .review-ticker-track{animation-duration:50s}
}

/* === 2026-07-22 · 티커 15개 확장: 두 줄 교차 롤링 === */
.page-details .review-ticker-stack{min-width:0;max-width:100%}
.page-details .review-ticker-stack .review-ticker{margin-top:0;border-bottom:0}
.page-details .review-ticker-stack .review-ticker:first-child{margin-top:16px}
.page-details .review-ticker-stack .review-ticker:last-child{border-bottom:1px solid #e3e6eb}
.page-details .review-ticker-stack .review-ticker-track{animation-duration:88s}
.page-details .review-ticker--reverse .review-ticker-track{animation-direction:reverse}
@media (max-width:760px){.page-details .review-ticker-stack .review-ticker-track{animation-duration:66s}}
