a[href^="https://wa.me/"] { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
a[href^="https://wa.me/"]::before { content:""; display:block; flex:0 0 22px; width:22px; height:22px; background:currentColor; -webkit-mask:url('/whatsapp.svg') center / contain no-repeat; mask:url('/whatsapp.svg') center / contain no-repeat; }
.whatsappFloat::before { color:#138942; }
.whatsappFloat span { display:none; }
.whatsappFloat { min-height:48px; font-size:14px; }
.history { display:grid; grid-template-columns:1.05fr 1fr; gap:6vw; align-items:center; padding:100px 6vw; background:var(--paper); scroll-margin-top:24px; }
.historyPhoto { margin:0; min-width:0; }
.historyPhoto img { display:block; width:100%; height:auto; border-radius:2px; }
.historyPhoto figcaption { margin-top:14px; font-size:14px; color:#69635e; line-height:1.5; }
.historyCopy { min-width:0; }
.historyCopy .eyebrow { font-size:14px; line-height:1.6; }
.historyCopy h2 { font-size:clamp(36px,3.5vw,58px); line-height:1.08; }
.historyCopy h3 { margin:28px 0 12px; font:400 28px/1.2 Georgia,serif; }
.historyCopy > p:not(.eyebrow) { font-size:16px; line-height:1.8; color:#655f59; margin:22px 0 0; }
.historyFacts { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:32px 0 0; padding-top:24px; border-top:1px solid #d9d1c7; }
.historyFacts dt { font:400 clamp(24px,2.2vw,32px)/1.15 Georgia,serif; color:var(--red); }
.historyFacts dd { margin:8px 0 0; font-size:14px; line-height:1.5; color:#655f59; }
a:focus-visible { outline:3px solid #25d366; outline-offset:5px; }
.contactDetails { display:grid; grid-template-columns:1.2fr 1fr; gap:8vw; padding:90px 7vw; background:var(--paper); scroll-margin-top:24px; }
.contactDetails .eyebrow { font-size:14px; line-height:1.5; }
.contactDetails h2 { font-size:clamp(36px,4vw,58px); line-height:1.1; }
.serviceArea p:not(.eyebrow) { margin:24px 0 0; font-size:16px; line-height:1.9; color:#655f59; }
.serviceHours h3 { margin:0 0 24px; font:400 30px/1.2 Georgia,serif; }
.serviceHours dl { margin:0 0 30px; }
.serviceHours dl > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; padding:17px 0; border-bottom:1px solid #d9d1c7; font-size:16px; line-height:1.5; }
.serviceHours dd { margin:0; font-weight:600; }
.serviceHours .textLink { display:inline-block; font-size:14px; }
@media(max-width:850px) { .contactDetails { grid-template-columns:1fr; gap:42px; padding:70px 24px; } }
@media(max-width:1100px) { .topbar { gap:20px; } nav { gap:16px; } }
@media(max-width:850px) { .history { grid-template-columns:1fr; gap:36px; padding:70px 24px; } }
@media(max-width:520px) { .topbar { gap:12px; } .navCta { letter-spacing:.03em; padding:10px; } .navCta::before { flex-basis:18px !important; width:18px !important; height:18px !important; } .historyFacts { gap:16px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .reveal { opacity:1; transform:none; transition:none; } }
