.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.portfolio-hero{background:#184a5c;color:#fff;padding:136px 0 64px}.portfolio-hero-inner{display:flex;flex-direction:column;gap:16px}.portfolio-hero h1{max-width:780px;color:#fff;font-size:clamp(34px,4.6vw,56px);line-height:1.2}.portfolio-hero>.container>p{max-width:620px;color:#c1dfe0;font-size:17px;line-height:1.5}.portfolio-hero-foot{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.portfolio-stats{display:flex;gap:32px;margin:0}.portfolio-stats div{display:flex;flex-direction:column;gap:4px}.portfolio-stats dt{color:#c1dfe0;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.portfolio-stats dd{margin:0;color:#fff;font-size:28px;font-weight:600;line-height:1.2}.portfolio-search{position:relative;display:flex;align-items:center;width:min(100%,380px)}.portfolio-search svg{position:absolute;left:16px;width:18px;height:18px;color:#184a5c;pointer-events:none}.portfolio-search input{width:100%;height:52px;padding:0 18px 0 46px;border:1px solid transparent;border-radius:999px;background:#fff;color:#184a5c;font:inherit;font-size:15px;outline:none;transition:box-shadow .2s ease,border-color .2s ease}.portfolio-search input::-moz-placeholder{color:#5f7c84}.portfolio-search input::placeholder{color:#5f7c84}.portfolio-search input:focus-visible{border-color:#7fd0d8;box-shadow:0 0 0 4px #7fd0d855}.portfolio-body{padding:48px 0 96px}.portfolio-body .container{display:flex;flex-direction:column;gap:24px}.category-filter{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid #b9d3d7;border-radius:999px;background:#fff;color:#184a5c;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.filter-chip:hover{border-color:#184a5c}.filter-chip.is-active{background:#184a5c;border-color:#184a5c;color:#fff}.filter-chip:focus-visible{outline:2px solid #2f8f9d;outline-offset:2px}.filter-count{min-width:22px;padding:0 6px;border-radius:999px;background:#e6f1f2;color:#184a5c;font-size:12px;line-height:22px;text-align:center}.filter-chip.is-active .filter-count{background:#fff;color:#184a5c}.category-banner{display:flex;align-items:center;gap:24px;min-height:120px;padding:24px 28px;border-radius:16px;background:#184a5c;color:#fff;overflow:hidden}.category-banner img{width:160px;height:96px;-o-object-fit:cover;object-fit:cover;border-radius:10px;flex-shrink:0}.category-banner-copy span{color:#c1dfe0;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.category-banner-copy h2{margin:4px 0 0;color:#fff;font-size:26px;line-height:1.2}.category-banner-copy p{margin:4px 0 0;color:#c1dfe0;font-size:14px}.portfolio-results{margin:0;color:#4b6b73;font-size:14px}.portfolio-empty{margin:32px 0;color:#4b6b73;font-size:16px;text-align:center}.portfolio-load-more{display:flex;justify-content:center;margin-top:8px}.portfolio-load-more-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:999px;color:#fff;background:#00758a;font-family:var(--font-display);font-size:14px;font-weight:700;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.portfolio-load-more-btn svg{width:16px;height:16px;transition:transform .2s ease}.portfolio-load-more-btn:hover{background:#006375;transform:translateY(-2px);box-shadow:0 10px 22px #00505c33}.portfolio-load-more-btn:hover svg{transform:translateY(2px)}.portfolio-load-more-btn:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.portfolio-grid{grid-template-columns:repeat(3,1fr)}.project-card-link{display:flex;flex-direction:column;flex:1;height:100%;color:inherit;text-decoration:none}.project-card.is-active{outline:2px solid #2f8f9d;outline-offset:3px}.project-card-link:focus-visible{outline:2px solid #2f8f9d;outline-offset:4px;border-radius:16px}.project-detail{display:grid;gap:24px;padding:24px;border:1px solid #d6e6e8;border-radius:20px;background:#fff;color:#184a5c;scroll-margin-top:96px}.project-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.detail-badge{padding:6px 12px;border:0;border-radius:999px;background:#e6f1f2;color:#184a5c;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.detail-badge:hover{background:#d0e7ea}.detail-close,.detail-step,.detail-zoom{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b9d3d7;border-radius:999px;background:#fff;color:#184a5c;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.detail-close{width:40px;height:40px}.detail-close:hover,.detail-step:hover{background:#e6f1f2}.detail-close svg,.detail-step svg,.detail-zoom svg{width:18px;height:18px}.detail-close:focus-visible,.detail-main-open:focus-visible,.detail-nav-button:focus-visible,.detail-step:focus-visible,.detail-thumb:focus-visible{outline:2px solid #2f8f9d;outline-offset:2px}.project-detail-body{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start}.detail-gallery{display:flex;flex-direction:column;gap:12px;min-width:0}.detail-main{position:relative}.detail-main-open{display:block;position:relative;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:#e6f1f2;cursor:zoom-in}.detail-main-open img{display:block;width:100%;height:auto;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover}.detail-zoom{right:12px;bottom:12px;pointer-events:none}.detail-step,.detail-zoom{position:absolute;width:40px;height:40px}.detail-step{top:50%;transform:translateY(-50%)}.detail-step.is-prev{left:12px}.detail-step.is-next{right:12px}.detail-thumbs{display:flex;gap:8px;margin:0;padding:0;list-style:none;overflow-x:auto}.detail-thumb{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;opacity:.7;transition:opacity .2s ease,border-color .2s ease}.detail-thumb img{display:block;width:72px;height:54px;-o-object-fit:cover;object-fit:cover}.detail-thumb.is-active,.detail-thumb:hover{opacity:1}.detail-thumb.is-active{border-color:#2f8f9d}.detail-info{display:flex;flex-direction:column;gap:16px;min-width:0}.detail-info h3{margin:0;color:#184a5c;font-size:28px;line-height:1.2}.detail-summary{margin:0;color:#36555d;font-size:17px;line-height:1.5}.detail-block{display:flex;flex-direction:column;gap:6px}.detail-block p{margin:0;color:#36555d;font-size:15px;line-height:1.5}.detail-label{color:#2f6f7c;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.detail-outcomes{display:flex;flex-direction:column;gap:6px;margin:0;padding-left:18px;color:#36555d;font-size:15px;line-height:1.5}.project-detail .project-tags li{color:#184a5c;background:#e6f1f2}.project-detail-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-nav-button{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;border:1px solid #b9d3d7;border-radius:14px;background:#fff;color:#184a5c;font:inherit;font-size:15px;font-weight:600;text-align:left;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.detail-nav-button.is-next{justify-content:flex-end;text-align:right}.detail-nav-button span{display:flex;flex-direction:column;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-nav-button small{color:#4b6b73;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em}.detail-nav-button svg{width:18px;height:18px;flex-shrink:0}.detail-nav-button:not(:disabled):hover{background:#e6f1f2;border-color:#184a5c}.detail-nav-button:disabled{color:#6f8a90;cursor:default}.lightbox{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;height:100dvh;background:#0b1d24ee;color:#fff;outline:none}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px}.lightbox-title{margin:0;color:#fff;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.lightbox-counter{margin-right:8px;color:#c1dfe0;font-size:14px;font-variant-numeric:tabular-nums}.lightbox-tool{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #ffffff44;border-radius:999px;background:#ffffff14;color:#fff;cursor:pointer;transition:background-color .2s ease}.lightbox-tool:hover:not(:disabled){background:#ffffff33}.lightbox-tool:disabled{opacity:.4;cursor:default}.lightbox-nav:focus-visible,.lightbox-tool:focus-visible{outline:2px solid #7fd0d8;outline-offset:2px}.lightbox-tool svg{width:18px;height:18px}.lightbox-stage{position:relative;flex:1;padding:0 72px}.lightbox-image,.lightbox-stage{display:flex;align-items:center;justify-content:center}.lightbox-image{overflow:auto}.lightbox-image img{max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;cursor:zoom-in;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lightbox-image.is-zoomed{align-items:flex-start;justify-content:flex-start}.lightbox-image.is-zoomed img{max-width:none;max-height:none;-o-object-fit:initial;object-fit:fill;cursor:zoom-out}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #ffffff44;border-radius:999px;background:#0b1d24aa;color:#fff;cursor:pointer;z-index:1}.lightbox-nav:hover:not(:disabled){background:#ffffff33}.lightbox-nav:disabled{opacity:.35;cursor:default}.lightbox-nav.is-prev{left:16px}.lightbox-nav.is-next{right:16px}.lightbox-nav svg{width:22px;height:22px}@media (max-width:1024px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}.project-detail-body{grid-template-columns:1fr}}@media (max-width:640px){.portfolio-hero{padding:112px 0 48px}.portfolio-hero-foot{flex-direction:column;align-items:stretch}.portfolio-search{width:100%}.portfolio-grid{grid-template-columns:1fr}.category-banner{flex-direction:column;align-items:flex-start;gap:16px}.category-banner img{width:100%;height:140px}.project-detail{padding:16px}.project-detail-nav{grid-template-columns:1fr}.lightbox-toolbar{padding:12px 16px}.lightbox-counter{display:none}.lightbox-stage{padding:0 8px}.lightbox-nav{width:40px;height:40px}}.portfolio-hero-slider{position:relative;min-height:min(680px,78vh);padding:0;overflow:hidden;display:flex;align-items:flex-end}.portfolio-hero-media,.portfolio-hero-media img,.portfolio-hero-scrim{position:absolute;inset:0;width:100%;height:100%}.portfolio-hero-media{background:#0b1d24}.portfolio-hero-media img{-o-object-fit:cover;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 7s ease}.portfolio-hero-media img.is-active{opacity:1;transform:scale(1)}.portfolio-hero-scrim{background:linear-gradient(90deg,#061a22e8,#0b3440a8 46%,#071a22a8),linear-gradient(0deg,#061a22f2,transparent 58%)}.portfolio-hero-content{position:relative;z-index:1;width:100%;min-height:min(680px,78vh);padding-top:136px;padding-bottom:48px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}.portfolio-hero-click-target{max-width:700px;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.portfolio-hero-click-target:focus-visible{outline:2px solid #7fd0d8;outline-offset:10px}.portfolio-hero-copy{animation:portfolio-copy-in .8s cubic-bezier(.2,.8,.2,1) both}@keyframes portfolio-copy-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.portfolio-hero-category{display:inline-flex;margin-bottom:18px;padding:7px 12px;border:1px solid #ffffff55;border-radius:999px;background:#ffffff22;color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em}.portfolio-hero-slider h1{max-width:700px;margin:0;color:#fff;font-size:clamp(38px,5.5vw,76px);line-height:1.08}.portfolio-hero-slider p{max-width:610px;margin:18px 0 0;color:#d5eef0;font-size:17px;line-height:1.55}.portfolio-hero-bottom{display:flex;align-items:center;gap:24px;margin-top:46px}.portfolio-hero-count{color:#d5eef0;font-size:13px;font-variant-numeric:tabular-nums}.portfolio-hero-dots{display:flex;align-items:center;gap:6px}.portfolio-hero-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#ffffff77;cursor:pointer;transition:width .25s ease,background-color .25s ease}.portfolio-hero-dots button.is-active{width:28px;border-radius:99px;background:#fff}.portfolio-hero-controls{display:flex;gap:8px;margin-left:auto}.portfolio-hero-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%;background:#061a2244;color:#fff;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.portfolio-hero-controls button:hover{border-color:#fff;background:#ffffff22}.portfolio-hero-controls svg{width:19px;height:19px}.portfolio-hero-empty{min-height:440px}.portfolio-hero-empty .portfolio-hero-inner{padding-top:136px;padding-bottom:64px}.project-card-link{width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer}.project-card-link:focus-visible{outline:2px solid #7fd0d8;outline-offset:5px}.lightbox-content{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding:0 24px 24px}.lightbox-stage{padding:0 56px}.lightbox-info{align-self:center;max-height:calc(100dvh - 120px);overflow-y:auto;padding:26px;border:1px solid #ffffff22;border-radius:18px;background:#061a22cc;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lightbox-info h2{margin:8px 0 12px;color:#fff;font-size:28px;line-height:1.2}.lightbox-info-block p,.lightbox-info>p{margin:0;color:#c9e2e5;font-size:15px;line-height:1.55}.lightbox-info-block{display:flex;flex-direction:column;gap:7px;margin-top:20px}.lightbox-category,.lightbox-info-block .detail-label{color:#7fd0d8}.lightbox-info-block ul:not(.project-tags){margin:0;padding-left:18px;color:#c9e2e5;font-size:14px;line-height:1.5}.lightbox-info .project-tags li{background:#ffffff18;color:#d5eef0}.lightbox-heading{min-width:0}.lightbox-heading .lightbox-title{margin-top:3px}.lightbox-category{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}@media (max-width:900px){.lightbox-content{grid-template-columns:1fr;overflow-y:auto}.lightbox-stage{min-height:55vh}.lightbox-info{max-height:none;align-self:auto}}@media (max-width:640px){.portfolio-hero-content,.portfolio-hero-slider{min-height:580px}.portfolio-hero-content{padding-top:108px;padding-bottom:28px}.portfolio-hero-slider h1{font-size:42px}.portfolio-hero-bottom{margin-top:32px}.lightbox-toolbar{align-items:flex-start;padding:14px 16px}.lightbox-tools{gap:4px}.lightbox-tool{width:36px;height:36px}.lightbox-content{gap:12px;padding:0 12px 12px}.lightbox-stage{min-height:44vh;padding:0 38px}.lightbox-info{padding:20px}}.lightbox-content{position:relative;display:block;padding:0}.lightbox-stage{width:100%;height:calc(100dvh - 86px);min-height:0;padding:0 92px}.lightbox-image{width:100%;height:100%}.lightbox-image img{filter:drop-shadow(0 24px 42px #00000055)}.lightbox-info{position:absolute;top:16px;right:28px;z-index:3;width:min(300px,calc(100% - 56px));max-height:min(440px,calc(100dvh - 150px));padding:22px;border-color:#ffffff28;background:#061a22dc;box-shadow:0 18px 40px #00000038}.lightbox-info h2{font-size:22px}.lightbox-info-block p,.lightbox-info>p{font-size:14px}.lightbox-info-block{margin-top:16px}.lightbox-nav{width:46px;height:46px;border-color:#ffffff55;background:#061a22bb;box-shadow:0 8px 20px #00000033}.lightbox-nav.is-prev{left:26px}.lightbox-nav.is-next{right:26px}@media (max-width:900px){.lightbox-content{overflow:visible}.lightbox-stage{height:calc(100dvh - 86px);min-height:0}.lightbox-info{top:auto;right:20px;bottom:20px;width:min(340px,calc(100% - 40px));max-height:38vh}}@media (max-width:640px){.lightbox-toolbar{padding:12px 14px}.lightbox-heading .lightbox-title{max-width:170px}.lightbox-category{font-size:10px}.lightbox-stage{height:calc(100dvh - 74px);padding:0 44px}.lightbox-nav.is-prev{left:8px}.lightbox-nav.is-next{right:8px}.lightbox-info{right:12px;bottom:12px;width:calc(100% - 24px);max-height:34vh;padding:16px}.lightbox-info-block{margin-top:12px}}.lightbox-image{overflow:hidden}.lightbox-image.is-zoomed{align-items:center;justify-content:center;overflow:hidden}.lightbox-image img{transform-origin:center;transition:transform .28s ease}.lightbox-image img,.lightbox-image.is-zoomed img{max-width:82%;max-height:82%}.lightbox-tool.is-active{border-color:#7fd0d8;background:#1e6675;color:#fff}.lightbox-info{padding-top:46px}.lightbox-info-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #ffffff33;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer}.lightbox-info-close:hover{background:#ffffff2b}.lightbox-info-close:focus-visible{outline:2px solid #7fd0d8;outline-offset:2px}.lightbox-info-close svg{width:15px;height:15px}@media (max-width:900px){.portfolio-hero-content{padding-top:112px}.portfolio-hero-bottom{flex-wrap:wrap;gap:16px}.portfolio-hero-controls{margin-left:0}.category-banner-copy{min-width:0}.lightbox-toolbar,.project-detail-head{align-items:flex-start}.lightbox-heading{flex:1 1 180px;min-width:0}.lightbox-tools{flex-wrap:wrap;justify-content:flex-end}}@media (max-width:640px){.portfolio-hero{padding-top:96px}.portfolio-hero-content,.portfolio-hero-slider{min-height:min(580px,100dvh)}.portfolio-hero-content{padding-top:96px;padding-bottom:24px}.portfolio-hero-slider h1{font-size:clamp(34px,11vw,48px);overflow-wrap:anywhere}.portfolio-hero-slider p{font-size:15px}.portfolio-stats{flex-wrap:wrap;gap:14px 24px}.category-banner{padding:20px}.category-banner-copy h2{font-size:22px}.project-detail{padding:16px}.project-detail-head{gap:10px}.detail-badge{max-width:calc(100% - 50px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox-toolbar{flex-wrap:wrap;gap:10px;padding:10px 12px}.lightbox-heading{flex-basis:100%}.lightbox-heading .lightbox-title{max-width:none}.lightbox-tools{width:100%;justify-content:flex-end}.lightbox-stage{height:calc(100dvh - 132px);padding:0 42px}}