:root{--navy:#0b3274;--blue:#4f98df;--red:#ed1c24;--yellow:#ffca16;--ink:#111a2e;--cream:#fffaf0;--line:#dce4ef;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{height:82px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid #edf0f4;backdrop-filter:blur(12px)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;height:100%}.brand img{width:205px;max-height:46px;object-fit:contain}.nav{display:flex;align-items:center;gap:23px;font-size:14px;font-weight:750}.nav a:hover{color:var(--blue)}.nav-cta{background:var(--navy);color:white!important;padding:11px 18px;border-radius:999px}.menu-btn{display:none}.hero{position:relative;overflow:hidden;background:linear-gradient(130deg,#f8fbff 0%,#fff 55%,#eef6ff 100%);min-height:680px}.hero:after{display:none}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;min-height:680px;gap:45px;position:relative;z-index:2}.kicker{font-size:12px;font-weight:900;letter-spacing:2px;color:var(--red)}.kicker.blue{color:var(--blue)}.kicker.light{color:#a9d8ff}.hero h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-4px;margin:18px 0 24px}.hero h1 em{font-style:normal;color:var(--navy)}.hero-copy>p{font-size:19px;color:#536071;max-width:650px}.actions{display:flex;gap:12px;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:8px;font-weight:850;transition:.2s}.btn:hover{transform:translateY(-2px)}.red{background:var(--red);color:white}.outline{border:2px solid var(--navy);color:var(--navy)}.yellow{background:var(--yellow);color:#0c2146}.navy{background:var(--navy);color:#fff}.white{background:white;color:var(--navy)}.brand-chips{display:flex;gap:9px;flex-wrap:wrap}.brand-chips span{font-size:12px;font-weight:800;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:white}.hero-visual{position:relative}.hero-visual img{height:550px;width:100%;object-fit:cover;object-position:center;border-radius:28px;box-shadow:0 30px 70px rgba(9,43,95,.2)}.floating{position:absolute;left:-25px;bottom:35px;background:white;border-radius:14px;padding:14px 18px;box-shadow:0 14px 35px rgba(0,0,0,.15);border-left:5px solid var(--red)}.floating b{display:block;color:var(--red);font-size:13px}.floating span{font-weight:800}.intro{padding:100px 0}.section-title{max-width:780px;margin-bottom:45px}.section-title h2,.copy h2,.mills-grid h2,.architecture h2{font-size:clamp(38px,5vw,62px);line-height:1.02;letter-spacing:-2px;margin:12px 0 18px}.section-title p{font-size:18px;color:#667181}.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.brand-card{border:1px solid var(--line);border-radius:22px;padding:28px;min-height:390px;display:flex;flex-direction:column;transition:.2s;overflow:hidden;position:relative}.brand-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(0,0,0,.09)}.brand-card img{height:105px;width:100%;object-fit:contain;margin-bottom:35px}.brand-card h3{font-size:28px;margin:0 0 8px}.brand-card p{color:#667181}.brand-card span{margin-top:auto;font-weight:850;color:var(--navy)}.brand-card.pap{background:#fff8d8;border-top:7px solid var(--red)}.brand-card.wash{background:#eff9ff;border-top:7px solid #12a8ec}.brand-card.mills{border-top:7px solid var(--yellow)}.pap-world{position:relative;overflow:hidden;padding:105px 0;background:var(--navy);color:white}.pap-world:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#2e5da0 1.2px,transparent 1.2px);background-size:16px 16px;opacity:.35}.pap-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px}.pap-logo{width:430px;max-height:170px;object-fit:contain;object-position:left;margin-bottom:20px}.comic-label{display:inline-block;background:var(--yellow);color:var(--navy);font-weight:950;padding:7px 12px;transform:rotate(-1deg);box-shadow:4px 4px 0 var(--red)}.pap-copy h2{font-size:56px;line-height:1;margin:24px 0 18px}.pap-copy p{font-size:18px;color:#d7e5fb}.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.pill-row span{border:1px solid #5476a8;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.bag-stage{height:600px;position:relative}.bag{position:absolute;height:560px;width:285px;object-fit:cover;object-position:top;border-radius:16px;box-shadow:0 25px 55px rgba(0,0,0,.35);border:5px solid white}.bag.front{left:70px;top:0;transform:rotate(-5deg)}.bag.back{right:25px;top:45px;transform:rotate(5deg)}.zap{position:absolute;right:0;top:0;background:var(--red);color:var(--yellow);font-size:40px;font-weight:1000;padding:12px 18px;transform:rotate(8deg);clip-path:polygon(8% 17%,27% 21%,35% 3%,47% 21%,66% 6%,69% 27%,96% 26%,82% 45%,100% 59%,76% 66%,80% 92%,57% 79%,45% 100%,35% 79%,9% 90%,19% 66%,0 55%,20% 43%)}.dispenser{padding:100px 0;background:#f6f8fb}.dispenser-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}.photo-card{position:relative}.photo-card img{height:590px;width:100%;object-fit:cover;border-radius:24px;box-shadow:0 25px 55px rgba(0,0,0,.14)}.photo-tag{position:absolute;left:22px;bottom:22px;background:var(--red);color:white;padding:10px 14px;font-weight:950}.copy>p{font-size:18px;color:#667181}.steps{margin-top:30px}.steps>div{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.steps b{font-size:25px;color:var(--red)}.steps strong,.steps small{display:block}.steps small{color:#77808c}.club{padding:100px 0;background:#fffaf0}.club-head{text-align:center;max-width:800px;margin:0 auto 45px}.club-head h2{font-size:60px;margin:20px 0 8px;color:var(--navy)}.club-head p{font-size:18px;color:#657080}.club-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.club-grid article{background:white;border:1px solid #f0e7d6;border-radius:20px;padding:28px}.club-grid .icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--navy);font-weight:1000;font-size:23px}.club-grid h3{font-size:23px;margin-bottom:8px}.club-grid p{color:#68717c}.concept-row{margin-top:60px;background:white;border-radius:24px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;box-shadow:0 20px 50px rgba(55,43,15,.08)}.concept-row img{height:430px;width:100%;object-fit:cover;object-position:top;border-radius:14px}.concept-row h3{font-size:36px;margin:10px 0}.concept-row p{color:#657080}.text-link{font-weight:900;color:var(--red)}.wash-section{padding:95px 0;background:linear-gradient(120deg,#008fd5,#0752a2);color:white}.wash-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.wash-logo-wrap{background:white;border-radius:26px;padding:55px;box-shadow:0 25px 55px rgba(0,0,0,.18)}.wash-grid h2{font-size:60px;line-height:1;margin:14px 0}.wash-grid p{font-size:18px}.muted-light{color:#d9ecff}.mills-section{padding:90px 0}.mills-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.mills-grid p{font-size:18px;color:#667181}.mills-logo{border:1px solid var(--line);border-radius:22px;padding:60px}.architecture{padding:90px 0;background:#f6f8fb;text-align:center}.domain-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:15px;margin-top:45px}.domain-flow>div{background:white;border:1px solid var(--line);border-radius:18px;padding:25px}.domain-flow .featured{border:3px solid var(--red);transform:scale(1.04)}.domain-flow b,.domain-flow span,.domain-flow small{display:block}.domain-flow b{font-size:20px;color:var(--navy)}.domain-flow span{font-weight:850;margin:7px 0}.domain-flow small{color:#77808c}.domain-flow i{font-style:normal;font-size:28px;color:var(--blue)}.contact{padding:95px 0;background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact h2{font-size:55px;line-height:1;margin:14px 0}.contact p{color:#d5e3f5;font-size:18px}.contact-note{margin-top:30px;border-left:4px solid var(--yellow);padding-left:15px;color:#bcd0eb;font-size:13px}.contact form{background:white;color:var(--ink);padding:28px;border-radius:20px}.contact label{display:block;font-size:12px;font-weight:850;margin-bottom:14px}.contact input,.contact select,.contact textarea{width:100%;border:1px solid #ccd5e1;border-radius:8px;padding:12px;margin-top:6px;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-note{display:block;margin-top:10px;color:#47715a}.footer{min-height:140px;display:grid;grid-template-columns:220px 1fr auto;gap:35px;align-items:center}.footer img{width:205px;max-height:48px;object-fit:contain}.footer div{display:flex;gap:18px;font-size:13px;font-weight:800}.footer small{color:#7a8490}@media(max-width:900px){.nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:22px;flex-direction:column;box-shadow:0 12px 30px rgba(0,0,0,.12)}.nav.open{display:flex}.menu-btn{display:block;border:0;background:var(--navy);color:white;border-radius:7px;padding:10px 14px}.hero-grid,.pap-grid,.dispenser-grid,.wash-grid,.mills-grid,.contact-grid,.concept-row{grid-template-columns:1fr}.hero-grid{padding:70px 0}.hero h1{letter-spacing:-2px}.hero-visual img{height:430px}.brand-grid,.club-grid{grid-template-columns:1fr}.bag-stage{height:520px}.bag{height:470px;width:240px}.domain-flow{grid-template-columns:1fr}.domain-flow i{transform:rotate(90deg)}.footer{grid-template-columns:1fr;padding:35px 0}.footer div{flex-wrap:wrap}.form-row{grid-template-columns:1fr}}@media(max-width:560px){.container{width:min(100% - 24px,var(--max))}.site-header{height:70px}.brand img{width:175px}.nav{top:70px}.hero h1{font-size:47px}.actions{flex-direction:column}.hero-visual img{height:340px}.floating{left:10px;bottom:15px}.pap-copy h2,.club-head h2,.wash-grid h2,.contact h2{font-size:42px}.bag-stage{height:430px}.bag{height:390px;width:195px}.bag.front{left:5px}.bag.back{right:5px}.zap{font-size:24px}.photo-card img{height:420px}.concept-row img{height:330px}.wash-logo-wrap,.mills-logo{padding:30px}}


/* v3.3 motion & polish pass */
@keyframes heroCopyIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes heroVisualIn{from{opacity:0;transform:translateX(28px) scale(.985)}to{opacity:1;transform:none}}
@keyframes floatCardIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes heroBreath{0%,100%{transform:scale(1.015)}50%{transform:scale(1.045)}}
@keyframes zapPulse{0%,100%{transform:rotate(8deg) scale(1)}50%{transform:rotate(6deg) scale(1.045)}}

.hero-copy{animation:heroCopyIn .8s cubic-bezier(.2,.75,.25,1) both}
.hero-copy .kicker{animation:heroCopyIn .6s .05s cubic-bezier(.2,.75,.25,1) both}
.hero-copy h1{animation:heroCopyIn .75s .12s cubic-bezier(.2,.75,.25,1) both}
.hero-copy>p{animation:heroCopyIn .75s .2s cubic-bezier(.2,.75,.25,1) both}
.hero-copy .actions{animation:heroCopyIn .75s .28s cubic-bezier(.2,.75,.25,1) both}
.hero-copy .brand-chips{animation:heroCopyIn .75s .36s cubic-bezier(.2,.75,.25,1) both}
.hero-visual{animation:heroVisualIn .95s .16s cubic-bezier(.2,.75,.25,1) both;overflow:visible}
.hero-visual img{will-change:transform;animation:heroBreath 14s ease-in-out 1.2s infinite;transition:box-shadow .35s ease}
.hero-visual:hover img{box-shadow:0 34px 80px rgba(9,43,95,.26)}
.floating{animation:floatCardIn .65s .72s cubic-bezier(.2,.75,.25,1) both;transition:transform .25s ease,box-shadow .25s ease}
.hero-visual:hover .floating{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.18)}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.75,.25,1),transform .7s cubic-bezier(.2,.75,.25,1)}
.reveal.reveal-left{transform:translateX(-28px)}
.reveal.reveal-right{transform:translateX(28px)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}

.brand-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.brand-card:hover{transform:translateY(-8px);box-shadow:0 24px 54px rgba(9,43,95,.13)}
.brand-card img{transition:transform .3s ease}
.brand-card:hover img{transform:scale(1.035)}

.pap-world .comic-burst{pointer-events:none}
.bag{transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease}
.bag-stage:hover .bag.front{transform:rotate(-7deg) translate(-8px,-8px)}
.bag-stage:hover .bag.back{transform:rotate(7deg) translate(8px,4px)}
.bag-stage:hover .bag{box-shadow:0 32px 68px rgba(0,0,0,.42)}
.zap{animation:zapPulse 3.8s ease-in-out infinite;transition:filter .25s ease}
.bag-stage:hover .zap{filter:drop-shadow(0 8px 12px rgba(0,0,0,.28))}

.photo-card{overflow:hidden;border-radius:24px}
.photo-card img{transition:transform 8s ease,filter .35s ease}
.photo-card.is-visible img{transform:scale(1.035)}
.photo-card:hover img{transform:scale(1.06)}

.club-grid article{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.club-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(55,43,15,.1);border-color:#ead99c}
.club-grid .icon{transition:transform .3s cubic-bezier(.2,.75,.25,1)}
.club-grid article:hover .icon{transform:rotate(-5deg) scale(1.08)}

.wash-logo-wrap,.mills-logo,.concept-row{transition:transform .3s ease,box-shadow .3s ease}
.wash-logo-wrap:hover,.mills-logo:hover,.concept-row:hover{transform:translateY(-5px);box-shadow:0 28px 60px rgba(0,0,0,.14)}

.btn{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(11,50,116,.14);filter:saturate(1.04)}
.nav a:not(.nav-cta){position:relative}
.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--blue);transition:right .22s ease}
.nav a:not(.nav-cta):hover:after{right:0}

@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important}
 .reveal{opacity:1!important;transform:none!important}
 .hero-visual img,.photo-card img{transform:none!important}
}

/* Website submissions stay within the supplied RetailPower design. */
.website-registration{border-top:1px solid rgba(255,255,255,.2)}
.website-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact .website-consent{display:flex;align-items:flex-start;gap:12px}
.contact .website-consent input{width:20px;height:20px;flex:none;margin-top:3px}
.contact [hidden]{display:none!important}
.contact [aria-invalid="true"]{outline:2px solid #ffcf55}
.contact .website-field-error{display:block;color:#a3151c;font-size:.85rem;margin-top:4px}
.contact button:disabled{opacity:.65;cursor:wait}
.contact form{min-width:0}.contact input,.contact textarea,.contact select{max-width:100%;box-sizing:border-box}

.contact form [data-form-status]{color:var(--navy);font-size:15px;font-weight:600;overflow-wrap:anywhere}
.contact .text-link{color:var(--yellow)}
