:root {
  --bg: #07110f;
  --bg-2: #0a1512;
  --panel: #0c1815;
  --panel-2: #101f1b;
  --text: #f3f5ed;
  --soft: #c8d1cc;
  --muted: #8d9d95;
  --line: rgba(255,255,255,.10);
  --line-2: rgba(255,255,255,.18);
  --accent: #caff54;
  --accent-2: #6ef0c7;
  --blue: #72d8ff;
  --warm: #ffd5a1;
  --dark-ink: #08100e;
  --shadow: 0 30px 90px rgba(0,0,0,.34);
  --radius-xl: 32px;
  --radius-lg: 24px;
  --radius-md: 18px;
  --shell: min(1280px, calc(100vw - 56px));
  --display: "Manrope", system-ui, sans-serif;
  --body: "DM Sans", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  font-family: var(--body);
  color: var(--text);
  background:
    radial-gradient(circle at 10% 4%, rgba(110,240,199,.055), transparent 24%),
    radial-gradient(circle at 92% 8%, rgba(202,255,84,.045), transparent 20%),
    var(--bg);
  line-height: 1.55;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
svg, img { display: block; max-width: 100%; }
::selection { background: var(--accent); color: var(--dark-ink); }

.shell { width: var(--shell); margin-inline: auto; position: relative; z-index: 1; }
.skip-link {
  position: fixed; left: 16px; top: -70px; z-index: 9999;
  padding: 11px 15px; border-radius: 10px; background: var(--accent); color: var(--dark-ink); font-weight: 700;
}
.skip-link:focus { top: 16px; }
.cursor-light {
  position: fixed; z-index: 0; pointer-events: none; width: 380px; height: 380px;
  border-radius: 50%; transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(110,240,199,.065), transparent 68%);
}

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 90; padding: 10px 0;
  background: rgba(7,17,15,.78); backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.045);
}
.nav-shell { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-family: var(--display); font-weight: 800; letter-spacing: -.04em; }
.brand-symbol {
  width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px;
  background: var(--accent); color: var(--dark-ink); font-size: 1.05rem;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.16);
}
.brand-name { font-size: 1rem; }
.brand-name span { color: var(--accent); }
.desktop-nav { display: flex; align-items: center; gap: 28px; }
.desktop-nav a { color: var(--muted); font-size: .86rem; transition: color .2s ease; }
.desktop-nav a:hover { color: var(--text); }
.nav-actions { display: flex; align-items: center; gap: 11px; }
.language-toggle {
  display: inline-flex; align-items: center; gap: 5px; padding: 8px 4px;
  border: 0; background: transparent; cursor: pointer; font-size: .75rem; color: #728078;
}
.language-toggle .active { color: var(--text); font-weight: 700; }
.language-toggle i { width: 1px; height: 11px; background: var(--line-2); }
.nav-cta {
  padding: 10px 15px; border: 1px solid var(--line); border-radius: 999px; font-size: .8rem; font-weight: 700;
  background: rgba(255,255,255,.025); transition: border-color .2s, transform .2s;
}
.nav-cta:hover { border-color: rgba(202,255,84,.35); transform: translateY(-1px); }
.menu-button { display: none; }
.mobile-menu { display: none; }

/* Shared typography / controls */
.section { padding: 124px 0; }
.section-number { display: block; color: #6f8178; text-transform: uppercase; letter-spacing: .18em; font-size: .66rem; margin-bottom: 16px; }
.section-header { display: grid; grid-template-columns: 1.15fr .65fr; gap: 80px; align-items: end; margin-bottom: 50px; }
.section-header h2, .experience-intro h2, .lab-copy h2, .contact-layout h2 {
  margin: 0; font-family: var(--display); font-weight: 700; letter-spacing: -.055em; line-height: 1.01;
}
.section-header h2 { font-size: clamp(2.8rem, 5.2vw, 5.6rem); max-width: 930px; }
.section-header > p { color: var(--muted); max-width: 500px; margin: 0 0 4px; }
.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 50px;
  padding: 0 21px; border-radius: 999px; border: 1px solid transparent; font-weight: 700; font-size: .88rem;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button b { font-weight: 500; }
.button-primary { background: var(--accent); color: var(--dark-ink); box-shadow: 0 12px 36px rgba(202,255,84,.09); }
.button-primary:hover { background: #d8ff78; }
.button-secondary { border-color: var(--line); background: rgba(255,255,255,.025); }
.button-secondary:hover { border-color: var(--line-2); }
.button-light { background: #f3f4ee; color: var(--dark-ink); }
.text-arrow { display: inline-flex; gap: 12px; align-items: center; font-weight: 700; }
.text-arrow b { color: var(--accent); transition: transform .2s; }
.text-arrow:hover b { transform: translate(3px,-3px); }
.dark-link b { color: var(--dark-ink); }

/* Hero */
.hero {
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(350px, .75fr); gap: 42px;
  align-items: end; padding: 78px 0 90px; min-height: 760px;
}
.hero-main { align-self: center; }
.hero-kicker { display: flex; align-items: center; gap: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; margin-bottom: 28px; }
.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 0 rgba(202,255,84,.45); animation: live 2.2s infinite; }
@keyframes live { 70% { box-shadow: 0 0 0 10px rgba(202,255,84,0); } 100% { box-shadow: 0 0 0 0 rgba(202,255,84,0); } }
.hero h1 { margin: 0; font-family: var(--display); font-size: clamp(4rem, 7vw, 8rem); letter-spacing: -.07em; line-height: .9; font-weight: 700; }
.hero h1 > span { display: block; }
.hero-outline { color: transparent; -webkit-text-stroke: 1.35px rgba(241,245,238,.38); }
.hero-bottom { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: end; margin-top: 40px; }
.hero-intro { max-width: 690px; margin: 0; color: #b3c0b9; font-size: clamp(1rem, 1.25vw, 1.18rem); }
.hero-actions { display: flex; flex-direction: column; gap: 9px; min-width: 220px; }
.hero-console {
  position: relative; min-height: 600px; border: 1px solid var(--line-2); border-radius: var(--radius-xl); padding: 20px;
  overflow: hidden; background: linear-gradient(155deg, rgba(18,34,29,.93), rgba(8,18,15,.95)); box-shadow: var(--shadow);
}
.hero-console::before { content: ""; position: absolute; inset: -40% -20% auto auto; width: 320px; height: 320px; border-radius: 50%; background: var(--accent); filter: blur(100px); opacity: .07; }
.console-top { display: flex; justify-content: space-between; gap: 16px; color: #73837b; font-size: .58rem; letter-spacing: .13em; }
.console-status { display: inline-flex; align-items: center; gap: 6px; }
.console-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent-2); }
.identity-mark { display: flex; align-items: center; height: 270px; padding-left: 10px; font-family: var(--display); font-size: clamp(8rem, 13vw, 13rem); font-weight: 800; letter-spacing: -.16em; line-height: 1; }
.identity-mark span:first-child { color: var(--accent); transform: translateY(-8px); }
.identity-mark span:last-child { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.28); transform: translateY(18px); }
.console-copy { padding: 0 10px 22px; }
.console-copy small { color: var(--accent); letter-spacing: .16em; font-size: .62rem; }
.console-copy h2 { margin: 7px 0 8px; font-family: var(--display); letter-spacing: -.045em; font-size: 2rem; }
.console-copy p { margin: 0; color: var(--muted); font-size: .9rem; }
.console-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin-top: 14px; }
.console-grid div { min-height: 76px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; display: flex; flex-direction: column; justify-content: space-between; background: rgba(255,255,255,.018); }
.console-grid span { color: #718078; font-size: .65rem; }
.console-grid strong { font-family: var(--display); font-size: .87rem; }

.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.013); overflow: hidden; }
.trust-track { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; white-space: nowrap; }
.trust-track span { color: #84958c; font-family: var(--display); font-size: .65rem; letter-spacing: .13em; }
.trust-track i { color: var(--accent); font-style: normal; }

/* Projects */
.project-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.filter-pills { display: flex; gap: 7px; flex-wrap: wrap; }
.filter-pill { border: 1px solid var(--line); background: transparent; color: #84958d; border-radius: 999px; padding: 9px 13px; cursor: pointer; font-size: .76rem; transition: all .2s; }
.filter-pill:hover, .filter-pill.active { color: var(--dark-ink); background: var(--accent); border-color: var(--accent); }
.project-count { color: #67776f; font-size: .72rem; white-space: nowrap; }
.project-count b { color: var(--soft); }
.project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.project-card {
  min-width: 0; min-height: 650px; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden;
  background: linear-gradient(160deg, rgba(255,255,255,.025), rgba(255,255,255,.012)); display: flex; flex-direction: column;
  transition: transform .24s ease, border-color .24s ease, opacity .25s ease;
}
.project-card:hover { transform: translateY(-4px); border-color: rgba(202,255,84,.25); }
.project-card.is-hidden { display: none; }
.project-card-featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); min-height: 570px; }
.project-card-featured .project-visual { min-height: 100%; }
.project-copy { padding: 28px; display: flex; flex-direction: column; flex: 1; min-width: 0; }
.project-meta { display: flex; justify-content: space-between; gap: 20px; color: #6e7d76; font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.project-copy h3 { margin: 40px 0 12px; font-family: var(--display); font-size: clamp(1.9rem, 3vw, 3.2rem); letter-spacing: -.045em; line-height: 1.02; }
.project-copy p { color: var(--muted); max-width: 620px; margin: 0; }
.project-stack { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 24px; }
.project-stack span { padding: 6px 8px; border: 1px solid var(--line); border-radius: 999px; color: #8fa098; font-size: .62rem; }
.project-footer { margin-top: auto; padding-top: 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); color: #697970; font-size: .72rem; }
.project-footer a { color: var(--soft); font-weight: 700; }
.project-footer a:hover { color: var(--accent); }
.project-visual { position: relative; min-height: 310px; overflow: hidden; background: #0b1613; border-bottom: 1px solid var(--line); }
.project-card-featured .project-visual { border-bottom: 0; border-right: 1px solid var(--line); }
.visual-label { position: absolute; left: 18px; bottom: 16px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 999px; background: rgba(5,13,11,.72); color: #84958b; font-size: .57rem; letter-spacing: .13em; }
.radar-visual { background: radial-gradient(circle at 60% 50%, rgba(202,255,84,.11), transparent 24%), #091512; }
.radar-grid { position: absolute; inset: -12%; transform: rotate(-7deg); background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 38px 38px; }
.radar-ring { position: absolute; left: 56%; top: 49%; transform: translate(-50%,-50%); border: 1px solid rgba(202,255,84,.24); border-radius: 50%; }
.radar-ring.r1 { width: 120px; height: 120px; }.radar-ring.r2 { width: 250px; height: 250px; }.radar-ring.r3 { width: 390px; height: 390px; }
.radar-point { position: absolute; width: 11px; height: 11px; border: 2px solid var(--accent); border-radius: 50%; box-shadow: 0 0 0 6px rgba(202,255,84,.06); }
.radar-point.p1 { left: 23%; top: 34%; }.radar-point.p2 { left: 58%; top: 21%; }.radar-point.p3 { left: 72%; top: 65%; }.radar-point.p4 { left: 42%; top: 71%; }
.membership-visual { display: grid; place-items: center; background: radial-gradient(circle, rgba(110,240,199,.1), transparent 36%), #091411; }
.member-card { position: absolute; left: 11%; top: 20%; width: 53%; aspect-ratio: 1.62; border-radius: 20px; padding: 20px; background: linear-gradient(135deg,#14261f,#0b1512); border: 1px solid rgba(202,255,84,.2); transform: rotate(-6deg); box-shadow: var(--shadow); display: flex; flex-direction: column; }
.member-card small { color: #84948b; font-size: .55rem; letter-spacing: .12em; }.member-card strong { margin-top: auto; color: var(--accent); font: 800 3.3rem/1 var(--display); }.member-card span { color: #708078; font-size: .6rem; }.member-card i { position: absolute; right: 18px; bottom: 18px; width: 52px; height: 52px; background: repeating-conic-gradient(var(--accent) 0 10%, transparent 10% 20%); border: 4px solid var(--accent); }
.merchant-panel { position: absolute; right: 9%; bottom: 14%; width: 45%; min-height: 120px; padding: 18px; border-radius: 16px; background: #dfff83; color: #0a120f; box-shadow: 0 20px 60px rgba(0,0,0,.28); transform: rotate(4deg); display: flex; flex-direction: column; }.merchant-panel span { font-size: .56rem; letter-spacing: .12em; }.merchant-panel b { margin-top: auto; font-size: .9rem; }.merchant-panel small { color: #52631f; }
.finance-visual { display: grid; place-items: center; background: linear-gradient(145deg,#0b1513,#101a18); }
.finance-rate { position: absolute; width: 44%; min-height: 130px; padding: 18px; border-radius: 18px; display: flex; flex-direction: column; border: 1px solid var(--line-2); box-shadow: 0 24px 60px rgba(0,0,0,.25); }.finance-rate span { font-size: .58rem; letter-spacing: .12em; }.finance-rate strong { margin-top: auto; font: 700 2.5rem/1 var(--display); }.rate-a { transform: translate(-42px,18px) rotate(-7deg); background:#10201b; }.rate-b { transform: translate(48px,-12px) rotate(5deg); background:var(--accent); color:var(--dark-ink); }
.finance-axis { position: absolute; left: 12%; right: 12%; bottom: 14%; height: 1px; background: linear-gradient(90deg,transparent,var(--accent),transparent); }
.pulse-visual { display: grid; place-items: center; background: radial-gradient(circle,rgba(114,216,255,.1),transparent 37%),#081310; }.pulse-core { width: 80px; height: 80px; border-radius: 22px; display: grid; place-items: center; background: linear-gradient(135deg,var(--blue),var(--accent-2)); color:var(--dark-ink); font:800 1.4rem var(--display); z-index:2; }.pulse-ring { position:absolute; border:1px solid rgba(114,216,255,.22); border-radius:50%; animation:ring 3.4s ease-in-out infinite; }.pulse-ring.pr1{width:150px;height:150px}.pulse-ring.pr2{width:250px;height:250px;animation-delay:.7s}@keyframes ring{50%{transform:scale(1.08);opacity:.4}}.signal-bars{position:absolute;left:18px;right:18px;bottom:30px;height:42px;display:flex;align-items:end;gap:5px}.signal-bars i{flex:1;background:linear-gradient(var(--blue),rgba(114,216,255,.05));border-radius:999px}.signal-bars i:nth-child(1){height:20%}.signal-bars i:nth-child(2){height:55%}.signal-bars i:nth-child(3){height:38%}.signal-bars i:nth-child(4){height:82%}.signal-bars i:nth-child(5){height:45%}.signal-bars i:nth-child(6){height:100%}.signal-bars i:nth-child(7){height:68%}
.enterprise-visual { background:#091310; }.system-node{position:absolute;width:72px;height:72px;border-radius:18px;border:1px solid var(--line-2);display:grid;place-items:center;background:#10201b;color:#a9bab1;font:700 .72rem var(--display);z-index:2}.system-node.n1{left:10%;top:19%}.system-node.n2{left:43%;top:38%;background:var(--accent);color:var(--dark-ink)}.system-node.n3{right:10%;top:18%}.system-node.n4{right:16%;bottom:13%}.enterprise-visual svg{position:absolute;inset:0;width:100%;height:100%}.enterprise-visual path{fill:none;stroke:rgba(202,255,84,.25);stroke-width:1.5;stroke-dasharray:5 7}
.gps-visual { background: radial-gradient(circle at 35% 50%,rgba(202,255,84,.08),transparent 25%),#091310; }.phone-frame{position:absolute;left:15%;top:12%;width:150px;height:260px;border:1px solid var(--line-2);border-radius:28px;padding:9px;transform:rotate(-7deg);background:#101e1a;box-shadow:0 22px 60px rgba(0,0,0,.3)}.phone-map{position:relative;width:100%;height:100%;border-radius:20px;overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:24px 24px}.phone-map span{position:absolute;width:16px;height:16px;border:3px solid var(--accent);border-radius:50%;left:48%;top:42%;box-shadow:0 0 0 12px rgba(202,255,84,.07)}.phone-map i,.phone-map b{position:absolute;border-radius:50%;border:1px solid rgba(202,255,84,.2);left:50%;top:45%;transform:translate(-50%,-50%)}.phone-map i{width:90px;height:90px}.phone-map b{width:140px;height:140px}.gps-copy{position:absolute;right:12%;top:31%;display:flex;flex-direction:column}.gps-copy small{color:#76877f;letter-spacing:.13em}.gps-copy strong{font:800 4rem/1 var(--display);color:var(--accent);margin:10px 0}.gps-copy span{font-size:.66rem;letter-spacing:.12em;color:#85968e}

/* Ads */
.ad-zone { padding: 4px 0 72px; }
.ad-frame { min-height: 140px; border: 1px dashed rgba(255,255,255,.17); border-radius: var(--radius-md); padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 28px; color: #66776f; background: rgba(255,255,255,.012); }
.ad-frame div { display: flex; flex-direction: column; }.ad-frame span { font-size: .57rem; letter-spacing: .15em; }.ad-frame strong { margin-top: 5px; color:#819189; font-size:.8rem; }.ad-frame p { margin:0; max-width:520px; text-align:right; font-size:.78rem; }
.ad-frame-compact { min-height: 110px; }

/* Experience */
.experience-section { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.025)); }
.experience-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 92px; align-items: start; }
.experience-intro { position: sticky; top: 100px; }
.experience-intro h2 { font-size: clamp(2.7rem, 4.5vw, 5.1rem); }
.experience-intro > p { color: var(--muted); max-width: 580px; margin: 28px 0 34px; }
.profile-proof { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.profile-proof div { min-height: 92px; border: 1px solid var(--line); border-radius: 14px; padding: 13px; display: flex; flex-direction: column; justify-content: space-between; background: rgba(255,255,255,.016); }
.profile-proof span { color:#697a72;font-size:.62rem }.profile-proof strong { font:700 .82rem var(--display); }
.career-timeline { border-top: 1px solid var(--line); }
.career-card { display: grid; grid-template-columns: 125px 1fr; gap: 30px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.career-date { color: var(--accent); font-size: .62rem; letter-spacing: .12em; padding-top: 4px; }
.career-top { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; }
.career-top h3 { margin: 0; font: 700 1.55rem var(--display); letter-spacing: -.03em; }
.career-top span { color:#7d8e85;font-size:.78rem;text-align:right }.career-body p { color:var(--muted); margin: 13px 0 18px; }
.career-tags { display:flex;gap:6px;flex-wrap:wrap }.career-tags span { padding:5px 7px;border:1px solid var(--line);border-radius:999px;color:#7d8e86;font-size:.58rem }.career-card-accent .career-top h3 { color:var(--accent); }

/* Capabilities */
.capability-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.capability-card { position: relative; min-height: 360px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.014); display: flex; flex-direction: column; transition: background .2s, transform .2s, border-color .2s; }
.capability-card:hover { transform: translateY(-3px); background: rgba(255,255,255,.026); border-color: rgba(202,255,84,.2); }
.capability-card > span { position: absolute; right: 22px; top: 22px; color:#66776f;font-size:.62rem }.cap-icon { width: 52px; height: 52px; border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;color:var(--accent);font:700 .8rem var(--display) }.capability-card h3 { margin: 62px 0 10px; font:700 1.35rem var(--display);letter-spacing:-.025em }.capability-card p { color:var(--muted);margin:0 }.capability-card small { margin-top:auto;color:#66776f;letter-spacing:.11em;font-size:.56rem }

/* Lab */
.lab-section { background: #0a1412; border-top: 1px solid var(--line); }
.lab-layout { display:grid;grid-template-columns:1fr .95fr;gap:90px;align-items:center }.lab-copy h2 { font-size:clamp(2.9rem,5vw,5.6rem);max-width:760px }.lab-copy p{color:var(--muted);max-width:680px;margin:28px 0}.lab-board{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:#0c1815}.lab-board-head,.lab-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:17px 20px;border-bottom:1px solid var(--line)}.lab-board-head span{font-size:.58rem;letter-spacing:.14em;color:#6c7d74}.lab-board-head strong{display:flex;align-items:center;gap:7px;font-size:.64rem;color:var(--accent-2)}.lab-board-head strong i{width:6px;height:6px;border-radius:50%;background:var(--accent-2)}.lab-row{grid-template-columns:1fr auto 36px;min-height:88px}.lab-row:last-child{border-bottom:0}.lab-row>span{font:700 .78rem var(--display)}.lab-row strong{font-weight:500;color:#83948b;font-size:.75rem}.lab-row b{color:#5e6f66;font-size:.64rem;text-align:right}.support-panel{margin-top:70px;border:1px solid rgba(202,255,84,.18);border-radius:var(--radius-xl);padding:44px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;background:radial-gradient(circle at 90% 50%,rgba(202,255,84,.065),transparent 25%),#0d1916}.support-label{color:#6f8178;font-size:.58rem;letter-spacing:.15em}.support-panel h3{font:700 clamp(2rem,3.6vw,4rem)/1.05 var(--display);letter-spacing:-.045em;margin:14px 0 0;max-width:760px}.support-side p{color:var(--muted);margin:0 0 22px}

/* Contact / footer */
.contact-section { padding: 118px 0; background: var(--accent); color: var(--dark-ink); }
.contact-layout { display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:end }.contact-layout .section-number{color:#4f641e}.contact-layout h2{font-size:clamp(3rem,5.7vw,6.2rem);max-width:900px}.contact-copy p{font-size:1.08rem;color:#35451d;max-width:540px;margin:0 0 28px}.contact-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.site-footer { padding: 70px 0 24px; background:#040a08; }.footer-main{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;padding-bottom:54px}.footer-identity p{color:#73837b;max-width:430px;margin:18px 0 0}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:44px}.footer-nav div{display:flex;flex-direction:column;gap:10px}.footer-nav div>span{color:#5f7067;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.footer-nav a{color:#9baaa3;font-size:.83rem}.footer-nav a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#586860;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.chatgpt-credit{color:#85958d}

/* Motion */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1); }
.reveal.is-visible { opacity: 1; transform: none; }.delay-1{transition-delay:.1s}.delay-2{transition-delay:.18s}

/* 1180 */
@media (max-width: 1180px) {
  :root { --shell: min(100% - 40px, 1040px); }
  .desktop-nav { gap: 18px; }.desktop-nav a { font-size: .8rem; }
  .hero { grid-template-columns: minmax(0,1.05fr) minmax(320px,.75fr); gap: 28px; min-height: 700px; }
  .hero h1 { font-size: clamp(3.7rem, 7.4vw, 6.6rem); }
  .hero-bottom { grid-template-columns: 1fr; }.hero-actions { flex-direction: row; min-width: 0; }
  .identity-mark { height: 230px; font-size: 10rem; }
  .trust-track { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }.trust-track::-webkit-scrollbar{display:none}
  .experience-layout { gap: 58px; }.capability-grid { grid-template-columns: repeat(2,1fr); }.lab-layout { gap: 55px; }
}

/* tablet */
@media (max-width: 900px) {
  :root { --shell: min(100% - 32px, 760px); }
  .desktop-nav,.nav-cta { display:none; }
  .menu-button { width: 42px; height: 42px; border:1px solid var(--line);border-radius:50%;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer }.menu-button span{width:15px;height:1px;background:#e5ebe6;transition:.2s}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}
  .mobile-menu { position: fixed; left:0; right:0; top:79px; z-index:80; background:rgba(6,14,12,.97); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); transform:translateY(-110%); opacity:0; pointer-events:none; transition:.28s ease; display:block }.mobile-menu.open{transform:none;opacity:1;pointer-events:auto}.mobile-menu nav{padding:22px 0 28px;display:flex;flex-direction:column}.mobile-menu a{padding:13px 0;border-bottom:1px solid var(--line);font:700 1.15rem var(--display)}
  .hero { grid-template-columns: 1fr; min-height: auto; padding: 64px 0 76px; gap: 48px; }
  .hero h1 { font-size: clamp(4rem, 12vw, 7rem); }.hero-bottom{grid-template-columns:1fr auto}.hero-console{min-height:500px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto}.console-top{grid-column:1/-1}.identity-mark{height:280px}.console-copy{align-self:end}.console-grid{grid-column:1/-1}.hero-actions{flex-direction:column}
  .section { padding: 96px 0; }.section-header { grid-template-columns: 1fr; gap: 24px; margin-bottom: 38px; }.section-header h2 { font-size: clamp(2.8rem,8vw,5rem) }.section-header>p{max-width:650px}
  .project-grid{grid-template-columns:1fr}.project-card-featured { display:flex;grid-column:1/-1 }.project-card-featured .project-visual{min-height:350px;border-right:0;border-bottom:1px solid var(--line)}
  .experience-layout { grid-template-columns: 1fr; gap: 52px; }.experience-intro{position:static}.career-card{grid-template-columns:105px 1fr}.capability-grid{grid-template-columns:repeat(2,1fr)}
  .lab-layout,.support-panel,.contact-layout { grid-template-columns: 1fr; gap: 42px; }.lab-board{max-width:none}.support-panel{padding:36px}.contact-layout h2{font-size:clamp(3rem,9vw,5.5rem)}
}

/* mobile */
@media (max-width: 640px) {
  :root { --shell: min(100% - 24px, 580px); --radius-xl:24px; --radius-lg:20px; }
  .site-header { padding:7px 0 }.nav-shell{min-height:54px}.brand-symbol{width:34px;height:34px}.brand-name{font-size:.94rem}.language-toggle{font-size:.7rem}.menu-button{width:38px;height:38px}.mobile-menu{top:69px}
  .cursor-light{display:none}.hero{padding:48px 0 62px}.hero-kicker{margin-bottom:21px;font-size:.6rem}.hero h1{font-size:clamp(3.25rem,15vw,5.4rem);line-height:.92}.hero-bottom{grid-template-columns:1fr;gap:27px;margin-top:30px}.hero-intro{font-size:1rem}.hero-actions{flex-direction:column;width:100%}.hero-actions .button{width:100%}
  .hero-console{display:block;min-height:0;padding:16px}.console-top{font-size:.52rem}.console-status{display:none}.identity-mark{height:205px;font-size:8.4rem}.console-copy{padding:0 4px 18px}.console-copy h2{font-size:1.75rem}.console-grid{grid-template-columns:repeat(2,1fr)}
  .trust-strip{display:none}.section{padding:78px 0}.section-number{margin-bottom:12px}.section-header h2,.experience-intro h2,.lab-copy h2{font-size:clamp(2.55rem,12.5vw,4.25rem)}
  .project-toolbar{align-items:flex-start;flex-direction:column}.filter-pills{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.filter-pills::-webkit-scrollbar{display:none}.filter-pill{white-space:nowrap}.project-count{display:none}
  .project-grid{grid-template-columns:1fr}.project-card{min-height:580px}.project-card-featured{grid-column:auto}.project-card-featured .project-visual,.project-visual{min-height:275px}.project-copy{padding:22px}.project-copy h3{font-size:2rem;margin-top:30px}.project-footer{align-items:flex-start;flex-direction:column;gap:8px}.project-meta span:last-child{text-align:right}.member-card{left:7%;width:62%}.merchant-panel{right:5%;width:51%}.finance-rate{width:48%}.gps-copy{right:7%}.phone-frame{left:7%;width:130px;height:226px}
  .ad-zone{padding-bottom:55px}.ad-frame{min-height:125px;padding:22px;align-items:flex-start;flex-direction:column}.ad-frame p{text-align:left}.experience-layout{gap:42px}.profile-proof{grid-template-columns:1fr 1fr}.career-card{grid-template-columns:1fr;gap:12px;padding:27px 0}.career-date{padding:0}.career-top{align-items:flex-start;flex-direction:column;gap:4px}.career-top span{text-align:left}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:300px}.capability-card h3{margin-top:48px}.lab-section{padding-top:78px}.lab-row{grid-template-columns:1fr auto}.lab-row b{display:none}.support-panel{margin-top:52px;padding:28px 22px}.support-panel h3{font-size:2.35rem}.contact-section{padding:84px 0}.contact-layout{gap:34px}.contact-layout h2{font-size:clamp(3rem,13vw,4.8rem)}.contact-actions{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr;gap:44px}.footer-nav{gap:30px}.footer-bottom{flex-direction:column;gap:8px}
}

@media (max-width: 390px) {
  :root { --shell: min(100% - 20px, 360px); }
  .hero h1{font-size:3.12rem}.console-grid{grid-template-columns:1fr}.identity-mark{font-size:7.5rem}.profile-proof{grid-template-columns:1fr}.project-visual{min-height:250px}.member-card{width:66%}.merchant-panel{width:55%}.gps-copy{display:none}.phone-frame{left:50%;transform:translateX(-50%) rotate(-7deg)}
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.cursor-light{display:none}
}

/* Keep anchored sections clear of the sticky navigation. */
#projects, #experience, #capabilities, #blog, #lab, #contact { scroll-margin-top: 88px; }
@media (max-width: 900px) {
  #projects, #experience, #capabilities, #blog, #lab, #contact { scroll-margin-top: 74px; }
}


/* Blog preview / editorial system */
.section-header h2 em { font-style: normal; color: var(--accent); }
.blog-preview-section { border-top: 1px solid var(--line); }
.blog-preview-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:18px; }
.blog-feature-card,.blog-mini-card { border:1px solid var(--line); border-radius:var(--radius-lg); background:linear-gradient(155deg,rgba(255,255,255,.025),rgba(255,255,255,.012)); overflow:hidden; transition:transform .24s,border-color .24s; }
.blog-feature-card:hover,.blog-mini-card:hover { transform:translateY(-4px); border-color:rgba(202,255,84,.25); }
.blog-card-link { display:grid; grid-template-rows:minmax(300px,1fr) auto; height:100%; }
.blog-feature-art { position:relative; min-height:360px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 50%,rgba(110,240,199,.12),transparent 30%),linear-gradient(145deg,#091411,#0d1c18); }
.editorial-core { width:92px;height:92px;border-radius:24px;background:var(--accent);color:var(--dark-ink);display:grid;place-items:center;font:800 1.6rem var(--display);box-shadow:0 0 80px rgba(202,255,84,.12); }
.editorial-orbit { position:absolute;border-radius:50%;border:1px solid rgba(202,255,84,.2); }
.orbit-a{width:260px;height:260px}.orbit-b{width:430px;height:210px;transform:rotate(-19deg)}
.editorial-code{position:absolute;left:24px;bottom:20px;color:#73867c;font-size:.6rem;letter-spacing:.15em}
.blog-card-copy{padding:28px}.blog-card-meta{display:flex;justify-content:space-between;gap:20px;color:#718179;font-size:.6rem;letter-spacing:.12em}.blog-card-copy h3{font:700 clamp(2rem,3.5vw,3.8rem)/1.03 var(--display);letter-spacing:-.05em;margin:32px 0 14px}.blog-card-copy p{color:var(--muted);max-width:760px;margin:0}.blog-read{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:28px;padding-top:17px;font-weight:700}.blog-read b,.blog-mini-card>a>b,.blog-all-link b{color:var(--accent)}
.blog-preview-list{display:grid;grid-template-rows:1fr 1fr auto;gap:18px}.blog-mini-card>a{height:100%;padding:27px;display:flex;flex-direction:column}.blog-mini-card>a>div{display:flex;justify-content:space-between;gap:15px;color:#718179;font-size:.58rem;letter-spacing:.11em}.blog-mini-card h3{font:700 clamp(1.45rem,2.2vw,2rem)/1.08 var(--display);letter-spacing:-.035em;margin:38px 0 11px}.blog-mini-card p{color:var(--muted);margin:0}.blog-mini-card>a>b{margin-top:auto;padding-top:20px;align-self:flex-end}.blog-all-link{min-height:58px;border:1px solid var(--line);border-radius:999px;padding:0 21px;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:.84rem}.blog-all-link:hover{border-color:rgba(202,255,84,.3)}

/* Blog listing page */
.blog-page-main { padding-bottom:110px; }
.blog-hero { padding:84px 0 58px; }
.blog-hero-grid { display:grid;grid-template-columns:1.15fr .6fr;gap:80px;align-items:end; }
.blog-hero h1 { margin:0;font:700 clamp(4rem,8vw,8.8rem)/.9 var(--display);letter-spacing:-.07em; }
.blog-hero h1 span{display:block}.blog-hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.25px rgba(243,245,237,.38)}
.blog-hero-copy{color:var(--muted);max-width:500px;font-size:1.03rem}.blog-hero-copy strong{display:block;color:var(--accent);font:700 .66rem var(--display);letter-spacing:.14em;margin-bottom:14px}
.blog-controls { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:42px; }
.blog-search { position:relative;min-width:min(360px,100%); }.blog-search input{width:100%;height:44px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.02);color:var(--text);padding:0 42px 0 16px;outline:none}.blog-search input:focus{border-color:rgba(202,255,84,.45)}.blog-search span{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#75867d}
.blog-list-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.blog-list-card{grid-column:span 4;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:rgba(255,255,255,.015);min-height:490px;display:flex;flex-direction:column;transition:.24s}.blog-list-card:hover{transform:translateY(-4px);border-color:rgba(202,255,84,.25)}.blog-list-card.featured{grid-column:span 8;display:grid;grid-template-columns:1fr 1fr}.blog-list-card.is-hidden{display:none}.blog-list-art{min-height:190px;position:relative;display:grid;place-items:center;background:#0a1714;overflow:hidden}.blog-list-card.featured .blog-list-art{min-height:100%}.blog-glyph{font:800 clamp(3rem,6vw,6rem) var(--display);color:var(--accent);letter-spacing:-.08em}.blog-glyph.outline{color:transparent;-webkit-text-stroke:1px rgba(114,216,255,.45)}.blog-glyph.warm{color:var(--warm)}.blog-glyph.mint{color:var(--accent-2)}.blog-list-copy{padding:25px;display:flex;flex-direction:column;flex:1}.blog-list-meta{display:flex;justify-content:space-between;gap:12px;color:#6d7f76;font-size:.58rem;letter-spacing:.11em}.blog-list-copy h2{font:700 clamp(1.6rem,2.6vw,2.75rem)/1.06 var(--display);letter-spacing:-.04em;margin:36px 0 12px}.blog-list-copy p{color:var(--muted);margin:0}.blog-list-footer{margin-top:auto;padding-top:24px;display:flex;justify-content:space-between;color:#8b9b93;font-size:.7rem}.blog-list-footer b{color:var(--accent)}.blog-empty{display:none;padding:60px 0;color:var(--muted);text-align:center}.blog-empty.show{display:block}

/* Article pages */
.article-main{padding-bottom:100px}.article-hero{padding:82px 0 50px}.article-hero-inner{max-width:980px;margin:auto}.article-breadcrumb{display:flex;gap:10px;align-items:center;color:#77887f;font-size:.68rem;margin-bottom:42px}.article-breadcrumb a:hover{color:var(--accent)}.article-label{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:var(--accent);font-size:.62rem;letter-spacing:.12em}.article-hero h1{font:700 clamp(3.2rem,6.4vw,6.8rem)/.96 var(--display);letter-spacing:-.062em;margin:21px 0 26px}.article-deck{max-width:780px;color:#aab8b1;font-size:clamp(1.08rem,1.6vw,1.3rem);margin:0 0 34px}.article-byline{display:flex;flex-wrap:wrap;gap:8px 22px;color:#71827a;font-size:.72rem}.article-cover{max-width:1120px;margin:0 auto 72px;min-height:420px;border:1px solid var(--line);border-radius:var(--radius-xl);display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(202,255,84,.08),transparent 28%),#0a1512}.article-cover .editorial-core{width:120px;height:120px;font-size:2rem}.article-cover-copy{position:absolute;left:28px;bottom:25px;color:#71837a;font-size:.64rem;letter-spacing:.16em}.article-layout{max-width:1120px;margin:auto;display:grid;grid-template-columns:220px minmax(0,720px);gap:70px;justify-content:center}.article-toc{position:sticky;top:105px;align-self:start;border-top:1px solid var(--line);padding-top:18px}.article-toc span{display:block;color:#687970;font-size:.59rem;letter-spacing:.14em;margin-bottom:14px}.article-toc a{display:block;color:#84958c;font-size:.76rem;padding:6px 0}.article-toc a:hover{color:var(--accent)}.article-body{font-size:1.03rem;color:#c3ccc7}.article-body h2{scroll-margin-top:105px;font:700 clamp(2rem,3vw,3rem)/1.08 var(--display);letter-spacing:-.04em;color:var(--text);margin:62px 0 17px}.article-body h2:first-child{margin-top:0}.article-body h3{font:700 1.35rem var(--display);color:var(--text);margin:35px 0 12px}.article-body p{margin:0 0 20px}.article-body ul{padding-left:20px;margin:0 0 24px}.article-body li{margin:8px 0}.article-body strong{color:var(--text)}.article-callout{margin:36px 0;padding:23px;border-left:3px solid var(--accent);background:rgba(202,255,84,.035);border-radius:0 16px 16px 0;color:#d6ddd9}.article-rule{border:0;border-top:1px solid var(--line);margin:52px 0}.article-end{margin-top:64px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.article-end a{font-weight:700}.article-end a:last-child{color:var(--accent)}
[data-lang-block]{display:none}[data-lang-block].active-language{display:block}

@media (max-width:900px){
  .blog-preview-grid,.blog-hero-grid{grid-template-columns:1fr}.blog-preview-list{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.blog-all-link{grid-column:1/-1}.blog-list-card,.blog-list-card.featured{grid-column:span 6;display:flex}.blog-list-card.featured .blog-list-art{min-height:220px}.article-layout{grid-template-columns:1fr;max-width:760px}.article-toc{display:none}
}
@media (max-width:640px){
  .blog-preview-grid{grid-template-columns:1fr}.blog-preview-list{grid-template-columns:1fr}.blog-all-link{grid-column:auto}.blog-feature-art{min-height:285px}.blog-card-copy{padding:22px}.blog-card-copy h3{font-size:2.1rem}.blog-hero{padding:58px 0 40px}.blog-hero h1{font-size:clamp(3.45rem,15vw,5.4rem)}.blog-controls{align-items:flex-start;flex-direction:column}.blog-search{width:100%;min-width:0}.blog-list-grid{display:block}.blog-list-card,.blog-list-card.featured{margin-bottom:14px;min-height:0}.blog-list-art,.blog-list-card.featured .blog-list-art{min-height:210px}.blog-list-copy h2{margin-top:28px}.article-hero{padding:58px 0 38px}.article-breadcrumb{margin-bottom:30px}.article-hero h1{font-size:clamp(3rem,13vw,4.8rem)}.article-cover{min-height:300px;margin-bottom:52px;border-radius:22px}.article-layout{display:block}.article-body{font-size:1rem}.article-body h2{margin-top:48px}.article-end{align-items:flex-start;flex-direction:column}
}

.language-toggle.language-link{text-decoration:none;display:inline-flex;align-items:center;cursor:pointer}


/* ==========================================================================
   GuruLabs final polish — editorial alignment + direct sponsor placement
   ========================================================================== */
:root { --shell: min(1200px, calc(100vw - 64px)); }

.site-header { padding: 8px 0; }
.nav-shell { min-height: 60px; }
.desktop-nav { gap: 22px; }
.desktop-nav a { position: relative; font-size: .82rem; font-weight: 500; }
.desktop-nav a.is-active { color: var(--text); }
.desktop-nav a.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 1px; background: var(--accent); }
.language-toggle { min-height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.018); }
.language-toggle:hover { border-color: rgba(202,255,84,.28); }
.nav-cta { padding-inline: 17px; }

.hero { min-height: 700px; padding: 72px 0 84px; grid-template-columns: minmax(0,1.15fr) minmax(350px,.85fr); gap: 48px; }
.hero h1 { font-size: clamp(3.8rem, 6.2vw, 7rem); line-height: .92; }
.hero-bottom { margin-top: 36px; }
.hero-console { min-height: 565px; }
.section { padding: 112px 0; }
.section-header { gap: 64px; margin-bottom: 46px; }
.section-header h2 { font-size: clamp(2.7rem,4.8vw,5.15rem); }
.project-grid { gap: 20px; }
.project-card { min-height: 610px; }
.capability-grid { gap: 16px; }
.capability-card { min-height: 330px; }
.experience-layout, .lab-layout { align-items: start; }
.support-panel { margin-top: 60px; }

/* A tiny, direct sponsorship unit. This is intentionally not an ad network slot. */
.ad-zone, .ad-frame { display: none !important; }
.sponsor-strip { min-height: 44px; margin-top: 34px; margin-bottom: 34px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.085); border-radius: 12px; background: rgba(255,255,255,.012); display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #73847b; }
.sponsor-strip__label { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; font: 600 .56rem var(--display); letter-spacing: .14em; }
.sponsor-strip__label i { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); opacity: .85; }
.sponsor-strip p { margin: 0; font-size: .68rem; text-align: right; }
.sponsor-strip a { color: #aebbb5; font-weight: 600; }
.sponsor-strip a:hover { color: var(--accent); }
.sponsor-strip b { color: var(--accent); font-weight: 500; }

.blog-preview-grid { gap: 20px; }
.blog-page-main { padding-bottom: 84px; }
.blog-hero { padding: 76px 0 52px; }
.blog-hero-grid { grid-template-columns: 1.05fr .65fr; gap: 70px; }
.blog-hero h1 { font-size: clamp(3.8rem,7vw,7.4rem); }
.blog-controls { margin-bottom: 36px; }
.blog-list-grid { gap: 20px; }
.blog-list-card { min-height: 470px; }
.article-main { padding-bottom: 76px; }
.article-hero { padding: 72px 0 46px; }
.article-hero-inner { max-width: 940px; }
.article-hero h1 { font-size: clamp(3rem,5.5vw,5.9rem); }
.article-cover { max-width: 1080px; min-height: 380px; margin-bottom: 64px; }
.article-layout { max-width: 1080px; grid-template-columns: 200px minmax(0,700px); gap: 64px; }
.article-body { line-height: 1.72; }
.site-footer { padding-top: 62px; }
.footer-main { padding-bottom: 48px; }

@media (max-width: 1180px) {
  :root { --shell: min(100% - 40px, 1040px); }
  .hero { min-height: 660px; gap: 30px; }
}
@media (max-width: 900px) {
  :root { --shell: min(100% - 32px, 760px); }
  .desktop-nav, .nav-cta { display: none; }
  .menu-button { display: flex; }
  .language-toggle { margin-left: auto; }
  .hero { min-height: auto; grid-template-columns: 1fr; padding-top: 58px; }
  .hero-console { min-height: 500px; }
  .section { padding: 94px 0; }
  .sponsor-strip { margin-top: 28px; margin-bottom: 28px; }
  .blog-hero-grid { gap: 30px; }
}
@media (max-width: 640px) {
  :root { --shell: min(100% - 24px, 600px); }
  .site-header { padding: 6px 0; }
  .nav-shell { min-height: 56px; gap: 10px; }
  .brand { gap: 8px; }.brand-symbol { width: 32px; height: 32px; }.brand-name { font-size: .92rem; }
  .language-toggle { min-height: 32px; padding-inline: 9px; font-size: .7rem; }
  .hero { padding: 48px 0 68px; }
  .hero h1 { font-size: clamp(3rem,14vw,4.9rem); }
  .hero-console { min-height: 455px; border-radius: 24px; }
  .section { padding: 80px 0; }
  .section-header { gap: 30px; margin-bottom: 34px; }
  .project-card { min-height: 0; }
  .sponsor-strip { min-height: 0; padding: 10px 12px; flex-direction: column; align-items: flex-start; gap: 4px; border-radius: 10px; }
  .sponsor-strip p { text-align: left; line-height: 1.45; }
  .blog-hero { padding: 52px 0 36px; }
  .article-hero { padding: 52px 0 34px; }
  .article-cover { min-height: 280px; margin-bottom: 46px; }
}
@media (max-width: 390px) {
  .brand-name { display: inline; }
  .language-toggle { gap: 4px; padding-inline: 8px; }
}

/* Responsive corrections after final desktop polish */
@media (max-width: 900px) {
  .blog-hero-grid { grid-template-columns: 1fr; }
  .article-layout { grid-template-columns: 1fr; max-width: 760px; }
  .article-toc { display: none; }
}
@media (max-width: 640px) {
  .blog-hero-copy { max-width: none; }
  .filter-pills { max-width: 100%; }
  .filter-pill { white-space: normal; }
}

/* ========================================================================== 
   BLOG GRID ALIGNMENT — unified with the main GuruLabs card system
   ========================================================================== */

/* Homepage: same rhythm as the Projects section — one strong lead story,
   followed by two balanced cards, then a restrained full-width index link. */
.blog-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.blog-feature-card {
  grid-column: 1 / -1;
  min-height: 560px;
  border-radius: var(--radius-xl);
}
.blog-feature-card .blog-card-link {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  grid-template-rows: none;
  height: 100%;
}
.blog-feature-card .blog-feature-art {
  min-height: 100%;
  border-right: 1px solid var(--line);
}
.blog-feature-card .blog-card-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 38px;
}
.blog-feature-card .blog-read {
  margin-top: 30px;
}
.blog-preview-list {
  display: contents;
}
.blog-mini-card {
  min-height: 330px;
  border-radius: var(--radius-lg);
}
.blog-mini-card > a {
  padding: 28px;
}
.blog-mini-card h3 {
  margin-top: 42px;
  font-size: clamp(1.55rem, 2.1vw, 2.05rem);
}
.blog-all-link {
  grid-column: 1 / -1;
  min-height: 58px;
  border-radius: var(--radius-lg);
  padding-inline: 22px;
}

/* Blog index: a calm 2×N editorial grid. No special 8/4 geometry. */
.blog-list-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.blog-list-card,
.blog-list-card.featured {
  grid-column: auto;
  display: flex;
  flex-direction: column;
  min-height: 560px;
  border-radius: var(--radius-lg);
  background: linear-gradient(155deg, rgba(255,255,255,.025), rgba(255,255,255,.012));
}
.blog-list-card.featured .blog-list-art,
.blog-list-art {
  min-height: 245px;
  border-bottom: 1px solid var(--line);
}
.blog-list-copy {
  padding: 28px;
}
.blog-list-copy h2 {
  font-size: clamp(1.75rem, 2.35vw, 2.55rem);
  margin-top: 34px;
}
.blog-list-copy p {
  max-width: 620px;
}
.blog-list-footer {
  border-top: 1px solid var(--line);
  margin-top: auto;
  padding-top: 18px;
}

@media (max-width: 900px) {
  .blog-preview-grid,
  .blog-list-grid {
    grid-template-columns: 1fr;
  }
  .blog-feature-card {
    grid-column: auto;
    min-height: 0;
  }
  .blog-feature-card .blog-card-link {
    grid-template-columns: 1fr;
  }
  .blog-feature-card .blog-feature-art {
    min-height: 330px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .blog-feature-card .blog-card-copy {
    padding: 28px;
  }
  .blog-mini-card {
    min-height: 300px;
  }
  .blog-all-link {
    grid-column: auto;
  }
  .blog-list-card,
  .blog-list-card.featured {
    min-height: 0;
  }
  .blog-list-card.featured .blog-list-art,
  .blog-list-art {
    min-height: 230px;
  }
}

@media (max-width: 640px) {
  .blog-preview-grid,
  .blog-list-grid {
    gap: 14px;
  }
  .blog-feature-card .blog-feature-art {
    min-height: 265px;
  }
  .blog-feature-card .blog-card-copy,
  .blog-mini-card > a,
  .blog-list-copy {
    padding: 22px;
  }
  .blog-mini-card {
    min-height: 280px;
  }
  .blog-list-card.featured .blog-list-art,
  .blog-list-art {
    min-height: 205px;
  }
  .blog-list-copy h2 {
    font-size: 1.85rem;
    margin-top: 28px;
  }
}

/* ========================================================================== 
   GURULABS 2026 EDITORIAL POLISH
   Hybrid dark / paper system, richer project imagery, journey storytelling,
   clearer all-rounder process and long-form reading improvements.
   ========================================================================== */
:root {
  --paper: #f3f1e9;
  --paper-2: #ebe9e1;
  --paper-card: #fbfaf6;
  --paper-text: #13201b;
  --paper-soft: #33433b;
  --paper-muted: #647169;
  --paper-line: rgba(19,32,27,.13);
  --paper-line-strong: rgba(19,32,27,.2);
}

/* The dark background remains the brand canvas, but is softened from pure black. */
body { background-color: #08120f; }

/* More deliberate vertical rhythm across all major blocks. */
.section-header h2 { text-wrap: balance; }
.section-header > p, .hero-intro, .journey-lead { text-wrap: pretty; }

/* Real image assets inside project cards */
.project-visual--image { background: #0a1512; }
.project-shot { width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center; transition: transform .55s cubic-bezier(.22,1,.36,1); }
.project-card:hover .project-shot { transform: scale(1.018); }
.project-card-featured .project-visual--image { border-right: 1px solid var(--line); }

/* Full-bleed light editorial surfaces. */
.surface-light {
  color: var(--paper-text);
  background: var(--paper);
  border-top: 1px solid var(--paper-line);
  border-bottom: 1px solid var(--paper-line);
}
.surface-light .section-number { color: #647168; }
.surface-light h2, .surface-light h3, .surface-light strong { color: var(--paper-text); }
.surface-light p { color: var(--paper-muted); }
.surface-light a { color: inherit; }
.surface-light .text-arrow b { color: #456f18; }

/* Journey / personal story */
.journey-section { padding: 112px 0; }
.journey-shell { display: grid; grid-template-columns: minmax(0,.86fr) minmax(520px,1.14fr); gap: 88px; align-items: center; }
.journey-copy h2 { margin: 0; max-width: 720px; font: 700 clamp(2.8rem,4.7vw,5.3rem)/1.01 var(--display); letter-spacing: -.055em; }
.journey-lead { max-width: 700px; margin: 26px 0 38px; font-size: 1.08rem; line-height: 1.68; }
.journey-points { border-top: 1px solid var(--paper-line); }
.journey-points > div { display: grid; grid-template-columns: 44px 160px 1fr; gap: 18px; align-items: start; padding: 19px 0; border-bottom: 1px solid var(--paper-line); }
.journey-points span { color: #748178; font: 600 .62rem var(--display); letter-spacing: .1em; padding-top: 3px; }
.journey-points strong { font: 700 .92rem var(--display); }
.journey-points p { margin: 0; font-size: .86rem; line-height: 1.55; }
.journey-gallery { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: end; min-height: 620px; }
.journey-image { margin: 0; position: relative; overflow: hidden; border-radius: 28px; background: #dfe3dc; box-shadow: 0 26px 60px rgba(35,45,40,.12); }
.journey-image--mauritius { transform: translateY(-28px); }
.journey-image img { width: 100%; aspect-ratio: .86; object-fit: cover; }
.journey-image figcaption { position: absolute; left: 15px; right: 15px; bottom: 15px; padding: 13px 14px; border-radius: 14px; background: rgba(7,17,15,.82); backdrop-filter: blur(10px); color: #f0f4ee; display: flex; flex-direction: column; gap: 2px; }
.journey-image figcaption span { color: var(--accent); font: 700 .58rem var(--display); letter-spacing: .14em; }
.journey-image figcaption b { color: #f0f4ee; font: 600 .72rem var(--body); }
.journey-route { position: absolute; z-index: 3; left: 50%; top: 48%; transform: translate(-50%,-50%); display: flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 999px; background: #0a1512; color: #dbe5df; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 10px 35px rgba(0,0,0,.22); font: 700 .58rem var(--display); letter-spacing: .08em; }
.journey-route i { width: 30px; height: 1px; background: var(--accent); position: relative; }
.journey-route i::after { content:""; position:absolute; right:-1px; top:-3px; width:7px; height:7px; border-top:1px solid var(--accent); border-right:1px solid var(--accent); transform:rotate(45deg); }

/* Light experience section */
.experience-section.surface-light { background: #eeece4; }
.experience-section.surface-light .experience-intro > p { color: var(--paper-muted); }
.experience-section.surface-light .profile-proof div { background: rgba(255,255,255,.48); border-color: var(--paper-line); }
.experience-section.surface-light .profile-proof span,
.experience-section.surface-light .career-date,
.experience-section.surface-light .career-top span { color: #6b786f; }
.experience-section.surface-light .career-timeline,
.experience-section.surface-light .career-card { border-color: var(--paper-line); }
.experience-section.surface-light .career-body p { color: var(--paper-muted); }
.experience-section.surface-light .career-tags span { border-color: var(--paper-line); color: #5b6b62; background: rgba(255,255,255,.4); }
.experience-section.surface-light .career-card-accent { background: transparent; }

/* A clear end-to-end operating model. */
.approach-panel { margin-top: 70px; padding: 38px; border: 1px solid var(--line-2); border-radius: var(--radius-xl); background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.012)); display: grid; grid-template-columns: minmax(300px,.65fr) minmax(0,1.35fr); gap: 56px; }
.approach-kicker { color: var(--accent); font: 700 .61rem var(--display); letter-spacing: .15em; }
.approach-intro h3 { margin: 15px 0 13px; max-width: 520px; font: 700 clamp(2rem,3vw,3.35rem)/1.03 var(--display); letter-spacing: -.045em; }
.approach-intro p { margin: 0; max-width: 520px; color: var(--muted); }
.approach-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.approach-steps > div { min-width: 0; padding: 22px 15px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 7px; }
.approach-steps > div:last-child { border-right: 0; }
.approach-steps span { color: #697a72; font-size: .58rem; letter-spacing: .1em; }
.approach-steps strong { margin-top: auto; font: 700 .88rem var(--display); }
.approach-steps small { color: #75877e; font-size: .62rem; line-height: 1.42; }

/* Homepage blog becomes an editorial paper section, while preserving the same grid. */
.blog-preview-section.surface-light { padding: 112px 0; }
.blog-preview-section.surface-light .section-header > p { color: var(--paper-muted); }
.blog-preview-section.surface-light .section-header h2 em { color: #4f7b1f; }
.blog-preview-section.surface-light .blog-feature-card,
.blog-preview-section.surface-light .blog-mini-card,
.blog-preview-section.surface-light .blog-all-link { background: var(--paper-card); border-color: var(--paper-line); box-shadow: 0 18px 44px rgba(30,42,36,.05); }
.blog-preview-section.surface-light .blog-feature-card:hover,
.blog-preview-section.surface-light .blog-mini-card:hover { border-color: rgba(75,110,31,.35); }
.blog-preview-section.surface-light .blog-feature-art { border-color: rgba(255,255,255,.08); }
.blog-preview-section.surface-light .blog-card-meta,
.blog-preview-section.surface-light .blog-mini-card > a > div { color: #718078; }
.blog-preview-section.surface-light .blog-card-copy p,
.blog-preview-section.surface-light .blog-mini-card p { color: var(--paper-muted); }
.blog-preview-section.surface-light .blog-read { border-color: var(--paper-line); }
.blog-preview-section.surface-light .blog-read b,
.blog-preview-section.surface-light .blog-mini-card > a > b,
.blog-preview-section.surface-light .blog-all-link b { color: #4f7b1f; }

/* Blog index + articles: optimized for reading rather than keeping every screen dark. */
.editorial-page .blog-page-main,
.editorial-page .article-main { background: var(--paper); color: var(--paper-text); }
.editorial-page .blog-hero h1 span,
.editorial-page .article-hero h1 { color: var(--paper-text); }
.editorial-page .blog-hero h1 em { -webkit-text-stroke-color: rgba(19,32,27,.34); }
.editorial-page .blog-hero-copy,
.editorial-page .article-deck { color: var(--paper-muted); }
.editorial-page .blog-hero-copy strong,
.editorial-page .article-label { color: #557d28; }
.editorial-page .blog-controls { border-color: var(--paper-line); }
.editorial-page .filter-pill { border-color: var(--paper-line); color: #647169; background: rgba(255,255,255,.35); }
.editorial-page .filter-pill:hover,
.editorial-page .filter-pill.active { background: var(--paper-text); border-color: var(--paper-text); color: #fff; }
.editorial-page .blog-search { border-color: var(--paper-line); background: var(--paper-card); color: var(--paper-text); }
.editorial-page .blog-search input { color: var(--paper-text); }
.editorial-page .blog-search input::placeholder { color: #87928c; }
.editorial-page .blog-list-card,
.editorial-page .blog-list-card.featured { background: var(--paper-card); border-color: var(--paper-line); box-shadow: 0 18px 45px rgba(29,40,34,.055); }
.editorial-page .blog-list-card:hover { border-color: rgba(75,110,31,.35); }
.editorial-page .blog-list-art { border-color: rgba(255,255,255,.08); }
.editorial-page .blog-list-meta,
.editorial-page .blog-list-footer { color: #6a776f; }
.editorial-page .blog-list-copy h2 { color: var(--paper-text); }
.editorial-page .blog-list-copy p { color: var(--paper-muted); }
.editorial-page .blog-list-footer { border-color: var(--paper-line); }
.editorial-page .blog-list-footer b { color: #4f7b1f; }
.editorial-page .blog-empty { color: var(--paper-muted); }

.editorial-page .article-breadcrumb,
.editorial-page .article-byline { color: #718078; }
.editorial-page .article-breadcrumb a:hover { color: #4f7b1f; }
.editorial-page .article-label { border-color: var(--paper-line); background: rgba(255,255,255,.42); }
.editorial-page .article-cover { border-color: rgba(255,255,255,.1); box-shadow: 0 25px 75px rgba(31,42,36,.13); }
.editorial-page .article-toc { border-color: var(--paper-line); }
.editorial-page .article-toc span { color: #6a776f; }
.editorial-page .article-toc a { color: #66746c; }
.editorial-page .article-toc a:hover { color: #456f18; }
.editorial-page .article-body { color: #3c4a43; }
.editorial-page .article-body h2,
.editorial-page .article-body h3,
.editorial-page .article-body strong { color: var(--paper-text); }
.editorial-page .article-callout { color: #26352e; background: #e7eddc; border-left-color: #6f9c37; }
.editorial-page .article-end { border-color: var(--paper-line); }
.editorial-page .article-end a:last-child { color: #456f18; }
.editorial-page .sponsor-strip { border-color: var(--paper-line); background: rgba(255,255,255,.38); color: #6a776f; }
.editorial-page .sponsor-strip a { color: #38473f; }
.editorial-page .sponsor-strip a:hover,
.editorial-page .sponsor-strip b { color: #456f18; }

/* Article continuation / internal linking */
.article-related { margin-top: 72px; padding-top: 28px; border-top: 1px solid var(--paper-line); }
.article-related-head span { color: #738078; font: 700 .58rem var(--display); letter-spacing: .14em; }
.article-related-head h3 { margin: 7px 0 18px !important; font-size: 1.65rem !important; }
.article-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.article-related-card { min-height: 150px; padding: 18px; border: 1px solid var(--paper-line); border-radius: 16px; background: var(--paper-card); display: flex; flex-direction: column; transition: .2s; }
.article-related-card:hover { transform: translateY(-2px); border-color: rgba(75,110,31,.35); }
.article-related-card span { color: #77847d; font-size: .57rem; letter-spacing: .11em; }
.article-related-card strong { margin-top: 18px; font: 700 .9rem/1.3 var(--display); }
.article-related-card b { margin-top: auto; color: #456f18; align-self: flex-end; }

/* A very subtle reading-progress line for long articles. */
.reading-progress { position: fixed; z-index: 95; left: 0; top: 78px; width: 0; height: 2px; background: var(--accent); pointer-events: none; transition: width .08s linear; }

/* Direct sponsorship stays intentionally tiny on every page. */
.sponsor-strip { max-width: 1280px; }

/* SEO/brand utility pages */
.utility-main { min-height: 70vh; display: grid; place-items: center; padding: 90px 0; }
.utility-card { width: min(760px,100%); padding: 44px; border: 1px solid var(--line); border-radius: var(--radius-xl); background: linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012)); }
.utility-card h1 { margin: 14px 0; font: 700 clamp(3rem,7vw,6rem)/.95 var(--display); letter-spacing: -.06em; }
.utility-card p { color: var(--muted); max-width: 580px; }

@media (max-width: 1100px) {
  .journey-shell { grid-template-columns: 1fr; gap: 56px; }
  .journey-gallery { max-width: 760px; min-height: 0; }
  .approach-panel { grid-template-columns: 1fr; gap: 34px; }
}
@media (max-width: 900px) {
  .journey-section, .blog-preview-section.surface-light { padding: 94px 0; }
  .journey-gallery { grid-template-columns: 1fr 1fr; }
  .approach-steps { grid-template-columns: repeat(5,minmax(120px,1fr)); overflow-x: auto; scrollbar-width: none; }
  .approach-steps::-webkit-scrollbar { display:none; }
}
@media (max-width: 640px) {
  .journey-section, .blog-preview-section.surface-light { padding: 80px 0; }
  .journey-copy h2 { font-size: clamp(2.55rem,12.5vw,4.25rem); }
  .journey-lead { font-size: 1rem; }
  .journey-points > div { grid-template-columns: 36px 1fr; gap: 12px; }
  .journey-points p { grid-column: 2; }
  .journey-gallery { grid-template-columns: 1fr; gap: 12px; }
  .journey-image--mauritius { transform: none; }
  .journey-image img { aspect-ratio: 1.28; }
  .journey-route { top: 50%; }
  .approach-panel { margin-top: 48px; padding: 24px 20px; border-radius: 22px; }
  .approach-intro h3 { font-size: 2.25rem; }
  .approach-steps { margin-right: -20px; padding-right: 20px; }
  .article-related-grid { grid-template-columns: 1fr; }
  .reading-progress { top: 68px; }
}

/* Editorial cover images */
.blog-feature-art--image,
.blog-list-art--image,
.article-cover--image { background: #0b1613; }
.blog-cover-image,
.article-cover-image { width:100%; height:100%; object-fit:cover; display:block; }
.blog-feature-art--image .blog-cover-image { min-height: 100%; }
.blog-list-art--image .blog-cover-image { min-height:245px; }
.article-cover--image { display:block; padding:0; }
.article-cover-image { min-height:380px; }
@media (max-width:900px){ .blog-list-art--image .blog-cover-image{min-height:230px}.article-cover-image{min-height:320px} }
@media (max-width:640px){ .blog-list-art--image .blog-cover-image{min-height:205px}.article-cover-image{min-height:280px} }

/* Final contrast and grid balance after visual QA */
:root { --muted: #a5b3ac; --soft: #d2d9d4; }
.project-meta { color:#7f9088; }
.project-footer { color:#82928a; }
.project-stack span { color:#9aaba2; }
.capability-card p, .approach-intro p { color:#a5b3ac; }
.capability-card small, .approach-steps small { color:#7f9188; }
.project-card:last-child { grid-column: 1 / -1; display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); min-height:480px; }
.project-card:last-child .project-visual { min-height:100%; border-bottom:0; border-right:1px solid var(--line); }
.project-card:last-child .project-copy { padding:36px; justify-content:flex-end; }
@media (max-width:900px){
  .project-card:last-child { grid-column:auto; display:flex; min-height:0; }
  .project-card:last-child .project-visual { min-height:300px; border-right:0; border-bottom:1px solid var(--line); }
  .project-card:last-child .project-copy { padding:28px; }
}
@media (max-width:640px){
  .project-card:last-child .project-visual { min-height:250px; }
  .project-card:last-child .project-copy { padding:22px; }
}

/* Keyboard clarity without adding visual noise for pointer users. */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}
.editorial-page a:focus-visible,
.editorial-page button:focus-visible,
.editorial-page input:focus-visible { outline-color: #557d28; }
