/* Praxis Niedermoser: language and reading tools, 4 October 2026. */
html {scroll-padding-top:1rem;}
html[data-text-size="125"]{font-size:125%}html[data-text-size="150"]{font-size:150%}html[data-text-size="200"]{font-size:200%}
body{overflow-wrap:break-word}button,select,input,textarea{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #ad3f16!important;outline-offset:4px!important;box-shadow:0 0 0 7px #fff!important}
[hidden]{display:none!important}
.site-header{position:relative!important;inset:auto!important;flex-wrap:wrap;gap:1rem;background:#082925!important}
.hero-copy{padding-top:clamp(3rem,6vw,6rem)!important}
.access-bar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.6rem 1rem;padding:.65rem clamp(1rem,5vw,5rem);background:#fffdf8;color:#123633;border-bottom:1px solid #c3cec8;font:600 .875rem/1.4 system-ui,sans-serif}
.access-bar nav{display:flex;flex-wrap:wrap;gap:.25rem;font-size:inherit}.access-bar a,.access-bar button{min-height:44px;padding:.65rem .8rem;border-radius:.4rem;border:1px solid transparent;background:transparent;color:#123633;opacity:1;text-decoration:none;cursor:pointer}
.access-bar a[aria-current="page"]{background:#e0e9e3;border-color:#91a99d}.access-bar a:hover,.access-bar button:hover{background:#edf1eb}
.access-bar .access-toggle{border-color:#8b9e93}.access-bar .access-listen{display:inline-flex;gap:.45rem;align-items:center}
.access-status{margin:0;padding:.4rem 1rem;background:#eef3ed;color:#123633;font:.875rem/1.5 system-ui,sans-serif}.access-status:empty{display:none}
.access-dialog{box-sizing:border-box;width:min(36rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:1.5rem;border:1px solid #729183;border-radius:1rem;background:#fffdf8;color:#123633;box-shadow:0 1rem 5rem #08292550}
.access-dialog::backdrop{background:#082925a6}.access-dialog h2{font-size:1.9rem;line-height:1.2;margin:0}.access-dialog h3{font:700 1.05rem/1.4 system-ui;margin:1.5rem 0 .5rem}.access-dialog p{font:1rem/1.6 system-ui;margin:.6rem 0}
.access-dialog .access-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.access-dialog button,.access-dialog select{min-height:44px;padding:.6rem .8rem;max-width:100%;white-space:normal;border:1px solid #678476;border-radius:.4rem;background:#fff;color:#123633;cursor:pointer}
.access-dialog .access-close{flex-shrink:0}.access-dialog label{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1rem 0;font:1rem/1.5 system-ui}.access-dialog input[type="checkbox"]{width:1.4rem;height:1.4rem;accent-color:#123633}.access-dialog input:focus-visible{outline-offset:3px}
.access-buttons{display:flex;flex-wrap:wrap;gap:.6rem}.access-dialog button:disabled{opacity:.6;cursor:default}.access-note{font-size:.875rem!important}.access-dialog a{text-decoration:underline;text-underline-offset:.18em}
html[data-spacing="true"] main p,html[data-spacing="true"] main li{line-height:1.9!important;letter-spacing:.035em;word-spacing:.09em}
html[data-spacing="true"] main p{margin-bottom:1.5em!important}
html[data-reading="true"] main p,html[data-reading="true"] main ul,html[data-reading="true"] main ol{max-width:68ch}
html[data-reading="true"] main .hero-visual,html[data-reading="true"] main .world-teaser-art{display:none}
html[data-reading="true"] main .hero{grid-template-columns:1fr}
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html[data-contrast="high"]{--ink:#111;--ink-deep:#111;--paper:#fff;--paper-bright:#fff;--sage-light:#fff;--apricot:#fff;--line:#111}
html[data-contrast="high"] body,html[data-contrast="high"] body *{background-color:#fff!important;color:#111!important;text-shadow:none!important;box-shadow:none!important;border-color:#111!important;background-image:none!important;opacity:1!important}
html[data-contrast="high"] a{text-decoration:underline!important;text-underline-offset:.2em}html[data-contrast="high"] button,html[data-contrast="high"] summary{border:2px solid #111!important}
html[data-contrast="high"] .brand-mark{background-color:#123633!important}html[data-contrast="high"] .hero-visual::after{display:none}
[data-reading-current]{outline:3px solid #b9502b;outline-offset:5px;background-color:#fff0c8!important;color:#123633!important}
html:not([data-text-size="100"]) .desktop-nav{flex-wrap:wrap;gap:.8rem}
main a:not(.button):not(.course-card-link):not(.seo-entry-card){text-decoration:underline;text-underline-offset:.18em}
main a.button,main a.course-card-link,main a.seo-entry-card,main summary{min-height:44px}
.en-main{padding:clamp(2rem,5vw,5rem) clamp(1.25rem,6vw,6rem);max-width:1440px;margin:0 auto;background:#fffdf8;color:#123633}.en-main>header{max-width:58rem;padding-bottom:2rem;border-bottom:1px solid #ccd5cc;margin-bottom:2rem}.en-main h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.08}.en-main h2{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.18;margin:2.8rem 0 1rem}.en-main h3{font-size:1.25rem;line-height:1.4}.en-main p,.en-main li{max-width:75ch}.en-main .lead{font-size:1.2rem;line-height:1.7}.en-main .eyebrow{color:#42685b}.en-main section{margin:2rem 0}.en-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.5rem}.en-card{padding:1.5rem;background:#edf2eb;border:1px solid #d2ddd3;border-radius:.5rem}.en-card h2,.en-card h3{margin-top:0}.en-main details{padding:1rem 0;border-bottom:1px solid #cad6cd}.en-main summary{font-weight:700;cursor:pointer}.en-main summary+p{margin-top:1rem}.en-main .button{background:#123633;color:#fff;text-decoration:none}.en-main .notice{border-left:4px solid #9e4c30;padding:1rem 1.3rem;background:#f7e7dc;max-width:78ch}.en-main .en-portrait{width:min(24rem,100%);height:auto;border-radius:.4rem}.en-main nav{display:flex;flex-wrap:wrap;gap:1rem}.en-main nav a{color:#123633}.en-main address{font-style:normal}
@media(max-width:750px){.access-bar{justify-content:space-between;padding:.5rem .75rem;gap:.25rem}.access-bar a,.access-bar button{padding:.6rem}.access-dialog{padding:1.15rem}.access-dialog label{gap:.5rem}.access-dialog select{width:100%}.site-header{padding:1rem!important}.hero-copy{padding-top:2.75rem!important}}
@media print{.access-bar,.access-dialog,.access-status,nav,.payment-dialog{display:none!important}body,main{color:#000!important;background:#fff!important}.en-main{padding:0}a{color:#000!important}}

.access-dialog:not([open]){display:none}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}.access-bar a[aria-current="page"]{border:2px solid Highlight}.access-dialog button{border:1px solid ButtonText}}

/* Compact toolbar: optional reading controls remain inside the dialog. */
.access-bar{gap:.35rem;padding:.2rem clamp(.75rem,3vw,2rem);font-size:.875rem;line-height:1.3;min-height:44px}
.access-bar .access-listen{display:none}
.access-bar a,.access-bar button{padding:.45rem .65rem;min-height:44px}
.access-bar nav{gap:.15rem}
.access-bar .access-toggle{margin-left:.5rem}
#access-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:750px){.access-bar{justify-content:space-between;gap:.2rem;padding:.15rem .5rem;font-size:.8125rem}.access-bar a,.access-bar button{padding:.4rem .5rem}.access-bar .access-toggle{margin-left:0}}
