.pwa-projects,.pwa-project-detail{--pwa-ink:#183640;--pwa-muted:#60757e;--pwa-teal:#087f78;--pwa-line:rgba(20,60,72,.12);box-sizing:border-box;color:var(--pwa-ink);font-family:inherit}.pwa-projects *,.pwa-project-detail *{box-sizing:border-box}.pwa-projects{background:#eff5f4;padding:clamp(60px,7vw,100px) 20px}.pwa-projects__heading{max-width:760px;margin:0 auto 42px;text-align:center}.pwa-projects__heading span,.pwa-project-detail__eyebrow,.pwa-project-detail__section-head>span{color:var(--pwa-teal);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.pwa-projects__heading h2{color:var(--pwa-ink)!important;font-size:clamp(34px,5vw,56px);letter-spacing:0;line-height:1.1;margin:10px 0 15px}.pwa-projects__heading p{color:var(--pwa-muted)!important;font-size:17px;line-height:1.6;margin:0}.pwa-projects__grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1260px;margin:0 auto}.pwa-project-card{border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.68);backdrop-filter:blur(18px);border-radius:8px;box-shadow:0 18px 54px rgba(22,57,68,.11);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.pwa-project-card:hover{transform:translateY(-5px);box-shadow:0 25px 64px rgba(22,57,68,.18)}.pwa-project-card__link{color:inherit!important;display:flex;flex-direction:column;height:100%;text-decoration:none!important}.pwa-project-card__link:focus-visible{outline:3px solid var(--pwa-teal);outline-offset:-3px}.pwa-project-card__media{aspect-ratio:4/3;background:#dce8e5;overflow:hidden;position:relative}.pwa-project-card__media img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.pwa-project-card:hover .pwa-project-card__media img{transform:scale(1.035)}.pwa-project-card__placeholder,.pwa-project-detail__placeholder{align-items:center;background:#17505a;color:rgba(255,255,255,.3);display:flex;font-size:80px;font-weight:800;height:100%;justify-content:center;width:100%}.pwa-project-card__status{background:rgba(13,42,50,.8);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:3px;bottom:15px;color:#fff!important;font-size:11px;font-weight:800;left:15px;padding:8px 10px;position:absolute;text-transform:uppercase}.pwa-project-card__status--completed{background:rgba(16,107,85,.88)}.pwa-project-card__body{display:flex;flex:1;flex-direction:column;padding:22px}.pwa-project-card__category{color:var(--pwa-teal)!important;font-size:11px;font-weight:800;text-transform:uppercase}.pwa-project-card h3{color:var(--pwa-ink)!important;font-size:22px;letter-spacing:0;line-height:1.27;margin:10px 0}.pwa-project-card p{color:var(--pwa-muted)!important;font-size:14px;line-height:1.55;margin:0 0 20px}.pwa-project-card__foot{align-items:center;border-top:1px solid var(--pwa-line);display:flex;gap:10px;justify-content:space-between;margin-top:auto;padding-top:16px}.pwa-project-card__foot span,.pwa-project-card__foot strong{align-items:center;display:flex;font-size:12px;gap:5px}.pwa-project-card__foot span{color:var(--pwa-muted)}.pwa-project-card__foot strong{color:var(--pwa-teal)}.pwa-projects svg,.pwa-project-detail svg{height:17px;width:17px}.pwa-projects__footer{text-align:center;margin:35px auto 0}.pwa-projects__more{background:rgba(255,255,255,.74);border:1px solid rgba(13,105,101,.24);border-radius:4px;color:#08746d;cursor:pointer;font-size:14px;font-weight:800;min-height:48px;padding:12px 24px}.pwa-projects__more:hover{background:#08746d;color:#fff}.pwa-projects__more:disabled{cursor:wait;opacity:.6}.pwa-projects__status{color:var(--pwa-muted);display:block;font-size:13px;margin-top:9px;min-height:18px}
.pwa-project-template{background:#f1f6f5}.pwa-project-detail{margin:0 auto;max-width:1320px;padding:36px 24px 100px}.pwa-project-detail__top{align-items:center;display:flex;justify-content:space-between;gap:14px;margin-bottom:22px}.pwa-project-detail__back{align-items:center;color:var(--pwa-teal)!important;display:flex;font-size:13px;font-weight:750;gap:8px;text-decoration:none!important}.pwa-project-detail__status{border:1px solid #87c6b1;border-radius:3px;color:#166e50;font-size:11px;font-weight:800;padding:7px 11px;text-transform:uppercase}.pwa-project-detail__status--ongoing{border-color:#c9b17d;color:#8b5d12}.pwa-project-detail__hero{background:#dceae8;border:1px solid rgba(255,255,255,.8);border-radius:8px;display:grid;grid-template-columns:42% 58%;min-height:390px;overflow:hidden}.pwa-project-detail__intro{align-self:center;padding:clamp(28px,4vw,58px)}.pwa-project-detail__intro h1{color:var(--pwa-ink)!important;font-size:clamp(34px,4.4vw,61px);letter-spacing:0;line-height:1.05;margin:12px 0 18px}.pwa-project-detail__intro p{color:#516c73!important;font-size:17px;line-height:1.65}.pwa-project-detail__hero-image{background:#17505a;min-height:390px}.pwa-project-detail__hero-image img{height:100%;max-height:600px;object-fit:cover;width:100%}.pwa-project-detail__layout{display:grid;gap:28px;grid-template-columns:minmax(0,1fr) 305px;margin-top:32px}.pwa-project-detail__main{min-width:0}.pwa-project-detail__copy,.pwa-project-detail__list,.pwa-project-detail__gallery,.pwa-project-detail__meta{background:rgba(255,255,255,.76);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.94);border-radius:7px;box-shadow:0 12px 40px rgba(22,57,68,.08);margin-bottom:18px;padding:clamp(22px,3vw,36px)}.pwa-project-detail h2{color:var(--pwa-ink)!important;font-size:23px;letter-spacing:0;margin:0 0 16px}.pwa-project-detail__copy p{color:#526a73!important;line-height:1.75}.pwa-project-detail__section-head>span{align-items:center;display:flex;gap:7px;margin-bottom:8px}.pwa-project-detail__section-head h2{margin-bottom:18px}.pwa-project-detail__list ul{display:grid;gap:13px;list-style:none;margin:0;padding:0}.pwa-project-detail__list li{align-items:flex-start;color:#526a73;display:flex;gap:10px;line-height:1.5}.pwa-project-detail__list li svg{color:var(--pwa-teal);flex:none;margin-top:3px}.pwa-project-detail__meta{align-self:start;position:sticky;top:24px}.pwa-project-detail__fact{align-items:start;border-top:1px solid var(--pwa-line);display:flex;gap:12px;padding:17px 0}.pwa-project-detail__fact-icon{align-items:center;background:#e0f1ed;border-radius:4px;color:#148576;display:flex;flex:none;height:38px;justify-content:center;width:38px}.pwa-project-detail__fact small{color:#748891;display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.pwa-project-detail__fact strong{color:var(--pwa-ink);display:block;font-size:14px;line-height:1.4;margin-top:4px;overflow-wrap:anywhere}.pwa-project-detail__gallery-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.pwa-project-detail__gallery-item{aspect-ratio:4/3;background:#dce9e5;display:block;overflow:hidden}.pwa-project-detail__gallery-item img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.pwa-project-detail__gallery-item:hover img{transform:scale(1.04)}.pwa-project-lightbox-open{overflow:hidden}.pwa-project-lightbox{align-items:center;background:rgba(3,15,20,.92);display:flex;inset:0;justify-content:center;padding:60px 20px 20px;position:fixed;z-index:2147483647}.pwa-project-lightbox img{max-height:calc(100dvh - 80px);max-width:100%;object-fit:contain}.pwa-project-lightbox button{background:#fff;border:0;border-radius:50%;color:#17313b;cursor:pointer;font-size:26px;height:42px;line-height:1;position:absolute;right:20px;top:16px;width:42px}
@media(max-width:1000px){.pwa-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pwa-project-detail__layout{grid-template-columns:1fr}.pwa-project-detail__meta{position:static}}@media(max-width:680px){.pwa-projects{padding-inline:14px}.pwa-projects__grid{grid-template-columns:1fr}.pwa-project-detail{padding:20px 12px 55px}.pwa-project-detail__hero{grid-template-columns:1fr}.pwa-project-detail__hero-image{min-height:240px;order:-1}.pwa-project-detail__hero-image img{max-height:350px}.pwa-project-detail__gallery-grid{grid-template-columns:1fr}.pwa-project-detail__top{align-items:flex-start}.pwa-project-detail__intro{padding:25px}}
@media(prefers-reduced-motion:reduce){.pwa-project-card,.pwa-project-card__media img,.pwa-project-detail__gallery-item img{transition:none}}
.pwa-project-card__sample{background:#fff;color:#83521b;font-size:10px;font-weight:850;letter-spacing:.04em;padding:7px 9px;position:absolute;right:15px;top:15px;text-transform:uppercase}.pwa-project-detail__sample{background:#fff4dc;border:1px solid #edd5a6;border-radius:4px;color:#7d541e!important;font-size:13px;font-weight:700;line-height:1.5;margin:0 0 20px;padding:12px 15px}
.pwa-projects__empty{background:rgba(255,255,255,.7);border:1px solid rgba(20,60,72,.1);border-radius:6px;color:#516971!important;font-size:15px;margin:0 auto;max-width:1260px;padding:28px;text-align:center}

/* v1.5.1: isolate the single page from theme column rules and refresh the archive. */
.pwa-project-template{display:block!important;float:none!important;clear:both!important;width:min(calc(100vw - 40px),1320px)!important;max-width:none!important;min-width:0!important;margin:0 auto!important;background:transparent}
.pwa-project-template .pwa-project-detail{display:block!important;float:none!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important}
.pwa-projects,.pwa-projects *,.pwa-project-detail,.pwa-project-detail *{font-family:"Segoe UI",Arial,sans-serif!important;letter-spacing:0;box-sizing:border-box}
.pwa-projects{background:linear-gradient(140deg,#eff7f7 0%,#f7f9fc 55%,#eef6f2 100%);border-top:1px solid rgba(21,96,108,.13);position:relative}
.pwa-projects__heading>span{align-items:center;background:linear-gradient(110deg,#e0f4ef,#e9f1ff);border:1px solid rgba(21,130,123,.14);border-radius:99px;color:#086c6b!important;display:inline-flex;font-size:11px;gap:7px;padding:9px 14px}
.pwa-projects__heading h2{color:#16313f!important;font-weight:800!important}
.pwa-projects__heading p{color:#546d76!important;font-family:"Segoe UI",Arial,sans-serif!important}
.pwa-projects__grid{gap:26px}
.pwa-projects__grid:has(> .pwa-project-card:only-child){grid-template-columns:minmax(0,720px);justify-content:center}
.pwa-projects__grid:has(> .pwa-project-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.pwa-project-card{background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(247,253,252,.72));backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.95);border-radius:8px;box-shadow:0 18px 54px rgba(30,71,77,.13),inset 0 1px 0 #fff}
.pwa-project-card__media{aspect-ratio:16/10;background:linear-gradient(135deg,#143f52,#168477)}
.pwa-project-card__media:after{background:linear-gradient(180deg,transparent 55%,rgba(4,27,35,.34));content:"";inset:0;pointer-events:none;position:absolute}
.pwa-project-card__media img{display:block;height:100%;object-fit:cover;width:100%}
.pwa-project-card__placeholder,.pwa-project-detail__placeholder{background:linear-gradient(135deg,#173f55,#0b866f 72%,#df9b4a);color:rgba(255,255,255,.8)}
.pwa-project-card__placeholder svg,.pwa-project-detail__placeholder svg{height:78px;width:78px}
.pwa-project-card__status,.pwa-project-card__sample{align-items:center;backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.35);border-radius:99px;display:inline-flex;gap:6px;z-index:1}
.pwa-project-card__status{background:rgba(253,177,57,.92);color:#3d2709!important;left:18px;bottom:18px;padding:9px 13px}
.pwa-project-card__status--completed{background:rgba(56,190,131,.93);color:#073b26!important}
.pwa-project-card__status svg{height:14px;width:14px}
.pwa-project-card__sample{background:rgba(255,255,255,.86);color:#744614;right:18px;top:18px;padding:9px 12px}
.pwa-project-card__body{padding:26px}
.pwa-project-card__category{align-items:center;color:#087b74!important;display:inline-flex;gap:7px;font-size:11px}
.pwa-project-card__category svg{height:15px;width:15px}
.pwa-project-card h3{color:#163640!important;font-size:clamp(21px,2vw,26px)!important;font-weight:750!important;line-height:1.25}
.pwa-project-card p{color:#57717a!important;font-size:14px;line-height:1.6}
.pwa-project-card__foot{align-items:flex-end;gap:14px}
.pwa-project-card__foot>span{color:#5c747c!important;max-width:50%}
.pwa-project-card__foot strong{background:linear-gradient(110deg,#0d716f,#1d8b82);border-radius:99px;color:#fff!important;flex:none;font-size:12px;padding:10px 14px;transition:filter .2s ease,transform .2s ease}
.pwa-project-card:hover .pwa-project-card__foot strong{filter:brightness(1.1);transform:translateX(3px)}
.pwa-projects__more{background:linear-gradient(110deg,#0d716f,#1d8b82);border:1px solid rgba(13,113,111,.3);border-radius:99px;box-shadow:0 12px 30px rgba(10,103,101,.22);color:#fff!important;padding:13px 25px}
.pwa-projects__more:hover{background:linear-gradient(110deg,#145b83,#0e857b)}
.pwa-projects__empty{border-radius:8px}
.pwa-project-detail{padding:34px 0 90px!important}
.pwa-project-detail__back{background:rgba(255,255,255,.8);border:1px solid rgba(19,108,106,.2);border-radius:99px;padding:10px 15px}
.pwa-project-detail__status{border-radius:99px;padding:9px 14px}
.pwa-project-detail__sample{border-radius:7px;max-width:100%}
.pwa-project-detail__hero{background:linear-gradient(130deg,#e4f2ed,#eaf1f8);border-radius:8px;grid-template-columns:minmax(0,42%) minmax(0,58%);width:100%}
.pwa-project-detail__intro{min-width:0}
.pwa-project-detail__intro h1{overflow-wrap:anywhere;font-weight:800!important}
.pwa-project-detail__hero-image{min-width:0;overflow:hidden}
.pwa-project-detail__hero-image img{display:block;height:100%;max-height:none;object-fit:cover;width:100%}
.pwa-project-detail__layout{grid-template-columns:minmax(0,1fr) minmax(260px,305px)}
.pwa-project-detail__copy,.pwa-project-detail__list,.pwa-project-detail__gallery,.pwa-project-detail__meta{background:rgba(255,255,255,.8);border-radius:8px;box-shadow:0 18px 44px rgba(25,64,73,.09)}
.pwa-project-detail__fact-icon{border-radius:7px}
.pwa-project-detail__gallery-item{border-radius:7px}
@media(max-width:1000px){.pwa-project-detail__layout{grid-template-columns:minmax(0,1fr)}.pwa-projects__grid:has(> .pwa-project-card:only-child){grid-template-columns:minmax(0,720px)}}
@media(max-width:680px){.pwa-project-template{width:calc(100vw - 24px)!important}.pwa-project-detail{padding:18px 0 55px!important}.pwa-project-detail__hero{grid-template-columns:minmax(0,1fr)}.pwa-project-detail__hero-image{min-height:240px;max-height:330px}.pwa-projects__grid:has(> .pwa-project-card:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}.pwa-project-card__foot{align-items:flex-start;flex-direction:column}.pwa-project-card__foot>span{max-width:none}}

/* Keep shortcode sections at their natural height inside Elementor layouts. */
.elementor-widget-shortcode:has(.pwa-projects),.elementor-widget-shortcode:has(.pwa-projects)>.elementor-widget-container,.elementor-widget-shortcode:has(.pwa-companies),.elementor-widget-shortcode:has(.pwa-companies)>.elementor-widget-container{height:auto!important;max-height:none!important;overflow:visible!important}
.pwa-projects{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;padding-bottom:clamp(64px,7vw,104px)!important}
.pwa-projects__grid{height:auto!important;max-height:none!important;align-items:stretch;overflow:visible!important}
.pwa-project-card{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}
.pwa-project-card__link{height:100%!important;min-height:0!important;overflow:visible!important}
.pwa-project-card__media{border-radius:8px 8px 0 0;overflow:hidden}
.pwa-project-card__body{height:auto!important;max-height:none!important;min-height:235px!important;padding-bottom:26px!important}
.pwa-project-card__foot{padding-bottom:2px}
@media(max-width:680px){.pwa-project-card__body{min-height:0!important}}
.e-con:has(.pwa-projects),.elementor-section:has(.pwa-projects),.elementor-column:has(.pwa-projects),.elementor-widget-wrap:has(.pwa-projects){height:auto!important;max-height:none!important;overflow:visible!important}

/* Project progress and essential archive facts. */
.pwa-project-progress{background:linear-gradient(125deg,rgba(232,246,245,.9),rgba(240,245,255,.88));border:1px solid rgba(21,127,133,.16);border-radius:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);padding:15px 17px}
.pwa-project-progress__head{align-items:center;color:#21515c;display:flex;gap:12px;justify-content:space-between;font-size:13px;font-weight:750;line-height:1.4;margin-bottom:10px}
.pwa-project-progress__head strong{color:#087f78;font-size:18px;white-space:nowrap}
.pwa-project-progress__track{background:rgba(28,87,104,.14);border-radius:99px;height:11px;overflow:hidden;width:100%}
.pwa-project-progress__track span{background:linear-gradient(90deg,#1576c3,#13af95,#70c758);border-radius:inherit;box-shadow:0 0 14px rgba(21,175,149,.32);display:block;height:100%}
.pwa-project-progress--card{margin:0 0 20px;padding:12px 14px}
.pwa-project-progress--detail{margin:0 0 22px;padding:19px 22px}
.pwa-project-progress--detail .pwa-project-progress__head{font-size:16px}
.pwa-project-progress--detail .pwa-project-progress__head strong{font-size:24px}
.pwa-project-progress--detail .pwa-project-progress__track{height:14px}
.pwa-project-card__facts{border-top:1px solid rgba(20,60,72,.1);display:flex;flex-wrap:wrap;gap:7px 16px;margin:0 0 16px;padding-top:14px}
.pwa-project-card__facts span{align-items:center;color:#496976;display:inline-flex;font-size:12px;gap:6px;line-height:1.4;overflow-wrap:anywhere}
.pwa-project-card__facts svg{color:#0c9287;flex:none}
