:root{--bg:#f8f9f5;--surface:#fff;--surface-soft:#edf1eb;--ink:#1d302d;--muted:#586561;--line:#d6dfd7;--accent:#00645b;--accent-soft:#dce8dd;--serif:Georgia,"Times New Roman",serif;color-scheme:light}:root[data-theme=dark]{--bg:#142320;--surface:#1c2e2a;--surface-soft:#1a2b27;--ink:#f1f4eb;--muted:#b3c4ba;--line:#3c5048;--accent:#a5d5bc;--accent-soft:#294b3c;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{-webkit-font-smoothing:antialiased;background:#f8f9f5;background:var(--bg);color:#1d302d;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;margin:0}a{text-decoration:none}a,button{color:inherit}button{cursor:pointer;font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,input{font-family:inherit}button{border:0}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #00645b;outline:3px solid var(--accent);outline-offset:5px}[tabindex="-1"]:focus{outline:none}::selection{background:#00645b;color:#fff}img{display:block;max-width:100%}figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2{letter-spacing:-.045em;line-height:1.09}h2{font-size:clamp(2.25rem,4.4vw,3.8rem)}em{color:#00645b;color:var(--accent);font-family:Georgia,Times New Roman,serif;font-family:var(--serif);font-weight:400;letter-spacing:-.055em}.container{margin-inline:auto;width:min(1200px,calc(100% - 96px))}.section{padding-block:100px}.eyebrow{font-size:.69rem;font-weight:650;letter-spacing:.15em;line-height:1.6;text-transform:uppercase}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background:#1d302d;background:var(--ink);color:#fff;color:var(--surface);left:16px;padding:12px 20px;position:fixed;top:-100px;z-index:100}.skip-link:focus{top:12px}.site-header{background:#f8f9f5;background:var(--bg);border-bottom:1px solid #d6dfd7;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{gap:30px;min-height:86px}.brand,.header-inner{align-items:center;display:flex}.brand{font-size:.9rem;font-weight:600;gap:13px;white-space:nowrap}.monogram{font-size:2.15rem;font-weight:750;letter-spacing:-.12em;line-height:1}.monogram span{color:#00645b;color:var(--accent)}.primary-nav{align-items:center;display:flex;font-size:.82rem;gap:35px;margin-left:auto}.primary-nav a{align-items:center;display:inline-flex;gap:14px;min-height:44px}.primary-nav a:hover{color:#00645b;color:var(--accent)}.header-controls{align-items:center;display:flex;gap:12px}.icon-button,.theme-button{align-items:center;background:#0000;border:1px solid #d6dfd7;border:1px solid var(--line);border-radius:50%;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.icon-button:hover,.theme-button:hover{background:#dce8dd;background:var(--accent-soft)}.theme-button svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;height:18px;width:18px}.menu-button{display:none}.hero{grid-column-gap:60px;align-items:center;column-gap:60px;display:grid;grid-template-columns:1.5fr 1fr;padding-top:74px}.hero-copy>.eyebrow{align-items:center;display:flex;gap:12px;margin-bottom:24px}.eyebrow-line{background:#00645b;background:var(--accent);display:inline-block;height:1px;width:25px}h1{font-size:clamp(3rem,5.5vw,4.8rem)}.hero-intro{color:#586561;color:var(--muted);font-size:1.03rem;line-height:1.8;margin-top:25px;max-width:490px}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:30px;margin-top:32px}.button{align-items:center;border-radius:5px;display:inline-flex;font-size:.84rem;font-weight:600;gap:28px;justify-content:space-between;min-height:50px;padding:13px 23px;transition:transform .18s,background-color .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:#00645b;background:var(--accent);color:#f8f9f5;color:var(--bg)}.text-link{align-items:center;background:#0000;border-bottom:1px solid #d6dfd7;border-bottom:1px solid var(--line);display:inline-flex;font-size:.83rem;font-weight:600;gap:18px;min-height:44px;padding:5px 0}.text-link:hover{border-color:#00645b;border-color:var(--accent);color:#00645b;color:var(--accent)}.hero-footnote{color:#586561;color:var(--muted);font-size:.73rem;margin-top:24px}.portrait{background:#dce7db;border-radius:160px 160px 8px 8px;height:462px;isolation:isolate;overflow:hidden;position:relative}.portrait img{height:100%;object-fit:cover;object-position:center top;padding-top:24px;position:relative;width:100%;z-index:1}.portrait-orbit{border:1px solid #8cac98;border-radius:50%;height:370px;left:-90px;position:absolute;top:60px;width:370px}.portrait-cross{color:#416953;font-size:29px;font-weight:300;position:absolute;right:27px;top:130px;z-index:2}.portrait figcaption{align-items:center;background:#f8faf3ed;border:1px solid #e5ece0;border-radius:4px;bottom:20px;color:#213c31;display:flex;font-size:.73rem;gap:9px;left:20px;padding:13px 16px;position:absolute;right:20px;z-index:2}.portrait-dot{background:#00645b;border-radius:50%;height:6px;width:6px}.experience-strip{grid-gap:25px;border-block:1px solid #d6dfd7;border-block:1px solid var(--line);display:grid;gap:25px;grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin-top:65px;padding:26px 0}.experience-strip p{font-size:.8rem}.experience-strip span{color:#586561;color:var(--muted);display:block;font-size:.6rem;letter-spacing:.15em;margin-bottom:5px}.section-heading{align-items:flex-end;display:flex;gap:50px;justify-content:space-between;margin-bottom:44px}.about-grid .eyebrow,.section-heading .eyebrow{margin-bottom:21px}.section-heading>p{color:#586561;color:var(--muted);font-size:.92rem;line-height:1.8;max-width:315px}.project-grid{grid-gap:35px;display:grid;gap:35px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{min-width:0}.project-image{align-items:center;aspect-ratio:1.53;border-radius:8px;display:flex;justify-content:center;overflow:hidden;padding:30px;position:relative;transition:background-color .2s;width:100%}.project-image-0{background:#dfe7d7}.project-image-1{background:#e9e5de}.project-image-2{background:#dce7e5}.project-image img{filter:drop-shadow(0 8px 10px #182d2115);height:100%;object-fit:contain;transition:transform .25s;width:100%}.project-image:hover img{transform:scale(1.025)}.image-open{background:#fff;border-radius:50%;bottom:15px;color:#1d302d;display:grid;height:35px;place-items:center;position:absolute;right:15px;width:35px}.project-copy{padding:23px 1px 0}.project-copy>.eyebrow{color:#00645b;color:var(--accent);margin-bottom:12px}.project-copy h3{font-size:clamp(1.45rem,2.5vw,2rem);letter-spacing:-.03em;line-height:1.2}.project-summary{color:#586561;color:var(--muted);font-size:.88rem;margin-top:14px;max-width:460px}.tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:21px 0 17px;padding:0}.tags li{border:1px solid #d6dfd7;border:1px solid var(--line);border-radius:4px;color:#586561;color:var(--muted);font-size:.65rem;padding:4px 10px}.project-featured{grid-gap:45px;align-items:center;display:grid;gap:45px;grid-column:1/-1;grid-template-columns:1.22fr 1fr;padding-bottom:14px}.project-featured .project-image{aspect-ratio:1.36;padding:33px}.project-featured .project-copy{padding:10px 15px 10px 0}.project-featured h3{font-size:clamp(1.8rem,3.2vw,2.65rem)}.more-work-heading{align-items:center;border-top:1px solid #d6dfd7;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;margin-top:40px;padding-top:24px}.more-work-heading p{color:#586561;color:var(--muted);font-size:.85rem}.more-projects{margin-top:35px}[hidden]{display:none!important}.about-section{background:#edf1eb;background:var(--surface-soft)}.about-grid{grid-gap:80px;display:grid;gap:80px;grid-template-columns:1fr 1fr}.about-copy>p{color:#586561;color:var(--muted);font-size:.93rem;line-height:1.85;margin-bottom:20px}.about-copy>.about-lead{color:#1d302d;color:var(--ink);font-size:1.12rem;line-height:1.7}.about-copy>.personal-note{font-family:Georgia,Times New Roman,serif;font-family:var(--serif);font-style:italic}.skills-grid{grid-gap:40px;border-top:1px solid #d6dfd7;border-top:1px solid var(--line);display:grid;gap:40px;grid-template-columns:repeat(3,1fr);margin-top:60px;padding-top:32px}.skill-number{color:#00645b;color:var(--accent);font-family:Georgia,Times New Roman,serif;font-family:var(--serif);font-size:1.2rem;font-style:italic}.skill-column h3{font-size:.96rem;font-weight:600;margin:12px 0 16px}.skill-column ul{color:#586561;color:var(--muted);font-size:.79rem;line-height:2;list-style:none;margin:0;padding:0}.contact-panel{align-items:center;background:#064c44;border-radius:10px;color:#f4f8ed;display:flex;gap:40px;justify-content:space-between;padding:58px}.contact-panel .eyebrow{color:#b3d6bc;margin-bottom:22px}.contact-panel h2{font-size:clamp(2.05rem,3.6vw,3.1rem)}.contact-panel em{color:#c6ddb1}.contact-panel h2+p{color:#c3d5cd;font-size:.9rem;margin-top:23px}.contact-actions{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0}.button-light{background:#e8f0d7;color:#174b37;min-width:205px}.contact-email{font-size:.8rem;margin-top:18px;overflow-wrap:anywhere}.contact-linkedin{color:#c3d5cd;font-size:.75rem;margin-top:18px;padding-block:10px;text-decoration:underline;text-underline-offset:5px}.contact-panel a:focus-visible{outline-color:#e8f0d7}.site-footer{align-items:center;display:flex;font-size:.76rem;gap:20px;justify-content:space-between;padding-block:0 32px}.site-footer p{color:#586561;color:var(--muted)}.site-footer a{padding-block:10px}.footer-name{font-weight:600}.project-dialog{background:#f8f9f5;background:var(--bg);border:1px solid #d6dfd7;border:1px solid var(--line);border-radius:14px;color:#1d302d;color:var(--ink);max-height:calc(100dvh - 40px);overscroll-behavior:contain;padding:32px;width:min(1000px,calc(100% - 32px))}.project-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#102520cc}.dialog-heading{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:12px}.dialog-heading h2{font-size:clamp(1.6rem,3.6vw,2.6rem);padding-top:5px}.dialog-heading .icon-button{font-size:1.7rem}.project-dialog>.eyebrow{color:#586561;color:var(--muted);margin-bottom:26px}.case-gallery{background:#e4e9df;border-radius:7px;display:flex;justify-content:center;padding:16px}.case-gallery img{height:auto;max-height:60vh;object-fit:contain;width:auto}.gallery-controls{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-top:12px}.gallery-controls p{color:#586561;color:var(--muted);font-size:.75rem}.gallery-controls>div{display:flex;flex-shrink:0;gap:8px}.case-details{grid-gap:28px;border-top:1px solid #d6dfd7;border-top:1px solid var(--line);display:grid;gap:28px;grid-template-columns:1fr 1.4fr 1fr;margin-top:25px;padding-top:25px}.case-details h3{font-size:.9rem;font-weight:650;margin-bottom:10px}.case-details p{color:#586561;color:var(--muted);font-size:.86rem}@media (min-width:1400px){.hero{column-gap:90px}}@media (max-width:1000px){.container{width:calc(100% - 64px)}.hero{column-gap:32px;grid-template-columns:1.3fr 1fr}.portrait{height:415px}.hero-actions{gap:18px}.project-featured{gap:28px}.about-grid{gap:40px}.contact-panel{padding:40px}.primary-nav{gap:24px}}@media (max-width:760px){html{scroll-padding-top:95px}.container{width:calc(100% - 40px)}.header-inner{gap:15px;min-height:74px}.header-controls{margin-left:auto}.brand{font-size:.8rem;gap:9px}.monogram{font-size:1.9rem}.theme-button{height:40px;width:40px}.menu-button{align-items:center;background:#0000;display:inline-flex;font-size:.8rem;gap:8px;min-height:44px;padding:0}.primary-nav{background:#f8f9f5;background:var(--bg);border-bottom:1px solid #d6dfd7;border-bottom:1px solid var(--line);display:none;left:0;margin:0;padding:12px 20px 20px;position:absolute;right:0;top:100%}.primary-nav.is-open{align-items:stretch;display:flex;flex-direction:column;gap:4px}.primary-nav a{justify-content:space-between;padding:8px 0}.hero{grid-template-columns:1fr;padding-top:48px;row-gap:36px}h1{font-size:clamp(2.75rem,8.6vw,4.3rem)}.hero-copy>.eyebrow{font-size:.59rem;gap:8px;margin-bottom:22px}.hero-intro{font-size:1rem;margin-top:22px}.hero-actions{gap:24px;margin-top:26px}.hero-footnote{margin-top:18px}.portrait{border-radius:140px 140px 8px 8px;height:390px;justify-self:center;width:min(100%,440px)}.portrait img{object-fit:cover;object-position:center 13%}.experience-strip{gap:16px;grid-template-columns:1fr;margin-top:0;padding-block:24px}.experience-strip p{grid-gap:10px;display:grid;font-size:.75rem;gap:10px;grid-template-columns:105px 1fr}.experience-strip span{margin:0;padding-top:3px}.section{padding-block:64px}.section-heading{align-items:flex-start;flex-direction:column;gap:23px;margin-bottom:30px}.section-heading>p{max-width:420px}.project-grid{gap:40px;grid-template-columns:1fr}.project-featured{display:block;padding:0}.project-featured .project-image,.project-image{aspect-ratio:1.4;padding:24px}.project-copy,.project-featured .project-copy{padding:23px 0 0}.project-copy h3,.project-featured h3{font-size:1.75rem}.more-work-heading{align-items:flex-start;flex-direction:column;gap:7px;margin-top:32px}.about-grid{gap:30px;grid-template-columns:1fr}.desktop-break{display:none}.skills-grid{gap:28px;grid-template-columns:1fr;margin-top:36px;padding-top:28px}.skill-column{padding-left:40px;position:relative}.skill-number{left:0;position:absolute;top:0}.skill-column h3{margin:3px 0 9px}.contact-panel{align-items:flex-start;flex-direction:column;gap:30px;padding:33px 25px}.contact-panel h2{font-size:clamp(1.9rem,7.3vw,2.8rem)}.site-footer{flex-wrap:wrap;font-size:.72rem;gap:5px 18px;padding-bottom:23px}.site-footer p{order:3;width:100%}.project-dialog{max-height:calc(100dvh - 24px);padding:20px;width:calc(100% - 20px)}.case-details{gap:20px;grid-template-columns:1fr}.case-gallery{padding:8px}.gallery-controls{align-items:flex-start}}@media (max-width:360px){.container{width:calc(100% - 32px)}.brand>span:last-child{font-size:.7rem}.header-controls{gap:8px}.hero-actions{gap:12px}.button{gap:16px;padding-inline:16px}.contact-panel{padding-inline:21px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}
/*# sourceMappingURL=main.5c3daf9a.css.map*/