@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600&family=Barlow+Condensed:wght@400;500;600&display=swap');

:root{--paper:#fafaf8;--ink:#162b29;--muted:#58706a;--line:#bbc6c0;--accent:#2d6656;--display:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--sans:'Barlow',Arial,sans-serif;--gutter:clamp(24px,4.2vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,p,figure{margin:0}
.masthead,footer{width:calc(100% - 2*var(--gutter));max-width:1432px;margin-inline:auto}.masthead{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark img{display:block;width:49px;height:49px;object-fit:contain}.masthead nav{display:flex;align-items:center;gap:38px;font-size:15px}.masthead nav [aria-current=page]{text-decoration:underline;text-underline-offset:7px}.masthead nav a:hover,footer a:hover{color:var(--accent)}
.contact-layout{display:grid;grid-template-columns:minmax(0,44%) minmax(0,56%);min-height:calc(100svh - 80px)}.portrait-panel{position:sticky;top:0;align-self:start;height:calc(100svh - 80px);min-height:650px;overflow:hidden;background:#17201f}.portrait-panel img{display:block;width:100%;height:100%;object-fit:cover;object-position:38% center}.contact-content{width:100%;max-width:850px;padding:clamp(48px,5.7vw,90px) clamp(38px,6vw,100px) 75px}.contact-intro h1{font:400 clamp(72px,8vw,120px)/.93 var(--display);letter-spacing:-.025em;margin-bottom:32px}.contact-intro p{font-size:17px;line-height:1.58;margin-top:18px}.contact-intro .lead{font-size:clamp(21px,2vw,26px);line-height:1.35;margin-top:0}.contact-intro a{border-bottom:1px solid var(--ink);padding-bottom:2px}.contact-intro a:hover{color:var(--accent);border-color:var(--accent)}
.contact-form{border-top:1px solid var(--line);margin-top:45px;padding-top:10px}.field{border-bottom:1px solid var(--line);padding:17px 0 13px}.field:focus-within{border-color:var(--accent)}.field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.field input,.field textarea{display:block;width:100%;border:0;border-radius:0;background:transparent;color:var(--ink);font:17px/1.5 var(--sans);padding:0;resize:vertical}.field input{min-height:27px}.field textarea{min-height:116px}.field input:focus,.field textarea:focus{outline:0}.form-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:20px;margin-top:26px}.form-actions button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-width:180px;padding:14px 17px;border:1px solid var(--accent);background:var(--accent);color:#fff;font:500 15px var(--sans);cursor:pointer}.form-actions button:hover{background:var(--ink);border-color:var(--ink)}.form-status{max-width:31ch;font-size:13px;line-height:1.5;color:var(--muted)}.form-status[hidden]{display:none}.form-status a{text-decoration:underline;text-underline-offset:3px}
footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0 42px;color:var(--muted);font-size:12px}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr}.portrait-panel{position:relative;height:clamp(360px,58svh,560px);min-height:0}.portrait-panel img{object-position:40% 32%}.contact-content{max-width:720px;padding:48px var(--gutter) 66px}.contact-intro h1{font-size:clamp(72px,12vw,104px)}}
@media(max-width:600px){.masthead{min-height:72px}.wordmark img{width:44px;height:44px}.masthead nav{gap:18px;font-size:13px}.portrait-panel{height:clamp(330px,54svh,480px)}.contact-content{padding-top:38px;padding-bottom:55px}.contact-intro h1{font-size:76px;margin-bottom:25px}.contact-intro p{font-size:16px}.contact-intro .lead{font-size:21px}.contact-form{margin-top:36px}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-direct{margin-top:24px;color:var(--muted);font:14px/1.6 var(--sans)}.contact-direct a{text-decoration:underline;text-underline-offset:4px}.contact-direct a:hover{color:var(--accent)}
#contact-security:not(:empty){margin-top:24px}
.form-actions button:disabled{opacity:.55;cursor:not-allowed}
.field:focus-within{box-shadow:0 1px var(--accent)}
.form-actions button .submit-icon,.contact-intro a span{display:inline-block}
@media(prefers-reduced-motion:no-preference){
 .field{transition:border-color .18s,box-shadow .18s}
 .form-actions button .submit-icon,.contact-intro a span{transition:transform .22s ease-out}
 .form-actions button:enabled:not([data-state=success]):focus-visible .submit-icon,.contact-intro a:focus-visible span{transform:translate(3px,-3px)}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .form-actions button:enabled:not([data-state=success]):hover .submit-icon,.contact-intro a:hover span{transform:translate(3px,-3px)}
}
.form-actions button{min-height:53px}
.form-actions button[data-state=pending]{opacity:.8}
.form-status[data-state=success]{color:var(--accent);border-left:2px solid var(--accent);padding-left:12px}
.form-status[data-state=error]{color:#873f32}
@media(prefers-reduced-motion:no-preference){.form-actions button{transition:background-color .18s,border-color .18s,opacity .18s}}
@media(pointer:coarse){.form-actions button:enabled:active{background:var(--ink);border-color:var(--ink)}}
