/* =========================================================
   Summit Construction & Development — Portfolio Projects Page
   Design tokens taken directly from the Figma file.
   ========================================================= */

:root {
  --navy:        #133260;   /* primary brand navy */
  --green:       #64a70a;   /* CTA green */
  --ink:         #1a2535;   /* hero/CTA overlay base */
  --slate-500:   #64748b;   /* muted nav text */
  --gray-700:    #374151;   /* chip text */
  --gray-500:    #6b7280;   /* labels / meta */
  --gray-300:    #d1d5db;   /* chip border */
  --gray-200:    #e5e7eb;   /* card border / tag bg */
  --border-100:  #e2e8f0;   /* header border */
  --filter-bg:   #f1f3f5;   /* filter bar bg */
  --white:       #ffffff;
  --santa-grey:   #9CA3AF;
  --seashell:   #EFF0F2;
  --alabaster:   #F9FAFB;

  --shell:       1440px;    /* design frame width */
  --gutter:      80px;      /* page side padding at desktop */
  --content:     1200px;    /* inner content column */

  --font-ui:     "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* fotn size */
  --font-size-base: 16px;
  --line-height-body: 1.5;
  --font-weight-regular: 400;
  --font-weight-bold: 700;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-extrabold: 800;

  /* line-heights (repeated across components) */
  --line-height-tight: 1;
  --lh-42: 1.42;
  --lh-43: 1.43;
  --lh-44: 1.44;
  --lh-46: 1.46;
  --lh-47: 1.47;

  /* repeated type-scale sizes */
  --fs-chip: 12.321px;
  --fs-12-13: clamp(12px, 1.5vw, 13px);
  --fs-13-14: clamp(13px, 1.5vw, 14px);
  --fs-13-14-tight: clamp(13px, 1.6vw, 14px);
  --fs-13-15: clamp(13px, 2vw, 15px);
  --fs-14-16: clamp(14px, 2vw, 16px);
  --fs-16-18: clamp(16px, 2.5vw, 18px);

  /* repeated overlay / alpha colors */
  --overlay-ink-70: rgba(26, 37, 53, .7);
  --overlay-ink-85: rgba(26, 37, 53, .85);
  --fade-ink-gradient: linear-gradient(180deg, rgba(26, 37, 53, 0.00) 0%, rgba(26, 37, 53, 0.80) 100%);
  --white-alpha-06: rgba(255, 255, 255, .06);
  --white-alpha-40: rgba(255, 255, 255, .4);
  --white-alpha-60: rgba(255, 255, 255, .6);
  --white-alpha-70: rgba(255, 255, 255, .7);
  --white-alpha-80: rgba(255, 255, 255, .8);
  --white-alpha-85: rgba(255, 255, 255, .85);
  --green-hover: #58920a;
  --offcanvas-grad-start: #4E4E53;
  --offcanvas-grad-end: #37373B;
  --card-img-placeholder: #dde3ea;
  --card-hover-shadow: rgba(19, 50, 96, .12);

}

/* ---------- Base ---------- */
* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-regular);
  line-height: 1.5;
  color: var(--navy);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-osx-font-smoothing: grayscale;
}

img { max-width: 100%; display: block; }

a { text-decoration: none; color: inherit; }


/* heading */
h1,
h2,
h3,
h4,
h5,
h6{
  color: var(--white);
  font-family: var(--font-display);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
}

h1 {
    font-size: clamp(40px, 6vw, 56px);
}

h2 {
    font-size: clamp(34px, 5vw, 48px);
}

h3 {
    font-size: clamp(30px, 4.5vw, 40px);
}

h4 {
    font-size: clamp(28px, 4vw, 36px);
}

h5 {
    font-size: clamp(20px, 3vw, 24px);
}

h6 {
    font-size: clamp(18px, 2.5vw, 20px);
}
.mb-p p:last-child{
  margin-bottom: 0;
}
/* new */
/* Custom scrollbar styling */
.os-scrollbar-handle {
	background: var(--green);
}

body > .os-scrollbar {
	z-index: 99999;
}

/* =========================================================
  SMOOTH SCROLL LIBRARY (LENIS)
   =========================================================
   
   Styles for the Lenis smooth scrolling library.
   Ensures smooth scroll behavior across browsers.
   
   ========================================================= */

html.lenis,
html.lenis body {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: hidden;
}

/* =========================================================
   FORMS & INPUT ELEMENTS
   =========================================================
   
   Styling for form controls including text inputs,
   textareas, and focus states.
   
   ========================================================= */

/* Input field defaults */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="url"],
textarea {
	width: 100%;
	padding: 8px 10px;
	background: var(--white);
	border: 1px solid var(--white);
	color: var(--navy);
	font-family: var(--font-ui);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-body);
	opacity: 1;
	border-radius: 0;
}

/* Textarea specific height */
textarea {
	height: 88px;
}

/* Remove default focus outline */
input:focus,
textarea:focus {
	outline: none;
	box-shadow: none;
}

/* Placeholder text styling */
::placeholder {
	color: var(--white);
	font-family: var(--font-ui);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: 1.5;
}

/* font color */
.navy-color{
  color: var(--navy);
}
/* new */

/* font weight */
.fw-800{
  font-weight: var(--font-weight-extrabold);
}

/* border radius */
.br-10{
  border-radius: 10px;
}
.br-8{
  border-radius: 8px;
}


/* Shared button ------------------------------------------------ */
.btn-summit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: clamp(13px, 1.5vw, 15px);
  line-height: var(--line-height-tight);
  text-transform: uppercase;
  padding: clamp(12px, 2vw, 15px) clamp(18px, 3vw, 28px);
  transition: background-color .15s ease, transform .15s ease;
  white-space: nowrap;
}

.btn-summit--green { background: var(--green); color: var(--white); }
.btn-summit--green:hover { background: var(--green-hover); color: var(--white); }
.btn-summit--lg {
  font-family: var(--font-display);
  padding: clamp(12px, 2vw, 15px) clamp(18px, 3vw, 24px);
}



.bg-fix{
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.container{
  max-width: 1304px;
}
/* =========================================================
   HEADER
   ========================================================= */
.site-header {
  background: var(--white);
  border-bottom: 1px solid var(--border-100);
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 19.5px 0;
}
.brand-logo img {
  max-width: clamp(140px, 20vw, 201px);
}
.brand-fallback,
.footer-brand-fallback {
  display: none;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 2px;
  font-size: 24px;
  color: var(--navy);
}
.footer-brand-fallback { color: var(--white); }

.main-nav {
  display: flex;
  align-items: center;
  gap: 36px;
  margin-left: auto;
  margin-right: auto;
}
.nav-link {
  font-size: 15px;
  font-weight: var(--font-weight-medium);
  color: var(--slate-500);
  transition: color .15s ease;
}
.main-nav ul li:hover .nav-link{ color: var(--navy); }
.main-nav ul li.active .nav-link { 
  color: var(--navy);
  font-weight: 700; 
}
.project-details-list ul ,
.compliance-list ul  ,
.mobile-menu,
.main-nav ul{
  list-style: none;
  padding: 0;
  margin: 0;
}
.main-nav ul li{
  display: inline-block;
  margin-right: 32px;
}
.main-nav ul li:last-child{
  margin-right: 0;
}
.header-actions {
  gap: clamp(12px, 2vw, 22px);
}

.header-phone {
  font-weight: 700;
  font-size: 16px;
  color: var(--navy);
  white-space: nowrap;
}

/* header offcanvas start*/
#offcanvasRight.offcanvas{
    background: -webkit-gradient(linear, left bottom, left top, from(var(--offcanvas-grad-start)), to(var(--offcanvas-grad-end)));
    background: -o-linear-gradient(bottom, var(--offcanvas-grad-start) 0%, var(--offcanvas-grad-end) 100%);
    background: linear-gradient(0deg, var(--offcanvas-grad-start) 0%, var(--offcanvas-grad-end) 100%);
}
#offcanvasRight  .offcanvas-header {
    padding: 20px;
}
#offcanvasRight  .offcanvas-body {
    padding: 0px 20px 52px;
}
.humbarger-btn {
	border: 0;
	height: 43px;
	width: 43px;
	background: var(--green);
	-webkit-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	transition: all 0.3s linear;
	position: relative;
}
.humbarger-btn span {
  display: block;
  background-color: var(--white);
  height: 4px;
  width: 27px;
  position: absolute;
  top: 25px;
  transition: background-color ease .3s, top ease .3s .3s, transform ease .3s, -webkit-transform ease .3s;
  left: 50%;
  -webkit-transform: translate(-50%, -1.5px);
      -ms-transform: translate(-50%, -1.5px);
          transform: translate(-50%, -1.5px);
}
.humbarger-btn span:nth-child(1) {
	top: 13px;
}
.humbarger-btn span:nth-child(2) {
    top: 21px;
}
.humbarger-btn span:nth-child(3) {
    top: auto;
    bottom: 10px;
}
.btn-close {
	--bs-btn-close-bg: none;
	--bs-btn-close-opacity: 1;
	--bs-btn-close-hover-opacity: 1;
	border: 0;
	border-radius: 0;
	height: 43px;
	width: 43px;
	gap: 0px;
	-webkit-transition: top ease .3s, -webkit-transform ease .3s .3s;
	-o-transition: top ease .3s, transform ease .3s .3s;
	transition: background-color ease .3s, top ease .3s, transform ease .3s .3s,
		-webkit-transform ease .3s .3s;
	background-color: var(--green);
}
.btn-close:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}
.offcanvas-product-filter .btn-close,
.header-offcanvas .btn-close {
	padding: 0;
	margin: 0;
}


.btn-close span {
    background-color: var(--white);
    height: 5px;
    width: 27px;
    -webkit-transition: top ease .3s, -webkit-transform ease .3s .3s;
    -o-transition: top ease .3s, transform ease .3s .3s;
    transition: top ease .3s, transform ease .3s .3s,
	-webkit-transform ease .3s .3s;
}
.mobile-nav>ul>li {
	padding-bottom: 15px;
}
.mobile-nav ul>li>a {
    display: inline-block;
    color: var(--white);
    font-size: 20px;
}
.mobile-nav ul>li > a.active,
.mobile-nav ul>li:hover > a{
    color: var(--green);
}
/* header offcanvas end*/

/* =========================================================
   HERO
   ========================================================= */
.hero {
  position: relative;
  background: var(--ink) url("../assets/hero.png") center/cover no-repeat;
  overflow: hidden;
  padding: clamp(48px, 8vw, 78px) 0;
  min-height: clamp(220px, 40vw, 312px);
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--overlay-ink-70);
}
.hero-eyebrow {
  display: inline-block;
  font-family: var(--font-display);
  font-size: clamp(11px, 1.5vw, 12px);
  letter-spacing: clamp(0.6px, 0.15vw, 1px);
  color: var(--white);
  text-transform: uppercase;
  margin-bottom: clamp(18px, 4vw, 31px);
}

.hero-title {
  font-size: clamp(30px, 5vw, 46px);
}
.hero-content p {
  color: var(--white);
  font-weight: var(--font-weight-medium);
  line-height: var(--lh-43);
}
.hero.version-2 {
  padding: clamp(56px, 8vw, 78px) 0 clamp(80px, 12vw, 145px);
}
.hero-eyebrow {
  font-size: clamp(11px, 1.5vw, 13px);
}
.hero.version-2 .hero-content p {
    max-width: 414px;
}


/* =========================================================
   FILTER BAR
   ========================================================= */
.filter-bar {
  background: var(--filter-bg);
  border-bottom: 1px solid var(--filter-bg);
}
.filter-bar-inner {
    padding: clamp(20px, 4vw, 33px) 0;
    display: flex;
    gap: clamp(20px, 4vw, 40px);
}


/* Design shows SERVICE row on the left and COUNTY row on the right of the
   same horizontal band. On wide screens we place them side by side; the
   markup keeps SERVICE first for logical/tab order. */
.filter-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
}
.filter-label {
  font-size: var(--fs-chip);
  color: var(--gray-500);
  margin-right: 8px;
  white-space: nowrap;
}
.filter-chip {
  font-weight: var(--font-weight-medium);
  font-size: var(--fs-chip);
  line-height: var(--lh-46);
  color: var(--gray-700);
  background: var(--white);
  border: 1px solid var(--gray-300);
  border-radius: 100px;
  padding: 6.5px 15px;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.filter-chip:hover { border-color: var(--navy); }
.filter-chip.is-active {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}

/* =========================================================
   PROJECT GRID
   ========================================================= */
.project-grid-section {
    background: var(--white);
    padding: clamp(24px, 5vw, 40px) 0 clamp(56px, 8vw, 96px);
}
.project-grid-section .container {
    max-width: 1224px;
}

.result-count {
    display: inline-block;
    font-weight: var(--font-weight-medium);
    font-size: var(--fs-12-13);
    color: var(--gray-500);
    margin-bottom: clamp(12px, 3vw, 20px);
}


/* Bootstrap row: emulate the 36px gap + 3-up layout, centered at 1200px */
.project-grid .row {
    --bs-gutter-x: clamp(20px, 4vw, 36px);
}
.project-card {
  background: var(--white);
  border: 1px solid var(--gray-200);
  border-radius: 10px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s ease, transform .2s ease;
}
.project-card:hover {
  box-shadow: 0 12px 28px var(--card-hover-shadow);
  transform: translateY(-2px);
}
.project-card__img {
  position: relative;
  width: 100%;
  aspect-ratio: 376 / 210;
  background: var(--card-img-placeholder);
  min-height: 210px;
}
.project-card__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-card__body {
    padding: clamp(14px, 2.5vw, 18px)
             clamp(16px, 3vw, 20px)
             clamp(16px, 3vw, 20px);
    flex-direction: column;
    gap: clamp(6px, 1.5vw, 8px);
}
.project-card__title {
    font-size: clamp(15px, 2vw, 17px);
    line-height: var(--lh-47);
    color: var(--navy);
}
/* font family ui */
.project-detail-section-title h2 ,
.footer-legal a ,
.copyright,
.footer-contact-list li a ,
.footer-about ,
.filter-chip ,
.filter-label ,
.result-count ,
.tag-chip ,
.project-card__title,
.project-card__location {
    font-family: var(--font-ui);
}
.project-card__location {

    font-size: var(--fs-12-13);
    line-height: var(--lh-46);
    color: var(--gray-500);
}

.project-card__tags {
  gap: 6px;
  margin-top: 2px;
}
.tag-chip {
  display: inline-flex;
  align-items: center;
  background: var(--gray-200);
  color: var(--gray-700);
  font-weight: var(--font-weight-medium);
  font-size: 11px;
  line-height: var(--lh-46);
  border-radius: 100px;
  padding: 4px 10px;
}

.no-results {
  text-align: center;
  color: var(--gray-500);
  font-size: 15px;
  padding: 40px 0;
}

/* =========================================================
   CTA BAND
   ========================================================= */

.cta-band {
    padding: clamp(56px, 8vw, 90px) 0 clamp(72px, 10vw, 123px);
}


.cta-overlay {
  position: absolute;
  inset: 0;
  background: var(--overlay-ink-85);
}
.cta-title {
    font-size: clamp(32px, 5vw, 48px);
    margin-bottom: clamp(14px, 3vw, 20px);
}
.cta-content p {
    line-height: 1.37;
    color: var(--white-alpha-80);
    max-width: clamp(300px, 70vw, 448px);
    margin-bottom: clamp(14px, 3vw, 20px);
    margin-right: auto;
    margin-left: auto;
}
.cta-band.version-2 {
  padding: clamp(64px, 10vw, 120px) 0;
  min-height: clamp(300px, 50vw, 414px);
}


.cta-band.version-2 .cta-content p {
    max-width: clamp(300px, 70vw, 680px);
}




/* =========================================================
   FOOTER
   ========================================================= */
.site-footer { background: var(--navy); color: var(--white); }

.footer-inner {
    padding: clamp(40px, 6vw, 60px) 0 clamp(48px, 8vw, 80px);
}

.footer-inner .row {
  --bs-gutter-x: clamp(32px, 6vw, 92px);
}

.footer-col--about {
  margin-right: clamp(0px, 3vw, 30px);
}

.footer-logo {
  margin-bottom: clamp(20px, 4vw, 30px);
}

.footer-logo img {
  max-width: clamp(140px, 20vw, 197px);
}

.footer-about {
  font-size: var(--fs-13-14);
  line-height: 1.6;
  color: var(--white-alpha-60);
  max-width: clamp(300px, 70vw, 455px);
}

.footer-heading {
  font-size: var(--fs-14-16);
  color: var(--white);
  margin-bottom: clamp(16px, 3vw, 22px);
}


.footer-contact-list { list-style: none; margin: 0; padding: 0; }
.footer-contact-list li{
  margin-bottom: 15px;
}
.footer-contact-list li:last-child{
  margin-bottom: 0;
}

.footer-contact-list li a {
  display: flex;
  align-items: flex-start;
  gap: clamp(8px, 2vw, 12px);
  font-size: var(--fs-13-14);
  line-height: 1.5;
  color: var(--white-alpha-60);
  transition: all 0.3s linear;
}


.footer-contact-list li:hover a{
  color: var(--green);
}
.fc-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-top: 1px;
  color: var(--white-alpha-85);
}
.social-row { display: flex; gap: 13px; }
.social-btn {
  width: 34px;
  height: 34px;
  border-radius: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--white-alpha-85);
  background: transparent;
  transition: background-color .15s ease, color .15s ease;
}
.social-btn:hover { background: var(--green); color: var(--white); }
.social-btn svg { width: 18px; height: 18px; }
.footer-bottom {
    padding: clamp(16px, 3vw, 22px) 0;
}
.footer-bottom::before {
  content: "";
  position: absolute;
  top: 0;
  height: 1px;
  background: var(--white-alpha-06);
  z-index: 1;
  width: calc(100% + 5000px);
  left: -2500px;
}
.footer-legal { gap: 24px; }
.copyright ,
.footer-legal a { 
  font-size: 12px; 
  color: var(--white-alpha-40); 
  transition: all 0.3s linear;
}
.footer-legal a:hover { color: var(--white-alpha-70); }


/* =========================================================
  HERO PLACEMENT
========================================================= */

.hero-placement {
  border-bottom: 1px solid var(--border-100);
  background: var(--filter-bg);
  padding: clamp(18px, 4vw, 29px) 0;
}

.hero-placement-title {
  color: var(--slate-500);
  font-size: clamp(10px, 1.3vw, 11px);
  line-height: 1.45;
  text-transform: uppercase;
}
.hero-eyebrow,
.filter-label ,
.filter-chip.is-active ,
.project-card__title ,
.hero-placement-box p{
  font-weight: var(--font-weight-semibold);
}
.hero-placement-box p {
    color: var(--navy);
    font-size: var(--fs-13-15);
    line-height: var(--lh-46);
}


/* =========================================================
  PROJECT DETAILS
========================================================= */
.project-details-area {
  padding: clamp(36px, 6vw, 53px) 0 clamp(56px, 8vw, 86px);
}
.sub-title {
  color: var(--green);
  font-family: var(--font-ui);
  font-size: clamp(12px, 1.8vw, 14px);
  font-weight: 700;
  display: inline-block;
  text-transform: uppercase;
}
.project-detail-section-title h2 {
  color: var(--navy);
  font-weight: var(--font-weight-extrabold);
  line-height: 1.1;
}
.compliance-card {
    border-radius: 10px;
    background: var(--navy);
    padding: clamp(20px, 4vw, 28px);
}
.compliance-card h6 {
  font-size: var(--fs-16-18);
  font-weight: var(--font-weight-semibold);
  line-height: var(--lh-44);
}
.compliance-card p {
  color: var(--santa-grey);
  font-size: var(--fs-13-14-tight);
  line-height: var(--lh-42);
}

.compliance-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.compliance-list ul li {
  color: var(--gray-200);
  font-size: var(--fs-13-14-tight);
  font-weight: var(--font-weight-medium);
  line-height: var(--lh-42);
  padding-left: 10px;
}
.compliance-list ul li ,
.project-details-list ul li{
  margin-bottom: clamp(8px, 2vw, 12px);
}
.project-details-list ul li  ,
.compliance-list ul li{
  position: relative;
  z-index: 1;
}
.project-details-list ul li::before ,
.compliance-list ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8.5px;
  height: 4px;
  width: 4px;
  background-color: var(--gray-200);
  border-radius: 100%;
}
.project-details-list ul li:last-child ,
.compliance-list ul li:last-child{
  margin-bottom: 0;
}
.compliance-card .btn-summit--green {
  margin-top: clamp(24px, 5vw, 44px);
}
.project-details-left-content p {
  color: var(--gray-700);
  font-size: clamp(15px, 2.5vw, 18px);
  line-height: var(--lh-44);
}
.project-details-list h6 {
  color: var(--navy);
  font-weight: var(--font-weight-semibold);
  line-height: 1.5;
}
.project-details-list ul li {
  color: var(--gray-700);
  font-size: var(--fs-13-15);
  line-height: var(--lh-46);
  padding-left: clamp(10px, 2vw, 15px);
}
.project-details-list ul li::before {
  background-color: var(--gray-700);
  top: 9px;
}
.project-details-list {
  margin-top: clamp(16px, 3vw, 23px);
}
.project-detail-section-title {
  margin-bottom: clamp(20px, 4vw, 32px);
}
.project-detail-section-title .sub-title{
  margin-bottom: 10px;
}
.project-details-wrapper .row {
  --bs-gutter-x: clamp(20px, 4vw, 32px);
}
.project-details-area.version-2 .project-details-wrapper .row {
    --bs-gutter-x: clamp(20px, 6vw, 57px);
}
.project-details-sidebar {
  max-width: 380px;
}
.project-details-area.version-2 {
    padding: clamp(44px, 7vw, 64px) 0 clamp(56px, 9vw, 79px);
}
.project-details-area.version-2 .project-details-list {
  margin-top: clamp(16px, 3vw, 28px);
}
.project-details-area.version-2 .project-details-list h6 {
  color: var(--navy);
  font-size: var(--fs-14-16);
  font-weight: var(--font-weight-semibold);
}
.project-details-area.version-2 .project-details-list h6,
.project-details-area.version-2 .project-details-list p{
  line-height: var(--lh-43);
}
.project-details-area.version-2 .project-details-list p {
  color: var(--gray-500);
}
.project-details-area.version-2 .compliance-card .btn-summit--green {
    margin-top: clamp(16px, 5vw, 29px);
}
.project-details-area.version-2 .project-details-sidebar {
  min-width: 388px;
}
/* =========================================================
  PROJECT GALLERY
========================================================= */
.project-gallery {
  padding: clamp(36px, 6vw, 51px) 0 clamp(48px, 8vw, 74px);
}
/* =========================================================
  RELATED PROJECTS
========================================================= */
.related-projects-area {
  background-color: var(--seashell);
  padding: clamp(44px, 7vw, 64px) 0 clamp(64px, 10vw, 104px);
}
.related-work-card ,
.related-projects-card{
  transition: all 0.3s linear;
}
.related-projects-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: var(--fade-ink-gradient);
  z-index: 1;
}
.related-work-card:hover,
.related-projects-card:hover{
  transform: translateY(-5px);
}
.related-projects-card h6 {
  position: absolute;
  bottom: clamp(16px, 3vw, 24px);
  left: clamp(16px, 3vw, 24px);
  font-family: var(--font-display);
  font-size: var(--fs-16-18);
  z-index: 3;
}
.z-3 {
    z-index: 3!important;
}
/* =========================================================
  RELATED WORK 
========================================================= */
.related-work-area {
    background: var(--alabaster);
    padding: clamp(48px, 8vw, 80px) 0;
}
.related-work-area .container {
  max-width: 1224px;
}
.related-work-card-wrapper .row {
  --bs-gutter-x: 36px;
}
.related-work-card-img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--fade-ink-gradient);
}
.related-work-area .hero-eyebrow {
  color: var(--gray-500);
  font-size: 13px;
  margin-bottom: 8px;
}
.related-work-area .section-title-wrapper {
  margin-bottom: clamp(20px, 4vw, 30px);
}
.section-title-wrapper h2 {
  color: var(--navy);
  font-size: clamp(22px, 4vw, 28px);
  line-height: 1.41;
}
.related-work-card {
  border: 1px solid var(--gray-200);
}
.related-work-card-content h6 { font-size: clamp(15px, 2.2vw, 17px); line-height: var(--lh-47); }
.related-work-card-content p { color: var(--gray-500); font-size: clamp(12px, 1.8vw, 13px); margin-bottom: 10px;}
.related-work-card-content {
    padding: clamp(16px, 3vw, 20px);
}
.related-work-card-img img {
  min-height: 200px;
  width: 100%;
  object-fit: cover;
  display: block;
}


/* ---------- Projects: loading states ---------- */

/* Filter bar locks while a request is in flight */
.project-grid-section.is-filtering .filter-chip {
  pointer-events: none;
  opacity: .55;
}

.result-count {
  transition: opacity .2s ease;
}

.project-grid-section.is-filtering .result-count {
  opacity: .6;
}

/* Skeleton cards */
.project-card--skeleton {
  pointer-events: none;
}

.skeleton-box,
.skeleton-line {
  display: block;
  background: linear-gradient(90deg, #eceff3 25%, #f6f8fa 50%, #eceff3 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.4s ease-in-out infinite;
  border-radius: 6px;
}

.project-card--skeleton .project-card__img {
  width: 100%;
  border-radius: 8px;
}

.project-card--skeleton .project-card__body {
  flex-direction: column;
  gap: 10px;
  padding-top: 16px;
}

.skeleton-line { height: 12px; }
.skeleton-line--title { width: 75%; height: 18px; }
.skeleton-line--sub   { width: 45%; }
.skeleton-line--tags  { width: 60%; height: 22px; border-radius: 999px; }

@keyframes skeleton-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Infinite-scroll spinner */
.project-grid-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 32px 0 8px;
  color: #5b6675;
  font-size: 14px;
}

.project-grid-loader[hidden] { display: none; }

.project-spinner {
  width: 22px;
  height: 22px;
  border: 2px solid rgba(141, 198, 63, .25);
  border-top-color: #8dc63f;
  border-radius: 50%;
  animation: project-spin .7s linear infinite;
  flex-shrink: 0;
}

@keyframes project-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .skeleton-box,
  .skeleton-line,
  .project-spinner {
    animation: none;
  }
  .project-spinner { border-top-color: rgba(141, 198, 63, .6); }
}