.project-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.project-photo-grid figure{margin:0}.project-photo-grid img{width:100%;height:360px;object-fit:cover;background:var(--soft)}.project-photo-grid figcaption{margin-top:9px;font-size:13px;color:var(--muted)}@media(max-width:700px){.project-photo-grid{grid-template-columns:1fr}.project-photo-grid img{height:auto}}.legal-copy h3{font-size:20px;margin:25px 0 8px}.legal-copy p{margin-bottom:16px}.legal-notice{max-width:900px;margin:0 0 34px;padding:20px 24px;border-left:4px solid var(--green);background:var(--soft)}.legal-notice p{margin:6px 0 0}:root{--green:#267866;--deep:#1f5f53;--ink:#40484a;--muted:#6d7476;--paper:#fff;--soft:#f1f5f4;--line:#d8e1df;--accent:#42a18b;--logo-gray:#929495}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}img{display:block;width:100%;object-fit:cover}figure{margin:0}.wrap{max-width:1240px;margin:auto;padding-left:40px;padding-right:40px}.topbar{background:var(--green);color:#fff;font-size:13px}.topbar .wrap{display:flex;gap:28px;padding-top:7px;padding-bottom:7px}.topbar span{margin-right:auto}header{position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:98px}.brand{display:flex;align-items:center;gap:12px}.brand-logo{display:block;width:clamp(160px,24vw,300px);height:auto;max-width:100%}.brand-name{font-size:14px;line-height:1.45;letter-spacing:-.2px}.brand-name strong{display:block;font-size:22px;letter-spacing:-.7px}nav{display:flex;align-items:center;gap:23px;font-size:14px;font-weight:600}.nav-contact{border:1px solid var(--green);padding:10px 17px}.menu-button{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;background:var(--soft)}.hero-copy{padding:70px max(40px,calc((100vw - 1160px)/2));padding-right:42px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;margin:0 0 20px;color:var(--muted)}h1{font-size:clamp(42px,4.5vw,70px);line-height:1.04;letter-spacing:-2.7px;margin:0 0 27px;font-weight:600}h1 em,h2 em{font-family:Georgia,serif;font-weight:400}h2{font-size:clamp(34px,3.5vw,48px);line-height:1.12;letter-spacing:-1.5px;font-weight:500;margin:0}h3{font-weight:500;font-size:25px;line-height:1.3;letter-spacing:-.6px;margin:0 0 14px}p{margin-top:0}.hero-intro{max-width:470px;color:var(--muted);font-size:17px}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;min-height:50px;padding:12px 20px;font-size:14px;font-weight:600;border:1px solid transparent;cursor:pointer;border-radius:3px}.button:hover{text-decoration:none;filter:brightness(1.12)}.primary{color:white;background:var(--green)}.light{color:var(--green);background:white}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:14px;font-weight:600}.hero .actions{gap:18px;margin-top:30px}.hero-place{font-size:12px;margin-top:36px;color:var(--muted)}.hero-photo{position:relative;min-height:580px;overflow:hidden}.hero-photo img{height:100%;position:absolute;inset:0}.hero-photo figcaption{position:absolute;bottom:22px;left:24px;background:#fffffff2;padding:14px 20px;border-left:3px solid var(--green);font-size:12px}.hero-photo figcaption strong{display:block;font-size:15px}.quicklinks{display:grid;grid-template-columns:repeat(2,1fr);padding-top:30px;padding-bottom:30px;border-bottom:1px solid var(--line)}.quicklinks>a{display:flex;gap:18px;align-items:center;padding:7px 22px;border-right:1px solid var(--line)}.quicklinks>a:first-child{padding-left:0}.quicklinks>a:last-child{border:0}.number{font:italic 24px Georgia,serif;color:var(--accent)}.quicklinks strong{display:block;font-size:15px}.quicklinks small{font-size:13px;color:var(--muted)}.arrow{margin-left:auto;font-size:24px}.section{padding-top:90px;padding-bottom:90px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:40px}.section-head>p{max-width:380px;margin-bottom:2px;color:var(--muted)}.homes{display:grid;grid-template-columns:1fr 1fr;gap:28px}.home img{height:330px;background:var(--soft)}.home-title{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.home-title span{font-size:11px;letter-spacing:1.7px;color:var(--muted)}.home-title h3{margin:4px 0 0}.home-title>a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:23px}.section-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}.section-bottom p{font-size:12px;color:var(--muted);margin:0;max-width:470px}.projects{background:var(--soft)}.project-list article{display:grid;grid-template-columns:200px 1fr 45px;gap:35px;border-top:1px solid var(--line);padding:32px 0}.project-list article:last-child{border-bottom:1px solid var(--line)}.project-index{font-size:12px;letter-spacing:1px;padding-top:6px;color:var(--muted)}.project-list h3{font-size:30px}.project-list p{max-width:650px;color:var(--muted)}.project-mark{font-size:35px}details summary{font-size:14px;font-weight:600;cursor:pointer;list-style-position:inside}details[open] summary{margin-bottom:18px}.service{display:grid;grid-template-columns:1fr 1fr;gap:85px}.service h2{margin-bottom:25px}.service>div>p:not(.eyebrow){color:var(--muted);max-width:400px}.downloads>a{display:flex;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.downloads>a:first-child{border-top:1px solid var(--line)}.downloads strong{font-size:17px;display:block}.downloads small{font-size:13px;color:var(--muted)}.downloads>a>span:last-child{margin-left:auto}.document-label{color:var(--muted);font:italic 22px Georgia,serif}.note{font-size:13px;color:var(--muted);line-height:1.6;margin:18px 0}.membership{background:var(--green);color:#fff;padding:75px 0}.membership-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.membership .eyebrow{color:#bfe0d8}.membership p:not(.eyebrow){color:#e5f2ef}.membership em{color:#9dd3c7}.membership .actions{gap:25px}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.news-grid article{padding:30px 0 0;border-top:1px solid var(--line)}.news-grid h3{font-size:29px}.news-grid article>p:not(.eyebrow){max-width:460px;color:var(--muted)}.contact{background:var(--soft)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.contact h2{margin-bottom:23px}.contact-grid>div>p:not(.eyebrow){max-width:360px;color:var(--muted)}address{font-style:normal;font-size:14px;margin:30px 0 20px}.contact-phone{display:block;font-size:25px;margin-bottom:6px}form{background:white;padding:35px;border:1px solid var(--line)}form h3{margin-bottom:25px}label{display:block;font-size:14px;font-weight:600;margin-bottom:15px}label span{font-weight:400;color:var(--muted)}input,textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);background:#fff;border-radius:2px;color:var(--ink)}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}#form-status{font-size:14px;margin:15px 0 0}footer{padding:40px 0 22px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner>div{display:flex;gap:25px;font-size:13px}.footer-note{font-size:12px;color:var(--muted);padding-top:30px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:50}.skip:focus{top:10px}@media(min-width:1600px){.hero-copy{padding-left:calc((1600px - 1160px)/2)}}@media(max-width:1100px){.wrap{padding-left:26px;padding-right:26px}nav{gap:14px;font-size:13px}.brand-name{font-size:12px}.brand-name strong{font-size:20px}.hero-copy{padding:50px 30px}.hero-photo{min-height:565px}.hero .actions{align-items:start;flex-direction:column}.service,.contact-grid{gap:40px}.quicklinks>a{padding:7px 15px;gap:11px}.quicklinks small{font-size:12px}.home img{height:280px}}@media(max-width:800px){html{scroll-padding-top:85px}.topbar .wrap{justify-content:space-between}.topbar span{display:none}.topbar a{font-size:12px}.header-inner{min-height:80px}.menu-button{display:flex;gap:15px;padding:9px 12px;border:1px solid var(--line);background:white;color:var(--ink);font-size:14px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 26px;box-shadow:0 12px 15px #0001}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:0}nav a{padding:13px 10px;font-size:16px}.nav-contact{margin-top:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:46px 26px 32px}h1{font-size:52px}.hero-intro{max-width:550px}.hero .actions{flex-direction:row;align-items:center}.hero-photo{min-height:360px}.hero-photo img{object-position:center 50%}.hero-place{margin-top:25px}.quicklinks{grid-template-columns:1fr;padding-top:12px;padding-bottom:12px}.quicklinks>a,.quicklinks>a:first-child{padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.section{padding-top:60px;padding-bottom:60px}.section-head{display:block;margin-bottom:30px}.section-head>p,.section-head>.text-link{margin-top:22px;max-width:550px}.homes{gap:20px}.home img{height:230px}.home h3{font-size:22px}.section-bottom{flex-direction:column;align-items:start;gap:15px}.project-list article{grid-template-columns:1fr 25px;gap:12px}.project-index{grid-column:1/-1}.project-list h3{font-size:26px}.service,.membership-inner,.contact-grid{grid-template-columns:1fr;gap:35px}.membership{padding:55px 0}.membership-inner h2{font-size:39px}.news-grid{gap:25px}.news-grid h3{font-size:25px}.footer-inner{align-items:start;flex-direction:column}.footer-inner>div{flex-wrap:wrap}}@media(max-width:480px){.wrap{padding-left:20px;padding-right:20px}.brand-name{font-size:11px}.brand-name strong{font-size:18px}.hero-copy{padding-left:20px;padding-right:20px}h1{font-size:46px}.hero .actions{flex-direction:column;align-items:start}.hero-photo{min-height:300px}.homes,.news-grid{grid-template-columns:1fr}.home img{height:255px}.homes{gap:32px}.form-row{grid-template-columns:1fr;gap:0}form{padding:23px}.topbar .wrap{gap:10px}.footer-inner>div{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.team-block{margin-bottom:55px}.team-block>h3{font-size:30px;margin-bottom:25px}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.person{padding:25px 20px;background:#fff;border-top:3px solid var(--green)}.person .eyebrow{font-size:12px;letter-spacing:.6px;min-height:58px;margin-bottom:12px}.person h3{font-size:21px;min-height:54px}.person a{display:block;font-size:14px;overflow-wrap:anywhere;margin-top:7px}.detail-main{padding:35px 0 70px}.back-link{display:inline-block;margin-bottom:50px;font-size:14px}.detail-main h1{font-size:clamp(35px,4.5vw,58px);line-height:1.15;margin-bottom:35px}.detail-lead{max-width:760px;font-size:19px;color:var(--muted)}.reading{max-width:800px}.reading h2,.document-view h2,.project-detail h2{font-size:30px;margin:35px 0 20px}.reading article{padding:30px 0;border-bottom:1px solid var(--line)}.reading article:target,.project-detail:target,.detail-gallery article:target{scroll-margin-top:120px}.reading ul{padding-left:24px}.reading li{margin-bottom:10px}.document-view{margin-top:45px}.document-view iframe{width:100%;height:750px;border:1px solid var(--line);display:block;background:var(--soft);margin-bottom:20px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:40px 0}.detail-gallery img{height:320px}.detail-gallery h2{font-size:27px;margin-top:20px}.detail-gallery p{color:var(--muted);margin:10px 0}.location-list{columns:2}.project-detail{padding:25px 0 45px;border-bottom:1px solid var(--line)}.project-detail figure{margin:25px 0}.project-detail img{max-height:650px;object-fit:contain;background:var(--soft)}.project-detail figcaption{font-size:13px;color:var(--muted);margin-top:10px}@media(max-width:1050px){.team-grid{grid-template-columns:1fr 1fr}.person h3,.person .eyebrow{min-height:0}}@media(max-width:600px){.team-grid,.detail-gallery{grid-template-columns:1fr}.detail-main{padding-top:25px}.back-link{margin-bottom:35px}.document-view iframe{height:560px}.location-list{columns:1}.person{padding:22px}.detail-gallery img{height:270px}}
.bestand-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 25px}.bestand-gallery img{height:240px;object-fit:contain;background:var(--soft)}.bestand-gallery h2{font-size:23px;line-height:1.25}.bestand-gallery article{min-width:0}.bestand-gallery p{font-size:14px}.home img{object-fit:contain;background:var(--soft)}@media(max-width:1000px){.bestand-gallery{grid-template-columns:1fr 1fr}}@media(max-width:600px){.bestand-gallery{grid-template-columns:1fr}.bestand-gallery img{height:auto;max-height:340px}}
.press-list>article{padding:35px 0 55px}.press-list>article+article{border-top:1px solid var(--line)}.press-list h3{font-size:24px;color:var(--muted);margin-bottom:26px}.press-list blockquote{margin:28px 0;padding:18px 25px;border-left:3px solid var(--accent);background:var(--soft);font-family:Georgia,serif;font-size:19px;line-height:1.55}.press-list blockquote cite{display:block;font:600 13px Arial,sans-serif;color:var(--muted);margin-top:10px}.press-list ol{padding-left:25px}.press-list li{margin-bottom:8px}
.project-contacts{margin:28px 0;padding:22px 24px;background:var(--soft);border-left:3px solid var(--green)}.project-contacts h3{font-size:21px;margin-bottom:14px}.project-contacts p{margin:0 0 14px}.project-contacts p:last-child{margin-bottom:0}.project-contacts a{overflow-wrap:anywhere}
.hero-photo{isolation:isolate}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease}.hero-slide.active{opacity:1;visibility:visible;z-index:1}.hero-slide>img{height:100%;position:absolute;inset:0}.hero-caption{position:absolute;bottom:22px;left:24px;background:#fffffff2;padding:14px 20px;border-left:3px solid var(--green);font-size:12px}.hero-caption strong{display:block;font-size:15px}.hero-controls{position:absolute;z-index:3;bottom:26px;right:24px;display:flex;gap:8px}.hero-dot{width:10px;height:10px;border-radius:50%;border:1px solid white;background:#ffffff99;padding:0;cursor:pointer}.hero-dot.active{background:white;transform:scale(1.25)}.hero-rotation{position:absolute;z-index:3;right:24px;top:20px;color:white;background:#267866e6;padding:5px 10px;font-size:11px;margin:0}.hero-photo>figcaption{display:none}@media(max-width:800px){.hero-rotation{top:15px;right:15px;font-size:10px}.hero-controls{bottom:17px;right:15px}.hero-caption{left:15px;bottom:15px;padding:10px 14px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
/* CSS fallback: the hero still rotates when script loading is delayed. */
@keyframes heroAuto{0%,22%{opacity:1;visibility:visible}25%,100%{opacity:0;visibility:hidden}}
.hero-photo:not(.js-carousel) .hero-slide{animation:heroAuto 40s linear infinite}
.hero-photo:not(.js-carousel) .hero-slide:nth-child(1){animation-delay:0s}.hero-photo:not(.js-carousel) .hero-slide:nth-child(2){animation-delay:-10s}.hero-photo:not(.js-carousel) .hero-slide:nth-child(3){animation-delay:-20s}.hero-photo:not(.js-carousel) .hero-slide:nth-child(4){animation-delay:-30s}
@media(prefers-reduced-motion:reduce){.hero-photo:not(.js-carousel) .hero-slide{animation:none}.hero-photo:not(.js-carousel) .hero-slide:not(:first-child){opacity:0;visibility:hidden}}
.expose-links{margin:32px 0 10px;padding:25px;background:var(--soft);border-top:3px solid var(--green)}.expose-links h3{font-size:23px;margin-bottom:7px}.expose-links>p{color:var(--muted);margin-bottom:18px}.expose-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.expose-card{display:flex;align-items:center;gap:15px;padding:16px;background:#fff;border:1px solid var(--line)}.expose-card:hover{text-decoration:none;border-color:var(--green)}.expose-card strong{display:block;font-size:15px}.expose-card small{display:block;color:var(--muted);font-size:12px;line-height:1.4}.expose-card>span:last-child{margin-left:auto;font-size:22px}@media(max-width:650px){.expose-grid{grid-template-columns:1fr}.expose-links{padding:20px 16px}}
