/* Shared accessibility improvements, loaded after the visual theme. */
:root{--gold:#965700}
body{line-height:1.5}
main{overflow-wrap:break-word}
img{max-width:100%}
.button{color:#26311e;background:#efb538;min-height:44px;white-space:normal;text-align:center}
.button.outline{background:#f6f3e3;border-color:#76561e}
.menu-toggle,summary{min-height:44px}
.header nav{font-size:1rem;flex-wrap:wrap;justify-content:flex-end;gap:12px 20px}
.header nav>a:not(.button),.footer-inner nav a{display:inline-flex;align-items:center;min-height:44px}
.footer-inner nav{font-size:1rem;flex-wrap:wrap}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #1d3316;outline-offset:4px;box-shadow:0 0 0 7px #fffdf6}
.skip-link{top:0;transform:translateY(-200%)}
.skip-link:focus{transform:none;top:12px}
.hero-content>p{background:#f6f3e3ed;border-radius:8px;padding:8px;max-width:470px}
.hero h1{max-width:650px;background:#f6f3e3ed;border-radius:10px;padding:8px}
.hero-note{background:#2e3d22ed;border-radius:16px;padding:16px;text-shadow:none}
.contact-form input,.contact-form select,.contact-form textarea{font-size:1rem;border-color:#687358}
.contact-form :is(input,textarea)::placeholder{color:#58604f;opacity:1}
.field-error{color:#862522;font-size:1rem;font-weight:600;margin-top:5px}
[aria-invalid="true"]{border:2px solid #862522!important}
.form-errors{border:2px solid #862522;padding:16px;border-radius:8px;background:#fffdf6}
.form-errors a{text-decoration:underline;display:inline-block;padding:5px 0}
.contact-form,.form-row,.about-copy,.brand>span{min-width:0}
.handwriting{font-family:Arial,Helvetica,sans-serif;transform:none;line-height:1.35}
.partner-cards{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
@media(max-width:1100px){.header-inner{flex-wrap:wrap;justify-content:center;padding-bottom:12px}.header nav{justify-content:center}}
@media(max-width:900px){.header-inner{justify-content:space-between}.header nav.open{max-height:70vh;overflow-y:auto}.header nav>a{padding:10px!important}}
@media(max-width:600px){.header-inner{gap:8px}.brand{white-space:normal}.brand-name{font-size:clamp(20px,6vw,26px);overflow-wrap:anywhere}.brand-tagline{letter-spacing:normal}.sun{width:64px;height:64px}.hero h1{font-size:clamp(32px,10vw,49px);line-height:1.12;letter-spacing:-1px;padding:4px}.hero{min-height:790px}.hero-content>p{max-width:100%}.actions{align-items:stretch}.actions a{max-width:100%}.service-grid{grid-template-columns:1fr}.service-grid .service:last-child{grid-column:auto}.service p,.service h3{font-size:1rem}.section-intro:before,.section-intro:after{display:none}.footer-inner .brand-name{font-size:24px}.footer-inner .sun{width:75px;height:75px}.footer-inner nav{gap:12px}.closing-personal h2{font-size:28px}.qualification-grid figure{flex-wrap:wrap}.contact-form .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){.button,.icon-ring{border:1px solid ButtonText}:focus-visible{outline:3px solid Highlight;box-shadow:none}.hero h1,.hero-content>p,.hero-note{background:Canvas;color:CanvasText}}
