/* ════════════════════════════════════════════════════════════
     NATUREJAB - UK TOUR PAGE
     Built on the NatureJab design system.
     Local fonts first; the Google link below is a preview
     fallback - DELETE it once /fonts is deployed.
     ════════════════════════════════════════════════════════════ */
      
  :where(#uk-root), :where(#uk-root *), :where(#uk-root *)::before, :where(#uk-root *)::after { box-sizing:border-box; margin:0; padding:0; }

  :root{
    --dark-bg:#0D0E0A; --dark-alt:#0F0F0B; --dark-2:#14150F; --card:#1A1B15;
    --hover:#171810; --border:#2A2B24;
    --cream:#EDE7D3; --cream-text:#F3EFE3;
    --green:#5DBA63; --green-soft:#2D5A30; --orange:#FF5B1F; --brown:#7A3316;
    --body-dark:#A8A393; --muted:#54524A;
    --dark-on-cream:#1A1B15; --body-cream:rgba(26,27,21,0.7);
    --border-light:rgba(26,27,21,0.12);
    --display:"Archivo Black",sans-serif;
    --body:"Bitter",Georgia,serif;
    --mono:"JetBrains Mono",monospace;
    --pad:32px;
    --ease:cubic-bezier(0.16,1,0.3,1);
  }

  
  #uk-root section[id], #uk-root header[id]{ scroll-margin-top:72px; }
  #uk-root{ background:#0A0B07; color:var(--cream-text); font-family:var(--body); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden; }
  #uk-root img, #uk-root svg{ max-width:100%; display:block; }
  #uk-root a{ color:inherit; }

  .uk-container{ width:100%; max-width:1216px; margin:0 auto; padding:0 var(--pad); position:relative; z-index:2; }

  /* ── shared primitives ───────────────────────────────── */
  .uk-eyebrow{
    display:flex; align-items:center; gap:10px;
    font-family:var(--mono); font-size:12.5px; letter-spacing:3.12px;
    text-transform:uppercase; color:var(--green); margin:0 0 20px;
  }
  .uk-eyebrow i{ width:20px; height:1px; background:currentColor; flex-shrink:0; display:block; }
  .uk-eyebrow--brown{ color:var(--brown); font-size:11px; letter-spacing:3px; }
  .uk-eyebrow--center{ justify-content:center; }

  .uk-h2{ font-family:var(--display); font-size:56px; line-height:1.0; letter-spacing:-1.44px; color:var(--cream-text); margin:0; }
  .uk-h2 .o{ color:var(--orange); }
  .uk-h2 .g{ color:var(--green); }
  .uk-h2--cream{ color:var(--dark-on-cream); text-transform:uppercase; font-size:52px; line-height:0.93; letter-spacing:-1.8px; }

  .uk-lede{ font-family:var(--body); font-size:17px; line-height:1.68; color:var(--body-dark); max-width:520px; margin:0; }
  .uk-lede--cream{ color:var(--body-cream); font-size:16.5px; line-height:1.72; }

  .uk-btn{
    font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:1.5px;
    text-transform:uppercase; padding:16px 28px; border:none; cursor:pointer;
    text-decoration:none; display:inline-flex; align-items:center; gap:10px;
    transition:opacity .15s; width:fit-content;
  }
  .uk-btn:hover{ opacity:.88; }
  .uk-btn .ar{ transition:transform .2s; }
  .uk-btn:hover .ar{ transform:translateX(4px); }
  .uk-btn--green{ background:var(--green); color:var(--dark-on-cream); }
  .uk-btn--orange{ background:var(--orange); color:var(--dark-on-cream); }
  .uk-btn--dark{ background:var(--dark-on-cream); color:var(--cream); font-size:12.5px; padding:16px 24px; }
  .uk-btn--dark:hover{ opacity:.78; }
  .uk-btn--ghost{
    background:transparent; border:1px solid var(--border); color:var(--body-dark);
    font-weight:400; font-size:12px; letter-spacing:1.2px; padding:16px 24px;
    transition:border-color .15s,color .15s;
  }
  .uk-btn--ghost:hover{ border-color:var(--green); color:var(--green); opacity:1; }

  .uk-tag{
    font-family:var(--mono); font-size:9.5px; letter-spacing:1.5px;
    padding:4px 10px 5px; border:1px solid var(--border);
    color:var(--muted); text-transform:uppercase;
  }
  .uk-badge{
    font-family:var(--mono); font-size:10.5px; letter-spacing:2px;
    padding:4px 10px 5px; text-transform:uppercase; width:fit-content;
  }
  .uk-badge--green{ background:var(--green); color:var(--card); }
  .uk-badge--orange{ background:var(--orange); color:var(--card); }
  .uk-badge--dark{ background:transparent; border:1px solid var(--border); color:var(--body-dark); }

  .uk-status{ display:inline-flex; align-items:center; gap:7px; font-family:var(--mono);
    font-size:10.5px; letter-spacing:2px; text-transform:uppercase; width:fit-content; }
  .uk-status .dot{ width:6px; height:6px; border-radius:50%; background:currentColor; flex-shrink:0; }

  /* image placeholder well - swap the inner markup for <img> or a canvas */
  .uk-slot{
    position:relative; background:var(--card); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
  }
  .uk-slot-inner{
    display:flex; flex-direction:column; align-items:center; gap:10px;
    font-family:var(--mono); font-size:10px; letter-spacing:2px;
    text-transform:uppercase; color:var(--muted); text-align:center; padding:24px;
  }
  .uk-slot-inner .ring{
    width:48px; height:48px; border:1px solid var(--green); border-radius:50%;
    display:flex; align-items:center; justify-content:center; color:var(--green); font-size:15px;
  }
  .uk-corner{ position:absolute; width:16px; height:16px; border:1px solid var(--green); z-index:2; }
  .uk-corner.tl{ top:12px; left:12px; border-right:none; border-bottom:none; }
  .uk-corner.tr{ top:12px; right:12px; border-left:none; border-bottom:none; }
  .uk-corner.bl{ bottom:12px; left:12px; border-right:none; border-top:none; }
  .uk-corner.br{ bottom:12px; right:12px; border-left:none; border-top:none; }

  /* atmosphere layers */
  .uk-grain{
    position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.032;
    background-size:200px 200px;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .uk-glow{ position:absolute; pointer-events:none; z-index:0; }

  /* ══════════════════════════════════════════════════════
     NAV
     ══════════════════════════════════════════════════════ */
  .uk-nav{
    position:sticky; top:0; z-index:50;
    background:rgba(13,14,10,0.92); backdrop-filter:blur(8px);
    border-bottom:1px solid var(--border);
  }
  .uk-nav-inner{
    max-width:1216px; margin:0 auto; padding:0 var(--pad);
    height:64px; display:flex; align-items:center; justify-content:space-between; gap:24px;
  }
  .uk-brand{ display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
  /* NatureJab lockup - embedded WebP, white wordmark on transparent */
  .uk-brand-logo{ height:30px; width:auto; display:block; }
  .uk-brand-sep{ width:1px; height:18px; background:var(--border); flex-shrink:0; }
  .uk-brand-uk{
    font-family:var(--mono); font-weight:700; font-size:11px; letter-spacing:2px;
    color:var(--green); text-transform:uppercase; white-space:nowrap;
  }
  .uk-nav-links{ display:flex; align-items:center; gap:26px; }
  .uk-nav-links a{
    font-family:var(--mono); font-size:11px; letter-spacing:1.8px; text-transform:uppercase;
    color:var(--body-dark); text-decoration:none; transition:color .15s; white-space:nowrap;
  }
  .uk-nav-links a:hover{ color:var(--green); }
  .uk-nav-cta{
    font-family:var(--mono); font-weight:700; font-size:11px; letter-spacing:1.5px;
    text-transform:uppercase; background:var(--green); color:var(--dark-on-cream);
    padding:11px 18px; text-decoration:none; transition:opacity .15s; white-space:nowrap;
  }
  .uk-nav-cta:hover{ opacity:.88; }

  /* ══════════════════════════════════════════════════════
     HERO
     ══════════════════════════════════════════════════════ */
  .uk-hero{
    position:relative; width:100%; background:var(--dark-bg);
    border-bottom:1px solid var(--border); overflow:hidden;
    min-height:clamp(640px,88vh,900px); display:flex; align-items:center;
  }
  .uk-hero .g-a{ width:1000px; height:800px; right:-220px; bottom:-240px;
    background:radial-gradient(ellipse at center, rgba(255,91,31,0.11) 0%, transparent 62%); }
  .uk-hero .g-b{ width:640px; height:520px; left:-100px; top:-140px;
    background:radial-gradient(ellipse at center, rgba(93,186,99,0.055) 0%, transparent 65%); }
  .uk-hero-rule{
    position:absolute; left:50%; top:0; bottom:0; width:1px; z-index:1; pointer-events:none;
    background:linear-gradient(to bottom, transparent 0%, var(--border) 20%, var(--border) 80%, transparent 100%);
    opacity:0; animation:ukFadeIn .8s ease 1.7s forwards;
  }
  .uk-hero-inner{ padding:clamp(72px,9vh,104px) 0; width:100%; }
  .uk-hero-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center;
  }
  .uk-hero-left{ min-width:0; display:flex; flex-direction:column; }

  .uk-hero-flag{
    display:inline-flex; align-items:center; gap:9px; width:fit-content;
    font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:2px;
    text-transform:uppercase; background:var(--orange); color:var(--card);
    padding:6px 13px 7px; margin-bottom:28px;
    opacity:0; animation:ukFadeUp .5s ease .1s forwards;
  }

  .uk-headline{
    font-family:var(--display); font-size:76px; line-height:0.90; letter-spacing:-2.6px;
    color:var(--cream-text); margin-bottom:30px;
  }
  .uk-hline{ display:block; overflow:hidden; line-height:1.0; }
  .uk-hline span{ display:block; transform:translateY(105%); animation:ukLineUp .6s var(--ease) forwards; }
  .uk-hline:nth-child(1) span{ animation-delay:.20s; }
  .uk-hline:nth-child(2) span{ animation-delay:.33s; }
  .uk-hline:nth-child(3) span{ animation-delay:.46s; color:var(--green); }
  .uk-hline:nth-child(4) span{ animation-delay:.59s; color:var(--green); }

  .uk-hero-body{
    font-family:var(--body); font-size:17px; line-height:1.68; color:var(--body-dark);
    max-width:470px; margin-bottom:38px; opacity:0; animation:ukFadeUp .6s ease .95s forwards;
  }
  .uk-hero-body strong{ color:var(--green); font-weight:500; }

  .uk-hero-actions{
    display:flex; align-items:center; flex-wrap:wrap; gap:16px;
    opacity:0; animation:ukFadeUp .5s ease 1.2s forwards;
  }

  .uk-hero-right{ position:relative; min-width:0; width:100%;
    opacity:0; animation:ukFadeIn .8s ease .6s forwards; }
  /* THREE.JS SWAP TARGET - replace .uk-slot contents with <canvas> / <img>, keep the box */
  .uk-hero-slot{ width:100%; aspect-ratio:4/5; max-width:460px; margin:0 auto; }
  .uk-hero-caption{
    max-width:460px; margin:0 auto; border:1px solid var(--border); border-top:none;
    background:var(--dark-2); padding:16px 18px;
    display:flex; flex-direction:column; gap:11px;
  }
  .uk-hero-caption-row{
    display:flex; justify-content:space-between; align-items:baseline; gap:12px;
    font-family:var(--mono); font-size:10px; letter-spacing:1.5px; text-transform:uppercase;
  }
  .uk-hero-caption-row .k{ color:var(--muted); }
  .uk-hero-caption-row .v{ color:var(--cream-text); text-align:right; }
  .uk-hero-caption-row .v.g{ color:var(--green); }

  @keyframes ukLineUp{ to{ transform:translateY(0); } }
  @keyframes ukFadeUp{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:translateY(0); } }
  @keyframes ukFadeIn{ to{ opacity:1; } }

  /* ══════════════════════════════════════════════════════
     01 - REACH
     ══════════════════════════════════════════════════════ */
  .uk-reach{
    position:relative; background:var(--dark-alt); border-bottom:1px solid var(--border);
    padding:96px 0; overflow:hidden;
  }
  .uk-reach .g-c{ width:800px; height:620px; right:-180px; top:-120px;
    background:radial-gradient(ellipse at center, rgba(93,186,99,0.06) 0%, transparent 68%); }

  .uk-sec-head{
    display:flex; align-items:flex-end; justify-content:space-between; gap:48px;
    margin-bottom:56px; flex-wrap:wrap;
  }
  .uk-sec-head-left{ flex:1 1 460px; min-width:0; }
  .uk-sec-head-right{ flex:0 1 400px; min-width:0; }

  /* headline stat band */
  .uk-statband{
    display:grid; grid-template-columns:repeat(6,1fr);
    border:1px solid var(--border); background:var(--dark-2); margin-bottom:20px;
  }
  .uk-statband-cell{
    padding:26px 20px; border-right:1px solid var(--border);
    display:flex; flex-direction:column; gap:8px; min-width:0;
  }
  .uk-statband-cell:last-child{ border-right:none; }
  .uk-statband-v{ font-family:var(--display); font-size:34px; line-height:1; letter-spacing:-1.2px; color:var(--green); }
  .uk-statband-v.o{ color:var(--orange); }
  .uk-statband-l{
    font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--cream-text); line-height:1.7;
  }

  /* viral case study */
  .uk-viral{
    display:grid; grid-template-columns:340px 1fr; gap:0;
    border:1px solid var(--border); background:var(--dark-2); margin-top:36px;
  }
  .uk-viral-media{
    border-right:1px solid var(--border); padding:28px;
    display:flex; flex-direction:column; gap:16px; background:var(--dark-alt);
  }
  /* 9:16 REEL SCREENSHOT SLOT */
  .uk-reel-slot{ width:100%; max-width:212px; aspect-ratio:9/16; margin:0 auto; }
  .uk-viral-media-cap{
    font-family:var(--mono); font-size:9.5px; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--muted); line-height:1.8;
  }
  .uk-viral-body{ padding:36px 36px 0; min-width:0; display:flex; flex-direction:column; }
  .uk-viral-title{
    font-family:var(--display); font-size:30px; line-height:1.08; letter-spacing:-.7px;
    color:var(--cream-text); margin:14px 0 14px;
  }
  .uk-viral-desc{
    font-family:var(--body); font-size:15.5px; line-height:1.68; color:var(--body-dark);
    max-width:560px; margin-bottom:28px;
  }
  .uk-viral-desc strong{ color:var(--cream-text); font-weight:700; }

  .uk-metric-grid{
    display:grid; grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--border); border-left:1px solid var(--border);
    margin-top:auto;
  }
  .uk-metric{
    padding:18px 20px; border-right:1px solid var(--border); border-bottom:1px solid var(--border);
    display:flex; flex-direction:column; gap:5px; min-width:0;
  }
  .uk-metric-v{ font-family:var(--display); font-size:22px; line-height:1; letter-spacing:-.5px; color:var(--cream-text); }
  .uk-metric-v.g{ color:var(--green); }
  .uk-metric-v.o{ color:var(--orange); }
  .uk-metric-l{ font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--cream-text); }

  .uk-viral-foot{
    grid-column:1 / -1; border-top:1px solid var(--border);
    padding:16px 36px; display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    font-family:var(--mono); font-size:9.5px; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--muted);
  }
  .uk-viral-foot b{ color:var(--green); font-weight:400; }

  /* press strip */
  .uk-press{
    display:grid; grid-template-columns:repeat(6,1fr); gap:0;
    border:1px solid var(--border); margin-top:20px;
  }
  .uk-press-cell{
    padding:22px 14px; border-right:1px solid var(--border);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:5px; text-align:center; min-width:0; transition:background .2s;
  }
  .uk-press-cell:last-child{ border-right:none; }
  .uk-press-cell:hover{ background:var(--hover); }
  .uk-press-n{ font-family:var(--display); font-size:14px; letter-spacing:-.2px; color:var(--cream-text); line-height:1.15; }
  /* ── REPLACEABLE PRESS LOGO SLOT ──
     Drop your logo file in and edit the inline url() on each cell below.
     Use a white / greyscale SVG or transparent PNG, roughly 120×30.
     Then delete that cell's "is-empty" class to remove the dashed frame. */
  .uk-press-logo{
    width:100%; max-width:170px; height:52px; margin-bottom:4px;
    background-position:center; background-size:contain; background-repeat:no-repeat;
  }
  .uk-press-logo.is-empty{ border:1px dashed var(--border); }
  .uk-press-t{ font-family:var(--mono); font-size:8.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }

  /* ══════════════════════════════════════════════════════
     02 - THE PITCH (CREAM)
     ══════════════════════════════════════════════════════ */
  .uk-pitch{
    position:relative; background:var(--cream); color:var(--dark-on-cream);
    border-top:1px solid var(--border-light); border-bottom:1px solid var(--border-light);
    padding:88px 0 80px; overflow:hidden;
  }
  .uk-pitch::before{ content:""; position:absolute; inset:0; background:rgba(122,51,22,0.025); pointer-events:none; }
  .uk-pitch-grid{ display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
  .uk-pitch-left{ min-width:0; }
  .uk-pitch-body{
    font-family:var(--body); font-size:16.5px; line-height:1.72; color:var(--body-cream);
    margin:28px 0 0;
  }
  .uk-pitch-body p{ margin-bottom:18px; }
  .uk-pitch-body p:last-child{ margin-bottom:0; }
  .uk-pitch-body strong{ color:var(--dark-on-cream); font-weight:700; }

  .uk-pitch-right{ border:1px solid var(--border-light); min-width:0; }
  .uk-prow{
    display:grid; grid-template-columns:56px 1fr;
    border-bottom:1px solid var(--border-light); position:relative; transition:background .2s;
  }
  .uk-prow:last-child{ border-bottom:none; }
  .uk-prow:hover{ background:rgba(122,51,22,0.04); }
  .uk-prow::before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
    background:transparent; transition:background .2s;
  }
  .uk-prow:hover::before{ background:var(--orange); }
  .uk-prow-icon{
    display:flex; align-items:flex-start; justify-content:center; padding:26px 0;
    border-right:1px solid var(--border-light);
  }
  .uk-prow-ring{
    width:36px; height:36px; background:var(--dark-on-cream); border-radius:50%;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .uk-prow-content{ padding:26px 26px 26px 22px; display:flex; flex-direction:column; gap:8px; min-width:0; }
  .uk-prow-num{ font-family:var(--mono); font-size:9px; letter-spacing:2px; color:rgba(26,27,21,0.25); text-transform:uppercase; }
  .uk-prow-title{ font-family:var(--display); font-size:16px; letter-spacing:.3px; text-transform:uppercase; color:var(--dark-on-cream); line-height:1.1; }
  .uk-prow-desc{ font-family:var(--body); font-size:14.5px; line-height:1.6; color:rgba(26,27,21,0.65); }


  /* ══════════════════════════════════════════════════════
     03 - OPPORTUNITIES
     ══════════════════════════════════════════════════════ */
  .uk-ops{ position:relative; background:var(--dark-bg); border-bottom:1px solid var(--border); padding:96px 0; overflow:hidden; }
  .uk-ops .g-d{ width:760px; height:600px; left:-200px; bottom:-160px;
    background:radial-gradient(ellipse at center, rgba(255,91,31,0.07) 0%, transparent 66%); }

  .uk-ops-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .uk-op{
    background:var(--dark-2); border:1px solid var(--border);
    display:flex; flex-direction:column; position:relative; overflow:hidden;
    transition:border-color .2s, transform .2s;
  }
  .uk-op:hover{ border-color:var(--green); transform:translateY(-4px); }
  .uk-op-num{
    position:absolute; top:16px; right:16px; z-index:3;
    font-family:var(--mono); font-size:10px; letter-spacing:2px; color:rgba(255,255,255,0.12);
  }
  .uk-op-top{ padding:24px 24px 0; display:flex; flex-direction:column; gap:14px; }
  .uk-op-title{ font-family:var(--display); font-size:21px; line-height:1.14; letter-spacing:-.3px; color:var(--cream-text); }
  .uk-op-desc{ font-family:var(--body); font-size:14.5px; line-height:1.65; color:var(--body-dark); }
  .uk-op-list{ display:flex; flex-direction:column; gap:0; margin-top:6px; }
  .uk-op-li{
    display:flex; align-items:baseline; gap:10px; padding:8px 0;
    border-top:1px solid var(--border);
    font-family:var(--mono); font-size:10px; letter-spacing:1.3px;
    text-transform:uppercase; color:var(--muted); line-height:1.7;
  }
  .uk-op-li .b{ color:var(--green); flex-shrink:0; }
  .uk-op-foot{
    margin-top:auto; padding:14px 24px; border-top:1px solid var(--border);
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    font-family:var(--mono); font-size:10.5px; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--green); text-decoration:none;
    transition:background .2s;
  }
  .uk-op:hover .uk-op-foot{ background:rgba(93,186,99,0.06); }
  .uk-op-foot .ar{ transition:transform .2s; }
  .uk-op:hover .uk-op-foot .ar{ transform:translateX(4px); }

  /* ══════════════════════════════════════════════════════
     04 - CALENDAR
     ══════════════════════════════════════════════════════ */
  .uk-cal{ position:relative; background:var(--dark-alt); border-bottom:1px solid var(--border); padding:96px 0; overflow:hidden; }

  .uk-window{
    border:1px solid var(--border); background:var(--dark-2);
    padding:24px 28px; margin-bottom:32px;
    display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
  }
  .uk-window-side{ display:flex; flex-direction:column; gap:6px; min-width:0; }
  .uk-window-l{ font-family:var(--mono); font-size:9.5px; letter-spacing:1.8px; text-transform:uppercase; color:var(--muted); }
  .uk-window-v{ font-family:var(--display); font-size:26px; line-height:1; letter-spacing:-.6px; color:var(--cream-text); }
  .uk-window-v.g{ color:var(--green); }
  .uk-window-bar{ flex:1 1 200px; display:flex; flex-direction:column; gap:8px; min-width:160px; }
  .uk-window-track{ height:3px; background:var(--border); width:100%; position:relative; }
  .uk-window-fill{ position:absolute; left:14%; width:44%; top:0; bottom:0; background:var(--green); }
  .uk-window-marks{ display:flex; justify-content:space-between; font-family:var(--mono);
    font-size:9px; letter-spacing:1.3px; text-transform:uppercase; color:var(--muted); }

  .uk-cal-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .uk-date{
    background:var(--dark-2); border:1px solid var(--border);
    display:flex; flex-direction:column; position:relative; overflow:hidden;
    transition:border-color .2s, transform .2s;
  }
  .uk-date:hover{ border-color:var(--green); transform:translateY(-4px); }
  .uk-date-accent{ height:3px; width:100%; }
  .uk-date-accent.green{ background:var(--green); }
  .uk-date-accent.orange{ background:var(--orange); }
  .uk-date-accent.dim{ background:var(--border); }
  .uk-date-num{
    position:absolute; top:16px; right:16px; z-index:3;
    font-family:var(--mono); font-size:10px; letter-spacing:2px; color:rgba(255,255,255,0.12);
  }
  .uk-date-top{ padding:22px 22px 0; display:flex; flex-direction:column; gap:12px; }
  .uk-date-when{ font-family:var(--mono); font-size:11.5px; letter-spacing:1.5px; color:var(--cream-text); text-transform:uppercase; }
  .uk-date-city{ font-family:var(--display); font-size:22px; line-height:1.1; letter-spacing:-.4px; color:var(--cream-text); }
  .uk-date-venue{ font-family:var(--mono); font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); line-height:1.7; }
  .uk-date-body{ padding:14px 22px 18px; flex:1; }
  .uk-date-desc{ font-family:var(--body); font-size:14px; line-height:1.65; color:var(--body-dark); }
  .uk-date-tags{ padding:0 22px 16px; display:flex; gap:6px; flex-wrap:wrap; }
  .uk-date-foot{
    margin-top:auto; padding:13px 22px; border-top:1px solid var(--border);
    display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
    font-family:var(--mono); font-size:9.5px; letter-spacing:1.4px; text-transform:uppercase; color:var(--muted);
  }
  .uk-cal-note{
    margin-top:24px; padding:18px 22px; border:1px solid var(--border); background:var(--dark-2);
    font-family:var(--body); font-size:14.5px; line-height:1.65; color:var(--body-dark);
    display:flex; gap:14px; align-items:flex-start;
  }
  .uk-cal-note .mk{ color:var(--orange); font-family:var(--mono); font-size:11px;
    letter-spacing:1.5px; text-transform:uppercase; flex-shrink:0; padding-top:2px; }

  /* ══════════════════════════════════════════════════════
     05 - FORM
     ══════════════════════════════════════════════════════ */
  .uk-form-sec{ position:relative; background:var(--dark-bg); border-bottom:1px solid var(--border); padding:96px 0; overflow:hidden; }
  .uk-form-sec .g-e{ width:900px; height:700px; right:-240px; top:-180px;
    background:radial-gradient(ellipse at center, rgba(93,186,99,0.07) 0%, transparent 66%); }

  .uk-form-grid{ display:grid; grid-template-columns:380px 1fr; gap:0; border:1px solid var(--border); background:var(--dark-2); }
  .uk-form-aside{ padding:40px 36px; border-right:1px solid var(--border); background:var(--dark-alt); display:flex; flex-direction:column; gap:26px; min-width:0; }
  .uk-form-aside-title{ font-family:var(--display); font-size:28px; line-height:1.06; letter-spacing:-.7px; color:var(--cream-text); }
  .uk-form-aside-body{ font-family:var(--body); font-size:15px; line-height:1.68; color:var(--body-dark); }
  .uk-checklist{ display:flex; flex-direction:column; border-top:1px solid var(--border); }
  .uk-check{
    display:flex; align-items:flex-start; gap:11px; padding:12px 0; border-bottom:1px solid var(--border);
    font-family:var(--mono); font-size:10px; letter-spacing:1.4px; text-transform:uppercase;
    color:var(--body-dark); line-height:1.7;
  }
  .uk-check .tick{ color:var(--green); flex-shrink:0; }
  .uk-form-contact{ margin-top:auto; display:flex; flex-direction:column; gap:8px; }
  .uk-form-contact-l{ font-family:var(--mono); font-size:9.5px; letter-spacing:1.8px; text-transform:uppercase; color:var(--muted); }
  .uk-form-contact a{ font-family:var(--mono); font-size:12px; letter-spacing:.6px; color:var(--green); text-decoration:none; }
  .uk-form-contact a:hover{ opacity:.75; }

  .uk-form-main{ padding:40px 36px; min-width:0; }
  .uk-form-title{ font-family:var(--display); font-size:18px; letter-spacing:-.2px; color:var(--cream-text); margin-bottom:24px; }
  .uk-fr{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
  .uk-fr--full{ grid-template-columns:1fr; }
  .uk-fr--three{ grid-template-columns:1fr 1fr 1fr; }
  .uk-field{ display:flex; flex-direction:column; gap:7px; min-width:0; }
  .uk-field label{ font-family:var(--mono); font-size:10px; letter-spacing:1.5px; color:var(--muted); text-transform:uppercase; }
  .uk-field input, .uk-field select, .uk-field textarea{
    background:var(--dark-bg); border:1px solid var(--border); color:var(--cream-text);
    font-family:var(--body); font-size:14.5px; padding:12px 14px; width:100%; max-width:100%;
    outline:none; border-radius:0; -webkit-appearance:none; appearance:none; resize:none;
    transition:border-color .15s;
  }
  .uk-field input:focus, .uk-field select:focus, .uk-field textarea:focus{ border-color:var(--green); }
  .uk-field input::placeholder, .uk-field textarea::placeholder{ color:var(--muted); }
  .uk-field select{
    cursor:pointer; padding-right:36px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2354524A' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 14px center;
  }
  .uk-formats{ display:flex; flex-wrap:wrap; gap:8px; margin-top:2px; }
  .uk-chip{
    font-family:var(--mono); font-size:10px; letter-spacing:1.4px; text-transform:uppercase;
    padding:8px 13px; border:1px solid var(--border); background:transparent;
    color:var(--body-dark); cursor:pointer; transition:border-color .15s,color .15s,background .15s;
  }
  .uk-chip:hover{ border-color:var(--green); color:var(--green); }
  .uk-chip.is-on{ border-color:var(--green); color:var(--green); background:rgba(93,186,99,0.07); }
  .uk-divider{ height:1px; background:var(--border); margin:22px 0; }
  .uk-checkrow{ display:flex; align-items:flex-start; gap:12px; padding:10px 0; cursor:pointer; }
  .uk-checkrow input[type="checkbox"]{
    width:18px; height:18px; flex-shrink:0; margin-top:1px;
    border:1px solid var(--border); background:var(--dark-bg);
    -webkit-appearance:none; appearance:none; cursor:pointer; position:relative;
    transition:border-color .15s; border-radius:0;
  }
  .uk-checkrow input[type="checkbox"]:checked{ background:var(--green); border-color:var(--green); }
  .uk-checkrow input[type="checkbox"]:checked::after{
    content:"✓"; position:absolute; color:var(--card); font-size:12px; font-weight:bold;
    top:50%; left:50%; transform:translate(-50%,-50%);
  }
  .uk-checkrow-l{ font-family:var(--body); font-size:14px; line-height:1.5; color:var(--body-dark); }
  .uk-checkrow-l strong{ color:var(--cream-text); }
  .uk-submit{
    width:100%; font-family:var(--mono); font-weight:700; font-size:12.5px; letter-spacing:1.5px;
    padding:16px 22px; background:var(--green); color:var(--dark-on-cream); border:none;
    cursor:pointer; text-transform:uppercase; display:flex; align-items:center;
    justify-content:space-between; gap:12px; transition:opacity .15s; margin-top:18px;
  }
  .uk-submit:hover{ opacity:.88; }
  .uk-form-note{
    font-family:var(--mono); font-size:9px; letter-spacing:1.5px; text-transform:uppercase;
    color:var(--muted); text-align:center; margin-top:12px; line-height:1.8;
  }
  .uk-success{
    display:none; flex-direction:column; align-items:center; gap:16px;
    padding:56px 20px; text-align:center;
  }
  .uk-success.is-on{ display:flex; }
  .uk-success-ring{
    width:56px; height:56px; border:2px solid var(--green); border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-size:24px; color:var(--green);
  }
  .uk-success-t{ font-family:var(--display); font-size:24px; letter-spacing:-.4px; color:var(--cream-text); }
  .uk-success-s{ font-family:var(--body); font-size:15px; line-height:1.6; color:var(--body-dark); max-width:400px; }

  /* ══════════════════════════════════════════════════════
     CTA + FOOTER
     ══════════════════════════════════════════════════════ */
  .uk-cta{
    position:relative; background:var(--cream); color:var(--dark-on-cream);
    border-top:1px solid var(--border-light); padding:88px 0 80px; overflow:hidden;
  }
  .uk-cta::before{ content:""; position:absolute; inset:0; background:rgba(122,51,22,0.025); pointer-events:none; }
  .uk-cta-inner{ display:flex; flex-direction:column; align-items:center; text-align:center; max-width:880px; margin:0 auto; }
  .uk-cta-h{
    font-family:var(--display); font-size:52px; line-height:0.93; letter-spacing:-1.8px;
    text-transform:uppercase; color:var(--dark-on-cream); margin:0 0 28px;
  }
  .uk-cta-h .o{ color:var(--orange); }
  .uk-cta-p{ font-family:var(--body); font-size:16.5px; line-height:1.68; color:var(--body-cream); max-width:620px; margin:0 0 40px; }
  .uk-cta-actions{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }

  .uk-foot{ background:var(--dark-bg); border-top:1px solid var(--border); padding:64px 0 32px; }
  .uk-foot-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:40px; margin-bottom:48px; }
  .uk-foot-col{ display:flex; flex-direction:column; gap:12px; min-width:0; }
  .uk-foot-h{ font-family:var(--mono); font-size:9.5px; letter-spacing:2px; text-transform:uppercase; color:var(--green); margin-bottom:4px; }
  .uk-foot-h.o{ color:var(--orange); }
  .uk-foot-col p, .uk-foot-col a{
    font-family:var(--body); font-size:14.5px; line-height:1.6; color:var(--body-dark);
    text-decoration:none; word-break:break-word;
  }
  .uk-foot-col a{ color:var(--green); }
  .uk-foot-col a:hover{ opacity:.75; }
  .uk-foot-bottom{
    border-top:1px solid var(--border); padding-top:24px;
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
    font-family:var(--mono); font-size:9.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted);
  }
  .uk-foot-social{ display:flex; gap:8px; flex-wrap:wrap; }
  .uk-foot-social a{
    padding:7px 12px; border:1px solid var(--border); color:var(--muted);
    text-decoration:none; transition:border-color .15s,color .15s;
    font-family:var(--mono); font-size:9.5px; letter-spacing:1.5px;
  }
  .uk-foot-social a:hover{ border-color:var(--green); color:var(--green); }

  /* ══════════════════════════════════════════════════════
     RESPONSIVE - 1024 / 900 / 768 / 560 / 380
     ══════════════════════════════════════════════════════ */
  @media (max-width:1120px){
    .uk-statband{ grid-template-columns:repeat(3,1fr); }
    .uk-statband-cell:nth-child(3n){ border-right:none; }
    .uk-statband-cell:nth-child(-n+3){ border-bottom:1px solid var(--border); }
    .uk-press{ grid-template-columns:repeat(3,1fr); }
    .uk-press-cell:nth-child(3n){ border-right:none; }
    .uk-press-cell:nth-child(-n+3){ border-bottom:1px solid var(--border); }
  }

  @media (max-width:1024px){
    :root{ --pad:28px; }
    .uk-nav-links{ display:none; }
    .uk-hero{ min-height:auto; }
    .uk-hero-rule{ display:none; }
    /* Stacked reading order: flag → headline → body → tags → frame → CTAs.
       display:contents dissolves .uk-hero-left's box so its children join the
       hero flex flow, letting the frame sit between the tags and the buttons. */
    .uk-hero-grid{ display:flex; flex-direction:column; align-items:stretch; gap:0; }
    .uk-hero-left{ display:contents; }
    .uk-hero-flag   { order:1; }
    .uk-headline    { order:2; }
    .uk-hero-body   { order:3; }
    .uk-hero-right  { order:5; margin-bottom:34px; animation-delay:1.15s; }
    .uk-hero-actions{ order:6; animation-delay:1.3s; }
    /* left-align the frame with the text column instead of centring it */
    .uk-hero-slot, .uk-hero-caption{ max-width:440px; margin-left:0; margin-right:auto; }
    .uk-headline{ font-size:62px; letter-spacing:-2px; }
    .uk-h2{ font-size:44px; letter-spacing:-1px; }
    .uk-h2--cream{ font-size:44px; letter-spacing:-1.4px; }
    .uk-cta-h{ font-size:44px; letter-spacing:-1.4px; }
    .uk-ops-grid{ grid-template-columns:repeat(2,1fr); }
    .uk-cal-grid{ grid-template-columns:repeat(2,1fr); }
    .uk-pitch-grid{ gap:56px; }
    .uk-form-grid{ grid-template-columns:1fr; }
    .uk-form-aside{ border-right:none; border-bottom:1px solid var(--border); }
    .uk-foot-grid{ grid-template-columns:repeat(2,1fr); gap:32px; }
  }

  @media (max-width:900px){
    .uk-pitch-grid{ grid-template-columns:1fr; gap:48px; }
    .uk-viral{ grid-template-columns:1fr; }
    .uk-viral-media{ border-right:none; border-bottom:1px solid var(--border);
      flex-direction:column; align-items:stretch; gap:16px; padding:0; }
    .uk-reel-slot{ width:100%; max-width:none; aspect-ratio:16/9; margin:0; border:0; }
    .uk-viral-media-cap{ padding:0 28px 20px; }
    .uk-viral-body{ padding:28px 28px 0; }
    .uk-viral-foot{ padding:16px 28px; }
  }

  @media (max-width:768px){
    :root{ --pad:24px; }
    .uk-hero-inner{ padding:56px 0 64px; }
    .uk-headline{ font-size:50px; letter-spacing:-1.5px; }
    .uk-hero-body{ font-size:16px; }
    .uk-reach, .uk-ops, .uk-cal, .uk-form-sec{ padding:72px 0; }
    .uk-pitch, .uk-cta{ padding:72px 0 64px; }
    /* once stacked, flex-basis would act on HEIGHT - reset it */
    .uk-sec-head{ flex-direction:column; align-items:flex-start; gap:24px; margin-bottom:40px; }
    .uk-sec-head-left,
    .uk-sec-head-right{ flex:0 0 auto; width:100%; }
    .uk-lede{ max-width:100%; }
    .uk-metric:last-child{ grid-column:1 / -1; }
    .uk-h2{ font-size:36px; }
    .uk-h2--cream{ font-size:36px; letter-spacing:-1px; line-height:0.96; }
    .uk-cta-h{ font-size:36px; letter-spacing:-1px; line-height:0.96; }
    .uk-viral-title{ font-size:26px; }
    .uk-metric-grid{ grid-template-columns:repeat(2,1fr); }
    .uk-fr, .uk-fr--three{ grid-template-columns:1fr; }
    .uk-form-aside, .uk-form-main{ padding:32px 24px; }
    .uk-window{ padding:22px 24px; gap:24px; }
  }

  @media (max-width:640px){
    .uk-ops-grid{ grid-template-columns:1fr; }
    .uk-cal-grid{ grid-template-columns:1fr; }
    .uk-statband{ grid-template-columns:repeat(2,1fr); }
    .uk-statband-cell{ border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
    .uk-statband-cell:nth-child(2n){ border-right:none; }
    .uk-statband-cell:nth-last-child(-n+2){ border-bottom:none; }
    .uk-press{ grid-template-columns:repeat(2,1fr); }
    .uk-press-cell{ border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
    .uk-press-cell:nth-child(2n){ border-right:none; }
    .uk-press-cell:nth-last-child(-n+2){ border-bottom:none; }
    .uk-viral-media{ flex-direction:column; }
    .uk-reel-slot{ width:100%; max-width:none; aspect-ratio:16/9; }
    .uk-foot-grid{ grid-template-columns:1fr; gap:28px; }
  }

  @media (max-width:560px){
    :root{ --pad:20px; }
    .uk-headline{ font-size:40px; letter-spacing:-1px; line-height:0.95; }
    .uk-hero-actions{ flex-direction:column; align-items:stretch; gap:12px; }
    .uk-btn{ width:100%; justify-content:center; }
    .uk-statband-v{ font-size:28px; }
    .uk-h2{ font-size:31px; }
    .uk-h2--cream, .uk-cta-h{ font-size:31px; }
    .uk-viral-title{ font-size:23px; }
    .uk-prow{ grid-template-columns:48px 1fr; }
    .uk-prow-icon{ padding:22px 0; }
    .uk-prow-content{ padding:22px 18px 22px 16px; }
    /* same flex-basis-as-height trap once the window bar stacks */
    .uk-window{ flex-direction:column; align-items:stretch; gap:20px; }
    .uk-window-bar{ flex:0 0 auto; width:100%; }
    .uk-window-side{ align-items:flex-start !important; text-align:left !important; }
    .uk-cta-actions{ flex-direction:column; align-items:stretch; width:100%; }
    .uk-nav-inner{ height:58px; }
    .uk-brand-logo{ height:26px; }
  }

  @media (max-width:380px){
    :root{ --pad:16px; }
    .uk-headline{ font-size:34px; }
    .uk-h2, .uk-h2--cream, .uk-cta-h{ font-size:27px; }
    .uk-metric-grid{ grid-template-columns:1fr; }
    .uk-statband{ grid-template-columns:1fr; }
    .uk-statband-cell{ border-right:none; }
    .uk-press{ grid-template-columns:1fr; }
    .uk-press-cell{ border-right:none; }
  }

  @media (prefers-reduced-motion:reduce){
    #uk-root *, #uk-root *::before, #uk-root *::after{ animation-duration:.001s !important; transition-duration:.001s !important; }
    .uk-hline span{ transform:none; }
    .uk-hero-flag,.uk-hero-body,.uk-hero-actions,.uk-hero-right,.uk-hero-rule{ opacity:1; }
  }

  #uk-root .uk-slot-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

/* - reactor journey band (ported from links-page) - */
.lkpj-wrap {
  position: relative; height: 250px; overflow: hidden;
  background: #0D0E0A;
  border-top: 1px solid #1D1E17; border-bottom: 1px solid #1D1E17;
  margin: 0;
}
.lkpj-canvas { position: absolute; inset: 0; z-index: 0; }
.lkpj-wrap::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, #0D0E0A 0%, rgba(13,14,10,0) 10%, rgba(13,14,10,0) 90%, #0D0E0A 100%);
}
.lkpj-label {
  position: absolute; top: 15px; left: 18px; z-index: 2;
  font-family: "Archivo Black", sans-serif; font-size: 13px; font-weight: 400;
  text-transform: uppercase; letter-spacing: 1.6px; color: #F3EFE3;
  opacity: 0; transition: opacity .7s; white-space: nowrap;
}
.lkpj-label.show { opacity: 1; }
.lkpj-sub {
  position: absolute; top: 36px; left: 18px; z-index: 2;
  font-family: "JetBrains Mono", monospace; font-size: 10px; font-weight: 600;
  letter-spacing: 1.8px; text-transform: uppercase; color: #5DBA63;
  opacity: 0; transition: opacity .7s; white-space: nowrap;
}
.lkpj-sub.show { opacity: .85; }
.lkpj-wrap.lkpj-press {
  height: 150px; background: transparent;
  border-top: 0; border-bottom: 0;
}
.lkpj-wrap.lkpj-press::after { background: none; }
.lkpj-wrap.lkpj-press .lkpj-label {
  top: auto; left: 50%; bottom: 28px; transform: translateX(-50%);
  letter-spacing: .5px; transition: opacity .5s;
}
.lkpj-wrap.lkpj-press .lkpj-sub {
  top: auto; left: 50%; bottom: 12px; transform: translateX(-50%);
  letter-spacing: 1.6px; transition: opacity .5s;
}
.lkpj-wrap.lkpj-press .lkpj-sub.show { opacity: .9; }

  #uk-root .uk-band-holder{ padding-top:28px; padding-bottom:28px; }

  #uk-root .uk-slot-pic{ position:absolute; inset:0; display:block; }

  /* - cinematic video player - */
  #uk-root .uk-play-trigger{ border:1px solid var(--border); background:var(--card); cursor:pointer; padding:0; position:relative; display:block; }
  #uk-root .uk-play-trigger:hover .uk-play-badge{ transform:translate(-50%,-50%) scale(1.08); background:var(--green); }
  #uk-root .uk-play-trigger:hover .uk-slot-img{ opacity:.72; }
  #uk-root .uk-slot-img{ transition:opacity .25s; }
  #uk-root .uk-play-badge{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:62px; height:62px; border-radius:50%; background:rgba(93,186,99,.92);
    display:flex; align-items:center; justify-content:center; z-index:3;
    transition:transform .25s, background .25s; box-shadow:0 0 0 8px rgba(93,186,99,.18);
  }
  #uk-root .uk-play-tri{
    width:0; height:0; margin-left:4px;
    border-top:11px solid transparent; border-bottom:11px solid transparent;
    border-left:18px solid var(--dark-on-cream);
  }
  #uk-root .uk-play-label{
    position:absolute; left:0; right:0; bottom:14px; z-index:3;
    font-family:var(--mono); font-size:10px; letter-spacing:2px; text-transform:uppercase;
    color:var(--cream-text); text-align:center; text-shadow:0 1px 6px rgba(0,0,0,.7);
  }
  #uk-root .uk-play-trigger:focus-visible{ outline:2px solid var(--green); outline-offset:3px; }

  .uk-cinema{
    position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center;
    background:rgba(6,7,4,.94); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    opacity:0; transition:opacity .26s ease; padding:24px;
  }
  .uk-cinema.is-open{ opacity:1; }
  .uk-cinema-stage{ width:min(1180px,100%); display:flex; flex-direction:column; gap:14px; }
  .uk-cinema-frame{ position:relative; width:100%; aspect-ratio:16/9; background:#000;
    border:1px solid rgba(93,186,99,.35); box-shadow:0 0 70px rgba(93,186,99,.14); }
  .uk-cinema-frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
  .uk-cinema-cap{
    font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:1.6px;
    text-transform:uppercase; color:#A8A393; text-align:center;
  }
  .uk-cinema-cap a{ color:#5DBA63; text-decoration:none; }
  .uk-cinema-cap a:hover{ text-decoration:underline; }
  .uk-cinema-close{
    position:absolute; top:18px; right:22px; width:44px; height:44px; cursor:pointer;
    background:transparent; border:1px solid rgba(243,239,227,.3); color:#F3EFE3;
    font-size:26px; line-height:1; border-radius:50%; transition:border-color .2s, color .2s;
  }
  .uk-cinema-close:hover{ border-color:#5DBA63; color:#5DBA63; }
  html.uk-cinema-lock{ overflow:hidden; }
  /* freeze page motion while the film plays */
  #uk-root.uk-anim-paused .uk-grain,
  #uk-root.uk-anim-paused .uk-glow{ animation-play-state:paused !important; }
  #uk-root.uk-anim-paused .lkpj-wrap{ opacity:.25; transition:opacity .3s; }
  @media (max-width:700px){
    .uk-cinema{ padding:12px; }
    .uk-cinema-close{ top:8px; right:10px; }
    #uk-root .uk-play-badge{ width:52px; height:52px; }
  }
