:root{--ink:#171714;--cream:#f4f0e7;--paper:#fbfaf6;--line:#d9d3c7;--muted:#6f6a61;--accent:#a6422b;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:10px;z-index:100}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,246,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.navigation{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.02em}.wordmark-dot{color:var(--accent)}nav{display:flex;gap:28px}nav a{color:var(--ink);text-decoration:none;font-size:.94rem}nav a:hover,.text-link:hover{color:var(--accent)}.hero{padding:112px 0 80px;min-height:70vh;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px}.hero h1,.section h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em;line-height:.98;margin:0}.hero h1{font-size:clamp(3.4rem,8vw,7.5rem);max-width:900px}.hero h1 em{font-weight:400;color:var(--accent)}.hero-intro{font-size:clamp(1.15rem,2vw,1.45rem);max-width:760px;margin:32px 0;color:#47433d}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button{display:inline-flex;align-items:center;gap:10px;padding:13px 18px;border:1px solid var(--ink);text-decoration:none;font-weight:700;font-size:.92rem}.button-dark{background:var(--ink);color:#fff}.button-outline{color:var(--ink);background:transparent}.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-outline-light{color:#fff;border-color:#77736d}.hero-foot{margin-top:auto;padding-top:70px;display:flex;justify-content:space-between;color:var(--muted);font-size:.88rem}.section{padding:100px 0;border-top:1px solid var(--line)}.section-cream{background:var(--cream)}.section-ink{background:var(--ink);color:#fff}.section h2{font-size:clamp(2.6rem,5vw,5rem);max-width:760px}.section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:end;margin-bottom:48px}.section-heading>p{color:var(--muted);margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-text{font-size:1.08rem;color:#45413c}.experience-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{border:1px solid var(--line);background:var(--paper);padding:32px}.project-index{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--accent);margin-bottom:24px}.project h3,.spotlight-intro h3,.gallery-header h3,.code-section h3,.project-end h3{font-family:Georgia,"Times New Roman",serif;font-size:1.9rem;line-height:1.1;margin:0 0 18px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.tags span{border:1px solid var(--line);padding:5px 9px;font-size:.76rem}.project-note,.privacy-note{font-size:.78rem;color:var(--muted)}.eyebrow-light{color:#aaa59c}.resume-intro{max-width:720px;color:#c6c1b8}.timeline{margin-top:52px;border-top:1px solid #4a4742}.timeline-row{display:grid;grid-template-columns:180px 1fr 1.4fr;gap:30px;padding:26px 0;border-bottom:1px solid #4a4742}.timeline-row>span{font-size:.76rem;letter-spacing:.1em;color:#aaa59c}.timeline-row h3{margin:0;font-size:1.05rem}.timeline-row p{margin:3px 0;color:#c6c1b8}.education,.resume-skills{margin-top:42px;max-width:850px}.education>span{font-size:.72rem;letter-spacing:.13em;color:#aaa59c}.education p{margin:9px 0}.resume-skills h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em}.resume-skills p{color:#c6c1b8}.section-ink .privacy-note{color:#aaa59c}.project-spotlight{padding-bottom:120px}.spotlight-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:start}.spotlight-intro>div:first-child>p{max-width:720px}.pipeline-panel{border:1px solid var(--line);padding:10px 26px;background:var(--cream)}.pipeline-panel span{display:block;padding:17px 0;border-bottom:1px solid var(--line);font-size:.88rem;font-weight:700}.pipeline-panel span:last-child{border-bottom:0}.worked-on{margin-top:70px;padding-top:50px;border-top:1px solid var(--line)}.worked-on-list{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 40px}.worked-on-list li{position:relative;padding-left:22px;color:#45413c;font-size:.98rem;line-height:1.55}.worked-on-list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;background:var(--accent)}@media(max-width:850px){.worked-on-list{grid-template-columns:1fr}}.batch-eval{margin-top:70px;padding-top:50px;border-top:1px solid var(--line)}.batch-intro{max-width:700px;color:#45413c}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}.stat-card{border:1px solid var(--line);background:var(--paper);padding:22px 20px}.stat-value{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.9rem;color:var(--accent);line-height:1.1}.stat-value small{font-size:1.1rem;color:var(--ink)}.stat-label{display:block;margin-top:10px;font-size:.78rem;color:var(--muted);line-height:1.4}.batch-note{max-width:760px;color:var(--muted);font-size:.92rem}@media(max-width:850px){.stat-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.stat-grid{grid-template-columns:1fr}}
.gallery-header{margin-top:100px;max-width:680px}.screenshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.screenshot-card{margin:0}.screenshot-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);background:#e8e3d9}figcaption{font-size:.78rem;color:var(--muted);margin-top:8px}.code-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center;margin-top:100px;padding-top:70px;border-top:1px solid var(--line)}.code-card{background:#111;color:#eee;overflow:hidden}.code-top{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #343434;font-size:.72rem;color:#aaa}pre{margin:0;padding:26px;overflow:auto;font-size:.88rem;line-height:1.7}.project-end{margin-top:90px;padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:40px}.project-end p{max-width:650px;color:var(--muted)}footer{padding:30px 0;background:var(--ink);color:#aaa59c}.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:.82rem}.footer-inner a{color:#fff;text-decoration:none}code{font-family:"SFMono-Regular",Consolas,monospace}@media(max-width:850px){nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}.navigation{padding:12px 0}.hero{padding-top:80px}.section-heading,.about-grid,.spotlight-intro,.code-section{grid-template-columns:1fr;gap:28px}.experience-cards,.screenshot-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr;gap:7px}.hero-foot,.project-end,.footer-inner{flex-direction:column;align-items:flex-start}.section{padding:72px 0}}@media(max-width:560px){.container{width:min(calc(100% - 28px),var(--max))}.wordmark{font-size:.9rem}nav a{font-size:.78rem}.hero h1{font-size:3.25rem}.section h2{font-size:2.65rem}.section{padding:60px 0}.project{padding:24px}}

/* Simplified portfolio refinements */
.simplified-hero{min-height:78vh;padding-top:105px}.name-hero{font-size:clamp(4.7rem,10vw,9rem)!important;line-height:.82!important;max-width:1050px!important}.hero-role{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.35rem,2.5vw,2rem);margin:30px 0 0}.simplified-hero .hero-intro{max-width:720px;margin-top:18px}.simplified-hero .hero-foot{margin-top:64px;padding-top:0}.about-simple h2{max-width:520px}.contact-simple{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-simple .about-text{align-self:end}@media(max-width:850px){.contact-simple{grid-template-columns:1fr;gap:28px}.name-hero{font-size:clamp(4rem,18vw,6.2rem)!important}}@media(max-width:560px){.name-hero{font-size:3.8rem!important}.hero-role{font-size:1.2rem}}

/* Two-project portfolio */
section[id],article[id],div[id]{scroll-margin-top:110px}
.project-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0 0 72px}
.project-summary{display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid var(--line);background:var(--cream);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}
.project-summary:hover{border-color:var(--accent);transform:translateY(-3px)}
.project-summary h3,.project-title h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em;font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin:0 0 16px}
.project-summary h3{font-size:2rem}.project-summary p{color:var(--muted);margin:0 0 24px}.project-summary .project-index{margin-bottom:20px}.summary-link{margin-top:auto;color:var(--accent);font-size:.86rem;font-weight:700}
.project-title{margin-bottom:38px;max-width:800px}.project-title>p{color:var(--muted);max-width:720px}.project-subtitle{font-size:1.18rem}
.patchteam-project{margin-top:100px;padding-top:80px;border-top:2px solid var(--ink)}
.pipeline-panel small{display:block;font-weight:400;color:var(--muted);margin-top:4px;font-size:.82rem}
.project-details{margin-top:36px;border:1px solid var(--line);background:var(--cream)}.project-details summary{padding:20px 24px;cursor:pointer;font-weight:700}.details-body{padding:0 24px 14px;max-width:920px}.details-body p{color:#45413c;font-size:.94rem}
.screenshot-placeholder{min-height:270px;background:var(--cream);border:1px dashed #b7ad9d;padding:26px;display:flex;flex-direction:column;align-items:flex-start}.screenshot-placeholder .project-index{margin-bottom:20px}.screenshot-placeholder strong{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:1.45rem;line-height:1.15}.screenshot-placeholder p{font-size:.88rem;color:var(--muted)}.placeholder-status{margin-top:auto;border-top:1px solid var(--line);width:100%;padding-top:14px;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.patchteam-project .code-section{margin-top:55px;padding-top:50px}.patchteam-gallery{margin-top:65px}
@media(max-width:850px){.project-directory{grid-template-columns:1fr;margin-bottom:50px}.patchteam-project{margin-top:70px;padding-top:55px}.screenshot-placeholder{min-height:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-summary{transition:none}.project-summary:hover{transform:none}}

/* Preserve full report excerpts and allow enlargement. */
.patchteam-screenshots img{aspect-ratio:auto;object-fit:contain;background:#fff}
.patchteam-screenshots a{display:block}
