: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%; }
.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}.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}.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--international { 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--international { 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; }


/* Project links: live GuruLabs subdomains + balanced five-project layout */
.project-domain-link {
  display:inline-flex; align-items:center; gap:7px; color:var(--accent) !important;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-weight:700; letter-spacing:-.025em; white-space:nowrap;
}
.project-domain-link::before {
  content:""; width:6px; height:6px; flex:0 0 6px; border-radius:50%;
  background:var(--accent-2); box-shadow:0 0 0 4px rgba(110,240,199,.08);
}
.project-domain-link:hover { color:#e8ffad !important; }
@media (min-width:901px) {
  #projectGrid > .project-card:last-child {
    grid-column:auto; display:flex; grid-template-columns:none; min-height:650px;
  }
  #projectGrid > .project-card:last-child .project-visual {
    min-height:310px; border-right:0; border-bottom:1px solid var(--line);
  }
  #projectGrid > .project-card:last-child .project-copy {
    padding:28px; justify-content:initial;
  }
}
@media (max-width:420px) {
  .project-domain-link { font-size:.68rem; }
}

/* Multidisciplinary profile refinements */
.capability-card h3 { text-wrap: balance; }
.capability-card p { text-wrap: pretty; }
.journey-image--consulting { transform: translateY(18px); }
@media (max-width: 900px) { .journey-image--consulting { transform: none; } }

/* ========================================================================== 
   2026-08 Brand + layout refinement
   - new GuruLabs mark
   - softer premium hero canvas
   - safer editorial imagery
   - stronger containment at intermediate desktop widths
   ========================================================================== */
:root {
  --bg: #0a1714;
  --bg-2: #0d1d19;
  --panel: #10211c;
  --panel-2: #142820;
  --accent: #c8ff2e;
  --accent-2: #21c1b5;
}
body {
  background:
    radial-gradient(circle at 16% 3%, rgba(33,193,181,.075), transparent 25%),
    radial-gradient(circle at 86% 11%, rgba(200,255,46,.055), transparent 22%),
    linear-gradient(180deg, #0b1a16 0%, #08120f 46%, #07110f 100%);
}
.site-header { background: rgba(6,15,13,.86); }

/* Brand mark: the wordmark stays live HTML, the icon is crisp vector artwork. */
.brand { gap: 10px; }
.brand-symbol {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: transparent;
  font-size: 0;
}
.brand-symbol::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: url("assets/gurulabs-mark.svg") center / contain no-repeat;
}
.brand-name { letter-spacing: -.045em; font-weight: 750; }

/* Dark is retained as the brand canvas, but with visible tonal separation. */
.hero {
  position: relative;
  isolation: isolate;
}
.hero::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 22px -26px 20px;
  border-radius: 38px;
  border: 1px solid rgba(255,255,255,.055);
  background:
    radial-gradient(circle at 13% 18%, rgba(33,193,181,.09), transparent 30%),
    radial-gradient(circle at 88% 20%, rgba(200,255,46,.055), transparent 26%),
    linear-gradient(145deg, rgba(16,36,30,.84), rgba(8,19,16,.88));
  box-shadow: inset 0 1px rgba(255,255,255,.025), 0 28px 90px rgba(0,0,0,.12);
}
.hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 23%;
  top: 8%;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(33,193,181,.075), transparent 68%);
  pointer-events: none;
}
.hero h1 { max-width: 820px; font-size: clamp(3.65rem, 5.7vw, 6.45rem); text-wrap: balance; }
.hero-intro { color: #c0ccc5; }
.hero-console {
  background: linear-gradient(155deg, rgba(18,43,35,.96), rgba(9,22,18,.97));
  border-color: rgba(255,255,255,.15);
  box-shadow: 0 34px 90px rgba(0,0,0,.28);
}
.console-grid div { background: rgba(255,255,255,.025); }

/* Shared containment and heading rhythm. */
.section-header > *, .journey-copy, .journey-gallery, .blog-card-copy, .blog-list-copy,
.project-copy, .career-body, .capability-card { min-width: 0; }
.section-header h2, .experience-intro h2, .lab-copy h2, .contact-layout h2,
.journey-copy h2, .blog-card-copy h3, .blog-list-copy h2, .article-hero h1 {
  text-wrap: balance;
  overflow-wrap: break-word;
}
.section-header h2 { font-size: clamp(2.65rem, 4.35vw, 4.8rem); }

/* Multidisciplinary profile imagery: images are visual, HTML carries the copy. */
.journey-shell {
  grid-template-columns: minmax(0,.96fr) minmax(460px,1.04fr);
  gap: 68px;
}
.journey-copy h2 {
  max-width: 610px;
  font-size: clamp(2.75rem, 3.9vw, 4.45rem);
  line-height: 1.03;
}
.journey-gallery {
  width: 100%;
  max-width: 650px;
  min-height: 0;
  justify-self: end;
  align-items: center;
  gap: 16px;
}
.journey-image { border-radius: 24px; }
.journey-image--international { transform: translateY(-18px); }
.journey-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}
.journey-image figcaption { left: 12px; right: 12px; bottom: 12px; }

/* Homepage blog feature uses a card-specific visual with a safe content zone. */
.blog-feature-card .blog-card-link { grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); }
.blog-feature-card .blog-feature-art { min-width: 0; }
.blog-feature-card .blog-feature-art .blog-cover-image {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
}
.blog-feature-card .blog-card-copy { min-width: 0; padding: 34px; }
.blog-feature-card .blog-card-copy h3 {
  font-size: clamp(1.9rem, 2.65vw, 3rem);
  line-height: 1.04;
  margin-top: 26px;
}
.blog-feature-card .blog-card-copy p { font-size: .96rem; }

/* Blog index: avoid a cramped two-column editorial layout around small laptops. */
.blog-list-card, .blog-list-card.featured { min-width: 0; }
.blog-list-copy h2 { font-size: clamp(1.65rem, 2.15vw, 2.35rem); }

/* Images should never create layout width by intrinsic dimensions. */
.blog-cover-image, .article-cover-image, .project-shot, .journey-image img {
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 1180px) {
  .journey-shell { grid-template-columns: 1fr; gap: 48px; }
  .journey-copy h2, .journey-lead { max-width: 760px; }
  .journey-gallery { justify-self: start; max-width: 760px; }
}

@media (max-width: 1080px) {
  .blog-feature-card .blog-card-link { grid-template-columns: 1fr; }
  .blog-feature-card .blog-feature-art {
    min-height: 360px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .blog-feature-card .blog-feature-art .blog-cover-image { min-height: 360px; }
  .blog-feature-card .blog-card-copy { padding: 30px; }
  .blog-list-grid { grid-template-columns: 1fr; }
  .blog-list-card, .blog-list-card.featured { min-height: 0; }
}

@media (max-width: 1020px) {
  .hero { grid-template-columns: 1fr; min-height: auto; gap: 42px; padding-top: 60px; }
  .hero-main { max-width: 780px; }
  .hero-console { min-height: 500px; }
}

@media (max-width: 640px) {
  .brand-symbol { width: 35px; height: 35px; flex-basis: 35px; }
  .hero::before { inset: 8px -8px 8px; border-radius: 26px; }
  .hero::after { width: 180px; height: 180px; right: 0; }
  .hero h1 { font-size: clamp(3rem, 14vw, 4.7rem); }
  .journey-gallery { grid-template-columns: 1fr; max-width: 430px; }
  .journey-image--international { transform: none; }
  .journey-image img { aspect-ratio: 4 / 5; }
  .blog-feature-card .blog-feature-art, .blog-feature-card .blog-feature-art .blog-cover-image { min-height: 280px; }
  .blog-feature-card .blog-card-copy { padding: 22px; }
  .blog-feature-card .blog-card-copy h3 { font-size: 2rem; }
}

/* Final overflow containment found during responsive QA. */
.experience-layout > *, .experience-intro, .career-timeline, .profile-proof, .profile-proof > div { min-width: 0; }
.experience-intro h2, .experience-intro p, .profile-proof strong { overflow-wrap: break-word; }
@media (max-width: 1020px) {
  .hero::before { left: 0; right: 0; }
}


/* Direct logo asset + slightly brighter deep-green hero canvas. */
.brand-symbol::before { display:none !important; }
.brand-symbol img { width:100%; height:100%; object-fit:contain; display:block; }
body {
  background:
    radial-gradient(circle at 14% 2%, rgba(33,193,181,.095), transparent 25%),
    radial-gradient(circle at 88% 10%, rgba(200,255,46,.07), transparent 23%),
    linear-gradient(180deg, #0d211b 0%, #0a1814 45%, #07110f 100%);
}
.hero::before {
  background:
    radial-gradient(circle at 13% 18%, rgba(33,193,181,.13), transparent 31%),
    radial-gradient(circle at 88% 18%, rgba(200,255,46,.075), transparent 27%),
    linear-gradient(145deg, rgba(19,48,39,.94), rgba(9,25,20,.94));
  border-color: rgba(255,255,255,.075);
}
.hero-console { background: linear-gradient(155deg, rgba(13,33,27,.98), rgba(7,19,15,.98)); }


/* 2026-08-25 refinements: readability, location/origin emphasis, footer identity */
.surface-light p,
.surface-light .journey-lead,
.surface-light .experience-intro > p,
.experience-section.surface-light .career-body p,
.blog-preview-section.surface-light .blog-card-copy p,
.blog-preview-section.surface-light .blog-mini-card p {
  color: #495a53;
}
.surface-light .profile-proof span,
.experience-section.surface-light .career-date,
.experience-section.surface-light .career-top span,
.blog-preview-section.surface-light .blog-card-meta,
.blog-preview-section.surface-light .blog-mini-card > a > div {
  color: #53645d;
}
.experience-section.surface-light .career-tags span,
.experience-section.surface-light .profile-proof div {
  background: rgba(255,255,255,.72);
}
.experience-section.surface-light .career-tags span { color:#42514a; border-color:#c8cdc4; }
.experience-section.surface-light .career-card-accent .career-top h3,
.experience-section.surface-light .career-card-accent .career-date,
.experience-section.surface-light .career-card-accent .career-top span { color:#6e951d; }
.footer-bottom { text-transform:none; letter-spacing:.01em; font-size:.7rem; }
.footer-bottom .footer-byline { color:#8c9a93; }
.console-copy p { color:#c6d2cb; }
.console-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.journey-route span { white-space: nowrap; }
@media (max-width: 640px) {
  .journey-route { padding: 7px 9px; gap: 5px; font-size: .52rem; }
  .journey-route i { width: 18px; }
}


/* ========================================================================== 
   HIGH-CONTRAST LIGHT SURFACES — 2026-08-25
   Deliberately stronger contrast after deployment review.
   ========================================================================== */
:root {
  --paper: #f7f5ee;
  --paper-2: #efede5;
  --paper-card: #fffefa;
  --paper-text: #0e1b16;
  --paper-soft: #283730;
  --paper-muted: #3e4f47;
  --paper-line: rgba(14,27,22,.18);
  --paper-line-strong: rgba(14,27,22,.29);
}
.surface-light {
  color: #0e1b16;
  background: #f7f5ee;
}
.surface-light h1,
.surface-light h2,
.surface-light h3,
.surface-light h4,
.surface-light strong { color: #0d1915; }
.surface-light p,
.surface-light .journey-lead,
.surface-light .experience-intro > p,
.experience-section.surface-light .career-body p,
.blog-preview-section.surface-light .blog-card-copy p,
.blog-preview-section.surface-light .blog-mini-card p { color: #35463f; }
.surface-light .section-number,
.surface-light .journey-points span,
.experience-section.surface-light .profile-proof span,
.experience-section.surface-light .career-date,
.experience-section.surface-light .career-top span,
.blog-preview-section.surface-light .blog-card-meta,
.blog-preview-section.surface-light .blog-mini-card > a > div { color: #4c5d55; }
.experience-section.surface-light { background: #f2f0e8; }
.experience-section.surface-light .profile-proof div {
  background: #fffefa;
  border-color: rgba(14,27,22,.20);
  box-shadow: 0 8px 22px rgba(31,42,36,.04);
}
.experience-section.surface-light .profile-proof strong { color: #102019; }
.experience-section.surface-light .career-card { border-color: rgba(14,27,22,.20); }
.experience-section.surface-light .career-tags span {
  color: #31423a;
  background: #fffefa;
  border-color: rgba(14,27,22,.20);
}
.experience-section.surface-light .career-card-accent .career-top h3,
.experience-section.surface-light .career-card-accent .career-date,
.experience-section.surface-light .career-card-accent .career-top span { color: #42640f; }
.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: #fffefa;
  border-color: rgba(14,27,22,.18);
}
.blog-preview-section.surface-light .blog-read,
.blog-preview-section.surface-light .blog-mini-card { border-color: rgba(14,27,22,.18); }
.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: #42640f; }
.editorial-page { background: #f7f5ee; color: #0e1b16; }
.editorial-page .blog-index-intro p,
.editorial-page .article-content p,
.editorial-page .blog-list-copy p { color:#35463f; }
.editorial-page .blog-list-card,
.editorial-page .blog-toolbar,
.editorial-page .article-aside-card { border-color:rgba(14,27,22,.18); }


/* Open challenge contact — non-commercial creative invitation */
.contact-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 18%, rgba(255,255,255,.20), transparent 22%),
    radial-gradient(circle at 14% 88%, rgba(21,61,45,.09), transparent 28%),
    var(--accent);
}
.contact-section::before {
  content: "";
  position: absolute;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(7,18,14,.10);
  border-radius: 50%;
  right: -170px;
  top: -190px;
  pointer-events: none;
}
.contact-layout { align-items: center; }
.contact-layout h2 {
  max-width: 930px;
  font-size: clamp(3rem,5.2vw,5.8rem);
  line-height: .98;
  text-wrap: balance;
}
.contact-copy p {
  color: #172416;
  line-height: 1.65;
  font-size: 1.05rem;
}
.challenge-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 22px;
}
.challenge-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(7,18,14,.22);
  background: rgba(247,249,240,.32);
  color: #0b1711;
  font: 700 .68rem var(--display);
  letter-spacing: .02em;
}
.contact-copy .contact-note {
  margin: 0 0 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(7,18,14,.18);
  font-size: .82rem;
  font-weight: 600;
  color: #243720;
}
.contact-actions .button-light {
  min-width: 190px;
}
@media (max-width: 900px) {
  .contact-layout h2 { max-width: 760px; }
  .contact-copy { max-width: 680px; }
}
@media (max-width: 640px) {
  .contact-layout h2 { font-size: clamp(2.8rem,13vw,4.3rem); }
  .challenge-tags { gap: 6px; }
  .challenge-tags span { font-size: .62rem; }
}


/* Professional profile hub — mandates, automation and QA */
.profile-hub-head { display:grid; grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr); gap:72px; align-items:end; margin-bottom:48px; }
.profile-hub-head h2 { margin:0; max-width:900px; font:700 clamp(2.7rem,4.7vw,5.35rem)/1.01 var(--display); letter-spacing:-.055em; color:var(--paper-text); text-wrap:balance; }
.profile-hub-head > p { margin:0 0 6px; max-width:520px; color:#35463f; font-size:1rem; line-height:1.68; }
.profile-hub { display:grid; grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr); gap:28px; align-items:start; }
.profile-summary-card { position:sticky; top:96px; border:1px solid #c8cdc4; border-radius:24px; padding:28px; background:#fffefa; box-shadow:0 18px 46px rgba(30,42,36,.055); min-width:0; }
.profile-summary-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:20px; border-bottom:1px solid #d6d9d1; }
.profile-summary-top span { color:#637169; font:600 .58rem var(--display); letter-spacing:.14em; }
.profile-summary-top strong { color:#0d1915; font:700 .72rem var(--display); }
.profile-summary-card > h3 { margin:28px 0 10px; color:#0d1915; font:700 clamp(2rem,3vw,3.2rem)/1 var(--display); letter-spacing:-.045em; }
.profile-summary-card > p { margin:0 0 24px; color:#35463f; line-height:1.66; }
.profile-proof--hub { margin-bottom:24px; }
.profile-proof--hub div { min-height:86px !important; background:#f6f5ef !important; border-color:#d0d4cc !important; }
.profile-proof--hub span { color:#5e6c65 !important; }
.profile-proof--hub strong { color:#111d18 !important; }
.profile-toolbox { border-top:1px solid #d6d9d1; }
.profile-toolbox > div { padding:14px 0; border-bottom:1px solid #dedfd9; }
.profile-toolbox span { display:block; margin-bottom:4px; color:#597022; font:700 .6rem var(--display); letter-spacing:.12em; text-transform:uppercase; }
.profile-toolbox p { margin:0; color:#263730; font-size:.78rem; line-height:1.55; }
.mandates-panel { min-width:0; }
.mandates-heading { display:grid; grid-template-columns:150px 1fr; gap:22px; padding:8px 0 26px; border-bottom:1px solid #c8cdc4; }
.mandates-heading > span { color:#637169; font:600 .58rem var(--display); letter-spacing:.14em; padding-top:6px; }
.mandates-heading h3 { margin:0; color:#0d1915; font:700 clamp(1.75rem,2.7vw,2.9rem)/1.08 var(--display); letter-spacing:-.04em; text-wrap:balance; }
.mandate-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding-top:14px; }
.mandate-card { min-width:0; min-height:325px; padding:24px; border:1px solid #cbd0c7; border-radius:20px; background:#fffefa; display:flex; flex-direction:column; box-shadow:0 12px 32px rgba(30,42,36,.035); }
.mandate-card--primary { grid-column:1 / -1; min-height:300px; background:linear-gradient(145deg,#10231d,#0b1814); border-color:#213c32; }
.mandate-top { display:flex; justify-content:space-between; gap:18px; color:#61716a; font:600 .56rem var(--display); letter-spacing:.12em; }
.mandate-card--primary .mandate-top { color:#8ea198; }
.mandate-card h4 { margin:38px 0 4px; color:#0d1915; font:700 clamp(1.65rem,2.4vw,2.5rem)/1 var(--display); letter-spacing:-.035em; }
.mandate-card > strong { color:#637f24; font:700 .86rem var(--display); }
.mandate-card > p { margin:15px 0 22px; color:#35463f; line-height:1.62; }
.mandate-card--primary h4 { color:#f4f6ef; font-size:clamp(2rem,3vw,3.4rem); }
.mandate-card--primary > strong { color:var(--accent); }
.mandate-card--primary > p { color:#bdcac3; max-width:780px; }
.mandate-tags { margin-top:auto; display:flex; flex-wrap:wrap; gap:7px; }
.mandate-tags span { border:1px solid #d0d4cc; border-radius:999px; padding:6px 8px; color:#42534b; font-size:.58rem; background:#f8f7f2; }
.mandate-card--primary .mandate-tags span { border-color:rgba(255,255,255,.13); color:#c8d4ce; background:rgba(255,255,255,.035); }
.career-foundations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:28px; border-top:1px solid #c8cdc4; border-bottom:1px solid #c8cdc4; }
.career-foundations > div { min-width:0; padding:24px 22px; border-right:1px solid #c8cdc4; }
.career-foundations > div:first-child { padding-left:0; }
.career-foundations > div:last-child { border-right:0; padding-right:0; }
.career-foundations span { color:#65736b; font:600 .56rem var(--display); letter-spacing:.12em; }
.career-foundations strong { display:block; margin:18px 0 9px; color:#0d1915; font:700 1.05rem var(--display); }
.career-foundations p { margin:0; color:#405149; font-size:.8rem; line-height:1.6; }
@media (max-width:1180px) {
  .profile-hub-head { grid-template-columns:1fr; gap:24px; }
  .profile-hub-head > p { max-width:760px; }
  .profile-hub { grid-template-columns:1fr; gap:34px; }
  .profile-summary-card { position:static; }
  .profile-toolbox { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
}
@media (max-width:760px) {
  .profile-hub-head h2 { font-size:clamp(2.45rem,12vw,4.1rem); }
  .profile-summary-card { padding:22px; border-radius:20px; }
  .profile-summary-top { align-items:flex-start; flex-direction:column; gap:6px; }
  .profile-toolbox { grid-template-columns:1fr; }
  .mandates-heading { grid-template-columns:1fr; gap:8px; }
  .mandate-grid { grid-template-columns:1fr; }
  .mandate-card--primary { grid-column:auto; }
  .mandate-card { min-height:0; }
  .mandate-card h4 { margin-top:28px; }
  .career-foundations { grid-template-columns:1fr; }
  .career-foundations > div { border-right:0; border-bottom:1px solid #c8cdc4; padding:20px 0; }
  .career-foundations > div:last-child { border-bottom:0; }
}


/* Senior architecture & end-to-end delivery profile */
.mandate-card--delivery {
  grid-column: 1 / -1;
  min-height: 0;
  background: linear-gradient(135deg, #f8f8f2 0%, #eef3e8 100%);
  border-color: #bdc8b8;
}
.mandate-card--delivery h4 { max-width: 780px; }
.mandate-card--delivery > p { max-width: 980px; }
.delivery-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 2px 0 22px;
}
.delivery-flow span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid #c7cec2;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #23342d;
  font: 700 .62rem var(--display);
  letter-spacing: .02em;
  white-space: nowrap;
}
.delivery-flow i { color: #6d8c24; font-style: normal; font-size: .76rem; }
@media (max-width: 640px) {
  .delivery-flow { gap: 6px; }
  .delivery-flow span { white-space: normal; text-align: center; }
  .delivery-flow i { display: none; }
}


/* 2026-08-25 final polish: blog logo visibility, footer metadata, mobile cards */
.site-header .brand-name { color: #eef5f0; }
.site-header .brand-name span { color: var(--accent); }
.site-header .brand:hover .brand-name { color: #ffffff; }
.site-header .brand-symbol { filter: drop-shadow(0 4px 12px rgba(0,0,0,.22)); }

.footer-bottom {
  align-items: center;
  flex-wrap: wrap;
}
.footer-bottom .footer-chatgpt { color:#91a198; }

/* Make the small summary squares feel more intentional on mobile */
.console-grid div,
.profile-proof div {
  border-radius: 16px;
}
.profile-proof strong,
.console-grid strong { line-height: 1.15; }

@media (max-width: 640px) {
  .console-grid,
  .profile-proof,
  .profile-proof--hub {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px;
  }
  .console-grid div,
  .profile-proof div,
  .profile-proof--hub div {
    min-height: 88px !important;
    padding: 14px !important;
    border-radius: 16px !important;
  }
  .console-grid span,
  .profile-proof span,
  .profile-proof--hub span {
    font-size: .6rem !important;
  }
  .console-grid strong,
  .profile-proof strong,
  .profile-proof--hub strong {
    font-size: .82rem !important;
    line-height: 1.14 !important;
  }
  .footer-bottom { gap: 6px; }
}

@media (max-width: 380px) {
  .console-grid,
  .profile-proof,
  .profile-proof--hub { grid-template-columns: 1fr !important; }
}


/* Professional multidisciplinary profile */
.journey-shell--professional{grid-template-columns:minmax(0,1.05fr) minmax(380px,.72fr);gap:72px;align-items:center}
.journey-shell--professional .journey-copy h2{max-width:760px;font-size:clamp(2.8rem,4.6vw,5.05rem)}
.journey-shell--professional .journey-lead strong{color:#102019;font-weight:700}
.journey-principles{margin-top:34px;border-top:1px solid #c9cec6}
.journey-principles article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid #c9cec6}
.journey-principles article>span{color:#66756d;font:700 .64rem var(--display);letter-spacing:.12em;padding-top:3px}
.journey-principles strong{display:block;color:#0d1915;font:700 .98rem var(--display);margin-bottom:5px}
.journey-principles p{margin:0;color:#42534b;font-size:.9rem;line-height:1.58;max-width:620px}
.journey-context-card{position:relative;overflow:hidden;min-height:520px;padding:30px;border:1px solid #c8cec5;border-radius:28px;background:radial-gradient(circle at 88% 15%,rgba(33,193,181,.13),transparent 28%),linear-gradient(160deg,#fffefa 0%,#f4f3ec 100%);box-shadow:0 28px 70px rgba(28,42,35,.10);color:#0e1b16}
.context-card-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;color:#65736c;font:700 .62rem var(--display);letter-spacing:.14em}
.context-card-head b{color:#8a958f;font-size:.66rem}
.context-location{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:54px}
.context-location>div{min-height:118px;padding:18px;border:1px solid #d0d5ce;border-radius:18px;background:rgba(255,255,255,.78);display:flex;flex-direction:column;justify-content:space-between}
.context-location small{color:#697770;font-size:.68rem}.context-location strong{color:#0b1712;font:700 1.2rem var(--display);letter-spacing:-.025em}
.context-divider{position:relative;z-index:2;height:1px;margin:26px 0;background:#ccd1ca}
.context-focus{position:relative;z-index:2}.context-focus>span{display:block;color:#5d7266;font:700 .62rem var(--display);letter-spacing:.14em;margin-bottom:8px}
.context-focus strong{display:block;color:#0d1915;font:700 1.55rem/1.08 var(--display);letter-spacing:-.035em;max-width:360px}
.context-focus p{max-width:390px;margin:12px 0 0;color:#45564e;font-size:.9rem;line-height:1.55}
.context-tags{position:relative;z-index:2;display:flex;gap:7px;flex-wrap:wrap;margin-top:26px}.context-tags span{padding:7px 10px;border:1px solid #c8cec6;border-radius:999px;background:rgba(255,255,255,.62);color:#33453d;font-size:.62rem;font-weight:600}
.context-visual{position:absolute;z-index:1;right:-90px;bottom:-95px;width:310px;height:310px;pointer-events:none;opacity:.9}.context-orbit{position:absolute;border-radius:50%;border:1px solid rgba(33,193,181,.30)}.orbit-a{inset:0}.orbit-b{inset:64px;border-color:rgba(88,121,52,.26)}
.context-node{position:absolute;width:9px;height:9px;border-radius:50%;background:#21c1b5;box-shadow:0 0 0 6px rgba(33,193,181,.10)}.node-a{left:38px;top:84px}.node-b{right:54px;top:126px;background:#c8ff2e}.node-c{left:132px;bottom:42px;background:#5d8b36}
@media(max-width:1020px){.journey-shell--professional{grid-template-columns:1fr;gap:44px}.journey-context-card{max-width:720px;min-height:430px}}
@media(max-width:640px){.journey-shell--professional .journey-copy h2{font-size:clamp(2.5rem,12vw,4rem)}.journey-context-card{padding:22px;min-height:0;border-radius:22px}.context-location{grid-template-columns:1fr;margin-top:34px}.context-location>div{min-height:92px}.context-focus strong{font-size:1.3rem}.context-visual{opacity:.45;width:230px;height:230px}}


/* 2026-08-25 professional profile refinement */
.profile-hub-head {
  grid-template-columns: minmax(0,1.02fr) minmax(360px,.98fr);
  gap: 56px;
  align-items: start;
  margin-bottom: 34px;
}
.profile-hub-head h2 {
  max-width: 760px;
  font-size: clamp(2.4rem, 4.1vw, 4.7rem);
  line-height: 1.02;
  text-wrap: pretty;
}
.profile-hub-intro {
  align-self: end;
  padding: 18px 0 0;
}
.profile-hub-intro > p {
  margin: 0 0 22px;
  max-width: 620px;
  color: #35463f;
  font-size: 1rem;
  line-height: 1.7;
}
.profile-hub-intro > p strong { color:#102019; }
.profile-hub-points {
  display: grid;
  gap: 10px;
}
.profile-hub-points div {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid rgba(14,27,22,.14);
  border-radius: 16px;
  background: rgba(255,255,255,.56);
}
.profile-hub-points span {
  color: #66756d;
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.profile-hub-points strong {
  color: #102019;
  font: 700 .96rem/1.35 var(--display);
  letter-spacing: -.02em;
}
.profile-summary-card {
  position: sticky;
  top: 88px;
}
.mandates-heading h3 {
  max-width: 830px;
  font-size: clamp(2rem, 3.4vw, 3.45rem);
  line-height: 1.04;
  letter-spacing: -.045em;
}
@media (max-width: 1100px) {
  .profile-summary-card { position: static; }
}
@media (max-width: 900px) {
  .profile-hub-head { grid-template-columns: 1fr; gap: 24px; }
  .profile-hub-head h2 { font-size: clamp(2.2rem, 10vw, 4rem); max-width: 680px; }
  .profile-hub-intro { padding-top: 0; }
}


/* Professional global social utility */
.nav-linkedin {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 50%;
  color: #9eaea6;
  background: rgba(255,255,255,.018);
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}
.nav-linkedin:hover {
  color: #f1f5f0;
  border-color: rgba(200,255,46,.32);
  background: rgba(200,255,46,.055);
  transform: translateY(-1px);
}
.nav-linkedin svg { display:block; }
.mobile-menu .mobile-linkedin {
  color: #b7c6be;
  font-size: .94rem;
  border-bottom: 0;
  padding-top: 18px;
}
@media (max-width: 640px) {
  .nav-linkedin {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }
  .nav-linkedin svg { width:16px; height:16px; }
}


/* 2026-09-15 — Browser Memory card + live privacy transparency */
.privacy-live-section {
  padding: 92px 0 96px;
  background:
    radial-gradient(circle at 9% 14%, rgba(33,193,181,.10), transparent 25%),
    radial-gradient(circle at 91% 82%, rgba(200,255,46,.06), transparent 24%),
    #06110e;
  border-top: 1px solid rgba(255,255,255,.055);
}
.privacy-live-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(26px,4vw,54px);
  border: 1px solid rgba(140,190,174,.2);
  border-radius: 32px;
  background: linear-gradient(145deg, rgba(13,31,26,.97), rgba(7,20,17,.985));
  box-shadow: 0 36px 90px rgba(0,0,0,.28);
}
.privacy-live-panel::before {
  content:"";
  position:absolute;
  width:430px;height:430px;border-radius:50%;
  right:-210px;top:-220px;
  background:rgba(33,193,181,.09);
  pointer-events:none;
}
.privacy-live-header {
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:34px;
  align-items:start;
}
.privacy-live-header h2 {
  max-width:900px;
  margin:10px 0 14px;
  color:#f3f7f4;
  font:700 clamp(2.2rem,4.4vw,4.9rem)/1.01 var(--display);
  letter-spacing:-.055em;
  text-wrap:balance;
}
.privacy-live-header p {
  max-width:820px;margin:0;color:#9eb0a8;font-size:1rem;line-height:1.7;
}
.privacy-live-status {
  display:inline-flex;align-items:center;gap:9px;
  padding:10px 13px;border:1px solid rgba(200,255,46,.18);border-radius:999px;
  background:rgba(200,255,46,.045);color:#dfff84;
  font:700 .65rem var(--display);letter-spacing:.13em;white-space:nowrap;
}
.privacy-live-status i {width:8px;height:8px;border-radius:50%;background:#c8ff2e;box-shadow:0 0 0 5px rgba(200,255,46,.08),0 0 18px rgba(200,255,46,.42)}
.privacy-track-row {
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
  margin-top:38px;
}
.privacy-track-card {
  min-height:152px;padding:20px;border:1px solid rgba(255,255,255,.075);border-radius:20px;
  background:rgba(255,255,255,.026);display:flex;flex-direction:column;
}
.privacy-track-card--active {border-color:rgba(200,255,46,.18);background:linear-gradient(145deg,rgba(200,255,46,.065),rgba(33,193,181,.035))}
.privacy-track-card>span {color:#70877d;font:700 .61rem var(--display);letter-spacing:.14em}
.privacy-track-card strong {margin-top:auto;color:#f0f6f2;font:700 1.13rem var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}
.privacy-track-card small {margin-top:7px;color:#82968c;line-height:1.45}
.privacy-live-grid {
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;
  margin-top:12px;
}
.privacy-data-card {
  min-width:0;padding:15px 16px 16px;border:1px solid rgba(255,255,255,.065);border-radius:16px;
  background:#0b1d18;
}
.privacy-data-card--wide {grid-column:span 2}
.privacy-data-card span {display:block;color:#6f867b;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.privacy-data-card strong {display:block;margin-top:8px;color:#dce8e2;font:600 .82rem/1.45 var(--display);letter-spacing:-.015em;overflow-wrap:anywhere;word-break:break-word}
.privacy-live-footer {
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;
  margin-top:20px;padding-top:22px;border-top:1px solid rgba(255,255,255,.075);
}
.privacy-live-footer p {margin:0;max-width:840px;color:#81958b;font-size:.8rem;line-height:1.65}
.privacy-live-footer p strong {color:#a9bab2}
.privacy-live-link {display:inline-flex;align-items:center;gap:8px;color:#dfff84;font:700 .78rem var(--display);white-space:nowrap}
.privacy-live-link:hover {color:#fff}
#projectGrid .project-card:nth-child(2) .project-shot {object-position:center;}
@media(max-width:1050px){.privacy-live-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.privacy-data-card--wide{grid-column:span 2}}
@media(max-width:820px){.privacy-live-header{grid-template-columns:1fr}.privacy-live-status{justify-self:start}.privacy-track-row{grid-template-columns:1fr}.privacy-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-live-footer{grid-template-columns:1fr}.privacy-live-link{white-space:normal}}
@media(max-width:540px){.privacy-live-section{padding:58px 0}.privacy-live-panel{border-radius:24px;padding:22px}.privacy-live-header h2{font-size:2.45rem}.privacy-live-grid{grid-template-columns:1fr}.privacy-data-card--wide{grid-column:auto}.privacy-track-card{min-height:132px}}
