  :root{
    --cream:#F7F1E7; --soft-cream:#FAF7F1; --ink:#0A0A0B;
    --muted-ink:rgba(10,10,11,0.68); --soft-ink:rgba(10,10,11,0.46);
    --soil:#7A4E2D; --tan:#C7A174;
    --copper:#C87533; --copper-light:#D9935A; --copper-dark:#A95D25;
    --glass-bg:rgba(255,255,255,0.30); --glass-border:rgba(255,255,255,0.42);
    --gold:#C87533; --gold-soft:#D9935A; --light:#F7F1E7;
  }
  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{ margin:0; font-family:"Inter","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--cream); color:var(--ink); -webkit-font-smoothing:antialiased; }
  .font-display{ font-family:"Inter","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-weight:600; letter-spacing:-0.035em; }
  h1,h2,h3{ text-wrap:balance; word-break:normal; overflow-wrap:break-word; hyphens:none; -webkit-hyphens:none; }
  .text-grad{ background-image:linear-gradient(101deg,var(--copper-dark) 0%,var(--copper-light) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
  .gt-orange{ color:var(--copper-light); }
  /* ===== Apple-style reveal / stagger ===== */
  .reveal{ opacity:0; transform:translateY(42px); filter:blur(10px);
    transition:opacity 1000ms cubic-bezier(.16,1,.3,1), transform 1000ms cubic-bezier(.16,1,.3,1), filter 1000ms cubic-bezier(.16,1,.3,1); }
  .reveal.is-visible{ opacity:1; transform:translateY(0); filter:blur(0); }
  .reveal-stagger > *{ opacity:0; transform:translateY(32px); filter:blur(8px);
    transition:opacity 900ms cubic-bezier(.16,1,.3,1), transform 900ms cubic-bezier(.16,1,.3,1), filter 900ms cubic-bezier(.16,1,.3,1); }
  .reveal-stagger.is-visible > *{ opacity:1; transform:translateY(0); filter:blur(0); }
  .reveal-stagger.is-visible > *:nth-child(1){ transition-delay:80ms; }
  .reveal-stagger.is-visible > *:nth-child(2){ transition-delay:180ms; }
  .reveal-stagger.is-visible > *:nth-child(3){ transition-delay:280ms; }
  .reveal-stagger.is-visible > *:nth-child(4){ transition-delay:380ms; }
  .reveal-stagger.is-visible > *:nth-child(5){ transition-delay:480ms; }
  .reveal-stagger.is-visible > *:nth-child(6){ transition-delay:580ms; }
  .reveal-stagger.is-visible > *:nth-child(7){ transition-delay:680ms; }
  .reveal-stagger.is-visible > *:nth-child(8){ transition-delay:780ms; }
  @media (prefers-reduced-motion:reduce){
    html{ scroll-behavior:auto; }
    .reveal, .reveal-stagger > *{ opacity:1 !important; transform:none !important; filter:none !important; transition:none !important; }
    .hero-content{ animation:none !important; }
    .grass-interaction-layer{ display:none; }
  }
  *,*::before,*::after{ font-variant-ligatures:none !important; -webkit-font-feature-settings:"liga" 0,"clig" 0,"dlig" 0,"calt" 0 !important; font-feature-settings:"liga" 0,"clig" 0,"dlig" 0,"calt" 0 !important; }
  html,body{ overflow-x:hidden; }

  /* ===== HERO ===== */
  .hero{
    position:relative; width:100%; height:100vh; min-height:760px; overflow:hidden;
    background-image:url('../img/hero.jpg');
    background-size:cover; background-position:center center; background-repeat:no-repeat;
  }
  .hero::before{
    content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      linear-gradient(90deg, rgba(247,241,231,0) 0%, rgba(247,241,231,0.05) 46%, rgba(247,241,231,0.40) 100%),
      linear-gradient(180deg, rgba(255,250,240,0.14) 0%, rgba(255,250,240,0) 32%, rgba(255,250,240,0.06) 100%);
  }
  /* warm bottom fade — dissolves the green grass into bronze */
  .hero-foot{ position:absolute; left:0; right:0; bottom:0; height:24%; z-index:1; pointer-events:none;
    background:linear-gradient(180deg, rgba(5,5,5,0) 0%, rgba(80,42,22,0.25) 58%, #70391B 100%); }

  /* ===== NAV ===== */
  .nav{ position:absolute; top:0; left:0; width:100%; z-index:5; padding:28px clamp(24px,5vw,72px);
    display:flex; align-items:center; justify-content:center; background:transparent; box-shadow:none; }
  .nav-links{ display:flex; gap:42px; }
  .nav-links a{ font-size:15px; font-weight:450; color:rgba(17,17,17,0.74); text-decoration:none; transition:color .25s ease; }
  .nav-links a:hover{ color:var(--ink); }
  .nav-contact{ position:absolute; right:clamp(24px,5vw,72px); top:50%; transform:translateY(-50%);
    border:1px solid rgba(255,255,255,0.5); border-radius:999px; padding:12px 26px;
    background:linear-gradient(135deg,rgba(255,255,255,0.4),rgba(255,255,255,0.14)); -webkit-backdrop-filter:blur(16px) saturate(180%); backdrop-filter:blur(16px) saturate(180%);
    box-shadow:inset 0 1px 1px rgba(255,255,255,0.8), 0 6px 18px rgba(20,18,14,0.08);
    font-size:15px; font-weight:500; color:var(--ink); text-decoration:none; transition:background .25s ease, transform .25s ease; }
  .nav-contact:hover{ background:linear-gradient(135deg,rgba(255,255,255,0.55),rgba(255,255,255,0.2)); transform:translateY(-50%) translateY(-1px); }

  /* ===== HERO CONTENT (right) ===== */
  .hero-content{ position:absolute; right:clamp(28px,7vw,128px); top:50%; transform:translateY(-50%);
    max-width:min(720px,46vw); z-index:3; text-align:left; overflow:visible; animation:heroIn .9s cubic-bezier(0.16,1,0.3,1) both; }
  .hero-eyebrow{ font-size:clamp(12px,1vw,14px); font-weight:600; letter-spacing:0.32em; text-transform:uppercase; color:rgba(17,17,17,0.56); margin:0 0 22px; }
  .hero-title{ font-size:clamp(56px,7vw,116px); line-height:1.0; letter-spacing:-0.035em; font-weight:700; color:var(--ink); margin:0; max-width:none; overflow:visible; }
  .health-up-accent{ display:inline-block; padding-right:0.1em; line-height:1.08; overflow:visible;
    background:linear-gradient(110deg,#A95D25 0%,#C87533 36%,#D9935A 60%,#A95D25 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
  .vending-text{ color:#0A0A0B; }
  .hero-subtitle{ margin-top:24px; font-size:clamp(17px,1.4vw,22px); line-height:1.55; font-weight:400; letter-spacing:-0.02em; color:rgba(17,17,17,0.66); max-width:460px; }
  .cta-row{ margin-top:36px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }

  /* ===== Liquid resin glass buttons ===== */
  /* iOS lock-screen keypad glass: clear lensing bubble, crisp rim, no animation */
  .liquid-glass-btn{ position:relative; isolation:isolate; display:inline-flex; align-items:center; gap:10px;
    border-radius:999px; padding:18px 34px; color:#111; font-size:16px; font-weight:600; letter-spacing:-0.01em; text-decoration:none;
    border:none;
    background:rgba(255,255,255,0.10);
    -webkit-backdrop-filter:blur(5px) saturate(170%) brightness(1.07); backdrop-filter:blur(5px) saturate(170%) brightness(1.07);
    box-shadow:
      inset 0 1px 9px rgba(255,255,255,0.45),
      inset 0 -10px 16px rgba(255,255,255,0.16),
      inset 9px 0 12px rgba(255,255,255,0.07),
      inset -9px 0 12px rgba(255,255,255,0.07),
      0 12px 30px rgba(20,18,14,0.16);
    transition:background 220ms ease, transform 220ms ease, box-shadow 220ms ease; }
  /* crisp rim light — brightest along the top edge, like the keypad bubbles */
  .liquid-glass-btn::before{ content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none;
    background:linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.20) 38%, rgba(255,255,255,0.10) 62%, rgba(255,255,255,0.55) 100%);
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask-composite:exclude; }
  /* faint lens vignette at the glass edge */
  .liquid-glass-btn::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:-1;
    background:radial-gradient(100% 130% at 50% 0%, rgba(255,255,255,0.28) 0%, rgba(255,255,255,0.0) 42%, rgba(255,255,255,0.0) 74%, rgba(255,255,255,0.20) 100%); }
  .liquid-glass-btn:hover{ background:rgba(255,255,255,0.18); }
  /* pressed: the bubble lights up, exactly like tapping a keypad digit */
  .liquid-glass-btn:active{ background:rgba(255,255,255,0.45); transform:scale(0.97);
    box-shadow:inset 0 1px 6px rgba(255,255,255,0.55), 0 6px 16px rgba(20,18,14,0.14); }
  .lg-secondary{ padding:17px 30px; font-weight:550; color:rgba(17,17,17,0.86); background:rgba(255,255,255,0.06); }
  .lg-secondary::before{ background:linear-gradient(180deg, rgba(255,255,255,0.75) 0%, rgba(255,255,255,0.14) 38%, rgba(255,255,255,0.08) 62%, rgba(255,255,255,0.40) 100%); }
  .lg-secondary:hover{ color:#111; background:rgba(255,255,255,0.14); }
  @media (prefers-reduced-motion:reduce){ .liquid-glass-btn{ transition:none; } }
  @keyframes heroIn{ from{ opacity:0; transform:translateY(-50%) translateY(22px); } to{ opacity:1; transform:translateY(-50%); } }


  @media (max-width:768px){
    .hero{ min-height:820px; background-position:28% center; }
    .hero::before{ background:linear-gradient(180deg, rgba(247,243,234,0.08) 0%, rgba(247,243,234,0.38) 48%, rgba(247,243,234,0.68) 100%); }
    .hero-content{ left:24px; right:24px; top:auto; bottom:72px; transform:none; max-width:none; animation:heroInM .9s cubic-bezier(0.16,1,0.3,1) both; }
    .hero-title{ font-size:clamp(48px,15vw,76px); line-height:0.94; letter-spacing:-0.065em; }
    .hero-subtitle{ font-size:18px; max-width:92%; }
    .nav-links{ display:none; }
    @keyframes heroInM{ from{ opacity:0; transform:translateY(22px);} to{ opacity:1; transform:translateY(0);} }
  }
  /* short desktop viewports — keep headline from clipping under the nav */
  @media (min-width:769px) and (max-height:760px){
    .hero-content{ top:calc(50% + 24px); }
    .hero-title{ font-size:clamp(40px,8.4vh,92px); }
    .hero-eyebrow{ margin-bottom:14px; }
    .hero-subtitle{ margin-top:18px; }
  }

  /* ===== content shared ===== */
  .glow-tile{ border:1px solid rgba(255,255,255,0.10); border-radius:20px; padding:15px 17px; color:#F5F5F7; background:rgba(12,12,14,0.86); box-shadow:0 12px 34px -12px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05); }
  .glow-tile .gt-icon{ color:var(--copper-light); margin-bottom:7px; display:flex; }
  .glow-tile .gt-icon svg{ width:20px; height:20px; stroke-width:2.2; }
  .glow-tile .gt-title{ font-size:15px; font-weight:600; color:#F5F5F7; letter-spacing:-0.01em; }
  .glow-tile .gt-desc{ font-size:12px; line-height:1.5; color:#C4C4CC; margin-top:4px; }
  .tiles-mobile .glow-tile{ width:100%; background:#0D0D0F; border-color:rgba(255,255,255,0.08); box-shadow:0 6px 18px rgba(0,0,0,0.25); }
  .home-dark-flow, .home-mobile-stock{ background:#050505; }
  /* compact bronze bridge: grass -> bronze -> black */
  .fade-light-to-dark{ height:clamp(70px,7vw,110px); margin:0;
    background:linear-gradient(to bottom, #70391B 0%, #4C2919 34%, #29170F 62%, #120B08 82%, #050505 100%); }
  /* bronze atmosphere between the black content and CTA sections */
  .fade-dark-to-light{ height:clamp(120px,14vw,190px); margin:0;
    background:linear-gradient(to bottom, #050505 0%, #2A160D 24%, #8C4A22 52%, #C87533 70%, #5A2E18 86%, #0A0A0B 100%); }
  @media (max-width:768px){
    .fade-light-to-dark{ height:clamp(50px,16vw,80px); }
    .fade-dark-to-light{ height:140px; }
  }
  .feature-card{ background:#0B0B0D; border:1px solid rgba(255,255,255,0.08); border-radius:28px; box-shadow:0 1px 3px rgba(0,0,0,0.3), 0 18px 40px -14px rgba(0,0,0,0.5); transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
  .feature-card:hover{ border-color:rgba(200,117,51,0.30); transform:translateY(-4px); box-shadow:0 1px 3px rgba(0,0,0,0.3), 0 26px 54px -16px rgba(0,0,0,0.6), inset 0 0 0 1px rgba(200,117,51,0.12); }
  .feature-card svg{ width:30px; height:30px; stroke-width:2.0; }
  .hf:focus{ box-shadow:0 0 0 4px rgba(184,106,46,0.14) !important; }
  .hf::placeholder{ color:rgba(17,17,17,0.5) !important; }
  #submit-btn:hover{ box-shadow:0 16px 40px rgba(184,106,46,0.30) !important; }
  .contact-card{ background:linear-gradient(135deg, rgba(255,255,255,0.62), rgba(255,255,255,0.34));
    -webkit-backdrop-filter:blur(22px) saturate(160%); backdrop-filter:blur(22px) saturate(160%);
    border:1px solid rgba(255,255,255,0.62); box-shadow:0 30px 70px rgba(20,18,14,0.10), inset 0 1px 1px rgba(255,255,255,0.85); }
  .contact-card .hf{ background:rgba(255,255,255,0.65) !important; border-color:rgba(17,17,17,0.12) !important; }

  /* ===== Product lanes (the "care cabinet") ===== */
  .lane-card{ background:#FFFFFF; border:1px solid rgba(10,10,11,0.07); border-radius:24px; padding:30px 28px; height:100%;
    box-shadow:0 1px 2px rgba(0,0,0,0.04), 0 24px 50px -22px rgba(20,18,14,0.18); transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease; }
  .lane-card:hover{ transform:translateY(-4px); box-shadow:0 2px 6px rgba(0,0,0,0.05), 0 34px 64px -22px rgba(20,18,14,0.24); }
  .lane-num{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:12px; margin-bottom:18px;
    background:linear-gradient(135deg,#F3E2CE,#E9CFAF); color:#A95D25; }
  .lane-num svg{ width:20px; height:20px; stroke-width:2; }
  .lane-tag{ font-size:11px; font-weight:600; letter-spacing:0.26em; text-transform:uppercase; color:#C87533; margin-bottom:8px; }
  .lane-title{ font-size:23px; font-weight:600; letter-spacing:-0.02em; color:#0A0A0B; margin:0 0 10px; }
  .lane-desc{ font-size:14.5px; line-height:1.55; color:rgba(10,10,11,0.62); margin:0 0 18px; }
  .chips{ display:flex; flex-wrap:wrap; gap:8px; }
  .brand-chip{ display:inline-flex; align-items:center; padding:7px 13px; border-radius:999px; background:#FAF7F1;
    border:1px solid rgba(10,10,11,0.09); font-size:12.5px; font-weight:500; letter-spacing:-0.01em; color:#3A3A3C; }

  /* ===== Machine options ===== */
  .machine-card{ background:#FFFFFF; border:1px solid rgba(10,10,11,0.07); border-radius:28px; padding:34px 30px 30px;
    display:flex; flex-direction:column; align-items:center; text-align:center; height:100%;
    box-shadow:0 1px 2px rgba(0,0,0,0.04), 0 26px 56px -24px rgba(20,18,14,0.20);
    transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease; }
  .machine-card:hover{ transform:translateY(-6px); border-color:rgba(90,209,192,0.5);
    box-shadow:0 2px 6px rgba(0,0,0,0.05), 0 40px 76px -26px rgba(20,18,14,0.26); }
  .machine-stage{ width:100%; display:flex; align-items:flex-end; justify-content:center;
    padding:14px 10px 22px; min-height:300px;
    background:radial-gradient(120% 90% at 50% 22%, #FBFDFC 0%, #F1F6F5 60%, #E9F1EF 100%);
    border-radius:22px; margin-bottom:22px; }
  .machine-stage svg{ width:auto; height:270px; max-width:100%; filter:drop-shadow(0 26px 30px rgba(30,60,55,0.18)); }
  .machine-badge{ font-size:11px; font-weight:600; letter-spacing:0.24em; text-transform:uppercase; color:#2FA895; margin-bottom:8px; }
  .machine-name{ font-size:24px; font-weight:600; letter-spacing:-0.02em; color:#0A0A0B; margin:0 0 8px; }
  .machine-desc{ font-size:14.5px; line-height:1.55; color:rgba(10,10,11,0.62); margin:0 0 18px; max-width:38ch; }
  .machine-specs{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:auto; }
  .spec-chip{ display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border-radius:999px;
    background:#F0F9F7; border:1px solid rgba(47,168,149,0.18); font-size:12.5px; font-weight:500; color:#1F6F62; }

  /* ===== Product image grid ===== */
  .prod-tile{ background:#FFFFFF; border:1px solid rgba(10,10,11,0.07); border-radius:22px; padding:18px 16px 16px;
    display:flex; flex-direction:column; align-items:center; text-align:center;
    box-shadow:0 1px 2px rgba(0,0,0,0.04), 0 16px 34px -20px rgba(20,18,14,0.16);
    transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease; }
  .prod-tile:hover{ transform:translateY(-4px); box-shadow:0 2px 6px rgba(0,0,0,0.05), 0 26px 46px -20px rgba(20,18,14,0.22); }
  .prod-shot{ width:100%; height:132px; display:flex; align-items:center; justify-content:center;
    background:radial-gradient(120% 100% at 50% 20%, #FBFBF9 0%, #F4F1EA 100%); border-radius:16px; margin-bottom:12px; }
  .prod-shot svg{ height:104px; width:auto; filter:drop-shadow(0 12px 14px rgba(30,25,18,0.14)); }
  .prod-name{ font-size:14.5px; font-weight:600; letter-spacing:-0.01em; color:#0A0A0B; }
  .prod-cat{ font-size:11.5px; font-weight:500; letter-spacing:0.02em; color:#C87533; margin-top:2px; }

  /* ===== Mission band ===== */
  .mission-band{ background:#050505; }
  .value-card{ background:#0B0B0D; border:1px solid rgba(255,255,255,0.08); border-radius:22px; padding:26px 24px;
    box-shadow:0 18px 40px -18px rgba(0,0,0,0.6); transition:border-color .25s ease, transform .25s ease; }
  .value-card:hover{ border-color:rgba(90,209,192,0.35); transform:translateY(-4px); }
  .value-ic{ width:44px; height:44px; border-radius:13px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;
    background:linear-gradient(135deg,rgba(99,216,199,0.22),rgba(70,191,173,0.12)); color:#63d8c7; }
  .value-ic svg{ width:22px; height:22px; stroke-width:2.1; }
  .value-card h3{ font-size:17px; font-weight:600; letter-spacing:-0.01em; color:#F5F5F7; margin:0 0 6px; }
  .value-card p{ font-size:13.5px; line-height:1.55; color:#B7B7BF; margin:0; }

  /* ===== Founder story ===== */
  .founder-portrait{ display:flex; flex-direction:column; align-items:center; }
  .founder-medallion{ width:min(340px,80%); aspect-ratio:1; border-radius:50%;
    box-shadow:0 40px 80px -30px rgba(31,111,98,0.55), inset 0 1px 2px rgba(255,255,255,0.4); }
  .founder-medallion svg{ width:100%; height:100%; display:block; }
  .founder-caption{ margin-top:16px; font-size:12.5px; color:rgba(10,10,11,0.42); text-align:center; max-width:30ch; }
  .cred-list{ margin-top:26px; display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; }
  @media (max-width:640px){ .cred-list{ grid-template-columns:1fr; } }
  .cred-item{ display:flex; align-items:flex-start; gap:12px; }
  .cred-ic{ flex:none; width:36px; height:36px; border-radius:11px; display:flex; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#F3E2CE,#E9CFAF); color:#A95D25; }
  .cred-ic svg{ width:18px; height:18px; stroke-width:2; }
  .cred-label{ margin:0; font-size:11px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:#C87533; }
  .cred-value{ margin:2px 0 0; font-size:14px; line-height:1.45; color:rgba(10,10,11,0.72); }
  .founder-quote{ margin:26px 0 0; padding:18px 22px; border-left:3px solid #C87533; border-radius:0 14px 14px 0;
    background:linear-gradient(135deg,rgba(200,117,51,0.08),rgba(217,147,90,0.04));
    font-family:"Inter","SF Pro Display",-apple-system,sans-serif; font-size:19px; font-weight:600; letter-spacing:-0.02em; line-height:1.4; color:#0A0A0B; }

  /* ===== Real photo overrides ===== */
  .machine-stage{ padding:0; min-height:0; background:#FFFFFF; overflow:hidden; }
  .machine-stage img{ width:100%; height:auto; display:block; border-radius:22px; }
  .prod-shot{ height:180px; padding:0; overflow:hidden; }
  .prod-shot img{ width:100%; height:100%; object-fit:cover; border-radius:16px; display:block; }

  .founder-medallion img{ width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }

  .prod-shot img.fit{ object-fit:contain; background:#FFFFFF; padding:10px; }

  /* ===== Multi-page additions ===== */
  .nav-solid{ position:sticky; top:0; background:rgba(247,241,231,0.88);
    -webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
    border-bottom:1px solid rgba(10,10,11,0.07); box-shadow:0 1px 0 rgba(255,255,255,0.6) inset; }
  .nav-solid .nav-links a{ color:rgba(10,10,11,0.66); }
  .nav-solid .nav-links a:hover{ color:#0A0A0B; }
  .nav-links a.active{ color:#A95D25; font-weight:600; }
  .nav-solid .nav-contact{ border:1px solid rgba(10,10,11,0.12);
    background:#0A0A0B; color:#FAF7F1; box-shadow:none; }
  .nav-solid .nav-contact:hover{ background:#C87533; }
  .page-head{ padding:72px 24px 8px; text-align:center; }
  .page-head .ph-eyebrow{ font-size:12px; font-weight:600; letter-spacing:0.3em; text-transform:uppercase; color:#C87533; margin:0 0 12px; }
  .page-head h1{ font-size:clamp(40px,6vw,72px); line-height:1.02; letter-spacing:-0.035em; font-weight:700; color:#0A0A0B; margin:0; }
  .page-head .ph-sub{ margin:18px auto 0; max-width:560px; font-size:17px; line-height:1.55; color:rgba(10,10,11,0.62); }
  .cta-band{ background:#0A0A0B; text-align:center; padding:88px 24px; }
  .cta-band h2{ color:#F5F5F7; font-size:clamp(32px,4.5vw,54px); letter-spacing:-0.03em; font-weight:700; margin:0 0 26px; }
  .cta-band a{ display:inline-block; border-radius:999px; padding:17px 36px; background:#C87533; color:#fff;
    font-size:16px; font-weight:600; text-decoration:none; transition:background .25s ease, transform .25s ease; }
  .cta-band a:hover{ background:#D9935A; transform:translateY(-2px); }
  .site-footer{ border-top:1px solid rgba(154,140,121,0.3); background:#F7F1E7; padding:40px 24px; text-align:center; }
  .site-footer .f-name{ font-weight:600; color:#0A0A0B; font-size:16px; }
  .site-footer .f-links{ margin:14px 0 10px; display:flex; gap:22px; justify-content:center; flex-wrap:wrap; }
  .site-footer .f-links a{ font-size:13.5px; color:rgba(10,10,11,0.55); text-decoration:none; }
  .site-footer .f-links a:hover{ color:#0A0A0B; }
  .site-footer .f-copy{ font-size:12.5px; color:rgba(10,10,11,0.4); }


  /* ===== Mobile nav (hamburger) ===== */
  .nav-toggle{ display:none; }
  @media (max-width:768px){
    .nav-toggle{ display:inline-flex; position:absolute; left:clamp(16px,5vw,24px); top:50%; transform:translateY(-50%);
      width:44px; height:44px; align-items:center; justify-content:center; border-radius:12px; padding:0;
      border:1px solid rgba(10,10,11,0.10); background:rgba(255,255,255,0.72); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); cursor:pointer; z-index:60; }
    .nav-toggle svg{ width:22px; height:22px; }
    .nav-links{ display:none; }
    .nav-links.open{ display:flex; flex-direction:column; gap:2px; position:absolute; top:calc(100% + 6px); left:16px; right:16px;
      background:rgba(255,255,255,0.97); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
      border:1px solid rgba(10,10,11,0.08); border-radius:18px; padding:10px; box-shadow:0 22px 54px rgba(20,18,14,0.18); }
    .nav-links.open a{ padding:13px 16px; border-radius:12px; font-size:16px; color:#0A0A0B !important; }
    .nav-links.open a:hover, .nav-links.open a:active{ background:#F7F1E7; }
  }

  /* prevent descender clipping (y,g,p) on gradient/display headings */
  .font-display{ line-height:1.12 !important; }
