:root{
  --green:#2c6244;--green-dark:#17442e;--green-deep:#0d2d1e;
  --gold:#ffc107;--gold-dark:#e2a800;--white:#fff;--ink:#10261b;
  --muted:#66756d;--cream:#f6f8f5;--line:#dfe7e2;
  --radius:22px;--shadow:0 22px 60px rgba(13,45,30,.13);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",sans-serif;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}
.scroll-progress{position:fixed;z-index:9999;left:0;top:0;height:3px;width:0;background:var(--gold)}
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(44,98,68,.08);transition:.35s}
.site-header.scrolled{height:68px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--green);color:var(--gold);font-weight:800;font-size:25px;clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%)}.brand strong{display:block;letter-spacing:.08em;font:800 18px "Manrope"}.brand small{display:block;font-size:8px;letter-spacing:.13em;font-weight:700}
.desktop-nav{display:flex;gap:30px;margin-left:auto;margin-right:35px}.desktop-nav a{font-size:13px;font-weight:700;position:relative;padding:28px 0}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:17px;height:2px;background:var(--gold);transition:.3s}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}
.btn{border:0;border-radius:8px;padding:15px 20px;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.03em;transition:.3s;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.18);transform:translateX(-110%) skewX(-20deg);transition:.5s}.btn:hover:before{transform:translateX(110%) skewX(-20deg)}.btn-gold{background:var(--gold);color:#18251d;box-shadow:0 12px 28px rgba(255,193,7,.22)}.btn-gold:hover{background:#ffd04a;transform:translateY(-3px);box-shadow:0 18px 35px rgba(255,193,7,.3)}.btn-outline{border:1px solid var(--green);color:var(--green);background:#fff}.btn-outline:hover{background:var(--green);color:#fff;transform:translateY(-3px)}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-dark);transform:translateY(-3px)}.full{width:100%}
.menu-toggle{display:none;border:0;background:none;font-size:25px}.mobile-menu{display:none}
.hero{min-height:760px;padding:145px 4vw 70px;display:grid;grid-template-columns:.85fr 1.15fr;gap:4vw;align-items:center;background:linear-gradient(120deg,#fff 0%,#f7faf7 52%,#eef4ef 100%);position:relative}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--green);margin:0 0 14px}.eyebrow.gold{color:var(--gold)}h1,h2,h3{font-family:"Manrope",sans-serif;margin:0}h1{font-size:clamp(54px,6.3vw,96px);line-height:.91;letter-spacing:-.055em;text-transform:uppercase;color:var(--green-dark)}em{font-style:normal;color:var(--gold)}.hero-text{font-size:18px;line-height:1.6;max-width:530px;color:#4e5e56;margin:26px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust-row{display:flex;gap:24px;margin-top:52px}.trust-row>div{display:flex;align-items:center;gap:9px;max-width:145px}.trust-row b{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}.trust-row span{font-size:9px;line-height:1.4;color:var(--muted)}.trust-row strong{display:block;color:var(--ink);font-size:10px;text-transform:uppercase}
.hero-visual{position:relative}.image-frame{position:relative;overflow:hidden;border-radius:30px;background:linear-gradient(135deg,#dfe9e2,#aebdb4);box-shadow:var(--shadow)}.hero-image{height:580px}

.image-frame img,
.treatment-card img,
.gallery-item img,
.portrait img,
.approach-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}


.image-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:rgba(23,68,46,.45);font-weight:800;letter-spacing:.12em;font-size:12px;z-index:0}.image-placeholder small{display:block;position:absolute;bottom:15px;font-weight:500;letter-spacing:0;text-transform:none}.hero-image img:not([src=""]){ }.rating-card{position:absolute;right:-20px;bottom:28px;background:#fff;padding:18px 20px;border-radius:12px;box-shadow:var(--shadow);min-width:105px;text-align:center;z-index:3}.rating-card .stars,.stars{color:var(--gold);letter-spacing:2px;font-size:13px}.rating-card strong{display:block;font:800 20px "Manrope";margin-top:3px}.rating-card small{font-size:9px;color:var(--muted)}.hero-orb{position:absolute;width:160px;height:160px;border-radius:50%;background:var(--gold);opacity:.18;filter:blur(5px);right:-70px;top:-55px}
.section{padding:115px 4vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head h2{font-size:clamp(36px,4vw,60px);line-height:1.02;letter-spacing:-.04em;color:var(--green-dark)}.text-link{font-size:11px;text-transform:uppercase;font-weight:800;white-space:nowrap}.treatment-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr 1fr;gap:10px}.treatment-card{height:380px;border-radius:14px;overflow:hidden;position:relative;background:#dce5df;transform-style:preserve-3d;transition:box-shadow .4s}.treatment-card.tall{height:420px}.treatment-card:hover{box-shadow:0 22px 45px rgba(13,45,30,.2)}.treatment-card .card-overlay{position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(0,0,0,.78));z-index:2}.card-content{position:absolute;z-index:3;left:18px;right:14px;bottom:16px;color:#fff;display:flex;align-items:end;justify-content:space-between}.card-content h3{font-size:18px;line-height:1.05}.card-content span{width:32px;height:32px;background:var(--gold);color:#1b2a20;border-radius:50%;display:grid;place-items:center;font-weight:900}
.momentum-gallery{padding:72px 4vw;background:var(--green);color:#fff;overflow:hidden}.light h2{color:#fff}.light-link{color:#fff}.gallery-track{display:grid;grid-template-columns:1.25fr .8fr 1.25fr .8fr .8fr 1.25fr;gap:8px}.gallery-item{height:190px;border-radius:10px;overflow:hidden;position:relative;background:#244f3a}.gallery-item.wide{height:245px}.gallery-item img{transition:transform .7s}.gallery-item:hover img{transform:scale(1.07)}.gallery-item .image-placeholder{color:rgba(255,255,255,.45)}
.approach{position:relative;overflow:hidden}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;position:relative;z-index:2}.steps:before{content:"";position:absolute;top:31px;left:5%;right:5%;border-top:2px dashed var(--gold);z-index:-1}.step-icon{width:62px;height:62px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;border:7px solid #fff;box-shadow:0 0 0 1px var(--line);margin-bottom:20px}.step>span{font:800 12px "Manrope";color:var(--green-dark)}.step p{font-size:13px;line-height:1.6;color:var(--muted);max-width:200px}.approach-image{height:340px;margin:40px 0 0 35%;border-radius:25px;overflow:hidden;position:relative;background:#dce5df}
.results{background:var(--cream);display:grid;grid-template-columns:1.05fr 1.2fr 1fr;gap:14px;padding-top:70px;padding-bottom:70px}.stats-card{background:var(--green);color:#fff;border-radius:18px;padding:30px}.stats-card h2{font-size:27px;line-height:1.1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:35px}.stats strong{display:block;color:var(--gold);font:800 30px "Manrope"}.stats span{font-size:9px;line-height:1.4}.testimonial{background:#fff;border-radius:18px;padding:35px 30px;position:relative;overflow:hidden}.quote-mark{font:800 70px Georgia;color:var(--gold);line-height:.5}.testimonial p{font-size:15px;line-height:1.7;max-width:410px}.testimonial strong,.testimonial small{display:block}.testimonial small{font-size:10px;color:var(--muted);margin:3px 0 10px}.booking-card{background:#fff;border:2px solid var(--gold);border-radius:18px;padding:30px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.booking-icon{font-size:35px;color:var(--green);margin-bottom:18px}.booking-card h3{font-size:24px;line-height:1.15;margin-bottom:20px}.booking-card small{margin-top:12px;color:var(--muted);font-size:10px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.team-card{border:1px solid var(--line);border-radius:16px;padding:8px;background:#fff;transition:.35s}.team-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.portrait{height:280px;border-radius:11px;overflow:hidden;background:#dce5df;position:relative}.team-card h3{font-size:15px;margin:15px 10px 3px}.team-card p{font-size:11px;font-weight:700;color:var(--green);margin:0 10px 6px}.team-card small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin:0 10px 14px}
.final-cta{margin:0 4vw 70px;background:var(--green-dark);color:#fff;border-radius:20px;padding:32px 45px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px}.cta-icon{width:60px;height:60px;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center;font-size:24px}.final-cta h2{font-size:28px}.final-cta p:not(.eyebrow){margin:5px 0 0;color:#cbd8d0;font-size:12px}
footer{background:var(--green-deep);color:#fff;padding:65px 4vw 25px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1.25fr 1.2fr 1fr;gap:40px;padding-bottom:50px}.footer-top h4{font:800 11px "Manrope";text-transform:uppercase;color:var(--gold);margin:0 0 20px}.footer-top a,.footer-top p{display:block;color:#b7c9bf;font-size:11px;line-height:1.8;margin:4px 0}.footer-brand strong{display:block;font:800 18px "Manrope";letter-spacing:.06em;margin-top:-37px;margin-left:48px}.footer-brand small{display:block;font-size:8px;letter-spacing:.12em;margin-left:48px}.footer-brand p{margin-top:35px}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:20px;display:flex;justify-content:space-between;color:#7f998b;font-size:9px}
.floating-book{position:fixed;z-index:900;right:24px;bottom:25px;width:52px;height:52px;border-radius:50%;border:0;background:var(--gold);box-shadow:0 15px 35px rgba(0,0,0,.18);font-size:20px;transition:.3s}.floating-book:hover{transform:scale(1.1) rotate(-8deg)}.to-top{position:fixed;right:24px;bottom:88px;width:40px;height:40px;border:0;border-radius:50%;background:var(--green);color:#fff;opacity:0;pointer-events:none;transition:.3s}.to-top.show{opacity:1;pointer-events:auto}
.modal-backdrop,.lightbox{position:fixed;inset:0;background:rgba(6,24,16,.78);z-index:2000;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:.35s;backdrop-filter:blur(8px)}.modal-backdrop.open,.lightbox.open{opacity:1;pointer-events:auto}.booking-modal{background:#fff;width:min(720px,100%);max-height:92vh;overflow:auto;border-radius:24px;padding:35px;position:relative;transform:translateY(30px) scale(.97);transition:.4s}.modal-backdrop.open .booking-modal{transform:none}.modal-close,.lightbox button{position:absolute;right:18px;top:15px;border:0;background:#eef3ef;width:38px;height:38px;border-radius:50%;font-size:25px}.booking-modal h2{font-size:42px;color:var(--green-dark);margin-bottom:8px}.modal-intro{color:var(--muted);font-size:13px;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-size:10px;font-weight:800;color:var(--green-dark);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:14px}input,select,textarea{width:100%;display:block;margin-top:7px;border:1px solid var(--line);border-radius:9px;padding:13px;background:#fbfcfb;outline:none;font:13px "DM Sans";color:var(--ink);transition:.25s}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,193,7,.12)}.form-note{display:block;text-align:center;color:var(--muted);font-size:9px;margin-top:12px}.success-message{display:none;text-align:center;padding:35px}.success-message>span{width:65px;height:65px;border-radius:50%;background:#eaf5ed;color:var(--green);display:grid;place-items:center;margin:0 auto 18px;font-size:30px}.success-message h3{font-size:28px}.success-message p{color:var(--muted);font-size:13px;margin-bottom:22px}
.lightbox img{max-width:min(1100px,94vw);max-height:88vh;border-radius:15px;object-fit:contain}.lightbox button{top:25px;right:25px;z-index:2}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}.reveal-delay{transition-delay:.16s}.float{animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-10px)}}.magnetic{transition:transform .18s ease}
@media(max-width:1050px){.desktop-nav{gap:15px;margin-right:15px}.desktop-nav a{font-size:11px}.hero{grid-template-columns:1fr}.hero-copy{max-width:760px}.hero-visual{max-width:900px;width:100%}.treatment-grid{grid-template-columns:repeat(3,1fr)}.treatment-card,.treatment-card.tall{height:320px}.treatment-card:first-child{grid-row:span 2;height:650px}.gallery-track{grid-template-columns:repeat(3,1fr)}.results{grid-template-columns:1fr 1fr}.booking-card{grid-column:span 2}.team-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.site-header{height:68px;padding:0 18px}.desktop-nav,.nav-book{display:none}.menu-toggle{display:block}.mobile-menu{position:fixed;z-index:999;top:68px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 20px 35px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:18px;transform:translateY(-120%);transition:.35s}.mobile-menu.open{transform:none}.mobile-menu a{font-weight:700;padding:10px}.hero{padding:110px 18px 55px;min-height:auto}.hero-image{height:440px}.rating-card{right:10px}.trust-row{flex-direction:column;gap:12px;margin-top:35px}.section{padding:75px 18px}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:20px}.section-head h2{font-size:38px}.treatment-grid{grid-template-columns:1fr 1fr}.treatment-card:first-child{grid-row:auto;height:300px}.treatment-card,.treatment-card.tall{height:300px}.momentum-gallery{padding:60px 18px}.gallery-track{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.gallery-item,.gallery-item.wide{min-width:75vw;height:240px;scroll-snap-align:start}.steps{grid-template-columns:1fr 1fr;gap:20px}.steps:before{display:none}.approach-image{margin:20px 0 0;height:280px}.results{display:block;padding:55px 18px}.stats-card,.testimonial,.booking-card{margin-bottom:12px}.team-grid{grid-template-columns:1fr 1fr}.portrait{height:240px}.final-cta{margin:0 18px 50px;padding:28px 22px;grid-template-columns:auto 1fr}.final-cta .btn{grid-column:1/-1;width:100%}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block;line-height:2}.form-grid{grid-template-columns:1fr}.booking-modal{padding:28px 20px}.booking-modal h2{font-size:34px}}
@media(max-width:460px){h1{font-size:53px}.treatment-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.portrait{height:330px}.footer-top{grid-template-columns:1fr}.trust-row{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* ================================
   MEET THE TEAM
================================ */

.team-section {
  width: 100%;
  padding: 110px 7%;
  background: #ffffff;
}


/* HEADER */

.team-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 65px;
}

.eyebrow {
  display: block;
  margin-bottom: 18px;

  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;

  color: #0c6049;
}

.team-header h2 {
  margin: 0;

  font-size: clamp(45px, 5vw, 76px);
  line-height: 0.98;
  letter-spacing: -3px;

  font-weight: 700;
  color: #064f3d;
}

.team-header h2 span {
  color: #fbb900;
}

.team-intro {
  max-width: 570px;
  margin-top: 25px;

  font-size: 17px;
  line-height: 1.7;
  color: #68736f;
}

.team-link {
  flex-shrink: 0;

  padding-bottom: 7px;

  color: #064f3d;
  text-decoration: none;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;

  border-bottom: 1px solid #064f3d;

  transition: 0.3s ease;
}

.team-link span {
  margin-left: 8px;
}

.team-link:hover {
  color: #fbb900;
  border-color: #fbb900;
}


/* ================================
   DOCTOR PROFILE
================================ */

.doctor-profile {
  display: grid;
  grid-template-columns: minmax(380px, 0.9fr) minmax(400px, 1.1fr);

  max-width: 1250px;
  margin: 0 auto;

  background: #f5f8f6;

  border-radius: 28px;
  overflow: hidden;

  box-shadow: 0 20px 60px rgba(6, 79, 61, 0.08);
}


/* IMAGE */

.doctor-image {
  position: relative;
  min-height: 620px;

  overflow: hidden;
}

.doctor-image img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
  object-position: center top;

  transition: transform 0.7s ease;
}

.doctor-profile:hover .doctor-image img {
  transform: scale(1.025);
}


/* BRAND BADGE */

.image-badge {
  position: absolute;

  left: 28px;
  bottom: 28px;

  display: flex;
  flex-direction: column;

  padding: 13px 18px;

  background: rgba(255, 255, 255, 0.94);

  border-radius: 10px;

  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.image-badge strong {
  color: #064f3d;

  font-size: 15px;
  letter-spacing: 0.5px;
}

.image-badge span {
  margin-top: 3px;

  color: #7b8581;

  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
}


/* ================================
   CONTENT
================================ */

.doctor-content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 65px 65px;
}

.doctor-label {
  display: inline-block;

  margin-bottom: 13px;

  color: #0c6049;

  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
}

.doctor-content h3 {
  margin: 0;

  color: #063f31;

  font-size: clamp(36px, 4vw, 52px);
  line-height: 1;

  letter-spacing: -1.5px;
}

.doctor-title {
  margin: 13px 0 25px;

  color: #f0ae00;

  font-size: 16px;
  font-weight: 700;
}

.doctor-description {
  max-width: 570px;

  margin: 0 0 15px;

  color: #69736f;

  font-size: 15px;
  line-height: 1.75;
}


/* ================================
   SPECIALTIES
================================ */

.doctor-specialties {
  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 18px;

  margin-top: 25px;
  margin-bottom: 30px;
}

.specialty {
  display: flex;
  align-items: flex-start;

  gap: 11px;
}

.specialty-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;

  width: 24px;
  height: 24px;

  border-radius: 50%;

  background: #e8f3ee;

  color: #0c6049;

  font-size: 12px;
  font-weight: 800;
}

.specialty strong {
  display: block;

  color: #174d40;

  font-size: 13px;
}

.specialty p {
  margin: 4px 0 0;

  color: #818b87;

  font-size: 11px;
  line-height: 1.4;
}


/* ================================
   BUTTON
================================ */

.doctor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;

  width: fit-content;

  padding: 15px 23px;

  background: #07543f;

  color: #ffffff;

  text-decoration: none;

  border-radius: 7px;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;

  transition: all 0.3s ease;
}

.doctor-button span {
  font-size: 17px;
  transition: transform 0.3s ease;
}

.doctor-button:hover {
  background: #fbb900;

  color: #063f31;

  transform: translateY(-2px);
}

.doctor-button:hover span {
  transform: translateX(5px);
}


/* ================================
   TABLET
================================ */

@media (max-width: 900px) {

  .team-section {
    padding: 80px 5%;
  }

  .team-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .doctor-profile {
    grid-template-columns: 1fr;
  }

  .doctor-image {
    min-height: 500px;
  }

  .doctor-content {
    padding: 45px 35px;
  }

}


/* ================================
   MOBILE
================================ */

@media (max-width: 600px) {

  .team-section {
    padding: 65px 20px;
  }

  .team-header {
    margin-bottom: 40px;
  }

  .team-header h2 {
    font-size: 42px;
    letter-spacing: -2px;
  }

  .team-intro {
    font-size: 15px;
  }

  .doctor-profile {
    border-radius: 20px;
  }

  .doctor-image {
    min-height: 430px;
  }

  .doctor-content {
    padding: 35px 25px;
  }

  .doctor-content h3 {
    font-size: 38px;
  }

  .doctor-specialties {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .doctor-button {
    width: 100%;
  }

}


/* =========================================
   MOMENTUM IN ACTION
========================================= */

.momentum-gallery {
  position: relative;
  padding: 110px 4vw 120px;

  background: #07563f;
  color: #ffffff;

  overflow: hidden;
}


/* subtle background detail */

.momentum-gallery::before {
  content: "";
  position: absolute;

  width: 500px;
  height: 500px;

  top: -250px;
  right: -180px;

  border-radius: 50%;

  background: rgba(251, 185, 0, 0.08);

  filter: blur(80px);

  pointer-events: none;
}


/* =========================================
   HEADER
========================================= */

.gallery-header {
  position: relative;
  z-index: 2;

  display: flex;
  justify-content: space-between;
  align-items: flex-end;

  gap: 50px;

  max-width: 1500px;
  margin: 0 auto 55px;
}

.gallery-heading {
  max-width: 1000px;
}

.gallery-eyebrow {
  display: block;

  margin-bottom: 18px;

  color: #fbb900;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 2.5px;
}

.gallery-heading h2 {
  margin: 0;

  font-size: clamp(42px, 5vw, 76px);

  line-height: 0.98;

  letter-spacing: -3px;

  font-weight: 700;
}

.gallery-heading h2 span {
  color: #fbb900;
}

.gallery-heading p {
  max-width: 650px;

  margin: 25px 0 0;

  color: rgba(255,255,255,0.72);

  font-size: 16px;

  line-height: 1.7;
}


/* =========================================
   GALLERY LINK
========================================= */

.gallery-link {
  flex-shrink: 0;

  display: inline-flex;
  align-items: center;
  gap: 12px;

  padding: 13px 0;

  color: #ffffff;

  text-decoration: none;

  font-size: 11px;
  font-weight: 800;

  letter-spacing: 1.3px;

  border-bottom: 1px solid rgba(255,255,255,0.6);

  transition: 0.3s ease;
}

.gallery-link span {
  font-size: 17px;

  transition: transform 0.3s ease;
}

.gallery-link:hover {
  color: #fbb900;

  border-color: #fbb900;
}

.gallery-link:hover span {
  transform: translateX(5px);
}


/* =========================================
   GALLERY GRID
========================================= */

.gallery-grid {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns:
    1.35fr
    0.9fr
    1.05fr
    0.9fr
    1.25fr;

  grid-template-rows:
    245px
    245px;

  gap: 14px;

  max-width: 1500px;

  margin: 0 auto;
}


/* =========================================
   CARDS
========================================= */

.gallery-card {
  position: relative;

  display: block;

  overflow: hidden;

  min-width: 0;

  border-radius: 16px;

  background: #123f32;

  text-decoration: none;

  isolation: isolate;
}


/* image */

.gallery-card img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
  object-position: center;

  transition:
    transform 0.7s cubic-bezier(.2,.7,.2,1),
    filter 0.5s ease;
}


/* dark gradient */

.gallery-card::after {
  content: "";

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      to top,
      rgba(0,0,0,0.78) 0%,
      rgba(0,0,0,0.22) 45%,
      rgba(0,0,0,0) 75%
    );

  z-index: 1;
}


/* hover */

.gallery-card:hover img {
  transform: scale(1.06);

  filter: brightness(0.9);
}


/* =========================================
   FEATURED CARD
========================================= */

.gallery-featured {
  grid-column: span 2;

  grid-row: span 2;
}


/* tall card */

.gallery-tall {
  grid-row: span 2;
}


/* wide card */

.gallery-wide {
  grid-column: span 2;
}


/* =========================================
   CARD TEXT
========================================= */

.gallery-overlay {
  position: absolute;

  z-index: 3;

  left: 22px;
  right: 22px;
  bottom: 20px;

  display: flex;
  flex-direction: column;

  color: #ffffff;
}

.gallery-overlay span {
  margin-bottom: 7px;

  color: #fbb900;

  font-size: 10px;

  font-weight: 800;

  letter-spacing: 1.5px;
}

.gallery-overlay strong {
  font-size: 17px;

  line-height: 1.2;
}

.gallery-featured .gallery-overlay strong {
  font-size: 25px;
}

.gallery-overlay small {
  margin-top: 6px;

  color: rgba(255,255,255,0.72);

  font-size: 12px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 1000px) {

  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);

    grid-template-rows: repeat(4, 240px);
  }

  .gallery-featured {
    grid-column: span 2;
    grid-row: span 2;
  }

  .gallery-tall {
    grid-row: span 1;
  }

  .gallery-wide {
    grid-column: span 2;
  }

}


@media (max-width: 600px) {

  .momentum-gallery {
    padding: 75px 20px 80px;
  }

  .gallery-header {
    flex-direction: column;

    align-items: flex-start;

    margin-bottom: 35px;
  }

  .gallery-heading h2 {
    font-size: 42px;

    letter-spacing: -2px;
  }

  .gallery-heading p {
    font-size: 14px;
  }

  .gallery-grid {
    display: grid;

    grid-template-columns: 1fr;

    grid-template-rows: none;

    gap: 12px;
  }

  .gallery-card,
  .gallery-featured,
  .gallery-tall,
  .gallery-wide {
    grid-column: auto;
    grid-row: auto;

    height: 280px;
  }

  .gallery-featured {
    height: 360px;
  }

  .gallery-featured .gallery-overlay strong {
    font-size: 21px;
  }

}