:root{--pr-hero-max:1300px}
.hero{overflow:hidden}
.hero-image-wrapper img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(rgba(58,120,0,1),rgba(58,120,0,.2));z-index:1}
.hero-content{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;position:relative;z-index:2;max-width:var(--pr-hero-max);margin:0 auto;padding:30px 20px}
.hero-text--wide{flex:1 1 600px;padding-right:40px;color:#fff}
.hero-form--compact{flex:1 1 380px;padding:2px}
.hero-form--about{flex:1 1 350px;padding:20px}
.hero-form-note{font-size:.6rem}
.hero-recaptcha{margin-top:15px}
.hero-trust-badges{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hero-trust-badges .badge-img{display:block;height:44px;width:auto;max-width:100%}
.honeypot{position:absolute;left:-9999px}
.review-prompt-img{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 2px 8px 0 rgba(63,69,81,.16)}
.footer-icon{height:18px}
.google-reviews{margin-top:10px;text-align:center}
.google-reviews a{text-decoration:none;color:#333;display:inline-block}
.google-reviews img{height:44px;width:auto;vertical-align:middle;margin-right:6px}
.sticky-badge img{height:60px!important;width:auto!important;max-width:140px}
.google-stars{display:inline-block;color:#fbbc05;font-size:18px;letter-spacing:1px;line-height:1;vertical-align:middle}
.landing-page .lp-hero{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  background:#2f6b0b;
  box-shadow:0 24px 48px rgba(20,49,5,.22);
}
.landing-page .site-container,
.landing-page .container,
.landing-page .lp-hero,
.landing-page .lp-hero__shell,
.landing-page .lp-hero__content,
.landing-page .lp-hero__text,
.landing-page .lp-hero__form-wrap,
.landing-page .lp-hero__form-card{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.landing-page .lp-hero__media,
.landing-page .lp-hero__overlay{
  position:absolute;
  inset:0;
}
.landing-page .lp-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.landing-page .lp-hero__overlay{
  background:linear-gradient(135deg,rgba(39,88,8,.96) 0%,rgba(70,136,18,.92) 58%,rgba(129,183,53,.78) 100%);
}
.landing-page .lp-hero__shell{
  position:relative;
  z-index:2;
  max-width:var(--pr-hero-max);
  margin:0 auto;
}
.landing-page .lp-hero__content{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,430px);
  gap:28px;
  align-items:start;
  padding:32px 28px;
}
.landing-page .lp-hero__text{
  min-width:0;
  margin:0;
  color:#fff;
}
.landing-page .lp-hero__headline{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(2.5rem,5vw,4.6rem);
  line-height:1.04;
  letter-spacing:-.03em;
  text-wrap:balance;
}
.landing-page .lp-hero__subhead{
  margin:0 0 18px;
  max-width:34rem;
  color:rgba(255,255,255,.96);
  font-size:clamp(1.2rem,2vw,1.55rem);
  line-height:1.45;
}
.landing-page .lp-hero__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.landing-page .lp-hero__list li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0;
  color:#fff;
  font-size:1rem;
  line-height:1.45;
}
.landing-page .lp-hero__list li:first-child{
  font-size:1.08rem;
}
.landing-page .lp-hero__list-icon{
  width:22px;
  height:22px;
  margin-top:2px;
  flex:0 0 22px;
}
.landing-page .lp-hero__trust{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.landing-page .lp-hero__action-row{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.landing-page .lp-hero__action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 18px;
  border-radius:14px;
  font-size:.94rem;
  font-weight:800;
  line-height:1.1;
  text-align:center;
  text-decoration:none;
}

.landing-page .lp-hero__action:hover,
.landing-page .lp-hero__action:focus{
  text-decoration:none;
}

.landing-page .lp-hero__action--call{
  background:linear-gradient(180deg,#0e3fae 0,#052a7c 100%);
  box-shadow:0 14px 28px rgba(5,42,124,.18);
  color:#fff;
}

.landing-page .lp-hero__action--whatsapp{
  background:linear-gradient(180deg,#245f00 0,#173f00 100%);
  box-shadow:0 14px 28px rgba(23,63,0,.18);
  color:#fff;
}

.landing-page .lp-hero__action-note{
  margin:10px 0 0;
  max-width:36rem;
  color:rgba(255,255,255,.9);
  font-size:.92rem;
  line-height:1.4;
}

.landing-page .lp-hero__trust-badge{
  display:block;
  height:42px;
  width:auto;
  max-width:100%;
  border-radius:10px;
}
.landing-page .lp-hero__form-wrap{
  display:flex;
  align-items:stretch;
  width:100%;
  max-width:100%;
}
.landing-page .lp-hero__form-card{
  width:100%;
  margin:0;
  padding:28px 24px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.42);
  border-radius:24px;
  box-shadow:0 22px 38px rgba(17,44,5,.18);
}
.landing-page .lp-hero__form-card h2{
  margin:0 0 8px;
  font-size:1.28rem;
  line-height:1.25;
}
.landing-page .lp-hero__form-note{
  margin:0 0 16px;
  font-size:.82rem;
  color:#466120;
}
.landing-page .lp-hero__form{
  display:grid;
  gap:14px;
}
.landing-page .lp-hero__field{
  display:grid;
  gap:6px;
}
.landing-page .lp-hero__field label{
  margin:0;
  color:#27480c;
  font-size:.92rem;
  font-weight:700;
}

.landing-page .lp-hero__field-help{
  margin:2px 0 0;
  color:#5b6d47;
  font-size:.78rem;
  line-height:1.35;
}
.landing-page .lp-hero__field input,
.landing-page .lp-hero__field select{
  width:100%;
  border:1px solid #cfe0bd;
  border-radius:14px;
  background:#fbfff7;
  min-height:48px;
  padding:12px 14px;
  box-sizing:border-box;
  color:#27480c;
  font:inherit;
}
.landing-page .lp-hero__field select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:46px;
  cursor:pointer;
  background-image:
    linear-gradient(45deg,transparent 50%,#27480c 50%),
    linear-gradient(135deg,#27480c 50%,transparent 50%);
  background-position:
    calc(100% - 22px) calc(50% - 3px),
    calc(100% - 16px) calc(50% - 3px);
  background-size:7px 7px,7px 7px;
  background-repeat:no-repeat;
}
.landing-page .lp-hero__field input:focus,
.landing-page .lp-hero__field select:focus{
  outline:none;
  border-color:#6ea332;
  box-shadow:0 0 0 4px rgba(110,163,50,.16);
}
.landing-page .lp-hero__consent{
  margin-top:2px;
}
.landing-page .lp-hero__consent .consent-wrapper{
  margin-top:0;
  font-size:.92rem;
  font-weight:600;
  flex-wrap:nowrap;
}
.landing-page .lp-hero__consent .consent-wrapper input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:2px 0 0;
}
.landing-page .lp-hero__consent .consent-text{
  flex:1 1 auto;
}
.landing-page .lp-hero__submit{
  min-height:50px;
  width:100%;
  margin-top:4px;
  border-radius:14px;
  background:linear-gradient(180deg,#245f00 0%,#173f00 100%);
  box-shadow:0 14px 28px rgba(23,63,0,.22);
  color:#fff!important;
}
.landing-page .lp-hero__form-card{
  padding:24px 18px;
}
.landing-page main > .site-container > section:not(.lp-hero){
  content-visibility:auto;
  contain-intrinsic-size:1px 900px;
}
.landing-page{
  padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px));
}
.landing-page .lp-sticky-cta{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9998;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  background:rgba(245,248,241,.96);
  backdrop-filter:blur(10px);
  box-shadow:0 -12px 24px rgba(17,44,5,.12);
}
.landing-page .lp-sticky-cta__inner{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-width:560px;
  margin:0 auto;
}
.landing-page .lp-sticky-cta__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:11px 14px;
  border-radius:14px;
  font-size:.92rem;
  font-weight:700;
  line-height:1.1;
  text-align:center;
  text-decoration:none;
}
.landing-page .lp-sticky-cta__btn:hover,
.landing-page .lp-sticky-cta__btn:focus{
  text-decoration:none;
}
.landing-page .lp-sticky-cta__btn img{
  width:18px;
  height:18px;
  flex:0 0 18px;
  filter:brightness(0) invert(1);
}
.landing-page .lp-sticky-cta__btn--call{
  background:linear-gradient(180deg,#0e3fae 0%,#052a7c 100%);
  box-shadow:0 14px 28px rgba(5,42,124,.18);
  color:#fff;
}
.landing-page .lp-sticky-cta__btn--call:hover,
.landing-page .lp-sticky-cta__btn--call:focus{
  color:#fff;
  filter:brightness(1.04);
}
.landing-page .lp-sticky-cta__btn--whatsapp{
  background:linear-gradient(180deg,#245f00 0%,#173f00 100%);
  box-shadow:0 14px 28px rgba(23,63,0,.18);
  color:#fff;
}
.landing-page .lp-sticky-cta__btn--whatsapp:hover,
.landing-page .lp-sticky-cta__btn--whatsapp:focus{
  color:#fff;
  filter:brightness(1.04);
}
@media (max-width:768px){
  .landing-page .lp-hero{
    border-radius:24px;
  }
  .landing-page .lp-hero__content{
    grid-template-columns:1fr;
    gap:20px;
    padding:22px 18px;
  }
  .landing-page .lp-hero__headline{
    margin:0 0 14px;
    font-size:clamp(2.1rem,10vw,3rem);
    line-height:1.08;
  }
  .landing-page .lp-hero__subhead{
    font-size:1.12rem;
    margin:0 0 16px;
    max-width:none;
  }
  .landing-page .lp-hero__list{
    gap:10px;
  }
  .landing-page .lp-hero__list li{
    font-size:.98rem;
  }
  .landing-page .lp-hero__trust{
    margin-top:10px;
    justify-content:flex-start;
    gap:10px;
  }
  .landing-page .lp-hero__action-row{
    margin-top:14px;
    flex-direction:column;
    align-items:stretch;
  }
  .landing-page .lp-hero__action{
    width:100%;
  }
  .landing-page .lp-hero__action-note{
    font-size:.88rem;
  }
  .landing-page .lp-hero__trust-badge{
    height:34px;
  }
  .landing-page .lp-hero__form-wrap{
    width:calc(100% + 26px);
    max-width:calc(100% + 26px);
    margin-left:-13px;
    margin-right:-13px;
  }
  .landing-page .lp-hero__form-card{
    padding:18px 14px;
    border-radius:20px;
  }
  .landing-page .lp-hero__form{
    gap:12px;
  }
  .landing-page{
    padding-bottom:calc(78px + env(safe-area-inset-bottom, 0px));
  }
  .landing-page .lp-sticky-cta{
    padding:8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
  }
  .landing-page .lp-sticky-cta__inner{
    gap:8px;
  }
  .landing-page .lp-sticky-cta__btn{
    gap:7px;
    min-height:46px;
    padding:10px 12px;
    border-radius:12px;
    font-size:.9rem;
  }
  .landing-page .lp-sticky-cta__btn img{
    width:18px;
    height:18px;
    flex:0 0 18px;
  }
}

@media (min-width:769px){
  .landing-page{
    padding-bottom:calc(92px + env(safe-area-inset-bottom, 0px));
  }
  .landing-page .lp-sticky-cta__inner{
    max-width:420px;
    margin-right:24px;
  }
  .cookie-banner #cookie-accept{
    min-width:112px;
    min-height:40px;
    padding:10px 18px;
    font-size:.82rem;
    font-weight:700;
  }
}

.roof-repairs-page .lp-hero__headline,
.roof-repairs-page .lp-hero__subhead{
  text-wrap:balance;
}

.roof-repairs-page .roof-repairs-intro,
.roof-repairs-page .roof-repairs-problems,
.roof-repairs-page .roof-repairs-services,
.roof-repairs-page .roof-repairs-context,
.roof-repairs-page .roof-repairs-process,
.roof-repairs-page .roof-repairs-reviews,
.roof-repairs-page .roof-repairs-ready,
.roof-repairs-page .roof-repairs-suppliers{
  border-radius:24px;
}

.roof-repairs-page .roof-repairs-intro__content{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(150px,.7fr);
  gap:24px;
  align-items:center;
}

.roof-repairs-page .roof-repairs-intro__text h2{
  margin:0 0 14px;
}

.roof-repairs-page .roof-repairs-intro__text p:last-child{
  margin-bottom:0;
}

.roof-repairs-page .roof-repairs-intro__image{
  display:flex;
  justify-content:center;
}

.roof-repairs-page .roof-repairs-intro__image img{
  width:min(180px,100%);
}

.roof-repairs-page .roof-repairs-metrics{
  gap:16px;
  padding:0;
}

.roof-repairs-page .roof-repairs-problems{
  background:linear-gradient(180deg,#fff 0,#f7fbf2 100%);
}

.roof-repairs-page .roof-repairs-problems__list{
  margin:0 0 18px;
  padding-left:18px;
  display:grid;
  gap:10px;
}

.roof-repairs-page .roof-repairs-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:18px;
}

.roof-repairs-page .roof-repairs-cta-row .btn-primary,
.roof-repairs-page .roof-repairs-cta-row .btn-secondary{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.roof-repairs-page .roof-repairs-cta-row--split .btn-primary,
.roof-repairs-page .roof-repairs-cta-row--split .btn-secondary{
  flex:1 1 220px;
}

.roof-repairs-page .roof-repairs-services .services-grid{
  gap:18px;
}

.roof-repairs-page .roof-repairs-services .service{
  padding:24px 18px;
  border:1px solid rgba(41,89,0,.08);
}

.roof-repairs-page .roof-repairs-context .social-image{
  width:min(220px,100%);
  height:auto;
  margin:0 auto 16px;
  display:block;
}

.roof-repairs-page .roof-repairs-context .keyword-features{
  margin-top:16px;
}

.roof-repairs-page .roof-repairs-process .process-title{
  margin-bottom:20px;
}

.roof-repairs-page .roof-repairs-review-poster{
  position:relative;
  width:100%;
  max-width:100%;
  margin:0 0 16px;
}

.roof-repairs-page .roof-repairs-reviews blockquote{
  margin:0 0 18px;
}

.roof-repairs-page .roof-repairs-suppliers__grid{
  padding:12px 0 0;
  background:transparent;
}

.roof-repairs-page .roof-repairs-supplier-card{
  width:100%;
  max-width:320px;
  min-height:100%;
}

.roof-repairs-page .roof-repairs-map-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:12px;
  font-weight:700;
  text-decoration:none;
  background-color:#f8f9fa;
  color:#333;
  border:1px solid #ccc;
  transition:all .3s ease;
}

@media (max-width:768px){
  .roof-repairs-page .lp-hero__content{
    gap:18px;
    padding:18px 16px 14px;
  }

  .roof-repairs-page .lp-hero__headline{
    font-size:clamp(1.95rem,9vw,2.7rem);
    line-height:1.06;
  }

  .roof-repairs-page .lp-hero__subhead{
    font-size:1rem;
    line-height:1.38;
    margin:0 0 14px;
  }

  .roof-repairs-page .lp-hero__list{
    gap:8px;
  }

  .roof-repairs-page .lp-hero__list li{
    font-size:.94rem;
    line-height:1.35;
  }

  .roof-repairs-page .lp-hero__trust{
    margin-top:8px;
  }

  .roof-repairs-page .lp-hero__form-card{
    padding:16px 12px;
  }

  .roof-repairs-page .roof-repairs-intro,
  .roof-repairs-page .roof-repairs-problems,
  .roof-repairs-page .roof-repairs-services,
  .roof-repairs-page .roof-repairs-context,
  .roof-repairs-page .roof-repairs-process,
  .roof-repairs-page .roof-repairs-reviews,
  .roof-repairs-page .roof-repairs-ready,
  .roof-repairs-page .roof-repairs-suppliers{
    padding:18px 16px;
    margin:12px 0;
    border-radius:20px;
  }

  .roof-repairs-page .roof-repairs-intro__content{
    grid-template-columns:1fr;
    gap:14px;
  }

  .roof-repairs-page .roof-repairs-intro__image{
    order:-1;
    justify-content:flex-start;
  }

  .roof-repairs-page .roof-repairs-intro__image img{
    width:120px;
  }

  .roof-repairs-page .roof-repairs-metrics{
    gap:12px;
  }

  .roof-repairs-page .roof-repairs-services .services-grid{
    gap:14px;
  }

  .roof-repairs-page .roof-repairs-services .service{
    padding:18px 14px;
    border-radius:18px;
  }

  .roof-repairs-page .roof-repairs-cta-row{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }

  .roof-repairs-page .roof-repairs-cta-row .btn-primary,
  .roof-repairs-page .roof-repairs-cta-row .btn-secondary,
  .roof-repairs-page .roof-repairs-map-link{
    width:100%;
  }

  .roof-repairs-page .roof-repairs-review-poster{
    margin-bottom:14px;
  }

  .roof-repairs-page .roof-repairs-suppliers__grid{
    gap:14px;
  }
}

/* Cookie banner UX (Accept / Reject / Manage) */
.cookie-banner{max-width:420px}
.cookie-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.cookie-banner button{width:auto;min-width:88px}
.cookie-banner .cookie-btn-secondary{background:#e8eef6;color:#0b2b55;border:1px solid #c7d6ea}
.cookie-banner .cookie-btn-secondary:hover{filter:brightness(0.98)}

.cookie-manage-panel{position:fixed;bottom:1%;left:0;max-width:420px;background:#fff;border:1px solid #ccc;padding:10px;z-index:10000;font-size:.7rem;box-shadow:0 6px 16px rgba(0,0,0,.18);border-radius:0 10px 10px 0}
.cookie-manage-title{font-weight:700;color:#111;margin-bottom:4px}
.cookie-manage-desc{color:#333;line-height:1.35;margin-bottom:8px}
.cookie-opt{display:flex;gap:8px;align-items:flex-start;margin:6px 0;color:#111;line-height:1.25}
.cookie-opt input{margin-top:2px}

.landing-page .cookie-banner{
  left:12px;
  right:12px;
  bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  width:auto;
  max-width:none;
  padding:14px 14px 12px;
  border-radius:16px;
  font-size:.82rem;
}

.landing-page .cookie-banner .cookie-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:10px;
}

.landing-page .cookie-banner .cookie-actions button,
.landing-page .cookie-manage-panel .cookie-actions button{
  min-height:44px;
  padding:10px 12px;
  border-radius:10px;
  font-size:.86rem;
  line-height:1.25;
}

.landing-page .cookie-manage-panel{
  left:12px;
  right:12px;
  bottom:calc(88px + env(safe-area-inset-bottom, 0px));
  width:auto;
  max-width:none;
  padding:14px;
  border-radius:16px;
  font-size:.82rem;
}

.landing-page .cookie-manage-panel .cookie-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}

/* Site-wide date picker style (matches admin look) */
input[type="date"],
input[type="datetime-local"],
input[type="month"]{
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-height:44px;
  padding:0 48px 0 12px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#f8fafc;
  color:#0f172a;
  font-size:14px;
  font-weight:600;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
input[type="date"]:hover,
input[type="datetime-local"]:hover,
input[type="month"]:hover{border-color:#94a3b8}
input[type="date"]:focus,
input[type="datetime-local"]:focus,
input[type="month"]:focus{
  outline:none;
  border-color:#0f7a45;
  box-shadow:0 0 0 3px rgba(15,122,69,.16);
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.9;
  padding:2px;
  width:18px;
  height:18px;
  filter:invert(30%) sepia(11%) saturate(467%) hue-rotate(182deg) brightness(92%) contrast(88%);
}

/* Client zone hover panel usability */
.client-zone-nav{position:relative}
.client-zone-menu{
  top:100%!important;
  margin-top:0!important;
}
.client-zone-nav::after{
  content:"";
  position:absolute;
  right:0;
  top:100%;
  width:min(520px,calc(100vw - 24px));
  height:12px;
}
.client-zone-menu__form{display:block}
.client-zone-menu__login{
  border:0;
  cursor:pointer;
}

/* Themed file upload button */
input[type="file"]{
  color:#0f172a;
  font-size:13px;
}
input[type="file"]::file-selector-button{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #245000;
  background:linear-gradient(180deg,#3a7800 0,#295900 100%);
  color:#fff;
  border-radius:10px;
  padding:8px 12px;
  margin-right:10px;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
}
input[type="file"]::-webkit-file-upload-button{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #245000;
  background:linear-gradient(180deg,#3a7800 0,#295900 100%);
  color:#fff;
  border-radius:10px;
  padding:8px 12px;
  margin-right:10px;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
}
input[type="file"]::file-selector-button:hover,
input[type="file"]::-webkit-file-upload-button:hover{
  filter:brightness(1.03);
}

/* UI overflow safety layer (shared across public screens) */
.u-break-anywhere{
  overflow-wrap:anywhere;
  word-break:break-word;
}

:where(.main-header,.header-nav-wrap,.main-nav,.badges-header,.google-reviews-badge,.client-zone-nav,.client-zone-menu){
  min-width:0;
}

.main-nav .dropdown-menu{
  max-width:min(320px,calc(100vw - 24px));
  overflow:auto;
}

.main-nav .dropdown-menu li a{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.client-zone-menu{
  max-width:calc(100vw - 24px);
}

.client-zone-menu__sub,
.client-zone-menu__msg,
.client-zone-menu__label input{
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Accessibility: ensure vertical red call button text meets contrast ratio */
.sticky-btn.red{
  background-color:#b00020;
  color:#ffffff;
}

/* Landing pages only: keep hero text in normal document flow on mobile */
@media (max-width:768px){
  #backToTop{
    bottom:calc(70px + env(safe-area-inset-bottom, 0px));
  }

  .landing-page .hero{
    display:block!important;
    overflow:visible!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .landing-page .hero-content{
    display:block!important;
    width:100%!important;
    padding:20px 20px 10px!important;
    overflow:visible!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .landing-page .hero-text,
  .landing-page .hero-text--wide{
    display:block!important;
    width:100%!important;
    flex:none!important;
    padding-right:0!important;
    margin-top:0!important;
    overflow:visible!important;
    overflow-y:visible!important;
    max-height:none!important;
    height:auto!important;
  }

  .landing-page .hero-text--wide *,
  .landing-page .hero .headline,
  .landing-page .hero .subhead,
  .landing-page .hero .icon-list,
  .landing-page .hero .icon-list li,
  .landing-page .hero-trust-badges,
  .landing-page .hero-trust-badges .badge-img{
    overflow:visible!important;
    max-height:none!important;
    height:auto!important;
  }

  .landing-page .hero .headline{
    display:block!important;
    margin-top:0!important;
    padding-top:0!important;
  }

  .landing-page .hero .slide-in,
  .landing-page .hero .pulse{
    display:block!important;
    transform:none!important;
  }
}
