*{box-sizing:border-box}:root{--p:#ecebe7;--i:#1d2021;--a:#2e6b4f;--m:#5d605f}html{scroll-behavior:smooth}body{margin:0;background:var(--p);color:var(--i);font:1.0625rem/1.65 Georgia,"Iowan Old Style",serif}
h1,h2,h3,dt,nav,.brand,.btn{font-family:"Helvetica Neue",Arial,sans-serif}a{color:inherit}a:focus-visible,video:focus-visible{outline:3px solid var(--a);outline-offset:3px}
header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding:1.25rem clamp(1rem,5vw,4rem);align-items:baseline}.brand{font-weight:700;text-decoration:none;font-size:1.25rem;letter-spacing:-.02em}nav{display:flex;flex-wrap:wrap;gap:.25rem 1.4rem;font-size:.95rem}nav a{text-decoration:none;color:var(--m)}nav a:hover,nav .sw{color:var(--a)}nav .sw{font-weight:700}
main{padding:0 clamp(1rem,5vw,4rem)}section{padding:clamp(3rem,9vw,7rem) 0;border-top:1px solid #cfcdc6}.hero{border:0;padding-top:clamp(2rem,8vw,6rem)}h1{font-weight:300;font-size:clamp(2.6rem,9vw,7.5rem);line-height:.98;letter-spacing:-.045em;margin:0 0 2rem;max-width:12ch}.hero p{max-width:34rem;font-size:1.25rem;margin:0 0 1rem}.pghero h1{font-size:clamp(2.2rem,6vw,5rem);max-width:18ch}.back{color:var(--m);font-size:.95rem;text-decoration:none}
h2{font-weight:600;font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 1rem}h3{font-weight:600;font-size:1.1rem;margin:.9rem 0 .3rem}.sec{font-size:clamp(1.3rem,3vw,1.8rem);margin:3.5rem 0 0}.sub{font-size:1.2rem;color:var(--a)}p{max-width:36rem}.lead{font-size:1.2rem;max-width:42rem}.cap{color:var(--m);font-size:.9rem}
.m{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:2px;background:#dedcd6}.w169{aspect-ratio:16/9}.banner{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;border-radius:2px;background:#dedcd6}.hero-img{margin-top:2.5rem}
figure{margin:0}.big{margin:2rem 0 0;max-width:62rem}.narrow{max-width:34rem}.gal{display:grid;gap:1rem;margin-top:2rem}.gal.s3{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.gal.s2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.cards{display:grid;gap:2.5rem 2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));margin-top:2rem}.card p{margin:0;color:var(--m);max-width:none}.card h3 a{text-decoration:underline;text-decoration-color:var(--a);text-underline-offset:4px}
dl{margin:2.5rem 0 0}.wk{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,27rem),1fr));column-gap:3rem;row-gap:.4rem}.wk>div{display:grid;grid-template-rows:subgrid;grid-row:span 3;padding-bottom:3rem}dt{font-weight:700;font-size:1.15rem;align-self:end}dd{margin:0;color:var(--m);max-width:30rem}.ill{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0 0;align-content:start}.ill .m{min-width:0}.ill figcaption{grid-column:1/-1;margin-top:.2rem}
section[id]:not(#contact)>h2::before{counter-increment:s;content:"0" counter(s);display:block;font:600 .8rem "Helvetica Neue",Arial,sans-serif;letter-spacing:.16em;color:var(--a);margin-bottom:.9rem}main{counter-reset:s}.coords{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 2rem}.tel{font-family:"Helvetica Neue",Arial,sans-serif;font-size:1.25rem;text-decoration:none;border-bottom:2px solid var(--a)}
.btn{display:inline-block;background:var(--a);color:#fff;padding:.9rem 1.6rem;text-decoration:none;font-weight:600;border-radius:2px}.btn:hover{background:#245640}.btn.alt{background:transparent;color:var(--a);box-shadow:inset 0 0 0 2px var(--a)}.btn.alt:hover{background:var(--a);color:#fff}.acts{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
footer{padding:2rem clamp(1rem,5vw,4rem);color:var(--m);font-size:.9rem;border-top:1px solid #cfcdc6}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
main{padding:0}section{border-top:0}.band{padding:clamp(3.5rem,9vw,7rem) 0}.in{max-width:78rem;margin:0 auto;padding:0 clamp(1rem,5vw,4rem)}header{max-width:none;background:var(--p)}
.light{background:#ecebe7}.pale{background:#f7f6f3}.dark{background:#1d2021;color:#ecebe7}.green{background:#2e6b4f;color:#f3f6f4}
.dark .cap,.dark .card p,.dark dd{color:#b4b7b3}.dark .sub{color:#8fd1ac}.dark .btn.alt{color:#a9dcc0;box-shadow:inset 0 0 0 2px #a9dcc0}.dark .btn.alt:hover{background:#a9dcc0;color:#1d2021}.dark .m{background:#2a2e2f}
.green .cap{color:#cfe3d8}.green .btn{background:#ecebe7;color:#1d2021}.green .btn:hover{background:#fff}.green .tel{color:#fff;border-color:#9fd3b6}.green h2::before{display:none}
.band h2:first-child::before{counter-increment:s;content:"0" counter(s);display:block;font:600 .8rem "Helvetica Neue",Arial,sans-serif;letter-spacing:.16em;color:var(--a);margin-bottom:.9rem}.dark h2:first-child::before{color:#8fd1ac}
.hero{padding-top:clamp(3rem,9vw,7rem);padding-bottom:clamp(3rem,7vw,5rem)}.hero h1{max-width:14ch}.lede{max-width:40rem;font-size:1.25rem}
.entries{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));margin-top:2.5rem;max-width:56rem}.entry{position:relative;display:block;padding:1.4rem 3rem 1.4rem 1.5rem;background:#fff;border-left:4px solid var(--a);text-decoration:none;color:var(--m);font-size:1rem;line-height:1.5;transition:transform .15s}.entry:hover{transform:translateY(-2px)}.entry span{display:block;font:700 1.15rem "Helvetica Neue",Arial,sans-serif;color:var(--i);margin-bottom:.3rem}.entry i{position:absolute;right:1.2rem;top:1.4rem;font-style:normal;color:var(--a);font-size:1.3rem}
.cases{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));margin-top:2.5rem}.case{background:#fff;padding:clamp(1.5rem,3vw,2.5rem);border-top:3px solid var(--a)}.case h3{font-size:1.4rem;margin:.2rem 0 .8rem}.case p{max-width:none}.tag{font:600 .8rem "Helvetica Neue",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--a);margin:0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.8rem 0 0}.stats div{border-top:1px solid #d6d4cd;padding-top:.8rem}.stats dt{font:300 clamp(2rem,4vw,3rem)/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.03em;margin:0 0 .4rem;align-self:auto}.stats dd{font-size:.9rem;line-height:1.4}
.steps{list-style:none;counter-reset:st;padding:0;margin:1rem 0 0}.steps li{counter-increment:st;position:relative;padding:.7rem 0 .7rem 2.6rem;border-top:1px solid #e4e2dc}.steps li::before{content:counter(st);position:absolute;left:0;top:.7rem;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--a);color:#fff;font:600 .85rem/1.8rem "Helvetica Neue",Arial,sans-serif;text-align:center}.steps b{font-family:"Helvetica Neue",Arial,sans-serif}

.about{display:grid;gap:1.5rem 2.5rem;grid-template-columns:200px 1fr;align-items:start}.portrait{width:200px;height:200px;object-fit:cover;border-radius:2px}.about .lead{margin:0}@media(max-width:40rem){.about{grid-template-columns:1fr}}
@media(max-width:40rem){.stats{grid-template-columns:1fr 1fr}}

.pghero h1{max-width:18ch;font-size:clamp(2.2rem,6vw,5rem)}.pghero.band{padding-top:clamp(2rem,6vw,4rem)}
.gal.s2{grid-template-columns:repeat(2,1fr)}@media(max-width:40rem){.gal.s2{grid-template-columns:1fr}}
