.case-study { padding-block: 130px 80px; }
.case-study > .eyebrow { margin-top: 40px; }
.case-study h1 { font: 600 52px/1.12 "Space Grotesk", sans-serif; max-width: 850px; }
.case-lead { max-width: 680px; color: var(--muted); font-size: 20px; margin: 24px 0; }
.case-image { margin: 40px 0; }
.case-image img { width: 100%; max-height: 620px; object-fit: contain; background: var(--ink-soft); border: 1px solid var(--line); border-radius: 8px; }
.case-image figcaption { color: var(--muted); margin-top: 12px; font-size: 12px; }
.case-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 60px; }
.case-columns section, .case-next { padding-top: 24px; border-top: 1px solid var(--line); }
.case-study h2 { font: 500 27px/1.3 "Space Grotesk", sans-serif; margin-bottom: 16px; }
.case-columns p:not(.eyebrow), .case-next p:not(.eyebrow) { color: var(--muted); max-width: 720px; }
.case-next { margin-top: 40px; }
.case-link { color: var(--blue); font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 12px; margin-top: 14px; width: fit-content; }
.case-link:hover { color: var(--acid); }
@media (max-width: 720px) {
    .case-study { padding-top: 110px; }
    .case-study h1 { font-size: 36px; overflow-wrap: anywhere; }
    .case-columns { grid-template-columns: 1fr; gap: 28px; }
    .case-lead { font-size: 17px; }
}

:root {
    --ink: #101112;
    --ink-soft: #181a1c;
    --muted: #adb2b9;
    --line: rgba(255, 255, 255, .11);
    --nav: rgba(16, 17, 18, .94);
}

html { scroll-padding-top: 110px; color-scheme: dark; }
body { letter-spacing: 0; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--acid); outline-offset: 5px; }
.navbar { box-shadow: 0 8px 30px #0003; }
.brand-name { color: var(--text); }
.hero { min-height: 0; padding: 136px 0 30px; }
.hero-inner { grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr); gap: 64px; }
.hero h1 { font-size: 80px; line-height: 1.05; }
.hero-role { margin-top: 20px; font: 500 32px/1.25 "Space Grotesk", sans-serif; }
.hero-summary { max-width: 510px; margin-top: 20px; font-size: 16px; }
.availability-pill { margin-bottom: 22px; font-weight: 500; }
.hero-proof { margin-top: 36px; }
.hero-proof strong { font-size: 25px; }
.hero-stage { min-height: 0; padding: 0; }
.portrait-shell { max-width: 360px; aspect-ratio: 4 / 5; margin: 0 auto; }
.portrait-shell img { filter: none; border-color: var(--line); }
.portrait-frame-back, .stage-note, .stage-code, .stage-topline, .hero-scanline { display: none; }
.hero-grid { opacity: .13; animation: none; }
.hero-footer { position: static; margin-top: 36px; }
.stack-strip { background: #1b1e1b; color: var(--text); border-block: 1px solid var(--line); padding-block: 18px; }
.stack-strip-label { color: var(--acid); }
.marquee-track span { font-size: 16px; }
.signal-strip { padding: 48px 0; }
.signal-lead strong { font-size: 28px; line-height: 1.25; }
.signal-item { min-height: 132px; }
.signal-item strong { margin-top: 18px; }
.toolkit, .journey { padding-block: 72px; border-bottom: 1px solid var(--line); }
.toolkit-heading, .journey-heading { display: grid; grid-template-columns: minmax(0, .9fr) minmax(260px, .55fr); align-items: end; gap: 40px; }
.toolkit-heading > p, .journey-heading > p { max-width: 430px; justify-self: end; color: var(--muted); font-size: 15px; }
.toolkit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 38px; }
.toolkit-item { min-height: 190px; padding: 18px 18px 0 0; border-top: 1px solid var(--line); }
.toolkit-item + .toolkit-item { padding-left: 18px; border-left: 1px solid var(--line); }
.toolkit-item > span, .timeline-date { color: var(--blue); font: 10px "DM Mono", monospace; letter-spacing: .05em; text-transform: uppercase; }
.toolkit-item strong { display: block; margin-top: 30px; color: var(--text); font: 600 21px/1.15 "Space Grotesk", sans-serif; }
.toolkit-item p { margin-top: 10px; color: var(--muted); font-size: 13px; }
.timeline { margin-top: 38px; border-top: 1px solid var(--line); }
.timeline-item { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.timeline-item h3 { color: var(--text); font: 500 22px/1.2 "Space Grotesk", sans-serif; }
.timeline-item p { margin-top: 6px; color: var(--muted); font-size: 14px; }
.copy-email { background: transparent; color: var(--text); }
.copy-email:hover { color: var(--blue); }
.about, .experience, .projects, .process, .credentials { padding-block: 72px; border-bottom: 1px solid var(--line); }
.about-intro h2, .section-heading h2, .credentials h2 { font-size: 44px; line-height: 1.12; }
.about-copy .lead-copy { font-size: 23px; line-height: 1.45; }
.about-layout, .experience-layout, .project-grid { margin-top: 36px; }
.experience-title h3 { font-size: 34px; line-height: 1.15; }
.experience-metric { font-size: 34px; }
.experience-feature, .project-content { padding: 30px; }
.project-content h3 { font-size: 28px; line-height: 1.2; }
.project-media { min-height: 0; aspect-ratio: 16 / 10; background: #202225; }
.project-card-featured .project-media { min-height: 0; aspect-ratio: auto; }
.project-media img { object-fit: contain; }
.project-media::after { display: none; }
.project-card { transform: none; transition: border-color 220ms ease, box-shadow 220ms ease; }
.project-card:hover { box-shadow: 0 12px 35px #0003; border-color: var(--blue); }
.process-item h3 { margin-top: 24px; font-size: 22px; }
.process-item { min-height: 180px; }
.certificate-links a { background: #202225; }
.certificate-links a:hover { background: #292d30; border-color: var(--blue); }
.certificate-links a:hover .certificate-copy strong { color: var(--text); }
.certificate-links a:hover .certificate-copy small { color: var(--muted); }
.certificate-links i { color: var(--blue); }
.contact { padding-block: 64px; }
.contact-inner { max-width: none; padding: 24px 0 40px; border-top: 0; }
.contact-inner h2 { font-size: 64px; line-height: 1.1; }
.contact-footer { margin-top: 40px; }

@media (max-width: 980px) {
    .hero-inner { gap: 32px; }
    .hero h1 { font-size: 58px; }
    .hero-role { font-size: 26px; }
    .hero-stage { max-width: 320px; }
    .experience-title { flex-direction: column; }
    .experience-metric { text-align: left; }
    .toolkit-heading, .journey-heading { grid-template-columns: 1fr; gap: 22px; }
    .toolkit-heading > p, .journey-heading > p { justify-self: start; }
}

@media (max-width: 720px) {
    .hero { padding-top: 106px; }
    .hero-inner { grid-template-columns: 1fr; gap: 36px; }
    .hero h1 { font-size: 48px; }
    .hero-role { font-size: 25px; }
    .hero-stage { max-width: 300px; }
    .hero-actions { gap: 20px; margin-top: 26px; }
    .about, .experience, .projects, .process, .credentials { padding-block: 48px; }
    .about-intro h2, .section-heading h2, .credentials h2 { font-size: 32px; }
    .about-copy .lead-copy { font-size: 20px; }
    .contact-inner h2 { font-size: 42px; }
    .experience-feature, .project-content { padding: 22px; }
    .project-card-featured .project-media { min-height: 0; aspect-ratio: 16 / 10; }
    .project-content h3 { font-size: 25px; }
    .toolkit, .journey { padding-block: 48px; }
    .toolkit-grid { grid-template-columns: 1fr; margin-top: 28px; }
    .toolkit-item, .toolkit-item + .toolkit-item { min-height: 0; padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--line); }
    .toolkit-item:first-child { padding-top: 0; }
    .toolkit-item:last-child { border-bottom: 0; }
    .toolkit-item strong { margin-top: 18px; }
    .timeline-item { grid-template-columns: 1fr; gap: 8px; padding: 18px 0; }
    .availability-pill { max-width: 100%; }
    .nav-cta { display: inline-flex; min-height: 38px; padding-inline: 12px; }
    .contact-footer { overflow-wrap: anywhere; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    [data-reveal] { opacity: 1; transform: none; }
}
