:root{--green:#72b62b;--green-dark:#315f19;--ink:#161a16;--muted:#5d665d;--paper:#f7f8f4;--line:#dfe4dc;--white:#fff;--shadow:0 18px 50px rgba(20,35,15,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.55}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 40px));margin:auto}.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,228,220,.85)}.navin{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:24px;letter-spacing:-.04em}.brandmark{width:34px;height:34px;border-radius:50% 50% 50% 12%;background:var(--green);transform:rotate(-15deg);position:relative}.brandmark:after{content:"";position:absolute;width:18px;height:3px;background:#fff;left:8px;top:16px;transform:rotate(15deg);border-radius:5px}.navlinks{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700}.navlinks a:hover{color:var(--green-dark)}.lang{border:1px solid var(--line);padding:8px 11px;border-radius:999px}.menu{display:none;border:0;background:none;font-size:28px}.hero{background:linear-gradient(180deg,#f4f7ef 0%,#fff 100%);padding:72px 0 54px}.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:58px}.eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:900;color:var(--green-dark)}h1{font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:14px 0 24px;max-width:800px}h2{font-size:clamp(34px,4vw,54px);line-height:1.04;letter-spacing:-.045em;margin:0 0 18px}h3{font-size:22px;line-height:1.15;letter-spacing:-.025em;margin:0 0 10px}.lead{font-size:20px;color:var(--muted);max-width:650px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:10px;font-weight:850;border:1px solid var(--ink);transition:.2s}.btn.primary{background:var(--ink);color:white}.btn.secondary{background:white}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.hero-img{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.hero-img img{width:100%;aspect-ratio:1.22/1;object-fit:cover}.trustrow{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:#495149;font-size:14px;font-weight:700}.trustrow span:before{content:"✓";color:var(--green-dark);font-weight:900;margin-right:7px}.section{padding:92px 0}.soft{background:var(--paper)}.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:center;margin:44px auto 0;max-width:900px}.flowbox{background:white;border:1px solid var(--line);border-radius:18px;padding:28px 18px;text-align:center;font-weight:900;font-size:20px;box-shadow:0 8px 24px rgba(30,50,20,.05)}.arrow{font-size:34px;color:var(--green)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.step{border:1px solid var(--line);border-radius:20px;padding:28px;background:white}.num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-weight:900;margin-bottom:22px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.feature-img{border-radius:22px;overflow:hidden;background:#f0f1ed;box-shadow:var(--shadow)}.feature-img img{width:100%;height:100%;object-fit:cover}.bullets{display:grid;gap:14px;margin-top:28px}.bullet{display:grid;grid-template-columns:32px 1fr;gap:12px}.check{width:28px;height:28px;border-radius:50%;background:#e6f2da;display:grid;place-items:center;color:var(--green-dark);font-weight:900}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white}.card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee}.cardbody{padding:22px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px}.comparebox{border-radius:22px;padding:32px;border:1px solid var(--line);background:white}.comparebox.good{border:2px solid var(--green)}.compareline{padding:13px 0;border-bottom:1px solid var(--line);font-weight:700}.compareline:last-child{border:0}.compat{background:#182019;color:white;border-radius:28px;padding:52px;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}.compat .lead{color:#cbd4ca}.compat img{border-radius:18px}.included{display:grid;grid-template-columns:.95fr 1.05fr;gap:50px;align-items:center}.faq{max-width:860px;margin:38px auto 0}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:18px;font-weight:850;cursor:pointer}.faq p{color:var(--muted);margin:12px 0 0}.retailers{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}.retailer{border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:white}.retailer strong{font-size:22px}.small{font-size:14px;color:var(--muted)}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.support-card{border:1px solid var(--line);border-radius:18px;padding:26px}.video{aspect-ratio:16/9;border-radius:22px;background:linear-gradient(135deg,#263326,#101510);display:grid;place-items:center;color:white;margin-top:38px}.play{width:74px;height:74px;border-radius:50%;background:white;color:var(--ink);display:grid;place-items:center;font-size:28px;padding-left:5px}.footer{background:#101510;color:white;padding:52px 0 30px}.footergrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer a{color:#cbd4ca}.footerlinks{display:grid;gap:9px}.copyright{border-top:1px solid #2d352e;margin-top:38px;padding-top:22px;color:#8f9a90;font-size:13px}.notice{font-size:13px;color:var(--muted);margin-top:14px}.mobile-only{display:none}@media(max-width:900px){.navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.menu{display:block}.hero{padding-top:44px}.hero-grid,.grid2,.compat,.included{grid-template-columns:1fr}.hero-grid{gap:34px}.hero-copy{order:1}.hero-img{order:2}.flow{grid-template-columns:1fr}.arrow{transform:rotate(90deg)}.steps,.cards,.support-grid{grid-template-columns:1fr}.compare,.retailers{grid-template-columns:1fr}.compat{padding:32px}.section{padding:70px 0}.footergrid{grid-template-columns:1fr}.mobile-only{display:block}}@media(max-width:520px){.container{width:min(100% - 28px,1160px)}h1{font-size:44px}.lead{font-size:18px}.hero-img{border-radius:18px}.buttons .btn{width:100%}.section{padding:58px 0}.retailer{align-items:flex-start;flex-direction:column}.compat{border-radius:20px;padding:26px}}
/* Refinements */
.skip-link{position:fixed;left:16px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:12px 16px;border-radius:8px;font-weight:800}.skip-link:focus{top:16px}
.navin{height:72px}.navlinks{gap:20px}.navlinks .nav-buy{background:var(--ink);color:#fff;padding:10px 15px;border-radius:9px}.navlinks .nav-buy:hover{color:#fff;background:var(--green-dark)}
.hero{padding:64px 0 62px}.hero-grid{grid-template-columns:.92fr 1.08fr;gap:52px}.hero-copy .lead{max-width:600px}.hero-img img{aspect-ratio:1.25/1}.outcome-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.outcomes{min-height:76px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.outcome{text-align:center;font-weight:850;padding:12px 22px;border-right:1px solid var(--line)}.outcome:last-child{border-right:0}.outcome span{display:block;color:var(--green-dark);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
.section-intro{max-width:760px;margin-left:auto;margin-right:auto}.step,.card,.support-card,.retailer,.comparebox{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.step:hover,.card:hover,.support-card:hover,.retailer:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(20,35,15,.08);border-color:#cbd5c7}
.cardbody p,.step p,.support-card p{color:var(--muted);margin-bottom:0}.compat{box-shadow:0 22px 60px rgba(16,25,16,.16)}.compat img{background:#fff}.retailer span{font-weight:850}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:26px;color:var(--green-dark);font-weight:600;line-height:1}.faq details[open] summary:after{content:"–"}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px;border-radius:6px}.menu{cursor:pointer;color:var(--ink)}
.launch-note{max-width:760px;margin:28px auto 0;text-align:center;color:var(--muted);font-size:14px}
@media(max-width:900px){.navin{height:68px}.navlinks{top:68px;padding:22px 20px 26px;box-shadow:0 18px 28px rgba(0,0,0,.08)}.navlinks .nav-buy{width:100%;text-align:center}.hero{padding:38px 0 44px}.outcomes{grid-template-columns:1fr}.outcome{border-right:0;border-bottom:1px solid var(--line);padding:14px}.outcome:last-child{border-bottom:0}.hero-img img{aspect-ratio:1.25/1}.trustrow{gap:12px 16px}.section{padding:66px 0}}
@media(max-width:520px){.brand{font-size:21px}.brandmark{width:30px;height:30px}h1{font-size:42px;line-height:1.01}.hero-copy .lead{font-size:17px}.trustrow{font-size:13px}.flowbox{padding:22px 16px}.cardbody{padding:18px}.comparebox{padding:24px}.section{padding:54px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Assembly video */
.video-embed{width:min(960px,100%);margin:40px auto 0;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#101510;box-shadow:var(--shadow)}
.video-embed iframe{display:block;width:100%;height:100%;border:0}
.video-embed+.support-grid{margin-top:28px}
@media(max-width:520px){.video-embed{margin-top:30px;border-radius:14px}}

/* French hero typography — keep the longer headline balanced */
html[lang="fr-CA"] .hero-grid{grid-template-columns:1fr 1.08fr;gap:58px}
html[lang="fr-CA"] .hero-copy h1{font-size:clamp(44px,4.45vw,66px);line-height:1.01;letter-spacing:-.045em;max-width:650px}
html[lang="fr-CA"] .hero-copy .lead{max-width:620px}
@media(max-width:1100px) and (min-width:901px){
  html[lang="fr-CA"] .hero-copy h1{font-size:clamp(42px,5vw,56px)}
}
@media(max-width:900px){
  html[lang="fr-CA"] .hero-grid{grid-template-columns:1fr;gap:34px}
  html[lang="fr-CA"] .hero-copy h1{font-size:clamp(42px,9vw,58px);max-width:720px}
}
@media(max-width:520px){
  html[lang="fr-CA"] .hero-copy h1{font-size:40px;line-height:1.02}
}

/* How It Works — final production rules */
#how .flow{align-items:stretch}
#how .flowbox{display:flex;min-height:0;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;overflow:hidden}
#how .flow-image-frame{width:100%;display:flex;align-items:center;justify-content:center;overflow:visible;background:transparent}
#how .flow-photo,#how .blower-photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;border-radius:0}
#how .flowbox span{display:block;margin-top:auto;line-height:1.2}
#how .step{display:flex;flex-direction:column;overflow:hidden;text-align:center}
#how .step-top{width:100%;display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;background:transparent}
#how .step-top .num{position:static;justify-self:start;z-index:2;box-shadow:none}
#how .step-photo,#how .step-connect,#how .step-vacuum,#how .step-bags{display:block;justify-self:center;max-width:100%;object-fit:contain;object-position:center;transform:none;border-radius:0}
#how .step h3,#how .step p{text-align:center}
@media(min-width:901px){
  #how .flow{max-width:980px;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr) 46px minmax(0,1fr);gap:16px;margin-top:38px}
  #how .flowbox{width:100%;height:238px;padding:18px}
  #how .flow-image-frame{height:158px}
  #how .arrow{align-self:center;font-size:32px}
  #how .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px;align-items:stretch}
  #how .step{height:100%;padding:16px 16px 20px}
  #how .step-top{height:278px;grid-template-rows:42px 226px;row-gap:10px;margin:0 0 18px}
  #how .step-top .num{width:42px;height:42px;margin:0}
  #how .step-photo,#how .step-connect,#how .step-vacuum,#how .step-bags{width:auto;height:226px;max-height:226px;margin:0 auto}
  #how .step h3{margin:0 0 10px}
  #how .step p{margin:0 auto;max-width:92%}
}
@media(max-width:900px){
  #how .flowbox{padding:18px 16px}
  #how .flow-image-frame{height:150px}
  #how .steps{align-items:start}
  #how .step{padding:16px 16px 20px}
  #how .step-top{height:auto;grid-template-rows:42px auto;row-gap:10px;margin:0 0 18px}
  #how .step-top .num{margin:0}
  #how .step-photo,#how .step-connect,#how .step-vacuum,#how .step-bags{width:100%;height:auto;margin:0 auto}
}
@media(max-width:520px){#how .flow-image-frame{height:132px}}


/* Approved feature graphics: show the complete image without cropping */
.card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:contain;
  object-position:center;
  background:#fff;
  padding:10px;
}

/* Contact / support pages */
.contact-hero{padding:72px 0;background:linear-gradient(180deg,#f4f7ef 0%,#fff 100%)}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:start}
.contact-copy h1{font-size:clamp(44px,6vw,68px);margin-bottom:22px}
.contact-copy .lead{max-width:520px}
.contact-meta{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.contact-meta a{font-weight:850;color:var(--green-dark)}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:7px;text-align:left}
.field.full{grid-column:1/-1}
.field label{font-size:14px;font-weight:850}
.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #cfd6cb;border-radius:10px;padding:12px 13px;outline:none}
.field textarea{min-height:170px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px rgba(114,182,43,.14)}
.form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}
.form-note{font-size:13px;color:var(--muted);margin:0}
.honeypot{display:none!important}
.thanks-wrap{min-height:60vh;display:grid;place-items:center;padding:70px 0}
.thanks-card{max-width:700px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:46px;box-shadow:var(--shadow)}
.thanks-card .checkbig{width:60px;height:60px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:#e6f2da;color:var(--green-dark);font-size:30px;font-weight:900}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .contact-hero{padding:48px 0 58px}
}
@media(max-width:600px){
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .contact-form{padding:22px}
  .thanks-card{padding:32px 22px}
}


/* Make assembly video the primary post-purchase task */
.navlinks .nav-assembly{
  background:#e9f5dc;
  color:var(--green-dark);
  padding:9px 14px;
  border-radius:999px;
  font-weight:900;
}
.navlinks .nav-assembly:hover{background:#dcedca;color:var(--green-dark)}
.assembly-cta{background:var(--green-dark)!important;border-color:var(--green-dark)!important}
.owner-shortcut{background:var(--green-dark);color:#fff}
.owner-shortcut-inner{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:16px}
.owner-shortcut strong{font-size:18px}
.owner-shortcut a{font-weight:900;text-decoration:underline;text-underline-offset:4px}
.assembly-feature{padding:72px 0 82px;background:#fff}
.assembly-intro{max-width:760px;margin:0 auto}
.assembly-intro .lead{margin-left:auto;margin-right:auto}
.assembly-feature .video-embed{margin-top:32px}
.assembly-under-video{text-align:center;margin-top:18px}
.text-link{font-weight:850;color:var(--green-dark)}
.support-card.support-primary{border:2px solid var(--green);background:#fbfff7}
.assembly-page{min-height:calc(100vh - 72px);padding:68px 0 80px;background:linear-gradient(180deg,#f4f7ef 0%,#fff 72%)}
.assembly-page h1{max-width:none;text-align:center}
.assembly-page-video{margin-top:34px}
.assembly-page-actions{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:26px}
@media(max-width:900px){
  .navlinks .nav-assembly{width:100%;text-align:center}
  .owner-shortcut-inner{padding:14px 0;align-items:flex-start;flex-direction:column;gap:6px}
  .assembly-feature{padding:54px 0 62px}
  .assembly-page{padding:48px 0 64px}
}
@media(max-width:520px){
  .owner-shortcut span{display:block}
  .assembly-feature .video-embed{margin-top:24px}
  .assembly-page-actions{align-items:stretch;flex-direction:column}
  .assembly-page-actions .btn{width:100%}
}


/* Keep the two hero actions side by side on desktop and tablet */
.hero-copy .buttons{
  flex-wrap:nowrap;
}
.hero-copy .buttons .btn{
  white-space:nowrap;
  padding-left:16px;
  padding-right:16px;
  font-size:15px;
}
@media(max-width:520px){
  .hero-copy .buttons{
    flex-wrap:wrap;
  }
  .hero-copy .buttons .btn{
    width:100%;
  }
}

/* Production hardening */
html{scroll-padding-top:92px}
section[id],main[id]{scroll-margin-top:92px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,.btn,.navlinks a,.support-card{touch-action:manipulation}
.navlinks a[aria-current="page"]{color:var(--green-dark)}
.navlinks .nav-assembly[aria-current="page"]{box-shadow:inset 0 0 0 1px rgba(49,95,25,.22)}
.footerlinks a:hover{color:#fff}
.field-help{font-size:13px;color:var(--muted)}
.optional{font-weight:600;color:var(--muted)}
.field input[type="file"]{padding:10px;background:#fbfcf9}
.btn:disabled{opacity:.65;cursor:wait;transform:none;box-shadow:none}
.simple-nav .navin{justify-content:flex-start}
.thanks-wrap,.not-found{min-height:58vh;display:grid;place-items:center;padding:72px 0;background:linear-gradient(180deg,#f4f7ef 0%,#fff 100%)}
.thanks-card h1{font-size:clamp(40px,5vw,56px);max-width:none;margin-bottom:18px}
.thanks-actions{justify-content:center}
.not-found .thanks-card{max-width:720px}
@media(max-width:1100px) and (min-width:901px){
  .navlinks{gap:14px;font-size:13px}
  .navlinks .nav-assembly{padding:8px 12px}
  .brand-logo{height:58px;max-width:240px}
}
@media(max-width:900px){
  html{scroll-padding-top:78px}
  section[id],main[id]{scroll-margin-top:78px}
  .navlinks{max-height:calc(100vh - 68px);overflow-y:auto}
  .navlinks a{width:100%;padding:7px 0}
  .lang{width:auto!important}
}
@media(max-width:520px){
  .thanks-wrap,.not-found{padding:54px 0}
  .thanks-actions{flex-direction:column}
  .thanks-actions .btn{width:100%}
}

/* Official Leaf Vac logo */
.brand{display:inline-flex;align-items:center;line-height:1}
.brand-logo{display:block;width:auto;height:72px;max-width:280px;object-fit:contain}
.footer-logo{height:84px;max-width:320px}
.brandmark{display:none!important}
@media(max-width:520px){
  .brand-logo{height:60px;max-width:240px}
  .footer-logo{height:72px;max-width:280px}
}

