/* Readable type scale shared by both languages. */
:root{--muted:#536459}
body{font-size:16px}
header nav{font-size:15px;gap:25px}
.button,.button.small,.hero-copy>.button,.visual-break-copy .button,form>.button{font-size:15px;line-height:1.4;min-height:56px}
.button.small{font-size:14px;min-height:48px}
.text-link,.hero-copy>.text-link,.process .section-top>.text-link{font-size:14px;line-height:1.6}
.eyebrow,html[lang=en] .hero-copy>.eyebrow,.manifesto-copy>.eyebrow{font-size:11px;letter-spacing:1.3px;line-height:1.7}
.hero-kicker{font-size:11px;letter-spacing:1.2px;line-height:1.7;color:#8c5d3a}
.hero-copy>p{font-size:18px;line-height:1.75;max-width:390px;margin-bottom:30px}
.hero-note{font-size:14px;line-height:1.6;gap:10px}
.mini-check{width:24px;height:24px;flex-shrink:0;font-size:14px}
.photo-corner{font-size:11px;letter-spacing:1px;line-height:1.6}
.photo-tag{max-width:470px;padding:24px;gap:17px}
.photo-tag>div>span{font-size:11px;letter-spacing:.7px;line-height:1.5;display:block}
.photo-tag strong,html[lang=en] .photo-tag strong{font-size:24px;line-height:1.35;margin-top:9px}
.photo-tag .tag-symbol{flex-shrink:0;font-size:40px}
.tag-arrow{flex-shrink:0}
.photo-counter{font-size:11px;letter-spacing:1px;line-height:1.6}
.hero-bottom,html[lang=en] .hero-bottom{font-size:12px;line-height:1.6;letter-spacing:.7px;gap:28px;flex-wrap:wrap}
.hero-bottom .scroll-note{font-size:11px;letter-spacing:.7px}
.hero-bottom>span:before{font-size:15px;margin-right:9px}
.section-top>p{font-size:17px;line-height:1.75;max-width:360px}
.service{display:flex;flex-direction:column;min-width:0}
.service-art{flex-shrink:0}
.art-label{font-size:11px;letter-spacing:.5px;line-height:1.55;background:#17372bc7;padding:6px 9px;border-radius:3px;left:16px;bottom:19px;max-width:calc(100% - 76px)}
.service-num{font-size:13px;width:36px;height:36px}
.service-title h3,html[lang=en] .service-title h3{font-size:23px;line-height:1.35;letter-spacing:-.7px}
.service-title{align-items:flex-start;margin:23px 0 13px}
.service p{font-size:16px;line-height:1.75;max-width:none;margin-bottom:23px}
.service-more{font-size:14px;line-height:1.6;margin-top:auto;padding-top:17px}
.service-more:after{font-size:19px;margin-left:10px}
.manifesto-copy{padding-top:60px;padding-bottom:45px}
.values article{grid-template-columns:43px 1fr;gap:0 9px;padding:23px 0}
.values article>span{font-size:12px;line-height:1.6}
.values h3{font-size:19px;line-height:1.4;margin-bottom:9px}
.values p{font-size:16px;line-height:1.75;max-width:none;color:#d5dfd1}
.image-caption{font-size:11px;letter-spacing:1px;line-height:1.6;right:25px;text-shadow:0 1px 6px #000}
.brand-seal{width:138px;height:138px}
.brand-seal span{font-size:10px;letter-spacing:1px}
.steps h3{font-size:21px;line-height:1.4}
.steps p{font-size:16px;line-height:1.75;max-width:none}
.visual-caption{font-size:11px;letter-spacing:1px;line-height:1.6}
.visual-break-copy .button{gap:24px}
summary{font-size:17px;line-height:1.5;gap:20px}
summary span{flex-shrink:0}
details p{font-size:16px;line-height:1.75;padding-right:15px}
.contact-copy>p{font-size:18px;line-height:1.75}
.contact-image>span{font-size:11px;letter-spacing:.6px;line-height:1.6;right:15px;text-shadow:0 1px 6px #000}
.contact-domain{font-size:12px;letter-spacing:1px;line-height:1.6}
form{padding:32px}
.form-heading h3{font-size:23px;line-height:1.35;letter-spacing:-.6px}
.form-heading p{font-size:14px;line-height:1.6;margin:11px 0 27px}
label{font-size:14px;font-weight:500;line-height:1.5;gap:9px;margin-bottom:21px}
input,select,textarea{font-size:16px;line-height:1.5;padding:14px 12px;min-height:52px}
.form-note{font-size:13px;line-height:1.7;margin-top:16px}
#form-result p{font-size:15px;line-height:1.7}
#form-result h4{font-size:18px;line-height:1.5}
.copy-button{font-size:15px;min-height:46px;padding:12px 18px}
#copy-status{font-size:14px;line-height:1.6}
footer{flex-wrap:wrap;gap:30px}
footer>p{font-size:14px;line-height:1.6}
footer>div{font-size:12px;line-height:1.6;flex-wrap:wrap;gap:20px}
footer button{font-size:14px;line-height:1.6;min-height:44px}
.language-switch{padding:4px;gap:3px}
.language-switch button{font-size:13px;width:36px;height:36px}
.language-switch>span{font-size:12px}
.close-dialog{min-width:44px;min-height:44px}
dialog p{font-size:16px;line-height:1.75}
@media(max-width:1100px){
 header{height:90px;gap:20px}
 header nav{display:none;position:absolute;top:90px;left:0;right:0;z-index:10;padding:25px 5%;background:var(--paper);box-shadow:0 12px 20px #193f3812;font-size:16px;gap:25px;margin:0}
 header nav.open{display:flex}
 .menu{display:block;color:var(--ink);border:0;background:none;font-size:25px;padding:5px;min-width:44px;min-height:44px}
 .language-switch{margin-left:auto}
 header>.button{margin-left:0}
 .hero-copy{padding-top:36px;padding-bottom:40px}
 .hero-copy>.eyebrow,html[lang=en] .hero-copy>.eyebrow{font-size:11px;letter-spacing:.6px}
 .hero-kicker{font-size:11px;letter-spacing:.7px;margin-top:23px}
 .hero-copy>p{font-size:17px}
 .hero-copy>.button{font-size:14px;gap:15px}
 .hero-copy>.text-link{font-size:14px}
 .hero-bottom,html[lang=en] .hero-bottom{font-size:11px;gap:20px;letter-spacing:.4px}
 .photo-tag{left:17px;right:17px;gap:12px;padding:19px}
 .photo-tag strong,html[lang=en] .photo-tag strong{font-size:21px}
 .photo-tag .tag-symbol{font-size:30px}
 .photo-tag>div>span{font-size:11px;letter-spacing:0}
 .photo-counter{font-size:10px;letter-spacing:.6px}
 .service-title h3,html[lang=en] .service-title h3{font-size:21px}
 .manifesto{grid-template-columns:42% 58%}
 .manifesto-copy{padding:45px 7% 30px}
 .values h3{font-size:18px}
 .values p{font-size:16px}
 .section-top>p{max-width:310px;font-size:16px}
 .form-heading h3{font-size:21px}
 form{padding:26px}
 .contact-copy>p{font-size:17px}
}
@media(min-width:701px) and (max-width:950px){
 .hero{grid-template-columns:49% 51%}
 h1{font-size:clamp(49px,6.1vw,60px);letter-spacing:-3px}
 h1 em{letter-spacing:-2.8px}
 .hero-copy{padding-right:22px}
 .service-grid{grid-template-columns:1fr;gap:32px}
 .service{display:grid;grid-template-columns:43% 1fr;column-gap:25px;grid-template-rows:auto 1fr auto}
 .service-art{grid-row:1/4;height:285px}
 .service-title{margin:6px 0 12px}
 .service-more{margin-top:0}
 .service p{margin-bottom:17px}
 .manifesto{grid-template-columns:38% 62%}
 .steps{gap:24px}
 .steps h3{font-size:19px}
 .faq{grid-template-columns:1fr;gap:35px}
 .contact{gap:25px}
 .form-heading h3{font-size:20px}
}
@media(max-width:700px){
 header{height:88px;padding:0 6%;gap:10px}
 header nav{top:88px;flex-direction:column;padding:25px 6%;font-size:17px;gap:20px}
 .menu{font-size:24px;min-width:40px}
 .language-switch{padding:3px;gap:2px}
 .language-switch button{font-size:12px;width:34px;height:34px}
 .hero-copy{padding:28px 10px 34px}
 .hero-copy>.eyebrow,html[lang=en] .hero-copy>.eyebrow{font-size:11px;letter-spacing:.45px;line-height:1.6}
 .hero-kicker{font-size:11px;letter-spacing:.7px;line-height:1.7;margin-top:22px}
 h1{font-size:56px;line-height:1.08;letter-spacing:-3.2px;margin:18px 0 23px}
 h1 em{letter-spacing:-2.5px}
 .hero-copy>p{font-size:17px;line-height:1.7;max-width:100%;margin-bottom:26px}
 .button,.hero-copy>.button,.visual-break-copy .button,form>.button{font-size:15px;min-height:56px;padding-left:20px}
 .hero-copy>.button{gap:24px}
 .hero-copy>.text-link{font-size:14px;margin-top:22px}
 .hero-note{font-size:14px;line-height:1.6;margin-top:26px}
 .hero-photo{min-height:490px}
 .photo-corner{font-size:11px;letter-spacing:.6px;padding:12px}
 .photo-tag{padding:18px;gap:13px;left:15px;right:15px;bottom:62px}
 .photo-tag>div>span{font-size:11px;letter-spacing:.2px;line-height:1.5}
 .photo-tag strong,html[lang=en] .photo-tag strong{font-size:21px;line-height:1.35}
 .photo-tag .tag-symbol{display:none}
 .tag-arrow{font-size:26px}
 .photo-counter{font-size:10px;letter-spacing:.6px;line-height:1.5;left:20px;right:20px;bottom:20px}
 .hero-bottom,html[lang=en] .hero-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin:24px 10px 0;padding:24px 0;font-size:12px;line-height:1.5;letter-spacing:.8px}
 .hero-bottom>span:before{font-size:16px;margin-right:12px}
 .hero-bottom .scroll-note{display:none}
 .section{padding-top:60px;padding-bottom:60px}
 .eyebrow,.manifesto-copy>.eyebrow{font-size:11px;letter-spacing:1px;line-height:1.7}
 h2{font-size:34px;line-height:1.25}
 .section-top>p{font-size:17px;line-height:1.7;max-width:100%}
 .service-grid{gap:40px}
 .service-title h3,html[lang=en] .service-title h3{font-size:24px;line-height:1.35}
 .service p{font-size:16px;line-height:1.75;margin-bottom:20px}
 .service-more{font-size:14px;padding-top:16px}
 .service-art{height:320px}
 .art-label{font-size:11px;left:16px;bottom:20px;letter-spacing:.4px}
 .manifesto{grid-template-columns:1fr}
 .manifesto-copy{padding:42px 6% 25px}
 .manifesto h2{font-size:34px;line-height:1.3}
 .values article{grid-template-columns:33px 1fr;padding:24px 0;gap:0 7px}
 .values h3{font-size:19px;line-height:1.4}
 .values p{font-size:16px;line-height:1.75}
 .brand-seal{width:135px;height:135px}
 .brand-seal span{font-size:10px;letter-spacing:.7px}
 .image-caption{font-size:11px;letter-spacing:.7px;right:24px}
 .process .section-top>.text-link{font-size:14px;margin-top:24px}
 .steps{gap:30px}
 .steps h3{font-size:21px;line-height:1.4}
 .steps p{font-size:16px;line-height:1.75}
 .visual-break{height:500px}
 .visual-break-copy{top:47px}
 .visual-break-copy h2{font-size:43px;line-height:1.25}
 .visual-break-copy .button{gap:15px;font-size:14px;padding-left:18px}
 .visual-caption{font-size:11px;letter-spacing:.7px;right:20px;line-height:1.6}
 summary{font-size:17px;line-height:1.5}
 details p{font-size:16px;line-height:1.75}
 details{padding:23px 0}
 .contact h2{font-size:42px;line-height:1.25}
 .contact-copy>p{font-size:17px;line-height:1.75}
 .contact-image{height:220px}
 .contact-image>span{font-size:11px;letter-spacing:.3px}
 .contact-domain{font-size:12px;letter-spacing:.8px}
 form{padding:23px}
 .form-heading h3{font-size:22px;line-height:1.4}
 .form-heading p{font-size:14px;line-height:1.6}
 label{font-size:14px;line-height:1.5;margin-bottom:20px}
 input,select,textarea{font-size:16px;line-height:1.5;padding:14px 12px}
 .form-note{font-size:13px;line-height:1.7}
 footer>div{font-size:12px;line-height:1.6;gap:16px}
 footer button{font-size:14px;line-height:1.6}
}
@media(max-width:360px){
 header{padding:0 4%;gap:6px}
 .language-switch button{width:31px;height:33px;font-size:12px}
 .hero-copy{padding-left:5px;padding-right:5px}
 h1{font-size:49px;letter-spacing:-2.7px}
 h1 em{letter-spacing:-2.3px}
 .hero-copy>.eyebrow,html[lang=en] .hero-copy>.eyebrow{font-size:11px;letter-spacing:.1px}
 .hero-copy>.button{font-size:14px;gap:15px}
 .photo-tag strong,html[lang=en] .photo-tag strong{font-size:20px}
 .service-title h3,html[lang=en] .service-title h3{font-size:22px}
 .visual-break-copy h2{font-size:38px}
 .visual-break-copy .button{font-size:14px;gap:10px}
 .visual-break-copy .button span{width:29px;height:29px;flex-shrink:0}
 form{padding:20px}
 form>.button{font-size:14px;gap:12px;padding-left:16px}
 .form-heading h3{font-size:20px}
}
/* Moving truck + forward arrow: transport and furniture removals. */
header .brand,footer .brand{gap:12px;font-size:32px;line-height:1;letter-spacing:-1.4px;align-items:center}
header .brand-icon,footer .brand-icon{width:58px;height:58px;border:0;border-radius:15px;color:inherit;flex-shrink:0}
header .brand-icon:after,footer .brand-icon:after{content:none}
header .brand-icon svg,footer .brand-icon svg{width:100%;height:100%;display:block}
.brand-wordmark{display:flex;flex-direction:column;gap:8px}
header .brand small,footer .brand small{font-family:var(--body);font-size:16px;font-weight:650;line-height:1;letter-spacing:1.2px;text-transform:none;padding-left:2px;color:var(--green)}
.brand-seal .seal-logo{display:block;width:43px;height:43px;margin:5px 0}
.brand-seal .seal-logo svg{width:100%;height:100%;display:block}
@media(max-width:1100px){header .brand,footer .brand{font-size:30px;gap:11px}header .brand-icon,footer .brand-icon{width:54px;height:54px}header .brand small,footer .brand small{font-size:15px}}
@media(max-width:700px){header .brand,footer .brand{font-size:27px;letter-spacing:-1.2px;gap:9px}header .brand-icon,footer .brand-icon{width:47px;height:47px;border-radius:12px}.brand-wordmark{gap:7px}header .brand small,footer .brand small{font-size:14px;letter-spacing:1px;padding-left:1px}header{gap:7px}.language-switch button{width:32px}.menu{min-width:36px}}
@media(max-width:360px){header .brand{font-size:24px;gap:8px}header .brand-icon{width:40px;height:40px}header .brand small{font-size:13px;letter-spacing:.8px}header .brand-wordmark{gap:6px}header{gap:6px}.language-switch button{width:29px}}
.form-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.button:disabled{cursor:wait;opacity:.7;transform:none}
.send-status{margin-top:18px;padding:15px 16px;border-radius:4px;font-size:15px;line-height:1.7;border:1px solid #c4d3c3;background:#eaf1e6;color:#193f38;overflow-wrap:anywhere}
.send-status[data-state=error]{background:#fff0e5;border-color:#dfb893;color:#733e20}
.send-status[data-state=pending]{background:#f0eee5;border-color:#d5d6c9}
.email-direct{display:block;color:var(--green);text-decoration:underline;font-size:15px;line-height:1.6;overflow-wrap:anywhere;margin:12px 0}
.form-note{overflow-wrap:anywhere}
/* Mobile contact actions; reserve their full height and the device safe area. */
.mobile-contact-bar{display:none}
@media(max-width:950px){
 :root{--contact-bar-space:90px}
 body{padding-bottom:var(--contact-bar-space)}
 html{scroll-padding-bottom:calc(var(--contact-bar-space) + 20px)}
 .mobile-contact-bar{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:9px;margin:0;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#f8f5eff7;backdrop-filter:blur(15px);border-top:1px solid #d6ddcf;box-shadow:0 -5px 22px #193f3810;transition:transform .2s,opacity .2s}
 .mobile-contact-bar a{display:flex;min-width:0;min-height:58px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #c6d2c2;border-radius:10px;color:var(--green);font:600 12px/1.3 var(--body);letter-spacing:0;text-align:center;padding:8px 5px}
 .mobile-contact-bar a:after{content:none}
 .mobile-contact-bar .contact-bar-quote{background:var(--green);border-color:var(--green);color:#fff}
 .mobile-contact-bar .contact-bar-whatsapp{background:#eaf1e6;border-color:#b9cdb8}
 .mobile-contact-bar svg{display:block;width:23px;height:23px;flex-shrink:0}
 .mobile-contact-bar a:hover{filter:brightness(.95)}
 body:has(form input:focus,form textarea:focus,form select:focus) .mobile-contact-bar{transform:translateY(110%);opacity:0;pointer-events:none}
 body:has(dialog[open]) .mobile-contact-bar{visibility:hidden}
 form input,form textarea,form select{scroll-margin-bottom:calc(var(--contact-bar-space) + 25px)}
}
@media(max-width:360px){.mobile-contact-bar{gap:7px;padding-left:12px;padding-right:12px}.mobile-contact-bar a{font-size:11px;min-height:58px}}
@media(prefers-reduced-motion:reduce){.mobile-contact-bar{transition:none}}
