:root {
  --pv-ink: #20364b;
  --pv-blue: #294d70;
  --pv-brown: #8a552e;
  --pv-muted: #4d6070;
  --pv-rule: #d2dade;
  --pv-cream: #faf7f1;
  --pv-paper: #fbfaf7;
  --pv-tint: #eff3f7;
  --pv-serif: "Noto Serif JP", "Noto Serif CJK JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --pv-sans: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 1.2rem; }
body { margin: 0; color: var(--pv-ink); background: #fff; font: 16px/1.8 var(--pv-sans); overflow-wrap: anywhere; }
a { color: var(--pv-blue); text-underline-offset: .25em; }
button, input, select, textarea { font: inherit; }
button, a, input, textarea, select, summary { outline-offset: 4px; }
:focus-visible { outline: 3px solid #a06236; }
.mast, .foot {
  display: flex; align-items: center; justify-content: space-between; gap: 1.3rem; flex-wrap: wrap;
  margin: 0 auto; padding: 17px clamp(20px, 5.5vw, 82px); max-width: 1280px;
}
.mast { min-height: 68px; border-bottom: 1px solid var(--pv-rule); }
.foot { min-height: 82px; border-top: 1px solid var(--pv-rule); margin-top: 4rem; color: var(--pv-muted); font-size: .94rem; }
.mast nav, .foot nav { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(10px, 2vw, 25px); }
.mast a, .foot a { color: var(--pv-ink); text-decoration: none; }
.mast a:hover, .foot a:hover { color: var(--pv-brown); text-decoration: underline; }
.pv {
  max-width: 1280px; margin: auto; padding: 0 clamp(20px, 5.5vw, 82px);
  color: var(--pv-ink); font-family: var(--pv-sans); font-size: 1rem; line-height: 1.85;
}
.pv-inner { max-width: 1080px; }
.pv :where(h1, h2, h3, h4, p, dl, dd) { margin: 0; }
.pv :where(h1, h2, h3) { font-family: var(--pv-serif); font-weight: 600; text-wrap: balance; word-break: normal; overflow-wrap: anywhere; }
.pv h1 { font-size: clamp(2.12rem, 4.6vw, 4rem); line-height: 1.27; letter-spacing: .01em; }
.pv h1 span { display: block; }
.pv-hero h1 .pv-title-phrase { display: inline-block; white-space: nowrap; }
.pv h2 { font-size: clamp(1.52rem, 3vw, 2.4rem); line-height: 1.46; }
.pv h3 { font-size: clamp(1.16rem, 1.75vw, 1.42rem); line-height: 1.52; }
.pv h4 { font: 650 1.02rem/1.65 var(--pv-sans); }
.pv p { margin-top: .6rem; }
.pv img { max-width: 100%; height: auto; }
.pv .pv-kicker, .pv-role, .pv-flow li > span {
  color: var(--pv-brown); font-weight: 650; letter-spacing: .035em; font-size: .92rem;
}
.pv .pv-kicker { margin: 0 0 .35rem; }
.pv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.4rem; margin-top: 1.4rem; }
.pv-link { color: var(--pv-blue); font-size: .98rem; font-weight: 620; text-decoration-thickness: 1px; text-underline-offset: .28em; }
.pv-link:hover { color: var(--pv-brown); }
.pv-button { display: inline-flex; align-items: center; justify-content: center; min-height: 47px; padding: .58rem 1.25rem; border: 1px solid var(--pv-blue); border-radius: 4px; background: var(--pv-blue); color: white; text-decoration: none; font-size: .98rem; font-weight: 640; line-height: 1.54; }
.pv-button:hover { color: white; background: #193852; }
.pv-button-quiet { color: var(--pv-blue); background: white; }
.pv-button-quiet:hover { color: var(--pv-blue); background: var(--pv-tint); }
.pv-hero {
  position: relative; isolation: isolate; display: grid; align-items: center; grid-template-columns: 1fr;
  gap: clamp(10px, 2vw, 32px); padding: clamp(36px, 6.5vw, 92px) 0 clamp(16px, 3vw, 32px);
}
.pv-hero::before { position: absolute; z-index: -1; content: ""; inset: 0 calc(-1 * clamp(20px, 5.5vw, 82px)); background: linear-gradient(to bottom, white 0%, #faf9f5 76%, white); }
.pv-hero-copy { max-width: 43rem; }
.pv-hero h1 { margin: .6rem 0 1.1rem; }
.pv-lead, .pv-subtitle { color: var(--pv-muted); font-size: clamp(1rem, 1.5vw, 1.15rem); max-width: 49em; }
.pv-hero .pv-home-lead { color: var(--pv-ink); font-size: clamp(1.15rem, 1.7vw, 1.35rem); line-height: 1.85; }
.pv-home-lead strong { font-weight: 750; }
.pv-home-lead .pv-source-title { font-weight: 650; }
.pv-lead-outcome { display: block; margin-top: .65em; }
.pv-hero-art { width: 100%; mix-blend-mode: multiply; display: block; }
.pv-section { margin: clamp(38px, 6vw, 80px) 0; scroll-margin-top: 24px; }
.pv-section-head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.25rem; }
.pv-section-head > span, .pv-source-note { color: var(--pv-muted); font-size: .94rem; }
.pv-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.7vw, 22px); }
.pv-card {
  display: flex; flex-direction: column; gap: .35rem; color: var(--pv-ink); background: var(--pv-paper);
  padding: clamp(15px, 2vw, 25px); border-top: 3px solid var(--pv-blue); border-bottom: 1px solid var(--pv-rule); text-decoration: none;
}
.pv-card:hover { color: var(--pv-ink); background: #f1f4f7; }
.pv-card h3 { font-family: var(--pv-serif); }
.pv-card-title .pv-role { font-family: var(--pv-sans); font-size: clamp(1.35rem, 2vw, 1.65rem); line-height: 1.45; font-weight: 750; letter-spacing: .02em; color: var(--pv-blue); margin: 0 0 .5rem; }
.pv-card .pv-card-course { font-size: 1.15rem; line-height: 1.6; font-weight: 600; }
.pv .pv-course-guide { margin: -.2rem 0 1.25rem; color: var(--pv-muted); }
.pv-card p { margin: 0; }
.pv-card-sub { color: var(--pv-muted); font-size: .97rem; }
.pv-card-impact { margin-top: .65rem; padding-top: .65rem; border-top: 1px solid var(--pv-rule); }
.pv-card-impact span { color: var(--pv-brown); font-size: 1rem; font-weight: 620; }
.pv-card-impact p { font-size: 1rem; line-height: 1.75; }
.pv-card-bottom { display: flex; flex-wrap: wrap; gap: .4rem .8rem; justify-content: space-between; align-items: center; margin-top: auto; padding-top: .75rem; color: var(--pv-muted); font-size: .95rem; }
.pv-card-cta { color: var(--pv-blue); font-size: 1rem; font-weight: 700; }
.pv-card:hover .pv-card-cta { text-decoration: underline; text-underline-offset: .25em; }
.pv-card-bottom b { color: var(--pv-blue); font-size: 1.2rem; }
.pv-effect-sample { display: grid; align-items: center; grid-template-columns: 1.2fr 1fr; gap: clamp(20px, 4vw, 58px); margin: 3rem 0; padding: clamp(20px, 3.5vw, 44px); background: var(--pv-tint); border-left: 4px solid var(--pv-blue); }
.pv-effect-sample .pv-link { display: inline-block; margin-top: .8rem; }
.pv-chart { padding: clamp(14px, 2vw, 24px); background: white; border: 1px solid var(--pv-rule); }
.pv-chart h3 { font-size: 1.08rem; margin-bottom: .8rem; }
.pv-chart p { font-size: .9rem; color: var(--pv-muted); }
.pv-bar { display: grid; grid-template-columns: 3.2rem minmax(40px, 1fr) 4.2rem; align-items: center; gap: 8px; margin: .6rem 0; font-size: .95rem; }
.pv-bar i { height: 12px; display: block; background: #e5e8e9; border-right: 2px solid #637482; }
.pv-bar i b { display: block; height: 100%; background: #748696; }
.pv-bar-after i b { background: #a4673f; }
.pv-flow, .pv-program { list-style: none; padding: 0; }
.pv-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; margin: 1.1rem 0 1.5rem; }
.pv-flow li { border-top: 2px solid var(--pv-blue); padding-top: .85rem; }
.pv-flow strong, .pv-program li > span { color: var(--pv-blue); }
.pv-flow p, .pv-options p, .pv-program p { color: var(--pv-muted); font-size: .97rem; }
.pv-options, .pv-axes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.pv-options > div, .pv-axes > div { background: var(--pv-paper); padding: 17px 20px; border-top: 2px solid var(--pv-blue); }
.pv-options .pv-link { display: inline-block; margin-top: .6rem; }
.pv-foundation { margin: 2.5rem 0; padding: clamp(20px, 3vw, 38px); border-top: 1px solid var(--pv-rule); background: #f2f4f6; }
.pv-foundation p:not(.pv-kicker) { max-width: 58rem; }
.pv-foundation > .pv-link { display: inline-block; margin-top: .8rem; }
.pv-book { display: grid; grid-template-columns: minmax(180px, 28%) minmax(0, 1fr); align-items: start; gap: clamp(24px, 3.6vw, 46px); margin: 2.6rem 0; padding: clamp(22px, 3vw, 38px); background: var(--pv-cream); border: 1px solid var(--pv-rule); }
.pv-book-cover { display: block; width: 100%; max-width: 290px; justify-self: center; color: var(--pv-blue); text-align: center; text-decoration: none; }
.pv-book-cover img { display: block; width: 100%; box-shadow: 0 5px 18px #1f334821; }
.pv-book-cover span { display: inline-block; margin-top: .8rem; font-size: 1rem; text-decoration: underline; text-underline-offset: .25em; }
.pv-book-cover:hover span { color: var(--pv-brown); }
.pv-book-content { min-width: 0; }
.pv-book h2 { font-size: clamp(1.7rem, 2.6vw, 2.15rem); line-height: 1.5; }
.pv-book p:not(.pv-kicker) { font-size: 1.125rem; line-height: 1.85; }
.pv-book .pv-book-name { margin-top: 1.2rem; }
.pv-book-name span, .pv-book-name strong { display: block; }
.pv-book-name span { font-size: 1.06rem; }
.pv-book-name strong { margin-top: .2rem; font-size: clamp(1.25rem, 1.8vw, 1.5rem); line-height: 1.65; }
.pv-book .pv-book-description { margin-top: 1.2rem; }
.pv-book-acquire { margin-top: 1.5rem; padding-top: 1.3rem; border-top: 1px solid #cfbfae; }
.pv-book-acquire .pv-actions { margin-top: .9rem; }
.pv-book-acquire .pv-button, .pv-book-acquire .pv-link { font-size: 1.06rem; }
.pv-reading-note { margin-top: .8rem; border-block: 1px solid var(--pv-rule); }
.pv-reading-note summary { cursor: pointer; min-height: 44px; padding: .55rem 0; color: var(--pv-blue); font-weight: 600; }
.pv .pv-reading-note p { margin: 0 0 .65rem; }
.pv-crumb { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; padding: 20px 0 0; color: var(--pv-muted); font-size: .91rem; }
.pv-page-hero { margin: clamp(28px, 4vw, 55px) 0; }
.pv-page-hero h1 { font-size: clamp(2.05rem, 4.3vw, 3.6rem); }
.pv-course-context { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem 1rem; margin-bottom: .6rem; }
.pv-course-context strong { color: var(--pv-blue); font-size: clamp(1.35rem, 2.1vw, 1.7rem); line-height: 1.45; font-weight: 750; }
.pv-course-context span { color: var(--pv-muted); font-size: 1rem; }
.pv-page-hero .pv-course-purpose { color: var(--pv-ink); font-size: clamp(1.25rem, 2.2vw, 1.7rem); line-height: 1.65; font-weight: 650; }
.pv-course-description { color: var(--pv-muted); font-size: 1.05rem; line-height: 1.85; }
.pv-learning-themes, .pv-common-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; list-style: none; padding: 0; margin: 1.1rem 0; }
.pv-learning-themes li { border-top: 3px solid var(--pv-blue); padding: 16px; background: var(--pv-tint); font-size: 1.1rem; font-weight: 650; }
.pv-common-features { gap: 16px; margin: 1.3rem 0 1.8rem; }
.pv-common-features li { min-width: 0; min-height: 148px; padding: 20px 22px; background: var(--pv-tint); border-top: 3px solid var(--pv-blue); color: var(--pv-blue); }
.pv-common-features strong { display: block; font-size: clamp(1.15rem, 1.7vw, 1.35rem); line-height: 1.65; font-weight: 750; }
.pv-common-features span { display: block; margin-top: .6rem; font-size: 1.06rem; line-height: 1.8; color: var(--pv-ink); }
.pv-intro-proof { display: grid; grid-template-columns: 1fr 1.15fr; gap: 24px; padding: 22px 0; margin: .5rem 0 2rem; border-block: 1px solid var(--pv-rule); }
.pv-intro-proof h2 { font-size: clamp(1.3rem, 2vw, 1.6rem); }
.pv-intro-proof p { font-size: 1rem; line-height: 1.8; }
.pv-intro-book { display: grid; grid-template-columns: clamp(130px, 14vw, 180px) minmax(0, 1fr); gap: 22px; align-items: start; padding-left: 24px; border-left: 1px solid var(--pv-rule); }
.pv-intro-cover { display: block; }
.pv-intro-cover img { display: block; width: 100%; height: auto; box-shadow: 0 4px 14px #1f33481b; }
.pv-intro-book h3 { font-size: clamp(1.25rem, 1.8vw, 1.5rem); line-height: 1.65; }
.pv-intro-book p { font-size: 1.1rem; }
.pv .pv-book-meta { color: var(--pv-muted); font-size: .94rem; }
.pv-book .pv-book-meta { font-size: 1.06rem; }
.pv-intro-proof .pv-link { display: inline-flex; margin-top: .6rem; }
.pv-research { padding: clamp(18px,3vw,36px); background: #f4f6f8; border-top: 3px solid var(--pv-blue); }
.pv-observation-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 1.3rem 0; }
.pv-observation-grid>article { min-width: 0; background: white; padding: 13px 16px 18px; border-bottom: 1px solid var(--pv-rule); }
.pv-observation-art { aspect-ratio: 1; width: 100%; overflow: hidden; max-width: 210px; margin: auto; }
.pv .pv-observation-art img { display: block; width: 300%; max-width: none; height: auto; transform: translateX(calc(var(--panel) * -33.333333%)); }
.pv-observation-grid h3 { margin-top: .45rem; }
.pv .pv-observation-prompt { color: var(--pv-blue); font-size: 1rem; font-weight: 650; }
.pv-observation-grid p { font-size: 1rem; }
.pv-research-scale { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem 1rem; padding: 12px 0 22px; border-bottom: 1px solid var(--pv-rule); }
.pv-research-scale strong { font-size: clamp(1.3rem,2.4vw,1.8rem); }
.pv-research-scale span { font-size: .96rem; color: var(--pv-muted); }
.pv-research-learning { margin: 24px 0; }
.pv-research-learning>h3 { font-size: clamp(1.35rem,2.1vw,1.65rem); }
.pv-research-layers { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.pv-research-layers article { padding: 15px; background: white; border-top: 3px solid #506e88; }
.pv-research-layers article:nth-child(2) { border-color: #8b8475; background: #f6f5f2; }
.pv-research-layers article:nth-child(3) { border-color: #a27554; background: #f8f3ec; }
.pv-research-layers h4 { font-size: 1.25rem; }
.pv-research-layers strong { display: block; margin-top: .3rem; font-size: 1rem; }
.pv-research-layers p { font-size: 1rem; color: var(--pv-muted); }
.pv-research-detail, .pv-training-questions details { border-top: 1px solid var(--pv-rule); }
.pv-research-detail summary, .pv-training-questions summary { cursor: pointer; min-height: 48px; padding: 12px 5px; font-weight: 650; }
.pv-research-detail p, .pv-research-detail ul, .pv-training-questions details p { margin: 0 0 1rem; }
.pv-training-questions details:last-child { border-bottom: 1px solid var(--pv-rule); }
.pv-training-questions h2 { margin-bottom: 1rem; }
.pv-training-contact .pv-button { margin-top: 1rem; gap: .35rem 1rem; flex-wrap: wrap; text-align: center; max-width: 100%; }
.pv-book-uses { list-style: none; display: grid; gap: 12px; padding: 0; margin: 1.5rem 0; }
.pv-book-uses li { display: grid; grid-template-columns: 4.2em minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 15px 17px; background: #fff; border-left: 3px solid #a77b56; }
.pv-book-uses li>span { font-size: 1.08rem; font-weight: 700; color: var(--pv-brown); }
.pv-book-uses strong { font-size: 1.15rem; line-height: 1.65; }
.pv-book .pv-book-uses p { margin: .25rem 0 0; font-size: 1.06rem; }
.pv-research-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.pv-research-links>a { min-width: 0; display: flex; flex-direction: column; padding: clamp(20px, 2.2vw, 28px); border: 1px solid #bdcbd6; border-top: 3px solid var(--pv-blue); background: #fff; color: var(--pv-ink); text-decoration: none; }
.pv-research-links>a>strong { font-family: var(--pv-serif); font-size: clamp(1.3rem, 1.9vw, 1.6rem); line-height: 1.6; margin: .45rem 0 .35rem; }
.pv-research-links>a>p { font-size: 1.08rem; line-height: 1.85; margin-bottom: 1.2rem; }
.pv-research-link-cta { display: flex; justify-content: space-between; gap: 10px; margin-top: auto; font-size: 1.08rem; font-weight: 700; color: var(--pv-blue); }
.pv-research-links>a:hover { background: #edf2f6; border-color: #6f8aa0; }
.pv-research-links>a:hover .pv-research-link-cta { text-decoration: underline; text-underline-offset: .25em; }
.pv-page-hero > .pv-button { margin-top: 1.1rem; }
.pv-outcomes { padding: clamp(16px, 2.8vw, 36px); background: var(--pv-cream); }
.pv-outcomes h2 { font-size: 1.58rem; }
.pv-outcomes-flow { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 15px; align-items: center; margin: 16px 0 12px; }
.pv-outcomes-flow > div { align-self: stretch; background: white; border-top: 2px solid #acb5be; padding: 16px; }
.pv-outcomes-flow > div:last-child { border-color: var(--pv-brown); }
.pv-outcomes-flow > b { color: var(--pv-brown); }
.pv-outcomes-flow span { font-weight: 650; color: var(--pv-muted); font-size: .93rem; }
.pv-outcomes-flow > div:last-child span { color: var(--pv-brown); }
.pv-outcomes-flow p { font-size: 1.02rem; }
.pv-outcomes > p:last-child { color: var(--pv-muted); font-size: .95rem; }
.pv-axes { grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 15px; }
.pv-axes dt, .pv-habit dt { color: var(--pv-blue); font-weight: 650; }
.pv-axes dd { margin-top: .4rem; }
.pv-program { margin: 16px 0; }
.pv-program li { display: grid; grid-template-columns: minmax(110px, 155px) 1fr; gap: 20px; padding: 17px 0; border-top: 1px solid var(--pv-rule); }
.pv-program li > span { font-size: .94rem; font-weight: 650; }
.pv-program h3 { font-size: 1.18rem; }
.pv-scene { border-top: 1px solid var(--pv-rule); }
.pv-scene:last-of-type { border-bottom: 1px solid var(--pv-rule); }
.pv-section > p + .pv-scene { margin-top: 1rem; }
.pv-scene summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .65rem; padding: 13px 3px; }
.pv-scene summary::-webkit-details-marker { display: none; }
.pv-scene summary::after { content: "＋"; color: var(--pv-blue); margin-left: .2rem; font-size: 1.12rem; }
.pv-scene[open] summary::after { content: "−"; }
.pv-index { color: var(--pv-brown); font-size: .89rem; font-weight: 620; }
.pv-scene summary span:last-of-type { margin-left: auto; color: var(--pv-muted); font-size: .91rem; }
.pv-scene-content > article { padding: 17px; background: #f7f9fa; border-top: 1px solid var(--pv-rule); }
.pv-habit { margin-top: .5rem; }
.pv-habit > div { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 8px; margin: .32rem 0; }
.pv-source-note { display: block; margin: .5rem 0; }
@media(min-width: 980px) {
  .pv-hero { grid-template-columns: 1.13fr 1fr; gap: 12px; min-height: 395px; }
  .pv-hero-art { width: 100%; align-self: center; }
}
@media(max-width: 900px) {
  .pv-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pv-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pv-effect-sample { grid-template-columns: 1fr; gap: 14px; }
  .pv-axes { grid-template-columns: 1fr; }
  .pv-axes > div { display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: baseline; gap: 8px; }
  .pv-axes dd { margin: 0; }
  .pv-intro-proof { grid-template-columns: 1fr; }
  .pv-intro-book { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--pv-rule); grid-template-columns: 180px minmax(0, 1fr); }
}
@media(max-width: 600px) {
  .pv-intro-proof, .pv-learning-themes, .pv-common-features, .pv-observation-grid, .pv-research-layers { grid-template-columns: 1fr; }
  .pv-intro-proof { gap: 18px; padding: 18px 0; }
  .pv-intro-book { border-left: 0; border-top: 1px solid var(--pv-rule); padding: 18px 0 0; }
  .pv-intro-book { grid-template-columns: minmax(100px, 37%) minmax(0, 1fr); gap: 16px; }
  .pv-intro-book h3 { font-size: 1.2rem; }
  .pv-intro-book p { font-size: 1.06rem; }
  .pv-common-features { gap: 12px; }
  .pv-common-features li { min-height: 0; padding: 18px 20px; }
  .pv-common-features strong { font-size: 1.2rem; }
  .pv-research-links { grid-template-columns: 1fr; gap: 14px; }
  .pv-research-links>a { padding: 22px; }
  .pv-research-links>a>strong { font-size: 1.45rem; }
  .pv-observation-grid>article { display: grid; grid-template-columns: 80px minmax(0,1fr); gap: 0 12px; padding: 12px; }
  .pv-observation-art { grid-column: 1; grid-row: 1 / span 3; align-self: center; }
  .pv-observation-grid h3, .pv-observation-grid p { grid-column: 2; }
  .pv-observation-grid h3 { margin-top: 0; }
  .pv-research { padding: 18px 13px; }
  .mast, .foot { gap: 9px; padding-block: 12px; }
  .mast nav, .foot nav { gap: 10px; font-size: .9rem; }
  .pv-hero-copy { max-width: 100%; }
  .pv-hero h1 { font-size: clamp(2rem, 7vw, 2.7rem); }
  .pv-hero-art { margin-top: 4px; }
  .pv-section-head { display: block; }
  .pv-cards, .pv-options { grid-template-columns: 1fr; }
  .pv-actions { gap: .7rem 1rem; }
  .pv-card { gap: 3px; }
  .pv-book { grid-template-columns: 1fr; gap: 26px; }
  .pv-book-cover { max-width: 220px; }
  .pv-book-uses li { grid-template-columns: 1fr; gap: 5px; padding: 16px; }
  .pv-training-contact .pv-button { display: flex; flex-direction: column; padding: 14px 18px; }
  .pv-program li { grid-template-columns: 1fr; gap: 2px; }
  .pv-outcomes-flow { grid-template-columns: 1fr; gap: 6px; }
  .pv-outcomes-flow > b { justify-self: center; transform: rotate(90deg); }
  .pv-effect-sample { padding: 16px; }
  .pv-axes > div, .pv-habit > div { grid-template-columns: 54px minmax(0,1fr); }
}
@media(prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
@media print {
  .mast,.foot,.pv-actions,.pv-button,.pv-crumb { display: none !important; }
  .pv { max-width: none; padding: 0; }
  .pv-card, .pv-book, .pv-program li, .pv-scene-content article, .pv-outcomes { break-inside: avoid; }
}
