/* Homepage light-direction sample. Kept separate so the original V2 theme stays recoverable. */
.home-light-preview {
  --gold: #e9a813;
  --gold-light: #f9c84f;
  /* Accessible gold for text and icons on white/near-white surfaces.
     Bright brand gold remains available through --gold for dark surfaces
     and non-text accents. */
  --gold-deep: #8a5a00;
  --black: #121820;
  --ink: #18202a;
  --graphite: #eef1f3;
  --graphite-2: #e2e7ea;
  --graphite-3: #d4dbe0;
  --off-white: #f6f7f7;
  --off-white-2: #eceff1;
  --text-dark: #303943;
  --text-muted: #65707a;
  --line-light: #dfe3e6;
  --line-dark: rgba(18,24,32,.12);
  --radius: 0;
  background: #fff;
}

.home-light-preview .utility-bar {
  background: #f3f5f6;
  border-bottom-color: #e0e4e7;
  color: #53606b;
}
.home-light-preview .utility-location-copy strong { color: var(--black); }
.home-light-preview .utility-location-copy small { color: #68747e; }
.home-light-preview .utility-location > svg,
.home-light-preview .utility-email > svg { color: var(--gold-deep); }
.home-light-preview .utility-email { color: #4b5761; }
.home-light-preview .utility-email:hover { color: var(--gold-deep); }
.home-light-preview .utility-list svg { color: var(--gold-deep); }
.home-light-preview .utility-social a { border-color: #d4dadd; color: #39434c; }

.home-light-preview .site-header {
  background: rgba(255,255,255,.97);
  border-bottom-color: #e2e5e7;
  box-shadow: 0 8px 30px rgba(17,24,32,.05);
  backdrop-filter: blur(14px);
}
.home-light-preview .site-header.is-stuck { box-shadow: 0 12px 34px rgba(17,24,32,.10); }
.home-light-preview .brand-name { color: var(--black); }
.home-light-preview .brand-sub { color: var(--gold-deep); }
.home-light-preview .brand-mark--official {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(18,24,32,.12), 0 5px 16px rgba(18,24,32,.10);
}
.home-light-preview .nav-link { color: #4a545e; }
.home-light-preview .nav-link:hover { color: var(--black); }
.home-light-preview .nav-link.is-active { color: var(--gold-deep); }
.home-light-preview .nav-dropdown-menu { background: #fff; border: 1px solid #e0e5e7; border-top: 3px solid var(--gold); }
.home-light-preview .nav-dropdown-menu a { color: #34404a; border-bottom-color: #edf0f2; }
.home-light-preview .nav-dropdown-menu a:hover,
.home-light-preview .nav-dropdown-menu a:focus-visible { background: #f5f7f8; color: var(--gold-deep); }
.home-light-preview .nav-dropdown-menu a span { color: #818b93; }
.home-light-preview .header-contact-link { color: #28323a; border-color: #d7dde1; background: #fff; }
.home-light-preview .header-contact-link:hover { border-color: var(--gold-deep); background: #f8fafb; }
.home-light-preview .header-contact-link small { color: #7b858d; }
.home-light-preview .header-contact-link > svg { color: var(--gold-deep); }
.home-light-preview .header-contact-link--viber { border-color: rgba(115,96,242,.32); }
.home-light-preview .header-contact-link--viber > svg { color: #6654e8; }
.home-light-preview .burger { border-color: #d7dcdf; }
.home-light-preview .burger span { background: var(--black); }

.home-light-preview .hero {
  background: #fff;
  min-height: 620px;
}
.home-light-preview .hero-media {
  left: 46%;
  clip-path: polygon(14% 0,100% 0,100% 100%,0 100%);
}
.home-light-preview .hero-media img { filter: saturate(.82) contrast(.96) brightness(1.06); }
.home-light-preview .hero::before {
  background:
    linear-gradient(90deg,#fff 0%,#fff 43%,rgba(255,255,255,.94) 50%,rgba(255,255,255,.12) 71%,rgba(255,255,255,.05) 100%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.18));
}
.home-light-preview .hero--home .hero-inner { min-height: 620px; max-width: 1280px; }
.home-light-preview .hero h1 { color: var(--black); max-width: 690px; letter-spacing: -.015em; }
.home-light-preview .hero h1 .line-2 { color: var(--gold); }
.home-light-preview .hero-sub { color: #53606b; border-left-color: var(--gold); max-width: 510px; }
.home-light-preview .hero-locale { color: #56616c; }
.home-light-preview .hero-location-copy small { color: #68747e; }
.home-light-preview .hero-lines { opacity: .20; }
.home-light-preview .btn--outline {
  --btn-fg: var(--black);
  border-color: #aeb7bd;
  background: rgba(255,255,255,.75);
}
.home-light-preview .btn--outline:hover { background: var(--black); border-color: var(--black); color: #fff; }

.home-light-preview .capability-bar { background: #fff; border-block: 1px solid #e2e6e8; }
.home-light-preview .capability { border-color: #e1e5e7; }
.home-light-preview .capability:hover { background: #f8f9f9; }
.home-light-preview .capability svg { color: var(--gold-deep); }
.home-light-preview .capability :is(h2, h3) { color: var(--black); }
.home-light-preview .capability p { color: var(--text-muted); }

.home-light-preview .showcase { background: #fff; }
.home-light-preview .showcase-intro { background: #fff; }
.home-light-preview .showcase-intro-text { padding-block: 0; }
.home-light-preview .showcase-services { background: #f5f7f8; }
.home-light-preview .svc-tile { border-color: #dde2e5; box-shadow: 0 8px 22px rgba(17,24,32,.04); }
.home-light-preview .svc-tile:hover { box-shadow: 0 16px 34px rgba(17,24,32,.10); }

.home-light-preview .featured-band { background: #fff; border-top: 1px solid #e2e6e8; }
.home-light-preview .featured-band-projects { background: #f7f8f8; }
.home-light-preview .thumb { background: #fff; border-color: #e0e4e7; box-shadow: 0 7px 20px rgba(17,24,32,.06); }
.home-light-preview .thumb-body .t { color: var(--black); }
.home-light-preview .thumb-body .s { color: var(--text-muted); }
.home-light-preview .featured-band-projects .btn--outline { background: #fff; }
.home-light-preview .fcta::before { background: linear-gradient(90deg, rgba(233,168,19,.94) 0%, rgba(233,168,19,.88) 42%, rgba(233,168,19,.38) 63%, rgba(233,168,19,0) 80%); }

.home-light-preview .team-story { background: #f5f7f8; padding-bottom: clamp(50px,5vw,72px); }
.home-light-preview .team-story-layout {
  display: grid;
  grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr);
  align-items: center;
  gap: clamp(38px,6vw,88px);
}
.home-light-preview .team-story-hero {
  position: relative;
  margin: 0;
  min-height: 0;
  aspect-ratio: 3/2;
  overflow: hidden;
  background: #dde2e5;
  box-shadow: 22px 22px 0 #e9a813;
}
.home-light-preview .team-story-hero picture { display: block; width: 100%; height: 100%; }
.home-light-preview .team-story-hero img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: center; }
.home-light-preview .team-story-hero figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 15px 20px;
  background: rgba(18,24,32,.88);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .05em;
}
.home-light-preview .team-story-copy .lead { margin: 22px 0 16px; color: #3f4a54; }
.home-light-preview .team-story-copy > p:not(.sec-label):not(.lead) { color: var(--text-muted); }
.home-light-preview .team-story-points { display: grid; gap: 0; margin-top: 30px; border-top: 1px solid #d9dfe2; }
.home-light-preview .team-story-points div { display: grid; grid-template-columns: 135px 1fr; gap: 18px; padding: 17px 0; border-bottom: 1px solid #d9dfe2; }
.home-light-preview .team-story-points strong { color: var(--black); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.home-light-preview .team-story-points span { color: var(--text-muted); font-size: 14px; line-height: 1.55; }
.home-light-preview .team-story-strip {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: stretch;
  gap: 16px;
  margin-top: clamp(46px,5vw,68px);
}
.home-light-preview .team-story-strip figure {
  display: grid; grid-template-rows: auto 1fr;
  margin: 0; background: #fff; border: 1px solid #dfe4e7;
  box-shadow: 0 10px 26px rgba(17,24,32,.06);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.home-light-preview .team-story-strip figure:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(17,24,32,.12); }
.home-light-preview .team-story-strip picture { display: block; width: 100%; aspect-ratio: 4/3; overflow: hidden; background: #dfe4e7; }
.home-light-preview .team-story-strip img { display: block; width: 100%; height: 100%; aspect-ratio: 4/3; object-fit: cover; }
.home-light-preview .team-story-strip figcaption {
  padding: 14px 16px;
  color: var(--black);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.home-light-preview .site-gallery {
  background: #fff;
  border-top: 1px solid #e2e6e8;
}
.home-light-preview .gallery-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(280px,520px);
  align-items: end;
  gap: 36px;
  margin-bottom: clamp(30px,4vw,54px);
}
.home-light-preview .gallery-heading .lead { margin: 0; }
.home-light-preview .gallery-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  grid-auto-rows: 220px;
  grid-auto-flow: dense;
  gap: 12px;
}
.home-light-preview .gallery-item {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #e9edef;
}
.home-light-preview .gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.46);
  pointer-events: none;
}
.home-light-preview .gallery-item--wide { grid-column: span 2; }
.home-light-preview .gallery-item--tall { grid-row: span 2; }
.home-light-preview .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s var(--ease), filter .5s var(--ease);
}
.home-light-preview .gallery-item:hover img { transform: scale(1.035); filter: saturate(1.05); }

.home-light-preview .site-footer { background: #f4f6f7; color: #63707a; }
.home-light-preview .footer-cta { background: #fff; border-block: 1px solid #e0e5e7; }
.home-light-preview .footer-cta .t { color: var(--black); }
.home-light-preview .footer-cta .t span { color: var(--gold-deep); }
.home-light-preview .footer-main { border-bottom: 1px solid #dfe4e7; }
.home-light-preview .footer-h,
.home-light-preview .footer-links a,
.home-light-preview .footer-contact a,
.home-light-preview .footer-contact address,
.home-light-preview .footer-tagline { color: var(--black); }
.home-light-preview .footer-tagline .sub { color: var(--gold-deep); }
.home-light-preview .footer-social a { color: var(--black); border-color: #cfd6da; }
.home-light-preview .footer-bottom { border-top-color: #dfe4e7; }
.home-light-preview .footer-credit { color: #63707a; }
.home-light-preview .footer-credit a { color: var(--gold-deep); }
.home-light-preview .footer-credit a:hover { color: var(--black); }
.home-light-preview .footer-facebook-link { color: var(--black); border-color: #cfd6da; }
.home-light-preview .footer-facebook-link {
  background: linear-gradient(135deg, rgba(24,119,242,.1), rgba(255,255,255,.92));
  box-shadow: 0 10px 24px rgba(17,24,32,.08);
}
.home-light-preview .footer-facebook-copy small { color: #63707a; }
.home-light-preview .footer-facebook-link:hover {
  color: var(--black); border-color: #1877f2;
  background: linear-gradient(135deg, rgba(24,119,242,.17), #fff);
}

.home-light-preview .mobile-menu { background: #fff; }
.home-light-preview .mobile-menu-head,
.home-light-preview .mobile-nav li,
.home-light-preview .mobile-contact { border-color: #e0e4e7; }
.home-light-preview .mobile-close { color: var(--black); border-color: #d7dcdf; }
.home-light-preview .mobile-nav a { color: var(--black); }
.home-light-preview .mobile-nav .idx { color: #9aa3aa; }
.home-light-preview .mobile-contact { color: #56616c; }
.home-light-preview .mobile-social a { color: var(--black); border-color: #d7dcdf; }

/* About page: image fill and compact, high-contrast mission statement. */
.about-page .media-frame--tall { aspect-ratio: 4 / 5; background: #dfe4e7; }
.about-page .media-frame--tall picture,
.about-page .media-frame--tall img { display: block; width: 100%; height: 100%; }
.about-page .media-frame--tall img { object-fit: cover; object-position: 50% 50%; }
.about-page .mission-vision-section { padding-block: clamp(44px, 5vw, 68px) 0; }
.about-page .mission-statement {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  margin-top: clamp(22px, 3vw, 34px);
  padding: clamp(24px, 3vw, 32px) clamp(22px, 4vw, 42px);
  background: var(--black);
  text-align: left;
}
.about-page .mission-statement .h-md { margin: 0; color: #fff; }
.about-page .mission-statement > p:last-child {
  margin: 0;
  color: var(--gold-light);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.about-page .mission-vision-section + .section { padding-top: clamp(46px, 5vw, 70px); }
.about-page .cta-band .cta-band-inner { padding-block: clamp(48px, 5.5vw, 72px); }

.home-light-preview.services-index-page .hero--page,
.home-light-preview.services-index-page .hero--page .hero-inner {
  min-height: calc(100svh - var(--header-h) - 42px);
}
.home-light-preview.services-index-page .hero--page .hero-inner { justify-content: center; }
.home-light-preview.services-index-page .hero--page .hero-media img { object-position:center 54%; }
.services-light-preview .section--soft { background: #f5f7f8; }
.services-light-preview .service-row { border-color: #dfe4e7; }

.services-light-preview .supporting-services { background: #f5f7f8; border-top: 1px solid #e0e5e7; }
.services-light-preview .supporting-services-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px,520px);
  align-items: end;
  gap: 42px;
  margin-bottom: clamp(34px,5vw,62px);
}
.services-light-preview .supporting-services-head .lead { margin-bottom: 12px; color: #3f4a54; }
.services-light-preview .sample-disclosure {
  margin: 0;
  padding-left: 13px;
  border-left: 2px solid var(--gold);
  color: var(--text-muted);
  font-size: 13px;
  line-height: 1.55;
}
.services-light-preview .supporting-services-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(18px,2.5vw,32px);
}
.services-light-preview .supporting-service-card {
  background: #fff;
  border: 1px solid #dde2e5;
  box-shadow: 0 12px 30px rgba(17,24,32,.06);
}
.services-light-preview .supporting-service-media { position: relative; overflow: hidden; aspect-ratio: 4/3; background: #e5eaec; }
.services-light-preview .supporting-service-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.services-light-preview .supporting-service-card:hover .supporting-service-media img { transform: scale(1.035); }
.services-light-preview .supporting-service-media span {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 7px 10px;
  background: rgba(255,255,255,.92);
  color: var(--black);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.services-light-preview .supporting-service-body { padding: clamp(22px,2.5vw,30px); }
.services-light-preview .supporting-service-num { color: var(--gold-deep); font-size: 11px; font-weight: 800; letter-spacing: .18em; margin-bottom: 12px; }
.services-light-preview .supporting-service-body h3 { font-size: 1.45rem; margin-bottom: 12px; }
.services-light-preview .supporting-service-body > p:last-child { color: var(--text-muted); font-size: 14.5px; line-height: 1.7; }

/* Shared light treatment for the remaining site pages. */
.interior-light-preview .hero--page {
  min-height: 410px;
  background: #fff !important;
}
.interior-light-preview .hero--page .hero-inner {
  min-height: 410px;
  padding-block: clamp(58px,8vw,92px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Full-bleed About hero: fills the visible screen below both header bars. */
.interior-light-preview.about-page .hero--page {
  width: 100%;
  min-height: calc(100svh - var(--header-h) - 42px);
  background: var(--black) !important;
}
.interior-light-preview.about-page .hero--page .hero-inner {
  min-height: calc(100svh - var(--header-h) - 42px);
  max-width: var(--container);
  padding-block: clamp(64px,8vw,110px);
}
.interior-light-preview.about-page .hero--page .hero-media img {
  object-position: center center;
}
.interior-light-preview.about-page .hero--page::before {
  background:
    linear-gradient(90deg, rgba(11,11,12,.86) 0%, rgba(11,11,12,.7) 40%, rgba(11,11,12,.18) 70%, rgba(11,11,12,.28) 100%),
    linear-gradient(180deg, rgba(11,11,12,.3) 0%, rgba(11,11,12,.02) 45%, rgba(11,11,12,.48) 100%);
}

/* Services overview: compact editorial grid based on the company materials. */
.services-index-page .services-hub { background: #f5f7f8; }
.services-hub-head {
  display: grid; grid-template-columns: minmax(0,.9fr) minmax(320px,.7fr);
  align-items: end; gap: clamp(28px,5vw,76px); margin-bottom: clamp(34px,5vw,58px);
}
.services-hub-head .lead { margin: 0; }
.services-hub-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(18px,2.2vw,30px); }
.service-hub-card {
  display: flex; flex-direction: column; min-height: 100%; overflow: hidden;
  background: #fff; border: 1px solid #dce2e5; box-shadow: 0 12px 28px rgba(17,24,32,.06);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.service-hub-card:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(17,24,32,.12); }
.service-hub-card > img, .ecoflow-card-media { width: 100%; aspect-ratio: 16/10; object-fit: cover; background: #e7ebed; }
.ecoflow-card-media { display: grid; place-items: center; background: linear-gradient(135deg,#131a22,#303b45); }
.ecoflow-card-media img { width: auto; height: 88%; object-fit: contain; mix-blend-mode: screen; }
.service-hub-body { display: flex; flex: 1; flex-direction: column; padding: 24px; color: var(--text-dark); }
.service-hub-num { color: var(--gold-deep); font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.service-hub-body strong { margin: 10px 0 12px; color: var(--black); font-family: var(--ff-display); font-size: 1.34rem; line-height: 1.05; text-transform: uppercase; }
.service-hub-body small { color: var(--text-muted); font-size: 13.5px; line-height: 1.65; }
.service-hub-link { margin-top: auto; padding-top: 20px; color: var(--gold-deep); font-size: 11px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }

/* Dedicated service pages. */
.service-detail-page { --utility-h: 42px; background: #fff; }
.service-detail-hero { position: relative; min-height: calc(100svh - var(--header-h) - var(--utility-h)); overflow: hidden; background: var(--black); isolation: isolate; }
.service-detail-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,14,18,.92) 0%,rgba(10,14,18,.78) 42%,rgba(10,14,18,.18) 76%,rgba(10,14,18,.35) 100%); }
.service-detail-hero-media { position:absolute; inset:0; z-index:-2; display:block; }
.service-detail-hero-media:not(.service-detail-hero-media--product) picture { display:block; width:100%; height:100%; }
.service-detail-hero-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.service-detail-hero .container { min-height:inherit; display:flex; align-items:center; }
.service-detail-hero-copy { width:min(690px,70%); padding-block:70px; color:#fff; }
.service-detail-hero-copy .sec-label { color:var(--gold-light); }
.service-detail-hero-copy h1 { margin:14px 0 22px; color:#fff; font-size:clamp(2.8rem,5.6vw,5.7rem); line-height:.92; }
.service-detail-hero-copy .lead { color:rgba(255,255,255,.82); max-width:610px; }
.service-overview-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(42px,7vw,100px); align-items:start; }
.service-overview-grid .intro { font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.55; color:var(--black); }
.capability-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#dfe4e7; border:1px solid #dfe4e7; }
.capability-list article { padding:clamp(22px,3vw,32px); background:#fff; }
.capability-list .num { color:var(--gold-deep); font-size:11px; font-weight:800; letter-spacing:.17em; }
.capability-list h3 { margin:10px 0 8px; font-size:1.25rem; }
.capability-list p { margin:0; color:var(--text-muted); font-size:14px; line-height:1.65; }
.service-applications-panel { padding:clamp(30px,5vw,58px); background:var(--black); color:#fff; }
.service-applications-panel h2 { color:#fff; }
.service-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.service-tags span { padding:10px 13px; border:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.78); font-size:12px; }
.service-detail-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; padding:clamp(34px,5vw,58px); background:var(--gold); }
.service-detail-cta h2 { margin:0; color:var(--black); }
.service-detail-cta p { margin:8px 0 0; color:rgba(18,24,32,.74); }
.service-disclosure { margin-top:18px; padding-left:14px; border-left:2px solid var(--gold); color:var(--text-muted); font-size:12px; line-height:1.6; }
.service-detail-hero--public .service-detail-hero-media img { object-position: center bottom; }
.service-detail-hero--private .service-detail-hero-media img { object-position: center; }
.service-detail-hero--management .service-detail-hero-media img { object-position: center 52%; }
.service-detail-hero--logistics .service-detail-hero-media img { object-position: 60% center; }
.service-detail-hero--landscaping .service-detail-hero-media img { object-position: 58% center; }
.service-detail-hero--ecoflow { background:#10171e; }
.service-detail-hero--ecoflow::after { background:radial-gradient(circle at 78% 44%,rgba(233,168,19,.12),transparent 30%),linear-gradient(90deg,rgba(10,14,18,.96) 0%,rgba(10,14,18,.78) 43%,rgba(10,14,18,.14) 78%,rgba(10,14,18,.28) 100%); }
.service-detail-hero-media--product { display:flex; align-items:center; justify-content:flex-end; padding:clamp(32px,6vw,96px) clamp(32px,8vw,150px); background:radial-gradient(circle at 76% 48%,rgba(244,178,35,.2),transparent 32%),linear-gradient(135deg,#111820,#26313b); }
.service-detail-hero-media--product img,
.service-detail-hero--ecoflow .service-detail-hero-media--product img { width:min(42vw,690px); height:auto; object-fit:contain; object-position:center; filter:drop-shadow(0 30px 36px rgba(0,0,0,.36)); }
.service-detail-hero--ecoflow .service-detail-hero-copy h1 { font-size:clamp(2.6rem,5vw,5rem); }
.service-hero-disclosure { max-width:610px; margin:20px 0 0; padding-left:13px; border-left:2px solid var(--gold); color:rgba(255,255,255,.72); font-size:13px; line-height:1.55; }

.landscaping-gallery { background:#fff; }
.landscaping-gallery-head,
.ecoflow-range-intro { display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,.7fr); align-items:end; gap:clamp(28px,5vw,76px); margin-bottom:clamp(34px,5vw,58px); }
.landscaping-gallery-head .lead,
.ecoflow-range-intro .lead { margin:0; }
.landscaping-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.landscaping-gallery-grid figure { margin:0; overflow:hidden; background:#fff; border:1px solid #dce2e5; box-shadow:0 10px 26px rgba(17,24,32,.06); }
.landscaping-gallery-grid picture { display:block; aspect-ratio:4/3; overflow:hidden; background:#e7ebed; }
.landscaping-gallery-grid img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s var(--ease); }
.landscaping-gallery-grid figure:hover img { transform:scale(1.035); }
.landscaping-gallery-grid figcaption { display:grid; gap:7px; padding:18px; }
.landscaping-gallery-grid strong { color:var(--black); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.landscaping-gallery-grid span { color:var(--text-muted); font-size:13px; line-height:1.55; }

.ecoflow-range { background:#fff; }
.ecoflow-range-intro { align-items:center; }
.ecoflow-range-intro figure { margin:0; border:1px solid #dce2e5; background:#f5f7f8; }
.ecoflow-range-intro img { display:block; width:100%; height:auto; }
.ecoflow-range-intro figcaption { padding:10px 14px; color:var(--text-muted); font-size:11px; }
.ecoflow-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid #dfe4e7; background:#dfe4e7; }
.ecoflow-category-grid article { padding:clamp(22px,3vw,32px); background:#fff; }
.ecoflow-category-grid article > span { color:var(--gold-deep); font-size:11px; font-weight:800; letter-spacing:.17em; }
.ecoflow-category-grid h3 { margin:10px 0 8px; font-size:1.25rem; }
.ecoflow-category-grid p { margin:0; color:var(--text-muted); font-size:14px; line-height:1.65; }
.ecoflow-range > .container > .service-disclosure { max-width:800px; margin-top:24px; }
.ecoflow-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ecoflow-product { display:flex; flex-direction:column; min-width:0; border:1px solid #dfe4e7; background:#fff; box-shadow:0 10px 28px rgba(17,24,32,.06); }
.ecoflow-product-media { display:grid; place-items:center; aspect-ratio:1/1; padding:clamp(22px,4vw,44px); background:linear-gradient(145deg,#f7f8f9,#e9edef); }
.ecoflow-product-media img { width:100%; height:100%; object-fit:contain; }
.ecoflow-product-copy { flex:1; padding:clamp(22px,3vw,30px); }
.ecoflow-product-copy h3 { margin:0 0 10px; font-size:1.45rem; }
.ecoflow-product-copy p { margin:0 0 14px; color:var(--text-muted); font-size:14px; line-height:1.65; }
.ecoflow-product-copy .ecoflow-spec { color:var(--black); font-weight:700; }
.ecoflow-product-copy a { color:var(--gold-deep); font-size:13px; font-weight:800; letter-spacing:.04em; }
.ecoflow-product-copy a:hover { color:var(--black); }
.viber-utility a,
.viber-footer a { white-space:nowrap; }
.viber-utility svg,
.viber-footer svg,
.contact-item--viber .ico { color:#7360f2 !important; }
@media (max-width: 1024px) {
  .service-detail-page { --utility-h: 0px; }
  .home-light-preview.services-index-page .hero--page,
  .home-light-preview.services-index-page .hero--page .hero-inner { min-height:calc(100svh - var(--header-h)); }
  .interior-light-preview.about-page .hero--page,
  .interior-light-preview.about-page .hero--page .hero-inner {
    min-height: calc(100svh - var(--header-h));
  }
}
.interior-light-preview .hero-breadcrumb { color: #6c7780; }
.interior-light-preview .hero-breadcrumb .sep { color: #aab1b6; }
.interior-light-preview .hero-breadcrumb [aria-current] { color: var(--gold-deep); }
.interior-light-preview .section--dark,
.interior-light-preview .section--black {
  background: #f5f7f8;
  color: var(--text-dark);
}
.interior-light-preview .section--black { background: #fff; }
.interior-light-preview .on-dark { color: var(--text-dark); }
.interior-light-preview .on-dark h1,
.interior-light-preview .on-dark h2,
.interior-light-preview .on-dark h3,
.interior-light-preview .on-dark h4,
.interior-light-preview .on-dark h5 { color: var(--black); }
.interior-light-preview .on-dark .lead { color: var(--text-muted); }
.interior-light-preview .on-dark .sec-label,
.interior-light-preview .section--dark .sec-label,
.interior-light-preview .section--black .sec-label { color: var(--gold-deep); }
.interior-light-preview .why-card {
  background: #fff;
  border-color: #dce2e5;
  box-shadow: 0 10px 28px rgba(17,24,32,.05);
}
.interior-light-preview .why-card:hover { background: #fff; border-color: var(--gold); }
.interior-light-preview .why-card .num { color: rgba(169,111,0,.38); }
.interior-light-preview .why-card :is(h2, h3) { color: var(--black); }
.interior-light-preview .why-card p { color: var(--text-muted); }
.interior-light-preview .process-step { border-color: #dce2e5; }
.interior-light-preview .process-step:hover { background: rgba(255,255,255,.65); }
.interior-light-preview .process-step h3 { color: var(--black); }
.interior-light-preview .process-step p { color: var(--text-muted); }
.interior-light-preview .fact-grid { background: #dce2e5; }
.interior-light-preview .fact { background: #fff; }
.interior-light-preview .fact .k { color: var(--gold-deep); }
.interior-light-preview .fact .v { color: var(--text-muted); }
.interior-light-preview .team-card--dark { background: #fff; border-color: #dce2e5; }
.interior-light-preview .team-card--dark .team-body h3 { color: var(--black); }
.interior-light-preview .team-card--dark .team-body p { color: var(--text-muted); }
.interior-light-preview .team-photo--empty { background: linear-gradient(160deg,#eef1f3,#dfe5e8); }
.interior-light-preview .contact-panel {
  background: #f5f7f8;
  color: var(--text-dark);
  border: 1px solid #dce2e5;
  box-shadow: 0 14px 36px rgba(17,24,32,.07);
}
.interior-light-preview .contact-panel h2,
.interior-light-preview .contact-item .v { color: var(--black); }
.interior-light-preview .contact-item .ico,
.interior-light-preview .panel-social a { border-color: #cfd7db; color: var(--gold-deep); }
.interior-light-preview .panel-divider { border-color: #d8dee1; }
.interior-light-preview .modal-panel { background: #fff; color: var(--text-dark); border-color: #dce2e5; }
.interior-light-preview .modal-hero::after { background: linear-gradient(180deg,rgba(11,11,12,.08),rgba(11,11,12,.78)); }
.interior-light-preview .spec-grid { border-color: #dce2e5; background: #dce2e5; }
.interior-light-preview .spec { background: #f5f7f8; }
.interior-light-preview .spec dd,
.interior-light-preview .case-block h3 { color: var(--black); }
.interior-light-preview .case-block p,
.interior-light-preview .scope-tags li { color: var(--text-muted); }
.interior-light-preview .scope-tags li,
.interior-light-preview .modal-foot { border-color: #dce2e5; }

@media (max-width: 960px) {
  .services-light-preview .supporting-services-grid { grid-template-columns: 1fr; }
  .services-light-preview .supporting-service-card { display: grid; grid-template-columns: minmax(260px,.9fr) 1fr; }
  .services-light-preview .supporting-service-media { aspect-ratio: auto; min-height: 280px; }
  .services-hub-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .home-light-preview .hero { min-height: auto; }
  .home-light-preview .hero-media { left: 0; top: 48%; clip-path: polygon(0 14%,100% 0,100% 100%,0 100%); opacity: .58; }
  .home-light-preview .hero::before { background: linear-gradient(180deg,#fff 0%,#fff 48%,rgba(255,255,255,.86) 68%,rgba(255,255,255,.25) 100%); }
  .home-light-preview .hero--home .hero-inner { min-height: 690px; justify-content: flex-start; padding-top: 66px; }
  .home-light-preview .hero h1 { max-width: 620px; }
  .home-light-preview .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 210px; }
  .home-light-preview .gallery-heading { grid-template-columns: 1fr; gap: 16px; }
  .home-light-preview .team-story-layout { grid-template-columns: 1fr; }
  .home-light-preview .team-story-hero { min-height: 0; box-shadow: 14px 14px 0 #e9a813; }
  .home-light-preview .team-story-hero img { min-height: 0; }
  .home-light-preview .team-story-strip { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; }
  .services-light-preview .supporting-services-head { grid-template-columns: 1fr; gap: 18px; }
  .interior-light-preview .hero--page,
  .interior-light-preview .hero--page .hero-inner { min-height: 500px; }
  .services-hub-head, .service-overview-grid, .landscaping-gallery-head, .ecoflow-range-intro { grid-template-columns:1fr; }
  .ecoflow-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-detail-hero-copy { width:min(690px,86%); }
  .landscaping-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px) {
  .home-light-preview .hero--home .hero-inner { min-height: 720px; padding-top: 52px; }
  .home-light-preview .hero-actions { gap: 10px; }
  .home-light-preview .hero-actions .btn { width: 100%; }
  .home-light-preview .capability { padding: 23px 14px; }
  .home-light-preview .gallery-grid { grid-auto-rows: 170px; gap: 7px; }
  .home-light-preview .gallery-item--wide { grid-column: span 2; }
  .home-light-preview .team-story-points div { grid-template-columns: 1fr; gap: 4px; }
  .home-light-preview .team-story-strip { grid-template-columns: 1fr; gap: 18px; }
  .home-light-preview .fcta::before { background: linear-gradient(90deg, rgba(233,168,19,.96) 0%, rgba(233,168,19,.9) 62%, rgba(233,168,19,.62) 100%); }
  .services-light-preview .supporting-service-card { display: block; }
  .services-light-preview .supporting-service-media { min-height: 0; aspect-ratio: 4/3; }
  .about-page .mission-statement { flex-direction:column; align-items:flex-start; }
  .services-hub-grid, .capability-list { grid-template-columns:1fr; }
  .service-detail-hero { min-height:calc(100svh - var(--header-h)); }
  .service-detail-hero-copy { width:100%; padding-block:54px; }
  .service-detail-hero::after { background:linear-gradient(180deg,rgba(10,14,18,.78) 0%,rgba(10,14,18,.58) 46%,rgba(10,14,18,.88) 100%); }
  .service-detail-hero-media img,
  .service-detail-hero--public .service-detail-hero-media img,
  .service-detail-hero--private .service-detail-hero-media img,
  .service-detail-hero--management .service-detail-hero-media img,
  .service-detail-hero--logistics .service-detail-hero-media img,
  .service-detail-hero--landscaping .service-detail-hero-media img,
  .service-detail-hero--ecoflow .service-detail-hero-media img { object-position:center; }
  .service-detail-hero--private .service-detail-hero-media img { object-position:66% center; }
  .service-detail-hero-media--product { align-items:flex-end; justify-content:center; padding:130px 8vw 44px; }
  .service-detail-hero-media--product img,
  .service-detail-hero--ecoflow .service-detail-hero-media--product img { width:min(82vw,580px); opacity:.58; }
  .service-detail-hero-copy h1 { font-size:clamp(2.45rem,13vw,4rem); }
  .landscaping-gallery-grid,
  .ecoflow-category-grid { grid-template-columns:1fr; }
  .ecoflow-product-grid { grid-template-columns:1fr; }
  .service-detail-cta { grid-template-columns:1fr; }
}

/* Full-bleed homepage hero ----------------------------------------- */
.home-light-preview .hero {
  min-height: clamp(620px, 78vh, 760px);
  background: var(--black);
}
.home-light-preview .hero-media {
  inset: 0;
  left: 0;
  top: 0;
  clip-path: none;
  opacity: 1;
}
.home-light-preview .hero-media img {
  object-position: center bottom;
  filter: saturate(.9) contrast(1.03) brightness(.88);
}
.home-light-preview .hero::before {
  background:
    linear-gradient(90deg, rgba(11,11,12,.92) 0%, rgba(11,11,12,.79) 38%, rgba(11,11,12,.35) 68%, rgba(11,11,12,.18) 100%),
    linear-gradient(180deg, rgba(11,11,12,.28) 0%, rgba(11,11,12,.08) 46%, rgba(11,11,12,.62) 100%);
}
.home-light-preview .hero--home .hero-inner {
  min-height: clamp(620px, 78vh, 760px);
  max-width: 1280px;
}

/* Keep the homepage hero and four commitments flush with the first desktop
   viewport. This prevents a narrow, empty-looking slice of the next white
   section from appearing below the commitments on taller screens. */
@media (min-width: 1025px) {
  .home-light-preview .hero--home,
  .home-light-preview .hero--home .hero-inner {
    min-height: max(620px, calc(100svh - var(--header-h) - 122px));
  }
}
.home-light-preview .hero h1 {
  max-width: 760px;
  color: var(--white);
  text-shadow: 0 3px 26px rgba(0,0,0,.28);
}
.home-light-preview .hero h1 .line-2 { color: var(--gold); }
.home-light-preview .hero-sub {
  max-width: 560px;
  color: rgba(255,255,255,.86);
}
.home-light-preview .hero-locale { color: rgba(255,255,255,.78); }
.home-light-preview .hero-location-copy small { color: rgba(255,255,255,.62); }
.home-light-preview .hero-lines { opacity: .42; }
.home-light-preview .hero .btn--outline {
  --btn-fg: var(--white);
  border-color: rgba(255,255,255,.68);
  background: rgba(11,11,12,.2);
  backdrop-filter: blur(4px);
}
.home-light-preview .hero .btn--outline:hover {
  background: var(--white);
  border-color: var(--white);
  color: var(--black);
}

@media (max-width: 900px) {
  .home-light-preview .hero {
    min-height: 700px;
  }
  .home-light-preview .hero-media {
    inset: 0;
    left: 0;
    top: 0;
    clip-path: none;
    opacity: 1;
  }
  .home-light-preview .hero-media img {
    object-position: 57% center;
    filter: saturate(.88) contrast(1.04) brightness(.8);
  }
  .home-light-preview .hero::before {
    background:
      linear-gradient(180deg, rgba(11,11,12,.74) 0%, rgba(11,11,12,.54) 48%, rgba(11,11,12,.84) 100%),
      linear-gradient(90deg, rgba(11,11,12,.42), rgba(11,11,12,.1));
  }
  .home-light-preview .hero--home .hero-inner {
    min-height: 700px;
    justify-content: center;
    padding-top: clamp(62px, 12vw, 92px);
  }
  .home-light-preview .hero h1 { max-width: 650px; }
}

@media (max-width: 560px) {
  .home-light-preview .hero,
  .home-light-preview .hero--home .hero-inner {
    min-height: 720px;
  }
  .home-light-preview .hero-media img { object-position: 59% center; }
}

/* Contact hero: crisp generated planning visual with clear disclosure. */
.contact-page .hero--page .hero-media img {
  object-position: center center;
  filter: saturate(.98) contrast(1.06) brightness(.98);
}
.contact-page .hero--page::before {
  background:
    linear-gradient(90deg, rgba(11,11,12,.74) 0%, rgba(11,11,12,.56) 40%, rgba(11,11,12,.16) 70%, rgba(11,11,12,.08) 100%),
    linear-gradient(180deg, rgba(11,11,12,.16) 0%, rgba(11,11,12,.04) 48%, rgba(11,11,12,.38) 100%);
}
@media (max-width: 900px) {
  .contact-page .hero--page .hero-media img {
    object-position: 60% center;
    filter: saturate(.96) contrast(1.05) brightness(.94);
  }
  .contact-page .hero--page::before {
    background:
      linear-gradient(180deg, rgba(11,11,12,.62) 0%, rgba(11,11,12,.38) 50%, rgba(11,11,12,.72) 100%),
      linear-gradient(90deg, rgba(11,11,12,.34), rgba(11,11,12,.08));
  }
}


/* Services page refinement v27 ------------------------------------- */
.home-light-preview.services-index-page .hero--page,
.home-light-preview.services-index-page .hero--page .hero-inner {
  min-height: clamp(620px, 72svh, 760px);
}
.home-light-preview.services-index-page .hero--page .hero-inner {
  width: min(100% - 48px, 1180px);
  max-width: 1180px;
  padding-right: min(45vw, 570px);
  justify-content: center;
  align-items: flex-start;
}
.home-light-preview.services-index-page .hero--page .hero-sub { max-width: 590px; }
.home-light-preview.services-index-page .hero--page .hero-actions { margin-top: 28px; }
.home-light-preview.services-index-page .hero--page .btn span { font-size: 1rem; line-height: 1; }

.services-process { background: #fff; border-top: 1px solid #e0e5e7; }
.services-process-head {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(320px,.7fr);
  align-items: end;
  gap: clamp(28px,5vw,76px);
  margin-bottom: clamp(32px,4.5vw,52px);
}
.services-process-head .lead { margin: 0; }
.services-process-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1px;
  margin: 0;
  padding: 1px;
  list-style: none;
  background: #dce2e5;
}
.services-process-grid li { padding: clamp(26px,3.2vw,40px); background: #f7f8f8; }
.services-process-grid li > span { display: block; margin-bottom: 18px; color: var(--gold-deep); font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.services-process-grid h3 { margin-bottom: 12px; font-size: clamp(1.25rem,1.8vw,1.55rem); }
.services-process-grid p { margin: 0; color: var(--text-muted); font-size: 14px; line-height: 1.7; }
.services-guidance-cta { padding-block: clamp(52px,6vw,78px); }
.services-guidance-cta .cta-band-inner { grid-template-columns: minmax(0,1fr) auto; }
.services-guidance-copy { max-width: 650px; margin-top: 16px; font-size: 17px; line-height: 1.7; }

@media (max-width: 900px) {
  .home-light-preview.services-index-page .hero--page,
  .home-light-preview.services-index-page .hero--page .hero-inner { min-height: 590px; }
  .home-light-preview.services-index-page .hero--page .hero-inner {
    width: 100%; max-width: var(--container); padding-right: var(--gutter);
  }
  .services-process-head { grid-template-columns: 1fr; }
  .services-process-grid { grid-template-columns: 1fr; }
  .services-guidance-cta .cta-band-inner { grid-template-columns: 1fr; }
  .services-guidance-cta .btn-row { justify-content: flex-start !important; }
}

@media (max-width: 560px) {
  .home-light-preview.services-index-page .hero--page,
  .home-light-preview.services-index-page .hero--page .hero-inner { min-height: 620px; }
  .home-light-preview.services-index-page .hero--page .hero-actions,
  .home-light-preview.services-index-page .hero--page .hero-actions .btn { width: 100%; }
  .services-process-grid li { padding: 26px 22px; }
  .services-guidance-copy { font-size: 15.5px; }
}

#service-areas, #services-process-title, #start-project { scroll-margin-top: calc(var(--header-h) + 24px); }

/* ==================================================================
   G2 PATCH 2026-09-08 — service consolidation + full-viewport hero
   ================================================================== */

/* The Services landing hero must fill the visible viewport below the
   sticky header so the next section never peeks into the first screen. */
.home-light-preview.services-index-page .hero--page,
.home-light-preview.services-index-page .hero--page .hero-inner {
  min-height: calc(100svh - var(--header-h));
}

/* Four consolidated service areas read more cleanly as a balanced 2x2. */
.services-index-page .services-hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.home-light-preview .showcase-services .svc-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

/* Integrated Construction & Project Management page. */
.combined-construction-page .combined-construction-hero .service-detail-hero-copy { width:min(760px,74%); }
.combined-construction-page .combined-construction-hero .service-detail-hero-copy h1 { max-width:760px; }
.combined-service-section { scroll-margin-top: calc(var(--header-h) + 18px); }
.combined-service-intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);
  gap:clamp(38px,6vw,86px);
  align-items:center;
  margin-bottom:clamp(34px,5vw,58px);
}
.combined-service-intro--reverse > :first-child { order:2; }
.combined-service-intro--reverse > .combined-service-media { order:1; }
.combined-service-intro .lead { margin:18px 0 16px; color:var(--black); }
.combined-service-intro p:last-child { margin-bottom:0; color:var(--text-muted); line-height:1.75; }
.combined-service-media { margin:0; min-height:340px; overflow:hidden; background:#dfe4e7; }
.combined-service-media img { display:block; width:100%; height:100%; min-height:340px; max-height:520px; object-fit:cover; }
#public-infrastructure .combined-service-media img { object-position:center 48%; }
#private-commercial-construction .combined-service-media img { object-position:center 45%; }
#project-management .combined-service-media img { object-position:center 42%; }
.combined-capabilities { margin-top:0; }
.combined-service-close .service-detail-cta { margin-top:clamp(28px,4vw,44px); }

@media (max-width: 900px) {
  .home-light-preview.services-index-page .hero--page,
  .home-light-preview.services-index-page .hero--page .hero-inner { min-height:calc(100svh - var(--header-h)); }
  .combined-service-intro { grid-template-columns:1fr; gap:28px; }
  .combined-service-intro--reverse > :first-child,
  .combined-service-intro--reverse > .combined-service-media { order:initial; }
  .combined-construction-page .combined-construction-hero .service-detail-hero-copy { width:min(690px,88%); }
}

@media (max-width: 560px) {
  .home-light-preview.services-index-page .hero--page,
  .home-light-preview.services-index-page .hero--page .hero-inner { min-height:calc(100svh - var(--header-h)); }
  .services-index-page .services-hub-grid,
  .home-light-preview .showcase-services .svc-grid { grid-template-columns:1fr; }
  .combined-service-media,
  .combined-service-media img { min-height:260px; }
  .combined-construction-page .combined-construction-hero .service-detail-hero-copy { width:100%; }
}

/* ==================================================================
   G2 PATCH v2 2026-09-08 — two integrated service groups
   ================================================================== */
.services-index-page .services-hub-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1180px; margin-inline:auto; }
.home-light-preview .showcase-services .svc-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:980px; }
#landscaping .combined-service-media img { object-position:center 48%; }
.integrated-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:clamp(30px,4vw,46px); }
.integrated-gallery figure { margin:0; background:#fff; overflow:hidden; border:1px solid rgba(13,22,28,.09); }
.integrated-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.integrated-gallery figcaption { padding:12px 14px; font-size:.82rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.ecoflow-combined-media { background:#f4f6f7; display:grid; place-items:center; }
.ecoflow-combined-media img { object-fit:contain; padding:clamp(18px,3vw,34px); }
.power-models { margin-top:clamp(44px,6vw,72px); }
.power-models-head { max-width:820px; margin-bottom:28px; }
.power-models-head p:last-child { color:var(--text-muted); line-height:1.7; }
.power-model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.power-model-grid article { background:#f6f7f7; border:1px solid rgba(13,22,28,.08); padding:clamp(20px,3vw,30px); }
.power-model-grid img { width:100%; aspect-ratio:1/1; object-fit:contain; display:block; margin-bottom:18px; }
.power-model-grid h3 { margin:0 0 10px; font-size:1.15rem; }
.power-model-grid .spec { font-weight:700; color:var(--black); font-size:.9rem; }
.power-model-grid p:last-child { color:var(--text-muted); line-height:1.65; }
.product-note { margin-top:18px; font-size:.82rem; color:var(--text-muted); line-height:1.6; }
.equipment-power-page .equipment-power-hero .service-detail-hero-copy { width:min(800px,78%); }
.equipment-power-page .equipment-power-hero .service-detail-hero-copy h1 { max-width:800px; }

@media (max-width:900px) {
  .integrated-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .power-model-grid { grid-template-columns:1fr; }
  .equipment-power-page .equipment-power-hero .service-detail-hero-copy { width:min(720px,90%); }
}
@media (max-width:560px) {
  .services-index-page .services-hub-grid--two,
  .home-light-preview .showcase-services .svc-grid--two,
  .integrated-gallery { grid-template-columns:1fr; }
  .equipment-power-page .equipment-power-hero .service-detail-hero-copy { width:100%; }
}

/* ==================================================================
   2026-09-21 — Full-bleed first-screen correction
   The utility bar was retired, so heroes must no longer reserve its
   former 42px height. Keep every primary page hero flush with the
   bottom of the visible viewport beneath the site header.
   ================================================================== */
.service-detail-page { --utility-h: 0px; }

.service-detail-hero,
.interior-light-preview .hero--page,
.interior-light-preview .hero--page .hero-inner,
.interior-light-preview.about-page .hero--page,
.interior-light-preview.about-page .hero--page .hero-inner,
.services-index-page .hero--page,
.services-index-page .hero--page .hero-inner {
  min-height: calc(100svh - var(--header-h));
}

/* ==================================================================
   Accessibility audit correction 2026-09-09
   Use the AA-compliant dark gold for text on white/near-white panels.
   Bright brand gold remains unchanged on photographic and dark surfaces.
   ================================================================== */
.interior-light-preview .why-card .num,
.interior-light-preview .process-step .step-num,
.interior-light-preview .error-code,
.interior-light-preview .error-page a[style*="color:var(--gold)"] {
  color: var(--gold-deep) !important;
}

/* Audit-remediation project cards retain legible text over photography. */
.interior-light-preview .project-card .project-card-body > p:last-child {
  color: rgba(255,255,255,.88) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}

/* ==================================================================
   2026-09-16 — Brand gold consistency on dark surfaces
   The 2026-09-09 accessibility rule above swaps gold text to the
   AA-safe dark gold so it stays legible on white panels. Its selector
   also catches sections that sit on DARK backgrounds, where the dark
   gold reads as muddy brown beside the gold buttons and drops to about
   3:1 contrast. Inside dark surfaces, restore the same brand gold the
   buttons use, which also lifts contrast to roughly 8:1.
   ================================================================== */
.interior-light-preview .hero--page .hero-breadcrumb span,
.interior-light-preview .team-hero .hero-breadcrumb span,
.interior-light-preview .hero-breadcrumb span,
.interior-light-preview .mission-statement .gold,
.interior-light-preview .mission-statement .sec-label,
.interior-light-preview .about-team-teaser .gold,
.interior-light-preview .about-team-teaser .sec-label,
.interior-light-preview .team-values-head .sec-label,
.interior-light-preview .life-story .sec-label,
.interior-light-preview .section--dark .gold,
.interior-light-preview .section--dark .sec-label,
.interior-light-preview .btn--dark,
.services-light-preview .section--dark .gold,
.services-light-preview .section--dark .sec-label {
  color: var(--gold) !important;
}

/* ==================================================================
   2026-09-16 — ONE brand gold for display headings
   ------------------------------------------------------------------
   Gold display headings previously rendered in three different values
   depending on which rule won: the brand gold on dark surfaces, and two
   darker "accessible" golds on light panels (#8a5a00 via light-preview,
   #C88A0B via style.css). That is what read as several different
   yellows across the site.

   All display headings now resolve to this single token. To change
   every heading site-wide, change this one value.

   TRADE-OFF, stated plainly: the brand gold on a white panel measures
   about 1.8-2.1:1, which is below the WCAG AA minimum. These are very
   large display headings and the value is a deliberate brand decision.
   To restore AA on light panels instead, set:
       --gold-display: #C88A0B;   ~3.0:1  (passes AA for large text)
       --gold-display: #8a5a00;   ~5.2:1  (passes AA for all text)
   Small gold text and icons on light panels are NOT affected by this
   token — they keep the darker accessible gold, because at 10-13px the
   brand gold is genuinely hard to read.
   ================================================================== */
.home-light-preview { --gold-display: var(--gold); }

.home-light-preview .gold,
.home-light-preview .hero h1 .line-2 {
  color: var(--gold-display, var(--gold));
}

/* ==================================================================
   Interior Design & Custom Furniture service
   ================================================================== */
.service-detail-hero--interiors .service-detail-hero-media::after {
  background:linear-gradient(90deg,rgba(8,12,14,.88) 0%,rgba(8,12,14,.58) 38%,rgba(8,12,14,.12) 72%);
}
.service-detail-hero--interiors .service-detail-hero-media img { object-position:center 54%; }
.service-detail-hero--interiors .service-detail-hero-copy { max-width:720px; }
.interior-gallery-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:clamp(28px,6vw,80px); align-items:end; margin-bottom:34px; }
.interior-gallery-head .lead { margin:0; color:var(--text-muted); }
.interior-gallery-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.interior-gallery-card { grid-column:span 2; position:relative; min-height:430px; overflow:hidden; background:#151a1d; }
.interior-gallery-card--wide { grid-column:span 3; }
.interior-gallery-card img { width:100%; height:100%; min-height:430px; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.interior-gallery-card:hover img { transform:scale(1.025); }
.interior-gallery-card::after { content:""; position:absolute; inset:38% 0 0; background:linear-gradient(180deg,transparent,rgba(6,10,12,.88)); pointer-events:none; }
.interior-gallery-card figcaption { position:absolute; z-index:1; left:0; right:0; bottom:0; padding:26px clamp(20px,3vw,34px); color:#fff; }
.interior-gallery-card figcaption strong { display:block; margin-bottom:7px; font-size:clamp(1.15rem,2vw,1.55rem); }
.interior-gallery-card figcaption span { display:block; max-width:540px; color:rgba(255,255,255,.84); line-height:1.55; }
.interior-process { grid-template-columns:repeat(4,minmax(0,1fr)); }

@media (max-width:900px) {
  .interior-gallery-head { grid-template-columns:1fr; gap:18px; }
  .interior-gallery-card,
  .interior-gallery-card--wide { grid-column:span 5; min-height:390px; }
  .interior-gallery-card img { min-height:390px; }
  .interior-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .service-detail-hero--interiors .service-detail-hero-media img { object-position:64% center; }
  .interior-gallery-card,
  .interior-gallery-card--wide { min-height:330px; }
  .interior-gallery-card img { min-height:330px; }
  .interior-process { grid-template-columns:1fr; }
}
