/* 柿内歯科医院 — buildless, responsive single-page site */
:root{--green:#365f54;--green-dark:#25483e;--ink:#263c35;--muted:#536a61;--sage:#eaf0e9;--ivory:#faf9f5;--line:#d5dfd8;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--header-height:100px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}ul{list-style:none;padding:0;margin:0}button,a{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,iframe:focus-visible{outline:3px solid #b57827;outline-offset:5px}a:hover{color:var(--green-dark)}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 104px));margin-inline:auto}.section{padding-block:78px}.eyebrow{font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.22em;color:var(--muted);margin-bottom:16px}h1,h2,.brand-name,.clinic-name,.footer-brand{font-family:var(--serif);font-weight:500}h2{font-size:clamp(27px,2.7vw,36px);line-height:1.5;letter-spacing:.035em;margin-bottom:17px}.icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.phone-icon{fill:currentColor;stroke:none}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:16px;z-index:100;background:var(--green);color:#fff;padding:10px 20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
/* Header and navigation */
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid #edf0eb}.header-inner{width:min(1340px,calc(100% - 80px));margin:auto;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;flex-direction:column;flex:none;line-height:1.2}.brand-location{font-size:12px;letter-spacing:.12em;margin-bottom:7px}.brand-name{font-size:30px;letter-spacing:.08em}.main-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.main-nav>a:not(.header-phone){position:relative;padding-block:12px}.main-nav>a:not(.header-phone)::after{content:"";height:1px;background:var(--green);position:absolute;bottom:6px;left:0;width:0;transition:width .2s}.main-nav>a:hover::after{width:100%}.header-phone{background:var(--green);color:#fff;display:flex;align-items:center;gap:10px;padding:13px 19px;border-radius:5px;letter-spacing:.025em;font-size:18px;font-weight:500;white-space:nowrap}.header-phone:hover{background:var(--green-dark);color:#fff}.menu-toggle{display:none}
/* Hero */
.hero{position:relative;isolation:isolate;min-height:660px;background:var(--ivory)}.hero-photo{position:absolute;inset:0 0 0 31%;z-index:-1;overflow:hidden}.hero-photo img{height:100%;object-fit:cover;object-position:65% center}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ivory),rgba(250,249,245,.5) 16%,transparent 34%)}.hero-inner{min-height:660px;display:flex;align-items:center;padding-block:58px}.hero-copy{width:52%;max-width:620px}.hero-copy .eyebrow{margin-bottom:26px;font-size:11px;letter-spacing:.23em}h1{font-size:clamp(46px,4.5vw,66px);line-height:1.55;letter-spacing:.045em;margin-bottom:23px;color:#203f35}.hero-description{font-family:var(--serif);font-size:18px;line-height:1.9;margin-bottom:31px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:14px 28px;border:1px solid var(--green);border-radius:6px;font-weight:600;font-size:16px;letter-spacing:.04em;transition:background .2s,color .2s}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:var(--green-dark);color:#fff}.button-outline{color:var(--green);background:transparent}.button-outline:hover{background:var(--sage)}.hero-cta{min-width:310px}.hero-scroll{width:310px;display:flex;justify-content:center;align-items:center;gap:18px;padding-top:20px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:6px}
/* Opening hours */
.hours-grid{display:grid;grid-template-columns:.85fr 1.3fr;gap:48px;align-items:start}.hours-intro{border-right:1px solid var(--line);padding-right:30px}.hours-intro>p:not(.eyebrow){font-size:14px}.phone-number{display:flex;align-items:center;gap:12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.1vw,43px);line-height:1.5;white-space:nowrap;color:var(--green);margin-top:14px}.phone-number .icon{width:30px;height:30px}.reservation-label{display:inline-block;font-size:14px;margin-left:42px;border-bottom:1px solid var(--line);letter-spacing:.1em}.schedule{min-width:0;padding-top:2px}table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:15px;line-height:1.5}th,td{border:1px solid var(--line);text-align:center;height:58px;padding:10px 3px}thead th{background:var(--sage);font-weight:500}th:first-child{width:28%;white-space:nowrap;font-weight:500}tbody td{color:var(--green);font-size:18px}.schedule-notes{font-size:13px;line-height:1.8;margin-top:15px}
/* Treatments */
.treatment{background:var(--sage);padding-block:67px 75px}.section-lead{font-family:var(--serif);font-size:19px;letter-spacing:.04em}.treatment-list{display:grid;grid-template-columns:repeat(5,1fr);margin-top:42px}.treatment-list li{text-align:center;padding:4px 12px 0;border-right:1px solid #c7d5cb}.treatment-list li:last-child{border:0}.service-icon{display:block;width:70px;height:70px;margin:0 auto 20px;stroke:var(--green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;fill:none}.treatment-list h3{font-family:var(--serif);font-size:21px;font-weight:600;margin-bottom:8px;line-height:1.5}.treatment-list p{font-size:13px;line-height:1.7}
/* Philosophy */
.approach{background:var(--ivory);padding-block:64px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.approach-photo{position:relative}.approach-photo img{aspect-ratio:4/3;object-fit:cover}.approach-copy h2{font-size:clamp(26px,2.6vw,35px);margin-bottom:24px}.approach-copy p:not(.eyebrow){font-family:var(--serif);font-size:17px;line-height:2.1;margin-top:9px}.small-break{display:none}
/* Access */
.access-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:center}.access-copy h2{margin-bottom:25px}.clinic-name{font-size:25px;margin-bottom:10px}address{font-style:normal;font-size:16px;line-height:1.9}.parking{font-size:14px;margin-top:9px}.access-phone{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:28px;margin-top:10px;margin-bottom:18px;color:var(--green)}.access-copy .button{font-size:15px;gap:24px;padding-inline:22px}.access-copy .button .icon{width:18px;height:18px}.map-block{background:#f1f4ef;min-width:0}.map-block iframe{display:block;width:100%;height:360px;border:0}.map-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;padding:10px 12px;color:var(--muted)}.map-note .icon{width:16px;height:16px}
/* Contact and footer */
.contact{background:var(--green);color:#fff;text-align:center;padding-block:45px 40px}.contact h2{font-family:var(--sans);font-size:18px;letter-spacing:.1em;margin-bottom:8px}.contact-phone{display:inline-flex;align-items:center;justify-content:center;gap:18px;font-family:Georgia,serif;font-size:58px;line-height:1.4;letter-spacing:.02em}.contact-phone .icon{width:38px;height:38px}.contact a:hover{color:#e3ece4}.contact p{font-size:14px;letter-spacing:.07em;margin-top:8px}.contact-hours{display:inline-flex;gap:14px;align-items:center;font-size:12px;border-bottom:1px solid #b2c8bc;margin-top:20px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:85px}.footer-brand{font-size:20px;letter-spacing:.05em}.site-footer small{font-size:11px;color:var(--muted)}.mobile-reservation{display:none}
/* Tablet */
@media(min-width:1500px){.hero-photo{left:36%}.hero-inner,.hero{min-height:710px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.header-inner{width:calc(100% - 56px);gap:20px}.main-nav{gap:19px;font-size:13px}.brand-name{font-size:27px}.header-phone{font-size:16px;padding:12px 15px}.hero,.hero-inner{min-height:620px}.hero-copy{width:57%}h1{font-size:52px}.hero-description{font-size:17px}.hours-grid{grid-template-columns:.9fr 1.2fr;gap:30px}.hours-intro{padding-right:22px}.phone-number{font-size:31px;gap:8px}.phone-number .icon{width:24px;height:24px}th,td{height:56px}table{font-size:13px}.treatment-list p{font-size:12px}.treatment-list h3{font-size:19px}.approach-grid{gap:40px}.access-grid{gap:40px}.small-break{display:block}}
@media(max-width:900px){:root{--header-height:86px}.container{width:calc(100% - 56px)}.header-inner{flex-wrap:wrap;gap:0;position:relative}.brand-name{font-size:26px}.main-nav{width:100%;justify-content:space-between;flex-wrap:wrap;padding:15px 0 22px;gap:14px}.js .main-nav{position:absolute;top:100%;left:-28px;right:-28px;width:auto;background:#fff;padding:22px 28px;border-top:1px solid var(--line);box-shadow:0 12px 18px rgb(20 40 30 / 6%)}.menu-toggle:not([hidden]){width:52px;height:54px;border:0;background:transparent;color:var(--green);padding:8px 3px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:9px;cursor:pointer}.menu-label{font-size:9px;line-height:1}.menu-lines{display:block;width:24px;height:12px;border-block:1px solid currentColor;position:relative}.menu-lines::after{content:"";width:24px;height:1px;position:absolute;top:5px;left:0;background:currentColor}.menu-toggle[aria-expanded="true"] .menu-lines{border:0}.menu-toggle[aria-expanded="true"] .menu-lines::before,.menu-toggle[aria-expanded="true"] .menu-lines::after{content:"";height:1px;width:24px;position:absolute;top:5px;left:0;background:currentColor;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-lines::after{transform:rotate(-45deg)}.hero,.hero-inner{min-height:575px}.hero-copy{width:65%}h1{font-size:46px}.hero-photo{left:24%}.hero-photo::after{background:linear-gradient(90deg,var(--ivory),rgba(250,249,245,.8) 20%,transparent 65%)}.hero-description{font-size:15px}.hero-cta{min-width:280px;font-size:15px}.hero-scroll{width:280px}.section{padding-block:60px}.hours-grid{grid-template-columns:1fr;gap:28px}.hours-intro{border:0;padding:0}.hours-intro h2{margin-bottom:12px}.phone-number{font-size:37px}.reservation-label{margin-left:34px}.schedule{max-width:100%}table{font-size:15px}.treatment-list{grid-template-columns:repeat(3,1fr);gap:28px 0}.treatment-list li:nth-child(3){border:0}.treatment-list li:nth-child(4),.treatment-list li:nth-child(5){border-top:1px solid #c7d5cb;padding-top:28px}.treatment-list li:nth-child(5){border-right:1px solid #c7d5cb}.approach-grid{gap:30px}.approach-copy h2{font-size:27px}.approach-copy p:not(.eyebrow){font-size:15px}.approach-photo img{aspect-ratio:4/5}.access-grid{gap:30px;grid-template-columns:.9fr 1.1fr}address{font-size:14px}.access-phone{font-size:25px}.access-copy .button{font-size:13px;padding-inline:16px;gap:14px}.map-block iframe{height:350px}.contact-phone{font-size:50px}}
/* Mobile: full-width photography, stacked sections, always-available telephone */
@media(max-width:600px){:root{--header-height:78px}html{scroll-padding-top:94px}body{font-size:15px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.container{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px)}.brand-location{font-size:10px;margin-bottom:5px}.brand-name{font-size:25px}.js .main-nav{left:-20px;right:-20px;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font-size:14px;gap:12px}.main-nav .header-phone{grid-column:1/-1;justify-content:center}.main-nav:not([hidden])>.header-phone{font-size:17px}.hero{display:flex;flex-direction:column;min-height:0}.hero-photo{position:relative;inset:auto;order:0;z-index:0;height:310px;background:#f1efe9}.hero-photo img{object-position:74% 40%;height:100%;width:100%;object-fit:cover}.hero-photo::after{display:none}.hero-inner{order:1;min-height:0;display:block;padding-block:34px 31px}.hero-copy{width:100%;max-width:none}.hero-copy .eyebrow{font-size:9px;letter-spacing:.2em;margin-bottom:17px}h1{font-size:clamp(32px,8.7vw,45px);line-height:1.58;letter-spacing:.055em;margin-bottom:19px}.hero-description{font-size:15px;line-height:1.95;margin-bottom:23px}.hero-cta{display:flex;width:100%;min-width:0;min-height:56px;font-size:15px;gap:16px}.hero-scroll{width:100%;padding-top:19px;font-size:12px}.section{padding-block:46px}.eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:12px}h2{font-size:27px;margin-bottom:15px}.hours-grid{gap:24px}.hours-intro>p:not(.eyebrow){font-size:13px}.phone-number{font-size:37px;margin-top:11px;gap:10px}.phone-number .icon{width:28px;height:28px}.reservation-label{font-size:12px;margin-left:38px}table{font-size:12px;line-height:1.4}th,td{height:51px;padding:8px 2px}th:first-child{width:30%;font-size:12px;font-variant-numeric:tabular-nums}tbody td{font-size:15px}.mobile-break{display:block}.schedule-notes{font-size:12px;margin-top:12px}.section-lead{font-size:16px}.treatment-list{grid-template-columns:1fr;margin-top:25px;gap:0}.treatment-list li,.treatment-list li:nth-child(n){display:flex;align-items:center;gap:25px;border:0;border-top:1px solid #c7d5cb;padding:20px 10px;text-align:left}.treatment-list li:last-child{border-bottom:1px solid #c7d5cb}.service-icon{margin:0;width:55px;height:55px;flex:none}.treatment-list h3{font-size:20px;margin-bottom:4px}.treatment-list p{font-size:13px}.approach-grid{grid-template-columns:1fr;gap:30px}.approach-photo img{aspect-ratio:4/3}.approach-copy h2{font-size:27px;margin-bottom:16px}.approach-copy p:not(.eyebrow){font-size:15px;line-height:2}.approach-copy .small-break{display:none}.access-grid{grid-template-columns:1fr;gap:30px}.access-copy h2{margin-bottom:20px}.clinic-name{font-size:23px}address{font-size:15px}.parking{font-size:13px;margin-top:8px}.access-phone{font-size:29px;margin-top:9px;margin-bottom:18px}.access-copy .button{font-size:14px;min-height:52px;padding-inline:22px;gap:25px}.map-block iframe{height:300px}.map-note{font-size:11px}.contact{padding-block:36px}.contact h2{font-size:16px;margin-bottom:10px}.contact-phone{font-size:clamp(30px,8.2vw,44px);gap:10px;letter-spacing:0}.contact-phone .icon{width:27px;height:27px}.contact p{font-size:12px}.contact-hours{font-size:11px;margin-top:18px}.footer-inner{min-height:105px;flex-direction:column;justify-content:center;gap:8px}.footer-brand{font-size:19px}.site-footer small{font-size:10px}.mobile-reservation{position:fixed;z-index:40;inset:auto 0 0;display:grid;grid-template-columns:1fr 105px;padding-bottom:env(safe-area-inset-bottom);background:var(--green);box-shadow:0 -3px 12px rgb(20 40 30 / 10%)}.mobile-reservation>a{height:72px;color:#fff;display:flex;align-items:center;justify-content:center;gap:12px}.mobile-reservation>a:first-child{background:var(--green)}.mobile-reservation>a:first-child:hover{background:var(--green-dark)}.mobile-reservation>a:first-child span{display:flex;flex-direction:column;gap:2px}.mobile-reservation strong{font-size:14px;line-height:1.5;font-weight:500;letter-spacing:.04em}.mobile-reservation small{font-size:12px;line-height:1.5;letter-spacing:.06em}.mobile-reservation>a:last-child{flex-direction:column;background:var(--ivory);color:var(--green);gap:3px;font-size:11px;line-height:1.5}.mobile-reservation .clock-icon{width:22px;height:22px}.mobile-reservation a:focus-visible{outline-offset:-5px}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.header-inner{width:calc(100% - 32px)}.brand-name{font-size:23px}.hero-photo{height:270px}.hero-description{font-size:13px}.phone-number{font-size:32px;gap:8px}th:first-child{font-size:10px}table{font-size:11px}.approach-copy h2{font-size:25px}.approach-copy .small-break{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{.site-header{position:static}.menu-toggle,.mobile-reservation,.hero-cta,.hero-scroll,.contact-hours{display:none!important}body{padding:0;color:#000}.hero,.hero-inner{min-height:420px}.section{padding-block:30px}.contact{background:#fff;color:var(--green)}.map-block iframe{height:250px}a[href^="tel"]{color:inherit}section{break-inside:avoid}}

/* Non-interactive arrival information: prose instead of navigation-like items. */
.visit-note { background: #f2f5ef; padding-block: 28px; }
.visit-note-inner { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: start; gap: 30px; }
.visit-note h2 { margin: 3px 0 0; font-family: var(--sans); font-size: 14px; font-weight: 600; line-height: 1.9; letter-spacing: .06em; color: var(--muted); }
.visit-note-copy { font-size: 15px; line-height: 1.95; }
.visit-note-copy p + p { margin-top: 2px; }
@media (max-width: 900px) {
  .visit-note-inner { grid-template-columns: 130px minmax(0, 1fr); gap: 24px; }
  .visit-note-copy { font-size: 14px; }
}
@media (max-width: 600px) {
  .visit-note { padding-block: 25px; }
  .visit-note-inner { grid-template-columns: 1fr; gap: 10px; }
  .visit-note h2 { margin: 0; font-size: 13px; }
  .visit-note-copy { font-size: 14px; line-height: 1.95; }
  .visit-note-copy p + p { margin-top: 8px; }
}

/* Director's greeting and the clinic's philosophy */
.director-section { background: var(--ivory); padding-block: 80px; }
.director-section .section-heading { margin-bottom: 38px; }
.director-section .section-heading h2 { margin-bottom: 0; }
.director-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 64px; align-items: start; }
.director-portrait { margin: 0; max-width: 440px; width: 100%; }
.director-portrait img { width: 100%; height: auto; border-radius: 8px; }
.director-copy { min-width: 0; }
.message-heading { margin: 0 0 28px; color: var(--green-dark); font-family: var(--serif); font-size: clamp(26px, 2.55vw,34px); font-weight: 500; line-height: 1.75; letter-spacing: .035em; overflow-wrap: anywhere; }
.reading-copy { font-size: 15px; line-height: 2.05; letter-spacing: .025em; overflow-wrap: break-word; }
.reading-copy > p + p { margin-top: 18px; }
.director-signature { margin-top: 32px; display: flex; justify-content: flex-end; align-items: baseline; flex-wrap: wrap; gap: 12px; color: var(--green-dark); }
.director-signature span { font-size: 13px; letter-spacing: .05em; }
.director-signature strong { font-family: var(--serif); font-size: 25px; font-weight: 500; letter-spacing: .12em; }
.belief-section { padding-block: 76px; }
.belief-section .belief-grid { display: grid; grid-template-columns: minmax(0, .38fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.belief-label { padding-top: 7px; }
.belief-label h2 { font-family: var(--sans); font-size: 19px; line-height: 1.8; letter-spacing: .04em; font-weight: 500; margin: 0; }
.belief-label::after { content: ""; display: block; height: 2px; width: 38px; background: #92ad9c; margin-top: 23px; }
.belief-body { min-width: 0; max-width: 780px; }
.belief-body .message-heading { font-size: clamp(25px, 2.4vw,32px); }
.belief-emphasis { margin-top: 30px !important; color: var(--green-dark); font-family: var(--serif); font-size: 22px; line-height: 1.85; letter-spacing: .04em; }
.insurance-section { background: #eef3ed; }
.insurance-section .message-heading { font-size: clamp(23px, 2.2vw,29px); line-height: 1.9; }
.insurance-section .reading-copy > p:nth-of-type(3),
.insurance-section .reading-copy > p:nth-of-type(9) { margin-top: 28px; }

@media (max-width: 1100px) {
  .director-grid { gap: 42px; }
  .belief-section .belief-grid { grid-template-columns: minmax(0, .3fr) minmax(0, 1fr); gap: 40px; }
  .belief-label h2 { font-size: 17px; }
}
@media (max-width: 900px) {
  .director-section, .belief-section { padding-block: 60px; }
  .director-grid { grid-template-columns: minmax(0, .75fr) minmax(0, 1fr); gap: 30px; }
  .director-copy .message-heading { font-size: 25px; line-height: 1.8; }
  .reading-copy { font-size: 14px; }
  .belief-section .belief-grid { grid-template-columns: 1fr; gap: 24px; }
  .belief-label { padding-top: 0; }
  .belief-label::after { margin-top: 16px; }
  .belief-body { max-width: none; }
}
@media (max-width: 680px) {
  .director-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .director-portrait { width: min(100%, 390px); margin-inline: auto; }
  .director-section .section-heading { margin-bottom: 26px; }
  .director-copy .message-heading { font-size: 27px; }
}
@media (max-width: 600px) {
  .js .main-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .director-section, .belief-section { padding-block: 46px; }
  .director-portrait img { border-radius: 5px; }
  .director-copy .message-heading, .belief-body .message-heading { font-size: 25px; line-height: 1.85; letter-spacing: .02em; margin-bottom: 22px; }
  .insurance-section .message-heading { font-size: 23px; }
  .reading-copy { font-size: 15px; line-height: 2; letter-spacing: .015em; }
  .reading-copy > p + p { margin-top: 17px; }
  .director-signature { margin-top: 25px; gap: 8px; }
  .director-signature span { font-size: 12px; }
  .director-signature strong { font-size: 23px; }
  .belief-section .belief-grid { gap: 25px; }
  .belief-label h2 { font-size: 17px; }
  .belief-emphasis { font-size: 20px; line-height: 1.9; margin-top: 26px !important; }
}
@media (max-width: 360px) {
  .director-copy .message-heading, .belief-body .message-heading { font-size: 23px; }
  .insurance-section .message-heading { font-size: 21px; }
  .reading-copy { font-size: 14px; }
}
@media print {
  .director-section, .belief-section { break-inside: auto; }
  .message-heading, .belief-label { break-after: avoid; }
  .reading-copy p { orphans: 3; widows: 3; }
}
