/* ==========================================================================
   Pure Light homepage redesign: enhancement layer.
   Layout, typography, colour and spacing live in Elementor (V4 global
   classes + variables). This file only covers what Elementor's native
   styles cannot express: pseudo-element details, parent-hover effects,
   carousel / comparison mechanics, Gravity Forms restyle, header
   stickiness and the floating CTA. Every selector is scoped to the
   redesign's pl-* classes or the homepage, so legacy pages are unaffected.
   ========================================================================== */

:root{
  --pl-ease:cubic-bezier(.22,.61,.36,1);
  --pl-blue:#6E95E8;--pl-blue-bright:#4F7FDF;--pl-blue-deep:#325AB6;--pl-blue-ink:#2A4FA0;--pl-blue-soft:#A9C2F2;
  --pl-ink:#30343A;--pl-graphite:#3E434B;--pl-text:#575C64;--pl-muted:#6F757D;--pl-line:#DDD8CF;
  --pl-ivory:#F7F4EF;--pl-stone:#F3EEE6;--pl-cool:#EEF4FA;
}

/* ---------- page base ---------- */
body.home{background:#F7F4EF;color:var(--pl-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.home .site-main,body.home .page-content{margin:0;padding:0;max-width:none}
.home [data-elementor-id="4"] > .e-con{overflow-x:clip}
.home .pl-section{scroll-margin-top:140px}

/* ---------- focus + touch targets ---------- */
.home a:focus-visible,.home button:focus-visible,.home summary:focus-visible,
.home input:focus-visible,.home select:focus-visible,.home textarea:focus-visible,
.home [tabindex]:focus-visible{outline:3px solid var(--pl-blue-bright);outline-offset:3px;border-radius:6px}
.pl-link-arrow,.pl-footer-link,.pl-city,.pl-tcard-foot{min-height:24px}

/* ---------- hero ---------- */
.home h1.e-heading-base{
  font-stretch:78%;font-variation-settings:'wdth' 78;text-wrap:balance;
}
.home h1.e-heading-base span{color:var(--pl-blue-deep)}
.home h1.e-heading-base + p{text-wrap:pretty}

/* ---------- eyebrow drop ---------- */
.pl-eyebrow{display:inline-flex!important;align-items:center;gap:10px}
.pl-eyebrow::before{
  content:"";width:9px;height:12px;flex:none;
  background:linear-gradient(160deg,var(--pl-blue-soft),var(--pl-blue-deep));
  border-radius:50% 50% 50% 50%/62% 62% 38% 38%;
}

/* ---------- stacked heading ---------- */
.pl-stack-soft span{display:block}
.pl-stack-soft span + span{color:var(--pl-blue-ink)}

/* ---------- buttons ---------- */
.pl-btn{position:relative;overflow:hidden;gap:10px;cursor:pointer;min-height:48px}
.pl-btn-primary::after{
  content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);
  transform:skewX(-18deg);transition:left .55s var(--pl-ease);pointer-events:none;
}
.pl-btn-primary:hover::after{left:120%}
.pl-btn[href^="tel:"]::before,.pl-float-call::before,.pl-float-est::before{
  content:"";width:17px;height:17px;flex:none;background:currentColor;
  -webkit-mask:var(--pl-i-phone) center/contain no-repeat;mask:var(--pl-i-phone) center/contain no-repeat;
}
.pl-float-est::before{-webkit-mask-image:var(--pl-i-doc);mask-image:var(--pl-i-doc)}

/* ---------- links with arrows ---------- */
.pl-link-arrow{display:inline-flex;align-items:center;gap:8px;transition:color .2s var(--pl-ease)}

/* ---------- media hover ---------- */
.pl-media-frame img,.pl-card-img img,.pl-mini-img img,.pl-imgcard img{transition:transform .9s var(--pl-ease)}
.pl-media-frame:hover img{transform:scale(1.035)}
.pl-card:hover .pl-card-img img{transform:scale(1.055)}
.pl-mini:hover .pl-mini-img img{transform:scale(1.05)}
.pl-imgcard:hover img{transform:scale(1.04)}
.pl-mini{transition:transform .3s var(--pl-ease),box-shadow .3s var(--pl-ease),border-color .3s var(--pl-ease)}

/* offset tint block behind split media (desktop) */
.pl-split-media{isolation:isolate}
@media (min-width:1025px){
  .pl-split-media::before{
    content:"";position:absolute;right:-18px;bottom:-18px;width:62%;height:62%;
    border-radius:22px;z-index:-1;
    background:linear-gradient(140deg,rgba(216,204,188,.55),rgba(216,204,188,.18));
  }
}

/* ---------- service cards ---------- */
.pl-card{text-decoration:none}
.pl-card::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;
  background:linear-gradient(90deg,var(--pl-blue-deep),var(--pl-blue-soft));
  transform:scaleX(0);transform-origin:left;transition:transform .34s var(--pl-ease);
}
.pl-card:hover::after,.pl-card:focus-visible::after{transform:scaleX(1)}
.pl-card-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(46,49,56,.22))}
.pl-card:hover .pl-card-cta{color:var(--pl-blue-ink)}

/* ---------- icons (CSS masks, colour follows the palette) ---------- */
:root{
  --pl-i-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8.3-7 10-4-1.7-7-5.5-7-10V6l7-3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
  --pl-i-test:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.2-4.2'/%3E%3Cpath d='M8.5 11h5M11 8.5v5'/%3E%3C/svg%3E");
  --pl-i-leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 5-13 15-14-1 10-6 15-14 15'/%3E%3Cpath d='M5 19c3-4 6-6.5 10-8.5'/%3E%3C/svg%3E");
  --pl-i-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.6 7-11a7 7 0 1 0-14 0c0 5.4 7 11 7 11Z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");
  --pl-i-doc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7z'/%3E%3Cpath d='M14 3v5h5M10 13h6M10 17h6'/%3E%3C/svg%3E");
  --pl-i-eye:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  --pl-i-building:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5l8-2v18M12 8l8 2v11M3 21h18M8 8h.01M8 12h.01M8 16h.01M16 13h.01M16 17h.01'/%3E%3C/svg%3E");
  --pl-i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --pl-i-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
  --pl-i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --pl-i-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
  --pl-i-drag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 7-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E");
}
.pl-icon-tile{position:relative;display:grid;place-items:center}
.pl-icon-tile::before{
  content:"";width:21px;height:21px;background:var(--pl-blue-deep);
  -webkit-mask:var(--pl-i) center/contain no-repeat;mask:var(--pl-i) center/contain no-repeat;
}
.pl-ico-shield{--pl-i:var(--pl-i-shield)}.pl-ico-test{--pl-i:var(--pl-i-test)}.pl-ico-leaf{--pl-i:var(--pl-i-leaf)}
.pl-ico-pin{--pl-i:var(--pl-i-pin)}.pl-ico-doc{--pl-i:var(--pl-i-doc)}.pl-ico-eye{--pl-i:var(--pl-i-eye)}
.pl-ico-building{--pl-i:var(--pl-i-building)}.pl-ico-check{--pl-i:var(--pl-i-check)}

/* trust strip: icon beside text on phones */
@media (max-width:767px){
  .pl-trust-cell{display:grid!important;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;align-items:start}
  .pl-trust-cell .pl-icon-tile{margin:0!important;grid-row:1 / span 2}
}

/* final CTA ticks */
.pl-fine-item{display:inline-flex!important;align-items:center;gap:8px}
.pl-fine-item::before{content:"";width:15px;height:15px;flex:none;background:var(--pl-blue-deep);-webkit-mask:var(--pl-i-check) center/contain no-repeat;mask:var(--pl-i-check) center/contain no-repeat}

/* ---------- city list ---------- */
.pl-city{gap:10px;text-decoration:none;transition:background-color .22s var(--pl-ease),color .22s var(--pl-ease)}
.pl-city::before{content:"";width:14px;height:14px;flex:none;background:var(--pl-blue);-webkit-mask:var(--pl-i-pin) center/contain no-repeat;mask:var(--pl-i-pin) center/contain no-repeat}

/* ---------- benefits / steps ---------- */
.pl-benefit{transition:border-color .25s var(--pl-ease)}
.pl-benefit:hover{border-top-color:rgba(111,151,232,.5)}
.pl-step::after{
  content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;
  background:#fff;border:2px solid var(--pl-blue);
  transition:background .3s var(--pl-ease),transform .3s var(--pl-ease),box-shadow .3s var(--pl-ease);
}
.pl-step:hover::after{background:var(--pl-blue);transform:scale(1.3);box-shadow:0 0 0 6px rgba(110,149,232,.18)}
.pl-step:hover .pl-step-num{color:var(--pl-blue-deep)}

/* ---------- image cards (Why section) ---------- */
.pl-imgcard{isolation:isolate;text-decoration:none}
.pl-imgcard::after{
  content:"";position:absolute;right:26px;bottom:28px;z-index:3;width:46px;height:46px;border-radius:50%;
  background:#fff var(--pl-i-arrow) center/17px no-repeat;
  box-shadow:0 10px 24px -8px rgba(0,0,0,.55);transition:transform .26s var(--pl-ease),background-color .26s var(--pl-ease);
}
.pl-imgcard:hover::after{transform:translate(3px,-3px);background-color:var(--pl-blue-soft)}
.pl-imgcard-body{padding-right:100px!important}
@media (max-width:767px){
  .pl-imgcard::after{width:38px;height:38px;right:18px;bottom:auto;top:18px;background-size:15px}
  .pl-imgcard-body{padding-right:20px!important}
}

/* ---------- detail work tag ---------- */
.pl-proof-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

/* ---------- reviews carousel ---------- */
.pl-tcar-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}
.pl-tcar-track::-webkit-scrollbar{display:none}
.pl-tcar-track > .pl-tcard{scroll-snap-align:start;min-width:0}
.pl-tcar-track:focus-visible{outline:3px solid var(--pl-blue);outline-offset:6px}
.pl-tcard-foot{text-decoration:none}
.pl-tcard-foot:hover{color:var(--pl-blue-ink)}
.pl-tcar-btn{font-size:0!important;cursor:pointer;transition:background-color .22s var(--pl-ease),border-color .22s var(--pl-ease),box-shadow .22s var(--pl-ease)}
.pl-tcar-btn::before{
  content:"";width:18px;height:18px;background:var(--pl-graphite);
  -webkit-mask:var(--pl-i-arrow) center/contain no-repeat;mask:var(--pl-i-arrow) center/contain no-repeat;
}
.pl-tcar-btn:first-of-type::before{transform:scaleX(-1)}
.pl-tcar-btn:hover::before{background:#fff}
.pl-tcar-btn[disabled]{opacity:.4;cursor:default;background:#fff!important;border-color:var(--pl-line)!important}
.pl-tcar-btn[disabled]::before{background:var(--pl-graphite)}
/* arrows on the outer edges: just outside the track on wide screens, overlapping slightly below 1400px */
.pl-tcar > .pl-tcar-btn:first-of-type{left:-22px!important;right:auto!important}
.pl-tcar > .pl-tcar-btn:last-of-type{right:-22px!important;left:auto!important}
@media (min-width:1400px){
  .pl-tcar > .pl-tcar-btn:first-of-type{left:-66px!important}
  .pl-tcar > .pl-tcar-btn:last-of-type{right:-66px!important}
}
.pl-tcar.is-static > .pl-tcar-btn{display:none!important}
@media (max-width:767px){
  .pl-tcar{display:flex!important;flex-wrap:wrap;justify-content:center;column-gap:14px}
  .pl-tcar > .pl-tcar-track{flex:1 1 100%}
  .pl-tcar > .pl-tcar-btn{position:static!important;transform:none!important;margin-top:22px;width:48px!important;height:48px!important}
}
@media (min-width:561px) and (max-width:767px){.pl-tcard-fig{aspect-ratio:21/9!important}}

/* ---------- before / after comparison ---------- */
.pl-ba{--pos:50%;user-select:none;touch-action:pan-y}
.pl-ba.is-ready > img{opacity:0}
.pl-ba-layer{position:absolute;inset:0;background-repeat:no-repeat;background-size:200% auto}
.pl-ba-after{background-position:right 45%}
.pl-ba-before{background-position:left 45%}
.pl-ba-clip{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0);-webkit-clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.pl-ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(46,49,56,.2),0 0 22px rgba(0,0,0,.35);pointer-events:none;z-index:4}
.pl-ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.6);transition:transform .2s var(--pl-ease)}
.pl-ba-knob::before{content:"";width:24px;height:24px;background:var(--pl-ink);-webkit-mask:var(--pl-i-drag) center/contain no-repeat;mask:var(--pl-i-drag) center/contain no-repeat}
.pl-ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:transparent;z-index:5}
.pl-ba-range::-webkit-slider-thumb{-webkit-appearance:none;width:64px;height:600px;cursor:ew-resize}
.pl-ba-range::-moz-range-thumb{width:64px;height:600px;border:0;background:transparent;cursor:ew-resize}
.pl-ba-range:focus-visible ~ .pl-ba-handle .pl-ba-knob{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 0 0 4px var(--pl-blue-bright),0 12px 30px -8px rgba(0,0,0,.6)}
@media (max-width:767px){.pl-ba-knob{width:50px;height:50px}}

/* ---------- FAQ (native details/summary) ---------- */
.pl-faq details{transition:background-color .25s var(--pl-ease)}
.pl-faq details[open]{background:#fff}
.pl-faq summary{
  list-style:none;cursor:pointer;display:flex!important;align-items:flex-start;justify-content:space-between;gap:24px;
  padding:26px 6px!important;
}
.pl-faq summary::-webkit-details-marker{display:none}
.pl-faq summary:hover h3{color:var(--pl-blue-deep)!important}
.pl-faq summary > :last-child{
  position:relative;width:36px!important;height:36px!important;flex:none;border-radius:50%;border:2px solid rgba(60,65,72,.16);
  display:block!important;margin-top:2px;padding:0!important;color:var(--pl-ink);
  transition:background .26s var(--pl-ease),border-color .26s var(--pl-ease);
}
.pl-faq summary > :last-child > *{display:none!important}
.pl-faq summary > :last-child::before,.pl-faq summary > :last-child::after{
  content:"";position:absolute;left:50%;top:50%;width:14px;height:2.4px;border-radius:2px;background:currentColor;
  transform:translate(-50%,-50%);transition:transform .3s var(--pl-ease),opacity .3s var(--pl-ease);
}
.pl-faq summary > :last-child::after{transform:translate(-50%,-50%) rotate(90deg)}
.pl-faq summary:hover > :last-child{border-color:var(--pl-blue);background:rgba(111,151,232,.08)}
.pl-faq details[open] summary > :last-child{background:linear-gradient(140deg,var(--pl-blue-bright),var(--pl-blue-deep));border-color:transparent;color:#fff;transform:none!important}
.pl-faq details[open] summary > :last-child::after{transform:translate(-50%,-50%) rotate(90deg) scaleX(0)}
.pl-faq details p a{color:var(--pl-blue-ink);text-decoration:underline;text-underline-offset:2px}
@media (max-width:767px){.pl-faq summary{padding:20px 2px!important;gap:16px}}

/* ---------- Gravity Forms #4 restyle (presentation only) ---------- */
.pl-gform .gform_wrapper{margin:0!important;max-width:none!important}
.pl-gform .gform_wrapper ul.gform_fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px!important;padding:0!important;margin:0!important;list-style:none}
.pl-gform .gform_wrapper li.gfield{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important;clear:none!important;display:block!important}
.pl-gform .gform_wrapper li.gfield--type-textarea,.pl-gform .gform_wrapper li.gfield--type-select{grid-column:1 / -1}
.pl-gform .gform_wrapper .ginput_container{margin:0!important}
.pl-gform .gform_wrapper input[type=text],.pl-gform .gform_wrapper input[type=email],.pl-gform .gform_wrapper input[type=tel],
.pl-gform .gform_wrapper select,.pl-gform .gform_wrapper textarea{
  width:100%!important;font-family:Archivo,system-ui,sans-serif!important;font-size:16px!important;font-weight:500;color:var(--pl-ink);
  background:#fff;border:2px solid rgba(60,65,72,.16)!important;border-radius:10px!important;padding:13px 15px!important;min-height:54px;
  box-shadow:none;transition:border-color .2s var(--pl-ease),box-shadow .2s var(--pl-ease);line-height:1.4!important;
}
.pl-gform .gform_wrapper textarea{min-height:130px;height:130px;resize:vertical;line-height:1.6!important}
.pl-gform .gform_wrapper select{appearance:none;-webkit-appearance:none;padding-right:44px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233F4045' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") right 16px center/12px no-repeat}
.pl-gform .gform_wrapper input::placeholder,.pl-gform .gform_wrapper textarea::placeholder{color:#7A8088;opacity:1}
.pl-gform .gform_wrapper input:hover,.pl-gform .gform_wrapper select:hover,.pl-gform .gform_wrapper textarea:hover{border-color:rgba(60,65,72,.32)!important}
.pl-gform .gform_wrapper input:focus,.pl-gform .gform_wrapper select:focus,.pl-gform .gform_wrapper textarea:focus{border-color:var(--pl-blue)!important;box-shadow:0 0 0 4px rgba(111,151,232,.16);outline:none}
.pl-gform .gform_wrapper .gform_footer{margin:26px 0 0!important;padding:0!important;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.pl-gform .gform_wrapper .gform_footer input[type=submit],.pl-gform .gform_wrapper .gform_footer button{
  min-width:240px;min-height:54px;margin:0!important;padding:0 30px!important;border:0!important;border-radius:10px!important;cursor:pointer;
  font-family:Archivo,system-ui,sans-serif!important;font-size:15px!important;font-weight:700!important;letter-spacing:.015em;color:#fff!important;
  background:linear-gradient(135deg,#325AB6,#2A4FA0)!important;box-shadow:0 8px 22px -14px rgba(50,90,182,.3);transition:transform .24s var(--pl-ease),box-shadow .24s var(--pl-ease);
}
.pl-gform .gform_wrapper .gform_footer input[type=submit]:hover{transform:translateY(-2px);box-shadow:0 20px 44px -16px rgba(111,151,232,.75)}
.pl-gform .gform_wrapper .validation_message,.pl-gform .gform_wrapper .gfield_validation_message{font-size:13px;font-weight:600;color:#B03A2E;padding:6px 0 0!important;background:none!important;border:0!important}
.pl-gform .gform_wrapper li.gfield_error input,.pl-gform .gform_wrapper li.gfield_error select,.pl-gform .gform_wrapper li.gfield_error textarea{border-color:#C0392B!important;box-shadow:0 0 0 4px rgba(192,57,43,.1)}
.pl-gform .gform_wrapper li.gfield_error{background:none!important;border:0!important}
.pl-gform .gform_wrapper div.validation_error,.pl-gform .gform_wrapper .gform_validation_errors{border:1px solid rgba(192,57,43,.35)!important;border-radius:10px;background:#FDF3F2!important;color:#8E2B22!important;font-size:14px!important;padding:12px 16px!important;margin:0 0 20px!important}
.pl-gform .gform_confirmation_message{font-family:Archivo,system-ui,sans-serif;font-size:17px;font-weight:700;color:var(--pl-blue-deep);padding:8px 0}
.pl-form-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--pl-blue-deep),var(--pl-blue-soft),transparent)}
.pl-form-card .pl-form-fine{margin:18px 0 0;font-size:13.5px;color:var(--pl-muted)}
@media (max-width:767px){
  .pl-gform .gform_wrapper ul.gform_fields{grid-template-columns:1fr;gap:16px!important}
  .pl-gform .gform_wrapper .gform_footer input[type=submit],.pl-gform .gform_wrapper .gform_footer button{width:100%!important;min-width:0}
}

/* ---------- header (UAE header template) ---------- */
.home #masthead{position:sticky;top:0;z-index:100}
.home.admin-bar #masthead{top:32px}
@media (max-width:782px){.home.admin-bar #masthead{top:0}}
.home #masthead .pl-nav{min-width:0}
.home #masthead a.e-image-link-base{flex:none;display:inline-flex;align-items:center}
.home #masthead a.e-image-link-base img{width:auto!important;max-width:none!important;height:60px;flex:none}
@media (max-width:767px){.home #masthead a.e-image-link-base img{height:44px}}
@media (max-width:360px){.home #masthead a.e-image-link-base img{height:38px}}
.home #masthead .elementor-element-48cb2cb3{flex:1 1 0!important;width:auto!important;display:flex!important;justify-content:flex-end;min-width:0}
.home #masthead .elementor-element-66bd3685{flex:0 0 auto!important;width:auto!important}
@media (max-width:1024px){.home #masthead .elementor-element-48cb2cb3{flex:0 0 auto!important}}
@media (min-width:1025px){
  .home #masthead .pl-nav .hfe-nav-menu{flex-wrap:nowrap!important;white-space:nowrap}
  .home #masthead .pl-nav .hfe-nav-menu > li > a.hfe-menu-item{padding-left:12px!important;padding-right:12px!important}
}
@media (min-width:1025px) and (max-width:1240px){
  .home #masthead a[href^="tel:"]:not(.pl-btn){display:none!important}
  .home #masthead .pl-nav .hfe-nav-menu > li > a.hfe-menu-item{padding-left:9px!important;padding-right:9px!important;font-size:14px!important}
}
/* dropdown chevron drawn with a mask (the theme icon font is not loaded) */
.home #masthead .pl-nav .sub-arrow i.fa{display:inline-block;width:10px;height:10px;background:currentColor;font-size:0;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.home #masthead .pl-nav .sub-arrow i.fa::before{content:none}
.home #masthead .pl-nav .hfe-has-submenu:hover .sub-arrow i.fa,.home #masthead .pl-nav .hfe-has-submenu:focus-within .sub-arrow i.fa{transform:rotate(180deg)}
.home #masthead a[href^="tel:"] span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pl-muted);margin-bottom:4px}
.home #masthead .hfe-nav-menu__toggle{min-width:48px;min-height:48px;border:2px solid rgba(60,65,72,.2);border-radius:10px;justify-content:center}
.home #masthead .hfe-nav-menu .sub-menu{min-width:280px}
@media (max-width:1240px) and (min-width:1025px){.home #masthead .elementor-widget-navigation-menu .menu-item a.hfe-menu-item{padding-left:9px!important;padding-right:9px!important}}
@media (max-width:1024px){
  .home #masthead .hfe-nav-menu__layout-horizontal{border-top:1px solid var(--pl-line);box-shadow:0 18px 40px -24px rgba(48,52,58,.3)}
  .home #masthead .hfe-nav-menu a.hfe-menu-item,.home #masthead .hfe-nav-menu a.hfe-sub-menu-item{min-height:48px;display:flex;align-items:center}
}

/* ---------- floating CTA (shared) ---------- */
.pl-float-cta{
  position:fixed!important;left:50%;bottom:20px;z-index:120;width:520px;max-width:calc(100vw - 32px);
  background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border:1px solid rgba(79,127,223,.15);border-radius:14px;box-shadow:0 12px 35px rgba(47,51,58,.16);
  opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,14px);
  transition:opacity .26s var(--pl-ease),transform .26s var(--pl-ease),visibility 0s linear .26s;
}
.pl-float-cta.is-on{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition:opacity .26s var(--pl-ease),transform .26s var(--pl-ease),visibility 0s}
.pl-float-btn{position:relative;overflow:hidden;gap:9px;text-decoration:none;width:100%;box-shadow:0 8px 22px rgba(79,127,223,.26);transition:transform .22s var(--pl-ease),box-shadow .22s var(--pl-ease)}
.pl-float-btn:hover,.pl-float-btn:focus{color:#fff!important}
.pl-float-btn:hover{transform:translateY(-2px)}
.pl-float-call:hover{box-shadow:0 12px 30px rgba(42,79,160,.44)}
.pl-float-est:hover{box-shadow:0 12px 30px rgba(58,98,184,.44)}
.pl-float-est::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .55s var(--pl-ease)}
.pl-float-est:hover::after{left:120%}
@keyframes plCtaBreathe{0%,100%{box-shadow:0 8px 22px rgba(79,127,223,.2)}50%{box-shadow:0 10px 30px rgba(79,127,223,.38)}}
.pl-float-cta.is-on .pl-float-call{animation:plCtaBreathe 4s var(--pl-ease) 1.2s infinite}
.pl-float-cta .pl-float-call:hover{animation:none}
.pl-float-close{display:grid!important;place-items:center;cursor:pointer;box-shadow:0 2px 5px rgba(34,35,39,.07),0 10px 22px -14px rgba(34,35,39,.45)}
.pl-float-close::before{content:"";width:11px;height:11px;background:var(--pl-graphite);-webkit-mask:var(--pl-i-close) center/contain no-repeat;mask:var(--pl-i-close) center/contain no-repeat}
.pl-float-close:hover{border-color:var(--pl-blue)!important}
.pl-float-close:hover::before{background:var(--pl-blue-deep)}
/* invisible 44px hit area around the small close dot */
.pl-float-close::after{content:"";position:absolute;inset:-9px}
@media (max-width:767px){
  .pl-float-cta{left:0;right:0;bottom:0;width:auto;max-width:none;transform:translateY(14px);gap:8px;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border:0;border-top:1px solid var(--pl-line);border-radius:0;box-shadow:0 -10px 32px -22px rgba(46,49,56,.6)}
  .pl-float-cta.is-on{transform:translateY(0)}
  .pl-float-btn{min-height:50px;font-size:14px;padding:0 10px}
  .pl-float-call span{display:none}
  .pl-float-close{top:-13px;right:12px;width:26px;height:26px}
}
@media (max-width:360px){.pl-float-btn{font-size:13px;gap:6px}.pl-float-btn::before{width:15px;height:15px}}

/* ---------- misc ---------- */
.pl-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%)}
.pl-tcard-caption,.pl-imgcard-title{text-wrap:balance}
.pl-lede,.pl-body,.pl-small{text-wrap:pretty}

@media (prefers-reduced-motion:reduce){
  .pl-tcar-track{scroll-behavior:auto}
  .pl-float-cta,.pl-float-cta.is-on{transition:none}
  .pl-float-cta.is-on .pl-float-call{animation:none}
  .pl-card,.pl-mini,.pl-btn,.pl-card img,.pl-mini img,.pl-imgcard img,.pl-media-frame img{transition:none!important;transform:none!important}
  .pl-btn-primary::after,.pl-float-est::after{display:none}
}
@media (prefers-contrast:more){
  .pl-tex-tile,.pl-tex-surface,.pl-tex-marble,.pl-tex-process,.pl-tex-travertine,.pl-tex-cta{background-image:none!important}
}
@media print{.pl-float-cta,#masthead{display:none!important}}

/* ---------- responsive + touch-target fixes ---------- */
/* the UAE nav pre-sizes its hidden full-width dropdown; keep it from widening the page */
.home #masthead{overflow-x:clip}
/* standalone link paragraphs: make the link itself the target, >=24px everywhere, >=44px on touch */
.home [data-elementor-id] p > a.e-paragraph-link-base{display:inline-flex;align-items:center;min-height:24px;color:inherit;text-decoration:none}
@media (pointer:coarse){
  .home [data-elementor-id] p > a.e-paragraph-link-base{min-height:44px}
  .home .pl-footer-link{margin-bottom:0!important}
}
/* city cells: the whole cell is the link */
.pl-city{padding:0!important}
.pl-city::before{content:none!important}
.pl-city > a{flex:1 1 auto;display:flex!important;align-items:center;gap:10px;min-height:48px;padding:12px 20px}
.pl-city > a::before{content:"";width:14px;height:14px;flex:none;background:var(--pl-blue);-webkit-mask:var(--pl-i-pin) center/contain no-repeat;mask:var(--pl-i-pin) center/contain no-repeat}
@media (max-width:767px){.pl-city > a{padding:12px 14px}}
/* card footer links read as links */
.pl-tcard-foot > a:hover,.pl-link-arrow > a:hover{color:var(--pl-blue-ink)}
/* hero headline on small phones */
@media (max-width:374px){.home h1.e-heading-base{font-size:29px!important}}
@media (max-width:330px){.home h1.e-heading-base{font-size:27px!important}}
@media (max-width:767px){.pl-proof-tag{right:16px!important;width:auto!important;max-width:none!important}}
/* Elementor scopes its rules as `.elementor .x` (0,2,0); the few overrides below must win over that */
.pl-icon-tile{display:grid!important;place-items:center}
.home [data-elementor-id] p > a.e-paragraph-link-base{flex-wrap:wrap;justify-content:inherit;column-gap:.3em}
.pl-trust-foot p{text-align:center}
@media (max-width:1024px){
  .home #masthead .elementor-element-48cb2cb3{margin-left:auto!important;width:52px!important;max-width:52px!important;flex:0 0 52px!important}
  .home #masthead .pl-nav{width:52px}
}
@media (max-width:767px){
  .pl-float-cta{left:0!important;right:0!important;bottom:0!important;width:auto!important;max-width:none!important;gap:8px!important;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom))!important;border-radius:0!important;transform:translateY(14px)}
  .pl-float-cta.is-on{transform:translateY(0)}
  .pl-float-btn{min-height:50px!important;padding:0 10px!important;font-size:14.5px!important}
  .pl-float-btn span{display:none}
  .pl-float-close{top:-13px!important;right:12px!important;width:26px!important;height:26px!important}
  body.home{padding-bottom:0}
}
/* mobile/tablet dropdown: anchor to the masthead row and span the viewport */
@media (max-width:1024px){
  .home #masthead .elementor-element-8c94000{position:relative!important}
  .home #masthead .elementor-element-48cb2cb3,.home #masthead .pl-nav,.home #masthead .pl-nav > .elementor-widget-container,.home #masthead .pl-nav .hfe-nav-menu{position:static!important}
  .home #masthead .pl-nav nav.hfe-nav-menu__layout-horizontal{position:absolute!important;top:100%!important;left:calc(50% - 50vw)!important;right:auto!important;width:100vw!important;max-height:calc(100vh - 140px);overflow-y:auto;background:#fff;z-index:110}
  .home #masthead .pl-nav nav.hfe-nav-menu__layout-horizontal a.hfe-menu-item,.home #masthead .pl-nav nav.hfe-nav-menu__layout-horizontal a.hfe-sub-menu-item{padding-left:24px!important;padding-right:24px!important;border-bottom:1px solid #EDE8E0}
}
.pl-float-btn{gap:0!important}
.pl-float-btn::before{margin-right:9px}
