    :root { color-scheme: light; --ink:#152e34; --teal:#103b42; --teal-2:#1e5960; --paper:#f8faf8; --line:#cad6d4; --muted:#52666a; --white:#fff; --accent:#bce2dc; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:6rem; }
    body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter, "Helvetica Neue", Arial, sans-serif; font-size:1rem; line-height:1.6; -webkit-font-smoothing:antialiased; }
    a { color:inherit; text-underline-offset:.2em; }
    a:focus-visible { outline:3px solid #198699; outline-offset:5px; border-radius:2px; }
    .shell { width:min(100% - 3rem, 1210px); margin-inline:auto; }
    .skip { position:absolute; left:1rem; top:-4rem; padding:.5rem 1rem; z-index:30; background:white; }
    .skip:focus { top:1rem; }
    .topbar { background:var(--paper); border-bottom:1px solid var(--line); }
    .topbar .shell { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
    .wordmark { font-weight:760; letter-spacing:-.035em; text-decoration:none; font-size:1.2rem; white-space:nowrap; }
    .topnav { display:flex; align-items:center; gap:2.2rem; }
    .topnav a { font-size:.91rem; font-weight:600; text-decoration:none; transition:color .2s; }
    .topnav a:hover { color:var(--teal-2); text-decoration:underline; }
    .topnav .contact-link { border:1px solid var(--teal); padding:.58rem .9rem; }
    .hero { background:var(--teal); color:white; overflow:hidden; }
    .hero-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(255px,.65fr); min-height:575px; }
    .hero-copy { padding:6.2rem 4rem 5.3rem 0; display:flex; flex-direction:column; align-items:flex-start; }
    .eyebrow { font-size:.77rem; line-height:1.4; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
    .hero .eyebrow { color:var(--accent); }
    h1,h2,h3,p { margin-top:0; }
    h1 { max-width:930px; margin:2.1rem 0 1.5rem; font-size:clamp(3.45rem,6.4vw,6.3rem); line-height:1.035; font-weight:680; letter-spacing:-.065em; }
    .hero-intro { max-width:650px; margin:0 0 2rem; font-size:clamp(1.06rem,1.5vw,1.22rem); line-height:1.6; color:#e0eeea; }
    .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.25rem; margin-top:auto; padding-top:1.2rem; }
    .button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.7rem 1.05rem; background:var(--accent); color:var(--teal); text-decoration:none; font-weight:750; font-size:.9rem; transition:background .2s,transform .2s; }
    .button:hover { background:white; transform:translateY(-2px); }
    .text-link { font-size:.9rem; font-weight:700; text-underline-offset:.3em; }
    .hero-side { border-left:1px solid rgba(255,255,255,.25); display:flex; flex-direction:column; justify-content:space-between; padding:6.2rem 0 5.3rem 2.3rem; }
    .side-top { color:#c3dcd8; font-size:.9rem; line-height:1.65; }
    .side-top strong { display:block; margin-bottom:.8rem; color:white; font-weight:650; }
    .index { display:grid; grid-template-columns:1fr auto; padding:1rem 0; gap:1rem; border-top:1px solid rgba(255,255,255,.25); font-size:.87rem; text-decoration:none; color:white; }
    .index:last-child { border-bottom:1px solid rgba(255,255,255,.25); }
    .index span:last-child { color:#b6d3cf; }
    .index:hover span:first-child { text-decoration:underline; text-underline-offset:.25em; }
    .intro-strip { border-bottom:1px solid var(--line); }
    .intro-strip .shell { display:grid; grid-template-columns:1.05fr 1fr 1fr; }
    .fact { padding:2.25rem 2.15rem 2.2rem; border-left:1px solid var(--line); }
    .fact:first-child { padding-left:0; border-left:0; }
    .fact strong { display:block; font-size:clamp(1.65rem,2.4vw,2.4rem); line-height:1.1; font-weight:670; letter-spacing:-.055em; color:var(--teal); }
    .fact span { display:block; margin-top:.65rem; max-width:16rem; font-size:.89rem; line-height:1.45; color:var(--muted); }
    section.content { padding:7rem 0; }
    .section-head { display:grid; grid-template-columns:215px minmax(0,1fr); gap:2rem; margin-bottom:3.7rem; }
    .section-head h2 { max-width:800px; font-size:clamp(2.3rem,4vw,4rem); font-weight:650; line-height:1.09; letter-spacing:-.057em; margin:-.4rem 0 0; }
    .section-label { color:var(--teal-2); font-weight:750; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; }
    .work-list { border-top:1px solid var(--line); }
    .work-row { display:grid; grid-template-columns:215px minmax(0,1.25fr) minmax(235px,.75fr); gap:2rem; padding:2.7rem 0; border-bottom:1px solid var(--line); }
    .work-no { color:var(--teal-2); font-size:.84rem; font-weight:700; }
    .work-row h3 { margin:0 0 .8rem; font-size:clamp(1.45rem,2.25vw,2.05rem); line-height:1.2; letter-spacing:-.038em; font-weight:650; }
    .work-row p { max-width:600px; margin:0; color:#3e5357; }
    .work-note { border-left:2px solid var(--teal); padding-left:1.35rem; color:var(--muted); font-size:.9rem; line-height:1.55; align-self:start; }
    .work-note strong { display:block; color:var(--teal); font-weight:750; margin-bottom:.5rem; }
    .research { background:#eaf1ef; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .research .shell { display:grid; grid-template-columns:215px minmax(0,1fr) minmax(230px,.6fr); gap:2rem; padding-top:5.1rem; padding-bottom:5.2rem; }
    .research h2 { font-size:clamp(2.1rem,3.25vw,3.1rem); line-height:1.13; font-weight:650; letter-spacing:-.05em; max-width:660px; margin:-.4rem 0 1.2rem; }
    .research p { max-width:620px; margin-bottom:0; color:#3e5357; }
    .research-links { align-self:end; border-top:1px solid #a5bdb9; }
    .research-links a { display:flex; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid #a5bdb9; font-size:.9rem; font-weight:700; text-decoration:none; }
    .research-links a:hover { text-decoration:underline; }
    .background .section-head { margin-bottom:3rem; }
    .career { margin-left:calc(215px + 2rem); border-top:1px solid var(--line); }
    .career-row { display:grid; grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr); gap:2rem; padding:1.45rem 0; border-bottom:1px solid var(--line); }
    .career-row h3 { font-size:1.1rem; margin:0; font-weight:720; }
    .career-row p { margin:0; color:var(--muted); }
    .career-row small { display:block; margin-top:.2rem; color:var(--muted); font-size:.84rem; }
    .contact { background:var(--teal); color:white; padding:5.4rem 0 5.8rem; }
    .contact .shell { display:grid; grid-template-columns:215px minmax(0,1fr); gap:2rem; }
    .contact .section-label { color:var(--accent); }
    .contact h2 { max-width:720px; font-size:clamp(2.4rem,4.7vw,4.8rem); line-height:1.07; letter-spacing:-.058em; font-weight:650; margin:-.4rem 0 1.2rem; }
    .contact p { max-width:610px; color:#d6e8e4; margin-bottom:2rem; }
    footer { background:#0b3036; color:#b9d0cc; }
    footer .shell { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:2rem; font-size:.8rem; }
    footer a { color:inherit; }
    @media (max-width:900px) {
      .hero-grid { grid-template-columns:1fr; min-height:auto; }
      .hero-copy { padding:5rem 0 3.5rem; }
      .hero-side { border-left:0; border-top:1px solid rgba(255,255,255,.25); padding:1.4rem 0 3rem; display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
      .side-top { align-self:center; }
      .section-head,.work-row,.research .shell,.contact .shell { grid-template-columns:150px minmax(0,1fr); }
      .work-note { grid-column:2; }
      .research-links { grid-column:2; align-self:auto; }
      .career { margin-left:calc(150px + 2rem); }
    }
    @media (max-width:620px) {
      .shell { width:min(100% - 2.1rem,1210px); }
      .topbar .shell { min-height:70px; align-items:flex-start; padding:1.1rem 0; flex-direction:column; gap:.8rem; }
      .topnav { width:100%; justify-content:space-between; gap:.45rem; }
      .topnav a { font-size:.83rem; }
      .topnav .contact-link { border:0; padding:0; }
      .hero-copy { padding:4rem 0 3rem; }
      h1 { font-size:clamp(3.1rem,11vw,4.5rem); margin:1.5rem 0 1.3rem; }
      .hero-intro { font-size:1.06rem; }
      .hero-side { grid-template-columns:1fr; gap:1.5rem; padding:1.5rem 0 2.8rem; }
      .side-top strong { margin-bottom:.15rem; }
      .intro-strip .shell { grid-template-columns:1fr; }
      .fact,.fact:first-child { padding:1.35rem 0; border-left:0; border-bottom:1px solid var(--line); }
      .fact:last-child { border-bottom:0; }
      .fact strong { font-size:2rem; }
      .fact span { max-width:none; margin-top:.3rem; }
      section.content { padding:4.6rem 0; }
      .section-head,.work-row,.research .shell,.contact .shell { grid-template-columns:1fr; gap:.8rem; }
      .section-head { margin-bottom:2.3rem; }
      .section-head h2 { margin:0; }
      .work-row { padding:2rem 0; gap:.65rem; }
      .work-note { grid-column:1; margin-top:.65rem; }
      .research .shell { padding-top:4.2rem; padding-bottom:4.3rem; }
      .research h2 { margin:0 0 1rem; }
      .research-links { grid-column:1; margin-top:1rem; }
      .career { margin-left:0; }
      .career-row { grid-template-columns:1fr; gap:.35rem; }
      .contact { padding:4.5rem 0; }
      .contact h2 { margin:0 0 1rem; }
      footer .shell { padding:1.5rem 0; min-height:0; flex-direction:column; align-items:flex-start; gap:.4rem; }
    }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }

    /* Detailed professional work and research archive */
    .case-list { border-top:1px solid var(--line); }
    .case { display:grid; grid-template-columns:215px minmax(0,1fr); gap:2rem; padding:3.4rem 0 3.7rem; border-bottom:1px solid var(--line); }
    .case-side { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; gap:1rem; color:var(--muted); font-size:.84rem; }
    .case-main { max-width:840px; }
    .case-main h3 { max-width:740px; margin:0 0 1.2rem; font-size:clamp(1.8rem,2.8vw,2.7rem); line-height:1.12; font-weight:660; letter-spacing:-.05em; }
    .case-lead { max-width:760px; font-size:1.1rem; line-height:1.6; color:#354e52; margin:0 0 2.1rem; }
    .case-detail { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(225px,.75fr); gap:2.7rem; padding-top:1.3rem; border-top:1px solid var(--line); }
    .case-detail h4 { margin:0 0 .65rem; font-size:.75rem; letter-spacing:.13em; text-transform:uppercase; color:var(--teal-2); }
    .case-detail p { margin:0; color:var(--muted); }
    .case-detail > div:last-child { border-left:2px solid var(--teal); padding-left:1.35rem; }
    .case-source { margin:1.4rem 0 0; font-weight:700; font-size:.9rem; }
    .case-source a:hover { color:var(--teal-2); }
    .archive-hero { background:var(--teal); color:white; padding:4.5rem 0 4.8rem; }
    .archive-hero .eyebrow { color:var(--accent); }
    .archive-hero h1 { max-width:900px; margin:1.1rem 0 1.2rem; font-size:clamp(3.2rem,5.6vw,5.7rem); }
    .archive-hero p { max-width:720px; margin:0; color:#d6e8e4; font-size:1.1rem; }
    .archive-intro { border-bottom:1px solid var(--line); }
    .archive-intro .shell { display:flex; gap:2rem; align-items:center; justify-content:space-between; padding:1.45rem 0; }
    .archive-intro p { margin:0; color:var(--muted); font-size:.9rem; }
    .archive-jump { display:flex; gap:1.4rem; white-space:nowrap; font-size:.89rem; font-weight:700; }
    .archive-section { padding:5.6rem 0; }
    .archive-section + .archive-section { border-top:1px solid var(--line); }
    .archive-section h2 { font-size:clamp(2.25rem,3.8vw,3.7rem); line-height:1.12; letter-spacing:-.05em; margin:0 0 1rem; font-weight:650; }
    .archive-section .section-desc { max-width:790px; color:var(--muted); margin:0 0 2.8rem; }
    .patent-list { border-top:1px solid var(--line); }
    .patent { display:grid; grid-template-columns:215px minmax(0,1fr); gap:2rem; padding:2.5rem 0; border-bottom:1px solid var(--line); }
    .patent .patent-year { color:var(--teal-2); font-size:.82rem; font-weight:750; text-transform:uppercase; letter-spacing:.1em; }
    .patent h3 { max-width:760px; font-size:1.5rem; font-weight:650; letter-spacing:-.035em; line-height:1.25; margin:0 0 .6rem; }
    .patent p { max-width:750px; color:var(--muted); margin:0 0 .7rem; }
    .patent .record { font-weight:700; font-size:.89rem; }
    .pub-year { display:grid; grid-template-columns:215px minmax(0,1fr); gap:2rem; border-top:1px solid var(--line); padding:1.3rem 0 1.8rem; }
    .pub-year h3 { color:var(--teal); font-size:1.45rem; line-height:1.25; letter-spacing:-.04em; margin:.28rem 0; }
    .pub-list { list-style:none; padding:0; margin:0; }
    .pub-list li { display:grid; grid-template-columns:minmax(0,1fr) 65px; gap:1rem; border-bottom:1px solid var(--line); padding:.85rem 0; }
    .pub-list li:last-child { border-bottom:0; }
    .pub-list a { text-decoration:none; font-weight:620; line-height:1.45; }
    .pub-list a:hover { text-decoration:underline; color:var(--teal-2); }
    .pub-meta { display:block; margin-top:.25rem; color:var(--muted); font-size:.81rem; line-height:1.4; font-weight:400; }
    .pub-type { color:var(--teal-2); font-size:.78rem; font-weight:700; text-align:right; }
    .archive-note { color:var(--muted); font-size:.88rem; max-width:780px; padding-top:1.2rem; }
    @media (max-width:900px) {
      .case,.patent,.pub-year { grid-template-columns:150px minmax(0,1fr); }
      .case-detail { grid-template-columns:1fr 1fr; gap:1.5rem; }
    }
    @media (max-width:620px) {
      .topnav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:.3rem; }
      .topnav a { font-size:.85rem; }
      .case,.patent,.pub-year { grid-template-columns:1fr; gap:.8rem; }
      .case { padding:2.5rem 0 2.8rem; }
      .case-side { flex-direction:row; align-items:center; }
      .case-main h3 { margin-bottom:.85rem; }
      .case-lead { margin-bottom:1.4rem; }
      .case-detail { grid-template-columns:1fr; gap:1.25rem; }
      .archive-hero { padding:3.9rem 0 4rem; }
      .archive-hero h1 { margin:1rem 0; }
      .archive-intro .shell { align-items:flex-start; flex-direction:column; gap:.7rem; }
      .archive-section { padding:4.5rem 0; }
      .patent { padding:2rem 0; }
      .pub-year { padding:1.5rem 0; }
      .pub-list li { grid-template-columns:1fr; gap:.2rem; }
      .pub-type { text-align:left; }
    }
