/* ===================================
   Forman Eagle Services - v4 additions
   Service-contract-provider layout
   =================================== */

/* Hero fact badges (replace old stats) */
.hero-badges{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:2rem;border-top:2px solid var(--baby-blue);animation:fadeInUp .8s ease .7s backwards}
.hero-badges span{display:inline-flex;align-items:center;gap:.5rem;background:var(--white);padding:.6rem 1.1rem;border-radius:50px;box-shadow:var(--shadow-sm);font-weight:600;font-size:.9rem;color:var(--deep-navy)}
.hero-badges i{color:var(--primary-pink)}
.hero-title{text-wrap:balance}

/* Who we are (home) */
.who{background:var(--white)}
.who-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center}
.who-text .section-title{text-align:left}
.who-text p{font-size:1.1rem;line-height:1.85;color:var(--charcoal);margin-bottom:1.25rem;text-wrap:pretty}
.who-text .lead{font-size:1.25rem;color:var(--deep-navy);font-weight:500}
.who-points{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem;margin:1.5rem 0 2rem}
.who-points li{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;color:var(--deep-navy)}
.who-points i{color:var(--primary-pink);margin-top:.3rem}
.who-image .image-frame{max-width:440px;margin-left:auto}
.who-image .image-frame img{aspect-ratio:3/4;object-fit:cover}

/* Service tiles */
.services{background:linear-gradient(135deg,var(--off-white) 0%,var(--baby-blue-light) 100%)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.svc-tile{background:var(--white);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-md);display:flex;flex-direction:column;transition:var(--transition-normal)}
.svc-tile:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}
.svc-tile-img{aspect-ratio:16/10;overflow:hidden;background:var(--baby-blue-light)}
.svc-tile-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.svc-tile:hover .svc-tile-img img{transform:scale(1.05)}
.svc-tile-body{padding:1.75rem 2rem 2rem;display:flex;flex-direction:column;flex:1}
.svc-tile h3{font-size:1.4rem;margin-bottom:.75rem}
.svc-tile p{color:var(--dark-gray);font-size:.98rem;line-height:1.7;flex:1}
.svc-tile .service-link{margin-top:1.25rem;color:var(--primary-pink);font-weight:600;display:inline-flex;align-items:center;gap:.5rem}
.svc-tile .service-link:hover{gap:.85rem}
.svc-tile.svc-more{background:var(--gradient-secondary);color:var(--white)}
.svc-tile.svc-more h3{color:var(--white)}
.svc-tile.svc-more p{color:rgba(255,255,255,.85)}
.svc-more-list{list-style:none;margin:1.25rem 0 0;display:grid;gap:.85rem}
.svc-more-list li{display:flex;align-items:center;gap:.85rem;font-weight:600;font-size:1.05rem}
.svc-more-list i{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;color:var(--gold-accent)}
.svc-more .btn{margin-top:1.75rem;align-self:flex-start}
.svc-closing{max-width:860px;margin:3.5rem auto 0;text-align:center;font-size:1.1rem;line-height:1.85;color:var(--charcoal);text-wrap:pretty}

/* Why choose us */
.why{background:var(--white)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.why-card{background:var(--off-white);border-radius:20px;padding:2.5rem 2rem;text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition-normal);border-top:4px solid transparent}
.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-top-color:var(--primary-pink)}
.why-icon{width:80px;height:80px;margin:0 auto 1.5rem;border-radius:20px;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 25px rgba(233,30,140,.2)}
.why-icon i{font-size:2rem;color:var(--white)}
.why-card h3{font-size:1.5rem;margin-bottom:.75rem}
.why-card p{color:var(--dark-gray);line-height:1.7}

/* Single testimonial */
.testimonials{background:linear-gradient(135deg,#FFF5F8 0%,var(--baby-blue-light) 100%)}
.testimonial-feature{max-width:820px;margin:0 auto;background:var(--white);border-radius:24px;padding:3.5rem 3rem 3rem;text-align:center;box-shadow:var(--shadow-lg);position:relative}
.testimonial-feature .quote-mark{position:absolute;top:-28px;left:50%;transform:translateX(-50%);width:56px;height:56px;border-radius:50%;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1.3rem;box-shadow:var(--shadow-md)}
.testimonial-feature blockquote{font-family:var(--font-heading);font-size:1.6rem;line-height:1.55;color:var(--deep-navy);font-style:italic;margin:0 0 1.5rem;text-wrap:pretty}
.testimonial-feature cite{font-style:normal;font-weight:600;color:var(--primary-pink);letter-spacing:.5px}

/* Gallery */
.gallery{background:var(--white)}
.gallery-grid{columns:3;column-gap:1.25rem}
.gallery-item{break-inside:avoid;margin-bottom:1.25rem;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);cursor:zoom-in;display:block;position:relative;background:var(--light-gray);border:none;padding:0;width:100%}
.gallery-item img{width:100%;height:auto;display:block;transition:transform .6s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(26,42,82,.35),transparent 50%);opacity:0;transition:var(--transition-normal)}
.gallery-item:hover::after{opacity:1}
.lightbox{position:fixed;inset:0;background:rgba(26,42,82,.92);display:none;align-items:center;justify-content:center;z-index:2000;padding:2rem}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.lightbox button{position:absolute;background:rgba(255,255,255,.12);border:none;color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:var(--transition-fast)}
.lightbox button:hover{background:var(--primary-pink)}
.lb-close{top:1.5rem;right:1.5rem}.lb-prev{left:1.5rem;top:50%;transform:translateY(-50%)}.lb-next{right:1.5rem;top:50%;transform:translateY(-50%)}

/* GovCon coming-soon strip */
.govcon-strip{padding:0 0 100px;background:var(--white)}
.govcon-strip-inner{display:flex;align-items:center;gap:2rem;background:linear-gradient(135deg,var(--baby-blue-light) 0%,#FFE5F1 100%);border-radius:20px;padding:2rem 2.5rem;border:1px dashed var(--primary-pink)}
.govcon-strip-icon{width:64px;height:64px;flex-shrink:0;border-radius:16px;background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--primary-pink);font-size:1.6rem;box-shadow:var(--shadow-sm)}
.govcon-strip-text{flex:1}
.govcon-strip-text .soon{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--white);background:var(--primary-pink);padding:.25rem .75rem;border-radius:50px;margin-bottom:.5rem}
.govcon-strip-text h3{font-size:1.4rem;margin-bottom:.25rem}
.govcon-strip-text p{color:var(--dark-gray);margin:0}

/* Service detail pages */
.svc-page{padding:5rem 0;background:linear-gradient(to bottom,var(--off-white) 0%,var(--white) 100%)}
.svc-page-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:3rem;align-items:start}
.svc-page-main{background:var(--white);border-radius:20px;padding:3rem;box-shadow:0 10px 40px rgba(0,0,0,.08)}
.svc-page-main h2{font-size:2rem;margin-bottom:1.25rem}
.svc-page-main h3{font-size:1.35rem;margin:2rem 0 1rem;display:flex;align-items:center;gap:.6rem}
.svc-page-main h3 i{color:var(--primary-pink)}
.svc-page-main p{font-size:1.08rem;line-height:1.85;color:var(--charcoal);margin-bottom:1.25rem;text-wrap:pretty}
.svc-page-main .service-list li{font-size:1.02rem}
.svc-page-main .btn{margin-top:1.5rem}
.svc-aside{position:sticky;top:120px;display:grid;gap:1.5rem}
.svc-aside .image-frame img{aspect-ratio:4/3;object-fit:cover}
.quote-card{background:var(--gradient-secondary);color:var(--white);border-radius:20px;padding:2rem;box-shadow:var(--shadow-lg)}
.quote-card h3{color:var(--white);font-size:1.5rem;margin-bottom:.5rem}
.quote-card p{color:rgba(255,255,255,.85);margin-bottom:1.25rem}
.quote-card .btn{width:100%;justify-content:center}
.quote-card .quote-phone{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;color:var(--white);font-weight:600}
.quote-card .quote-phone:hover{color:var(--baby-blue)}
.other-svcs{background:var(--white);border-radius:20px;padding:1.75rem 2rem;box-shadow:var(--shadow-sm)}
.other-svcs h4{font-size:1.1rem;margin-bottom:.75rem}
.other-svcs ul{list-style:none}
.other-svcs li a{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--light-gray);color:var(--charcoal);font-weight:500}
.other-svcs li:last-child a{border-bottom:none}
.other-svcs li a:hover,.other-svcs li a.current{color:var(--primary-pink)}
.other-svcs li a i{font-size:.8rem}
.svc-reasons{counter-reset:r;list-style:none;display:grid;gap:1rem;margin:1rem 0 1.5rem}
.svc-reasons li{counter-increment:r;position:relative;padding:1.25rem 1.25rem 1.25rem 4rem;background:var(--off-white);border-radius:14px;line-height:1.75;color:var(--charcoal)}
.svc-reasons li::before{content:counter(r);position:absolute;left:1.1rem;top:1.15rem;width:34px;height:34px;border-radius:50%;background:var(--gradient-accent);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.svc-reasons strong{color:var(--deep-navy)}

/* Services overview page */
.svc-overview{padding:5rem 0;background:linear-gradient(to bottom,var(--off-white) 0%,var(--white) 100%)}
.consult-band{margin-top:4rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;background:var(--white);border-radius:24px;padding:3rem;box-shadow:0 10px 40px rgba(0,0,0,.08)}
.consult-band .section-badge{margin-bottom:.75rem}
.consult-band h2{font-size:2.1rem;margin-bottom:1rem}
.consult-band p{line-height:1.85;color:var(--charcoal);margin-bottom:1rem}
.consult-band .image-frame img{aspect-ratio:3/2;object-fit:cover}

/* About page */
.about-v4{padding:5rem 0;background:linear-gradient(to bottom,var(--off-white) 0%,var(--white) 100%)}
.about-v4 .who-grid{margin-bottom:5rem}
.founder{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center;background:var(--white);border-radius:24px;padding:3rem;box-shadow:0 10px 40px rgba(0,0,0,.08);margin:4rem 0}
.founder-mark{width:140px;height:140px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center}
.founder-mark img{width:96px;height:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}
.founder h3{font-size:1.8rem;margin-bottom:.25rem}
.founder .role{color:var(--primary-pink);font-weight:600;margin-bottom:1rem;display:block}
.founder p{line-height:1.85;color:var(--charcoal);margin-bottom:.75rem}
.sector-chips{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}

@media (max-width:1024px){
  .svc-grid,.why-grid{grid-template-columns:repeat(2,1fr)}
  .who-grid,.svc-page-grid,.consult-band{grid-template-columns:1fr}
  .who-image .image-frame{margin:0 auto}
  .svc-aside{position:static}
  .gallery-grid{columns:2}
}
@media (max-width:768px){
  .svc-grid,.why-grid{grid-template-columns:1fr}
  .who-points{grid-template-columns:1fr}
  .svc-page-main,.consult-band,.founder{padding:2rem 1.5rem}
  .founder{grid-template-columns:1fr;text-align:center}
  .founder-mark{margin:0 auto}
  .govcon-strip-inner{flex-direction:column;text-align:center;padding:2rem 1.5rem}
  .testimonial-feature{padding:3rem 1.5rem 2rem}
  .testimonial-feature blockquote{font-size:1.25rem}
  .hero-badges span{font-size:.8rem;padding:.5rem .9rem}
}
@media (max-width:480px){.gallery-grid{columns:1}}

/* Booking card (replaces contact form) */
.booking-card{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2.5rem;background:var(--white);border-radius:20px;box-shadow:var(--shadow-lg)}
.booking-card .why-icon{margin:0 0 .5rem}
.booking-card h3{font-size:1.8rem;text-wrap:balance}
.booking-card p{color:var(--dark-gray);line-height:1.75;max-width:440px}
.booking-card .booking-alt{font-size:.95rem;margin-top:.5rem}
.booking-card .booking-alt a{color:var(--primary-pink);font-weight:600}


/* ===================================
   Gallery v4.2: Highlights carousel
   =================================== */
.hl-carousel{max-width:1000px;margin:0 auto}
.hl-stage{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:var(--deep-navy);box-shadow:var(--shadow-xl)}
.hl-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.03);transition:opacity .8s ease,transform 1.2s ease;pointer-events:none}
.hl-slide.active{opacity:1;transform:scale(1);pointer-events:auto}
.hl-backdrop{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(28px) brightness(.75) saturate(1.1)}
.hl-slide img{position:relative;width:100%;height:100%;object-fit:contain;display:block}
.hl-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:56px;height:56px;border-radius:50%;border:none;background:rgba(255,255,255,.92);color:var(--primary-pink);font-size:1.15rem;box-shadow:var(--shadow-lg);cursor:pointer;transition:var(--transition-normal);display:flex;align-items:center;justify-content:center}
.hl-btn:hover{background:var(--primary-pink);color:var(--white);transform:translateY(-50%) scale(1.08)}
.hl-prev{left:1.25rem}.hl-next{right:1.25rem}
.hl-counter{position:absolute;right:1.25rem;bottom:1.25rem;z-index:3;background:rgba(26,42,82,.75);color:var(--white);font-weight:600;font-size:.9rem;padding:.4rem .9rem;border-radius:50px;backdrop-filter:blur(6px)}
.hl-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.2);z-index:3}
.hl-progress span{display:block;height:100%;width:0;background:var(--gradient-primary)}
.hl-progress span.run{animation:hlProgress 4.5s linear forwards}
@keyframes hlProgress{from{width:0}to{width:100%}}
.hl-thumbs{display:flex;gap:.75rem;justify-content:center;margin-top:1.25rem;flex-wrap:wrap}
.hl-thumb{width:84px;height:60px;padding:0;border:3px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;opacity:.55;transition:var(--transition-normal);background:var(--light-gray)}
.hl-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hl-thumb:hover{opacity:.9}
.hl-thumb.active{opacity:1;border-color:var(--primary-pink);box-shadow:var(--shadow-md)}
@media (max-width:768px){
  .hl-stage{aspect-ratio:4/3;border-radius:18px}
  .hl-btn{width:44px;height:44px}.hl-prev{left:.75rem}.hl-next{right:.75rem}
  .hl-thumbs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.25rem;scrollbar-width:none}
  .hl-thumbs::-webkit-scrollbar{display:none}
  .hl-thumb{flex:0 0 auto;width:64px;height:48px}
}
@media (prefers-reduced-motion:reduce){.hl-slide{transition:opacity .3s ease;transform:none}.hl-progress{display:none}}
