:root{--ink:#12362d;--green:#0a6d55;--mint:#b9f8dd;--lime:#d9f35b;--cream:#f5f5ed;--line:#d9e0d8;--paper:#fffef9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:20;border-bottom:1px solid rgba(18,54,45,.1)}.brand{display:flex;align-items:center;gap:11px}.brand>span:last-child{position:relative;display:block;font-size:16px;line-height:14px;letter-spacing:-.5px}.brand b{font-weight:800}.brand em{font-style:normal;color:#13a37e;font-weight:800;margin-left:3px}.brand small{display:block;font-size:6px;letter-spacing:2px;margin-top:4px}.brand-mark{width:31px;height:37px;display:flex;gap:2px;align-items:flex-end}.brand-mark i{display:block;width:9px;background:#0b6f57;clip-path:polygon(50% 0,100% 18%,100% 82%,50% 100%,0 82%,0 18%)}.brand-mark i:nth-child(1){height:25px}.brand-mark i:nth-child(2){height:37px;background:#13a37e}.brand-mark i:nth-child(3){height:29px;background:#7bd9b4}.site-header nav{display:flex;gap:30px;font-size:13px}.site-header nav a:hover,.text-link:hover{color:#119271}.header-actions{display:flex;align-items:center;gap:18px}.text-link{font-size:13px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:0;border-radius:3px;background:var(--green);color:white;padding:16px 19px;font-weight:700;font-size:13px;cursor:pointer;transition:.25s ease}.button:hover{background:#075440;transform:translateY(-2px)}.button-small{padding:12px 16px}.hero{min-height:790px;padding:150px 7vw 70px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;background:linear-gradient(130deg,#fffef9 0%,#f7faf3 52%,#ebf5ec 100%)}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(18,54,45,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(18,54,45,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to right,transparent,black)}.hero-copy,.hero-visual{position:relative;z-index:2}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:10px}.eyebrow span{width:26px;height:1px;background:#11a178}.hero h1{font-size:clamp(58px,7vw,104px);letter-spacing:-7px;line-height:.88;margin:28px 0;color:#133b31;font-weight:700}.lede{max-width:590px;font-size:19px;line-height:1.65;color:#526860}.hero-actions{display:flex;gap:12px;margin-top:34px}.button-ghost{background:transparent;color:var(--ink);border:1px solid #aebeb6}.button-ghost:hover{background:white}.location-note{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin-top:26px;color:#687b74}.hero-visual{height:570px;transform:translateX(3vw)}.orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.8}.orb-one{width:430px;height:430px;background:#d2f5e2;right:-90px;top:40px}.orb-two{width:250px;height:250px;background:#e7f29f;right:32%;bottom:-90px}.cycle-ring{position:absolute;width:420px;height:420px;border:1px solid rgba(9,109,84,.28);border-radius:50%;top:65px;left:55px;animation:spin 28s linear infinite}.cycle-ring:before,.cycle-ring:after{content:"";position:absolute;border:1px solid rgba(9,109,84,.15);border-radius:50%;inset:32px}.cycle-ring:after{inset:84px;border-style:dashed}.cycle-ring span{position:absolute;font-size:9px;letter-spacing:2px;font-weight:bold;background:#edf7ed;padding:7px}.cycle-ring span:nth-child(1){top:-13px;left:178px}.cycle-ring span:nth-child(2){right:-31px;top:200px}.cycle-ring span:nth-child(3){bottom:-13px;left:168px}.oil-drop{position:absolute;width:190px;height:245px;left:170px;top:145px;background:linear-gradient(145deg,#ecf86a,#27bd81 56%,#057456);border-radius:60% 40% 64% 36%/67% 42% 58% 33%;transform:rotate(45deg);box-shadow:0 45px 90px rgba(0,83,61,.22)}.oil-drop:after{content:"8";position:absolute;transform:rotate(-45deg);font-size:120px;color:rgba(255,255,255,.32);font-weight:900;left:48px;top:45px}.status-card{position:absolute;background:rgba(255,255,255,.91);backdrop-filter:blur(10px);padding:17px 20px;box-shadow:0 18px 45px rgba(17,65,51,.13);width:190px;border-left:3px solid #17aa7d}.status-card small{display:block;font-size:8px;letter-spacing:1.4px;color:#71827c}.status-card b{display:block;font-size:14px;margin:8px 0}.status-card span{font-size:11px;color:#697c75}.card-a{left:0;top:300px}.card-b{right:0;top:112px}.metric{position:absolute;right:20px;bottom:28px;display:flex;gap:12px;align-items:center}.metric b{font-size:39px}.metric span{font-size:9px;line-height:1.5;letter-spacing:.6px;text-transform:uppercase}.scroll-cue{position:absolute;z-index:4;bottom:30px;left:7vw;font-size:9px;font-weight:bold;letter-spacing:2px}.scroll-cue span{margin-left:10px}.trust-strip{background:#113a30;color:white;padding:22px 7vw;display:flex;justify-content:space-between;align-items:center}.trust-strip p{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:#abd6c8}.trust-strip div{display:flex;gap:44px}.trust-strip span{font-size:12px}.trust-strip span:before{content:"✓";color:var(--lime);margin-right:8px}.section{padding:110px 7vw}.section-intro{display:flex;justify-content:space-between;align-items:flex-start}.section-intro h2,.impact h2,.compliance h2,.booking h2{font-size:clamp(40px,5vw,70px);line-height:1;letter-spacing:-4px;margin:0}.section-intro h2 em,.impact h2 em{font-family:Georgia,serif;font-weight:400}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article{padding:28px 25px 34px;border-right:1px solid var(--line);min-height:360px;display:flex;flex-direction:column}.service-grid article:first-child{border-left:1px solid var(--line)}.service-no{font-size:10px;color:#819089}.service-icon{width:70px;height:70px;border-radius:50%;background:#e4f7ec;margin:30px 0;position:relative}.service-icon i:before,.service-icon i:after{content:"";position:absolute}.icon-01 i:before{width:22px;height:32px;background:#0c8a67;border-radius:70% 30% 65% 35%;transform:rotate(45deg);left:25px;top:17px}.icon-02 i:before{width:38px;height:22px;border:3px solid #0c8a67;left:14px;top:23px}.icon-02 i:after{width:8px;height:8px;border-radius:50%;background:#0c8a67;left:22px;top:47px;box-shadow:22px 0 #0c8a67}.icon-03 i:before{width:29px;height:35px;border:2px solid #0c8a67;left:20px;top:16px}.icon-03 i:after{content:"✓";color:#0c8a67;font-weight:bold;left:28px;top:24px}.icon-04 i:before{width:34px;height:34px;border:3px solid #0c8a67;border-radius:50%;left:18px;top:18px}.icon-04 i:after{width:13px;height:13px;border-top:3px solid #0c8a67;border-right:3px solid #0c8a67;left:41px;top:17px;transform:rotate(16deg)}.service-grid h3{font-size:20px;margin:0 0 14px}.service-grid p{font-size:13px;line-height:1.65;color:#65766f}.service-grid a{font-size:11px;font-weight:bold;margin-top:auto}.service-grid a span{float:right}.impact{min-height:710px;display:grid;grid-template-columns:1fr 1fr;background:#0e4134;color:white}.impact-image{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#1c7159 0,#0e4134 60%)}.impact-image:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at center,transparent 0 68px,rgba(255,255,255,.05) 69px 70px)}.tank{width:310px;height:330px;border-radius:18px 18px 70px 70px;background:linear-gradient(90deg,#6d8d82,#dfe9e2 16%,#819d93 50%,#e9f1ed 82%,#628278);position:relative;box-shadow:0 30px 70px #082d25;transform:translateY(-20px)}.tank:before{content:"UCO";position:absolute;color:#0e4134;font-size:78px;font-weight:900;letter-spacing:-7px;top:105px;left:67px;opacity:.72}.tank i{position:absolute;width:26px;height:50px;background:#cddbd5;top:-36px;border-radius:8px}.tank i:nth-child(1){left:54px}.tank i:nth-child(2){left:140px}.tank i:nth-child(3){right:54px}.impact-image p{position:absolute;bottom:35px;left:45px;font-size:9px;letter-spacing:2px;line-height:1.7}.impact-copy{padding:100px 8vw 70px 7vw;display:flex;flex-direction:column;justify-content:center}.eyebrow.light{color:#b5e0d2}.eyebrow.light span{background:var(--lime)}.impact-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#bed2cb;max-width:570px}.impact-stats{display:flex;gap:60px;padding:34px 0;margin-top:18px;border-top:1px solid rgba(255,255,255,.17)}.impact-stats div{display:flex;gap:13px;align-items:center}.impact-stats b{font-size:42px;color:var(--lime)}.impact-stats span{font-size:9px;line-height:1.5;text-transform:uppercase}.impact-copy>small{font-size:9px;color:#8eb0a5;line-height:1.5}.centered{display:block;text-align:center}.centered .eyebrow{justify-content:center}.process-line{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;position:relative}.process-line:before{content:"";position:absolute;top:37px;left:10%;right:10%;height:1px;background:#aec0b7}.process-line article{text-align:center;padding:0 22px;position:relative}.process-line article>span{font-size:9px;display:block}.process-line i{display:block;width:24px;height:24px;border-radius:50%;background:var(--paper);border:7px solid #0b785c;margin:20px auto 35px;position:relative;z-index:2}.process-line h3{font-size:22px}.process-line p{font-size:13px;line-height:1.7;color:#63756d}.compliance{padding:105px 9vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:#137155;color:white}.compliance>div>p:not(.eyebrow){max-width:550px;color:#c9e2d9;line-height:1.7}.button-light{background:var(--lime);color:#173d33;margin-top:20px}.compliance ul{list-style:none;margin:0;padding:0}.compliance li{padding:24px 0;border-bottom:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;gap:30px}.compliance li b{font-size:16px}.compliance li span{font-size:11px;color:#b6d9cd;text-align:right}.booking{padding:110px 8vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;background:#f3f4ec}.booking-copy>p:not(.eyebrow){max-width:470px;line-height:1.7;color:#63756f}.portal-card{display:flex;align-items:center;gap:15px;padding:19px;margin-top:45px;background:white;border-left:3px solid #0b785c}.portal-card>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#ddf4e7;font-size:11px;font-weight:bold}.portal-card div{flex:1}.portal-card p{font-size:10px;line-height:1.4;margin:4px 0;color:#72817c}.portal-card a{font-size:10px;font-weight:bold}.booking form{background:white;padding:36px;box-shadow:0 18px 60px rgba(18,54,45,.08)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking label{display:block;font-size:9px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px}.booking input,.booking select,.booking textarea{display:block;width:100%;border:0;border-bottom:1px solid #bac6c0;padding:12px 2px;background:transparent;font:14px Arial;color:#25473e;outline:none}.booking input:focus,.booking select:focus,.booking textarea:focus{border-color:#0b785c}.booking textarea{min-height:90px;resize:vertical}.booking form small{display:block;margin-top:12px;color:#74847d;font-size:9px}footer{padding:55px 7vw 30px;background:#092d25;color:white;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:30px}.inverse .brand-mark i{background:#d8f460}.inverse .brand-mark i:nth-child(2){background:#20b886}.inverse .brand-mark i:nth-child(3){background:#82dcb7}footer>p{font-size:12px;color:#9fbdb3;max-width:260px}footer>div{display:flex;justify-content:flex-end;gap:22px;font-size:11px}footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;margin-top:30px;font-size:9px;color:#72988c}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cycle-ring{animation:none}.button{transition:none}}
@media(max-width:1000px){.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:135px}.hero-visual{height:500px;max-width:570px}.hero h1{letter-spacing:-5px}.trust-strip{display:block}.trust-strip div{margin-top:14px;flex-wrap:wrap;gap:18px}.section-intro{display:block}.section-intro h2{margin-top:25px}.service-grid{grid-template-columns:1fr 1fr}.impact{grid-template-columns:1fr}.impact-image{min-height:560px}.compliance,.booking{grid-template-columns:1fr}.process-line{grid-template-columns:1fr 1fr;gap:50px}.process-line:before{display:none}}
@media(max-width:650px){.site-header{height:74px;padding:0 20px}.header-actions .text-link{display:none}.button-small{padding:11px}.hero{padding:115px 22px 65px;min-height:auto}.hero h1{font-size:58px;letter-spacing:-4px}.lede{font-size:16px}.hero-actions{flex-direction:column;align-items:stretch}.hero-visual{height:410px;transform:scale(.72);transform-origin:left top;width:560px;margin-bottom:-100px}.scroll-cue{display:none}.trust-strip{padding:22px}.trust-strip div{display:grid;grid-template-columns:1fr 1fr}.section{padding:80px 22px}.section-intro h2,.impact h2,.compliance h2,.booking h2{font-size:44px;letter-spacing:-3px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:330px;border-left:1px solid var(--line)}.impact-image{min-height:480px}.tank{transform:scale(.78)}.impact-copy{padding:70px 24px}.impact-stats{gap:25px}.impact-stats b{font-size:32px}.process-line{grid-template-columns:1fr}.compliance,.booking{padding:75px 24px}.compliance li{display:block}.compliance li span{display:block;text-align:left;margin-top:8px}.booking form{padding:25px 20px}.field-row{grid-template-columns:1fr}.portal-card{align-items:flex-start;flex-wrap:wrap}footer{grid-template-columns:1fr;padding:50px 24px 25px}footer>div{justify-content:flex-start;flex-wrap:wrap}footer>small{grid-column:1}.orb-one{right:-250px}}

/* Friendly, booking-led visual direction inspired by the selected reference. */
:root{--ink:#102f38;--green:#048794;--deep:#073c43;--mint:#d7f2ec;--lime:#e5ee59;--cream:#f3f5f2;--line:#dce5e7;--paper:#fbfcfa}.button{border-radius:999px;text-transform:uppercase;letter-spacing:.45px;padding:16px 24px;background:#078b98}.button:hover{background:#056b75}.site-header{height:96px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);position:fixed;border-bottom:0;box-shadow:0 8px 35px rgba(7,60,67,.07)}.site-header nav a{font-weight:700}.hero{min-height:820px;padding-top:175px;background:linear-gradient(115deg,#f9fbf7 0 58%,#dcefeb 58% 100%)}.hero:after{background-image:radial-gradient(circle at 1px 1px,rgba(4,135,148,.08) 1px,transparent 0);background-size:26px 26px;mask-image:linear-gradient(to right,transparent 22%,black)}.hero h1{text-transform:uppercase;color:#078896;font-size:clamp(58px,7.3vw,108px);font-weight:900;line-height:.86;letter-spacing:-6px}.lede{color:#173e45;max-width:650px}.hero-visual{filter:saturate(.85)}.oil-drop{background:linear-gradient(145deg,#f0f457,#33c4a0 52%,#078896);box-shadow:0 45px 90px rgba(3,97,105,.22)}.status-card{border-left:0;border-radius:18px}.trust-strip{background:var(--deep);border-radius:0 0 36px 36px}.section{padding:120px 6vw}.section-intro h2,.impact h2,.compliance h2,.booking h2{text-transform:uppercase;color:#078896;font-weight:900;letter-spacing:-4px}.section-intro h2 em,.impact h2 em{font-family:inherit;font-style:normal}.services{background:#f7f9f6}.service-grid{gap:18px;border:0;margin-top:60px}.service-grid article,.service-grid article:first-child{border:0;background:white;border-radius:28px;padding:28px 28px 34px;box-shadow:0 18px 42px rgba(16,47,56,.07);min-height:370px}.service-no{font-family:Georgia,serif;font-size:66px;line-height:1;color:#d5e0e4;font-weight:700}.service-icon{margin:20px 0;background:#e2f3ef}.service-grid h3{text-transform:uppercase;color:#078896;font-size:21px;line-height:1.05}.service-grid a{text-transform:uppercase;color:#078896}.impact{margin:0 3vw;border-radius:42px;overflow:hidden;background:var(--deep)}.impact-copy h2{color:white}.process{background:linear-gradient(180deg,#fff 0,#edf5f2 100%);position:relative;overflow:hidden}.process:before{content:"";position:absolute;left:-8vw;right:-8vw;top:0;height:250px;background:var(--deep);border-radius:0 0 50% 50%/0 0 20% 20%;z-index:0}.process .section-intro{position:relative;z-index:1;color:white}.process .section-intro h2{color:white}.process .eyebrow span{background:var(--lime)}.process-shell{position:relative;z-index:2;margin-top:70px;background:#fff;border-radius:34px;padding:44px 28px 38px;box-shadow:0 22px 40px rgba(16,47,56,.12)}.process-line{grid-template-columns:repeat(3,1fr);margin:0}.process-line:before{display:none}.process-line article{min-height:255px;padding:45px 42px 20px;border-right:1px solid #e5ebed;position:relative;display:flex;flex-direction:column;align-items:center}.process-line article:last-child{border-right:0}.process-line .step-number{position:absolute;top:-30px;left:22px;font-family:Georgia,serif;font-size:122px;line-height:1;color:#d8e1e5;font-weight:700;letter-spacing:-7px;z-index:0}.process-line h3{position:relative;z-index:1;margin:4px 0 22px;color:#078896;font-size:30px;line-height:.95;text-transform:uppercase;font-weight:900;max-width:240px}.process-line p{position:relative;z-index:1;color:#173e45;max-width:310px}.process-line a,.process-line strong{position:relative;z-index:1;margin-top:auto;color:#078896;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.process-line strong{color:#102f38}.compliance{margin:0 3vw;border-radius:42px;background:#078896}.compliance h2{color:white}.compliance li{background:rgba(255,255,255,.07);margin-bottom:9px;padding:20px;border:0;border-radius:16px}.booking{margin:70px 3vw;background:#edf3f1;border-radius:42px}.booking form,.portal-card{border-radius:24px}.booking form{box-shadow:0 20px 55px rgba(16,47,56,.08)}footer{border-radius:42px 42px 0 0;background:var(--deep)}
@media(max-width:1000px){.hero{background:linear-gradient(180deg,#f9fbf7 0 56%,#dcefeb 56% 100%)}.process-line{grid-template-columns:1fr}.process-line article{border-right:0;border-bottom:1px solid #e5ebed}.process-line article:last-child{border-bottom:0}.process-shell{padding:34px 20px}.impact,.compliance,.booking{margin-left:18px;margin-right:18px}.site-header{height:82px}}
@media(max-width:650px){.hero{padding-top:125px}.hero h1{letter-spacing:-3px}.section{padding:90px 20px}.section-intro h2,.impact h2,.compliance h2,.booking h2{font-size:42px}.process:before{height:230px}.process-shell{margin-top:55px;border-radius:24px}.process-line .step-number{font-size:100px}.process-line h3{font-size:27px}.service-grid article{border-radius:22px}.impact,.compliance,.booking{border-radius:28px;margin-left:10px;margin-right:10px}.booking{margin-top:45px;margin-bottom:45px}}

.logo-image{display:block;width:260px;height:auto;mix-blend-mode:multiply}.site-header>.brand{min-width:260px}.footer-brand{display:inline-flex;background:white;border-radius:14px;padding:10px 14px;width:max-content}.footer-brand .logo-image{width:235px}.footer-brand+.brand{display:none}@media(max-width:650px){.logo-image{width:188px}.site-header>.brand{min-width:188px}.footer-brand .logo-image{width:205px}}

/* PHP migration: accessibility, feedback, mobile menu, and restrained motion. */
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;background:#fff;color:#073c43;padding:12px 16px;border-radius:8px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.menu-toggle{display:none;width:42px;height:42px;border:0;border-radius:50%;background:#e2f3ef;padding:11px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:#073c43;margin:4px 0;transition:.2s ease}
[data-parallax]{translate:0 var(--parallax-y,0)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.form-shell{align-self:start}
.form-shell form{border-radius:24px}
.alert{padding:18px 20px;margin-bottom:15px;border-radius:16px;font-size:13px;line-height:1.5}
.alert ul{margin:8px 0 0;padding-left:18px}
.alert-success{background:#dff6e8;color:#095841;border:1px solid #bce7cc}
.alert-error{background:#fff0eb;color:#8c321d;border:1px solid #f2c5b9}
.booking input:focus-visible,.booking select:focus-visible,.booking textarea:focus-visible,.button:focus-visible,a:focus-visible,.menu-toggle:focus-visible{outline:3px solid #e5ee59;outline-offset:3px}
.trust-strip span:before,.icon-03 i:after{content:"✓"}

@media(max-width:1000px){
  .menu-toggle{display:block;margin-left:auto;margin-right:12px}
  .site-header nav{display:none;position:absolute;top:82px;left:18px;right:18px;padding:18px;background:#fff;border-radius:18px;box-shadow:0 18px 45px rgba(16,47,56,.15);flex-direction:column;gap:0}
  .site-header nav.is-open{display:flex}
  .site-header nav a{padding:12px 8px;border-bottom:1px solid #e6ecec}
  .site-header nav a:last-child{border-bottom:0}
}

@media(max-width:650px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .hero-copy{min-width:0;width:calc(100vw - 44px);max-width:100%}
  .hero-visual{min-width:0;justify-self:start;transform:scale(.63);margin-bottom:-150px}
  .site-header>.brand{min-width:0}
  .header-actions .button-small{font-size:0;gap:0;padding:12px}
  .header-actions .button-small:after{content:"Book";font-size:11px}
  .impact-stats{flex-direction:column;align-items:flex-start}
}

/* Three-step pickup booking modal. */
body.modal-open{overflow:hidden}
.booking-backdrop{--booking-teal:#078a98;--booking-teal-dark:#066e78;--booking-green:#159553;--booking-green-soft:#e7f7ef;--booking-orange:#f59b23;--booking-ink:#102b3a;--booking-text:#314a58;--booking-muted:#71838d;--booking-border:#d9e3e8;--booking-danger:#c63f3f;position:fixed;inset:0;z-index:1000;background:rgba(8,25,31,.72);padding:clamp(14px,3vh,38px);display:grid;place-items:center;color:var(--booking-ink)}
.booking-backdrop[hidden]{display:none}
.booking-modal{width:min(1160px,100%);max-height:94vh;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(3,29,36,.24);overflow:hidden;display:flex;flex-direction:column}
.booking-modal-header{padding:22px 34px;display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #edf1f3;background:#fff;color:var(--booking-ink)}
.booking-modal-header h2{margin:0 0 5px;font-size:28px;letter-spacing:-.03em}.booking-modal-header p{margin:0;color:var(--booking-muted);font-size:14px;line-height:1.45}.booking-icon-button{border:0;background:transparent;width:44px;height:44px;font-size:34px;line-height:1;color:var(--booking-text);cursor:pointer;border-radius:50%}
.booking-modal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:0;overflow:hidden}
.booking-modal-aside{padding:26px 24px;background:linear-gradient(180deg,#f0fbf8,#eef8f6);display:flex;flex-direction:column;gap:14px}.booking-modal-aside>img{width:100%;aspect-ratio:1.05;object-fit:cover;object-position:center;border-radius:18px;background:#dff3ec}.booking-modal-aside h3{font-size:22px;margin:6px 0 0}.booking-modal-aside p{color:var(--booking-text);line-height:1.5;margin:0;font-size:14px}.booking-modal-aside ul{margin:auto 0 0;padding:0;list-style:none;display:grid;gap:14px}.booking-modal-aside li{position:relative;padding-left:30px;font-size:13px;font-weight:700}.booking-modal-aside li:before{content:"✓";position:absolute;left:0;top:-3px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--booking-green-soft);color:var(--booking-green)}
.booking-modal-main{min-width:0;overflow-y:auto}.booking-stepper{margin:0;padding:25px 44px 22px;list-style:none;display:grid;grid-template-columns:repeat(3,1fr)}.booking-step{display:grid;place-items:center;gap:8px;position:relative;color:var(--booking-muted);text-align:center;font-size:12px}.booking-step:not(:last-child):after{content:"";position:absolute;height:2px;width:calc(100% - 56px);background:var(--booking-border);top:18px;left:calc(50% + 28px)}.booking-step span{width:38px;height:38px;border-radius:50%;border:1px solid var(--booking-border);display:grid;place-items:center;background:#fff;font-weight:900;position:relative;z-index:2}.booking-step b{position:relative;z-index:3;padding:0 6px;background:#fff;line-height:1.25}.booking-step.active,.booking-step.completed{color:var(--booking-ink)}.booking-step.active span{color:#fff;border-color:var(--booking-teal);background:var(--booking-teal)}.booking-step.completed span{color:#fff;border-color:var(--booking-green);background:var(--booking-green);font-size:0}.booking-step.completed span:after{content:"✓";font-size:16px}.booking-step.completed:not(:last-child):after{background:var(--booking-green)}
.pickup-form{display:flex;flex-direction:column;min-height:520px}.booking-form-step{padding:8px 44px 26px}.booking-form-step[hidden]{display:none}.booking-section-heading{border-top:1px solid #edf1f3;padding-top:24px;margin-bottom:22px}.booking-section-heading h3{margin:0 0 6px;color:var(--booking-teal-dark);font-size:22px}.booking-section-heading p{margin:0;color:var(--booking-muted);font-size:14px}.booking-form-grid{display:grid;gap:16px 22px}.booking-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-form-grid.four{grid-template-columns:1fr .8fr 1fr .7fr}.booking-field{min-width:0}.booking-field label,.booking-chip-fieldset legend{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.booking-field label>span{color:var(--booking-orange)}.booking-field label em,.booking-chip-fieldset em{font-style:normal;font-weight:500;color:var(--booking-muted)}
.booking-backdrop input,.booking-backdrop select,.booking-backdrop textarea{width:100%;border:1px solid var(--booking-border);background:#fff;min-height:48px;border-radius:12px;padding:11px 14px;color:var(--booking-ink);font:14px Arial,Helvetica,sans-serif}.booking-backdrop textarea{min-height:78px;resize:vertical}.booking-backdrop input:focus,.booking-backdrop select:focus,.booking-backdrop textarea:focus{border-color:var(--booking-teal);outline:3px solid rgba(7,138,152,.2);outline-offset:1px}.booking-backdrop [aria-invalid="true"]{border-color:var(--booking-danger)}.booking-field-error{min-height:17px;margin:4px 0 0;color:var(--booking-danger);font-size:12px}.booking-helper{margin:8px 0 18px;color:var(--booking-muted);font-size:12px}
.booking-chip-fieldset{border:0;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.booking-chip-fieldset legend{grid-column:1/-1}.booking-chip{position:relative}.booking-chip input{position:absolute;opacity:0;pointer-events:none}.booking-chip span{min-height:46px;border:1px solid var(--booking-border);border-radius:10px;display:flex;align-items:center;padding:9px 13px;cursor:pointer;font-size:13px}.booking-chip input:focus-visible+span{outline:3px solid rgba(7,138,152,.2);outline-offset:2px}.booking-chip input:checked+span{border-color:var(--booking-teal);background:#effafa;color:var(--booking-teal-dark);font-weight:800}
.booking-upload-zone{border:2px dashed #b9ccd4;border-radius:14px;padding:20px;display:grid!important;place-items:center;gap:5px;cursor:pointer;text-align:center}.booking-upload-zone strong{color:var(--booking-teal)}.booking-upload-zone span{color:var(--booking-muted)!important;font-size:12px}.booking-photo-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:11px}.booking-photo-item{position:relative;width:86px;height:74px;border-radius:10px;overflow:hidden;border:1px solid var(--booking-border)}.booking-photo-item img{width:100%;height:100%;object-fit:cover}.booking-photo-item button{position:absolute;top:3px;right:3px;border:0;border-radius:50%;width:26px;height:26px;color:#fff;background:rgba(10,20,25,.78);cursor:pointer}
.booking-map-card,.booking-notice{margin:18px 0;border-radius:14px;background:#f4faf9;border:1px solid #dcefeb;padding:15px 17px}.booking-map-card{display:flex;justify-content:space-between;align-items:center;gap:18px}.booking-map-card p{margin:4px 0 0;color:var(--booking-muted);font-size:13px}.booking-notice{color:var(--booking-text);line-height:1.5;font-size:13px}.booking-consent{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.45}.booking-consent input{width:20px;height:20px;min-height:20px;margin-top:1px}.booking-error-summary{margin:0 44px 8px;border:1px solid #f0bcbc;background:#fff6f6;color:#872f2f;border-radius:12px;padding:12px 16px;font-size:13px}
.booking-button{min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;text-decoration:none;cursor:pointer;font-size:13px}.booking-button:focus-visible,.booking-icon-button:focus-visible{outline:3px solid rgba(7,138,152,.25);outline-offset:2px}.booking-primary{background:linear-gradient(135deg,var(--booking-teal),#0a9f9b);color:#fff}.booking-primary:hover{background:var(--booking-teal-dark)}.booking-secondary{background:#fff;border-color:var(--booking-teal);color:var(--booking-teal-dark)}.booking-ghost{background:transparent;color:var(--booking-text)}.booking-button.small{min-height:40px;padding:0 15px;font-size:12px}.booking-button:disabled{opacity:.55;cursor:not-allowed}
.booking-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.booking-review-card{border:1px solid var(--booking-border);border-radius:14px;padding:17px}.booking-review-card h4{color:var(--booking-teal-dark);margin:0 0 14px}.booking-review-card dl{margin:0;display:grid;gap:10px}.booking-review-card dt{color:var(--booking-muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.booking-review-card dd{margin:2px 0 0;font-size:13px;font-weight:700;overflow-wrap:anywhere}.booking-review-card>a{display:inline-block;margin-top:14px;color:var(--booking-teal-dark);font-size:13px;font-weight:800}.booking-review-photos{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.booking-review-photos img{width:62px;height:54px;object-fit:cover;border-radius:8px;border:1px solid var(--booking-border)}
.booking-confirmation-step{text-align:center;padding-top:30px}.booking-confirmation-icon{margin:0 auto 16px;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--booking-green),#4dbe71);font-size:46px}.booking-confirmation-step h3{font-size:26px;margin:0 0 9px}.booking-confirmation-highlight{color:var(--booking-green);font-size:19px;font-weight:900}.booking-reference-card{width:min(430px,100%);margin:25px auto 0;padding:20px;border-radius:14px;background:#f4faf9;display:grid;gap:7px}.booking-reference-card small{color:var(--booking-muted)}.booking-reference-card strong{font-size:24px;color:var(--booking-teal-dark)}.booking-reference-card span{font-weight:800}.booking-reference-card time{color:var(--booking-muted);font-size:12px}
.booking-modal-footer{margin-top:auto;padding:16px 34px;border-top:1px solid #edf1f3;display:flex;justify-content:flex-end;gap:11px;background:#fff;position:sticky;bottom:0}.booking-modal-footer #bookingBackButton{margin-right:auto}.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:900px){.booking-modal-layout{grid-template-columns:1fr}.booking-modal-aside{display:none}.booking-review-grid{grid-template-columns:1fr}}
@media(max-width:650px){.booking-backdrop{padding:0;place-items:stretch}.booking-modal{max-height:100vh;min-height:100vh;border-radius:0}.booking-modal-header{padding:15px 18px}.booking-modal-header h2{font-size:22px}.booking-modal-header p{font-size:12px}.booking-stepper{padding:16px 14px}.booking-step b{font-size:10px}.booking-step:not(:last-child):after{width:calc(100% - 45px);left:calc(50% + 22px);top:15px}.booking-step span{width:32px;height:32px}.booking-form-step{padding:4px 18px 20px}.booking-form-grid.two,.booking-form-grid.four,.booking-chip-fieldset{grid-template-columns:1fr}.booking-chip-fieldset legend{grid-column:1}.booking-modal-footer{padding:12px 14px}.booking-button{min-height:44px;padding:0 14px}.booking-map-card{align-items:flex-start;flex-direction:column}.booking-error-summary{margin:0 18px 8px}.booking-confirmation-step h3{font-size:22px}}

@media(min-width:651px){
  .booking-backdrop{padding:20px}
  .booking-modal{width:min(870px,100%);max-height:min(700px,90vh);border-radius:16px}
  .booking-modal-header{padding:13px 22px;align-items:center}
  .booking-modal-header h2{margin:0;font-size:23px}
  .booking-icon-button{width:34px;height:34px;font-size:27px}
  .booking-modal-layout{grid-template-columns:195px minmax(0,1fr)}
  .booking-modal-aside{padding:18px 16px;gap:9px}
  .booking-modal-aside>img{aspect-ratio:1.15;border-radius:13px}
  .booking-modal-aside h3{margin:3px 0 0;font-size:17px;line-height:1.15}
  .booking-modal-aside p{font-size:11px;line-height:1.4}
  .booking-modal-aside ul{gap:8px}
  .booking-modal-aside li{padding-left:23px;font-size:10px}
  .booking-modal-aside li:before{top:-2px;width:18px;height:18px}
  .booking-stepper{padding:13px 28px 11px}
  .booking-step{gap:4px;font-size:10px}
  .booking-step span{width:30px;height:30px}
  .booking-step:not(:last-child):after{width:calc(100% - 44px);top:14px;left:calc(50% + 22px)}
  .pickup-form{min-height:0}
  .booking-form-step{padding:4px 28px 14px}
  .booking-section-heading{padding-top:13px;margin-bottom:12px}
  .booking-section-heading h3{margin-bottom:3px;font-size:17px}
  .booking-section-heading p{font-size:11px}
  .booking-form-grid{gap:9px 13px}
  .booking-form-grid.four{grid-template-columns:1fr .72fr 1fr .68fr}
  .booking-field label,.booking-chip-fieldset legend{margin-bottom:4px;font-size:10.5px}
  .booking-backdrop input,.booking-backdrop select,.booking-backdrop textarea{min-height:38px;padding:8px 10px;border-radius:9px;font-size:12px}
  .booking-backdrop textarea{min-height:58px}
  .booking-field-error{min-height:12px;margin-top:2px;font-size:9px}
  .booking-helper{margin:4px 0 10px;font-size:9.5px}
  .booking-chip-fieldset{margin-bottom:10px;gap:7px}
  .booking-chip span{min-height:36px;padding:6px 9px;border-radius:8px;font-size:10.5px}
  .booking-upload-zone{padding:10px;border-radius:10px;gap:2px;font-size:11px}
  .booking-upload-zone span{font-size:9.5px}
  .booking-map-card,.booking-notice{margin:10px 0;padding:10px 12px;border-radius:10px}
  .booking-map-card p,.booking-notice,.booking-consent{font-size:10px}
  .booking-error-summary{margin:0 28px 5px;padding:8px 11px;font-size:10px}
  .booking-button{min-height:38px;padding:0 16px;font-size:10.5px}
  .booking-modal-footer{padding:9px 22px;gap:8px}
  .booking-review-grid{gap:9px}
  .booking-review-card{padding:11px}
  .booking-confirmation-step{padding-top:16px}
  .booking-confirmation-icon{width:58px;height:58px;margin-bottom:10px;font-size:32px}
  .booking-confirmation-step h3{font-size:19px}
  .booking-confirmation-highlight{font-size:14px}
  .booking-reference-card{margin-top:14px;padding:13px}
}

@media(prefers-reduced-motion:reduce){
  [data-parallax]{translate:none!important}
  .reveal{opacity:1;transform:none;transition:none}
}

/* Closing brand story. */
.powering-tomorrow{position:relative;isolation:isolate;overflow:hidden;background:#c9ecfa;min-height:clamp(360px,42.85vw,820px)}
.powering-tomorrow:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.28) 0,rgba(255,255,255,0) 38%,rgba(5,71,78,.08) 100%);z-index:1;pointer-events:none}
.powering-tomorrow>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.powering-tomorrow-copy{position:relative;z-index:2;padding:clamp(34px,5vw,82px) 6vw 0;text-align:center;color:#073c43;text-shadow:0 2px 18px rgba(255,255,255,.9)}
.powering-tomorrow-copy .eyebrow{justify-content:center;color:#078896;margin:0 0 12px}
.powering-tomorrow-copy h2{max-width:1050px;margin:0 auto;font-size:clamp(42px,6.2vw,92px);line-height:.92;letter-spacing:-.055em;text-transform:uppercase;font-weight:900}

@media(max-width:650px){
  .powering-tomorrow{min-height:440px}
  .powering-tomorrow>img{object-position:58% center}
  .powering-tomorrow-copy{padding:34px 20px 0}
  .powering-tomorrow-copy h2{font-size:39px;line-height:.95;letter-spacing:-.045em}
}

/* Portal login overlay keeps the public website visible behind the dialog. */
.portal-login-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:clamp(10px,2.5vw,30px);background:rgba(8,25,31,.24);backdrop-filter:blur(3px)}
.portal-login-backdrop[hidden]{display:none}
.portal-login-modal{width:min(810px,100%);height:min(540px,calc(100dvh - clamp(20px,5vw,60px)));overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(8,25,31,.26)}
.portal-login-modal iframe{display:block;width:133.3334%;height:133.3334%;border:0;background:transparent;transform:scale(.75);transform-origin:top left}
body.portal-modal-open{overflow:hidden}
@media(max-width:760px){.portal-login-backdrop{padding:10px}.portal-login-modal{width:100%;height:calc(100dvh - 20px);border-radius:20px}.portal-login-modal iframe{width:100%;height:100%;transform:none}}

/* Homepage service-card thumbnails */
.service-grid article,.service-grid article:first-child{padding:0;overflow:hidden}
.service-card-media{position:relative;height:190px;overflow:hidden;background:#dceae6}
.service-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,60,67,.04),rgba(7,60,67,.2))}
.service-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.service-grid article:hover .service-card-media img{transform:scale(1.035)}
.service-card-media .service-no{position:absolute;z-index:2;left:24px;top:18px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.38)}
.service-card-body{display:flex;min-height:250px;flex:1;flex-direction:column;padding:25px 28px 30px}
.service-card-body h3{margin-top:0}
.service-card-body a{margin-top:auto}
@media(max-width:1100px){.service-card-media{height:210px}}
@media(max-width:650px){.service-card-media{height:220px}.service-card-body{min-height:235px;padding:24px}}

/* Homepage footer layout */
.site-footer{grid-template-columns:minmax(240px,1fr) minmax(280px,1fr) minmax(170px,1fr);align-items:start;column-gap:clamp(30px,5vw,90px);row-gap:30px}
.site-footer .footer-intro{display:grid;justify-items:start;gap:14px}
.site-footer .footer-intro p{max-width:340px;margin:0;color:#9fbdb3;font-size:12px;line-height:1.55}
.site-footer .footer-intro small{margin:4px 0 0;padding:0;border:0;color:#72988c;font-size:9px}
.site-footer .footer-nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2vw,34px);padding-top:12px;font-size:11px;white-space:nowrap}
.site-footer .footer-meta{display:contents}
.site-footer .footer-logos{grid-column:3;grid-row:1;align-self:start;justify-self:end;padding-top:2px}
.site-footer .footer-legal{grid-column:1/-1;grid-row:2;width:100%;padding-top:24px;border-top:1px solid rgba(255,255,255,.16)}
@media(max-width:900px){.site-footer{grid-template-columns:1fr 1fr}.site-footer .footer-intro{grid-column:1}.site-footer .footer-nav{grid-column:2;justify-content:flex-end;flex-wrap:wrap;white-space:normal}.site-footer .footer-logos{grid-column:1/-1;grid-row:2;justify-self:start}.site-footer .footer-legal{grid-row:3}}
@media(max-width:650px){.site-footer{display:grid;grid-template-columns:1fr;padding:50px 24px 25px}.site-footer .footer-intro,.site-footer .footer-nav,.site-footer .footer-logos,.site-footer .footer-legal{grid-column:1}.site-footer .footer-intro{grid-row:1}.site-footer .footer-nav{grid-row:2;justify-content:flex-start;padding-top:0}.site-footer .footer-logos{grid-row:3}.site-footer .footer-legal{grid-row:4;align-items:flex-start;flex-direction:column}}
