
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/manrope-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/manrope-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/manrope-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/manrope-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../assets/manrope-4.ttf) format('truetype');
}

    /* BRAND TOKENS — change these to adjust the entire homepage. */
    :root {
      --green: var(--wp--preset--color--enosis-green, #005132);
      --green-dark: var(--wp--preset--color--green-dark, #003d29);
      --ink: var(--wp--preset--color--ink, #14392c);
      --lime: var(--wp--preset--color--lime, #d3ee93);
      --mint: var(--wp--preset--color--mint, #edf5ef);
      --paper: var(--wp--preset--color--paper, #ffffff);
      --muted: var(--wp--preset--color--muted, #58695f);
      --line: var(--wp--preset--color--line, #dce5de);
      --font: var(--wp--preset--font-family--manrope, 'Manrope', sans-serif);
      --radius: 22px;
      --container: 1280px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 112px; }
    body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
    body.menu-open { overflow: hidden; }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    button { color: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { cursor: pointer; }
    img { max-width: 100%; display: block; }
    svg { flex: none; }
    h1, h2, h3, p { margin: 0; }
    h1, h2, h3 { font-weight: 650; }
    a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid #538323; outline-offset: 5px; border-radius: 4px; }
    .on-dark a:focus-visible, .on-dark button:focus-visible, .on-dark summary:focus-visible { outline-color: var(--lime); }
    .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; }
    .skip-link { position: fixed; left: 16px; top: -100px; padding: 12px 20px; background: var(--lime); z-index: 100; color: var(--green); border-radius: 8px; }
    .skip-link:focus { top: 16px; }
    .container { width: min(var(--container), calc(100% - 112px)); margin-inline: auto; }
    .eyebrow { font-size: .8125rem; font-weight: 750; letter-spacing: .135em; text-transform: uppercase; line-height: 1.5; }
    .section-heading { font-size: clamp(2.3rem, 3.7vw, 3.5rem); line-height: 1.12; letter-spacing: -.047em; }
    .section-heading .soft { color: #6b8c78; }
    .arrow { width: 21px; height: 21px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
    .link-arrow { display: inline-flex; align-items: center; gap: 12px; font-size: .9375rem; font-weight: 700; }
    .link-arrow .arrow { transition: transform .22s ease; }
    .link-arrow:hover .arrow { transform: translateX(4px); }
    .link-arrow .label { border-bottom: 1px solid transparent; }
    .link-arrow:hover .label { border-bottom-color: currentColor; }
    .button { min-height: 54px; max-width: 100%; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 14px 24px; border-radius: 100px; border: 1px solid transparent; font-weight: 750; font-size: .9375rem; transition: background .2s ease, color .2s ease, transform .2s ease; }
    .button:hover { transform: translateY(-2px); }
    .button-lime { background: var(--lime); color: var(--green-dark); }
    .button-lime:hover { background: #e0f5b1; }
    .button-green { background: var(--green); color: white; }
    .button-green:hover { background: var(--green-dark); }
    .button-outline { border-color: #a8beb0; }
    .button-outline:hover { background: var(--mint); }
    .round-arrow { width: 47px; height: 47px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; transition: color .22s, background .22s, transform .22s; }
    .round-arrow .arrow { width: 20px; height: 20px; }
    .utility { height: 35px; background: var(--green); color: white; font-size: .75rem; }
    .utility-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
    .utility-message { letter-spacing: .05em; }
    .utility-links { display: flex; align-items: center; gap: 24px; }
    .utility-links a { min-height: 32px; display: inline-flex; align-items: center; gap: 7px; }
    .utility-links a:hover { color: var(--lime); }
    .utility-links .arrow { height: 13px; width: 13px; }
    .site-header { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.97); border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s; }
    .site-header.scrolled { border-bottom-color: var(--line); box-shadow: 0 4px 28px #003d2907; }
    .header-inner { height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
    .brand-home { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
    .brand-home img { width: 58px; height: 58px; object-fit: contain; }
    .brand-wordmark { font-size: 1.35rem; letter-spacing: .045em; line-height: 1.1; font-weight: 800; }
    .brand-wordmark small { display: block; font-size: .625rem; letter-spacing: .39em; font-weight: 650; margin-top: 7px; }
    .desktop-nav { display: flex; gap: clamp(22px, 2.5vw, 38px); margin-left: auto; align-items: center; }
    .desktop-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; font-weight: 650; position: relative; }
    .desktop-nav a::after { content: ''; position: absolute; bottom: 3px; left: 0; right: 0; height: 2px; background: var(--green); transform: scaleX(0); transform-origin: left; transition: transform .22s; }
    .desktop-nav a:hover::after, .desktop-nav a[aria-current="location"]::after { transform: scaleX(1); }
    .header-contact { min-height: 45px; font-size: .8125rem; padding: 10px 18px; margin-left: 18px; gap: 17px; }
    .menu-button { display: none; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; background: white; }
    .menu-button svg { width: 22px; height: 22px; stroke: var(--green); stroke-width: 1.5; fill: none; }
    .site-footer { background: var(--green); color: white; padding: 57px 0 22px; }
    .footer-top { display: grid; grid-template-columns: 1.45fr .75fr 1fr 1.1fr; gap: 50px; }
    .footer-brand .brand-home img { filter: brightness(0) invert(1); }
    .footer-brand .brand-wordmark { font-size: 1.45rem; }
    .footer-brand > p { color: #cbded0; font-size: .9375rem; margin-top: 24px; max-width: 200px; }
    .footer-title { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 750; margin-bottom: 19px; color: var(--lime); }
    .footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
    .footer-links a { font-size: .8125rem; padding-block: 3px; color: #e1ebe1; }
    .footer-links a:hover { text-decoration: underline; text-underline-offset: 5px; }
    .footer-contact { color: #e1ebe1; font-size: .8125rem; line-height: 1.8; }
    .footer-contact address { font-style: normal; margin-bottom: 15px; }
    .footer-contact > a { display: block; padding-block: 3px; }
    .footer-contact > a:hover { text-decoration: underline; text-underline-offset: 4px; }
    .footer-social { margin-top: 16px; display: inline-flex; font-size: .8125rem; align-items: center; gap: 12px; }
    .footer-social .social-mark { border: 1px solid #85a28e; border-radius: 50%; width: 34px; height: 34px; display: grid; place-items: center; font-weight: 800; font-family: Arial, sans-serif; }
    .footer-bottom { display: flex; justify-content: space-between; gap: 24px; align-items: center; border-top: 1px solid #749c8166; margin-top: 49px; padding-top: 23px; font-size: .75rem; color: #c3d8c9; }
    .back-to-top { display: inline-flex; align-items: center; gap: 12px; min-height: 35px; }
    .back-to-top svg { width: 16px; height: 16px; transform: rotate(-90deg); }
    .back-to-top:hover { color: white; }
    .mobile-dialog { width: 100%; max-width: none; max-height: 100dvh; height: 100dvh; margin: 0; border: 0; padding: 27px; background: var(--green-dark); color: white; }
    .mobile-dialog::backdrop { background: #003d2977; }
    .mobile-dialog-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px; }
    .mobile-dialog .brand-home img { filter: brightness(0) invert(1); }
    .close-menu { width: 46px; height: 46px; border: 1px solid #719d84; border-radius: 50%; background: transparent; color: white; display: grid; place-items: center; }
    .close-menu svg { width: 19px; height: 19px; stroke: currentColor; stroke-width: 1.5; }
    .mobile-links { display: flex; flex-direction: column; }
    .mobile-links a { padding-block: 15px; border-bottom: 1px solid #73978366; font-size: clamp(1.4rem, 5.7vw, 2rem); letter-spacing: -.035em; display: flex; justify-content: space-between; align-items: center; }
    .mobile-links a:hover { color: var(--lime); }
    .mobile-dialog .button { margin-top: 34px; }
    .mobile-dialog-note { font-size: .8125rem; color: #c4d7c9; margin-top: 30px; }


    [hidden] { display: none !important; }
    .desktop-nav { gap: clamp(15px, 1.7vw, 25px); }
    .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
    .breadcrumb { display: flex; gap: 11px; align-items: center; font-size: .8125rem; color: var(--muted); padding: 22px 0; }
    .breadcrumb a:hover { text-decoration: underline; text-underline-offset: 4px; }
    .breadcrumb .arrow { width: 12px; height: 12px; }
    .page-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding: 19px 0 42px; }
    .page-intro .eyebrow { color: var(--green); font-size: .75rem; margin-bottom: 17px; }
    .page-intro h1 { font-size: clamp(3.4rem,5.5vw,5.25rem); line-height: 1.03; letter-spacing: -.06em; font-weight: 600; }
    .page-intro > p { max-width: 370px; color: var(--muted); font-size: 1rem; line-height: 1.8; padding-bottom: 5px; }
    .footer-links a, .footer-contact, .footer-social { font-size: .875rem; }
    @media (max-width: 1200px) {
      .container { width: calc(100% - 72px); }
      .header-inner { gap: 15px; }
      .header-contact { margin-left: 0; }
      .footer-top { gap: 30px; }
    }
    @media (max-width: 1023px) {
      .desktop-nav, .header-contact { display: none; }
      .menu-button { display: flex; }
      .header-inner { height: 82px; }
    }
    @media (max-width: 850px) {
      .page-intro { align-items: flex-start; flex-direction: column; gap: 22px; }
      .page-intro > p { max-width: 540px; }
      .footer-top { grid-template-columns: 1.1fr 1fr 1fr; gap: 28px; }
      .footer-contact-column { grid-column: 1 / -1; padding-top: 24px; border-top: 1px solid #749c8166; }
      .footer-contact { display: flex; gap: 30px; flex-wrap: wrap; }
    }
    @media (max-width: 600px) {
      .container { width: calc(100% - 40px); }
      .utility { height: 31px; }
      .utility-inner { justify-content: center; }
      .utility-links { display: none; }
      .utility-message { font-size: .75rem; letter-spacing: 0; }
      .header-inner { height: 73px; }
      .brand-home img { width: 48px; height: 48px; }
      .brand-wordmark { font-size: 1.15rem; }
      .brand-wordmark small { font-size: .625rem; }
      .breadcrumb { padding-block: 17px; }
      .page-intro { padding: 17px 0 29px; gap: 20px; }
      .page-intro h1 { font-size: clamp(2.8rem,12vw,4rem); }
      .page-intro .eyebrow { margin-bottom: 13px; }
      .site-footer { padding-top: 34px; }
      .footer-top { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
      .footer-brand { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 17px; }
      .footer-brand .brand-wordmark { font-size: 1.15rem; }
      .footer-brand > p { margin: 0; font-size: .8125rem; max-width: 128px; }
      .footer-contact { display: block; }
      .footer-title { font-size: .75rem; margin-bottom: 13px; }
      .footer-links a { padding-block: 4px; }
      .footer-bottom { align-items: flex-start; margin-top: 28px; gap: 13px; }
      .footer-bottom > p { max-width: 175px; }
      .back-to-top { font-size: .75rem; white-space: nowrap; gap: 6px; }
    }
    @media (max-width: 370px) { .footer-brand { align-items: flex-start; flex-direction: column; } }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition: none !important; animation: none !important; }
    }
    @media print {
      .utility, .site-header, dialog, .back-to-top { display: none !important; }
      .container { width: 100%; }
      * { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    }


/* Olly: the supplied brand palette, mascot and Baloo 2 typography. */
@font-face{font-family:'Baloo 2';src:url('../assets/baloo2-variable.ttf') format('truetype');font-weight:400 800;font-display:swap}
html:has(.ol){scroll-padding-top:115px}.ol{--green:#00853f;--ink:#063c26;--yellow:#efbc1f;--pink:#f7d6e1;--cream:#f7f4e9;color:var(--ink);background:var(--cream);overflow:clip}.ol *{box-sizing:border-box}.ol h1,.ol h2,.ol h3,.ol .ol-handwritten,.ol .ol-sticker,.ol .ol-hello,.ol .ol-equation,.ol .ol-ribbon,.ol .ol-benefit-tab,.ol .ol-badge,.ol .ol-product-note,.ol .ol-quantity{font-family:'Baloo 2',sans-serif}.ol h1,.ol h2,.ol h3,.ol p,.ol figure{margin:0}.ol h1{font-size:clamp(54px,5.3vw,86px);line-height:1.02;font-weight:800;letter-spacing:-2px}.ol h2{font-size:clamp(42px,4.6vw,70px);line-height:1.04;letter-spacing:-1.5px;font-weight:800}.ol h3{font-size:42px;line-height:1.1}.ol h2 span{color:var(--green)}.ol-wrap{width:min(1380px,calc(100% - 100px));margin:auto}.ol-eyebrow{font:750 11px/1.6 Manrope,sans-serif;letter-spacing:2px}.ol-body,.ol-lead{font-size:17px;line-height:1.85}.ol a{text-decoration:none}.ol a:focus-visible,.ol button:focus-visible,.ol summary:focus-visible{outline:3px solid #ff4b2e;outline-offset:6px}.ol-button{display:inline-flex;justify-content:space-between;gap:25px;align-items:center;padding:18px 25px;border-radius:99px;background:var(--yellow);color:var(--ink);font:800 14px Manrope,sans-serif;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s}.ol-button:hover{transform:translateY(-3px);box-shadow:0 7px 0 #063c261a}.ol-button span{font-size:21px}.ol-text-link{display:inline-flex;gap:18px;align-items:center;font-size:13px;font-weight:800;color:inherit;border-bottom:1px solid currentColor;padding:12px 0}.ol-hero{background:var(--green);color:white;position:relative;padding:30px 0 25px}.ol-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}.ol-crumb{color:#fff9;font-size:11px;display:block;margin-bottom:25px}.ol-logo{width:150px;height:85px;object-fit:contain;object-position:left;margin-bottom:24px}.ol-hero-copy>.ol-eyebrow{color:var(--yellow);margin-bottom:15px}.ol-hero h1 span{color:var(--yellow)}.ol-lead{max-width:470px;margin-top:24px!important;color:#ffffffd6}.ol-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:26px}.ol-hero-art{position:relative;padding:30px 0 20px;perspective:1000px}.ol-mascot-stage{background:white;border-radius:48% 48% 43% 43%;overflow:hidden;transform:rotate(-4deg);box-shadow:15px 20px 0 #00592d;transition:transform .5s;max-width:490px;margin:auto}.ol-mascot{display:block;width:100%;height:auto;transform:rotate(4deg) scale(.94);transition:transform .4s}.ol-hero-art:hover .ol-mascot{transform:rotate(1deg) scale(.96)}.ol-hello{position:absolute;top:12px;left:-22px;background:var(--pink);color:var(--ink);border:3px solid var(--ink);font-size:26px;padding:10px 24px;border-radius:60% 45% 55% 35%;transform:rotate(-8deg);z-index:2}.ol-sticker{position:absolute;right:-20px;bottom:22px;background:var(--yellow);color:var(--ink);width:125px;height:125px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:25px;line-height:.95;transform:rotate(12deg);box-shadow:6px 7px 0 #00592d}.ol-spark{position:absolute;color:var(--yellow);font-size:70px;top:15%;right:-20px;line-height:1;animation:ol-turn 16s linear infinite}.ol-hero-tail{width:min(1380px,calc(100% - 100px));margin:32px auto 0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;font-weight:700;color:#fffd}.ol-hero-tail a{color:white;letter-spacing:0;font-size:13px}.ol-ribbon{background:var(--yellow);padding:15px 0;transform:rotate(-1deg);width:102%;margin-left:-1%;position:relative;z-index:2;overflow:hidden}.ol-ribbon-track{width:max-content;font-size:26px;font-weight:800;word-spacing:25px;animation:ol-marquee 32s linear infinite}.ol-ribbon b{color:white;font-size:32px}.ol-intro{padding:110px 0 95px}.ol-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.ol-intro .ol-eyebrow{margin-bottom:23px}.ol-intro .ol-body{margin-top:25px;max-width:450px}.ol-handwritten{font-size:26px;line-height:1.3;transform:rotate(-3deg);margin-top:25px!important;color:var(--green)}.ol-intro-art{position:relative;display:grid;place-items:center;min-height:470px}.ol-intro-art:before{content:'';position:absolute;inset:5% 0;background:var(--pink);border-radius:42% 58% 60% 40%;transform:rotate(12deg)}.ol-pack{display:block;width:280px;aspect-ratio:1041 / 1289;position:relative;overflow:hidden;z-index:1}.ol-pack img{position:absolute;max-width:none;width:107.781%;height:108.767%;left:-4.131%;top:-4.577%}.ol-intro-art .ol-pack{transform:rotate(-7deg);filter:drop-shadow(12px 17px 8px #063c2630)}.ol-badge{position:absolute;right:0;top:8%;z-index:2;background:var(--yellow);border-radius:22px;padding:14px 23px;font-weight:800;font-size:20px;line-height:.95;transform:rotate(9deg)}.ol-badge strong{font-size:50px}.ol-paper-loop{position:absolute;bottom:0;left:1%;width:190px;height:140px;border:25px solid white;border-radius:50%;transform:rotate(-35deg);box-shadow:0 12px 18px #063c260c}.ol-benefits{padding:85px 0 100px;background:#fff}.ol-section-head{text-align:center;margin-bottom:42px}.ol-section-head .ol-eyebrow{margin-bottom:18px}.ol-benefit-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:850px;margin:auto}.ol-benefit-tab{border:2px solid #dce8df;border-radius:25px;background:var(--cream);padding:22px 12px;font-size:28px;font-weight:800;color:var(--ink);display:flex;gap:13px;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,background .2s}.ol-benefit-tab span{font-family:Manrope,sans-serif;font-size:26px}.ol-benefit-tab:hover{transform:translateY(-4px)}.ol-benefit-tab[aria-selected=true]{background:var(--green);color:white;border-color:var(--green);box-shadow:0 7px 0 #063c2620}.ol-benefit-panels{max-width:850px;margin:36px auto 0}.ol-benefit-panel{display:grid;grid-template-columns:160px 1fr;gap:40px;align-items:center;background:var(--cream);border-radius:32px;padding:40px}.ol-benefit-panel[hidden]{display:none}.ol-benefit-panel p:last-child{font-size:15px;line-height:1.8;margin-top:15px}.ol-benefit-panel h3{margin-top:10px}.ol-benefit-symbol{width:150px;height:150px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font-size:65px}.ol-benefit-panel[data-ol-panel=absorbant] .ol-benefit-symbol{background:var(--yellow)}.ol-compare{padding:100px 0;background:var(--pink)}.ol-compare-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.ol-compare-copy .ol-eyebrow{margin-bottom:20px}.ol-compare-copy .ol-body{margin:25px 0!important;max-width:470px}.ol-note{font-size:11px;line-height:1.7;max-width:370px;margin-top:18px!important;color:#3b5f4e}.ol-roll-demo{background:white;border-radius:45px;padding:40px 30px;box-shadow:0 12px 0 #edbfd0;transform:rotate(2deg)}.ol-roll-demo>.ol-eyebrow{text-align:center}.ol-equation{display:flex;justify-content:center;align-items:center;gap:24px;font-size:90px;line-height:1.2;font-weight:800;color:var(--green)}.ol-equation strong:last-child{color:#c89500}.ol-equation span{font-size:60px;color:var(--ink)}.ol-roll-groups{display:grid;grid-template-columns:1fr 24px 1fr;gap:15px;align-items:center}.ol-roll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;justify-items:center}.ol-twentyfour .ol-roll-grid{grid-template-columns:repeat(6,1fr);gap:7px}.ol-roll{display:block;width:37px;height:49px;position:relative;border:1px solid #d4dbd2;background:linear-gradient(90deg,#eee9d8,#fff 40%,#f6f2e5);border-radius:50% / 14%;box-shadow:2px 4px 0 #063c2610;transition:transform .5s,opacity .5s}.ol-roll:before{content:'';position:absolute;left:28%;right:28%;top:6%;height:12%;background:#aa8b62;border-radius:50%;box-shadow:0 0 0 4px #fff}.ol-roll-small{width:20px;height:30px;opacity:.55}.ol-roll-small:before{box-shadow:0 0 0 2px #fff}.ol-roll-groups p{text-align:center;font-size:10px;line-height:1.8;margin-top:18px}.ol-roll-groups p strong{display:block;font-size:12px}.ol-equals{text-align:center;font-size:25px}.ol-demo-line{font-family:'Baloo 2';font-size:22px;font-weight:700;text-align:center;margin-top:25px!important;color:var(--green)}.ol-roll-demo.is-revealed .ol-roll-small{opacity:1;transform:translateY(-4px)}.ol-product-section{padding:105px 0;background:var(--cream)}.ol-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.ol-product-art{min-height:570px;position:relative;display:grid;place-items:center;background:var(--green);border-radius:220px 220px 45px 45px}.ol-product-art:before{content:'';position:absolute;inset:90px 35px 45px;border:2px dashed #ffffff55;border-radius:50%}.ol-product-art .ol-pack{width:330px;transform:rotate(5deg);filter:drop-shadow(10px 15px 5px #002d2230)}.ol-product-note{position:absolute;top:25px;left:30px;z-index:2;color:white;line-height:1;font-size:24px;transform:rotate(-8deg)}.ol-quantity{position:absolute;bottom:25px;right:25px;width:90px;height:90px;display:grid;place-items:center;background:var(--yellow);border-radius:50%;font-size:48px;font-weight:800;transform:rotate(-8deg);z-index:3}.ol-product-copy .ol-eyebrow{margin-bottom:20px}.ol-product-copy h2{font-size:clamp(64px,6vw,92px);color:var(--green)}.ol-product-tagline{font:700 26px 'Baloo 2';margin:5px 0 20px!important}.ol-specs{border-top:1px solid #c5d5c9;margin:25px 0}.ol-specs>div{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #c5d5c9;align-items:center}.ol-specs span{font-size:10px;letter-spacing:1px;font-weight:700}.ol-specs strong{font-size:13px}.ol-product-copy>.ol-text-link{display:table;margin-top:15px}.ol-life{background:white;padding:80px 0 100px}.ol-life-head{text-align:center;max-width:760px;margin:auto}.ol-life-head h2{margin:20px 0!important}.ol-life-head>p:last-child{font-size:16px;line-height:1.8;max-width:570px;margin:auto}.ol-life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.ol-life-tile{position:relative;aspect-ratio:1;overflow:hidden;border-radius:28px;box-shadow:0 6px 0 #00853f15;transition:transform .3s}.ol-life-tile:nth-child(1){transform:rotate(-3deg)}.ol-life-tile:nth-child(3){transform:rotate(3deg)}.ol-life-tile:hover{transform:rotate(0) translateY(-8px)}.ol-life-source{position:absolute;max-width:none;width:400%;height:300%;left:calc(var(--tile-x) * -100%);top:calc(var(--tile-y) * -100%)}.ol-faq{padding:90px 0;background:var(--cream)}.ol-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.ol-faq .ol-eyebrow{margin-bottom:20px}.ol-faq-items details{border-top:1px solid #bacdbd;padding:22px 0}.ol-faq-items details:last-child{border-bottom:1px solid #bacdbd}.ol-faq-items summary{cursor:pointer;font-weight:800;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:20px}.ol-faq-items summary:after{content:'+';font-size:24px;color:var(--green)}.ol-faq-items details[open] summary:after{content:'−'}.ol-faq-items details p{font-size:14px;line-height:1.9;padding-top:18px;max-width:580px}.ol-finale{background:var(--green);color:white;padding:60px 0}.ol-finale-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.ol-finale h2{margin:20px 0!important}.ol-finale h2 span{color:var(--yellow)}.ol-finale p{line-height:1.8}.ol-finale .ol-button{margin-top:25px}.ol-selfie{border-radius:50% 50% 45% 45%;overflow:hidden;aspect-ratio:1.3;transform:rotate(4deg);border:5px solid var(--yellow)}.ol-selfie img{width:100%;height:100%;object-fit:cover;object-position:60% center}.ol-pending{opacity:0;transform:translateY(25px)}.ol-reveal{transition:opacity .7s,transform .7s}.ol-benefit-panel{animation:ol-enter .4s ease}.ol-roll-demo.is-revealed .ol-roll-small:nth-child(2n){transition-delay:.1s}.ol-roll-demo.is-revealed .ol-roll-small:nth-child(3n){transition-delay:.2s}@keyframes ol-turn{to{transform:rotate(360deg)}}@keyframes ol-marquee{to{transform:translateX(-50%)}}@keyframes ol-enter{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.ol-hero{padding-top:45px}.ol-mascot-stage{max-width:520px}}
@media(max-width:1050px){.ol-wrap,.ol-hero-tail{width:calc(100% - 60px)}.ol-hero-grid{gap:35px}.ol h1{font-size:58px}.ol-sticker{right:-8px;width:100px;height:100px;font-size:22px}.ol-intro-grid,.ol-product-grid,.ol-compare-grid{gap:45px}.ol-pack{width:240px}.ol-product-art .ol-pack{width:280px}.ol-product-art{min-height:480px}.ol-benefit-panel h3{font-size:34px}.ol-roll-demo{padding:30px 20px}.ol-twentyfour .ol-roll-grid{gap:4px}.ol-roll-small{width:16px}.ol-hello{left:-15px;font-size:22px}}
@media(max-width:720px){.ol-wrap,.ol-hero-tail{width:calc(100% - 40px)}.ol-hero-grid,.ol-intro-grid,.ol-compare-grid,.ol-product-grid,.ol-faq-grid,.ol-finale-grid{grid-template-columns:1fr;gap:40px}.ol-hero{padding-top:20px}.ol-logo{width:120px;height:75px;margin-bottom:18px}.ol-crumb{margin-bottom:18px}.ol h1{font-size:clamp(48px,11vw,68px);letter-spacing:-1.4px}.ol h2{font-size:44px}.ol-lead,.ol-body{font-size:15px}.ol-hero-art{width:min(440px,90%);margin:auto}.ol-hello{top:12px;left:-10px;font-size:22px;padding:8px 18px}.ol-sticker{bottom:10px}.ol-hero-tail{gap:20px;font-size:8px;margin-top:20px}.ol-hero-tail span:last-child{display:none}.ol-hero-tail a{font-size:11px}.ol-intro,.ol-benefits,.ol-compare,.ol-product-section,.ol-life,.ol-faq{padding:65px 0}.ol-intro-art{min-height:390px}.ol-intro-art .ol-pack{width:245px}.ol-badge{right:8px}.ol-benefit-tabs{gap:7px}.ol-benefit-tab{font-size:20px;padding:18px 6px;border-radius:18px;gap:7px;flex-direction:column}.ol-benefit-tab span{font-size:25px}.ol-benefit-panel{padding:25px;grid-template-columns:1fr;gap:20px}.ol-benefit-symbol{width:90px;height:90px;font-size:40px}.ol-benefit-panel h3{font-size:34px}.ol-roll-demo{transform:rotate(0);padding:30px 20px}.ol-roll-groups{grid-template-columns:1fr 18px 1fr;gap:8px}.ol-roll-grid{gap:8px}.ol-roll{width:28px;height:40px}.ol-roll-small{width:15px;height:25px}.ol-twentyfour .ol-roll-grid{gap:5px;grid-template-columns:repeat(6,1fr)}.ol-equation{font-size:85px}.ol-roll-groups p strong{font-size:10px}.ol-demo-line{font-size:20px}.ol-product-art{min-height:480px;order:2}.ol-product-copy{order:1}.ol-product-art .ol-pack{width:280px}.ol-specs strong{font-size:12px}.ol-specs span{font-size:9px}.ol-life-grid{grid-template-columns:1fr;max-width:400px;margin:35px auto 0;gap:30px}.ol-life-tile:nth-child(n){transform:rotate(0)}.ol-life-head>p:last-child{font-size:15px}.ol-faq-grid{gap:35px}.ol-finale h2{font-size:48px}.ol-selfie{max-width:500px;transform:rotate(0)}.ol-product-copy h2{font-size:65px}.ol-product-tagline{font-size:23px}.ol-button{font-size:12px;padding:18px 22px}.ol-actions{gap:13px}.ol-ribbon-track{font-size:22px}.ol-spark{font-size:50px;right:-15px}}
.ol-product-note{left:50%;top:22px;width:190px;text-align:center;transform:translateX(-50%) rotate(-4deg)}.ol-life-grid{align-items:center}.ol-life-tile{aspect-ratio:var(--tile-ratio,1)}.ol-life-source{width:var(--image-width);height:var(--image-height);left:var(--image-left);top:var(--image-top)}.ol-pause{border:0;border-bottom:1px solid #ffffff66;padding:0 0 3px;background:none;color:inherit;font:600 11px Manrope,sans-serif;cursor:pointer}.ol.is-paused .ol-ribbon-track,.ol.is-paused .ol-spark{animation-play-state:paused}.ol-hero-tail{align-items:center}
@media(prefers-reduced-motion:reduce){html:has(.ol){scroll-behavior:auto!important}.ol *,.ol *:before,.ol *:after{animation:none!important;transition:none!important}.ol-pending{opacity:1;transform:none}.ol-ribbon-track{transform:none}.ol-mascot{transform:rotate(4deg) scale(.94)!important}.ol-pause{display:none}}
.ol-social{padding:90px 0;background:#f7f4e9;text-align:center}.ol-social h2{color:#00853f}.ol-social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:820px;margin:36px auto 0}.ol-social-card{display:flex;flex-direction:column;align-items:center;gap:14px;border:1px solid #00853f33;border-radius:24px;padding:26px;background:white;color:#00853f;font-weight:700}.ol-social-icon svg{width:32px;height:32px;fill:currentColor}.ol-social-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#f7d6e1;border-radius:50%}@media(max-width:600px){.ol-social-grid{grid-template-columns:repeat(2,1fr)}.ol-social{padding:60px 0}}

/* Supplied transparent icons: consistent proportions and accessible contrast. */
.ol-benefit-tab .ol-benefit-icon{display:block;flex:0 0 36px;width:36px;height:36px;object-fit:contain}
.ol-benefit-tab[aria-selected=true] .ol-benefit-icon{filter:brightness(0) invert(1)}
.ol-benefit-symbol .ol-benefit-icon{display:block;width:72px;height:72px;object-fit:contain}
@media(max-width:720px){.ol-benefit-tab .ol-benefit-icon{flex-basis:30px;width:30px;height:30px}.ol-benefit-symbol .ol-benefit-icon{width:48px;height:48px}}

@media(max-width:720px){.ol-benefit-tab{min-width:0;font-size:clamp(15px,4.7vw,20px)}}

/* olly-2 20261103 : Instagram actif, autres reseaux "coming soon", finale sur fond blanc */
a.ol-social-card{text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}
a.ol-social-card:hover,a.ol-social-card:focus-visible{transform:translateY(-4px);box-shadow:0 10px 0 #00853f1f;background:#fff8fb}
.ol-social-soon{position:relative;cursor:default;opacity:.55;transition:opacity .2s}
.ol-social-soon:hover{opacity:1}
.ol-soon{position:absolute;left:50%;bottom:8px;transform:translate(-50%,4px);font:700 9px/1 Manrope,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#063c26aa;opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap;pointer-events:none}
.ol-social-soon:hover .ol-soon,.ol-social-soon:focus-within .ol-soon{opacity:1;transform:translate(-50%,0)}
@media(hover:none){.ol-soon{opacity:1;transform:translate(-50%,0)}}
.ol:has(#olly-social) .ol-finale{background:#fff;color:var(--ink)}
.ol:has(#olly-social) .ol-finale h2{color:var(--green)}
.ol:has(#olly-social) .ol-finale h2 span{color:var(--ink)}
.ol:has(#olly-social) .ol-finale .ol-eyebrow{color:var(--green)}
.ol:has(#olly-social) .ol-finale .ol-button{background:var(--green);color:#fff}

/* olly-2 20261103 : mascotte detouree dans la finale */
.ol:has(#olly-social) .ol-selfie{border:0;border-radius:0;overflow:visible;aspect-ratio:auto;transform:none;max-width:560px;margin:0 auto}
.ol:has(#olly-social) .ol-selfie img{height:auto;object-fit:contain}
/* olly-2 20261103 : icone absorbant mauve comme les deux autres */
.ol:has(#olly-social) .ol-benefit-panel[data-ol-panel=absorbant] .ol-benefit-symbol{background:var(--pink)}
