.projects-index,.project-story{--project-black:#121212;--project-grey:#4a4a4a;--project-light:#f5f4ef;--project-yellow:#ffd700;--project-white:#fdfdff}.projects-index{background:var(--project-light)}.projects-index__hero,.project-story__hero{align-items:center;background-color:var(--project-black);background-image:linear-gradient(90deg,rgba(8,8,8,.92) 0%,rgba(8,8,8,.72) 46%,rgba(8,8,8,.18) 100%),var(--projects-hero-image,var(--project-hero-image));background-position:center;background-repeat:no-repeat;background-size:cover;display:flex;min-height:clamp(34rem,52vw,46rem)}.projects-index__hero-wrapper,.project-story__hero-wrapper{align-items:center;display:flex;min-height:inherit;width:100%}.projects-index__hero-copy,.project-story__hero-copy{max-width:48rem;padding-block:clamp(5.5rem,9vw,8rem)}.projects-index__hero h1,.project-story__hero h1{color:var(--project-white);font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.02;margin:.8rem 0 1.4rem;text-wrap:balance}.projects-index__hero-copy>p:not(.projects-index__eyebrow),.project-story__hero-copy>p:not(.project-story__eyebrow){color:var(--project-white);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65;max-width:42rem}.projects-index__eyebrow,.project-story__eyebrow,.project-story__section-label{color:var(--project-yellow);font-family:Montserrat,Arial,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.projects-index__eyebrow--dark,.project-story__section-label{color:#645400}.projects-index__hero .btn,.project-story__hero .btn{margin-top:2rem}.projects-index__content{display:block;padding-block:clamp(4rem,8vw,7rem)}.projects-index__heading{max-width:52rem}.projects-index__heading h2{font-size:clamp(2.2rem,4vw,3.5rem);margin:.8rem 0 1rem;text-wrap:balance}.projects-index__heading>p:last-child{color:var(--project-grey);font-size:1.06rem;line-height:1.7}.projects-index__grid{display:grid;gap:clamp(1.5rem,3vw,2.5rem);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2.5rem,5vw,4rem);width:100%}.project-card{background:#fff;border:1px solid rgba(18,18,18,.13);border-radius:.55rem;box-shadow:0 .75rem 2rem rgba(18,18,18,.07);overflow:hidden;position:relative;transition:box-shadow .3s ease,transform .3s ease}.project-card:hover{box-shadow:0 1.15rem 2.75rem rgba(18,18,18,.14);transform:translateY(-.35rem)}.project-card__link{inset:0;position:absolute;z-index:2}.project-card__media{aspect-ratio:16/10;background:#ddd;overflow:hidden}.project-card__media img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.project-card:hover .project-card__media img{transform:scale(1.04)}.project-card__body{padding:1.5rem}.project-card__meta{color:#645400;font-family:Montserrat,Arial,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-card h2{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.2;margin:.65rem 0 1rem}.project-card__body>p:not(.project-card__meta){color:var(--project-grey);line-height:1.65}.project-card__body>span{display:inline-block;font-weight:600;margin-top:1.25rem}.project-story__visual-note{display:block;padding-block:.75rem}.project-story__visual-note p{color:#626262;font-size:.78rem;margin:0}.project-story__facts{display:grid;gap:1px;grid-template-columns:repeat(4,minmax(0,1fr));margin-block:clamp(2.5rem,5vw,4.5rem);overflow:hidden;padding:0}.project-story__fact{background:var(--project-light);border-left:.22rem solid var(--project-yellow);display:flex;flex-direction:column;gap:.5rem;min-height:8.5rem;padding:1.35rem}.project-story__fact span{color:#686868;font-family:Montserrat,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-story__fact strong{font-size:1.08rem;line-height:1.45}.project-story__layout{align-items:start;display:grid;gap:clamp(2.5rem,5vw,5rem);grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);padding-bottom:clamp(4rem,7vw,6.5rem)}.project-story__content{min-width:0}.project-story__content h2{font-size:clamp(2rem,4vw,3rem);line-height:1.12;margin:clamp(3.5rem,6vw,5.5rem) 0 1.25rem;text-wrap:balance}.project-story__content h3{font-size:clamp(1.25rem,2vw,1.55rem);margin:2rem 0 .75rem}.project-story__content p,.project-story__content li{color:var(--project-grey);font-size:1.04rem;line-height:1.75}.project-story__content a:not(.btn),.project-story__scope a{color:var(--project-black);font-weight:600;text-decoration:underline;text-decoration-color:var(--project-yellow);text-decoration-thickness:.12rem;text-underline-offset:.2rem}.project-story__quick-answer{background:var(--project-light);border-left:.32rem solid var(--project-yellow);margin-bottom:clamp(3rem,5vw,4.5rem);padding:clamp(1.5rem,3vw,2.25rem)}.project-story__quick-answer strong{display:block;font-family:Montserrat,Arial,sans-serif;font-size:1.15rem;margin-bottom:.65rem}.project-story__process{counter-reset:project-step;display:grid;gap:1rem;list-style:none;margin:2rem 0 3rem;padding:0}.project-story__process li{background:#fff;border:1px solid rgba(18,18,18,.14);counter-increment:project-step;display:grid;gap:1rem;grid-template-columns:3.2rem minmax(0,1fr);padding:1.25rem}.project-story__process li:before{align-items:center;background:var(--project-black);border-radius:50%;color:var(--project-yellow);content:counter(project-step,decimal-leading-zero);display:flex;font-family:Montserrat,Arial,sans-serif;font-size:.75rem;font-weight:700;height:3.2rem;justify-content:center;width:3.2rem}.project-story__process strong{color:var(--project-black);display:block;font-family:Montserrat,Arial,sans-serif;margin-bottom:.3rem}.project-story__inclusions{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:2rem 0 3rem;padding:0}.project-story__inclusions li{background:var(--project-light);border-top:.22rem solid var(--project-yellow);padding:1.3rem}.project-story__inclusions strong{color:var(--project-black);display:block;font-family:Montserrat,Arial,sans-serif;margin-bottom:.35rem}.project-story__table-wrap{border:1px solid rgba(18,18,18,.14);border-radius:.5rem;box-shadow:0 .75rem 2rem rgba(18,18,18,.06);margin:2rem 0 3rem;overflow:hidden}.project-story__table{border-collapse:collapse;width:100%}.project-story__table th{background:var(--project-black);color:var(--project-white);font-family:Montserrat,Arial,sans-serif;text-align:left}.project-story__table th,.project-story__table td{border-bottom:1px solid rgba(18,18,18,.11);line-height:1.45;padding:1rem 1.15rem;vertical-align:top}.project-story__table tr:last-child td{border-bottom:0}.project-story__table tbody tr:nth-child(even){background:#f7f7f7}.project-story__note{background:#fff8cc;border:1px solid rgba(118,99,0,.24);margin:2rem 0;padding:1.3rem}.project-story__pain-points{display:grid;gap:1rem;list-style:none;margin:2rem 0 3rem;padding:0}.project-story__pain-points li{border-bottom:1px solid rgba(18,18,18,.14);padding:0 0 1rem}.project-story__pain-points strong{color:var(--project-black)}.project-story__sidebar{position:sticky;top:7rem}.project-story__scope{background:var(--project-black);border-top:.3rem solid var(--project-yellow);padding:clamp(1.5rem,3vw,2.25rem)}.project-story__scope h2,.project-story__scope p,.project-story__scope a{color:var(--project-white)}.project-story__scope h2{font-size:1.65rem;line-height:1.2;margin:.7rem 0 1rem}.project-story__scope p{line-height:1.7}.project-story__scope a{display:inline-block;margin-top:1rem;text-decoration-color:var(--project-yellow)}.project-story__before-after,.project-story__faq{margin-top:clamp(4rem,7vw,6rem)}.project-story__before-after h2,.project-story__faq h2{margin-top:.65rem}.project-story__comparison{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}.project-story__comparison figure{aspect-ratio:4/3;overflow:hidden;position:relative}.project-story__comparison img{height:100%;object-fit:cover;width:100%}.project-story__comparison figure>span{background:var(--project-black);color:var(--project-white);font-family:Montserrat,Arial,sans-serif;font-size:.75rem;font-weight:700;left:1rem;letter-spacing:.08em;padding:.55rem .75rem;position:absolute;text-transform:uppercase;top:1rem;z-index:1}.project-story__faq-list{border-top:1px solid rgba(18,18,18,.16);margin-top:2rem}.project-story__faq details{border-bottom:1px solid rgba(18,18,18,.16)}.project-story__faq summary{cursor:pointer;font-family:Montserrat,Arial,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.45;padding:1.4rem 2.4rem 1.4rem 0;position:relative}.project-story__faq summary::after{color:#675700;content:'+';font-size:1.5rem;position:absolute;right:.25rem;top:1.2rem}.project-story__faq details[open] summary::after{content:'−'}.project-story__faq details>div{padding:0 2rem 1.25rem 0}.project-story__cta{background:var(--project-black);margin-top:0;padding-block:clamp(3.5rem,7vw,5.5rem)}.project-story__cta-inner{align-items:center;display:flex;justify-content:space-between}.project-story__cta h2{color:var(--project-white);font-size:clamp(2rem,4vw,3.5rem);margin:.6rem 0 0;text-wrap:balance}.project-story__cta-actions{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:flex-end}.project-story__cta .btn{white-space:nowrap}
@media(max-width:1023px){.projects-index__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-story__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-story__layout{grid-template-columns:1fr}.project-story__sidebar{position:static}.project-story__cta-inner{align-items:flex-start;flex-direction:column;gap:2rem}.project-story__cta-actions{justify-content:flex-start}}
@media(max-width:767px){.projects-index__hero,.project-story__hero{background-image:linear-gradient(90deg,rgba(8,8,8,.94),rgba(8,8,8,.58)),var(--projects-hero-image,var(--project-hero-image));background-position:62% center;min-height:36rem}.projects-index__hero h1,.project-story__hero h1{font-size:clamp(2.65rem,12vw,4rem)}.projects-index__grid,.project-story__facts,.project-story__inclusions,.project-story__comparison{grid-template-columns:1fr}.project-story__facts{gap:.75rem;margin-inline:1.25rem}.project-story__fact{min-height:0}.project-story__layout{padding-inline:1.25rem}.project-story__table-wrap{border:0;box-shadow:none;overflow:visible}.project-story__table,.project-story__table tbody{display:block}.project-story__table thead{display:none}.project-story__table tbody{display:grid;gap:1rem}.project-story__table tr{background:#fff!important;border:1px solid rgba(18,18,18,.14);border-left:.22rem solid var(--project-yellow);border-radius:.4rem;display:block;overflow:hidden}.project-story__table td{border-bottom:1px solid rgba(18,18,18,.1);display:grid;gap:.7rem;grid-template-columns:minmax(7.25rem,42%) minmax(0,1fr);padding:1rem}.project-story__table td::before{color:#5f5000;content:attr(data-label);font-family:Montserrat,Arial,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.project-story__process li{grid-template-columns:2.7rem minmax(0,1fr);padding:1rem}.project-story__process li:before{height:2.7rem;width:2.7rem}.project-story__cta-actions,.project-story__cta .btn{width:100%}.project-story__cta-actions{gap:1.3125rem}.project-story__visual-note{padding-inline:1.25rem}}
@media(prefers-reduced-motion:reduce){.project-card,.project-card__media img{transition:none}}

/* Keep project hero and final CTA spacing predictable at every breakpoint. */
.projects-index__hero-copy,.project-story__hero-copy{align-items:flex-start;display:flex;flex-direction:column}
.projects-index__hero-copy>p:not(.projects-index__eyebrow),.project-story__hero-copy>p:not(.project-story__eyebrow){margin:0}
.projects-index__hero .btn,.project-story__hero .btn{display:inline-flex;justify-content:center;margin-top:2rem}
.project-story__cta-inner{column-gap:clamp(2.5rem,5vw,6rem);row-gap:2.5rem}
.project-story__cta-inner>div:first-child{flex:1 1 28rem;max-width:42rem}
.project-story__cta h2{margin-top:.8rem}
.project-story__cta-actions{align-items:center;flex:0 1 auto}

.project-story__facts{background:var(--project-light);border-bottom:1px solid rgba(18,18,18,.09);gap:clamp(.85rem,1.5vw,1.4rem);margin-bottom:0;margin-top:0;overflow:visible;padding-block:clamp(2rem,4vw,3.25rem);padding-inline:1.25rem}
.project-story__fact{background:#fff;border:1px solid rgba(18,18,18,.12);border-left:0;border-top:.25rem solid var(--project-yellow);box-shadow:0 .65rem 1.8rem rgba(18,18,18,.07);justify-content:center;min-height:9.5rem;padding:clamp(1.25rem,2vw,1.75rem);transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}
.project-story__fact span{color:#6a5900;font-size:.72rem;line-height:1.4}
.project-story__fact strong{font-family:Montserrat,Arial,sans-serif;font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.4}
.project-story__section-label+h2{margin-top:.65rem}
.project-story__layout{padding-top:clamp(3.25rem,6vw,5.5rem)}
.project-story__article-section{border-top:1px solid rgba(18,18,18,.13);margin-top:clamp(3.5rem,6vw,5.5rem);padding-top:clamp(2.25rem,4vw,3.5rem)}
.project-story__quick-answer+.project-story__article-section{margin-top:0}
.project-story__article-section>.project-story__section-label:first-child{margin-bottom:0}
.project-story__planning-list{border-top:1px solid rgba(18,18,18,.16);margin-top:1.75rem}
.project-story__planning-list details{border-bottom:1px solid rgba(18,18,18,.16)}
.project-story__planning-list summary{cursor:pointer;font-family:Montserrat,Arial,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.45;padding:1.3rem 2.4rem 1.3rem 0;position:relative}
.project-story__planning-list summary::after{color:#675700;content:'+';font-size:1.5rem;position:absolute;right:.25rem;top:1.05rem}
.project-story__planning-list details[open] summary::after{content:'−'}
.project-story__planning-list details>div{padding:0 1.5rem 1.25rem 0}

@media(hover:hover) and (pointer:fine){
  .project-story__fact:hover{border-color:rgba(18,18,18,.2);box-shadow:0 1rem 2.4rem rgba(18,18,18,.12);transform:translateY(-.25rem)}
}

@media(max-width:1199px){
  .project-story__cta-inner{align-items:flex-start;flex-direction:column}
  .project-story__cta-inner>div:first-child{flex-basis:auto}
  .project-story__cta-actions{justify-content:flex-start}
}

@media(min-width:1024px){
  .project-story__facts{padding-inline:5vw}
}

@media(min-width:1300px){
  .project-story__facts{padding-inline:8.6vw}
}

@media(max-width:767px){
  .projects-index__hero .btn,.project-story__hero .btn{max-width:21rem;width:100%}
  .projects-index{overflow:hidden}
  .projects-index__hero{min-height:auto}
  .projects-index__hero-wrapper{min-width:0}
  .projects-index__hero-copy{align-items:center;max-width:100%;min-width:0;padding-block:clamp(4rem,16vw,5.25rem);text-align:center;width:100%}
  .projects-index__hero h1{font-size:clamp(2rem,8vw,2.25rem);letter-spacing:-.02em;line-height:1.08;max-width:16ch;text-wrap:wrap;width:auto}
  .projects-index__hero-copy>p:not(.projects-index__eyebrow){font-size:1rem;line-height:1.6;margin-inline:auto;max-width:32ch}
  .projects-index__content{min-width:0;padding-inline:1.25rem}
  .projects-index__heading{max-width:100%;min-width:0;width:100%}
  .projects-index__heading h2{font-size:clamp(1.9rem,9vw,2.35rem);line-height:1.12;max-width:100%;text-wrap:wrap}
  .project-story__fact{min-height:0}
  .project-story__cta-inner{row-gap:2rem}

  .project-story{overflow:hidden}
  .project-story__hero{min-height:auto}
  .project-story__hero-wrapper{min-width:0}
  .project-story__hero-copy{align-items:center;min-width:0;padding-block:clamp(4rem,16vw,5.25rem);text-align:center;width:100%}
  .project-story__hero h1{font-size:clamp(2rem,8vw,2.25rem);letter-spacing:-.02em;line-height:1.08;max-width:15ch;overflow-wrap:normal;text-wrap:wrap;width:auto}
  .project-story__hero-copy>p:not(.project-story__eyebrow){font-size:1rem;line-height:1.6;margin-inline:auto;max-width:32ch}
  .project-story__hero .btn{padding-inline:1rem}

  .project-story__facts{gap:.9rem;margin-inline:0;padding-block:2rem;padding-inline:1.25rem}
  .project-story__fact{padding:1.25rem}
  .project-story__fact strong{font-size:1.05rem}

  .project-story__layout{gap:3rem;padding-block:3.25rem 4rem;padding-inline:1.25rem}
  .project-story__content h2{font-size:clamp(1.85rem,9vw,2.35rem);line-height:1.12}
  .project-story__content p,.project-story__content li{font-size:1rem;line-height:1.68}
  .project-story__quick-answer{margin-bottom:3rem;padding:1.35rem}
  .project-story__article-section{margin-top:3.5rem;padding-top:2.25rem}
  .project-story__section-label+h2{margin-top:.55rem}

  .project-story__process,.project-story__inclusions,.project-story__pain-points{gap:.85rem;margin-block:1.5rem 2.5rem}
  .project-story__process li{gap:.85rem;padding:1rem}
  .project-story__inclusions li{padding:1.15rem}
  .project-story__pain-points li{padding-bottom:1rem}

  .project-story__before-after,.project-story__faq{margin-top:3.5rem}
  .project-story__comparison{gap:.85rem;margin-top:1.5rem}
  .project-story__scope{padding:1.5rem}
  .project-story__cta{padding-block:3.5rem}
  .project-story__cta h2{font-size:clamp(1.9rem,9vw,2.4rem)}

  .project-story [data-mobile-anim="fade-up"]{opacity:0;transform:translateY(1.5rem);transition:opacity .65s ease-out,transform .65s cubic-bezier(.22,1,.36,1)}
  .project-story [data-mobile-anim="fade-up"].is-inview{opacity:1;transform:translateY(0)}
}

@media(max-width:420px){
  .project-story__hero h1{font-size:clamp(1.95rem,8vw,2.15rem)}
  .project-story__table td{grid-template-columns:minmax(6.5rem,39%) minmax(0,1fr);padding:.9rem}
}

@media(prefers-reduced-motion:reduce){
  .project-story [data-mobile-anim]{opacity:1;transform:none;transition:none}
}
