/* Steady / Опора — responsive, dependency-free design system. */
:root {
  --paper: #f8f5ed;
  --surface: #fffdf8;
  --ink: #293f37;
  --muted: #56645b;
  --green: #31594c;
  --green-hover: #254539;
  --sage: #e7ecdf;
  --line: #d8ddd0;
  --clay: #9e6046;
  --sand: #f1e7d8;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --radius: 24px;
  --shadow: 0 16px 40px #354e3910;
  font-family: var(--sans);
  font-size: 17px;
  color: var(--ink);
  background: var(--paper);
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.65; -webkit-font-smoothing: antialiased; }
::selection { background: #dbe4cd; color: #223f32; }
:focus-visible { outline: 3px solid #8e5038; outline-offset: 5px; border-radius: 4px; }
a { color: var(--green); text-underline-offset: 4px; }
button, input, textarea { font: inherit; }
button, summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .65; }
img, svg { max-width: 100%; }
img { display: block; }
p { margin: 0 0 1rem; }
h1, h2, h3, h4 { line-height: 1.19; margin: 0; font-weight: 500; }
h1, h2 { font-family: var(--serif); letter-spacing: -.035em; }
h2 { font-size: clamp(2.1rem, 3.5vw, 3.1rem); }
h3 { font-size: 1.32rem; letter-spacing: -.025em; }
h4 { font-size: 1.23rem; }
[hidden] { display: none !important; }
.container { width: min(1192px, calc(100% - 96px)); margin-inline: auto; }
.section { padding-top: 100px; padding-bottom: 100px; }
.section-heading { max-width: 740px; margin-bottom: 40px; }
.section-heading h2 { margin-bottom: 22px; }
.section-intro { font-size: 1.08rem; color: var(--muted); margin-bottom: 6px; }
.eyebrow { font-size: .68rem; letter-spacing: .17em; font-weight: 700; color: #4a6859; margin-bottom: 23px; }
.micro { font-size: .65rem; font-weight: 700; letter-spacing: .1em; }
.muted { color: var(--muted); }
.small-note, .section-note { font-size: .85rem; line-height: 1.6; color: var(--muted); }
.small-note { margin-top: 20px; margin-bottom: 0; }
.icon { width: 24px; height: 24px; flex-shrink: 0; vertical-align: middle; }
.icon-tile { width: 47px; height: 47px; border-radius: 15px; display: inline-flex; justify-content: center; align-items: center; background: var(--sage); }
.citations { display: inline-flex; gap: 4px; font-size: .7rem; margin: 0 0 0 4px; vertical-align: baseline; }
.citations a { min-width: 27px; min-height: 30px; display: inline-flex; align-items: center; justify-content: center; color: #526a5a; text-decoration: none; border-radius: 6px; }
.citations a:hover { background: #e8eadd; text-decoration: underline; }
.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: -90px; left: 20px; z-index: 200; padding: 12px 22px; background: var(--ink); color: white; }
.skip-link:focus { top: 12px; }
.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid #d8ddd087; background: #f8f5edf5; backdrop-filter: blur(14px); }
.header-inner { width: min(1330px, calc(100% - 64px)); margin: auto; display: flex; gap: 26px; align-items: center; min-height: 90px; }
.brand { display: inline-flex; gap: 12px; align-items: center; color: var(--ink); text-decoration: none; flex-shrink: 0; }
.brand-icon { display: inline-flex; width: 43px; height: 43px; background: var(--green); color: #e7eedc; border-radius: 50%; align-items: center; justify-content: center; }
.brand-icon .icon { width: 25px; height: 25px; }
.brand strong { font-family: var(--serif); font-weight: 500; font-size: 1.7rem; line-height: 1.15; display: block; letter-spacing: -.05em; }
.brand small { display: block; font-size: .59rem; margin-top: 3px; color: var(--muted); }
.main-nav { display: flex; gap: clamp(12px, 1.5vw, 26px); align-items: center; margin-left: auto; }
.main-nav a { text-decoration: none; color: #43574b; font-size: .77rem; padding-block: 14px; white-space: nowrap; }
.main-nav a:hover { text-decoration: underline; }
.header-tools { display: flex; align-items: center; gap: 12px; }
.text-size { min-width: 44px; min-height: 44px; border: none; background: none; color: var(--ink); font-family: var(--serif); font-size: 1.1rem; }
.a-plus { font-size: .7em; }
.text-size[aria-pressed="true"] { background: var(--sage); border-radius: 50%; }
.language-switch { display: inline-flex; padding: 4px; border: 1px solid var(--line); border-radius: 100px; gap: 1px; background: #fdfbf5; }
.language-switch button { font-size: .69rem; border: 0; background: transparent; color: var(--ink); min-width: 40px; min-height: 36px; border-radius: 50px; font-weight: 650; }
.language-switch button[aria-pressed="true"] { background: var(--green); color: #fff; }
.hero { display: grid; grid-template-columns: 1.17fr 1fr; gap: 65px; align-items: center; padding-top: 66px; padding-bottom: 70px; }
.hero-copy { padding-block: 5px; }
.hero h1 { font-size: clamp(2.8rem, 4.4vw, 4.0rem); line-height: 1.1; letter-spacing: -.045em; }
.hero h1 em { font-style: italic; color: #5a7a5a; }
.hero-text { color: var(--muted); max-width: 525px; font-size: 1.07rem; line-height: 1.8; margin-top: 25px; margin-bottom: 29px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 23px; align-items: center; }
.button { border: 1px solid transparent; border-radius: 100px; display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 50px; padding: 13px 24px; font-size: .87rem; font-weight: 600; line-height: 1.4; text-decoration: none; text-align: center; transition: background-color .15s, transform .15s; }
.button:hover { transform: translateY(-1px); }
.primary { background: var(--green); color: #fff; }
.primary:hover { background: var(--green-hover); }
.secondary { border-color: #b9c6b9; background: transparent; color: var(--green); }
.secondary:hover { background: var(--sage); }
.text-link { font-size: .87rem; background: none; border: 0; padding: 9px 0; color: var(--green); display: inline-flex; gap: 9px; align-items: center; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.trust-row { margin-top: 27px; display: flex; flex-wrap: wrap; align-items: center; gap: 7px 18px; font-size: .68rem; color: #617162; }
.trust-row > * { display: inline-flex; gap: 6px; align-items: center; text-decoration: none; color: inherit; }
.trust-row a:hover { text-decoration: underline; }
.trust-row .icon { height: 16px; width: 16px; }
.hero-art { position: relative; border-radius: 160px 160px 28px 28px; overflow: hidden; box-shadow: 0 15px 40px #46533313; }
.hero-art img { width: 100%; height: auto; }
.art-caption { position: absolute; bottom: 22px; left: 20px; right: 20px; background: #fffdf6e8; border: 1px solid #ffffff7a; backdrop-filter: blur(10px); border-radius: 16px; padding: 14px 18px; display: flex; align-items: center; gap: 13px; }
.art-caption strong { display: block; font-size: .8rem; font-weight: 500; }
.art-caption span:not(.small-star) { display: block; color: var(--muted); font-size: .7rem; }
.small-star { color: #6b8562; font-size: 1.9rem; }
.reassurance { border-block: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); padding-block: 32px; }
.reassurance article { padding: 0 35px; position: relative; }
.reassurance article:first-child { padding-left: 0; }
.reassurance article:last-child { padding-right: 0; }
.reassurance article + article { border-left: 1px solid var(--line); }
.stat-number { font-size: 2.25rem; font-family: var(--serif); font-weight: 500; line-height: 1.2; display: block; color: #4f6a54; margin-bottom: 10px; }
.reassurance h2 { font: 500 1.08rem/1.35 var(--sans); letter-spacing: -.025em; display: inline; }
.reassurance p { font-size: .84rem; color: var(--muted); margin: 12px 0 0; }
.small-icon { margin-right: 8px; }
.small-icon .icon { width: 21px; height: 21px; margin-bottom: 2px; }
.pattern-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 34px; background: var(--surface); box-shadow: var(--shadow); }
.pattern-top { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; }
.pattern-top h3 { font-size: 1.2rem; }
.pattern-top p { font-size: .82rem; max-width: 560px; }
.pattern-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 21px 0 25px; }
.pattern-options button { border: 1px solid var(--line); background: #f8f8f0; color: var(--ink); padding: 13px 15px; text-align: center; border-radius: 13px; font-size: .86rem; min-height: 59px; line-height: 1.5; }
.pattern-options button[aria-selected="true"] { background: var(--green); color: white; border-color: var(--green); }
.pattern-options button:hover { border-color: var(--green); }
.pattern-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; border-radius: 15px; }
.pattern-panel h4 { margin-bottom: 12px; }
.pattern-panel p { font-size: .95rem; color: var(--muted); margin-bottom: 0; }
.ask-card { background: #f1eddf; border-radius: 15px; padding: 22px 25px; }
.ask-card .micro { color: #6c6956; margin-bottom: 12px; }
.ask-card p:last-child { color: #374d3d; font-family: var(--serif); font-size: 1.14rem; }
.section-note { border-top: 1px solid var(--line); margin: 24px 0 0; padding-top: 18px; }
.care-section { background: #eef0e6; }
.care-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.care-card { background: var(--surface); border: 1px solid #e3e6d9; border-radius: 21px; padding: 25px 23px 12px; }
.card-top { display: flex; flex-direction: column; gap: 19px; margin-bottom: 17px; }
.card-top .micro { color: #68745d; }
.care-card h3 { font-family: var(--serif); font-size: 1.46rem; line-height: 1.17; margin-bottom: 17px; min-height: 3.4em; }
.care-card > p { font-size: .88rem; color: var(--muted); line-height: 1.8; }
details > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
.plus { font-size: 1.5rem; font-weight: 300; color: #688069; transition: transform .18s; flex-shrink: 0; }
details[open] > summary .plus { transform: rotate(45deg); }
.care-card details { border-top: 1px solid var(--line); margin-top: 19px; }
.care-card summary { font-size: .78rem; color: var(--green); min-height: 49px; }
.care-card details p { font-size: .82rem; line-height: 1.7; color: var(--muted); }
.context-note { display: flex; gap: 17px; padding: 26px 29px; border: 1px solid #cdd6c7; margin-top: 28px; border-radius: 18px; }
.context-note .icon { margin-top: 3px; }
.context-note h3 { font-size: 1.08rem; margin-bottom: 9px; }
.context-note p { font-size: .89rem; color: var(--muted); margin-bottom: 0; }
.reserve { margin-top: 17px; border-bottom: 1px solid #cdd6c7; padding: 0 5px 9px; }
.reserve summary { min-height: 50px; font-size: .95rem; }
.reserve p { font-size: .9rem; color: var(--muted); max-width: 1000px; }
.practice-safety { display: flex; align-items: flex-start; gap: 16px; max-width: 1040px; border-left: 3px solid #9ba58c; padding: 8px 0 6px 20px; margin-bottom: 34px; }
.practice-safety strong { font-size: .91rem; font-weight: 600; }
.practice-safety p { color: var(--muted); margin-top: 7px; margin-bottom: 0; font-size: .84rem; }
.practice-safety .icon { margin-top: 2px; }
.practice-tabs { display: flex; gap: 7px; padding: 6px; background: #eaece1; border-radius: 100px; width: fit-content; margin-bottom: 22px; }
.practice-tabs button { background: none; color: var(--muted); border: 0; padding: 13px 25px; border-radius: 100px; font-size: .88rem; min-height: 47px; }
.practice-tabs button[aria-selected="true"] { background: #fffdf8; box-shadow: 0 3px 10px #4054380c; color: var(--green); }
.practice-frame { border-radius: var(--radius); border: 1px solid #e0e2d5; background: #fffdf7; padding: 35px; min-height: 404px; }
.practice-panel { display: grid; grid-template-columns: .95fr 1.2fr; gap: 54px; align-items: center; }
.practice-copy { padding: 10px 12px 10px 0; }
.practice-copy h3 { font-size: 1.6rem; font-family: var(--serif); margin-bottom: 19px; }
.practice-copy > p { font-size: .95rem; color: var(--muted); }
.breath-visual { padding: 22px 5px; text-align: center; }
.breath-orbit { margin-inline: auto; width: 236px; height: 236px; border-radius: 50%; display: grid; place-items: center; background: #ecf0e3; border: 1px solid #e4e9da; box-shadow: 0 0 0 18px #f3f4eb, 0 0 0 19px #e9ecdfe8; }
.breath-middle { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 187px; height: 187px; border-radius: 50%; background: #dbe4cd; }
.timer-number { font-family: var(--serif); font-size: 3.7rem; line-height: 1; color: #456344; font-variant-numeric: tabular-nums; }
.timer-unit { color: #4f664a; font-size: .69rem; margin-top: 11px; }
.breath-visual > p { margin: 33px 0 0; font-size: .85rem; color: #56734e; }
.breath-orbit.is-running { animation: breathe 9s ease-in-out infinite; }
@keyframes breathe { 0%, 100% { transform: scale(.965); } 50% { transform: scale(1.025); } }
.timer-buttons { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.posture-image { width: 100%; height: auto; }
.movement-steps { font-size: .9rem; color: var(--muted); padding-left: 22px; }
.movement-steps li { padding: 5px 0 5px 5px; }
.routine-art { position: relative; display: grid; place-items: center; height: 300px; background: #eef0e3; border-radius: 160px 160px 30px 30px; max-width: 310px; width: 100%; margin: auto; overflow: hidden; }
.routine-art .icon { width: 110px; height: 110px; stroke-width: .8; color: #6d855f; z-index: 1; }
.routine-arc { position: absolute; width: 240px; height: 240px; border-radius: 50%; border: 1px solid #c7d0ba; bottom: -90px; right: -100px; }
.routine-checks { margin-top: 23px; }
.plan-section { background: #e7ece0; }
.plan-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 78px; }
.plan-intro h2 { margin-bottom: 23px; }
.plan-intro > p:not(.eyebrow) { color: #526451; font-size: 1rem; }
.visit-script { margin: 32px 0; padding: 0 0 0 22px; border-left: 3px solid #8c9e7e; }
.visit-script p { font-family: var(--serif); font-size: 1.6rem; line-height: 1.4; color: #3c5a41; }
.bring-note { margin-top: 39px; }
.bring-note h3 { margin: 17px 0 12px; font-size: 1.1rem; }
.bring-note p { font-size: .9rem; color: #536250; margin-bottom: 0; }
.bring-note .icon-tile { background: #d6dfcb; }
.visit-card { border: 1px solid #d7dece; border-radius: var(--radius); background: #fffdf7; padding: 34px 31px; box-shadow: var(--shadow); }
fieldset { border: none; padding: 0; margin: 0; min-width: 0; }
legend { font-family: var(--serif); font-size: 1.43rem; line-height: 1.3; padding: 0; margin: 0 0 24px; }
.check-row { display: flex; align-items: flex-start; gap: 13px; cursor: pointer; font-size: .9rem; color: var(--muted); padding: 11px 0; line-height: 1.65; }
.check-row input { appearance: auto; accent-color: var(--green); width: 21px; height: 21px; flex-shrink: 0; margin: 3px 0 0; cursor: pointer; }
.check-row:has(input:checked) { color: var(--green); }
.note-label { display: block; font-size: .82rem; color: var(--muted); margin: 23px 0 9px; }
textarea { width: 100%; resize: vertical; border-radius: 13px; border: 1px solid #bcc9b8; padding: 13px 15px; min-height: 93px; background: #fafbf5; color: var(--ink); font-size: .9rem; }
textarea::placeholder { color: #69756a; }
.plan-counter { font-size: .76rem; margin-top: 13px; color: var(--muted); }
.plan-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.clear-plan { display: block; margin: 12px auto 0; font-size: .78rem; }
.privacy-inline { display: flex; gap: 10px; border-top: 1px solid var(--line); padding-top: 19px; margin-top: 20px; }
.privacy-inline p { color: var(--muted); font-size: .72rem; margin: 0; }
.privacy-inline .icon { width: 17px; height: 17px; margin-top: 4px; }
.faq-layout { display: grid; grid-template-columns: .85fr 1.25fr; gap: 88px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); padding: 6px 0; }
.faq-item summary { min-height: 71px; font-size: 1.0rem; padding: 14px 0; color: #354d3e; }
.faq-item p { font-size: .92rem; color: var(--muted); padding-right: 35px; }
.safety-section { padding: 35px 40px; border: 1px solid #dfc8b2; border-radius: var(--radius); background: #f5ebe0; }
.safety-section .eyebrow { color: #84583e; margin-bottom: 15px; }
.safety-section h2 { font-size: 1.9rem; max-width: 700px; }
.safety-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 43px; margin-top: 26px; }
.safety-grid h3 { font-size: 1rem; font-weight: 650; margin-bottom: 10px; color: #6e493a; }
.safety-grid p { font-size: .86rem; color: #685449; margin-bottom: 0; }
.safety-section .small-note { color: #685449; }
.sources-section { padding-bottom: 83px; }
.sources-section .section-intro { font-size: .89rem; }
.source-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; }
.source-list li { display: flex; align-items: baseline; gap: 15px; border-top: 1px solid var(--line); padding: 15px 0; font-size: .82rem; scroll-margin-top: 130px; }
.source-number { font-family: var(--serif); font-size: .9rem; color: #687b63; min-width: 22px; }
.source-list a { display: flex; align-items: baseline; gap: 15px; width: 100%; text-decoration: none; justify-content: space-between; }
.source-list a:hover { text-decoration: underline; }
.source-list li:target { background: var(--sage); outline: 6px solid var(--sage); border-radius: 3px; }
.site-footer { background: #284b3f; color: #ebeee3; padding: 52px 0 23px; }
.footer-top { display: grid; grid-template-columns: 1.5fr 1fr; gap: 85px; padding-bottom: 32px; }
.footer-brand { color: #f1f0e8; margin-bottom: 20px; }
.footer-brand .brand-icon { background: #3c6050; }
.site-footer h2 { font-size: 1.6rem; letter-spacing: -.02em; margin-bottom: 16px; }
.site-footer p { font-size: .8rem; color: #d0dccd; }
.footer-privacy { padding-top: 8px; }
.footer-privacy h3 { font-size: .95rem; margin-bottom: 17px; color: #e9eddf; }
.footer-bottom { border-top: 1px solid #638172; padding-top: 21px; display: flex; justify-content: space-between; gap: 20px; font-size: .71rem; color: #cbd9c5; }
.footer-bottom a { color: #ebeee3; }
.print-note { display: none; }
html.large-text { font-size: 20px; }
html.large-text .main-nav { display: none; }
html.large-text .header-tools { margin-left: auto; }
html.large-text .hero { gap: 40px; }
html.large-text .hero h1 { font-size: clamp(2.8rem, 4vw, 3.5rem); }
html.large-text .care-grid { grid-template-columns: repeat(2, 1fr); }
html.large-text .care-card h3 { min-height: 0; }
html.large-text .plan-layout { gap: 40px; }
html.large-text .practice-panel { gap: 30px; }
@media (min-width: 1400px) { .hero h1 { font-size: 4.0rem; } }
@media (max-width: 1150px) {
 .header-inner { gap: 18px; width: calc(100% - 48px); }
 .brand small { display: none; }
 .main-nav { gap: 18px; }
 .main-nav a { font-size: .72rem; }
 .hero { gap: 35px; }
 .hero h1 { font-size: clamp(2.65rem, 4.5vw, 3.6rem); }
 .care-grid { grid-template-columns: repeat(2, 1fr); }
 .care-card h3 { min-height: 0; }
 .care-card .card-top { flex-direction: row; align-items: center; }
 .care-card { padding: 25px; }
 .plan-layout, .faq-layout { gap: 40px; }
 .practice-panel { gap: 28px; }
 .practice-frame { padding: 28px; }
 .hero-actions { gap: 14px; }
}
@media (max-width: 850px) {
 :root { scroll-padding-top: 132px; }
 .container { width: calc(100% - 48px); }
 .header-inner { flex-wrap: wrap; justify-content: space-between; min-height: 72px; gap: 0 14px; padding-top: 13px; }
 .brand small { display: block; }
 .header-tools { margin-left: auto; }
 .main-nav { order: 3; width: 100%; justify-content: space-between; margin-left: 0; gap: 10px; }
 .main-nav a { font-size: .73rem; padding: 10px 0 12px; }
 .hero { padding-top: 47px; padding-bottom: 45px; gap: 30px; grid-template-columns: 1.2fr 1fr; }
 .hero .eyebrow { font-size: .62rem; }
 .hero h1 { font-size: 2.75rem; }
 .hero-text { font-size: .96rem; line-height: 1.7; }
 .art-caption { left: 10px; right: 10px; bottom: 11px; padding: 12px; gap: 8px; }
 .art-caption strong { font-size: .68rem; }
 .art-caption span:not(.small-star) { font-size: .6rem; }
 .small-star { font-size: 1.5rem; }
 .reassurance article { padding: 0 20px; }
 .reassurance h2 { font-size: 1rem; }
 .reassurance p { font-size: .8rem; }
 .section { padding-block: 72px; }
 .practice-panel { grid-template-columns: .85fr 1.2fr; }
 .breath-orbit { width: 180px; height: 180px; box-shadow: 0 0 0 11px #f3f4eb,0 0 0 12px #e9ecdfe8; }
 .breath-middle { width: 148px; height: 148px; }
 .timer-number { font-size: 3.2rem; }
 .timer-unit { font-size: .58rem; }
 .plan-layout { grid-template-columns: 1fr; gap: 32px; }
 .plan-intro { max-width: 700px; }
 .bring-note { margin-top: 28px; }
 .visit-card { padding: 30px; }
 .plan-actions { flex-direction: row; flex-wrap: wrap; }
 .plan-actions > * { flex: 1; }
 .faq-layout { grid-template-columns: 1fr; gap: 5px; }
 .footer-top { gap: 40px; }
 html.large-text .hero { grid-template-columns: 1fr; }
 html.large-text .hero-art { width: 70%; margin: auto; }
 html.large-text .practice-panel { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
 .container { width: calc(100% - 36px); }
 .header-inner { width: calc(100% - 32px); }
 .brand-icon { width: 35px; height: 35px; }
 .brand { gap: 8px; }
 .brand strong { font-size: 1.6rem; }
 .brand small { display: none; }
 .header-tools { gap: 4px; }
 .language-switch { padding: 3px; }
 .language-switch button { min-width: 36px; }
 .main-nav a { font-size: .65rem; line-height: 1.4; padding-block: 13px; }
 .hero { grid-template-columns: 1fr; gap: 29px; padding-top: 40px; padding-bottom: 37px; }
 .hero h1 { font-size: clamp(2.45rem, 9.3vw, 3.65rem); }
 .hero h1 em { letter-spacing: -.055em; }
 .hero .eyebrow { margin-bottom: 20px; }
 .hero-text { font-size: 1rem; max-width: 100%; margin-top: 22px; }
 .hero-actions { gap: 10px 22px; }
 .hero-actions .button { font-size: .87rem; padding: 14px 23px; }
 .hero-art { border-radius: 120px 120px 22px 22px; width: 100%; max-width: 450px; margin: 0 auto; }
 .hero-art img { width: 100%; height: 370px; object-fit: cover; object-position: 50% 42%; }
 .art-caption { left: 17px; right: 17px; bottom: 17px; padding: 12px 16px; }
 .art-caption strong { font-size: .82rem; }
 .art-caption span:not(.small-star) { font-size: .68rem; }
 .trust-row { margin-top: 21px; font-size: .67rem; }
 .reassurance { grid-template-columns: 1fr; padding-block: 4px; }
 .reassurance article { padding: 22px 0!important; }
 .reassurance article + article { border-left: 0; border-top: 1px solid var(--line); }
 .reassurance p { font-size: .87rem; margin-top: 8px; }
 .reassurance h2 { font-size: 1.12rem; }
 .stat-number { font-size: 2.1rem; margin-bottom: 4px; }
 .section { padding-block: 56px; }
 h2 { font-size: 2.08rem; }
 .section-heading { margin-bottom: 27px; }
 .section-heading h2 { margin-bottom: 19px; }
 .section-intro { font-size: .97rem; }
 .eyebrow { font-size: .62rem; margin-bottom: 18px; }
 .pattern-card { padding: 23px 19px; border-radius: 19px; }
 .pattern-top h3 { font-size: 1.15rem; }
 .pattern-top p { font-size: .82rem; margin-bottom: 0; }
 .pattern-options { grid-template-columns: 1fr; margin-top: 21px; gap: 8px; }
 .pattern-options button { min-height: 49px; text-align: left; font-size: .87rem; padding: 12px 15px; }
 .pattern-panel { grid-template-columns: 1fr; gap: 16px; }
 .pattern-panel p { font-size: .88rem; }
 .pattern-panel h4 { font-size: 1.15rem; }
 .ask-card { padding: 18px; }
 .ask-card p:last-child { font-size: 1.15rem; }
 .care-grid { grid-template-columns: 1fr; gap: 14px; }
 .care-card { padding: 23px 22px 10px; }
 .care-card h3 { font-size: 1.5rem; margin-bottom: 12px; }
 .care-card .card-top { margin-bottom: 17px; }
 .card-top .micro { font-size: .63rem; }
 .context-note { padding: 21px 18px; gap: 12px; }
 .context-note .icon { width: 20px; height: 20px; }
 .context-note p { font-size: .84rem; }
 .practice-safety { padding-left: 13px; gap: 9px; }
 .practice-safety > .icon { display: none; }
 .practice-tabs { width: 100%; border-radius: 15px; padding: 5px; gap: 4px; }
 .practice-tabs button { flex: 1; border-radius: 12px; padding: 11px 6px; font-size: .73rem; line-height: 1.4; min-width: 0; }
 .practice-frame { padding: 23px 20px; border-radius: 20px; }
 .practice-panel { grid-template-columns: 1fr; gap: 19px; }
 .breath-visual { padding-top: 25px; }
 .breath-orbit { width: 194px; height: 194px; }
 .breath-middle { width: 160px; height: 160px; }
 .timer-unit { font-size: .64rem; }
 .practice-copy { padding: 0; }
 .practice-copy h3 { font-size: 1.52rem; }
 .practice-copy > p { font-size: .9rem; }
 .timer-buttons { gap: 9px; }
 .timer-buttons .button { padding: 13px 16px; font-size: .81rem; }
 .posture-image { max-width: 330px; margin: auto; }
 .routine-art { height: 190px; max-width: 250px; }
 .routine-art .icon { width: 85px; height: 85px; }
 .routine-checks .check-row { font-size: .86rem; }
 .plan-layout { gap: 27px; }
 .visit-script p { font-size: 1.4rem; }
 .visit-card { padding: 25px 20px; border-radius: 20px; }
 .check-row { font-size: .88rem; }
 .plan-actions { flex-direction: column; }
 .faq-item summary { font-size: .95rem; }
 .faq-item p { padding-right: 10px; font-size: .86rem; }
 .safety-section { padding: 27px 22px; }
 .safety-section h2 { font-size: 1.65rem; }
 .safety-grid { grid-template-columns: 1fr; gap: 25px; }
 .source-list { grid-template-columns: 1fr; }
 .source-list li { font-size: .81rem; }
 .sources-section { padding-bottom: 52px; }
 .footer-top { grid-template-columns: 1fr; gap: 19px; }
 .site-footer { padding-top: 36px; }
 .footer-bottom { flex-direction: column; gap: 10px; }
 html.large-text .care-grid { grid-template-columns: 1fr; }
 html.large-text .hero h1 { font-size: 2.3rem; }
 html.large-text .hero-art { width: 100%; }
 html.large-text .practice-tabs { flex-direction: column; }
 html.large-text .main-nav { display: flex; flex-wrap: wrap; justify-content: flex-start; column-gap: 18px; }
 html.large-text .header-inner { padding-block: 10px 0; }
}
@media (prefers-reduced-motion: reduce) {
 :root { scroll-behavior: auto; }
 *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media print {
 :root { font-size: 11pt; background: white; color: black; }
 .site-header, .site-footer, .hero-art, .header-tools, .button, .clear-plan, .timer-buttons, .pattern-options, .practice-tabs, .noscript-notice { display: none !important; }
 body { line-height: 1.5; background: white; }
 .container { width: 100%; }
 .section { padding: 16pt 0; }
 .hero, .reassurance, .plan-layout, .care-grid, .faq-layout, .pattern-panel, .practice-panel { display: block; }
 .hero h1 { font-size: 28pt; }
 h2 { font-size: 21pt; }
 .care-card, .pattern-card, .visit-card, .safety-section, .practice-frame { background: white; box-shadow: none; border: 1pt solid #aaa; padding: 13pt; margin-bottom: 12pt; }
 details::details-content { display: block; }
 .care-card details > :not(summary), .faq-item > :not(summary), .reserve > :not(summary) { display: block !important; }
 .reassurance article { padding: 12pt 0!important; border: 0!important; }
 .source-list { grid-template-columns: 1fr; }
 body.printing-note > * { display: none !important; }
 body.printing-note #print-note { display: block !important; padding: 15pt 10pt; color: #1b2a22; }
 #print-note h1 { font: 28pt var(--serif); margin-bottom: 16pt; }
 #print-note h2 { font: 16pt var(--serif); margin: 18pt 0 10pt; }
 #print-note p, #print-note li { font-size: 12pt; }
 #print-note .personal-note { white-space: pre-wrap; overflow-wrap: anywhere; }
 #print-note footer { margin-top: 25pt; border-top: 1px solid #888; padding-top: 10pt; font-size: 10pt; }
 @page { margin: 16mm; }
}
/* Keep navigation readable on very narrow screens, including Russian labels. */
@media (max-width: 380px) {
 :root { scroll-padding-top: 165px; }
 .main-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; padding: 3px 0 7px; }
 .main-nav a { font-size: .75rem; padding: 7px 0; }
 .header-inner { padding-top: 11px; }
 .source-list li { scroll-margin-top: 170px; }
 html.large-text .main-nav { display: grid; column-gap: 12px; }
}
