:root{--paper:#f3f2ec;--white:#fffefa;--line:#e4e5dc;--lime:#dce9d7;--orange:#a66b4e;--muted:#66716b}
::selection{background:#dce9d7;color:#17241f}
.site-header{box-shadow:0 3px 18px rgba(23,36,31,.035)}
.site-header:after{content:"";position:absolute;left:0;top:0;height:2px;width:var(--scroll-progress,0%);background:#9caf98;pointer-events:none}
.main-nav a{position:relative;transition:color .18s ease}
.main-nav a[aria-current="location"]{color:#263c31}
.main-nav a[aria-current="location"]:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:#9caf98}
.no-projects{padding:28px!important;text-align:center;color:#b8c4bb!important;font-style:italic}
.brand-mark{background:#273a32;color:#e5ece1}
.hero{min-height:590px}
.hero-shade{background:linear-gradient(90deg,rgba(12,22,18,.78),rgba(12,22,18,.48) 47%,rgba(12,22,18,.04)),linear-gradient(0deg,rgba(12,22,18,.4),transparent 38%)}
.hero-stamp{display:none}
.hero-content{padding-left:max(calc((100vw - var(--max))/2),6vw)}
.hero-caption{font-size:9px;letter-spacing:.14em}
.button-light{background:#e3eadc}
.button-light:hover{background:#f0f4ec}
.band{background:#e9eee6}
.intro-stats{border-color:rgba(23,36,31,.14)}
.work-section{background:var(--paper)}
.section-heading{margin-bottom:29px}
.filters{gap:4px}
.filter-button{border-radius:999px;padding:9px 13px}
.filter-button:hover,.filter-button.active{border-color:#d7ded5;background:#edf1eb}
.search-wrap{border-color:#d8ddd7}
.gallery-count{margin:17px 0 18px;letter-spacing:.015em}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 19px;scroll-margin-top:105px}
.collection-card{display:block;width:100%;border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer;min-width:0}
.collection-cover{position:relative;display:block;overflow:hidden;background:#e5e8e1;aspect-ratio:1.38}
.collection-cover img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1);filter:saturate(.88)}
.collection-card:hover .collection-cover img,.collection-card:focus-visible .collection-cover img{transform:scale(1.035)}
.collection-open{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#26342f;font-size:17px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.collection-card:hover .collection-open,.collection-card:focus-visible .collection-open{opacity:1;transform:none}
.collection-card:focus-visible,.gallery-card:focus-visible,.back-collections:focus-visible{outline:3px solid #59775f;outline-offset:4px}
.collection-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:13px 1px 1px}
.collection-meta strong{font:650 15px var(--display);letter-spacing:-.025em}
.collection-meta>span{color:#69756d;font-size:11px;white-space:nowrap}
.collection-category{display:block;padding:2px 1px 0;color:#828b84;font-size:11px}
.back-collections{grid-column:1/-1;justify-self:start;border:0;border-bottom:1px solid #d6ddd5;background:transparent;padding:0 0 8px;color:#43554a;font:600 11px var(--sans);cursor:pointer;margin:0 0 3px}
.back-collections span{margin-left:5px}
.gallery-card{background:#f7f7f3}
.gallery-card:nth-child(7n + 2){grid-column:span 1}
.gallery-photo{aspect-ratio:1.38}
.gallery-meta{padding:10px 2px 0}
.gallery-meta strong{font-size:11px}
.gallery-meta span{font-size:10px}
.archive-note{max-width:760px;line-height:1.7}
.profile-section{background:#edf0e9}
.profile-image-wrap img{filter:saturate(.84)}
.image-index{background:#fff;color:#26342f}
.capabilities{background:#f7f7f3}
.capability-grid{border-color:#dfe3dd}
.capability-card{border-color:#dfe3dd}
.closeout{background:#e9eee6}
.closeout .section-kicker{color:#526959}
.project-card .project-details b{color:#cfb979}
.text-link span,.heading-period{color:#a66b4e}
button,input,summary,a{-webkit-tap-highlight-color:transparent}
/* Quiet finish: tactile responses, consistent focus, and fine editorial rules. */
:focus-visible{outline:2px solid #58765f;outline-offset:4px}
.site-header a,.button,.text-link,.filter-button,.back-collections,.lightbox-close,.lightbox-arrow{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.header-cta:hover{border-color:#aeb9ad;background:#f8faf6}
.button-light{box-shadow:0 1px 0 rgba(255,255,255,.32) inset}
.button-light:hover{box-shadow:0 5px 16px rgba(0,0,0,.12);transform:translateY(-1px)}
.section-kicker{display:flex;align-items:center;gap:9px}
.section-kicker:before{content:"";display:inline-block;width:18px;height:1px;background:currentColor;opacity:.62}
.hero .eyebrow:before{content:none}
.section-heading h2,.intro h2,.profile-copy h2,.record-top h2{ text-wrap:balance }
.collection-cover,.gallery-image-wrap{background:linear-gradient(135deg,#edf0e9,#e2e6df)}
.collection-cover:after{content:"";position:absolute;inset:0;border:1px solid rgba(28,43,35,.055);pointer-events:none}
.collection-card:hover .collection-meta strong{color:#526c56}
.collection-card:active{transform:translateY(1px)}
.filter-button:focus-visible,.search-wrap:focus-within{outline:2px solid #58765f;outline-offset:3px}
.search-wrap:focus-within{border-color:#829781}
.archive-note{border-left:2px solid #dce5d9;padding-left:12px}
.case-images figure{position:relative}
.case-images img{transition:filter .3s ease}
.case-images figure:hover img{filter:saturate(1.04)}
.case-images figcaption{border-top:1px solid rgba(23,36,31,.07)}
.site-footer a:last-child{transition:color .18s ease}
.site-footer a:last-child:hover{color:#48624c}
.lightbox-close:hover,.lightbox-arrow:hover{background:#304137;border-color:#92a396}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:1px;background:#9caf98;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.main-nav a:hover:after,.main-nav a:focus-visible:after,.main-nav a[aria-current="page"]:after{transform:scaleX(1)}
.button:active,.header-cta:active{transform:translateY(1px)}
@media(max-width:620px){.main-nav a:after{bottom:-4px}}
@media(prefers-reduced-motion:reduce){.main-nav a:after{transition:none}.button:active,.header-cta:active{transform:none}}
.contact-section{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:clamp(40px,9vw,130px);align-items:center;background:var(--paper)}
.contact-copy{max-width:700px}
.contact-copy h2{font:600 clamp(36px,4.5vw,59px)/1.04 var(--display);letter-spacing:-.065em;margin:0 0 16px}
.contact-copy>p:not(.section-kicker):not(.contact-source){max-width:480px;color:#626f66;font-size:14px;line-height:1.75;margin:0 0 28px}
.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;border-top:1px solid #e4e7e1}
.contact-action{display:flex;align-items:center;gap:13px;min-width:0;padding:20px 0 17px;text-decoration:none;border-bottom:1px solid #e4e7e1}
.contact-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid #dbe2d8;border-radius:50%;color:#58705b;font-size:14px;transition:background .18s,color .18s,transform .18s}
.contact-action:hover .contact-icon{background:#edf2ea;color:#293d30;transform:translate(2px,-2px)}
.contact-action small,.contact-action strong{display:block}
.contact-action small{margin-bottom:3px;color:#7d877f;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.contact-action strong{color:#26342f;font:600 13px var(--display);overflow-wrap:anywhere}
.contact-source{max-width:570px;margin:15px 0 0;color:#838c85;font-size:11px;line-height:1.7}
.contact-aside{min-height:260px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:29px;background:#273a32;color:#e9eee8}
.contact-aside-mark{font:800 clamp(59px,8vw,100px)/.9 var(--display);letter-spacing:-.12em;color:#e2e9df}
.contact-aside p{margin:25px 0;font:700 11px/1.7 var(--display);letter-spacing:.14em}
.contact-aside>span:last-child{padding-top:12px;border-top:1px solid rgba(255,255,255,.23);width:100%;color:#b5c2b6;font-size:9px;letter-spacing:.15em}
@media(max-width:620px){.menu-toggle{width:40px;height:40px;right:12px;top:13px;align-items:center;justify-content:center;border-radius:50%;transition:background-color .18s ease}.menu-toggle:hover{background:#f0f3ed}.menu-toggle span:not(.sr-only){border-radius:2px;transform-origin:center;transition:transform .18s ease,width .18s ease}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}}
@media(prefers-reduced-motion:reduce){.site-header a,.button,.text-link,.filter-button,.back-collections,.lightbox-close,.lightbox-arrow,.case-images img{transition:none}.button-light:hover{transform:none}}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px}}
@media(max-width:900px){.contact-section{grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr);gap:35px}.contact-aside{min-height:230px;padding:23px}}
@media(max-width:620px){.hero{min-height:0}.hero-content{padding-left:25px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.collection-cover{aspect-ratio:1.06}.collection-meta{display:block;padding-top:9px}.collection-meta strong{display:block;font-size:11px}.collection-meta>span{display:block;margin-top:2px;font-size:10px}.collection-category{font-size:9px}.collection-open{width:29px;height:29px;right:8px;bottom:8px;opacity:1;transform:none;font-size:14px}.gallery-card .gallery-image-wrap:after{display:none}.gallery-meta{display:block;padding:8px 1px}.gallery-meta strong{display:block;font-size:11px}.gallery-meta span{display:block;text-align:left;font-size:9px;margin-top:3px}.main-nav a[aria-current="location"]:after{bottom:-5px}.section-heading{gap:20px}.search-wrap input{font-size:16px}.record-controls input{font-size:16px}.contact-section{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding-top:59px;padding-bottom:59px}.contact-actions{grid-template-columns:1fr;gap:0}.contact-action{padding:15px 0}.contact-action strong{font-size:12px}.contact-aside{min-height:190px;padding:21px}.contact-aside-mark{font-size:66px}.contact-aside p{margin:12px 0;font-size:11px}}
@media(prefers-reduced-motion:reduce){.collection-cover img,.collection-open{transition:none}}
