:root{--project-navy:#061f31;--project-deep:#041722;--project-cyan:#31bfd8;--project-ink:#102b39;--project-muted:#5c707a;--project-line:#d9e2e5;--project-soft:#f4f7f7}.project-detail{color:var(--project-ink);background:#fff}.project-shell{width:min(90vw,1440px);margin-inline:auto}.project-split-hero{display:grid;grid-template-columns:minmax(360px,40fr) minmax(0,60fr);height:clamp(620px,74vh,860px);min-height:620px;background:var(--project-navy)}.project-hero-info{display:flex;align-items:center;min-width:0;padding:clamp(86px,8vw,140px) clamp(28px,5vw,88px) 48px;color:#fff}.project-hero-copy{width:min(100%,620px);margin-left:auto}.project-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(32px,5vh,64px);color:#9fb4bd;font-size:13px}.project-breadcrumb a{color:#e7f3f6}.project-hero-info .eyebrow{color:#66d7e9}.project-hero-info h1{max-width:13ch;margin:12px 0 22px;color:#fff;font-size:clamp(42px,4.5vw,74px);line-height:.98;letter-spacing:-.045em;overflow-wrap:anywhere}.project-hero-intro{max-width:44rem;margin:0;color:#d2e0e5;font-size:clamp(16px,1.3vw,19px);line-height:1.65}.project-hero-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:24px;color:#a9bec6;font-size:14px}.project-hero-meta span+span:before{content:'•';margin-right:24px;color:var(--project-cyan)}.project-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.project-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 20px;border:1px solid transparent;border-radius:4px;font-size:15px;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}.project-button:hover{transform:translateY(-1px)}.project-button:focus-visible{outline:3px solid #72ddec;outline-offset:3px}.project-button--light{border-color:#fff;background:#fff;color:var(--project-navy)}.project-button--cyan{background:var(--project-cyan);color:#032333;box-shadow:0 8px 22px rgba(0,0,0,.13)}.project-button--outline{border-color:rgba(255,255,255,.55);color:#fff}.project-hero-media{position:relative;min-width:0;overflow:hidden;background:#dfe8ea}.project-hero-media>img{width:100%;height:100%;object-fit:cover}.project-gallery-count{position:absolute;right:22px;bottom:22px;padding:8px 12px;border-radius:999px;background:rgba(2,24,34,.82);color:#fff;font-size:12px}.project-image-placeholder{display:grid;place-content:center;height:100%;padding:30px;background:linear-gradient(135deg,#dfe8e9,#f5f7f5);color:#46636e;text-align:center}.project-image-placeholder span{color:#168ca5;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.project-image-placeholder strong{margin-top:12px;font-size:24px}.project-facts{border-bottom:1px solid var(--project-line);background:#fff}.project-facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:0}.project-facts dl div{padding:28px clamp(16px,2.5vw,38px);border-right:1px solid var(--project-line)}.project-facts dl div:last-child{border-right:0}.project-facts dt,.project-credits dt{color:#1489a3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.project-facts dd,.project-credits dd{margin:8px 0 0;color:var(--project-ink);font-size:16px;font-weight:750;line-height:1.5}.project-section{padding:clamp(72px,9vw,132px) 0}.project-section .eyebrow{color:#1288a2}.project-section h2,.project-final-cta h2{margin:10px 0 30px;font-size:clamp(34px,4vw,58px);line-height:1.03;letter-spacing:-.04em}.project-overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.8fr);gap:clamp(48px,8vw,130px)}.project-overview-grid>div:only-child{max-width:900px}.project-rich-text{color:#405b67;font-size:clamp(17px,1.4vw,19px);line-height:1.8}.project-rich-text>:first-child{margin-top:0}.project-rich-text>:last-child{margin-bottom:0}.project-rich-text img{max-width:100%;height:auto}.project-scope{padding:clamp(28px,4vw,48px);background:var(--project-soft);align-self:start}.project-scope h2{font-size:clamp(27px,2.5vw,38px)}.project-scope ul{display:grid;gap:16px;margin:0;padding:0;list-style:none}.project-scope li{position:relative;padding-left:30px;font-size:16px;line-height:1.55}.project-scope li:before{content:'✓';position:absolute;left:0;color:#1189a4;font-weight:900}.project-featured-image{background:var(--project-deep)}.project-featured-image figure{margin:0}.project-featured-image img{display:block;width:100%;height:clamp(520px,72vw,900px);object-fit:cover}.project-featured-image figcaption{padding:12px 5vw;color:#b8c9d0;font-size:13px}.project-gallery-section{background:var(--project-deep);color:#fff}.project-gallery-section h2{color:#fff}.project-editorial-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.project-editorial-gallery figure{grid-column:span 6;margin:0}.project-editorial-gallery figure.is-leading{grid-column:span 12}.project-editorial-gallery button{display:block;width:100%;padding:0;overflow:hidden;border:0;background:#0d303e;cursor:zoom-in}.project-editorial-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s}.project-editorial-gallery .is-leading img{aspect-ratio:16/8}.project-editorial-gallery button:hover img{transform:scale(1.015)}.project-editorial-gallery figcaption{padding:10px 2px;color:#b8c9cf;font-size:13px}.project-products{background:var(--project-soft)}.project-product-card{max-width:920px;padding:clamp(26px,4vw,44px);border-left:4px solid var(--project-cyan);background:#fff}.project-product-card p{margin:0;color:#334f5a;font-size:18px;line-height:1.75}.project-credits dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;margin:0;background:var(--project-line)}.project-credits dl div{padding:24px;background:#fff}.related-projects{background:var(--project-soft)}.related-grid em{display:block;margin:18px 10px 0;color:#0a7f99;font-style:normal;font-size:13px;font-weight:850}.project-final-cta{padding:clamp(68px,8vw,110px) 0;background:var(--project-navy);color:#fff}.project-final-cta .project-shell{display:flex;align-items:end;justify-content:space-between;gap:40px}.project-final-cta h2{margin-bottom:14px;color:#fff}.project-final-cta p{margin:0;color:#c7d7dd;font-size:17px}.project-final-cta .project-shell>div:last-child{display:flex;flex-wrap:wrap;gap:12px}.project-lightbox{width:min(1240px,94vw);height:min(880px,94vh);padding:60px 72px 42px;border:0;background:#031b26;color:#fff}.project-lightbox::backdrop{background:rgba(0,10,15,.9)}.project-lightbox[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px}.project-lightbox figure{margin:0;text-align:center}.project-lightbox img{max-width:100%;max-height:72vh;object-fit:contain}.project-lightbox figcaption{margin-top:12px}.project-lightbox button{width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#0b3443;color:#fff;font-size:20px}.project-lightbox-toolbar{position:absolute;top:14px;right:16px;left:20px;display:flex;align-items:center;justify-content:space-between}.project-lightbox-toolbar .lightbox-close{position:static}.project-template--image_led_residential .project-split-hero{grid-template-columns:minmax(340px,36fr) minmax(0,64fr)}.project-template--commercial_technical .project-facts{border-top:5px solid var(--project-cyan)}.project-template--before_after .project-editorial-gallery figure{grid-column:span 6}.project-template--compact_portfolio .project-section{padding-block:clamp(54px,6vw,82px)}.project-template--detailed_story .project-rich-text{max-width:780px;font-family:Georgia,serif;font-size:19px}.project-template--architectural_case_study .project-hero-info{background:linear-gradient(145deg,#061f31,#0a3345)}
@media(max-width:900px){.project-split-hero{display:flex;height:auto;min-height:0;flex-direction:column}.project-hero-media{order:1;height:clamp(330px,62vw,560px)}.project-hero-info{order:2;padding:48px 24px 54px}.project-hero-copy{width:min(100%,720px);margin:auto}.project-breadcrumb{margin-bottom:28px}.project-overview-grid{grid-template-columns:1fr}.project-final-cta .project-shell{align-items:start;flex-direction:column}.project-facts dl{grid-template-columns:repeat(2,minmax(0,1fr))}.project-facts dl div:nth-child(2n){border-right:0}.project-featured-image img{height:auto;max-height:760px}.project-template--image_led_residential .project-split-hero{display:flex}}
@media(max-width:600px){.project-shell{width:calc(100% - 32px)}.project-hero-media{height:68vw;min-height:280px}.project-hero-info h1{font-size:clamp(38px,12vw,54px)}.project-hero-actions,.project-hero-actions .project-button{width:100%}.project-hero-meta{display:grid}.project-hero-meta span+span:before{display:none}.project-facts dl{grid-template-columns:1fr 1fr}.project-facts dl div{padding:20px 14px;border-bottom:1px solid var(--project-line)}.project-facts dd{font-size:14px}.project-editorial-gallery{grid-template-columns:1fr}.project-editorial-gallery figure,.project-editorial-gallery figure.is-leading{grid-column:auto}.project-editorial-gallery img,.project-editorial-gallery .is-leading img{aspect-ratio:auto;max-height:75vh}.project-lightbox{padding:58px 12px 76px}.project-lightbox[open]{grid-template-columns:1fr}.project-lightbox .lightbox-prev,.project-lightbox .lightbox-next{position:absolute;bottom:15px}.project-lightbox .lightbox-prev{left:18px}.project-lightbox .lightbox-next{right:18px}.project-final-cta .project-shell>div:last-child,.project-final-cta .project-button{width:100%}}
@media(max-width:360px){.project-shell{width:calc(100% - 24px)}.project-facts dl{grid-template-columns:1fr}.project-facts dl div{border-right:0}}
@media(prefers-reduced-motion:reduce){.project-button,.project-editorial-gallery img{transition:none}}
.project-lightbox-open{overflow:hidden}
html body.project-detail-page .floating-quote,html body.project-detail-page.commercial-page .floating-quote{display:inline-flex;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}
.project-facts+.project-products,.project-facts+.project-credits,.project-facts+.related-projects,.project-facts+.project-final-cta{padding-top:clamp(48px,6vw,84px)}
.project-gallery-section{padding-block:clamp(72px,7vw,116px)}.project-gallery-section .project-shell{width:min(94vw,2100px)}.project-gallery-section .project-section-heading{margin-bottom:clamp(28px,3vw,52px)}.project-gallery-section .project-section-heading .eyebrow{font-size:13px;letter-spacing:.14em}.project-gallery-section .project-section-heading h2{margin-bottom:0;font-size:clamp(42px,3.3vw,72px)}.project-editorial-gallery{grid-auto-flow:dense;gap:clamp(18px,1.3vw,30px)}.project-editorial-gallery figure{grid-column:span 6;min-width:0}.project-editorial-gallery figure.is-leading{grid-column:span 8}.project-editorial-gallery figure.is-leading+figure{grid-column:span 4}.project-editorial-gallery button{height:clamp(480px,32vw,760px);border-radius:14px}.project-editorial-gallery img,.project-editorial-gallery .is-leading img{width:100%;height:100%;aspect-ratio:auto}.project-editorial-gallery .is-portrait img{object-fit:contain;background:#092936}.project-editorial-gallery .is-landscape img{object-fit:cover}.project-editorial-gallery figcaption{padding:13px 4px 0;color:#d2dfe3;font-size:15px;line-height:1.5}
@media(max-width:1100px){.project-gallery-section .project-shell{width:calc(100% - 48px)}.project-editorial-gallery button{height:clamp(400px,48vw,640px)}}
@media(max-width:700px){.project-gallery-section{padding-block:64px}.project-gallery-section .project-shell{width:calc(100% - 32px)}.project-gallery-section .project-section-heading h2{font-size:clamp(36px,10vw,48px)}.project-editorial-gallery figure,.project-editorial-gallery figure.is-leading,.project-editorial-gallery figure.is-leading+figure{grid-column:1/-1}.project-editorial-gallery button{height:auto;min-height:0;aspect-ratio:4/3}.project-editorial-gallery .is-portrait button{aspect-ratio:3/4}.project-editorial-gallery figcaption{font-size:14px}}

/* Viewport-bound project image viewer. Keep this independent from the approved gallery grid. */
html.project-lightbox-open,html.project-lightbox-open body{overflow:hidden;overscroll-behavior:none}
.project-lightbox{position:fixed;z-index:10000;inset:0;width:100dvw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(68px,8dvh,92px) clamp(76px,7dvw,124px) clamp(74px,9dvh,108px);overflow:hidden;border:0;background:rgba(3,27,38,.98);color:#fff}
.project-lightbox[open]{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;gap:0}
.project-lightbox .lightbox-dismiss-form{position:absolute;z-index:0;inset:0;margin:0}.project-lightbox .lightbox-dismiss{width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(0,0,0,.001);cursor:zoom-out}
.project-lightbox figure{position:relative;z-index:1;display:grid;width:100%;height:100%;min-width:0;min-height:0;margin:0;grid-template-rows:minmax(0,1fr) auto;place-items:center;pointer-events:none;text-align:center}.project-lightbox figure img{pointer-events:auto}
.project-lightbox img{display:block;width:auto;height:auto;min-width:0;min-height:0;max-width:min(100%,calc(100dvw - clamp(152px,14dvw,248px)));max-height:100%;object-fit:contain}
.project-lightbox figcaption{max-width:min(78ch,calc(100dvw - 48px));min-height:1.5em;margin:12px auto 0;color:#d7e4e8;font-size:clamp(14px,1.1vw,17px);line-height:1.5}
.project-lightbox-toolbar{position:fixed;z-index:2;top:max(16px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));left:max(20px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.project-lightbox-toolbar>*{pointer-events:auto}.project-lightbox-toolbar [data-lightbox-count]{padding:7px 11px;border-radius:999px;background:rgba(0,0,0,.3);font-size:14px;font-weight:750}
.project-lightbox .lightbox-prev,.project-lightbox .lightbox-next{position:fixed;z-index:2;top:50%;transform:translateY(-50%)}
.project-lightbox .lightbox-prev{left:max(18px,env(safe-area-inset-left))}.project-lightbox .lightbox-next{right:max(18px,env(safe-area-inset-right))}
.project-lightbox button:focus-visible{outline:3px solid #72ddec;outline-offset:4px}
@media(max-width:700px){.project-lightbox{padding:max(66px,calc(env(safe-area-inset-top) + 56px)) 16px max(86px,calc(env(safe-area-inset-bottom) + 76px))}.project-lightbox img{max-width:calc(100dvw - 32px);max-height:100%}.project-lightbox figcaption{margin-top:10px;font-size:14px}.project-lightbox .lightbox-prev,.project-lightbox .lightbox-next{top:auto;bottom:max(16px,env(safe-area-inset-bottom));transform:none}.project-lightbox .lightbox-prev{left:max(20px,env(safe-area-inset-left))}.project-lightbox .lightbox-next{right:max(20px,env(safe-area-inset-right))}}

/* Unified project hero carousel. */
.project-split-hero{height:clamp(560px,calc(100dvh - var(--project-header-offset,112px)),920px);min-height:0;margin-top:var(--project-header-offset,112px)}
.project-hero-copy{padding-block:28px}.project-breadcrumb{margin-bottom:clamp(22px,3vh,40px)}
.project-hero-info h1{font-size:clamp(40px,4vw,68px)}
.project-back-link{display:inline-flex;align-items:center;min-height:40px;margin:0 0 18px;padding:7px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#eef8fa;font-size:13px;font-weight:800;text-decoration:none;transition:background .15s,border-color .15s,transform .15s}.project-back-link:hover{border-color:rgba(103,216,233,.8);background:rgba(49,191,216,.12);transform:translateX(-2px)}.project-back-link:focus-visible{outline:3px solid #72ddec;outline-offset:3px}
.project-hero-detail{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}
.project-hero-detail span{display:block;color:#68d6e8;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.13em}
.project-hero-detail p{max-width:48rem;margin:7px 0 0;color:#d1e0e5;font-size:14px;line-height:1.55}
.project-hero-media.has-media{display:grid;height:100%;min-height:0;max-height:100%;grid-template-rows:minmax(0,1fr);background:#071e29}
.project-hero-media.has-carousel{grid-template-rows:minmax(0,1fr) auto}
.project-hero-slides{position:relative;min-width:0;min-height:0;overflow:hidden}
.project-hero-slide{position:absolute;inset:0;display:grid;min-width:0;min-height:0;margin:0;grid-template-rows:minmax(0,1fr) auto;visibility:hidden;opacity:0;transition:opacity .28s ease}
.project-hero-slide.is-active{visibility:visible;opacity:1}.project-hero-slide img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.project-hero-slide figcaption{padding:10px 18px;background:#071e29;color:#d6e2e6;font-size:13px;line-height:1.4}
.project-carousel-toolbar{position:absolute;z-index:3;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));left:max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.project-carousel-toolbar span,.project-carousel-toolbar button{border:1px solid rgba(255,255,255,.3);background:rgba(2,22,31,.82);color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.18);backdrop-filter:blur(5px)}
.project-carousel-toolbar span{padding:8px 12px;border-radius:999px;font-size:13px;font-weight:800}.project-carousel-toolbar button{display:grid;width:44px;height:44px;padding:0;place-items:center;border-radius:50%;font-size:24px;cursor:zoom-in;pointer-events:auto}
.project-slide-arrow{position:absolute;z-index:3;top:45%;display:grid;width:46px;height:46px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(2,22,31,.72);color:#fff;font-size:20px;cursor:pointer;transform:translateY(-50%)}
.project-slide-arrow.is-prev{left:max(18px,env(safe-area-inset-left))}.project-slide-arrow.is-next{right:max(18px,env(safe-area-inset-right))}
.project-slide-thumbs{display:flex;min-width:0;gap:9px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));overflow-x:auto;background:#061a24;scrollbar-width:thin}
.project-slide-thumbs button{flex:0 0 72px;height:52px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:4px;background:#0a2b39;cursor:pointer;opacity:.62}.project-slide-thumbs button.is-active{border-color:var(--project-cyan);opacity:1}.project-slide-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.project-carousel-toolbar button:hover,.project-slide-arrow:hover{background:#0b4558}.project-carousel-toolbar button:focus-visible,.project-slide-arrow:focus-visible,.project-slide-thumbs button:focus-visible,.project-hero-media:focus-visible{outline:3px solid #72ddec;outline-offset:3px}
@media(max-width:900px){.project-split-hero{min-height:0}.project-hero-media.has-media{height:clamp(430px,70vw,620px);min-height:0}.project-hero-info{padding-top:46px}.project-hero-copy{padding-block:0}}
@media(max-width:600px){.project-hero-media.has-media{height:clamp(390px,105vw,560px)}.project-slide-arrow{top:43%;width:42px;height:42px}.project-slide-arrow.is-prev{left:12px}.project-slide-arrow.is-next{right:12px}.project-carousel-toolbar{top:max(12px,env(safe-area-inset-top));right:12px;left:12px}.project-slide-thumbs{gap:7px;padding-inline:10px}.project-slide-thumbs button{flex-basis:60px;height:44px}.project-hero-slide figcaption{padding:8px 12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.project-hero-slide{transition:none}}
.project-overview-highlights{display:grid;align-self:start;gap:1px;margin:0;padding:0;background:var(--project-line);list-style:none}.project-overview-highlights li{padding:22px;background:#fff}.project-overview-highlights span,.project-overview-highlights strong{display:block}.project-overview-highlights span{color:#1288a2;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.project-overview-highlights strong{margin-top:7px;color:var(--project-ink);font-size:16px;line-height:1.45}
@media(max-width:900px){html body.project-detail-page .floating-quote,html body.project-detail-page.commercial-page .floating-quote{display:none}.project-overview-highlights{width:100%}}
.project-hero-essential{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}.project-hero-overview>span,.project-hero-essential li span{display:block;color:#68d6e8;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.project-hero-overview p{margin:6px 0 0;color:#dbe7ea;font-size:13px;line-height:1.5}.project-hero-essential ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.project-hero-essential li{min-width:0;padding:9px 10px;background:rgba(255,255,255,.055)}.project-hero-essential li strong{display:block;margin-top:4px;color:#fff;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.project-story-link{display:inline-flex;margin-top:12px;color:#75ddec;font-size:13px;font-weight:800;text-underline-offset:4px}
@media(min-width:901px){.project-hero-info{padding:34px clamp(28px,4vw,70px) 30px}.project-hero-copy{padding-block:0}.project-hero-actions{margin-top:20px}}
@media(min-width:901px) and (max-height:850px){.project-back-link{min-height:36px;margin-bottom:10px}.project-breadcrumb{margin-bottom:14px}.project-hero-info .eyebrow{margin-block:4px}.project-hero-info h1{margin:7px 0 12px;font-size:clamp(34px,3.5vw,52px)}.project-hero-intro{font-size:15px;line-height:1.45}.project-hero-meta{margin-top:12px}.project-hero-detail{margin-top:11px;padding-top:9px}.project-hero-detail p{margin-top:4px;font-size:12px;line-height:1.4}.project-hero-essential{gap:8px;margin-top:10px;padding-top:9px}.project-hero-overview p{font-size:12px;line-height:1.4}.project-story-link{margin-top:8px}}
@media(max-width:900px){.project-split-hero{height:auto}.project-hero-essential ul{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
body.project-detail-page{background:var(--project-navy)}
.project-split-hero{height:clamp(620px,calc(100dvh - var(--project-header-offset,112px) - 190px),760px);min-height:620px}
.project-hero-slide img{object-fit:contain;background:#071e29}
.project-overview-band{background:#eef3f3;color:var(--project-ink)}.project-overview-band>.project-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);align-items:center;gap:clamp(28px,4vw,72px);min-height:174px;padding-block:22px}.project-overview-band .eyebrow{margin:0 0 7px;color:#1288a2}.project-overview-copy{display:-webkit-box;margin:0;color:#36515c;font-size:15px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.project-overview-band ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.project-overview-band li{display:flex;min-width:0;gap:9px;padding:12px;border-left:1px solid #cddbdd}.project-overview-band li>span{color:#1695ae;font-size:18px}.project-overview-band small,.project-overview-band strong{display:block}.project-overview-band small{color:#1688a0;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.project-overview-band strong{margin-top:4px;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:900px){.project-hero-media.has-media{height:clamp(430px,70vw,620px);min-height:430px;max-height:none}.project-overview-band>.project-shell{grid-template-columns:1fr;min-height:0;padding-block:32px}.project-overview-band ul{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.project-overview-copy{display:block;overflow:visible}.project-overview-band li{border-left:0;border-top:1px solid #cddbdd}}
@media(max-width:600px){.project-hero-media.has-media{height:clamp(390px,105vw,560px);min-height:390px}}

/* Approved unified-navy project presentation */
.project-detail{background:var(--project-navy)}
.project-split-hero{width:min(90vw,1480px);grid-template-columns:minmax(360px,40fr) minmax(0,60fr);margin-inline:auto;background:transparent}
.project-hero-info{padding-right:clamp(30px,4vw,76px);padding-left:clamp(20px,3vw,58px);border-right:1px solid rgba(75,190,214,.18)}
.project-hero-copy{width:100%;max-width:720px}
.project-hero-media{align-self:center;height:calc(100% - 24px);min-height:0;margin-block:12px;border:1px solid rgba(73,183,207,.42);background:#071e29;box-shadow:none}
.project-hero-slides{margin:0}.project-hero-slide figcaption{border-top:1px solid rgba(73,183,207,.22)}
.project-overview-band{background:var(--project-navy);color:#fff}
.project-overview-band>.project-shell{width:min(90vw,1480px);min-height:138px;padding:20px clamp(20px,3vw,48px);border-top:1px solid rgba(73,183,207,.28);border-bottom:1px solid rgba(73,183,207,.18);grid-template-columns:minmax(0,36fr) minmax(540px,64fr);gap:clamp(24px,3vw,48px)}
.project-overview-band .eyebrow,.project-overview-band small{color:#66d7e9}.project-overview-copy{color:#d4e2e7;font-size:clamp(15px,.9vw,18px)}
.project-overview-band ul{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0}.project-overview-band li{align-items:center;min-height:68px;padding:10px clamp(12px,1.4vw,22px);border-left-color:rgba(104,214,232,.24)}.project-overview-band strong{color:#fff;font-size:clamp(13px,.78vw,16px)}
.project-overview-band.is-facts-only>.project-shell{grid-template-columns:1fr}.project-overview-band.is-facts-only ul{width:min(100%,900px);margin-inline:auto}
.related-projects{background:var(--project-soft)}
.project-final-cta a[href*="#quote"]{display:none}
@media(min-width:1800px){.project-hero-info h1{font-size:clamp(58px,3.25vw,82px)}.project-hero-intro{font-size:clamp(18px,1vw,22px)}.project-hero-info{font-size:16px}}
@media(max-width:900px){.project-split-hero{width:100%;grid-template-columns:1fr}.project-hero-info{border-right:0}.project-hero-media{height:clamp(430px,70vw,620px);margin:0;border-right:0;border-left:0;box-shadow:none}.project-hero-slides{margin:0}.project-overview-band>.project-shell{width:calc(100% - 32px);grid-template-columns:1fr;padding-inline:0}.project-overview-band ul{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
@media(max-width:600px){.project-hero-media{height:clamp(390px,105vw,560px)}.project-overview-band>.project-shell{width:calc(100% - 32px)}}
@media(max-width:900px){body.project-detail-page{overflow-x:hidden}.project-split-hero{display:flex;height:auto;min-height:0;max-width:100%;flex-direction:column}.project-hero-media{display:grid;width:100%;max-width:100%;flex:0 0 clamp(430px,70vw,620px);order:1}.project-hero-info{width:100%;max-width:100%;min-width:0;order:2}.project-hero-copy,.project-hero-intro{width:100%;max-width:100%;min-width:0;overflow-wrap:anywhere}.project-overview-band,.project-overview-band>.project-shell{max-width:100%}}
@media(max-width:600px){.project-hero-media{flex-basis:clamp(390px,105vw,560px)}.project-overview-band ul{grid-template-columns:1fr}.project-overview-band li{border-left:0;border-top:1px solid rgba(104,214,232,.24)}}
.project-hero-media,.project-hero-media.has-media,.project-hero-slides,.project-hero-slide,.project-hero-slide img,.project-hero-slide figcaption{background:var(--project-navy)}
.project-overview-band li>span{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;color:#31bfd8}.project-overview-band li>span svg{display:block;width:38px;height:38px;overflow:visible;stroke:currentColor;stroke-width:1.9}
@media(max-width:600px){.project-overview-band li>span{width:34px;height:34px;flex-basis:34px}.project-overview-band li>span svg{width:31px;height:31px}}
@media(min-width:901px){.project-split-hero{height:clamp(720px,calc(100dvh - var(--project-header-offset,112px) - 120px),820px);min-height:720px}.project-hero-info{min-height:0}.project-hero-copy{max-height:100%}}
.project-slide-thumbs,.project-slide-thumbs button{background:var(--project-navy)}.project-slide-thumbs{border-top:1px solid rgba(73,183,207,.2)}
.project-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:60px clamp(20px,5vw,90px) 42px;border-radius:0}
.project-final-cta{position:relative;padding:clamp(48px,4.5vw,68px) 0;border-top:1px solid rgba(102,215,233,.22);border-bottom:1px solid rgba(102,215,233,.18);background:linear-gradient(110deg,#061f31 0%,#082b3d 72%,#073247 100%);overflow:hidden}
.project-final-cta:after{position:absolute;top:0;right:5%;width:220px;height:100%;border-right:1px solid rgba(102,215,233,.1);border-left:1px solid rgba(102,215,233,.1);content:"";transform:skewX(-18deg);pointer-events:none}
.project-final-cta .project-shell{position:relative;z-index:1;width:min(86vw,1280px);align-items:center;gap:clamp(32px,5vw,76px)}
.project-final-cta .project-shell>div:first-child{max-width:780px}.project-final-cta .eyebrow{margin:0 0 10px;color:#66d7e9}.project-final-cta h2{margin:0 0 12px;font-size:clamp(36px,3.4vw,56px)}
.project-final-cta .project-shell>div:last-child{flex:0 0 auto}.project-final-cta .project-button--outline{min-width:178px;min-height:52px;border-color:#66d7e9;background:#fff;color:var(--project-navy);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.related-projects{padding:clamp(64px,6vw,92px) 0}.related-projects .project-section-heading{margin-bottom:clamp(26px,3vw,40px)}
@media(max-width:900px){.project-final-cta .project-shell{width:calc(100% - 48px);gap:26px}.project-final-cta:after{right:-100px}.project-final-cta .project-button--outline{min-width:0}}
@media(max-width:600px){.project-final-cta{padding:44px 0}.project-final-cta .project-shell{width:calc(100% - 32px)}.project-final-cta h2{font-size:clamp(34px,10vw,44px)}.related-projects{padding:54px 0}}

/* Architectural editorial project presentation */
.project-split-hero{position:relative;background:linear-gradient(100deg,#041925 0%,#06283a 48%,#07526a 100%)}
.project-hero-info{position:relative;z-index:1;background:linear-gradient(105deg,rgba(3,20,30,.98),rgba(5,39,54,.92));overflow:hidden}
.project-hero-info:after{position:absolute;z-index:-1;right:clamp(12px,2vw,34px);bottom:-36px;left:clamp(12px,2vw,34px);height:242px;background:url('/assets/img/project-blueprint-commercial-glazing.webp') center bottom/104% auto no-repeat;content:"";opacity:.38;filter:saturate(.9);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 24%,#000 60%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 24%,#000 60%);pointer-events:none}
.project-hero-info h1{max-width:11.5ch;font-size:clamp(42px,3.65vw,66px);line-height:1.01;letter-spacing:-.042em}
.project-hero-info h1.project-title--long{max-width:15ch;font-size:clamp(40px,3vw,54px);line-height:1.04}.project-hero-info h1.project-title--very-long{max-width:17ch;font-size:clamp(36px,2.65vw,48px);line-height:1.06}
@media(min-width:901px){.project-hero-copy{transform:translateY(-36px)}}
.project-breadcrumb{margin-bottom:clamp(24px,3.5vh,44px)}.project-hero-info h1{margin-block:10px 20px}.project-hero-intro{line-height:1.58}.project-hero-meta{margin-top:20px}.project-hero-info .project-detail-list{margin-top:20px}
.project-hero-media{background:#062638;border-color:rgba(75,206,229,.55);box-shadow:0 18px 52px rgba(0,10,17,.22)}
.project-overview-band{background:linear-gradient(105deg,#062234,#082f43 58%,#07394c)}.project-overview-band>.project-shell{border:1px solid rgba(73,183,207,.24);border-radius:4px;background:rgba(4,28,41,.3)}
.project-final-cta{padding:clamp(42px,3.8vw,58px) 0;border-top:1px solid rgba(102,215,233,.34);border-bottom:1px solid rgba(102,215,233,.2);background:linear-gradient(105deg,#073046 0%,#07516a 100%);box-shadow:inset 0 15px 40px rgba(0,12,20,.12)}
.project-final-cta:before{position:absolute;left:2%;bottom:-20px;width:260px;height:150px;background:linear-gradient(90deg,transparent 49.5%,rgba(91,220,239,.2) 50%,transparent 50.5%) 0 0/44px 100%,linear-gradient(0deg,transparent 49.5%,rgba(91,220,239,.14) 50%,transparent 50.5%) 0 0/100% 38px;clip-path:polygon(0 100%,0 54%,24% 26%,48% 58%,70% 6%,100% 38%,100% 100%);content:"";pointer-events:none}
.project-final-cta:after{right:9%;width:170px;border-color:rgba(102,215,233,.14)}.project-final-cta .project-shell{width:min(88vw,1360px);gap:clamp(34px,4vw,64px)}
.project-final-cta .project-button--outline{border-color:#31bfd8;background:#31bfd8;color:#032333;box-shadow:0 12px 28px rgba(0,16,25,.24)}
.related-projects{background:#f5f3ee}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,1.8vw,28px)}
.related-grid a{padding:10px 10px 22px;border:1px solid #d9e1e2;border-radius:8px;background:#fff;color:var(--mw-deep);text-decoration:none;box-shadow:0 14px 34px rgba(9,37,49,.07);transition:transform .2s ease,box-shadow .2s ease}
.related-grid a:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(9,37,49,.12)}.related-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:5px}.related-grid strong{margin-top:7px;font-family:Montserrat,Inter,sans-serif;font-size:clamp(16px,1.1vw,20px);font-weight:800;line-height:1.3}
body.project-detail-page .footer{background:#031722;border-top:1px solid rgba(75,206,229,.16)}
@media(max-width:900px){.project-hero-info h1{max-width:14ch;font-size:clamp(42px,8vw,62px)}.project-hero-info:after{opacity:.45}.project-overview-band>.project-shell{border-right:0;border-left:0;border-radius:0}.project-final-cta:before{opacity:.45}}
@media(max-width:600px){.project-hero-info h1{font-size:clamp(38px,11vw,50px)}.project-final-cta{padding:38px 0}.related-grid a{border-radius:7px}}
@media(prefers-reduced-motion:reduce){.related-grid a{transition:none}}

/* Match the approved inset-card composition. */
.project-overview-band{padding:26px 0;background:linear-gradient(100deg,#041925 0%,#06283a 48%,#07526a 100%)}
.project-overview-band>.project-shell{width:min(90vw,1480px);min-height:146px;padding:22px clamp(24px,3vw,50px);border:1px solid rgba(83,201,223,.32);border-radius:5px;background:linear-gradient(105deg,rgba(3,24,36,.88),rgba(5,43,58,.82));box-shadow:0 16px 38px rgba(0,12,20,.12)}
.project-overview-narrative{display:grid;gap:12px}.project-overview-narrative>.eyebrow,.project-overview-scope .eyebrow{margin:0 0 5px}.project-overview-scope{padding-top:12px;border-top:1px solid rgba(104,214,232,.18)}.project-overview-scope>p:last-child{margin:0;color:#dbe7ea;font-size:14px;line-height:1.5}
.project-final-cta{padding:0 0 30px;border:0;background:linear-gradient(100deg,#041925 0%,#06283a 48%,#07526a 100%);box-shadow:none}
.project-final-cta:before,.project-final-cta:after{display:none}
.project-final-cta .project-shell{position:relative;width:min(90vw,1480px);min-height:238px;padding:44px clamp(34px,4vw,66px) 44px clamp(340px,26vw,430px);border:1px solid rgba(83,201,223,.4);border-radius:5px;background:linear-gradient(105deg,#073149 0%,#07546d 100%);box-shadow:0 18px 42px rgba(0,12,20,.16);overflow:hidden}
.project-final-cta .project-shell:before{position:absolute;left:0;bottom:-8px;width:430px;height:244px;background:url('/assets/img/project-blueprint-highrise.webp') center bottom/contain no-repeat;content:"";opacity:.27;filter:saturate(.8);pointer-events:none}
.project-category--residential .project-final-cta .project-shell:before{bottom:-10px;width:430px;height:244px;background-image:url('/assets/img/project-blueprint-residential-home-selected.png');opacity:.29;filter:saturate(.8)}
.project-final-cta .project-shell:after{display:none}
.project-final-cta .project-shell>div{position:relative;z-index:1}.project-final-cta .project-shell>div:first-child{max-width:720px}.project-final-cta .project-shell>div:last-child{margin-left:auto}
.project-final-cta h2{font-size:clamp(34px,3vw,52px)}.project-final-cta .project-button--outline{min-width:184px}
@media(max-width:900px){.project-overview-band{padding-block:18px}.project-overview-band>.project-shell{width:calc(100% - 32px);padding:20px 18px}.project-final-cta{padding-bottom:20px}.project-final-cta .project-shell{width:calc(100% - 32px);min-height:0;padding:38px 28px}.project-final-cta .project-shell:before{right:8px;left:auto;width:150px;opacity:.16}.project-final-cta .project-shell>div:last-child{margin-left:0}}
@media(max-width:600px){.project-final-cta .project-shell{padding:34px 22px}.project-final-cta .project-shell:before,.project-final-cta .project-shell:after{opacity:.18}.project-final-cta .project-shell>div:last-child{width:100%}}

/* Create a clear light transition between the navy hero and teal conversation card. */
.project-overview-band{padding:34px 0;background:#edf2f1}
.project-overview-band>.project-shell{min-height:178px;padding:30px clamp(28px,3.4vw,58px);border:1px solid #d5e1e2;border-top:4px solid #25b7d1;border-radius:8px;background:#fff;box-shadow:0 18px 42px rgba(4,31,45,.09);grid-template-columns:minmax(0,40fr) minmax(520px,60fr);gap:clamp(34px,4vw,68px)}
.project-overview-band .eyebrow,.project-overview-scope .eyebrow{color:#087f99}
.project-overview-copy{color:#294955;font-size:16px;line-height:1.58}
.project-overview-narrative{gap:16px}.project-overview-scope{padding:15px 16px 0 0;border-top-color:#dce6e7}.project-overview-scope>p:last-child{color:#506975;font-size:14px;line-height:1.58}
.project-overview-band ul{align-self:stretch;border-left:1px solid #dce6e7}
.project-overview-band li{min-height:82px;padding:14px clamp(16px,1.8vw,28px);border-left:0;border-right:1px solid #e0e8e9}
.project-overview-band li:last-child{border-right:0}.project-overview-band li>span{color:#0aa2bf}.project-overview-band small{color:#087f99}.project-overview-band strong{color:#102f3d;font-size:clamp(13px,.82vw,16px)}
.project-final-cta{padding-top:0;background:linear-gradient(100deg,#062536 0%,#073d52 48%,#08708a 100%)}
@media(max-width:900px){.project-overview-band{padding-block:24px}.project-overview-band>.project-shell{width:calc(100% - 32px);padding:26px 22px;grid-template-columns:1fr;gap:24px}.project-overview-band ul{border-top:1px solid #dce6e7;border-left:0}.project-overview-band li{border-top:0;border-right:0;border-bottom:1px solid #e0e8e9}.project-overview-band li:last-child{border-bottom:0}}

/* Keep the conversation-card content on one consistent vertical centerline. */
.project-final-cta .project-shell{align-items:center}.project-final-cta .project-shell>div:first-child,.project-final-cta .project-shell>div:last-child{align-self:center}
@media(min-width:901px){.project-final-cta .project-shell{min-height:260px;padding-top:44px;padding-bottom:44px}.project-final-cta .project-shell:before{bottom:-42px;width:450px;height:270px;background-position:center bottom}.project-category--residential .project-final-cta .project-shell:before{bottom:-42px;width:450px;height:270px;background-position:center bottom}}
@media(max-width:900px){.project-final-cta .project-shell{align-items:flex-start}.project-final-cta .project-shell>div:first-child,.project-final-cta .project-shell>div:last-child{align-self:auto}}
.project-final-cta{padding-bottom:0}.project-final-cta .project-shell{margin-bottom:0}
@media(max-width:900px){.project-final-cta{padding-bottom:0}.project-final-cta .project-shell:before{bottom:-24px}}

/* Match the gallery to the full hero-card height and fully ground the CTA artwork. */
@media(min-width:901px){.project-hero-media{align-self:stretch;height:100%;margin-block:0}.project-final-cta .project-shell{min-height:290px;padding-top:48px;padding-bottom:48px}.project-final-cta .project-shell:before,.project-category--residential .project-final-cta .project-shell:before{bottom:0;width:510px;height:320px;background-position:center bottom}}

/* Private-draft placeholders: these attributes are never emitted on public project pages. */
[data-preview-empty]{min-height:1.5em}
[data-preview-empty]::before{content:"Click to add content";opacity:.55;font-style:italic}
