:root{--green:#173c35;--paper:#f4f2ec;--ink:#1c302b;--muted:#66746b;--line:#cbd0c6;--lime:#d6e1a6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9baf65;outline-offset:5px}button{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}p{line-height:1.8;font-size:16px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(34px,4vw,62px);line-height:1.09;letter-spacing:-2px;margin-bottom:25px}h3{font-size:24px;line-height:1.2;letter-spacing:-.7px}em{font-family:Georgia,serif;font-weight:400}button{border:0}.skip{position:fixed;top:-90px;left:15px;z-index:50;background:white;padding:15px}.skip:focus{top:15px}.draft{height:31px;background:#dce4d4;padding:8px 4%;font-size:9px;letter-spacing:1.2px}.draft span{margin-left:20px;letter-spacing:.2px;opacity:.75}header{height:89px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;font-size:15px;font-weight:700;letter-spacing:1px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;font-weight:400;margin-top:6px}.mark{font-size:35px;letter-spacing:-5px;border:1px solid var(--green);padding:5px 10px 5px 6px;font-weight:400}.mark span{font-size:27px}nav{display:flex;align-items:center;gap:28px;font-size:12px}nav a{padding:10px 0}nav a:hover{border-bottom:1px solid}.nav-contact{margin-left:15px}#menu{display:none}.hero{position:relative;height:min(810px,calc(100svh - 120px));min-height:570px;background:var(--green);color:white}.hero>img{position:absolute;inset:0;object-position:55% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,35,29,.85),rgba(10,35,29,.38) 54%,rgba(10,35,29,.04)),linear-gradient(0deg,rgba(10,35,29,.4),transparent 30%)}.hero-content{position:relative;padding:65px 5% 80px}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;line-height:1.5;margin-bottom:29px}.hero h1{font-size:clamp(55px,6.2vw,96px);line-height:1.04;letter-spacing:-4px;margin:32px 0 25px}.hero h1 em{color:#e0e8c8}.hero-lead{font-size:18px;line-height:1.6;color:#ebeee6}.link{display:inline-flex;align-items:center;gap:45px;font-size:12px;border-bottom:1px solid currentColor;padding:12px 0;background:none}.link span{font-size:22px}.light{color:inherit}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:20px;font-size:10px;letter-spacing:1px}.hero-bottom a{font-size:9px}.wrap{padding:100px 5%}.intro,.about{display:grid;grid-template-columns:1fr 1.5fr;gap:9%;border-bottom:1px solid var(--line)}.intro>div{max-width:730px}.intro p:not(.eyebrow){max-width:580px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:45px}.section-head h2{margin:0}.aside{max-width:290px;color:var(--muted);font-size:14px;margin:0}.filters{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:35px;flex-wrap:wrap}.filters button{background:none;padding:18px 0;font-size:12px;opacity:.65;border-bottom:2px solid transparent}.filters button.active{opacity:1;border-color:var(--green)}.filters span{font-size:9px;padding-left:6px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px}.project-card{padding:0;background:none;text-align:left;min-width:0}.project-card[hidden]{display:none}.card-image{height:440px;overflow:hidden;position:relative;background:#d7ded5}.project-card:nth-child(2) .card-image img{object-position:center 44%}.card-image img{transition:transform .6s}.project-card:hover img{transform:scale(1.035)}.open{position:absolute;bottom:20px;right:20px;border-radius:50%;height:42px;width:42px;display:grid;place-items:center;background:var(--paper);font-size:23px}.card-caption{display:flex;justify-content:space-between;gap:15px;padding:21px 0;border-bottom:1px solid var(--line);align-items:end}.card-caption span{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.card-caption h3{margin:9px 0 0;font-size:27px}.card-caption .count{font-size:8px;white-space:nowrap}.archive-note{color:var(--muted);font-size:11px;margin:30px 0 0}.approach{background:#e5e8df}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:65px}.principles article{border-top:1px solid #99a795;padding-top:25px}.principles article>span{font-size:9px;letter-spacing:1.5px}.principles h3{margin:45px 0 18px}.principles p{font-size:14px;color:#526456;max-width:330px}.engineering{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--paper)}.engineering-image{position:relative;min-height:720px}.engineering-image img{position:absolute;inset:0}.engineering-image>span{position:absolute;bottom:24px;left:25px;background:var(--green);padding:10px 13px;font-size:8px;letter-spacing:1.2px}.engineering-text{padding:75px 10%}.engineering h2{font-size:clamp(34px,3.4vw,53px)}.engineering-text>p:not(.eyebrow){color:#c8d1c6;font-size:14px}.engineering-row{display:flex;gap:20px;border-top:1px solid #ffffff35;padding:22px 0 4px}.engineering-row>span{font-size:10px;opacity:.6}.engineering-row h3{font-size:18px;margin:0 0 8px;letter-spacing:-.3px}.engineering-row p{font-size:12px;color:#c8d1c6;margin-bottom:15px}.engineering .technical-note{font-size:10px!important;line-height:1.6;margin-top:22px}.about .large{font-size:23px;line-height:1.55;max-width:720px}.about p:not(.eyebrow){max-width:650px}.about p:last-child{color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#e4e8dd}.contact h2{font-size:clamp(60px,7vw,100px);letter-spacing:-4px}.contact-foot{font-size:12px;letter-spacing:1px;margin-top:65px;line-height:2}.contact-foot span{font-size:10px;color:var(--muted);letter-spacing:.5px}form h3{margin-bottom:15px}.form-note{font-size:12px;color:var(--muted);margin-bottom:30px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:11px;margin-bottom:25px}input,textarea,select{display:block;width:100%;border:0;border-radius:0;border-bottom:1px solid #98a690;padding:13px 0;background:transparent;color:var(--ink);font-size:14px;margin-top:3px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#71806e;font-size:12px}.download{background:var(--green);color:white;padding:19px 23px;display:flex;justify-content:space-between;width:100%;font-size:12px}.download:hover{background:#28584a}#form-status{font-size:12px;margin:15px 0}footer{padding:35px 5%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.4px}dialog{border:0;padding:35px;max-width:1000px;width:92vw;max-height:92svh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#10231ddf;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:start;justify-content:space-between;gap:25px}.dialog-top .eyebrow{margin-bottom:10px}.dialog-top h2{font-size:33px;letter-spacing:-1px;margin-bottom:12px}#close-gallery{font-size:22px;background:none;padding:8px}#gallery-description{font-size:13px;max-width:700px}.gallery-image{height:55svh;background:#dfe4d9}.gallery-image img{object-fit:contain}.gallery-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.gallery-controls button{padding:8px 20px;font-size:23px;background:none}.gallery-controls button:disabled{opacity:.2;cursor:default}#counter{font-size:11px}.gallery-note{font-size:10px;color:var(--muted);margin:0}@media(min-width:1700px){.wrap{padding-left:max(5%,calc((100vw - 1500px)/2));padding-right:max(5%,calc((100vw - 1500px)/2))}}@media(max-width:950px){nav{gap:16px}.brand{font-size:12px}.brand small{font-size:7px}.mark{font-size:29px}.card-image{height:350px}.engineering-text{padding:55px 8%}.engineering-image{min-height:650px}.wrap{padding:75px 5%}.contact{gap:7%}}@media(max-width:700px){.draft{height:auto;font-size:8px;padding:8px 5%}.draft span{display:none}header{height:75px;padding:0 5%}.brand{font-size:12px}#menu{display:block;background:none;font-size:12px}#menu span{margin-left:7px}nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:20px 5%;border-bottom:1px solid var(--line)}nav.expanded{display:flex;flex-direction:column;align-items:stretch;gap:8px}nav .nav-contact{margin-left:0}.hero{min-height:620px;height:calc(100svh - 100px);max-height:800px}.hero-content{padding-top:65px}.hero h1{font-size:57px;letter-spacing:-2.8px}.hero>img{object-position:65%}.hero-shade{background:linear-gradient(90deg,#102b24cf,#102b2445),linear-gradient(0deg,#102b2480,transparent)}.hero-lead{font-size:15px}.hero-bottom{font-size:8px;gap:20px}.hero-bottom a{font-size:7px;white-space:nowrap}.intro,.about,.contact{grid-template-columns:1fr;gap:25px}.wrap{padding:60px 6%}h2{letter-spacing:-1.4px}.section-head{display:block}.aside{max-width:100%;margin-top:25px}.project-grid{grid-template-columns:1fr;gap:30px}.card-image{height:360px}.filters{gap:18px}.filters button{font-size:10px}.principles{grid-template-columns:1fr;gap:25px;margin-top:40px}.principles h3{margin-top:25px}.principles p{max-width:100%}.engineering{grid-template-columns:1fr}.engineering-image{min-height:500px}.engineering-image img{object-position:center 40%}.engineering-text{padding:55px 6%}.contact h2{font-size:65px}.contact-foot{margin-top:30px;margin-bottom:25px}.about .large{font-size:20px}.form-pair{gap:15px}footer{flex-wrap:wrap;font-size:8px}dialog{padding:22px;width:95vw}.gallery-image{height:50svh}.dialog-top h2{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original layout with the supplied symbol only. */
.brand-symbol{display:block;width:48px;height:auto;aspect-ratio:190/180;flex-shrink:0;overflow:hidden;mix-blend-mode:multiply}.contact-foot a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:950px){.brand-symbol{width:43px}}
@media(max-width:700px){.brand-symbol{width:40px}}
/* Brochure portfolio and reader resources */
.explorer{display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1.2fr auto;gap:24px;align-items:end;border-top:1px solid var(--line);padding-top:24px}.explorer label{margin:0}.explorer input,.explorer select{min-height:48px}.reset{background:transparent;border-bottom:1px solid var(--ink);padding:16px 0;font-size:12px;white-space:nowrap}#result-count{font-size:12px;color:var(--muted);margin:22px 0 30px}.work .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 25px}.work .card-image{height:310px}.work .card-caption{align-items:start;min-height:145px}.work .card-caption h3{font-size:23px;line-height:1.25}.work .card-caption p{font-size:11px;color:var(--muted);margin:12px 0 0}.work .card-caption span{line-height:1.8;letter-spacing:.7px}.source-note{margin-top:38px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:12px}.source-note p{font-size:12px;max-width:1000px}summary{cursor:pointer;padding:10px 0;line-height:1.6}.systems{background:#e8e9e1}.system-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.system-grid>a{border-top:1px solid #a5b1a0;padding-top:25px}.system-grid .eyebrow{display:block;min-height:30px}.system-grid h3{font-size:27px;min-height:65px}.system-grid p{font-size:14px;color:var(--muted)}.system-grid .link{gap:0}.feature-story{display:grid;grid-template-columns:1.25fr 1fr;background:#d8dfd1}.feature-story>img{min-height:570px;max-height:670px}.feature-story>div{padding:75px 12%;align-self:center}.feature-story p:not(.eyebrow){font-size:14px}.reader-switch{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:0 0 40px}.reader-switch button{padding:17px 0;background:none;border-bottom:2px solid transparent;font-size:14px;color:var(--muted)}.reader-switch button.active{color:var(--green);border-color:var(--green)}.reader-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.reader-panel span{font-size:10px;letter-spacing:1px}.reader-panel h3{margin-top:28px}.reader-panel p{font-size:14px;color:var(--muted)}[hidden]{display:none!important}.faq{margin-top:45px;max-width:1000px}.faq details{border-top:1px solid var(--line);padding:12px 0}.faq summary{font-size:18px}.faq p{max-width:850px;font-size:14px;color:var(--muted)}.quality{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#e8e9e1;align-items:center}.quality p{font-size:14px}.quality figure{margin:0}.quality figure img{height:430px}.quality ol{padding-left:22px;margin:25px 0}.quality li{padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.quality li span{display:block;line-height:1.6;margin-top:8px;color:var(--muted)}figcaption{font-size:10px;color:var(--muted);line-height:1.5;padding:12px 0}.case-intro{padding-top:45px;padding-bottom:50px}.breadcrumb{display:inline-block;font-size:12px;margin-bottom:50px}.case-intro h1{font-size:clamp(42px,6vw,84px);line-height:1.04;letter-spacing:-2px;max-width:1000px;margin-bottom:25px}.case-lead{font-size:21px;max-width:840px;line-height:1.65;color:var(--muted)}.case-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid var(--line);padding-top:28px;margin-top:40px}.case-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:12px}.case-facts dd{font-size:15px;margin:0;line-height:1.6}.case-cover{margin:0 5%}.case-cover img{max-height:78svh;min-height:320px;object-fit:contain;background:#e2e6dc}.case-body{display:grid;grid-template-columns:1fr 1fr;gap:12%}.case-body h2{font-size:clamp(34px,4vw,55px)}.scope-list{padding:0;list-style:none}.scope-list li{border-top:1px solid var(--line);padding:20px 0;line-height:1.6;font-size:15px}.case-body article+article{margin-top:45px}.case-body article p:not(.eyebrow){color:var(--muted);font-size:15px}.case-body .eyebrow{margin-bottom:18px}.detail-images{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:35px}.detail-images figure{margin:0}.detail-images img{height:470px;object-fit:contain;background:#e4e7df}.detail-images figure:only-child{grid-column:1/-1}.detail-images figure:only-child img{height:auto;max-height:700px}.case-next{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#e6e9df}.related-links a{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #a4b19d;padding:25px 0;font-size:23px;line-height:1.4}.case-enquiry{background:var(--green);color:var(--paper)}.case-enquiry .archive-note{color:#c6d1c2;max-width:950px;margin-top:45px}.case-enquiry h2{max-width:850px}
@media(max-width:1100px){.explorer{grid-template-columns:repeat(2,1fr)}.explorer .search-label{grid-column:1/-1}.work .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-grid{grid-template-columns:repeat(2,1fr)}.system-grid h3{min-height:0}.feature-story>div{padding:50px 8%}.case-facts{grid-template-columns:1fr 1fr}nav{gap:16px}.nav-contact{margin-left:0}}
@media(max-width:700px){.work .project-grid,.system-grid,.reader-panel,.quality,.case-body,.case-next,.detail-images,.feature-story{grid-template-columns:1fr}.work .card-image{height:330px}.work .card-caption{min-height:0}.explorer{gap:16px}.explorer select{font-size:12px}.explorer label:nth-child(4){grid-column:1/-1}.reset{justify-self:start}.system-grid{gap:35px}.feature-story>img{min-height:0;height:350px}.feature-story>div{padding:50px 6%}.reader-switch{gap:20px}.reader-switch button{font-size:12px;text-align:left;line-height:1.6}.reader-panel{gap:25px}.reader-panel h3{margin-top:18px}.quality{gap:30px}.quality figure img{height:280px}.case-intro{padding-top:30px}.breadcrumb{margin-bottom:35px}.case-intro h1{font-size:43px}.case-lead{font-size:18px}.case-facts{gap:25px}.case-facts dd{font-size:13px}.case-body{gap:25px}.case-cover img{min-height:0;max-height:600px}.detail-images img{height:auto;max-height:500px}.case-next{gap:25px}.related-links a{font-size:21px}.quality ol{padding-left:18px}}

.ta-cover img{max-height:850px;background:#dde2d8}.ta-materials{background:#e7e9e0}.ta-table-scroll{overflow-x:auto}.ta-materials table{width:100%;border-collapse:collapse;min-width:620px;text-align:left}.ta-materials caption{text-align:left;font-size:12px;color:var(--muted);margin-bottom:20px}.ta-materials th,.ta-materials td{padding:22px 18px 22px 0;border-bottom:1px solid #b7c0b0;font-size:14px;line-height:1.7;vertical-align:top}.ta-materials thead th{font-size:11px;text-transform:uppercase;letter-spacing:1px}.ta-materials tbody th{font-weight:400;width:22%}.ta-materials td{width:39%}.ta-images{padding-top:70px}.ta-review-list{padding-left:20px;line-height:1.8}.ta-review-list li{padding-bottom:18px}
/* Quiet architectural background film */
.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .7s ease;pointer-events:none}.hero.film-ready .hero-film{opacity:1}.hero .hero-poster{object-position:center}.hero-shade{pointer-events:none;background:linear-gradient(90deg,rgba(10,35,29,.88),rgba(10,35,29,.52) 45%,rgba(10,35,29,.08) 78%),linear-gradient(0deg,rgba(10,35,29,.45),transparent 40%)}.film-toggle{position:absolute;right:5%;top:25px;z-index:3;display:inline-flex;align-items:center;gap:9px;border:1px solid #ffffff70;background:#14362c80;backdrop-filter:blur(8px);color:white;border-radius:24px;padding:11px 16px;font-size:11px;letter-spacing:.3px}.film-toggle:hover{background:#14362cbb}.hero-content{pointer-events:none}.hero-content a{pointer-events:auto}@media(max-width:700px){.hero-film,.hero .hero-poster{object-position:65% center}.film-toggle{top:18px;padding:9px 13px;font-size:10px}.hero-shade{background:linear-gradient(90deg,rgba(10,35,29,.84),rgba(10,35,29,.35)),linear-gradient(0deg,rgba(10,35,29,.5),transparent 45%)}}@media(prefers-reduced-motion:reduce){.hero-film{transition:none}}

/* Human-centred positioning and room for the architectural film. */
.hero h1{font-size:clamp(48px,5.2vw,82px);line-height:1.06;letter-spacing:-2.8px;max-width:760px}.hero-lead{max-width:590px;font-size:16px;line-height:1.8}.hero-content{padding-top:55px}.intro .intro-belief{font-size:25px;color:var(--ink);line-height:1.5}.contact h2{font-size:clamp(48px,5vw,76px);letter-spacing:-2.5px}.hero-shade{background:linear-gradient(90deg,rgba(10,35,29,.91),rgba(10,35,29,.66) 38%,rgba(10,35,29,.14) 63%,rgba(10,35,29,.03) 100%),linear-gradient(0deg,rgba(10,35,29,.4),transparent 24%)}@media(max-width:700px){.hero{min-height:760px;max-height:1040px}.hero h1{font-size:46px;letter-spacing:-2px;margin:22px 0}.hero-content{padding-top:62px}.hero-content .eyebrow{margin-bottom:15px}.hero-lead{font-size:13px;max-width:340px;line-height:1.7}.desktop-break{display:none}.hero-shade{background:linear-gradient(180deg,rgba(10,35,29,.85),rgba(10,35,29,.77) 38%,rgba(10,35,29,.12) 62%,rgba(10,35,29,.06) 83%,rgba(10,35,29,.5))}.hero-film{object-position:center}.hero-bottom{gap:12px;font-size:7px}.contact h2{font-size:49px}.intro .intro-belief{font-size:22px}}

/* A quiet image alongside the human-centred introduction. */
.intro{align-items:start;gap:7%;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.intro .intro-visual{max-width:none}.intro-visual figure{margin:32px 0 0;background:var(--paper);overflow:hidden;max-width:425px}.intro-visual img{width:100%;height:auto;aspect-ratio:0.68;object-fit:cover;opacity:.86;display:block}.intro-visual .eyebrow{margin-bottom:0}@media(max-width:700px){.intro{grid-template-columns:1fr;gap:35px}.intro-visual figure{max-width:none;margin-top:22px}.intro-visual img{height:350px;aspect-ratio:auto;object-position:center 62%}}

.quality .factory-overview img{height:auto;width:100%;object-fit:contain}.quality .factory-overview{max-width:580px;justify-self:center}

.about{align-items:start}.about-visual{min-width:0}.about-visual figure{margin:36px 0 0;max-width:550px}.about-visual img{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}.about .about-visual .eyebrow{color:var(--ink)}@media(max-width:700px){.about-visual figure{max-width:380px;margin:26px auto 0}}

/* Oversized coordination model, fading gently beneath the purpose copy. */
.about{position:relative;isolation:isolate}
.about-visual{position:relative;z-index:0}
.about-visual figure{width:165%;max-width:780px;margin:24px 0 0 -4%;pointer-events:none}
.about-visual img{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 56%,rgba(0,0,0,.65) 74%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 56%,rgba(0,0,0,.65) 74%,transparent 100%)}
.about>div:last-child{position:relative;z-index:1}
@media(max-width:700px){.about-visual figure{width:110%;max-width:520px;margin:22px 0 0 -5%}.about-visual img{-webkit-mask-image:none;mask-image:none}}

/* Give the balcony photograph more presence in the introduction. */
@media(min-width:701px){.intro{grid-template-columns:minmax(0,1.15fr) minmax(0,1.5fr);gap:5%}.intro-visual figure{max-width:none;width:100%}.intro-visual img{aspect-ratio:.8}}
@media(max-width:700px){.intro-visual img{height:430px}}

/* Project galleries keep entire elevations and drawings visible. */
.gallery-heading{grid-column:1/-1;margin-bottom:5px}.gallery-heading h2{margin:16px 0}.gallery-heading p:last-child{color:var(--muted);font-size:15px}.gallery-image-link{display:block;cursor:zoom-in}.gallery-image-link:focus-visible{outline:3px solid var(--green);outline-offset:5px}.detail-images img{height:450px;object-fit:contain;background:#e9ebe5}.detail-images figcaption{line-height:1.6;margin-top:12px}.project-viewer{width:96vw;max-width:1600px;height:94dvh;max-height:96dvh;padding:20px 26px;border:0;background:#15251f;color:#f4f2ec}.project-viewer::backdrop{background:#07120ee8}.project-viewer[open]{display:flex;flex-direction:column;gap:14px}.viewer-toolbar,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.viewer-toolbar{flex-shrink:0}.viewer-count{font-size:13px;letter-spacing:2px}.project-viewer button{border:1px solid #ffffff60;background:transparent;color:inherit;padding:10px 15px;cursor:pointer}.viewer-stage{display:flex;align-items:center;gap:18px;min-height:0;flex:1}.viewer-image{width:calc(100% - 140px);height:100%;min-width:0;object-fit:contain}.viewer-prev,.viewer-next{flex-shrink:0;font-size:23px}.viewer-bottom{font-size:13px;line-height:1.5;flex-shrink:0}.viewer-caption{margin:0}.viewer-original{white-space:nowrap;text-decoration:underline}.gallery-open{overflow:hidden}.project-viewer :focus-visible{outline:2px solid #d6e1a6;outline-offset:4px}@media(max-width:700px){.detail-images img{height:auto;max-height:560px}.project-viewer{padding:14px 10px}.viewer-stage{gap:6px}.viewer-image{width:calc(100% - 76px)}.project-viewer .viewer-prev,.project-viewer .viewer-next{padding:8px;font-size:20px}.viewer-bottom{display:block;font-size:12px}.viewer-original{display:inline-block;margin-top:10px}.gallery-heading h2{font-size:36px}}

/* An open, asymmetric image composition for the nature introduction. */
.intro{position:relative;isolation:isolate}.intro-visual{position:relative;z-index:0}.intro>div:last-child{position:relative;z-index:1}.intro-visual figure{background:transparent;overflow:visible}.intro-visual img{border-radius:0 44% 0 16% / 0 24% 0 14%;-webkit-mask-image:linear-gradient(100deg,#000 0%,#000 62%,rgba(0,0,0,.76) 78%,transparent 100%);mask-image:linear-gradient(100deg,#000 0%,#000 62%,rgba(0,0,0,.76) 78%,transparent 100%);opacity:.94}
@media(min-width:701px){.intro-visual figure{width:142%;margin:18px 0 0 -12%;max-width:none}.intro-visual img{height:clamp(520px,49vw,760px);aspect-ratio:auto;object-fit:cover;object-position:center 56%}.intro .intro-visual .eyebrow{position:relative;z-index:1}}
@media(max-width:700px){.intro-visual figure{width:110%;margin:20px 0 0 -5%}.intro-visual img{height:460px;object-position:center 60%;border-radius:0 40% 0 12% / 0 20% 0 10%;-webkit-mask-image:linear-gradient(100deg,#000 0%,#000 76%,transparent 100%);mask-image:linear-gradient(100deg,#000 0%,#000 76%,transparent 100%)}}

/* Keep introduction copy clear of the oversized balcony photograph. */
@media(min-width:1001px){.intro{grid-template-columns:minmax(0,41fr) minmax(0,43fr);gap:16%}.intro>div:last-child{min-width:0}}
@media(min-width:701px) and (max-width:1000px){.intro{grid-template-columns:minmax(0,40fr) minmax(0,54fr);gap:6%}.intro-visual figure{width:110%;margin-left:-12%}.intro>div:last-child{min-width:0}}

/* Full-size workshop photographs with calm dissolves and manual controls. */
.quality .workshop-film{position:relative;width:100%;max-width:none;aspect-ratio:4/3;align-self:center;margin:0;background:#173c35;overflow:hidden}
.quality .workshop-film .workshop-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s ease}
.quality .workshop-film .workshop-slide.active{opacity:1}
.workshop-controls{position:absolute;bottom:0;left:0;right:0;padding:38px 22px 18px;display:flex;justify-content:space-between;align-items:center;color:white;background:linear-gradient(transparent,rgba(7,25,20,.8))}
.workshop-controls[hidden]{display:none}.workshop-count{font-size:11px;letter-spacing:2px}.workshop-controls>div{display:flex;gap:8px}.workshop-controls button{background:#14362c90;color:white;border:1px solid #ffffff70;padding:10px 13px;font-size:12px}.workshop-controls button:hover{background:#14362c}
@media(max-width:700px){.quality .workshop-film{aspect-ratio:4/3}.workshop-controls{padding:30px 14px 14px}}
@media(prefers-reduced-motion:reduce){.quality .workshop-film .workshop-slide{transition:none}}

/* Join Us: a shared purpose, clear disciplines and room for future vacancies. */
.join-callout,.careers-apply{display:grid;grid-template-columns:1.15fr 1fr;gap:12%;background:var(--green);color:var(--paper)}.join-callout p:not(.eyebrow),.careers-apply p{color:#d4ded4}.join-callout h2{margin-bottom:0}.join-callout>div:last-child{align-self:center}
.careers-hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding-top:65px}.careers-hero h1{font-size:clamp(48px,5.6vw,86px);letter-spacing:-3px;line-height:1.05;margin:0 0 30px}.careers-hero h1 em{color:#526c58}.careers-lead{font-size:20px;max-width:420px;color:var(--muted)}.careers-hero figure{margin:0;min-width:0}.careers-hero img{height:580px;object-position:65% center;border-radius:44% 0 0 0 / 28% 0 0 0}.careers-hero figcaption{font-size:11px;color:var(--muted);padding-top:16px}
.careers-purpose{display:grid;grid-template-columns:1fr 1.5fr;gap:9%;border-top:1px solid var(--line)}.careers-purpose p:not(.eyebrow){max-width:670px;color:var(--muted);font-size:18px}.careers-values{background:#e5e8df}.careers-values .principles{margin-top:35px}.career-disciplines{display:grid;grid-template-columns:1fr 1fr;gap:0 7%}.career-disciplines article{display:flex;gap:24px;padding:30px 0;border-top:1px solid var(--line)}.career-disciplines article>span{font-size:11px;color:var(--muted);padding-top:5px}.career-disciplines h3{font-size:24px;margin-bottom:12px}.career-disciplines p{font-size:14px;color:var(--muted);margin:0}.career-openings{padding:38px;margin-top:35px;background:#e5e8df}.career-openings p:last-child{max-width:740px;margin-bottom:0}.careers-apply h2{font-size:clamp(42px,4.5vw,70px)}.careers-apply .career-email{font-size:14px;margin-top:20px}.careers-apply .career-small{font-size:12px;max-width:470px}nav a[aria-current="page"]{border-bottom:1px solid}
.hero-node{position:absolute;z-index:2;right:0;bottom:0;margin:0;width:clamp(115px,11vw,176px);height:clamp(155px,14vw,224px);padding:8px;background:#fff;pointer-events:none}.hero-node[hidden]{display:none}.hero .hero-node img{width:100%;height:100%;object-fit:contain;opacity:1}.hero.has-node .hero-bottom{right:calc(clamp(115px,11vw,176px) + 20px)}
@media(min-width:701px) and (max-width:1100px){nav{gap:12px;font-size:11px}.nav-contact{margin-left:0}.careers-hero img{height:470px}}
@media(max-width:700px){.join-callout,.careers-apply,.careers-hero,.careers-purpose,.career-disciplines{grid-template-columns:1fr;gap:30px}.careers-hero{padding-top:40px}.careers-hero h1{font-size:51px;letter-spacing:-2px}.careers-hero img{height:380px}.careers-lead{font-size:18px}.career-openings{padding:25px}.career-disciplines{gap:0}.hero-node{width:100px;height:145px;padding:5px}.hero.has-node .hero-bottom{right:115px}.hero.has-node .hero-bottom a{display:none}}
