/* HandyWang portfolio: original navy, green and white palette. */
.portfolio-heading{padding:70px 0 34px}.portfolio-heading h1{font-size:clamp(40px,5vw,68px);line-height:1.1;letter-spacing:-2px;margin-bottom:20px}.portfolio-heading>p:not(.eyebrow){color:var(--muted);max-width:700px}.portfolio-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:36px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#122335}.portfolio-filters>span{margin-right:10px;color:var(--muted)}.portfolio-filters button{font:inherit;min-height:44px;padding:10px 16px;color:#fff;background:#1b3044;border:1px solid #3a4c5e;border-radius:7px;cursor:pointer}.portfolio-filters button[aria-pressed=true]{background:var(--green);border-color:var(--green)}.filter-count{display:inline-block;font-size:13px;opacity:.85;margin-left:8px}.portfolio-results{padding-bottom:90px}.portfolio-result-count{color:var(--muted);font-size:14px;margin-bottom:20px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.portfolio-card{background:#152637;border:1px solid #2a3948;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.portfolio-photo{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#213548}.portfolio-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .25s}.portfolio-photo:hover img{transform:scale(1.035)}.portfolio-category{position:absolute;left:12px;top:12px;font-size:13px;font-weight:bold;background:#0d1b2aea;border-radius:6px;padding:6px 10px}.portfolio-card-copy{padding:26px;display:flex;flex-direction:column;flex:1}.portfolio-location{font-size:14px;font-weight:bold;color:#76d888;margin:0 0 12px}.portfolio-card h2{font-size:26px;line-height:1.25;letter-spacing:-.5px;margin:0 0 16px}.portfolio-card-copy>p:not(.portfolio-location){font-size:16px;color:#bdcad6;line-height:1.65;margin:0 0 26px}.portfolio-card .button{align-self:flex-start;margin-top:auto}.portfolio-page .button{min-height:44px}.portfolio-empty{padding:48px;border:1px solid var(--line);border-radius:12px}.portfolio-empty h2{font-size:28px}.portfolio-empty p{color:var(--muted)}.portfolio-card[hidden],.portfolio-empty[hidden]{display:none}.portfolio-breadcrumb{display:flex;gap:12px;padding:30px 0;color:var(--muted);font-size:14px}.portfolio-breadcrumb a{color:#76d888}.project-overview{display:grid;grid-template-columns:1fr 1fr;background:#142638;border:1px solid #2a3948;border-radius:18px;overflow:hidden}.project-overview-copy{padding:48px}.project-overview h1{font-size:clamp(34px,3.7vw,54px);line-height:1.15;letter-spacing:-1.5px;margin:0 0 28px;overflow-wrap:anywhere}.project-facts{list-style:none;padding:0;margin:0 0 32px}.project-facts li{border-top:1px solid #344759;padding:15px 0;display:flex;align-items:baseline;gap:14px}.project-facts li::before{content:'✓';color:#76d888}.project-overview .actions{flex-wrap:wrap;gap:20px}.project-gallery{min-width:0;display:flex;flex-direction:column;background:#0a1420}.project-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-height:450px}.project-gallery-track::-webkit-scrollbar{display:none}.project-gallery-slide{flex:0 0 100%;min-width:0;padding:0;border:0;display:block;scroll-snap-align:center;background:#091521;cursor:zoom-in}.project-gallery-slide img{width:100%;height:100%;max-height:610px;object-fit:contain;display:block}.project-gallery-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px;background:#132536;font-size:14px}.project-gallery button:not(.project-gallery-slide),.portfolio-lightbox button{min-width:44px;min-height:44px;padding:8px 12px;color:#fff;background:#1d3b50;border:1px solid #465b6c;border-radius:6px;cursor:pointer;font:inherit}.project-gallery button:disabled,.portfolio-lightbox button:disabled{opacity:.3;cursor:default}.project-story{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:75px;padding:80px 0}.project-story h2,.project-products h2{font-size:36px;letter-spacing:-1px;line-height:1.2;margin:0 0 26px}.project-story p:not(.eyebrow){color:#bdcad6;font-size:18px;line-height:1.85}.project-product-sidebar{align-self:start;background:#142638;padding:30px;border:1px solid #344759;border-radius:12px;position:sticky;top:24px}.project-product-sidebar h2{font-size:24px;letter-spacing:-.5px}.project-product-sidebar .button{display:inline-flex}.project-products{padding:0 0 75px}.placed-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.placed-product{padding:30px;background:#142638;border:1px solid #344759;border-radius:12px}.placed-product h3{font-size:24px;margin:0 0 26px;line-height:1.3}.project-enquiry-context{padding:16px 20px;background:#173629;border-left:3px solid #28a745;border-radius:4px;grid-column:1/-1}.portfolio-lightbox{padding:16px;background:#08131f;border:1px solid #42576b;border-radius:12px;color:#fff;width:min(1300px,96vw);max-width:96vw;height:94vh;max-height:94vh;overflow:hidden}.portfolio-lightbox::backdrop{background:#000d}.portfolio-lightbox[open]{display:flex;flex-direction:column;gap:12px}.lightbox-toolbar{display:flex;justify-content:flex-end;gap:12px}.lightbox-image-wrap{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;overscroll-behavior:contain}.lightbox-image-wrap img{display:block;max-width:100%;max-height:100%;object-fit:contain}.lightbox-image-wrap.is-zoomed{display:block}.lightbox-image-wrap.is-zoomed img{width:180%;max-width:none;height:auto;max-height:none}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:24px}body:has(.portfolio-lightbox[open]){overflow:hidden}.portfolio-page button:focus-visible{outline:3px solid #75df87;outline-offset:3px}
@media(max-width:1100px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-overview-copy{padding:30px}.project-story{gap:35px}.project-overview .actions{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.portfolio-heading{padding-top:40px}.portfolio-heading h1{letter-spacing:-1px}.portfolio-filters{padding:14px;gap:8px}.portfolio-filters>span{width:100%}.portfolio-filters button{font-size:14px;padding:10px 12px}.portfolio-grid{grid-template-columns:1fr;gap:24px}.portfolio-card-copy{padding:22px}.portfolio-photo{aspect-ratio:4/3}.project-overview{grid-template-columns:1fr}.project-overview-copy{padding:26px}.project-overview h1{font-size:36px}.project-gallery-track{min-height:0;aspect-ratio:4/5}.project-gallery-slide img{max-height:520px}.project-gallery-controls{gap:8px;flex-wrap:wrap}.project-story{grid-template-columns:1fr;padding:48px 0;gap:26px}.project-story h2,.project-products h2{font-size:30px}.project-story p:not(.eyebrow){font-size:16px}.project-product-sidebar{position:static}.placed-product-grid{grid-template-columns:1fr}.project-products{padding-bottom:36px}.portfolio-empty{padding:26px}.portfolio-lightbox{padding:10px}.portfolio-results{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){.portfolio-photo img{transition:none}}
.project-product-sidebar h2,.project-product-sidebar p,.placed-product h3{overflow-wrap:anywhere}
.project-product-sidebar .button{white-space:normal;max-width:100%;text-align:center}
@media(min-width:701px) and (max-width:900px){.project-story{grid-template-columns:1fr}.project-product-sidebar{position:static}.project-overview{grid-template-columns:1fr}.project-gallery-track{min-height:0;max-height:620px}.project-gallery-slide img{height:560px}}
.portfolio-page .desktop-nav a[aria-current=page]{color:#76d888}

/* Supplied brand artwork stays unmodified; the frame hides transparent outer spacing. */
.product-brand{position:relative;display:block;width:150px;aspect-ratio:2/1;overflow:hidden;border-radius:8px;background:#fff;flex-shrink:0}
.product-brand img{position:absolute;left:8px;top:50%;width:calc(100% - 16px);height:auto;max-width:none;transform:translateY(-50%)}
.placed-product.has-brand{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:24px}
.placed-product.has-brand h3{font-size:26px;line-height:1.3;font-weight:700}
.placed-product-copy{min-width:0}
.project-product-sidebar .product-brand{margin:0 0 24px;width:160px;max-width:100%}
@media(max-width:700px){.placed-product.has-brand{grid-template-columns:minmax(0,1fr) 112px;gap:16px;padding:22px}.placed-product.has-brand .product-brand{width:112px}.placed-product.has-brand h3{font-size:22px}}
