/*
  PUBLIC VOICE SCAN / PVS-JUKU
  HTML工房 Benchmark Design v0.1
  Direction: 保護者向け教育メディア + 調査レポート + 実用確認メモ
*/

:root{
  /* ===== safe edit controls / color ===== */
  --pvs-bg:#f7f8f6;
  --pvs-bg-soft:#eef2f2;
  --pvs-paper:#ffffff;
  --pvs-paper-tint:#fbfcfb;
  --pvs-panel:#f1f5f5;
  --pvs-panel-warm:#f7f4ef;
  --pvs-ink:#172536;
  --pvs-ink-soft:#314253;
  --pvs-muted:#687784;
  --pvs-muted-soft:#87929b;
  --pvs-line:rgba(23,37,54,.13);
  --pvs-line-strong:rgba(23,37,54,.22);
  --pvs-accent:#4e7288;
  --pvs-accent-deep:#274b63;
  --pvs-accent-soft:#dfeaec;
  --pvs-check:#596f63;
  --pvs-warm:#8b6b54;
  --pvs-warm-soft:#eee5dc;
  --pvs-caution:#6f7281;
  --pvs-blue-muted:#6f8da4;
  --pvs-shadow:0 16px 42px rgba(38,53,67,.08);
  --pvs-shadow-soft:0 8px 22px rgba(38,53,67,.05);

  /* ===== safe edit controls / typography ===== */
  --pvs-serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;
  --pvs-sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",Meiryo,sans-serif;
  --pvs-body-size:16px;
  --pvs-body-line:1.92;
  --pvs-lead-size:17px;
  --pvs-lead-line:1.94;
  --pvs-label-size:11px;
  --pvs-label-track:.18em;
  --pvs-title-line:1.28;

  /* ===== safe edit controls / frame ===== */
  --pvs-nav-h:58px;
  --pvs-shell:min(1080px, calc(100vw - 48px));
  --pvs-text:max(40ch, min(100%, 720px));
  --pvs-section-y:clamp(74px, 9vw, 126px);
  --pvs-section-y-tight:clamp(54px, 7vw, 92px);
  --pvs-gap:clamp(20px, 3vw, 36px);
  --pvs-radius:18px;
  --pvs-radius-lg:26px;
  --pvs-radius-sm:12px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--pvs-nav-h) + 24px)}
body{
  margin:0;
  color:var(--pvs-ink);
  background:
    linear-gradient(180deg, rgba(247,248,246,.98) 0%, rgba(255,255,255,1) 44%, rgba(241,245,245,.84) 100%);
  font-family:var(--pvs-sans);
  font-size:var(--pvs-body-size);
  line-height:var(--pvs-body-line);
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.pvs-nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
p,h1,h2,h3,dl,dd,figure{margin:0}
ul,ol{margin:0}
img{display:block;max-width:100%}
strong{font-weight:800;color:var(--pvs-ink)}

.pvs-skip-link{
  position:fixed;
  left:14px;
  top:10px;
  z-index:999;
  transform:translateY(-140%);
  padding:10px 14px;
  border-radius:999px;
  background:var(--pvs-ink);
  color:#fff;
  font-size:13px;
  font-weight:800;
  transition:transform .18s ease;
}
.pvs-skip-link:focus{transform:none}

.pvs-shell{width:var(--pvs-shell);margin-inline:auto}

/* ===== top nav ===== */
.pvs-top-nav{
  position:sticky;
  top:0;
  z-index:70;
  min-height:var(--pvs-nav-h);
  display:flex;
  align-items:center;
  background:rgba(250,251,250,.92);
  border-bottom:1px solid var(--pvs-line);
  backdrop-filter:blur(14px);
}
.pvs-top-nav__inner{
  width:min(1160px, calc(100vw - 32px));
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.pvs-top-nav__title{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:10px;
  color:var(--pvs-muted);
  line-height:1.3;
}
.pvs-top-nav__title span{
  flex:0 0 auto;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:900;
  color:var(--pvs-accent-deep);
}
.pvs-top-nav__title strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  color:var(--pvs-ink-soft);
}
.pvs-nav-toggle,
.pvs-nav-close{
  border:1px solid var(--pvs-line);
  background:#fff;
  cursor:pointer;
  font-weight:800;
}
.pvs-nav-toggle{
  flex:0 0 auto;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0 13px;
  border-radius:999px;
  color:var(--pvs-ink);
}
.pvs-nav-toggle__icon{width:16px;display:grid;gap:3px}
.pvs-nav-toggle__icon i{display:block;height:2px;border-radius:999px;background:var(--pvs-accent-deep)}
.pvs-nav-toggle__text{font-size:12px;letter-spacing:.04em}
.pvs-nav-backdrop{
  position:fixed;
  inset:0;
  z-index:80;
  opacity:0;
  pointer-events:none;
  background:rgba(20,30,40,.26);
  transition:opacity .18s ease;
}
.pvs-nav-open .pvs-nav-backdrop{opacity:1;pointer-events:auto}
.pvs-nav-drawer{
  position:fixed;
  top:0;
  right:0;
  z-index:90;
  width:min(520px, calc(100vw - 28px));
  height:100dvh;
  padding:22px;
  transform:translateX(106%);
  background:linear-gradient(180deg, #ffffff 0%, #f6f8f8 100%);
  border-left:1px solid var(--pvs-line);
  box-shadow:-18px 0 40px rgba(23,37,54,.12);
  transition:transform .22s ease;
}
.pvs-nav-open .pvs-nav-drawer{transform:none}
.pvs-nav-drawer__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:16px;
  border-bottom:1px solid var(--pvs-line);
}
.pvs-nav-drawer__head p{
  color:var(--pvs-accent-deep);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:900;
}
.pvs-nav-close{
  min-height:36px;
  padding:0 12px;
  border-radius:999px;
  color:var(--pvs-ink-soft);
  font-size:12px;
}
.pvs-nav-drawer__list{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-auto-flow:column;
  grid-template-rows:repeat(7, auto);
  gap:0 18px;
  padding-top:16px;
}
.pvs-nav-drawer__link{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  align-items:baseline;
  padding:12px 0;
  border-bottom:1px solid rgba(23,37,54,.09);
  color:var(--pvs-muted);
}
.pvs-nav-drawer__link span{
  font-size:11px;
  letter-spacing:.14em;
  font-weight:900;
  color:var(--pvs-muted-soft);
}
.pvs-nav-drawer__link strong{
  font-size:14px;
  line-height:1.45;
  color:var(--pvs-ink-soft);
}
.pvs-nav-drawer__link:hover strong,
.pvs-nav-drawer__link.is-active strong{color:var(--pvs-accent-deep)}
.pvs-nav-drawer__link.is-active span{color:var(--pvs-accent-deep)}

/* ===== common section language ===== */
.pvs-section-label,
.pvs-eyebrow{
  color:var(--pvs-accent-deep);
  font-size:var(--pvs-label-size);
  line-height:1.4;
  font-weight:900;
  letter-spacing:var(--pvs-label-track);
  text-transform:uppercase;
}
.pvs-section-index,
.pvs-translate__index,
.pvs-voice-patterns__index,
.pvs-method__index,
.pvs-service__index{
  display:block;
  color:var(--pvs-muted);
  font-size:13px;
  line-height:1.65;
  font-weight:800;
  letter-spacing:.02em;
}
.pvs-section-title,
.pvs-hero__title,
.pvs-keyfindings__title,
.pvs-provider-origin__title,
.pvs-before__title,
.pvs-after__title,
.pvs-alignment__title,
.pvs-voice-patterns__title,
.pvs-translate__title,
.pvs-small-voices__title,
.pvs-method__title,
.pvs-service__title{
  font-family:var(--pvs-serif);
  font-weight:600;
  letter-spacing:.015em;
  line-height:var(--pvs-title-line);
  color:var(--pvs-ink);
  text-wrap:pretty;
}
.pvs-section-title{font-size:clamp(27px, 3.2vw, 42px)}
.pvs-section-lead,
.pvs-voice-overview__lead,
.pvs-keyfindings__lead,
.pvs-provider-origin__lead,
.pvs-before__lead,
.pvs-after__lead,
.pvs-alignment__lead,
.pvs-voice-patterns__lead,
.pvs-translate__lead,
.pvs-small-voices__lead,
.pvs-method-paper__text,
.pvs-service__lead{
  color:var(--pvs-ink-soft);
  font-size:var(--pvs-lead-size);
  line-height:var(--pvs-lead-line);
  text-wrap:pretty;
}
.pvs-section-head,
.pvs-voice-overview__head,
.pvs-keyfindings__head,
.pvs-provider-origin__head,
.pvs-before__head,
.pvs-after__head,
.pvs-alignment__head,
.pvs-translate__head,
.pvs-small-voices__head{
  display:grid;
  gap:12px;
  margin-bottom:clamp(26px, 4vw, 48px);
}
.pvs-title-phrase,.pvs-title-unit{display:inline}
.pvs-nowrap{white-space:nowrap}

/* ===== Hero ===== */
.pvs-hero{
  position:relative;
  padding:clamp(76px, 10vw, 136px) 0 clamp(52px, 8vw, 96px);
  background:
    radial-gradient(circle at 10% 0%, rgba(223,234,236,.8), transparent 28%),
    linear-gradient(180deg, #fbfcfb 0%, #f7f8f6 100%);
  border-bottom:1px solid var(--pvs-line);
}
.pvs-hero__grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 360px);
  gap:clamp(32px, 6vw, 76px);
  align-items:center;
}
.pvs-hero__copy{max-width:800px}
.pvs-theme-label{
  display:inline-flex;
  align-items:center;
  margin-top:18px;
  padding:8px 12px;
  border:1px solid var(--pvs-line);
  border-radius:999px;
  background:#fff;
  color:var(--pvs-ink-soft);
  font-size:13px;
  font-weight:800;
  line-height:1.45;
}
.pvs-hero__title{
  margin-top:clamp(24px, 4vw, 42px);
  max-width:12.4em;
  font-size:clamp(36px, 5.3vw, 68px);
}
.pvs-hero__reader-note{
  margin-top:clamp(24px, 3vw, 34px);
  padding:18px 20px;
  max-width:680px;
  border-left:4px solid var(--pvs-accent);
  background:linear-gradient(90deg, rgba(223,234,236,.76), rgba(255,255,255,.34));
}
.pvs-hero__reader-note p{
  color:var(--pvs-ink-soft);
  font-size:16px;
  line-height:1.85;
}
.pvs-hero__reader-note p + p{margin-top:4px}
.pvs-hero__reader-note strong{font-size:18px}
.pvs-hero__lead{
  display:grid;
  gap:14px;
  max-width:var(--pvs-text);
  margin-top:24px;
}
.pvs-hero__lead p{
  color:var(--pvs-ink-soft);
  font-size:16px;
  line-height:1.95;
  text-wrap:pretty;
}
.pvs-hero__side{display:flex;justify-content:flex-end}
.pvs-service-card{
  width:min(100%, 350px);
  min-height:290px;
  display:grid;
  align-content:center;
  gap:12px;
  padding:30px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius-lg);
  background:linear-gradient(180deg,#fff,#f3f6f6);
  box-shadow:var(--pvs-shadow-soft);
}
.pvs-service-card__label{
  color:var(--pvs-accent-deep);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:900;
}
.pvs-service-card__name{
  font-family:var(--pvs-serif);
  font-size:clamp(36px, 3vw, 50px);
  line-height:1.04;
  letter-spacing:.02em;
}
.pvs-service-card__copy{
  color:var(--pvs-ink-soft);
  font-size:14px;
  line-height:1.8;
  font-weight:700;
}
.pvs-service-card__rule{
  width:72%;
  height:1px;
  background:linear-gradient(90deg,var(--pvs-accent),transparent);
}

/* ===== sampling / 3 voices ===== */
.pvs-sampling{padding:var(--pvs-section-y-tight) 0 var(--pvs-section-y)}
.pvs-sampling .pvs-shell,
.pvs-voice-overview__shell,
.pvs-keyfindings__shell,
.pvs-provider-origin__shell,
.pvs-before__shell,
.pvs-after__shell,
.pvs-alignment__shell{
  position:relative;
}
.pvs-sampling .pvs-shell{
  padding:clamp(26px, 4vw, 46px);
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius-lg);
  background:rgba(255,255,255,.72);
}
.pvs-sampling-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.pvs-sample-card{
  display:grid;
  gap:14px;
  padding:22px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius);
  background:#fff;
}
.pvs-sample-card h3{
  font-family:var(--pvs-serif);
  font-size:20px;
  line-height:1.45;
  font-weight:600;
}
.pvs-sample-card__lead{
  color:var(--pvs-ink-soft);
  font-size:14px;
  line-height:1.8;
}
.pvs-metric-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.pvs-metric{
  display:grid;
  gap:6px;
  padding:12px;
  border-top:1px solid var(--pvs-line);
  background:#fbfcfb;
}
.pvs-metric--wide{grid-column:1 / -1}
.pvs-metric dt{
  color:var(--pvs-muted);
  font-size:11px;
  line-height:1.55;
  letter-spacing:.05em;
  font-weight:800;
}
.pvs-metric dd{color:var(--pvs-accent-deep);line-height:1.25;font-weight:900}
.pvs-metric dd strong{font-size:clamp(24px, 2.7vw, 34px);color:var(--pvs-accent-deep)}
.pvs-metric--wide dd strong{font-size:17px;line-height:1.45;color:var(--pvs-ink)}
.pvs-metric dd span{font-size:12px;color:var(--pvs-muted);margin-left:2px}
.pvs-sampling-note,
.pvs-overview-note,
.pvs-small-voices__note{
  margin-top:22px;
  padding:14px 16px;
  border-top:1px solid var(--pvs-line);
  border-bottom:1px solid var(--pvs-line);
  color:var(--pvs-muted);
  font-size:12.5px;
  line-height:1.86;
}


.pvs-quick-link{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  margin-top:22px;
  padding:10px 14px;
  border:1px solid var(--pvs-line-strong);
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:var(--pvs-accent-deep);
  font-size:14px;
  line-height:1.6;
  font-weight:800;
}
.pvs-quick-link--section{margin-top:12px}
.pvs-reading-guide{
  color:var(--pvs-muted);
  font-size:14px;
  line-height:1.8;
  font-weight:800;
}

/* ===== voice overview / charts ===== */
.pvs-voice-overview{padding:var(--pvs-section-y) 0;background:#fff}
.pvs-voice-overview__head{
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  align-items:end;
}
.pvs-voice-overview__title-block{display:grid;gap:10px}
.pvs-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pvs-overview-card{
  display:grid;
  gap:16px;
  padding:22px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius);
  background:#fff;
}
.pvs-overview-card h3,
.pvs-count-chart__title,
.pvs-findings-subtitle,
.pvs-origin-subtitle,
.pvs-before-subtitle,
.pvs-after-subtitle{
  font-size:15px;
  line-height:1.55;
  font-weight:900;
  color:var(--pvs-ink);
  letter-spacing:.04em;
}
.pvs-overview-chart{display:grid;place-items:center;padding:6px 0}
.pvs-overview-donut{
  width:min(210px, 62vw);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border-radius:50%;
  position:relative;
  background:conic-gradient(var(--pvs-accent) 0 25%, var(--pvs-accent-soft) 25% 100%);
}
.pvs-overview-donut::after{
  content:"";
  position:absolute;
  inset:22%;
  border-radius:50%;
  background:#fff;
}
.pvs-donut--before{
  background:conic-gradient(#4f7187 0 13.3%, #3d546b 13.3% 70%, #a9c2ce 70% 85%, #d4d9e8 85% 100%);
}
.pvs-donut--after{
  background:conic-gradient(#4f7187 0 43.3%, #3d546b 43.3% 63.3%, #91a8b6 63.3% 80%, #d4d9e8 80% 100%);
}
.pvs-donut--provider{
  background:conic-gradient(#5b7f94 0 27.4%, #3f6178 27.4% 41.1%, #9dbbc8 41.1% 70.1%, #2f475c 70.1% 100%);
}
.pvs-overview-donut__center{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  gap:2px;
  text-align:center;
}
.pvs-overview-donut__center strong{font-size:28px;color:var(--pvs-ink)}
.pvs-overview-donut__center span{font-size:11px;color:var(--pvs-muted);font-weight:800}
.pvs-overview-legend{display:grid;gap:0;border-top:1px solid var(--pvs-line)}
.pvs-overview-legend div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid rgba(23,37,54,.08);
  align-items:baseline;
}
.pvs-overview-legend dt{display:flex;align-items:center;gap:8px;color:var(--pvs-ink-soft);font-size:13px;font-weight:800}
.pvs-overview-legend dd{color:var(--pvs-muted);font-size:13px;font-weight:800;white-space:nowrap}
.pvs-legend-dot{width:9px;height:9px;border-radius:999px;background:var(--dot);display:inline-block;flex:0 0 auto}
.pvs-readout{
  display:grid;
  gap:8px;
  padding:14px 0 0;
  border-top:1px solid var(--pvs-line-strong);
}
.pvs-readout span{
  color:var(--pvs-accent-deep);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}
.pvs-readout p{color:var(--pvs-ink-soft);font-size:14px;line-height:1.82;text-wrap:pretty}

/* ===== key findings ===== */
.pvs-keyfindings{
  padding:var(--pvs-section-y) 0;
  background:linear-gradient(180deg,var(--pvs-panel-warm),#fff 88%);
  border-top:1px solid var(--pvs-line);
  border-bottom:1px solid var(--pvs-line);
}
.pvs-keyfindings__head{max-width:900px}
.pvs-keyfindings__title{font-size:clamp(32px, 4.4vw, 56px);max-width:13.8em}
.pvs-keyfindings__lead{max-width:var(--pvs-text)}
.pvs-findings-block{
  margin-top:clamp(28px,4vw,48px);
  display:grid;
  gap:18px;
}
.pvs-finding-grid{display:grid;gap:14px}
.pvs-finding-card{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:clamp(18px,3vw,34px);
  padding:24px 0;
  border-top:1px solid var(--pvs-line-strong);
}
.pvs-finding-card:last-child{border-bottom:1px solid var(--pvs-line-strong)}
.pvs-finding-card__top{display:grid;align-content:start;gap:12px}
.pvs-finding-number{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--pvs-line-strong);
  border-radius:999px;
  color:var(--pvs-accent-deep);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  background:#fff;
}
.pvs-finding-card h3{font-size:clamp(20px,2vw,28px);line-height:1.48;font-weight:800;text-wrap:pretty}
.pvs-finding-note{display:grid;gap:10px;max-width:760px}
.pvs-finding-note dt{
  display:inline-flex;
  width:max-content;
  padding:3px 9px;
  border:1px solid var(--pvs-line);
  border-radius:999px;
  background:#fff;
  color:var(--pvs-accent-deep);
  font-size:12px;
  line-height:1.5;
  font-weight:900;
  letter-spacing:.04em;
}
.pvs-finding-note dd{
  color:var(--pvs-ink-soft);
  font-size:15.5px;
  line-height:1.88;
  text-wrap:pretty;
}
.pvs-finding-note dt:nth-of-type(2){margin-top:8px;color:var(--pvs-check)}
.pvs-finding-note dt:nth-of-type(2) + dd{
  padding:12px 14px;
  border-left:3px solid var(--pvs-check);
  background:rgba(238,245,240,.78);
  color:#304237;
  font-weight:700;
}

/* ===== provider origin ===== */
.pvs-provider-origin{padding:var(--pvs-section-y) 0;background:#fff}
.pvs-provider-origin__head{max-width:920px}
.pvs-provider-origin__title{font-size:clamp(30px,4vw,50px);max-width:14em}
.pvs-provider-origin__lead{display:grid;gap:12px;max-width:var(--pvs-text)}
.pvs-origin-block{display:grid;gap:18px;margin-top:36px}
.pvs-origin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pvs-origin-card{
  display:grid;
  gap:14px;
  padding:20px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius);
  background:var(--pvs-paper-tint);
}
.pvs-origin-card__head{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.pvs-origin-card__head h3{font-size:18px;line-height:1.45;font-weight:900}
.pvs-origin-number,.pvs-before-number,.pvs-after-number{
  color:var(--pvs-muted-soft);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}
.pvs-origin-flow{display:grid;gap:0;border-top:1px solid var(--pvs-line)}
.pvs-origin-point{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid rgba(23,37,54,.08)}
.pvs-origin-point dt{color:var(--pvs-muted);font-size:12px;line-height:1.55;font-weight:900}
.pvs-origin-point dd{color:var(--pvs-ink-soft);font-size:14px;line-height:1.75;font-weight:600}

/* ===== expectations / concerns ===== */
.pvs-before{padding:var(--pvs-section-y) 0;border-top:1px solid var(--pvs-line)}
.pvs-before--expectations{background:linear-gradient(180deg,#fff,var(--pvs-panel) 100%)}
.pvs-before--concerns{background:#fff}
.pvs-before__head{max-width:920px}
.pvs-before__title{font-size:clamp(30px,4vw,50px);max-width:14em}
.pvs-before__lead{display:grid;gap:12px;max-width:var(--pvs-text)}
.pvs-before__block{display:grid;gap:18px;margin-top:34px}
.pvs-count-chart{
  padding:20px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius);
  background:#fff;
}
.pvs-count-chart__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--pvs-line);
}
.pvs-count-chart__note{color:var(--pvs-muted);font-size:12px;line-height:1.6}
.pvs-count-chart__body{display:grid;gap:0;margin-top:6px}
.pvs-count-row{
  display:grid;
  grid-template-columns:minmax(210px,1.1fr) minmax(180px,1fr) 52px;
  gap:14px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid rgba(23,37,54,.08);
}
.pvs-count-row:last-child{border-bottom:none}
.pvs-count-row__label{color:var(--pvs-ink-soft);font-size:14px;line-height:1.55;font-weight:700}
.pvs-count-row__bar-wrap{height:8px;border-radius:999px;background:rgba(78,114,136,.14);overflow:hidden}
.pvs-count-row__bar{display:block;width:var(--bar-width);height:100%;border-radius:999px;background:var(--pvs-accent)}
.pvs-count-chart--concerns .pvs-count-row__bar{background:#667b83}
.pvs-count-row__value{color:var(--pvs-ink);font-size:13px;font-weight:900;text-align:right}
.pvs-before-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pvs-before-card{
  display:grid;
  gap:10px;
  padding:20px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius);
  background:#fff;
}
.pvs-before-card__head{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.pvs-before-card h3{font-size:18px;line-height:1.52;font-weight:900;text-wrap:pretty}
.pvs-before-count{color:var(--pvs-muted);font-size:12px;font-weight:800;line-height:1.6}
.pvs-before-copy{display:grid;gap:6px}
.pvs-before-copy p{color:var(--pvs-ink-soft);font-size:14px;line-height:1.82;text-wrap:pretty}
.pvs-before--concerns .pvs-before-card{background:linear-gradient(180deg,#fff,#fbfcfc)}

/* ===== after voices ===== */
.pvs-after{padding:var(--pvs-section-y) 0;background:var(--pvs-panel);border-top:1px solid var(--pvs-line);border-bottom:1px solid var(--pvs-line)}
.pvs-after__head{max-width:920px}
.pvs-after__title{font-size:clamp(30px,4vw,50px)}
.pvs-after__lead{display:grid;gap:12px;max-width:var(--pvs-text)}
.pvs-after__block{display:grid;gap:18px;margin-top:34px}
.pvs-after-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pvs-after-card{
  display:grid;
  gap:14px;
  padding:20px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius);
  background:#fff;
}
.pvs-after-card__head{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.pvs-after-card h3{font-size:19px;line-height:1.45;font-weight:900}
.pvs-after-sample{color:var(--pvs-muted);font-size:12px;line-height:1.7;font-weight:800}
.pvs-after-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pvs-after-voice{
  padding:12px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius-sm);
  background:#fbfcfb;
}
.pvs-after-voice dt,.pvs-after-check dt{
  color:var(--pvs-accent-deep);
  font-size:12px;
  line-height:1.5;
  font-weight:900;
}
.pvs-after-voice dd,.pvs-after-check dd{margin-top:5px;color:var(--pvs-ink-soft);font-size:14px;line-height:1.75}
.pvs-after-voice--concern dt{color:#5d6674}
.pvs-after-check{
  padding:12px 14px;
  border-left:3px solid var(--pvs-check);
  background:rgba(238,245,240,.78);
}
.pvs-after-check dt{color:var(--pvs-check)}
.pvs-after-check dd{font-weight:700;color:#304237}

/* ===== alignment matrix ===== */
.pvs-alignment{padding:var(--pvs-section-y) 0;background:#fff}
.pvs-alignment__title{font-size:clamp(30px,4vw,48px)}
.pvs-alignment__lead{max-width:var(--pvs-text)}
.pvs-alignment-matrix{display:grid;gap:0;border-top:1px solid var(--pvs-line-strong);border-bottom:1px solid var(--pvs-line-strong)}
.pvs-alignment-header,
.pvs-alignment-card{
  display:grid;
  grid-template-columns:minmax(150px,.74fr) repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.pvs-alignment-header{
  padding:12px 0;
  border-bottom:1px solid var(--pvs-line);
  color:var(--pvs-muted);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
}
.pvs-alignment-card{padding:18px 0;border-bottom:1px solid rgba(23,37,54,.09)}
.pvs-alignment-card:last-child{border-bottom:none}
.pvs-alignment-topic{display:grid;gap:5px}
.pvs-alignment-topic span:not(.pvs-alignment-number){color:var(--pvs-muted);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.pvs-alignment-topic h3{font-size:18px;line-height:1.45;font-weight:900}
.pvs-alignment-cell dt{display:none}
.pvs-alignment-cell dd{color:var(--pvs-ink-soft);font-size:14px;line-height:1.8;text-wrap:pretty}
.pvs-alignment-number{color:var(--pvs-accent-deep);font-size:12px;font-weight:900;letter-spacing:.12em}

/* ===== voice patterns ===== */
.pvs-voice-patterns{padding:var(--pvs-section-y) 0;background:linear-gradient(180deg,var(--pvs-panel-warm),#fff)}
.pvs-voice-patterns__layout{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(26px,5vw,64px);align-items:start}
.pvs-voice-patterns__aside{position:sticky;top:calc(var(--pvs-nav-h) + 24px)}
.pvs-voice-patterns__aside-panel{
  padding:26px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius-lg);
  background:#fff;
}
.pvs-voice-patterns__aside-inner{display:grid;gap:12px}
.pvs-voice-patterns__title{font-size:clamp(29px,3.4vw,44px)}
.pvs-voice-patterns__lead p{font-size:15px;line-height:1.9;color:var(--pvs-ink-soft)}
.pvs-voice-patterns__folio{display:grid;gap:8px;margin-top:10px;padding-top:16px;border-top:1px solid var(--pvs-line);color:var(--pvs-muted);font-size:12px;font-weight:800}
.pvs-voice-flow{display:grid;gap:0;border-top:1px solid var(--pvs-line-strong)}
.pvs-voice-flow > .pvs-voice-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid rgba(23,37,54,.10);
}
.pvs-voice-row__num{color:var(--pvs-accent-deep);font-size:12px;font-weight:900;letter-spacing:.12em;padding-top:.4em}
.pvs-voice-row__title{font-size:clamp(20px,2vw,27px);line-height:1.52;font-weight:900;text-wrap:pretty}
.pvs-voice-row__body{grid-column:2;color:var(--pvs-ink-soft);font-size:15px;line-height:1.86;text-wrap:pretty;max-width:700px}

/* ===== translation / practical checklist ===== */
.pvs-translate{padding:var(--pvs-section-y) 0;background:#fff;border-top:1px solid var(--pvs-line)}
.pvs-translate__head{max-width:920px}
.pvs-translate__title{font-size:clamp(30px,4vw,50px);max-width:14em}
.pvs-translate__lead{max-width:var(--pvs-text)}
.pvs-translate__frame{
  margin-top:34px;
  border-top:1px solid var(--pvs-line-strong);
  border-bottom:1px solid var(--pvs-line-strong);
}
.pvs-translate__columns{
  display:grid;
  grid-template-columns:minmax(210px,.78fr) minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  padding:12px 0;
  border-bottom:1px solid var(--pvs-line);
  color:var(--pvs-muted);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:900;
}
.pvs-translate-list{list-style:none;padding:0;display:grid;gap:0}
.pvs-translate-row{
  display:grid;
  grid-template-columns:minmax(210px,.78fr) minmax(0,2fr);
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid rgba(23,37,54,.09);
}
.pvs-translate-row:last-child{border-bottom:none}
.pvs-translate-row__topic{display:grid;grid-template-columns:36px 1fr;gap:12px;align-content:start}
.pvs-translate-row__num{color:var(--pvs-accent-deep);font-size:12px;font-weight:900;letter-spacing:.12em;padding-top:.35em}
.pvs-translate-row__topic h3{font-size:17px;line-height:1.55;font-weight:900;text-wrap:pretty}
.pvs-translate-row__pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pvs-translate-cell{
  display:grid;
  gap:8px;
  padding:14px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius-sm);
  background:#fbfcfb;
}
.pvs-translate-cell__label{font-size:12px;line-height:1.5;font-weight:900;color:var(--pvs-accent-deep)}
.pvs-translate-cell--explain .pvs-translate-cell__label{color:#59636d}
.pvs-translate-cell p{color:var(--pvs-ink-soft);font-size:14px;line-height:1.78;text-wrap:pretty}
.pvs-translate-cell--check{background:rgba(238,245,240,.70);border-left:3px solid var(--pvs-check)}
.pvs-translate-cell--check .pvs-translate-cell__label{color:var(--pvs-check)}

/* ===== small voices ===== */
.pvs-small-voices{padding:var(--pvs-section-y) 0;background:var(--pvs-panel)}
.pvs-small-voices__frame{
  padding:clamp(26px,4vw,44px);
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius-lg);
  background:#fff;
}
.pvs-small-voices__head{grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);align-items:end}
.pvs-small-voices__title-block{display:grid;gap:10px}
.pvs-small-voices__title{font-size:clamp(28px,3.5vw,44px)}
.pvs-small-voices__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pvs-small-card{
  display:grid;
  gap:10px;
  padding:18px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius);
  background:#fff;
}
.pvs-small-card h3{font-size:17px;line-height:1.5;font-weight:900}
.pvs-small-card__body{color:var(--pvs-ink-soft);font-size:14px;line-height:1.78}
.pvs-small-card__check{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--pvs-line)}
.pvs-small-card__check span{color:var(--pvs-check);font-size:12px;font-weight:900}
.pvs-small-card__check p{color:#304237;font-size:14px;line-height:1.75;font-weight:700}

/* ===== method ===== */
.pvs-method{padding:var(--pvs-section-y) 0;background:#fff;border-top:1px solid var(--pvs-line)}
.pvs-method__grid{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(26px,5vw,64px);align-items:start}
.pvs-method__head{
  position:sticky;
  top:calc(var(--pvs-nav-h) + 24px);
  display:grid;
  gap:12px;
}
.pvs-method__title{font-size:clamp(30px,4vw,48px)}
.pvs-method__sub{color:var(--pvs-muted);font-size:14px;line-height:1.8;font-weight:800}
.pvs-method__body{display:grid;gap:20px}
.pvs-method-paper{
  padding:24px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius-lg);
  background:linear-gradient(180deg,#fff,#fbfcfb);
}
.pvs-method-paper__text{display:grid;gap:14px;font-size:15.5px;line-height:1.92}
.pvs-method-limits{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pvs-method-limit-card{
  padding:20px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius);
  background:#fff;
}
.pvs-method-limit-card h3{font-size:18px;line-height:1.5;font-weight:900;margin-bottom:10px}
.pvs-method-limit-card ul{padding-left:1.1em;display:grid;gap:8px;color:var(--pvs-ink-soft);font-size:14px;line-height:1.75}
.pvs-method-voices{
  padding:20px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius);
  background:var(--pvs-panel-warm);
}
.pvs-method-voices__head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--pvs-line)}
.pvs-method-voices__head h3{font-size:18px;font-weight:900}
.pvs-method-voices__label{color:var(--pvs-muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900}
.pvs-voice-list{display:grid;gap:0}
.pvs-method .pvs-voice-row{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid rgba(23,37,54,.09)}
.pvs-method .pvs-voice-row:last-child{border-bottom:none}
.pvs-method .pvs-voice-row dt{color:var(--pvs-ink);font-size:13px;font-weight:900;line-height:1.6}
.pvs-method .pvs-voice-row dd{color:var(--pvs-ink-soft);font-size:14px;line-height:1.75}

/* ===== service ===== */
.pvs-service{padding:var(--pvs-section-y) 0;background:linear-gradient(180deg,var(--pvs-panel),#f7f8f6)}
.pvs-service__grid{display:grid;grid-template-columns:minmax(0,560px) minmax(460px,1fr);gap:clamp(56px,5vw,72px);align-items:start}
.pvs-service__copy{display:grid;gap:12px;max-width:560px;min-width:0}
.pvs-service__title{font-size:clamp(32px,4.4vw,56px);max-width:10em}
.pvs-service__lead{display:grid;gap:12px;max-width:560px;font-size:15.5px;line-height:1.9}
.pvs-service__panel{
  min-width:0;
  padding:24px;
  border:1px solid var(--pvs-line);
  border-radius:var(--pvs-radius-lg);
  background:#fff;
  box-shadow:var(--pvs-shadow-soft);
}
.pvs-service-capabilities__head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding-bottom:14px;border-bottom:1px solid var(--pvs-line)}
.pvs-service-capabilities__head h3{font-size:18px;line-height:1.5;font-weight:900}
.pvs-service-capabilities__label{color:var(--pvs-muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:900}
.pvs-service-capabilities{display:grid;gap:0}
.pvs-service-item{display:grid;grid-template-columns:minmax(170px,.9fr) 1fr;gap:16px;padding:15px 0;border-bottom:1px solid rgba(23,37,54,.09)}
.pvs-service-item dt{font-size:14px;line-height:1.65;font-weight:900;color:var(--pvs-ink)}
.pvs-service-item dd{font-size:14px;line-height:1.75;color:var(--pvs-ink-soft)}
.pvs-service__cta{display:grid;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--pvs-line)}
.pvs-service__cta p{color:var(--pvs-ink-soft);font-size:14px;line-height:1.8;font-weight:700}
.pvs-service-button{
  display:inline-flex;
  width:max-content;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:999px;
  background:var(--pvs-accent-deep);
  color:#fff;
  font-size:14px;
  font-weight:900;
}
.pvs-service-button:hover{background:var(--pvs-ink)}

@media (max-width: 1120px){
  .pvs-service__grid{grid-template-columns:1fr;gap:28px}
  .pvs-service__copy,
  .pvs-service__lead{max-width:var(--pvs-text)}
}

/* ===== accessibility / motion ===== */
:focus-visible{outline:3px solid rgba(78,114,136,.45);outline-offset:3px}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ===== tablet ===== */
@media (max-width: 980px){
  :root{--pvs-shell:min(100vw - 36px, 720px);--pvs-section-y:72px;--pvs-section-y-tight:54px}
  .pvs-hero__grid,
  .pvs-voice-overview__head,
  .pvs-small-voices__head,
  .pvs-method__grid,
  .pvs-service__grid,
  .pvs-voice-patterns__layout{grid-template-columns:1fr}
  .pvs-hero__side{display:none}
  .pvs-sampling-grid,
  .pvs-overview-grid,
  .pvs-origin-grid,
  .pvs-before-grid,
  .pvs-after-grid,
  .pvs-small-voices__grid{grid-template-columns:1fr}
  .pvs-voice-patterns__aside,
  .pvs-method__head{position:relative;top:auto}
  .pvs-alignment-header{display:none}
  .pvs-alignment-card{grid-template-columns:1fr;gap:10px;padding:18px 0}
  .pvs-alignment-cell{display:grid;gap:5px}
  .pvs-alignment-cell dt{display:block;color:var(--pvs-muted);font-size:12px;font-weight:900}
  .pvs-translate__columns{display:none}
  .pvs-translate-row{grid-template-columns:1fr;gap:12px}
  .pvs-method-limits{grid-template-columns:1fr}
  .pvs-service-item{grid-template-columns:1fr;gap:4px}
}

/* ===== mobile ===== */
@media (max-width: 640px){
  :root{--pvs-shell:calc(100vw - 32px);--pvs-nav-h:56px;--pvs-body-size:15px;--pvs-lead-size:15.5px}
  html{scroll-padding-top:calc(var(--pvs-nav-h) + 14px)}
  .pvs-top-nav__title{display:grid;gap:2px}
  .pvs-top-nav__title strong{font-size:11px;max-width:calc(100vw - 148px)}
  .pvs-nav-toggle{min-height:38px;padding:0 11px}
  .pvs-nav-drawer{width:min(420px, calc(100vw - 18px));padding:18px}
  .pvs-nav-drawer__list{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none;gap:0;padding-bottom:24px;overflow:auto;max-height:calc(100dvh - 84px)}
  .pvs-hero{padding:58px 0 54px}
  .pvs-hero__title{font-size:clamp(32px, 9vw, 44px)}
  .pvs-hero__title br{display:block}
  .pvs-hero__reader-note{padding:15px 16px}
  .pvs-hero__reader-note p,.pvs-hero__lead p{font-size:15px;line-height:1.86}
  .pvs-theme-label{font-size:12px}
  .pvs-sampling .pvs-shell,
  .pvs-small-voices__frame,
  .pvs-service__panel,
  .pvs-method-paper{padding:20px;border-radius:20px}
  .pvs-section-title,
  .pvs-keyfindings__title,
  .pvs-provider-origin__title,
  .pvs-before__title,
  .pvs-after__title,
  .pvs-alignment__title,
  .pvs-voice-patterns__title,
  .pvs-translate__title,
  .pvs-small-voices__title,
  .pvs-method__title,
  .pvs-service__title{font-size:clamp(27px, 8vw, 38px)}
  .pvs-metric-list{grid-template-columns:1fr}
  .pvs-overview-donut{width:min(210px, 74vw)}
  .pvs-finding-card{grid-template-columns:1fr;gap:14px;padding:22px 0}
  .pvs-finding-card__top{gap:10px}
  .pvs-origin-point{grid-template-columns:1fr;gap:5px}
  .pvs-count-chart{padding:18px}
  .pvs-count-chart__head{display:grid;gap:6px}
  .pvs-count-row{grid-template-columns:1fr 1fr 42px;gap:9px;padding:12px 0}
  .pvs-count-row__label{grid-column:1 / -1}
  .pvs-after-pair,.pvs-translate-row__pair{grid-template-columns:1fr}
  .pvs-voice-flow > .pvs-voice-row{grid-template-columns:38px 1fr;gap:12px}
  .pvs-voice-row__body{grid-column:1 / -1;padding-left:50px}
  .pvs-method .pvs-voice-row{grid-template-columns:1fr;gap:4px}
  .pvs-quick-link{width:100%;justify-content:center;border-radius:16px}
  .pvs-service-button{width:100%}
}
