:root{color-scheme:light;--sans:"Avenir Next", "Segoe UI", system-ui, sans-serif;--serif:"Iowan Old Style", Palatino, Georgia, serif;--bg:#faf4e9;--text:#244c49;--muted:#62665c;--terra:#a0442c;--panel:#fffaf2;--peach:#f4d7c5;--mint:#d9e9df;--line:#d9ddd0;--shadow:0 16px 45px #55402b0c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#142c2b;--text:#f5eee1;--muted:#c4cbbd;--terra:#ffb295;--panel:#203b38;--peach:#553a31;--mint:#2b4f46;--line:#49605a;--shadow:0 16px 45px #00000020}}:root[data-theme=dark]{color-scheme:dark;--bg:#142c2b;--text:#f5eee1;--muted:#c4cbbd;--terra:#ffb295;--panel:#203b38;--peach:#553a31;--mint:#2b4f46;--line:#49605a;--shadow:0 16px 45px #00000020}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scroll-padding-top:2rem}body{color:var(--text);background:radial-gradient(ellipse at 0 10%, var(--peach), transparent 38%), var(--bg);font:1rem/1.7 var(--sans);margin:0}h1,h2,h3,p,ul{margin-top:0}h1,h2,h3{font-weight:700;line-height:1.15}a{color:var(--terra);text-underline-offset:.25em;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--terra);outline-offset:5px}.skip{background:var(--panel);z-index:10;border-radius:1rem;padding:.6rem 1rem;position:absolute;top:.5rem;left:1rem;transform:translateY(-160%)}.skip:focus{transform:none}.wrap{width:min(1180px,100% - 4rem);margin-inline:auto}.site-header{padding-block:1.5rem}.site-header .wrap{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.brand,nav a,.contact a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.brand{color:var(--text);letter-spacing:-.045em;font-size:1.2rem;font-weight:800;text-decoration:none}.brand:before{content:"";background:var(--terra);border-radius:45% 55% 35% 65%;width:.8rem;height:.8rem;margin-right:.65rem;display:inline-block;transform:rotate(-20deg)}.header-tools,nav{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.header-tools{gap:1rem}nav{background:var(--panel);box-shadow:var(--shadow);border-radius:999px;padding:.25rem}nav a{color:var(--text);border-radius:999px;padding:.45rem .95rem;font-size:.9rem;font-weight:600;text-decoration:none}nav a:hover{background:var(--mint)}button{border:1px solid var(--line);background:var(--text);min-height:44px;color:var(--bg);font:600 .9rem var(--sans);cursor:pointer;border-radius:999px;padding:.5rem 1.1rem}button:hover{opacity:.85}main{padding-block:3rem 5rem}.intro-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:4rem;display:grid}.hero{isolation:isolate;padding-block:3rem;position:relative}.hero:before{content:"";z-index:-1;background:linear-gradient(130deg, var(--peach), transparent 80%);border-radius:45% 55% 62% 38%/60% 38% 62% 40%;width:85%;height:95%;position:absolute;top:0;left:-8%;transform:rotate(-12deg)}.marks{align-items:center;gap:.5rem;margin-bottom:2rem;display:flex}.marks span{background:var(--terra);border-radius:50%;width:2.5rem;height:2.5rem;display:block}.marks span:nth-child(2){background:var(--text);border-radius:50% 50% 15%;transform:rotate(20deg)}.marks span:nth-child(3){background:var(--mint);width:1.3rem;height:1.3rem}.eyebrow{border:1px solid var(--terra);color:var(--terra);letter-spacing:.06em;border-radius:999px;margin-bottom:1.2rem;padding:.4rem .9rem;font-size:.78rem;font-weight:700;display:inline-block}h1{letter-spacing:-.075em;max-width:8ch;margin-bottom:1.5rem;font-size:clamp(4rem,7.5vw,6.5rem);line-height:.98}.tagline{max-width:26ch;font-family:var(--serif);margin-bottom:0;font-size:clamp(1.4rem,2.4vw,1.9rem);font-style:italic;line-height:1.4}h2{letter-spacing:-.04em;margin-bottom:1.5rem;font-size:2rem}.about-card{background:linear-gradient(145deg, var(--panel) 40%, var(--mint));box-shadow:var(--shadow);border-radius:3rem 3rem 3rem .8rem;padding:2.5rem;position:relative}.about-card h2{font-family:var(--serif);font-style:italic;font-weight:500}.about-panel>p{color:var(--muted)}.roles,.tags,.skills,.contact{padding:0;list-style:none}.roles{margin-bottom:0}.roles li{border-top:1px solid var(--line);padding:1.2rem 0 1.2rem 1.5rem;position:relative}.roles li:last-child{padding-bottom:0}.roles li:before{content:"";background:var(--terra);border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:1.65rem;left:0}.roles h3{margin-bottom:.25rem;font-size:1rem;line-height:1.5}.dates{color:var(--muted);margin:0;font-size:.85rem}#projects{margin-top:5.5rem}#projects>h2{align-items:center;gap:1.5rem;display:flex}#projects>h2:after{content:"";background:var(--line);flex:1;height:1px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.project{background:var(--panel);box-shadow:var(--shadow);border-radius:2.5rem;flex-direction:column;padding:2.5rem;display:flex}.project:first-child{background:linear-gradient(145deg, var(--mint), var(--panel))}.project:last-child{background:linear-gradient(115deg, var(--peach), var(--panel));grid-column:1/-1;grid-template-columns:1fr 1.3fr;column-gap:3rem;display:grid}.project:last-child .num,.project:last-child h3,.project:last-child .tags{grid-column:1}.project:last-child .points{grid-area:1/2/4;align-self:center}.project:last-child>p:last-child{grid-column:2}.num{background:var(--text);width:3rem;height:3rem;color:var(--bg);font-family:var(--serif);border-radius:50%;place-items:center;margin-bottom:1.5rem;font-size:1.2rem;font-style:italic;display:grid}.project h3{letter-spacing:-.035em;font-size:clamp(1.4rem,2.5vw,1.9rem)}.tags,.skills{flex-wrap:wrap;gap:.5rem;display:flex}.tags li,.skills li{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:.35rem .85rem;font-size:.8rem}.points{padding-left:1.1rem;font-size:.95rem}.points li{margin-bottom:.65rem;padding-left:.25rem}.points li::marker{color:var(--terra)}.project>p:last-child{margin-top:auto;margin-bottom:0;padding-top:1rem}.project a{font-size:.9rem;font-weight:700}.closing-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;margin-top:4rem;display:grid}#skills{padding:2rem 0}.skills li{background:var(--mint);border:0;padding:.6rem 1.1rem;font-size:1rem}#contact{background:var(--mint);border-radius:2.5rem .8rem 2.5rem 2.5rem;padding:2rem 2.5rem}#contact h2{font-family:var(--serif);font-style:italic;font-weight:500}.contact{flex-wrap:wrap;gap:.65rem 1.5rem;margin-bottom:0;display:flex}.contact li:first-child{width:100%}.contact a{font-size:.95rem;font-weight:600}.site-footer{color:var(--muted);padding-block:1.5rem 2.5rem}.site-footer .wrap{border-top:1px solid var(--line);padding-top:1.5rem}.site-footer p{margin:0;font-size:.85rem}.missing{min-height:60vh}.missing h1{max-width:none;font-size:clamp(2.5rem,6vw,4rem)}@media (width<=900px){.intro-grid{gap:2rem}.about-card,.project{padding:1.75rem}.site-header .wrap{flex-wrap:wrap}.project:last-child{display:flex}}@media (width<=650px){.wrap{width:calc(100% - 2rem)}.site-header{padding-block:1rem}.site-header .wrap{gap:.8rem}.header-tools{justify-content:space-between;gap:.5rem;width:100%}nav{gap:0}nav a{padding:.5rem .6rem;font-size:.8rem}button{padding-inline:.8rem}main{padding-top:1rem}.intro-grid,.project-list,.closing-grid{grid-template-columns:1fr}.hero{padding:2rem 1rem}h1{font-size:clamp(3.5rem,16vw,5rem)}.about-card{border-radius:2rem 2rem 2rem .8rem}#projects{margin-top:3rem}.project{border-radius:2rem}.closing-grid{gap:1rem;margin-top:2rem}#contact{padding:2rem}}@media (forced-colors:active){.project,.about-card,#contact,nav,.tags li,.skills li,button{border:1px solid canvastext}}
