  :root{
    --ink:#101820;
    --blueprint:#16324F;
    --blueprint-line: rgba(148,196,214,0.28);
    --paper:#ECE7DA;
    --paper-card:#E2DCC7;
    --paper-line: rgba(22,50,79,0.14);
    --amber:#E0912F;
    --amber-deep:#B96F1C;
    --text-ink:#1B2126;
    --text-soft:#4B5158;
    --text-on-dark:#EDE7DA;
    --text-on-dark-soft: rgba(237,231,218,0.68);
    --radius:2px;
    --maxw:1180px;
    --display: 'Space Grotesk', sans-serif;
    --body: 'IBM Plex Sans', sans-serif;
    --mono: 'IBM Plex Mono', monospace;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--text-ink);
    font-family:var(--body);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    padding-bottom:64px; /* space for mobile bottom nav */
  }
  @media (min-width:960px){ body{ padding-bottom:0; } }

  img,svg{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  section{position:relative;}

  .wrap{
    max-width:var(--maxw);
    margin:0 auto;
    padding:0 20px;
  }
  @media (min-width:960px){ .wrap{padding:0 40px;} }

  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--amber-deep);
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 14px;
  }
  .eyebrow::before{
    content:"";
    width:18px;height:1px;
    background:var(--amber-deep);
    display:inline-block;
  }
  .eyebrow.on-dark{color:#F0B860;}
  .eyebrow.on-dark::before{background:#F0B860;}

  h1,h2,h3{
    font-family:var(--display);
    font-weight:600;
    margin:0;
    letter-spacing:-0.01em;
  }
  p{margin:0;}

  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:var(--mono);
    font-size:13px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    padding:13px 22px;
    border-radius:var(--radius);
    border:1px solid transparent;
    cursor:pointer;
    transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
  }
  .btn:active{transform:translateY(1px);}
  .btn-primary{ background:var(--amber); color:#1B1305; }
  .btn-primary:hover{ background:var(--amber-deep); }
  .btn-outline{ background:transparent; border-color:rgba(27,33,38,0.35); color:var(--text-ink); }
  .btn-outline:hover{ border-color:var(--text-ink); }
  .btn-outline.on-dark{ border-color:rgba(237,231,218,0.4); color:var(--text-on-dark); }
  .btn-outline.on-dark:hover{ border-color:var(--text-on-dark); }
  .btn-ghost{ font-family:var(--mono); font-size:12.5px; letter-spacing:0.05em; text-transform:uppercase; color:var(--amber-deep); border-bottom:1px solid rgba(224,145,47,0.5); padding:2px 0; border-radius:0; }
  .btn-ghost:hover{ border-color:var(--amber-deep); }

  /* corner registration marks — used sparingly */
  .crop{ position:relative; }
  .crop::before,.crop::after{
    content:"";
    position:absolute;
    width:14px;height:14px;
    border:1px solid rgba(237,231,218,0.55);
  }
  .crop::before{ top:-1px; left:-1px; border-right:none; border-bottom:none; }
  .crop::after{ bottom:-1px; right:-1px; border-left:none; border-top:none; }
  .crop.dark::before,.crop.dark::after{ border-color:rgba(22,50,79,0.35); }

  /* ============ TOP NAV (desktop) ============ */
  .topnav{
    display:none;
  }
  @media (min-width:960px){
    .topnav{
      display:flex;
      align-items:center;
      justify-content:space-between;
      position:sticky; top:0; z-index:50;
      background:rgba(236,231,218,0.92);
      backdrop-filter:blur(6px);
      border-bottom:1px solid var(--paper-line);
      padding:16px 40px;
    }
    .topnav .brand{
      font-family:var(--display); font-weight:700; font-size:18px;
      display:flex; align-items:center; gap:8px;
    }
    .topnav .brand span{ color:var(--amber-deep); }
    .topnav nav{ display:flex; gap:32px; }
  }

  /* ============ MOBILE HEADER ============ */
  .mobilehead{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 20px;
    border-bottom:1px solid var(--paper-line);
  }
  .mobilehead .brand{ font-family:var(--display); font-weight:700; font-size:17px; }
  .mobilehead .brand span{ color:var(--amber-deep); }
  @media (min-width:960px){ .mobilehead{ display:none; } }

  /* ============ BOTTOM NAV (mobile) ============ */
  .bottomnav{
    position:fixed; bottom:0; left:0; right:0; z-index:80;
    display:flex;
    background:var(--ink);
    border-top:1px solid rgba(237,231,218,0.12);
  }
  @media (min-width:960px){ .bottomnav{ display:none; } }

  /* ============ HERO ============ */
  .hero{
    background:var(--blueprint);
    color:var(--text-on-dark);
    background-image:
      linear-gradient(var(--blueprint-line) 1px, transparent 1px),
      linear-gradient(90deg, var(--blueprint-line) 1px, transparent 1px);
    background-size:32px 32px;
    padding:52px 0 0;
    overflow:hidden;
  }
  .hero-inner{ padding-bottom:70px; }
  .hero h1{
    font-size:clamp(32px, 6vw, 58px);
    line-height:1.06;
    max-width:14ch;
  }
  .hero .sub{
    margin-top:22px;
    max-width:52ch;
    color:var(--text-on-dark-soft);
    font-size:16px;
  }
  .hero .actions{ margin-top:32px; display:flex; flex-wrap:wrap; gap:14px; }
  .hero .support{
    margin-top:40px;
    padding-top:24px;
    border-top:1px solid rgba(237,231,218,0.15);
    max-width:60ch;
    font-size:14px;
    color:var(--text-on-dark-soft);
  }
  /* title block signature */
  .titleblock{
    display:flex;
    flex-wrap:wrap;
    border-top:1px solid rgba(237,231,218,0.25);
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--text-on-dark-soft);
  }
  .titleblock div{
    padding:12px 20px;
    border-right:1px solid rgba(237,231,218,0.15);
    flex:1 1 auto;
    min-width:120px;
  }
  .titleblock div b{ display:block; color:var(--text-on-dark); font-size:12px; margin-top:2px; }
  .titleblock div:last-child{ border-right:none; }

  /* ============ SECTION HEADERS ============ */
  .section{ padding:64px 0; }
  @media (min-width:960px){ .section{ padding:96px 0; } }
  .section-head{ max-width:62ch; margin-bottom:40px; }
  .section-head h2{ font-size:clamp(24px,3.4vw,36px); line-height:1.15; }
  .section-head p{ margin-top:14px; color:var(--text-soft); font-size:15.5px; }
  .section.on-dark{ background:var(--ink); color:var(--text-on-dark); }
  .section.on-dark .section-head p{ color:var(--text-on-dark-soft); }
  .section.alt{ background:var(--paper-card); }

  /* ============ PILLARS (Journey B tracks) ============ */
  .pillars{ display:grid; gap:20px; }
  @media (min-width:720px){ .pillars{ grid-template-columns:repeat(3,1fr); } }
  .pillar{
    background:var(--paper);
    border:1px solid var(--paper-line);
    padding:26px 22px 24px;
    position:relative;
  }
  .pillar .tag{
    font-family:var(--mono); font-size:11px; color:var(--amber-deep);
    border:1px solid var(--amber-deep); display:inline-block;
    padding:3px 8px; margin-bottom:16px; letter-spacing:0.06em;
  }
  .pillar h3{ font-size:20px; margin-bottom:10px; }
  .pillar p{ color:var(--text-soft); font-size:14.5px; margin-bottom:18px; }

  /* ============ PROCESS TIMELINE ============ */
  .process{
    display:grid; gap:0;
    border-top:1px solid rgba(237,231,218,0.18);
  }
  @media (min-width:960px){
    .process{ grid-template-columns:repeat(7,1fr); border-top:none; }
  }
  .step{
    padding:22px 18px;
    border-bottom:1px solid rgba(237,231,218,0.18);
    position:relative;
  }
  @media (min-width:960px){
    .step{ border-bottom:none; border-right:1px solid rgba(237,231,218,0.18); padding:0 18px 0 0; }
    .step:last-child{ border-right:none; }
  }
  .step .num{ font-family:var(--mono); font-size:13px; color:var(--amber); margin-bottom:10px; }
  .step h4{ font-family:var(--display); font-size:15px; font-weight:600; margin-bottom:8px; color:var(--text-on-dark); }
  .step p{ font-size:13px; color:var(--text-on-dark-soft); }

  /* ============ PRODUCT SHOWCASE ============ */
  .prod-scroll{
    display:flex; gap:16px; overflow-x:auto; padding-bottom:14px; scroll-snap-type:x mandatory;
    margin:0 -20px; padding-left:20px; padding-right:20px;
  }
  @media (min-width:960px){ .prod-scroll{ margin:0; padding-left:0; padding-right:0; } }
  .prod-scroll::-webkit-scrollbar{ height:5px; }
  .prod-scroll::-webkit-scrollbar-thumb{ background:var(--amber); }

  .pcard{
    scroll-snap-align:start;
    flex:0 0 220px;
    background:var(--paper);
    border:1px solid var(--paper-line);
    display:flex; flex-direction:column;
  }
  .pcard .thumb{
    height:140px;
    background:var(--paper-card);
    display:flex; align-items:center; justify-content:center;
    border-bottom:1px solid var(--paper-line);
  }
  .pcard .body{ padding:16px; display:flex; flex-direction:column; gap:8px; flex:1; }
  .pcard .cat{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.05em; text-transform:uppercase; color:var(--amber-deep); }
  .pcard h4{ font-family:var(--display); font-size:15.5px; font-weight:600; }
  .pcard p{ font-size:13px; color:var(--text-soft); flex:1; }
  .pcard .foot{ display:flex; align-items:center; justify-content:space-between; margin-top:6px; }
  .pcard .price{ font-family:var(--mono); font-size:12px; color:var(--text-ink); }
  .pcard .view{ font-family:var(--mono); font-size:11.5px; text-transform:uppercase; color:var(--amber-deep); }

  /* ============ EVENTS ============ */
  .events{ display:grid; gap:18px; }
  @media (min-width:720px){ .events{ grid-template-columns:repeat(3,1fr); } }
  .ecard{ background:var(--ink); color:var(--text-on-dark); border:1px solid rgba(237,231,218,0.12); }
  .ecard .ethumb{ height:120px; background:linear-gradient(135deg,#1c3450,#101820); border-bottom:1px solid rgba(237,231,218,0.12); }
  .ecard .ebody{ padding:18px; }
  .ecard .date{ font-family:var(--mono); font-size:11px; color:var(--amber); letter-spacing:0.05em; text-transform:uppercase; margin-bottom:8px; }
  .ecard h4{ font-family:var(--display); font-size:16px; margin-bottom:6px; }
  .ecard p{ font-size:13px; color:var(--text-on-dark-soft); }

  /* ============ RESEARCH CHIPS ============ */
  .chips{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
  .chip{
    font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:0.04em;
    padding:7px 14px; border:1px solid var(--paper-line); color:var(--text-soft);
  }
  .insights{ display:grid; gap:18px; }
  @media (min-width:720px){ .insights{ grid-template-columns:repeat(3,1fr); } }
  .icard{ border-top:2px solid var(--amber); padding-top:14px; }
  .icard .cat{ font-family:var(--mono); font-size:10.5px; text-transform:uppercase; color:var(--amber-deep); letter-spacing:0.05em; margin-bottom:8px; }
  .icard h4{ font-size:16px; margin-bottom:8px; }
  .icard p{ font-size:13.5px; color:var(--text-soft); }

  /* ============ FINAL CTA ============ */
  .finalcta{
    background:var(--blueprint);
    color:var(--text-on-dark);
    text-align:left;
    padding:64px 0;
    position:relative;
  }
  .finalcta h2{ font-size:clamp(26px,4.5vw,42px); max-width:16ch; }
  .finalcta p{ margin-top:16px; max-width:52ch; color:var(--text-on-dark-soft); font-size:15.5px; }
  .finalcta .actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }

  /* ============ ABOUT ============ */
  .about-grid{ display:grid; gap:32px; }
  @media (min-width:900px){ .about-grid{ grid-template-columns:1fr 1fr; align-items:start; } }
  .flowline{
    font-family:var(--mono); font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em;
    color:var(--amber-deep); display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:20px;
  }
  .flowline span.node{ border:1px solid var(--amber-deep); padding:4px 10px; }
  .flowline span.arrow{ color:var(--text-soft); }

  /* ============ FOOTER / TITLE BLOCK ============ */
  footer{ background:var(--ink); color:var(--text-on-dark-soft); padding-top:50px; }
  .footer-grid{ display:grid; gap:32px; padding-bottom:36px; border-bottom:1px solid rgba(237,231,218,0.12); }
  @media (min-width:720px){ .footer-grid{ grid-template-columns:1.4fr repeat(3,1fr); } }
  .footer-grid h5{ font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--text-on-dark); margin-bottom:14px; }
  .footer-grid li{ margin-bottom:9px; font-size:13.5px; }
  .footer-grid li a:hover{ color:var(--amber); }
  .foot-brand{ font-family:var(--display); font-weight:700; font-size:19px; color:var(--text-on-dark); }
  .foot-brand span{ color:var(--amber); }
  .foot-tag{ margin-top:12px; font-size:13.5px; max-width:34ch; color:var(--text-on-dark-soft); }
  .foot-titleblock{
    display:flex; flex-wrap:wrap;
    font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em;
    padding:18px 0 24px;
  }
  .foot-titleblock div{ padding-right:24px; margin-right:24px; border-right:1px solid rgba(237,231,218,0.15); }
  .foot-titleblock div:last-child{ border-right:none; }
  .foot-titleblock b{ display:block; color:var(--text-on-dark); font-size:11.5px; margin-top:2px; }

  .reveal{ opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease; }
  .reveal.in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1; transform:none; transition:none; }
    html{ scroll-behavior:auto; }
  }

  /* ============ WHATSAPP CONNECT MODAL ============ */
  .wa-overlay{
    position:fixed; inset:0; z-index:200;
    background:rgba(16,24,32,0.6);
    display:flex; align-items:flex-end; justify-content:center;
    opacity:0; pointer-events:none;
    transition:opacity .2s ease;
    padding:0;
  }
  .wa-overlay.open{ opacity:1; pointer-events:auto; }
  @media (min-width:640px){
    .wa-overlay{ align-items:center; padding:20px; }
  }
  .wa-modal{
    background:var(--paper);
    width:100%;
    max-width:420px;
    border-top:1px solid var(--paper-line);
    transform:translateY(24px);
    transition:transform .25s ease;
    max-height:88vh;
    overflow-y:auto;
  }
  @media (min-width:640px){
    .wa-modal{ border:1px solid var(--paper-line); }
  }
  .wa-overlay.open .wa-modal{ transform:translateY(0); }
  .wa-head{
    display:flex; align-items:center; justify-content:space-between;
    background:#1F7A4D; color:#fff;
    padding:16px 20px;
  }
  .wa-head .wa-title{ display:flex; align-items:center; gap:10px; font-family:var(--display); font-weight:600; font-size:15.5px; }
  .wa-head svg{ width:22px; height:22px; flex:none; }
  .wa-close{ background:none; border:none; color:#fff; font-size:20px; line-height:1; cursor:pointer; padding:4px; }
  .wa-body{ padding:20px; }
  .wa-body p.wa-lead{ font-size:13.5px; color:var(--text-soft); margin-bottom:14px; }
  .wa-field-label{ font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-soft); display:block; margin-bottom:6px; }
  .wa-textarea{
    width:100%; min-height:96px; resize:vertical;
    border:1px solid var(--paper-line); background:#fff;
    padding:12px; font-family:var(--body); font-size:14px; color:var(--text-ink);
  }
  .wa-textarea:focus{ outline:2px solid var(--amber); outline-offset:1px; }
  .wa-actions{ display:flex; gap:12px; margin-top:16px; }
  .wa-send{
    flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
    background:#1F7A4D; color:#fff; border:none;
    font-family:var(--mono); font-size:13px; text-transform:uppercase; letter-spacing:0.04em;
    padding:13px 18px; cursor:pointer; transition:background .2s ease;
  }
  .wa-send:hover{ background:#186139; }
  .wa-send svg{ width:16px; height:16px; }
  .wa-note{ margin-top:12px; font-size:11.5px; color:var(--text-soft); }
</style>

  /* ============ INNER PAGE HERO (non-home) ============ */
  .subhero{
    background:var(--blueprint);
    color:var(--text-on-dark);
    background-image:
      linear-gradient(var(--blueprint-line) 1px, transparent 1px),
      linear-gradient(90deg, var(--blueprint-line) 1px, transparent 1px);
    background-size:32px 32px;
    padding:44px 0 0;
  }
  .subhero-inner{ padding-bottom:46px; }
  .breadcrumb{
    font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.05em;
    color:var(--text-on-dark-soft); margin-bottom:18px; display:flex; gap:8px; flex-wrap:wrap;
  }
  .breadcrumb a:hover{ color:var(--text-on-dark); }
  .subhero h1{
    font-family:var(--display); font-weight:600; letter-spacing:-0.01em;
    font-size:clamp(28px,5vw,46px); line-height:1.08; max-width:18ch;
  }
  .subhero .sub{ margin-top:18px; max-width:56ch; color:var(--text-on-dark-soft); font-size:15.5px; }

  /* ============ TOPIC HERO STRIP (within engineering hub) ============ */
  .topic{ padding:56px 0; border-bottom:1px solid var(--paper-line); }
  .topic:last-of-type{ border-bottom:none; }
  .topic-grid{ display:grid; gap:32px; align-items:center; }
  @media (min-width:900px){ .topic-grid{ grid-template-columns:1fr 1fr; } }
  .topic-grid.reverse .art{ order:2; }
  @media (max-width:899px){ .topic-grid.reverse .art{ order:0; } }
  .art{
    aspect-ratio:4/3; background:var(--paper-card);
    border:1px solid var(--paper-line);
    display:flex; align-items:center; justify-content:center;
    position:relative;
  }
  .topic h3{ font-size:clamp(22px,3vw,30px); margin-bottom:14px; }
  .topic p{ color:var(--text-soft); font-size:15px; margin-bottom:10px; }
  .topic ul.checklist{ margin:16px 0 20px; }
  .topic ul.checklist li{
    font-size:14px; color:var(--text-soft); padding-left:18px; position:relative; margin-bottom:8px;
  }
  .topic ul.checklist li::before{ content:"—"; position:absolute; left:0; color:var(--amber-deep); }
  .topic-substeps{ display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 20px; }
  .topic-substeps span{
    font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.04em;
    border:1px solid var(--paper-line); padding:6px 10px; color:var(--text-soft);
  }

  /* ============ IMPACT GRID ============ */
  .impact-grid{ display:grid; gap:18px; }
  @media (min-width:640px){ .impact-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (min-width:960px){ .impact-grid{ grid-template-columns:repeat(3,1fr); } }
  .impact-card{ border:1px solid rgba(237,231,218,0.15); padding:22px 20px; }
  .impact-card h4{ font-family:var(--display); font-size:17px; margin-bottom:8px; color:var(--text-on-dark); }
  .impact-card p{ font-size:13.5px; color:var(--text-on-dark-soft); }

  /* ============ CATEGORY GRID (products hub) ============ */
  .cat-grid{ display:grid; gap:16px; grid-template-columns:repeat(2,1fr); }
  @media (min-width:640px){ .cat-grid{ grid-template-columns:repeat(3,1fr); } }
  .cat-card{
    background:var(--paper); border:1px solid var(--paper-line);
    padding:20px 16px; display:flex; flex-direction:column; gap:10px;
    transition:border-color .2s ease;
  }
  .cat-card:hover{ border-color:var(--amber-deep); }
  .cat-card .ico{ width:34px; height:34px; }
  .cat-card h4{ font-family:var(--display); font-size:15px; font-weight:600; }
  .cat-card p{ font-size:12.5px; color:var(--text-soft); flex:1; }
  .cat-card .go{ font-family:var(--mono); font-size:11px; text-transform:uppercase; color:var(--amber-deep); }

  /* search / filter bar mockup */
  .searchbar{
    display:flex; align-items:center; gap:10px;
    border:1px solid var(--paper-line); background:var(--paper);
    padding:12px 16px; margin-bottom:24px;
  }
  .searchbar svg{ width:16px; height:16px; color:var(--text-soft); flex:none; }
  .searchbar input{
    border:none; background:transparent; outline:none; width:100%;
    font-family:var(--body); font-size:14px; color:var(--text-ink);
  }
  .filter-row{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; }
  .filter-pill{
    font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.03em;
    padding:7px 13px; border:1px solid var(--paper-line); color:var(--text-soft); background:transparent; cursor:pointer;
  }
  .filter-pill.active{ background:var(--ink); color:var(--text-on-dark); border-color:var(--ink); }

  /* product grid (2-col mobile catalogue) */
  .pgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  @media (min-width:640px){ .pgrid{ grid-template-columns:repeat(3,1fr); } }
  @media (min-width:960px){ .pgrid{ grid-template-columns:repeat(4,1fr); } }
  .pgrid .pcard{ flex:none; }

  /* ============ PRODUCT DETAIL PAGE ============ */
  .pd-grid{ display:grid; gap:36px; }
  @media (min-width:900px){ .pd-grid{ grid-template-columns:1fr 1fr; } }
  .pd-gallery-main{
    aspect-ratio:4/3; background:var(--paper-card); border:1px solid var(--paper-line);
    display:flex; align-items:center; justify-content:center; margin-bottom:12px;
  }
  .pd-thumbs{ display:flex; gap:10px; }
  .pd-thumbs div{
    width:56px; height:56px; background:var(--paper-card); border:1px solid var(--paper-line);
    display:flex; align-items:center; justify-content:center;
  }
  .pd-cat{ font-family:var(--mono); font-size:11.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--amber-deep); margin-bottom:10px; display:block; }
  .pd-title{ font-family:var(--display); font-size:clamp(24px,3.4vw,32px); font-weight:600; margin-bottom:12px; }
  .pd-price{ font-family:var(--mono); font-size:18px; margin-bottom:18px; }
  .pd-desc{ font-size:15px; color:var(--text-soft); margin-bottom:22px; }
  .pd-features{ margin-bottom:24px; }
  .pd-features li{ font-size:14px; color:var(--text-soft); padding-left:18px; position:relative; margin-bottom:8px; }
  .pd-features li::before{ content:"✓"; position:absolute; left:0; color:var(--amber-deep); }
  .pd-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:8px; }
  .spec-table{ width:100%; border-collapse:collapse; margin-top:8px; }
  .spec-table tr{ border-bottom:1px solid var(--paper-line); }
  .spec-table td{ padding:12px 4px; font-size:14px; }
  .spec-table td:first-child{ font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-soft); width:42%; }
  .pd-note{
    margin-top:28px; padding:20px; background:var(--paper-card); border:1px solid var(--paper-line);
    font-size:14px; color:var(--text-soft);
  }
  .pd-note a{ color:var(--amber-deep); }

  /* ============ JOURNEY TIMELINE (about page) ============ */
  .journey{ display:grid; gap:0; }
  .journey-item{
    display:grid; grid-template-columns:70px 1fr; gap:18px;
    padding:22px 0; border-bottom:1px solid var(--paper-line);
  }
  .journey-item:last-child{ border-bottom:none; }
  .journey-item .yr{ font-family:var(--mono); font-size:13px; color:var(--amber-deep); }
  .journey-item h4{ font-size:16px; margin-bottom:6px; }
  .journey-item p{ font-size:14px; color:var(--text-soft); }

  /* team cards */
  .team-grid{ display:grid; gap:18px; }
  @media (min-width:640px){ .team-grid{ grid-template-columns:repeat(3,1fr); } }
  .team-card{ text-align:left; }
  .team-photo{ aspect-ratio:1; background:var(--paper-card); border:1px solid var(--paper-line); margin-bottom:12px; }
  .team-card h4{ font-size:15.5px; margin-bottom:2px; }
  .team-card .role{ font-family:var(--mono); font-size:11.5px; text-transform:uppercase; color:var(--amber-deep); letter-spacing:0.04em; }

  /* programs list (events page) */
  .program-list{ display:grid; gap:0; }
  .program-item{
    display:grid; grid-template-columns:1fr; gap:6px;
    padding:22px 0; border-bottom:1px solid rgba(237,231,218,0.15);
  }
  @media (min-width:720px){ .program-item{ grid-template-columns:160px 1fr auto; align-items:center; gap:20px; } }
  .program-item .ptype{ font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.05em; color:var(--amber); }
  .program-item h4{ font-family:var(--display); font-size:16.5px; color:var(--text-on-dark); }
  .program-item p{ font-size:13px; color:var(--text-on-dark-soft); }

  /* tab filter for events */
  .tab-row{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:32px; }
  .tab-pill{
    font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:0.04em;
    padding:9px 16px; border:1px solid rgba(237,231,218,0.2); color:var(--text-on-dark-soft); background:transparent; cursor:pointer;
  }
  .tab-pill.active{ background:var(--amber); color:#1B1305; border-color:var(--amber); }

  /* ============ MEGA DROPDOWN NAV (desktop) ============ */
  .topnav .brand{ cursor:pointer; }
  nav.mega-nav{ display:flex; gap:2px; }
  .mega-item{ position:relative; }
  .mega-trigger{
    display:flex; align-items:center; gap:6px;
    font-family:var(--mono); font-size:12.5px; text-transform:uppercase; letter-spacing:0.04em;
    color:var(--text-soft); padding:10px 14px;
  }
  .mega-trigger svg{ width:9px; height:9px; flex:none; }
  .mega-item:hover .mega-trigger, .mega-item.active-top .mega-trigger{ color:var(--text-ink); }
  .mega-panel{
    position:absolute; top:100%; left:0; min-width:270px;
    background:var(--paper); border:1px solid var(--paper-line);
    box-shadow:0 16px 32px rgba(16,24,32,0.14);
    padding:8px; opacity:0; pointer-events:none; transform:translateY(6px);
    transition:opacity .15s ease, transform .15s ease;
    z-index:70;
  }
  .mega-item:hover .mega-panel, .mega-item:focus-within .mega-panel{ opacity:1; pointer-events:auto; transform:translateY(0); }
  .mega-panel a{
    display:block; padding:11px 12px; font-size:13.5px; color:var(--text-ink); border-left:2px solid transparent;
  }
  .mega-panel a:hover{ background:var(--paper-card); border-left-color:var(--amber-deep); color:var(--amber-deep); }

  /* ============ BOTTOM NAV as buttons ============ */
  .bottomnav button{
    flex:1; display:flex; flex-direction:column; align-items:center; gap:4px;
    padding:9px 4px 8px; background:none; border:none; cursor:pointer;
    color:var(--text-on-dark-soft);
    font-family:var(--mono); font-size:10.5px; letter-spacing:0.03em; text-transform:uppercase;
  }
  .bottomnav button svg{ width:20px; height:20px; }
  .bottomnav button.active{ color:var(--amber); }

  /* ============ MOBILE NAV SHEET (mirrors mega-panel content) ============ */
  .navsheet-overlay{
    position:fixed; inset:0; z-index:190; background:rgba(16,24,32,0.55);
    opacity:0; pointer-events:none; transition:opacity .2s ease;
    display:flex; align-items:flex-end;
  }
  .navsheet-overlay.open{ opacity:1; pointer-events:auto; }
  .navsheet{
    background:var(--paper); width:100%; max-height:74vh; overflow-y:auto;
    transform:translateY(100%); transition:transform .25s ease;
    border-top:1px solid var(--paper-line);
  }
  .navsheet-overlay.open .navsheet{ transform:translateY(0); }
  .navsheet-close{ display:flex; justify-content:flex-end; padding:10px 14px 0; }
  .navsheet-close button{ background:none;border:none;font-size:24px;line-height:1;color:var(--text-soft); cursor:pointer; padding:4px 8px; }
  .navsheet-tabs{ display:flex; overflow-x:auto; border-bottom:1px solid var(--paper-line); padding:0 8px; }
  .navsheet-tabs button{
    flex:1 0 auto; white-space:nowrap; padding:12px 14px; background:none;border:none;
    font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:0.03em;
    color:var(--text-soft); border-bottom:2px solid transparent; cursor:pointer;
  }
  .navsheet-tabs button.active{ color:var(--text-ink); border-bottom-color:var(--amber); }
  .navsheet-panel{ display:none; padding:6px 8px 20px; }
  .navsheet-panel.active{ display:block; }
  .navsheet-panel a{ display:block; padding:15px 12px; font-size:15px; color:var(--text-ink); border-bottom:1px solid var(--paper-line); }
  .navsheet-panel a:last-child{ border-bottom:none; }

  /* ============ GENERIC CONTENT PAGE HELPERS ============ */
  .page-body{ font-size:15px; color:var(--text-soft); }
  .page-body p{ margin-bottom:14px; }
  .page-body p:last-child{ margin-bottom:0; }
  .two-col{ display:grid; gap:32px; }
  @media (min-width:900px){ .two-col{ grid-template-columns:1.1fr 0.9fr; } }
  .side-card{ background:var(--paper-card); border:1px solid var(--paper-line); padding:24px; }
  .side-card h4{ font-size:15px; margin-bottom:10px; }
  .side-card p{ font-size:13.5px; color:var(--text-soft); margin-bottom:16px; }
  .legal-body h3{ font-size:17px; margin:28px 0 10px; color:var(--text-ink); }
  .legal-body h3:first-child{ margin-top:0; }
  .legal-body p{ font-size:14.5px; color:var(--text-soft); margin-bottom:12px; }
  .legal-body ul{ margin:0 0 12px; padding-left:20px; list-style:disc; }
  .legal-body li{ font-size:14.5px; color:var(--text-soft); margin-bottom:6px; }

  /* ============ WHATSAPP ICON BUTTON (product cards) ============ */
  .wa-icon-btn{
    display:inline-flex; align-items:center; justify-content:center;
    width:34px; height:34px; border-radius:50%;
    background:#1F7A4D; color:#fff; flex:none;
    transition:background .2s ease, transform .15s ease;
  }
  .wa-icon-btn:hover{ background:#186139; }
  .wa-icon-btn:active{ transform:scale(0.94); }
  .wa-icon-btn svg{ width:17px; height:17px; }
  .pcard .foot{ gap:10px; }
  .pcard .price{ flex:1; }

  /* bottom nav whatsapp tab uses brand green */
  .bottomnav button.wa-tab{ color:#7FD99A; }

  /* ============ FIXED PRODUCT CARD TEMPLATE (applied uniformly to every product) ============ */
  .pcard{ border-radius:3px; overflow:hidden; transition:box-shadow .2s ease, transform .2s ease; }
  .pcard:hover{ box-shadow:0 10px 24px rgba(16,24,32,0.10); transform:translateY(-2px); }
  .pcard-icon-badge{
    width:56px; height:56px; border-radius:50%;
    background:var(--paper); border:1px solid var(--paper-line);
    display:flex; align-items:center; justify-content:center;
  }

  /* ============ EVENT/PROGRAM CARDS AS LINKS ============ */
  a.ecard{ display:block; color:inherit; transition:box-shadow .2s ease, transform .2s ease; }
  a.ecard:hover{ box-shadow:0 10px 26px rgba(16,24,32,0.18); transform:translateY(-2px); }
  a.program-item{ display:grid; color:inherit; transition:background .2s ease; }
  a.program-item:hover{ background:rgba(237,231,218,0.04); }

  /* ============ EVENT DETAIL PAGE ============ */
  .event-hero{
    background:var(--blueprint); color:var(--text-on-dark);
    background-image:linear-gradient(var(--blueprint-line) 1px, transparent 1px), linear-gradient(90deg, var(--blueprint-line) 1px, transparent 1px);
    background-size:32px 32px;
    padding:48px 0 40px;
  }
  .event-hero .meta-row{ display:flex; flex-wrap:wrap; gap:22px; margin-top:28px; }
  .event-hero .meta-item{ font-family:var(--mono); font-size:12.5px; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-on-dark-soft); }
  .event-hero .meta-item b{ display:block; color:var(--text-on-dark); font-size:14px; margin-top:4px; text-transform:none; letter-spacing:0; font-family:var(--body); }
  .event-quote{
    border-left:3px solid var(--amber); padding:6px 0 6px 20px; margin:32px 0;
    font-family:var(--display); font-size:19px; font-style:italic; color:var(--text-ink);
  }
  .event-steps{ display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
  .event-steps span{
    font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:0.03em;
    border:1px solid var(--paper-line); padding:8px 14px; color:var(--text-soft);
  }
  .who-grid{ display:grid; gap:16px; }
  @media (min-width:640px){ .who-grid{ grid-template-columns:repeat(2,1fr); } }
  .who-card{ background:var(--paper); border:1px solid var(--paper-line); padding:20px; }
  .who-card h4{ font-size:15px; margin-bottom:8px; }
  .who-card p{ font-size:13.5px; color:var(--text-soft); }
  .faq-item{ border-bottom:1px solid var(--paper-line); padding:16px 0; }
  .faq-item summary{ cursor:pointer; font-family:var(--display); font-weight:600; font-size:15px; list-style:none; display:flex; justify-content:space-between; align-items:center; }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{ content:"+"; font-size:20px; color:var(--amber-deep); flex:none; margin-left:12px; }
  .faq-item[open] summary::after{ content:"–"; }
  .faq-item p{ margin-top:10px; font-size:14px; color:var(--text-soft); }
