/* Shared readable type scale: desktop 20px, mobile 18px. */
:root{--copy-size:1.25rem;--control-size:1.125rem;--small-size:1rem}
body{font-size:var(--copy-size);line-height:1.65}
.concept-copy>p:not(.large-copy),.project-card>p,.project-top>p,.referral-copy>p,.contact>div>p:not(.eyebrow):not(.location),.hero .intro,.review-intro,.review-card blockquote,.faq-answer,.faq-heading>p:last-child,.contact-panel .message-preview{font-size:var(--copy-size);line-height:1.7}
.hero .intro{max-width:36rem}.concept-copy>p,.referral-copy>p{max-width:36rem}.large-copy{font-size:clamp(1.375rem,2vw,1.625rem);line-height:1.5}
h2,.method h2,.faq h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.22;letter-spacing:-.035em;text-wrap:balance}
.hero h1{font-size:clamp(2.625rem,4.5vw,4.25rem);line-height:1.14;letter-spacing:-.035em;text-wrap:balance}
.values p,.buy-list,.project-card ol li,.method .support-steps li,.support-steps li,.contact-detail>span>span{font-size:var(--control-size);line-height:1.65}
.values h3,.quick-access strong,.review-author h3,.opening-hours h3{font-size:1.25rem;line-height:1.45}
.button,.hero .button,.hero .actions .button,.referral .button,.sell .button,.contact-panel .choice,.faq summary,.review-controls button{font-size:var(--control-size);line-height:1.5}
.button{min-height:3.625rem;white-space:normal;text-align:center}.button .link-label{line-height:1.5}
.quick-access small,.hero-signature,.hero-buyer,.service-secondary,.location,.contact-panel .instagram-link,.opening-hours dl,.footer-links,.footer-links>a,footer>a:not(.brand),footer>p,.privacy-links,.google-summary a,.review-card>a{font-size:var(--small-size);line-height:1.65}
.hero-note,.contact .contact-panel .helper,.project-card small,.review-author div>span,.reviews-note,.opening-hours p,.copyright,.photo-credit,.hero-bottom,.hero-bottom a{font-size:.9375rem;line-height:1.65}
.site-nav,.site-nav>a:not(.nav-contact){font-size:1.125rem;line-height:1.5}.header-appointment{font-size:1rem;line-height:1.5}.menu-toggle{font-size:1rem}
.contact-panel .choices{grid-template-columns:1fr}.contact-panel .choice{flex-direction:row;justify-content:flex-start;text-align:left;min-height:3.75rem;padding:14px 18px;gap:14px}
.contact-panel .message-preview{min-height:0}.contact-panel .panel-title{font-size:1.625rem;line-height:1.4}
.quick-access>a,.quick-access>a:first-child,.quick-access>a:last-child{min-height:9rem}.method .support-steps li{min-height:0}
.legal-content p,.legal-content li{font-size:var(--control-size);line-height:1.8}.legal-table table{font-size:1rem}.legal-intro{font-size:var(--copy-size)}
@media(max-width:1100px){.site-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:16px var(--gutter);background:white;border-top:1px solid var(--line);box-shadow:0 14px 22px #092a3b18;gap:0;align-items:stretch}.site-nav.is-open{display:flex;flex-direction:column}.site-nav>a:not(.nav-contact){display:block;padding:15px 8px;border-bottom:1px solid var(--line)}.site-nav>a:after{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid var(--line);background:white;color:var(--navy);border-radius:5px;padding:11px 13px;min-height:44px}.header-appointment{margin-left:auto}}
@media(max-width:760px){:root{--copy-size:1.125rem;--control-size:1.0625rem}.hero h1{font-size:clamp(2.5rem,8.8vw,3.625rem)}.contact h2{font-size:clamp(2rem,7vw,2.75rem)}.hero .intro{font-size:var(--copy-size)}.quick-access strong,.values h3,.review-author h3{font-size:1.125rem}.faq summary{font-size:1.125rem}.quick-access>a,.quick-access>a:first-child,.quick-access>a:last-child{min-height:0;padding:24px 20px;gap:16px}.contact-panel .panel-title{font-size:1.5rem}.hero-bottom>span{letter-spacing:.06em}.header-appointment{font-size:.9375rem}.mobile-contact>a{font-size:.9375rem;min-height:60px}.contact-panel .instagram-link{overflow-wrap:anywhere}.project-card,.contact-panel,.contact-detail{min-width:0}}
@media(max-width:480px){header{flex-wrap:wrap;gap:8px 12px;padding:8px 16px}.brand{width:132px;height:58px}.brand img{width:132px;height:132px}.header-appointment{font-size:.9375rem;padding:11px 12px}.menu-toggle{margin-left:auto}.hero-inner{padding-top:36px}.hero h1{font-size:2.5rem}.project-card h3,.buy h3{font-size:1.75rem}.contact-panel .choice{padding:13px 14px}.phone{font-size:1.5rem}.phone .link-label>span{margin-left:8px}}
