
  :root{
    --espresso-deep:#120F10;
    --espresso:#231F20;
    --espresso-warm:#362F31;
    --praline:#1F1B1C;
    --hazelnut:#D72320;
    --hazelnut-light:#ED5C58;
    --gold-swirl:#5B9194;
    --cream:#FFFFFF;
    --cream-dim:#D8D3D1;
    --ink:#1A1616;
    --berry:#8C1B19;
    --berry-light:#C9433F;
    --pistachio:#55504F;
    --pistachio-light:#8A8482;
    --sunshine:#A9793C;
    --body-muted:#5C5456;
    --max-w:1240px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }

  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Inter', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3,.display{
    font-family:'Baloo 2', sans-serif;
    font-weight:600;
    letter-spacing:-0.01em;
    margin:0;
  }

  .mono{
    font-family:'JetBrains Mono', monospace;
    letter-spacing:0.02em;
  }

  a{color:inherit;}
  img,svg{display:block; max-width:100%;}

  /* language toggle logic */
  body.lang-en .fr{display:none;}
  body.lang-fr .en{display:none;}

  .wrap{max-width:var(--max-w); margin:0 auto; padding:0 32px;}

  /* ---------- NAV ---------- */
  .nav{
    position:fixed; top:0; left:0; right:0; z-index:50;
    background:rgba(18,15,16,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(91,145,148,0.18);
  }
  .nav .wrap{
    display:flex; align-items:center; justify-content:space-between;
    height:76px; max-width:none; padding:0 24px;
  }
  .nav-logo{
    font-family:'Baloo 2', sans-serif;
    font-weight:700;
    font-size:1.05rem;
    color:var(--cream);
    letter-spacing:0.01em;
    text-decoration:none;
    display:flex; align-items:center; gap:10px;
  }
  .nav-logo .mark{width:auto; height:42px; flex-shrink:0; object-fit:contain;}
  .nav-links{
    display:flex; align-items:center; gap:8px;
    list-style:none; margin:0; padding:0;
  }
  .nav-links a{
    color:var(--cream-dim); text-decoration:none;
    font-size:0.88rem; letter-spacing:0.01em; font-weight:600;
    padding:8px 14px; border-radius:999px;
    transition:color 0.2s ease, background 0.2s ease;
  }
  .nav-links a:hover, .nav-links a:focus-visible{color:var(--cream); background:rgba(255,255,255,0.1);}
  .nav-right{display:flex; align-items:center; gap:22px;}
  .lang-toggle{
    background:none; border:2px solid rgba(91,145,148,0.5);
    color:var(--cream-dim); font-family:'JetBrains Mono', monospace; font-weight:700;
    font-size:0.78rem; padding:6px 14px; border-radius:999px; cursor:pointer;
    transition:all 0.2s ease;
  }
  .lang-toggle:hover, .lang-toggle:focus-visible{border-color:var(--gold-swirl); color:var(--gold-swirl);}
  .nav-cta{
    background:var(--hazelnut); color:#fff;
    font-size:0.85rem; font-weight:700; letter-spacing:0.01em;
    padding:11px 22px; border-radius:999px; text-decoration:none;
    transition:all 0.2s ease;
    white-space:nowrap;
  }
  .nav-cta:hover, .nav-cta:focus-visible{background:var(--berry); transform:translateY(-2px);}
  .nav-burger{display:none; background:none; border:none; color:var(--cream); cursor:pointer;}

  @media (max-width:900px){
    .nav-links{display:none;}
    .nav-burger{display:block;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    background:radial-gradient(120% 100% at 78% 12%, var(--espresso-warm) 0%, var(--espresso) 45%, var(--espresso-deep) 100%);
    color:var(--cream);
    padding:170px 0 120px;
    overflow:hidden;
  }
  .hero::before{
    content:'';
    position:absolute; inset:0; pointer-events:none; z-index:1;
    background:
      radial-gradient(50% 45% at 88% 4%, rgba(91,145,148,0.22), transparent 60%),
      radial-gradient(40% 35% at 12% 85%, rgba(140,27,25,0.16), transparent 65%),
      radial-gradient(35% 30% at 60% 95%, rgba(85,80,79,0.12), transparent 65%);
  }
  .hero-swirl-wrap{
    position:absolute; top:-8%; right:-12%; width:62%; max-width:720px;
    transition:transform 0.25s ease-out;
  }
  .hero-photo{
    position:absolute; top:14%; right:2%; width:34%; max-width:340px;
    z-index:2; border-radius:20px; overflow:hidden; aspect-ratio:4/5;
    box-shadow:0 30px 60px -20px rgba(0,0,0,0.5), 0 0 0 6px rgba(255,255,255,0.06);
    transform:rotate(-2deg);
    transition:transform 0.3s ease;
  }
  .hero-photo img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
    opacity:0; transition:opacity 1.4s ease;
  }
  .hero-photo img.is-active{opacity:1;}
  .hero-photo:hover{transform:rotate(0deg) scale(1.02);}

  /* photo pair used on the Brands section */
  .photo-duo{
    display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px;
  }
  .photo-duo figure{
    margin:0; border-radius:16px; overflow:hidden; position:relative; aspect-ratio:4/3;
    box-shadow:0 16px 34px -18px rgba(0,0,0,0.4);
  }
  .photo-duo figure img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
    opacity:0; transition:opacity 1.4s ease;
  }
  .photo-duo figure img.is-active{opacity:1;}
  .photo-duo figcaption{
    position:absolute; left:0; right:0; bottom:0; padding:10px 14px; z-index:2;
    background:linear-gradient(0deg, rgba(0,0,0,0.65), transparent);
    color:#fff; font-family:'JetBrains Mono', monospace; font-size:0.7rem;
    text-transform:uppercase; letter-spacing:0.05em;
  }

  /* supporting photo alongside About copy */
  .about-photo{
    position:relative; border-radius:18px; overflow:hidden; margin-bottom:28px; aspect-ratio:16/10;
    box-shadow:0 20px 40px -20px rgba(0,0,0,0.35);
  }
  .about-photo img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
    opacity:0; transition:opacity 1.4s ease;
  }
  .about-photo img.is-active{opacity:1;}
  .hero-swirl{
    width:100%; opacity:0.95;
    filter:drop-shadow(0 0 60px rgba(215,35,32,0.35));
    animation:swirl-drift 22s ease-in-out infinite;
  }
  @keyframes swirl-drift{
    0%,100%{ transform: rotate(0deg) translateY(0); }
    50%{ transform: rotate(6deg) translateY(-14px); }
  }
  .hero-inner{position:relative; z-index:2; max-width:640px;}
  .eyebrow{
    font-family:'JetBrains Mono', monospace; font-weight:700; font-size:0.78rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-swirl);
    margin-bottom:22px; display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{content:''; width:26px; height:2px; border-radius:2px; background:var(--gold-swirl);}
  .hero h1{
    font-size:clamp(2.6rem, 5.5vw, 4.4rem);
    line-height:1.05;
    color:var(--cream);
    text-shadow:0 4px 32px rgba(0,0,0,0.35);
  }
  .hero h1 em{font-style:normal; font-weight:700;}
  .hero p.lede{
    margin-top:26px; font-size:1.12rem; color:var(--cream-dim);
    max-width:520px;
  }
  .hero-ctas{display:flex; gap:16px; margin-top:40px; flex-wrap:wrap;}
  .btn{
    display:inline-block; padding:16px 30px; border-radius:999px;
    text-decoration:none; font-weight:700; font-size:0.94rem;
    letter-spacing:0.01em; transition:all 0.2s ease; border:2px solid transparent;
  }
  .btn-primary{background:var(--hazelnut); color:#fff;}
  .btn-primary:hover, .btn-primary:focus-visible{background:var(--berry);}
  .btn-ghost{border-color:rgba(255,255,255,0.4); color:var(--cream);}
  .btn-ghost:hover, .btn-ghost:focus-visible{border-color:var(--gold-swirl); color:var(--gold-swirl);}

  .hero-stats{
    display:flex; gap:44px; margin-top:72px; padding-top:32px;
    border-top:1px solid rgba(255,255,255,0.15); max-width:600px; flex-wrap:wrap;
  }
  .stat .num{font-family:'JetBrains Mono', monospace; font-weight:700; font-size:1.5rem; color:var(--gold-swirl);}
  .stat:nth-child(2) .num{color:var(--berry-light);}
  .stat:nth-child(3) .num{color:var(--pistachio-light);}
  .stat .lbl{font-size:0.78rem; color:var(--cream-dim); text-transform:uppercase; letter-spacing:0.05em; margin-top:4px;}

  /* ---------- SECTION DIVIDER (signature motif, small) ---------- */
  .divider{display:flex; align-items:center; justify-content:center; padding:56px 0;}
  .divider svg{width:44px; height:44px; opacity:0.7;}
  .divider.on-dark svg{opacity:0.85;}

  /* ---------- SECTION SHELL ---------- */
  section{padding:20px 0 100px;}
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head .eyebrow{color:var(--praline);}
  .section-head .eyebrow::before{background:var(--praline);}
  .section-head h2{font-size:clamp(1.9rem, 3.4vw, 2.6rem); color:var(--ink);}
  .section-head p{margin-top:16px; color:var(--body-muted); font-size:1.02rem; max-width:520px;}

  /* dark section variant */
  .on-dark{background:var(--espresso); color:var(--cream);}
  .on-dark .section-head h2{color:var(--cream);}
  .on-dark .section-head p{color:var(--cream-dim);}
  .on-dark .section-head .eyebrow{color:var(--gold-swirl);}
  .on-dark .section-head .eyebrow::before{background:var(--gold-swirl);}

  /* ---------- PRODUCT ---------- */
  .product-grid{
    display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center;
  }
  .jar{
    position:relative; aspect-ratio:3/4; border-radius:28px;
    background:linear-gradient(155deg, var(--espresso-warm), var(--espresso-deep));
    display:flex; align-items:center; justify-content:center;
    border:1px solid rgba(31,27,28,0.25);
  }
  .jar-inner{
    width:72%; aspect-ratio:1; border-radius:50%;
    background:conic-gradient(from 200deg, var(--hazelnut) 0deg, var(--berry) 55deg, var(--praline) 110deg, var(--pistachio) 165deg, var(--hazelnut-light) 220deg, var(--sunshine) 285deg, var(--hazelnut) 360deg);
    display:flex; align-items:center; justify-content:center;
    box-shadow: inset 0 0 40px rgba(18,15,16,0.5);
  }
  .jar-inner .mark{width:38%; opacity:0.9;}
  .jar-label{
    position:absolute; bottom:24px; left:24px; right:24px;
    font-family:'JetBrains Mono', monospace; font-weight:700; font-size:0.72rem; color:var(--cream-dim);
    display:flex; justify-content:space-between; letter-spacing:0.04em;
  }
  .specs{
    display:grid; grid-template-columns:1fr 1fr; gap:22px 28px;
    margin-top:32px; padding-top:28px; border-top:1px solid rgba(31,27,28,0.2);
  }
  .spec dt{font-family:'JetBrains Mono', monospace; font-weight:700; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--praline);}
  .spec dd{margin:6px 0 0; font-size:1rem; color:var(--ink);}
  .badge-row{display:flex; gap:12px; margin-top:28px; flex-wrap:wrap;}
  .badge{
    display:flex; align-items:center; gap:8px;
    border:2px solid var(--praline); border-radius:999px;
    padding:8px 16px; font-size:0.8rem; font-weight:700; font-family:'JetBrains Mono', monospace;
    color:var(--praline);
  }
  .badge svg{width:14px; height:14px;}
  .badge-row .badge:nth-child(1){border-color:var(--hazelnut); color:var(--hazelnut);}
  .badge-row .badge:nth-child(2){border-color:var(--berry); color:var(--berry);}
  .badge-row .badge:nth-child(3){border-color:var(--pistachio); color:var(--pistachio);}
  .badge-row .badge:nth-child(1) svg, .badge-row .badge:nth-child(2) svg, .badge-row .badge:nth-child(3) svg{color:inherit !important;}

  /* ---------- CHANNELS ---------- */
  .channels-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
  }
  .channel-card{
    background:var(--espresso); padding:36px 30px; border-radius:20px;
    transition:background 0.25s ease;
    border-top:4px solid var(--hazelnut);
  }
  .channel-card:nth-child(6n+2){border-top-color:var(--berry);}
  .channel-card:nth-child(6n+3){border-top-color:var(--pistachio);}
  .channel-card:nth-child(6n+4){border-top-color:var(--sunshine);}
  .channel-card:nth-child(6n+5){border-top-color:var(--hazelnut-light);}
  .channel-card:nth-child(6n+6){border-top-color:var(--berry-light);}
  .channel-card:hover, .channel-card:focus-within{background:var(--espresso-warm);}
  .channel-card .idx{font-family:'JetBrains Mono', monospace; font-weight:700; font-size:0.75rem; color:var(--hazelnut);}
  .channel-card:nth-child(6n+2) .idx{color:var(--berry);}
  .channel-card:nth-child(6n+3) .idx{color:var(--pistachio);}
  .channel-card:nth-child(6n+4) .idx{color:var(--sunshine);}
  .channel-card:nth-child(6n+5) .idx{color:var(--hazelnut-light);}
  .channel-card:nth-child(6n+6) .idx{color:var(--berry-light);}
  .channel-card h3{font-size:1.2rem; color:var(--cream); margin-top:14px;}
  .brand-logo-plate{
    background:#fff; border-radius:12px; padding:14px 20px;
    display:inline-flex; align-items:center; justify-content:center;
    margin-top:14px; box-shadow:0 6px 18px -8px rgba(0,0,0,0.4);
  }
  .brand-logo-plate .brand-logo{height:46px; width:auto; max-width:160px; object-fit:contain; display:block;}
  .brand-logo-plate + p{margin-top:16px;}
  .channel-card p{font-size:0.92rem; color:var(--cream-dim); margin-top:10px;}

  @media (max-width:820px){
    .channels-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .channels-grid{grid-template-columns:1fr;}
  }

  /* ---------- QUALITY BAND ---------- */
  .quality-band{
    background:var(--ink); color:var(--cream);
    padding:56px 0; overflow:hidden;
  }
  .marquee{
    display:flex; gap:60px; white-space:nowrap;
    animation:marquee-scroll 28s linear infinite;
    font-family:'Baloo 2', sans-serif; font-weight:600; font-size:1.5rem;
    color:var(--gold-swirl); width:max-content;
  }
  @keyframes marquee-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* ---------- ABOUT ---------- */
  .about-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;
  }
  .about-copy p{margin-top:18px; color:var(--body-muted); font-size:1.02rem; max-width:480px;}
  .about-meta{
    display:flex; flex-direction:column; gap:24px;
    border-left:3px solid var(--hazelnut); padding-left:24px;
  }
  .about-meta .item .k{font-family:'JetBrains Mono', monospace; font-weight:700; font-size:0.72rem; text-transform:uppercase; color:var(--praline); letter-spacing:0.05em;}
  .about-meta .item .v{font-family:'Baloo 2', sans-serif; font-weight:600; font-size:1.3rem; margin-top:4px;}

  /* ---------- CONTACT ---------- */
  .contact{
    background:radial-gradient(120% 100% at 20% 0%, var(--espresso-warm) 0%, var(--espresso) 55%, var(--espresso-deep) 100%);
    color:var(--cream);
  }
  .contact-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:64px;}
  .contact-list{list-style:none; margin:32px 0 0; padding:0; display:flex; flex-direction:column; gap:20px;}
  .contact-list a{
    display:flex; align-items:center; gap:14px; text-decoration:none;
    color:var(--cream); font-size:1.05rem; font-weight:600; padding-bottom:16px;
    border-bottom:1px solid rgba(255,255,255,0.15);
    transition:color 0.2s ease;
  }
  .contact-list a:hover, .contact-list a:focus-visible{color:var(--gold-swirl);}
  .contact-list svg{width:20px; height:20px; flex-shrink:0; color:var(--gold-swirl);}
  .contact-card{
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15);
    border-radius:20px; padding:36px;
  }
  .contact-card h3{color:var(--cream); font-size:1.2rem;}
  .contact-card p{color:var(--cream-dim); margin-top:10px; font-size:0.95rem;}
  .contact-card .btn{margin-top:22px; width:100%; text-align:center;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--espresso-deep); color:var(--cream-dim); padding:48px 0 32px;}
  .footer-brand-row{
    display:flex; justify-content:space-between; align-items:center;
    padding-bottom:28px; gap:24px; flex-wrap:wrap;
  }
  .footer-logo img{height:76px; width:auto; display:block; filter:drop-shadow(0 6px 14px rgba(0,0,0,0.4));}
  .footer-top{
    padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,0.1);
    border-top:1px solid rgba(255,255,255,0.1); padding-top:28px;
  }
  .footer-links{display:flex; gap:28px; list-style:none; padding:0; margin:0; flex-wrap:wrap;}
  .footer-social{display:flex; gap:14px; align-items:center;}
  .footer-social a{
    display:flex; align-items:center; justify-content:center;
    width:36px; height:36px; border-radius:999px;
    border:1px solid rgba(255,255,255,0.2); color:var(--cream-dim);
    transition:all 0.2s ease;
  }
  .footer-social a:hover, .footer-social a:focus-visible{
    color:var(--gold-swirl); border-color:var(--gold-swirl); transform:translateY(-2px);
  }
  .footer-social svg{width:18px; height:18px;}
  .footer-links a{color:var(--cream-dim); text-decoration:none; font-size:0.88rem; font-weight:600;}
  .footer-links a:hover{color:var(--gold-swirl);}
  .footer-bottom{
    display:flex; justify-content:space-between; padding-top:24px;
    font-size:0.8rem; color:rgba(255,255,255,0.4); flex-wrap:wrap; gap:10px;
  }

  /* ---------- INNER PAGE HERO ---------- */
  .page-hero{
    position:relative;
    background:radial-gradient(120% 100% at 78% 0%, var(--espresso-warm) 0%, var(--espresso) 45%, var(--espresso-deep) 100%);
    color:var(--cream);
    padding:170px 0 90px;
  }
  .page-hero h1{
    font-size:clamp(2.2rem, 4.6vw, 3.4rem);
    line-height:1.08;
    color:var(--cream);
    text-shadow:0 4px 32px rgba(0,0,0,0.35);
    max-width:720px;
  }
  .page-hero .lede{margin-top:22px; font-size:1.08rem; color:var(--cream-dim); max-width:560px;}
  .page-hero .eyebrow{color:var(--gold-swirl);}
  .page-hero .eyebrow::before{background:var(--gold-swirl);}
  .brand-red{color:var(--hazelnut);}
  .brand-nm{font-family:'Baloo 2', sans-serif; font-weight:700;}
  .brand-nb{font-family:'Baloo 2', sans-serif; font-weight:700; color:var(--hazelnut);}

  /* ---------- FAQ ACCORDION ---------- */
  .faq-item{
    border-bottom:1px solid rgba(31,27,28,0.2);
    padding:26px 0;
  }
  .faq-q{
    width:100%; background:none; border:none; cursor:pointer;
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    font-family:'Baloo 2', sans-serif; font-weight:600; font-size:1.15rem; color:var(--ink);
    text-align:left; padding:0;
  }
  .faq-icon{width:20px; height:20px; color:var(--praline); flex-shrink:0; transition:transform 0.3s ease;}
  .faq-item.is-open .faq-icon{transform:rotate(180deg);}
  .faq-a{
    max-height:0; overflow:hidden;
    transition:max-height 0.35s ease, opacity 0.3s ease, margin-top 0.3s ease;
    opacity:0; margin-top:0;
  }
  .faq-item.is-open .faq-a{max-height:320px; opacity:1; margin-top:14px;}
  .faq-a p{color:var(--body-muted); font-size:0.98rem; max-width:640px;}
  .faq-a a{color:var(--praline); text-decoration:underline;}

  /* ---------- VIBRANCY & MOTION ---------- */

  /* fine paper-grain texture over the whole page for a tactile finish */
  body::before{
    content:'';
    position:fixed; inset:0; z-index:9999; pointer-events:none;
    opacity:0.025; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  /* shimmering gradient text for taglines and accent words */
  .shine-text{
    background:linear-gradient(100deg, var(--hazelnut) 30%, var(--hazelnut-light) 50%, var(--hazelnut) 70%);
    background-size:220% auto;
    -webkit-background-clip:text; background-clip:text; color:transparent;
    animation:shine-sweep 7s linear infinite;
  }
  @keyframes shine-sweep{ to{ background-position:-220% center; } }

  /* scroll-triggered reveal */
  .reveal{opacity:0; transform:translateY(28px); transition:opacity 0.8s ease, transform 0.8s ease;}
  .reveal.is-visible{opacity:1; transform:translateY(0);}

  /* bold underline flourish beneath section headings */
  .section-head h2{position:relative; padding-bottom:20px;}
  .section-head h2::after{
    content:''; position:absolute; left:0; bottom:0; width:64px; height:4px;
    background:linear-gradient(90deg, var(--hazelnut), var(--gold-swirl));
    border-radius:4px;
  }

  /* button shine sweep on hover */
  .btn{position:relative; overflow:hidden;}
  .btn-primary::after{
    content:''; position:absolute; top:0; left:-60%; width:35%; height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,0.6), transparent);
    transform:skewX(-20deg); transition:left 0.55s ease;
  }
  .btn-primary:hover::after{left:130%;}
  .btn-primary, .btn-ghost{transition:all 0.25s ease, background 0.25s ease;}
  .btn-primary:hover{box-shadow:0 10px 28px -8px rgba(215,35,32,0.55); transform:translateY(-2px);}
  .btn-ghost:hover{transform:translateY(-2px);}

  /* lively hover states */
  .channel-card{transition:transform 0.35s ease, background 0.25s ease, box-shadow 0.35s ease;}
  .channel-card:hover, .channel-card:focus-within{
    transform:translateY(-6px);
    box-shadow:0 20px 44px -16px rgba(215,35,32,0.4);
  }
  .channel-card:nth-child(6n+2):hover{box-shadow:0 20px 44px -16px rgba(140,27,25,0.4);}
  .channel-card:nth-child(6n+3):hover{box-shadow:0 20px 44px -16px rgba(85,80,79,0.4);}
  .channel-card:nth-child(6n+4):hover{box-shadow:0 20px 44px -16px rgba(169,121,60,0.4);}
  .badge{transition:all 0.25s ease;}
  .badge:hover{border-color:var(--gold-swirl); color:var(--gold-swirl); box-shadow:0 0 0 5px rgba(91,145,148,0.14); transform:translateY(-2px);}
  .contact-list a{transition:color 0.2s ease, padding-left 0.25s ease;}
  .contact-list a:hover{padding-left:6px;}
  .contact-card{transition:box-shadow 0.3s ease, transform 0.3s ease;}
  .contact-card:hover{box-shadow:0 22px 50px -20px rgba(215,35,32,0.35); transform:translateY(-4px);}

  /* ---------- CONTACT FORM ---------- */
  .ppg-form{margin-top:22px; display:flex; flex-direction:column; gap:16px;}
  .ppg-form-row{display:flex; flex-direction:column; gap:6px;}
  .ppg-form-row label{
    font-family:'JetBrains Mono', monospace; font-size:0.78rem; letter-spacing:0.04em;
    text-transform:uppercase; color:var(--cream); font-weight:700;
  }
  .ppg-form-row .req{color:var(--hazelnut-light);}
  .ppg-form-row input, .ppg-form-row select, .ppg-form-row textarea{
    font-family:'Inter', sans-serif; font-size:1rem; font-weight:500; color:var(--cream);
    background:rgba(255,255,255,0.1); border:1.5px solid rgba(255,255,255,0.28);
    border-radius:10px; padding:11px 14px; width:100%;
    transition:border-color 0.2s ease, background 0.2s ease;
  }
  .ppg-form-row input::placeholder, .ppg-form-row textarea::placeholder{color:var(--cream-dim); opacity:0.8;}
  .ppg-form-row input:focus, .ppg-form-row select:focus, .ppg-form-row textarea:focus{
    outline:none; border-color:var(--hazelnut-light); background:rgba(255,255,255,0.14);
  }
  .ppg-form-row textarea{resize:vertical; min-height:110px;}
  .ppg-form-row select{cursor:pointer;}
  .ppg-form-row select option{background:var(--espresso); color:var(--cream);}
  .ppg-form .btn{margin-top:6px; width:100%; text-align:center; border:none; cursor:pointer;}
  .ppg-form-honeypot{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

  .form-notice{
    margin-top:18px; padding:14px 16px; border-radius:12px;
    font-size:0.9rem; line-height:1.5;
  }
  .form-notice-success{background:rgba(85,150,100,0.15); border:1px solid rgba(120,200,140,0.35); color:#bdeecb;}
  .form-notice-error{background:rgba(200,70,60,0.15); border:1px solid rgba(230,110,100,0.4); color:#ffcfc9;}

  /* living sheen sweeping across the jar */
  .jar-inner{position:relative; overflow:hidden;}
  .jar-inner::after{
    content:''; position:absolute; inset:0;
    background:conic-gradient(from 0deg, transparent 0deg, rgba(255,255,255,0.3) 18deg, transparent 45deg, transparent 360deg);
    animation:jar-sheen 9s linear infinite; mix-blend-mode:overlay;
  }
  @keyframes jar-sheen{ to{ transform:rotate(360deg); } }
  .jar{transition:box-shadow 0.4s ease;}
  .jar:hover{box-shadow:0 24px 60px -20px rgba(215,35,32,0.35);}

  /* a bold multi-color hairline along the top of the nav */
  .nav::before{
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg, var(--hazelnut), var(--berry), var(--sunshine), var(--pistachio), var(--praline));
  }

  /* stat numbers glow on hover */
  .stat{transition:transform 0.25s ease;}
  .stat:hover{transform:translateY(-2px);}
  .stat:hover .num{text-shadow:0 0 18px rgba(91,145,148,0.7);}
  .stat:nth-child(2):hover .num{text-shadow:0 0 18px rgba(201,67,63,0.7);}
  .stat:nth-child(3):hover .num{text-shadow:0 0 18px rgba(138,132,130,0.7);}

  @media (prefers-reduced-motion: reduce){
    .shine-text{animation:none; background-position:0 center;}
    .jar-inner::after{animation:none;}
    .reveal{opacity:1; transform:none; transition:none;}
  }

  /* ---------- CATALOGUE / SKU GRID ---------- */
  .sku-grid{
    display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:20px;
    margin-top:36px;
  }
  .sku-card{
    background:var(--espresso); border:1px solid rgba(255,255,255,0.1);
    border-radius:18px; padding:18px; display:flex; flex-direction:column; gap:14px;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
  }
  .sku-card:hover{transform:translateY(-4px); box-shadow:0 16px 34px -16px rgba(215,35,32,0.4);}
  .sku-photo-placeholder{
    aspect-ratio:1; border:2px dashed rgba(91,145,148,0.4); border-radius:14px;
    display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px;
    background:rgba(255,255,255,0.03);
  }
  .sku-photo-placeholder svg{width:32px; height:32px; opacity:0.6; color:var(--gold-swirl);}
  .sku-photo-placeholder .hint{
    font-family:'JetBrains Mono', monospace; font-size:0.64rem; color:var(--cream-dim);
    text-transform:uppercase; letter-spacing:0.05em; text-align:center; line-height:1.4;
  }
  .sku-photo{
    aspect-ratio:1; border-radius:14px; overflow:hidden;
    background:#fff; display:flex; align-items:center; justify-content:center;
  }
  .sku-photo img{width:100%; height:100%; object-fit:contain; padding:8px; display:block;}
  .sku-name{font-family:'Baloo 2', sans-serif; font-weight:600; font-size:1.02rem; color:var(--cream); line-height:1.3;}
  .lang-fr .sku-name{font-size:0.8rem; letter-spacing:-0.01em; white-space:nowrap; overflow:hidden;}
  .sku-meta{display:flex; justify-content:space-between; align-items:center; gap:8px;}
  .sku-weight{font-family:'JetBrains Mono', monospace; font-weight:700; font-size:0.78rem; color:var(--gold-swirl);}
  .sku-tag{
    font-family:'JetBrains Mono', monospace; font-weight:700; font-size:0.62rem; text-transform:uppercase;
    letter-spacing:0.04em; padding:3px 10px; border-radius:999px;
    border:1px solid rgba(255,255,255,0.2); color:var(--cream-dim);
  }
  .sku-tag.bulk{border-color:var(--sunshine); color:var(--sunshine);}

  /* light-section variant: catalogue categories alternate dark/light like the rest of the site */
  section:not(.on-dark) .sku-card{
    background:#fff; border-color:rgba(31,27,28,0.16); box-shadow:0 2px 12px -4px rgba(20,18,31,0.08);
  }
  section:not(.on-dark) .sku-name{color:var(--ink);}
  section:not(.on-dark) .sku-weight{color:var(--praline);}
  section:not(.on-dark) .sku-tag{border-color:rgba(31,27,28,0.3); color:var(--body-muted);}
  section:not(.on-dark) .sku-tag.bulk{border-color:var(--berry); color:var(--berry);}
  section:not(.on-dark) .sku-photo-placeholder{
    border-color:rgba(31,27,28,0.35); background:rgba(31,27,28,0.05);
  }
  section:not(.on-dark) .sku-photo-placeholder svg{color:var(--praline);}
  section:not(.on-dark) .sku-photo-placeholder .hint{color:var(--body-muted);}

  @media (max-width:560px){
    .sku-grid{grid-template-columns:repeat(2, 1fr);}
  }

  @media (max-width:820px){
    .product-grid, .about-grid, .contact-grid{grid-template-columns:1fr; gap:40px;}
    .hero{padding:150px 0 90px;}
    .hero-swirl-wrap{width:80%; right:-30%; opacity:0.5;}
    .hero-photo{display:none;}
  }

  /* ---------- COOKIE CONSENT BANNER ---------- */
  .cookie-consent{
    position:fixed; left:0; right:0; bottom:0; z-index:9999;
    background:var(--espresso-deep);
    border-top:1px solid rgba(255,255,255,0.12);
    box-shadow:0 -12px 30px -12px rgba(0,0,0,0.5);
    transform:translateY(100%);
    transition:transform 0.4s ease;
  }
  .cookie-consent.is-visible{transform:translateY(0);}
  .cookie-consent-inner{
    max-width:var(--max-w); margin:0 auto; padding:20px 32px;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    flex-wrap:wrap;
  }
  .cookie-consent-inner p{
    margin:0; color:var(--cream-dim); font-size:0.92rem; line-height:1.5; max-width:720px;
  }
  .cookie-consent-inner .btn{
    flex-shrink:0; padding:12px 26px; font-size:0.88rem;
  }
  @media (max-width:640px){
    .cookie-consent-inner{padding:18px 20px; flex-direction:column; align-items:stretch; text-align:center;}
    .cookie-consent-inner .btn{width:100%; text-align:center;}
  }
