:root{color-scheme:light}
/* ==========================================================================
   견적연구소 리스·렌트 — 디자인 시스템
   기준본: design-d5-uiux-v6.html (UI/UX 확정본)
   이 파일은 v6의 CSS를 그대로 옮긴 것이다. 디자인 값을 임의로 바꾸지 않는다.
   ========================================================================== */

/* ==========================================================================
   견적연구소 · D — 최종 통합안
   A Editorial Research Lab 55% / C Fintech·Data 35% / B Premium Automotive 10%
   ========================================================================== */

/* ---------- 1. 토큰 ---------- */
:root{
  /* 지면 : 따뜻한 off-white */
  --paper:      #F3F0E8;
  --paper-sunk: #E9E4D8;
  --surface:    #FCFAF5;
  --surface-2:  #F6F3EB;

  /* 잉크 : charcoal */
  --ink:        #191814;
  --ink-2:      #46433B;
  --ink-3:      #6E695D;
  --ink-4:      #989285;

  /* 괘선 */
  --rule:       #D6CFBE;
  --rule-soft:  #E4DECE;
  --rule-hair:  #EDE8DC;

  /* 인장 : deep burgundy — 제한적으로만 */
  --seal:       #7A1F2B;
  --seal-deep:  #59131C;
  --seal-tint:  rgba(122,31,43,.065);
  --seal-line:  rgba(122,31,43,.28);

  /* 분석 : muted dark green — 정상·검증 상태 */
  --assay:      #1F5A50;
  --assay-deep: #143E36;
  --assay-tint: rgba(31,90,80,.075);

  /* 주의 : 분석 경고 */
  --flag:       #8A5A16;
  --flag-tint:  rgba(138,90,22,.085);
  --flag-line:  rgba(138,90,22,.3);

  /* 반전 지면 */
  --night:      #191814;
  --night-2:    #232019;
  --on-night:   #F6F2E8;
  --on-night-2: #C2BBAB;
  --on-night-3: #8B8474;

  --sans: 'Pretendard Variable','Pretendard','IBM Plex Sans KR',-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --serif:'Noto Serif KR','Batang',serif;
  --mono: 'IBM Plex Mono',Consolas,'D2Coding',monospace;

  /* 타입 스케일 */
  --t-hero:  clamp(1.95rem, 1.15rem + 2.9vw, 3.35rem);
  --t-h1:    clamp(1.9rem, 1.2rem + 2.9vw, 3.3rem);
  --t-h2:    clamp(1.45rem, 1.1rem + 1.5vw, 2.2rem);
  --t-h3:    clamp(1.08rem, 1rem + .42vw, 1.32rem);
  --t-lead:  clamp(1rem, .96rem + .3vw, 1.15rem);
  --t-body:  .95rem;
  --t-sm:    .875rem;
  --t-xs:    .795rem;
  --t-label: .68rem;

  --s1:.25rem; --s2:.5rem;  --s3:.75rem; --s4:1rem;
  --s5:1.5rem; --s6:2rem;   --s7:3rem;   --s8:4.25rem;

  --measure: 1280px;
  --gutter:  clamp(1.15rem, .5rem + 2.4vw, 3.25rem);
  --prose:   56ch;
  --band:    clamp(4rem, 2.4rem + 6.5vw, 8rem);
  --band-t:  clamp(2.75rem, 1.8rem + 3.6vw, 5rem);
}

/* ---------- 2. 기초 ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:var(--t-body);line-height:1.72;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  /* 한국어 조판 : 어절(단어) 단위로만 줄을 바꾼다.
     이 값이 없으면 "차 5대를 동 / 시에 굴렸고" 처럼 어절 중간이 끊긴다. */
  word-break:keep-all;
  overflow-wrap:break-word;
}
h1,h2,h3,h4,p,figure,blockquote,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
img{max-width:100%;display:block}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:var(--seal);text-decoration:none}
a:hover{color:var(--seal-deep)}
:focus-visible{outline:2px solid var(--seal);outline-offset:3px;border-radius:2px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}
/* 스크롤 리빌 — 짧고 절제 */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ---------- 3. 레이아웃 ---------- */
.shell{max-width:var(--measure);margin-inline:auto;padding-inline:var(--gutter)}
.band{padding-block:var(--band)}
.band-t{padding-block:var(--band-t)}
.stack{display:flex;flex-direction:column}
.s1{gap:var(--s1)}.s2{gap:var(--s2)}.s3{gap:var(--s3)}.s4{gap:var(--s4)}
.s5{gap:var(--s5)}.s6{gap:var(--s6)}.s7{gap:var(--s7)}
.row{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
.row-between{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}
.prose{max-width:var(--prose)}
.center{text-align:center;align-items:center}

/* 편집형 2단 : 좌측 러닝헤드 */
.ed{display:grid;grid-template-columns:minmax(0,8.5rem) minmax(0,1fr);gap:var(--s6)}
.ed>.rh{border-block-start:1px solid var(--ink);padding-block-start:.35rem;align-self:start}
@media (max-width:62rem){
  .ed{grid-template-columns:1fr;gap:var(--s4)}
  .ed>.rh{border-block-start:0;padding-block-start:0}
}

/* ---------- 4. 타이포 ---------- */
.kick{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.17em;text-transform:uppercase;color:var(--ink-3);font-weight:500}
.kick-seal{color:var(--seal)}
.kick-assay{color:var(--assay)}
/* 경력 라벨 — 헤더 CTA와 형태가 겹치지 않게 텍스트로 */
.credit{
  display:inline-flex;align-items:center;gap:.5rem;align-self:start;
  font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.09em;
  color:var(--ink-3);
}
.credit__dot{inline-size:.34rem;block-size:.34rem;border-radius:50%;background:var(--seal);flex:none}
/* 헤드라인 안 핵심 구절만 인장색 */
.hero-h em{font-style:normal;color:var(--seal)}
/* 주 CTA 화살표 */
.btn__arrow{transition:transform .18s ease;display:inline-block}
.btn-seal:hover .btn__arrow{transform:translateX(3px)}
.hero-h{font-family:var(--serif);font-size:var(--t-hero);font-weight:600;letter-spacing:-.045em;line-height:1.24;word-break:keep-all}
/* 표제·선언문의 의미 단위(절)를 블록으로 묶어 의도한 위치에서만 줄을 바꾼다.
   좁은 화면에서는 절 안에서만 접히므로 어절이 끊기지 않는다. */
.clause{display:block}
.h1,.h-sec{font-family:var(--serif);font-size:var(--t-h1);font-weight:600;letter-spacing:-.04em;line-height:1.26;text-wrap:balance;word-break:keep-all}
.h2{font-family:var(--serif);font-size:var(--t-h2);font-weight:600;letter-spacing:-.035em;line-height:1.34;text-wrap:balance;word-break:keep-all}
.h3{font-size:var(--t-h3);font-weight:600;letter-spacing:-.025em;line-height:1.45}
.lead{font-size:var(--t-lead);line-height:1.82;color:var(--ink-2)}
.txt{font-size:var(--t-body);line-height:1.82;color:var(--ink-2)}
.sm{font-size:var(--t-sm);line-height:1.72;color:var(--ink-2)}
.xs{font-size:var(--t-xs);line-height:1.68;color:var(--ink-3)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.b{color:var(--ink);font-weight:600}
.blank{font-family:var(--mono);color:var(--ink-4);font-weight:500}

/* 큰 편집 선언 */
.statement{
  font-family:var(--serif);font-size:clamp(1.35rem,1.05rem + 1.5vw,2.1rem);
  font-weight:600;letter-spacing:-.042em;line-height:1.38;text-wrap:balance;word-break:keep-all;max-width:24ch;
}

/* 각주 */
.fn{font-family:var(--mono);font-size:.6em;vertical-align:super;color:var(--seal);font-weight:600;line-height:1}
.notes{border-block-start:1px solid var(--rule);padding-block-start:var(--s4);display:flex;flex-direction:column;gap:.5rem}
.note{display:grid;grid-template-columns:1.4rem 1fr;gap:.5rem;font-size:var(--t-xs);line-height:1.68;color:var(--ink-3)}
.note>.n{font-family:var(--mono);color:var(--seal);font-weight:600}

/* ---------- 5. 브랜드 마크 : 검인(檢印) ---------- */
.brand{display:flex;align-items:center;gap:.65rem}
.stamp{
  flex:none;display:grid;place-items:center;position:relative;
  inline-size:2.45rem;block-size:2.45rem;font-size:.8rem;
  border:2.5px solid var(--seal);border-radius:.45rem;color:var(--seal);
  font-family:var(--serif);font-weight:700;line-height:.95;letter-spacing:-.02em;
  box-shadow:inset 0 0 0 1.5px var(--seal-tint);
}
.stamp-lg{inline-size:3.3rem;block-size:3.3rem;font-size:1.06rem;border-width:3px;border-radius:.55rem}
.stamp-sm{inline-size:1.95rem;block-size:1.95rem;font-size:.6rem;border-width:2px;border-radius:.35rem}
.brand-name{font-family:var(--serif);font-weight:700;letter-spacing:-.055em;line-height:1;font-size:1.15rem}
.brand-sub{font-family:var(--mono);font-size:.475rem;letter-spacing:.3em;color:var(--ink-3);margin-block-start:.22rem}

/* ---------- 6. 버튼 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.92rem 1.85rem;font-size:.92rem;font-weight:600;letter-spacing:-.02em;
  border:1.5px solid transparent;border-radius:999px;
  min-block-size:2.95rem;text-align:center;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.btn:active{transform:translateY(1px)}
/* 버튼으로 쓰이는 <a>는 전역 링크 색을 따르지 않는다 (hover 시 글자 사라짐 방지) */
a.btn,a.btn:hover,a.btn:focus{text-decoration:none}
.btn-seal,a.btn-seal{background:var(--seal);color:#FCF6F3;border-color:var(--seal)}
.btn-seal:hover,a.btn-seal:hover{background:var(--seal-deep);border-color:var(--seal-deep);color:#FCF6F3}
.btn-line,a.btn-line{border-color:var(--rule);color:var(--ink-2)}
.btn-line:hover,a.btn-line:hover{border-color:var(--ink);color:var(--ink)}
.btn-quiet,a.btn-quiet{border-color:var(--rule);color:var(--ink);background:var(--surface)}
.btn-quiet:hover,a.btn-quiet:hover{border-color:var(--ink);color:var(--ink)}
.btn-onNight,a.btn-onNight{background:var(--paper);color:var(--night);border-color:var(--paper)}
.btn-onNight:hover,a.btn-onNight:hover{background:transparent;color:var(--on-night);border-color:var(--on-night)}
.btn-sm{padding:.58rem 1.25rem;font-size:.845rem;min-block-size:2.4rem}
.btn-wide{inline-size:100%;padding-block:1.05rem;font-size:1rem;border-radius:999px}
/* 각주형 링크 CTA (A안 유산) */
.link-cta{
  display:inline-flex;align-items:baseline;gap:.4rem;font-family:var(--serif);
  font-weight:600;font-size:1.02rem;color:var(--seal);letter-spacing:-.025em;
  border-block-end:1.5px solid var(--seal-line);padding-block:.15rem .18rem;
  transition:border-color .16s ease,color .16s ease,gap .16s ease;
}
.link-cta:hover{gap:.6rem}
.link-cta:hover,a.link-cta:hover{color:var(--seal-deep);border-block-end-color:var(--seal)}
.link-cta::after{content:"→";font-family:var(--sans);font-size:.92em}

/* ---------- 7. 프로토타입 화면 전환 ---------- */

/* ---------- 8. 헤더 ---------- */
.masthead{
  position:sticky;top:0;z-index:70;
  border-block-end:1px solid var(--rule);
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:saturate(150%) blur(10px);
  -webkit-backdrop-filter:saturate(150%) blur(10px);
}
.masthead__in{max-width:var(--measure);margin-inline:auto;padding-inline:var(--gutter);min-block-size:4.4rem;display:flex;align-items:center;gap:var(--s5)}
.nav{display:flex;gap:1.3rem;margin-inline-start:.6rem;flex-wrap:wrap}
.nav__a{font-size:.875rem;color:var(--ink-2);letter-spacing:-.012em;padding-block:.3rem;border-block-end:1.5px solid transparent}
.nav__a:hover{color:var(--seal)}
.nav__a.is-on{color:var(--seal);font-weight:600;border-block-end-color:var(--seal)}
.nav__a.is-on-assay{color:var(--assay);font-weight:600;border-block-end-color:var(--assay)}
.masthead__cta{margin-inline-start:auto;flex:none}
@media (max-width:64rem){.nav{display:none}}

/* ---------- 9. HERO ---------- */
.hero{
  position:relative;border-block-end:1px solid var(--rule);overflow:hidden;
}
/* 아주 옅은 격자 — 리포트 카드가 지면 위에 놓인 느낌 */
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(var(--rule-hair) 1px,transparent 1px),
    linear-gradient(90deg,var(--rule-hair) 1px,transparent 1px);
  background-size:3.5rem 3.5rem;
  -webkit-mask-image:radial-gradient(120% 90% at 72% 45%,#000 0%,transparent 72%);
  mask-image:radial-gradient(120% 90% at 72% 45%,#000 0%,transparent 72%);
  opacity:.7;
}
.hero__in{position:relative;z-index:1}
.hero__in{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.75rem,1rem + 3.2vw,3.5rem);
  align-items:center;padding-block:clamp(2.5rem,1.8rem + 3.8vw,4.5rem);
}
@media (max-width:64rem){.hero__in{grid-template-columns:1fr;gap:var(--s6)}}

.hero__left{display:flex;flex-direction:column;gap:var(--s5);align-self:center}
.hero__ctas{display:flex;gap:var(--s3);flex-wrap:wrap;padding-block-start:.15rem}
/* 헤드라인 아래 보조 : 리스·장기렌트 범위 — 헤드라인보다 약하게 */
.hero-sub{
  font-size:clamp(.98rem,.94rem + .26vw,1.1rem);font-weight:600;color:var(--ink-2);
  letter-spacing:-.028em;line-height:1.5;margin-block-start:calc(var(--s5) * -.62);
}
/* CTA 아래 신뢰 문구 — CTA보다 약하게 */
.trustline{
  display:flex;align-items:center;gap:.4rem;
  font-size:var(--t-xs);color:var(--ink-3);letter-spacing:-.01em;
  margin-block-start:calc(var(--s5) * -.55);
}
.trustline::before{
  content:"";flex:none;inline-size:.9rem;block-size:.9rem;
  background:var(--assay);
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='square'%3E%3Cpath d='M4 12.5l5.5 5.5L20 7'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='square'%3E%3Cpath d='M4 12.5l5.5 5.5L20 7'/%3E%3C/svg%3E");
}

/* 신뢰 메타데이터 : 연구자료 헤더처럼 */
.meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-block:1px solid var(--rule)}
.meta__cell{padding:1rem 0;display:flex;flex-direction:column;gap:.3rem;border-inline-end:1px solid var(--rule-hair);padding-inline-end:1rem}
.meta__cell:last-child{border-inline-end:0}
.meta__v{font-family:var(--mono);font-size:1.55rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.05;color:var(--ink)}
.meta__k{font-size:.72rem;color:var(--ink-4);line-height:1.4;letter-spacing:-.01em}
@media (max-width:30rem){
  .meta{grid-template-columns:1fr;border-block-end:0}
  .meta__cell{border-inline-end:0;border-block-end:1px solid var(--rule-hair);flex-direction:row;align-items:baseline;justify-content:space-between;padding-inline-end:0}
}

/* ---------- 10. 견적 분석기 (C안 유산 · A 지면 안에) ---------- */
.sample-tag{
  margin-inline-start:auto;font-family:var(--mono);font-size:.63rem;font-weight:700;letter-spacing:.11em;
  padding:.28rem .75rem;border:1px solid var(--flag-line);border-radius:999px;
  color:var(--flag);background:var(--flag-tint);
}
/* 분석 대상 상품 표시 — 장식 아닌 서비스 범위 전달 */
.products{display:flex;gap:.35rem;flex-wrap:wrap}
.product{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;font-weight:600;
  padding:.3rem .62rem;border:1px solid var(--rule);color:var(--ink-4);
}
.product.is-shown{border-color:var(--ink);color:var(--ink);background:var(--surface-2)}
.sample-fine{
  font-family:var(--mono);font-size:.68rem;line-height:1.65;color:var(--ink-4);
  border-block-start:1px dotted var(--rule);padding-block-start:.6rem;
}

/* ---------- 10b. 견적 분석 리포트 카드 ---------- */
.report{
  position:relative;background:var(--surface);
  border:1px solid var(--rule-soft);border-radius:18px;
  display:flex;flex-direction:column;align-self:start;overflow:hidden;
  box-shadow:0 1px 2px rgba(25,24,20,.03), 0 18px 44px -18px rgba(25,24,20,.16);
}
/* 상단 그라데이션 라인 — 인장색에서 분석 청록으로 */
.report::before{
  content:"";position:absolute;inset-block-start:0;inset-inline:0;block-size:4px;
  background:linear-gradient(90deg,var(--seal) 0%,#7A4048 42%,#2F6F66 78%,var(--assay) 100%);
}
.report__head{
  display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;
  padding:1.15rem 1.35rem .95rem;
}
.report__title{display:flex;align-items:center;gap:.65rem}
.report__seal{
  flex:none;display:grid;place-items:center;inline-size:2.05rem;block-size:2.05rem;
  border:1.5px solid var(--seal);border-radius:7px;color:var(--seal);
  font-family:var(--serif);font-weight:700;font-size:.6rem;line-height:.95;
}
.report__titletext{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.report__t{font-family:var(--serif);font-size:1.12rem;font-weight:700;letter-spacing:-.04em;line-height:1.2}
.report__id{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;color:var(--ink-4)}
.report__head .sample-tag{margin-inline-start:auto;border-radius:999px;padding:.34rem .8rem}

.report__products{
  display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;
  padding:0 1.35rem 1rem;
}
.report__products .product{
  border-radius:999px;padding:.42rem .95rem;
  border:1px solid var(--rule);color:var(--ink-3);background:transparent;
  font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:-.02em;
}
.report__products .product.is-shown{
  border-color:var(--ink);color:var(--ink);background:var(--surface);
  box-shadow:0 1px 2px rgba(25,24,20,.06);
}
.report__scope{
  margin-inline-start:auto;font-family:var(--mono);font-size:.62rem;
  letter-spacing:.08em;color:var(--ink-4);
}
.report__body{display:flex;flex-direction:column;gap:1.1rem;padding:0 1.35rem}
.report__block{display:flex;flex-direction:column;gap:.5rem}
.report__label{
  font-family:var(--mono);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-3);font-weight:600;
}

/* 접수 조건 : 하나의 박스로 묶고 행마다 구분선 */
.report__block .qline:first-of-type{border-start-start-radius:12px;border-start-end-radius:12px}
.report__block .qline:last-of-type{border-end-start-radius:12px;border-end-end-radius:12px}

/* 분석 결과 : 2x2 타일 */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
@media (max-width:26rem){.tiles{grid-template-columns:1fr}}
.tile{
  display:flex;flex-direction:column;gap:.3rem;
  padding:.95rem 1.05rem 1.05rem;border-radius:12px;
  background:var(--surface-2);border:1px solid var(--rule-soft);
}
.tile__k{font-size:.78rem;color:var(--ink-3);letter-spacing:-.01em}
.tile__v{
  font-family:var(--mono);font-size:1.12rem;font-weight:700;
  font-variant-numeric:tabular-nums;letter-spacing:-.035em;color:var(--ink);
}
.tile__gap{font-family:var(--mono);font-size:.66rem;color:var(--seal);opacity:.9}
.tile.is-accent{background:var(--seal-tint);border-color:color-mix(in srgb,var(--seal) 22%,transparent)}
.tile.is-accent .tile__k{color:var(--seal)}
.tile.is-accent .tile__v{color:var(--seal)}

.report__foot{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:.75rem 1.1rem;
  margin:1.1rem 1.35rem 1.35rem;padding:.9rem 1.05rem;
  border-radius:12px;background:var(--surface-2);
}
@media (max-width:34rem){.report__foot{grid-template-columns:1fr}}
.report__memo{font-size:var(--t-xs);line-height:1.7;color:var(--ink-2)}
.report__fine{font-size:var(--t-xs);line-height:1.7;color:var(--ink-3);font-weight:600}

/* 접수 → 분석 → 확인 */
.flow{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding-block-end:.15rem}
.flow__s{display:flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:var(--ink-4);letter-spacing:-.01em}
.flow__n{
  inline-size:1.15rem;block-size:1.15rem;display:grid;place-items:center;flex:none;
  font-family:var(--mono);font-size:.6rem;font-weight:700;border:1px solid var(--ink-4);color:var(--ink-4);
}
.flow__s.is-done{color:var(--assay)}
.flow__s.is-done .flow__n{border-color:var(--assay);background:var(--assay);color:var(--surface)}
.flow__s.is-now{color:var(--ink)}
.flow__s.is-now .flow__n{border-color:var(--ink);background:var(--ink);color:var(--surface)}
.flow__x{color:var(--ink-4);font-size:.7rem;font-family:var(--mono)}

/* 견적 라인 */
.qline{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1rem;align-items:baseline;
  padding:.78rem .95rem;border-block-end:1px solid var(--rule-hair);
  background:var(--surface-2);
}
.qline:last-of-type{border-block-end:0}
.qline__k{font-size:var(--t-sm);color:var(--ink-2)}
.qline__v{font-family:var(--mono);font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:end;letter-spacing:-.02em}
.qline.is-flag{background:var(--flag-tint);border:1px solid var(--flag-line);border-block-end-color:var(--flag-line)}
.qline.is-flag .qline__k{color:var(--flag);font-weight:600}
.qline.is-flag .qline__v{color:var(--flag)}
.qline__note{grid-column:1/-1;display:flex;gap:.45rem;font-size:var(--t-xs);color:var(--flag);line-height:1.6;padding-block-start:.1rem}
.qflag{
  flex:none;inline-size:.95rem;block-size:.95rem;display:grid;place-items:center;
  background:var(--flag);color:var(--surface);font-family:var(--mono);font-size:.6rem;font-weight:700;
}

/* 표면 vs 실제 */
.verdict{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ink);margin-block-start:.2rem}
@media (max-width:26rem){.verdict{grid-template-columns:1fr}}
.verdict__c{padding:.85rem .95rem;display:flex;flex-direction:column;gap:.25rem}
.verdict__c+.verdict__c{border-inline-start:1px solid var(--rule)}
@media (max-width:26rem){.verdict__c+.verdict__c{border-inline-start:0;border-block-start:1px solid var(--rule)}}
.verdict__k{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.verdict__v{font-family:var(--mono);font-size:1.12rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.verdict__c.is-real{background:var(--seal-tint)}
.verdict__c.is-real .verdict__k{color:var(--seal)}
.verdict__c.is-real .verdict__v{color:var(--seal);font-weight:700;font-size:1.22rem}

/* ---------- 11. 자료 대지 / 미디어 슬롯 ---------- */
.plate{
  position:relative;background:var(--paper-sunk);border:1px solid var(--rule);
  display:grid;place-items:center;align-content:center;gap:.35rem;overflow:hidden;
}
.plate::after{
  content:"";position:absolute;inset:.5rem;border:1px solid var(--rule);pointer-events:none;opacity:.65;
}
.plate>*{position:relative;z-index:1}
.plate__img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:2}
.plate__k{font-family:var(--mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-4)}
.plate__n{font-family:var(--serif);font-size:.98rem;font-weight:600;color:var(--ink-2);letter-spacing:-.025em}
/* B안 유산 : 무대 조명 — 대형 차량 슬롯에만 */
.plate-stage{
  border:0;background:radial-gradient(118% 86% at 50% 18%,#FBFAF6 0%,#EDEAE0 56%,#E0DCCF 100%);
}
.plate-stage{background:radial-gradient(118% 86% at 50% 18%,#FBFAF6 0%,#EDEAE0 56%,#E0DCCF 100%)}
.plate-stage::after{
  inset:auto 14% 13% 14%;block-size:1px;border:0;
  background:linear-gradient(90deg,transparent,var(--ink-4),transparent);opacity:.5;
}

/* ---------- 11b. PHOTO EVIDENCE : 실제 촬영 원본 ----------
   원본은 지하주차장 가로 구도. 왼쪽 G-CLASS ~ 오른쪽 LAMBORGHINI.
   양끝 차량이 잘리면 증거로서 기능하지 못하므로 crop을 보수적으로 잡는다. */
.evidence{border-block:1px solid var(--rule);background:var(--paper-sunk)}
.evidence__fig{margin:0;display:flex;flex-direction:column}
/* editorial breakout : shell보다 조금 넓게 */
.evidence__frame{
  position:relative;inline-size:min(100%,116rem);margin-inline:auto;
  aspect-ratio:21/9;min-block-size:20rem;
  background:var(--paper-sunk);overflow:hidden;
}
@media (max-width:64rem){.evidence__frame{aspect-ratio:16/9;min-block-size:0}}
/* 모바일 : 좌우를 자르지 않는다. 원본 비율에 가깝게 두고 빈 바닥만 덜어낸다 */
@media (max-width:46rem){
  .evidence__frame{aspect-ratio:3/4;min-block-size:0}
  .evidence__img{object-position:center 22%}
  .evidence__cap{padding-block-start:5rem}
}
.evidence__img{
  position:relative;z-index:1;
  inline-size:100%;block-size:100%;object-fit:cover;
  /* 원본은 4:3. 차량 열이 세로 15~60% 구간에 있고 하단 절반은 빈 바닥이므로
     위쪽을 살려 잘라낸다. 사진을 바꾸면 이 값만 조정하면 된다. */
  object-position:center 30%;
}
/* 이미지가 아직 없을 때만 보이는 자리 표시 — 이미지가 로드되면 뒤로 가려진다 */
.evidence__ph{
  position:absolute;inset:0;z-index:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;
  background-image:
    linear-gradient(var(--rule-hair) 1px,transparent 1px),
    linear-gradient(90deg,var(--rule-hair) 1px,transparent 1px);
  background-size:1.5rem 1.5rem;
}
.evidence__ph::after{content:"";position:absolute;inset:clamp(.75rem,.5rem + 1vw,1.5rem);border:1px solid var(--rule)}
.evidence__phname{font-family:var(--mono);font-size:.82rem;color:var(--ink-3);font-weight:600}
.evidence__phhint{font-size:var(--t-xs);color:var(--ink-4)}
/* 캡션 : 사진 위가 아니라 아래. 잡지 도판 캡션처럼 */
/* 캡션을 사진 내부 하단에 얹는다 */
.evidence__cap{
  position:absolute;inset-inline:0;inset-block-end:0;z-index:3;
  padding:clamp(2.5rem,2rem + 3vw,4.5rem) clamp(1.15rem,.5rem + 2.4vw,3.25rem) clamp(1rem,.8rem + .8vw,1.6rem);
  display:flex;flex-direction:column;gap:.3rem;
  background:linear-gradient(to top,rgba(10,9,7,.86) 0%,rgba(10,9,7,.55) 45%,transparent 100%);
  color:#F6F2E8;
}
.evidence__line{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.22em;color:rgba(246,242,232,.72);font-weight:600}
.evidence__title{font-family:var(--serif);font-size:clamp(1.25rem,1rem + 1.4vw,2rem);font-weight:600;letter-spacing:-.04em;line-height:1.25;color:#F6F2E8}
.evidence__sub{font-size:var(--t-xs);color:rgba(246,242,232,.66);line-height:1.6}
/* 사진 다음 연결 문장 */
.bridge{max-inline-size:34ch}




/* ---------- 11c. 5대 선택 카드 ---------- */
.picks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}
@media (max-width:62rem){.picks{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}}
@media (max-width:30rem){.picks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pick{
  display:flex;flex-direction:column;gap:.2rem;text-align:start;
  padding:.9rem 1rem 1.05rem;border:1px solid var(--rule);background:var(--surface);
  border-block-start:2px solid var(--rule);border-radius:12px;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.pick:active{transform:translateY(1px)}
.pick:hover{border-color:var(--ink-3);border-block-start-color:var(--ink-3)}
.pick.is-on{border-color:var(--ink);border-block-start-color:var(--seal);background:var(--surface)}
.pick__no{font-family:var(--mono);font-size:.6rem;letter-spacing:.13em;color:var(--ink-4)}
.pick__ko{font-family:var(--serif);font-size:1.08rem;font-weight:600;letter-spacing:-.04em;line-height:1.2}
.pick__en{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}
.pick__tag{
  font-family:var(--mono);font-size:.6rem;letter-spacing:.05em;color:var(--ink-3);
  margin-block-start:.4rem;padding-block-start:.4rem;border-block-start:1px solid var(--rule-hair);
}
.pick__tag.is-cash{color:var(--seal);font-weight:700}
.pick__short{font-size:.72rem;color:var(--ink-4);line-height:1.5}
.pick.is-on .pick__short{color:var(--ink-2)}

/* 선택된 사례 상세 */
.casebox{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(1.25rem,.8rem + 1.8vw,2.5rem);align-items:start;
  border-block-start:2px solid var(--ink);padding-block-start:clamp(1.25rem,1rem + 1.2vw,2rem);
}
@media (max-width:56rem){.casebox{grid-template-columns:1fr}}
.casebox__text{display:flex;flex-direction:column;gap:.6rem}
.casebox__name{
  font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1.5vw,2.1rem);
  font-weight:600;letter-spacing:-.045em;line-height:1.2;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;
}
.casebox__text .tag{align-self:start}
.casebox__text .txt{margin-block-start:.2rem}
/* CASE 상세 : 조건·주의 안내 */
.case__note{
  font-size:var(--t-xs);line-height:1.7;color:var(--ink-3);
  border-block-start:1px dotted var(--rule);padding-block-start:.7rem;margin-block-start:.35rem;
}
.casebox__media{aspect-ratio:4/3}
@media (max-width:56rem){.casebox__media{order:-1}}

/* ---------- 11d. CONTRACT ARCHIVE : 문서 자료실 ---------- */
.docs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
@media (max-width:64rem){.docs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:34rem){.docs{grid-template-columns:1fr}}
.doc2{
  display:flex;flex-direction:column;gap:.75rem;text-align:start;
  border:1px solid var(--rule);background:var(--surface);padding:.8rem .8rem 1rem;
  border-radius:12px;
  transition:border-color .18s ease,transform .18s ease;
}
.doc2:hover{border-color:var(--ink);transform:translateY(-2px)}
.doc2:hover .doc2__go{color:var(--seal);gap:.55rem}
.doc2__thumb{
  position:relative;aspect-ratio:3/4;background:var(--paper-sunk);
  border:1px solid var(--rule-soft);display:grid;place-items:center;overflow:hidden;
  border-radius:8px;
  clip-path:polygon(0 0, calc(100% - 1.15rem) 0, 100% 1.15rem, 100% 100%, 0 100%);
}
.doc2__thumb::after{content:"";position:absolute;inset:.5rem;border:1px dashed var(--rule);opacity:.7}
.doc2__img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:2}
.doc2__no{position:relative;z-index:1;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--ink-4)}
.doc2__meta{display:flex;flex-direction:column;gap:.3rem}
.doc2__name{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:-.04em;line-height:1.2}
.doc2__type{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--ink-3)}
.doc2__rows{display:flex;flex-direction:column;gap:.15rem;margin-block-start:.4rem;padding-block-start:.5rem;border-block-start:1px solid var(--rule-hair)}
.doc2__rows span{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline}
.doc2__rows i{font-style:normal;font-size:.7rem;color:var(--ink-4)}
.doc2__rows b{font-family:var(--mono);font-size:.7rem;font-weight:500;color:var(--ink-3)}
.doc2__go{
  display:flex;align-items:center;gap:.35rem;margin-block-start:auto;padding-block-start:.5rem;
  font-size:.78rem;font-weight:600;color:var(--ink-3);transition:gap .18s ease,color .18s ease;
}

/* ---------- 11e. QUOTE ANALYSIS : 다크 구간 ---------- */
.analysis{background:var(--night);color:var(--on-night);padding-block:clamp(3.5rem,2.2rem + 5.5vw,7rem)}
.analysis__in{display:flex;flex-direction:column;gap:clamp(2rem,1.4rem + 2.4vw,3.25rem)}
.analysis__head{display:flex;flex-direction:column;gap:.85rem;max-inline-size:44ch}
.analysis__h{
  font-family:var(--serif);font-size:clamp(1.75rem,1.2rem + 2.6vw,3rem);font-weight:600;
  letter-spacing:-.045em;line-height:1.22;color:var(--on-night);word-break:keep-all;
}
.analysis__lead{font-size:var(--t-lead);line-height:1.75;color:var(--on-night-2)}
.analysis .kick-assay{color:#7FC4BC}

.analysis__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,1rem + 2.4vw,3rem)}
@media (max-width:64rem){.analysis__grid{grid-template-columns:1fr}}

.pipeline{display:flex;flex-direction:column;border-block-start:1px solid #4A443A}
.pipe{
  display:grid;grid-template-columns:2.6rem minmax(0,8rem) minmax(0,1fr);gap:.5rem 1rem;
  align-items:baseline;padding-block:.95rem;border-block-end:1px solid #2E2A24;
}
@media (max-width:40rem){.pipe{grid-template-columns:2.4rem minmax(0,1fr)}.pipe__d{grid-column:2}}
.pipe__n{font-family:var(--mono);font-size:.72rem;color:#7FC4BC;font-weight:700;letter-spacing:.08em}
.pipe__t{font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:-.035em;color:var(--on-night)}
.pipe__d{font-size:var(--t-xs);color:var(--on-night-3);line-height:1.6}

.scopebox{display:flex;flex-direction:column;gap:.85rem;background:rgba(255,255,255,.035);padding:1.15rem 1.25rem 1.35rem;border:1px solid #3A342C}
.scopetabs{display:flex;gap:.4rem}
.scopetab{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;font-weight:600;
  padding:.42rem 1rem;border:1px solid #4A443A;border-radius:999px;color:var(--on-night-3);
}
.scopetab:hover{color:var(--on-night)}
.scopetab.is-on{background:var(--on-night);border-color:var(--on-night);color:var(--night)}
.scopelist{display:flex;flex-direction:column;gap:0}
.scopelist li{
  font-size:var(--t-sm);color:var(--on-night-2);line-height:1.6;
  padding-block:.5rem;border-block-end:1px solid #2E2A24;
}
.scopelist li:last-child{border-block-end:0}
.scopefine{font-size:var(--t-xs);color:var(--on-night-3);line-height:1.6;padding-block-start:.35rem}

.analysis__result{display:flex;flex-direction:column;gap:.85rem;border-block-start:2px solid #4A443A;padding-block-start:1.25rem}
.analysis__label{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.15em;text-transform:uppercase;color:var(--on-night-3);font-weight:600}
.resgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #4A443A}
@media (max-width:52rem){.resgrid{grid-template-columns:1fr}}
.res{display:flex;flex-direction:column;gap:.35rem;padding:1.15rem 1.25rem;border-inline-end:1px solid #2E2A24}
.res:last-child{border-inline-end:0}
@media (max-width:52rem){.res{border-inline-end:0;border-block-end:1px solid #2E2A24}.res:last-child{border-block-end:0}}
.res__k{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.11em;text-transform:uppercase;color:var(--on-night-3);font-weight:600}
.res__v{font-family:var(--mono);font-size:1.15rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--on-night)}
.res__d{font-size:.68rem;color:var(--on-night-3);line-height:1.55}
.res.is-key{background:rgba(201,96,106,.12)}
.res.is-key .res__k{color:#E3A099}
.res.is-key .res__v{color:#E9B3AC;font-size:1.45rem;font-weight:700}
.res.is-key .res__d{color:#C9948E}

.analysis__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);flex-wrap:wrap;border-block-start:1px solid #4A443A;padding-block-start:1.5rem}
.analysis__promise{font-family:var(--serif);font-size:clamp(1.05rem,.98rem + .6vw,1.3rem);font-weight:600;letter-spacing:-.035em;color:var(--on-night)}
.analysis__fine{font-size:var(--t-xs);color:var(--on-night-3)}

/* ---------- 11f. BUSINESS : 프로세스 다이어그램 ---------- */
.bizsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block-start:2px solid var(--ink)}
@media (max-width:56rem){.bizsteps{grid-template-columns:1fr;border-block-start:0}}
.bizstep{
  position:relative;display:flex;flex-direction:column;gap:.4rem;
  padding:1.25rem 1.35rem 1.35rem 0;border-inline-end:1px solid var(--rule);
}
.bizstep:last-child{border-inline-end:0}
.bizstep:not(:last-child)::after{
  content:"";position:absolute;inset-block-start:-1px;inset-inline-end:-4px;
  inline-size:7px;block-size:7px;background:var(--seal);
}
@media (max-width:56rem){
  .bizstep{border-inline-end:0;border-block-start:1px solid var(--rule);padding:1rem 0 1.1rem 1.15rem}
  .bizstep:first-child{border-block-start:2px solid var(--ink)}
  .bizstep:not(:last-child)::after{inset-block-start:auto;inset-block-end:-4px;inset-inline-end:auto;inset-inline-start:0}
}
.bizstep__n{font-family:var(--mono);font-size:1.35rem;font-weight:600;color:var(--seal);letter-spacing:-.04em;line-height:1}
.bizstep__t{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:-.04em}
.bizstep__d{font-size:var(--t-xs);color:var(--ink-2);line-height:1.65}

.biznote{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,1rem + 2.4vw,3rem);align-items:start}
@media (max-width:56rem){.biznote{grid-template-columns:1fr;gap:var(--s5)}}
.biznote__col{display:flex;flex-direction:column;gap:var(--s3)}
.biznote__list{display:flex;flex-direction:column;gap:0;border-block-start:1px solid var(--rule)}
.biznote__list li{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-2);padding-block:.55rem;border-block-end:1px solid var(--rule-hair)}
.biznote__list li:last-child{border-block-end:0}
.bizfine{color:var(--ink-3);border-block-start:1px dotted var(--rule);padding-block-start:.65rem}

/* ---------- 12. CASE 도시에 ---------- */
.dossier{display:flex;flex-direction:column}
.case{
  display:grid;grid-template-columns:4.5rem minmax(0,1fr);
  gap:clamp(.9rem,.5rem + 1.6vw,2rem);
  padding-block:clamp(1.6rem,1.1rem + 1.8vw,2.6rem);
  border-block-start:1px solid var(--rule);
}
.case:first-child{border-block-start:2px solid var(--ink)}
@media (max-width:48rem){.case{grid-template-columns:1fr;gap:var(--s3)}}
.case__no{font-family:var(--mono);font-size:.72rem;color:var(--ink-4);letter-spacing:.1em;padding-block-start:.3rem}
.case__body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.1rem,.7rem + 1.8vw,2.25rem);align-items:start}
@media (max-width:56rem){.case__body{grid-template-columns:1fr}}
/* B안 10% : 이 두 케이스만 이미지 우위 */
.case--feature .case__body{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
@media (max-width:56rem){.case--feature .case__body{grid-template-columns:1fr}}
.case__head{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap;margin-block-end:.5rem}
.case__name{font-family:var(--serif);font-size:clamp(1.35rem,1.1rem + 1.1vw,1.85rem);font-weight:600;letter-spacing:-.04em;line-height:1.2}
.case__en{font-family:var(--mono);font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4)}
.tag{
  font-family:var(--mono);font-size:.63rem;letter-spacing:.11em;text-transform:uppercase;
  border:1px solid var(--rule);padding:.16rem .48rem;color:var(--ink-3);
}
.tag-cash{border-color:var(--seal-line);color:var(--seal);background:var(--seal-tint)}
.case__judge{
  font-family:var(--serif);font-size:1.02rem;font-weight:600;line-height:1.55;color:var(--ink);
  letter-spacing:-.028em;border-inline-start:2px solid var(--seal);padding-inline-start:.8rem;margin-block:.7rem;
}
.case__media{aspect-ratio:4/3}
.case--feature .case__media{aspect-ratio:16/10}
.case__foot{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-block-start:.75rem}

/* ---------- 13. 계약서 아카이브 ---------- */
.archive{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--s4)}
.doc{
  display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--rule);background:var(--surface);
  padding:.85rem;text-align:start;transition:border-color .16s ease;
}
.doc:hover{border-color:var(--ink)}
.doc:hover .doc__go{color:var(--seal);gap:.55rem}
.doc__thumb{aspect-ratio:3/4;background:var(--paper-sunk);border:1px solid var(--rule-soft);position:relative;display:grid;place-items:center;align-content:center;gap:.3rem;overflow:hidden}
.doc__thumb::after{content:"";position:absolute;inset:.4rem;border:1px dashed var(--rule);opacity:.7}
.doc__thumb>*{position:relative;z-index:1}
.doc__img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:2}
.doc__meta{display:flex;flex-direction:column;gap:.28rem}
.doc__no{font-family:var(--mono);font-size:.63rem;letter-spacing:.13em;color:var(--ink-4)}
.doc__name{font-family:var(--serif);font-size:1.02rem;font-weight:600;letter-spacing:-.03em}
.doc__type{font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}
.doc__go{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--ink-2);transition:gap .16s ease,color .16s ease}
.mask-note{display:flex;gap:.5rem;font-size:var(--t-xs);color:var(--ink-3);line-height:1.65}

/* ---------- 14. 3 STEP ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:0;border-block-start:2px solid var(--ink)}
.step{padding:var(--s5) var(--s4) var(--s5) 0;border-inline-end:1px solid var(--rule);display:flex;flex-direction:column;gap:.5rem}
.step:last-child{border-inline-end:0}
@media (max-width:52rem){.step{border-inline-end:0;border-block-end:1px solid var(--rule);padding-inline-end:0}}
.step__n{font-family:var(--mono);font-size:1.6rem;font-weight:600;color:var(--seal);letter-spacing:-.04em;line-height:1}
.promise{border:2px solid var(--ink);padding:clamp(1.25rem,1rem + 1.4vw,1.85rem);display:flex;flex-direction:column;gap:.4rem}
/* 원칙 3 : 한 화면에 들어오는 편집 레이아웃 */
.tenets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:0;border-block-start:2px solid var(--ink)}
.tenet{padding:var(--s5) var(--s5) var(--s5) 0;border-inline-end:1px solid var(--rule);display:flex;flex-direction:column;gap:.4rem}
.tenet:last-child{border-inline-end:0}
@media (max-width:52rem){.tenet{border-inline-end:0;border-block-end:1px solid var(--rule);padding-inline-end:0}.tenet:last-child{border-block-end:0}}
.tenet__no{font-family:var(--mono);font-size:.72rem;color:var(--seal);font-weight:700;letter-spacing:.1em}
.tenet__t{font-family:var(--serif);font-size:clamp(1.1rem,1rem + .5vw,1.3rem);font-weight:600;letter-spacing:-.035em;line-height:1.35}
/* 계약기간 실지출 분해 */
.breakdown{border:1px solid var(--rule);background:var(--surface-2)}
.breakdown__t{display:block;font-family:var(--mono);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-weight:600;padding:.6rem .8rem;border-block-end:1px solid var(--rule)}
.breakdown__rows{padding:.5rem .8rem .7rem}
.bd{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.4rem}
.bd__k{font-size:var(--t-xs);color:var(--ink-2)}
.bd__v{font-family:var(--mono);font-size:var(--t-xs);font-variant-numeric:tabular-nums;font-weight:600;text-align:end}
.bd--sum{border-block-start:1px solid var(--rule);margin-block-start:.25rem;padding-block-start:.6rem}
.bd--sum .bd__k{font-weight:700;color:var(--ink);font-size:var(--t-sm)}
.bd--sum .bd__v{font-weight:700;color:var(--ink);font-size:var(--t-sm)}
.verdict__note{font-size:.68rem;color:var(--ink-3);line-height:1.5}
.verdict__c.is-real .verdict__note{color:var(--seal)}
.promise__t{font-family:var(--serif);font-size:clamp(1.12rem,1rem + .7vw,1.4rem);font-weight:600;letter-spacing:-.035em;line-height:1.5}

/* ---------- 15. 카드 · 표 ---------- */
.card{background:var(--surface);border:1px solid var(--rule);padding:var(--s5)}
.card-seal{border-inline-start:3px solid var(--seal)}
.card-assay{border-inline-start:3px solid var(--assay)}
.card-quiet{background:var(--surface-2);border-color:var(--rule-soft)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:var(--s6)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--s4)}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:var(--s4)}

.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl{inline-size:100%;border-collapse:collapse;min-inline-size:20rem}
.tbl th,.tbl td{text-align:start;padding:.8rem .9rem;border-block-end:1px solid var(--rule-soft);font-size:var(--t-sm)}
.tbl thead th{font-family:var(--mono);font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:500;border-block-end:1.5px solid var(--ink)}
.tbl td{color:var(--ink-2)}
.tbl .kcell{color:var(--ink);font-weight:600;white-space:nowrap}
/* 모바일 : 표를 행 카드로 */
@media (max-width:34rem){
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;inline-size:100%}
  .tbl thead{display:none}
  .tbl tr{border:1px solid var(--rule);margin-block-end:.5rem;background:var(--surface)}
  .tbl td{border-block-end:1px solid var(--rule-hair);display:flex;justify-content:space-between;gap:1rem}
  .tbl tr td:last-child{border-block-end:0}
}

.spec{display:flex;flex-direction:column}
.spec__r{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);padding-block:.68rem;border-block-end:1px dotted var(--rule)}
.spec__r:last-child{border-block-end:0}
.spec__k{font-size:var(--t-sm);color:var(--ink-2)}
.spec__v{font-family:var(--mono);font-size:var(--t-sm);font-variant-numeric:tabular-nums;text-align:end}
.spec__r--tot{border-block-start:1.5px solid var(--ink);border-block-end:0;margin-block-start:.35rem;padding-block-start:.85rem}
.spec__r--tot .spec__k{color:var(--seal);font-weight:700;font-size:.95rem}
.spec__r--tot .spec__v{color:var(--seal);font-weight:700;font-size:1.05rem}

.tabs{display:flex;gap:1.4rem;border-block-end:1px solid var(--rule);overflow-x:auto;-webkit-overflow-scrolling:touch}
.tab{padding:.78rem .12rem;font-size:.92rem;font-weight:600;color:var(--ink-3);letter-spacing:-.025em;border-block-end:2.5px solid transparent;white-space:nowrap}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:var(--ink);border-block-end-color:var(--seal)}

/* ---------- 16. 아코디언 ---------- */
.faq-q{
  display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);inline-size:100%;
  padding-block:1.1rem;font-family:var(--serif);font-size:1.04rem;font-weight:600;color:var(--ink);
  text-align:start;letter-spacing:-.032em;line-height:1.5;
}
.faq-q:hover{color:var(--seal)}
.faq-a{padding-block:0 1.25rem;font-size:var(--t-sm);line-height:1.88;color:var(--ink-2);max-inline-size:var(--prose)}
.item{border-block-end:1px solid var(--rule-soft)}
.term-btn{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);inline-size:100%;padding-block:1.2rem 1rem;text-align:start}
.term-btn:hover .term-name{color:var(--seal)}
.term-name{font-family:var(--serif);font-size:1.1rem;font-weight:600;letter-spacing:-.035em;color:var(--ink);display:block}
.sign{font-family:var(--mono);font-size:1.08rem;font-weight:400;color:var(--seal);flex:none;line-height:1}
.termgroup{display:flex;flex-direction:column;gap:.12rem;margin-block-end:var(--s7)}
.termgroup__h{padding-block:.95rem .3rem;border-block-start:2px solid var(--ink)}

/* ---------- 17. 폼 ---------- */
.field{inline-size:100%;border:1px solid var(--rule);background:var(--surface);padding:.82rem .88rem;font-family:inherit;font-size:.94rem;color:var(--ink);min-block-size:2.85rem}
.field::placeholder{color:var(--ink-4)}
.field:focus{outline:2px solid var(--assay);outline-offset:-1px;border-color:var(--assay)}
.lbl{font-size:var(--t-sm);font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.lbl-opt{color:var(--ink-3);font-weight:400}
.hint{font-size:var(--t-xs);color:var(--ink-3);line-height:1.62}
.drop{border:1.5px dashed var(--ink-4);background:var(--paper-sunk);padding:var(--s6) var(--s4);display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;color:var(--ink-3);inline-size:100%}
.drop:hover{border-color:var(--assay);background:var(--assay-tint);color:var(--assay)}
.radio{display:flex;align-items:center;gap:.48rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);padding:.68rem 1.05rem;font-size:.87rem;cursor:pointer;color:var(--ink);min-block-size:2.85rem}
.radio:hover{border-color:var(--assay)}
.radio[aria-checked="true"]{border-color:var(--assay);border-width:2px;background:var(--assay-tint);font-weight:600;color:var(--assay);padding:calc(.68rem - 1px) calc(1.05rem - 1px)}
.dot{inline-size:.82rem;block-size:.82rem;border-radius:50%;border:1.5px solid var(--ink-4);flex:none}
.radio[aria-checked="true"] .dot{border:4px solid var(--assay)}
.tick{inline-size:3.4rem;block-size:3.4rem;border:2.5px solid var(--assay);border-radius:50%;display:grid;place-items:center;color:var(--assay)}
.nocontact{background:var(--assay-tint);border-inline-start:3px solid var(--assay);padding:1rem 1.05rem;display:flex;gap:.65rem;cursor:pointer;text-align:start;inline-size:100%}
.nocontact:hover{background:color-mix(in srgb,var(--assay) 13%,transparent)}
.nocontact__b{inline-size:1.22rem;block-size:1.22rem;border:2px solid var(--assay);flex:none;display:grid;place-items:center;margin-block-start:.12rem;color:var(--surface)}
.nocontact__b.is-on{background:var(--assay)}
.nocontact__t{font-size:.93rem;font-weight:700;letter-spacing:-.02em;color:var(--assay)}
.ulink{text-decoration:underline;cursor:pointer}

/* ---------- 18. 용어 사전 ---------- */
.filters{display:flex;flex-direction:column;gap:.32rem}
.cat{border:1.5px solid var(--rule);border-radius:999px;padding:.56rem 1.1rem;font-size:.86rem;font-weight:500;color:var(--ink-2);letter-spacing:-.02em;text-align:center;min-block-size:2.55rem}
.cat:hover{border-color:var(--ink);color:var(--ink)}
.cat[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper);font-weight:600}
@media (max-width:62rem){.filters{flex-direction:row;overflow-x:auto;padding-block-end:.25rem}.cat{white-space:nowrap}}
.glossary{display:grid;grid-template-columns:minmax(0,11.5rem) minmax(0,1fr);gap:var(--s7)}
@media (max-width:62rem){.glossary{grid-template-columns:1fr;gap:var(--s5)}}
.rail{position:sticky;top:4.75rem;align-self:start}
@media (max-width:62rem){.rail{position:static}}

/* ---------- 19. 반전 · 기타 ---------- */
.night{background:var(--night);color:var(--on-night);padding:clamp(2rem,1.4rem + 3vw,3.5rem)}
.night .h1,.night .h-sec,.night .h2,.night .statement,.night .b{color:var(--on-night)}
.night .txt,.night .lead,.night .sm{color:var(--on-night-2)}
.night .kick{color:var(--on-night-3)}
.night .kick-seal{color:#E3A099}
.night .blank{color:var(--on-night-3)}
.night .stat{border-block-start:2px solid #4A443A}
.frame{border:2px solid var(--ink);padding:clamp(1.75rem,1.25rem + 2.4vw,3rem)}
.author{background:var(--surface-2);border-inline-start:3px solid var(--seal);padding:var(--s5);font-family:var(--mono);font-size:var(--t-xs);line-height:2;color:var(--ink-2)}
.stat{display:flex;flex-direction:column;gap:.4rem;border-block-start:2px solid var(--rule);padding-block-start:.85rem}
.foot{border-block-start:2px solid var(--ink)}
.sec{border-block-start:2px solid var(--ink);padding-block-start:var(--s5)}
.checklist{display:flex;flex-direction:column;gap:.6rem}
.chk{display:grid;grid-template-columns:1.6rem 1fr;gap:.7rem;border:1px solid var(--rule);background:var(--surface);padding:.9rem 1rem;align-items:start}
.chk__n{font-family:var(--mono);font-size:.68rem;font-weight:700;color:var(--assay);background:var(--assay-tint);display:grid;place-items:center;inline-size:1.6rem;block-size:1.6rem}
.chk--extra{grid-template-columns:auto 1fr;background:var(--surface-2);border-style:dashed}
.chk__tag{font-family:var(--mono);font-size:.63rem;font-weight:700;letter-spacing:.1em;color:var(--assay);border:1px solid var(--assay);padding:.18rem .45rem;white-space:nowrap;align-self:start}

/* ---------- 20. 유틸리티 ---------- */
.pt-1{padding-block-start:.35rem}
.pt-2{padding-block-start:.5rem}
.items-center{align-items:center}
.items-start{align-items:start}
.gap-3{gap:.7rem}
.gap-5{gap:1.25rem}
.me-2{margin-inline-end:.35rem}
.w-lg{max-inline-size:56rem}
.w-md{max-inline-size:52rem}
.w-sm{max-inline-size:50rem}
.ghosted{opacity:.25}
.legal{font-family:var(--mono);line-height:2}
/* 푸터 사업자 정보 안의 연락처 : 어두운 배경에서 전역 링크색(seal)은 읽히지 않는다 */
.legal a{color:inherit;text-decoration:none;border-block-end:1px solid color-mix(in srgb,currentColor 32%,transparent);padding-block-end:.05em}
.legal a:hover,.legal a:focus-visible{color:var(--on-night);border-block-end-color:currentColor}
.muted-4{color:var(--ink-4)}
.brand-name-sm{font-size:1rem}
.rule-top{border-block-start:1px solid var(--rule)}
.scan-slot{aspect-ratio:3/4;min-block-size:22rem}
.statement-sm{font-size:clamp(1.15rem,1rem + .9vw,1.55rem);max-inline-size:30ch}
.pad-y-lg{padding-block:3rem}
.w-34{max-inline-size:34ch}
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
.gap-xs{gap:.28rem}
.pb-5{padding-block-end:1.5rem}


/* ==========================================================================\n   UI/UX POLISH PASS — content/copy untouched\n   Goal: premium corporate website rhythm, stronger visual anchors, cleaner UX\n   ========================================================================== */

:root{
  --measure:1320px;
  --gutter:clamp(1.1rem,.45rem + 2.6vw,3.6rem);
  --band:clamp(4.8rem,3rem + 6.5vw,8.5rem);
  --band-t:clamp(3.2rem,2rem + 4vw,5.5rem);
  --shadow-lg:0 28px 80px -34px rgba(25,24,20,.28);
  --shadow-md:0 18px 50px -30px rgba(25,24,20,.28);
  --radius-xl:28px;
  --radius-lg:20px;
  --radius-md:14px;
}

body{background:linear-gradient(180deg,var(--paper) 0%,#F8F5EE 38%,var(--paper) 100%)}
.shell{max-width:var(--measure)}

/* prototype controls become a discreet floating preview switcher */
.proto__in>.kick{display:none}

/* real-site header */
.masthead{
  top:0;border-block-end:1px solid color-mix(in srgb,var(--ink) 10%,transparent);
  background:color-mix(in srgb,var(--paper) 82%,transparent);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset;
}
.masthead__in{min-block-size:4.75rem;gap:2rem}
.brand{gap:.75rem}.stamp{box-shadow:none}.brand-name{font-size:1.22rem}.brand-sub{opacity:.75}
.nav{margin-inline-start:auto;gap:1.55rem}.nav__a{position:relative;padding-block:.55rem;font-size:.86rem}
.nav__a::after{content:"";position:absolute;left:0;right:100%;bottom:.2rem;height:1px;background:var(--seal);transition:right .18s ease}
.nav__a:hover::after,.nav__a.is-on::after,.nav__a.is-on-assay::after{right:0}
.masthead__cta{margin-inline-start:0;box-shadow:0 8px 24px -16px rgba(122,31,43,.7)}

/* hero: more like a composed landing page, less like two equal boxes */
.hero{min-height:min(860px,calc(100vh - 4.75rem));display:flex;align-items:center;background:
  radial-gradient(72rem 42rem at 108% 14%,rgba(122,31,43,.095),transparent 58%),
  radial-gradient(54rem 34rem at -8% 88%,rgba(31,90,80,.06),transparent 62%)}
.hero::before{opacity:.42;background-size:4.5rem 4.5rem}
.hero__in{grid-template-columns:minmax(0,.93fr) minmax(28rem,1.07fr);gap:clamp(2.4rem,2vw + 1.6rem,5.25rem);padding-block:clamp(4rem,4vw + 2rem,7.5rem)}
.hero__left{max-width:40rem;gap:1.7rem}
.credit{padding:.42rem .7rem .42rem .55rem;border:1px solid var(--rule);border-radius:999px;background:rgba(255,255,255,.38);width:fit-content;letter-spacing:.045em}
.hero-h{font-size:clamp(1.75rem,1.1rem + 2.2vw,2.7rem);line-height:1.22;letter-spacing:-.05em;max-width:13em}
/* 강조 밑줄 : 배경으로 그려 다음 줄 글자를 침범하지 않게 한다 */
.hero-h em{
  font-style:normal;color:var(--seal);
  background-image:linear-gradient(color-mix(in srgb,var(--seal) 26%,transparent),color-mix(in srgb,var(--seal) 26%,transparent));
  background-repeat:no-repeat;
  background-size:100% .07em;
  background-position:0 calc(100% - .02em);
}
.hero-sub{margin-block-start:-.3rem;font-size:1.04rem}
.hero__left>.lead{max-width:35rem;font-size:clamp(.95rem,.9rem + .18vw,1.06rem);line-height:1.88}
.hero__ctas{padding-block-start:.45rem}.hero__ctas .btn{min-width:10.5rem}
.trustline{margin-block-start:-.55rem}
.meta{margin-block-start:.35rem;border-block:0;background:rgba(255,255,255,.32);border:1px solid var(--rule);border-radius:16px;padding:0 .9rem;box-shadow:0 10px 30px -28px rgba(0,0,0,.35)}
.meta__cell{padding:1rem .9rem}.meta__v{font-size:1.75rem}

.report{border-radius:24px;box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--ink) 12%,transparent);transform:translateY(1.2rem);background:color-mix(in srgb,var(--surface) 96%,white)}
.report::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.report__head{padding:1.35rem 1.5rem 1.05rem}.report__products{padding-inline:1.5rem;padding-block-end:1.15rem}.report__body{padding-inline:1.5rem}
.qline{background:color-mix(in srgb,var(--surface-2) 82%,white);padding:.8rem 1rem}.tile{min-height:6rem;justify-content:center}.tile__v{font-size:1.24rem}.tile.is-accent .tile__v{font-size:1.38rem}
.report__foot{margin:1.2rem 1.5rem 1.5rem}

/* photographic anchor */
.evidence{border:0;background:transparent;padding:clamp(1rem,2vw,2rem) var(--gutter) 0}
.evidence__frame{max-width:1540px;aspect-ratio:2.35/1;border-radius:30px;box-shadow:var(--shadow-lg);clip-path:polygon(0 0,calc(100% - 3rem) 0,100% 3rem,100% 100%,3rem 100%,0 calc(100% - 3rem));}
.evidence__frame::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid rgba(255,255,255,.18);border-radius:inherit}
.evidence__cap{padding-inline:clamp(1.4rem,4vw,4rem);padding-block-end:clamp(1.4rem,2vw,2.4rem)}
.evidence__line{font-size:.72rem}.evidence__title{font-size:clamp(1.55rem,1.1rem + 1.4vw,2.35rem)}

/* section headings become visual anchors */
#s-main>section.shell.band>.stack>.row-between:first-child,
#s-main>section.shell.band .row-between:first-child,
#s-main>section.shell.band-t .row-between:first-child{align-items:flex-end}
#s-main .row-between>.stack.s2{gap:.55rem}
#s-main .row-between>.stack.s2>.kick{display:flex;align-items:center;gap:.75rem}
#s-main .row-between>.stack.s2>.kick::before{content:"";width:2.4rem;height:1px;background:var(--seal);flex:none}

/* five-car selector: feels like a real module */
.picks{gap:.7rem;margin-top:.65rem}
.pick{min-height:9.6rem;padding:1.05rem 1.1rem;border-color:color-mix(in srgb,var(--ink) 10%,transparent);border-block-start:0;border-radius:18px;background:rgba(255,255,255,.38);box-shadow:0 10px 28px -28px rgba(0,0,0,.4);position:relative;overflow:hidden}
.pick::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent;transition:background .18s ease}
.pick:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--ink) 24%,transparent);box-shadow:0 16px 35px -28px rgba(0,0,0,.45)}
.pick.is-on{background:var(--surface);border-color:color-mix(in srgb,var(--seal) 42%,var(--rule));box-shadow:0 18px 42px -30px rgba(122,31,43,.36)}
.pick.is-on::before{background:var(--seal)}
.pick__no{font-size:.64rem}.pick__ko{font-size:1.18rem;margin-top:.15rem}.pick__short{margin-top:auto}

.casebox{margin-top:1rem;padding:clamp(1.25rem,1vw + 1rem,2rem);border:1px solid var(--rule);border-block-start:1px solid var(--rule);border-radius:24px;background:color-mix(in srgb,var(--surface) 92%,white);box-shadow:var(--shadow-md);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center}
.casebox__text{padding:clamp(.25rem,1vw,1rem)}.casebox__name{font-size:clamp(1.9rem,1.5rem + 1.2vw,2.65rem)}
.casebox__media{border-radius:18px;overflow:hidden;min-height:22rem}.casebox__media::after{display:none}
.case__judge{font-size:1.12rem;padding:.9rem 1rem;border-inline-start:0;border-radius:12px;background:var(--seal-tint);color:var(--seal)}

/* editorial statement becomes a banner, not another text card */
#s-main>section.shell.band-t>.night{border-radius:28px;padding:clamp(2.2rem,2vw + 1.5rem,3.8rem);position:relative;overflow:hidden;box-shadow:var(--shadow-md)}
#s-main>section.shell.band-t>.night::after{content:"";position:absolute;width:18rem;height:18rem;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-5rem;top:-7rem}
#s-main>section.shell.band-t>.night .statement:first-of-type{font-size:clamp(1.8rem,1.2rem + 2vw,3rem);max-width:19ch}

/* contract archive: stronger hierarchy */
.docs{gap:1.15rem}
.doc2{border-radius:18px;padding:.9rem .9rem 1.15rem;border-color:color-mix(in srgb,var(--ink) 10%,transparent);box-shadow:0 12px 32px -30px rgba(0,0,0,.45);background:rgba(255,255,255,.42)}
.doc2:hover{transform:translateY(-5px);box-shadow:0 24px 55px -34px rgba(0,0,0,.4)}
.doc2__thumb{border-radius:14px;clip-path:polygon(0 0,calc(100% - 1.5rem) 0,100% 1.5rem,100% 100%,0 100%);background:linear-gradient(135deg,var(--surface) 0%,var(--paper-sunk) 100%)}
.doc2__thumb::before{content:"";position:absolute;inset:14% 12%;background:repeating-linear-gradient(to bottom,var(--rule) 0 1px,transparent 1px 13px);opacity:.55}
.doc2__no{align-self:flex-start;margin:.75rem;background:var(--surface);padding:.35rem .5rem;border:1px solid var(--rule);border-radius:999px}
.doc2__name{font-size:1.3rem}.doc2__go{padding-top:.8rem}

/* dark quote analysis becomes the strongest mid-page section */
.analysis{margin-top:clamp(1.5rem,2vw,3rem);padding-block:clamp(5rem,5vw + 2rem,9rem);background:
  radial-gradient(42rem 26rem at 88% 18%,rgba(122,31,43,.22),transparent 65%),
  radial-gradient(36rem 24rem at 12% 88%,rgba(31,90,80,.18),transparent 68%),
  var(--night)}
.analysis__in{gap:clamp(2.5rem,2vw + 1.2rem,4.2rem)}.analysis__head{max-width:54rem}
.analysis__h{font-size:clamp(2.4rem,1.7rem + 3vw,4.5rem);max-width:11ch;line-height:1.08}
.analysis__grid{align-items:start}.pipeline{border-block-start:0}
.pipe{grid-template-columns:3.2rem minmax(0,9rem) minmax(0,1fr);padding:1.15rem 0;border-color:#37322B}
.pipe__n{font-size:.82rem}.pipe__t{font-size:1.14rem}
.scopebox{border-radius:18px;background:rgba(255,255,255,.045);padding:1.35rem 1.4rem 1.55rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.resgrid{border-radius:16px;overflow:hidden}.res{padding:1.3rem 1.4rem}.res.is-key{background:linear-gradient(135deg,rgba(122,31,43,.24),rgba(122,31,43,.1))}
.analysis__foot{padding-top:1.8rem}

/* business process: diagram-like visual, more whitespace */
.bizsteps{border:0;gap:.75rem;position:relative}
.bizsteps::before{content:"";position:absolute;left:6%;right:6%;top:2.1rem;height:1px;background:linear-gradient(90deg,transparent,var(--rule),var(--rule),transparent)}
.bizstep{border:1px solid var(--rule);border-radius:18px;padding:1.2rem 1.2rem 1.35rem;background:rgba(255,255,255,.35);min-height:11rem;z-index:1;box-shadow:0 10px 28px -30px rgba(0,0,0,.35)}
.bizstep:not(:last-child)::after{inset-block-start:1.8rem;inset-inline-end:-.44rem;border-radius:50%;box-shadow:0 0 0 4px var(--paper)}
.bizstep__n{font-size:1.55rem}.bizstep__t{font-size:1.25rem;margin-top:.3rem}.bizstep__d{margin-top:auto}
.biznote{margin-top:.4rem;padding:1.6rem;border:1px solid var(--rule);border-radius:18px;background:var(--surface)}
.biznote__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--rule);border-radius:12px;overflow:hidden}
.biznote__list li{padding:.72rem .85rem;border:0;border-bottom:1px solid var(--rule-hair)}
.biznote__list li:nth-child(odd){border-right:1px solid var(--rule-hair)}

/* principles: cards rather than text columns */
.tenets{gap:.9rem;border:0}.tenet{border:1px solid var(--rule);border-radius:18px;padding:1.4rem;background:rgba(255,255,255,.36);min-height:11rem}
.tenet__no{font-size:.82rem}.tenet__t{font-size:1.25rem;margin-top:.35rem}.tenet .sm{margin-top:auto}

/* FAQ */
#faq-main{border-top:1px solid var(--rule)}
#faq-main .item{border-bottom:1px solid var(--rule)}
#faq-main .faq-q{font-size:1.12rem;padding-block:1.35rem}
#faq-main .faq-a{padding:0 0 1.5rem;max-width:60ch}

/* final CTA becomes a proper conversion block */
#s-main>section.shell.band-t>.frame{position:relative;overflow:hidden;border:0;border-radius:28px;padding:clamp(2rem,2vw + 1.5rem,4rem);background:linear-gradient(135deg,#FFFDF8 0%,var(--surface-2) 64%,var(--seal-tint) 100%);box-shadow:var(--shadow-md)}
#s-main>section.shell.band-t>.frame::after{content:"見積";position:absolute;right:clamp(1rem,4vw,4rem);top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:clamp(5rem,10vw,10rem);font-weight:700;color:var(--seal);opacity:.045;pointer-events:none}
#s-main>section.shell.band-t>.frame .h1,#s-main>section.shell.band-t>.frame .h-sec{max-width:14ch;font-size:clamp(2rem,1.35rem + 2.5vw,3.6rem)}

/* footer */
.foot{margin-top:var(--band-t);background:var(--ink);color:var(--on-night);border:0}.foot .brand-name,.foot .b{color:var(--on-night)}.foot .xs,.foot .sm{color:var(--on-night-2)}.foot .stamp{border-color:#D98991;color:#D98991}

/* Subpages: website-like hero panels and cleaner cards */
.screen:not(#s-main)>section.shell.band:first-of-type{padding-top:clamp(4rem,5vw,7rem)}
.screen:not(#s-main)>section.shell.band:first-of-type>.stack{position:relative;max-width:66rem;padding:clamp(1.5rem,2vw,2.5rem) 0}
.screen:not(#s-main)>section.shell.band:first-of-type>.stack::before{content:"";position:absolute;left:-2rem;top:0;bottom:0;width:4px;background:linear-gradient(var(--seal),transparent);border-radius:999px}
.card{border-radius:16px;border-color:color-mix(in srgb,var(--ink) 11%,transparent);box-shadow:0 14px 34px -32px rgba(0,0,0,.38)}
.scan-slot{border-radius:18px;box-shadow:var(--shadow-md)}
.tabs{gap:.4rem;border-bottom:0}.tab{padding:.62rem 1rem;border:1px solid var(--rule);border-radius:999px}.tab[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chk{border-radius:14px}.drop{border-radius:16px}.nocontact{border-radius:14px;border-inline-start:0;border:1px solid color-mix(in srgb,var(--assay) 28%,var(--rule))}
#form-wrap{position:sticky;top:6.2rem}
.author{border-radius:14px;border-inline-start:0;border:1px solid var(--rule)}

/* responsive */
@media (max-width:72rem){
  .hero__in{grid-template-columns:minmax(0,.92fr) minmax(24rem,1.08fr);gap:2rem}
  .report{transform:none}
  .docs{gap:.8rem}
}
@media (max-width:64rem){
  .hero{min-height:auto}.hero__in{grid-template-columns:1fr;padding-block:4.5rem 3rem}.hero__left{max-width:44rem}.hero-h{font-size:clamp(2rem,5.2vw,3.1rem);max-width:13em}
  .report{max-width:44rem;width:100%}
  .evidence{padding-inline:0}.evidence__frame{border-radius:0;clip-path:none;aspect-ratio:16/9}
  .casebox{grid-template-columns:1fr}.casebox__media{order:-1;min-height:0}
  .bizsteps::before{display:none}.bizstep:not(:last-child)::after{display:none}
  .biznote__list{grid-template-columns:1fr}.biznote__list li:nth-child(odd){border-right:0}
  #form-wrap{position:static}
}
@media (max-width:46rem){
  :root{--gutter:1.05rem;--band:4.5rem;--band-t:3rem}
    .masthead__in{min-block-size:4.25rem}.masthead__cta{font-size:.75rem;padding:.55rem .8rem}.brand-sub{display:none}.stamp{width:2.15rem;height:2.15rem}.brand-name{font-size:1.05rem}
  .hero__in{padding-top:3.25rem}.credit{font-size:.62rem}.hero-h{font-size:clamp(1.55rem,7.4vw,2.4rem);max-width:13em}.hero__ctas{display:grid;grid-template-columns:1fr}.hero__ctas .btn{width:100%}
  .meta{grid-template-columns:repeat(3,minmax(0,1fr));padding-inline:.3rem}.meta__cell{padding:.85rem .5rem;align-items:flex-start;justify-content:flex-start;flex-direction:column;border-bottom:0!important}.meta__v{font-size:1.35rem}.meta__k{font-size:.62rem}
  .report{border-radius:18px}.report__head,.report__products,.report__body{padding-inline:1rem}.report__foot{margin-inline:1rem}.tiles{grid-template-columns:1fr 1fr}.tile{padding:.8rem;min-height:5.2rem}.tile__v,.tile.is-accent .tile__v{font-size:.95rem}
  .evidence__frame{aspect-ratio:4/3}.evidence__cap{padding:5rem 1.1rem 1.2rem}.evidence__sub{white-space:normal}
  .picks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;margin-inline:-1.05rem;padding-inline:1.05rem}.pick{flex:0 0 72%;scroll-snap-align:start;min-height:8.7rem}
  .casebox{padding:1rem;border-radius:18px}.casebox__media{border-radius:12px}.casebox__name{font-size:1.75rem}
  #s-main>section.shell.band-t>.night{border-radius:18px;padding:1.6rem}
  .docs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-1.05rem;padding-inline:1.05rem;padding-bottom:.7rem}.doc2{flex:0 0 82%;scroll-snap-align:start}
  .analysis{padding-block:4.5rem}.analysis__h{font-size:2.55rem}.pipe{grid-template-columns:2.4rem 1fr}.pipe__d{grid-column:2}.resgrid{grid-template-columns:1fr}.scopebox{border-radius:14px}
  .bizstep{min-height:auto}.biznote{padding:1.1rem}.tenets{grid-template-columns:1fr}.tenet{min-height:0}
  #s-main>section.shell.band-t>.frame{border-radius:18px;padding:1.6rem}.frame .row{display:grid;grid-template-columns:1fr}.frame .btn{width:100%}
}


/* ========================================================================
   CONTRACT ARCHIVE SUBPAGE · UI/UX POLISH v2
   카피는 유지하고, 사각형/문서형 레이아웃을 실제 서비스 페이지처럼 시각적으로 정리
   ======================================================================== */
#s-contracts{--contract-radius:22px;--contract-radius-sm:14px}

/* Hero/intro: boxed notice를 얇은 editorial callout으로 */
#s-contracts > section:first-of-type{position:relative;overflow:hidden}
#s-contracts > section:first-of-type::after{
  content:"";position:absolute;inset:auto -10rem -13rem auto;width:28rem;height:28rem;
  border:1px solid color-mix(in srgb,var(--seal) 12%,transparent);border-radius:50%;pointer-events:none
}
#s-contracts > section:first-of-type .w-lg{max-width:64rem}
#s-contracts > section:first-of-type .card-seal{
  border:0;border-radius:var(--contract-radius-sm);padding:1rem 1.15rem;
  background:linear-gradient(90deg,var(--seal-tint),transparent 86%);
  box-shadow:inset 3px 0 0 var(--seal)
}
#s-contracts > section:first-of-type .card-seal .lead{font-size:1rem}

/* CASE 02: two-column feature card */
#s-contracts .sec.grid2{
  border:0;padding:clamp(1.4rem,1vw + 1rem,2.2rem);border-radius:var(--contract-radius);
  background:color-mix(in srgb,var(--surface) 95%,white);box-shadow:var(--shadow-md);
  gap:clamp(1.6rem,2vw,3rem)
}
#s-contracts .sec.grid2 > .stack:first-child{padding:clamp(.2rem,1vw,.9rem)}
#s-contracts .sec.grid2 > .card{
  border:1px solid var(--rule);border-radius:18px;background:var(--surface-2);
  padding:1.25rem 1.35rem;box-shadow:none
}
#s-contracts .sec.grid2 .case__judge{
  border:0;border-radius:14px;padding:.95rem 1rem;background:var(--seal-tint);color:var(--seal)
}
#s-contracts .spec__r{padding:.8rem .15rem;border-color:var(--rule-hair)}
#s-contracts .spec__r--tot{margin-top:.4rem;padding-top:1rem;border-block-start:1.5px solid var(--seal)}

/* CASE 05: stats as rounded metric tiles */
#s-contracts .sec.ed{border:0;padding:clamp(1.4rem,1vw + 1rem,2.1rem);border-radius:var(--contract-radius);background:var(--surface)}
#s-contracts .sec.ed > .rh{border:0;padding-top:.25rem;color:var(--seal)}
#s-contracts .sec.ed .grid4{gap:.8rem}
#s-contracts .sec.ed .stat{
  border:1px solid var(--rule);border-radius:16px;padding:1rem 1.05rem;min-height:7.8rem;
  background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);justify-content:space-between
}
#s-contracts .sec.ed .stat .kick{font-size:.62rem}
#s-contracts .sec.ed .stat .h3,#s-contracts .sec.ed .stat .blank{margin-top:auto}

/* Contract viewer: actual archive workspace, not plain square table */
#s-contracts .sec.stack.s5{
  border:0;padding:clamp(1.3rem,1vw + 1rem,2rem);border-radius:var(--contract-radius);
  background:color-mix(in srgb,var(--surface) 94%,white);box-shadow:var(--shadow-md)
}
#s-contracts .sec.stack.s5 > .row-between{padding-bottom:.4rem}
#s-contracts .tabs{
  gap:.45rem;border:0;padding:.35rem;background:var(--paper-sunk);border-radius:999px;
  width:max-content;max-width:100%;overflow-x:auto
}
#s-contracts .tab{
  border:0;border-radius:999px;padding:.62rem 1rem;color:var(--ink-3);background:transparent
}
#s-contracts .tab[aria-selected="true"]{
  color:var(--surface);background:var(--ink);box-shadow:0 5px 14px -10px rgba(0,0,0,.55)
}
#s-contracts .sec.stack.s5 > .grid2{
  gap:clamp(1.25rem,2vw,2.4rem);align-items:stretch;margin-top:.25rem
}
#s-contracts .scan-slot{
  border:1px solid var(--rule);border-radius:18px;background:
    linear-gradient(145deg,var(--surface) 0%,var(--paper-sunk) 100%);
  box-shadow:0 18px 40px -32px rgba(0,0,0,.5);clip-path:polygon(0 0,calc(100% - 1.5rem) 0,100% 1.5rem,100% 100%,0 100%)
}
#s-contracts .scan-slot::after{inset:.75rem;border:1px dashed var(--rule);border-radius:10px}
#s-contracts .tablewrap{
  border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:var(--surface)
}
#s-contracts .tbl{min-inline-size:0}
#s-contracts .tbl td{padding:.9rem 1rem;border-color:var(--rule-hair)}
#s-contracts .tbl tr:last-child td{border-bottom:0}
#s-contracts .tbl .kcell{font-weight:600;color:var(--ink-2)}
#s-contracts #c-type{
  border:1px solid var(--rule);border-radius:999px;padding:.3rem .65rem;background:var(--surface-2)
}

/* Failure record: keep dark, but use metric cards with hierarchy */
#s-contracts .night.stack.s5{
  border-radius:var(--contract-radius);padding:clamp(2rem,2vw + 1rem,3.4rem);overflow:hidden;position:relative
}
#s-contracts .night.stack.s5::after{
  content:"";position:absolute;width:18rem;height:18rem;border:1px solid rgba(255,255,255,.08);
  border-radius:50%;right:-6rem;top:-7rem;pointer-events:none
}
#s-contracts .night.stack.s5 .grid4{gap:.7rem;position:relative;z-index:1}
#s-contracts .night.stack.s5 .stat{
  border:1px solid #403a32;border-radius:15px;padding:1rem 1.05rem;min-height:7.4rem;
  background:rgba(255,255,255,.035);justify-content:space-between
}
#s-contracts .night.stack.s5 .stat .blank{margin-top:auto}

/* CTA + author: soften square frames */
#s-contracts .frame{
  border:0;border-radius:var(--contract-radius);padding:clamp(1.7rem,2vw + 1rem,3rem);
  background:linear-gradient(135deg,var(--surface) 0%,var(--paper-sunk) 100%);box-shadow:var(--shadow-md)
}
#s-contracts .author{border:0;border-radius:16px;padding:1.15rem 1.25rem;background:var(--surface-2);box-shadow:inset 3px 0 0 var(--seal)}

/* Diagnosis form: less boxed, clearer progression */
#s-check #form-wrap{border-radius:22px;box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--ink) 12%,transparent)}
#s-check .drop{border-radius:16px;min-height:8rem;background:linear-gradient(145deg,var(--surface-2),var(--paper-sunk))}
#s-check .field{border-radius:12px}
#s-check .radio{border-radius:12px}
#s-check .nocontact{border-inline-start:0;border-radius:14px;box-shadow:inset 3px 0 0 var(--assay)}
#s-check .chk{border-radius:16px;border-color:color-mix(in srgb,var(--ink) 10%,transparent);background:color-mix(in srgb,var(--surface) 94%,white)}
#s-check .chk__n{border-radius:8px}

@media (max-width:56rem){
  #s-contracts .sec.grid2,#s-contracts .sec.ed,#s-contracts .sec.stack.s5{border-radius:18px;padding:1.15rem}
  #s-contracts .tabs{width:100%}
  #s-contracts .tab{flex:0 0 auto}
  #s-contracts .night.stack.s5,#s-contracts .frame{border-radius:18px}
}



/* ============================================================
   UI/UX V3 — GLOSSARY POLISH ONLY
   Copy/content unchanged. Visual system aligned with archive/report UI.
   ============================================================ */
#s-glossary{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 32%,color-mix(in srgb,var(--paper) 94%,var(--surface-2)) 100%)}
#s-glossary > .band:first-of-type{padding-block-end:clamp(2.4rem,4vw,4.8rem);position:relative;overflow:hidden}
#s-glossary > .band:first-of-type::after{content:"GLOSSARY / 01";position:absolute;right:max(1rem,calc((100vw - var(--shell))/2));bottom:.7rem;font-family:var(--mono);font-size:clamp(2.8rem,8vw,7rem);font-weight:700;letter-spacing:-.07em;color:color-mix(in srgb,var(--ink) 4%,transparent);pointer-events:none;line-height:.8}
#s-glossary .w-sm{max-inline-size:46rem}
#s-glossary .glossary{grid-template-columns:minmax(0,13.5rem) minmax(0,1fr);gap:clamp(2rem,4vw,5rem);align-items:start}
#s-glossary .rail{top:5.5rem;padding:1.15rem;border:1px solid var(--rule-soft);border-radius:1.15rem;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 12px 35px rgba(29,26,23,.055);backdrop-filter:blur(12px)}
#s-glossary .filters{gap:.45rem}
#s-glossary .cat{position:relative;border:0;border-radius:.75rem;padding:.72rem .85rem;text-align:left;background:transparent;color:var(--ink-3);transition:background .18s ease,color .18s ease,transform .18s ease}
#s-glossary .cat::after{content:"→";position:absolute;right:.85rem;opacity:0;transform:translateX(-4px);transition:.18s ease;font-family:var(--mono)}
#s-glossary .cat:hover{background:var(--surface-2);color:var(--ink);transform:translateX(2px)}
#s-glossary .cat[aria-selected="true"]{background:var(--ink);color:var(--paper);box-shadow:0 8px 18px rgba(29,26,23,.12)}
#s-glossary .cat[aria-selected="true"]::after{opacity:.8;transform:none}
#s-glossary #terms{display:flex;flex-direction:column;gap:clamp(1.8rem,3vw,3.2rem)}
#s-glossary .termgroup{margin:0;gap:.55rem}
#s-glossary .termgroup__h{border:0;padding:0 0 .55rem;display:flex;align-items:center;gap:.85rem}
#s-glossary .termgroup__h::before{content:"";width:1.6rem;height:3px;background:var(--seal);flex:none}
#s-glossary .termgroup__h::after{content:"";height:1px;background:var(--rule);flex:1}
#s-glossary .termgroup__h .h2{font-size:clamp(1.1rem,1rem + .35vw,1.35rem);white-space:nowrap}
#s-glossary .item{position:relative;border:1px solid var(--rule-soft);border-radius:1rem;background:var(--surface);overflow:hidden;box-shadow:0 4px 18px rgba(29,26,23,.025);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
#s-glossary .item:hover{border-color:color-mix(in srgb,var(--seal) 35%,var(--rule));box-shadow:0 10px 30px rgba(29,26,23,.055);transform:translateY(-1px)}
#s-glossary .item:has(.term-btn[aria-expanded="true"]){border-color:color-mix(in srgb,var(--seal) 55%,var(--rule));box-shadow:0 16px 42px rgba(29,26,23,.07)}
#s-glossary .item:has(.term-btn[aria-expanded="true"])::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--seal)}
#s-glossary .term-btn{padding:1.15rem 1.2rem;align-items:center;gap:1rem}
#s-glossary .term-btn > .stack{gap:.28rem}
#s-glossary .term-name{font-size:clamp(1.05rem,1rem + .22vw,1.22rem);transition:color .18s ease}
#s-glossary .term-btn .sm{font-size:.78rem;line-height:1.55;color:var(--ink-3);max-inline-size:48rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}
#s-glossary .term-btn[aria-expanded="true"] .sm{-webkit-line-clamp:2;color:var(--ink-2)}
#s-glossary .sign{width:2rem;height:2rem;border:1px solid var(--rule);border-radius:50%;display:grid;place-items:center;background:var(--paper);transition:background .18s ease,color .18s ease,border-color .18s ease;flex:none}
#s-glossary .term-btn[aria-expanded="true"] .sign{background:var(--seal);border-color:var(--seal);color:white}
#s-glossary .item > .stack.pb-5{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:0 1.2rem 1.2rem 1.35rem}
#s-glossary .item > .stack.pb-5 .card{margin:0;border-radius:.85rem;border:1px solid var(--rule-soft);padding:1rem 1.05rem;min-height:100%;box-shadow:none;position:relative;overflow:hidden}
#s-glossary .item > .stack.pb-5 .card::after{content:"";position:absolute;right:-18px;top:-18px;width:44px;height:44px;transform:rotate(45deg);background:color-mix(in srgb,currentColor 7%,transparent)}
#s-glossary .item > .stack.pb-5 .card-assay{background:color-mix(in srgb,var(--assay-tint) 72%,var(--surface));border-color:color-mix(in srgb,var(--assay) 20%,var(--rule))}
#s-glossary .item > .stack.pb-5 .card-seal{background:color-mix(in srgb,var(--seal) 6%,var(--surface));border-color:color-mix(in srgb,var(--seal) 22%,var(--rule))}
#s-glossary .item > .stack.pb-5 .kick{font-size:.64rem;letter-spacing:.1em}
#s-glossary .item > .stack.pb-5 .sm{line-height:1.72}
#s-glossary .frame{position:relative;border:0;border-radius:1.25rem;padding:clamp(1.6rem,3vw,2.5rem);background:var(--ink);color:var(--paper);overflow:hidden;box-shadow:0 18px 50px rgba(29,26,23,.11)}
#s-glossary .frame::after{content:"?";position:absolute;right:1.4rem;bottom:-2.3rem;font-family:var(--serif);font-size:10rem;font-weight:700;line-height:1;color:rgba(255,255,255,.035);pointer-events:none}
#s-glossary .frame .h1,#s-glossary .frame .h-sec{color:var(--paper);max-inline-size:35rem}
#s-glossary .frame .txt{color:color-mix(in srgb,var(--paper) 72%,transparent)}
#s-glossary .frame .btn{position:relative;z-index:1}
#s-glossary .author{border:0;border-radius:.9rem;background:var(--surface-2);padding:1rem 1.15rem;color:var(--ink-3)}
@media (max-width:62rem){
  #s-glossary .glossary{grid-template-columns:1fr;gap:1.4rem}
  #s-glossary .rail{position:static;padding:.8rem;border-radius:1rem;overflow:hidden}
  #s-glossary .rail > .kick{padding:0 .25rem}
  #s-glossary .filters{flex-direction:row;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:.1rem}
  #s-glossary .filters::-webkit-scrollbar{display:none}
  #s-glossary .cat{white-space:nowrap;text-align:center;scroll-snap-align:start;padding:.65rem 1rem;border:1px solid var(--rule-soft);border-radius:999px;background:var(--surface)}
  #s-glossary .cat::after{display:none}
  #s-glossary .cat:hover{transform:none}
  #s-glossary .cat[aria-selected="true"]{border-color:var(--ink)}
}
@media (max-width:42rem){
  #s-glossary > .band:first-of-type::after{display:none}
  #s-glossary .item > .stack.pb-5{grid-template-columns:1fr;padding:0 .9rem .9rem 1.05rem}
  #s-glossary .term-btn{padding:1rem .95rem}
  #s-glossary .term-btn .sm{-webkit-line-clamp:2}
  #s-glossary .sign{width:1.8rem;height:1.8rem}
  #s-glossary .frame{border-radius:1rem}
}


/* ===== D5 UIUX v4 : subpage footer polish ===== */
.profile-footer{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:1.15rem 1.4rem;
  align-items:center;
  overflow:hidden;
  margin:0;
  padding:1.45rem 1.6rem;
  border:1px solid #37332c !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,var(--night) 0%,var(--night-2) 100%) !important;
  color:var(--on-night) !important;
  box-shadow:0 20px 55px -35px rgba(25,24,20,.55) !important;
}
.profile-footer::before{
  content:"";
  position:absolute;
  inset-block-start:0;
  inset-inline:0;
  block-size:3px;
  background:linear-gradient(90deg,var(--seal),#8d4650 48%,var(--assay));
}
.profile-footer::after{
  content:"";
  position:absolute;
  inline-size:12rem;
  block-size:12rem;
  inset-inline-end:-6rem;
  inset-block-end:-8rem;
  border:1px solid rgba(255,255,255,.055);
  border-radius:50%;
  pointer-events:none;
}
.profile-footer__mark{
  display:grid;
  place-items:center;
  inline-size:3.3rem;
  block-size:3.3rem;
  border-inline-end:1px solid #403a31;
  padding-inline-end:1.1rem;
  box-sizing:content-box;
}
.profile-footer .stamp{
  border-color:#d98991;
  color:#d98991;
  background:rgba(201,96,106,.05);
}
.profile-footer__body{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.42rem 1.8rem;
  min-width:0;
}
.profile-footer__line{
  position:relative;
  font-family:var(--mono);
  font-size:.75rem;
  line-height:1.7;
  letter-spacing:-.01em;
  color:var(--on-night-2);
  min-width:0;
}
.profile-footer__line:nth-child(1){color:var(--on-night);font-weight:600}
.profile-footer__line:nth-child(2){color:#d7d0c2}
.profile-footer__line:nth-child(3),
.profile-footer__line:nth-child(4){color:var(--on-night-3)}
#s-contracts > section:last-of-type,
#s-glossary > section:last-of-type{
  padding-block-end:clamp(2rem,1.5rem + 2vw,3.5rem);
}
@media (max-width:52rem){
  .profile-footer{grid-template-columns:1fr;gap:.9rem;padding:1.25rem 1.2rem}
  .profile-footer__mark{inline-size:auto;block-size:auto;justify-content:start;border-inline-end:0;border-block-end:1px solid #403a31;padding:0 0 .85rem}
  .profile-footer__body{grid-template-columns:1fr;gap:.28rem}
}



/* ===== D5 UIUX v5 : compact quote analysis ===== */
.analysis-compact{
  margin-top:clamp(1.5rem,2vw,3rem);
  padding-block:clamp(4.2rem,5vw,6.6rem) !important;
  background:#171613 !important;
}
.analysis-compact__grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(30rem,1.1fr);
  gap:clamp(2.5rem,5vw,5.5rem);
  align-items:center;
}
.analysis-compact__copy{display:flex;flex-direction:column;align-items:flex-start;gap:1.35rem}
.analysis-compact .kick-seal{color:#a53743}
.analysis-compact__h{
  margin:0;
  max-width:11em;
  font-family:var(--serif);
  font-size:var(--t-h1);
  line-height:1.24;
  letter-spacing:-.04em;
  color:var(--on-night);
  word-break:keep-all;
}
.analysis-compact__lead{max-width:43rem;color:#aca595;font-size:1rem;line-height:1.8}
.analysis-compact__scopes{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;width:100%;margin-top:.25rem}
.analysis-scope-card{
  min-height:8.2rem;
  padding:1.15rem 1.2rem;
  border:1px solid #3a372f;
  border-radius:16px;
  background:#1d1b17;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.analysis-scope-card__title{display:block;margin-bottom:.55rem;color:#f3efe5;font-weight:700;font-size:.92rem}
.analysis-scope-card p{margin:0;color:#a49c8d;font-size:.77rem;line-height:1.85;word-break:keep-all}
.analysis-compact__cta{margin-top:.2rem;background:#f5f1e7 !important;color:#171613 !important;border-color:#f5f1e7 !important}
.analysis-compact__cta:hover{background:#fffaf0 !important;border-color:#fffaf0 !important}
.cost-card{
  position:relative;
  overflow:hidden;
  padding:clamp(1.4rem,2.3vw,2.2rem);
  border-radius:24px;
  background:#f6f2e8;
  color:#191814;
  box-shadow:0 32px 80px -42px rgba(0,0,0,.65);
}
.cost-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#7a1f2b,#a33a45 52%,#d2a2a6)}
.cost-card__head{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.55rem}
.cost-card__eyebrow{font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;font-weight:700;color:#8a8374}
.cost-card__head h3{margin:0;font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);letter-spacing:-.04em}
.cost-bars{display:flex;flex-direction:column;gap:1rem}
.cost-bar{display:flex;flex-direction:column;gap:.45rem}
.cost-bar__label{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;font-size:.8rem}
.cost-bar__label span{color:#5f594f}
.cost-bar__label strong{font-family:var(--mono);font-size:.82rem;white-space:nowrap}
.cost-bar__track{height:.62rem;border-radius:999px;background:#e6e0d4;overflow:hidden}
.cost-bar__track span{display:block;width:var(--w);height:100%;border-radius:inherit;background:#1c1b17}
.cost-bar--seal .cost-bar__track span{background:#8b2330}
.cost-card__totals{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.35rem}
.cost-total{padding:1.05rem 1.1rem;border:1px solid #ddd5c7;border-radius:16px;background:#f9f6ee;display:flex;flex-direction:column;gap:.35rem}
.cost-total span{font-size:.74rem;color:#837c70}
.cost-total strong{font-family:var(--mono);font-size:clamp(1rem,1.45vw,1.18rem)}
.cost-total--accent{border-color:#d8b7ba;background:#f2e9e7}
.cost-total--accent strong{color:#8b2330}
.cost-card__fine{margin:.95rem 0 0;color:#b4ac9d;font-size:.67rem;line-height:1.6}
@media (max-width:64rem){
  .analysis-compact__grid{grid-template-columns:1fr;gap:2.5rem}
  .analysis-compact__h{max-width:11em}
  .cost-card{max-width:48rem;width:100%}
}
@media (max-width:42rem){
  .analysis-compact{padding-block:3.5rem !important}
  .analysis-compact__h{max-width:11em}
  .analysis-compact__scopes{grid-template-columns:1fr}
  .analysis-scope-card{min-height:0}
  .cost-card{padding:1.2rem;border-radius:18px}
  .cost-card__totals{grid-template-columns:1fr}
  .cost-bar__label{align-items:flex-end}
  .cost-bar__label strong{font-size:.75rem}
}



/* ===== v6 patch: QUOTE ANALYSIS heading tune ===== */

/* v6: QUOTE ANALYSIS 중간 섹션 제목은 Hero보다 한 단계 낮은 위계로 조정 */
.analysis__head{max-width:62rem;}
.analysis__h{
  font-size:clamp(1.9rem,1.45rem + 1.7vw,3.05rem) !important;
  font-weight:500 !important;
  line-height:1.22 !important;
  letter-spacing:-.038em;
  max-width:18ch !important;
  text-wrap:balance;
}
@media (max-width:64rem){
  .analysis__h{font-size:clamp(1.8rem,1.35rem + 2.6vw,2.65rem) !important;max-width:20ch !important;}
}
@media (max-width:46rem){
  .analysis__h{font-size:clamp(1.75rem,8.2vw,2.15rem) !important;line-height:1.28 !important;max-width:18ch !important;}
  .analysis__head{gap:.65rem;}
}


/* ===== 실사이트 : 아직 준비 중인 메뉴 ===== */
.nav__a.is-soon,
.xs.is-soon{color:var(--ink-4);cursor:default}
.nav__a.is-soon:hover{color:var(--ink-4)}

/* ========================================================================
   BUSINESS PAGE · VISUAL RHYTHM REDESIGN
   Hero → acquisition cards → sale diagram → real photo case → dark lifecycle
   ======================================================================== */
#s-business{background:linear-gradient(180deg,var(--paper),#F8F5EE 58%,var(--paper));}
.bizhero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule);background:radial-gradient(44rem 30rem at 92% 20%,rgba(122,31,43,.09),transparent 64%),var(--paper)}
.bizhero::after{content:"BUSINESS / 01";position:absolute;right:-.03em;bottom:-.25em;font-family:var(--mono);font-size:clamp(4rem,11vw,10rem);font-weight:700;letter-spacing:-.08em;color:color-mix(in srgb,var(--ink) 3.5%,transparent);pointer-events:none}
.bizhero__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr);gap:clamp(2rem,4vw,5.5rem);align-items:center;padding-block:clamp(4.5rem,7vw,8rem)}
.bizhero__copy{max-width:42rem;position:relative;z-index:1}.bizhero__copy .h1{font-size:clamp(2.2rem,1.45rem + 3vw,4.2rem);max-width:12ch}
.bizproof{position:relative;z-index:1;border:1px solid var(--rule);border-radius:24px;background:color-mix(in srgb,var(--surface) 94%,white);box-shadow:var(--shadow-lg);padding:1.5rem 1.6rem;overflow:hidden}
.bizproof::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--seal),#8d4650,var(--assay))}.bizproof__head{display:flex;justify-content:space-between;gap:1rem;align-items:center}.bizproof__id{font-family:var(--mono);font-size:.65rem;color:var(--ink-4)}
.bizproof__big{font-family:var(--mono);font-weight:700;font-size:clamp(4.5rem,8vw,7rem);line-height:.95;letter-spacing:-.08em;margin-top:2rem}.bizproof__big span{font-family:var(--sans);font-size:1rem;letter-spacing:0;margin-left:.3rem;color:var(--ink-3)}.bizproof__label{font-family:var(--serif);font-size:1.25rem;font-weight:600;margin-top:.45rem}
.bizproof__grid{display:grid;grid-template-columns:1fr 1fr;margin-top:1.5rem;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.bizproof__grid div{padding:1rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:.25rem}.bizproof__grid strong{font-family:var(--mono);font-size:1.2rem}.bizproof__grid span{font-size:.72rem;color:var(--ink-3)}.bizproof__fine{font-size:.74rem;color:var(--ink-3);line-height:1.65;margin-top:1rem}
.bizsection-head{align-items:flex-end}.bizmodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.bizmode{position:relative;min-height:25rem;padding:1.35rem;border:1px solid var(--rule);border-radius:22px;background:var(--surface);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 45px -36px rgba(0,0,0,.35)}.bizmode::after{content:"";position:absolute;width:8rem;height:8rem;border:1px solid var(--rule-soft);border-radius:50%;right:-4rem;top:-4rem}.bizmode--ink{background:var(--ink);color:var(--on-night);border-color:var(--ink)}.bizmode--ink .bizmode__rows i,.bizmode--ink .bizmode__cars{color:var(--on-night-3)}.bizmode--ink .bizmode__rows span{border-color:#38342e}.bizmode--ink .tag{color:var(--on-night-2);border-color:#49433a}.bizmode--seal{background:linear-gradient(150deg,var(--surface),var(--seal-tint));border-color:color-mix(in srgb,var(--seal) 26%,var(--rule))}.bizmode__top{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.bizmode__no{font-family:var(--mono);font-size:.78rem;color:var(--seal);font-weight:700}.bizmode__title{font-family:var(--serif);font-size:clamp(1.8rem,1.5rem + 1vw,2.5rem);letter-spacing:-.05em;margin-top:2.5rem}.bizmode__cars{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;color:var(--ink-3);margin-top:.35rem}.bizmode__rows{margin-top:auto}.bizmode__rows span{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rule-hair);align-items:baseline}.bizmode__rows i{font-style:normal;font-size:.72rem;color:var(--ink-3)}.bizmode__rows b{font-size:.78rem;text-align:right}.bizmode-note{padding:1.1rem 1.25rem;border-left:3px solid var(--seal);background:var(--seal-tint);font-family:var(--serif);font-size:1.05rem;font-weight:600}
.bizsale{background:var(--surface-2);border-block:1px solid var(--rule)}.bizsale__in{padding-block:clamp(5rem,7vw,8rem)}.bizsale__price{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bizsale__price span{font-size:.72rem;color:var(--ink-3)}.bizsale__price strong{font-family:var(--mono);font-size:1.55rem}.sale-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;position:relative}.sale-path{border:1px solid var(--rule);border-radius:22px;background:var(--surface);padding:1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:24rem}.sale-path__type{font-family:var(--serif);font-size:1.4rem;font-weight:700;align-self:stretch;text-align:left;padding-bottom:1rem;border-bottom:1px solid var(--rule)}.sale-node{margin-top:2rem;border:1px solid var(--rule);border-radius:999px;padding:.8rem 1.2rem;display:flex;flex-direction:column;gap:.15rem;min-width:70%}.sale-node small,.sale-result small{font-size:.67rem;color:var(--ink-4)}.sale-node strong{font-family:var(--mono);font-size:1rem}.sale-arrow{font-family:var(--mono);font-size:1.4rem;color:var(--seal);margin:1rem 0}.sale-result{margin-top:auto;width:100%;border-radius:16px;padding:1.2rem;background:var(--seal-tint);display:flex;flex-direction:column;gap:.25rem}.sale-result strong{font-family:var(--mono);font-size:1.15rem;color:var(--seal)}.sale-result span{font-size:.7rem;color:var(--ink-3)}.sale-path--decision .sale-result{background:var(--assay-tint)}.sale-path--decision .sale-result strong{color:var(--assay)}.sale-path--cash .sale-result{background:var(--paper-sunk)}.sale-path--cash .sale-result strong{color:var(--ink)}.bizsale__note{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;padding-top:1.2rem;border-top:1px solid var(--rule)}.bizsale__note .xs{max-width:48rem;text-align:right}
.bizcase{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);border-radius:28px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-lg);border:1px solid var(--rule)}.bizcase__media{position:relative;min-height:34rem;background:var(--night);overflow:hidden}.bizcase__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.bizcase__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,9,7,.75),transparent 42%)}.bizcase__media figcaption{position:absolute;left:1.4rem;bottom:1.3rem;z-index:2;color:white;display:flex;flex-direction:column;gap:.15rem}.bizcase__media figcaption span{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;color:rgba(255,255,255,.65)}.bizcase__media figcaption strong{font-family:var(--serif);font-size:2.1rem}.bizcase__body{padding:clamp(1.6rem,3vw,3.4rem);justify-content:center}.bizcase__body .h1,.bizcase__body .h-sec{font-size:clamp(2rem,1.5rem + 2vw,3.3rem)}.bizcase__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--rule);border-radius:14px;overflow:hidden}.bizcase__facts span{padding:.85rem .7rem;display:flex;flex-direction:column;gap:.25rem;border-right:1px solid var(--rule)}.bizcase__facts span:last-child{border-right:0}.bizcase__facts i{font-style:normal;font-size:.65rem;color:var(--ink-4)}.bizcase__facts b{font-size:.8rem}
.bizcycle{background:var(--night);color:var(--on-night);padding-block:clamp(5rem,7vw,8rem);position:relative;overflow:hidden}.bizcycle::after{content:"04";position:absolute;right:-.04em;bottom:-.2em;font-family:var(--mono);font-size:18rem;line-height:1;font-weight:700;color:rgba(255,255,255,.025)}.bizcycle .h1,.bizcycle .h-sec{color:var(--on-night);max-width:18ch}.bizcycle .kick{color:#E3A099}.bizcycle__lead{font-family:var(--serif);font-size:1.25rem;color:var(--on-night-2);text-align:right}.cycle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #4a443a}.cycle-grid li{position:relative;padding:1.4rem 1.3rem 1.5rem 0;border-right:1px solid #38332c;min-height:15rem;display:flex;flex-direction:column;gap:.6rem}.cycle-grid li:not(:first-child){padding-left:1.3rem}.cycle-grid li:last-child{border-right:0}.cycle-grid li span{font-family:var(--mono);font-size:1.4rem;color:#E3A099}.cycle-grid li strong{font-family:var(--serif);font-size:1.55rem}.cycle-grid li p{font-size:.78rem;line-height:1.7;color:var(--on-night-3);margin-top:auto}.cycle-checks{display:flex;flex-wrap:wrap;gap:.55rem}.cycle-checks span{font-family:var(--mono);font-size:.67rem;letter-spacing:.03em;color:var(--on-night-2);border:1px solid #49433a;border-radius:999px;padding:.45rem .75rem;background:rgba(255,255,255,.025)}
.bizmini-case{display:grid;grid-template-columns:minmax(10rem,.32fr) minmax(0,.68fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;border:1px solid var(--rule);border-radius:24px;padding:clamp(1.4rem,3vw,2.5rem);background:var(--surface)}.bizmini-case__index{min-height:13rem;border-radius:18px;background:var(--seal);color:white;padding:1.2rem;display:flex;flex-direction:column}.bizmini-case__index span{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;opacity:.7}.bizmini-case__index strong{font-family:var(--mono);font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.08em;margin-top:auto}.bizmini-case__index small{opacity:.68}
.bizcta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;border-radius:28px;padding:clamp(2rem,4vw,3.8rem);background:linear-gradient(135deg,var(--surface),var(--seal-tint));box-shadow:var(--shadow-md);position:relative;overflow:hidden}.bizcta::after{content:"見積";position:absolute;right:2rem;top:-2rem;font-family:var(--serif);font-size:9rem;color:var(--seal);opacity:.035}.bizcta__actions{display:flex;gap:.7rem;position:relative;z-index:1;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:64rem){.bizhero__in,.bizcase{grid-template-columns:1fr}.bizproof{max-width:46rem}.bizmodes,.sale-flow{grid-template-columns:1fr}.bizmode{min-height:19rem}.bizcase__media{min-height:28rem}.cycle-grid{grid-template-columns:1fr 1fr}.cycle-grid li:nth-child(2){border-right:0}.cycle-grid li:nth-child(n+3){border-top:1px solid #38332c}.bizsale__note{align-items:flex-start;flex-direction:column}.bizsale__note .xs{text-align:left}.bizcta{grid-template-columns:1fr}.bizcta__actions{justify-content:flex-start}}
@media(max-width:42rem){.bizhero__in{padding-block:3.5rem}.bizhero__copy .h1{font-size:clamp(2rem,10vw,3rem)}.bizproof{border-radius:18px;padding:1.15rem}.bizproof__big{font-size:4.5rem}.bizproof__grid{grid-template-columns:1fr 1fr}.bizmode,.sale-path,.bizmini-case,.bizcta{border-radius:18px}.bizcase{border-radius:18px}.bizcase__media{min-height:21rem}.bizcase__facts{grid-template-columns:1fr}.bizcase__facts span{border-right:0;border-bottom:1px solid var(--rule)}.bizcase__facts span:last-child{border-bottom:0}.cycle-grid{grid-template-columns:1fr}.cycle-grid li,.cycle-grid li:not(:first-child){padding:1.2rem 0;border-right:0;border-top:1px solid #38332c;min-height:auto}.cycle-grid li:first-child{border-top:0}.bizcycle__lead{text-align:left}.bizmini-case{grid-template-columns:1fr}.bizmini-case__index{min-height:10rem}.bizcta__actions{display:grid;grid-template-columns:1fr}.bizcta__actions .btn{width:100%}}


/* ===== BUSINESS SALE TYPE TABS : 개인사업자 / 법인사업자 ===== */
.biztype-switch{
  display:inline-grid;
  grid-template-columns:repeat(2,minmax(10.5rem,1fr));
  align-self:flex-start;
  border-block-end:1px solid var(--rule);
  margin-block-start:.15rem;
}
.biztype-tab{
  position:relative;
  display:flex;align-items:baseline;justify-content:center;gap:.45rem;
  padding:.85rem 1.35rem .78rem;
  color:var(--ink-4);
  font-size:.9rem;font-weight:600;letter-spacing:-.02em;
  border-block-end:2px solid transparent;
  margin-block-end:-1px;
  transition:color .18s ease,border-color .18s ease,background .18s ease;
}
.biztype-tab small{
  font-family:var(--mono);
  font-size:.55rem;font-weight:500;letter-spacing:.08em;
  color:var(--ink-4);
}
.biztype-tab:hover{color:var(--ink)}
.biztype-tab[aria-selected="true"]{
  color:var(--seal);
  border-block-end-color:var(--seal);
  background:linear-gradient(to top,var(--seal-tint),transparent 70%);
}
.biztype-tab[aria-selected="true"] small{color:var(--seal)}
@media(max-width:34rem){
  .biztype-switch{display:grid;grid-template-columns:1fr 1fr;inline-size:100%}
  .biztype-tab{padding-inline:.55rem}
  .biztype-tab small{display:none}
}

.sale-path__context{
  font-family:var(--mono);
  font-size:.62rem;letter-spacing:.08em;color:var(--ink-4);
  margin-block-start:-.3rem;
}
.sale-flow.is-switching{
  opacity:.35;transform:translateY(3px);
}
.sale-flow{
  transition:opacity .16s ease,transform .16s ease;
}
.bizsale__type-note{
  max-width:52rem;
  font-size:var(--t-xs);
  line-height:1.72;
  color:var(--ink-3);
}

/* ========================================================================
   사업자 페이지 보정
   ======================================================================== */

/* ① 견적서 진단 페이지는 CTA가 없어 헤더가 줄어든다.
      높이를 고정해 페이지를 오갈 때 화면이 튀지 않게 한다. */
.masthead__in{min-block-size:4.75rem}

/* ② 개인/법인 탭을 아래 3장 카드 전체 폭과 맞춘다. */
.biztype-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  inline-size:100%;
  max-inline-size:none;
}

/* ③ "개인사업자 기준" 배지가 상단 구분선에 가려 있었다.
      제목 줄과 분리해 단독 행으로 내린다. */
.sale-path__type{border-bottom:0;padding-bottom:.5rem}
.sale-path__context{
  align-self:stretch;
  display:block;
  text-align:left;
  margin-block-start:0;   /* 기존 -.3rem 이 구분선을 침범했다 */
  padding-block-end:.85rem;
  border-block-end:1px solid var(--rule);
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.06em;
  color:var(--ink-4);
}

/* ========================================================================
   섹션 여백 보정
   인접한 두 섹션의 padding 이 합산돼 공백이 두 배로 보였다.
   용어 사전 페이지의 간격을 기준으로 맞춘다.
   ======================================================================== */
:root{
  --band:   clamp(3rem, 2rem + 4vw, 5.5rem);
  --band-t: clamp(2.2rem, 1.6rem + 2.4vw, 3.6rem);
}
@media (min-width:64rem){
  :root{
    --band:   clamp(3.4rem, 2.2rem + 4.2vw, 6rem);
    --band-t: clamp(2.4rem, 1.7rem + 2.6vw, 3.9rem);
  }
}
@media (max-width:46rem){        /* 기존 46rem 규칙을 그대로 덮는다 */
  :root{--band:3.4rem;--band-t:2.4rem}
}
@media (max-width:42rem){
  :root{--band:3rem;--band-t:2.1rem}
}

/* 연속된 band-t 구간은 위쪽 여백을 한 번 더 줄인다 */
.band-t + .band-t{padding-block-start:calc(var(--band-t) * .72)}

/* 용어 사전은 현재 간격이 적정하므로 종전 값을 유지한다 */
#s-glossary{--band:clamp(4rem,2.6rem + 5vw,7rem);--band-t:clamp(2.9rem,1.9rem + 3.4vw,4.8rem)}

/* 어두운 블록과 큰 모듈은 과하게 컸다 */
.bizsale__in{padding-block:clamp(3.4rem,4.4vw,5.4rem)}
.bizhero__in{padding-block:clamp(3.2rem,4.6vw,5.6rem)}
.bizcycle{padding-block:clamp(3.4rem,4.4vw,5.4rem)}
.analysis-compact{padding-block:clamp(3rem,3.4vw,4.6rem) !important}

/* ========================================================================
   진단 신청서 · 파일 업로드
   ======================================================================== */
.drop.is-over{
  border-color:var(--seal);
  background:color-mix(in srgb,var(--seal) 5%,var(--paper-sunk));
  color:var(--seal);
}
.filelist{
  display:flex;flex-direction:column;gap:.4rem;
  margin:0;padding:0;list-style:none;
}
.fileitem{
  display:flex;align-items:center;gap:.7rem;
  border:1px solid var(--rule);border-radius:10px;
  background:var(--surface);
  padding:.6rem .7rem .6rem .85rem;
}
.fileitem__n{
  flex:1 1 auto;min-inline-size:0;
  font-size:var(--t-xs);color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.fileitem__s{
  flex:none;font-family:var(--mono);font-size:.68rem;color:var(--ink-4);
}
.fileitem__x{
  flex:none;inline-size:1.6rem;block-size:1.6rem;
  display:grid;place-items:center;
  border:0;border-radius:50%;background:transparent;
  font-size:1.05rem;line-height:1;color:var(--ink-3);cursor:pointer;
}
.fileitem__x:hover{background:var(--paper-sunk);color:var(--seal)}
.hint.is-warn{color:var(--seal)}

/* 진단 신청서 · 상황 메모칸 */
.field-area{
  min-block-size:6.5rem;
  line-height:1.7;
  resize:vertical;
  font-family:inherit;
}
.field-area::placeholder{
  color:var(--ink-4);
  line-height:1.85;
}

/* ========================================================================
   매각 섹션 가독성 보정
   ======================================================================== */

/* ① 하단 설명문이 우측 정렬돼 줄마다 시작점이 달랐다 */
.bizsale__note .xs{text-align:left}
.bizsale__note{gap:1.5rem}
/* 줄바꿈으로 나눈 본문은 두 줄이 붙지 않게 간격을 준다 */
.bizsale__note .xs .clause + .clause{margin-block-start:.35em}

/* ② 리드 문장 폭을 제한해 두 줄로 떨어지게 한다 */
.bizsale__in > .lead{max-inline-size:44rem}

/* ③ 기준 금액이 무엇인지 보이도록 라벨을 살린다 */
.bizsale__price{
  gap:.3rem;
  padding-inline-start:1.1rem;
  border-inline-start:2px solid var(--seal);
}
.bizsale__price span{
  font-family:var(--mono);
  font-size:.68rem;letter-spacing:.05em;
  color:var(--ink-3);
}
.bizsale__price strong{font-size:1.5rem;line-height:1.2}
.bizsale__price em{
  font-style:normal;display:block;
  font-size:.72rem;color:var(--ink-3);line-height:1.5;
}
@media (max-width:64rem){
  .bizsale__price{text-align:left;padding-inline-start:.9rem}
}

/* 헤더 로고 → 메인 이동.
   전역 링크 색(seal)을 따라가면 브랜드명이 붉게 변하므로 막는다. */
.brand-link{
  color:inherit;text-decoration:none;
  -webkit-user-select:none;user-select:none;   /* 클릭 시 글자가 선택되지 않게 */
  border-radius:12px;
  transition:opacity .16s ease;
}
.brand-link:hover{opacity:.72}
.brand-link:hover .brand-name,
.brand-link:hover .brand-sub{color:inherit}
.brand-link:focus-visible{
  outline:2px solid var(--seal);
  outline-offset:4px;
}

/* ========================================================================
   모바일 가독성 보정
   ======================================================================== */
@media (max-width:46rem){
  /* 계약서 카드 4장이 화면을 넘치고 있었다.
     5대 선택 카드와 같은 가로 스크롤로 맞춘다. */
  .archive{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:.9rem;
    margin-inline:calc(var(--gutter) * -1);
    padding-inline:var(--gutter);
    padding-bottom:.5rem;
  }
  .archive > *{
    flex:0 0 80%;
    scroll-snap-align:start;
  }
}

/* 견적서 진단 히어로 아래 간격 : 히어로 하단 + 다음 섹션 상단이
   겹쳐 공백이 큼직했다. 둘을 합해 20% 줄인다. */
#s-check > section.band:first-of-type{padding-block-end:calc(var(--band) * .8)}
#s-check > section.band:first-of-type + section.band-t{padding-block-start:calc(var(--band-t) * .8)}

/* 견적서 진단 : form-wrap 좌우 높이 맞춤
   items-start 때문에 폼이 내용 높이만큼만 차지해
   왼쪽 기능 목록보다 짧게 끝났다.
   높이를 맞추되, 남는 공간은 제출 버튼 위로만 밀어
   입력 항목끼리 어색하게 벌어지지 않게 한다. */
@media (min-width:64rem){
  #s-check .grid2.items-start{align-items:stretch}
  #s-check #form-wrap{
    display:flex;
    flex-direction:column;
    block-size:100%;
  }
  /* .stack 은 이미 flex column 이다. 높이만 늘려준다. */
  #s-check #form-wrap > .stack{flex:1 1 auto}
  /* 입력 폼일 때만 제출 버튼을 밑으로 밀어 여백을 흡수한다.
     접수 완료 화면(.center)은 가운데 정렬이 의도이므로 제외한다. */
  #s-check #form-wrap > .stack:not(.center) > .btn-wide{margin-block-start:auto}
}

/* 비즈히어로 헤드라인 : ch 단위는 한글 폭을 잘못 잡아
   문장이 한 줄 더 깊게 깨졌다. clause 로 직접 나누고
   폭은 em 기준으로 잡는다. */
.bizhero__copy .h1{
  max-width:none;
  font-size:clamp(2.1rem,1.3rem + 2.6vw,3.5rem);
  line-height:1.24;
}
/* 메인 히어로와 같은 강조 방식.
   밑줄을 배경으로 그려야 다음 줄을 침범하지 않는다. */
.bizhero__copy .h1 em{
  font-style:normal;color:var(--seal);
  background-image:linear-gradient(color-mix(in srgb,var(--seal) 26%,transparent),color-mix(in srgb,var(--seal) 26%,transparent));
  background-repeat:no-repeat;
  background-size:100% .07em;
  background-position:0 calc(100% - .02em);
}
.bizhero__copy .lead .clause + .clause{margin-block-start:.15em}
/* CTA 본문도 두 줄이 붙지 않게 한다 */
.bizcta .txt .clause + .clause{margin-block-start:.2em}
@media (max-width:64rem){
  .bizhero__copy .h1{font-size:clamp(2rem,1.4rem + 2.4vw,3rem)}
}

/* 세무 근거 : 펼쳐보기. 본문에 다 펼쳐놓으니
   임문이 길어져 정작 읽어야 할 내용까지 묻혔다. */
.lawref{margin-block-start:.15rem}
.lawref > summary{
  display:inline-flex;align-items:center;gap:.32rem;
  cursor:pointer;list-style:none;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;
  color:var(--ink-3);
  padding:.3rem 0;
}
.lawref > summary::-webkit-details-marker{display:none}
.lawref > summary::before{
  content:"+";font-size:.85rem;line-height:1;color:var(--seal);
}
.lawref[open] > summary::before{content:"2"}
.lawref > summary:hover{color:var(--ink)}
.lawref > p{
  margin-block-start:.5rem;
  padding-inline-start:.8rem;
  border-inline-start:2px solid var(--rule);
}

/* 매각 하단 블록 정렬
   오른쪽 글이 짧아지면서 flex-start 때문에 위로 붙어
   왼쪽 문장과 축이 어긋났다. 가운데로 맞추고
   글 폭도 줄여 한 줄이 너무 길어지지 않게 한다. */
@media (min-width:64rem){
  .bizsale__note{
    align-items:center;
    gap:clamp(2rem,5vw,5rem);
    padding-block-start:1.8rem;
  }
  .bizsale__note > .statement{flex:0 0 auto;margin:0}
  .bizsale__note > .stack{flex:1 1 auto;max-inline-size:42rem}
}

/* FAQ 답변 줄 정리
   60ch 는 한글에서 실제 120자 넘게 늘어져 한 줄이 너무 길었다.
   em 기준으로 바꾸고 어절 단위 줄바꿈을 강제한다. */
.faq-a{
  max-width:38em;
  word-break:keep-all;
  overflow-wrap:break-word;
  text-wrap:pretty;
}
.faq-q > span:first-child{word-break:keep-all}

/* G바겐 사진 구도
   원본이 4:3 가로 사진인데 카드가 세로로 길어지면서
   cover 로 좌우가 잘려 차가 치우쳐 보였다.
   사진을 원본 비율로 두고, 글 쪽을 그 높이에 맞춘다. */
@media (min-width:64rem){
  /* 사진과 글 중 긴 쪽이 카드 높이를 결정하고,
     사진은 그 높이를 채운다. 단, 차량은 가로로 긴 4:3 사진이므로
     세로로 늘어나도 보닛과 천장보다 차량이 살아남도록 초점을 잡는다. */
  .bizcase{align-items:stretch}
  .bizcase__media{
    aspect-ratio:auto;
    min-height:0;
    block-size:100%;
  }
  .bizcase__media img{object-fit:cover;object-position:35% 42%}

  .bizcase__body{align-self:center}
  .bizcase__body .h1,.bizcase__body .h-sec{font-size:clamp(1.9rem,1.25rem + 1.8vw,2.9rem);line-height:1.26}
  .bizcase__body .txt{font-size:.9rem;line-height:1.82}
}

/* ========================================================================
   한글 라벨 가독성
   IBM Plex Mono 에는 한글이 없어 대체 폰트가 고정폭으로 그려진다.
   "상 호 : 견 적 연 구 소" 처럼 글자 사이가 벌어지는 이유다.
   숫자·영문 전용(금액, CASE 01, CONTRACT ARCHIVE)은 mono 를 유지하고,
   한글이 섞이는 곳만 본문 폰트로 바꾼다.
   ======================================================================== */
.legal,
.author,
.biznote__list li,
.chk__n,
.chk__tag,
.res__k,
.res__v,
.bd__v,
.breakdown__t,
.doc__type,
.doc2__type,
.doc2__rows b,
.blank,
.note > .n,
.analysis__label,
.cycle-checks span,
.profile-footer__line,
.bizstep__t,
.bizstep__d,
.sale-path__context,
.sale-node small,
.sale-result small,
.bizsale__price span,
.bizproof__grid span,
.bizproof__label{
  font-family:var(--sans);
  letter-spacing:0;
}

/* 숫자는 자릿수가 맞아야 표가 정렬된다 */
.legal,
.res__v,
.bd__v,
.qline__v,
.meta__v,
.num{
  font-variant-numeric:tabular-nums;
}

/* 총비용 표 아래 계산 기준 설명.
   .fn 은 위첨자용 각주(0.6em, mono)라 문단에 쓰면 안 읽힌다. */
.spec__note{
  margin-block-start:.9rem;
  font-size:var(--t-xs);
  line-height:1.75;
  color:var(--ink-2);
  word-break:keep-all;
  max-width:34em;
}

/* 진단 신청 : 사진 찍기 버튼 (모바일에서만 렌더된다) */
.shotbtn{
  align-self:start;
  display:inline-flex;align-items:center;gap:.45rem;
  margin-block-start:-.15rem;
}
.shotbtn svg{flex:none}

/* ==========================================================================
   CONTRACT ARCHIVE PAGE · UI/UX V3
   문서 / 증거 / 숫자 / 실제 사례 중심
   모바일: 1열, 가로 스냅 문서 선택, 14px 이하 본문 최소화
   ========================================================================== */

#s-contracts{--ca-radius:22px;--ca-radius-sm:15px}

/* HERO */
#s-contracts .ca-hero{
  position:relative;overflow:hidden;border-block-end:1px solid var(--rule);
}
#s-contracts .ca-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.58;
  background-image:
    linear-gradient(var(--rule-hair) 1px,transparent 1px),
    linear-gradient(90deg,var(--rule-hair) 1px,transparent 1px);
  background-size:3.5rem 3.5rem;
  -webkit-mask-image:radial-gradient(90% 100% at 82% 48%,#000 0%,transparent 75%);
  mask-image:radial-gradient(90% 100% at 82% 48%,#000 0%,transparent 75%);
}
#s-contracts .ca-hero__in{
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,1.03fr) minmax(22rem,.97fr);
  gap:clamp(2rem,1rem + 4vw,5rem);align-items:center;
  padding-block:clamp(3.6rem,2.5rem + 5vw,7rem);
}
#s-contracts .ca-hero__copy{display:flex;flex-direction:column;gap:1.25rem}
#s-contracts .ca-hero__note{
  max-inline-size:46rem;padding:1rem 1.1rem;
  border-inline-start:3px solid var(--seal);
  background:linear-gradient(90deg,var(--seal-tint),transparent);
  font-size:.9rem;line-height:1.72;color:var(--ink-2);
}
#s-contracts .ca-index{
  border:1px solid var(--rule);border-radius:20px;background:var(--surface);
  box-shadow:0 22px 55px -34px rgba(25,24,20,.32);overflow:hidden;
}
#s-contracts .ca-index__head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 1.15rem;border-block-end:1px solid var(--rule-soft);
}
#s-contracts .ca-index__count{
  font-family:var(--mono);font-size:1.6rem;font-weight:700;letter-spacing:-.05em;
}
#s-contracts .ca-index__list{display:flex;flex-direction:column}
#s-contracts .ca-index__row{
  appearance:none;width:100%;display:grid;
  grid-template-columns:2.5rem minmax(0,1fr) auto;gap:.8rem;
  align-items:center;text-align:left;padding:.95rem 1.15rem;
  border-block-end:1px solid var(--rule-hair);color:var(--ink);
  transition:background .16s ease,color .16s ease;
}
#s-contracts .ca-index__row:last-child{border-block-end:0}
#s-contracts .ca-index__row:hover{background:var(--surface-2)}
#s-contracts .ca-index__no{font-family:var(--mono);font-size:.67rem;color:var(--seal);font-weight:700}
#s-contracts .ca-index__name{display:flex;flex-direction:column;gap:.12rem}
#s-contracts .ca-index__name strong{font-family:var(--serif);font-size:1.02rem;letter-spacing:-.035em}
#s-contracts .ca-index__name span{font-family:var(--mono);font-size:.61rem;color:var(--ink-4);letter-spacing:.06em}
#s-contracts .ca-index__go{font-family:var(--mono);font-size:.68rem;color:var(--ink-4)}
#s-contracts .ca-index__foot{
  display:flex;gap:.4rem;flex-wrap:wrap;padding:1rem 1.15rem;background:var(--surface-2);
}
#s-contracts .ca-index__foot span{
  font-size:.68rem;padding:.27rem .58rem;border:1px solid var(--rule);border-radius:999px;color:var(--ink-3)
}

/* 공통 섹션 헤더 */
#s-contracts .ca-section-head{
  display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);
  gap:clamp(1.4rem,1rem + 3vw,4rem);align-items:end;margin-block-end:clamp(1.5rem,2vw,2.5rem)
}
#s-contracts .ca-section-head__side{max-inline-size:34rem;color:var(--ink-3)}

/* MACAN */
#s-contracts .ca-macan{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,1rem + 3vw,4rem);align-items:stretch;
}
#s-contracts .ca-photo{
  position:relative;min-height:34rem;border-radius:20px;overflow:hidden;background:var(--paper-sunk)
}
#s-contracts .ca-photo img{width:100%;height:100%;object-fit:cover}
#s-contracts .ca-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,9,7,.72) 0%,rgba(10,9,7,.08) 44%,transparent 70%);
  pointer-events:none
}
#s-contracts .ca-photo__cap{
  position:absolute;z-index:2;left:1.2rem;right:1.2rem;bottom:1.1rem;color:#F6F2E8;
  display:flex;justify-content:space-between;align-items:end;gap:1rem
}
#s-contracts .ca-photo__cap span{font-family:var(--mono);font-size:.65rem;letter-spacing:.13em;color:rgba(246,242,232,.7)}
#s-contracts .ca-photo__cap strong{font-family:var(--serif);font-size:1.35rem;letter-spacing:-.04em}
#s-contracts .ca-macan__body{
  display:flex;flex-direction:column;gap:1.05rem;padding:clamp(.25rem,.5vw,.7rem) 0
}
#s-contracts .ca-compare{
  display:grid;grid-template-columns:1fr 4.5rem 1fr;gap:.7rem;align-items:stretch;margin-top:.35rem
}
#s-contracts .ca-compare__card{
  min-height:9.5rem;border:1px solid var(--rule);border-radius:16px;background:var(--surface);
  padding:1rem 1.05rem;display:flex;flex-direction:column;justify-content:space-between;gap:.75rem
}
#s-contracts .ca-compare__card.is-cash{border-color:var(--seal-line);background:var(--seal-tint)}
#s-contracts .ca-compare__label{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;color:var(--ink-4)}
#s-contracts .ca-compare__value{font-family:var(--mono);font-size:clamp(1.35rem,1.1rem + .8vw,1.8rem);font-weight:700;letter-spacing:-.05em;line-height:1.15}
#s-contracts .ca-compare__sub{font-size:.72rem;color:var(--ink-3);line-height:1.55}
#s-contracts .ca-compare__vs{display:grid;place-items:center;font-family:var(--mono);font-size:.68rem;color:var(--ink-4)}
#s-contracts .ca-delta{
  display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;
  padding:1rem 1.05rem;border-block:1px solid var(--ink)
}
#s-contracts .ca-delta strong{
  font-family:var(--mono);font-size:clamp(1.45rem,1.2rem + 1vw,2rem);color:var(--seal);letter-spacing:-.05em
}
#s-contracts .ca-delta span{font-size:.8rem;color:var(--ink-2);line-height:1.6}
#s-contracts .ca-details{
  border:1px solid var(--rule);border-radius:14px;background:var(--surface);overflow:hidden
}
#s-contracts .ca-details summary{
  list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;
  padding:.9rem 1rem;font-weight:600;font-size:.86rem;cursor:pointer
}
#s-contracts .ca-details summary::-webkit-details-marker{display:none}
#s-contracts .ca-details summary::after{content:"+";font-family:var(--mono);font-size:1.1rem;color:var(--seal)}
#s-contracts .ca-details[open] summary::after{content:"−"}
#s-contracts .ca-details__body{padding:0 1rem 1rem}
#s-contracts .ca-details .spec__r{padding:.65rem 0}

/* LAMBORGHINI */
#s-contracts .ca-lambo-wrap{background:var(--surface-2);border-block:1px solid var(--rule)}
#s-contracts .ca-lambo{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);
  gap:clamp(1.5rem,1rem + 3vw,4rem);align-items:center
}
#s-contracts .ca-lambo__body{display:flex;flex-direction:column;gap:1.05rem}
#s-contracts .ca-moneyflow{
  border-block-start:2px solid var(--ink);padding-top:1rem;display:flex;flex-direction:column;gap:.8rem
}
#s-contracts .ca-moneyflow__total{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.85rem;border-block-end:1px solid var(--rule)
}
#s-contracts .ca-moneyflow__total span{font-size:.78rem;color:var(--ink-3)}
#s-contracts .ca-moneyflow__total strong{font-family:var(--mono);font-size:1.75rem;letter-spacing:-.05em}
#s-contracts .ca-moneyflow__split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
#s-contracts .ca-moneybox{
  padding:1rem;border:1px solid var(--rule);border-radius:14px;background:var(--surface);
  display:flex;flex-direction:column;gap:.3rem
}
#s-contracts .ca-moneybox span{font-size:.72rem;color:var(--ink-3)}
#s-contracts .ca-moneybox strong{font-family:var(--mono);font-size:1.25rem;letter-spacing:-.04em}
#s-contracts .ca-money-result{
  display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.25rem
}
#s-contracts .ca-money-result > div{
  padding:1rem;border-radius:14px;border:1px solid var(--rule);background:var(--surface)
}
#s-contracts .ca-money-result > div.is-key{border-color:var(--seal-line);background:var(--seal-tint)}
#s-contracts .ca-money-result small{display:block;font-size:.68rem;color:var(--ink-4);margin-bottom:.28rem}
#s-contracts .ca-money-result strong{display:block;font-family:var(--mono);font-size:1.18rem;letter-spacing:-.04em}
#s-contracts .ca-lambo-photo{
  position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--paper-sunk)
}
#s-contracts .ca-lambo-photo img{width:100%;height:100%;object-fit:cover}
#s-contracts .ca-lambo-photo::after{
  content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,9,7,.68),transparent 55%)
}
#s-contracts .ca-lambo-photo__cap{
  position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;color:#fff
}
#s-contracts .ca-lambo-photo__cap span{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;color:rgba(255,255,255,.68)}
#s-contracts .ca-lambo-photo__cap strong{display:block;font-family:var(--serif);font-size:1.3rem;letter-spacing:-.04em}

/* CONTRACT VIEWER */
#s-contracts .ca-viewer-section{scroll-margin-top:6rem}
#s-contracts .ca-docnav{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;
  margin-bottom:1.15rem
}
#s-contracts .ca-doccard{
  min-height:9.7rem;text-align:left;padding:1rem 1.05rem;
  border:1px solid var(--rule);border-radius:15px;background:var(--surface);
  display:flex;flex-direction:column;gap:.35rem;position:relative;overflow:hidden;
  transition:transform .16s ease,border-color .16s ease,background .16s ease
}
#s-contracts .ca-doccard::before{
  content:"";position:absolute;inset-block-start:0;inset-inline:0;height:3px;background:var(--rule)
}
#s-contracts .ca-doccard:hover{transform:translateY(-2px);border-color:var(--ink-3)}
#s-contracts .ca-doccard[aria-selected="true"]{border-color:var(--ink);background:var(--surface-2)}
#s-contracts .ca-doccard[aria-selected="true"]::before{background:var(--seal)}
#s-contracts .ca-doccard__no{font-family:var(--mono);font-size:.62rem;color:var(--seal);letter-spacing:.12em}
#s-contracts .ca-doccard__name{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:-.04em;margin-top:.2rem}
#s-contracts .ca-doccard__type{font-family:var(--mono);font-size:.63rem;color:var(--ink-4)}
#s-contracts .ca-doccard__go{font-size:.72rem;color:var(--ink-3);margin-top:auto}
#s-contracts .ca-workspace{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(1.2rem,2vw,2rem);align-items:start;
  padding:clamp(1rem,1vw + .7rem,1.6rem);border:1px solid var(--rule);
  border-radius:20px;background:var(--surface);box-shadow:0 20px 50px -38px rgba(25,24,20,.35)
}
#s-contracts .ca-scan{display:flex;flex-direction:column;gap:.7rem}
#s-contracts .ca-scan__paper{
  position:relative;aspect-ratio:3/4;min-height:28rem;border:1px solid var(--rule);border-radius:15px;
  background:
    linear-gradient(var(--rule-hair) 1px,transparent 1px),
    linear-gradient(90deg,var(--rule-hair) 1px,transparent 1px),
    var(--surface-2);
  background-size:1.35rem 1.35rem;
  display:grid;place-items:center;overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 1.35rem) 0,100% 1.35rem,100% 100%,0 100%)
}
#s-contracts .ca-scan__paper::before{
  content:"";position:absolute;inset:.85rem;border:1px dashed var(--rule);border-radius:8px
}
#s-contracts .ca-scan__center{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}
#s-contracts .ca-scan__center .stamp{margin-bottom:.25rem}
#s-contracts .ca-scan__center strong{font-family:var(--serif);font-size:1.25rem;letter-spacing:-.04em}
#s-contracts .ca-scan__center span{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;color:var(--ink-4)}
#s-contracts .ca-scan__caption{font-size:.74rem;line-height:1.65;color:var(--ink-3)}
#s-contracts .ca-contract-data{display:flex;flex-direction:column;gap:1rem}
#s-contracts .ca-contract-data__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding-bottom:.75rem;border-block-end:1px solid var(--rule)
}
#s-contracts .ca-contract-data__title{font-family:var(--serif);font-size:1.65rem;font-weight:600;letter-spacing:-.045em}
#s-contracts .ca-contract-data__type{
  font-family:var(--mono);font-size:.64rem;padding:.28rem .58rem;border:1px solid var(--rule);
  border-radius:999px;color:var(--ink-3);background:var(--surface-2)
}
#s-contracts .ca-contract-table{border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:var(--surface)}
#s-contracts .ca-contract-table .tbl{min-inline-size:0}
#s-contracts .ca-contract-table .tbl td{padding:.78rem .9rem;border-color:var(--rule-hair)}
#s-contracts .ca-contract-table .tbl .kcell{font-weight:600;color:var(--ink-2);width:50%}
#s-contracts .ca-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
#s-contracts .ca-highlight{
  min-height:6.9rem;border:1px solid var(--rule);border-radius:13px;background:var(--surface-2);
  padding:.8rem .85rem;display:flex;flex-direction:column;justify-content:space-between;gap:.5rem
}
#s-contracts .ca-highlight span{font-size:.7rem;color:var(--ink-4);line-height:1.5}
#s-contracts .ca-highlight strong{font-family:var(--mono);font-size:.84rem;line-height:1.45;letter-spacing:-.025em}
#s-contracts .ca-reader-note{
  padding:.85rem .95rem;border-inline-start:3px solid var(--assay);background:var(--assay-tint);
  font-size:.75rem;line-height:1.7;color:var(--ink-2)
}

/* WORST CONTRACT */
#s-contracts .ca-worst{
  position:relative;overflow:hidden;background:var(--night);color:var(--on-night);
  border-radius:22px;padding:clamp(2rem,2vw + 1rem,3.3rem)
}
#s-contracts .ca-worst::after{
  content:"WORST";position:absolute;right:-.03em;bottom:-.28em;
  font-family:var(--mono);font-size:clamp(5rem,12vw,11rem);font-weight:700;letter-spacing:-.08em;
  color:rgba(255,255,255,.025);pointer-events:none
}
#s-contracts .ca-worst .h-sec{color:var(--on-night)}
#s-contracts .ca-worst .lead{color:var(--on-night-2)}
#s-contracts .ca-worst__grid{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem
}
#s-contracts .ca-worst__item{
  min-height:8rem;border:1px solid #413B33;border-radius:14px;background:rgba(255,255,255,.035);
  padding:1rem;display:flex;flex-direction:column;gap:.55rem
}
#s-contracts .ca-worst__item span:first-child{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--on-night-3)}
#s-contracts .ca-worst__item .blank{margin-top:auto;color:var(--on-night-3);font-size:.88rem}

/* CTA */
#s-contracts .ca-cta{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;
  border:1px solid var(--rule);border-radius:20px;background:linear-gradient(135deg,var(--surface),var(--paper-sunk));
  padding:clamp(1.5rem,2vw + 1rem,2.6rem)
}

/* RESPONSIVE */
@media(max-width:68rem){
  #s-contracts .ca-hero__in{grid-template-columns:1fr;gap:2rem}
  #s-contracts .ca-index{max-inline-size:52rem}
  #s-contracts .ca-macan,#s-contracts .ca-lambo{grid-template-columns:1fr}
  #s-contracts .ca-photo{min-height:0;aspect-ratio:16/10}
  #s-contracts .ca-lambo-photo{aspect-ratio:16/9;max-height:34rem}
  #s-contracts .ca-lambo-photo img{object-position:center 46%}
  #s-contracts .ca-docnav{grid-template-columns:repeat(2,minmax(0,1fr))}
  #s-contracts .ca-workspace{grid-template-columns:1fr}
  #s-contracts .ca-scan__paper{min-height:0;max-height:48rem}
  #s-contracts .ca-worst__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:48rem){
  #s-contracts .ca-hero__in{padding-block:3.2rem}
  #s-contracts .ca-section-head{grid-template-columns:1fr;gap:.8rem}
  #s-contracts .ca-compare{grid-template-columns:1fr 2.4rem 1fr;gap:.45rem}
  #s-contracts .ca-compare__card{min-height:8.4rem;padding:.85rem}
  #s-contracts .ca-compare__value{font-size:1.18rem}
  #s-contracts .ca-delta{grid-template-columns:1fr;gap:.25rem}
  #s-contracts .ca-moneyflow__split,#s-contracts .ca-money-result{grid-template-columns:1fr 1fr}
  #s-contracts .ca-docnav{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-bottom:.6rem
  }
  #s-contracts .ca-doccard{flex:0 0 72%;scroll-snap-align:start;min-height:8.8rem}
  #s-contracts .ca-workspace{padding:.9rem;border-radius:17px}
  #s-contracts .ca-scan__paper{aspect-ratio:4/5}
  #s-contracts .ca-highlights{grid-template-columns:1fr}
  #s-contracts .ca-highlight{min-height:0}
  #s-contracts .ca-cta{grid-template-columns:1fr;gap:1.2rem}
  #s-contracts .ca-cta .btn{width:100%}
}

@media(max-width:34rem){
  #s-contracts .ca-index__row{grid-template-columns:2.1rem minmax(0,1fr);padding:.85rem .9rem}
  #s-contracts .ca-index__go{display:none}
  #s-contracts .ca-compare{grid-template-columns:1fr}
  #s-contracts .ca-compare__vs{height:1.5rem}
  #s-contracts .ca-moneyflow__split,#s-contracts .ca-money-result{grid-template-columns:1fr}
  #s-contracts .ca-doccard{flex-basis:82%}
  #s-contracts .ca-worst__grid{grid-template-columns:1fr}
  #s-contracts .ca-photo{aspect-ratio:4/3}
  #s-contracts .ca-lambo-photo{aspect-ratio:4/3}
}

/* 모바일 가독성 보강 */
@media(max-width:48rem){
  #s-contracts .txt,#s-contracts .sm,#s-contracts .ca-reader-note,#s-contracts .ca-scan__caption{
    font-size:max(.875rem,14px)
  }
  #s-contracts .lead{line-height:1.72}
  #s-contracts .h-sec{line-height:1.28}
}

/* ========================================================================
   계약서 페이지 사진 보정
   차량 사진은 전부 4:3 가로 원본이다.
   stretch 나 세로 비율을 주면 좌우가 잘려 차가 반토막이 된다.
   게다가 "계산 근거"를 펼치면 글이 길어져 사진까지 늘어난다.
   사진은 자기 비율을 지키고, 글만 늘어나게 한다.
   ======================================================================== */
@media (min-width:64rem){
  #s-contracts .ca-macan{align-items:start}
  #s-contracts .ca-photo{
    aspect-ratio:4/3;
    min-height:0;
    block-size:auto;
  }
  #s-contracts .ca-lambo-photo{
    aspect-ratio:4/3;
    max-height:none;
  }
}
/* 사진 초점 : 세로로 잘려도 차량이 살아남는다 */
#s-contracts .ca-photo img{object-position:50% 45%}
#s-contracts .ca-lambo-photo img{object-position:50% 45%}

/* 중도해지 위약금 구조 안내.
   개별 수치는 금융사·수수료 조건에 따라 바뀌므로
   숫자 대신 구조와 시장 기준을 보여준다. */
#s-contracts .ca-fee-note{
  margin-block-start:1.1rem;
  padding:1.15rem 1.25rem;
  border:1px solid var(--rule);
  border-inline-start:3px solid var(--seal);
  border-radius:var(--ca-radius-sm,15px);
  background:var(--surface-2);
  display:flex;flex-direction:column;gap:.6rem;
}
#s-contracts .ca-fee-note__row{
  display:flex;justify-content:space-between;gap:1rem;align-items:baseline;
  padding-block:.5rem;
  border-block-start:1px solid var(--rule-hair);
  font-size:var(--t-sm);
}
#s-contracts .ca-fee-note__row span{color:var(--ink-3)}
#s-contracts .ca-fee-note__row strong{font-weight:600;text-align:right}

/* 중도해지 예시 박스 : 요율이 어떻게 줄어드는지 보여준다 */
#s-contracts .ca-fee-example{
  border:1px solid var(--rule);
  border-radius:12px;
  background:var(--surface);
  padding:.9rem 1rem;
  display:flex;flex-direction:column;gap:.1rem;
}
#s-contracts .ca-fee-example__t{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;
  color:var(--ink-3);padding-block-end:.5rem;
  border-block-end:1px solid var(--rule-hair);margin-block-end:.35rem;
}
#s-contracts .ca-fee-example__row{
  display:flex;justify-content:space-between;gap:1rem;align-items:baseline;
  padding-block:.42rem;font-size:var(--t-sm);
}
#s-contracts .ca-fee-example__row span{color:var(--ink-3)}
#s-contracts .ca-fee-example__row strong{font-weight:600;text-align:right}
#s-contracts .ca-fee-example__row:nth-child(3) strong{color:var(--seal)}

/* 마칸 섹션 좌우 정렬
   제목이 밖에 있어 ㄱ자로 꺣여 보였다.
   람보르기니 섹션처럼 제목까지 한 컴럼 안에 넣어 축을 맞추고,
   사진은 왼쪽에 두어 람보(사진 오른쪽)와 리듬을 만든다. */
@media (min-width:64rem){
  #s-contracts .ca-macan{align-items:center}
}
#s-contracts .ca-macan__body > .kick{margin-block-end:.1rem}
#s-contracts .ca-macan__body > .h-sec{margin-block-end:.35rem}

/* 사진 캐프션 겹침 보정
   REAL CASE · 02 와 PORSCHE MACAN 이 한 줄에 같이 놓여 글자가 겹쳤다. */
#s-contracts .ca-photo__cap > div{
  display:flex;flex-direction:column;gap:.15rem;min-width:0;
}
#s-contracts .ca-photo__cap > div > span{
  display:block;line-height:1.2;
}
#s-contracts .ca-photo__cap strong{
  display:block;line-height:1.15;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#s-contracts .ca-photo__cap > span:last-child{flex:none;white-space:nowrap}

/* 메인은 로고가 링크가 아니지만(이미 그 페이지라),
   드래그했을 때 글자가 파랑게 잡히는 건 막는다. */
.brand{-webkit-user-select:none;user-select:none}

/* ========================================================================
   계약서 자료 보기 : 탭 · 이미지 · 확대
   ======================================================================== */
#s-contracts .ca-doctabs{
  display:flex;gap:.4rem;margin-block-end:.7rem;flex-wrap:wrap;
}
#s-contracts .ca-doctab{
  border:1px solid var(--rule);
  background:var(--surface);
  border-radius:999px;
  padding:.42rem .9rem;
  font-family:var(--sans);font-size:.76rem;font-weight:600;
  color:var(--ink-3);cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
#s-contracts .ca-doctab:hover{color:var(--ink)}
#s-contracts .ca-doctab.is-on{
  background:var(--ink);border-color:var(--ink);color:var(--paper);
}

/* 스캔 영역에 실제 이미지가 들어갔을 때 */
#s-contracts .ca-scan__paper.has-img{
  padding:0;overflow:hidden;position:relative;
  cursor:zoom-in;background:var(--surface);
  display:block;
}
#s-contracts .ca-scan__img{
  display:block;inline-size:100%;block-size:auto;
}
#s-contracts .ca-scan__zoom{
  position:absolute;right:.7rem;bottom:.7rem;
  font-family:var(--mono);font-size:.64rem;letter-spacing:.04em;
  color:var(--paper);
  background:rgba(25,24,20,.72);
  border-radius:999px;padding:.34rem .7rem;
  pointer-events:none;
}
#s-contracts .ca-scan__paper.has-img:hover .ca-scan__zoom{background:var(--seal)}
#s-contracts .ca-scan__paper.has-img:focus-visible{
  outline:2px solid var(--seal);outline-offset:3px;
}

/* 확대 보기 */
.ca-lightbox{
  position:fixed;inset:0;z-index:400;
  background:rgba(18,17,14,.92);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.9rem;padding:clamp(1rem,4vw,3rem);
  overflow:auto;
}
.ca-lightbox[hidden]{display:none}
.ca-lightbox img{
  max-inline-size:min(1100px,100%);
  max-block-size:82vh;
  inline-size:auto;block-size:auto;
  border-radius:8px;background:#fff;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7);
}
.ca-lightbox__cap{
  max-inline-size:52em;text-align:center;
  font-size:var(--t-xs);line-height:1.7;
  color:rgba(246,242,232,.78);
  word-break:keep-all;margin:0;
}
.ca-lightbox__close{
  position:fixed;top:1rem;right:1.2rem;
  inline-size:2.6rem;block-size:2.6rem;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;background:rgba(255,255,255,.08);
  color:#F6F2E8;font-size:1.5rem;line-height:1;cursor:pointer;
}
.ca-lightbox__close:hover{background:rgba(255,255,255,.18)}
@media (max-width:46rem){
  .ca-lightbox img{max-block-size:70vh}
}

/* ========================================================================
   메인 계약서 카드 썸네일
   서류 이미지를 그대로 깔면 큰 표가 잘려 어수선하다.
   상단 일부만 보여 "서류가 있다"는 인상만 주고,
   아래로 갈수록 흐려 문서번호가 읽힐 자리를 만든다. */
.doc2__img{
  object-fit:cover;
  object-position:50% 0;      /* 서류 상단부터 */
  z-index:1;                   /* 문서번호보다 아래 */
  opacity:.9;
}
.doc2__thumb::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  /* 문서번호 라벨을 뺀 뒤라 계약서를 좀 더 보여준다 */
  background:linear-gradient(to bottom,
    rgba(250,248,242,0) 52%,
    rgba(250,248,242,.6) 78%,
    var(--paper-sunk) 100%);
}
.doc2__no{z-index:3}
.doc2:hover .doc2__img{opacity:1}

/* 리포트 상품 칩
   버튼처럼 보이면 누를 수 있다고 오해한다.
   이 카드는 정지된 샘플이므로 세 상품을 같은 모양으로 둔다. */
.report__products .product{
  border-color:var(--rule);
  color:var(--ink-3);
  background:transparent;
  box-shadow:none;
  cursor:default;
}

/* 접수 완료 화면의 다음 행동 */
.sent-acts{
  display:flex;gap:.55rem;justify-content:center;flex-wrap:wrap;
  margin-block-start:.3rem;
}
@media (max-width:34rem){
  .sent-acts{inline-size:100%}
  .sent-acts .btn{flex:1 1 auto;justify-content:center}
}

/* 실패 계약 상세 : 어두운 배경 위에 올라간다 */
#s-contracts .ca-worst__detail{
  display:flex;flex-direction:column;gap:1rem;
  max-inline-size:52em;
}
#s-contracts .ca-worst__detail .txt{color:var(--on-night-2)}
#s-contracts .ca-worst__detail .b{color:var(--on-night)}
#s-contracts .ca-worst__calc{
  border:1px solid #3a352d;border-radius:14px;
  background:rgba(255,255,255,.03);
  padding:1.1rem 1.2rem;
  display:flex;flex-direction:column;gap:.1rem;
}
#s-contracts .ca-worst__calc .kick{
  color:#E3A099;padding-block-end:.6rem;
  border-block-end:1px solid #3a352d;margin-block-end:.4rem;
}
#s-contracts .ca-worst__row{
  display:flex;justify-content:space-between;gap:1.2rem;align-items:baseline;
  padding-block:.55rem;font-size:var(--t-sm);
  color:var(--on-night-2);
}
#s-contracts .ca-worst__row em{
  font-style:normal;display:block;
  font-size:.72rem;color:var(--on-night-3);margin-block-start:.15rem;
}
#s-contracts .ca-worst__row strong{
  font-family:var(--mono);white-space:nowrap;color:var(--on-night);
}
#s-contracts .ca-worst__row.is-total{
  border-block-start:1px solid #3a352d;
  margin-block-start:.4rem;padding-block-start:.8rem;
}
#s-contracts .ca-worst__row.is-total strong{color:#E3A099;font-size:1.05rem}
#s-contracts .ca-worst__item strong{
  display:block;font-size:.95rem;color:var(--on-night);
  margin-block-start:.3rem;word-break:keep-all;
}

/* 실패 계약 지출 내역 : 펼쳐보기 */
#s-contracts .ca-worst__more{margin-block:.2rem}
#s-contracts .ca-worst__more > summary{
  display:inline-flex;align-items:center;gap:.4rem;
  cursor:pointer;list-style:none;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;
  color:var(--on-night-2);
  border:1px solid #3a352d;border-radius:999px;
  padding:.5rem .95rem;
  background:rgba(255,255,255,.03);
}
#s-contracts .ca-worst__more > summary::-webkit-details-marker{display:none}
#s-contracts .ca-worst__more > summary::before{
  content:"+";font-size:.9rem;line-height:1;color:#E3A099;
}
#s-contracts .ca-worst__more[open] > summary::before{content:"2"}
#s-contracts .ca-worst__more > summary:hover{color:var(--on-night)}
#s-contracts .ca-worst__more .ca-worst__calc{margin-block-start:.7rem}
#s-contracts .ca-worst__calc .kick{border:0;padding:0;margin:0}

/* 실패 계약 섹션 밀도 조정
   카드가 필요 이상으로 크고 문단 사이가 띄어져 있었다. */
#s-contracts .ca-worst__item{
  min-height:0;
  padding:.85rem .95rem;
  gap:.35rem;
}
#s-contracts .ca-worst__item > span:first-child{font-size:.68rem}
#s-contracts .ca-worst__item strong{
  font-size:.85rem;line-height:1.45;margin-block-start:.15rem;
}
#s-contracts .ca-worst__grid{gap:.55rem}

/* 본문 문단 간격 */
#s-contracts .ca-worst__detail{gap:.65rem}
#s-contracts .ca-worst__detail .txt{
  font-size:.88rem;line-height:1.75;margin:0;
}
#s-contracts .ca-worst{gap:1.1rem}

/* 드래그 선택 색
   윈도우 기본 파랑이 지면 위에서 튀어서 브랜드 인장색으로 맞춘다.
   복사 자체는 막지 않는다 — 사업자번호·전화번호를 고객이 복사해야 한다. */
::selection{background:rgba(122,31,43,.22);color:var(--ink)}
::-moz-selection{background:rgba(122,31,43,.22);color:var(--ink)}

/* 어두운 배경 블록(실패 계약 카드 등)에서는 반대로 */
#s-contracts .ca-worst ::selection,
.ca-worst ::selection{background:rgba(255,255,255,.26);color:#fff}
#s-contracts .ca-worst ::-moz-selection,
.ca-worst ::-moz-selection{background:rgba(255,255,255,.26);color:#fff}
