/* Phase 1: shared contact layout and accessible mobile presentation. */
.phase1-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;height:auto;min-height:100px;padding:12px 5%;background:#f5f3ee;color:#292b27;border-bottom:1px solid #deddd6;position:relative;z-index:30;font:12px/1.5 Arial,sans-serif}
.phase1-header .brand{margin-right:auto;flex-shrink:0}.phase1-header .brand img{display:block;width:170px;height:65px;object-fit:contain}
.header-contact{display:flex;align-items:center;gap:20px;order:2}.header-phone,.header-book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap}.header-book{padding:11px 20px;background:#30362f;color:#fff;border:1px solid #30362f;font-size:11px;letter-spacing:.06em;text-decoration:none}
.phase1-header .nav{order:1;gap:20px;display:flex;font-size:11px}.phase1-header .nav a{display:flex;align-items:center;min-height:44px}.phase1-header .menu-toggle{order:3;min-width:44px;min-height:44px}
.phase1-footer{padding:48px 5% 24px;background:#242a24;color:#e4e6dd;font:14px/1.65 Arial,sans-serif}.contact-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.phase1-footer .footer-brand{font:30px Georgia,serif;letter-spacing:.1em}.phase1-footer .eyebrow{display:block;font-size:10px;letter-spacing:.15em;margin:8px 0 12px}.phase1-footer h2{font:23px/1.3 Georgia,serif;margin:0 0 12px;color:#f5f3ee}.phase1-footer a{display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%;overflow-wrap:anywhere}.phase1-footer a:hover{text-decoration:underline}.phase1-footer address{font-style:normal;margin:12px 0}.phase1-footer p{margin:10px 0;max-width:100%}.phase1-footer nav{display:flex;flex-direction:column;align-items:start;gap:0;margin:0}.phase1-footer .contact-todo{color:#e1d2b8;font-size:12px}.phase1-footer .footer-bottom{display:flex;gap:24px;justify-content:space-between;align-items:start;border-top:1px solid #657060;padding-top:20px;margin-top:28px;font-size:12px;color:#d2d8ca}.phase1-footer .footer-bottom p{margin:0;max-width:620px}
.mobile-contact-bar{display:none}.specs-on-request{border-top:1px solid #bfc4b6;border-bottom:1px solid #bfc4b6;padding:10px 0;margin:20px 0}.specs-on-request p{font-size:16px}.specs-on-request .btn{margin:4px 0 10px}.phase1-header a:focus-visible,.phase1-header button:focus-visible,.phase1-footer a:focus-visible,.mobile-contact-bar a:focus-visible{outline:3px solid #b17d49;outline-offset:3px}
a,button,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #946132;outline-offset:3px}
@media(max-width:1200px){.phase1-header .menu-toggle{display:block}.phase1-header .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;padding:16px 5%;background:#f5f3ee;border-bottom:1px solid #c9cabe;gap:4px}.phase1-header .nav.open{display:flex}}
@media(max-width:767px){
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
 .phase1-header{min-height:80px;padding:8px 4%;gap:6px 10px}.phase1-header .brand img{width:130px;height:52px}.phase1-header .header-contact{gap:0}.phase1-header .header-phone{display:none}.phase1-header .header-book{padding:10px 12px;font-size:10px}.phase1-header .menu-toggle{font-size:10px;padding:8px;min-width:44px}.phase1-header .nav{top:100%}
 .contact-footer-grid{grid-template-columns:1fr;gap:28px}.phase1-footer{padding:36px 6% 24px}.phase1-footer .footer-bottom{display:block}.phase1-footer .footer-bottom p{margin-top:12px}
 .mobile-contact-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;z-index:90;bottom:0;left:0;right:0;padding:10px 4% calc(10px + env(safe-area-inset-bottom,0px));background:#f5f3ee;border-top:1px solid #b4bbac;box-shadow:0 -2px 12px #242a2410;font:13px/1.3 Arial,sans-serif}
 .mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:48px;background:#30362f;color:#fff;border:1px solid #30362f;text-decoration:none}.mobile-contact-bar a:first-child{background:#f5f3ee;color:#30362f}
 .hero{height:calc(100svh - 160px - env(safe-area-inset-bottom,0px));min-height:520px;max-height:650px;align-items:center}.hero:after{background:linear-gradient(0deg,rgba(14,22,18,.84),rgba(14,22,18,.5) 65%,rgba(14,22,18,.18))}.hero-content{padding:28px 6%}.hero .eyebrow{margin-bottom:16px;font-size:9px}.hero h1{font-size:clamp(40px,10.6vw,54px);line-height:1.05}.hero p{font-size:14px;line-height:1.55;margin:20px 0 22px}.hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}.hero-actions .btn,.hero-actions .text-link{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;font-size:10px;padding:12px}.hero-actions .text-link{border:1px solid #eeeadd}.hero-caption{display:none}
 .save{min-width:44px;min-height:44px}.text-link{min-height:44px}.thumb{min-height:44px}.faq summary{padding:7px 0;min-height:44px}.toast{bottom:calc(90px + env(safe-area-inset-bottom,0px))}.privacy-page h1{font-size:42px}
 /* Keep the booking form usable alongside the global contact controls. */
 .fields input,.fields select,.type button{min-height:44px}.days>*{min-height:44px;height:44px}.times button{min-height:44px}.month button{min-width:44px;min-height:44px}.consent{min-height:44px;align-items:center}.consent input{width:22px;height:22px;flex-shrink:0}.questions,.calendar{min-width:0}.card-top{flex-wrap:wrap}.progress{max-width:100%}.times{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:360px){.phase1-header{gap:6px}.phase1-header .brand img{width:108px}.phase1-header .header-book{padding:10px}.hero{min-height:510px}.hero h1{font-size:40px}.hero .eyebrow{font-size:8px}.hero-content{padding:24px 6%}.hero p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:767px){
 .phase1-footer a{min-width:44px}.plan-card h3 a,.breadcrumb a,.privacy-page p a,.back-link{display:inline-flex;align-items:center;min-width:44px;min-height:44px;max-width:100%;overflow-wrap:anywhere}.privacy-page p a{word-break:break-word}.breadcrumb{align-items:center;gap:10px}
 button{min-height:44px;min-width:44px}.checkfilter{min-height:44px;cursor:pointer}.checkfilter input{width:22px;height:22px;flex-shrink:0}.fields input,.fields select{height:44px}.phase1-footer a:focus-visible{outline-color:#e1b17e}
}
/* Narrow screens use dated tiles so every calendar target remains at least 44px. */
@media(max-width:420px){.days{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.days .weekday,.days>span:not(.weekday){display:none}.days button{height:44px;min-width:44px;gap:5px}.days button::before{content:attr(data-weekday);font-size:10px}}
.phase1-footer p{color:inherit}.phase1-footer a,.phase1-header a{color:inherit;text-decoration:none}.phase1-header .header-book{color:#fff}.phase1-footer .contact-todo{color:#e1d2b8}
