/* GreenPlan V2: motion and component refinement. */
.gp-button,.gp-nav-contact{position:relative;isolation:isolate;overflow:hidden;gap:28px;padding:0 0 0 23px;min-height:58px;border-radius:2px 15px 2px 2px;transition:background .25s,color .25s,box-shadow .25s;box-shadow:0 0 0 transparent}.gp-button:before,.gp-nav-contact:before{content:'';position:absolute;inset:0;background:#fff;opacity:.16;transform:translateX(-105%) skewX(-18deg);transition:transform .5s;z-index:-1}.gp-button:hover:before,.gp-nav-contact:hover:before{transform:translateX(0) skewX(-18deg)}.gp-button>span,.gp-nav-contact>span{display:grid;place-items:center;align-self:stretch;width:58px;min-width:58px;background:var(--gp-ink);color:var(--gp-lime);border-left:1px solid #ffffff20;margin:0;transform:none!important;overflow:hidden}.gp-button svg,.gp-nav-contact svg{width:27px;height:27px;transition:transform .4s cubic-bezier(.2,.7,.2,1)}.gp-button:hover svg,.gp-nav-contact:hover svg{transform:translateX(5px)}.gp-button-dark>span,.gp-button-outline>span{background:var(--gp-lime);color:var(--gp-ink)}.gp-button:hover{box-shadow:0 8px 22px #002f3520}.gp-nav-contact{font-size:11px;min-height:47px;padding-left:17px;gap:18px}.gp-nav-contact>span{width:45px;min-width:45px}.gp-nav-contact svg{width:24px;height:24px}.gp-text-link svg,.gp-mega svg,.gp-footer svg,.gp-product-read svg,.gp-catalog-row svg{width:23px;height:23px;vertical-align:middle}.gp-catalog-row a{display:flex;align-items:center;gap:12px}.gp-round-arrow{background:var(--gp-ink);color:var(--gp-lime);width:47px;height:47px;border:0;border-radius:0 12px 0 0}.gp-round-arrow svg{width:27px;height:27px}.gp-product:hover .gp-round-arrow{color:var(--gp-ink)}
.gp-hero-stage{overflow:hidden;background:var(--gp-ink)}.gp-hero{transform-origin:50% 10%;height:calc(100svh - 121px);min-height:710px;max-height:960px;will-change:clip-path,transform}.gp-hero-content{padding-bottom:120px}.gp-hero h1{font-size:clamp(85px,10.4vw,160px)}.gp-title-line{display:block;overflow:hidden;line-height:1.03;margin-top:-.1em;padding-top:.07em}.gp-hero h1 .gp-title-line{color:white}.gp-hero h1 .gp-title-accent{color:var(--gp-lime)}.gp-title-line>span{display:block;will-change:transform}.gp-title-line .gp-letter{display:inline-block;color:inherit;white-space:pre}.gp-hero-image{transform-origin:center;will-change:transform;scale:1.08}.gp-hero-image-next{opacity:0;z-index:-2}.gp-slide-controls{position:absolute;bottom:33px;left:56px;display:flex;align-items:center;gap:30px;z-index:3}.gp-slide-select{display:flex;gap:22px}.gp-slide-select button{position:relative;padding:11px 0 15px;color:#e1e9e5;font-size:10px;text-align:left;min-width:120px;border-bottom:1px solid #ffffff40}.gp-slide-select button[aria-pressed=true]{color:var(--gp-lime)}.gp-slide-select button>span{position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--gp-lime);transform:scaleX(0);transform-origin:left}.gp-slide-pause{color:var(--gp-lime);border:1px solid #ffffff50;width:38px;height:38px;border-radius:50%;font-size:15px;display:grid;place-items:center}.gp-slide-description{min-height:55px;max-width:570px}.gp-hero-caption{bottom:36px}.gp-product-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--gp-line);padding:18px 0;margin-top:-15px}.gp-product-toolbar>span{font-size:9px;font-weight:800;letter-spacing:1.5px}.gp-marquee-pause{display:flex;gap:12px;align-items:center;font-size:10px;padding:10px 0}.gp-marquee-pause>span{display:grid;place-items:center;border:1px solid #8b9e8c;border-radius:50%;width:27px;height:27px}.gp-products{overflow:visible}.gp-product-window{position:relative;width:calc(100vw - 15px);margin-left:calc((100% - 100vw + 15px)/2);overflow-x:auto;scrollbar-width:thin;padding:15px 0 25px;overscroll-behavior-x:contain}.gp-product-window.is-moving{overflow:hidden}.gp-product-track{display:flex;width:max-content;will-change:transform}.gp-product-group{display:flex;gap:24px;padding-right:24px;flex-shrink:0}.gp-product-card{width:355px;flex-shrink:0;background:#e8ecdf;border:1px solid #dae1d4;border-radius:3px 36px 3px 3px;overflow:hidden;position:relative;transition:background .35s,box-shadow .35s}.gp-product-card:nth-child(2n){background:#f0f0e6}.gp-product-card:hover{background:#e0e7cd;box-shadow:0 12px 25px #002f3515}.gp-product-image{background:transparent;height:345px;padding:55px 38px 24px}.gp-product-image:before{content:'';position:absolute;left:-20%;right:-20%;top:45%;height:40%;background:linear-gradient(100deg,transparent,#cadb2a32);transform:rotate(-18deg);border-top:1px solid #b4c2a5;border-bottom:1px solid #b4c2a5}.gp-product-image img{position:relative;filter:drop-shadow(6px 15px 8px #002f3512);z-index:1;transition:transform .6s}.gp-product-card:nth-child(even) .gp-product-image img{transform:rotate(3deg)}.gp-product-card:nth-child(odd) .gp-product-image img{transform:rotate(-3deg)}.gp-product:hover .gp-product-image img{transform:translateY(-9px) rotate(0) scale(1.05)}.gp-round-arrow{z-index:2;bottom:15px;right:15px}.gp-product-category{top:23px;left:25px}.gp-product-copy{padding:25px;background:#ffffff85}.gp-product h3{font-family:var(--gp-display);font-size:34px;text-transform:uppercase;font-weight:600;margin-bottom:14px}.gp-product-copy>p:not(.gp-eyebrow){min-height:72px;font-size:12px;margin-bottom:20px}.gp-product-read{font-size:10px;padding-top:15px}.gp-product-copy .gp-eyebrow{font-size:8px;min-height:14px}.gp-product-read svg{width:21px}.gp-catalog-row{margin-top:24px}
.gp-duo-diagram{min-height:485px}.gp-phase{max-width:420px;width:98%;min-height:180px;padding:32px 145px 28px 23px;overflow:visible;border-radius:0 23px 0 0}.gp-phase h3{font-size:32px;white-space:nowrap}.gp-phase p{font-size:10px;max-width:175px}.gp-phase-product{position:absolute;right:6px;top:-22px;width:142px;height:210px;object-fit:contain;mix-blend-mode:screen;filter:contrast(1.12);transform:rotate(6deg)}.gp-phase-control{background:#e6ebdc;color:var(--gp-ink)}.gp-phase-control>span,.gp-phase-control p{color:#48614c}.gp-phase-control .gp-phase-product,.gp-phase-impulse .gp-phase-product{mix-blend-mode:multiply}.gp-phase-impulse{margin-top:55px}.gp-phase-impulse .gp-phase-product{transform:rotate(-7deg)}.gp-system-photo{isolation:isolate}.gp-system-photo>img{height:120%;top:-10%}.gp-plan-step{position:relative}.gp-plan-step:before{content:'';position:absolute;left:0;top:-1px;height:2px;width:var(--line-progress,0%);background:#91a719}.gp-footer-reveal{display:contents}main{position:relative;z-index:2;background:var(--gp-paper);box-shadow:0 30px 70px #00121570}.gp-footer{position:sticky;bottom:0;z-index:1;width:100%;max-width:none;background:#062a2f;color:#eaf0e9;padding:65px 0 0}.gp-footer .gp-logo img{filter:brightness(0) invert(1)}.gp-footer-statement{font:600 clamp(62px,8.4vw,130px)/1 var(--gp-display);letter-spacing:-1px;border-bottom:1px solid #ffffff25;padding-bottom:35px;margin-bottom:45px;color:white;white-space:nowrap}.gp-footer-statement>span{color:var(--gp-lime)}.gp-footer p{color:#b5c9c4}.gp-footer h2{color:var(--gp-lime)}.gp-footer-main{padding-bottom:40px}.gp-footer-contact>a,.gp-footer-bottom{border-color:#ffffff25}.gp-footer-bottom{color:#a8c0bb}.gp-footer a:hover{color:var(--gp-lime)}.gp-footer .gp-logo{width:210px}.gp-footer .gp-footer-contact svg{width:20px;height:20px}
@media(min-width:1600px){.gp-slide-controls{left:max(80px,calc((100vw - 1440px)/2))}}
@media(max-width:1199px){.gp-slide-controls{left:36px}.gp-slide-select button{min-width:110px}.gp-phase{padding-right:120px}.gp-phase-product{width:120px}.gp-phase h3{font-size:29px}.gp-nav-contact{gap:12px;padding-left:14px}}
@media(max-width:991px){.gp-hero{height:760px;min-height:0}.gp-hero h1{font-size:100px}.gp-hero-content{padding-bottom:125px}.gp-footer{position:relative}.gp-phase{max-width:430px;padding-right:145px}.gp-phase-product{width:145px}.gp-duo-diagram{min-height:485px}.gp-footer-statement{font-size:clamp(45px,8vw,90px)}.gp-nav-contact{padding:0 0 0 20px}.gp-nav-contact>span{min-height:48px}}
@media(max-width:575px){.gp-hero{height:710px}.gp-hero-content{padding-top:55px;padding-bottom:150px}.gp-hero h1{font-size:clamp(53px,15vw,83px);letter-spacing:-.4px}.gp-slide-controls{left:20px;right:20px;bottom:50px;gap:15px}.gp-slide-select{gap:13px;flex:1}.gp-slide-select button{min-width:0;flex:1;font-size:9px;padding-bottom:13px}.gp-slide-pause{width:30px;height:30px;font-size:12px;flex-shrink:0}.gp-hero-caption{bottom:19px;font-size:6px}.gp-slide-description{min-height:72px;font-size:14px!important}.gp-button{font-size:10px;gap:14px;padding-left:16px;min-height:55px}.gp-button>span{width:45px;min-width:45px}.gp-button svg{width:24px}.gp-product-toolbar>span{font-size:7px;letter-spacing:.8px}.gp-marquee-pause{font-size:9px;gap:7px}.gp-product-card{width:285px}.gp-product-group{gap:16px;padding-right:16px}.gp-product-image{height:300px;padding:50px 32px 22px}.gp-product-copy{padding:22px}.gp-product h3{font-size:30px}.gp-product-copy>p:not(.gp-eyebrow){min-height:83px}.gp-product-copy .gp-eyebrow{font-size:7px}.gp-product-category{font-size:8px}.gp-phase{width:100%;min-height:160px;padding:25px 115px 25px 18px}.gp-phase-product{width:115px;height:180px;top:-15px;right:0}.gp-phase h3{font-size:28px}.gp-phase p{font-size:9px}.gp-phase>span{font-size:7px}.gp-duo-diagram{min-height:440px}.gp-footer{padding-top:40px}.gp-footer-statement{font-size:clamp(31px,8.8vw,51px);letter-spacing:-.5px;margin-bottom:35px;padding-bottom:25px}.gp-footer-main{padding-bottom:30px}.gp-footer .gp-logo{width:190px}}
@media(prefers-reduced-motion:reduce){.gp-hero,.gp-hero-image,.gp-product-track{will-change:auto}.gp-footer{position:relative}.gp-hero-image{scale:1}.gp-product-window{overflow-x:auto}.gp-slide-select button[aria-pressed=true]>span{transform:scaleX(1)}}
.gp-title-line{white-space:nowrap}.gp-hero h1 .gp-title-line>span{color:inherit}
@media(max-width:575px){.gp-hero h1{font-size:clamp(40px,12.8vw,72px)}}

/* Packshots retain their own backgrounds and fill the image panel. */
.gp-product-image{padding:0;background:none}
.gp-product-image::before{content:none}
.gp-product-image img,
.gp-product-card:nth-child(even) .gp-product-image img,
.gp-product-card:nth-child(odd) .gp-product-image img,
.gp-product:hover .gp-product-image img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transform:none;filter:none;mix-blend-mode:normal;transition:none;
}
.gp-product-category{position:static;display:block;padding:18px 25px;margin:0;background:var(--gp-paper);font-size:9px;letter-spacing:1px;font-weight:700}
.gp-phase .gp-phase-product{top:0;right:0;height:100%;object-fit:cover;transform:none;filter:none;mix-blend-mode:normal}
.gp-phase{overflow:hidden}

/* V3: quieter transitions, stable hero geometry, compact navigation. */
.gp-hero{will-change:auto;transform:none;clip-path:none}
.gp-hero-image{will-change:opacity,filter;scale:1.08}
.gp-hero-shade{opacity:.78;background:linear-gradient(90deg,#001d23bb,#001d2340),linear-gradient(0deg,#001d23c9,transparent 80%)}
.gp-title-line{height:1.1em;line-height:1.03;margin-top:0;padding-top:.04em;white-space:nowrap}
.gp-slide-description{height:3.6em;min-height:3.6em;max-width:570px;line-height:1.6!important}
.gp-hero-content{padding-bottom:145px}
.gp-slide-controls{bottom:32px}
.gp-button,.gp-nav-contact{--gp-fill:var(--gp-ink);--gp-hover-text:var(--gp-lime);transition:color .35s,box-shadow .35s}
.gp-button-dark,.gp-button-outline{--gp-fill:var(--gp-lime);--gp-hover-text:var(--gp-ink)}
.gp-button::before,.gp-nav-contact::before{inset:0;background:var(--gp-fill);opacity:1;transform:scaleX(0);transform-origin:right;transition:transform .42s cubic-bezier(.22,.7,.2,1);z-index:-1}
.gp-button:hover::before,.gp-nav-contact:hover::before,.gp-button:focus-visible::before,.gp-nav-contact:focus-visible::before{transform:scaleX(1)}
.gp-button:hover,.gp-nav-contact:hover,.gp-button:focus-visible,.gp-nav-contact:focus-visible{color:var(--gp-hover-text)}
.gp-button>span,.gp-nav-contact>span{background:var(--gp-fill);color:var(--gp-hover-text);border:0}
.gp-header{height:121px;background:transparent;pointer-events:none}
.gp-topline,.gp-nav-wrap{pointer-events:auto}
.gp-nav-wrap{background:var(--gp-paper);transition:height .28s,background .28s,box-shadow .28s;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.gp-nav-wrap>.gp-logo{transition:width .28s}
.gp-header.is-scrolled .gp-nav-wrap{height:66px;background:#f6f7f2f2;box-shadow:0 5px 22px #002f3510;border-color:#d9e0da80}
.gp-header.is-scrolled .gp-nav-wrap>.gp-logo{width:163px}
.gp-mobile-toggle{height:44px;gap:12px;padding:0;align-items:center;justify-content:center;line-height:1}
.gp-mobile-toggle .gp-menu-label{font-size:12px;line-height:1;font-weight:700}
.gp-mobile-toggle .gp-burger{display:flex;width:22px;height:20px;position:relative;flex-direction:column;justify-content:space-between;padding:3px 0}
.gp-burger i{display:block;height:2px;width:22px;background:currentColor;transform-origin:center;transition:transform .25s,opacity .2s}
.gp-mobile-toggle[aria-expanded=true] .gp-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.gp-mobile-toggle[aria-expanded=true] .gp-burger i:nth-child(2){opacity:0}
.gp-mobile-toggle[aria-expanded=true] .gp-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:991px){.gp-header{height:109px}.gp-header.is-scrolled .gp-nav-wrap{height:62px}.gp-header.is-scrolled .gp-nav-wrap>.gp-logo{width:148px}#navigation{max-height:calc(100dvh - 100px);background:#f6f7f2;box-shadow:0 20px 28px #002f351c;transform-origin:top center}.gp-header.is-scrolled #navigation{max-height:calc(100dvh - 62px)}}
@media(max-width:575px){.gp-header{height:103px}.gp-header.is-scrolled .gp-nav-wrap{height:60px}.gp-header.is-scrolled .gp-nav-wrap>.gp-logo{width:140px}.gp-hero-content{padding-bottom:150px}.gp-slide-description{height:6.4em;min-height:6.4em;max-width:100%;font-size:13px!important}.gp-slide-controls{bottom:32px}.gp-hero h1{font-size:clamp(39px,12.5vw,71px)}}
@media(prefers-reduced-motion:reduce){.gp-hero-image{will-change:auto}.gp-nav-wrap{transition:none}}

/* Consistent catalogue geometry for square cans and portrait bags. */
.gp-product-group{align-items:stretch}
.gp-product-card{--gp-media-size:353px;background:#fff}
.gp-product-card:nth-child(2n),.gp-product-card:hover{background:#fff}
.gp-product{display:grid;grid-template-rows:54px var(--gp-media-size) 1fr;height:100%;min-width:0}
.gp-product-category{display:flex;align-items:center;height:54px;line-height:1.4;padding:12px 25px}
.gp-product-image{display:block;width:100%;height:100%;min-height:0;padding:0;background:#fff;overflow:hidden}
.gp-product-image img,
.gp-product-card:nth-child(even) .gp-product-image img,
.gp-product-card:nth-child(odd) .gp-product-image img,
.gp-product:hover .gp-product-image img{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;
  object-fit:contain;object-position:center;transform:none;filter:none;mix-blend-mode:normal;
}
.gp-product-copy{display:grid;grid-template-rows:24px minmax(85px,auto) 42px;gap:0;padding:25px;background:var(--gp-paper);min-width:0}
.gp-product-copy .gp-eyebrow{margin:0;min-height:0;line-height:1.5;align-self:start}
.gp-product-copy h3{margin:0;font-size:34px;line-height:1.2;align-self:start;overflow-wrap:normal}
.gp-product-copy>p:not(.gp-eyebrow){margin:0;min-height:0;max-width:none;font-size:12px;line-height:1.7;align-self:start}
.gp-product-read{margin:0;align-self:stretch;align-items:center;padding:12px 0 0;line-height:1.5}
.gp-phase .gp-phase-product{object-fit:contain;background:#fff}
@media(max-width:575px){
 .gp-product-card{--gp-media-size:283px}
 .gp-product-category{padding:12px 22px;font-size:8px}
 .gp-product-copy{padding:22px;grid-template-rows:28px minmax(76px,auto) 45px}
 .gp-product-copy h3{font-size:30px}
 .gp-product-read{font-size:10px}
}

/* Original transparent GreenPlan illustrations for the care-plan steps. */
.gp-plan-step{gap:24px}
.gp-step-symbol{display:block;flex:0 0 58px;width:58px;height:58px;margin-top:2px;line-height:1}
.gp-step-symbol img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:575px){.gp-plan-step{gap:16px}.gp-step-symbol{flex-basis:44px;width:44px;height:44px;margin-top:0}}

/* Keep the system photograph still while accordion content changes. */
.gp-system-photo>img{inset:0;width:100%;height:100%;transform:none;object-fit:cover;object-position:center;transition:none;will-change:auto}
.gp-accordion{position:relative}

/* Shared typography and composition for every hero scene. */
.gp-hero h1{font-size:clamp(64px,7.2vw,112px);line-height:1.06;letter-spacing:-.8px}
.gp-hero .gp-title-line{height:1.08em;line-height:1.04;margin:0;padding-top:.02em}
.gp-hero .gp-title-line>span{font-size:1em}
.gp-hero-image{object-position:right center;scale:1}
.gp-hero .gp-hero-note{visibility:hidden}
.gp-hero .gp-slide-description{max-width:470px}
@media(max-width:991px){
 .gp-hero h1{font-size:clamp(64px,9.4vw,92px)}
 .gp-hero-image{inset:auto 0 0;height:380px;object-position:right bottom;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%);mask-image:linear-gradient(to bottom,transparent,#000 18%)}
 .gp-hero .gp-hero-shade{background:linear-gradient(180deg,#12343b 0%,#12343b 42%,#12343b00 68%,#001d2370 100%)}
 .gp-hero .gp-hero-bottom{margin-top:18px;padding-top:0}
}
@media(max-width:575px){
 .gp-hero h1{font-size:clamp(39px,12.5vw,71px);letter-spacing:-.4px}
 .gp-hero-image{height:310px}
 .gp-hero .gp-slide-description{max-width:100%}
}

/* Keep the moving players visible without placing mobile copy over them. */
.gp-contact>img{object-position:center center}
@media(max-width:767px){.gp-contact{background:var(--gp-ink);padding-bottom:270px}.gp-contact>img{top:auto;bottom:0;height:260px;object-position:85% center}.gp-contact:after{top:auto;bottom:0;height:270px;background:linear-gradient(180deg,var(--gp-ink),transparent 48%)}}
