@charset "UTF-8";
:root{--bg:#f7f8f6;--ink:#1c211d;--muted:#5b635d;--line:#d9dfd9;--green:#53af43;--deep:#287b25;--dark:#171a18;--max:1320px;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img,video{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--deep);outline-offset:5px}p{line-height:1.65}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.045em}button{color:inherit}a:hover{text-decoration:underline;text-underline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-80px;background:white;padding:14px;z-index:50}.skip:focus{top:10px}.header{background:var(--dark);color:#eee;display:flex;align-items:center;justify-content:space-between;padding:21px max(5vw,24px);gap:30px;border-bottom:1px solid #343a35}.brand img{width:105px;height:60px}.header nav{display:flex;align-items:center;gap:35px;font-size:15px}.header nav a{padding:10px 0}.header nav a[aria-current=page]{color:#9adb88}.header .contact-link{border:1px solid #606a61;padding:10px 20px;border-radius:2px}.wrap{width:min(90%,var(--max));margin:auto}.eyebrow{text-transform:uppercase;font-size:13px;line-height:1.5;letter-spacing:.17em;font-weight:600}.hero{background:var(--dark);color:#f7f8f6;padding-top:60px}.hero-top{display:grid;grid-template-columns:1.55fr 1fr;gap:50px;align-items:end;padding-bottom:45px}.hero .eyebrow{color:#a7b2a9;margin-bottom:23px}.hero h1{font-size:clamp(44px,5.8vw,88px);line-height:1.04}.hero h1 span{color:#79c969}.hero-intro{max-width:360px;padding-bottom:6px;color:#c3ccc5}.hero-intro p{font-size:17px;margin-bottom:26px}.text-link{display:inline-block;font-size:15px;border-bottom:1px solid currentColor;padding-bottom:6px}.hero-media{position:relative;background:#252925}.hero-media img{width:100%;height:clamp(300px,36vw,540px);object-fit:cover;object-position:center 50%}.image-caption{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;gap:16px;color:#dce4dc;background:#222723;font-size:13px}.image-caption strong{font-size:15px;font-weight:500}.image-caption span:last-child{color:#afbdad}.section{padding:90px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-head h2{font-size:clamp(32px,3.5vw,52px);line-height:1.1;margin-top:13px}.section-head .eyebrow{color:var(--deep)}.section-head p{max-width:430px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 26px}.project-card{display:block;min-width:0}.project-card:hover{text-decoration:none}.project-card .photo{overflow:hidden;background:#e4e8e2;aspect-ratio:16/10}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.project-card:hover img{transform:scale(1.025)}.project-card .caption{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:18px 0 0}.project-card h3{font-size:25px;line-height:1.15;margin-bottom:6px}.project-card p{font-size:14px;color:var(--muted);line-height:1.5}.project-card .index{font-size:13px;color:var(--muted);padding-top:5px}.specialties{background:#eaf0e7}.specialty-list{border-top:1px solid #bfcdbc}.specialty-list a{display:grid;grid-template-columns:50px 1.2fr 1fr;gap:25px;padding:25px 0;border-bottom:1px solid #bfcdbc;align-items:center}.specialty-list a:hover{text-decoration:none;color:var(--deep)}.specialty-list h3{font-size:26px;letter-spacing:-.035em}.specialty-list p{font-size:15px;color:var(--muted)}.number{color:var(--deep);font-size:13px}.profile-strip{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.profile-strip h2{font-size:clamp(32px,3.8vw,53px);line-height:1.12;margin:18px 0 24px}.profile-strip p{font-size:18px;color:var(--muted);margin-bottom:24px}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 23px}.tag{border:1px solid var(--line);padding:9px 13px;font-size:14px;border-radius:2px}.contact-section{background:var(--green);padding:65px 0}.contact-section .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.contact-section h2{font-size:clamp(32px,4vw,58px);line-height:1.1}.button{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:white;padding:14px 23px;font-size:15px;border-radius:2px;text-align:center}.button.secondary{background:transparent;color:var(--ink)}.button:hover{text-decoration:none;filter:brightness(1.15)}.button:disabled{opacity:.4;cursor:not-allowed}footer{background:var(--dark);color:#b8c2b9;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:42px 5vw;font-size:14px;flex-wrap:wrap}.footer-brand{font-size:23px;letter-spacing:.08em;color:white}.footer-brand span{color:var(--green);padding-left:3px}footer small{font-size:12px}.page-head{padding:65px 0 38px}.page-head h1{font-size:clamp(44px,5.8vw,80px);line-height:1.05;margin:16px 0 25px}.page-head p{font-size:18px;max-width:640px;color:var(--muted)}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:8px 0 36px}.filter{border:1px solid var(--line);background:transparent;padding:11px 15px;border-radius:2px;font-size:14px}.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.work-section{padding-bottom:85px}.empty{padding:65px 30px;border:1px solid var(--line);text-align:center;grid-column:1/-1}.empty h2{font-size:29px;margin-bottom:15px}.empty p{color:var(--muted);margin:auto auto 25px;max-width:550px}.breadcrumb{font-size:14px;color:var(--deep);margin-bottom:30px;display:inline-block}.project-lead{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:end}.project-lead h1{font-size:clamp(44px,5.6vw,78px)}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-facts dt{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.project-facts dd{margin:0;font-size:16px}.project-cover{width:100%;max-height:740px;object-fit:contain;background:#e7ebe5}.project-copy{display:grid;grid-template-columns:1fr 1.5fr;gap:7vw;padding:60px 0}.project-copy h2{font-size:32px}.project-copy p{font-size:18px;color:var(--muted);margin-bottom:20px}.gallery{display:grid;gap:30px;padding-bottom:70px}.gallery img{max-height:760px;width:100%;object-fit:contain;background:white}.gallery figcaption{font-size:14px;color:var(--muted);margin-top:12px}.detail-note{font-size:14px!important}.profile-page{display:grid;grid-template-columns:.8fr 1.3fr;gap:7vw;padding:10px 0 80px}.profile-page h2{font-size:30px;margin-bottom:20px}.profile-page p{color:var(--muted);font-size:18px;margin-bottom:25px}.timeline article{border-top:1px solid var(--line);padding:26px 0}.timeline .date{font-size:14px;color:var(--deep);margin-bottom:9px}.timeline h3{font-size:25px}.timeline h4{font-size:16px;font-weight:500;margin:9px 0}.timeline p{font-size:16px;margin:0}.timeline details{padding:20px 0;border-top:1px solid var(--line)}.timeline summary{cursor:pointer;font-size:18px}.timeline ul{line-height:1.8;padding-left:20px}.contact-page{min-height:60vh;padding-bottom:70px}.contact-email{display:block;font-size:clamp(24px,4.5vw,66px);letter-spacing:-.04em;margin:20px 0 40px;overflow-wrap:anywhere;color:var(--deep)}.contact-grid{display:flex;gap:70px;flex-wrap:wrap}.contact-grid h2{font-size:18px;letter-spacing:0;margin-bottom:10px}.contact-grid p{color:var(--muted)}.loading{padding:80px 5vw}.notice{border-left:3px solid var(--green);padding:14px 18px;background:#edf3eb;font-size:15px;margin-bottom:25px}.editor{padding:45px 0;max-width:960px}.editor h1{font-size:42px;margin:12px 0 25px}.editor h2{font-size:27px;margin:25px 0 20px}.editor label{display:block;font-size:15px;margin-bottom:18px}.editor input:not([type=checkbox]),.editor textarea,.editor select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #aab5aa;border-radius:2px;background:white;color:var(--ink)}.editor textarea{min-height:100px}.editor .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.editor .full{grid-column:1/-1}.editor .actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.editor .status{padding:15px 0;color:var(--deep)}.editor .error{color:#a32121}.project-list button{display:block;width:100%;text-align:left;padding:15px;background:white;border:1px solid var(--line);margin:7px 0}.project-list button span{float:right;color:var(--muted)}.editor fieldset{border:1px solid var(--line);padding:20px}.editor legend{padding:0 8px}.editor .help{font-size:14px;color:var(--muted);margin-bottom:15px}model-viewer{width:100%;height:500px;background:#e8ece5}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:1500px){.header{padding-left:calc((100vw - 1320px)/2);padding-right:calc((100vw - 1320px)/2)}}
@media(max-width:800px){.header{padding:16px 5%;gap:20px}.header nav{gap:20px;font-size:14px}.brand img{width:85px;height:49px}.hero{padding-top:40px}.hero-top{grid-template-columns:1fr;gap:25px;padding-bottom:32px}.hero-intro{max-width:540px}.hero-intro p{margin-bottom:16px}.hero-media img{height:330px}.section{padding:60px 0}.section-head{align-items:start}.section-head>p{max-width:300px;font-size:15px}.specialty-list a{grid-template-columns:25px 1fr;gap:15px}.specialty-list p{grid-column:2}.profile-strip{gap:35px}.project-lead{grid-template-columns:1fr;gap:30px}.project-copy{gap:30px}.profile-page{gap:35px}.contact-section .wrap{align-items:start;flex-direction:column}footer{align-items:start}.page-head{padding-top:45px}}
@media(max-width:540px){.header{flex-wrap:wrap;gap:15px}.brand img{width:92px;height:53px}.header nav{width:100%;justify-content:space-between;gap:14px;border-top:1px solid #3b423c;padding-top:10px}.header .contact-link{padding:8px 12px}.hero h1{font-size:46px}.hero .eyebrow{font-size:12px}.hero-media img{height:280px}.image-caption{padding:14px;font-size:12px;align-items:start}.image-caption span:last-child{max-width:115px;text-align:right}.section-head{display:block}.section-head p{max-width:none;margin-top:20px}.section-head .text-link{margin-top:22px}.project-grid{grid-template-columns:1fr;gap:32px}.project-card h3{font-size:25px}.profile-strip,.profile-page,.project-copy{grid-template-columns:1fr}.profile-strip{gap:40px}.specialty-list h3{font-size:23px}.page-head h1{font-size:47px}.filters{gap:8px}.filter{font-size:13px;padding:10px 12px}.project-copy{padding:35px 0}.contact-grid{gap:30px}.editor .form-grid{grid-template-columns:1fr}.editor .full{grid-column:auto}footer{flex-direction:column;gap:20px}.project-facts{gap:20px}.page-head p,.profile-page p{font-size:17px}}
