/* 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}}

/* Mobile only: natural wrapping and comfortable touch targets. */
@media(max-width:760px){
 .hero h1{font-size:clamp(2.125rem,8.5vw,3.25rem);line-height:1.2;letter-spacing:-.025em;text-wrap:pretty}
 .hero h1,.section h2,.project-card h3{overflow-wrap:break-word}
 .hero .intro,.concept-copy p,.project-card>p,.referral-copy>p,.faq-answer,.review-card blockquote{line-height:1.7}
 .button .link-label,.choice span,.quick-copy{min-width:0;overflow-wrap:break-word}
 .contact-panel #whatsapp{gap:10px}.contact-panel #whatsapp .link-label{min-width:0}
 .contact-panel .instagram-link{align-items:flex-start}.contact-panel .instagram-link .icon{margin-top:3px}
 .contact-details .contact-detail>span>span{font-size:1rem;overflow-wrap:anywhere}
 .hero-bottom{gap:14px}.hero-bottom>span{letter-spacing:.02em}
 .method .support-steps li{padding:20px;gap:14px}
 .faq summary{padding:20px 18px;gap:12px}.faq-answer{padding:0 18px 22px}
 .mobile-contact{bottom:max(12px,env(safe-area-inset-bottom))}.floating-whatsapp{bottom:calc(100px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.hero h1{font-size:2.125rem}.section h2,.contact h2{font-size:1.875rem}.project-card h3,.buy h3{font-size:1.625rem}.hero .actions .button,.sell .button,.buy .button,.referral .button{padding:15px 14px;font-size:1rem}.contact .contact-panel{padding:24px 16px}.mobile-contact>a{font-size:.875rem}}
@media(max-width:480px){header{display:grid;grid-template-columns:1fr auto;gap:6px 12px}header>.brand{grid-column:1;grid-row:1}.menu-toggle{grid-column:2;grid-row:1;margin:0}.header-appointment{grid-column:1/-1;grid-row:2;margin:0;justify-content:center;width:100%;min-height:44px}}
/* Consistent mobile spacing; desktop rules remain unchanged. */
@media(max-width:760px){
 .section{padding-top:48px;padding-bottom:48px}
 .concept,.contact,.referral{row-gap:32px;column-gap:0}
 .section .section-marker,.section .eyebrow{margin-bottom:20px}
 .hero-inner{padding-top:32px;padding-bottom:28px}.hero-signature{margin-bottom:20px}.hero h1{margin-bottom:24px}.hero .intro{margin-bottom:24px}.hero .actions{gap:12px}.hero-note{margin-top:16px}.hero-buyer{margin-top:16px}.hero-bottom{margin-top:20px;padding-top:20px;padding-bottom:24px}
 .quick-access{padding-top:28px;padding-bottom:28px;gap:16px}
 .concept-copy>p{margin-top:0;margin-bottom:20px}.concept-copy>p:last-of-type{margin-bottom:0}.values{margin-top:28px;gap:16px}.values p{margin:0}
 .method-heading,.project-top,.faq-heading{margin-bottom:28px}.method .support-steps{gap:16px}.project-top>p{margin-top:20px}.project-grid{gap:24px}
 .project-card{padding:28px 24px}.project-card h3{margin-top:20px;margin-bottom:16px}.project-card ol,.buy-list{margin-top:24px;margin-bottom:28px}.project-card .service-secondary{margin-top:20px}.project-card small{margin-top:16px}
 .referral-copy p{margin-bottom:24px}.reviews-heading{gap:24px}.review-intro{margin-top:24px;margin-bottom:24px}.reviews-track{padding-bottom:16px}.reviews-bottom{margin-top:20px;gap:20px}.reviews-note{margin-top:20px}
 .contact>div>p.location{margin-bottom:0}.contact .contact-panel{padding:28px 24px}.contact-panel .panel-title{margin-bottom:24px}.contact-panel .choices{gap:12px;margin-bottom:20px}.contact-panel .message-preview{margin-bottom:24px}.contact .contact-panel .helper{margin-top:16px;margin-bottom:24px}.contact-panel .instagram-link{padding-top:20px}
 .contact-details{padding-top:32px;padding-bottom:40px;gap:20px}.opening-hours{margin-top:8px}.faq-list{gap:16px}.faq-heading>p:last-child{margin-top:20px}
 footer{padding-top:32px;padding-bottom:calc(108px + env(safe-area-inset-bottom));gap:24px}.footer-links{padding-top:20px;row-gap:12px}.privacy-links{gap:12px 24px}.copyright{padding-top:20px}
}
@media(max-width:360px){.project-card{padding:24px 20px}.contact .contact-panel{padding:24px 18px}}

/* Keep the brand palette when mobile browsers apply automatic darkening. */
@media(max-width:760px){
 :root{color-scheme:only light}
 .button,.header-appointment,.mobile-contact,.choice,.menu-toggle,.review-controls button{color-scheme:only light}
 .button.primary,.header-appointment,.mobile-contact{background-color:#f3882a;color:#092a3b}
 .button.primary:visited,.header-appointment:visited,.mobile-contact>a:visited{color:#092a3b}
 .button.primary:hover,.button.primary:active,.header-appointment:hover,.header-appointment:active{background-color:#f3882a;color:#092a3b}
}

/* Edge Android: paint the brand fill as an image to avoid solid-color darkening.
   Preserve normal forced-colors accessibility and every desktop/browser layout. */
@media(max-width:760px) and (forced-colors:none){
 .edge-android .button.primary,.edge-android .header-appointment,.edge-android .mobile-contact{
  background-image:linear-gradient(#f3882a,#f3882a);
  color:#092a3b;
  -webkit-text-fill-color:#092a3b;
 }
 .edge-android .button.primary .link-label,.edge-android .header-appointment .link-label,.edge-android .mobile-contact>a{
  color:#092a3b;
  -webkit-text-fill-color:#092a3b;
 }
}
/* Brand footer: clear columns and a simple divider. */
footer.site-footer{display:block;position:relative;isolation:isolate;background:#092a3b;color:#d8e5ec;padding:64px max(var(--gutter),calc((100vw - 1360px)/2)) 28px;border-top:1px solid #ffffff26}
.site-footer:before,.site-footer:after{content:none}
body:not(.legal-page)>header{box-shadow:0 1px 0 #c3e8fa70,0 5px 16px #124b721f}
.site-footer .footer-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.85fr) minmax(0,1fr);gap:64px;align-items:start}
.site-footer .footer-about{min-width:0}.site-footer .brand{display:block;background:white;width:210px;height:86px;border-radius:8px;overflow:hidden;margin-bottom:24px}.site-footer .brand img{width:210px;height:210px}
.site-footer .footer-about p{font-size:1.0625rem;line-height:1.8;max-width:430px;margin:0 0 24px;color:#d8e5ec}
.site-footer .footer-column{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0}
.site-footer .footer-column h2{font-size:.9375rem;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;color:#f3882a;margin:0 0 20px;font-weight:650}
.site-footer .footer-column a,.site-footer .footer-social a{display:flex;align-items:center;gap:12px;min-height:44px;padding:7px 0;font-size:1rem;line-height:1.5;color:#e5edf2;text-decoration:none;overflow-wrap:anywhere;transition:color .2s}
.site-footer .footer-column a:hover,.site-footer .footer-social a:hover,.site-footer .footer-legal a:hover{color:#f3882a;text-decoration:underline;text-underline-offset:5px}
.site-footer a:focus-visible{outline:2px solid #f3882a;outline-offset:5px;border-radius:3px}.site-footer .icon{width:20px;height:20px;flex:0 0 20px;color:#f3882a}
.site-footer .footer-social{display:flex;flex-direction:column;gap:4px}.site-footer .footer-social a{font-size:.9375rem}
.site-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 32px;border-top:1px solid #ffffff26;margin-top:48px;padding-top:24px;font-size:.875rem;line-height:1.6;color:#b7ccd8}
.site-footer .footer-legal{display:flex;flex-wrap:wrap;gap:12px 24px}.site-footer .footer-legal a{display:inline-flex;align-items:center;min-height:44px;color:#b7ccd8}
@media(max-width:1000px){.site-footer .footer-main{gap:36px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.site-footer .footer-about{grid-column:1/-1}.site-footer .footer-about p{max-width:640px}}
@media(max-width:760px){footer.site-footer{padding:48px 24px calc(120px + env(safe-area-inset-bottom))}.site-footer .footer-main{gap:32px}.site-footer .footer-bottom{margin-top:32px;padding-top:24px;align-items:flex-start}.site-footer .footer-column h2{margin-bottom:12px}.hero .actions .button.glass{gap:10px}.hero .actions .button.glass .link-label{min-width:0}.mobile-contact>a:last-child .link-label{font-size:.875rem}}
@media(max-width:480px){.site-footer .footer-main{grid-template-columns:1fr;gap:32px}.site-footer .footer-about{grid-column:auto}.site-footer .footer-column{border-top:1px solid #ffffff1f;padding-top:24px}.site-footer .footer-legal{flex-direction:column;gap:0}.site-footer .footer-about p{font-size:1rem}}
