
/* Premium entrance animations: smooth, restrained, accessible */
@keyframes idreesFadeUp{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes idreesFadeIn{from{opacity:0}to{opacity:1}}
@keyframes idreesSlideLeft{from{opacity:0;transform:translate3d(-28px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes idreesSlideRight{from{opacity:0;transform:translate3d(28px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes idreesGlossSweep{0%{transform:translateX(-150%) skewX(-18deg);opacity:0}15%{opacity:.45}65%{opacity:.18}100%{transform:translateX(220%) skewX(-18deg);opacity:0}}
@keyframes idreesGoldPulse{0%,100%{box-shadow:0 8px 20px rgba(245,166,35,.18)}50%{box-shadow:0 10px 28px rgba(245,166,35,.32)}}
html{scroll-behavior:smooth}
.js-motion .motion-ready{opacity:0;will-change:transform,opacity}
.js-motion .motion-ready.is-inview{animation:var(--idrees-motion, idreesFadeUp) .72s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--motion-delay,0ms)}
.hero-copy{animation:idreesSlideLeft .8s cubic-bezier(.2,.7,.2,1) both}
.hero-visual{animation:idreesSlideRight .95s cubic-bezier(.2,.7,.2,1) both}
.eyebrow-pill{animation:idreesFadeIn .7s ease .12s both}
.hero-trust>*{animation:idreesFadeUp .6s ease both}
.hero-trust>*:nth-child(2){animation-delay:.08s}.hero-trust>*:nth-child(3){animation-delay:.16s}.hero-trust>*:nth-child(4){animation-delay:.24s}
.hero-actions .button-gold{animation:idreesGoldPulse 3.5s ease-in-out 1.1s infinite}
.button,.service-card,.product-card,.contact-card,.about-highlights>div,.gallery-item,.review-card{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease,filter .28s ease}
.button:hover{transform:translateY(-2px)}
.service-card:hover,.product-card:hover,.contact-card:hover,.about-highlights>div:hover,.review-card:hover{transform:translateY(-5px)}
.gallery-item{overflow:hidden;position:relative}
.gallery-item:after,.button-gold:after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:42%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:translateX(-150%) skewX(-18deg)}
.gallery-item:hover:after,.button-gold:hover:after{animation:idreesGlossSweep .8s ease}
.button-gold{position:relative;overflow:hidden}
.hero-photo-note,.hero-service-stack span{animation:idreesFadeUp .65s ease both}
.hero-service-stack span:nth-child(2){animation-delay:.08s}.hero-service-stack span:nth-child(3){animation-delay:.16s}.hero-service-stack span:nth-child(4){animation-delay:.24s}
.serving-bar{animation:idreesFadeIn .8s ease .3s both}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js-motion .motion-ready{opacity:1;transform:none}}


/* JMP-inspired glossy hero treatment adapted to Idrees theme selectors.
   This enhances the existing hero markup; no new images or identity changes. */
@keyframes idreesHeroFadeUp{0%{opacity:0;transform:translate3d(0,30px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes idreesHeroLineExpand{0%{width:0;opacity:.35}100%{width:35px;opacity:1}}
@keyframes idreesHeroSheen{0%,100%{opacity:0;transform:translateX(-130%) skewX(-18deg)}25%{opacity:.22}65%{opacity:.08} }
.hero-section{position:relative;isolation:isolate;overflow:hidden;min-height: min(85vh, 820px);background:linear-gradient(135deg,#082b40 0%,#061e2d 58%,#0d3b55 100%)}
.hero-section:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 14% 12%,rgba(229,197,125,.12),transparent 36%),linear-gradient(135deg,rgba(8,43,64,.10),rgba(6,30,45,.12));}
.hero-copy{position:relative;z-index:2;background:linear-gradient(135deg,rgba(8,43,64,.96) 0%,rgba(6,30,45,.92) 76%,rgba(8,43,64,.78) 100%);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);padding-top:clamp(44px,6vw,82px);padding-bottom:clamp(44px,6vw,82px)}
.hero-copy:before{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:linear-gradient(transparent,rgba(229,197,125,.48),transparent);pointer-events:none}
.hero-copy>*{animation:idreesHeroFadeUp .85s cubic-bezier(.16,1,.3,1) both}
.hero-copy>.eyebrow-pill{animation-delay:.05s;border-color:rgba(229,197,125,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 18px rgba(0,0,0,.12)}
.hero-copy h1{animation-delay:.13s;text-shadow:0 2px 18px rgba(0,0,0,.28);letter-spacing:-1.5px}
.hero-copy p{animation-delay:.22s}
.hero-trust{animation:idreesHeroFadeUp .85s cubic-bezier(.16,1,.3,1) .3s both}
.hero-actions{animation:idreesHeroFadeUp .85s cubic-bezier(.16,1,.3,1) .4s both}
.eyebrow-pill:before{content:"";display:inline-block;flex:0 0 0;width:0;height:2px;margin-right:0;background:#e5c57d;animation:idreesHeroLineExpand .8s ease-out .2s forwards}
.hero-visual{z-index:0;overflow:hidden;transform:translateZ(0)}
.hero-visual:before{z-index:0!important;background:linear-gradient(105deg,rgba(8,43,64,.52) 0%,rgba(8,43,64,.18) 30%,transparent 68%),linear-gradient(135deg,rgba(8,43,64,.12),transparent 58%)!important;pointer-events:none}
.hero-visual:after{content:"";position:absolute;inset:-20% auto -20% -55%;width:35%;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),rgba(229,197,125,.12),transparent);transform:skewX(-18deg);animation:idreesHeroSheen 7s ease-in-out 1.2s infinite}
.hero-service-stack span{border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 24px rgba(0,0,0,.15);transition:transform .28s ease,box-shadow .28s ease}
.hero-service-stack span:hover{transform:translateX(-4px);box-shadow:0 12px 26px rgba(0,0,0,.2)}
.hero-photo-note{border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.hero-actions .button-gold{background:linear-gradient(135deg,#f5d79a 0%,#f6ad2d 48%,#c6a15b 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 8px 25px rgba(198,161,91,.3);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease,filter .3s ease}
.hero-actions .button-gold:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 12px 30px rgba(198,161,91,.45);filter:brightness(1.05)}
.hero-actions .button-outline{background:rgba(255,255,255,.05);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:rgba(255,255,255,.35);box-shadow:0 8px 20px rgba(0,0,0,.15);transition:all .3s cubic-bezier(.4,0,.2,1)}
.hero-actions .button-outline:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.58);transform:translateY(-3px)}
@media(min-width:1200px){.hero-section{min-height:clamp(500px,56vh,620px)}.hero-visual{min-height:inherit}.hero-copy{padding-top:clamp(34px,4vw,48px);padding-bottom:clamp(34px,4vw,48px)}.hero-copy h1{font-size:clamp(44px,4.1vw,68px);line-height:1.08;max-width:760px}.hero-copy p{font-size:clamp(14px,1.1vw,17px);max-width:640px}.hero-trust{gap:clamp(17px,2vw,30px)}}
@media(max-width:768px){.hero-section{min-height:0}.hero-copy{padding:38px 22px 34px}.hero-copy h1{font-size:var(--idrees-hero-mobile-size,clamp(34px,8vw,42px));line-height:1.1}.hero-visual{min-height:340px}.hero-visual:after{animation-duration:9s}.eyebrow-pill:before{display:none}}
@media(prefers-reduced-motion:reduce){.hero-copy>*,.hero-copy>.eyebrow-pill,.hero-copy h1,.hero-copy p,.hero-trust,.hero-actions,.eyebrow-pill:before,.hero-visual:after{animation:none!important;transform:none!important}}

/* v1.3.1 — extend the hero cleanly to the ticker and keep the photo label visible. */
@media (min-width: 1200px) {
  .hero-section {
    min-height: clamp(560px, 68vh, 660px) !important;
    height: auto !important;
    overflow: visible !important;
  }
  .hero-copy { min-height: 0 !important; }
  .hero-visual { min-height: 0 !important; position: relative !important; overflow: visible !important; }
  .hero-photo-note {
    bottom: 58px !important;
    left: 20px !important;
    z-index: 5 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .serving-banner-wrapper {
    margin-top: -42px !important;
    padding: 0 0 0 !important;
    background: linear-gradient(to bottom, #061e2d 0, #061e2d 48px, #fff 48px, #fff 100%) !important;
    position: relative !important;
    z-index: 8 !important;
  }
  .serving-bar { position: relative !important; z-index: 9 !important; }
}
@media (min-width: 1600px) {
  .hero-section { min-height: clamp(600px, 66vh, 700px) !important; }
  .hero-photo-note { bottom: 64px !important; }
}
@media (max-width: 1199px) {
  .hero-photo-note { bottom: 56px !important; z-index: 5 !important; }
  .serving-banner-wrapper { background: linear-gradient(to bottom, #061e2d 0, #061e2d 34px, #fff 34px, #fff 100%) !important; }
}

/* v1.3.2 — full-width photographic hero, matching the approved reference layout. */
.hero-section {
  display: block !important;
  position: relative !important;
  isolation: isolate !important;
  min-height: 620px !important;
  height: clamp(590px, 72vh, 700px) !important;
  overflow: hidden !important;
  background: #061e2d !important;
}
.hero-visual {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  z-index: -2 !important;
  background-size: cover !important;
  background-position: center 48% !important;
  overflow: visible !important;
}
.hero-visual:before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: linear-gradient(90deg, rgba(3, 22, 43, .94) 0%, rgba(3, 22, 43, .82) 28%, rgba(3, 22, 43, .48) 48%, rgba(3, 22, 43, .06) 74%, rgba(3, 22, 43, .08) 100%) !important;
}
.hero-visual:after { display: none !important; }
.hero-copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(58%, 850px) !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 56px 0 104px max(42px, calc((100vw - 1380px) / 2)) !important;
  background: transparent !important;
  justify-content: center !important;
}
.hero-copy h1 { max-width: 820px !important; font-size: clamp(42px, 4vw, 62px) !important; line-height: 1.08 !important; }
.hero-copy p { max-width: 620px !important; font-size: clamp(14px, 1.15vw, 18px) !important; }
.hero-trust { gap: clamp(14px, 2vw, 30px) !important; }
.hero-trust b { font-size: 12px !important; }
.hero-actions .button { min-height: 54px !important; padding: 15px 24px !important; border-radius: 10px !important; font-size: 14px !important; }
.hero-service-stack { z-index: 3 !important; right: 24px !important; top: 32px !important; }
.hero-photo-note { z-index: 4 !important; left: auto !important; right: 28px !important; bottom: 74px !important; padding: 14px 18px !important; }
.serving-banner-wrapper { margin-top: -48px !important; position: relative !important; z-index: 8 !important; background: linear-gradient(to bottom, #061e2d 0, #061e2d 48px, #fff 48px, #fff 100%) !important; padding-bottom: 0 !important; }
.serving-bar { position: relative !important; z-index: 9 !important; }
@media (min-width: 1600px) {
  .hero-section { min-height: 650px !important; height: 72vh !important; max-height: 760px !important; }
  .hero-copy { padding-left: max(60px, calc((100vw - 1380px) / 2)) !important; }
}
@media (max-width: 1199px) {
  .hero-section { height: auto !important; min-height: 0 !important; padding-bottom: 0 !important; display: flex !important; flex-direction: column !important; }
  .hero-visual { position: absolute !important; inset: 0 !important; height: 100% !important; min-height: 0 !important; }
  .hero-copy { width: 100% !important; height: auto !important; min-height: 520px !important; padding: 48px 30px 100px !important; }
  .hero-copy h1 { max-width: 760px !important; }
  .hero-photo-note { right: 18px !important; bottom: 58px !important; }
}
@media (max-width: 760px) {
  .hero-copy { min-height: 560px !important; padding: 38px 22px 104px !important; }
  .hero-copy h1 { font-size: clamp(34px, 8.5vw, 46px) !important; }
  .hero-visual { background-position: 62% center !important; }
  .hero-visual:before { background: linear-gradient(90deg, rgba(3,22,43,.91) 0%, rgba(3,22,43,.76) 58%, rgba(3,22,43,.26) 100%) !important; }
  .hero-service-stack { right: 10px !important; top: 10px !important; gap: 6px !important; }
  .hero-service-stack span { padding: 8px 10px !important; font-size: 10px !important; }
  .hero-photo-note { right: 12px !important; bottom: 52px !important; max-width: 170px !important; padding: 9px 11px !important; font-size: 10px !important; }
  .serving-banner-wrapper { margin-top: -24px !important; }
}
\n/* Promotion banner robust layout/image fix v1.4.9 */
.promo-section{position:relative!important;display:block!important;width:100vw!important;max-width:100vw!important;left:50%!important;margin-left:-50vw!important;margin-right:-50vw!important;padding:0!important;min-height:320px!important;overflow:hidden!important;isolation:isolate!important;background-color:#061e2d!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.promo-section:before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(3,22,36,.32),transparent 70%)!important}
.promo-section .promo-inner{position:relative!important;z-index:1!important;display:grid!important;width:100%!important;max-width:1500px!important;min-height:320px!important;margin:0 auto!important;padding:36px clamp(20px,3.5vw,64px)!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important;gap:clamp(18px,2.5vw,40px)!important;align-items:center!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.promo-section .promo-copy{min-width:0!important;max-width:100%!important}
.promo-section .promo-copy h2{font-size:clamp(42px,5.5vw,82px)!important;line-height:.98!important;overflow-wrap:anywhere!important}
.promo-section .promo-benefits{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;width:100%!important;max-width:none!important;margin:0!important;align-items:stretch!important}
.promo-section .promo-benefit{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:120px!important;padding:8px 10px!important;border-right:1px solid rgba(255,255,255,.28)!important;border-bottom:0!important}
.promo-section .promo-benefit:last-child{border-right:0!important}
.promo-section .promo-benefit-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:clamp(48px,4.2vw,70px)!important;height:clamp(48px,4.2vw,70px)!important;min-width:0!important;border:3px solid #ffbd36!important;border-radius:50%!important;margin:0 auto 10px!important;font-size:clamp(22px,2vw,32px)!important;line-height:1!important;white-space:nowrap!important}
.promo-section .promo-benefit small{display:block!important;max-width:140px!important;font-size:clamp(11px,.95vw,16px)!important;line-height:1.25!important;text-align:center!important;color:#fff!important;overflow-wrap:normal!important;word-break:normal!important}
@media(max-width:900px){.promo-section,.promo-section .promo-inner{min-height:0!important}.promo-section .promo-inner{grid-template-columns:minmax(0,1fr)!important;padding:34px 24px!important;gap:26px!important}.promo-section .promo-copy{text-align:center!important}.promo-section .promo-benefits{grid-template-columns:repeat(4,minmax(0,1fr))!important}.promo-section .promo-benefit{min-height:105px!important;padding:8px 5px!important}}
@media(max-width:560px){.promo-section{min-height:0!important}.promo-section .promo-inner{padding:28px 16px!important;gap:22px!important}.promo-section .promo-copy h2{font-size:clamp(38px,11vw,56px)!important}.promo-section .promo-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:12px!important}.promo-section .promo-benefit{min-height:104px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.25)!important}.promo-section .promo-benefit:nth-child(odd){border-right:1px solid rgba(255,255,255,.25)!important}.promo-section .promo-benefit:nth-child(n+3){border-bottom:0!important}.promo-section .promo-benefit-icon{width:48px!important;height:48px!important;font-size:22px!important;margin-bottom:7px!important}.promo-section .promo-benefit small{font-size:12px!important}}


/* v1.5.9: final viewport breakout for promotion banner; CTA-matched desktop width */
@media (min-width: 761px) {
  html body .promo-section,
  body .promo-section {
    display: block !important;
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(1237px, calc(100vw - 48px)) !important;
    max-width: 1237px !important;
    min-width: 0 !important;
    margin: 48px 0 34px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  html body .promo-section > .promo-inner,
  body .promo-section > .promo-inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 270px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important;
  }
}
@media (max-width: 760px) {
  html body .promo-section,
  body .promo-section {
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
    margin: 28px auto !important;
  }
}


/* v1.6.1 VERIFIED OVERRIDE: force promotion banner to CTA width on desktop.
   animations.css is enqueued last, so this wins over legacy promotion rules. */
@media screen and (min-width: 761px) {
  html body.home section.promo-section,
  html body section.promo-section,
  body.home .promo-section,
  section.promo-section {
    display: block !important;
    box-sizing: border-box !important;
    width: min(1237px, calc(100vw - 48px)) !important;
    min-width: 0 !important;
    max-width: 1237px !important;
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin-top: 48px !important;
    margin-right: 0 !important;
    margin-bottom: 34px !important;
    margin-left: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  html body.home section.promo-section > .promo-inner,
  html body section.promo-section > .promo-inner,
  section.promo-section > .promo-inner {
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important;
  }
}
@media screen and (max-width: 760px) {
  html body section.promo-section,
  section.promo-section {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    min-width: 0 !important;
    position: relative !important;
    left: auto !important;
    transform: none !important;
    margin: 28px auto !important;
  }
}


/* v1.6.2 clean rebuild: align promotion banner to the same content container as CTA.
   Intentionally neutralizes earlier viewport-breakout rules instead of stacking them. */
@media screen and (min-width: 761px) {
  html body section.promo-section,
  html body.home section.promo-section,
  body section.promo-section {
    display: block !important;
    position: relative !important;
    inset-inline: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: min(1200px, calc(100% - 40px)) !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin: 32px auto 40px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background-color: #06253a !important;
    background-image: linear-gradient(90deg, rgba(3,22,36,.74) 0%, rgba(3,22,36,.42) 52%, rgba(3,22,36,.16) 100%), var(--promo-bg-image) !important;
    background-size: cover !important;
    background-position: center !important;
  }
  html body section.promo-section > .promo-inner,
  html body.home section.promo-section > .promo-inner {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 270px !important;
    margin: 0 !important;
    padding: 30px clamp(24px, 3vw, 44px) !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
    gap: 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: inherit !important;
  }
}
@media screen and (max-width: 760px) {
  html body section.promo-section,
  html body.home section.promo-section,
  body section.promo-section {
    position: relative !important;
    inset-inline: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: calc(100% - 28px) !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin: 26px auto !important;
    padding: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #06253a !important;
  }
  html body section.promo-section > .promo-inner,
  html body.home section.promo-section > .promo-inner {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    background-color: #06253a !important;
    background-image: linear-gradient(180deg, rgba(3,23,37,.70), rgba(3,23,37,.82)), var(--promo-bg-image) !important;
    background-size: cover !important;
    background-position: center !important;
    border-radius: inherit !important;
  }
}


/* v1.6.3 PREMIUM PROMOTION BANNER — final single source of truth */
.promo-section,
html body.home .promo-section {
  position:relative!important; inset:auto!important; left:auto!important; right:auto!important;
  transform:none!important; display:block!important;
  width:min(calc(100% - 48px),var(--idrees-width,1200px))!important;
  max-width:var(--idrees-width,1200px)!important; min-width:0!important;
  margin:34px auto 46px!important; padding:0!important; box-sizing:border-box!important;
  overflow:hidden!important; isolation:isolate!important; border-radius:26px!important;
  border:1px solid rgba(246,190,82,.55)!important;
  background-color:#06253a!important;
  background-image:linear-gradient(105deg,rgba(3,20,33,.94) 0%,rgba(3,26,42,.84) 42%,rgba(3,30,47,.54) 100%),var(--promo-bg-image,linear-gradient(120deg,#061e2d,#0b4058))!important;
  background-size:cover!important; background-position:center!important; background-repeat:no-repeat!important;
  box-shadow:0 24px 58px rgba(5,28,43,.22), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.promo-section:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 8% 0%,rgba(246,190,82,.17),transparent 38%),linear-gradient(135deg,transparent 55%,rgba(246,190,82,.08));}
.promo-section > .promo-inner{
  position:relative!important;z-index:1!important; display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;
  align-items:center!important; gap:clamp(20px,3vw,42px)!important;
  width:100%!important; max-width:none!important; min-width:0!important;
  min-height:300px!important; margin:0!important;
  padding:clamp(28px,3.6vw,48px)!important; box-sizing:border-box!important;
  background:transparent!important; border:0!important; border-radius:inherit!important;
}
.promo-section .promo-copy{min-width:0!important;position:relative!important;z-index:2!important;text-align:left!important;}
.promo-section .promo-copy>span{display:inline-flex!important;align-items:center!important;gap:9px!important;padding:8px 13px!important;border:1px solid rgba(246,190,82,.48)!important;border-radius:999px!important;background:rgba(246,190,82,.12)!important;color:#ffd887!important;font-size:11px!important;line-height:1.2!important;letter-spacing:1.7px!important;font-weight:850!important;text-transform:uppercase!important;}
.promo-section .promo-copy>span:before{content:"✦";font-size:13px;color:#ffd887;}
.promo-section .promo-copy h2{font-size:clamp(44px,5.4vw,76px)!important;line-height:.96!important;letter-spacing:-2.5px!important;font-weight:950!important;color:#fff!important;margin:18px 0 12px!important;text-transform:uppercase!important;text-wrap:balance!important;text-shadow:0 5px 24px rgba(0,0,0,.3)!important;}
.promo-section .promo-copy p{max-width:440px!important;font-size:clamp(15px,1.4vw,18px)!important;line-height:1.55!important;font-weight:500!important;color:rgba(255,255,255,.86)!important;margin:0 0 23px!important;}
.promo-section .promo-copy .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;min-height:52px!important;padding:14px 23px!important;border-radius:12px!important;background:linear-gradient(135deg,#ffe4a1 0%,#f3b638 55%,#dc9419 100%)!important;color:#142b39!important;font-size:14px!important;font-weight:900!important;text-decoration:none!important;box-shadow:0 10px 25px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.7)!important;transition:transform .2s ease,box-shadow .2s ease!important;}
.promo-section .promo-copy .button:hover{transform:translateY(-2px)!important;box-shadow:0 15px 30px rgba(0,0,0,.28)!important;}
.promo-section .promo-benefits{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important;max-width:470px!important;margin:0 0 0 auto!important;align-items:stretch!important;text-align:left!important;}
.promo-section .promo-benefit{position:relative!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;min-width:0!important;min-height:94px!important;padding:17px 15px!important;border:1px solid rgba(255,255,255,.19)!important;border-radius:16px!important;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;backdrop-filter:blur(5px)!important;}
.promo-section .promo-benefit:after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#f6bd4c,transparent);opacity:.8;}
.promo-section .promo-benefit-icon{flex:0 0 43px!important;width:43px!important;height:43px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,211,126,.38)!important;border-radius:13px!important;background:rgba(246,190,82,.13)!important;color:#ffdb91!important;font-size:23px!important;line-height:1!important;}
.promo-section .promo-benefit small{display:block!important;margin:0!important;color:#fff!important;font-size:12px!important;line-height:1.4!important;font-weight:750!important;letter-spacing:.1px!important;}
@media (min-width:761px){.promo-section > .promo-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;}}
@media (max-width:1000px) and (min-width:761px){.promo-section > .promo-inner{gap:22px!important;padding:28px!important;}.promo-section .promo-copy h2{font-size:clamp(40px,5vw,58px)!important;letter-spacing:-1.5px!important;}.promo-section .promo-benefit{gap:9px!important;padding:13px 10px!important;}.promo-section .promo-benefit-icon{flex-basis:36px!important;width:36px!important;height:36px!important;font-size:20px!important;}.promo-section .promo-benefit small{font-size:11px!important;}}
@media (max-width:760px){
 .promo-section,html body.home .promo-section{width:calc(100% - 28px)!important;max-width:none!important;margin:25px auto 32px!important;border-radius:20px!important;background-image:linear-gradient(180deg,rgba(3,20,33,.78),rgba(3,20,33,.94)),var(--promo-bg-image,linear-gradient(120deg,#061e2d,#0b4058))!important;box-shadow:0 16px 36px rgba(5,28,43,.2)!important;}
 .promo-section > .promo-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:25px!important;min-height:0!important;padding:27px 20px 22px!important;}
 .promo-section .promo-copy>span{font-size:9px!important;letter-spacing:1.25px!important;padding:7px 10px!important;}
 .promo-section .promo-copy h2{font-size:clamp(43px,12vw,62px)!important;line-height:.98!important;letter-spacing:-1.7px!important;margin:15px 0 10px!important;}
 .promo-section .promo-copy p{font-size:14px!important;line-height:1.55!important;margin-bottom:18px!important;}
 .promo-section .promo-copy .button{width:auto!important;max-width:100%!important;min-height:49px!important;padding:13px 18px!important;font-size:13px!important;}
 .promo-section .promo-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;max-width:none!important;margin:0!important;}
 .promo-section .promo-benefit{min-height:83px!important;gap:9px!important;padding:12px 9px!important;border-radius:13px!important;}
 .promo-section .promo-benefit-icon{flex-basis:34px!important;width:34px!important;height:34px!important;border-radius:10px!important;font-size:18px!important;}
 .promo-section .promo-benefit small{font-size:10px!important;line-height:1.35!important;}
}
@media (max-width:380px){.promo-section > .promo-inner{padding:23px 15px 18px!important;}.promo-section .promo-benefit{gap:7px!important;padding:10px 7px!important;}.promo-section .promo-benefit-icon{flex-basis:30px!important;width:30px!important;height:30px!important;font-size:16px!important;}.promo-section .promo-benefit small{font-size:9px!important;}}


/* v1.6.4 Premium header navigation: clearer spacing, stronger type and refined hover states. */
@media screen and (min-width: 761px) {
  html body .site-header .header-inner {
    gap: clamp(22px, 2.1vw, 34px) !important;
  }
  html body .site-header .primary-navigation {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  html body .site-header .primary-navigation ul,
  html body .site-header .primary-navigation .menu {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(20px, 2vw, 32px) !important;
  }
  html body .site-header .primary-navigation li {
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
  }
  html body .site-header .primary-navigation a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 7px 0 9px !important;
    color: #123247 !important;
    font-size: clamp(14px, 1.05vw, 15.5px) !important;
    font-weight: 650 !important;
    letter-spacing: .12px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: color .22s ease, transform .22s ease !important;
  }
  html body .site-header .primary-navigation a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 100% !important;
    bottom: 5px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: linear-gradient(90deg, #e9a11a, #ffd36e) !important;
    transition: right .24s ease !important;
  }
  html body .site-header .primary-navigation a:hover,
  html body .site-header .primary-navigation .current-menu-item > a,
  html body .site-header .primary-navigation .current_page_item > a {
    color: #b77706 !important;
  }
  html body .site-header .primary-navigation a:hover::after,
  html body .site-header .primary-navigation .current-menu-item > a::after,
  html body .site-header .primary-navigation .current_page_item > a::after {
    right: 0 !important;
  }
  html body .site-header .header-cta {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    padding: 13px 19px !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    border-radius: 9px !important;
    box-shadow: 0 7px 18px rgba(202, 132, 15, .19) !important;
  }
}
@media screen and (min-width: 761px) and (max-width: 1050px) {
  html body .site-header .header-inner { gap: 16px !important; }
  html body .site-header .primary-navigation ul,
  html body .site-header .primary-navigation .menu { gap: 15px !important; }
  html body .site-header .primary-navigation a { font-size: 13px !important; }
  html body .site-header .header-cta { padding: 11px 13px !important; font-size: 12.5px !important; }
}
@media screen and (max-width: 760px) {
  html body .site-header .primary-navigation a {
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 12px 4px !important;
  }
}


/* v1.6.5: align promo banner with the CTA container and preserve gallery order */
@media (min-width: 761px) {
  body.home main#primary section.promo-section,
  body.home .site-main section.promo-section,
  body.home section.promo-section {
    box-sizing: border-box !important;
    display: block !important;
    width: min(1200px, calc(100% - 40px)) !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin: 32px auto 42px !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }
  body.home section.promo-section > .promo-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}
@media (max-width: 760px) {
  body.home main#primary section.promo-section,
  body.home .site-main section.promo-section,
  body.home section.promo-section {
    box-sizing: border-box !important;
    width: calc(100% - 28px) !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin: 24px auto 32px !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }
  body.home section.promo-section > .promo-inner {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }
}


/* v1.6.6: viewport-based centering fixes constrained-parent width on desktop */
@media screen and (min-width: 761px) {
  html body.home section.promo-section,
  html body.home main#primary section.promo-section,
  html body.home .site-main section.promo-section {
    display: block !important;
    box-sizing: border-box !important;
    width: min(1238px, calc(100vw - 40px)) !important;
    max-width: none !important;
    min-width: 0 !important;
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin: 32px 0 42px !important;
    padding: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
  }
  html body.home section.promo-section > .promo-inner {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}
@media screen and (max-width: 760px) {
  html body.home section.promo-section,
  html body.home main#primary section.promo-section,
  html body.home .site-main section.promo-section {
    left: auto !important;
    transform: none !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
    margin: 24px auto 32px !important;
  }
}

/* v1.6.9: mobile menu active items should not show the desktop gold underline. */
@media screen and (max-width: 760px) {
  html body .site-header .primary-navigation a::after,
  html body .site-header .primary-navigation a:hover::after,
  html body .site-header .primary-navigation .current-menu-item > a::after,
  html body .site-header .primary-navigation .current_page_item > a::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    right: auto !important;
  }
  html body .site-header .primary-navigation .current-menu-item > a,
  html body .site-header .primary-navigation .current_page_item > a {
    border-bottom: 0 !important;
    box-shadow: none !important;
    background-image: none !important;
  }
}
/* Use a clean handset glyph in the top contact strip. */
.topbar-phone-icon { display:inline-flex !important; align-items:center !important; justify-content:center !important; }
.topbar-phone-icon svg { width:17px; height:17px; display:block; }


/* v1.7.2 — Hero overlay gradient controlled by Customizer opacity settings. */
.hero-section .hero-visual:before {
  background: linear-gradient(90deg,
    rgba(6, 30, 45, var(--hero-overlay-left, .9)) 0%,
    rgba(6, 30, 45, calc(var(--hero-overlay-left, .9) * .78)) 24%,
    rgba(6, 30, 45, calc((var(--hero-overlay-left, .9) + var(--hero-overlay-right, .2)) / 2)) 48%,
    rgba(6, 30, 45, var(--hero-overlay-right, .2)) 74%,
    rgba(6, 30, 45, var(--hero-overlay-right, .2)) 100%
  ) !important;
}
@media (max-width: 760px) {
  .hero-section .hero-visual:before {
    background: linear-gradient(90deg,
      rgba(6, 30, 45, var(--hero-overlay-left, .9)) 0%,
      rgba(6, 30, 45, calc((var(--hero-overlay-left, .9) + var(--hero-overlay-right, .2)) / 2)) 55%,
      rgba(6, 30, 45, var(--hero-overlay-right, .2)) 100%
    ) !important;
  }
}

/* Final polish v1.7.7: tighten excessive vertical gaps without changing section content */
@media (min-width: 761px) {
  .section { padding-top: clamp(38px, 4.2vw, 56px); padding-bottom: clamp(38px, 4.2vw, 56px); }
  .reviews-section { padding-top: clamp(38px, 4vw, 54px); padding-bottom: clamp(38px, 4vw, 54px); }
  .premium-trust-section { padding-top: 28px; padding-bottom: 30px; }
  .contact-section { padding-top: clamp(38px, 4vw, 54px); padding-bottom: clamp(38px, 4vw, 54px); }
  .section-heading { margin-bottom: 22px; }
  .section-heading h2 { margin-bottom: 10px; }
}
@media (max-width: 760px) {
  .section { padding-top: 28px; padding-bottom: 28px; }
  .reviews-section { padding-top: 30px; padding-bottom: 30px; }
  .premium-trust-section { padding-top: 22px; padding-bottom: 24px; }
  .premium-trust-panel { padding: 20px 16px; }
  .premium-trust-heading { margin-bottom: 18px; }
  .contact-section { padding-top: 28px; padding-bottom: 28px; }
  .section-heading { margin-bottom: 16px; }
}
