.projects-page {
    overflow:hidden;
    background:#f5fcf7;
    color:#10213d;
}
.projects-page-shell {
    width:min(1320px,calc(100% - 48px));
    margin:0 auto;
}
.projects-page-hero {
    position:relative;
    min-height:clamp(420px,39vw,620px);
    display:flex;
    align-items:center;
    overflow:hidden;
    isolation:isolate;
    color:#fff;
    background:#063b35 url('../assets/mainbackground.png') center/cover no-repeat;
}
.projects-page-hero::before {
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(100deg,rgba(2,48,42,.98) 0%,rgba(0,91,59,.9) 55%,rgba(0,121,63,.42) 100%);
    content:'';
}
.projects-page-hero::after {
    position:absolute;
    right:-12%;
    bottom:-55%;
    width:70%;
    height:115%;
    border:1px solid rgba(123,241,101,.4);
    border-radius:50%;
    box-shadow:0 0 0 30px rgba(123,241,101,.1),0 0 0 64px rgba(123,241,101,.06);
    content:'';
    transform:rotate(-13deg);
}
.projects-page-hero-glow {
    position:absolute;
    top:-35%;
    right:18%;
    width:430px;
    height:430px;
    border-radius:50%;
    background:rgba(104,234,84,.2);
    filter:blur(8px);
}
.projects-page-hero .projects-page-shell { position:relative; padding:clamp(84px,9vw,132px) 0 clamp(76px,8vw,112px); }
.projects-page-eyebrow {
    display:flex;
    align-items:center;
    gap:16px;
    margin:0 0 24px;
    color:#6be985;
    font-size:clamp(.76rem,1vw,1rem);
    font-weight:800;
    letter-spacing:.28em;
    text-transform:uppercase;
}
.projects-page-eyebrow span { width:44px; height:3px; flex:0 0 auto; background:currentColor; }
.projects-page-hero h1 {
    max-width:820px;
    margin:0;
    font-family:var(--heading-font);
    font-size:clamp(3.2rem,7vw,7.4rem);
    letter-spacing:-.08em;
    line-height:.94;
}
.projects-page-hero h1 em { color:#9ce54b; font-style:normal; }
.projects-page-hero > .projects-page-shell > p:not(.projects-page-eyebrow) {
    max-width:710px;
    margin:28px 0 0;
    color:rgba(255,255,255,.82);
    font-size:clamp(1.05rem,1.4vw,1.3rem);
    line-height:1.6;
}
.projects-page-hero-meta { display:flex; flex-wrap:wrap; gap:14px 36px; margin-top:42px; color:#c6f7c0; font-size:.98rem; font-weight:700; }
.projects-page-hero-meta span { display:inline-flex; align-items:center; gap:10px; }
.projects-page-hero-meta i { color:#8ff34b; }
.projects-page-list { width:min(1320px,calc(100% - 48px)); margin:clamp(58px,7vw,100px) auto; padding:clamp(28px,4vw,58px); border:0; border-radius:0; background:transparent; box-shadow:none; }
.projects-page-list::after { display:none; }
.projects-page-list .projects-section-inner { width:100%; }
.projects-page-list .project-filters { flex-wrap:wrap; gap:12px; overflow:visible; margin-bottom:34px; }
.projects-page-list .projects-heading-copy { max-width:920px; }
.projects-page-list .projects-heading-copy h2 { max-width:800px; }
.projects-page-list .projects-view-all { align-self:flex-end; }
.projects-page-empty { display:flex; align-items:center; gap:14px; padding:28px; border:1px dashed #9bc9aa; border-radius:18px; background:#fff; color:#526b79; }
.projects-page-empty i { color:#159447; font-size:1.4rem; }
.projects-page-empty p { margin:0; font-weight:700; }
.projects-page .project-card-content h3 a { color:inherit; text-decoration:none; }
.projects-page .project-card-content h3 a:hover { text-decoration:none; }
.projects-page-list .project-filter { text-decoration:none; }
.projects-pagination { display:flex; justify-content:center; gap:8px; margin-top:48px; }.projects-pagination a,.projects-pagination span { display:grid; min-width:38px; height:38px; padding:0 11px; place-items:center; border:1px solid #d6e7da; border-radius:7px; background:#fff; color:#2a6c46; font-size:.82rem; font-weight:800; text-decoration:none; }.projects-pagination a:hover,.projects-pagination a.active { border-color:#12934a; background:#12934a; color:#fff; }.projects-pagination .disabled { color:#b8c8bd; }
.project-detail-page { overflow:hidden; background:#f5fcf7; color:#10213d; }.project-detail-hero { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); min-height:clamp(490px,44vw,680px); margin-top:var(--header-height); background:#073b32; color:#fff; }.project-detail-hero-image { overflow:hidden; order:2; }.project-detail-hero-image img { display:block; width:100%; height:100%; object-fit:cover; }.project-detail-hero-content { display:flex; flex-direction:column; justify-content:center; padding:clamp(40px,6vw,100px); }.project-detail-back { display:inline-flex; align-items:center; gap:10px; width:max-content; margin-bottom:55px; color:#acf0bb; font-size:.85rem; font-weight:800; text-decoration:none; }.project-detail-back:hover { color:#fff; }.project-detail-hero-content .projects-page-eyebrow { margin-bottom:22px; }.project-detail-hero h1 { max-width:720px; margin:0; font:800 clamp(2.8rem,5.6vw,6rem)/1.02 var(--heading-font); letter-spacing:-.075em; }.project-detail-client { margin:24px 0 0; color:#9ce54b; font:700 clamp(1.15rem,1.7vw,1.55rem) var(--heading-font); }.project-detail-location { margin:17px 0 0; color:rgba(255,255,255,.75); font-size:.95rem; }.project-detail-location i { margin-right:7px; color:#8ff34b; }.project-detail-main { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(290px,.8fr); gap:clamp(35px,7vw,120px); width:min(1260px,calc(100% - 48px)); margin:0 auto; padding:clamp(75px,9vw,130px) 0; }.project-detail-copy h2 { margin:0; color:#082c55; font:800 clamp(2.4rem,4.4vw,4.6rem)/1.05 var(--heading-font); letter-spacing:-.07em; }.project-detail-copy h2 em,.project-detail-section-heading h2 em { color:#169449; font-style:normal; }.project-detail-body { max-width:760px; margin:26px 0 30px; }.project-detail-body p { margin:0 0 18px; color:#587188; font-size:1rem; line-height:1.8; }.project-detail-copy .projects-view-all { display:inline-flex; margin-top:5px; }.project-detail-facts { align-self:start; padding:8px 24px; border:1px solid #dce9e2; border-radius:16px; background:#fff; box-shadow:0 14px 30px rgba(28,83,51,.08); }.project-detail-facts div { display:flex; align-items:flex-start; gap:15px; padding:23px 0; border-bottom:1px solid #e6efe8; }.project-detail-facts div:last-child { border-bottom:0; }.project-detail-facts > div > i { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:50%; background:#e2f8dc; color:#14964a; }.project-detail-facts span { display:grid; gap:5px; color:#799184; font-size:.72rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }.project-detail-facts strong { color:#143b5c; font-size:.9rem; letter-spacing:0; text-transform:none; }.project-gallery,.project-related { width:min(1260px,calc(100% - 48px)); margin:0 auto; padding-bottom:clamp(80px,9vw,130px); }.project-detail-section-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:30px; }.project-detail-section-heading h2 { margin:0; color:#082c55; font:800 clamp(2.2rem,3.8vw,4rem)/1.05 var(--heading-font); letter-spacing:-.07em; }.project-detail-section-heading > p { max-width:390px; margin:0; color:#587188; font-size:.95rem; line-height:1.6; }.project-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.project-gallery-grid a { display:block; height:clamp(190px,22vw,330px); overflow:hidden; border-radius:14px; background:#dcebe0; }.project-gallery-grid a:first-child { grid-column:span 2; }.project-gallery-grid img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }.project-gallery-grid a:hover img { transform:scale(1.05); }.project-gallery-empty { display:flex; align-items:center; gap:14px; min-height:160px; padding:24px; border:1px dashed #9bc9aa; border-radius:15px; background:#fff; color:#526b79; }.project-gallery-empty i { color:#159447; font-size:1.5rem; }.project-gallery-empty p { margin:0; }.project-related { padding-bottom:120px; }.project-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }.project-related-card { overflow:hidden; border:1px solid #dce9e2; border-radius:14px; background:#fff; color:inherit; text-decoration:none; box-shadow:0 10px 25px rgba(28,83,51,.06); transition:transform var(--ease),box-shadow var(--ease); }.project-related-card:hover { box-shadow:0 17px 30px rgba(28,83,51,.12); transform:translateY(-4px); }.project-related-card img { display:block; width:100%; height:175px; object-fit:cover; }.project-related-card div { padding:18px; }.project-related-card p { margin:0 0 7px; color:#299052; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.project-related-card h3 { margin:0 0 16px; color:#082c55; font:800 1.05rem/1.35 var(--heading-font); }.project-related-card span { color:#159447; font-size:.8rem; font-weight:800; }.project-related-card span i { margin-left:5px; }
@media (max-width:760px) {
    .projects-page-shell { width:calc(100% - 40px); }
    .projects-page-hero { min-height:520px; }
    .projects-page-hero h1 { font-size:clamp(3rem,14vw,5rem); }
    .projects-page-hero .projects-page-shell { padding-top:112px; }
    .projects-page-list .projects-view-all { margin-top:20px; }
    .projects-pagination { margin-top:34px; }
    .project-detail-hero { display:flex; min-height:0; flex-direction:column; }.project-detail-hero-image { order:0; height:280px; }.project-detail-hero-content { padding:42px 22px 58px; }.project-detail-back { margin-bottom:35px; }.project-detail-hero h1 { font-size:clamp(2.6rem,12vw,4.3rem); }.project-detail-main { display:block; width:calc(100% - 40px); padding:70px 0; }.project-detail-facts { margin-top:40px; }.project-gallery,.project-related { width:calc(100% - 40px); }.project-detail-section-heading { display:block; }.project-detail-section-heading > p { margin-top:18px; }.project-gallery-grid,.project-related-grid { grid-template-columns:1fr; }.project-gallery-grid a:first-child { grid-column:auto; }.project-gallery-grid a { height:235px; }
}
