.opening-hours{gap:var(--space-4);display:grid}.opening-hours__week div{justify-content:space-between;column-gap:var(--space-4);flex-wrap:wrap;max-width:20rem;display:flex}.opening-hours__week dt,.opening-hours__week dd{white-space:nowrap}.opening-hours__title{margin-bottom:var(--space-1);font-size:1rem}.opening-hours__closures{list-style:none}.footer{margin-top:var(--space-12);background:var(--color-text);color:#eee6dc}.footer a{color:inherit}.footer a:hover{color:#fff}.footer__inner{max-width:var(--content-width);padding:var(--space-8) var(--space-4);gap:var(--space-8);margin:0 auto;display:grid}@media (width>=48rem){.footer__inner{padding:var(--space-12) var(--space-8);grid-template-columns:repeat(3,1fr)}}.footer__title{margin-bottom:var(--space-3);color:#fff;font-size:1.1rem}.footer .muted{color:#eee6dcbf}.footer__links{gap:var(--space-2);list-style:none;display:grid}.footer__social{margin-top:var(--space-4)}.footer__copyright{padding:var(--space-4);text-align:center;border-top:1px solid #ffffff1a;font-size:.875rem}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header__inner{max-width:var(--content-width);padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin:0 auto;display:flex}.header__brand{font-family:var(--font-heading);color:var(--color-text);font-size:1.5rem;font-weight:600;text-decoration:none}.header__toggle{padding:var(--space-2) var(--space-4);color:var(--color-primary);background:0 0}.header__toggle:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.header__nav{gap:var(--space-1);padding-bottom:var(--space-3);flex-direction:column;flex-basis:100%;display:none}.header__nav--open{display:flex}.header__link{padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--color-text);text-decoration:none}.header__link:hover{background:var(--color-primary-soft);color:var(--color-text)}.header__link.active{color:var(--color-primary);font-weight:600}.header__book{margin-top:var(--space-2);text-align:center}@media (width>=48rem){.header__inner{padding:var(--space-4) var(--space-8);flex-wrap:nowrap}.header__toggle{display:none}.header__nav{flex-direction:row;flex-basis:auto;align-items:center;padding-bottom:0;display:flex}.header__book{margin:0 0 0 var(--space-3)}}.about__story{max-width:40rem}.about__therapist-photo{object-fit:cover;border-radius:50%;width:6rem;height:6rem}.contact__map{aspect-ratio:16/9;border:1px solid var(--color-border);border-radius:var(--radius);width:100%}.contact__map--placeholder{place-content:center;justify-items:center;gap:var(--space-4);padding:var(--space-6);background:var(--color-primary-soft);color:var(--color-muted);text-align:center;display:grid}.contact__map--placeholder button{justify-self:center}:root{--color-bg:#faf7f2;--color-surface:#fff;--color-text:#2f2a26;--color-muted:#6b625a;--color-border:#e4ddd3;--color-primary:#4f6f58;--color-primary-hover:#3f5a47;--color-primary-soft:#e8efe9;--color-accent:#c8a27a;--color-error:#b3261e;--color-error-hover:#8c1d18;--color-success:#2e6b45;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-heading:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius:10px;--shadow:0 1px 3px #2f2a2614, 0 4px 16px #2f2a260a;--content-width:72rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);font-size:1rem;line-height:1.6}h1,h2,h3{font-family:var(--font-heading);font-weight:600;line-height:1.2}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.4rem,3vw,1.75rem)}h3{font-size:1.2rem}a{color:var(--color-primary)}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}img{max-width:100%;height:auto;display:block}.app{flex-direction:column;min-height:100vh;display:flex}.app>main{flex:1}.container{width:100%;max-width:var(--content-width);padding:var(--space-8) var(--space-4);gap:var(--space-6);margin:0 auto;display:grid}@media (width>=48rem){.container{padding:var(--space-12) var(--space-8)}}.skip-link{left:var(--space-4);z-index:10;padding:var(--space-2) var(--space-4);background:var(--color-surface);border-radius:var(--radius);position:absolute;top:-3rem}.skip-link:focus{top:var(--space-2)}.grid{gap:var(--space-6);display:grid}@media (width>=48rem){.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}}.photo{border-radius:var(--radius);background:var(--color-primary-soft);width:100%}.lead{color:var(--color-muted);max-width:40rem;font-size:1.15rem}.muted{color:var(--color-muted)}.error{color:var(--color-error)}.success{color:var(--color-success)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow);align-content:start;gap:var(--space-3);display:grid}button,.button{padding:var(--space-3) var(--space-6);border:2px solid var(--color-primary);background:var(--color-primary);color:#fff;font:inherit;cursor:pointer;border-radius:999px;justify-self:start;font-weight:600;line-height:1.2;text-decoration:none;display:inline-block}button:hover,.button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.button--secondary{color:var(--color-primary);background:0 0}.button--secondary:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.button--danger{background:var(--color-error);border-color:var(--color-error)}.button--danger:hover{background:var(--color-error-hover);border-color:var(--color-error-hover)}button:disabled{opacity:.6;cursor:default}.actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.form{gap:var(--space-4);max-width:28rem;display:grid}.field{gap:var(--space-1);font-weight:600;display:grid}.field input,.field select,.field textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:inherit;font:inherit;font-weight:400}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary)}.field input[readonly]{background:var(--color-bg);color:var(--color-muted)}.field__hint{color:var(--color-muted);font-size:.9rem;font-weight:400}.field--checkbox{align-items:start;gap:var(--space-3);grid-template-columns:auto 1fr;font-weight:400}.field--checkbox input{width:1.25rem;height:1.25rem;margin-top:.2rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
