:root{--muted: #5d624d;--measure: 34rem}html{-webkit-text-size-adjust:100%}body{font-size:17px;line-height:1.7;font-weight:400}img{max-width:100%}main{display:block}p{margin:0 0 1.1rem}h1,h2,h3{line-height:1.15;margin:0 0 .6rem}h1{font-size:clamp(2.3rem,7vw,3.6rem)}h2{font-size:clamp(1.6rem,4vw,2.1rem)}h3{font-size:1.3rem}.muted{color:var(--muted)}a{color:var(--olive);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.nav a,.footer a{text-decoration:none}.nav-inner .links a:hover{text-decoration:underline}.skip-link{position:absolute;left:-999px;top:0;background:var(--paper);color:var(--ink);padding:.75rem 1rem;z-index:100}.skip-link:focus{left:0;top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:500 11px DM Sans,Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid var(--olive);background:var(--olive);color:#fff;padding:1rem 2rem;min-height:48px;line-height:1}.btn:hover,.btn:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}.btn.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.btn-outline:hover{background:var(--ink);color:#fff}.btn:disabled{opacity:.5;cursor:default}.section{max-width:68rem;margin:0 auto;padding:3.25rem 6vw}.section-narrow{max-width:42rem}.section>h1,.section>h2{text-align:center}.section-intro{text-align:center;color:var(--muted);max-width:38rem;margin:0 auto 2rem}.cta-row{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.75rem}.prose{max-width:calc(var(--measure) + 12vw);margin:0 auto;padding:2rem 6vw 5rem}.prose>*{max-width:var(--measure)}.prose h1{margin:0 0 .5rem;text-align:left}.prose h2{font-size:1.7rem;margin:2.75rem 0 .75rem;text-align:left}.prose h3{margin:2rem 0 .5rem}.prose .lead{font-family:Italiana,serif;font-size:1.5rem;margin-bottom:1.5rem}.prose .muted{font-size:.95rem;margin-bottom:2rem}.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.1rem}.prose li{margin:.5rem 0;padding-left:.2rem}.prose strong{font-weight:500}.form,.form-success{max-width:34rem;margin:0 auto;padding:32px;background:var(--paper);color:var(--ink)}.field{display:block;margin-bottom:22px}.field label{display:block;margin-bottom:8px;font-size:10px;font-weight:400;letter-spacing:3.2px;text-transform:uppercase}.field .hint{opacity:.6;letter-spacing:2px}.field input,.field select,.field textarea{display:block;width:100%;font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;min-height:44px}.field textarea{min-height:110px;resize:vertical;border:1px solid var(--line);padding:10px}.field input::placeholder,.field textarea::placeholder{color:var(--olive);opacity:1}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:1px solid var(--olive);outline-offset:3px}.form .btn{margin-top:6px}.form-error{max-width:34rem;margin:0 auto 22px;padding:12px 14px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-size:14px;line-height:1.6}.form-error[hidden],.form-success[hidden]{display:none}.form-success{text-align:left}.form-success h2{margin-bottom:10px}.form-success p{margin:0}@media(max-width:520px){.form,.form-success{padding:22px 18px}}.portfolio-page{max-width:76rem}.portfolio-page>h1{margin-bottom:2.25rem}.photo-grid{list-style:none;margin:0 auto;padding:0;columns:1;column-gap:28px}.photo-grid li{break-inside:avoid;margin:0 0 28px}.photo-grid img{display:block;width:100%;height:auto;background:var(--paper);box-shadow:0 18px 45px #0000001f}.photo-caption{margin:14px 2px 0;font-size:10px;letter-spacing:3.2px;text-transform:uppercase;color:var(--muted);line-height:1.6}@media(min-width:560px){.photo-grid{columns:2;column-gap:32px}.photo-grid li{margin-bottom:36px}}@media(min-width:960px){.photo-grid[data-count=many]{columns:3;column-gap:36px}}.photo-grid[data-count="1"]{columns:1;max-width:34rem}.photo-grid[data-count="2"]{max-width:58rem}.photo-grid[data-count="3"]{max-width:64rem}@media(min-width:960px){.photo-grid[data-count="3"]{columns:3;max-width:none}}.empty-portfolio{max-width:34rem;margin:1rem auto 2rem;padding:3rem 32px;background:var(--paper);text-align:center;box-shadow:0 18px 45px #0000001f}.empty-portfolio p{font-size:1.6rem;line-height:1.3;margin-bottom:1.75rem}
