  :root{
    --void:#0a0c0f;
    --ink:#11151a;
    --panel:#161b22;
    --panel-2:#1c232c;
    --line:#2a333d;
    --line-bright:#3a4854;
    --fog:#8a97a3;
    --mist:#c4cdd5;
    --paper:#eef1f4;
    --signal:#ff5a1f;
    --signal-soft:#ff7a47;
    --cyan:#39d6c8;
    --amber:#ffb648;
    --grid:rgba(58,72,84,.16);
    --ui:'IBM Plex Sans',-apple-system,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--void);
    color:var(--mist);
    font-family:var(--ui);
    font-weight:400;
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{background:var(--signal);color:var(--void)}

  /* blueprint grid backdrop */
  body::before{
    content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
    background-image:
      linear-gradient(var(--grid) 1px,transparent 1px),
      linear-gradient(90deg,var(--grid) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse 130% 90% at 50% 0%,#000 30%,transparent 85%);
    -webkit-mask-image:radial-gradient(ellipse 130% 90% at 50% 0%,#000 30%,transparent 85%);
  }
  body::after{
    content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
  .wrap{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 32px}

  /* label / eyebrow style replaces the old mono treatment */
  .label{font-family:var(--ui);font-weight:600;letter-spacing:.18em;text-transform:uppercase}

  /* ---------- NAV ---------- */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    backdrop-filter:blur(14px);
    background:rgba(10,12,15,.72);
    transition:transform .4s ease;
  }
  .nav-in{max-width:1280px;margin:0 auto;padding:0 32px;height:68px;display:flex;align-items:center;justify-content:space-between}
  .brand{display:flex;align-items:center;gap:13px;text-decoration:none}
  @keyframes spin{to{transform:rotate(360deg)}}
  .jiri-logo{display:block;height:30px;width:auto}
  .glyph{fill:var(--signal);transition:fill .3s}
  .brand:hover .jiri-logo .glyph{fill:var(--signal-soft)}
  .brand-divider{width:1px;height:26px;background:var(--line-bright)}
  .brand-sub{font-weight:600;font-size:.6rem;color:var(--fog);letter-spacing:.24em;text-transform:uppercase;line-height:1.5}
  .nav-links{display:flex;align-items:center;gap:38px}
  .nav-links a{color:var(--fog);text-decoration:none;font-weight:500;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;transition:color .2s;position:relative}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--signal);transition:width .25s}
  .nav-links a:hover{color:var(--paper)}
  .nav-links a:hover::after{width:100%}
  .nav-cta{padding:9px 20px;border:1px solid var(--line-bright);color:var(--paper)!important;transition:all .25s}
  .nav-cta:hover{background:var(--signal);border-color:var(--signal);color:var(--void)!important}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px}
  .burger span{width:24px;height:2px;background:var(--mist);transition:.3s}
  @media(max-width:880px){
    .nav-links{
      position:fixed;inset:68px 0 auto 0;flex-direction:column;gap:0;
      background:var(--ink);
      max-height:0;overflow:hidden;transition:max-height .4s ease;
    }
    .nav-links.open{max-height:520px}
    .nav-links a{padding:18px 32px;width:100%}
    .nav-cta{margin:18px 32px;text-align:center}
    .burger{display:flex}
  }

  /* ---------- HERO ---------- */
  header{min-height:100vh;display:flex;align-items:center;padding:92px 0 48px;position:relative;overflow:hidden}
  header .wrap{width:100%}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
  .hero-tag{
    display:inline-flex;align-items:center;gap:10px;font-weight:600;
    font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);
    border:1px solid var(--line);padding:8px 16px;border-radius:40px;margin-bottom:26px;
    background:var(--panel);
  }
  .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:pulse 2s infinite}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
  h1.hero{
    font-family:var(--ui);font-weight:600;color:var(--paper);
    font-size:min(3.5rem,7.2vh,5vw);line-height:1.05;letter-spacing:-.03em;
  }
  h1.hero em{font-style:italic;font-weight:600;color:var(--signal)}
  h1.hero .strike{position:relative;white-space:nowrap}
  h1.hero .strike::after{
    content:"";position:absolute;left:-1%;top:54%;width:0;height:3px;background:var(--fog);
    animation:strike 1s ease forwards;animation-delay:1.2s;
  }
  @keyframes strike{to{width:102%}}
  .hero-sub{font-size:1.02rem;color:var(--fog);max-width:54ch;margin:22px 0 0;font-weight:400}
  .hero-sub b{color:var(--mist);font-weight:600}
  .hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
  .btn{
    font-family:var(--ui);font-weight:600;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;
    padding:16px 28px;text-decoration:none;display:inline-flex;align-items:center;gap:12px;
    transition:all .25s;cursor:pointer;border:none;
  }
  .btn-primary{background:var(--signal);color:var(--void)}
  .btn-primary:hover{background:var(--signal-soft);transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(255,90,31,.5)}
  .btn-ghost{background:transparent;color:var(--paper);border:1px solid var(--line-bright)}
  .btn-ghost:hover{border-color:var(--paper);background:var(--panel)}
  .btn .arr{transition:transform .25s}
  .btn:hover .arr{transform:translateX(4px)}

  /* ---------- FUNNEL (hero right): 4-stage flow, items in a row ---------- */
  .flow{
    border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--ink));
    border-radius:8px;padding:16px;position:relative;
  }
  .flow-label{font-weight:600;font-size:.6rem;letter-spacing:.16em;color:var(--fog);text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-bottom:10px}
  .flow-label .blink{color:var(--cyan);display:inline-flex;align-items:center;gap:6px}
  .flow-label .blink::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:pulse 2s infinite}
  .vfunnel{display:flex;flex-direction:column}
  /* each stage is a band */
  .vstage{background:rgba(28,35,44,.5);border:1px solid var(--line);border-radius:7px;padding:9px 11px}
  .vstage-head{font-weight:600;font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fog);margin-bottom:7px}
  .vstage-head.accent{color:var(--cyan)}
  .stage-items{display:flex;gap:7px}
  .chip{
    flex:1;text-align:center;font-weight:500;font-size:.73rem;color:var(--mist);background:var(--panel-2);
    border:1px solid var(--line);border-top:2px solid var(--fog);border-radius:5px;padding:8px 7px;line-height:1.2;
  }
  .chip.out{border-top-color:var(--cyan);color:var(--paper)}
  .core-prod{
    flex:1;text-align:center;font-weight:600;font-size:.82rem;color:var(--paper);background:var(--ink);
    border:1px solid var(--line-bright);border-top:2px solid var(--signal);border-radius:5px;padding:9px 7px;line-height:1.2;
  }
  .core-prod small{display:block;font-weight:500;font-size:.55rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fog);margin-top:3px}
  /* transport stage: API / Webhook are the MECHANISM, not a destination, render lighter as pipes */
  .vstage-pipe{background:transparent;border:1px dashed var(--line-bright);border-radius:7px;padding:7px 11px;display:flex;align-items:center;gap:10px}
  .pipe-tag{font-weight:600;font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fog);white-space:nowrap}
  .pipe-items{display:flex;gap:7px;flex:1}
  .pipe-chip{
    flex:1;text-align:center;font-weight:600;font-size:.72rem;letter-spacing:.04em;color:var(--cyan);
    background:rgba(57,214,200,.07);border:1px solid rgba(57,214,200,.28);border-radius:5px;padding:6px 8px;
  }
  .varrow{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0}
  .varrow span{width:5px;height:5px;border-radius:50%;background:var(--line-bright)}
  .varrow span:nth-child(1){animation:pushdot 1.8s infinite}
  .varrow span:nth-child(2){animation:pushdot 1.8s infinite .25s}
  .varrow span:nth-child(3){animation:pushdot 1.8s infinite .5s}
  @keyframes pushdot{0%,100%{background:var(--line-bright);transform:scale(1)}40%{background:var(--cyan);transform:scale(1.5)}}

  @media(max-width:920px){
    .hero-grid{grid-template-columns:1fr;gap:48px}
    header{padding:96px 0 60px}
  }

  /* ---------- SECTION SHELL ---------- */
  section{padding:76px 0;position:relative}
  .eyebrow{font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--signal);margin-bottom:14px}
  h2{font-family:var(--ui);font-weight:600;color:var(--paper);font-size:clamp(1.7rem,3.3vw,2.5rem);line-height:1.1;letter-spacing:-.025em;max-width:20ch}
  h2 em{font-style:italic;font-weight:600;color:var(--signal)}
  .lede{font-size:1.02rem;color:var(--fog);max-width:60ch;margin-top:16px}

  /* problem */
  .problem{background:var(--ink)}
  .prob-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}
  .prob{padding:28px 26px;background:var(--panel);border:1px solid var(--line);border-radius:6px}
  .prob .n{font-weight:600;font-size:.7rem;color:var(--fog);letter-spacing:.1em}
  .prob .t{font-weight:600;font-size:1.2rem;color:var(--paper);margin:12px 0 9px;letter-spacing:-.01em}
  .prob .d{font-size:.92rem;color:var(--fog)}
  .prob .old{font-weight:600;font-size:.7rem;color:var(--signal-soft);margin-top:14px;text-transform:uppercase;letter-spacing:.05em}
  @media(max-width:900px){.prob-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.prob-grid{grid-template-columns:1fr}}

  /* products */
  .products{display:flex;flex-direction:column;gap:26px;margin-top:42px}
  .product{
    display:grid;grid-template-columns:0.9fr 1.1fr;gap:44px;align-items:center;
    padding:34px;background:var(--ink);border:1px solid var(--line);border-radius:8px;
  }
  .product:nth-child(even){grid-template-columns:1.1fr 0.9fr}
  .product:nth-child(even) .p-visual{order:-1}
  .p-kicker{font-weight:600;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);display:flex;align-items:center;gap:10px}
  .p-kicker .code{color:var(--fog)}
  .p-name{font-weight:600;font-size:clamp(1.7rem,2.9vw,2.2rem);color:var(--paper);margin:12px 0 8px;letter-spacing:-.02em}
  .p-tagline{color:var(--signal-soft);font-weight:500;font-size:.88rem;letter-spacing:.01em;margin-bottom:14px}
  .p-desc{color:var(--fog);font-size:.98rem;margin-bottom:18px}
  .p-feats{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
  .p-feats li{display:flex;gap:13px;align-items:flex-start;font-size:.95rem;color:var(--mist)}
  .p-feats li::before{content:"\25B8";color:var(--signal);font-size:.9rem;margin-top:2px;flex:0 0 auto}
  .p-feats li b{color:var(--paper);font-weight:600}
  .p-link{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--paper);text-decoration:none;display:inline-flex;gap:10px;align-items:center;transition:.25s;background:none;border:none;cursor:pointer;font-family:var(--ui);padding:0}
  .p-link:hover{color:var(--signal);gap:16px}

  /* product visuals */
  .p-visual{
    border:1px solid var(--line);background:var(--panel);border-radius:6px;
    padding:22px;position:relative;min-height:288px;
  }
  .p-visual .scr-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;margin-bottom:16px}
  .p-visual .scr-top .ttl{font-weight:600;font-size:.64rem;letter-spacing:.14em;color:var(--fog);text-transform:uppercase}
  .pips{display:flex;gap:6px}
  .pips span{width:8px;height:8px;border-radius:50%;background:var(--line-bright)}
  .pips span:first-child{background:var(--signal)}
  /* logs visual */
  .row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 0;font-weight:500;font-size:.78rem}
  .row+.row{border-top:1px solid rgba(42,51,61,.5)}
  .row .rid{color:var(--fog)}
  .row .rnm{color:var(--mist)}
  .row .badge{font-weight:600;padding:3px 9px;border-radius:3px;font-size:.62rem;letter-spacing:.05em;text-transform:uppercase}
  .b-live{background:rgba(57,214,200,.12);color:var(--cyan);border:1px solid rgba(57,214,200,.3)}
  .b-sync{background:rgba(255,182,72,.12);color:var(--amber);border:1px solid rgba(255,182,72,.3)}
  .b-done{background:rgba(255,90,31,.12);color:var(--signal-soft);border:1px solid rgba(255,90,31,.3)}
  /* ops visual */
  .stage{margin-bottom:16px}
  .stage:last-child{margin-bottom:0}
  .stage-head{display:flex;justify-content:space-between;font-weight:500;font-size:.72rem;color:var(--mist);margin-bottom:7px;text-transform:uppercase;letter-spacing:.04em}
  .stage-head .pct{color:var(--cyan);font-weight:600}
  .bar{height:8px;background:var(--ink);border-radius:20px;overflow:hidden;position:relative}
  .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--signal),var(--signal-soft));border-radius:20px;width:0;animation:fill 1.6s ease forwards}
  @keyframes fill{to{width:var(--w)}}
  /* integration: source -> transport -> destinations */
  .route{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;min-height:230px;padding:8px 0}
  .route-col{display:flex;flex-direction:column;gap:10px}
  .route-cap{font-weight:600;font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fog);margin-bottom:2px}
  .route-src,.route-dest{justify-content:center}
  .src-node{
    display:grid;place-items:center;width:104px;height:104px;border-radius:8px;
    background:var(--panel-2);border:1.5px solid var(--signal);
    box-shadow:0 0 0 4px rgba(255,90,31,.08);
  }
  .route-mid{justify-content:center;gap:18px}
  .pipe{
    position:relative;height:40px;border-radius:7px;background:var(--ink);
    border:1px solid var(--line);display:flex;align-items:center;padding:0 12px;overflow:hidden;
  }
  .pipe::before{
    content:"";position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%);
    background:linear-gradient(90deg,transparent,rgba(57,214,200,.35),transparent);
  }
  .pipe-label{position:relative;z-index:2;font-weight:600;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);background:var(--ink);padding-right:8px}
  .packet{
    position:absolute;top:50%;left:0;width:7px;height:7px;border-radius:50%;
    background:var(--cyan);box-shadow:0 0 8px var(--cyan);
    transform:translateY(-50%);animation:route 1.8s linear infinite;
  }
  @keyframes route{0%{left:8%;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
  .dest-node{
    font-weight:600;font-size:.84rem;color:var(--paper);background:var(--panel-2);
    border:1px solid var(--line);border-left:2px solid var(--cyan);border-radius:5px;padding:10px 16px;text-align:left;min-width:120px;
  }
  .dest-node.muted{color:var(--fog);border-left-color:var(--line-bright);font-weight:500}
  @media(max-width:520px){
    .route{grid-template-columns:1fr;gap:18px;text-align:center}
    .route-col{align-items:center}
    .pipe{width:160px}
    .dest-node{text-align:center}
  }

  @media(max-width:820px){
    .product,.product:nth-child(even){grid-template-columns:1fr;gap:32px;padding:28px}
    .product:nth-child(even) .p-visual{order:0}
  }

  /* services */
  .services{background:var(--ink)}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
  .svc{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:34px 30px;transition:border-color .3s,background .3s;position:relative}
  .svc:hover{background:var(--panel-2);border-color:var(--line-bright)}
  .svc .ic{color:var(--signal);margin-bottom:16px;display:flex;line-height:0}
  .svc h3{font-weight:600;font-size:1.3rem;color:var(--paper);margin-bottom:11px;letter-spacing:-.01em}
  .svc p{color:var(--fog);font-size:.95rem}
  .svc .tag{position:absolute;top:24px;right:24px;font-weight:600;font-size:.6rem;color:var(--fog);letter-spacing:.1em}
  @media(max-width:780px){.svc-grid{grid-template-columns:1fr}}

  /* industries */
  .ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}
  .ind{padding:26px 24px;background:var(--panel);border:1px solid var(--line);border-radius:6px;transition:border-color .3s,background .3s}
  .ind:hover{border-color:var(--line-bright);background:var(--panel-2)}
  .ind .ic{color:var(--cyan);margin-bottom:14px;display:flex;line-height:0}
  .ind .t{font-weight:600;font-size:1.08rem;color:var(--paper);margin-bottom:6px;letter-spacing:-.01em}
  .ind .pk{font-weight:600;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fog)}
  .ind-note{font-size:.95rem;color:var(--fog);margin-top:24px;max-width:60ch}
  @media(max-width:900px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.ind-grid{grid-template-columns:1fr}}

  /* change / ROI */
  .change-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
  .chg{position:relative;padding:30px 28px;background:var(--ink);border:1px solid var(--line);border-radius:6px}
  .chg.now{border-top:2px solid var(--fog)}
  .chg.d0{border-top:2px solid var(--cyan)}
  .chg.d90{border-top:2px solid var(--signal)}
  .chg .when{font-weight:600;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fog)}
  .chg.d0 .when{color:var(--cyan)}
  .chg.d90 .when{color:var(--signal)}
  .chg h4{font-weight:600;font-size:1.22rem;color:var(--paper);margin:11px 0 11px;letter-spacing:-.01em}
  .chg p{color:var(--fog);font-size:.95rem}
  @media(max-width:780px){.change-grid{grid-template-columns:1fr}}

  /* how it works */
  .how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
  .step{position:relative;padding:30px 28px;background:var(--ink);border:1px solid var(--line);border-radius:6px;transition:border-color .3s}
  .step:hover{border-color:var(--signal)}
  .step .num{font-weight:600;font-size:.74rem;color:var(--signal);letter-spacing:.12em;text-transform:uppercase}
  .step h4{font-weight:600;font-size:1.35rem;color:var(--paper);margin:12px 0 11px;letter-spacing:-.01em}
  .step p{color:var(--fog);font-size:.95rem}
  @media(max-width:780px){.how-grid{grid-template-columns:1fr}}

  /* CTA */
  .cta-band{text-align:center;padding:88px 0;position:relative;overflow:hidden}
  .cta-band::before{
    content:"";position:absolute;inset:0;z-index:-1;
    background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(255,90,31,.10),transparent 70%);
  }
  .cta-band .eyebrow{text-align:center}
  .cta-band h2{margin:0 auto;text-align:center;max-width:20ch;font-size:clamp(2rem,4.6vw,3.4rem)}
  .cta-band .lede{margin:16px auto 30px;text-align:center}
  .cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

  /* footer */
  footer{background:var(--ink);padding:64px 0 34px}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
  .foot-brand .jiri-logo{margin-bottom:4px}
  .foot-brand p{color:var(--fog);font-size:.92rem;margin-top:18px;max-width:38ch}
  .foot-col h5{font-weight:600;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fog);margin-bottom:16px}
  .foot-col a{display:block;color:var(--mist);text-decoration:none;font-size:.92rem;padding:7px 0;transition:color .2s}
  .foot-col a:hover{color:var(--signal)}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:50px;font-weight:500;font-size:.72rem;color:var(--fog);letter-spacing:.04em;flex-wrap:wrap;gap:14px}
  @media(max-width:780px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}

  /* reveal */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  /* ---------- DEMO ENQUIRY MODAL ---------- */
  .modal-overlay{
    position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
    padding:24px;background:rgba(6,8,10,.78);backdrop-filter:blur(6px);
    opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;
  }
  .modal-overlay.open{opacity:1;visibility:visible}
  .modal{
    position:relative;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;
    background:var(--ink);border:1px solid var(--line-bright);border-radius:10px;
    padding:38px 38px 32px;transform:translateY(20px);transition:transform .3s ease;
  }
  .modal-overlay.open .modal{transform:none}
  .modal-close{
    position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:6px;
    background:var(--panel);border:1px solid var(--line);color:var(--mist);cursor:pointer;
    display:grid;place-items:center;transition:.2s;font-family:var(--ui);
  }
  .modal-close:hover{background:var(--panel-2);border-color:var(--line-bright);color:var(--paper)}
  .modal .eyebrow{margin-bottom:10px}
  .modal h3{font-weight:600;font-size:1.5rem;color:var(--paper);letter-spacing:-.02em;line-height:1.15}
  .modal .m-sub{color:var(--fog);font-size:.94rem;margin-top:10px;margin-bottom:24px}
  .field{margin-bottom:16px}
  .field label{display:block;font-weight:600;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fog);margin-bottom:7px}
  .field input,.field select,.field textarea{
    width:100%;background:var(--panel);border:1px solid var(--line);border-radius:6px;
    color:var(--paper);font-family:var(--ui);font-size:.95rem;padding:12px 14px;transition:border-color .2s;
  }
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--signal)}
  .field textarea{resize:vertical;min-height:84px}
  .field select{appearance:none;cursor:pointer}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:480px){.field-row{grid-template-columns:1fr}}
  .modal .btn-primary{width:100%;justify-content:center;margin-top:8px}
  .m-foot{font-size:.78rem;color:var(--fog);text-align:center;margin-top:16px;line-height:1.5}
  .m-success{text-align:center;padding:24px 0 8px}
  .m-success .tick{
    width:60px;height:60px;border-radius:50%;background:rgba(57,214,200,.12);border:1px solid rgba(57,214,200,.35);
    display:grid;place-items:center;margin:0 auto 20px;color:var(--cyan);
  }
  .m-success h3{margin-bottom:10px}
  .m-success p{color:var(--fog);font-size:.95rem;max-width:38ch;margin:0 auto}

  /* ============================================================
     ADDED FOR MULTI-PAGE: nav dropdown, blog index, article
     (Visual system unchanged: same tokens, palette, fonts.)
     ============================================================ */

  /* ---------- NAV: Resources dropdown ---------- */
  .nav-links{position:relative}
  .has-dropdown{position:relative}
  .dropdown-toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer;background:none;border:none;color:var(--fog);font-family:var(--ui);font-weight:500;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;transition:color .2s;padding:0}
  .dropdown-toggle:hover{color:var(--paper)}
  .dropdown-toggle .caret{width:9px;height:9px;transition:transform .25s}
  .has-dropdown.open .dropdown-toggle .caret{transform:rotate(180deg)}
  .dropdown-menu{
    position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-6px);
    min-width:210px;background:var(--ink);border:1px solid var(--line-bright);border-radius:8px;
    padding:8px;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;z-index:120;
    box-shadow:0 18px 44px -18px rgba(0,0,0,.7);
  }
  .has-dropdown.open .dropdown-menu,.has-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
  .dropdown-menu a{display:block;padding:11px 14px;border-radius:6px;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--mist);transition:background .2s,color .2s}
  .dropdown-menu a::after{display:none}
  .dropdown-menu a:hover{background:var(--panel-2);color:var(--paper)}
  .dropdown-menu a .d-desc{display:block;font-size:.74rem;color:var(--fog);margin-top:2px;letter-spacing:0}
  @media(max-width:880px){
    .has-dropdown{width:100%}
    .dropdown-toggle{width:100%;justify-content:space-between;padding:18px 32px;font-size:.8rem}
    .dropdown-menu{
      position:static;transform:none;opacity:1;visibility:visible;min-width:0;width:100%;
      border:none;border-radius:0;box-shadow:none;padding:0 32px 12px;background:transparent;
      max-height:0;overflow:hidden;transition:max-height .3s ease;
    }
    .has-dropdown.open .dropdown-menu{max-height:240px}
    .dropdown-menu a{padding:12px 0}
  }

  /* ---------- BLOG INDEX ---------- */
  .page-head{padding:138px 0 36px;position:relative}
  .page-head .eyebrow{margin-bottom:14px}
  .page-head h1{font-family:var(--ui);font-weight:600;color:var(--paper);font-size:clamp(2.2rem,4.4vw,3.2rem);line-height:1.08;letter-spacing:-.03em;max-width:18ch}
  .page-head h1 em{font-style:italic;color:var(--signal)}
  .page-head .lede{margin-top:18px}

  .post-list{display:flex;flex-direction:column;gap:18px;margin:30px 0 20px}
  .post-card{
    display:grid;grid-template-columns:170px 1fr;gap:30px;align-items:center;
    padding:28px 30px;background:var(--ink);border:1px solid var(--line);border-radius:8px;
    text-decoration:none;transition:border-color .3s,transform .3s,background .3s;
  }
  .post-card:hover{border-color:var(--line-bright);transform:translateY(-2px);background:var(--panel)}
  .post-meta{display:flex;flex-direction:column;gap:7px}
  .post-tag{font-weight:600;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
  .post-date{font-weight:500;font-size:.78rem;color:var(--fog)}
  .post-read{font-weight:500;font-size:.72rem;color:var(--fog);letter-spacing:.02em}
  .post-body h2{font-size:clamp(1.25rem,2.2vw,1.55rem);max-width:30ch;margin-bottom:9px;letter-spacing:-.02em}
  .post-body p{color:var(--fog);font-size:.96rem;max-width:62ch}
  .post-arrow{font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--paper);margin-top:13px;display:inline-flex;gap:9px;align-items:center;transition:gap .25s,color .25s}
  .post-card:hover .post-arrow{color:var(--signal);gap:14px}
  @media(max-width:680px){
    .post-card{grid-template-columns:1fr;gap:16px;padding:24px}
    .post-meta{flex-direction:row;flex-wrap:wrap;gap:14px;align-items:center}
  }

  /* ---------- ARTICLE ---------- */
  .article-head{padding:132px 0 24px}
  .breadcrumb{display:flex;gap:9px;align-items:center;font-weight:500;font-size:.74rem;letter-spacing:.04em;color:var(--fog);margin-bottom:24px;flex-wrap:wrap}
  .breadcrumb a{color:var(--fog);text-decoration:none;transition:color .2s}
  .breadcrumb a:hover{color:var(--signal)}
  .breadcrumb .sep{color:var(--line-bright)}
  .article-head .meta-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
  .article-head .post-tag{font-size:.66rem}
  .article-head h1{font-family:var(--ui);font-weight:600;color:var(--paper);font-size:clamp(2rem,4.2vw,3rem);line-height:1.1;letter-spacing:-.03em;max-width:22ch}
  .article-head .sub{font-size:1.08rem;color:var(--mist);max-width:60ch;margin-top:20px;font-weight:400}
  .article-body{padding:18px 0 40px}
  .article-body .wrap{max-width:760px}
  .article-body h2{font-size:clamp(1.4rem,2.6vw,1.85rem);color:var(--paper);margin:42px 0 14px;letter-spacing:-.02em;max-width:34ch}
  .article-body h3{font-size:1.18rem;color:var(--paper);margin:30px 0 10px;font-weight:600;letter-spacing:-.01em}
  .article-body p{color:var(--mist);font-size:1.04rem;line-height:1.75;margin-bottom:18px}
  .article-body ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:12px}
  .article-body ul li{position:relative;padding-left:26px;color:var(--mist);font-size:1.02rem;line-height:1.7}
  .article-body ul li::before{content:"\25B8";position:absolute;left:0;top:1px;color:var(--signal)}
  .article-body strong{color:var(--paper);font-weight:600}
  .article-body .callout{
    border:1px solid var(--line);border-left:2px solid var(--cyan);background:var(--ink);
    border-radius:6px;padding:20px 24px;margin:26px 0;color:var(--mist);font-size:1rem;line-height:1.7;
  }
  .article-body .callout strong{color:var(--cyan)}
  .article-foot{border-top:1px solid var(--line);margin-top:40px;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
  .article-foot .back{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mist);text-decoration:none;display:inline-flex;gap:9px;align-items:center;transition:color .2s,gap .25s}
  .article-foot .back:hover{color:var(--signal);gap:13px}

  /* 5-column footer (adds Resources column) */
  .foot-grid-5{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr}
  @media(max-width:780px){.foot-grid-5{grid-template-columns:1fr 1fr}}
