  :root{
    --forest-950:#16281C; --forest-700:#2F4A34; --sage-500:#7C9070;
    --clay-600:#A85C3B;
    --sand-050:#FAF7EE; --ink-900:#211C14; --ink-700:#4A4335;
    --paper:var(--sand-050); --text:var(--ink-900); --text-soft:var(--ink-700);
    --note-bg: rgba(168,92,59,0.10); --note-line: rgba(168,92,59,0.35);
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--paper);color:var(--text);font-family:'Work Sans',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;margin:0;letter-spacing:-0.01em;}
  a{color:inherit;}

  header{position:fixed;top:0;left:0;right:0;z-index:40;padding:20px clamp(20px,4vw,48px);
    display:flex;align-items:center;justify-content:space-between; pointer-events:none;}
  header .inner{display:flex;align-items:center;justify-content:space-between;width:100%;opacity:0;transform:translateY(-8px);pointer-events:auto;}
  .logo img{height:30px;width:auto;}
  .nav-wrap{display:flex;align-items:center;gap:26px;}
  nav{display:flex;gap:28px;font-size:13.5px;letter-spacing:0.03em;text-transform:uppercase;color:var(--text-soft);}
  nav a{text-decoration:none;}
  nav a.current{color:var(--clay-600);}
  .lang-switch{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:0.04em;
    padding-left:20px;border-left:1px solid var(--note-line);}
  .lang-switch button{background:none;border:none;cursor:pointer;color:var(--text-soft);
    font-family:'Work Sans',sans-serif;font-size:12px;letter-spacing:0.04em;padding:2px 1px;}
  .lang-switch button.active{color:var(--clay-600);font-weight:600;}
  .lang-switch .sep{color:var(--note-line);}

  .hamburger{
    display:none; width:44px; height:44px; border:none; background:none; cursor:pointer;
    flex-direction:column; justify-content:center; align-items:center; gap:6px; padding:0;
  }
  .hamburger span{width:22px;height:2px;background:var(--text);display:block;transition:transform .25s ease, opacity .25s ease;}
  .hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .hamburger.open span:nth-child(2){opacity:0;}
  .hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

  .mobile-nav{
    display:none;
    position:fixed; top:0; left:0; right:0; bottom:0; z-index:39;
    background:var(--paper); padding:96px 32px 40px;
    flex-direction:column; align-items:center; gap:8px;
    opacity:0; visibility:hidden; transition:opacity .3s ease;
  }
  .mobile-nav.open{ opacity:1; visibility:visible; }
  .mobile-nav nav{ display:flex; flex-direction:column; align-items:center; gap:4px; width:100%; }
  .mobile-nav nav a{
    text-decoration:none; color:var(--text); font-family:'Fraunces',serif; font-size:22px;
    padding:16px 0; width:100%; text-align:center;
  }
  .mobile-nav .lang-switch{ margin-top:20px; padding-left:0; border-left:none; gap:14px; }
  .mobile-nav .lang-switch button{ font-size:15px; padding:10px; }

  @media (max-width:820px){
    .nav-wrap{gap:10px;}
    header .inner > .nav-wrap > nav,
    header .inner > .nav-wrap > .lang-switch{ display:none; }
    .hamburger{ display:flex; }
    .mobile-nav{ display:flex; }
  }

  .page-hero{ padding:150px 24px 20px; text-align:center; }
  .page-hero h1{ font-size:clamp(28px,4.4vw,46px); opacity:0; transform:translateY(10px); }
  .page-hero p{ margin-top:12px; font-size:16px; color:var(--text-soft); opacity:0; }

  footer.site-footer{
    padding:60px 24px 50px; text-align:center; color:var(--text-soft); font-size:13px;
  }


  .prod-story{ max-width:640px; margin:20px auto 0; padding:0 24px 80px; text-align:left; }
  .prod-story p{ color:var(--text-soft); font-size:16px; line-height:1.75; margin-top:20px; }
  .prod-story p:first-of-type{ margin-top:0; }
  .prod-stats{
    display:flex; justify-content:center; gap:60px; flex-wrap:wrap;
    max-width:640px; margin:56px auto 0; padding:0 24px; text-align:center;
  }
  .prod-stats .stat b{ display:block; font-family:'Fraunces',serif; font-size:clamp(26px,3.2vw,34px); color:var(--clay-600); }
  .prod-stats .stat span{ display:block; margin-top:6px; font-size:12.5px; letter-spacing:0.04em; color:var(--text-soft); text-transform:uppercase; }

  /* ---- Production slideshow — one large image at a time, slow crossfade,
       minimal dot navigation. Images use contain (never cover) against a
       dark fill so nothing is ever cropped, whatever the source aspect. ---- */
  .prod-slideshow{ max-width:1160px; margin:52px auto 0; padding:0 24px; }
  .prod-slideshow-frame{
    position:relative; width:100%; aspect-ratio:16/9;
    background:transparent; overflow:hidden;
  }
  .prod-slideshow-frame img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:contain;
    opacity:0; transition:opacity 1.1s ease;
  }
  .prod-slideshow-frame img.active{ opacity:1; }
  /* Manual navigation — minimal chevrons, easy to tap on mobile. */
  .prod-slideshow-arrow{
    position:absolute; top:50%; transform:translateY(-50%); z-index:2;
    width:44px; height:44px; padding:0; border:none; border-radius:50%; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    background:rgba(250,247,238,0.78); color:var(--ink-900);
    -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
    transition:background .25s ease, color .25s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .prod-slideshow-arrow svg{ width:18px; height:18px; display:block; }
  .prod-slideshow-arrow.prev{ left:14px; }
  .prod-slideshow-arrow.next{ right:14px; }
  .prod-slideshow-arrow:hover{ background:rgba(250,247,238,0.96); color:var(--clay-600); }
  .prod-slideshow-arrow:focus-visible{ outline:2px solid var(--clay-600); outline-offset:2px; }
  .prod-slideshow-dots{ display:flex; justify-content:center; gap:10px; margin-top:18px; }
  .prod-slideshow-dots button{
    width:7px; height:7px; padding:0; border-radius:50%; border:none; cursor:pointer;
    background:var(--note-line); transition:background .25s ease, transform .25s ease;
  }
  .prod-slideshow-dots button.active{ background:var(--clay-600); transform:scale(1.3); }

  @media (max-width:820px){
    .page-hero{ padding:130px 20px 16px; }
    .prod-story{ font-size:15px; }
    .prod-stats{ flex-direction:column; gap:28px; margin-top:44px; }
    .prod-slideshow{ margin-top:36px; padding:0 20px; }
    .prod-slideshow-arrow{ width:44px; height:44px; }
    .prod-slideshow-arrow.prev{ left:6px; }
    .prod-slideshow-arrow.next{ right:6px; }
  }
