:root{--pf-navy:#002d62;--pf-blue:#00aeef;--pf-blue-dark:#0093cc;--pf-white:#ffffff;--pf-light:#f4f7fb;--pf-border:#e2e8f0;--pf-text:#1a2533;--pf-muted:#6b7a8d;--pf-radius:10px;--pf-shadow:0 2px 16px rgba(0,45,98,.10);--pf-shadow-lg:0 8px 40px rgba(0,45,98,.18);--pf-transition:0.22s cubic-bezier(.4,0,.2,1);--pf-container:1200px;--pf-sidebar-w:260px;--pf-gap:24px}.pf-container{max-width:var(--pf-container);margin:0 auto;padding:0 24px}.pf-breadcrumb,.pf-single-breadcrumb-bar .pf-breadcrumb{font-size:.82rem;color:var(--pf-muted);padding:12px 0;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.pf-breadcrumb a{color:var(--pf-blue);text-decoration:none;transition:color var(--pf-transition)}.pf-breadcrumb a:hover{color:var(--pf-navy)}.pf-breadcrumb-sep{color:var(--pf-border)}.pf-breadcrumb [aria-current="page"]{color:var(--pf-muted)}.pf-page-header{background:linear-gradient(135deg,var(--pf-navy) 0%,#004080 100%);color:var(--pf-white);padding:48px 0 40px}.pf-page-header .pf-breadcrumb,.pf-page-header .pf-breadcrumb a{color:rgb(255 255 255 / .7)}.pf-page-header .pf-breadcrumb a:hover{color:var(--pf-white)}.pf-page-header .pf-breadcrumb-sep{color:rgb(255 255 255 / .3)}.pf-page-header .pf-breadcrumb [aria-current="page"]{color:rgb(255 255 255 / .6)}.pf-page-title{font-size:clamp(1.75rem, 4vw, 2.75rem);font-weight:700;margin:8px 0 10px;line-height:1.15;color:var(--pf-white)}.pf-page-subtitle{font-size:1.05rem;color:rgb(255 255 255 / .8);max-width:600px;margin:0}.pf-archive-wrap{background:var(--pf-light);min-height:70vh;max-width:1200px;margin:0 auto;width:100%}.pf-layout-full{display:flex;flex-direction:column;gap:var(--pf-gap);padding-top:32px;padding-bottom:60px}.pf-filter-bar{background:var(--pf-white);border:1px solid var(--pf-border);border-radius:12px;padding:16px 24px;box-shadow:var(--pf-shadow);margin-bottom:8px;display:flex;align-items:center;justify-content:center;overflow-x:auto;-webkit-overflow-scrolling:touch}.pf-filter-bar::-webkit-scrollbar{height:4px}.pf-filter-bar::-webkit-scrollbar-thumb{background:var(--pf-border);border-radius:4px}.pf-cat-list-horizontal{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:12px;white-space:nowrap}.pf-cat-list-horizontal li{margin:0;padding:0}.pf-cat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.pf-cat-list li{margin:0;padding:0}.portfolio-filter-btn{background:var(--pf-light);border:1px solid #fff0;border-radius:20px;padding:8px 16px;font-size:.9rem;color:var(--pf-text);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background var(--pf-transition),color var(--pf-transition),box-shadow var(--pf-transition)}.portfolio-filter-btn:hover{background:var(--pf-white);box-shadow:var(--pf-shadow);color:var(--pf-blue)}.portfolio-filter-btn.active{background:var(--pf-blue);color:var(--pf-white);font-weight:600;box-shadow:0 4px 12px rgb(0 174 239 / .3)}.portfolio-filter-btn.active .pf-cat-count{background:rgb(255 255 255 / .2);color:var(--pf-white)}.pf-cat-count{background:var(--pf-border);color:var(--pf-text);font-size:.72rem;font-weight:700;border-radius:99px;padding:1px 7px;min-width:22px;text-align:center;flex-shrink:0;transition:background var(--pf-transition),color var(--pf-transition)}.pf-grid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.pf-result-count{font-size:.88rem;color:var(--pf-muted);margin:0}.pf-result-count span{font-weight:700;color:var(--pf-navy)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--pf-gap)}.portfolio-card{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--pf-shadow);aspect-ratio:4 / 3;display:flex;flex-direction:column;transition:box-shadow 0.4s cubic-bezier(.25,.8,.25,1),transform 0.4s cubic-bezier(.25,.8,.25,1)}.portfolio-card:hover{box-shadow:0 15px 45px rgb(0 45 98 / .25);transform:translateY(-5px)}.portfolio-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.6s cubic-bezier(.25,.8,.25,1);z-index:0}.portfolio-card:hover .portfolio-card-bg{transform:scale(1.08)}.portfolio-card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgb(0 20 50 / .1) 0%,rgb(0 20 50 / .85) 100%);z-index:1;transition:opacity 0.4s ease}.portfolio-card:hover .portfolio-card-overlay{opacity:.9}.portfolio-card-link-full{position:absolute;inset:0;z-index:10}.portfolio-card-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:24px;pointer-events:none}.portfolio-card-cats{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.portfolio-card-body-bottom{margin-top:auto;transform:translateY(10px);transition:transform 0.4s cubic-bezier(.25,.8,.25,1)}.portfolio-card:hover .portfolio-card-body-bottom{transform:translateY(0)}.portfolio-card-title{font-size:1.3rem;font-weight:700;margin:0 0 10px;line-height:1.2}.portfolio-card-title a{color:var(--pf-white);text-decoration:none;pointer-events:auto}.portfolio-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.portfolio-card-location{font-size:.85rem;color:rgb(255 255 255 / .8);margin:0;display:flex;align-items:center;gap:6px}.pf-img-badge-glass{background:rgb(255 255 255 / .15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgb(255 255 255 / .2);color:var(--pf-white);font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:99px;display:flex;align-items:center;gap:5px}.pf-tag-glass{background:rgb(255 255 255 / .15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgb(255 255 255 / .2);color:var(--pf-white);font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:99px;text-decoration:none;transition:background var(--pf-transition)}.portfolio-card:hover .pf-tag-glass{background:rgb(0 174 239 / .8);border-color:#fff0}.pf-no-projects{padding:60px 20px;text-align:center;color:var(--pf-muted);font-size:1rem}.pf-single-wrap{background:var(--pf-light);max-width:1200px;margin:0 auto;width:100%}.pf-single-breadcrumb-wrapper{margin-bottom:24px}.pf-single-breadcrumb-wrapper .pf-breadcrumb{padding:0}.pf-single-breadcrumb-wrapper .pf-breadcrumb a,.pf-single-breadcrumb-wrapper .pf-breadcrumb span,.pf-single-breadcrumb-wrapper .pf-breadcrumb-sep{color:rgb(255 255 255 / .7)}.pf-single-breadcrumb-wrapper .pf-breadcrumb a:hover{color:var(--pf-white)}.pf-single-hero{position:relative;background:var(--pf-navy);min-height:480px;background-size:cover;background-position:center;display:flex;align-items:flex-end}.pf-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 45 98 / .7) 0%,rgb(0 20 50 / .95) 100%)}.pf-hero-content{position:relative;z-index:1;padding-bottom:50px;padding-top:80px;width:100%}.pf-hero-meta{max-width:800px}.pf-hero-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.pf-single-title{font-size:clamp(2rem, 5vw, 3.5rem);font-weight:800;color:var(--pf-white);margin:0 0 16px;line-height:1.1;letter-spacing:-.02em}.pf-single-location,.pf-single-photocount{color:rgb(255 255 255 / .85);font-size:1rem;display:flex;align-items:center;gap:8px;margin:8px 0 0;font-weight:500}.pf-single-body{display:grid;grid-template-columns:1fr 340px;gap:40px;padding-top:60px;padding-bottom:80px;align-items:start}.pf-section-heading{font-size:1.5rem;font-weight:800;color:var(--pf-navy);margin:0 0 24px;padding-bottom:12px;border-bottom:3px solid var(--pf-blue);display:flex;align-items:center;gap:10px}.pf-section-count{font-size:1rem;color:var(--pf-muted);font-weight:500}.pf-gallery-section{grid-column:1;margin-bottom:40px}.pf-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:16px}.pf-gallery-item--featured{grid-column:span 2;grid-row:span 2}.pf-gallery-item{display:block;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgb(0 0 0 / .08)}.pf-gallery-thumb{position:relative;width:100%;height:100%;overflow:hidden;background:var(--pf-navy)}.pf-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s cubic-bezier(.4,0,.2,1),filter 0.6s ease}.pf-gallery-item:hover .pf-gallery-thumb img{transform:scale(1.08);filter:brightness(.8)}.pf-gallery-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--pf-transition);color:var(--pf-white);background:rgb(0 45 98 / .2)}.pf-gallery-item:hover .pf-gallery-overlay{opacity:1}.pf-gallery-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgb(0 20 50 / .9));color:var(--pf-white);font-size:.85rem;font-weight:500;padding:30px 16px 12px;translate:0 100%;transition:translate 0.4s cubic-bezier(.4,0,.2,1)}.pf-gallery-item:hover .pf-gallery-caption{translate:0 0}.pf-description-section{grid-column:1}.pf-description-content{font-size:1.05rem;line-height:1.8;color:#334155}.pf-description-content p{margin-bottom:1.5em}.pf-project-details-card{grid-column:2;grid-row:1 / span 3;background:var(--pf-white);border:none;border-radius:16px;padding:32px;box-shadow:0 12px 40px rgb(0 45 98 / .06);position:sticky;top:100px;align-self:start}.pf-details-heading{font-size:1.1rem;font-weight:800;color:var(--pf-navy);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--pf-light)}.pf-details-list{margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:16px}.pf-detail-row dt{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pf-muted);margin-bottom:6px}.pf-detail-row dd{margin:0;font-size:.95rem;font-weight:500;color:var(--pf-navy);display:flex;flex-wrap:wrap;gap:6px}.pf-cta-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--pf-navy);color:var(--pf-white);border-radius:8px;padding:16px 20px;font-size:1rem;font-weight:700;text-decoration:none;transition:all 0.3s ease;margin-bottom:16px;box-shadow:0 4px 14px rgb(0 45 98 / .2)}.pf-cta-btn:hover{background:var(--pf-blue);transform:translateY(-2px);box-shadow:0 6px 20px rgb(0 174 239 / .3)}.pf-back-btn{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--pf-muted);font-size:.9rem;font-weight:500;text-decoration:none;transition:color var(--pf-transition);padding:8px}.pf-back-btn:hover{color:var(--pf-navy)}.pf-related-section{background:var(--pf-white);border-top:1px solid var(--pf-border);padding:48px 0 60px}.pf-related-heading{font-size:1.5rem}.pf-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--pf-gap)}@media (max-width:1024px){.pf-single-body{grid-template-columns:1fr}.pf-project-details-card{grid-column:1;grid-row:auto;position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.pf-details-heading{grid-column:1 / -1}.pf-details-list{grid-column:1 / -1}.pf-cta-btn{grid-column:1}.pf-back-btn{grid-column:2;justify-self:end;align-self:center}}@media (max-width:768px){.pf-layout-full{padding-top:20px}.pf-filter-bar{justify-content:flex-start;border-radius:8px;padding:12px 16px}.portfolio-grid{grid-template-columns:1fr 1fr}.pf-single-hero{min-height:280px}.pf-gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.pf-gallery-item--featured{grid-column:span 2;grid-row:span 1}.pf-project-details-card{grid-template-columns:1fr}.pf-cta-btn,.pf-back-btn{grid-column:1;justify-self:stretch}.pf-related-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.pf-container{padding:0 16px}.portfolio-grid,.portfolio-grid.isotope{display:flex;flex-direction:column}.portfolio-grid.isotope .portfolio-card{width:100%;float:none}.pf-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:120px}.pf-gallery-item--featured{grid-column:span 2}.pf-az-grid{grid-template-columns:repeat(6,1fr)}.pf-related-grid{grid-template-columns:1fr}.pf-page-title{font-size:1.5rem}.pf-single-title{font-size:1.5rem}}@media print{.pf-filter-bar,.pf-cta-btn,.pf-back-btn,.pf-gallery-overlay,.pf-img-badge-glass{display:none!important}.pf-single-body{grid-template-columns:1fr}}