*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }

    :root {
      --bg:    #f0ede6;
      --bg2:   #e8e5de;
      --ink:   #0d0d0d;
      --muted: rgba(13,13,13,.64);
      --border:  rgba(13,13,13,.09);
      --border2: rgba(13,13,13,.05);
      --accent:  #e63939;
      --accent2: #e8ff47;
      --white: #ffffff;
      --display: 'Bebas Neue', sans-serif;
      --serif:   'DM Serif Display', serif;
      --body:    'Space Grotesk', sans-serif;
      --ease-out: cubic-bezier(.16,1,.3,1);
    }

    html { scroll-behavior:smooth; overflow-x:hidden; }
    body { background:var(--bg); color:var(--ink); font-family:var(--body); font-size:14px; line-height:1.65; overflow-x:hidden; }
    body.js-loaded { cursor:none; }
    ::selection { background:var(--ink); color:var(--bg); }
    ::-webkit-scrollbar { width:3px; }
    ::-webkit-scrollbar-thumb { background:var(--ink); }

    /* ── LOADER ── */
    #loader {
      position:fixed; inset:0; z-index:9999; background:var(--ink);
      display:flex; align-items:center; justify-content:center;
      flex-direction:column; gap:16px;
    }
    .ld-word { font-family:var(--display); font-size:clamp(40px,8vw,88px); color:var(--bg); letter-spacing:.06em; overflow:hidden; }
    .ld-inner { display:block; transform:translateY(110%); }
    .ld-bar { width:140px; height:1px; background:rgba(255,255,255,.1); position:relative; overflow:hidden; }
    .ld-bar-fill { position:absolute; left:0; top:0; height:100%; width:0; background:var(--accent2); }

    /* ── CURSOR ── */
    #cur {
      position:fixed; top:0; left:0; width:7px; height:7px; border-radius:50%;
      background:var(--ink); pointer-events:none; z-index:9999;
      transform:translate(-50%,-50%); transition:width .3s var(--ease-out),height .3s var(--ease-out);
      mix-blend-mode:difference; display:none;
    }
    #cur2 {
      position:fixed; top:0; left:0; width:32px; height:32px; border-radius:50%;
      border:1px solid rgba(13,13,13,.22); pointer-events:none; z-index:9998;
      transform:translate(-50%,-50%); transition:width .4s var(--ease-out),height .4s var(--ease-out);
      display:none;
    }
    body.js-loaded #cur, body.js-loaded #cur2 { display:block; }
    body.hovering #cur  { width:14px; height:14px; }
    body.hovering #cur2 { width:48px; height:48px; }

    /* ── NAV ── */
    nav {
      position:fixed; top:0; left:0; right:0;
      display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
      padding:22px 52px; z-index:500;
      transition:padding .4s var(--ease-out),background .4s,border .4s;
    }
    nav.stuck {
      padding:13px 52px;
      background:rgba(240,237,230,.93);
      backdrop-filter:blur(20px);
      border-bottom:1px solid var(--border);
    }
    .nav-logo {
      font-family:var(--display); font-size:18px; letter-spacing:.1em;
      color:var(--ink); text-decoration:none;
      display:flex; align-items:center; gap:6px; flex-shrink:0;
      justify-self:start;
    }
    .nav-logo-dot {
      width:5px; height:5px; border-radius:50%; background:var(--accent);
      animation:pulse 2s ease infinite;
    }
    @keyframes pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.6);opacity:.5} }

    .nav-center { display:flex; gap:30px; list-style:none; justify-self:center; }
    .nav-center a {
      font-size:11px; font-weight:500; letter-spacing:.11em; text-transform:uppercase;
      color:var(--muted); text-decoration:none; transition:color .2s; position:relative;
    }
    .nav-center a::after {
      content:''; position:absolute; bottom:-2px; left:0;
      width:0; height:1px; background:var(--ink); transition:width .3s var(--ease-out);
    }
    .nav-center a:hover { color:var(--ink); }
    .nav-center a:hover::after { width:100%; }

    .nav-right { display:flex; align-items:center; gap:12px; flex-shrink:0; justify-self:end; }
    .nav-available {
      display:flex; align-items:center; gap:7px;
      font-size:10px; font-weight:600; letter-spacing:.11em;
      color:var(--ink); text-transform:uppercase;
      padding:6px 12px; border:1px solid rgba(34,197,94,.4);
      border-radius:100px; background:rgba(34,197,94,.07);
    }
    .avail-dot {
      width:6px; height:6px; border-radius:50%; background:#22c55e;
      box-shadow:0 0 0 0 rgba(34,197,94,.5); animation:ping 2s ease infinite; flex-shrink:0;
    }
    @keyframes ping { 0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.5)} 50%{box-shadow:0 0 0 5px rgba(34,197,94,0)} }

    .nav-btn {
      font-size:11px; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
      background:var(--ink); color:var(--bg); padding:9px 20px; border-radius:2px;
      text-decoration:none; transition:background .2s,transform .15s;
    }
    .nav-btn:hover { background:var(--accent); transform:translateY(-1px); }

    /* ── HAMBURGER ── */
    .nav-burger {
      display:none; flex-direction:column; gap:5px;
      background:none; border:none; cursor:pointer; padding:4px; z-index:600;
    }
    .nav-burger span { display:block; width:20px; height:1.5px; background:var(--ink); transition:all .3s var(--ease-out); }
    .nav-burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
    .nav-burger.open span:nth-child(2) { opacity:0; }
    .nav-burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

    /* ── MOBILE DRAWER ── */
    .nav-drawer {
      position:fixed; top:0; right:0; width:75%; max-width:300px; height:100vh;
      background:var(--ink); z-index:550;
      display:flex; flex-direction:column; padding:72px 32px 36px; gap:6px;
      transform:translateX(100%); opacity:0; visibility:hidden; pointer-events:none;
      transition:transform .4s var(--ease-out),opacity .3s;
    }
    .nav-drawer.open { transform:translateX(0); opacity:1; visibility:visible; pointer-events:auto; }
    .nav-drawer a {
      font-family:var(--display); font-size:36px; letter-spacing:.06em;
      color:rgba(255,255,255,.65); text-decoration:none; transition:color .2s;
      border-bottom:1px solid rgba(255,255,255,.06); padding-bottom:9px;
    }
    .nav-drawer a:hover { color:var(--accent2); }
    .nav-drawer-overlay {
      position:fixed; inset:0; background:rgba(0,0,0,.38); z-index:540;
      opacity:0; pointer-events:none; visibility:hidden; transition:opacity .3s;
    }
    .nav-drawer-overlay.open { opacity:1; pointer-events:all; visibility:visible; }

    /* ── HERO ── */
    #hero {
      height:100vh;
      display:grid;
      grid-template-rows:1fr auto;
      position:relative;
      overflow-x:hidden;
    }
    #hero::before {
      content:'';
      position:absolute;
      inset:0;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");
      pointer-events:none;
      z-index:0;
      opacity:.7;
    }
    .hero-top { display:grid; grid-template-columns:52% 48%; position:relative; z-index:1; }
    .hero-left {
      padding:108px 56px 28px 60px;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      border-right:1px solid var(--border);
      position:relative;
    }
    .hero-left::before {
      content:'';
      position:absolute;
      top:0;
      bottom:0;
      left:0;
      width:3px;
      background:linear-gradient(to bottom,transparent 0%,var(--accent) 30%,var(--accent) 85%,transparent 100%);
    }
    .hero-badge {
      display:inline-flex;
      align-items:center;
      gap:10px;
      border:1px solid rgba(13,13,13,.18);
      background:rgba(13,13,13,.04);
      padding:8px 14px 8px 10px;
      border-radius:3px;
      font-family:'Space Grotesk',monospace;
      font-size:10.5px;
      font-weight:600;
      letter-spacing:.13em;
      text-transform:uppercase;
      color:var(--muted);
      margin-bottom:20px;
      width:fit-content;
      opacity:0;
    }
    .badge-dot {
      width:6px;
      height:6px;
      border-radius:50%;
      background:var(--accent);
      flex-shrink:0;
      animation:pulse 2s ease infinite;
    }
    @keyframes pulse {
      0%,100% { transform:scale(1); opacity:1; }
      50% { transform:scale(1.6); opacity:.5; }
    }
    .badge-sep { color:rgba(13,13,13,.2); }
    .h1-wrap { overflow:hidden; line-height:1; }
    .hero-h1 {
      font-family:var(--display);
      line-height:.87;
      letter-spacing:.04em;
      transform:translateY(110%);
      display:block;
    }
    .hero-h1.line1 {
      font-size:clamp(42px,5.4vw,86px);
      letter-spacing:.11em;
      color:var(--ink);
    }
    .hero-h1.line2 {
      font-size:clamp(58px,7.8vw,120px);
      color:var(--accent);
      display:flex;
      align-items:baseline;
      gap:0;
      margin-top:2px;
      letter-spacing:.02em;
    }
    .hero-h1.line2>span:first-child {
      padding-right:16px;
      border-right:4px solid var(--accent);
      margin-right:16px;
    }
    .hero-h1-outline {
      -webkit-text-stroke:3px var(--accent);
      color:transparent;
      font-family:var(--display);
      font-size:inherit;
      line-height:.87;
      letter-spacing:.02em;
      paint-order:stroke fill;
    }
    .hero-tagline {
      margin-top:16px;
      font-size:13px;
      color:var(--muted);
      letter-spacing:.04em;
      line-height:1.6;
      max-width:380px;
      opacity:0;
      transform:translateY(16px);
    }
    .hero-tagline strong { color:var(--ink); font-weight:600; }
    .hero-cta-row {
      display:flex;
      align-items:center;
      gap:16px;
      margin-top:16px;
      opacity:0;
      transform:translateY(16px);
    }

    .hero-right {
      position:relative;
      overflow:hidden;
      display:flex;
      align-items:flex-end;
      background-image:radial-gradient(circle,rgba(13,13,13,.11) 1.5px,transparent 1.5px);
      background-size:24px 24px;
    }
    .hero-img-wrap {
      position:relative;
      width:58%;
      margin:0 auto;
      align-self:flex-end;
      overflow:hidden;
      display:flex;
      align-items:flex-end;
      background:transparent;
    }
    .hero-img-wrap::before {
      content:'';
      position:absolute;
      top:0;
      left:0;
      width:40px;
      height:4px;
      background:var(--accent);
      z-index:5;
    }
    .hero-img-wrap img {
      width:100%;
      height:auto;
      max-height:100%;
      object-fit:cover;
      object-position:top center;
      display:block;
      opacity:0;
      filter:saturate(0.88) contrast(1.05);
      transition:filter .4s;
    }
    .hero-img-wrap:hover img { filter:saturate(1) contrast(1); }
    .hero-img-wrap::after {
      content:'';
      position:absolute;
      inset:0;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.06'/%3E%3C/svg%3E");
      pointer-events:none;
      mix-blend-mode:multiply;
      z-index:4;
    }
    .hero-right::after {
      content:'';
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:200px;
      background:linear-gradient(to bottom,var(--bg) 0%,transparent 100%);
      pointer-events:none;
      z-index:2;
    }
    .hero-role-badge {
      position:absolute;
      bottom:24px;
      right:24px;
      background:var(--ink);
      color:var(--bg);
      font-size:10px;
      font-weight:600;
      letter-spacing:.1em;
      text-transform:uppercase;
      padding:8px 14px;
      border-radius:2px;
      z-index:6;
      opacity:0;
      transform:translateY(8px);
      border-left:3px solid var(--accent);
    }

    .hero-bar {
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:repeat(4,1fr) 1.8fr;
      border-top:2px solid rgba(13,13,13,.16);
      background:var(--bg2);
      opacity:0;
    }
    .hb-stat {
      padding:24px 28px;
      border-right:1px solid var(--border);
      position:relative;
    }
    .hb-stat::after {
      content:'';
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:2px;
      background:var(--accent);
      transform:scaleX(0);
      transform-origin:left;
      transition:transform .35s var(--ease-out);
    }
    .hb-stat:hover::after { transform:scaleX(1); }
    .hb-num {
      font-family:var(--display);
      font-size:clamp(36px,4vw,56px);
      line-height:1;
      letter-spacing:.04em;
      margin-bottom:4px;
    }
    .hb-num sup { font-size:48%; color:var(--accent); vertical-align:super; }
    .hb-label {
      font-size:10.5px;
      color:var(--muted);
      letter-spacing:.1em;
      text-transform:uppercase;
      font-weight:500;
    }
    .hb-desc {
      padding:24px 36px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:16px;
    }
    .hb-text { font-size:13px; color:var(--muted); line-height:1.75; }
    .hb-text strong { color:var(--ink); font-weight:600; }
    .hb-actions { display:flex; align-items:center; gap:16px; }

    .btn-primary {
      display:inline-flex;
      align-items:center;
      gap:8px;
      background:var(--ink);
      color:var(--bg);
      font-size:11px;
      font-weight:700;
      letter-spacing:.1em;
      text-transform:uppercase;
      padding:12px 24px;
      border-radius:2px;
      text-decoration:none;
      transition:background .2s,transform .2s var(--ease-out);
      white-space:nowrap;
    }
    .btn-primary:hover { background:var(--accent); transform:translateY(-2px); }
    .btn-line {
      font-size:12px;
      font-weight:500;
      color:var(--muted);
      text-decoration:none;
      letter-spacing:.06em;
      display:flex;
      align-items:center;
      gap:6px;
      transition:color .2s;
      white-space:nowrap;
      border-bottom:1px solid transparent;
    }
    .btn-line:hover { color:var(--ink); border-color:var(--ink); }

    /* ── MARQUEE ── */
    .mq-wrap { overflow:hidden; background:var(--ink); padding:14px 0; }
    .mq-track { display:flex; width:max-content; animation:mq 22s linear infinite; }
    .mq-track span {
      font-family:var(--display); font-size:clamp(14px,2vw,20px);
      color:rgba(255,255,255,.92); padding:0 18px; white-space:nowrap; letter-spacing:.07em; font-weight:700;
    }
    .mq-track span.hi { color:var(--accent2); opacity:1; }
    @keyframes mq { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

    /* ── SHARED SECTION ── */
    /* ─ KEY FIX: section padding reduced 100px → 64px ─ */
    .section-wrap { padding:64px 52px; border-bottom:1px solid var(--border); }

    .availability-strip {
      display:flex; align-items:center; justify-content:space-between; gap:14px;
      padding:11px 52px;
      background:rgba(34,197,94,.07);
      border-top:1px solid rgba(34,197,94,.22);
      border-bottom:1px solid rgba(34,197,94,.22);
    }
    .availability-strip p { font-size:11px; font-weight:500; letter-spacing:.07em; text-transform:uppercase; color:var(--ink); }
    .availability-strip a {
      font-size:10px; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
      color:var(--ink); text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:2px;
    }

    .sec-eyebrow {
      display:flex; align-items:center; gap:9px;
      font-size:10px; font-weight:500; letter-spacing:.13em; text-transform:uppercase;
      color:var(--muted); margin-bottom:12px;
    }
    .sec-eyebrow::before { content:''; width:20px; height:1px; background:var(--muted); }

    /* ─ KEY FIX: sec-title reduced from 96px → 56px max ─ */
    .sec-title {
      font-family:var(--display);
      font-size:clamp(36px,4.5vw,56px);
      line-height:.92; letter-spacing:.04em;
    }

    .sec-header {
      display:flex; justify-content:space-between; align-items:flex-end;
      margin-bottom:40px; /* was 72px */
    }
    .sec-header-right {
      font-size:11px; color:var(--muted); letter-spacing:.09em;
      text-transform:uppercase; text-align:right; max-width:220px; line-height:1.55;
    }

    /* ── STATEMENT ── */
    #statement { padding:64px 52px; border-bottom:1px solid var(--border); background:var(--ink); }
    .stmt-grid { display:grid; grid-template-columns:160px 1fr; gap:60px; align-items:start; }
    .stmt-side { font-size:10px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.22); padding-top:8px; }
    /* ─ KEY FIX: stmt-body reduced from 42px → 26px max ─ */
    .stmt-body {
      font-family:var(--serif);
      font-size:clamp(18px,2vw,26px);
      line-height:1.35; letter-spacing:-.01em; color:rgba(255,255,255,.88);
    }
    .stmt-body em { font-style:italic; color:rgba(255,255,255,.32); }
    .stmt-cta {
      display:inline-flex; align-items:center; gap:7px; margin-top:28px;
      font-size:12px; font-weight:600; color:var(--accent2); text-decoration:none;
      letter-spacing:.04em; border-bottom:1px solid rgba(232,255,71,.28); padding-bottom:2px;
      transition:border-color .2s;
    }
    .stmt-cta:hover { border-color:var(--accent2); }

    /* ── PROCESS ── */
    #process { background:var(--white); }
    .process-grid {
      display:grid; grid-template-columns:repeat(4,1fr);
      gap:1px; background:var(--border2);
    }
    .process-step { background:var(--white); padding:22px 24px; border:1px solid var(--border); }
    .process-step-no { font-family:var(--serif); font-style:italic; font-size:11px; color:var(--muted); margin-bottom:8px; }
    /* ─ KEY FIX: process step title 34px → 24px ─ */
    .process-step-title { font-family:var(--display); font-size:24px; letter-spacing:.04em; line-height:.92; margin-bottom:8px; }
    .process-step-copy { font-size:12px; color:rgba(13,13,13,.68); line-height:1.7; }

    /* ── EXPERIENCE ── */
    #experience { background:var(--white); }
    .exp-cols { display:grid; grid-template-columns:1fr 1fr; gap:0; }
    .exp-col-left { padding-right:52px; border-right:1px solid var(--border); }
    .exp-col-right { padding-left:52px; }
    .exp-entry { padding:28px 0; border-bottom:1px solid var(--border); position:relative; }
    .exp-entry:first-child { padding-top:0; }
    .exp-entry::after {
      content:''; position:absolute; bottom:-1px; left:0;
      width:0; height:2px; background:var(--accent); transition:width .5s var(--ease-out);
    }
    .exp-entry:hover::after { width:100%; }
    .exp-period-badge { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
    .exp-date { font-size:10px; font-weight:500; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
    .badge-now {
      display:inline-flex; align-items:center; gap:5px;
      font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
      background:var(--ink); color:var(--bg); padding:3px 9px; border-radius:1px;
    }
    .badge-now::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--accent2); animation:pulse 1.5s ease infinite; }
    /* ─ KEY FIX: exp-co 44px → 28px ─ */
    .exp-co { font-family:var(--display); font-size:clamp(20px,2.5vw,28px); letter-spacing:.04em; line-height:.95; margin-bottom:6px; }
    .exp-role-tag { font-size:11px; font-weight:500; letter-spacing:.05em; color:var(--accent); margin-bottom:12px; }
    .exp-list { list-style:none; }
    .exp-list li {
      font-size:12px; color:rgba(13,13,13,.68); padding:4px 0;
      border-bottom:1px solid var(--border2); display:flex; gap:9px;
    }
    .exp-list li:last-child { border:none; }
    .exp-list li::before { content:'→'; color:var(--accent); flex-shrink:0; font-size:10px; margin-top:2px; }
    .exp-pills { display:flex; flex-wrap:wrap; gap:4px; margin-top:12px; }
    .epill { font-size:10px; padding:2px 8px; border:1px solid var(--border); border-radius:1px; color:var(--muted); letter-spacing:.03em; }

    /* ── PROJECTS ── */
    .proj-row {
      display:grid; grid-template-columns:52px 1fr auto 48px;
      gap:28px; align-items:center; padding:26px 0;
      border-top:1px solid var(--border); text-decoration:none; color:inherit;
      position:relative; overflow:hidden; transition:padding-left .4s var(--ease-out);
    }
    .proj-row:last-child { border-bottom:1px solid var(--border); }
    .proj-row::before {
      content:''; position:absolute; left:0; top:0; bottom:0;
      width:0; background:var(--bg2); z-index:-1; transition:width .4s var(--ease-out);
    }
    .proj-row:hover { padding-left:20px; }
    .proj-row:hover::before { width:100%; }
    .pr-num { font-family:var(--serif); font-style:italic; font-size:12px; color:var(--muted); }
    /* ─ KEY FIX: pr-name 64px → 40px ─ */
    .pr-name {
      font-family:var(--display);
      font-size:clamp(26px,3.5vw,40px);
      letter-spacing:.04em; line-height:.92; margin-bottom:5px; transition:color .25s;
    }
    .proj-row:hover .pr-name { color:var(--accent); }
    .pr-sub { font-size:11px; color:var(--muted); letter-spacing:.07em; text-transform:uppercase; }
    .pr-pills { display:flex; gap:5px; flex-wrap:wrap; }
    .pr-pill { font-size:10px; padding:3px 9px; border:1px solid var(--border); border-radius:1px; color:var(--muted); background:var(--bg); }
    .pr-arrow { font-size:18px; color:var(--muted); transition:color .2s,transform .3s var(--ease-out); }
    .proj-row:hover .pr-arrow { color:var(--accent); transform:translate(4px,-4px); }

    /* ── SERVICES SNAPSHOT ── */
    #services-snapshot { background:var(--bg); }
    .services-snapshot-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
    .svc-snap-card {
      padding:22px 24px; border:1px solid var(--border); text-decoration:none;
      color:inherit; background:var(--white); transition:transform .25s var(--ease-out),border-color .25s;
    }
    .svc-snap-card:hover { transform:translateY(-3px); border-color:rgba(13,13,13,.2); }
    .svc-snap-no { font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
    /* ─ KEY FIX: svc-snap-title 34px → 22px ─ */
    .svc-snap-title { font-family:var(--display); font-size:22px; letter-spacing:.04em; line-height:.92; margin-bottom:8px; }
    .svc-snap-copy { font-size:12px; color:var(--muted); line-height:1.7; margin-bottom:14px; }
    .svc-snap-link { font-size:11px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:var(--ink); }

    /* ── SKILLS ── */
    #skills { background:var(--ink); }
    #skills .sec-eyebrow { color:rgba(255,255,255,.18); }
    #skills .sec-eyebrow::before { background:rgba(255,255,255,.18); }
    #skills .sec-title { color:var(--bg); }
    .sk-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.05); }
    .sk-card { background:var(--ink); padding:32px 28px; position:relative; overflow:hidden; transition:background .3s; }
    .sk-card:hover { background:#111; }
    .sk-card::before {
      content:''; position:absolute; top:0; left:0; width:100%; height:2px;
      background:linear-gradient(90deg,var(--accent2),var(--accent));
      transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease-out);
    }
    .sk-card:hover::before { transform:scaleX(1); }
    .sk-bg-num { position:absolute; bottom:-10px; right:6px; font-family:var(--display); font-size:76px; color:rgba(255,255,255,.025); pointer-events:none; }
    .sk-num { font-size:10px; color:rgba(255,255,255,.18); letter-spacing:.09em; margin-bottom:20px; }
    .sk-title { font-size:15px; font-weight:600; color:rgba(255,255,255,.82); margin-bottom:6px; }
    .sk-sub { font-size:11px; color:rgba(255,255,255,.22); margin-bottom:16px; line-height:1.6; }
    .sk-tags { display:flex; flex-wrap:wrap; gap:4px; }
    .skt { font-size:10px; padding:2px 8px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:1px; color:rgba(255,255,255,.36); }

    /* ── ABOUT ── */
    #about { background:var(--bg); }
    .about-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:0; }
    .about-left { padding-right:60px; border-right:1px solid var(--border); }
    /* ─ KEY FIX: about-big-text 32px → 20px max ─ */
    .about-big-text {
      font-family:var(--serif);
      font-size:clamp(17px,1.8vw,20px);
      line-height:1.45; letter-spacing:-.01em; color:var(--ink); margin-bottom:22px;
    }
    .about-big-text em { font-style:italic; color:var(--muted); }
    .about-para { font-size:13px; color:rgba(13,13,13,.72); line-height:1.8; margin-bottom:12px; }
    .about-para strong { color:var(--ink); font-weight:600; }
    .about-pillars { margin-top:32px; border-top:1px solid var(--border); }
    .pillar { display:grid; grid-template-columns:28px 1fr auto; gap:14px; align-items:start; padding:16px 0; border-bottom:1px solid var(--border2); }
    .pillar-num { font-family:var(--serif); font-style:italic; font-size:12px; color:var(--muted); }
    .pillar-name { font-size:13px; font-weight:600; }
    .pillar-desc { font-size:11px; color:var(--muted); text-align:right; }
    .about-right { padding-left:60px; }
    .stat-pair { padding:28px 0; border-bottom:1px solid var(--border); display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    .stat-pair:first-child { padding-top:0; }
    /* ─ KEY FIX: sp-num 80px → 48px ─ */
    .sp-num { font-family:var(--display); font-size:clamp(36px,4.5vw,48px); line-height:.92; letter-spacing:.04em; }
    .sp-num span { color:var(--accent); }
    .sp-label { font-size:11px; color:var(--muted); margin-top:5px; }
    .edu-section { margin-top:28px; }
    .edu-eyebrow { font-size:10px; font-weight:500; letter-spacing:.11em; text-transform:uppercase; color:var(--muted); margin-bottom:16px; }
    .edu-row { display:flex; justify-content:space-between; align-items:baseline; padding:11px 0; border-bottom:1px solid var(--border2); }
    .edu-deg { font-size:13px; font-weight:600; }
    .edu-info { font-size:11px; color:var(--muted); }
    .lang-wrap { margin-top:22px; display:flex; gap:6px; }
    .lang { font-size:11px; font-weight:500; padding:4px 12px; border:1px solid var(--border); border-radius:1px; color:var(--muted); transition:border-color .2s,color .2s; }
    .lang:hover { border-color:var(--ink); color:var(--ink); }

    /* ── BLOGS ── */
    #featured-blogs { background:var(--bg2); }
    .home-blog-list { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
    .home-blog-card {
      display:flex; flex-direction:column; justify-content:space-between;
      gap:14px; padding:20px 22px; border:1px solid var(--border);
      background:var(--bg); text-decoration:none; color:inherit; min-height:200px;
    }
    .home-blog-date { font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
    /* ─ KEY FIX: home-blog-title 44px → 28px ─ */
    .home-blog-title { font-family:var(--display); font-size:clamp(22px,2.5vw,28px); line-height:.92; letter-spacing:.04em; margin:6px 0; }
    .home-blog-excerpt { font-size:12px; color:var(--muted); line-height:1.7; margin-bottom:9px; }
    .home-blog-read { font-size:10px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:var(--ink); }
    .home-blog-empty { grid-column:1/-1; border:1px dashed var(--border); padding:24px; font-size:13px; color:var(--muted); background:var(--bg); }

    /* ── CTA ── */
    #cta {
      padding:90px 52px;
      background:var(--ink);
      display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:center;
      position:relative; overflow:hidden;
    }
    .cta-ghost {
      position:absolute; bottom:-6vw; left:-3vw;
      font-family:var(--display); font-size:26vw;
      color:rgba(255,255,255,.022); letter-spacing:.04em;
      line-height:1; pointer-events:none; white-space:nowrap;
    }
    .cta-left { position:relative; z-index:1; }
    .cta-tag { font-size:10px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:rgba(255,255,255,.22); margin-bottom:20px; }
    /* ─ KEY FIX: cta-big 120px → 72px ─ */
    .cta-big { font-family:var(--display); font-size:clamp(44px,7vw,72px); line-height:.9; letter-spacing:.04em; color:var(--bg); margin-bottom:24px; }
    .cta-big span { color:var(--accent2); }
    .cta-note { font-size:13px; color:rgba(255,255,255,.28); line-height:1.75; max-width:340px; }
    .cta-right { position:relative; z-index:1; }
    .ci {
      display:flex; justify-content:space-between; align-items:center;
      padding:18px 0; border-bottom:1px solid rgba(255,255,255,.06);
      text-decoration:none; transition:padding-left .35s var(--ease-out);
    }
    .ci:first-child { border-top:1px solid rgba(255,255,255,.06); }
    .ci:hover { padding-left:14px; }
    .ci-label { font-size:9px; color:rgba(255,255,255,.22); letter-spacing:.11em; text-transform:uppercase; margin-bottom:3px; }
    .ci-val { font-size:14px; font-weight:500; color:rgba(255,255,255,.78); }
    .ci-arr { font-size:16px; color:rgba(255,255,255,.18); transition:color .2s,transform .25s var(--ease-out); }
    .ci:hover .ci-arr { color:var(--accent2); transform:translate(4px,-4px); }

    /* ── FOOTER ── */
    footer {
      background:var(--ink); border-top:1px solid rgba(255,255,255,.05);
      padding:24px 52px; display:flex;
      justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
    }
    .foot-logo { font-family:var(--display); font-size:14px; letter-spacing:.1em; color:rgba(255,255,255,.45); }
    .foot-copy { font-size:10px; color:rgba(255,255,255,.18); }
    .foot-links { display:flex; gap:18px; }
    .foot-links a { font-size:10px; color:rgba(255,255,255,.18); text-decoration:none; transition:color .2s; }
    .foot-links a:hover { color:rgba(255,255,255,.65); }

    /* ── SCROLL REVEAL ── */
    .sr { opacity:0; transform:translateY(32px); transition:opacity .8s var(--ease-out),transform .8s var(--ease-out); }
    .sr.in { opacity:1; transform:none; }

    /* ── RESPONSIVE ── */
    @media(max-width:1024px) {
      nav,nav.stuck { padding:14px 24px; }
      .nav-center,.nav-available { display:none; }
      .nav-burger { display:flex; }
      .nav-drawer,.nav-drawer-overlay { display:flex; }
      .section-wrap,#statement,#experience,#process,#services-snapshot,
      #featured-blogs,#projects,#skills,#about,#cta { padding-left:24px; padding-right:24px; }
      .availability-strip { padding-left:24px; padding-right:24px; }
      .process-grid { grid-template-columns:1fr 1fr; }
      .services-snapshot-grid,.home-blog-list { grid-template-columns:1fr; }
      #hero { grid-template-rows:auto auto auto; }
      .hero-top { grid-template-columns:1fr; }
      .hero-left { padding:100px 28px 32px; border-right:none; justify-content:flex-start; }
      .hero-right { height:55vw; min-height:260px; max-height:440px; }
      .hero-bar { grid-template-columns:repeat(2,1fr); }
      .hb-stat:nth-child(2) { border-right:none; }
      .hb-stat:nth-child(3) { border-top:1px solid var(--border); }
      .hb-stat:nth-child(4) { border-top:1px solid var(--border); border-right:none; }
      .hb-desc { grid-column:1/-1; border-top:1px solid var(--border); }
      .exp-cols { grid-template-columns:1fr; }
      .exp-col-left { padding-right:0; border-right:none; border-bottom:1px solid var(--border); padding-bottom:40px; }
      .exp-col-right { padding-left:0; padding-top:40px; }
      .proj-row { grid-template-columns:40px 1fr 44px; }
      .pr-pills { display:none; }
      .sk-grid { grid-template-columns:1fr 1fr; }
      .about-layout { grid-template-columns:1fr; }
      .about-left { padding-right:0; border-right:none; border-bottom:1px solid var(--border); padding-bottom:40px; }
      .about-right { padding-left:0; padding-top:40px; }
      #cta { grid-template-columns:1fr; gap:40px; }
      footer { padding:20px 24px; }
      .stmt-grid { grid-template-columns:1fr; }
    }
    @media(max-width:600px) {
      .hero-h1.line1 { font-size:clamp(48px,13vw,80px); }
      .hero-h1.line2 { font-size:clamp(62px,17vw,110px); }
      .hero-h1-outline { font-size:inherit; }
      .availability-strip { flex-direction:column; align-items:flex-start; }
      .process-grid { grid-template-columns:1fr; }
      .sk-grid { grid-template-columns:1fr; }
      .stat-pair { grid-template-columns:1fr; }
    }
    @media(min-width:1025px) { .nav-drawer,.nav-drawer-overlay { display:none !important; } }