:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}:root{--paper: #f3f0e9;--paper-deep: #e6e0d5;--ink: #151713;--muted: #65675f;--accent: #c44b2b;--dark: #171915;--dark-muted: #b9baaf;--line: rgba(21, 23, 19, .18);--content: 1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-linecap:square;stroke-width:1.6}.site-shell{overflow:hidden}.site-header,.hero,.proof-strip,.section,.credentials,.contact-section,footer{width:min(calc(100% - 48px),var(--content));margin-inline:auto}.site-header{min-height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}.wordmark{width:fit-content;color:var(--ink);font-family:Arial Narrow,Helvetica Neue,Arial,sans-serif;font-size:.84rem;font-weight:800;letter-spacing:.12em;text-decoration:none}.wordmark span{color:var(--accent)}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a,.print-button{color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.site-header nav a{transition:color .16s ease}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--accent)}.print-button{justify-self:end;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;cursor:pointer}.hero{min-height:670px;display:flex;flex-direction:column;justify-content:space-between;padding:86px 0 72px}.hero-kicker,.eyebrow,.section-heading>p{margin:0;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero-kicker{display:flex;align-items:center;gap:.65rem}.status-dot{width:8px;height:8px;display:inline-block;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px #c44b2b1f}.hero h1{max-width:1020px;margin:48px 0 54px;font-family:Georgia,Times New Roman,serif;font-size:clamp(4rem,8.7vw,8rem);font-weight:400;letter-spacing:-.065em;line-height:.88}.hero h1 em{color:var(--accent);font-weight:400}.hero-bottom{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:clamp(3rem,9vw,9rem);align-items:end}.hero-bottom>p{max-width:750px;margin:0;color:#35372f;font-size:clamp(1.08rem,2vw,1.45rem);line-height:1.55}.hero-actions{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.primary-link,.contact-section>a{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:210px;padding:1rem 1.1rem;background:var(--ink);color:var(--paper);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:transform .16s ease,background .16s ease}.primary-link:hover,.primary-link:focus-visible,.contact-section>a:hover,.contact-section>a:focus-visible{background:var(--accent);transform:translateY(-2px)}.text-link{color:var(--muted);font-size:.82rem;font-weight:700;text-underline-offset:.22em}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-strip>div{min-height:145px;display:flex;flex-direction:column;justify-content:space-between;padding:24px 28px 22px 0}.proof-strip>div+div{padding-left:28px;border-left:1px solid var(--line)}.proof-strip strong{font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:400;letter-spacing:-.04em}.proof-strip span{max-width:170px;color:var(--muted);font-size:.77rem;line-height:1.45}.section{padding:132px 0}.section-heading{display:grid;grid-template-columns:.65fr 1.35fr;gap:3rem;margin-bottom:76px}.section-heading h2,.credentials h2,.contact-section h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.8rem,5.2vw,5.35rem);font-weight:400;letter-spacing:-.055em;line-height:.95}.experience-list{border-top:1px solid var(--line)}.experience-item{display:grid;grid-template-columns:.65fr 1.35fr;gap:3rem;padding:42px 0 52px;border-bottom:1px solid var(--line)}.period{margin:0;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem}.experience-content h3,.project-card h3,.skill-row h3,.credential-list h3{margin:0;font-size:1.15rem;line-height:1.25}.company{margin:.45rem 0 1.8rem;color:var(--accent);font-size:.82rem;font-weight:700}.job-summary{max-width:720px;margin:0 0 1.6rem;color:#30322c;font-size:1.04rem;line-height:1.6}.experience-content ul{max-width:780px;margin:0;padding:0;list-style:none}.experience-content li{position:relative;padding:.48rem 0 .48rem 1.35rem;color:var(--muted);font-size:.94rem;line-height:1.55}.experience-content li:before{position:absolute;top:1.05rem;left:0;width:5px;height:5px;background:var(--accent);content:""}.work-section{position:relative;width:100%;max-width:none;padding-inline:max(24px,calc((100vw - var(--content)) / 2));background:var(--dark);color:#f1eee6}.section-heading.inverse>p{color:#e77d60}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.project-card{min-height:360px;display:flex;flex-direction:column;padding:30px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.project-number{margin-bottom:auto;color:#e77d60;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.project-card h3{margin-top:4rem;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:400;letter-spacing:-.035em}.project-card>p{max-width:500px;margin:1rem 0 2rem;color:var(--dark-muted);line-height:1.6}.project-card ul{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.project-card li{padding:.42rem .6rem;border:1px solid rgba(255,255,255,.22);color:#d5d5cb;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}.skills-list{border-top:1px solid var(--line)}.skill-row{display:grid;grid-template-columns:.65fr 1.35fr;gap:3rem;align-items:start;padding:31px 0;border-bottom:1px solid var(--line)}.skill-row h3{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:400}.skill-row ul{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin:0;padding:0;list-style:none}.skill-row li{color:var(--muted);font-size:.93rem}.credentials{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,8rem);padding:110px 0;border-top:1px solid var(--line)}.credentials h2{margin-top:1.25rem;font-size:clamp(2.55rem,4.4vw,4.3rem)}.credential-list article{display:grid;grid-template-columns:80px 1fr;gap:1.5rem;padding:28px 0;border-bottom:1px solid var(--line)}.credential-list article:first-child{border-top:1px solid var(--line)}.credential-list span{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem}.credential-list p{margin:.4rem 0 0;color:var(--muted);font-size:.85rem}.contact-section{width:100%;max-width:none;padding:112px max(24px,calc((100vw - var(--content)) / 2));background:var(--accent);color:#fff7ef}.contact-section>p{margin:0 0 2rem;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.contact-section h2{max-width:1000px;margin-bottom:3rem}.contact-section>a{background:#fff7ef;color:var(--ink)}.contact-section>a:hover,.contact-section>a:focus-visible{background:var(--ink);color:#fff7ef}footer{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:2rem;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (max-width: 900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{min-height:auto;padding:68px 0 60px}.hero h1{margin-top:70px}.hero-bottom,.section-heading,.experience-item,.skill-row,.credentials{grid-template-columns:1fr}.hero-bottom{gap:2.5rem}.proof-strip{grid-template-columns:repeat(2,1fr)}.proof-strip>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.proof-strip>div:nth-child(4){border-top:1px solid var(--line)}.section-heading,.experience-item,.skill-row{gap:1.5rem}.project-card{min-height:380px}}@media (max-width: 640px){.site-header,.hero,.proof-strip,.section,.credentials,footer{width:min(calc(100% - 32px),var(--content))}.site-header{min-height:68px}.print-button{font-size:.67rem}.hero{padding-top:48px}.hero h1{margin:62px 0 44px;font-size:clamp(3.25rem,17vw,5rem)}.hero-bottom>p{font-size:1rem}.proof-strip{grid-template-columns:1fr}.proof-strip>div,.proof-strip>div+div{min-height:112px;padding:21px 0;border-left:0;border-top:1px solid var(--line)}.proof-strip>div:first-child{border-top:0}.section{padding:94px 0}.section-heading{margin-bottom:54px}.section-heading h2,.contact-section h2{font-size:clamp(2.65rem,14vw,4rem)}.experience-item{padding:34px 0 42px}.project-grid{grid-template-columns:1fr}.project-card{min-height:340px;padding:24px}.project-card h3{margin-top:3rem}.skills-section{padding-bottom:80px}.skill-row ul{gap:.6rem 1rem}.credentials{padding:84px 0}.credential-list article{grid-template-columns:64px 1fr}.contact-section{padding-top:84px;padding-bottom:84px}footer{min-height:140px;flex-direction:column;justify-content:center;align-items:flex-start;gap:.4rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}@media print{:root{--paper: #fff;--ink: #000;--muted: #333;--accent: #000;--line: rgba(0, 0, 0, .24)}.site-header,.hero-actions,.contact-section,footer{display:none}.hero,.proof-strip,.section,.credentials{width:100%}.hero{min-height:auto;padding:24px 0 36px}.hero h1{max-width:850px;margin:30px 0;font-size:4.5rem}.section{padding:48px 0}.work-section{padding-inline:0;background:#fff;color:#000}.project-grid,.project-card{border-color:#0000003d}.project-card{min-height:0;break-inside:avoid}.project-card>p,.project-number,.project-card li,.section-heading.inverse>p{color:#333}.project-card li{border-color:#0000004d}.experience-item,.skill-row,.credential-list article{break-inside:avoid}}
