/* Golden service-area ticker: isolated stylesheet to avoid conflicts with theme CSS. */
.serving-banner-wrapper{background:#061e2d;padding:20px 0;font-family:var(--idrees-font,'Inter',Arial,sans-serif);display:flex;justify-content:center;width:100%;box-sizing:border-box;position:relative;z-index:1}
.serving-banner-wrapper *{box-sizing:border-box}
.serving-bar{position:relative;width:90%;max-width:1300px;min-width:0;background:linear-gradient(90deg,#082b40 0%,#061e2d 100%);border:2px solid #f5a623;border-radius:50px;padding:15px 25px;display:flex;align-items:center;box-shadow:0 0 25px rgba(245,166,35,.3),inset 0 0 12px rgba(245,166,35,.06);overflow:hidden}
.serving-title{display:flex;align-items:center;gap:12px;color:#fff;font-weight:700;font-size:1.05rem;white-space:nowrap;padding-right:25px;margin-right:20px;border-right:2px solid rgba(245,166,35,.4);flex-shrink:0;position:relative;z-index:2}
.serving-heading{color:#f5a623}.roller-icon{font-size:1.3rem}
.cities-ticker{display:flex;overflow:hidden;width:100%;min-width:0;position:relative;mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent)}
.cities-track{display:flex;align-items:center;gap:30px;width:max-content;flex:0 0 auto;white-space:nowrap;will-change:transform;animation:idreesScrollTicker var(--idrees-ticker-duration,35s) linear infinite}
.city-badge{display:inline-flex;align-items:center;gap:8px;color:#e5e7eb;font-size:.95rem;font-weight:500;white-space:nowrap;flex:0 0 auto}.city-badge>span{color:#f5a623}
.serving-banner-wrapper:hover .cities-track,.cities-track:focus-within{animation-play-state:paused}
@keyframes idreesScrollTicker{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-50%,0,0)}}
@media(max-width:992px){.serving-banner-wrapper{padding:14px 0}.serving-bar{width:94%;flex-direction:column;gap:12px;border-radius:20px;padding:14px}.serving-title{border-right:0;border-bottom:1px solid rgba(245,166,35,.3);padding:0 0 10px;margin:0;width:100%;justify-content:center;white-space:normal;text-align:center;font-size:.95rem}.cities-ticker{width:100%;min-height:25px}.cities-track{gap:22px}.city-badge{font-size:.88rem}}
@media(max-width:480px){.serving-bar{padding:12px 10px}.serving-title{gap:7px;font-size:.85rem}.cities-track{gap:18px}.city-badge{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.cities-track{animation:none;flex-wrap:wrap;white-space:normal}.cities-ticker{mask-image:none;-webkit-mask-image:none}}

/* v1.2.4 reference-inspired connection: broad ticker sits across the hero edge, feature panel follows cleanly. */
.serving-banner-wrapper{background:linear-gradient(180deg,transparent 0%,transparent 42%,#fff 42%,#fff 100%)!important;padding:0 0 18px!important;margin-top:-34px!important;position:relative!important;z-index:8!important;overflow:visible!important}
.serving-bar{width:min(96%,1560px)!important;max-width:1560px!important;min-height:58px;padding:13px 26px!important;border-radius:999px!important;background:linear-gradient(105deg,#071c2b 0%,#0b3046 48%,#061b29 100%)!important;border:1.5px solid #f5b63f!important;box-shadow:0 10px 28px rgba(4,24,38,.28),0 0 0 4px rgba(245,166,35,.07),inset 0 1px 0 rgba(255,255,255,.12)!important}
.serving-title{font-size:clamp(.86rem,1vw,1rem)!important;padding-right:22px!important;margin-right:18px!important}
.cities-track{gap:clamp(18px,2vw,30px)!important}
.city-badge{font-size:clamp(.82rem,.95vw,.94rem)!important}
@media(min-width:1200px){.hero-section{position:relative;isolation:isolate}.hero-copy{animation:idreesHeroCopyIn .9s cubic-bezier(.2,.7,.2,1) both}.hero-visual{animation:idreesHeroImageIn 1.15s cubic-bezier(.2,.7,.2,1) both}.hero-copy .eyebrow-pill{animation:idreesHeroRise .7s .08s both}.hero-copy h1{animation:idreesHeroRise .8s .16s both}.hero-copy p{animation:idreesHeroRise .8s .25s both}.hero-trust{animation:idreesHeroRise .8s .34s both}.hero-actions{animation:idreesHeroRise .8s .42s both}.hero-visual:after{animation:idreesHeroGlow 1.3s ease-out both}.hero-service-stack span{animation:idreesHeroRise .65s 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}}
@keyframes idreesHeroCopyIn{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:translateX(0)}}
@keyframes idreesHeroImageIn{from{opacity:.45;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes idreesHeroRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes idreesHeroGlow{from{opacity:.35}to{opacity:1}}
@media(max-width:992px){.serving-banner-wrapper{margin-top:-24px!important;padding:0 0 14px!important;background:linear-gradient(180deg,transparent 0%,transparent 32%,#fff 32%,#fff 100%)!important}.serving-bar{width:96%!important;min-height:unset;padding:12px 14px!important;border-radius:24px!important;gap:10px}.serving-title{padding-bottom:9px!important;margin:0!important}.cities-ticker{min-height:24px}}
@media(max-width:760px){.serving-banner-wrapper{margin-top:-18px!important;padding-bottom:12px!important}.serving-bar{width:calc(100% - 24px)!important;border-radius:18px!important}.feature-strip-section{padding-top:0!important}.feature-strip{width:calc(100% - 24px)!important}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-copy .eyebrow-pill,.hero-copy h1,.hero-copy p,.hero-trust,.hero-actions,.hero-visual,.hero-visual:after,.hero-service-stack span{animation:none!important}}

/* v1.2.5 — premium glossy hero, reference-style attached ticker and feature panel */
.hero-section{
  position:relative;isolation:isolate;min-height:clamp(560px,72vh,760px);overflow:visible;
  background:linear-gradient(135deg,#061e2d 0%,#082b40 52%,#0d3d59 100%);
}
.hero-section:before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at 12% 12%,rgba(65,151,193,.17),transparent 38%),
             linear-gradient(135deg,rgba(8,43,64,.2),rgba(4,21,34,.32));
}
.hero-copy{z-index:2;position:relative;background:linear-gradient(125deg,rgba(5,27,42,.97) 0%,rgba(8,43,64,.96) 72%,rgba(8,43,64,.86) 100%);}
.hero-copy:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.045) 42%,transparent 61%);}
.hero-copy .eyebrow-pill{color:#f5d79a;border-color:rgba(229,197,125,.5);background:rgba(255,255,255,.045);backdrop-filter:blur(8px);letter-spacing:.35px;}
.hero-copy h1{text-shadow:0 3px 22px rgba(0,0,0,.3);}
.hero-copy h1::selection,.hero-copy p::selection{background:#e5c57d;color:#082b40;}
.hero-visual{position:relative;z-index:1;min-height:100%;background-size:cover;background-position:center;}
.hero-visual:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(110deg,rgba(8,43,64,.5),transparent 48%),radial-gradient(ellipse at 85% 12%,rgba(255,255,255,.12),transparent 40%);}
.hero-visual:after{content:"";position:absolute;left:-1px;top:0;bottom:0;width:clamp(52px,7vw,112px);z-index:1;pointer-events:none;background:linear-gradient(90deg,#082b40 0%,rgba(8,43,64,.75) 28%,rgba(229,197,125,.42) 72%,transparent 100%);}
.hero-service-stack span{box-shadow:0 8px 24px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.75);transition:transform .25s ease,box-shadow .25s ease;}
.hero-service-stack span:hover{transform:translateX(-4px);box-shadow:0 12px 28px rgba(0,0,0,.24);}
.button-gold{background:linear-gradient(135deg,#ffe09b 0%,#f5b632 48%,#d99312 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 9px 25px rgba(198,145,32,.25);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s,filter .3s;}
.button-gold:hover{transform:translateY(-3px);filter:brightness(1.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 14px 32px rgba(198,145,32,.36);}
.button-outline{background:rgba(255,255,255,.045);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:rgba(255,255,255,.38);box-shadow:0 8px 20px rgba(0,0,0,.12);transition:all .3s ease;}
.button-outline:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.65);transform:translateY(-3px);}
.serving-banner-wrapper{background:linear-gradient(180deg,#061e2d 0%,#061e2d 54%,#fff 54%,#fff 100%)!important;padding:0 0 22px!important;margin-top:-36px!important;position:relative!important;z-index:8!important;overflow:visible!important;}
.serving-bar{width:min(calc(100% - 64px),1500px)!important;min-height:64px;border:1.5px solid #f5b632!important;border-radius:999px!important;background:linear-gradient(110deg,#071c2a 0%,#082b40 48%,#061e2d 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 0 4px rgba(245,182,50,.06),0 12px 30px rgba(8,43,64,.2),0 0 22px rgba(245,182,50,.18)!important;padding:10px 24px!important;}
.serving-title{color:#ffbd43!important;border-right:1px solid rgba(245,182,50,.5)!important;}
.serving-heading{font-weight:800!important;color:#ffbd43!important;}
.city-badge{font-weight:600!important;}
.feature-strip-section{position:relative;z-index:2;padding:0 0 26px!important;background:#fff!important;margin-top:-1px!important;}
.feature-strip-section .feature-strip{width:min(calc(100% - 64px),1500px)!important;max-width:none!important;margin:0 auto!important;border:1px solid rgba(245,182,50,.55)!important;border-radius:0 0 26px 26px!important;background:linear-gradient(115deg,#fff 0%,#fffdf8 58%,#fbf2df 100%)!important;box-shadow:0 16px 42px rgba(8,43,64,.13),inset 0 1px 0 rgba(255,255,255,.95)!important;}
.feature-strip-item{transition:transform .28s ease,background .28s ease;}
.feature-strip-item:hover{transform:translateY(-3px);background:rgba(245,182,50,.055);}
.feature-strip-icon{box-shadow:inset 0 1px 0 #fff,0 7px 18px rgba(245,166,35,.16)!important;}
@keyframes idreesGlossSweep{0%{transform:translateX(-120%);opacity:0}20%{opacity:.55}100%{transform:translateX(150%);opacity:0}}
.hero-copy .hero-actions .button-gold{position:relative;overflow:hidden;}
.hero-copy .hero-actions .button-gold:after{content:"";position:absolute;inset:-40% auto -40% -40%;width:28%;transform:translateX(-120%) skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:idreesGlossSweep 5.5s ease-in-out 1.5s infinite;pointer-events:none;}
@media(min-width:1200px){.hero-section{min-height:clamp(560px,72vh,760px)}.hero-copy{padding-top:58px;padding-bottom:72px}.hero-copy h1{font-size:clamp(42px,3.7vw,62px);line-height:1.08}.hero-visual{min-height:560px}}
@media(max-width:992px){.hero-section{min-height:unset}.hero-copy{padding-top:36px;padding-bottom:50px}.hero-visual{min-height:340px}.serving-banner-wrapper{margin-top:-28px!important;padding-bottom:16px!important;background:linear-gradient(180deg,transparent 0%,transparent 40%,#fff 40%,#fff 100%)!important}.serving-bar{width:calc(100% - 28px)!important;border-radius:22px!important;min-height:unset;padding:13px 16px!important}.feature-strip-section .feature-strip{width:calc(100% - 28px)!important;border-radius:0 0 20px 20px!important}}
@media(max-width:760px){.hero-section{grid-template-columns:1fr;min-height:unset}.hero-copy{padding:34px 22px 46px}.hero-copy h1{font-size:clamp(34px,9vw,44px)}.hero-visual{min-height:300px}.hero-visual:after{width:52px}.serving-banner-wrapper{margin-top:-20px!important}.serving-bar{width:calc(100% - 20px)!important;padding:12px!important}.feature-strip-section .feature-strip{width:calc(100% - 20px)!important}.feature-strip-item{padding:13px 7px!important}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-visual,.hero-service-stack span,.hero-copy .hero-actions .button-gold:after{animation:none!important;transition:none!important}}

/* v1.2.6 — enlarged desktop hero to match the supplied premium reference. */
@media (min-width: 1200px) {
  .hero-section {
    width: 100% !important;
    max-width: none !important;
    min-height: clamp(650px, 78vh, 900px) !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 1.08fr) !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }
  .hero-copy {
    min-height: clamp(650px, 78vh, 900px) !important;
    padding: clamp(54px, 5vw, 84px) clamp(34px, 4.6vw, 76px) clamp(84px, 7vw, 112px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  .hero-copy .eyebrow-pill {
    align-self: flex-start;
    margin-bottom: clamp(18px, 1.6vw, 26px) !important;
    font-size: clamp(12px, .82vw, 15px) !important;
    padding: 10px 16px !important;
  }
  .hero-copy h1 {
    max-width: 900px !important;
    font-size: clamp(54px, 4.15vw, 76px) !important;
    line-height: 1.06 !important;
    letter-spacing: -1.9px !important;
    margin-bottom: 22px !important;
  }
  .hero-copy p {
    max-width: 760px !important;
    font-size: clamp(17px, 1.12vw, 21px) !important;
    line-height: 1.65 !important;
    margin-bottom: clamp(24px, 2.2vw, 36px) !important;
  }
  .hero-trust {
    gap: clamp(15px, 1.65vw, 28px) !important;
    margin-bottom: clamp(24px, 2vw, 34px) !important;
  }
  .hero-trust > span { font-size: clamp(23px, 1.7vw, 31px) !important; gap: 10px !important; }
  .hero-trust b { font-size: clamp(12px, .88vw, 16px) !important; line-height: 1.3 !important; }
  .hero-actions { gap: 16px !important; flex-wrap: wrap !important; }
  .hero-actions .button { min-height: 62px !important; padding: 17px 28px !important; font-size: clamp(15px, .95vw, 18px) !important; border-radius: 12px !important; }
  .hero-visual {
    min-height: clamp(650px, 78vh, 900px) !important;
    height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
  }
  .hero-service-stack { top: clamp(28px, 2.3vw, 40px) !important; right: clamp(20px, 1.8vw, 32px) !important; gap: 12px !important; }
  .hero-service-stack span { padding: 15px 20px !important; font-size: clamp(13px, .9vw, 17px) !important; border-radius: 13px !important; }
  .hero-photo-note { bottom: 30px !important; left: 28px !important; padding: 15px 20px !important; font-size: 14px !important; }
  .serving-banner-wrapper { margin-top: -42px !important; padding-bottom: 26px !important; }
  .serving-bar { min-height: 74px !important; padding: 13px 30px !important; }
}
@media (min-width: 1600px) {
  .hero-copy h1 { font-size: clamp(68px, 4.4vw, 84px) !important; }
}

/* v1.2.9 — final hero proportion correction: keep reference-style hero, not oversized. */
@media (min-width: 1200px) {
  .hero-section {
    min-height: clamp(540px, 68vh, 660px) !important;
    height: auto !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }
  .hero-copy {
    min-height: 0 !important;
    height: auto !important;
    padding: clamp(38px, 3.5vw, 58px) clamp(28px, 3.4vw, 54px) !important;
    justify-content: center !important;
  }
  .hero-copy .eyebrow-pill { margin-bottom: 16px !important; padding: 8px 13px !important; font-size: 12px !important; }
  .hero-copy h1 { font-size: clamp(42px, 3.25vw, 58px) !important; line-height: 1.08 !important; letter-spacing: -1.2px !important; margin-bottom: 16px !important; }
  .hero-copy p { font-size: clamp(14px, 1vw, 17px) !important; line-height: 1.55 !important; margin-bottom: 20px !important; }
  .hero-trust { gap: clamp(12px, 1.2vw, 22px) !important; margin-bottom: 22px !important; }
  .hero-trust > span { font-size: clamp(19px, 1.35vw, 25px) !important; gap: 7px !important; }
  .hero-trust b { font-size: clamp(11px, .78vw, 14px) !important; line-height: 1.25 !important; }
  .hero-actions { gap: 12px !important; }
  .hero-actions .button { min-height: 48px !important; padding: 12px 20px !important; font-size: 14px !important; border-radius: 9px !important; }
  .hero-visual { min-height: 0 !important; height: auto !important; align-self: stretch !important; background-size: cover !important; background-position: center center !important; }
  .hero-service-stack { top: 24px !important; right: 22px !important; gap: 9px !important; }
  .hero-service-stack span { padding: 11px 14px !important; font-size: 12px !important; border-radius: 11px !important; }
  .hero-photo-note { bottom: 20px !important; left: 20px !important; padding: 11px 15px !important; font-size: 12px !important; }
  .serving-banner-wrapper { margin-top: -34px !important; }
}
@media (min-width: 1600px) {
  .hero-section { min-height: clamp(600px, 66vh, 700px) !important; }
  .hero-copy h1 { font-size: clamp(54px, 3.5vw, 68px) !important; }
}
@media (max-width: 1199px) and (min-width: 761px) {
  .hero-section { min-height: 0 !important; }
  .hero-copy { padding: 42px 30px !important; }
  .hero-visual { min-height: 500px !important; }
}
