@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101214;--fg:#f3f4f0;--muted:#a7aaa8;--accent:#b6f36c;--border:#303437;--heading:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--fg);font:1rem/1.7 var(--body)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}.header{display:flex;justify-content:space-between;align-items:center;padding-block:30px;border-bottom:1px solid var(--border)}.brand{font:700 1.8rem var(--heading);letter-spacing:-.06em}.brand span{color:var(--accent)}nav{display:flex;gap:32px;font-size:.94rem}nav a:hover,.text-link:hover,.footer>a:last-child:hover{color:var(--accent)}.hero{padding-top:88px;padding-bottom:26px}.eyebrow,.section-number,.hero-meta,.visual-top{font-size:.875rem;letter-spacing:.1em;line-height:1.5}.eyebrow{display:flex;gap:12px;align-items:center;color:var(--muted)}.line{width:28px;height:2px;background:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);line-height:1.08;font-weight:500;letter-spacing:-.055em}h1{font-size:clamp(2.8rem,6.4vw,5.6rem);margin-block:30px 38px}h1 span{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px}.hero-bottom p{max-width:530px;color:var(--muted);font-size:1.125rem}.button{display:inline-flex;min-height:54px;justify-content:center;align-items:center;padding:12px 26px;background:var(--accent);color:#14210b;font-weight:700;white-space:nowrap;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#cdfc96;transform:translateY(-2px)}.hero-meta{display:flex;gap:32px;flex-wrap:wrap;color:var(--muted);margin-top:66px;padding-block:22px;border-block:1px solid var(--border)}.projects{padding-block:80px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}.section-heading h2{font-size:2rem;letter-spacing:-.04em}.section-number{color:var(--muted)}.project{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--border);border-radius:8px;overflow:hidden}.project-visual{background:#b6f36c;color:#172311;min-height:380px;padding:32px;display:flex;flex-direction:column;justify-content:space-between}.visual-top{display:flex;justify-content:space-between;font-weight:600;gap:12px}.visual-title{font:500 clamp(3rem,5vw,4.6rem)/1 var(--heading);letter-spacing:-.055em;margin-block:44px}.visual-title span{color:#315317}.visual-bottom{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid #638c43;padding-top:18px;font-size:.875rem}.project-copy{padding:42px 38px;display:flex;flex-direction:column;justify-content:center}.project-copy .eyebrow{font-size:.875rem;letter-spacing:.05em}.project-copy h3{font-size:2.4rem;margin-block:18px 20px}.project-copy p{color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-block:24px 30px}.tags span{border:1px solid #414645;border-radius:3px;padding:3px 10px;font-size:.875rem;color:#c6cac6}.text-link{font-weight:600;text-decoration:underline;text-underline-offset:6px}.external-label{font-size:.875rem;font-weight:400;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:72px;border-top:1px solid var(--border);padding-block:76px 90px}.about h2{font-size:clamp(2.5rem,4vw,3.6rem);margin-top:28px}.about-copy p{color:var(--muted);font-size:1.1rem;margin-bottom:20px}.about-note{border-left:2px solid var(--accent);padding-left:22px;margin-top:32px}.about-note span{display:block;color:var(--muted);font-size:.875rem;margin-bottom:8px}.about-note strong{font:500 1.5rem/1.4 var(--heading)}.contact{border-block:1px solid var(--border);padding-block:40px 56px}.contact-row{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:20px}.contact h2{font-size:clamp(3.5rem,7vw,6rem)}.contact p{color:var(--muted);margin-top:20px}.button-light{background:var(--fg);color:var(--bg)}.button-light:hover{background:var(--accent)}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:32px;color:var(--muted);font-size:.875rem}.footer .brand{font-size:1.5rem;color:var(--fg)}.skip-link{position:absolute;top:-100px;left:16px;background:var(--accent);color:#101214;padding:12px;z-index:10}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.wrap{width:calc(100% - 48px)}.hero{padding-top:56px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:24px}.hero-meta{gap:14px 24px;margin-top:42px}.projects{padding-block:52px}.project{grid-template-columns:1fr}.project-visual{min-height:320px}.project-copy{padding:30px}.about{grid-template-columns:1fr;gap:32px;padding-block:52px}.contact-row{align-items:flex-start;flex-direction:column}.section-number{font-size:.875rem;letter-spacing:.03em}}
@media(max-width:480px){.wrap{width:calc(100% - 36px)}.header{padding-block:22px}nav{gap:18px;font-size:.875rem}.brand{font-size:1.5rem}h1{font-size:2.65rem}.hero-bottom p{font-size:1rem}.hero-meta{font-size:.875rem;letter-spacing:.04em}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.project-visual{padding:24px}.visual-top{font-size:.875rem;letter-spacing:.03em}.project-copy{padding:28px 24px}.project-copy h3{font-size:2rem}.about-copy p{font-size:1rem}.footer{flex-wrap:wrap}.contact{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.secondary-project{margin-top:24px}.steel{background:#cad7e2;color:#192b38}.steel .visual-title span{color:#365a73}.steel .visual-bottom{border-color:#8dabbf}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;margin-top:24px}.contact-grid h2{font-size:clamp(2.6rem,4.5vw,4.5rem)}.email-link{display:inline-block;margin-top:26px}form label{display:block;font-size:.94rem;margin-bottom:8px}input,textarea{width:100%;font:inherit;color:var(--fg);background:#191c1e;border:1px solid #4c5255;border-radius:4px;padding:12px 14px}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}textarea{resize:vertical;min-height:130px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.contact .form-note{font-size:.875rem;line-height:1.6;margin-block:12px 22px}.honeypot{display:none}button.button{border:0;font-family:var(--body);font-size:1rem;cursor:pointer}.brand{letter-spacing:-.045em}@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:36px}}@media(max-width:480px){.form-row{grid-template-columns:1fr}.header .brand{font-size:1.3rem}nav{gap:14px}}

.photography{background:#d8c7ff;color:#2b1749}.photography .visual-title span{color:#684894}.photography .visual-bottom{border-color:#a48ac5}

.project-copy p+p{margin-top:16px}

.contact .field-help{font-size:.875rem;color:var(--muted);margin:6px 0 18px}.contact-status:empty{display:none}.contact .contact-status{margin:0 0 18px;font-size:1rem}.contact-status[data-state="success"]{color:var(--accent)}.contact-status[data-state="error"]{color:#ffc4b6}button:disabled{opacity:.65;cursor:wait}
