/* 2026-07-29 v6.9
   Final public visual layer. This file is loaded after page-level styles.
   Keep this layer consolidated: do not append versioned overrides below it. */

:root {
  --premium-navy: #07263b;
  --premium-ink: #0a0f14;
  --premium-paper: #f3f7f9;
}

/* Shared page canvas */
body main,
html[data-theme="dark"] body main {
  background: #09131a !important;
}
html[data-theme="light"] body main {
  background:
    radial-gradient(76rem 56rem at 6% 10%, rgba(7, 38, 59, .075), transparent 72%),
    radial-gradient(68rem 52rem at 94% 70%, rgba(10, 15, 20, .035), transparent 75%),
    linear-gradient(145deg, #f5f8fa 0%, #edf3f6 52%, #f7f9fa 100%) !important;
}
body main > section,
body main > .defer-section,
body main > :is(.irt-home-hero,.irt-home-body,.irt-series-hero,.irt-series-body,.irt-model-hero,.irt-model-body,.dc-hero,.dc-section,.repair-hero,.iphone-model-picker,.ipad-hero,.watch-hero) {
  background-color: transparent !important;
  background-image: none !important;
  border-block: 0 !important;
  box-shadow: none !important;
}
body main > .defer-section > section,
body main > .defer-section > div > section {
  background-color: transparent !important;
  background-image: none !important;
  border-block: 0 !important;
}
html[data-theme] body main > section.defer-section:has(.plus-card),
html[data-theme] body main > section.defer-section:has(.simple-process-step),
html[data-theme] body main > section.defer-section:has(.why-shell),
html[data-theme] body main > section.defer-section:has(.review-carousel),
html[data-theme] body main > section.defer-section:has(.process-shell),
html[data-theme] body main > section.defer-section:has(.final-shell) {
  background-color: transparent !important;
  background-image: none !important;
}
html[data-theme="light"] body main > section.defer-section:has(:is(.plus-card,.simple-process-step,.why-shell,.review-carousel,.process-shell,.final-shell)) > .absolute {
  opacity: .12 !important;
}
html[data-theme="dark"] body main > section.defer-section:has(:is(.plus-card,.simple-process-step,.why-shell,.review-carousel,.process-shell,.final-shell)) > .absolute {
  display: none !important;
}
body main > section.location-section {
  display: none !important;
}
body main > section > .absolute.inset-0,
body main > section > .absolute.inset-x-0.top-0,
body main > section > .absolute.inset-x-0.bottom-0,
body main .home-simple-hero__fade,
body main .location-footer-fade {
  display: none !important;
}
body main > :is(section,.defer-section,.irt-series-hero,.irt-series-body,.irt-model-hero,.irt-model-body) + :is(section,.defer-section,.irt-series-hero,.irt-series-body,.irt-model-hero,.irt-model-body) {
  border-top: 0 !important;
  box-shadow: none !important;
}
body main :is(.irt-series-hero,.irt-model-hero)::after {
  content: none !important;
  display: none !important;
}
html[data-theme="dark"] body main :is(.irt-series-hero,.irt-series-body,.irt-model-hero,.irt-model-body) {
  background: #09131a !important;
  border-color: transparent !important;
}
html[data-theme="light"] body main :is(.irt-series-hero,.irt-series-body,.irt-model-hero,.irt-model-body) {
  background: #f2f6f8 !important;
  border-color: transparent !important;
}
body main .irt-series-hero__texture {
  display: none !important;
}
body main .irt-series-hero__glow {
  opacity: .16 !important;
  filter: blur(96px) !important;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .48) 46%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .48) 46%, transparent 100%);
}
html[data-theme="light"] body main .irt-series-hero__glow {
  opacity: .09 !important;
}
html[data-theme="light"] body main .absolute:is([class*="bg-pink"],[class*="bg-red"],[class*="bg-rose"],[class*="bg-fuchsia"],[class*="bg-purple"],[class*="bg-violet"]) {
  background-color: rgba(7, 38, 59, .075) !important;
  opacity: .7 !important;
}

/* Brand text gradients and stronger headings */
html[data-theme="light"] body main :is(.home-simple-hero__accent,.service-word-rotator,.why-rotating-word,.process-title-gradient,.typing-line,.repair-hero h1,.iphone-model-picker > .container > .text-center h2,.ipad-hero h1,.watch-hero h1,.irt-home-hero__h1,.irt-series-hero__h1,.irt-series-body__h2,.irt-model-hero__rotator,.irt-model-body__title,.final-shell h2 > span,.location-section h2 > span,.map-shell h3 > span) {
  background: linear-gradient(108deg, #07263b 0%, #12374d 48%, #090d11 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  filter: none !important;
  text-shadow: none !important;
}
html[data-theme="dark"] body main :is(.home-simple-hero__accent,.service-word-rotator,.why-rotating-word,.process-title-gradient,.typing-line,.repair-hero h1,.iphone-model-picker > .container > .text-center h2,.ipad-hero h1,.watch-hero h1,.irt-home-hero__h1,.irt-series-hero__h1,.irt-series-body__h2,.irt-model-hero__rotator,.irt-model-body__title,.final-shell h2 > span,.location-section h2 > span,.map-shell h3 > span) {
  background: linear-gradient(108deg, #9eb6c1 0%, #d2dfe4 54%, #f5f8f9 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  filter: none !important;
  text-shadow: none !important;
}
body main .home-simple-hero .home-simple-hero__primary {
  border-color: rgba(7, 38, 59, .72) !important;
  background: #07263b !important;
  background-image: none !important;
  box-shadow: 0 16px 32px -22px rgba(7, 38, 59, .86) !important;
}
body main .home-simple-hero .home-simple-hero__primary:hover {
  border-color: #12374d !important;
  background: #0b334b !important;
}
html[data-theme="light"] body main .home-simple-hero :is(.home-simple-hero__lead span,.home-simple-hero__eyebrow > span:last-child) {
  color: #07263b !important;
  -webkit-text-fill-color: #07263b !important;
}
html[data-theme="dark"] body main .home-simple-hero :is(.home-simple-hero__lead span,.home-simple-hero__eyebrow > span:last-child) {
  color: #dce9ef !important;
  -webkit-text-fill-color: #dce9ef !important;
}
body main .home-simple-hero .home-simple-hero__eyebrow {
  border-color: rgba(7, 38, 59, .28) !important;
  background: rgba(7, 38, 59, .08) !important;
}
body main .home-simple-hero .home-simple-hero__eyebrow > span:first-child {
  background: #07263b !important;
}
body main :is(.home-simple-hero h1,.service-showcase-section > .container h2,.repair-hero h1,.iphone-model-picker > .container > .text-center h2,.ipad-hero h1,.watch-hero h1,.irt-home-hero__h1,.irt-series-hero__h1,.irt-series-body__h2,.irt-model-hero__h1,.irt-model-body__title,.sr-head h1) {
  font-weight: 850 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance;
}
html[data-theme="light"] body main :is(.section-eyebrow,.service-kicker,.irt-model-body__eyebrow,.sr-kicker) {
  color: #07263b !important;
  -webkit-text-fill-color: #07263b !important;
}
html[data-theme="dark"] body main :is(.section-eyebrow,.irt-model-body__eyebrow,.sr-kicker) {
  color: rgba(226, 237, 243, .78) !important;
  -webkit-text-fill-color: rgba(226, 237, 243, .78) !important;
}

/* General card accents follow the same theme grammar; device cards are excluded. */
html[data-theme="light"] body main .why-card {
  --why-a: #07263b !important;
  --why-b: #0a0f14 !important;
}
html[data-theme="light"] body main .plus-card {
  --plus-a: #07263b !important;
  --plus-b: #0a0f14 !important;
  border-color: rgba(7, 38, 59, .18) !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(10, 15, 20, .055), transparent 47%),
    radial-gradient(circle at 8% 100%, rgba(7, 38, 59, .075), transparent 50%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(243,247,249,.94)) !important;
  box-shadow: 0 22px 42px -32px rgba(7, 38, 59, .34), inset 0 1px 0 rgba(255,255,255,.96) !important;
}
html[data-theme="light"] body main .simple-process-step {
  --step-a: #07263b !important;
  --step-b: #0a0f14 !important;
}
html[data-theme="dark"] body main .why-card {
  --why-a: #07263b !important;
  --why-b: #e6eff3 !important;
}
html[data-theme="dark"] body main .plus-card {
  --plus-a: #07263b !important;
  --plus-b: #e6eff3 !important;
  border-color: rgba(151, 184, 200, .16) !important;
  background: linear-gradient(145deg, #101d26 0%, #0c151c 100%) !important;
  box-shadow: none !important;
}
html[data-theme="light"] body main .plus-card::before {
  background: linear-gradient(180deg, #07263b, #0a0f14) !important;
}
html[data-theme="dark"] body main .plus-card::before {
  background: linear-gradient(180deg, #315a70, #cbd9df) !important;
}
html[data-theme="light"] body main .plus-card .plus-kicker {
  color: #07263b !important;
  -webkit-text-fill-color: #07263b !important;
}
html[data-theme="dark"] body main .plus-card .plus-kicker {
  color: #dce9ef !important;
  -webkit-text-fill-color: #dce9ef !important;
}
html[data-theme="dark"] body main .simple-process-step {
  --step-a: #07263b !important;
  --step-b: #e6eff3 !important;
}
/* Homepage service cards. iPad and Watch colours remain untouched. */
html[data-theme="light"] body main .service-panel-main {
  --service-accent: #07263b;
  --service-accent-2: #12374d;
  background:
    radial-gradient(circle at 82% 18%, rgba(7, 38, 59, .15), transparent 40%),
    radial-gradient(circle at 12% 90%, rgba(7, 38, 59, .1), transparent 48%),
    linear-gradient(145deg, rgba(7, 38, 59, .22), rgba(7, 38, 59, .065) 58%, rgba(255,255,255,.94)) !important;
  border-color: rgba(7, 38, 59, .3) !important;
}
html[data-theme="light"] body main .service-panel-main > div {
  background:
    radial-gradient(circle at 86% 16%, rgba(7, 38, 59, .055), transparent 42%),
    linear-gradient(150deg, #fff 0%, #f2f6f8 100%) !important;
}
html[data-theme="light"] body main .service-panel-main :is(.service-kicker, h3) {
  background: none !important;
  color: #07263b !important;
  -webkit-text-fill-color: #07263b !important;
  filter: none !important;
  text-shadow: none !important;
}
html[data-theme="light"] body main .service-panel-main .service-chip {
  color: #07263b !important;
  -webkit-text-fill-color: #07263b !important;
  background: rgba(7, 38, 59, .065) !important;
  border-color: rgba(7, 38, 59, .2) !important;
}
html[data-theme="light"] body main .service-panel-main .service-device-glow {
  background: rgba(7, 38, 59, .18) !important;
}
html[data-theme="dark"] body main .service-panel-main {
  --service-accent: #4f879f;
  --service-accent-2: #dbe8ed;
  background:
    radial-gradient(circle at 86% 13%, rgba(222, 238, 244, .2), transparent 42%),
    radial-gradient(circle at 10% 92%, rgba(22, 86, 116, .38), transparent 50%),
    linear-gradient(145deg, #123e54 0%, #092c3e 54%, #101920 100%) !important;
  border-color: transparent !important;
}
html[data-theme="dark"] body main .service-panel-main > div {
  background:
    radial-gradient(circle at 88% 14%, rgba(221, 237, 243, .12), transparent 43%),
    linear-gradient(150deg, rgba(12, 52, 72, .9), rgba(10, 22, 29, .95)) !important;
}
html[data-theme="dark"] body main .service-panel-main :is(.service-kicker, h3) {
  background: linear-gradient(108deg, #eef4f7 0%, #abc1cc 54%, #5f879a 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  filter: none !important;
  text-shadow: none !important;
}
html[data-theme="dark"] body main .service-panel-main .service-chip {
  color: #dce9ef !important;
  -webkit-text-fill-color: #dce9ef !important;
  background: rgba(7, 38, 59, .66) !important;
  border-color: rgba(225, 238, 244, .22) !important;
}
/* Equal service cards without the old metallic outer ring. */
body main .service-deck {
  align-items: stretch !important;
}
html[data-theme] body main .service-showcase-section .service-deck > :is(.service-panel-main,.service-panel-tall,.service-panel-watch) {
  min-height: 30.5rem !important;
  height: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 1.75rem !important;
  box-shadow: none !important;
}
body main :is(.service-panel-main,.service-panel-tall,.service-panel-watch) > div {
  min-height: 30.5rem !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
}
body main :is(.service-panel-main,.service-panel-tall,.service-panel-watch)::before,
body main :is(.service-panel-main,.service-panel-tall,.service-panel-watch)::after {
  content: none !important;
  display: none !important;
}
body main :is(.service-panel-main,.service-panel-tall,.service-panel-watch):hover {
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

html[data-theme="light"] body main .service-process-connector {
  background: linear-gradient(90deg, transparent, rgba(7, 38, 59, .18), transparent) !important;
}
html[data-theme="dark"] body main .service-process-connector {
  background: linear-gradient(90deg, transparent, rgba(198, 216, 224, .24), transparent) !important;
}
/* Calm advantage / process surfaces. */
html[data-theme="light"] body main .why-shell {
  border-color: rgba(7, 38, 59, .09) !important;
  background: rgba(242, 246, 248, .9) !important;
  box-shadow: 0 22px 48px -40px rgba(7, 38, 59, .24) !important;
}
html[data-theme="light"] body main :is(.why-hero,.why-note,.why-card) {
  border-color: rgba(7, 38, 59, .1) !important;
  background: linear-gradient(145deg, #fff 0%, #f4f7f9 100%) !important;
  box-shadow: 0 18px 38px -34px rgba(7, 38, 59, .24) !important;
}
html[data-theme="light"] body main :is(.why-shell,.why-hero,.why-card)::before,
html[data-theme="light"] body main :is(.why-shell,.why-hero,.why-card)::after {
  display: none !important;
}
html[data-theme="dark"] body main :is(.why-shell,.process-shell) {
  border-color: rgba(157, 185, 198, .13) !important;
  background: rgba(13, 25, 34, .82) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] body main :is(.why-hero,.why-note,.why-card,.process-hero,.process-card) {
  border-color: rgba(157, 185, 198, .12) !important;
  background: rgba(255, 255, 255, .035) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] body main :is(.why-shell,.why-hero,.why-card,.process-shell,.process-hero,.process-card)::before,
html[data-theme="dark"] body main :is(.why-shell,.why-hero,.why-card,.process-shell,.process-hero,.process-card)::after {
  display: none !important;
}

/* Reviews: quicker on desktop and especially on mobile. */
body main .review-track {
  -webkit-animation-duration: 46s !important;
  animation-duration: 46s !important;
}
body main .review-track-reverse {
  -webkit-animation-duration: 50s !important;
  animation-duration: 50s !important;
}
@media (max-width: 767px) {
  body main .review-track {
    -webkit-animation-duration: 28s !important;
    animation-duration: 28s !important;
  }
  body main .review-track-reverse {
    -webkit-animation-duration: 31s !important;
    animation-duration: 31s !important;
  }
  body main > .service-showcase-section > .container {
    max-width: 100% !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }
  body main > .service-showcase-section .service-deck {
    width: 100% !important;
    max-width: calc(100vw - 36px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}
body main .service-panel-main .service-device-image { width: 12rem !important; max-width: 54vw !important; }
body main .service-panel-tall .service-device-image { width: 12.2rem !important; max-width: 55vw !important; }
body main .service-panel-watch .service-device-image { width: 11.2rem !important; max-width: 51vw !important; }
@media (min-width: 768px) {
  body main .service-panel-main .service-device-image { width: 14.35rem !important; max-width: none !important; }
  body main .service-panel-tall .service-device-image { width: 14.55rem !important; max-width: none !important; }
  body main .service-panel-watch .service-device-image { width: 13.15rem !important; max-width: none !important; }
}

/* Dark header and device pages: readable, calm, shadow-light. */
html[data-theme="dark"] body > header.site-header {
  border-bottom: 1px solid rgba(205, 221, 228, .09) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] body > header.site-header img.site-brand-logo,
html[data-theme="dark"] body > header.site-header a:hover img.site-brand-logo {
  filter: grayscale(1) invert(1) brightness(1.56) contrast(.84) !important;
  opacity: 1 !important;
}
html[data-theme="dark"] body > header.site-header .site-brand-title,
html[data-theme="dark"] body > header.site-header .site-brand-title > span {
  background: linear-gradient(105deg, #f4f7f9 0%, #dce5e9 58%, #becbd2 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: none !important;
}
html[data-theme="dark"] body > header.site-header .site-brand-subtitle {
  color: #dce6eb !important;
  -webkit-text-fill-color: #dce6eb !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
html[data-theme="dark"] body main .irt-model-body .irt-model-body__head h2.irt-model-body__title {
  background: none !important;
  background-image: none !important;
  color: #cbd9df !important;
  -webkit-text-fill-color: #cbd9df !important;
}
html[data-theme="dark"] body main > section.defer-section > .absolute,
html[data-theme="dark"] body main .repair-hero > .absolute,
html[data-theme="dark"] body main .irt-home-hero__orb {
  display: none !important;
}
html[data-theme="dark"] body main :is(.irt-series-hero,.irt-model-body)::before,
html[data-theme="dark"] body main :is(.irt-series-hero,.irt-model-body)::after {
  content: none !important;
  display: none !important;
}
html[data-theme="dark"] body main .iphone-model-picker .model-card,
html[data-theme="dark"] body main .irt-model-card {
  border-color: rgba(160, 190, 203, .14) !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(107, 151, 171, .09), transparent 44%),
    linear-gradient(155deg, rgba(23, 39, 49, .94), rgba(13, 22, 29, .97)) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] body main :is(.iphone-model-picker .model-card,.irt-model-card)::before,
html[data-theme="dark"] body main :is(.iphone-model-picker .model-card,.irt-model-card)::after {
  display: none !important;
}
html[data-theme="dark"] body main :is(.iphone-model-picker .model-card,.irt-model-card):hover {
  transform: translateY(-2px) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] body main .iphone-model-picker .model-visual::before {
  opacity: .16 !important;
}
html[data-theme="dark"] body main :is(.iphone-model-picker .model-card img,.irt-series-hero__img,.irt-model-card__img,.irt-model-body__device) {
  background: none !important;
  filter: drop-shadow(0 7px 10px rgba(0, 0, 0, .12)) !important;
}
html[data-theme="dark"] body main .irt-group {
  border-color: rgba(151, 181, 195, .16) !important;
  background: #101a22 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html[data-theme="dark"] body main .irt-group::before,
html[data-theme="dark"] body main .irt-group::after {
  display: none !important;
}
html[data-theme="dark"] body main .irt-group[data-group="memory"] {
  border-color: rgba(153, 190, 207, .28) !important;
  background: linear-gradient(145deg, rgba(7, 38, 59, .92), rgba(13, 28, 37, .98)) !important;
}
html[data-theme="dark"] body main :is(.irt-group__head,.irt-group__services) {
  background: rgba(255, 255, 255, .025) !important;
}
html[data-theme="dark"] body main .irt-service {
  border-color: rgba(151, 181, 195, .13) !important;
  background: rgba(255, 255, 255, .038) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html[data-theme="dark"] body main .irt-service::before {
  display: none !important;
}
html[data-theme="dark"] body main .irt-service__toggle {
  background: transparent !important;
}
html[data-theme="dark"] body main .irt-service:hover {
  transform: none !important;
}
html[data-theme="dark"] body main .irt-service[open],
html[data-theme="dark"] body main .irt-service.is-selected {
  border-color: rgba(117, 164, 185, .38) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] body main :is(.irt-group__title,.irt-service__name,.irt-service__price-val,.irt-model-body__current-name) {
  color: #eef4f7 !important;
  -webkit-text-fill-color: #eef4f7 !important;
}
html[data-theme="dark"] body main :is(.irt-group__title-label,.irt-service__price-label,.irt-service__details-text,.irt-model-body__lead,.irt-series-hero__sub,.irt-series-body__h2-kicker) {
  color: #b8cad3 !important;
  -webkit-text-fill-color: #b8cad3 !important;
}
/* Device picker artwork: preserve card identities and existing hover/float transforms. */
body main .iphone-model-picker .model-visual {
  width: min(calc(100% + .75rem), 16.25rem) !important;
  height: 10.75rem !important;
  margin: 0 -.375rem .5rem !important;
}
body main .iphone-model-picker .model-card img {
  width: auto !important;
  height: 9.5rem !important;
  max-width: calc(100% + 1rem) !important;
  max-height: 9.5rem !important;
  object-fit: contain !important;
}
body main .iphone-model-picker > .container > .text-center > p {
  font-size: clamp(.8125rem, .76rem + .22vw, .9375rem) !important;
}
body main .model-grid > .model-card > img {
  width: auto !important;
  height: 7.75rem !important;
  max-width: 100% !important;
  max-height: 7.75rem !important;
  object-fit: contain !important;
}
@media (max-width: 767px) {
  body main .iphone-model-picker .model-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem !important;
  }

  body main .iphone-model-picker .model-visual {
    width: calc(100% + .75rem) !important;
    height: 9.25rem !important;
    margin: 0 -.375rem .6rem !important;
  }
  body main .iphone-model-picker .model-card {
    min-height: 16.25rem !important;
  }
  body main .iphone-model-picker .model-card img {
    height: 8.75rem !important;
    max-width: 116% !important;
    max-height: 8.75rem !important;
  }
}
@media (min-width: 768px) {
  body main .iphone-model-picker .model-visual {
    width: min(100%, 18rem) !important;
    height: 13rem !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  body main .iphone-model-picker .model-card img {
    height: 11rem !important;
    max-height: 11rem !important;
  }
  body main .model-grid > .model-card > img {
    height: 8.25rem !important;
    max-height: 8.25rem !important;
  }
}
/* Keep the homepage service deck roomier only on desktop. */
@media (min-width: 1024px) {
  html[data-theme] body main .service-showcase-section .service-deck {
    width: min(100%, 76rem) !important;
    gap: 1.25rem !important;
    margin-inline: auto !important;
  }
  html[data-theme] body main .service-showcase-section .service-deck > :is(.service-panel-main,.service-panel-tall,.service-panel-watch),
  html[data-theme] body main .service-showcase-section .service-deck > :is(.service-panel-main,.service-panel-tall,.service-panel-watch) > div {
    min-height: 33rem !important;
  }
  body main .service-panel-main .service-device-image {
    width: 15.5rem !important;
  }
  body main .service-panel-tall .service-device-image {
    width: 15.7rem !important;
  }
  body main .service-panel-watch .service-device-image {
    width: 14.25rem !important;
  }
}

/* Series model selection hierarchy. */
body main .irt-series-body__h2 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: .55rem !important;
  background: none !important;
  background-image: none !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  text-align: center !important;
}
body main .irt-series-body__h2-kicker {
  font-size: clamp(.82rem, .76rem + .24vw, .95rem) !important;
  line-height: 1.35 !important;
  font-weight: 780 !important;
  letter-spacing: .12em !important;
  color: #536776 !important;
  -webkit-text-fill-color: #536776 !important;
}
body main .irt-series-body__h2-title {
  display: block !important;
  font-size: clamp(2rem, 4.2vw, 3.35rem) !important;
  line-height: 1.08 !important;
  font-weight: 880 !important;
  letter-spacing: -.045em !important;
  background: linear-gradient(108deg, #07263b 0%, #12374d 48%, #090d11 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
html[data-theme="dark"] body main .irt-series-body__h2-kicker {
  color: #b7c8d0 !important;
  -webkit-text-fill-color: #b7c8d0 !important;
}
html[data-theme="dark"] body main .irt-series-body__h2-title {
  background: linear-gradient(108deg, #799aaa 0%, #b4c7cf 54%, #edf2f4 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
body main .irt-model-card__name {
  margin-bottom: 0 !important;
  font-size: clamp(.95rem, .9rem + .2vw, 1.08rem) !important;
  font-weight: 850 !important;
}
html[data-theme="dark"] body main .irt-model-card__name {
  color: #edf3f6 !important;
  -webkit-text-fill-color: #edf3f6 !important;
}
html[data-theme="dark"] body main :is(.irt-series-hero__sub,.irt-model-body__subtitle,.irt-model-body__current-name,.irt-group__title,.irt-service__name,.irt-service__price) {
  color: #d4e0e5 !important;
  -webkit-text-fill-color: #d4e0e5 !important;
  text-shadow: none !important;
}
html[data-theme="dark"] body main .irt-model-body .irt-model-body__head h2.irt-model-body__title {
  color: #e2ebef !important;
  -webkit-text-fill-color: #e2ebef !important;
}
/* Model service rows */
html[data-theme] body main .irt-service__toggle {
  grid-template-columns: 48px minmax(0, 1fr) minmax(112px, auto) !important;
  grid-template-rows: auto auto !important;
  grid-template-areas: "select name price" "details details details" !important;
  column-gap: 13px !important;
  row-gap: 10px !important;
  align-items: center !important;
  padding: 15px 17px 0 !important;
  overflow: hidden;
}
html[data-theme] body main .irt-service__toggle > .irt-service__select-hit {
  grid-area: select !important;
  justify-self: center !important;
  align-self: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
}
html[data-theme] body main .irt-service__toggle > .irt-service__name-block {
  grid-area: name !important;
  align-self: center !important;
  min-width: 0 !important;
}
html[data-theme] body main .irt-service__toggle > .irt-service__price-block {
  grid-area: price !important;
  align-self: center !important;
  min-width: 112px !important;
  text-align: right !important;
}
html[data-theme] body main .irt-service__toggle > .irt-service__details-trigger {
  grid-area: details !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 38px !important;
  margin: 0 -17px !important;
  padding: 9px 17px 10px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  justify-self: stretch !important;
  gap: 8px !important;
  border-top: 1px solid rgba(255, 255, 255, .075);
  background: rgba(255, 255, 255, .025);
  text-align: center !important;
  cursor: pointer !important;
}
html[data-theme] body main .irt-service__details-trigger > .irt-service__caret {
  order: 1 !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  flex: 0 0 24px !important;
}
html[data-theme] body main .irt-service__details-trigger > .irt-service__details-text {
  order: 2 !important;
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  white-space: normal !important;
  text-align: center !important;
  font-size: 9px !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
  letter-spacing: .075em !important;
  color: rgba(226, 235, 241, .72) !important;
  -webkit-text-fill-color: rgba(226, 235, 241, .72) !important;
}
html[data-theme="light"] body main .irt-service__toggle > .irt-service__details-trigger {
  border-top-color: rgba(7, 38, 59, .09);
  background: rgba(7, 38, 59, .035);
}
html[data-theme="light"] body main .irt-service__details-trigger > .irt-service__details-text {
  color: #3f586b !important;
  -webkit-text-fill-color: #3f586b !important;
}
html[data-theme] body main .irt-service[open] .irt-service__details-trigger { background: rgba(7, 38, 59, .09); }
@media (max-width: 499px) {
  html[data-theme] body main .irt-service__toggle {
    grid-template-columns: 40px minmax(0, 1fr) minmax(82px, auto) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas: "select name price" "details details details" !important;
    column-gap: 8px !important;
    row-gap: 8px !important;
    padding: 12px 12px 0 !important;
  }
  html[data-theme] body main .irt-service__toggle > .irt-service__select-hit {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }
  html[data-theme] body main .irt-service__toggle > .irt-service__price-block { min-width: 82px !important; }
  html[data-theme] body main .irt-service__toggle > .irt-service__details-trigger {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 38px !important;
    margin: 0 -12px !important;
    padding: 8px 12px 9px !important;
    justify-self: stretch !important;
  }
  html[data-theme] body main .irt-service__details-trigger > .irt-service__details-text {
    width: auto !important;
    max-width: none !important;
    font-size: 8px !important;
    line-height: 1.25 !important;
    letter-spacing: .055em !important;
  }
}

/* Back control and quote / service-record actions */
body main .irt-model-body__back {
  min-height: 42px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  background: rgba(7, 38, 59, .58) !important;
  color: #edf4f7 !important;
  -webkit-text-fill-color: #edf4f7 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
  backdrop-filter: none !important;
}
html[data-theme="light"] body main .irt-model-body__back {
  border-color: rgba(7, 38, 59, .15) !important;
  background: rgba(255, 255, 255, .82) !important;
  color: #07263b !important;
  -webkit-text-fill-color: #07263b !important;
  box-shadow: 0 10px 24px -20px rgba(7, 38, 59, .45), inset 0 1px 0 #fff !important;
}
body main .irt-quote {
  border-color: rgba(151, 181, 195, .16) !important;
  background: linear-gradient(150deg, #102735 0%, #0d1921 100%) !important;
  box-shadow: none !important;
}
html[data-theme="dark"] body main .irt-quote::before { display: none !important; }
html[data-theme="dark"] body main :is(.irt-quote__empty,.irt-quote__item) {
  background: rgba(255, 255, 255, .035) !important;
  box-shadow: none !important;
}
html[data-theme="light"] body main .irt-quote {
  border-color: rgba(7, 38, 59, .12) !important;
  background:
    radial-gradient(circle at 92% 4%, rgba(7, 38, 59, .075), transparent 43%),
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(238, 244, 247, .96)) !important;
  box-shadow: 0 24px 48px -34px rgba(7, 38, 59, .44), inset 0 1px 0 #fff !important;
}
body main .irt-quote__request-btn {
  min-height: 48px !important;
  border: 1px solid rgba(221, 237, 244, .2) !important;
  background: #07263b !important;
  color: #f4f8fa !important;
  -webkit-text-fill-color: #f4f8fa !important;
  box-shadow: 0 12px 24px -18px rgba(0, 0, 0, .72), inset 0 1px 0 rgba(255, 255, 255, .09) !important;
}
body main .irt-quote__request-btn:hover {
  border-color: rgba(232, 243, 248, .34) !important;
  background: #0b334b !important;
}
html[data-theme="light"] body main .irt-quote__request-btn {
  border-color: #07263b !important;
  background: #07263b !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
@media (max-width: 767px) {
  body main .irt-model-body__head { gap: 14px !important; margin-bottom: 22px !important; }
  body main .irt-model-body__context { gap: 12px !important; }
  body main .irt-model-body__back {
    min-height: 44px !important;
    padding: 0 15px !important;
    font-size: 12px !important;
    font-weight: 750 !important;
  }
  body main .irt-model-body__current-name {
    font-size: clamp(1.55rem, 7.5vw, 1.85rem) !important;
    font-weight: 850 !important;
  }
  body main .irt-model-body__title {
    margin-top: 2px !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -.015em !important;
    text-transform: none !important;
  }
}

/* Service-record form */
body main > .sr-page {
  --sr-page-bg:
    radial-gradient(58rem 34rem at 50% -10%, rgba(118, 164, 184, .1), transparent 70%),
    linear-gradient(180deg, #0b1922 0%, #09131a 100%);
  --sr-card: #10232e;
  --sr-soft: #142a36;
  --sr-line: rgba(205, 225, 234, .15);
  --sr-ink: #f2f7f9;
  --sr-muted: #b3c3cb;
  --sr-accent: #7fa6b9;
  --sr-accent-strong: #d7e6ec;
  --sr-accent-rgb: 127, 166, 185;
  position: relative;
  isolation: isolate;
  width: 100%;
  min-width: 0;
  padding: 50px 0 72px !important;
  color: var(--sr-ink);
  color-scheme: dark;
  background: var(--sr-page-bg) !important;
  overflow-x: clip;
  overflow-y: visible;
}
html[data-theme="light"] body main > .sr-page {
  --sr-page-bg:
    radial-gradient(58rem 34rem at 50% -10%, rgba(7, 38, 59, .055), transparent 72%),
    linear-gradient(180deg, #f8fafb 0%, #f4f8fa 100%);
  --sr-card: #ffffff;
  --sr-soft: #f1f5f7;
  --sr-line: rgba(7, 38, 59, .13);
  --sr-ink: #102b3c;
  --sr-muted: #5d6d78;
  --sr-accent: #07263b;
  --sr-accent-strong: #173f56;
  --sr-accent-rgb: 7, 38, 59;
  color-scheme: light;
}
body main > .sr-page .sr-wrap {
  width: min(68rem, calc(100% - 32px));
  min-width: 0;
}
body main .sr-head {
  max-width: 46rem;
  margin: 0 auto 30px;
  padding: 0 16px !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-align: center;
  isolation: isolate;
}
body main .sr-head::before,
body main .sr-head::after {
  content: none !important;
  display: none !important;
}
body main .sr-head h1 {
  max-width: 15ch;
  margin: 11px auto 13px !important;
  background: none !important;
  color: var(--sr-ink) !important;
  -webkit-text-fill-color: var(--sr-ink) !important;
  font-size: clamp(2.25rem, 5vw, 4rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}
body main .sr-head p {
  max-width: 43rem;
  margin-inline: auto;
  color: var(--sr-muted) !important;
  line-height: 1.65;
  text-wrap: pretty;
}
body main .sr-card {
  min-width: 0;
  border: 1px solid var(--sr-line) !important;
  border-radius: 28px !important;
  background: linear-gradient(145deg, #10242f 0%, #0d1b24 100%) !important;
  box-shadow: 0 24px 46px -36px rgba(0, 0, 0, .72), inset 0 1px 0 rgba(255, 255, 255, .04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html[data-theme="light"] body main .sr-card {
  background: linear-gradient(145deg, #fff 0%, #f7fafb 100%) !important;
  box-shadow: 0 22px 44px -36px rgba(7, 38, 59, .4), inset 0 1px 0 #fff !important;
}
body main .sr-grid,
body main .sr-field,
body main .sr-selection,
body main .sr-pin-control,
body main .sr-action-buttons { min-width: 0; }
body main .sr-field :is(input, select, textarea),
body main .sr-option span,
body main .sr-selection__item,
body main .sr-pin-toggle {
  border-color: var(--sr-line) !important;
  background: var(--sr-soft) !important;
  color: var(--sr-ink) !important;
  box-shadow: none !important;
}
body main .sr-field :is(input, select, textarea)::placeholder {
  color: var(--sr-muted);
  opacity: .8;
}
body main .sr-field :is(input, select, textarea):focus {
  border-color: var(--sr-accent) !important;
  box-shadow: 0 0 0 4px rgba(var(--sr-accent-rgb), .13) !important;
}
body main .sr-option input:checked + span {
  border-color: var(--sr-accent) !important;
  background: rgba(var(--sr-accent-rgb), .16) !important;
  color: var(--sr-ink) !important;
  box-shadow: 0 0 0 3px rgba(var(--sr-accent-rgb), .08) !important;
}
html[data-theme="light"] body main .sr-option input:checked + span {
  background: rgba(7, 38, 59, .075) !important;
  color: #07263b !important;
}
body main .sr-selection {
  border-color: rgba(var(--sr-accent-rgb), .3) !important;
  background: rgba(var(--sr-accent-rgb), .09) !important;
}
body main .sr-selection__item::before { background: #07263b !important; }
body main :is(.sr-submit, .sr-selection-empty a, .sr-success-actions a:first-child) {
  border: 1px solid rgba(224, 238, 244, .14) !important;
  background: #07263b !important;
  color: #fff !important;
  box-shadow: 0 14px 28px -22px rgba(0, 0, 0, .62) !important;
}
html[data-theme="light"] body main :is(.sr-submit, .sr-selection-empty a, .sr-success-actions a:first-child) {
  border-color: #07263b !important;
}
body main .sr-whatsapp {
  box-shadow: 0 14px 28px -22px rgba(19, 138, 97, .6) !important;
}

/* Reduce empty bands without shrinking cards or content columns. */
body main > section.defer-section[class~="py-12"] {
  padding-top: clamp(2.75rem, 3.8vw, 3.25rem) !important;
  padding-bottom: clamp(2.75rem, 3.8vw, 3.25rem) !important;
}
body main > section.defer-section[class~="py-16"] {
  padding-top: clamp(3rem, 4vw, 3.5rem) !important;
  padding-bottom: clamp(3rem, 4vw, 3.5rem) !important;
}
body main > section.defer-section:has(.plus-card) {
  padding-top: clamp(2.25rem, 3vw, 2.75rem) !important;
  padding-bottom: clamp(2rem, 2.8vw, 2.5rem) !important;
}
body main > section.defer-section:has(.simple-process-step) {
  padding-top: clamp(2rem, 2.5vw, 2.25rem) !important;
  padding-bottom: clamp(2rem, 2.5vw, 2.25rem) !important;
}
body main > section.defer-section:has(.simple-process-step) > .container > .text-center {
  margin-bottom: clamp(2rem, 2.5vw, 2.25rem) !important;
}
body main > .service-showcase-section { padding-bottom: clamp(3.5rem, 5.5vw, 5rem) !important; }
body main > :is(.irt-home-body, .irt-series-body, .iphone-model-picker) {
  padding-top: clamp(3.25rem, 5vw, 4.5rem) !important;
  padding-bottom: clamp(3.25rem, 5vw, 4.5rem) !important;
}
body main > .irt-model-body {
  padding-top: 18px !important;
  padding-bottom: clamp(3.5rem, 5vw, 4.5rem) !important;
}

/* Footer continues the same canvas without a hard colour seam. */
body .site-footer,
body main:has(> .location-section) + .site-footer,
html[data-theme="dark"] body .site-footer {
  border-top: 0 !important;
  background: #09131a !important;
  box-shadow: none !important;
}
html[data-theme="light"] body .site-footer,
html[data-theme="light"] body main:has(> .location-section) + .site-footer {
  border-top: 0 !important;
  background: linear-gradient(180deg, #f5f8fa 0%, #f5f8fa 12%, #eef4f6 54%, #eaf1f4 100%) !important;
  box-shadow: none !important;
}
body .site-footer > .absolute.inset-0 > .absolute:first-child,
body .site-footer > .h-px {
  display: none !important;
}
@media (max-width: 700px) {
  html[data-theme="dark"] body .site-footer,
  html[data-theme="dark"] body main:has(> .location-section) + .site-footer {
    background: #09131a !important;
  }
  body main > .sr-page { padding: 32px 0 50px !important; }
  body main > .sr-page .sr-wrap {
    width: calc(100% - 28px) !important;
    max-width: none !important;
  }
  body main > section.defer-section:has(.simple-process-step) > .container > .text-center {
    margin-bottom: 2rem !important;
  }
}
/* Mobile scroll stability: keep the document in one paint flow and avoid
   short-lived GPU layers that can draw seams while the viewport moves. */
@media (max-width: 768px) {
  html,
  body { overflow-x: clip !important; }

  body main > section,
  body main > .defer-section,
  body > section,
  body main :is(.irt-home-body, .irt-series-body, .irt-model-body, .sr-page) {
    content-visibility: visible !important;
    contain-intrinsic-size: none !important;
  }

  body main :is(.irt-series-hero, .irt-model-hero, .irt-series-body, .irt-model-body, .iphone-model-picker, .sr-page) {
    contain: none !important;
    transform: none !important;
    filter: none !important;
    will-change: auto !important;
    backface-visibility: visible !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body main .sr-page,
  body main .sr-page * {
    will-change: auto !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body main .irt-series-hero__glow {
    display: none !important;
    filter: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }

  body main .reveal,
  body main .reveal.visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  body main :is(.irt-series-card, .irt-model-card, .irt-model-thumb, .iphone-model-picker .model-card, .service-panel-main, .service-panel-tall, .service-panel-watch) {
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
    backface-visibility: visible !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  body main .service-device-image {
    animation: none !important;
    filter: none !important;
    will-change: auto !important;
  }

  body main .flow-track { will-change: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
  body main .service-device-image,
  body main .home-simple-hero__accent { animation: none !important; }
}
