@font-face{font-family:Figtree;src:url('/assets/fonts/figtree-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:'Noto Sans';src:url('/assets/fonts/noto-sans-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{--red:#b70016;--red-deep:#850019;--ink:#243038;--muted:#58636b;--surface:#f4f6f8;--white:#fff;--soft-red:#fff1f3;--soft-red-hover:#ffe6ea;--on-red-muted:#fff2f4;--scroll-thumb:#a5afb6;--tap:#b7001620;--line:#d8dfe4;--heading:Figtree,Arial,sans-serif;--body:'Noto Sans',Arial,sans-serif;--radius:16px;--section:80px;--page:1160px;color-scheme:light;accent-color:var(--red);scrollbar-color:var(--scroll-thumb) var(--surface)}
*{box-sizing:border-box}html{scroll-padding-top:116px}body{margin:0;background:var(--white);color:var(--ink);font:17px/1.65 var(--body);-webkit-text-size-adjust:100%}::selection{background:var(--red);color:var(--white)}a{color:var(--red);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--red-deep)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px;border-radius:4px}a,button,summary{-webkit-tap-highlight-color:var(--tap)}button,summary{cursor:pointer}button{font:inherit}h1,h2,h3,p,figure,ul,dl{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:500;text-wrap:balance}h1{font-size:clamp(38px,4.2vw,56px);line-height:1.08;letter-spacing:-.025em;max-width:20ch}h2{font-size:34px;line-height:1.2;letter-spacing:-.02em}h3{font-size:23px;line-height:1.3;letter-spacing:-.01em}p{margin-top:16px;max-width:66ch;text-wrap:pretty}h2+p,h3+p{margin-top:14px}img{max-width:100%;height:auto}figure img{display:block;width:100%;border-radius:var(--radius);background:var(--surface)}figcaption{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.5}.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}main,.header-inner,.site-footer>div{max-width:var(--page);width:calc(100% - 96px);margin-inline:auto}.section{margin-top:var(--section)}.lead{font-size:20px;line-height:1.6;color:var(--muted);max-width:57ch}.fine{font-size:14px;line-height:1.65;color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:600;min-height:44px;margin-top:14px}.text-link .icon{width:18px;height:18px}.opening-actions,.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:7px;font-size:15px;font-weight:600;line-height:1.45;text-align:center;text-decoration:none}.button.primary{color:var(--white);background:var(--red)}.button.primary:hover{color:var(--white);background:var(--red-deep)}.button.secondary{color:var(--red);background:var(--white);border-color:var(--red)}.button.secondary:hover{background:var(--soft-red);color:var(--red-deep)}.button.light{background:var(--white);color:var(--red)}.button.light:hover{background:var(--soft-red);color:var(--red-deep)}.skip-link{position:fixed;top:10px;left:16px;z-index:100;transform:translateY(-150%);background:var(--red);color:var(--white);padding:10px 16px;font-weight:600;border-radius:6px}.skip-link:focus{transform:translateY(0)}.skip-link:hover{background:var(--red-deep);color:var(--white)}
.preview-notice{background:var(--ink);color:var(--white);padding:6px 16px;text-align:center;font-size:12px;line-height:1.5}.office-ribbon{display:flex;align-items:center;justify-content:center;gap:16px;min-height:44px;padding:6px 20px;background:var(--soft-red);color:var(--ink);font-size:12px;line-height:1.45;text-decoration:none}.office-ribbon>span{font-weight:600}.office-ribbon small{font-size:12px;color:var(--muted)}.office-ribbon:hover{color:var(--red-deep);background:var(--soft-red-hover)}.site-header{position:sticky;top:0;z-index:40;background:var(--white);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:102px;position:relative}.brand{display:flex;align-items:center;width:100px;flex:none}.brand img{display:block;width:100px;height:auto}.site-nav{display:flex;align-items:center;gap:24px}.site-nav a{display:flex;align-items:center;min-height:48px;padding:10px 4px;color:var(--ink);font-size:15px;font-weight:500;text-decoration:none;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current]{color:var(--red);border-bottom-color:var(--red)}.menu-toggle{background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:10px 16px;min-height:44px}.menu-toggle[hidden]{display:none}
.home-hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:40px;margin-top:32px;padding:40px;background:var(--surface);border-radius:24px}.hero-copy h1{font-size:clamp(40px,4.4vw,58px);max-width:15ch}.hero-copy>.lead{margin-top:20px;font-size:19px;max-width:40ch}.hero-picture{min-width:0}.hero-picture figure{max-width:500px}.hero-picture figcaption{font-size:12px}.contact-strip{margin-top:20px}.contact-strip .address-link{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--ink);line-height:1.5;min-height:32px}.contact-strip .office-hours{margin-top:8px;font-size:12px;line-height:1.65;color:var(--muted)}.contact-strip .phone-link{display:none}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:32px;margin-bottom:32px}.section-heading p{margin:0;max-width:42ch;font-size:16px;color:var(--muted)}.entry-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:center}.entry-links>a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.entry-links>a:first-child{padding-top:0}.entry-links>a:last-child{border-bottom:0}.entry-links strong{display:block;font:500 26px/1.25 var(--heading);letter-spacing:-.02em}.entry-links span span{display:block;margin-top:8px;color:var(--muted);font-size:15px;line-height:1.6;max-width:40ch}.entry-links>a>.icon{color:var(--red)}.entry-links>a:hover strong{color:var(--red)}.entry-photo figure{max-width:500px}.practice-story,.practice-opening,.reception-section,.reha-context{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.practice-story figure{max-width:500px}.practice-story p{font-size:16px}.practice-story h2{max-width:17ch}.contact-close{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:var(--section);padding:36px 40px;background:var(--red);color:var(--white);border-radius:var(--radius)}.contact-close h2{font-size:30px}.contact-close p{color:var(--on-red-muted);font-size:15px;margin-top:8px;max-width:54ch}.contact-close .button{flex:none}
.page-intro{padding:44px 0 36px;max-width:840px}.page-intro>.lead{margin-top:18px}.page-intro>p:not(.lead){font-size:16px;max-width:65ch}.page-intro>.text-link{font-size:15px;margin-top:10px}.practice-opening{align-items:center}.practice-description{max-width:480px}.practice-description p{font-size:16px}.room-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px}.room-gallery figure{max-width:500px}.room-gallery figure:nth-child(even){justify-self:end}.team-lead{display:grid;grid-template-columns:300px 1fr;gap:80px;align-items:start}.lead-portrait{padding:24px;background:var(--surface);border-radius:var(--radius)}.lead-portrait h2{font-size:26px}.lead-portrait>p{margin-top:4px;font-size:14px;color:var(--muted)}.lead-portrait figure{margin-top:20px}.lead-portrait img{max-height:340px;object-fit:cover;object-position:center top}.team-roster{padding-top:16px}.team-roster h2{font-size:30px}.name-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px;padding:0;list-style:none;margin-top:28px}.name-list li{font-size:18px;padding:12px 0;border-bottom:1px solid var(--line)}.team-roster>.fine{margin-top:20px}.team-roster>p:not(.fine){max-width:52ch;font-size:16px;margin-top:26px}.reception-section{padding:36px;background:var(--surface);border-radius:var(--radius)}.reception-section>.lead{font-size:20px}.reception-section figure{max-width:460px}.reception-section p:not(.lead){font-size:16px}.reception-section .button{margin-top:24px}
.methods-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:64px;margin-top:32px;align-items:start}.methods details{border-bottom:1px solid var(--line);scroll-margin-top:120px}.methods summary{position:relative;list-style:none;padding:21px 40px 21px 0;font:500 23px/1.3 var(--heading);cursor:pointer}.methods summary::-webkit-details-marker{display:none}.methods summary::after{content:'';position:absolute;right:5px;top:29px;width:8px;height:8px;border-right:1.5px solid var(--red);border-bottom:1.5px solid var(--red);transform:rotate(45deg)}.methods details[open] summary{color:var(--red)}.methods details[open] summary::after{transform:rotate(225deg);top:33px}.detail-copy{padding:0 24px 24px 0;font-size:16px;line-height:1.75}.detail-copy p{margin:0}.method-aside{position:sticky;top:130px}.method-aside p{font-size:15px}.method-aside .text-link{font-size:16px}.treatment-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.treatment-gallery img{border-radius:12px}.course-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.course-group{background:var(--surface);border-radius:var(--radius);overflow:hidden}.course-group>h2{font-size:24px;padding:20px 24px;background:var(--soft-red);color:var(--red-deep)}.course{padding:22px 24px}.course+.course{border-top:1px solid var(--line)}.course h3{font:500 18px/1.5 var(--body);letter-spacing:0}.course-time{margin-top:8px;font:500 24px/1.3 var(--heading);font-variant-numeric:tabular-nums}.course-day{display:none}.course-note{font-size:14px;color:var(--muted);margin-top:20px;max-width:100ch}.reha-context{margin-top:48px}.reha-context .button{margin-top:24px}.reha-context p{font-size:16px}.services-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:64px;align-items:start}.services-layout h2{font-size:26px}.service-list{padding:0;list-style:none;margin-top:20px;display:grid;grid-template-columns:1fr;gap:0}.service-list li{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:66px;padding:12px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.5}.service-explanations{display:flex;flex:none;gap:16px;flex-wrap:wrap;margin-top:0}.service-explanations a{display:inline-flex;align-items:center;gap:8px;font-size:13px;min-height:44px}.service-explanations .icon{width:15px;height:15px}.additional-services{background:var(--surface);border-radius:var(--radius);padding:28px}.additional-services h2{font-size:24px}.additional-services .service-list{grid-template-columns:1fr;margin-top:8px}.additional-services .service-list li{font-size:16px;padding:16px 0}.service-question{padding-top:28px}.service-question h3{font-size:22px}.service-question p{font-size:16px;margin-top:8px}.service-question>a{display:flex;align-items:center;min-height:44px;font-size:18px;font-weight:600;margin-top:8px}
.compact-intro{padding-bottom:28px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.contact-primary{background:var(--surface);border-radius:var(--radius);padding:32px}.contact-primary h2{font-size:26px}.contact-phone{display:block;font:500 32px/1.3 var(--heading);text-decoration:none;letter-spacing:-.02em;margin-top:20px;min-height:44px}.contact-email{display:flex;align-items:center;min-height:44px;font-size:15px;overflow-wrap:anywhere}.office-block{margin-top:28px;scroll-margin-top:125px}.office-block h3{font:600 15px/1.5 var(--body);letter-spacing:0}.hours{margin-top:12px;font-size:14px;line-height:1.6}.hours>div{display:flex;justify-content:space-between;gap:16px;padding:6px 0}.hours dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.office-block .fine{font-size:12px;margin-top:16px}.contact-fax{font-size:13px;color:var(--muted);margin-top:18px}.reception-contact figure{max-width:500px}.reception-contact h2{font-size:24px;margin-top:24px}.reception-contact>p{margin-top:8px;font-size:16px}.arrival-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:40px;border-top:1px solid var(--line)}.arrival-section h2{font-size:30px}.arrival-section h3{font-size:24px}.arrival-section p{font-size:16px}.arrival-section .address-link{display:block;font-size:20px;line-height:1.5;margin-top:20px;color:var(--ink);width:fit-content}.arrival-section .button{margin-top:22px}
.legal-layout{display:grid;grid-template-columns:230px minmax(0,740px);gap:64px;padding-top:44px;align-items:start}.legal-toc{position:sticky;top:128px;padding:20px;background:var(--surface);border-radius:12px}.legal-toc summary{font-size:15px;font-weight:600;min-height:28px}.legal-toc nav{display:grid;margin-top:12px}.legal-toc a{font-size:13px;line-height:1.55;padding:8px 0}.legal-document{min-width:0}.legal-document .page-intro{padding:0 0 32px}.legal-document h1{font-size:42px}.legal-document .lead{font-size:18px}.legal-document h2{font-size:25px;line-height:1.3;scroll-margin-top:120px}.legal-document h3{font-size:20px}.legal-document p,.legal-document li{font-size:16px;line-height:1.8;max-width:72ch}.legal-copy>section{margin-bottom:36px}.legal-document a{overflow-wrap:anywhere}.legal-document ul{padding-left:22px;margin-top:16px}.error-page{padding:64px 0 80px;max-width:700px}.error-page>.lead{margin-top:24px}
.site-footer{margin-top:var(--section);padding:36px 0 18px;background:var(--surface)}.footer-main{display:flex;justify-content:space-between;gap:32px}.footer-main strong{display:block;font:500 20px/1.4 var(--heading)}.footer-main>div>a{display:block;font-size:14px;margin-top:6px;color:var(--ink);overflow-wrap:anywhere}.footer-contact{text-align:right}.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px!important;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.footer-meta nav{display:flex;gap:20px}.footer-meta a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted)}.mobile-actions{display:none}
@media(min-width:1000px){.menu-toggle{display:none}}
@media(max-width:999px){:root{--section:64px}main,.header-inner,.site-footer>div{width:calc(100% - 64px)}.header-inner{min-height:90px}.brand,.brand img{width:88px}.js .site-nav{display:none;position:absolute;top:100%;left:-32px;right:-32px;background:var(--white);border-bottom:1px solid var(--line);padding:12px 32px 20px;gap:0;flex-direction:column;align-items:stretch}.js .site-nav.is-open{display:flex}.site-nav a{min-height:48px}.home-hero{padding:28px;gap:28px}.hero-copy h1{font-size:44px}.hero-copy>.lead{font-size:17px}.home-hero .button{padding:12px 15px;font-size:14px}.practice-story,.practice-opening,.entry-layout,.reception-section,.reha-context,.contact-layout,.arrival-section{gap:32px}.section-heading{display:block}.section-heading p{margin-top:12px}.team-lead{gap:40px;grid-template-columns:260px 1fr}.services-layout,.methods-layout{gap:32px;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr)}.service-list{grid-template-columns:1fr}.course-list{grid-template-columns:1fr;gap:16px}.course{display:flex;align-items:center;justify-content:space-between;gap:20px}.course-group>h2,.course{padding-inline:18px}.course-time{font-size:21px}.contact-primary{padding:24px}.contact-phone{font-size:28px}.hours>div{flex-direction:column;gap:0}.legal-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}.legal-toc{padding:16px}.footer-contact{text-align:left}}
@media(max-width:640px){:root{--section:48px}html{scroll-padding-top:92px;scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom))}body{font-size:16px;padding-bottom:calc(74px + env(safe-area-inset-bottom))}main,.header-inner,.site-footer>div{width:calc(100% - 40px)}.preview-notice{font-size:12px;padding:6px 12px}.office-ribbon{min-height:46px;flex-direction:column;gap:1px;padding:5px 12px;font-size:12px;text-align:center}.office-ribbon small{font-size:12px}.header-inner{min-height:80px}.brand,.brand img{width:76px}.js .site-nav{left:-20px;right:-20px;padding:12px 20px 20px}.site-nav a{font-size:16px}.menu-toggle{font-size:14px;min-height:44px;padding:9px 14px}h1{font-size:36px;line-height:1.12;max-width:18ch}.methods-page h1{font-size:clamp(28px,8vw,36px)}h2{font-size:28px;line-height:1.25}h3{font-size:22px}.lead{font-size:18px;line-height:1.55}.fine{font-size:13px}.button{min-height:48px;font-size:14px;padding:12px 16px}.home-hero{grid-template-columns:1fr;gap:18px;padding:22px;margin-top:20px;border-radius:20px}.hero-copy h1{font-size:38px;line-height:1.08;max-width:16ch}.hero-copy>.lead{font-size:16px;line-height:1.5;margin-top:12px;max-width:none}.hero-actions{margin-top:16px}.home-hero .button{min-height:44px;font-size:14px;padding:10px 14px}.contact-strip{margin-top:12px}.contact-strip .address-link{font-size:13px;min-height:24px;gap:6px}.contact-strip .address-link .icon{width:16px;height:16px}.contact-strip .office-hours{font-size:12px;line-height:1.5;margin-top:6px}.hero-picture img{height:180px;object-fit:cover;object-position:center}.hero-picture figcaption{font-size:12px;margin-top:7px}.section-heading{margin-bottom:22px}.section-heading p{font-size:16px}.entry-layout,.practice-story,.practice-opening,.reception-section,.reha-context,.contact-layout,.arrival-section{grid-template-columns:1fr;gap:28px}.entry-photo{order:-1}.entry-photo img{max-height:210px;object-fit:cover}.entry-links>a{padding:20px 0;gap:16px}.entry-links strong{font-size:23px}.entry-links span span{font-size:14px}.entry-links>a>.icon{width:20px}.practice-story h2{max-width:none}.practice-story p{font-size:16px}.practice-story figure img{max-height:230px;object-fit:cover}.contact-close{display:block;padding:28px;margin-top:48px}.contact-close h2{font-size:27px}.contact-close p{font-size:16px}.contact-close .button{margin-top:22px}.page-intro{padding:30px 0 26px}.page-intro>.lead{font-size:18px;margin-top:14px}.page-intro>p:not(.lead){font-size:16px;margin-top:12px}.page-intro>.text-link{font-size:14px}.practice-description h2{font-size:28px}.practice-description p{font-size:16px}.room-gallery{grid-template-columns:1fr;gap:28px}.room-gallery figure:nth-child(even){justify-self:stretch}.room-gallery figcaption{font-size:13px}.team-lead{grid-template-columns:1fr;gap:30px}.lead-portrait{display:grid;grid-template-columns:1fr 136px;grid-template-rows:auto 1fr;gap:0 16px;padding:22px;align-items:center}.lead-portrait h2{font-size:25px;align-self:end}.lead-portrait>p{font-size:13px;align-self:start;grid-row:2}.lead-portrait figure{grid-column:2;grid-row:1/3;margin:0}.lead-portrait img{height:185px;object-fit:cover;object-position:center top;border-radius:10px}.team-roster{padding:0}.team-roster h2{font-size:27px}.name-list{gap:0 20px;margin-top:18px}.name-list li{font-size:16px;line-height:1.6;padding:13px 0}.team-roster>p:not(.fine){font-size:16px;margin-top:20px}.reception-section{padding:24px}.reception-section .lead{font-size:18px}.reception-section p:not(.lead){font-size:16px}.methods-layout{grid-template-columns:1fr;gap:30px;margin-top:20px}.methods summary{font-size:21px;padding:19px 32px 19px 0}.methods summary::after{top:26px}.methods details[open] summary::after{top:30px}.detail-copy{font-size:16px;padding:0 0 22px}.method-aside{position:static}.method-aside img{max-height:250px;object-fit:cover}.method-aside p{font-size:16px}.treatment-gallery{gap:12px;grid-template-columns:repeat(3,1fr)}.treatment-gallery img{height:90px;object-fit:cover}.course-list{grid-template-columns:1fr;gap:18px}.course-group>h2{font-size:23px;padding:16px 22px}.course{display:grid;grid-template-columns:1fr;align-items:center;gap:6px;padding:18px 22px}.course h3{font-size:16px}.course-time{font-size:21px;margin:0;white-space:nowrap}.course-note{font-size:12px;line-height:1.7;margin-top:18px}.reha-context{margin-top:32px}.reha-context img{max-height:230px;object-fit:cover}.reha-context p{font-size:16px}.services-layout{grid-template-columns:1fr;gap:28px}.services-layout h2{font-size:25px}.service-list{grid-template-columns:1fr;gap:0;margin-top:12px}.service-list li{display:block;font-size:16px;padding:12px 0;gap:16px}.service-explanations a{font-size:13px;min-height:44px;gap:5px}.service-explanations{gap:8px;margin-top:4px}.additional-services{padding:24px}.additional-services .service-list{grid-template-columns:1fr;gap:0}.additional-services .service-list li{font-size:16px}.service-question{padding-top:22px}.service-question>a{font-size:18px}.contact-primary{padding:24px}.contact-primary h2{font-size:24px}.contact-phone{font-size:29px;margin-top:16px}.contact-email{font-size:13px}.office-block{margin-top:20px;scroll-margin-top:100px}.office-block h3{font-size:14px}.hours{font-size:13px;margin-top:10px}.hours>div{flex-direction:row;gap:12px}.office-block .fine{font-size:12px;line-height:1.65;margin-top:12px}.contact-fax{font-size:12px;margin-top:14px}.reception-contact h2{font-size:24px;margin-top:18px}.reception-contact>p{font-size:16px}.arrival-section{padding-top:28px;gap:28px}.arrival-section h2{font-size:27px}.arrival-section h3{font-size:22px}.arrival-section .address-link{font-size:20px;margin-top:16px}.arrival-section p{font-size:16px}.legal-layout{display:flex;flex-direction:column;padding-top:28px;gap:26px}.legal-toc{position:static;width:100%;padding:16px 20px;order:1}.legal-document{display:contents}.legal-document>.page-intro{order:0;padding-bottom:0;width:100%}.legal-document>.legal-copy{order:2}.legal-document h1{font-size:34px}.legal-document .lead{font-size:17px}.legal-toc summary{font-size:14px;min-height:32px}.legal-toc a{font-size:13px;min-height:44px;display:flex;align-items:center;padding:8px 0}.legal-toc details:not([open]) nav{display:none}.legal-document h2{font-size:23px;scroll-margin-top:100px}.legal-document p,.legal-document li{font-size:16px;line-height:1.8}.legal-copy>section{margin-bottom:32px}.error-page{padding:36px 0 44px}.error-page>.lead{margin-top:18px}.error-page .opening-actions{display:grid;justify-items:start}.site-footer{margin-top:48px;padding-top:28px}.footer-main{display:grid;gap:18px}.footer-main strong{font-size:19px}.footer-main>div>a{font-size:13px}.footer-meta{display:grid;gap:4px;margin-top:20px!important;padding-top:16px;font-size:12px}.footer-meta nav{gap:24px}.footer-meta>a{width:fit-content}.mobile-actions{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:60;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--line)}.mobile-actions a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:48px;color:var(--ink);font-size:12px;font-weight:500;text-decoration:none;border-radius:5px}.mobile-actions a:hover{background:var(--soft-red);color:var(--red)}.mobile-actions .icon{width:20px;height:20px}}
@media(max-width:374px){main,.header-inner,.site-footer>div{width:calc(100% - 32px)}.home-hero{padding:18px}.hero-copy h1{font-size:34px}.hero-picture img{height:160px}.lead-portrait{grid-template-columns:1fr 110px;padding:18px;gap:0 12px}.lead-portrait h2{font-size:23px}.lead-portrait img{height:155px}.name-list{grid-template-columns:1fr}.course{padding:16px;grid-template-columns:1fr}.course-time{font-size:21px}.service-list{grid-template-columns:1fr}.additional-services .service-list{grid-template-columns:1fr}.contact-primary{padding:20px}.hours>div{flex-direction:column;gap:0}.contact-email{font-size:12px}.contact-phone{font-size:27px}}
@media(prefers-reduced-motion:no-preference){.button,.site-nav a,.mobile-actions a{transition:background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out}.js .site-nav.is-open{animation:empfang-oeffnen 160ms ease-out}@keyframes empfang-oeffnen{from{opacity:.88;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Context-specific focus and source term clarification. */
.contact-close .button:focus-visible{outline-color:var(--white)}
.skip-link:focus-visible{box-shadow:inset 0 0 0 3px var(--white)}
.service-description{display:block;margin-top:6px;font-size:16px;line-height:1.6;color:var(--muted);text-wrap:pretty}
