:root{--page:#f7fbfc;--surface:#fff;--surface-alt:#eaf6fa;--navy:#092946;--navy-2:#0d385b;--cyan:#0b94d1;--cyan-dark:#0878ad;--aqua:#c9f0f7;--text:#19354a;--muted:#62798a;--border:#d5e6ed;--success:#178f77;--max:1240px;--narrow:880px;--s1:.5rem;--s2:.75rem;--s3:1rem;--s4:1.5rem;--s5:2rem;--s6:3rem;--s7:4.5rem;--s8:7rem;--radius:12px;--shadow:0 14px 36px #0a31430f;--ease:180ms ease;--display:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;--body:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--text);font:16px/1.6 var(--body);overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin:0 auto}.narrow{max-width:var(--narrow)}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.eyebrow{margin:0 0 .7rem;color:var(--cyan);font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:#b9f2ff}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3rem,6vw,5.9rem);margin-bottom:1.25rem;max-width:740px}h1 em{font-style:normal;color:#b9edf7}h2{font-size:clamp(2.1rem,4vw,3.6rem);margin-bottom:1rem}h3{font-size:1.2rem;margin-bottom:.55rem}.button{display:inline-flex;align-items:center;gap:.55rem;border:1px solid var(--cyan);border-radius:7px;background:var(--cyan);color:#fff;font-weight:800;padding:.85rem 1.3rem;transition:transform var(--ease),background var(--ease),box-shadow var(--ease)}.button:hover{background:var(--cyan-dark);transform:translateY(-2px);box-shadow:0 8px 18px #0878ad35}.button svg,.text-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.button-small{padding:.55rem .95rem;font-size:.85rem}.button-outline{background:transparent;color:var(--cyan)}.button-ghost{background:#ffffff22;border-color:#fff}.section{padding:var(--s8) 0}.section-heading{max-width:660px;margin-bottom:3rem}.section-heading>p:not(.eyebrow){color:var(--muted);max-width:680px}.center{text-align:center;margin-left:auto;margin-right:auto}.site-header{position:sticky;top:0;z-index:20;background:#fffdfdf2;border-bottom:1px solid #d7e8ee;backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;min-height:74px;gap:2rem}.brand{display:flex;align-items:center;gap:.65rem;font-size:.75rem;font-weight:900;letter-spacing:.08em;color:var(--navy);line-height:1}.brand small{display:block;color:var(--cyan);font-size:.52rem;letter-spacing:.3em;margin-top:.3rem}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--cyan);color:#fff;font-size:.7rem;letter-spacing:-.06em}.desktop-nav{display:flex;gap:1.8rem;margin:auto;font-size:.85rem;color:#496477}.desktop-nav a:hover,.phone:hover{color:var(--cyan)}.header-actions{display:flex;align-items:center;gap:1rem}.phone{font-size:.85rem;font-weight:700;color:var(--navy)}.menu-toggle{display:none;border:0;background:transparent;color:var(--navy);padding:.4rem}.menu-toggle svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2}.mobile-nav{display:none}.hero{position:relative;min-height:690px;display:flex;align-items:center;color:#fff;isolation:isolate}.hero>picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#061f37de 0%,#061f377d 44%,#061f3722 100%);z-index:-1}.hero-content{padding:6rem 0}.hero h1{color:#fff}.hero-copy{max-width:520px;color:#e2f2f5;font-size:1.15rem}.hero-actions{display:flex;gap:.8rem;margin-top:2rem}.trust{background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:1.35rem 0}.trust-grid>div{display:grid;grid-template-columns:34px 1fr;column-gap:.75rem;padding:1rem 2rem;border-right:1px solid var(--border)}.trust-grid>div:first-child{padding-left:0}.trust-grid>div:last-child{border:0}.trust svg,.icon-grid svg,.mini-grid svg,.guarantee-grid svg{grid-row:span 2;width:30px;height:30px;fill:none;stroke:var(--cyan);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.trust strong,.mini-grid strong{font-size:.83rem;color:var(--navy)}.trust span,.mini-grid span{font-size:.74rem;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.image-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}.image-card img{width:100%;height:220px;object-fit:cover}.image-card>div{padding:1.4rem}.image-card p{color:var(--muted);font-size:.92rem;min-height:3.1rem}.text-link{display:inline-flex;gap:.4rem;align-items:center;color:var(--cyan);font-size:.84rem;font-weight:800}.climate-photo{position:relative;height:380px;color:#fff;display:flex;align-items:end}.climate-photo>picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.climate-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#062841d9,#06284122)}.climate-photo .container{position:relative;z-index:1;padding-bottom:3rem}.photo-caption{max-width:500px}.photo-caption p:last-child{color:#e8f5f5}.climate{background:#fff}.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.icon-grid h3{margin-top:1rem;margin-bottom:.25rem;font-size:1rem}.icon-grid p{color:var(--muted);font-size:.87rem}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:2.5rem}.split-heading>p{max-width:360px;color:var(--muted)}.plans{background:linear-gradient(135deg,#eaf8fb,#f7fcfd)}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.plan-card{position:relative;background:#fff;border:1px solid #a6dbe8;border-radius:10px;padding:2rem;box-shadow:var(--shadow);min-height:235px;display:flex;flex-direction:column}.plan-card p{color:var(--muted);font-size:.92rem;flex:1}.plan-card.featured{border-color:var(--cyan);transform:translateY(-12px)}.popular{position:absolute;top:0;right:1rem;transform:translateY(-50%);border-radius:20px;background:var(--cyan);color:#fff;padding:.35rem .8rem;font-size:.7rem;font-weight:800}.plan-note{color:var(--muted);font-size:.9rem;text-align:center;margin-top:2rem}.process{background:#fff}.process-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0}.process-grid li{position:relative;text-align:center;padding:0 .6rem}.process-grid li:not(:last-child):after{content:"";position:absolute;top:27px;right:-1px;width:2rem;border-top:1px solid #b8d9e2}.process-grid svg{display:block;width:54px;height:54px;padding:15px;margin:0 auto 1rem;border-radius:50%;background:#dff5fb;fill:none;stroke:var(--cyan);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.process-grid span{color:var(--cyan);font-size:.7rem;font-weight:800}.process-grid h3{font-size:1rem;margin:.3rem}.process-grid p{color:var(--muted);font-size:.78rem}.dark-feature{background:var(--navy);color:#d5e9ef}.dark-grid{display:grid;grid-template-columns:1fr 1fr;min-height:490px;align-items:center}.dark-grid h2,.dark-grid .eyebrow{color:#fff}.dark-grid p{max-width:470px}.dark-grid>picture{width:100%;height:490px;object-fit:cover;opacity:.9}.check-list{padding:0;margin:1.4rem 0 2rem;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1.2rem}.check-list li{position:relative;padding-left:1.4rem;font-size:.9rem}.check-list li:before{content:"✓";position:absolute;left:0;color:#75e5ed;font-weight:900}.recovery{background:#f0fafb}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.before-after figure{position:relative;margin:0}.before-after img{width:100%;height:390px;object-fit:cover;border-radius:10px}.before-after figcaption{position:absolute;left:1rem;bottom:1rem;background:#fff;padding:.45rem 1rem;border-radius:4px;font-weight:800;color:var(--navy)}.recovery-steps{text-align:center;color:var(--cyan-dark);font-weight:800;word-spacing:1.2rem;padding-top:1.5rem}.split-image{position:relative;min-height:600px;display:flex;align-items:center}.split-image>picture{position:absolute;inset:0 0 0 auto;width:52%;height:100%;object-fit:cover}.split-image:after{content:"";position:absolute;inset:0 48% 0 0;background:var(--surface)}.split-image>.container{position:relative;z-index:1}.split-copy{width:45%;padding:5rem 0}.split-copy p{color:var(--muted)}.dark-text li{color:var(--text)}.safety{background:#fff}.safety-grid{display:grid;grid-template-columns:1fr .9fr;gap:4rem;align-items:center}.safety-grid>picture{width:100%;height:430px;object-fit:cover;border-radius:10px}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2rem}.mini-grid>div{display:grid;grid-template-columns:32px 1fr;column-gap:.6rem}.mini-grid svg{grid-row:span 2}.seasons{background:#eef9fc}.season-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.season-grid>div:not(.season-cycle){padding:2rem}.season-grid strong{color:var(--navy)}.season-grid p{margin:.5rem 0 0;color:var(--muted);font-size:.9rem}.season-cycle{display:flex;justify-content:center;align-items:center;gap:1rem;color:var(--cyan);font-size:2rem}.season-cycle svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.4}.season-note{text-align:center;color:var(--muted);font-size:.9rem;padding:1rem}.area{background:#fff}.area-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:center}.area-art{position:relative;min-height:350px;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#dff2e9,#a8dded 70%,#82c9dc);background-image:radial-gradient(#fff8 1px,transparent 1px),linear-gradient(145deg,#dff2e9,#a8dded 70%,#82c9dc);background-size:18px 18px,auto}.area-art span{position:absolute;background:#fff;padding:.55rem .85rem;border-radius:6px;box-shadow:var(--shadow);font-weight:800;font-size:.82rem;color:var(--navy)}.area-art span:nth-child(1){top:25%;right:20%}.area-art span:nth-child(2){top:50%;right:31%}.area-art span:nth-child(3){bottom:19%;left:25%}.area-line{position:absolute;inset:31% 30% 27% 28%;border:2px dashed var(--cyan);border-radius:45% 55% 60% 40%}.pricing{background:#eef9fc}.pricing-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem}.price-table{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}.price-table div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.82rem}.price-table div:last-child{border:0}.price-table strong{color:var(--navy);white-space:nowrap}.small{font-size:.75rem;color:var(--muted)}.guarantee{border-left:1px solid var(--border);padding-left:3rem}.guarantee p:not(.eyebrow){color:var(--muted)}.guarantee-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.guarantee-grid>div{display:flex;align-items:center;gap:.6rem;font-size:.78rem}.guarantee-grid svg{width:25px;height:25px}.reviews{background:#fff}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.review-grid blockquote{margin:0;border:1px solid var(--border);border-radius:10px;padding:2rem;background:#fff;box-shadow:var(--shadow)}.review-grid blockquote p{font-size:1.08rem;color:var(--navy)}.review-grid footer{display:flex;align-items:center;gap:.7rem}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dff5fb;color:var(--cyan);font-weight:900}.review-grid small{display:block;color:var(--muted)}.faq{background:#f0fafb}.faq-list{border-top:1px solid var(--border)}details{border-bottom:1px solid var(--border);background:#fff;padding:0 1.4rem}summary{cursor:pointer;list-style:none;padding:1.25rem 2rem 1.25rem 0;position:relative;font-weight:800;color:var(--navy)}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:0;color:var(--cyan);font-size:1.4rem;font-weight:400}details[open] summary:after{content:"−"}details p{max-width:760px;color:var(--muted);padding:0 2rem 1.2rem 0;margin:0}.seo-content{background:#fff}.seo-content .lead{font-size:1.1rem;color:var(--muted);max-width:800px}.seo-columns{columns:2;column-gap:4rem;margin-top:3rem}.seo-columns article{break-inside:avoid;margin-bottom:2rem}.seo-columns h3{font-size:1.3rem}.seo-columns p,.seo-columns li{color:var(--muted);font-size:.92rem}.seo-columns ul{padding-left:1.2rem}.contact{background:var(--navy);color:#d4eaf0;padding:var(--s8) 0}.contact h2{color:#fff}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start}.contact a{color:#fff}.contact-card{background:#fff;border-radius:10px;padding:2rem;color:var(--text);box-shadow:0 20px 60px #00172555}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid label{font-size:.8rem;font-weight:800;color:var(--navy)}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea{display:block;width:100%;margin-top:.4rem;border:1px solid var(--border);border-radius:6px;padding:.75rem;background:#fbfeff;color:var(--text)}.form-grid input:focus,.form-grid textarea:focus{outline:3px solid #94e9f477;border-color:var(--cyan)}.contact-card .button{margin-top:1rem}.privacy{font-size:.72rem;color:var(--muted);margin:1rem 0 0}.final-cta{position:relative;text-align:center;background:linear-gradient(135deg,#067ca9,#0b456b);color:#fff;padding:5rem 0;overflow:hidden}.final-cta:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;bottom:-160px;background:#5ee4ee33}.final-cta h2{color:#fff}.final-cta .button{background:#fff;color:var(--navy);border-color:#fff}footer{background:#fff;border-top:1px solid var(--border);padding:2rem 0}.footer-inner{display:flex;align-items:center;gap:2rem}.footer-inner nav{display:flex;gap:1.2rem;margin:auto;font-size:.82rem;color:var(--muted)}.footer-inner p{font-size:.72rem;color:var(--muted);margin:0}@media(max-width:1000px){.phone{display:none}.container{width:min(calc(100% - 32px),var(--max))}.hero{min-height:600px}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-grid>div:nth-child(2){border-right:0}.service-grid,.plan-grid{grid-template-columns:repeat(2,1fr)}.image-card:last-child{grid-column:span 2;max-width:calc(50% - .5rem)}.icon-grid{gap:1rem}.process-grid{grid-template-columns:repeat(3,1fr);gap:2rem}.process-grid li:after{display:none}.pricing-grid,.safety-grid{gap:2rem}.seo-columns{column-gap:2rem}}@media(max-width:767px){.section{padding:4rem 0}.desktop-nav,.header-actions .button{display:none}.menu-toggle{display:block}.header-inner{justify-content:space-between}.mobile-nav{display:grid;max-height:0;overflow:hidden;transition:max-height var(--ease);padding:0 16px}.mobile-nav.open{max-height:300px;padding-bottom:1rem}.mobile-nav a{padding:.65rem 0;border-top:1px solid var(--border);font-weight:700}.hero{min-height:650px}.hero-content{padding:4rem 0}.hero h1{font-size:3.2rem}.hero-copy{font-size:1rem}.hero-actions{flex-wrap:wrap}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div{padding:1rem .7rem;border-bottom:1px solid var(--border)}.trust-grid>div:first-child{padding-left:.7rem}.service-grid,.plan-grid,.before-after,.review-grid,.pricing-grid,.contact-grid,.safety-grid,.area-grid{grid-template-columns:1fr}.image-card:last-child{grid-column:auto;max-width:none}.split-heading{display:block}.plan-card.featured{transform:none}.process-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.dark-grid{display:flex;flex-direction:column;padding-top:4rem}.dark-grid>picture{height:300px;margin-top:3rem}.split-image{display:block;padding:0}.split-image>picture{position:relative;width:100%;height:280px}.split-image:after{display:none}.split-copy{width:auto;padding:4rem 0}.safety-grid>picture{height:280px;order:-1}.mini-grid{grid-template-columns:1fr 1fr}.season-grid{grid-template-columns:1fr}.season-cycle{padding:1rem}.area-art{min-height:280px}.guarantee{border-left:0;border-top:1px solid var(--border);padding:2rem 0 0}.seo-columns{columns:1}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.footer-inner{display:grid;grid-template-columns:1fr 1fr}.footer-inner nav{display:grid;gap:.4rem;margin:0}.footer-inner p{grid-column:1/-1}.recovery-steps{word-spacing:.3rem;font-size:.8rem}.before-after img{height:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.distributed-detail{margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--border)}
.distributed-detail .editorial-title{font-size:clamp(1.65rem,3vw,2.5rem);margin-bottom:1rem}
.distributed-detail h3{font-size:1.3rem}
.distributed-detail p,.distributed-detail li{color:var(--muted);font-size:.92rem}
.distributed-detail ul{padding-left:1.2rem}
.dark-feature .distributed-detail{border-color:#31627e;color:#d5e9ef}
.dark-feature .distributed-detail h3{color:#fff}
.dark-feature .distributed-detail p,.dark-feature .distributed-detail li{color:#d5e9ef}

@media(min-width:1200px){
  .section h2{font-size:clamp(2.7rem,3.8vw,4.1rem)}
  .section-heading>p:not(.eyebrow),.split-heading>p{font-size:1.06rem;line-height:1.65}
  .service-grid,.plan-grid{gap:1.5rem}
  .image-card img{height:315px}
  .icon-grid>div{padding-top:1.3rem;border-top:2px solid var(--aqua)}
  .season-grid>div:not(.season-cycle){min-height:170px}
  .season-cycle{font-size:2.8rem}
  .price-table div{padding:1rem 1.25rem;font-size:.94rem}
  .guarantee-grid>div{font-size:.9rem}
  .review-grid blockquote p{font-size:1.2rem}
  .distributed-detail article{max-width:780px}
  .distributed-detail article p{margin-bottom:1rem}
  .distributed-detail article ul{margin-bottom:0}
}

/* M2 responsive implementation. The approved desktop rules above remain
   unchanged; these ranges only define the smaller-screen information flow. */
@media (max-width:1199px) and (min-width:1001px){
  .container{width:min(calc(100% - 64px),var(--max))}
  .hero{min-height:660px}
  .hero-content{padding:6rem 0}
  .hero h1{font-size:clamp(4rem,6vw,5rem)}
  .service-grid,.plan-grid{gap:1.25rem}
  .image-card img{height:245px}
  .icon-grid{gap:1.5rem}
  .process-grid{grid-template-columns:repeat(3,1fr);gap:2rem}
  .process-grid li:not(:last-child):after{display:none}
  .dark-grid{min-height:500px}
  .dark-grid>picture{height:500px}
  .before-after img{height:350px}
  .split-image{min-height:580px}
  .split-copy{padding:4rem 0}
  .safety-grid{gap:2.5rem}
  .safety-grid>picture{height:400px}
  .area-grid,.pricing-grid{gap:2rem}
  .area-art{min-height:360px}
}

@media (max-width:1000px) and (min-width:768px){
  .container{width:min(calc(100% - 48px),var(--max))}
  .header-inner{gap:1rem}
  .desktop-nav{gap:1rem}
  .header-actions{gap:.55rem}
  .hero{min-height:620px}
  .hero h1{font-size:clamp(3.4rem,6vw,4.5rem)}
  .hero-copy{font-size:1.08rem}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .image-card:last-child{grid-column:1/-1;max-width:none}
  .image-card img{height:260px}
  .climate-photo{height:420px}
  .icon-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem 2rem}
  .plan-grid{grid-template-columns:repeat(2,1fr)}
  .plan-card.featured{transform:none}
  .plan-card:last-child{grid-column:1/-1}
  .process-grid{grid-template-columns:repeat(3,1fr);gap:2rem}
  .process-grid li:not(:last-child):after{display:none}
  .dark-grid{min-height:460px}
  .dark-grid>picture{height:460px}
  .before-after img{height:320px}
  .split-image{min-height:540px}
  .split-copy{padding:4rem 0}
  .safety-grid{gap:2rem}
  .safety-grid>picture{height:360px}
  .season-grid>div:not(.season-cycle){padding:1.5rem}
  .area-grid,.pricing-grid{gap:2rem}
  .area-art{min-height:330px}
  .contact-grid{gap:2rem}
}

@media (max-width:767px){
  :root{--s8:4.5rem}
  html,body{max-width:100%;overflow-x:hidden}
  .container{width:calc(100% - 32px);min-width:0}
  .site-header{min-height:64px}
  .header-inner{min-height:64px;gap:.5rem}
  .brand{font-size:.68rem}
  .brand-mark{width:30px;height:30px}
  .header-actions{margin-left:auto}
  .phone{display:block;font-size:.75rem;white-space:nowrap}
  .menu-toggle{display:block;min-width:44px;min-height:44px}
  .mobile-nav{padding-left:16px;padding-right:16px}
  .mobile-nav a{min-height:44px;display:flex;align-items:center}
  h1{font-size:clamp(2.65rem,11vw,3.25rem);line-height:1.02;max-width:9.5ch}
  h2{font-size:clamp(2rem,9vw,2.7rem);line-height:1.08}
  h3{font-size:1.15rem}
  p{line-height:1.62}
  .hero{min-height:650px;align-items:flex-end}
  .hero>picture{object-position:62% center}
  .hero-overlay{background:linear-gradient(180deg,#061f3730 16%,#061f37db 77%)}
  .hero-content{padding:4rem 0 4.5rem}
  .hero-copy{font-size:1rem;max-width:34rem}
  .hero-actions{gap:.65rem;margin-top:1.6rem}
  .hero-actions .button{min-height:48px}
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem 0}
  .trust-grid>div,.trust-grid>div:first-child{padding:.85rem .6rem;grid-template-columns:28px 1fr;column-gap:.5rem}
  .trust svg{width:25px;height:25px}
  .trust strong{font-size:.76rem;line-height:1.25}
  .trust span{font-size:.68rem;line-height:1.3}
  .section-heading{margin-bottom:2.25rem}
  .service-grid,.plan-grid,.review-grid{grid-template-columns:1fr}
  .image-card:last-child{grid-column:auto;max-width:none}
  .image-card img{height:auto;aspect-ratio:1.45;object-fit:cover}
  .image-card>div{padding:1.25rem}
  .image-card p{min-height:0;margin-bottom:1rem}
  .climate-photo{height:360px}
  .climate-photo .container{padding-bottom:2.5rem}
  .photo-caption{font-size:.95rem}
  .icon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}
  .icon-grid>div{min-width:0}
  .icon-grid p{font-size:.84rem}
  .split-heading{display:block;margin-bottom:1.75rem}
  .split-heading>p{margin-top:1rem}
  .plan-card,.plan-card.featured{min-height:0;transform:none;padding:1.6rem}
  .plan-card .button{min-height:46px;justify-content:center}
  .popular{right:1.2rem}
  .plan-note{font-size:.88rem}
  .process-grid{grid-template-columns:1fr;gap:0;text-align:left;position:relative;margin-left:.4rem}
  .process-grid li{display:grid;grid-template-columns:38px 58px minmax(0,1fr);align-items:center;text-align:left;gap:.7rem;min-height:92px;padding:1rem 0;border-bottom:1px solid var(--border)}
  .process-grid li:last-child{border-bottom:0}
  .process-grid li:not(:last-child):after{display:none}
  .process-grid span{grid-column:1;grid-row:1;font-size:.72rem}
  .process-grid svg{grid-column:2;grid-row:1;width:52px;height:52px;padding:14px;margin:0}
  .process-grid h3{grid-column:3;grid-row:1;margin:0;font-size:1.05rem}
  .process-grid p{grid-column:3;grid-row:2;margin:0;font-size:.84rem}
  .dark-grid{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:4.5rem}
  .dark-grid>div{order:1}
  .dark-grid>picture{order:2;width:100%;height:auto;aspect-ratio:1.35;margin-top:2.5rem;object-fit:cover}
  .dark-grid .button{min-height:48px}
  .dark-feature .distributed-detail{margin-bottom:4rem}
  .before-after{grid-template-columns:1fr;gap:1.25rem}
  .before-after img{height:auto;aspect-ratio:1.45}
  .before-after figcaption{font-size:.9rem;padding:.55rem 1rem}
  .recovery-steps{line-height:1.8;word-spacing:.15rem}
  .split-image{display:flex;flex-direction:column;min-height:0}
  .split-image>picture{position:relative;inset:auto;order:1;width:100%;height:auto;aspect-ratio:1.15;object-fit:cover;object-position:center}
  .split-image:after{display:none}
  .split-image>.container{order:2}
  .split-copy{width:auto;padding:4rem 0 1rem}
  .split-copy .button{min-height:48px}
  .safety-grid{grid-template-columns:1fr;gap:2rem}
  .safety-grid>picture{order:initial;width:100%;height:auto;aspect-ratio:1.2;object-fit:cover}
  .mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
  .mini-grid>div{min-width:0}
  .mini-grid strong{font-size:.76rem;line-height:1.25}
  .mini-grid span{font-size:.68rem;line-height:1.3}
  .season-grid{grid-template-columns:1fr;overflow:visible}
  .season-grid>div:not(.season-cycle){min-height:0;padding:1.4rem 1.5rem}
  .season-cycle{padding:1rem;font-size:2rem}
  .season-cycle svg{width:34px;height:34px}
  .season-note{padding:.9rem 0}
  .area-grid{grid-template-columns:1fr;gap:2rem}
  .area-art{min-height:280px;width:100%}
  .area-art span{font-size:.75rem;padding:.45rem .65rem}
  .pricing-grid{grid-template-columns:1fr;gap:2.5rem}
  .price-table div{align-items:baseline;padding:.8rem .85rem;font-size:.82rem}
  .price-table strong{font-size:.8rem}
  .guarantee{border-left:0;border-top:1px solid var(--border);padding:2rem 0 0}
  .guarantee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
  .guarantee-grid>div{font-size:.75rem;line-height:1.3}
  .review-grid blockquote{padding:1.5rem}
  details{padding-left:1rem;padding-right:1rem}
  summary{min-height:56px;display:flex;align-items:center;padding:1rem 2rem 1rem 0;font-size:.95rem;line-height:1.35}
  details p{padding:0 1rem 1.2rem 0;font-size:.94rem}
  .distributed-detail{margin-top:2rem;padding-top:1.5rem}
  .distributed-detail h3{font-size:1.18rem}
  .distributed-detail p,.distributed-detail li{font-size:.92rem}
  .seo-content .lead{font-size:1rem}
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  .contact-card{padding:1.35rem}
  .form-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .form-grid input,.form-grid textarea{font-size:16px;min-height:48px}
  .form-grid textarea{min-height:120px}
  .contact-card .button{min-height:48px;width:100%;justify-content:center}
  .final-cta{padding:4.5rem 0}
  .footer-inner{display:grid;grid-template-columns:1fr;gap:1.25rem}
  .footer-inner nav{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;margin:0}
  .footer-inner p{font-size:.75rem}
}

@media (max-width:410px){
  .container{width:calc(100% - 24px)}
  .phone{font-size:.7rem}
  .hero{min-height:620px}
  .hero-content{padding-bottom:3.5rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .button{text-align:center;justify-content:center}
  .trust-grid>div,.trust-grid>div:first-child{padding-left:.35rem;padding-right:.35rem}
  .trust strong{font-size:.7rem}
  .trust span{font-size:.63rem}
  .icon-grid{gap:1rem .7rem}
  .icon-grid p{font-size:.8rem}
  .mini-grid{gap:.75rem}
  .price-table div{font-size:.76rem}
  .price-table strong{font-size:.72rem}
  .guarantee-grid>div{font-size:.7rem}
}

/* M1.1 desktop fidelity pass: the reference uses broad, image-led bands with a
   confident editorial scale. These overrides intentionally leave the mobile
   foundation above intact. */
@media(min-width:1200px){
  :root{--max:1320px}
  .container{width:min(calc(100% - 80px),var(--max))}
  .hero{min-height:760px}
  .hero-content{padding:7rem 0 8rem}
  .hero-copy{font-size:1.25rem;line-height:1.55;max-width:560px}
  .hero-actions{margin-top:2.4rem}
  .button{padding:1rem 1.45rem}
  .trust-grid{padding:1.5rem 0}
  .trust-grid>div{padding:1.1rem 2.5rem}
  .trust svg{width:34px;height:34px}
  .section{padding:7rem 0}
  .section-heading{margin-bottom:3.5rem}
  .image-card img{height:280px}
  .image-card>div{padding:1.65rem}
  .image-card p{font-size:1rem;min-height:3.5rem}
  .climate-photo{height:480px}
  .climate-photo .container{padding-bottom:4.5rem}
  .photo-caption{max-width:560px;font-size:1.05rem}
  .icon-grid{gap:3.25rem}
  .icon-grid svg{width:38px;height:38px}
  .plan-card{min-height:300px;padding:2.5rem}
  .plan-card h3{font-size:1.35rem}
  .plan-card p{font-size:1rem}
  .process-grid li{padding:0 1rem}
  .process-grid svg{width:64px;height:64px;padding:18px}
  .process-grid li:not(:last-child):after{top:32px;width:3rem}
  .process-grid p{font-size:.88rem}
  .dark-grid{min-height:560px}
  .dark-grid>picture{height:560px}
  .dark-grid h2{font-size:3.6rem}
  .before-after img{height:430px}
  .recovery-steps{font-size:1rem;padding-top:2rem}
  .split-image{min-height:650px}
  .split-copy{padding:6rem 0}
  .split-copy h2{font-size:3.2rem}
  .safety-grid>picture{height:500px}
  .season-grid>div:not(.season-cycle){padding:2.5rem 3rem}
  .area-art{min-height:430px}
  .pricing-grid{gap:5rem}
  .review-grid{gap:1.5rem}
  .review-grid blockquote{padding:2.5rem}
  .faq details{padding-left:2rem;padding-right:2rem}
  .faq summary{font-size:1.02rem;padding-top:1.5rem;padding-bottom:1.5rem}
  .contact{padding:7rem 0}
  .final-cta{padding:6rem 0}
  .distributed-detail{margin-top:3rem;padding-top:2.25rem;border-top:1px solid var(--border);max-width:860px}
  .distributed-detail h3{font-size:1.45rem}
  .distributed-detail p,.distributed-detail li{font-size:.98rem}
  .dark-feature .distributed-detail{border-color:#31627e;color:#d5e9ef}
  .dark-feature .distributed-detail h3{color:#fff}
  .dark-feature .distributed-detail p,.dark-feature .distributed-detail li{color:#d5e9ef}
  #plans>.distributed-detail,.pricing>.distributed-detail{width:min(calc(100% - 80px),var(--max));margin-left:auto;margin-right:auto}
  #plans>.distributed-detail{margin-top:2rem}
  .pricing>.distributed-detail{margin-top:3.5rem}
  .distributed-detail article{max-width:780px}
  .distributed-detail article p{margin-bottom:1rem}
  .distributed-detail article ul{margin-bottom:0}
}
/* M2.1 final cascade: these narrow-screen readability rules intentionally
   come last so they win over the earlier responsive foundation. */
@media (max-width:767px){
  .distributed-detail{margin-top:2.5rem;padding-top:1.9rem}
  .distributed-detail h3{margin-bottom:1rem;line-height:1.15}
  .distributed-detail p,.distributed-detail li{font-size:15px;line-height:1.75}
  .distributed-detail p{margin-bottom:1.25rem}
  .distributed-detail ul{margin-top:.75rem;margin-bottom:1.25rem}
  .distributed-detail li{margin-bottom:.35rem}
  .distributed-detail .lead{font-size:16px;line-height:1.7;margin-bottom:1.7rem}
  .trust strong{font-size:.82rem}
  .trust span{font-size:.72rem;line-height:1.4}
  .plan-grid{gap:1.35rem}
  .plan-card,.plan-card.featured{padding:1.9rem 1.5rem;border-radius:12px}
  .plan-card h3{font-size:1.35rem;margin-bottom:.8rem}
  .plan-card p{font-size:15px;line-height:1.65;margin-bottom:1.5rem}
  .plan-card .button{margin-top:auto;font-size:.92rem}
  .process-grid{margin-top:.75rem;gap:0}
  .process-grid:before{content:"";position:absolute;z-index:0;left:66px;top:42px;bottom:42px;border-left:1px solid #9ed3de}
  .process-grid li{min-height:112px;padding:1.35rem 0}
  .process-grid span,.process-grid svg,.process-grid h3,.process-grid p{position:relative;z-index:1}
  .process-grid svg{background:#dff5fb}
  .process-grid h3{margin-bottom:.15rem}
  .section{padding-top:4.75rem;padding-bottom:4.75rem}
}
@media (max-width:430px){
  .hero-actions{align-items:stretch}
  .hero-actions .button:first-child{width:100%;justify-content:center}
  .hero-actions .button-ghost{align-self:center;width:auto;min-width:0;background:transparent;border-color:#ffffff99;padding:.65rem 1rem;font-size:.88rem}
  .hero-copy{font-size:1.02rem;line-height:1.65}
  .section-heading>p:not(.eyebrow){font-size:15px;line-height:1.7}
  .process-grid li{grid-template-columns:34px 58px minmax(0,1fr);column-gap:.6rem}
  .process-grid:before{left:62px}
  .distributed-detail h3{font-size:1.22rem}
}

/* M2.2 reference-fidelity layer. Decoration is vector/CSS-only and reduces
   density at responsive breakpoints. */
.brand img{display:block;width:150px;height:32px;object-fit:contain;object-position:left center}
.plan-card{min-height:360px}
.plan-price{color:var(--muted);margin:.4rem 0 1rem!important;line-height:1.15}
.plan-price strong{display:block;color:var(--navy);font-size:1.8rem;letter-spacing:-.04em}
.plan-price small{font-size:.8rem;color:var(--muted)}
.plan-features{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.55rem;color:var(--text);font-size:.88rem}
.plan-features li:before{content:"✓";color:var(--cyan);font-weight:900;margin-right:.55rem}
.quality{position:relative;background:linear-gradient(135deg,#e7f8fb 0%,#f9fcfd 58%,#dff2f8 100%);overflow:hidden}
.quality:after{content:"";position:absolute;right:-7rem;bottom:-9rem;width:28rem;height:18rem;border-radius:50%;background:#8dddea55;filter:blur(18px);pointer-events:none}
.quality>.container{position:relative;z-index:1}
.quality .section-heading{max-width:720px}
.quality .guarantee-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem}
.quality .guarantee-grid>div{display:grid;grid-template-columns:36px 1fr;column-gap:.65rem;padding:1.35rem 1rem;background:#ffffffaa;border:1px solid #bfe3eb;border-radius:10px;box-shadow:0 10px 28px #0a314312}
.quality .guarantee-grid svg{grid-row:span 2;width:32px;height:32px;fill:none;stroke:var(--cyan);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.quality .guarantee-grid span{font-size:.78rem;color:var(--muted)}
.area{position:relative;background:linear-gradient(135deg,#f7fcfd,#e8f7fa)}
.area-content{position:relative;z-index:1;max-width:900px}
.area-list{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0 2rem}
.area-list a{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem .9rem;background:#ffffffc9;border:1px solid #b9dfe8;border-radius:999px;color:var(--navy);font-size:.88rem;font-weight:750;box-shadow:0 6px 18px #0a31430b}
.area-list svg{width:18px;height:18px;fill:none;stroke:var(--cyan);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.area-path{position:absolute;right:8%;top:14%;width:34%;height:55%;border:2px dashed #74cddd;border-left-color:transparent;border-radius:48% 55% 42% 60%;transform:rotate(-12deg);opacity:.7;pointer-events:none}
.area-path:after{content:"";position:absolute;right:13%;top:24%;width:13px;height:13px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 7px #b9edf466,0 0 0 14px #b9edf433}
.read-more-block{position:relative}
.read-more-panel{max-height:none;opacity:1}
.js .read-more-panel{max-height:0;overflow:hidden;opacity:.15;transition:max-height 280ms ease,opacity 180ms ease}
.js .read-more-block.is-open .read-more-panel{max-height:2200px;opacity:1}
.read-more{display:none;align-items:center;gap:.35rem;margin-top:1rem;border:0;border-bottom:1px solid var(--cyan);padding:.35rem 0;background:transparent;color:var(--cyan-dark);font-weight:800;cursor:pointer}
.js .read-more{display:inline-flex}
.read-more:after{content:"↓";font-size:1.05em}
.read-more-block.is-open .read-more:after{content:"↑"}
.read-more:focus-visible{outline:3px solid #94e9f4;outline-offset:4px;border-radius:3px}
.final-cta{background:linear-gradient(135deg,#087da9,#0b4468);isolation:isolate}
.final-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 30%,#8be8ef44 0 2px,transparent 3px),radial-gradient(circle at 18% 38%,#8be8ef33 0 3px,transparent 4px),linear-gradient(165deg,transparent 55%,#6de0e933 56%,transparent 57%);opacity:.8;pointer-events:none}
.final-cta>*{position:relative;z-index:1}
footer{position:relative;overflow:hidden;background:linear-gradient(180deg,#e6f7fa,#fff);padding:3rem 0 2rem}
footer:before{content:"";position:absolute;left:-5%;right:-5%;top:-2.2rem;height:4rem;background:#fff;clip-path:ellipse(60% 55% at 50% 0%);opacity:.9}
footer:after{content:"✦";position:absolute;right:8%;bottom:1.4rem;color:#f3b95e88;font-size:3rem;transform:rotate(22deg);pointer-events:none}
.footer-inner{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem}
.footer-contact{display:grid;gap:.2rem;color:var(--muted);font-size:.78rem;max-width:330px}
.footer-contact a{color:var(--navy);font-size:.9rem;font-weight:800}
@media (max-width:1199px){.quality .guarantee-grid{grid-template-columns:repeat(2,1fr)}.area-path{right:4%;width:35%}}
@media (max-width:767px){
  .brand img{width:132px;height:30px}
  .plan-card{min-height:0}
  .plan-price strong{font-size:1.65rem}
  .quality .guarantee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quality .guarantee-grid>div{padding:.95rem .7rem;grid-template-columns:28px 1fr}
  .quality .guarantee-grid svg{width:25px;height:25px}
  .quality .guarantee-grid strong{font-size:.75rem}
  .quality .guarantee-grid span{font-size:.68rem}
  .area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .area-list a{justify-content:flex-start;padding:.65rem .7rem;font-size:.78rem}
  .area-list a:last-child{grid-column:1/-1}
  .area-path{right:2%;top:26%;width:45%;height:22%;opacity:.45}
  .read-more-panel{transition:max-height 260ms ease,opacity 160ms ease}
  .footer-inner{grid-template-columns:1fr;gap:1.1rem;padding-top:1.2rem}
  footer:after{right:5%;bottom:3.2rem;font-size:2rem}
}
/* Browser-reviewed M2.2 polish */
.climate-photo:after{background:linear-gradient(90deg,#06284166 0%,#062841b8 48%,#062841e6 100%)}
.climate-photo .container{display:flex;justify-content:flex-end;width:min(calc(100% - 80px),var(--max))}
.photo-caption{max-width:520px;text-align:right;background:#06284166;padding:1rem 1.2rem;border-radius:10px;backdrop-filter:blur(4px)}
.footer-inner:after{display:none}
footer:after{content:none}
@media (max-width:1199px) and (min-width:768px){.split-image>picture{width:46%}.split-image:after{inset:0 54% 0 0}.split-copy{width:50%;padding:4rem 0}}
@media (max-width:767px){.climate-photo .container{justify-content:flex-start;width:min(calc(100% - 32px),var(--max))}.photo-caption{text-align:left;background:transparent;padding:0;backdrop-filter:none}}

/* M2.3 final reference-fidelity layer */
:root{--icon-sm:32px;--icon-md:44px;--icon-lg:58px;--icon-xl:72px;--water-fade:linear-gradient(135deg,#fff 0%,#eefbfc 58%,#dff6fa 100%)}
.brand img{width:148px;height:auto}
.trust{position:relative;background:linear-gradient(180deg,#f4fcfd,#fff);border-bottom:1px solid #d7edf2}
.trust-grid{gap:.25rem;padding:1.8rem 0}
.trust-grid>div{grid-template-columns:48px 1fr;align-items:center;padding:1rem 1.7rem}
.trust-grid svg{width:42px;height:42px;padding:9px;border-radius:50%;background:#dff6fa;stroke-width:1.7}
.trust strong{font-size:.86rem}.trust span{font-size:.76rem}
.service-grid{gap:1.25rem}.image-card{border-color:#c9e6ed;box-shadow:0 16px 34px #0b536d14;transition:transform 180ms ease,box-shadow 180ms ease}.image-card>div{background:linear-gradient(180deg,#fff,#f8fdfe)}
@media (hover:hover){.image-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px #0b536d24}}
.hero-overlay{background:linear-gradient(90deg,#061e38e8 0%,#063c5dbd 44%,#0b86a944 100%),linear-gradient(180deg,#0c6e8a22,#061f3766)}
.climate,.seasons{position:relative;overflow:hidden;background:var(--water-fade)}
.climate:before,.seasons:before{content:"";position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(180deg,transparent,#d8f3f6aa);pointer-events:none}
.icon-grid{position:relative;z-index:1}.icon-grid>div{padding:1.1rem .75rem;border:1px solid #d7edf2;border-radius:14px;background:#ffffffaa;box-shadow:0 10px 28px #0b536d0d}
.icon-grid svg{width:54px;height:54px;padding:12px;border-radius:50%;background:#def5f8;stroke-width:1.7}.icon-grid>div:nth-child(1) svg,.icon-grid>div:nth-child(3) svg{stroke:#e5aa27;background:#fff5cf}.icon-grid h3{margin-top:.75rem}
.edge-palm,.edge-plumeria{position:absolute;z-index:0;pointer-events:none;object-fit:contain}.edge-palm-climate{width:min(35vw,520px);height:auto;right:-100px;top:-75px;opacity:.18;transform:rotate(8deg)}
.process{background:linear-gradient(180deg,#fff,#f5fcfd)}
.process-grid{position:relative;z-index:1;gap:.25rem}.process-grid li{padding:0 .7rem}.process-grid li:before{content:"";position:absolute;z-index:-1;left:50%;top:29px;width:calc(100% + .25rem);border-top:2px solid #bde8ef}.process-grid li:last-child:before{display:none}
.process-grid svg{width:64px;height:64px;padding:15px;background:#dff5fb;stroke-width:1.6;box-shadow:0 0 0 7px #ffffffaa}.process-grid span{display:block;position:relative;z-index:2}.process-grid h3{margin-top:.55rem}
.plan-card{border-color:#c7e5ec;box-shadow:0 16px 34px #0b536d16}.plan-card.featured{background:linear-gradient(160deg,#f0fcfd,#fff);border-width:2px;box-shadow:0 20px 42px #078bb533}.plan-features{list-style:none;padding:0}.plan-features li{position:relative;padding-left:1.35rem}.plan-features li:before{content:"✓";position:absolute;left:0;top:.05rem;display:grid;place-items:center;width:1rem;height:1rem;border-radius:50%;background:#d8f4f7;color:var(--cyan-dark);font-size:.7rem;font-weight:900}
.dark-feature{background:linear-gradient(105deg,#061f38,#0b4165 65%,#092946);position:relative}.dark-feature:after{content:"";position:absolute;inset:auto 0 -1px;height:28px;background:#eefbfd;clip-path:ellipse(58% 60% at 50% 100%);opacity:.35}.dark-grid{position:relative;z-index:1}
.before-after figure{border:6px solid #fff;border-radius:14px;box-shadow:0 14px 32px #0b536d18;overflow:hidden}.before-after img{border-radius:7px}.before-after figcaption{left:1.25rem;bottom:1.25rem;border:1px solid #d2eaf0;box-shadow:0 6px 16px #0b536d18;color:var(--navy)}
.split-image{background:linear-gradient(135deg,#fff,#effafd)}
.safety{background:linear-gradient(180deg,#fff,#f2fbfc)}.mini-grid>div{grid-template-columns:52px 1fr;align-items:center}.mini-grid svg{width:50px;height:50px;padding:11px;border-radius:50%;background:#def5f8;stroke-width:1.6}
.seasons{background:linear-gradient(135deg,#eaf9fc,#f9fdfe)}.season-grid{position:relative;z-index:1;grid-template-columns:1fr .7fr 1fr;background:#ffffffb8;border-color:#c8e7ee;box-shadow:0 16px 32px #0b536d12}.season-grid>div:not(.season-cycle){padding:2rem}.season-grid>div:first-child{background:linear-gradient(135deg,#fff9df,#fff0bc66)}.season-grid>div:last-child{background:linear-gradient(135deg,#effbfe,#cdeff766)}.season-icon{display:block;width:72px;height:72px;padding:15px;margin-bottom:1rem;border-radius:50%;background:#fff5c9;stroke:#e4aa23;fill:none;stroke-width:1.6}.season-grid>div:last-child .season-icon{background:#dcf4fa;stroke:var(--cyan)}.season-cycle{gap:1.2rem}.season-cycle svg{width:64px;height:64px;padding:12px;border-radius:50%;background:#e7f8fb;stroke-width:1.4}.season-cycle svg:first-child{stroke:#e4aa23}.season-cycle svg:last-child{stroke:var(--cyan)}.season-note{position:relative;z-index:1;background:#ffffff99;border-radius:8px}
.edge-palm-seasons{width:min(32vw,470px);height:auto;right:-100px;bottom:-100px;opacity:.2;transform:rotate(-5deg)}
.area{position:relative;background:linear-gradient(135deg,#fff,#edfafd)}.area:after{content:"";position:absolute;right:5%;top:12%;width:180px;height:180px;border:1px dashed #72cddd;border-radius:50%;opacity:.3;pointer-events:none}.area-content{position:relative;z-index:1}
.quality{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff,#e9f9fb 68%,#d6f2f5)}.quality .section-heading,.quality .guarantee-grid{position:relative;z-index:1}.quality .guarantee-grid{gap:1.25rem}.quality .guarantee-grid>div{display:grid;grid-template-columns:64px 1fr;justify-items:center;text-align:center;gap:.4rem;padding:1.3rem .8rem;border:1px solid #ffffffaa;border-radius:14px;background:#ffffff66}.quality .guarantee-grid svg{width:60px;height:60px;padding:14px;grid-column:1/-1;border-radius:50%;background:#d8f4f7;stroke-width:1.5}.quality .guarantee-grid strong,.quality .guarantee-grid span{grid-column:1/-1}.edge-plumeria{width:min(30vw,410px);height:auto;right:-100px;bottom:-90px;opacity:.24;mix-blend-mode:multiply}
.reviews{background:linear-gradient(180deg,#fff,#f4fcfd)}.review-grid blockquote{border-color:#cce8ee;box-shadow:0 16px 32px #0b536d12;background:linear-gradient(145deg,#fff,#f4fcfd)}
.faq{background:#effbfc}.faq-list{border-top-color:#bfe3eb}details{border-color:#cce8ee;box-shadow:0 4px 16px #0b536d08}details[open]{background:#f8feff}summary:after{content:"⌄";font-size:1.15rem}details[open] summary:after{content:"⌃"}
.contact{position:relative;overflow:hidden;background:linear-gradient(120deg,#061f38,#0b486d 65%,#087e9f)}.contact:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-45px;height:90px;background:#ffffff12;border-radius:50% 50% 0 0/100% 100% 0 0;pointer-events:none}.contact-grid{position:relative;z-index:1}.contact-card{background:#ffffffee;box-shadow:0 24px 70px #00172566;border:1px solid #ffffff55}
.final-cta{overflow:visible;min-height:245px;padding:5rem 0 7rem;background:linear-gradient(135deg,#087da9,#0b4468 62%,#063554);isolation:isolate}.final-cta:after{background:#64e5ef33}.footer-flowers{position:absolute;z-index:-1;left:50%;bottom:-145px;width:min(1000px,78vw);height:auto;transform:translateX(-50%);object-fit:contain;opacity:.95;pointer-events:none}
footer{position:relative;z-index:2;background:linear-gradient(180deg,#083e60,#061f38);border-top:0;color:#d7eff3;padding:4.2rem 0 2rem}.footer-inner{grid-template-columns:1.15fr 1.15fr auto auto}.footer-brand p{max-width:250px;margin:.8rem 0 0;color:#a8d4dd;font-size:.78rem}.footer-inner nav{color:#c8e7ed}.footer-inner p{color:#91c4cf}.footer-contact{display:grid;gap:.25rem;color:#a8d4dd;font-size:.78rem;max-width:310px}.footer-contact a{color:#fff;font-size:.95rem;font-weight:800}
.read-more{border-color:#8fdce7;color:var(--cyan-dark);font-size:.8rem;letter-spacing:.02em}.read-more:hover{background:#e8fafc}
@media (max-width:1199px){.brand img{width:128px}.trust-grid>div{padding-inline:1rem}.edge-palm-climate,.edge-palm-seasons{width:34vw;opacity:.13}.quality .guarantee-grid>div{padding:1rem .5rem}.footer-flowers{width:82vw;bottom:-110px}}
@media (max-width:767px){.brand img{width:112px}.trust-grid>div{grid-template-columns:38px 1fr;padding:.9rem .6rem}.trust-grid svg{width:34px;height:34px;padding:7px}.icon-grid{gap:.8rem}.icon-grid>div{padding:.8rem .55rem}.icon-grid svg{width:46px;height:46px;padding:10px}.process-grid{gap:1.4rem}.process-grid li{padding-left:2.2rem;text-align:left}.process-grid li:before{left:32px;top:53px;width:2px;height:calc(100% + 1.4rem);border:0;background:#bde8ef}.process-grid li:nth-last-child(-n+2):before{display:none}.process-grid svg{width:54px;height:54px;margin:0 0 .55rem;padding:12px}.process-grid span{display:block}.mini-grid>div{grid-template-columns:44px 1fr}.mini-grid svg{width:42px;height:42px;padding:9px}.season-grid{grid-template-columns:1fr}.season-cycle{padding:1rem}.season-icon{width:58px;height:58px;padding:12px}.edge-palm-climate,.edge-palm-seasons{width:210px;opacity:.1;right:-100px}.edge-plumeria{width:220px;right:-95px;bottom:-55px;opacity:.18}.quality .guarantee-grid>div{grid-template-columns:44px 1fr;padding:.8rem .35rem}.quality .guarantee-grid svg{width:46px;height:46px;padding:10px}.footer-flowers{width:720px;max-width:none;left:50%;bottom:-62px;opacity:.85}.final-cta{padding-bottom:5rem;min-height:225px}.footer-inner{grid-template-columns:1fr;gap:1.2rem}.footer-brand p{max-width:280px}.footer-contact{order:2}.footer-inner nav{order:3}.footer-inner>p{order:4}}
@media (prefers-reduced-motion:reduce){.image-card{transition:none}}

/* M2.3.1 focused visual QA corrections */
.brand img{width:160px}
.edge-palm-climate{opacity:.21}
.season-grid>div:first-child{background:linear-gradient(135deg,#fffdf2,#fff8e7 70%,#fff5dc66)}
.edge-plumeria{width:min(27vw,370px);opacity:.20}
.review-grid blockquote{padding:2.25rem;border-color:#c5e4eb;box-shadow:0 14px 30px #0b536d14}
.review-grid blockquote>p{position:relative;margin-bottom:1.5rem;padding-top:1.2rem;line-height:1.65}
.review-grid blockquote>p:before{content:"“";position:absolute;left:0;top:-.75rem;color:var(--cyan);font:700 2.6rem/1 Georgia,serif}
.review-grid footer{display:flex;align-items:center;gap:.85rem;margin-top:.25rem;padding:0;background:transparent;border:0;color:var(--text)}
.review-grid footer strong{display:block;color:var(--navy);font-size:.96rem;line-height:1.3}
.review-grid footer small{margin-top:.15rem;color:var(--muted);font-size:.78rem}
@media (max-width:1199px){.brand img{width:128px}}
@media (max-width:767px){.brand img{width:112px}.review-grid blockquote{padding:1.5rem}.edge-plumeria{width:220px;opacity:.16}}

/* M2.6.2 visual consistency corrections */
.section-heading:not(.center){text-align:left;margin-left:0;margin-right:0}
.distributed-detail.read-more-block{width:auto;max-width:none;margin-left:0;margin-right:0;text-align:left}
.read-more{display:inline-flex;align-self:flex-start;justify-self:start;margin-left:0;margin-right:auto;text-align:left}
#plans .distributed-detail.read-more-block{margin-top:1rem;padding-top:.85rem}
#plans .distributed-detail.read-more-block .read-more{margin-top:.65rem}
@media (min-width:768px){
  .process-grid li:before,.process-grid li:after{display:none!important;content:none!important}
  .process-grid li>span{margin:0 0 .65rem;color:var(--cyan-dark);font-size:1.2rem;font-weight:800;line-height:1.2}
  .split-image{min-height:560px;padding:1.25rem 0;border-top:1px solid #d7edf2;background:#fff}
  .split-image>picture{inset:1.25rem 1.5rem 1.25rem auto;width:calc(50% - 2.25rem);height:calc(100% - 2.5rem);border-radius:12px;object-fit:cover;object-position:center}
  .split-image:after{inset:0 50% 0 0;background:linear-gradient(135deg,#fff,#f7fbfc)}
  .split-copy{width:46%;padding:4rem 0}
  .safety{border-top:1px solid #d7edf2}
}
.dark-feature:after{content:none}
.footer-brand .brand img{width:160px;height:auto;object-fit:contain}
@media (min-width:768px) and (max-width:1199px){.footer-brand .brand img{width:142px}}
@media (max-width:767px){
  #plans .distributed-detail.read-more-block{margin-top:1.25rem;padding-top:1rem}
  .footer-brand .brand img{width:132px}
  .split-image{border-top:1px solid #d7edf2;background:#fff}
  .safety{border-top:1px solid #d7edf2}
}

/* M2.4 shared native service-plan dialog system */
.plan-grid{align-items:stretch}
.plan-card{min-height:0;height:100%;padding:1.65rem;align-items:stretch}
.plan-card h3{margin-bottom:.65rem}
.plan-card .plan-price{flex:none;margin:.1rem 0 1rem!important;line-height:1.2}
.plan-price span{display:block;color:var(--muted);font-size:.83rem;font-weight:600}
.plan-price strong{display:inline-block;margin-right:.35rem;font-size:1.8rem}
.plan-price small{display:inline-block;font-size:.85rem}
.plan-features{flex:1;gap:.5rem;margin-bottom:1.15rem;font-size:.9rem;line-height:1.45}
.plan-card .plan-choose{width:100%;min-height:46px;justify-content:center;margin-top:auto}
.plan-learn-more{align-self:center;min-height:44px;margin-top:.4rem;padding:.45rem .8rem;border:0;background:transparent;color:var(--cyan-dark);font-size:.88rem;font-weight:700;text-decoration:underline;text-decoration-color:#86ccdc;text-underline-offset:4px;cursor:pointer}
.plan-learn-more:hover{color:var(--navy);text-decoration-color:var(--navy)}
.plan-learn-more:focus-visible,.plan-dialog button:focus-visible{outline:3px solid #54c9df;outline-offset:3px;border-radius:6px}
.plan-selection-status:not([hidden]){margin:.75rem 0;padding:.7rem 1rem;border:1px solid #9edce7;border-radius:8px;background:#eaf9fb;color:#092946;font-weight:700}
.plan-dialog{width:min(680px,calc(100% - 2rem));max-width:none;max-height:min(84dvh,850px);margin:auto;padding:0;border:1px solid #c7e5ec;border-radius:18px;background:linear-gradient(155deg,#fff,#f4fbfc);color:var(--text);box-shadow:0 28px 90px #001c2c55;overflow:hidden}
.plan-dialog::backdrop{background:#061f38b8;backdrop-filter:blur(2px)}
.has-open-dialog{overflow:hidden;scrollbar-gutter:stable}
.plan-dialog-scroll{max-height:min(84dvh,850px);overflow:auto;overscroll-behavior:contain;padding:2rem 2.25rem 1.5rem;scrollbar-color:#acdce5 transparent}
.plan-dialog-header{position:sticky;top:-2rem;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:-2rem -2.25rem 1.3rem;padding:1.6rem 1.7rem 1rem 2.25rem;background:#f8fdfeef;border-bottom:1px solid #d8ebef;backdrop-filter:blur(8px)}
.plan-dialog-header .eyebrow{margin-bottom:.4rem}
.plan-dialog-header h2{margin:0;font-size:clamp(1.8rem,4vw,2.5rem)}
.dialog-price{margin:.45rem 0 0;color:var(--navy);font-size:1.4rem;font-weight:850}.dialog-price span{font-size:.92rem;font-weight:600;color:var(--muted)}
.dialog-close{flex:0 0 46px;display:grid;place-items:center;width:46px;height:46px;border:1px solid #c7e5ec;border-radius:50%;background:#fff;color:var(--navy);cursor:pointer}
.dialog-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.dialog-positioning{margin:0 0 1.5rem;color:var(--muted);font-size:1.02rem;line-height:1.6}
.plan-dialog section{margin:1.4rem 0}.plan-dialog section h3{margin-bottom:.65rem;font-size:1.12rem}
.plan-dialog section p,.dialog-pricing-note{margin:0;color:var(--muted);line-height:1.65}
.dialog-features{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}
.dialog-features li{position:relative;padding-left:1.6rem;color:var(--text)}
.dialog-features li:before{content:"✓";position:absolute;left:0;top:.08rem;display:grid;place-items:center;width:1.1rem;height:1.1rem;border-radius:50%;background:#dcf5f8;color:var(--cyan-dark);font-size:.72rem;font-weight:900}
.dialog-pricing-note{margin:1.4rem 0;padding:1rem;border-left:3px solid #91d6e1;border-radius:0 8px 8px 0;background:#edf9fb;font-size:.9rem}
.dialog-choose{position:sticky;bottom:0;width:100%;min-height:50px;justify-content:center;border:1px solid #078dbf;box-shadow:0 -10px 16px #f4fbfc}
.has-open-dialog{scrollbar-gutter:stable}
@media (max-width:1000px) and (min-width:768px){.plan-card:last-child{grid-column:auto;max-width:calc(50% - .5rem);justify-self:center}}
@media (max-width:767px){.plan-card,.plan-card.featured{min-height:0;padding:1.35rem 1.2rem}.plan-features{font-size:.94rem}.plan-dialog{width:calc(100% - 1rem);max-height:90dvh;margin:auto auto 0;border-radius:18px 18px 0 0;align-self:end}.plan-dialog-scroll{max-height:90dvh;padding:1.35rem 1.2rem calc(1rem + env(safe-area-inset-bottom))}.plan-dialog-header{top:-1.35rem;margin:-1.35rem -1.2rem 1rem;padding:1.1rem 1rem .85rem 1.2rem}.plan-dialog-header h2{font-size:1.8rem}.dialog-positioning{font-size:1rem}.plan-dialog section p,.dialog-features{font-size:1rem}.dialog-close{width:48px;height:48px;flex-basis:48px}.dialog-choose{min-height:52px}}
@media (max-width:430px){.plan-card,.plan-card.featured{padding:1.2rem 1rem}.plan-grid{gap:1rem}.plan-card .plan-price strong{font-size:1.75rem}}
@media (prefers-reduced-motion:reduce){.plan-dialog{scroll-behavior:auto}}

/* M2.5 reusable lead / quote dialog, sharing the approved plan-dialog system */
.quote-dialog{width:min(700px,calc(100% - 2rem));max-height:min(88dvh,900px)}
.quote-dialog-scroll{max-height:min(88dvh,900px);padding:1.65rem 2rem 1.5rem}
.quote-dialog-header{top:-1.65rem;margin:-1.65rem -2rem 1rem;padding:1.35rem 1.35rem 1rem 2rem}
.quote-dialog-header h2{max-width:540px;font-size:clamp(1.65rem,3vw,2.1rem)}
.quote-dialog [hidden]{display:none!important}
.quote-dialog-intro{margin:.6rem 0 1.25rem;color:var(--muted);line-height:1.6}
.quote-plan-context{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .8rem;margin:0 0 1rem;padding:.8rem 1rem;border:1px solid #c5e8ef;border-radius:10px;background:#effafd}
.quote-plan-context .eyebrow{flex-basis:100%;margin:0;color:var(--cyan);font-size:.7rem}
.quote-plan-context strong{color:var(--navy);font-size:1.12rem}
.quote-plan-context span{color:var(--navy);font-weight:750}
.lead-form{padding:1.25rem;background:#fff;border:1px solid var(--border);box-shadow:0 10px 32px #09294612}
.lead-form-grid{gap:.9rem 1rem}
.lead-form-grid label{font-size:.84rem}
.lead-form-grid input,.lead-form-grid select,.lead-form-grid textarea{display:block;width:100%;min-height:46px;margin-top:.38rem;padding:.68rem .75rem;border:1px solid #cbdde4;border-radius:7px;background:#fbfeff;color:var(--text);font:inherit;font-weight:400}
.lead-form-grid textarea{min-height:92px;resize:vertical}
.lead-form-grid input:focus-visible,.lead-form-grid select:focus-visible,.lead-form-grid textarea:focus-visible{outline:3px solid #54c9df77;border-color:var(--cyan)}
.field-optional{color:var(--muted);font-weight:500}
.lead-submit{width:100%;min-height:50px;justify-content:center;margin-top:1rem}
.lead-submit:disabled{cursor:wait;opacity:.72}
.lead-error{margin:1rem 0 0;padding:.8rem 1rem;border:1px solid #eab5b5;border-radius:8px;background:#fff5f5;color:#742b2b;line-height:1.5}
.lead-error a{color:inherit;font-weight:800}
.lead-success{padding:1.5rem 0;text-align:center}
.lead-success h3{margin:.2rem 0 .6rem;color:var(--navy);font-size:1.7rem}
.lead-success p{margin:.4rem 0;color:var(--muted)}
.lead-success .button{min-width:140px;margin-top:1rem;justify-content:center}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:767px){.quote-dialog{width:calc(100% - 1rem);max-height:94dvh}.quote-dialog-scroll{max-height:94dvh;padding:1.1rem 1rem calc(1rem + env(safe-area-inset-bottom))}.quote-dialog-header{top:-1.1rem;margin:-1.1rem -1rem .8rem;padding:1rem .8rem .8rem 1rem}.quote-dialog-header h2{font-size:1.65rem}.lead-form{padding:1rem .85rem}.lead-form-grid{grid-template-columns:1fr}.lead-form-grid .full{grid-column:auto}.lead-form-grid input,.lead-form-grid select,.lead-form-grid textarea{min-height:48px;font-size:16px}.lead-form-grid textarea{min-height:110px}.lead-submit{min-height:52px}.quote-plan-context{padding:.75rem}}
.service-dialog{flex-direction:column;width:min(700px,calc(100% - 2rem));height:min(78dvh,860px);max-height:min(86dvh,920px);padding:0;overflow:hidden}
.service-dialog[open]{display:flex}
.service-dialog-header{position:relative;top:auto;z-index:1;flex:0 0 auto;align-items:flex-start;gap:1rem;margin:0;padding:1.6rem 1.7rem 1.2rem 2rem;background:#f8fdfe;border-bottom:1px solid #d8ebef;backdrop-filter:none}
.service-dialog-header h2{max-width:550px;font-size:clamp(1.65rem,3vw,2.1rem)}
.service-dialog-positioning{margin:.55rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.5}
.service-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.4rem 2rem;scrollbar-color:#acdce5 transparent;scrollbar-width:thin}
.service-dialog-body:focus-visible{outline:3px solid #54c9df77;outline-offset:-4px}
.service-dialog-body h3{margin:0 0 .75rem;font-size:1.15rem}
.service-dialog-body p{margin:.85rem 0;color:var(--muted);line-height:1.7}
.service-dialog-body .dialog-features{margin:1.1rem 0 .3rem;gap:.7rem;line-height:1.55}
.service-dialog-footer{position:relative;z-index:1;flex:0 0 auto;display:flex;justify-content:center;padding:1rem 1.5rem max(1rem,env(safe-area-inset-bottom));border-top:1px solid #d8ebef;background:linear-gradient(180deg,#f7fcfd,#fff);box-shadow:0 -8px 22px #0929460b}
.service-dialog-footer .button{width:auto;min-width:min(360px,100%);justify-content:center;text-align:center}
.service-dialog button:focus-visible,.service-dialog-trigger:focus-visible{outline:3px solid #54c9df;outline-offset:3px}
.service-dialog-trigger{padding:0;border:0;background:transparent;font-family:inherit;cursor:pointer}
@media (max-width:767px){.service-dialog{width:calc(100% - 1rem);height:94dvh;max-height:94dvh;margin:auto auto 0;align-self:end;border-radius:18px 18px 0 0}.service-dialog-header{padding:1.15rem 1rem 1rem 1.2rem}.service-dialog-header h2{font-size:1.75rem}.service-dialog-header .dialog-close{width:48px;height:48px;flex-basis:48px}.service-dialog-body{padding:1.15rem 1.2rem;font-size:1rem}.service-dialog-body p{font-size:1rem;line-height:1.7}.service-dialog-footer{padding:1rem 1rem max(1rem,env(safe-area-inset-bottom))}.service-dialog-footer .button{width:100%;min-height:52px;padding:.85rem .8rem}}
@media (max-width:430px){.service-dialog-header{padding-left:1rem}.service-dialog-header h2{font-size:1.55rem}.service-dialog-positioning{font-size:.9rem}.service-dialog-body{padding:1rem;font-size:1rem}.service-dialog-footer{padding-right:.75rem;padding-left:.75rem}}

/* Desktop header and Hero form one continuous image composition. */
@media (min-width:768px){
  .site-header{position:absolute;top:0;left:0;right:0;background:transparent;border:0;backdrop-filter:none}
  .header-inner{min-height:88px;gap:clamp(1.1rem,2vw,2rem)}
  .site-header .brand img{width:200px;height:auto}
  .desktop-nav{gap:clamp(1.15rem,2vw,1.8rem);font-size:1rem;color:#fff}
  .desktop-nav a,.phone{color:#fff}
  .desktop-nav a:hover,.phone:hover{color:#b9f2ff;text-decoration:underline;text-underline-offset:5px}
  .desktop-nav a:focus-visible,.phone:focus-visible,.site-header .brand:focus-visible{outline:2px solid #fff;outline-offset:5px;border-radius:3px}
  .phone{font-size:1.15rem;font-weight:750;white-space:nowrap}
  .hero-overlay{background:linear-gradient(180deg,#061f37d9 0%,#061f3780 145px,transparent 340px),linear-gradient(90deg,#061f37de 0%,#061f377d 44%,#061f3722 100%)}
}
@media (min-width:768px) and (max-width:1000px){
  .header-inner{gap:1rem}
  .site-header .brand img{width:150px}
  .desktop-nav{gap:1rem;font-size:.9rem}
  .phone{font-size:1rem}
  .header-actions{gap:.7rem}
}
@media (max-width:767px){
  .site-header{position:sticky;top:0;background:#fffdfdf2;border-bottom:1px solid #d7e8ee;backdrop-filter:blur(12px)}
  .site-header .brand img{width:132px;height:auto}
}
@media (min-width:768px){.quote-dialog-scroll{padding:1.2rem 1.5rem 1rem}.quote-dialog-header{top:-1.2rem;margin:-1.2rem -1.5rem .65rem;padding:1rem 1.15rem .75rem 1.5rem}.quote-dialog-header .eyebrow{margin-bottom:.3rem}.quote-dialog-intro{margin:.35rem 0 .65rem;line-height:1.45}.quote-plan-context{gap:.15rem .6rem;margin-bottom:.55rem;padding:.5rem .8rem}.quote-plan-context .eyebrow{margin:0}.lead-form{padding:.85rem 1rem}.lead-form-grid{gap:.5rem .85rem}.lead-form-grid input,.lead-form-grid select,.lead-form-grid textarea{min-height:46px;margin-top:.25rem;padding:.5rem .7rem}.lead-submit{min-height:48px;margin-top:.7rem}.lead-form .privacy{margin:.5rem 0 0;font-size:.72rem}}

/* M2.6.4 narrow-scope final visual QA */
.read-more{display:none;margin-left:0;margin-right:0;text-align:left}
.js .read-more{display:inline-flex}
.area.section{padding-block:5rem}
@media (max-width:767px){
  .split-image{padding-top:1.25rem;border-top:8px solid #eaf6f8}
  .area.section{padding-block:3.5rem}
}

/* Responsive picture wrappers preserve the existing image geometry. */
picture{display:block}
.hero>picture img,.climate-photo>picture img,.dark-grid>picture img,.split-image>picture img,.safety-grid>picture img{width:100%;height:100%;object-fit:cover}
.hero>picture{object-fit:initial}
.climate-photo>picture{object-fit:initial}
.dark-grid>picture img{opacity:.9}
.split-image>picture img{border-radius:inherit}
.safety-grid>picture{border-radius:10px;overflow:hidden}
@media(max-width:767px){.dark-grid>picture img,.split-image>picture img,.safety-grid>picture img{height:100%}}

/* M4 optional analytics consent controls */
.analytics-consent{position:fixed;z-index:1000;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));left:1rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;width:min(720px,calc(100% - 2rem));margin-inline:auto;padding:1rem 1.15rem;border:1px solid #b9dfe8;border-radius:12px;background:#fff;box-shadow:0 14px 40px #0929462b;color:var(--text)}
.analytics-consent[hidden]{display:none}
.analytics-consent-copy h2{margin:0 0 .35rem;color:var(--navy);font-size:1rem;letter-spacing:0}
.analytics-consent-copy p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.analytics-consent-actions{display:flex;flex:0 0 auto;gap:.55rem}
.analytics-consent-actions .button{min-height:44px;padding:.55rem .85rem;font-size:.88rem}
.privacy-settings{margin:.25rem 0 0;padding:0;border:0;background:none;color:#b9f2ff;font-size:.78rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.analytics-consent button:focus-visible,.privacy-settings:focus-visible{outline:3px solid #54c9df;outline-offset:3px;border-radius:4px}
@media(max-width:600px){.analytics-consent{align-items:stretch;flex-direction:column;gap:.8rem;padding:.9rem}.analytics-consent-actions{display:grid;grid-template-columns:1fr 1fr}.analytics-consent-actions .button{justify-content:center}.analytics-consent-actions #analytics-decline{grid-column:1/-1}}

/* M4.2 legal documents and category-based consent controls. */
.legal-page{overflow-x:hidden}
.legal-page .site-header{position:sticky;background:#fff;border-bottom:1px solid var(--border);backdrop-filter:none}
.legal-page .brand img{width:190px;height:auto}
.legal-page .desktop-nav{color:var(--text);font-size:.9rem}
.legal-page .phone{color:var(--navy)}
.legal-main{padding:clamp(3rem,7vw,6rem) 0;background:#fff}
.legal-main h1{max-width:none;margin-bottom:.65rem;font-size:clamp(2.5rem,5vw,4rem)}
.legal-main h2{margin:2.3rem 0 .85rem;font-size:clamp(1.45rem,3vw,2rem)}
.legal-main p,.legal-main li{color:var(--text);font-size:1rem;line-height:1.75}
.legal-main a{color:var(--cyan-dark);text-decoration:underline;text-underline-offset:3px}
.legal-updated{color:var(--muted)!important;font-size:.88rem!important}
.footer-contact .operator-line{font-size:.78rem;color:var(--muted)}
.footer-inner nav a{white-space:nowrap}
.consent-settings{display:grid;grid-template-columns:1fr 1fr;gap:.65rem 1rem;width:100%;padding:.75rem 0;border-top:1px solid var(--border)}
.consent-settings p{grid-column:1/-1;margin:0;color:var(--navy)}
.consent-settings p span,.consent-settings label span{display:block;color:var(--muted);font-size:.8rem}
.consent-settings label{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;font-weight:700;color:var(--navy)}
.consent-settings label input{width:1rem;height:1rem;margin:.25rem 0 0;accent-color:var(--cyan);flex:0 0 auto}
.consent-settings #analytics-save{grid-column:1/-1;justify-self:start}
.analytics-consent-copy a{color:var(--cyan-dark);text-decoration:underline;text-underline-offset:2px}
@media(max-width:767px){.legal-page .header-inner{gap:.75rem}.legal-page .brand img{width:155px}.legal-page .footer-inner{align-items:start}.legal-page .footer-inner nav{grid-column:1/-1;grid-template-columns:1fr 1fr}.legal-main{padding:3rem 0}}
@media(max-width:600px){.analytics-consent-actions #analytics-decline{grid-column:1/-1}.consent-settings{grid-template-columns:1fr}.consent-settings p,.consent-settings #analytics-save{grid-column:auto}.legal-main p,.legal-main li{font-size:1rem}}

/* Keep the receiver honeypot in the DOM without visual or keyboard impact. */
.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* M4.2.1 consent and legal-page regression corrections. */
.analytics-consent{right:16px;left:16px;width:min(1040px,calc(100vw - 32px));display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:center;gap:1.25rem;padding:1.1rem 1.25rem}
.analytics-consent[hidden]{display:none}
.analytics-consent-copy{min-width:0;max-width:470px}
.analytics-consent-copy h2{font-size:1.05rem}
.analytics-consent-copy p{font-size:.92rem;line-height:1.5}
.analytics-consent-actions{display:flex;align-items:center;gap:.55rem}
.analytics-consent-actions .button{min-height:48px;white-space:nowrap}
.analytics-consent-actions #analytics-accept{order:3}
.consent-settings-dialog{width:min(560px,calc(100vw - 32px));max-width:none;max-height:min(84dvh,720px);padding:0;overflow:auto;border:1px solid #c4e3ea;border-radius:16px;background:#fff;color:var(--text);box-shadow:0 24px 80px #041d3270}
.consent-settings-dialog[open]{display:block}
.consent-settings-dialog::backdrop{background:#061f37a6;backdrop-filter:blur(2px)}
.consent-dialog-inner{padding:1.5rem}
.consent-dialog-header{position:static;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:0;background:none;border:0}
.consent-dialog-header .eyebrow{margin:0 0 .35rem}
.consent-dialog-header h2{margin:0;color:var(--navy);font-size:1.65rem}
.consent-settings-dialog #consent-settings-description{margin:0 0 1.1rem;color:var(--muted);line-height:1.55}
.consent-settings{display:grid;gap:.65rem;width:100%;padding:0;border:0}
.consent-category{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:10px;background:#f8fcfd}
.consent-category strong{display:block;color:var(--navy);font-size:.96rem}
.consent-category small{display:block;max-width:390px;margin-top:.2rem;color:var(--muted);font-size:.84rem;line-height:1.45}
.consent-category{cursor:pointer}
.consent-category-locked{cursor:not-allowed}
.consent-switch{position:relative;display:block;flex:0 0 48px;width:48px;height:28px}
.consent-switch input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.consent-switch-track{position:absolute;inset:0;display:block;width:48px;height:28px;border:1px solid #83a8b4;border-radius:20px;background:#d9e6e9;transition:background .18s,border-color .18s}
.consent-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #09294655;transition:transform .18s}
.consent-switch input:checked+.consent-switch-track{border-color:var(--cyan-dark);background:var(--cyan-dark)}
.consent-switch input:checked+.consent-switch-track:after{transform:translateX(20px)}
.consent-switch input:disabled{cursor:not-allowed}
.consent-switch input:disabled+.consent-switch-track{opacity:.78}
.consent-switch input:focus-visible+.consent-switch-track,.consent-settings-dialog button:focus-visible{outline:3px solid #54c9df;outline-offset:3px}
.consent-settings-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;margin-top:1.2rem}
.consent-settings-actions .button{min-height:48px;justify-content:center;padding:.65rem .55rem;font-size:.85rem}
.footer-inner{grid-template-columns:minmax(180px,1.1fr) minmax(180px,1.1fr) minmax(105px,.65fr) minmax(145px,.85fr);grid-template-rows:auto auto;align-items:center;gap:1.2rem}
.footer-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1rem;margin:0;font-size:.82rem}
.footer-utilities{display:grid;gap:.6rem;justify-items:start;padding-left:1rem;border-left:1px solid #ffffff30;font-size:.8rem}
.footer-utilities a{color:#c8e7ed}
.footer-copyright{grid-column:1/-1;justify-self:end}
.legal-main{padding:0 0 4rem;background:#f4fafc}
.legal-page-intro{padding:clamp(2.6rem,5vw,4.5rem) 0 2rem;border-bottom:1px solid var(--border);background:linear-gradient(130deg,#eaf8fb,#f8fcfd)}
.legal-page-intro .eyebrow{margin-bottom:.55rem}
.legal-page-intro h1{max-width:780px;margin:0 0 .55rem;font-size:clamp(2.15rem,4vw,3.35rem);line-height:1.08}
.legal-page-intro .legal-updated{margin:0}
.legal-article{max-width:800px;padding-top:2.6rem;padding-bottom:1rem}
.legal-main h2{margin:2rem 0 .65rem;font-size:clamp(1.3rem,2.6vw,1.75rem)}
.legal-main p,.legal-main li{line-height:1.72}
.legal-page .site-header .desktop-nav a{color:var(--navy)}
.legal-page .mobile-nav a{color:var(--text)}
@media(max-width:1050px){.footer-inner{grid-template-columns:minmax(160px,1fr) minmax(170px,1fr) minmax(115px,.7fr) minmax(135px,.8fr);gap:1rem}.footer-contact{font-size:.72rem}}
@media(max-width:900px){.analytics-consent{grid-template-columns:1fr;gap:.8rem}.analytics-consent-copy{max-width:none}.analytics-consent-actions{justify-content:flex-end}.footer-inner{grid-template-columns:1fr 1fr;align-items:start}.footer-brand,.footer-contact{grid-row:auto}.footer-primary,.footer-utilities{grid-column:auto}.footer-copyright{grid-column:1/-1}}
@media(max-width:767px){.analytics-consent{right:12px;left:12px;width:calc(100vw - 24px);gap:.7rem;padding:.9rem}.analytics-consent-copy h2{margin-bottom:.25rem;font-size:1rem}.analytics-consent-copy p{font-size:.88rem}.analytics-consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.analytics-consent-actions .button{width:100%;min-width:0;min-height:48px;padding:.55rem .45rem;font-size:.82rem;white-space:normal}.analytics-consent-actions #analytics-decline{grid-column:1/-1;order:1}.analytics-consent-actions #analytics-settings{order:2}.analytics-consent-actions #analytics-accept{order:3}.consent-dialog-inner{padding:1.15rem}.consent-dialog-header h2{font-size:1.45rem}.consent-settings-actions{grid-template-columns:1fr 1fr}.consent-settings-actions .button:last-child{grid-column:1/-1;grid-row:1}.footer-inner{grid-template-columns:1fr;gap:1rem;align-items:start}.footer-contact{order:2}.footer-primary{order:3;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem}.footer-utilities{order:4;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.8rem 0 0;border-top:1px solid #ffffff30;border-left:0}.footer-copyright{order:5;justify-self:start;grid-column:auto}.legal-page .footer-inner{align-items:start}.legal-main{padding-bottom:2.5rem}.legal-page-intro{padding:2.5rem 0 1.5rem}.legal-article{padding-top:1.6rem;padding-bottom:.5rem}}
@media(max-width:420px){.analytics-consent-actions{grid-template-columns:1fr}.analytics-consent-actions #analytics-decline,.analytics-consent-actions #analytics-settings,.analytics-consent-actions #analytics-accept{grid-column:auto}.analytics-consent-actions #analytics-accept{order:2}.analytics-consent-actions #analytics-settings{order:3}.consent-settings-actions{grid-template-columns:1fr}.consent-settings-actions .button:last-child{grid-column:auto;grid-row:auto}}

/* M4.2.2 separates the main footer navigation from the legal metadata row. */
.footer-inner{grid-template-columns:minmax(0,1.1fr) minmax(230px,1fr) minmax(280px,1fr);grid-template-rows:auto auto;align-items:start;gap:1.2rem}
.footer-inner>.footer-primary{grid-column:3;grid-row:1;display:flex;flex-wrap:wrap;align-content:center;justify-content:flex-start;gap:.55rem 1rem;margin:0;font-size:.82rem;color:#c8e7ed}
.footer-meta{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.25rem;margin:0;padding-top:.9rem;border-top:1px solid #ffffff30}
.footer-meta .footer-copyright{grid-column:auto;justify-self:auto;margin:0;font-size:.75rem}
.footer-meta .footer-utilities{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;justify-items:initial;margin:0;padding:0;border:0;font-size:.8rem}
.footer-utilities a{color:#c8e7ed}
@media(max-width:1050px){.footer-inner{grid-template-columns:minmax(0,1fr) minmax(210px,1fr) minmax(260px,1fr);gap:1rem}.footer-contact{font-size:.72rem}}
@media(max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;align-items:start}.footer-brand,.footer-contact{grid-row:auto}.footer-inner>.footer-primary,.footer-meta{grid-column:1/-1;grid-row:auto}}
@media(max-width:767px){.footer-inner{grid-template-columns:1fr;gap:1rem;align-items:start}.footer-brand{order:1}.footer-contact{order:2}.footer-inner>.footer-primary{order:3;grid-column:auto;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem}.footer-meta{order:4;grid-column:auto;flex-direction:column;align-items:flex-start;gap:.4rem}.footer-meta .footer-utilities{padding-top:.45rem;border-top:1px solid #ffffff30}.footer-copyright{justify-self:start}}
