:root{--ink:#202623;--muted:#5f6563;--line:#d8deda;--accent:#126776;--paper:#fff;--pale:#f3f5f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,6.6vw,7.2rem);margin-bottom:2.5rem}h1 span{color:var(--accent)}h2{font-size:clamp(2.1rem,3.5vw,3.7rem)}h3{font-size:1.5rem;letter-spacing:-.025em}p{max-width:64ch}header{height:110px;margin:0 4.5%;display:flex;align-items:center;gap:3rem;border-bottom:1px solid var(--line)}.wordmark{font-size:3.1rem;letter-spacing:-.09em;line-height:.85;display:inline-flex;flex-direction:column;font-weight:600}.wordmark span{font-size:.65rem;letter-spacing:.15em;font-weight:400;margin-top:10px;line-height:1.2}nav{display:flex;gap:2rem;margin-left:auto}nav a{font-size:.9rem;position:relative;padding:10px 0}nav a:after{content:'';position:absolute;height:1px;background:var(--accent);left:0;right:100%;bottom:3px;transition:right .2s}nav a:hover:after,nav a[aria-current]:after{right:0}.header-cta{font-size:.9rem;border-bottom:1px solid var(--ink);padding-bottom:4px}.menu-toggle{display:none}.skip{position:fixed;left:1rem;top:-100px;z-index:20;background:white;padding:10px}.skip:focus{top:1rem}.eyebrow{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;line-height:1.5;margin-bottom:2rem;color:var(--muted)}.hero{padding:72px 4.5% 0;min-height:650px;display:flex;flex-direction:column}.hero h1{margin:12px 0 52px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:2rem}.hero-bottom p{font-size:1.15rem;margin:0}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-block;background:var(--ink);color:white;border:1px solid var(--ink);padding:15px 24px;font-size:.9rem;cursor:pointer;transition:background .2s}.button:hover{background:var(--accent);border-color:var(--accent)}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:.94rem;transition:color .2s}.text-link:hover{color:var(--accent)}.hero-caption{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:auto;padding:25px 0;color:var(--muted);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.section{padding:95px 4.5%;border-top:1px solid var(--line)}.intro{display:grid;grid-template-columns:1fr 2fr}.intro h2{margin-bottom:45px}.intro-copy{max-width:600px;margin-left:auto}.intro-copy p{color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:2rem;margin-bottom:45px}.section-heading h2{width:66%;margin-bottom:0}.quiet-empty{background:var(--pale);padding:50px 6%;border-left:3px solid var(--accent)}.quiet-empty h2{font-size:2.4rem;margin-bottom:15px}.quiet-empty p{color:var(--muted)}.service-list a{display:grid;grid-template-columns:10% 1fr auto;align-items:center;padding:25px 0;border-top:1px solid var(--line);transition:color .2s}.service-list a:last-child{border-bottom:1px solid var(--line)}.service-list a:hover{color:var(--accent)}.service-list h3{margin:0;font-size:clamp(1.3rem,2.2vw,2.2rem)}.number{font-size:.8rem;color:var(--accent)}.service-label{font-size:.8rem;color:var(--muted)}.beginning .lead{max-width:710px;margin-bottom:65px}.lead{font-size:1.2rem;color:var(--muted);max-width:700px}.steps,.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.steps article,.principles article{border-top:1px solid var(--ink);padding-top:20px}.steps h3,.principles h3{margin:30px 0 20px;font-size:1.3rem;line-height:1.3;letter-spacing:-.015em}.steps p,.principles p{font-size:.95rem;color:var(--muted)}.scope-note{font-size:.85rem;color:var(--muted);margin-top:35px}.invitation{background:var(--ink);color:white;padding:70px 4.5%;display:grid;grid-template-columns:1fr 1fr}.invitation .eyebrow{color:#a9c1bf;grid-column:1/-1}.invitation h2{font-size:clamp(2.5rem,4.8vw,5rem);margin:0}.invitation>div{margin-left:auto;align-self:end;min-width:260px}.invitation p{color:#c5cdca}.button.light{background:white;color:var(--ink);border-color:white}.button.light:hover{background:#d3e5e8}footer{padding:60px 4.5% 25px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:2rem;padding-bottom:60px}.footer-top p{font-size:.9rem;color:var(--muted)}.footer-top>a:last-child{font-size:.9rem;border-bottom:1px solid var(--ink)}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:var(--muted)}.page-head{padding:75px 4.5% 65px}.page-head h1{font-size:clamp(3rem,5.7vw,6.2rem)}.page-head .lead{margin-bottom:0}.founder{display:grid;grid-template-columns:1fr 1.7fr;gap:70px}.founder aside h2{font-size:clamp(3rem,5vw,5rem)}.founder-copy p{color:var(--muted)}.founder-copy .large-copy{font-size:clamp(1.5rem,2.2vw,2.3rem);color:var(--ink);line-height:1.35;letter-spacing:-.025em;margin-bottom:40px}.signature{margin-top:35px}.signature span{display:block;font-size:.8rem;color:var(--muted)}.services-detail{padding-top:0}.services-detail article{display:grid;grid-template-columns:8% 42% 1fr;gap:20px;padding:50px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.services-detail article:first-child{border:0}.services-detail h2{font-size:clamp(1.8rem,2.7vw,2.8rem);max-width:400px}.services-detail p{color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1.55fr;gap:80px}.contact-layout aside h2{font-size:2rem}.contact-layout aside p{color:var(--muted)}.contact-layout aside .eyebrow{margin-top:60px;margin-bottom:5px}.form-notice{font-size:.9rem;border-left:2px solid var(--accent);padding:15px 20px;background:var(--pale);margin-bottom:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.form-grid label{font-size:.9rem;display:block}.form-grid label>span{color:var(--accent)}.form-grid .optional{font-size:.75rem;color:var(--muted);margin-left:6px}.full{grid-column:1/-1}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #959f99;background:var(--pale);border-radius:0;padding:12px 10px;margin-top:10px;font-size:1rem;color:var(--ink)}textarea{resize:vertical}.button:disabled{background:#737b76;border-color:#737b76;cursor:not-allowed}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 30px}.project-grid:empty{display:none}.project-card img{display:block;width:100%;height:auto;margin-bottom:20px}.project-card:nth-child(even){margin-top:80px}.project-card h3{margin:0 0 8px}.project-card p{color:var(--muted);font-size:.85rem}.gallery figure{margin:50px 0}.gallery img{width:100%;height:auto;display:block}.gallery figcaption{font-size:.85rem;color:var(--muted);margin-top:12px}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.project-facts dt{font-size:.8rem;color:var(--muted)}.project-facts dd{margin:8px 0}.press{padding:40px 4.5%;border-top:1px solid var(--line)}
@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){header{gap:20px}nav{gap:20px}.header-cta{display:none}.hero{min-height:600px}.hero-bottom{align-items:start;flex-direction:column}.hero-caption{margin-top:45px}.steps,.principles{grid-template-columns:1fr 1fr}.contact-layout{gap:40px}.service-label{display:none}}@media(max-width:680px){header{height:90px;margin:0 6%}.wordmark{font-size:2.7rem}.menu-toggle{display:block;margin-left:auto;border:0;border-bottom:1px solid var(--ink);background:white;padding:5px 0;font-size:.9rem}nav{display:none;position:absolute;top:90px;left:0;width:100%;background:white;padding:30px 6%;z-index:10;border-bottom:1px solid var(--line);margin:0;flex-direction:column;gap:12px}nav.open{display:flex}.hero{padding:50px 6% 0;min-height:auto}.hero h1{font-size:clamp(2.4rem,8.5vw,3.8rem);margin:10px 0 35px}.hero .eyebrow{max-width:250px;font-size:.72rem}.hero-bottom p{font-size:1rem}.desktop{display:none}.actions{gap:22px}.hero-caption{padding:22px 0;font-size:.68rem;gap:15px}.hero-caption span:nth-child(2){display:none}.section{padding:60px 6%}.intro{display:block}.intro-copy{margin:0}.section-heading{display:block}.section-heading h2{width:auto;margin-top:35px}.section-heading .text-link{margin-bottom:5px}.quiet-empty{padding:35px 7%}.quiet-empty h2{font-size:1.9rem}.service-list a{grid-template-columns:12% 1fr;padding:25px 0}.steps,.principles{grid-template-columns:1fr;gap:25px}.steps h3,.principles h3{margin-top:20px}.invitation{padding:55px 6%;display:block}.invitation>div{margin:35px 0 0}.footer-top{flex-wrap:wrap;padding-bottom:35px}.footer-top p{flex-basis:55%;margin-left:auto}.footer-bottom{flex-direction:column;font-size:.75rem}footer{padding:45px 6% 25px}.page-head{padding:50px 6%}.page-head h1{font-size:clamp(2.5rem,8.5vw,3.7rem)}.lead{font-size:1.05rem}.founder{display:block}.founder-copy{margin-top:40px}.services-detail article{grid-template-columns:30px 1fr;gap:15px;padding:35px 0}.services-detail article>div{grid-column:2}.services-detail h2{font-size:1.85rem;margin-bottom:10px}.contact-layout{display:block}.contact-layout>div{margin-top:40px}.contact-layout aside .eyebrow{margin-top:30px}.form-grid{grid-template-columns:1fr;gap:24px}.full{grid-column:auto}.project-grid{grid-template-columns:1fr}.project-card:nth-child(even){margin:0}.project-facts{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Photographic layout */
.photographic-hero{position:relative;isolation:isolate;min-height:720px;overflow:hidden;color:#fff;padding-top:85px;background:#24443e}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 65%;z-index:-2}.photographic-hero:before{content:'';position:absolute;inset:0;background:rgba(6,32,30,.65);z-index:-1}.photographic-hero .eyebrow,.photographic-hero h1 span,.photographic-hero .hero-caption{color:#fff}.photographic-hero .hero-caption{border-color:rgba(255,255,255,.45)}.photographic-hero .button{background:white;border-color:white;color:var(--accent)}.photographic-hero .button:hover{background:#dce9e5}.photographic-hero .text-link:hover{color:#d7e9e3}.intro-editorial{display:grid;grid-template-columns:1.12fr 1fr;gap:0 65px;align-items:start}.intro-editorial>.eyebrow{grid-column:1;grid-row:1}.intro-editorial>h2{grid-column:2;grid-row:1;margin-bottom:40px}.practice-portrait{grid-column:1;grid-row:2 / span 2;margin:0;position:relative;align-self:stretch}.practice-portrait img{width:100%;height:calc(100% - 40px);min-height:520px;max-height:720px;object-fit:cover;object-position:50% 64%;display:block;clip-path:polygon(0 0,72% 0,72% 9%,100% 9%,100% 100%,0 100%)}.practice-portrait figcaption{font-size:.75rem;color:var(--muted);margin-top:14px}.intro-editorial .intro-copy{grid-column:2;grid-row:2;margin:0;max-width:none}.local-focus{grid-column:2;grid-row:3;border-top:1px solid var(--line);margin-top:38px;padding-top:25px}.local-focus .eyebrow{margin-bottom:16px}.local-focus h3{font-size:1.75rem;margin-bottom:20px}.local-focus p:not(.eyebrow){color:var(--muted);font-size:.95rem}.founder-portrait{margin:35px 0 0}.founder-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 65%}
@media(max-width:1000px){header{gap:18px}nav{gap:16px}.intro-editorial{gap:0 35px}.practice-portrait img{max-height:850px;min-height:650px}.photographic-hero{min-height:740px}}
@media(max-width:680px){.photographic-hero{min-height:690px;padding-top:65px;padding-bottom:0}.photographic-hero h1{font-size:clamp(2.4rem,8.5vw,3.8rem)}.photographic-hero .hero-caption{margin-top:auto}.hero-photo{object-position:58% 60%}.intro-editorial{display:grid;grid-template-columns:1fr;gap:0}.intro-editorial>.eyebrow{grid-row:1;grid-column:1}.intro-editorial>h2{grid-row:2;grid-column:1;margin:0 0 30px}.practice-portrait{grid-row:3;grid-column:1;align-self:auto;margin-bottom:30px}.practice-portrait img{aspect-ratio:4/5;height:auto;min-height:0;max-height:none;clip-path:polygon(0 0,75% 0,75% 7%,100% 7%,100% 100%,0 100%)}.intro-editorial .intro-copy{grid-row:4;grid-column:1;margin:0}.local-focus{grid-row:5;grid-column:1}.founder-portrait{max-width:500px}}

/* Original wordmark, type and smaller 4:5 images */
.wordmark{color:var(--ink);font-size:3.1rem;letter-spacing:-.09em;line-height:.85;display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;font-weight:600}.wordmark span{font-size:.65rem;letter-spacing:.15em;font-weight:400;margin-top:10px;line-height:1.2}
.practice-portrait{align-self:start;width:min(100%,400px);grid-row:2 / span 2}.practice-portrait img{width:100%;height:auto;aspect-ratio:4/5;min-height:0;max-height:none;object-fit:cover;object-position:51% 50%;clip-path:none}.founder-portrait{max-width:400px}.founder-portrait img{aspect-ratio:4/5;object-position:45% 50%;height:auto}
@media(max-width:680px){.wordmark{font-size:2.7rem}.practice-portrait{width:min(100%,360px);grid-row:3}.practice-portrait img{aspect-ratio:4/5;clip-path:none}.founder-portrait{max-width:360px}}

.beginning-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;margin-bottom:65px}.beginning-grid .lead{margin-bottom:0}.beginning-image{margin:0}.beginning-image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 65%}@media(max-width:680px){.beginning-grid{grid-template-columns:1fr;gap:30px;margin-bottom:45px}}

/* Compact portfolio covers, with room for three projects. */
.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 28px;align-items:start}.project-card{min-width:0}.project-card:nth-child(even){margin-top:0}.project-card img{width:100%;height:auto;max-height:380px;object-fit:contain;object-position:left center}.gallery figure{max-width:560px;margin:36px 0}.gallery img{width:100%;height:auto}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.project-grid{grid-template-columns:minmax(0,1fr)}.project-card{max-width:380px}.gallery figure{max-width:380px}}

/* Uniform cover frames and shared text baselines across each portfolio row. */
.project-grid{gap:12px 28px;align-items:stretch}
.project-card{display:grid;grid-template-rows:auto minmax(3.2rem,auto) auto auto;gap:12px;align-content:start;margin-bottom:36px}
.project-card img{width:100%;height:auto;aspect-ratio:4/3;max-height:none;object-fit:cover;object-position:center;margin:0}
.project-card h3,.project-card p{margin:0}
.project-card h3{line-height:1.2}
@supports(grid-template-rows:subgrid){.project-card{grid-row:span 4;grid-template-rows:subgrid}}

/* Justified reading text throughout the site. */
p:not(.eyebrow):not(.signature),dd,figcaption,blockquote,.form-notice{ text-align:justify;text-justify:inter-word;text-align-last:left;hyphens:none;-webkit-hyphens:none;overflow-wrap:normal;word-break:normal; }

/* Wrap at word boundaries without automatic hyphenation. */
body{hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}

.page-head .lead + .lead{margin-top:1em}

/* Consistent project descriptions and role copy. */
.project-page h1{font-size:clamp(2.5rem,4.8vw,5.2rem)}
.project-page>p:not(.eyebrow){font-size:1rem;line-height:1.6;color:var(--ink);max-width:700px}
.project-page>p.lead+p:not(.eyebrow){margin-top:1em}
@media(max-width:680px){.project-page h1{font-size:clamp(2.2rem,7.2vw,3.2rem)}.project-page>p:not(.eyebrow){font-size:1rem}}
