:root{
  --paper:#F1F1EF; --panel:#FFFFFF; --line:#CACCCF; --line-soft:#DEDFE1;
  --ink:#1B1D1F; --ink-soft:#6B6F76; --ink-faint:#9A9EA5;
  --ph-fill:#EAEAE8; --ph-stripe:#D9DADA;
  --accent:#51637E; --accent-soft:#E4E9F0;
  --tag:#B75B2E; --tag-soft:#F7E4D8;
  --certified:#2E8B57; --warning:#B4670A; --revoked:#A93B23;
  --shadow:0 10px 26px -18px rgba(20,20,20,0.35);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#131417; --panel:#1B1D21; --line:#33363B; --line-soft:#292B30;
    --ink:#E9E9E7; --ink-soft:#A6A9AE; --ink-faint:#797D84;
    --ph-fill:#202226; --ph-stripe:#2B2D31;
    --accent:#93A6C4; --accent-soft:#242C38;
    --tag:#D98A5D; --tag-soft:#33261E;
    --certified:#5FC98D; --warning:#F0AA4E; --revoked:#EC7A5C;
    --shadow:0 10px 26px -16px rgba(0,0,0,0.6);
  }
}
:root[data-theme="dark"]{
  --paper:#131417; --panel:#1B1D21; --line:#33363B; --line-soft:#292B30;
  --ink:#E9E9E7; --ink-soft:#A6A9AE; --ink-faint:#797D84;
  --ph-fill:#202226; --ph-stripe:#2B2D31;
  --accent:#93A6C4; --accent-soft:#242C38;
  --tag:#D98A5D; --tag-soft:#33261E;
  --certified:#5FC98D; --warning:#F0AA4E; --revoked:#EC7A5C;
  --shadow:0 10px 26px -16px rgba(0,0,0,0.6);
}

*{box-sizing:border-box;}
body{
  background:var(--paper); color:var(--ink);
  font-family:'IBM Plex Sans', ui-sans-serif, system-ui, sans-serif;
  margin:0; padding:0; font-size:14px; line-height:1.55;
}
h1,h2,h3{font-family:'Manrope', ui-sans-serif, sans-serif; font-weight:800; color:var(--ink); text-wrap:balance; margin:0;}
.mono{font-family:'IBM Plex Mono', ui-monospace, monospace;}
p{margin:0;}
*:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}

/* ---- page shell ---- */
.site{max-width:1280px; width:100%; margin:0 auto; background:var(--panel);}

.zone{position:relative; border-bottom:1px solid var(--line-soft); padding:34px 60px;}
.zone:last-of-type{border-bottom:none;}

/* ---- header / nav / brand (shared across all pages) ---- */
.zone.header{padding:16px 40px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brand{display:flex; align-items:center; gap:8px; font-weight:800; font-size:14px; text-decoration:none; color:inherit;}
.brand .logo-badge{width:28px; height:28px; border-radius:50%; object-fit:cover; flex-shrink:0;}
.brand-logotype{font-family:'Rajdhani',ui-sans-serif,sans-serif; font-size:16px; white-space:nowrap;}
.brand-logotype b{font-weight:700;}
.brand-logotype span{font-weight:400;}
.hnav{display:flex; gap:26px; font-size:12.5px; font-weight:600; color:var(--ink-soft);}
.hnav a{color:inherit; text-decoration:none;}
.hnav a.current{color:var(--ink); position:relative;}
.hnav a.current::after{content:""; position:absolute; left:0; right:0; bottom:-16px; height:2px; background:var(--accent);}
.btn{
  font-family:'IBM Plex Sans',sans-serif; font-weight:600; font-size:12.5px;
  padding:9px 16px; border-radius:6px; display:inline-block; white-space:nowrap;
  text-decoration:none; cursor:pointer; border:none;
}
.btn.primary{background:var(--accent); color:var(--panel);}
.btn.outline{border:1.5px solid var(--accent); color:var(--accent);}
.btn.primary.current{outline:2px solid var(--ink); outline-offset:2px;}
.fl-link{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--accent); text-decoration:none;}
.fl-link img{width:14px; height:14px; object-fit:contain; border-radius:2px;}
.btn, .filter-chip, .fl-link{cursor:pointer;}

.asset{
  background:repeating-linear-gradient(45deg, var(--ph-fill), var(--ph-fill) 6px, var(--ph-stripe) 6px, var(--ph-stripe) 12px);
  border:1px dashed var(--ink-faint); border-radius:8px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  color:var(--ink-faint); font-family:'IBM Plex Mono',monospace; font-size:11px; padding:16px;
}

.section-head{margin-bottom:18px;}
.section-head .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:8px;}
.section-head h2{font-size:22px;}

.intro{padding-top:46px; padding-bottom:24px;}
.intro .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:12px;}
.intro h1{font-size:32px; margin-bottom:12px; max-width:20ch;}
.intro .sub{font-size:14px; color:var(--ink-soft); max-width:60ch;}

.final-cta{text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px;}
.final-cta h2{font-size:24px; max-width:30ch;}
.final-cta p{font-size:13px; color:var(--ink-soft); max-width:52ch;}
.microcopy{font-size:11.5px; color:var(--ink-faint); font-family:'IBM Plex Mono',monospace;}

/* ---- HOME ---- */
.hero{display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center; padding-top:56px; padding-bottom:56px;}
.hero .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:14px;}
.hero h1{font-size:36px; line-height:1.12; margin-bottom:16px;}
.hero .sub{font-size:14.5px; color:var(--ink-soft); max-width:46ch; margin-bottom:22px;}
.cta-row{display:flex; gap:12px; flex-wrap:wrap; align-items:center;}
.hero .asset{height:230px;}

/* ---- real UI screenshots, adapted from the FiduLock User Manual artifact ---- */
.screenshot-embed{
  --navy:#003366; --cyan:#0099cc; --sea:#2e8b57; --amber:#b3660b; --red:#b0392b;
  color:#16232f; background:#ffffff; border:1px solid #d9e2ea; border-radius:10px; padding:16px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .screenshot-embed{
    --navy:#6fb3e0; --cyan:#3fc4f2; --sea:#52c084; --amber:#e0a458; --red:#e08070;
    color:#e7eef4; background:#101b25; border-color:#263745;
  }
}
:root[data-theme="dark"] .screenshot-embed{
  --navy:#6fb3e0; --cyan:#3fc4f2; --sea:#52c084; --amber:#e0a458; --red:#e08070;
  color:#e7eef4; background:#101b25; border-color:#263745;
}
.screenshot-embed svg{display:block; width:100%; height:auto;}
.problem-head{margin-bottom:22px;}
.problem-head .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:8px;}
.problem-head h2{font-size:22px; max-width:24ch;}
.problem-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.problem-card{border:1px solid var(--line); border-radius:8px; padding:18px 20px;}
.problem-card h3{font-size:14.5px; margin-bottom:8px;}
.problem-card p{font-size:12.5px; color:var(--ink-soft);}
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.svc-card{border:1px solid var(--line); border-radius:8px; padding:18px 18px 16px; display:flex; flex-direction:column; gap:10px;}
.svc-card .ico{width:30px; height:30px; border:1.5px solid var(--ink-faint); border-radius:6px;}
.svc-card h3{font-size:14px;}
.svc-card p{font-size:12px; color:var(--ink-soft); flex:1;}
.svc-card .lnk{font-size:11.5px; font-weight:600; color:var(--accent); text-decoration:none;}
.method-row{display:flex; align-items:stretch;}
.method-cell{flex:1; padding:0 18px; position:relative;}
.method-cell:first-child{padding-left:0;}
.method-cell:last-child{padding-right:0;}
.method-cell + .method-cell::before{content:"\2192"; position:absolute; left:-4px; top:2px; color:var(--ink-faint); font-size:15px;}
.method-cell .n{font-family:'IBM Plex Mono',monospace; font-size:10.5px; font-weight:700; color:var(--accent); letter-spacing:0.06em;}
.method-cell h3{font-size:14px; margin:6px 0 6px;}
.method-cell p{font-size:11.5px; color:var(--ink-soft);}
.fl-band{display:grid; grid-template-columns:0.95fr 1.05fr; gap:40px; align-items:center;}
.fl-band .asset{height:210px;}
.fl-band h2{font-size:23px; max-width:22ch; margin-bottom:12px;}
.fl-band p{font-size:13px; color:var(--ink-soft); margin-bottom:16px; max-width:48ch;}
.cred{text-align:center; max-width:64ch; margin:0 auto;}
.cred p{font-size:15px; color:var(--ink); line-height:1.6;}
.cred .attr{margin-top:12px; font-size:12px; color:var(--ink-faint); font-family:'IBM Plex Mono',monospace;}
.insight-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.insight-card{border:1px solid var(--line); border-radius:8px; padding:14px 15px; display:flex; flex-direction:column; gap:8px; text-decoration:none; color:inherit;}
.insight-card .kicker{font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.05em;}
.insight-card h3{font-size:12.5px; line-height:1.35;}
.insight-card.book{background:var(--accent-soft); border-color:var(--accent);}
.insight-card .field{margin-top:auto; border:1px solid var(--line); border-radius:5px; padding:7px 9px; font-size:11px; color:var(--ink-faint); background:var(--panel);}

/* ---- FIDULOCK ---- */
.fl-hero{display:grid; grid-template-columns:0.55fr 1.45fr; gap:44px; align-items:center; padding-top:50px; padding-bottom:50px;}
.fl-hero .logo-plate{height:210px; border-radius:10px; border:1px solid var(--line); background:#FFFFFF; display:flex; align-items:center; justify-content:center; padding:14px;}
.fl-hero .logo-plate img{max-width:100%; max-height:100%; object-fit:contain;}
.fl-hero .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:14px;}
.fl-hero h1{font-size:32px; line-height:1.14; margin-bottom:14px; max-width:22ch;}
.fl-hero .sub{font-size:14px; color:var(--ink-soft); max-width:56ch; margin-bottom:18px;}
.pain-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.pain-card{border:1px solid var(--line); border-left:3px solid var(--tag); border-radius:0 8px 8px 0; padding:14px 15px; display:flex; flex-direction:column; gap:7px;}
.pain-card h3{font-size:12.5px;}
.pain-card p{font-size:11.5px; color:var(--ink-soft);}
.disc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.disc-card{border:1px solid var(--line); border-radius:8px; padding:16px 15px; display:flex; flex-direction:column; gap:10px;}
.disc-card .n{font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:700; color:var(--accent); letter-spacing:0.06em;}
.disc-card h3{font-size:14.5px;}
.disc-card ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px;}
.disc-card li{font-size:11px; color:var(--ink-soft); line-height:1.45; padding-left:11px; position:relative;}
.disc-card li::before{content:""; position:absolute; left:0; top:6px; width:4px; height:4px; border-radius:999px; background:var(--ink-faint);}
.badge-row{display:flex; flex-wrap:wrap; gap:12px;}
.badge-chip{display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:8px; padding:10px 14px; flex:1; min-width:210px;}
.badge-chip .dot{width:10px; height:10px; border-radius:999px; flex-shrink:0;}
.badge-chip .t{font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:700;}
.badge-chip .d{font-size:11px; color:var(--ink-soft);}
.fl-arch{display:flex; flex-direction:column; gap:14px;}
.fl-arch .asset{height:260px;}

/* ---- real architecture diagram, adapted from the FiduLock Trust Cube / Brochure artifacts ----
   the SVG below references var(--ink), var(--border) etc. directly, so this scope
   redefines those exact custom-property names for its own subtree only. */
.diagram-embed{
  --bg:#F4F7F9; --card-bg:#FFFFFF; --page-bg:#FFFFFF; --border:#D7E0E7;
  --ink:#0B1F33; --ink-soft:#4E6070; --ink-faint:#7C8C99;
  --navy:#003366; --navy-soft:#3F6D9C; --cyan:#0099CC; --cyan-soft:#CDEBF6;
  --green:#2E8B57; --green-soft:#D8EEE2; --amber:#B4670A; --amber-soft:#F7E4C8;
  --coral:#A93B23; --coral-soft:#F3DBD3; --violet:#6D4C9C; --violet-soft:#E6DEF2;
  --face-top:#E4F1E9; --face-left:#DCF0F8; --face-right:#F5E3DE;
  background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:16px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .diagram-embed{
    --bg:#0A1520; --card-bg:#101E2E; --page-bg:#0C1826; --border:#22384B;
    --ink:#E8EEF3; --ink-soft:#A9BAC8; --ink-faint:#74879A;
    --navy:#7FB3E8; --navy-soft:#5A88B8; --cyan:#3FC4EF; --cyan-soft:#123448;
    --green:#57C088; --green-soft:#103828; --amber:#F0AA4E; --amber-soft:#3A2A10;
    --coral:#EC7A5C; --coral-soft:#3A1F16; --violet:#B79AE0; --violet-soft:#251C3A;
    --face-top:#10261C; --face-left:#0E2734; --face-right:#2E1C16;
  }
}
:root[data-theme="dark"] .diagram-embed{
  --bg:#0A1520; --card-bg:#101E2E; --page-bg:#0C1826; --border:#22384B;
  --ink:#E8EEF3; --ink-soft:#A9BAC8; --ink-faint:#74879A;
  --navy:#7FB3E8; --navy-soft:#5A88B8; --cyan:#3FC4EF; --cyan-soft:#123448;
  --green:#57C088; --green-soft:#103828; --amber:#F0AA4E; --amber-soft:#3A2A10;
  --coral:#EC7A5C; --coral-soft:#3A1F16; --violet:#B79AE0; --violet-soft:#251C3A;
  --face-top:#10261C; --face-left:#0E2734; --face-right:#2E1C16;
}
.diagram-embed svg{display:block; width:100%; height:auto;}
.diagram-embed .face-title{font-family:'Manrope',sans-serif; font-weight:800;}
.diagram-embed .face-tag{font-family:'IBM Plex Sans',sans-serif; font-weight:500;}
.diagram-embed .node-title{font-family:'Manrope',sans-serif; font-weight:700;}
.diagram-embed .node-sub{font-family:'IBM Plex Sans',sans-serif; font-weight:400;}
.diagram-embed .gate-label{font-family:'IBM Plex Mono',monospace; font-weight:500; letter-spacing:0.02em;}
.diagram-embed .ledger-label{font-family:'Manrope',sans-serif; font-weight:800; letter-spacing:0.01em;}
.diagram-embed .pulse{animation:archPulse 2.8s ease-in-out infinite; transform-origin:center;}
@keyframes archPulse{0%,100%{opacity:0.55;} 50%{opacity:1;}}
@media (prefers-reduced-motion: reduce){ .diagram-embed .pulse{animation:none; opacity:0.85;} }
.diagram-caption{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--ink-faint); margin-top:8px;}
.proof-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:30px; align-items:center;}
.proof-grid .asset{height:220px;}
.journey-list{margin:0; padding:0; list-style:none; counter-reset:jr; display:flex; flex-direction:column; gap:10px;}
.journey-list li{counter-increment:jr; font-size:12.5px; color:var(--ink-soft); display:flex; gap:10px; align-items:baseline;}
.journey-list li::before{content:counter(jr); font-family:'IBM Plex Mono',monospace; font-weight:700; color:var(--accent); width:16px; flex-shrink:0;}
.journey-list b{color:var(--ink);}

/* ---- SERVICES ---- */
.quicknav{display:flex; gap:10px; flex-wrap:wrap;}
.quicknav a{font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.02em; border:1px solid var(--line); border-radius:999px; padding:8px 14px; color:var(--ink-soft); text-decoration:none;}
.svc-eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:8px;}
.svc-section h2{font-size:24px; margin-bottom:14px; max-width:26ch;}
.svc-layout{display:grid; grid-template-columns:1.3fr 0.9fr; gap:36px; align-items:start;}
.svc-exec{font-size:14px; color:var(--ink); max-width:60ch; margin-bottom:18px;}
.disclosure{border:1px dashed var(--accent); background:var(--accent-soft); border-radius:8px; padding:14px 16px;}
.disclosure .dtitle{display:flex; align-items:center; justify-content:space-between; font-family:'IBM Plex Mono',monospace; font-size:10.5px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--accent); margin-bottom:10px;}
.disclosure ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:7px;}
.disclosure li{font-size:12px; color:var(--ink-soft); padding-left:13px; position:relative;}
.disclosure li::before{content:""; position:absolute; left:0; top:6px; width:4px; height:4px; border-radius:999px; background:var(--accent);}
.side-stack{display:flex; flex-direction:column; gap:15px;}
.deliverable-box{border:1px solid var(--line); border-radius:8px; padding:14px 16px;}
.deliverable-box .lbl{font-family:'IBM Plex Mono',monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-faint); margin-bottom:6px;}
.deliverable-box p{font-size:12.5px; color:var(--ink);}
.cta-mini{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.pillar-block{border:1px solid var(--line); border-radius:8px; padding:16px 18px; margin-bottom:18px;}
.pillar-block .lbl{font-family:'IBM Plex Mono',monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-faint); margin-bottom:12px;}
.pillar-row{display:grid; grid-template-columns:150px 1fr 34px; align-items:center; gap:10px; margin-bottom:9px;}
.pillar-row:last-child{margin-bottom:0;}
.pillar-row .name{font-size:11.5px; color:var(--ink-soft);}
.pillar-track{height:8px; border-radius:5px; background:var(--ph-fill);}
.pillar-fill{height:100%; border-radius:5px; background:var(--ink-faint);}
.pillar-row .val{font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--ink-faint); text-align:right;}
.contact-band{text-align:center;}
.contact-band h2{font-size:24px; margin-bottom:10px;}
.contact-band .sub{font-size:13px; color:var(--ink-soft); max-width:52ch; margin:0 auto 22px;}
.mini-form{max-width:640px; margin:0 auto; display:flex; flex-direction:column; gap:10px;}
.form-row{display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px;}
.field{border:1px solid var(--line); border-radius:6px; padding:10px 12px; font-size:12px; color:var(--ink-faint); background:var(--panel); text-align:left;}
.field.select::after{content:" \25BE"; float:right; color:var(--ink-faint);}

/* ---- ABOUT ---- */
.ab-hero{display:grid; grid-template-columns:0.85fr 1.15fr; gap:40px; align-items:center; padding-top:50px; padding-bottom:50px;}
.ab-hero .asset{height:280px; border-radius:50%;}
.ab-hero .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:14px;}
.ab-hero h1{font-size:30px; line-height:1.16; margin-bottom:14px;}
.ab-hero .sub{font-size:14px; color:var(--ink-soft); max-width:52ch;}
.bio-body{font-size:14.5px; color:var(--ink); max-width:70ch; margin-bottom:18px;}
.bio-body.draft{border-left:3px dashed var(--tag); padding-left:16px;}
.chip-row{display:flex; flex-wrap:wrap; gap:9px;}
.chip{border:1px solid var(--line); border-radius:999px; padding:7px 14px; font-size:11.5px; color:var(--ink-soft); font-family:'IBM Plex Mono',monospace;}
.quote-block{max-width:74ch;}
.quote-block .q{font-family:'Manrope',sans-serif; font-weight:700; font-size:21px; line-height:1.45; color:var(--ink); margin-bottom:14px;}
.quote-block .term{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--ink-faint);}
.why-layout{display:grid; grid-template-columns:1.3fr 0.9fr; gap:36px; align-items:center;}
.why-layout p{font-size:14px; color:var(--ink-soft); max-width:58ch; margin-bottom:14px;}
.why-layout .asset{height:150px;}
.timeline{display:flex; align-items:stretch;}
.tl-step{flex:1; padding:0 18px; position:relative;}
.tl-step:first-child{padding-left:0;}
.tl-step:last-child{padding-right:0;}
.tl-step + .tl-step::before{content:"\2192"; position:absolute; left:-4px; top:2px; color:var(--ink-faint); font-size:15px;}
.tl-step .n{font-family:'IBM Plex Mono',monospace; font-size:10.5px; font-weight:700; color:var(--accent); letter-spacing:0.06em;}
.tl-step h3{font-size:13.5px; margin:6px 0 6px;}
.tl-step p{font-size:11.5px; color:var(--ink-soft);}

/* ---- INSIGHTS ---- */
.filter-row{display:flex; gap:9px; flex-wrap:wrap; padding-bottom:8px;}
.filter-chip{font-size:11.5px; font-weight:600; border:1px solid var(--line); border-radius:999px; padding:7px 14px; color:var(--ink-soft); background:none;}
.filter-chip.active{background:var(--accent); border-color:var(--accent); color:var(--panel);}
.book-banner{display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:24px; align-items:start; background:var(--accent-soft); border:1px solid var(--accent); border-radius:10px; padding:24px 26px;}
.book-banner .lead{grid-column:1 / -1; margin-bottom:2px;}
.book-banner .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent); margin-bottom:8px;}
.book-banner h2{font-size:22px;}
.vol{display:flex; flex-direction:column; gap:6px;}
.vol .vlabel{font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:0.05em;}
.vol p{font-size:12px; color:var(--ink-soft);}
.signup{grid-column:1/-1; display:flex; gap:10px; margin-top:6px; flex-wrap:wrap; align-items:center;}
.podcast-strip{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; border:1px solid var(--line); border-radius:10px; padding:18px 22px; margin-top:14px;}
.podcast-strip .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:6px;}
.podcast-strip h3{font-size:15px; margin-bottom:6px;}
.podcast-strip p{font-size:12px; color:var(--ink-soft); max-width:52ch;}
.field.email{flex:1; min-width:200px;}
.article-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.article-card{border:1px solid var(--line); border-radius:8px; padding:16px 17px; display:flex; flex-direction:column; gap:10px; text-decoration:none; color:inherit;}
.article-card .cat{font-family:'IBM Plex Mono',monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--accent);}
.article-card h3{font-size:14px; line-height:1.35;}
.article-card p{font-size:11.5px; color:var(--ink-soft); flex:1;}
.article-card .meta{font-size:10.5px; color:var(--ink-faint); font-family:'IBM Plex Mono',monospace;}
.sec-cta{text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px;}
.sec-cta h2{font-size:22px;}
.sec-cta p{font-size:13px; color:var(--ink-soft);}

/* ---- CONTACT ---- */
.contact-split{display:grid; grid-template-columns:1.2fr 0.8fr; gap:40px; align-items:start;}
.form-card{border:1px solid var(--line); border-radius:10px; padding:24px 26px; display:flex; flex-direction:column; gap:12px;}
.form-card .lbl{font-family:'IBM Plex Mono',monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-faint); margin-bottom:5px;}
.form-row3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px;}
.field.area{min-height:70px;}
input.field, select.field, textarea.field{
  font-family:'IBM Plex Sans',sans-serif; width:100%; box-sizing:border-box; outline:none; color:var(--ink);
}
input.field::placeholder, textarea.field::placeholder{color:var(--ink-faint); opacity:1;}
textarea.field{resize:vertical;}
input.field:focus, select.field:focus, textarea.field:focus{border-color:var(--accent);}
.form-row2{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.backend-note{
  border:1px solid var(--line); border-radius:8px; padding:14px 16px; margin-top:16px;
  font-size:12px; color:var(--ink-soft);
}
.backend-note .lbl{font-family:'IBM Plex Mono',monospace; font-size:9.5px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-faint); margin-bottom:8px;}
.backend-note code{font-family:'IBM Plex Mono',monospace; font-size:11px; background:var(--paper); border:1px solid var(--line-soft); border-radius:4px; padding:1px 5px;}
.backend-note pre{
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; background:var(--paper); border:1px solid var(--line-soft);
  border-radius:6px; padding:10px 12px; overflow-x:auto; margin:8px 0 0; line-height:1.5;
}
.side-card{border:1px solid var(--line); border-radius:10px; padding:20px 22px;}
.side-card .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:8px;}
.side-card h3{font-size:15px; margin-bottom:8px;}
.side-card p{font-size:12.5px; color:var(--ink-soft); margin-bottom:12px;}
.side-card .asset{height:120px;}
.contact-line{display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--ink-soft); margin-bottom:8px;}
.contact-line b{color:var(--ink); font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.04em; width:64px; flex-shrink:0;}
.reassure{font-size:11.5px; color:var(--ink-faint); font-style:italic;}

/* ---- footer (shared) ---- */
.zone.footer{padding:30px 40px 24px;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:24px; margin-bottom:22px;}
.foot-col .h{font-size:11px; font-weight:700; color:var(--ink); margin-bottom:10px; text-transform:uppercase; letter-spacing:0.04em;}
.foot-col a{display:block; font-size:12px; color:var(--ink-soft); margin-bottom:7px; text-decoration:none;}
.foot-col a.with-icon{display:flex; align-items:center; gap:6px;}
.foot-col a.with-icon img{width:14px; height:14px; object-fit:contain; border-radius:2px;}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:16px; border-top:1px solid var(--line-soft); font-size:11px; color:var(--ink-faint);}
