:root{
  --ink:#0a0a0a;
  --paper:#f4f1ea;
  --paper-2:#ebe7dc;
  --accent:#ffd400;      /* BTU yellow from the cover */
  --blue:#1a3a8f;         /* Belgian/UA civic blue accent */
  --line:#0a0a0a;
  --muted:#6b6860;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--paper);color:var(--ink);font-family:'Archivo',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ─── Grain overlay ─────────────────────────── */
body::before{
  content:"";
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events:none;z-index:999;mix-blend-mode:multiply;
}

/* ─── Ticker tape ───────────────────────────── */
.ticker{
  background:var(--ink);color:var(--paper);
  font-family:'JetBrains Mono',monospace;font-size:12px;
  letter-spacing:.08em;padding:10px 0;
  border-bottom:1px solid var(--ink);overflow:hidden;white-space:nowrap;
}
.ticker-track{display:inline-block;animation:slide 38s linear infinite}
.ticker span{display:inline-flex;align-items:center;margin:0 2.5rem;text-transform:uppercase}
.ticker span::before{content:"◆";color:var(--accent);margin-right:.8rem}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── Navigation ────────────────────────────── */
nav{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  padding:28px 40px;border-bottom:1px solid var(--ink);
  position:sticky;top:0;background:var(--paper);z-index:100;
}
.logo{display:flex;align-items:center;gap:14px;font-family:'Archivo Black',sans-serif;font-size:14px;line-height:1;letter-spacing:-.01em;text-transform:uppercase}
.logo-mark{
  width:42px;height:42px;background:var(--ink);color:var(--paper);
  display:grid;place-items:center;font-size:26px;font-family:'Archivo Black',sans-serif;
  border-radius:0 50% 50% 0;
}
.nav-links{display:flex;gap:40px;justify-content:center;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.08em}
.nav-links a{position:relative;padding-bottom:4px}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--ink);transition:width .3s ease}
.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--ink);color:var(--paper);padding:14px 24px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;transition:all .3s}
.nav-cta:hover{background:var(--accent);color:var(--ink)}

/* ─── Hero ──────────────────────────────────── */
.hero{
  padding:80px 40px 60px;border-bottom:1px solid var(--ink);
  position:relative;overflow:hidden;
}
.hero-meta{
  display:flex;justify-content:space-between;
  font-family:'JetBrains Mono',monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:60px;
}
.hero h1{
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(2rem,10vw,10.5rem);
  line-height:.86;letter-spacing:-.035em;text-transform:uppercase;
}
.hero h1 .yellow{background:var(--accent);padding:0 .15em;display:inline-block;transform:skew(-4deg);margin:0 .05em}
.hero h1 .outline{-webkit-text-stroke:2px var(--ink);color:transparent}
.hero-bottom{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:70px;align-items:end;
}
.hero-lead{font-size:20px;line-height:1.45;max-width:460px;font-weight:400}
.hero-lead strong{font-weight:700}
.hero-actions{display:flex;gap:16px;justify-content:flex-end;flex-wrap:wrap}
.btn{
  padding:20px 32px;font-size:13px;text-transform:uppercase;letter-spacing:.1em;
  font-weight:600;border:1.5px solid var(--ink);transition:all .3s;cursor:pointer;display:inline-flex;align-items:center;gap:10px;
}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn .arrow{display:inline-block;transition:transform .3s}
.btn:hover .arrow{transform:translateX(4px)}

/* floating decorative marks */
.hero::after{
  content:"";position:absolute;right:-80px;top:120px;width:300px;height:300px;
  background:var(--ink);border-radius:50%;opacity:.04;pointer-events:none;
}

/* ─── Stats strip ───────────────────────────── */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--ink);background:var(--ink);color:var(--paper);
}
.stat{
  padding:50px 40px;border-right:1px solid rgba(244,241,234,.15);
  transition:background .4s;
}
.stat:last-child{border-right:none}
.stat:hover{background:var(--accent);color:var(--ink)}
.stat-num{font-family:'Archivo Black',sans-serif;font-size:72px;line-height:.9;letter-spacing:-.03em}
.stat-label{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:16px;opacity:.7}
.stat:hover .stat-label{opacity:1}

/* ─── Section base ──────────────────────────── */
section{padding:120px 40px;border-bottom:1px solid var(--ink);position:relative}
.section-tag{
  display:inline-flex;align-items:center;gap:12px;
  font-family:'JetBrains Mono',monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.12em;margin-bottom:24px;
}
.section-tag::before{content:"";width:32px;height:1px;background:var(--ink)}
.section-title{
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(2.5rem,6vw,5.5rem);line-height:.92;letter-spacing:-.025em;
  text-transform:uppercase;max-width:14ch;
}

/* ─── Mission / manifesto ───────────────────── */
.mission{background:var(--paper)}
.mission-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  margin-top:44px;
  align-items:start;
  --mission-list-offset:-48px;
}
.manifesto{font-size:28px;line-height:1.35;font-weight:400;max-width:560px}
.manifesto em{font-style:normal;background:var(--accent);padding:2px 8px}
.mission-list{list-style:none;counter-reset:m;margin-top:var(--mission-list-offset)}
.mission-list li{
  counter-increment:m;padding:28px 0;border-top:1px solid var(--ink);
  display:grid;grid-template-columns:60px 1fr;gap:20px;align-items:baseline;
  transition:padding-left .3s;
}
.mission-list li:hover{padding-left:16px}
.mission-list li:last-child{border-bottom:1px solid var(--ink)}
.mission-list li::before{
  content:counter(m,decimal-leading-zero);
  font-family:'Archivo Black',sans-serif;font-size:24px;
}
.mission-list h4{font-size:19px;text-transform:uppercase;letter-spacing:.02em;font-weight:700;margin-bottom:6px}
.mission-list p{font-size:14px;color:var(--muted);line-height:1.5}

/* ─── Sectors grid ──────────────────────────── */
.sectors{background:var(--ink);color:var(--paper)}
.sectors .section-tag::before{background:var(--paper)}
.sectors-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-top:80px;border:1px solid rgba(244,241,234,.2);
}
.sector{
  padding:48px 32px;border-right:1px solid rgba(244,241,234,.2);
  border-bottom:1px solid rgba(244,241,234,.2);
  min-height:300px;display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;transition:all .4s;cursor:pointer;
}
.sector:nth-child(4n){border-right:none}
.sector:nth-child(n+5){border-bottom:none}
.sector:hover{background:var(--accent);color:var(--ink)}
.sector-content{
  position:relative;
  z-index:2;
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.sector-image{
  position:absolute;
  top:16px;
  right:8px;
  width:65.93%;
  max-width:301px;
  opacity:0;
  transform:translateY(-10px) scale(.96);
  transform-origin:top right;
  transition:opacity .35s ease,transform .35s ease;
  pointer-events:none;
  mix-blend-mode:multiply;
}
.sector-image-cyber{
  top:18px;
  right:-6px;
  width:58.7%;
}
.sector-image-health{
  top:0;
  right:5%;
  width:34.02%;
  max-width:154px;
}
.sector:hover .sector-image{
  opacity:1;
  transform:translateY(0) scale(1);
}
.sector-num{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;opacity:.5}
.sector h3{font-family:'Archivo Black',sans-serif;font-size:28px;line-height:.95;text-transform:uppercase;letter-spacing:-.01em;margin-top:auto}
.sector p{font-size:13px;margin-top:12px;opacity:.7;line-height:1.5}
.sector:hover p{opacity:1}

/* ─── Founders ──────────────────────────────── */
.founders{background:var(--paper-2)}
.founders-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:96px;
  row-gap:48px;
  margin-top:80px;
}
.founder{
  position:relative;
  padding-top:32px;
  width:100%;
  max-width:380px;
}
.founder::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:85%;
  border-top:2px solid var(--ink);
  transform:translateX(-50%);
}
.founder:first-child{justify-self:end}
.founder:nth-child(2){justify-self:start}
.founder-photo{
  position:relative;width:85%;aspect-ratio:6/7;margin:0 auto 32px;
  overflow:visible;
  isolation:isolate;
  --panel-top:13%;
  --layer-overlap:2px;
  --panel-radius:32px;
  --photo-height:100%;
  --photo-left:50%;
  --photo-bottom:0%;
}
.founder-photo-bg{
  position:absolute;left:0;right:0;top:var(--panel-top);bottom:0;
  background:var(--accent);border-radius:var(--panel-radius);
  z-index:1;
}
.founder:nth-child(2) .founder-photo-bg{background:var(--blue)}
.founder-photo-layer{
  position:absolute;inset:0;
}
.founder-photo-layer-panel{
  z-index:2;
  clip-path:inset(calc(var(--panel-top) - var(--layer-overlap)) 0 0 0 round var(--panel-radius));
}
.founder-photo-layer-overflow{
  z-index:3;
  clip-path:inset(0 0 calc(100% - var(--panel-top) - var(--layer-overlap)) 0);
}
.founder-photo-image{
  position:absolute;left:var(--photo-left);bottom:var(--photo-bottom);
  width:auto;height:var(--photo-height);max-width:none;
  transform:translateX(-50%);
  filter:grayscale(1) contrast(1.08) brightness(1.03);
  pointer-events:none;user-select:none;
}
.founder:first-child .founder-photo{
  --panel-top:12.5%;
  --photo-height:103%;
  --photo-left:50%;
  --photo-bottom:0%;
}
.founder:nth-child(2) .founder-photo{
  --panel-top:14%;
  --photo-height:101%;
  --photo-left:50.5%;
}
.founder h3,
.founder-role,
.founder p{
  width:90%;
  margin-left:auto;
  margin-right:auto;
}
.founder h3{font-family:'Archivo Black',sans-serif;font-size:32px;text-transform:uppercase;letter-spacing:-.01em;text-align:center}
.founder-role{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:8px auto 20px;text-align:center}
.founder p{font-size:15px;line-height:1.55;max-width:none}

/* ─── Memberships / pricing ─────────────────── */
.pricing{background:var(--paper)}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:80px;border:1.5px solid var(--ink)}
.tier{
  padding:48px 32px;border-right:1.5px solid var(--ink);
  display:flex;flex-direction:column;min-height:520px;
  transition:background .3s;
}
.tier:last-child{border-right:none}
.tier:hover{background:var(--ink);color:var(--paper)}
.tier.featured{background:var(--ink);color:var(--paper)}
.tier.featured:hover{background:var(--accent);color:var(--ink)}
.tier-name{font-family:'JetBrains Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:24px}
.tier-price{font-family:'Archivo Black',sans-serif;font-size:48px;line-height:1;letter-spacing:-.02em}
.tier-price small{font-size:14px;font-weight:400;font-family:'Archivo',sans-serif;display:block;margin-top:8px;opacity:.6}
.tier-for{font-size:13px;margin:24px 0;padding-bottom:24px;border-bottom:1px solid currentColor;opacity:.7}
.tier ul{list-style:none;flex:1;font-size:13px}
.tier li{padding:10px 0;display:flex;gap:10px;align-items:flex-start;line-height:1.4}
.tier li::before{content:"→";flex-shrink:0}
.tier-slots{font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:20px;opacity:.5}

/* ─── CTA final ─────────────────────────────── */
.final-cta{
  background:var(--accent);color:var(--ink);
  padding:140px 40px;text-align:center;position:relative;overflow:hidden;
}
.final-cta::before{
  content:"BUILD • CONNECT • DELIVER • BUILD • CONNECT • DELIVER • ";
  position:absolute;top:30px;left:0;white-space:nowrap;
  font-family:'Archivo Black',sans-serif;font-size:80px;
  color:var(--ink);opacity:.08;animation:slide 25s linear infinite;
}
.final-cta h2{
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(3rem,8vw,7rem);line-height:.9;letter-spacing:-.03em;
  text-transform:uppercase;position:relative;
}
.final-cta p{font-size:18px;max-width:560px;margin:32px auto 48px;line-height:1.5;position:relative}
.final-cta .btn{position:relative}

/* ─── Footer ────────────────────────────────── */
footer{background:var(--ink);color:var(--paper);padding:80px 40px 40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:80px}
.footer-brand .logo-mark{background:var(--paper);color:var(--ink)}
.footer-brand p{font-size:14px;margin-top:24px;max-width:320px;opacity:.6;line-height:1.5}
footer h5{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px;opacity:.5}
footer ul{list-style:none}
footer li{padding:8px 0;font-size:14px}
footer li a:hover{color:var(--accent)}
.footer-bottom{
  border-top:1px solid rgba(244,241,234,.15);padding-top:30px;
  display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;
  font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.5;
}

/* ─── Responsive ────────────────────────────── */
@media (max-width:900px){
  nav{grid-template-columns:auto auto;gap:20px}
  .nav-links{display:none}
  .hero-bottom,.mission-grid{grid-template-columns:1fr;gap:40px}
  .hero-actions{justify-content:center}
  .mission-grid{--mission-list-offset:0px}
  .founders-grid{grid-template-columns:1fr;gap:40px}
  .founder{max-width:none}
  .founder:first-child,.founder:nth-child(2){justify-self:stretch}
  .stats,.sectors-grid,.pricing-grid,.footer-grid{grid-template-columns:1fr 1fr}
  .sector,.tier{border-right:1px solid rgba(244,241,234,.2) !important}
  .sector:nth-child(2n),.tier:nth-child(2n){border-right:none !important}
  section{padding:80px 24px}
  .hero{padding:60px 24px 40px}
}
@media (max-width:560px){
  .manifesto{font-size:20px}
  .br-desktop{display:none}
  .manifesto-break{display:block}
  .ticker{font-size:10px;padding:7px 0}
  .ticker span{margin:0 1.5rem}
  nav{grid-template-columns:minmax(0,1fr) auto;padding:22px 18px;gap:18px}
  .logo{gap:11px;font-size:12px}
  .logo-mark{width:40px;height:40px;font-size:24px;flex-shrink:0}
  .nav-cta{justify-self:end;padding:13px 15px;font-size:12px;letter-spacing:.066em;white-space:nowrap}
  .stats,.sectors-grid,.pricing-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px 24px}
  .footer-brand,.footer-grid>div:last-child{grid-column:span 2}
  .stat{text-align:center}
  .sector,.tier{border-right:none !important}
  .founder-photo{width:100%}
  .founder-photo{--panel-radius:24px}
  .founder h3,
  .founder-role,
  .founder p{width:100%}
  .hero-meta{flex-direction:column;gap:3px;margin-bottom:30px}
}

/* ─── Scroll-reveal — touch devices ─────────────────────────────────────── */
@media (hover: none) {
  .sector:hover{background:inherit;color:inherit}
  .sector.is-active{background:var(--accent);color:var(--ink)}
  .sector.is-active .sector-image{opacity:1;transform:translateY(0) scale(1)}
  .sector.is-active p{opacity:1}
  .stat:hover{background:inherit;color:inherit}
  .stat.is-active{background:var(--accent);color:var(--ink)}
  .stat.is-active .stat-label{opacity:1}
}

/* Entrance animation */
.reveal{opacity:0;transform:translateY(30px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.reveal:nth-child(2){animation-delay:.1s}
.reveal:nth-child(3){animation-delay:.2s}
.reveal:nth-child(4){animation-delay:.3s}
@keyframes rise{to{opacity:1;transform:translateY(0)}}

/* ─── Nav active state ──────────────────────── */
.nav-links a[aria-current="page"]::after{width:100%}

/* ─── Contact page ──────────────────────────── */
.contact{background:var(--paper)}
.contact-title{
  font-family:'Archivo Black',sans-serif;
  font-size:clamp(2.5rem,6vw,5.5rem);line-height:.92;
  letter-spacing:-.025em;text-transform:uppercase;
  max-width:16ch;margin-bottom:80px;
}
.contact-grid{
  display:grid;grid-template-columns:1fr 1.5fr;
  border:1px solid var(--ink);
}
.contact-info{
  padding:48px 40px;border-right:1px solid var(--ink);
  display:flex;flex-direction:column;gap:40px;
}
.contact-lead{font-size:20px;line-height:1.45;font-weight:400}
.contact-direct{display:flex;flex-direction:column;gap:10px}
.contact-direct-label{
  font-family:'JetBrains Mono',monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.1em;color:var(--muted);
}
.contact-direct a{
  font-size:15px;font-weight:600;
  border-bottom:1px solid var(--ink);padding-bottom:2px;
  display:inline;transition:color .3s,border-color .3s;
}
.contact-direct a:hover{color:var(--muted);border-color:var(--muted)}
.contact-locations{
  font-family:'JetBrains Mono',monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.08em;color:var(--muted);
}

/* ─── Form components ───────────────────────── */
.contact-form-wrap{padding:48px 40px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-group{display:flex;flex-direction:column;margin-bottom:24px;position:relative}
.form-honey{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.form-label{
  font-family:'JetBrains Mono',monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--ink);margin-bottom:8px;
}
.form-label .required{color:var(--muted)}
.form-input,
.form-select,
.form-textarea{
  font-family:'Archivo',sans-serif;font-size:15px;font-weight:400;
  color:var(--ink);background:var(--paper);
  border:1px solid var(--ink);border-radius:0;
  padding:12px 16px;outline:none;
  transition:border-color .2s,border-width .2s;
  -webkit-appearance:none;appearance:none;width:100%;
}
.form-select{
  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='%230a0a0a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;
  padding-right:44px;cursor:pointer;
}
.form-textarea{resize:vertical;min-height:140px;line-height:1.5}
.form-input:focus,
.form-select:focus,
.form-textarea:focus{border-color:var(--accent);border-width:2px}
.form-input.error,
.form-select.error,
.form-textarea.error{border-color:#c0392b;border-left-width:3px}
.form-error-msg{
  font-family:'JetBrains Mono',monospace;font-size:10px;
  color:#c0392b;text-transform:uppercase;letter-spacing:.06em;margin-top:6px;
}
.form-status{
  display:none;padding:16px 20px;
  border:1px solid var(--ink);
  font-family:'JetBrains Mono',monospace;font-size:11px;
  text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:24px;line-height:1.6;
}
.form-status--success{display:block;background:var(--accent);color:var(--ink)}
.form-status--error{display:block;background:var(--ink);color:var(--paper)}
.form-submit{width:100%;justify-content:center}
.form-security-note{
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  line-height:1.6;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
  margin:-4px 0 24px;
}
.tier-group{display:none}

/* Success state (replaces form) */
.form-success{
  display:none;padding:60px 0;text-align:center;
}
.form-success.visible{display:flex;flex-direction:column;align-items:center;gap:24px}
.form-success-mark{
  font-family:'Archivo Black',sans-serif;font-size:48px;
  color:var(--accent);
}
.form-success-msg{
  font-size:20px;line-height:1.5;
  font-weight:400;max-width:32ch;
}
.form-success-back{margin-top:8px}

/* ─── Contact responsive ────────────────────── */
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .contact-info{border-right:none;border-bottom:1px solid var(--ink)}
}
@media (max-width:560px){
  .form-row{grid-template-columns:1fr;gap:0}
  .contact-form-wrap,.contact-info{padding:32px 24px}
}
