/* Readable supporting copy and accessible contact links. */
html{scroll-padding-bottom:calc(var(--contact-height,82px) + var(--contact-inset,0px) + 24px)}
body{padding-bottom:calc(var(--contact-height,82px) + var(--contact-inset,0px) + 36px)}
.mobile-actions{position:fixed;right:24px;bottom:calc(18px + var(--contact-inset,0px));z-index:30;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(420px,calc(100% - 48px));margin:0;padding:10px 12px;background:#fffefa;border:1px solid #d4deca;border-radius:10px;box-shadow:0 -5px 25px #12371d12;color:var(--forest)}
.mobile-actions>a{min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;font-size:13px;font-weight:600;color:var(--forest);border:1px solid #dce4d3;border-radius:7px}
.mobile-actions .icon{width:18px;height:18px}
.mobile-actions>a.mobile-calculate{background:var(--forest);color:#fff;border-color:var(--forest)}
.projects-section{padding-block:68px 0}
.projects-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.projects-heading .section-heading>p:last-child{max-width:600px}
.projects-all{display:inline-flex;align-items:center;gap:12px;min-height:44px;flex:none;font-size:13px;border-bottom:1px solid #a6b594}
.projects-all .icon{width:18px;height:18px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.project-card{position:relative;display:block;border:1px solid #dfe5d6;border-radius:10px;overflow:hidden;background:#fffefa;min-width:0}
.project-card:where(a):hover{border-color:#8b9e77}
.project-card img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
.project-card>div{padding:20px 44px 21px 20px}
.project-card>div>span{font-size:10px;letter-spacing:1.2px;color:#65784c}
.project-card h3{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.3;margin:8px 0}
.project-card p{font-size:13px;color:var(--muted)}
.project-card>div>.project-detail{display:block;font-size:12px;letter-spacing:0;margin-top:12px;color:#344b32}
.project-card>.icon{position:absolute;right:18px;bottom:24px;width:19px;height:19px;color:#65784c}
.project-invitation{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 30px;margin-top:28px;background:#e9eddf;border-radius:10px}
.project-invitation h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.3}
.project-invitation p{font-size:13px;color:#53624c;max-width:650px;margin-top:7px;line-height:1.8}
.project-invitation>.button{flex:none;font-size:14px;min-height:48px}
.footer-contact{display:flex;justify-content:space-between;gap:32px;padding-block:25px 30px;border-top:1px solid #365240;font-size:13px;line-height:1.8}
.footer-contact strong{font-weight:500;display:block;margin-bottom:7px;color:#e4eadb}
.footer-contact address{font-style:normal;color:#c4cfb9}
.footer-contact p{font-size:12px;color:#b3c0a8;margin-top:4px}
.footer-contact-links{display:flex;flex-direction:column;align-items:flex-start;flex:none}
.footer-contact-links a{display:flex;align-items:center;gap:10px;min-height:44px}
.footer-contact-links .icon{width:18px;height:18px}

@media(max-width:820px){
  body{padding-bottom:calc(var(--contact-height,82px) + var(--contact-inset,0px) + 12px)}
  .hero-copy .eyebrow,.card-heading .eyebrow{font-size:11px;letter-spacing:1.1px}
  .hero-description{font-size:15px;line-height:1.8}
  .hero-promises span{font-size:12px}
  .field-caption{display:flex;margin-top:24px}
  .field-caption div>span{font-size:13px;color:#d3dec8}
  .card-heading>div{min-width:0}
  .header-cta{font-size:14px;min-height:44px}
  .stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .stepper li{flex-direction:column;justify-content:flex-start;align-items:center;white-space:normal;text-align:center;font-size:12px;line-height:1.4;gap:6px;padding-bottom:13px}
  .stepper li>span{width:24px;height:24px;font-size:12px}
  .field label{font-size:14px}
  .field input::placeholder{font-size:14px}
  .field-help,.card-note,.measure-help,.privacy-note,.quote-exclusion,.service-choice small,.whatsapp-recipient{font-size:13px;line-height:1.7;color:#53624c}
  .field-error{font-size:13px;line-height:1.6}
  .step-intro{font-size:14px;line-height:1.7}
  .measure-help summary{min-height:44px;padding-block:8px}
  .presets button{min-height:44px;font-size:14px;padding-inline:5px}
  .price-box>div:first-child{flex-wrap:wrap;gap:3px 10px}
  .price-box>div>span,.price-box .product-line>span{font-size:13px}
  .price-box>div>strong{font-size:15px}
  .price-box .product-line>strong{font-size:30px}
  .price-box>p{font-size:13px;line-height:1.7;color:#53624c}
  .button,.button-row>.button{font-size:14px;min-height:52px}
  .service-choice{padding:14px 12px;gap:12px}
  .service-choice strong{font-size:14px;line-height:1.5}
  .service-choice input{width:20px;height:20px}
  .contact-heading{font-size:12px}
  .region-summary{font-size:13px}
  .review-list>div{font-size:13px;line-height:1.7;grid-template-columns:82px minmax(0,1fr);gap:10px}
  .review-list dt{color:#5a6851}
  .review-total>span{font-size:14px}
  .review-total>strong{font-size:28px}
  .consent{font-size:13px;line-height:1.7}
  .privacy-note .icon{width:18px;height:18px}
  #request-text{font-size:14px;line-height:1.8;color:#34472e}
  .text-button{font-size:14px;min-height:44px}
  .whatsapp-cta{display:grid;grid-template-columns:18px minmax(0,1fr) 18px;font-size:15px;gap:9px}
  .whatsapp-cta>span{min-width:0}
  .section-heading>p:last-child:not(.eyebrow),.process-grid p,.region-section p:not(.eyebrow),.faq-list p{font-size:14px;line-height:1.8}
  .faq-list summary{font-size:15px;min-height:56px}
  .region-pills span{font-size:12px;min-height:38px}
  .region-note a{font-size:14px;min-height:44px}
  .projects-section{padding-block:48px 0}
  .projects-heading{display:block}
  .projects-all{margin-top:16px;font-size:14px}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-grid{gap:16px}
  .project-card>div{padding:16px 35px 18px 16px}
  .project-card h3{font-size:20px}
  .project-card>div>span{font-size:11px}
  .project-invitation{display:block;padding:23px 20px}
  .project-invitation h3{font-size:24px}
  .project-invitation p{font-size:14px}
  .project-invitation>.button{margin-top:20px;width:100%}
  .footer-contact{flex-direction:column;gap:15px;font-size:14px}
  .footer-contact p{font-size:13px}
  .footer-inner>a{font-size:13px;min-height:44px;max-width:none}
  .footer-bottom{font-size:12px;color:#c0ccb3}
  .mobile-actions{inset:auto 0 var(--contact-inset,0px);width:auto;gap:8px;margin:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-width:1px 0 0;border-radius:0}
}
@media(max-width:600px){
  .project-grid{grid-template-columns:1fr}
  .project-card img{max-height:250px}
}
@media(max-width:350px){
  .quote-card{padding-inline:16px}
  .card-heading h2{font-size:24px}
  .header-inner{gap:16px}
  .header-cta{font-size:13px;gap:6px}
  .mobile-actions{gap:6px;padding-inline:10px}
  .mobile-actions>a{font-size:12px;gap:5px}
}
