:root{--ink:#102b32;--green:#16704e;--lime:#d4ef90;--paper:#fafbf8;--line:#dce3dc;--muted:#596764}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2a9976;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.25;font-weight:600;letter-spacing:-.045em}h2{font-size:clamp(32px,4.15vw,60px)}h3{font-size:24px}p+p{margin-top:22px}p{overflow-wrap:anywhere}button{border:0}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:16px}.skip:focus{top:5px}.header{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(250,251,248,.97);border-bottom:1px solid transparent;transition:box-shadow .3s}.header.scrolled{box-shadow:0 4px 24px #102b320d;border-color:var(--line)}.brand img{width:148px;height:65px;object-fit:contain;mix-blend-mode:multiply}.header nav{display:flex;align-items:center;gap:30px;font-size:14px}.header nav>a{padding:6px 0;position:relative}.header nav>a.current:after{content:'';height:2px;background:var(--green);position:absolute;bottom:0;left:0;width:100%}.header nav .nav-pill{padding:10px 20px;border:1px solid var(--ink);border-radius:99px}.nav-pill:hover{background:var(--ink);color:white}.menu{display:none}.hero{padding:46px 5vw 0}.hero-copy{max-width:1440px;margin:auto}.eyebrow{font-size:13px;letter-spacing:.13em;font-weight:500}.hero h1{font-size:clamp(44px,6.7vw,100px);margin:24px 0 25px;line-height:1.16;letter-spacing:-.055em}.hero h1 span{color:var(--green)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.hero-bottom p{font-size:17px;color:var(--muted)}.round-link{display:grid;place-items:center;border:1px solid var(--ink);width:60px;height:60px;border-radius:50%;font-size:28px;transition:background .3s,transform .3s}.round-link:hover{background:var(--lime);transform:translateY(3px)}.hero-photo{position:relative;height:clamp(340px,39vw,610px);overflow:hidden;border-radius:4px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#092521a3)}.photo-note{position:absolute;top:22px;left:25px;font-size:12px;padding:7px 12px;border-radius:3px;background:#102b32c7;color:white;z-index:1}.photo-label{position:absolute;bottom:32px;left:36px;color:white;font-size:clamp(23px,3vw,44px);z-index:1;letter-spacing:.08em}.photo-label span{display:block;font-size:12px;letter-spacing:.2em;margin-top:8px}.section{padding:105px 7vw}.section-label{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:54px;font-size:13px;letter-spacing:.09em}.about-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:8vw}.green{color:var(--green)}.about-grid p{color:var(--muted)}.about-grid .intro{color:var(--ink);font-size:21px;line-height:1.8}.tags{display:flex;gap:10px;margin-top:26px}.tags span{padding:5px 17px;border:1px solid var(--line);border-radius:99px;font-size:14px}.statement{display:flex;justify-content:space-between;margin-top:64px;padding-top:35px;border-top:1px solid var(--line);font-size:clamp(17px,2vw,26px)}.statement span:before{content:'＋';color:var(--green);margin-right:13px}.services{background:#eef2ee}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:48px}.section-heading p{color:var(--muted);max-width:330px}.service{border-top:1px solid #c7d2ca}.service:last-child{border-bottom:1px solid #c7d2ca}.service summary{display:flex;align-items:center;gap:30px;padding:27px 0}.number{font-size:14px;font-weight:400;letter-spacing:.06em;color:var(--muted)}.service summary h3{flex:1;font-size:clamp(23px,2.6vw,37px)}.toggle{font-size:29px;font-weight:300;transition:transform .3s}.service[open] .toggle{transform:rotate(45deg)}.service[open] h3{color:var(--green)}.service-body{display:grid;grid-template-columns:1fr 42%;gap:8vw;padding:4px 0 35px 50px}.service-body p{max-width:440px;color:var(--muted)}.service-body .lead{font-size:20px;color:var(--ink);margin-bottom:15px}.service-body img{width:100%;height:225px;object-fit:cover;border-radius:3px}.textlink{display:inline-block;margin-top:26px;border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:14px}.filters{display:flex;gap:10px;margin-bottom:34px;flex-wrap:wrap}.filter{background:transparent;border:1px solid var(--line);border-radius:100px;font-size:14px;padding:9px 20px;transition:background .2s}.filter.active{background:var(--ink);border-color:var(--ink);color:white}.filter:hover{border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:50px 30px}.project{background:transparent;text-align:left;padding:0;min-width:0}.project[hidden]{display:none}.project-image{position:relative;overflow:hidden;aspect-ratio:1.6;background:#e4e9e1;border-radius:3px}.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.project:hover .project-image>img{transform:scale(1.035)}.project-arrow{position:absolute;right:17px;top:17px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:white;font-size:24px}.project-kind{position:absolute;bottom:15px;left:17px;font-size:12px;padding:4px 9px;background:#102b32db;color:white}.project-title{display:flex;justify-content:space-between;align-items:center;padding-top:20px;gap:16px}.project-title p{font-size:13px;color:var(--green);margin-bottom:6px}.project-title h3{font-size:23px;line-height:1.45}.project-title div>span{font-size:14px;color:var(--muted)}.source-note{color:var(--muted);font-size:12px;margin-top:35px}.future{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr}.future-image{position:relative;min-height:710px}.future-image img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}.future-image:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 70%,#102b3299)}.future-image>span{position:absolute;bottom:24px;left:25px;z-index:1;font-size:12px}.future-copy{padding:70px 5vw}.badge{display:inline-block;border:1px solid #7c9998;border-radius:99px;padding:3px 10px;margin-left:10px;font-size:12px;letter-spacing:0}.future-copy h2{font-size:clamp(32px,3.8vw,55px);margin:30px 0}.future-copy h2>span{color:var(--lime)}.future-copy>p:not(.eyebrow){color:#c2d0cd}.future-list{margin-top:35px}.future-list details{border-top:1px solid #ffffff36;padding:19px 0}.future-list summary{font-size:17px;display:flex;justify-content:space-between;gap:10px}.future-list details p{font-size:14px;color:#bdceca;margin-top:14px}.coop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.coop-grid article{border-top:1px solid var(--ink);padding-top:20px}.coop-grid h3{margin:24px 0 15px}.coop-grid p{color:var(--muted);font-size:15px}.process{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:35px;margin-top:60px;font-size:17px}.process b{font-weight:400;color:#83948d}.closing{padding:65px 7vw;background:var(--lime);display:flex;justify-content:space-between;align-items:center;gap:30px}.closing h2{font-size:clamp(28px,3.4vw,48px);margin:15px 0 24px}.closing p:last-child{font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;border-radius:99px;background:var(--ink);color:white;font-size:15px;white-space:nowrap}.button.light{background:white;color:var(--ink)}footer{padding:28px 7vw;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}dialog{border:0;padding:0;border-radius:7px;max-width:780px;width:calc(100% - 36px);max-height:88dvh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#062428bb;backdrop-filter:blur(6px)}dialog>img{width:100%;height:310px;object-fit:cover}.dialog-copy{padding:30px 36px 40px}.dialog-copy h2{font-size:30px;margin:15px 0 22px}.dialog-copy p:not(.eyebrow){color:var(--muted)}.dialog-close{position:sticky;float:right;top:15px;margin:15px 15px -62px 0;width:42px;height:42px;border-radius:50%;font-size:30px;background:white;z-index:2}.modal-open{overflow:hidden}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#102b32f5;color:white;padding:14px 22px;max-width:90vw;width:max-content;border-radius:8px;z-index:50;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}
/* Mobile brochure */
.h5-body{background:#102b32}.h5-top{position:fixed;top:0;left:0;right:0;z-index:15;display:flex;justify-content:space-between;align-items:center;height:70px;padding:0 6vw;background:linear-gradient(#102b32b3,transparent);color:white}.h5-top>a{font-size:17px;font-weight:600;letter-spacing:.05em}.h5-top .page-count{font-size:12px;letter-spacing:.14em}.h5-scroll{scroll-snap-type:y proximity}.h5-panel{min-height:100svh;scroll-snap-align:start;position:relative;padding:108px 9vw 90px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.h5-panel h1{font-size:clamp(40px,6vw,76px);line-height:1.25;margin:25px 0}.h5-panel h2{font-size:clamp(32px,5vw,60px);margin:22px 0 28px}.h5-panel p{max-width:660px}.h5-panel .eyebrow{font-size:12px}.h5-panel.dark{color:white}.h5-panel.pale{background:#eef2ee}.h5-panel.white{background:var(--paper)}.h5-panel.lime{background:var(--lime)}.h5-panel.dark>.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.h5-panel.dark:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#071c2977,#071d28c9);z-index:0}.h5-panel>*:not(.bg){position:relative;z-index:1}.h5-panel .caption{font-size:12px;opacity:.75;margin-top:25px}.h5-panel .h5-logo{width:140px;border-radius:3px;margin-bottom:30px}.h5-intro{font-size:17px;line-height:1.9}.h5-services{border-top:1px solid #a7b6a8;margin-top:15px}.h5-services div{display:flex;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid #a7b6a8}.h5-services span{font-size:12px;color:var(--green)}.h5-services h3{font-size:21px}.h5-services p{font-size:14px;margin-top:3px;color:var(--muted)}.h5-card-photo{width:100%;height:29svh;max-height:390px;object-fit:cover;margin:8px 0 23px}.h5-mini{display:flex;gap:18px;margin-top:25px;flex-wrap:wrap}.h5-mini span{padding:6px 13px;border:1px solid #83928a;border-radius:30px;font-size:13px}.h5-nav-next{display:inline-block;margin-top:32px;border-bottom:1px solid currentColor;width:max-content;font-size:14px;padding-bottom:5px}.h5-bottom{position:fixed;bottom:0;left:0;right:0;z-index:15;background:#102b32f2;color:white;display:flex;justify-content:space-between;align-items:center;padding:14px 6vw calc(14px + env(safe-area-inset-bottom));gap:20px;font-size:13px;border-top:1px solid #ffffff25}.h5-bottom button{padding:7px 15px;background:var(--lime);border-radius:99px;font-size:13px;color:var(--ink)}.h5-dots{display:flex;gap:7px}.h5-dots a{width:19px;height:24px;display:grid;place-items:center}.h5-dots a:after{content:'';display:block;width:5px;height:5px;border-radius:50%;background:#809894}.h5-dots a.active:after{height:5px;width:17px;border-radius:5px;background:var(--lime)}.h5-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
@media(min-width:1000px){.h5-panel{padding-left:max(9vw,calc((100vw - 920px)/2));padding-right:max(9vw,calc((100vw - 920px)/2))}.h5-services{max-width:850px}.h5-panel.dark>.bg{object-position:center 40%}.h5-card-photo{max-width:900px}}
@media(max-width:1000px){.header{height:78px}.header nav{gap:18px}.brand img{width:127px}.header nav .nav-pill{padding:8px 12px}.section{padding:80px 6vw}.about-grid{gap:5vw}.service-body{gap:5vw}.future-copy{padding:55px 5vw}.coop-grid{gap:20px}}
@media(max-width:760px){html{scroll-padding-top:76px}.header{height:72px;padding:0 6vw}.brand img{width:125px;height:57px}.menu{display:flex;gap:12px;align-items:center;background:transparent;font-size:14px;padding:10px 0 10px 20px}.menu span{font-size:22px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;padding:18px 6vw 25px;background:var(--paper);box-shadow:0 18px 24px #102b3214;align-items:stretch;gap:9px}.header nav.open{display:flex;flex-direction:column}.header nav>a{padding:9px 0}.header nav .nav-pill{text-align:center;margin-top:7px}.hero{padding:36px 6vw 0}.hero h1{font-size:clamp(36px,8.4vw,60px);margin:24px 0;line-height:1.3}.hero-bottom{gap:20px;margin-bottom:27px}.hero-bottom p{font-size:14px}.round-link{width:44px;height:44px;font-size:22px;flex-shrink:0}.hero-photo{height:390px;border-radius:2px}.hero-photo img{object-position:58% center}.photo-note{left:14px;top:14px;font-size:11px}.photo-label{left:20px;bottom:22px;font-size:23px}.photo-label span{font-size:10px}.section{padding:65px 6vw}.section-label{font-size:11px;margin-bottom:34px}.about-grid{grid-template-columns:1fr;gap:27px}.about-grid .intro{font-size:18px}.about-grid p{font-size:15px}.statement{gap:16px;margin-top:35px;padding-top:25px;font-size:14px}.statement span:before{display:block;margin:0 0 8px}.section-heading{display:block;margin-bottom:32px}.section-heading p{margin-top:22px;font-size:14px}.service summary{gap:18px;padding:23px 0}.service summary h3{font-size:24px}.service-body{grid-template-columns:1fr;padding:0 0 27px;gap:22px}.service-body .lead{font-size:17px}.service-body p{font-size:14px}.service-body img{height:205px}.textlink{margin-top:19px}.filters{gap:8px;margin-bottom:25px}.filter{padding:7px 14px;font-size:13px}.project-grid{grid-template-columns:1fr;gap:34px}.project-title h3{font-size:21px}.project-title{padding-top:15px}.project-kind{font-size:11px}.project-image{aspect-ratio:1.5}.future{grid-template-columns:1fr}.future-image{min-height:340px}.future-copy{padding:45px 6vw}.future-copy>p:not(.eyebrow){font-size:15px}.future-copy h2{font-size:36px}.future-list summary{font-size:16px}.coop-grid{grid-template-columns:1fr 1fr;gap:32px 22px}.coop-grid h3{font-size:21px;margin:17px 0 10px}.coop-grid p{font-size:14px}.process{gap:10px;font-size:13px;margin-top:35px;padding-top:25px}.closing{display:block;padding:45px 6vw}.closing .button{margin-top:26px}.closing h2{font-size:30px}footer{padding:24px 6vw;flex-direction:column;gap:8px}dialog>img{height:220px}.dialog-copy{padding:24px}.dialog-copy h2{font-size:25px}.dialog-copy p{font-size:15px}.h5-panel{padding:96px 7vw 106px;min-height:100svh;scroll-margin-top:0}.h5-panel h1{font-size:42px}.h5-panel h2{font-size:34px}.h5-top{height:65px}.h5-intro{font-size:16px}.h5-services div{padding:15px 0;gap:15px}.h5-services h3{font-size:19px}.h5-services p{font-size:13px}.h5-bottom{gap:10px;font-size:12px;padding-left:5vw;padding-right:5vw}.h5-dots{gap:3px}.h5-dots a{width:17px}.h5-panel .h5-logo{width:125px}.h5-panel .button{padding:12px 22px}.h5-card-photo{height:28svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.h5-scroll{scroll-snap-type:none}}
.contact-slot{margin-top:28px;padding-top:25px;border-top:1px solid #102b3233}.contact-slot[hidden]{display:none}.contact-slot h3{margin-bottom:14px}.contact-slot a,.contact-slot p{display:block;font-size:16px;margin:7px 0}.contact-slot img{margin-top:16px}.h5-body:has(#p2:target) .h5-top{color:white}
.h5-top{background:#102b32ed}.h5-bottom{flex-direction:row}.h5-panel{scroll-margin-top:0}
/* Complete company presentation */
.rich-site{--paper:#fafbf8}.rich-site .header{padding-left:3vw;padding-right:3vw}.rich-site .header nav{gap:19px;font-size:13px}.rich-site .brand img{width:128px}.rich-hero{position:relative;min-height:670px;display:flex;align-items:center;color:white;background:#102b32}.rich-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rich-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#072523dd,#07252355)}.rich-hero-copy{position:relative;z-index:1;padding:60px 7vw}.rich-hero h1{font-size:clamp(44px,6.7vw,90px);margin:25px 0}.rich-hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.9}.rich-hero .button{margin-top:30px}.hero-caption{display:block;font-size:12px;opacity:.75;margin-top:30px}.contents{padding:45px 5vw 55px;background:#ecf1eb;scroll-margin-top:90px}.contents-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}.contents-grid a{display:flex;gap:12px;padding:20px;background:var(--paper);align-items:center;border:1px solid #d5ded2;transition:background .2s}.contents-grid a:hover{background:var(--lime)}.contents-grid span{font-size:13px;color:var(--green)}.contents-grid div{flex:1}.contents-grid h3{font-size:18px;letter-spacing:-.02em}.contents-grid p{font-size:12px;color:var(--muted);margin-top:4px}.contents-grid b{font-weight:400}.chapter{padding:65px 5vw 30px;scroll-margin-top:90px}.chapter:nth-of-type(even){background:#f0f3ef}.chapter-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;max-width:1360px;margin:0 auto 30px}.chapter-heading h2{font-size:clamp(30px,3.8vw,54px);margin:16px 0 20px;max-width:1000px}.chapter-heading>div>p:last-child{color:var(--muted);max-width:900px}.chapter-back{font-size:13px;white-space:nowrap;padding-bottom:7px;border-bottom:1px solid}.chapter-visual{position:relative;margin:0 auto 35px;max-width:1360px;height:300px;overflow:hidden}.chapter-visual img{width:100%;height:100%;object-fit:cover}.chapter-visual figcaption{position:absolute;bottom:15px;left:20px;padding:4px 10px;background:#102b32d9;color:white;font-size:12px}.source-list{max-width:1360px;margin:auto}.source-card{padding:35px;background:white;margin-bottom:25px;border:1px solid #dfe6dd;display:grid;grid-template-columns:1.1fr 1fr;gap:28px 35px;scroll-margin-top:100px}.source-heading{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:24px}.source-heading .eyebrow{color:var(--green);font-size:12px;letter-spacing:.04em}.source-heading h3{font-size:clamp(24px,2.45vw,35px);margin-top:10px;letter-spacing:-.03em;line-height:1.4}.source-copy{display:flex;flex-direction:column;gap:17px;justify-content:center;min-width:0}.source-copy p+p{margin-top:0}.copy-block h4{font-size:17px;margin:0 0 7px;font-weight:600;color:var(--ink)}.source-copy p{font-size:16px;line-height:1.85;color:var(--muted)}.source-copy .short-copy{color:var(--green);font-weight:500;font-size:17px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start;min-width:0}.gallery.count-1{grid-template-columns:1fr}.gallery figure{margin:0;min-width:0}.gallery figcaption{font-size:12px;color:var(--muted);padding-top:6px}.visual{position:relative;display:block;padding:0;background:#f0f3ed;width:100%;overflow:hidden;border-radius:3px}.visual img{width:100%;height:auto;object-fit:contain;transition:transform .4s}.visual:hover img{transform:scale(1.02)}.zoom-hint{position:absolute;right:8px;bottom:8px;color:white;background:#102b32c9;padding:3px 7px;font-size:11px;opacity:0;transition:opacity .2s}.visual:hover .zoom-hint,.visual:focus-visible .zoom-hint{opacity:1}.gallery.portraits{grid-template-columns:repeat(5,minmax(0,1fr));grid-column:1/-1;gap:15px}.gallery.portraits+.source-copy{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery.panoramas{grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1}.gallery.panoramas+.source-copy{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.source-card.spotlight{border-color:#bdd2b4;background:#f8fcf4}.source-card.spotlight .source-heading h3{color:#115c43}.table-wrap{grid-column:1/-1;overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;font-size:15px;min-width:570px}.table-wrap th{text-align:left;background:var(--ink);color:white;padding:14px 18px;white-space:nowrap;font-weight:500}.table-wrap td{padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}.table-wrap tr:nth-child(even){background:#f1f5ed}#photo-dialog{max-width:1250px;width:94vw;background:#102b32;color:white;padding:0}#photo-dialog>img{height:auto;max-height:80dvh;object-fit:contain;width:100%}#photo-caption{font-size:14px;padding:18px 24px;margin:0}.catalog-toggle{background:transparent;color:white;border:1px solid #ffffff50;border-radius:20px;padding:5px 13px;font-size:13px}#h5-catalog{position:fixed;z-index:19;top:70px;left:0;right:0;background:#102b32;display:grid;grid-template-columns:1fr 1fr;padding:15px 6vw 25px;gap:10px;color:white;border-bottom:1px solid #ffffff30}#h5-catalog[hidden]{display:none}#h5-catalog a{padding:10px 12px;border:1px solid #ffffff25;border-radius:3px;font-size:14px}#h5-catalog a.current{background:var(--lime);color:var(--ink)}.full-h5{padding-top:65px;padding-bottom:70px}.full-h5 .rich-hero{min-height:calc(100svh - 130px)}.full-h5 .chapter{scroll-margin-top:65px}.full-h5 .contents{scroll-margin-top:65px}.full-h5 .h5-top{z-index:20}.full-h5 .closing .button{display:none}
@media(max-width:1150px){.rich-site .menu{display:flex;gap:12px;align-items:center;background:transparent;font-size:14px;padding:10px 0 10px 20px}.rich-site .header{height:74px;padding:0 5vw}.rich-site .header nav{display:none;position:absolute;top:74px;left:0;right:0;padding:18px 5vw 25px;background:var(--paper);box-shadow:0 18px 24px #102b3214;align-items:stretch;gap:8px}.rich-site .header nav.open{display:grid;grid-template-columns:1fr 1fr}.rich-site .header nav>a{padding:10px}.rich-site .header nav .nav-pill{text-align:center;margin:0}.contents-grid{grid-template-columns:repeat(3,1fr)}.source-card{padding:27px;gap:24px}.source-copy p{font-size:15px}.gallery.portraits{gap:10px}.chapter{scroll-margin-top:80px}.chapter-heading h2{font-size:36px}}
@media(max-width:760px){.rich-hero{min-height:620px}.rich-hero-copy{padding:45px 6vw}.rich-hero h1{font-size:43px}.rich-hero-copy>p:not(.eyebrow){font-size:15px}.rich-hero .eyebrow{font-size:12px;letter-spacing:.03em}.rich-hero>img{object-position:63% center}.contents{padding:30px 5vw}.contents-grid{grid-template-columns:1fr 1fr;gap:9px}.contents-grid a{padding:14px 10px;gap:8px}.contents-grid h3{font-size:15px}.contents-grid span{font-size:11px}.contents-grid p{font-size:11px}.chapter{padding:45px 5vw 16px}.chapter-heading{display:block;margin-bottom:22px}.chapter-heading h2{font-size:29px;line-height:1.4;margin:13px 0}.chapter-heading>div>p:last-child{font-size:14px}.chapter-back{display:inline-block;margin-top:16px;font-size:12px}.chapter-visual{height:190px;margin-bottom:20px}.source-card{padding:21px 17px;grid-template-columns:1fr;gap:20px;margin-bottom:18px}.source-heading{padding-bottom:18px}.source-heading h3{font-size:24px;line-height:1.4}.source-heading .eyebrow{font-size:11px}.source-copy{gap:16px}.source-copy p{font-size:15px}.copy-block h4{font-size:16px}.source-copy .short-copy{font-size:16px}.gallery{gap:10px}.gallery.count-1{grid-template-columns:1fr}.gallery.count-3{grid-template-columns:1fr}.gallery.count-3 img{max-height:350px}.gallery.portraits{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gallery.portraits+.source-copy{display:flex}.gallery.panoramas{grid-template-columns:1fr}.gallery.panoramas+.source-copy{display:flex}.gallery figcaption{font-size:11px}.zoom-hint{opacity:1;font-size:10px}.table-wrap table{font-size:14px;min-width:520px}.table-wrap th,.table-wrap td{padding:12px}.full-h5 .rich-hero h1{font-size:40px}.full-h5 .rich-hero{min-height:calc(100svh - 135px)}.full-h5 .chapter{padding-left:4vw;padding-right:4vw}#photo-caption{font-size:12px;padding:16px}.source-card .gallery:only-child{grid-column:1/-1}}
.source-copy .wide-copy,.source-copy .pipeline{grid-column:1/-1}.source-copy .wide-copy{font-size:18px;color:var(--green);margin-bottom:6px}.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;background:#eaf2e4;padding:22px}.pipeline h4{font-size:16px;margin:0 0 7px}.pipeline p{font-size:13px}.team-subtitle{color:var(--green)!important;margin-bottom:8px!important}.gallery.panoramas+.source-copy>.copy-block{padding-top:15px;border-top:1px solid var(--line)}#source-46 .gallery{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}#source-26 .gallery{max-width:320px}#source-26 .source-copy:empty,#source-46 .source-copy:empty{display:none}@media(max-width:760px){.pipeline{grid-template-columns:1fr 1fr;padding:16px}.source-copy .wide-copy{font-size:16px}#source-46 .gallery{grid-template-columns:1fr}.gallery.panoramas+.source-copy>.copy-block{padding-top:15px}}
#photo-dialog .dialog-close{color:var(--ink);background:white}
/* Compact browsing and independent introductions */
.project-carousel{min-width:0}.carousel-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px}.carousel-toolbar>p{font-size:12px;color:#687778}.carousel-toolbar>div{display:flex;align-items:center;gap:12px;flex-shrink:0}.carousel-toolbar button{border:1px solid #c5ceca;background:transparent;border-radius:24px;padding:10px 16px;cursor:pointer;color:#173a3f;font:inherit;font-size:13px}.carousel-toolbar button:hover{background:#dfe8d4}.carousel-count{font-variant-numeric:tabular-nums;font-size:12px;min-width:44px;text-align:center}.carousel-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a7b8ad transparent;overscroll-behavior-x:contain;padding:0 0 18px}.project-card{flex:0 0 calc((100% - 44px)/3);min-width:0;background:white;border:1px solid #dde4df;scroll-snap-align:start;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;transition:border-color .2s}.project-card:hover{border-color:#748c6c}.project-card:focus-visible{outline:3px solid #739e37;outline-offset:-3px}.project-cover{aspect-ratio:4/3;position:relative;overflow:hidden;background:#e2e8e0}.project-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.project-card:hover img{transform:scale(1.04)}.project-cover>span{position:absolute;bottom:14px;right:14px;background:#173a3fe8;color:white;padding:8px 12px;font-size:12px}.project-copy{padding:24px;display:flex;flex:1;flex-direction:column}.project-copy .eyebrow{font-size:11px;margin:0 0 12px}.project-copy h3{font-size:23px;line-height:1.4;margin:0 0 16px}.project-summary{font-size:14px;line-height:1.8;color:#60716f;margin:0 0 24px}.project-more{margin-top:auto;border-top:1px solid #e4e8e2;padding-top:16px;display:flex;justify-content:space-between;font-size:13px}.detail-top{position:sticky;top:0;z-index:20;background:#173a3f;color:white;display:flex;justify-content:space-between;padding:22px max(24px,calc((100vw - 1200px)/2));gap:24px}.detail-top a{color:white;text-decoration:none}.detail-main{max-width:1240px;margin:42px auto;padding:0 24px}.detail-page .source-card{margin:0}.detail-page .source-heading h3{font-size:clamp(28px,4vw,48px)}.detail-next{display:flex;justify-content:space-between;gap:28px;margin:36px 0}.detail-next a{color:#173a3f;text-decoration:none;max-width:46%;line-height:1.6}.rich-site .chapter{padding-top:60px;padding-bottom:60px}.detail-page footer{padding-bottom:30px}@media(max-width:1000px){.project-card{flex-basis:calc((100% - 22px)/2)}}@media(max-width:600px){.project-card{flex-basis:88%}.carousel-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.carousel-toolbar>div{align-self:flex-end;gap:10px}.carousel-toolbar button{padding:8px 12px}.project-copy{padding:20px}.project-copy h3{font-size:22px}.carousel-track{gap:14px}.detail-main{margin:20px auto;padding:0 14px}.detail-top{padding:18px 16px;font-size:13px}.detail-page .source-card{padding:20px}.detail-next{font-size:13px}.rich-site .chapter{padding-top:40px;padding-bottom:40px}}@media(prefers-reduced-motion:reduce){.project-cover img{transition:none}}
