
    :root { --ink:#142E2E; --muted:#526764; --paper:#F6F5F0; --white:#FFFEFB; --line:#D9DFD5; --green:#245C4F; --lime:#C7E1AA; --navy:#102B2C; --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace; --sans:Inter,"Segoe UI",Arial,sans-serif; --serif:Georgia,"Times New Roman",serif; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:96px; }
    body { margin:0; font:16px/1.7 var(--sans); color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; }
    a { color:inherit; text-decoration:none; }
    button, input { font:inherit; }
    button, summary, a { -webkit-tap-highlight-color:transparent; }
    a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid #4B967A; outline-offset:6px; }
    svg { display:block; max-width:100%; }
    [hidden] { display:none !important; }
    ::selection { background:#C7E1AA; color:#102B2C; }
    h1,h2,h3,h4,p { margin:0; }
    h1,h2,h3,h4 { line-height:1.12; }
    .wrap { width:min(1120px,calc(100% - 80px)); margin:auto; }
    .mono, .eyebrow, .section-no { font-family:var(--mono); }
    .eyebrow { font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:500; }
    .section-no { color:var(--green); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
    .section-title { font-size:clamp(32px,4vw,48px); font-weight:600; letter-spacing:-.045em; max-width:650px; margin-top:22px; }
    .section-title em { font-family:var(--serif); font-weight:400; }
    .section-lead { color:var(--muted); max-width:620px; margin-top:22px; }
    .section { padding:112px 0; }
    .skip-link { position:fixed; left:18px; top:-100px; padding:10px 16px; background:var(--white); z-index:100; }
    .skip-link:focus { top:12px; }
    .draft-banner { padding:7px 20px; text-align:center; background:#E7EDDF; color:#365644; font:10px/1.6 var(--mono); letter-spacing:.035em; }
    .header { position:sticky; top:0; z-index:20; background:rgba(246,245,240,.97); border-bottom:1px solid var(--line); }
    .nav { min-height:83px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
    .brand { display:flex; align-items:center; gap:12px; line-height:1.15; }
    .brand-mark { width:39px; height:39px; display:grid; place-items:center; border:1px solid #9BAC9D; font:bold 15px var(--serif); letter-spacing:-1px; }
    .brand-name { font-size:12px; font-weight:650; letter-spacing:.015em; }
    .brand-caption { font:9px var(--mono); color:var(--muted); margin-top:5px; letter-spacing:.05em; }
    .nav-links { display:flex; gap:29px; align-items:center; font-size:12px; font-weight:550; }
    .nav-links a { transition:color .2s; }
    .nav-links a:hover { color:var(--green); }
    .nav-links .nav-resume { border:1px solid #B3C2B2; padding:9px 17px; }
    .nav-toggle { display:none; background:transparent; border:1px solid #A2B5A1; padding:7px 13px; color:var(--ink); font-size:12px; cursor:pointer; }
    .hero { position:relative; overflow:hidden; background:var(--navy); color:var(--white); }
    .hero-grid { min-height:670px; padding:88px 0 72px; display:grid; grid-template-columns:1.3fr .85fr; align-items:center; gap:74px; position:relative; }
    .hero .eyebrow { color:#BFCEC0; font-size:10px; }
    .hero h1 { font-size:clamp(65px,8.4vw,108px); font-weight:600; line-height:.98; letter-spacing:-.065em; margin-top:27px; }
    .hero h1 span { color:var(--lime); }
    .hero-description { margin-top:26px; color:#C7D4CE; font-size:15px; line-height:1.8; max-width:440px; }
    .hero-description strong { color:#F5F6ED; font-weight:500; }
    .hero-actions { display:flex; gap:24px; flex-wrap:wrap; align-items:center; margin-top:34px; }
    .button { display:inline-flex; align-items:center; justify-content:center; gap:22px; font-size:12px; font-weight:650; padding:13px 20px; border:1px solid transparent; line-height:1.6; }
    .button-primary { color:var(--navy); background:var(--lime); }
    .button-primary:hover { background:#D6ECC1; }
    .text-link { display:inline-flex; align-items:center; gap:11px; font-size:12px; font-weight:600; border-bottom:1px solid currentColor; padding-bottom:3px; }
    .hero-art { width:100%; aspect-ratio:.9; border:1px solid #486059; position:relative; background:linear-gradient(90deg,rgba(129,155,137,.08) 1px,transparent 1px),linear-gradient(rgba(129,155,137,.08) 1px,transparent 1px); background-size:40px 40px; }
    .art-caption { position:absolute; top:21px; left:22px; font:9px var(--mono); letter-spacing:.12em; color:#B8CAC0; }
    .monogram { position:absolute; inset:51px 21px 110px; display:grid; place-items:center; }
    .monogram svg { width:230px; }
    .art-bottom { position:absolute; bottom:0; left:0; right:0; padding:20px 22px; background:#173432; border-top:1px solid #486059; }
    .art-bottom p:first-child { color:#EDF2E8; font-size:16px; font-family:var(--serif); }
    .art-bottom p:last-child { margin-top:8px; color:#AEC5B4; font:9px/1.7 var(--mono); letter-spacing:.035em; }
    .hero-footer { border-top:1px solid #3D5550; color:#B4C6BA; }
    .hero-footer .wrap { min-height:62px; display:flex; justify-content:space-between; gap:24px; align-items:center; font:9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
    .hero-footer .dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--lime); margin-right:10px; vertical-align:middle; }
    .about-grid { display:grid; grid-template-columns:.9fr 1fr; gap:100px; }
    .about-copy { padding-top:26px; color:var(--muted); }
    .about-copy p+p { margin-top:20px; }
    .facts { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:59px; border-top:1px solid var(--line); padding-top:30px; }
    .fact strong { display:block; font-size:29px; font-weight:550; letter-spacing:-.04em; line-height:1.2; }
    .fact span { display:block; margin-top:8px; font:10px/1.6 var(--mono); color:var(--muted); }
    .strengths { background:#ECEFE7; }
    .strength-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:46px; }
    .strength { padding:0 34px; border-left:1px solid #C9D3C4; }
    .strength:first-child { border:0; padding-left:0; }
    .strength:last-child { padding-right:0; }
    .strength svg { width:31px; height:31px; margin-bottom:24px; color:var(--green); }
    .strength h3 { font-size:19px; font-weight:600; letter-spacing:-.02em; line-height:1.25; }
    .strength p { margin-top:16px; color:var(--muted); font-size:13px; line-height:1.85; }
    .learning { border-top:1px solid #C9D3C4; margin-top:43px; padding-top:25px; display:flex; align-items:baseline; gap:24px; flex-wrap:wrap; }
    .learning .eyebrow { font-size:9px; }
    .learning p { color:#425E52; font-size:12px; }
    .experience-grid { display:grid; grid-template-columns:.6fr 1fr; gap:100px; }
    .experience-intro { color:var(--muted); font-size:14px; margin-top:21px; }
    .experience-entry { border-top:1px solid var(--line); }
    .experience-entry:last-child { border-bottom:1px solid var(--line); }
    .experience-entry summary { cursor:pointer; padding:24px 31px 24px 0; list-style:none; position:relative; }
    .experience-entry summary::-webkit-details-marker { display:none; }
    .experience-entry summary::after { content:"+"; position:absolute; right:0; top:32px; font:20px var(--mono); font-weight:400; color:var(--green); }
    .experience-entry[open] summary::after { content:"−"; }
    .role-date { font:9px var(--mono); letter-spacing:.04em; color:var(--muted); margin-bottom:10px; display:block; }
    .role-title { display:block; font-size:18px; font-weight:600; letter-spacing:-.025em; line-height:1.4; }
    .role-company { display:block; font-size:12px; margin-top:6px; color:var(--green); }
    .role-body { padding:0 24px 26px 0; color:var(--muted); font-size:12px; line-height:1.85; }
    .role-body ul { margin:0; padding-left:16px; }
    .role-body li+li { margin-top:8px; }
    .resume-band { background:#DDE5D4; padding:48px 0; }
    .resume-grid { display:flex; align-items:center; justify-content:space-between; gap:32px; }
    .resume-band h2 { font:400 clamp(27px,3vw,36px)/1.2 var(--serif); letter-spacing:-.04em; margin-top:11px; }
    .resume-band p { color:#49614D; font-size:12px; margin-top:12px; }
    .resume-band .button { background:var(--navy); color:var(--white); white-space:nowrap; }
    .resume-band .button:hover { background:#244A43; }
    .projects-head { display:flex; justify-content:space-between; align-items:end; gap:50px; }
    .projects-note { max-width:270px; font-size:12px; line-height:1.8; color:var(--muted); }
    .project-grid { margin-top:48px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start; }
    .project { min-width:0; }
    .project-preview { aspect-ratio:1.47; background:#E8ECE2; padding:22px; display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid #D8DFD1; }
    .preview-window { width:100%; background:#FFFEFB; border:1px solid #B9C9BA; box-shadow:0 8px 20px #183D2010; }
    .preview-toolbar { display:flex; gap:4px; border-bottom:1px solid #DCE3D8; padding:9px; }
    .preview-toolbar i { display:block; width:4px; height:4px; background:#B9C9BA; border-radius:50%; }
    .preview-content { padding:13px; font:8px/1.5 var(--mono); color:#476252; }
    .sample-heading { color:#244D3F; font-weight:700; margin-bottom:10px; }
    .sample-table { width:100%; border-collapse:collapse; font-size:7px; }
    .sample-table th { font-weight:400; color:#6A796C; text-align:left; }
    .sample-table td { border-top:1px solid #E4E8DE; padding:6px 1px; white-space:nowrap; }
    .sample-table td:last-child { color:#537540; text-align:right; }
    .sample-table tr:last-child td:last-child { color:#885726; }
    .sample-row { padding:7px 0; border-top:1px solid #E4E8DE; display:flex; justify-content:space-between; gap:8px; align-items:center; }
    .sample-pill { background:#EDF2E6; color:#42613F; font:6px var(--mono); padding:3px 5px; white-space:nowrap; }
    .preview-dark { background:#153B34; }
    .preview-dark .preview-window { background:#20473D; border-color:#51705C; box-shadow:none; }
    .preview-dark .preview-toolbar { border-color:#41614E; }
    .preview-dark .preview-toolbar i { background:#729B77; }
    .preview-dark .preview-content { color:#DBE7CD; font-size:8px; }
    .preview-dark .sample-heading { color:#D5E9B6; }
    .source-note { border-left:2px solid #7FAD65; margin:10px 0; padding:7px; background:#2B5141; font-size:7px; line-height:1.6; }
    .project-status { margin-top:25px; font:9px var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--green); }
    .project-status span { background:#E6EDDD; padding:4px 6px; margin-right:8px; }
    .project h3 { font-size:21px; line-height:1.25; letter-spacing:-.03em; margin-top:14px; font-weight:600; }
    .project-description { color:var(--muted); font-size:12px; line-height:1.85; margin-top:15px; }
    .project-stack { font:9px/1.9 var(--mono); color:#526E56; margin-top:17px; }
    .project-brief { margin-top:23px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .project-brief summary { font-size:11px; font-weight:600; cursor:pointer; padding:13px 18px 13px 0; list-style:none; position:relative; }
    .project-brief summary::-webkit-details-marker { display:none; }
    .project-brief summary::after { content:"+"; position:absolute; right:0; font:15px var(--mono); }
    .project-brief[open] summary::after { content:"−"; }
    .brief-body { padding:5px 0 20px; font-size:11px; color:var(--muted); line-height:1.85; }
    .brief-body p+p { margin-top:12px; }
    .brief-body strong { color:var(--ink); font-weight:650; }
    .project-repo { font-size:11px; margin-top:14px; }
    .project-caption { margin-top:24px; font:9px/1.8 var(--mono); color:var(--muted); }
    .contact { background:var(--navy); color:var(--white); padding:92px 0 0; }
    .contact .section-no { color:#B0CC9F; }
    .contact-grid { display:flex; justify-content:space-between; align-items:end; gap:70px; padding-bottom:70px; }
    .contact h2 { font-size:clamp(42px,5.5vw,64px); font-weight:500; letter-spacing:-.055em; margin-top:22px; }
    .contact h2 em { font-family:var(--serif); font-weight:400; color:var(--lime); }
    .contact p { color:#C0D0C2; margin-top:22px; font-size:13px; max-width:450px; }
    .contact-actions { min-width:225px; }
    .contact-note { font:10px/1.8 var(--mono) !important; max-width:245px !important; margin-top:0 !important; color:#B6CDB8 !important; }
    .social-links { display:flex; flex-wrap:wrap; gap:22px; color:var(--lime); margin-top:24px; }
    .footer { border-top:1px solid #3E5750; display:flex; justify-content:space-between; gap:20px; align-items:center; padding:25px 0; font:9px var(--mono); color:#ADC2B2; }
    .footer a { border-bottom:1px solid #6C8A74; padding-bottom:3px; }
    @media(max-width:1050px) {
      .hero-grid { gap:45px; grid-template-columns:1.25fr .8fr; }
      .hero h1 { font-size:88px; }
      .monogram { inset:47px 10px 105px; }
      .about-grid,.experience-grid { gap:60px; }
      .nav-links { gap:22px; }
      .project-preview { padding:15px; }
    }
    @media(max-width:800px) {
      .wrap { width:calc(100% - 44px); }
      .section { padding:76px 0; }
      .hero-grid { min-height:auto; padding:65px 0 57px; gap:38px; grid-template-columns:1.2fr .8fr; }
      .hero h1 { font-size:72px; }
      .hero-description { font-size:13px; }
      .hero-art { aspect-ratio:.7; }
      .monogram svg { width:180px; }
      .art-caption { left:15px; top:15px; font-size:7px; }
      .art-bottom { padding:16px 15px; }
      .art-bottom p:first-child { font-size:14px; }
      .art-bottom p:last-child { font-size:8px; }
      .hero-actions { gap:17px; }
      .hero-actions .text-link { font-size:10px; }
      .hero-footer .wrap { font-size:8px; }
      .about-grid { gap:35px; }
      .facts { gap:18px; }
      .fact strong { font-size:25px; }
      .fact span { font-size:9px; }
      .strength { padding:0 21px; }
      .experience-grid { grid-template-columns:.65fr 1fr; gap:35px; }
      .experience-entry .role-title { font-size:16px; }
      .projects-head { align-items:start; gap:35px; }
      .projects-note { max-width:220px; }
      .project-grid { grid-template-columns:1fr; gap:45px; }
      .project { display:grid; grid-template-columns:.9fr 1fr; gap:0 32px; }
      .project-preview { grid-column:1; grid-row:1/7; align-self:start; aspect-ratio:1.15; padding:24px; }
      .project-status { margin-top:0; }
      .project h3 { margin-top:16px; }
      .project-description { margin-top:12px; }
      .project-brief { margin-top:18px; }
      .project-repo { grid-column:2; }
      .contact-grid { gap:35px; }
    }
    @media(max-width:620px) {
      html { scroll-padding-top:88px; }
      .draft-banner { font-size:9px; }
      .nav { min-height:73px; flex-wrap:wrap; gap:0; }
      .brand-mark { width:34px; height:34px; }
      .brand-name { font-size:11px; }
      .brand-caption { font-size:8px; }
      .nav-toggle { display:block; }
      .nav-links { display:none; width:100%; padding:14px 0 23px; flex-direction:column; align-items:stretch; gap:0; font-size:13px; }
      .nav-links.open { display:flex; }
      .nav-links a { padding:10px 0; }
      .nav-links .nav-resume { padding:10px 15px; margin-top:8px; text-align:center; }
      .no-js .nav-links { display:flex; flex-direction:row; gap:16px; font-size:10px; padding:0 0 12px; flex-wrap:wrap; }
      .no-js .nav-resume { border:0; margin:0; padding:10px 0; }
      .no-js .nav-toggle { display:none; }
      .hero-grid { display:block; padding:57px 0 45px; }
      .hero h1 { font-size:clamp(76px,19vw,104px); margin-top:25px; }
      .hero-description { font-size:14px; max-width:400px; }
      .hero .eyebrow { font-size:9px; line-height:1.9; }
      .hero-art { display:none; }
      .hero-actions { margin-top:29px; gap:23px; }
      .hero-actions .text-link { font-size:11px; }
      .hero-footer .wrap { min-height:65px; font-size:8px; gap:14px; line-height:1.8; }
      .hero-footer .wrap span:last-child { max-width:150px; text-align:right; }
      .about-grid,.experience-grid { display:block; }
      .about-copy { padding-top:29px; font-size:14px; }
      .section-title { font-size:35px; line-height:1.15; }
      .facts { margin-top:37px; gap:14px; padding-top:24px; }
      .fact strong { font-size:25px; }
      .fact span { font-size:8px; }
      .strength-grid { grid-template-columns:1fr; margin-top:30px; gap:28px; }
      .strength,.strength:first-child,.strength:last-child { border:0; border-top:1px solid #C9D3C4; padding:24px 0 0; display:grid; grid-template-columns:42px 1fr; gap:0 14px; }
      .strength svg { grid-column:1; grid-row:1/3; width:27px; height:27px; margin:0; }
      .strength h3 { font-size:19px; grid-column:2; }
      .strength p { grid-column:2; margin-top:12px; }
      .learning { margin-top:31px; gap:13px; }
      .learning p { font-size:11px; }
      .experience-intro { max-width:370px; margin-bottom:30px; }
      .role-date { font-size:9px; }
      .resume-band { padding:36px 0; }
      .resume-grid { display:block; }
      .resume-band .button { margin-top:26px; }
      .resume-band h2 { font-size:31px; }
      .projects-head { display:block; }
      .projects-note { max-width:100%; margin-top:21px; }
      .project-grid { margin-top:35px; gap:45px; }
      .project { display:block; }
      .project-preview { aspect-ratio:1.5; padding:32px; }
      .project-status { margin-top:22px; }
      .project h3 { font-size:24px; }
      .project-description { font-size:13px; }
      .preview-content { font-size:9px; padding:15px; }
      .sample-table { font-size:8px; }
      .sample-pill { font-size:7px; }
      .sample-row { padding:9px 0; }
      .preview-dark .preview-content { font-size:9px; }
      .source-note { font-size:8px; }
      .contact { padding-top:68px; }
      .contact-grid { display:block; padding-bottom:48px; }
      .contact h2 { font-size:48px; }
      .contact-actions { margin-top:30px; }
      .contact-note { max-width:100% !important; }
      .footer { align-items:start; font-size:8px; line-height:1.8; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; animation:none !important; } }
    @media print {
      .draft-banner,.header,.hero-art,.nav-toggle,.hero-footer,.hero-actions,.contact-actions,.footer { display:none; }
      body { color:#111; background:#fff; font-size:10pt; }
      .wrap { width:100%; }
      .hero,.strengths,.resume-band,.contact { background:#fff; color:#111; }
      .hero-grid { min-height:0; display:block; padding:24px 0; }
      .hero h1 { font-size:40pt; }
      .hero h1 span,.hero .eyebrow,.hero-description,.contact p { color:#111; }
      .section { padding:30px 0; }
      .section-title { font-size:23pt; }
      .project-grid { display:block; }
      .project { break-inside:avoid; margin:25px 0; display:block; }
      .project-preview { display:none; }
      .contact { padding:25px 0; }
      .contact h2 { font-size:25pt; }
    }
  