:root {
  --ink: #0a1728;
  --ink-soft: #506072;
  --blue-950: #061d38;
  --blue-900: #082d55;
  --blue-800: #0b427b;
  --blue-700: #0b5eae;
  --blue-600: #1174cc;
  --blue-500: #258be0;
  --blue-200: #bfe0fb;
  --blue-100: #e3f2ff;
  --blue-050: #f2f8fd;
  --white: #ffffff;
  --paper: #f7f9fb;
  --gray-100: #eef2f5;
  --gray-200: #dde5eb;
  --gray-300: #c5d0da;
  --shadow-sm: 0 14px 34px rgba(8, 45, 85, .08);
  --shadow-md: 0 30px 80px rgba(8, 45, 85, .15);
  --shadow-blue: 0 22px 50px rgba(17, 116, 204, .26);
  --radius-sm: 12px;
  --radius-md: 22px;
  --radius-lg: 34px;
  --shell: min(1240px, calc(100vw - 48px));
  --header-height: 82px;
  --ease: cubic-bezier(.2, .8, .2, 1);
}

/* Service directory + dedicated service pages */
.desktop-nav__services { position: relative; display: flex; align-items: center; }
.desktop-nav__services > a { display: inline-flex; align-items: center; gap: 5px; }
.desktop-nav__services > a > svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .25s var(--ease); }
.desktop-nav__services-menu {
  position: absolute;
  left: 50%;
  top: calc(100% + 22px);
  width: min(620px, 72vw);
  padding: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  border: 1px solid rgba(173, 191, 205, .55);
  border-radius: 20px;
  color: #203346;
  background: rgba(250, 252, 253, .98);
  box-shadow: 0 28px 65px rgba(8, 39, 68, .18), inset 0 1px 0 #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -8px);
  transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
}
.desktop-nav__services::after { content: ""; position: absolute; left: -18px; right: -18px; top: 100%; height: 24px; }
.desktop-nav__services:hover .desktop-nav__services-menu,
.desktop-nav__services:focus-within .desktop-nav__services-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.desktop-nav__services:hover > a > svg,
.desktop-nav__services:focus-within > a > svg { transform: rotate(180deg); }
.desktop-nav .desktop-nav__services-menu a {
  min-height: 48px;
  padding: 9px 12px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .7rem;
  line-height: 1.25;
  transition: color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}
.desktop-nav .desktop-nav__services-menu a::after { display: none; }
.desktop-nav .desktop-nav__services-menu a::before { content: attr(data-index); color: #7590a6; font-size: .52rem; font-weight: 800; letter-spacing: .1em; }
.desktop-nav .desktop-nav__services-menu a:hover,
.desktop-nav .desktop-nav__services-menu a:focus-visible { color: var(--blue-700); background: #eef6fc; transform: translateX(2px); }

.mobile-service-directory { border-bottom: 1px solid rgba(174, 193, 208, .43); }
.mobile-service-directory summary {
  min-height: 57px;
  padding: 13px 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #25384d;
  font-size: .82rem;
  font-weight: 750;
  list-style: none;
  cursor: pointer;
}
.mobile-service-directory summary::-webkit-details-marker { display: none; }
.mobile-service-directory summary span { color: var(--blue-500); font-size: .58rem; font-weight: 800; letter-spacing: .14em; }
.mobile-service-directory__links { padding: 2px 0 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.mobile-service-directory__links a { padding: 10px 12px; border-radius: 10px; color: #405267; background: rgba(226, 235, 242, .55); font-size: .69rem; font-weight: 700; }
.mobile-service-directory__links a:hover,
.mobile-service-directory__links a:focus-visible { color: var(--blue-700); background: #eaf4fb; }

.site-footer__service-directory {
  padding: 20px 0 22px;
  border-top: 1px solid rgba(128, 145, 158, .24);
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 26px;
  align-items: start;
}
.site-footer__service-directory > span { color: #62727e; font-size: .6rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.site-footer__service-directory > nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px 22px; }
.site-footer__service-directory a { color: #314654; font-size: .72rem; font-weight: 650; transition: color .2s var(--ease), transform .2s var(--ease); }
.site-footer__service-directory a:hover { color: var(--blue-700); transform: translateX(2px); }

.service-page { background: #f8fafb; }
.service-page main { overflow: clip; }
.service-page .section { padding-block: clamp(76px, 8vw, 112px); }

.service-detail-hero { position: relative; background: #f4f7f8; isolation: isolate; }
.service-detail-hero__frame { position: relative; min-height: clamp(610px, 73vh, 760px); display: grid; align-items: center; overflow: hidden; }
.service-detail-hero__media { position: absolute; inset: 0; margin: 0; overflow: hidden; }
.service-detail-hero__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center right; }
.service-detail-hero__media > span {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #f7f9fa 0%, rgba(247,249,250,.99) 25%, rgba(247,249,250,.91) 39%, rgba(247,249,250,.38) 58%, rgba(247,249,250,0) 75%);
}
.service-detail-hero__copy { position: relative; z-index: 2; width: var(--shell); margin-inline: auto; padding: 76px 0 68px; }
.service-detail-hero__copy > * { max-width: 650px; }
.service-detail-hero__eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #53697b; font-size: .68rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.service-detail-hero__eyebrow i { width: 29px; height: 1px; background: var(--blue-600); box-shadow: 11px 0 0 rgba(17,116,204,.28); }
.service-detail-hero h1 { margin: 19px 0 18px; max-width: 710px; color: #13283b; font-size: clamp(3rem, 5.1vw, 5.6rem); font-weight: 650; line-height: .94; letter-spacing: -.065em; }
.service-detail-hero h1 em { color: var(--blue-700); font-family: "Newsreader", Georgia, serif; font-weight: 500; }
.service-detail-hero__copy > p { margin-bottom: 27px; max-width: 560px; color: #506275; font-size: clamp(.93rem, 1.15vw, 1.06rem); line-height: 1.72; }
.service-detail-hero__actions { max-width: 565px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(190px, .75fr); gap: 10px; }
.service-detail-hero__primary,
.service-detail-hero__call { min-height: 64px; padding: 9px 15px 9px 18px; border: 1px solid transparent; border-radius: 16px; display: flex; align-items: center; gap: 14px; text-align: left; cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease); }
.service-detail-hero__primary { justify-content: space-between; color: #fff; background: linear-gradient(120deg, #0a355f, #0c6db7 62%, #248fe1); box-shadow: 0 17px 34px rgba(11, 80, 137, .22); }
.service-detail-hero__call { color: #18344c; border-color: rgba(128,150,167,.42); background: rgba(255,255,255,.83); backdrop-filter: blur(14px); box-shadow: 0 13px 28px rgba(25,48,67,.09); }
.service-detail-hero__primary:hover,
.service-detail-hero__call:hover { transform: translateY(-2px); box-shadow: 0 22px 42px rgba(11, 69, 116, .2); }
.service-detail-hero__actions small { display: block; margin-bottom: 3px; color: inherit; opacity: .66; font-size: .53rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.service-detail-hero__actions strong { display: block; font-size: .78rem; font-weight: 800; line-height: 1.2; }
.service-detail-hero__actions svg { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-detail-hero__facts { margin-top: 27px; padding-top: 18px; max-width: 575px; border-top: 1px solid rgba(128,150,167,.34); display: flex; align-items: center; gap: 17px; }
.service-detail-hero__facts > span { display: grid; gap: 2px; }
.service-detail-hero__facts strong { color: #19354c; font-size: .72rem; line-height: 1.2; }
.service-detail-hero__facts small { color: #718190; font-size: .55rem; font-weight: 650; line-height: 1.3; }
.service-detail-hero__facts > i { width: 1px; height: 25px; background: rgba(128,150,167,.35); }

.service-diagnostic { background: #fff; }
.service-diagnostic__header { margin-bottom: 36px; }
.service-diagnostic__intro { max-width: 410px; padding: 18px 20px; border-left: 2px solid #3d91d0; color: #526577; background: linear-gradient(90deg, rgba(227,239,248,.7), transparent); }
.service-diagnostic__intro > span { margin-bottom: 7px; display: inline-flex; align-items: center; gap: 8px; color: #234866; font-size: .59rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.service-diagnostic__intro > span i { width: 6px; height: 6px; border-radius: 50%; background: #1b83d1; box-shadow: 0 0 0 5px rgba(27,131,209,.1); }
.service-diagnostic__intro p { margin: 0; font-size: .78rem; line-height: 1.65; }
.service-diagnostic__stage { display: grid; grid-template-columns: minmax(250px, .84fr) minmax(360px, 1.18fr) minmax(235px, .76fr); gap: 13px; align-items: stretch; }
.service-diagnostic__symptoms { padding: 10px; border: 1px solid #dce4ea; border-radius: 22px; display: grid; gap: 6px; background: #f6f8fa; }
.service-symptom { min-height: 64px; padding: 10px 12px; border: 0; border-radius: 14px; display: grid; grid-template-columns: 28px 1fr 24px; align-items: center; gap: 10px; color: #526477; background: transparent; text-align: left; cursor: pointer; transition: color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease); }
.service-symptom > span { color: #8ca0af; font-size: .52rem; font-weight: 800; letter-spacing: .1em; }
.service-symptom strong { font-size: .78rem; font-weight: 750; }
.service-symptom svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; opacity: .55; }
.service-symptom:hover { color: #1c476b; background: #fff; transform: translateX(2px); }
.service-symptom.is-active { color: #fff; background: linear-gradient(125deg, #1b344b, #285571); box-shadow: 0 14px 28px rgba(16,49,74,.18); }
.service-symptom.is-active > span { color: #82c9f6; }
.service-diagnostic__focus { position: relative; padding: clamp(27px, 3vw, 42px); border-radius: 25px; overflow: hidden; color: #f8fbfd; background: linear-gradient(145deg, #152c40, #193d58 55%, #1d587b); box-shadow: 0 26px 56px rgba(18,52,78,.2); }
.service-diagnostic__focus::after { content: ""; position: absolute; right: -90px; bottom: -120px; width: 280px; height: 280px; border: 1px solid rgba(168,213,241,.16); border-radius: 50%; box-shadow: 0 0 0 37px rgba(168,213,241,.035), 0 0 0 74px rgba(168,213,241,.025); }
.service-diagnostic__focus-label { color: #91ccef; font-size: .57rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.service-diagnostic__focus-mark { margin: 30px 0 55px; width: 49px; height: 49px; border: 1px solid rgba(178,220,245,.28); border-radius: 15px; display: grid; place-items: center; background: rgba(255,255,255,.06); }
.service-diagnostic__focus-mark svg { width: 22px; height: 22px; fill: none; stroke: #bfe3f8; stroke-width: 1.5; }
.service-diagnostic__focus h3 { position: relative; z-index: 1; margin-bottom: 12px; max-width: 460px; font-size: clamp(1.65rem, 2.6vw, 2.7rem); line-height: 1.02; letter-spacing: -.045em; }
.service-diagnostic__focus p { position: relative; z-index: 1; margin-bottom: 23px; max-width: 500px; color: rgba(233,243,249,.72); font-size: .78rem; line-height: 1.7; }
.service-diagnostic__focus button { position: relative; z-index: 1; padding: 0; border: 0; display: inline-flex; align-items: center; gap: 10px; color: #fff; background: transparent; font-size: .68rem; font-weight: 800; cursor: pointer; }
.service-diagnostic__focus button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-diagnostic__assurance { padding: 27px 24px; border: 1px solid #dbe3e9; border-radius: 25px; color: #324a5d; background: linear-gradient(150deg, #fff, #eff4f7); box-shadow: inset 0 1px 0 #fff; }
.service-diagnostic__assurance > span { color: #718696; font-size: .56rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.service-diagnostic__assurance > strong { margin: 50px 0 11px; display: block; color: #163851; font-size: clamp(1.3rem, 1.8vw, 1.8rem); line-height: 1.1; letter-spacing: -.035em; }
.service-diagnostic__assurance > p { color: #687b8a; font-size: .73rem; line-height: 1.55; }
.service-diagnostic__assurance > div { margin-top: 28px; padding-top: 18px; border-top: 1px solid #d2dce3; }
.service-diagnostic__assurance small { display: block; margin-bottom: 4px; color: #8595a2; font-size: .53rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.service-diagnostic__assurance b { color: #2a4a62; font-size: .68rem; line-height: 1.4; }

.service-path { position: relative; background: linear-gradient(180deg, #f2f5f7, #f8fafb); }
.service-section-heading { max-width: 1220px; margin: 0 auto 40px; display: grid; grid-template-columns: 1fr minmax(280px, 400px); align-items: end; gap: 55px; }
.service-section-heading .section-kicker { grid-column: 1 / -1; }
.service-section-heading h2 { margin: -5px 0 0; color: #162f43; font-size: clamp(2.2rem, 4.05vw, 4.3rem); font-weight: 650; line-height: .98; letter-spacing: -.058em; }
.service-section-heading h2 em { color: var(--blue-700); font-family: "Newsreader", Georgia, serif; font-weight: 500; }
.service-section-heading > p { margin: 0; padding-left: 20px; border-left: 2px solid #7aafcf; color: #617383; font-size: .8rem; line-height: 1.75; }
.service-path__grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.service-path__grid::before { content: ""; position: absolute; left: 14%; right: 14%; top: 48px; height: 1px; background: linear-gradient(90deg, transparent, #b5c9d7 15%, #b5c9d7 85%, transparent); }
.service-path__grid article { position: relative; min-height: 260px; padding: 24px; border: 1px solid #d8e1e7; border-radius: 22px; background: rgba(255,255,255,.82); box-shadow: 0 14px 34px rgba(25,56,77,.06); }
.service-path__grid article > span { color: #7890a1; font-size: .58rem; font-weight: 800; letter-spacing: .14em; }
.service-path__grid article > div { position: relative; z-index: 1; margin: 22px 0 54px; width: 16px; height: 16px; border: 4px solid #f7fafb; border-radius: 50%; background: var(--blue-600); box-shadow: 0 0 0 1px #96bad1, 0 0 0 7px rgba(37,139,224,.08); }
.service-path__grid h3 { margin-bottom: 8px; color: #1c394f; font-size: 1.08rem; letter-spacing: -.025em; }
.service-path__grid p { margin: 0; color: #687a89; font-size: .73rem; line-height: 1.65; }

.service-proof { background: #fff; }
.service-proof__header { margin-bottom: 38px; }
.service-proof__intro { max-width: 410px; padding: 16px 0 16px 22px; border-left: 2px solid #82adc9; }
.service-proof__intro > span { color: #2d526d; font-size: .58rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.service-proof__intro p { margin: 7px 0 10px; color: #647788; font-size: .75rem; line-height: 1.65; }
.service-proof__intro a { display: inline-flex; align-items: center; gap: 8px; color: var(--blue-700); font-size: .66rem; font-weight: 800; }
.service-proof__intro svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-proof__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.service-proof__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-proof__grid--1 { grid-template-columns: 1fr; }
.service-proof__card { min-height: 340px; border: 1px solid #dbe3e8; border-radius: 22px; display: grid; grid-template-columns: minmax(130px, .82fr) minmax(0, 1.18fr); overflow: hidden; background: #f8fafb; box-shadow: 0 15px 34px rgba(21,54,77,.07); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.service-proof__card:hover { transform: translateY(-5px); box-shadow: 0 25px 48px rgba(21,54,77,.13); }
.service-proof__media { position: relative; min-height: 340px; overflow: hidden; background: #dce4e9; }
.service-proof__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.service-proof__card:hover .service-proof__media img { transform: scale(1.03); }
.service-proof__media i { position: absolute; left: 13px; top: 13px; padding: 7px 9px; border-radius: 999px; color: #fff; background: rgba(16,39,57,.72); backdrop-filter: blur(10px); font-size: .52rem; font-style: normal; font-weight: 800; letter-spacing: .08em; }
.service-proof__body { padding: 24px 21px; display: flex; flex-direction: column; align-items: flex-start; }
.service-proof__body > small { color: #728697; font-size: .54rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.service-proof__body > strong { margin: 23px 0 12px; color: #19364c; font-size: clamp(1.05rem, 1.55vw, 1.42rem); line-height: 1.14; letter-spacing: -.035em; }
.service-proof__body > span { color: #687b8b; font-size: .67rem; line-height: 1.6; }
.service-proof__body > b { margin-top: auto; padding-top: 25px; display: inline-flex; align-items: center; gap: 8px; color: var(--blue-700); font-size: .62rem; }
.service-proof__body svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-proof__empty { min-height: 265px; padding: clamp(28px, 4vw, 52px); border: 1px solid #d8e2e9; border-radius: 24px; display: grid; grid-template-columns: 110px 1fr auto; align-items: center; gap: 32px; background: linear-gradient(120deg, #f7f9fa, #edf4f8); }
.service-proof__empty-mark { width: 92px; height: 92px; border: 1px solid #b9cad6; border-radius: 50%; display: grid; place-items: center; color: #67859b; font-size: .72rem; font-weight: 850; letter-spacing: .12em; box-shadow: inset 0 0 0 9px rgba(255,255,255,.58); }
.service-proof__empty small { color: #6e8596; font-size: .55rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.service-proof__empty h3 { margin: 8px 0; color: #1a3a52; font-size: clamp(1.45rem, 2.3vw, 2.3rem); letter-spacing: -.045em; }
.service-proof__empty p { margin: 0; max-width: 650px; color: #687b8b; font-size: .76rem; line-height: 1.7; }

.service-coverage { background: #eef3f6; }
.service-coverage__frame { padding: clamp(30px, 4.5vw, 58px); border: 1px solid #d7e1e7; border-radius: 28px; display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: clamp(36px, 6vw, 80px); background: rgba(255,255,255,.77); box-shadow: 0 24px 60px rgba(24,55,76,.08), inset 0 1px 0 #fff; }
.service-coverage__copy h2 { margin: 15px 0 17px; color: #17364d; font-size: clamp(2.15rem, 3.8vw, 4rem); font-weight: 650; line-height: .98; letter-spacing: -.058em; }
.service-coverage__copy h2 em { color: var(--blue-700); font-family: "Newsreader", Georgia, serif; font-weight: 500; }
.service-coverage__copy p { max-width: 420px; color: #687a89; font-size: .76rem; line-height: 1.7; }
.service-coverage__directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 7px; }
.service-coverage__directory a { min-height: 57px; padding: 10px 13px; border: 1px solid #dbe4e9; border-radius: 13px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: rgba(255,255,255,.82); transition: color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease); }
.service-coverage__directory a:hover { color: var(--blue-700); border-color: #a9c9df; transform: translateX(2px); }
.service-coverage__directory strong { color: #2d485c; font-size: .67rem; }
.service-coverage__directory small { max-width: 58%; color: #788b99; font-size: .51rem; line-height: 1.35; text-align: right; }

.service-faq { background: #fff; }
.service-faq__grid { display: grid; grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr); gap: clamp(50px, 8vw, 110px); align-items: start; }
.service-faq__lead { position: sticky; top: 118px; }
.service-faq__lead h2 { margin: 15px 0 17px; color: #17364d; font-size: clamp(2.15rem, 3.8vw, 4rem); font-weight: 650; line-height: .98; letter-spacing: -.058em; }
.service-faq__lead h2 em { color: var(--blue-700); font-family: "Newsreader", Georgia, serif; font-weight: 500; }
.service-faq__lead p { margin-bottom: 25px; max-width: 390px; color: #697b8b; font-size: .77rem; line-height: 1.72; }

.service-booking { padding: 0 0 clamp(64px, 7vw, 92px); background: #fff; }
.service-booking__frame { position: relative; min-height: 540px; border-radius: 30px; display: grid; align-items: center; overflow: hidden; isolation: isolate; box-shadow: 0 30px 72px rgba(20,49,70,.16); }
.service-booking__frame > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center right; }
.service-booking__veil { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(246,248,249,.99) 0%, rgba(246,248,249,.95) 34%, rgba(246,248,249,.55) 55%, rgba(246,248,249,0) 77%); }
.service-booking__copy { width: min(610px, 53%); padding: clamp(38px, 5vw, 72px); }
.service-booking__copy h2 { margin: 15px 0 15px; color: #16344b; font-size: clamp(2.2rem, 3.8vw, 4rem); font-weight: 650; line-height: .98; letter-spacing: -.058em; }
.service-booking__copy h2 em { color: var(--blue-700); font-family: "Newsreader", Georgia, serif; font-weight: 500; }
.service-booking__copy > p { max-width: 500px; color: #627686; font-size: .78rem; line-height: 1.68; }

@media (max-width: 1080px) {
  .site-header--concierge .mobile-nav > .mobile-service-directory { display: block; }
  .service-diagnostic__stage { grid-template-columns: minmax(250px, .8fr) minmax(360px, 1.2fr); }
  .service-diagnostic__assurance { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 35px; align-items: end; }
  .service-diagnostic__assurance > strong { margin: 25px 0 0; }
  .service-diagnostic__assurance > p { margin: 0; }
  .service-diagnostic__assurance > div { grid-column: 1 / -1; }
  .service-proof__card { grid-template-columns: 42% 58%; }
  .service-proof__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-proof__grid--1 { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .service-page .section { padding-block: 70px; }
  .service-detail-hero__frame { min-height: 760px; align-items: end; }
  .service-detail-hero__media img { object-position: 66% center; }
  .service-detail-hero__media > span { background: linear-gradient(0deg, #f7f9fa 0%, rgba(247,249,250,.98) 42%, rgba(247,249,250,.25) 78%, transparent); }
  .service-detail-hero__copy { padding: 290px 0 54px; }
  .service-detail-hero__copy > * { max-width: 620px; }
  .service-detail-hero h1 { font-size: clamp(3rem, 9.5vw, 5rem); }
  .service-diagnostic__stage,
  .service-section-heading,
  .service-coverage__frame,
  .service-faq__grid { grid-template-columns: 1fr; }
  .service-section-heading { gap: 19px; }
  .service-section-heading .section-kicker { grid-column: auto; }
  .service-section-heading > p { max-width: 540px; }
  .service-diagnostic__assurance { grid-column: auto; }
  .service-path__grid { grid-template-columns: 1fr; }
  .service-path__grid::before { display: none; }
  .service-path__grid article { min-height: 0; }
  .service-path__grid article > div { margin-bottom: 28px; }
  .service-proof__grid,
  .service-proof__grid--2 { grid-template-columns: 1fr; }
  .service-proof__media { min-height: 310px; }
  .service-proof__empty { grid-template-columns: 90px 1fr; }
  .service-proof__empty .button { grid-column: 2; justify-self: start; }
  .service-coverage__directory { grid-template-columns: 1fr; }
  .service-faq__lead { position: static; }
  .service-booking__frame { min-height: 640px; align-items: end; }
  .service-booking__frame > img { object-position: 68% center; }
  .service-booking__veil { background: linear-gradient(0deg, rgba(246,248,249,.99) 0%, rgba(246,248,249,.96) 53%, rgba(246,248,249,.08) 88%, transparent); }
  .service-booking__copy { width: 100%; padding-top: 250px; }
  .site-footer__service-directory { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 700px) {
  .mobile-service-directory summary { min-height: 51px; padding: 12px 4px; font-size: .8rem; }
  .mobile-service-directory__links { grid-template-columns: 1fr; }
  .site-footer__service-directory > nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-detail-hero__frame { min-height: 735px; }
  .service-detail-hero__copy { padding-top: 270px; }
  .service-detail-hero h1 { font-size: clamp(2.65rem, 13vw, 4.2rem); }
  .service-detail-hero__actions { grid-template-columns: 1fr; }
  .service-detail-hero__facts { gap: 10px; justify-content: space-between; }
  .service-detail-hero__facts > i { display: none; }
  .service-diagnostic__header { gap: 25px; }
  .service-diagnostic__stage { gap: 9px; }
  .service-diagnostic__focus-mark { margin-bottom: 38px; }
  .service-diagnostic__assurance { display: block; }
  .service-diagnostic__assurance > p { margin-bottom: 0; }
  .service-proof__card { min-height: 0; grid-template-columns: 1fr; }
  .service-proof__media { min-height: 355px; }
  .service-proof__body { min-height: 245px; }
  .service-proof__empty { grid-template-columns: 1fr; }
  .service-proof__empty .button { grid-column: auto; }
  .service-coverage__frame { padding: 25px 18px; border-radius: 22px; }
  .service-booking { padding-bottom: 56px; }
  .service-booking__frame { width: calc(100% - 24px); min-height: 660px; border-radius: 22px; }
  .service-booking__copy { padding: 280px 22px 30px; }
  .service-booking__copy .brands-booking__actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .service-page *, .service-page *::before, .service-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 22px);
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--white);
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.is-locked { overflow: hidden; }

img { display: block; max-width: 100%; }
svg { display: block; }
[hidden] { display: none !important; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }

h1, h2, h3, p, blockquote { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

.icon-library {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 1000;
  padding: 11px 18px;
  border-radius: 8px;
  color: var(--white);
  background: var(--blue-900);
  transform: translateY(-160%);
  transition: transform .2s;
}

.skip-link:focus { transform: translateY(0); }

.shell { width: var(--shell); margin-inline: auto; }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.status-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  display: inline-block;
  border-radius: 50%;
  background: #41d994;
  box-shadow: 0 0 0 5px rgba(65, 217, 148, .12);
  animation: statusPulse 2.4s ease-in-out infinite;
}

@keyframes statusPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(65, 217, 148, .10); }
  50% { box-shadow: 0 0 0 8px rgba(65, 217, 148, .02); }
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, .92);
  border-bottom: 1px solid rgba(221, 229, 235, .8);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: box-shadow .3s var(--ease), background .3s var(--ease);
}

.site-header.is-scrolled { box-shadow: 0 14px 40px rgba(8, 45, 85, .09); }

.site-header__inner {
  height: var(--header-height);
  display: grid;
  grid-template-columns: 210px 1fr auto;
  align-items: center;
  gap: 28px;
}

.brand { display: inline-flex; align-items: center; width: 138px; height: 58px; overflow: hidden; }
.brand img { width: 138px; height: auto; }

.desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 2vw, 34px); }
.desktop-nav a {
  position: relative;
  color: #223247;
  font-size: .875rem;
  font-weight: 600;
  white-space: nowrap;
}

.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -10px;
  height: 2px;
  background: var(--blue-600);
  transition: right .3s var(--ease);
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after { right: 0; }

.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.header-phone { display: inline-flex; align-items: center; gap: 8px; font-size: .82rem; font-weight: 700; color: var(--blue-900); }
.header-phone svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }

.button {
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--ink);
  background: transparent;
  font-weight: 750;
  font-size: .86rem;
  line-height: 1;
  cursor: pointer;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
}

.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid rgba(37, 139, 224, .32); outline-offset: 3px; }
.button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.button--small { min-height: 44px; padding-inline: 21px; }
.button--large { min-height: 56px; padding-inline: 29px; }
.button--primary { color: var(--white); background: linear-gradient(135deg, var(--blue-700), var(--blue-500)); box-shadow: 0 12px 28px rgba(17, 116, 204, .22); }
.button--primary:hover { box-shadow: var(--shadow-blue); }
.button--ghost { color: var(--blue-900); border-color: var(--gray-200); background: var(--white); }
.button--glass { color: var(--blue-900); border-color: rgba(8, 66, 123, .17); background: rgba(255, 255, 255, .78); box-shadow: var(--shadow-sm); }
.button--outline { color: var(--blue-900); border-color: var(--gray-300); background: var(--white); }
.button--white { color: var(--blue-900); background: var(--white); box-shadow: 0 18px 40px rgba(0, 0, 0, .16); }
.button--dark-glass { color: var(--white); border-color: rgba(255, 255, 255, .28); background: rgba(2, 21, 41, .22); backdrop-filter: blur(10px); }

.menu-toggle {
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--gray-200);
  border-radius: 50%;
  display: none;
  place-items: center;
  background: var(--white);
  cursor: pointer;
}

.menu-toggle svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.menu-toggle__close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__open { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__close { display: block; }

.mobile-nav { display: none; }

.hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(130deg, #ffffff 0%, #f5f9fc 60%, #e8f2fa 100%);
  isolation: isolate;
}

.hero::before {
  content: "";
  position: absolute;
  width: 720px;
  height: 720px;
  right: -230px;
  top: -210px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37, 139, 224, .16), rgba(37, 139, 224, 0) 68%);
  z-index: -1;
}

.final-cta__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .36;
  background-image: linear-gradient(rgba(8, 66, 123, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(8, 66, 123, .06) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 84%);
}

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--blue-700);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.section-kicker::before { content: ""; width: 30px; height: 1px; background: currentColor; }

h1 em, h2 em {
  color: var(--blue-600);
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
}

.mini-label { margin-bottom: 3px; color: var(--blue-700); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.text-link { padding: 0; border: 0; display: inline-flex; align-items: center; gap: 8px; color: var(--blue-700); background: transparent; font-size: .75rem; font-weight: 800; cursor: pointer; }
.text-link { border-bottom: 1px solid rgba(11, 94, 174, .26); }

/* Hero v5 — an airy editorial composition with one clear booking path. */
.hero--v4 {
  --hero-shift-x: 0px;
  --hero-shift-y: 0px;
  --hero-pointer-x: 50%;
  --hero-pointer-y: 46%;
  height: clamp(750px, calc(100svh - 82px), 890px);
  min-height: 750px;
  z-index: 3;
  overflow: visible;
  color: var(--ink);
  background: #e7edef;
}

.hero--v4::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(460px circle at var(--hero-pointer-x) var(--hero-pointer-y), rgba(255,255,255,.15), transparent 70%);
  pointer-events: none;
}

.hero--v4::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  height: 88px;
  background: linear-gradient(to top, rgba(8, 24, 39, .15), transparent);
  pointer-events: none;
}

.hero-v4__media,
.hero-v4__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-v4__media { z-index: -3; overflow: hidden; background: #e7edef; }

.hero-v4__media img {
  object-fit: cover;
  object-position: center center;
  filter: saturate(.94) contrast(1.02);
  will-change: transform;
  animation: heroV4Drift 16s var(--ease) infinite alternate;
}

.hero-v4__veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(244, 248, 250, .58) 0%, rgba(244, 248, 250, .25) 37%, rgba(244, 248, 250, .02) 61%, transparent 75%),
    linear-gradient(to top, rgba(16, 30, 41, .12), transparent 42%),
    linear-gradient(to bottom, rgba(255, 255, 255, .08), transparent 24%);
  pointer-events: none;
}

.hero-v4__focus {
  position: absolute;
  left: 7%;
  top: 6%;
  z-index: -1;
  width: 610px;
  height: 610px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .38);
  filter: blur(112px);
  pointer-events: none;
}

.hero-v4__stage {
  position: relative;
  z-index: 3;
  height: 100%;
  padding: 42px 0 112px;
  display: flex;
  align-items: center;
}

.hero-v4__panel {
  position: relative;
  width: min(630px, 53vw);
  padding: 42px 46px 36px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 36px 36px 36px 12px;
  background:
    linear-gradient(rgba(255, 255, 255, .865), rgba(255, 255, 255, .84)) padding-box,
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,255,255,.55), rgba(141,190,226,.42)) border-box;
  box-shadow: 0 38px 100px rgba(27, 50, 68, .17), inset 0 1px 0 rgba(255, 255, 255, .92);
  backdrop-filter: blur(28px) saturate(1.08);
  -webkit-backdrop-filter: blur(28px) saturate(1.08);
}

.hero-v4__panel::before {
  content: "";
  position: absolute;
  right: 30px;
  bottom: 0;
  width: 150px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(37, 139, 224, .28));
  pointer-events: none;
}

.hero-v4__panel::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -46%;
  width: 24%;
  height: 330%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .44), transparent);
  opacity: 0;
  transform: rotate(15deg);
  animation: heroV4PanelSheen 12s ease-in-out 2.4s infinite;
  pointer-events: none;
}

.hero-v4__panel-edge {
  position: absolute;
  left: 0;
  top: 56px;
  width: 4px;
  height: 94px;
  border-radius: 0 999px 999px 0;
  background: linear-gradient(to bottom, #82c7f5, #1679bf);
  box-shadow: 0 0 24px rgba(37, 139, 224, .34);
}

.hero-v4__meta {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.hero-v4__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #364b60;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.25;
  text-transform: uppercase;
}

.hero-v4__status {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #31c888;
  box-shadow: 0 0 0 6px rgba(49, 200, 136, .12);
  animation: statusPulse 2.4s ease-in-out infinite;
}

.hero-v4__location {
  color: #708093;
  font-size: .75rem;
  font-weight: 700;
  white-space: nowrap;
}

.hero--v4 h1 {
  position: relative;
  z-index: 1;
  max-width: 590px;
  margin: 24px 0 18px;
  color: #0d1b2b;
  font-size: clamp(3.15rem, 3.75vw, 4rem);
  font-weight: 740;
  line-height: .97;
  letter-spacing: -.064em;
}

.hero-v4__headline-primary { white-space: nowrap; }

.hero--v4 h1 em {
  color: #1676b9;
  font-weight: 500;
}

.hero-v4__lead {
  position: relative;
  z-index: 1;
  max-width: 555px;
  margin-bottom: 18px;
  color: #506175;
  font-size: 1rem;
  line-height: 1.68;
}

.hero-v4__schedule {
  position: relative;
  z-index: 1;
  width: max-content;
  max-width: 100%;
  min-height: 54px;
  margin: 0 0 22px;
  padding: 9px 16px 9px 10px;
  border: 1px solid rgba(177, 200, 218, .55);
  border-radius: 17px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #334a60;
  background: rgba(246, 250, 253, .74);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
}

.hero-v4__schedule-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: var(--blue-700);
  background: rgba(225, 241, 252, .88);
}

.hero-v4__schedule-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.hero-v4__schedule-copy { min-width: 0; display: block; }
.hero-v4__schedule-copy small { display: block; margin-bottom: 2px; color: #748396; font-size: .61rem; font-weight: 800; letter-spacing: .11em; line-height: 1.2; text-transform: uppercase; }
.hero-v4__schedule-copy strong { display: flex; align-items: center; gap: 10px; font-size: .74rem; font-weight: 800; line-height: 1.3; white-space: nowrap; }
.hero-v4__schedule-copy i { width: 1px; height: 13px; flex: 0 0 1px; background: rgba(77, 105, 129, .18); }

.hero-v4__actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 11px; }
.hero-v4__actions .button--primary { box-shadow: 0 18px 38px rgba(17, 116, 204, .25); }
.hero-v4__actions .button--ghost { border-color: rgba(22, 54, 81, .14); background: rgba(255, 255, 255, .64); box-shadow: 0 12px 28px rgba(32, 48, 59, .07); }
.hero-v4__actions .button--ghost:hover { border-color: rgba(17, 116, 204, .28); background: var(--white); }

.hero-v4__promise {
  position: relative;
  z-index: 1;
  margin: 25px 0 0;
  padding: 19px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  border-top: 1px solid rgba(35, 64, 87, .11);
}

.hero-v4__promise span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #526477;
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.35;
}

.hero-v4__promise svg { width: 15px; height: 15px; flex: 0 0 15px; fill: none; stroke: var(--blue-600); stroke-width: 1.9; }

.hero-v4__selector {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -57px;
  z-index: 12;
  min-height: 114px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 218px minmax(0, 1fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(205, 216, 225, .88);
  border-radius: 26px;
  background: rgba(255, 255, 255, .965);
  box-shadow: 0 26px 72px rgba(25, 49, 69, .15), inset 0 1px 0 var(--white);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}

.hero-v4__selector::before {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(37, 139, 224, .42), transparent);
}

.hero-v4__selector-intro { padding: 9px 22px 9px 10px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--gray-200); }
.hero-v4__selector-intro p { margin: 0 0 4px; color: var(--blue-700); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hero-v4__selector-intro h2 { margin: 0 0 7px; font-size: 1.02rem; line-height: 1.22; letter-spacing: -.035em; }
.hero-v4__selector-intro a { width: max-content; color: #657488; border-bottom: 1px solid rgba(17, 116, 204, .25); font-size: .74rem; font-weight: 750; }

.hero-v4__services { min-width: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.hero-v4__services button { position: relative; min-width: 0; padding: 9px 8px; border: 0; border-left: 1px solid var(--gray-100); display: flex; align-items: center; justify-content: center; gap: 10px; color: #26394e; background: transparent; cursor: pointer; transition: color .25s var(--ease), background .25s var(--ease); }
.hero-v4__services button::after { content: ""; position: absolute; left: 19px; right: 19px; bottom: 1px; height: 2px; border-radius: 99px; background: linear-gradient(90deg, #176fb3, #62b7ec); opacity: 0; transform: scaleX(.35); transition: opacity .25s var(--ease), transform .25s var(--ease); }
.hero-v4__services button:hover { color: var(--blue-800); background: linear-gradient(to bottom, rgba(242,248,253,.18), rgba(227,242,255,.72)); }
.hero-v4__services button:hover::after { opacity: 1; transform: scaleX(1); }
.hero-v4__service-icon { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border: 1px solid rgba(196, 214, 228, .86); border-radius: 15px; color: var(--blue-700); background: linear-gradient(145deg, #fff, #eef7fd); box-shadow: 0 9px 22px rgba(33, 57, 76, .075), inset 0 1px 0 var(--white); transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease); }
.hero-v4__services button:hover .hero-v4__service-icon { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(33, 57, 76, .1); }
.hero-v4__service-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.45; }
.hero-v4__service-copy { min-width: 0; text-align: left; }
.hero-v4__service-copy strong { display: block; font-size: .75rem; line-height: 1.3; white-space: nowrap; }
.hero-v4__service-copy small { display: block; margin-top: 3px; color: #8793a2; font-size: .68rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }

.hero-assurance { position: relative; z-index: 2; padding-top: 72px; border-bottom: 1px solid var(--gray-200); background: linear-gradient(to bottom, #f9fbfc, #f4f7f9); }
.hero-assurance__inner { min-height: 98px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; }
.hero-assurance__inner > div { padding: 12px 22px; display: flex; align-items: center; justify-content: center; gap: 12px; }
.hero-assurance__inner > div > svg { width: 25px; height: 25px; flex: 0 0 25px; fill: none; stroke: var(--blue-600); stroke-width: 1.7; }
.hero-assurance__inner span { min-width: 0; }
.hero-assurance strong { display: block; font-size: .82rem; line-height: 1.3; letter-spacing: -.015em; }
.hero-assurance small { display: block; margin-top: 2px; color: #7c8998; font-size: .75rem; line-height: 1.35; }
.hero-assurance i { width: 1px; height: 34px; background: var(--gray-200); }

@keyframes heroV4Drift {
  from { transform: scale(1.02) translate3d(var(--hero-shift-x), var(--hero-shift-y), 0); }
  to { transform: scale(1.045) translate3d(calc(var(--hero-shift-x) - 5px), calc(var(--hero-shift-y) - 2px), 0); }
}

@keyframes heroV4PanelSheen {
  0%, 72% { left: -46%; opacity: 0; }
  78% { opacity: .42; }
  91% { left: 126%; opacity: 0; }
  100% { left: 126%; opacity: 0; }
}

.section { padding: 128px 0; }
.section-heading { margin-bottom: 58px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); align-items: end; gap: 60px; }
.section-heading h2, .standards h2, .areas h2, .proof h2, .faq h2, .final-cta h2 {
  margin: 19px 0 0;
  font-size: clamp(2.55rem, 4.6vw, 4.65rem);
  line-height: 1.03;
  letter-spacing: -.058em;
}
.section-heading > p { max-width: 450px; margin: 0 0 8px; color: var(--ink-soft); font-size: .96rem; line-height: 1.75; }

.services {
  position: relative;
  padding-block: 136px 148px;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, #ffffff 0%, #f5f8fa 47%, #edf3f7 100%);
}

.services::before {
  content: "";
  position: absolute;
  left: -9vw;
  top: 58px;
  z-index: -2;
  width: 38vw;
  height: 38vw;
  border: 1px solid rgba(17, 116, 204, .08);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(17,116,204,.018), 0 0 0 140px rgba(17,116,204,.012);
}

.services::after {
  content: "";
  position: absolute;
  right: -10%;
  bottom: -34%;
  z-index: -2;
  width: 54%;
  height: 72%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(37,139,224,.13), transparent 68%);
  filter: blur(36px);
}

.services__glow { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; filter: blur(2px); }
.services__glow--one { left: 32%; top: 31%; width: 260px; height: 260px; background: radial-gradient(circle, rgba(166,218,252,.2), transparent 70%); animation: serviceGlow 7s ease-in-out infinite alternate; }
.services__glow--two { right: 19%; top: 16%; width: 190px; height: 190px; background: radial-gradient(circle, rgba(255,255,255,.9), transparent 70%); animation: serviceGlow 9s ease-in-out -3s infinite alternate-reverse; }

.services__header {
  position: relative;
  z-index: 2;
  margin-bottom: 50px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 56px;
}

.services__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--blue-700);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.services__eyebrow::before { content: ""; width: 30px; height: 1px; background: currentColor; }
.services__header h2 { margin: 18px 0 0; font-size: clamp(3rem, 5vw, 5.25rem); line-height: .96; letter-spacing: -.064em; }
.services__header h2 em { color: #1878bd; }

.services__navigator { padding-bottom: 7px; display: grid; justify-items: end; gap: 13px; }
.services__navigator > p { margin: 0; color: #6f7e8e; font-size: .7rem; font-weight: 700; letter-spacing: .03em; }
.services__hint--mobile { display: none; }
.services__nav-controls { display: flex; align-items: center; gap: 8px; }
.services__counter { min-width: 76px; margin-right: 7px; display: inline-flex; align-items: baseline; justify-content: flex-end; gap: 6px; color: #8a97a5; font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.services__counter strong { color: var(--blue-700); font-size: 1.08rem; }
.services__counter i { font-style: normal; color: #bcc7d0; }
.services__nav-controls button { width: 43px; height: 43px; padding: 0; border: 1px solid rgba(178,196,211,.75); border-radius: 50%; display: grid; place-items: center; color: #2c475f; background: rgba(255,255,255,.76); box-shadow: 0 8px 20px rgba(22,50,73,.06); cursor: pointer; transition: color .22s var(--ease), border-color .22s var(--ease), transform .22s var(--ease), background .22s var(--ease); }
.services__nav-controls button:hover { color: var(--white); border-color: var(--blue-600); background: var(--blue-600); transform: translateY(-2px); }
.services__nav-controls svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.service-reel {
  position: relative;
  z-index: 2;
  padding: 15px;
  overflow: hidden;
  border: 1px solid rgba(183, 201, 216, .72);
  border-radius: 36px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(236,243,248,.76)) padding-box,
    linear-gradient(120deg, rgba(255,255,255,.95), rgba(98,178,232,.2), rgba(255,255,255,.7)) border-box;
  box-shadow: 0 34px 90px rgba(26, 53, 75, .15), inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.service-reel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.46);
  pointer-events: none;
}

.service-reel__track {
  height: 570px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.service-reel__item {
  --service-lift: 0px;
  position: relative;
  min-width: 0;
  height: calc(100% - var(--service-lift));
  margin-top: var(--service-lift);
  padding: 0;
  flex: .95 1 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 24px;
  color: var(--white);
  background: #72808a;
  box-shadow: 0 14px 28px rgba(20, 40, 56, .12);
  cursor: pointer;
  isolation: isolate;
  transform: translateY(0);
  transition: flex .72s cubic-bezier(.2,.85,.2,1), height .55s var(--ease), margin .55s var(--ease), transform .55s var(--ease), border-color .35s var(--ease), box-shadow .55s var(--ease);
}

.service-reel__item.is-active {
  flex: 3.8 1 0;
  border-color: rgba(255,255,255,.9);
  box-shadow: 0 28px 64px rgba(12, 42, 66, .25), 0 0 0 1px rgba(36,144,221,.18);
  transform: translateY(-5px);
}

.service-reel__item:focus-visible { outline: 3px solid rgba(37,139,224,.58); outline-offset: 3px; }
.service-reel__media { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; filter: saturate(.78) contrast(1.03); transform: scale(1.055); transition: filter .55s var(--ease), transform 1s var(--ease), object-position 1s var(--ease); pointer-events: none; user-select: none; }
.service-reel__item.is-active .service-reel__media { filter: saturate(.96) contrast(1.02); transform: scale(1.01); }
.service-reel__shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(4,19,33,.92) 0%, rgba(5,25,44,.45) 32%, rgba(5,25,44,.08) 67%), linear-gradient(110deg, rgba(7,45,78,.26), transparent 58%); transition: background .5s var(--ease); pointer-events: none; }
.service-reel__item.is-active .service-reel__shade { background: linear-gradient(to top, rgba(4,20,35,.88) 0%, rgba(6,28,48,.34) 36%, rgba(7,31,52,.02) 72%), linear-gradient(110deg, rgba(12,76,124,.19), transparent 58%); }

.service-reel__number { position: absolute; left: 50%; top: 19px; z-index: 2; padding: 6px 8px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: rgba(255,255,255,.76); background: rgba(8,31,51,.24); backdrop-filter: blur(10px); font-size: .62rem; font-weight: 800; letter-spacing: .12em; line-height: 1; transform: translateX(-50%); transition: left .45s var(--ease), transform .45s var(--ease), background .35s var(--ease); }
.service-reel__item.is-active .service-reel__number { left: 22px; background: rgba(8,31,51,.38); transform: translateX(0); }

.service-reel__caption { position: absolute; left: 50%; bottom: 22px; z-index: 2; width: 100%; display: flex; align-items: center; flex-direction: column; color: var(--white); transform: translateX(-50%); transition: left .5s var(--ease), bottom .5s var(--ease), width .5s var(--ease), align-items .5s var(--ease), transform .5s var(--ease); }
.service-reel__caption strong { display: block; max-height: 220px; overflow: hidden; color: var(--white); font-size: .9rem; font-weight: 750; line-height: 1.08; letter-spacing: -.02em; text-shadow: 0 2px 18px rgba(0,0,0,.4); white-space: nowrap; writing-mode: vertical-rl; transform: rotate(180deg); }
.service-reel__caption small { margin-top: 17px; padding: 9px 12px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; color: var(--blue-900); background: rgba(255,255,255,.93); box-shadow: 0 10px 24px rgba(2,17,30,.16); font-size: .67rem; font-weight: 800; line-height: 1; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .3s var(--ease), transform .3s var(--ease); }
.service-reel__caption small svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-reel__item.is-active .service-reel__caption { left: 25px; bottom: 27px; width: calc(100% - 50px); align-items: flex-start; transform: translateX(0); }
.service-reel__item.is-active .service-reel__caption strong { max-height: none; font-size: clamp(1.75rem, 2.25vw, 2.45rem); letter-spacing: -.055em; white-space: normal; writing-mode: horizontal-tb; transform: none; }
.service-reel__item.is-active .service-reel__caption small { opacity: 1; pointer-events: auto; transform: translateY(0); }

@keyframes serviceGlow { to { transform: translate3d(26px, -18px, 0) scale(1.08); opacity: .65; } }

.standards {
  position: relative;
  padding-block: 148px 176px;
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(180deg, #f6fafc 0%, #edf3f7 52%, #f7fafc 100%);
}

.standards::before {
  content: "03";
  position: absolute;
  left: -1.5vw;
  top: 28%;
  z-index: -2;
  color: rgba(17,116,204,.035);
  font-size: clamp(18rem, 34vw, 39rem);
  font-weight: 800;
  line-height: .7;
  letter-spacing: -.12em;
}

.standards::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .42;
  background-image: linear-gradient(rgba(15,83,137,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(15,83,137,.035) 1px, transparent 1px);
  background-size: 86px 86px;
  mask-image: linear-gradient(to bottom, transparent, #000 24%, #000 78%, transparent);
}

.standards__ambient { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.standards__ambient--one { right: -12%; top: 6%; width: 520px; height: 520px; background: radial-gradient(circle, rgba(37,139,224,.15), transparent 69%); filter: blur(20px); }
.standards__ambient--two { left: 24%; bottom: -180px; width: 440px; height: 440px; border: 1px solid rgba(17,116,204,.08); box-shadow: 0 0 0 72px rgba(17,116,204,.018), 0 0 0 144px rgba(17,116,204,.012); }

.standards__header {
  position: relative;
  z-index: 3;
  margin-bottom: 72px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .58fr);
  align-items: end;
  gap: clamp(55px, 8vw, 118px);
}

.standards__header h2 { max-width: 830px; margin: 19px 0 0; font-size: clamp(3.2rem, 5.4vw, 5.55rem); line-height: .97; letter-spacing: -.066em; }
.standards__header h2 em { color: var(--blue-600); }
.standards__header > p { max-width: 420px; margin: 0 0 7px; color: #617286; font-size: .92rem; line-height: 1.78; }

.standards__composition {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(370px, .78fr) minmax(530px, 1.22fr);
  align-items: center;
  gap: clamp(70px, 8.5vw, 132px);
}

.standards__manifesto {
  position: relative;
  padding: 34px 0 8px;
}

.standards__manifesto::before {
  content: "";
  position: absolute;
  left: -38px;
  top: 0;
  width: 1px;
  height: 120px;
  background: linear-gradient(to bottom, var(--blue-500), transparent);
}

.standards__manifesto-top { margin-bottom: 17px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #8290a0; font-size: .65rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.standards__manifesto-top span:last-child { color: var(--blue-600); }

.standard-list { display: grid; gap: 10px; }

.standard-list__item {
  position: relative;
  width: 100%;
  min-height: 82px;
  padding: 22px 21px;
  overflow: hidden;
  border: 1px solid rgba(193,207,218,.72);
  border-radius: 20px 20px 20px 7px;
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr) 36px;
  align-items: start;
  gap: 14px;
  color: var(--ink);
  background: rgba(255,255,255,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76);
  text-align: left;
  cursor: pointer;
  transition: min-height .45s var(--ease), border-color .3s var(--ease), background .3s var(--ease), box-shadow .35s var(--ease), transform .3s var(--ease);
}

.standard-list__item::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 3px; border-radius: 0 4px 4px 0; background: linear-gradient(var(--blue-500), #77c9fa); opacity: 0; transform: scaleY(.35); transition: opacity .3s var(--ease), transform .4s var(--ease); }
.standard-list__item:hover { border-color: rgba(116,169,210,.58); transform: translateX(4px); }
.standard-list__item:focus-visible { outline: 3px solid rgba(37,139,224,.25); outline-offset: 3px; }
.standard-list__item.is-active { min-height: 124px; border-color: rgba(148,187,217,.66); background: rgba(255,255,255,.88); box-shadow: 0 24px 56px rgba(28,58,81,.11), inset 0 1px 0 var(--white); transform: translateX(8px); }
.standard-list__item.is-active::before { opacity: 1; transform: scaleY(1); }

.standard-list__number { padding-top: 3px; color: #8b99a8; font-size: .68rem; font-weight: 800; letter-spacing: .13em; transition: color .3s var(--ease); }
.standard-list__item.is-active .standard-list__number { color: var(--blue-600); }
.standard-list__body { min-width: 0; display: block; }
.standard-list__body strong { display: block; font-size: .94rem; font-weight: 780; line-height: 1.35; letter-spacing: -.028em; }
.standard-list__body small { display: block; max-height: 0; margin-top: 0; overflow: hidden; color: #68788b; font-size: .75rem; font-weight: 550; line-height: 1.68; opacity: 0; transform: translateY(6px); transition: max-height .42s var(--ease), margin .3s var(--ease), opacity .3s var(--ease), transform .35s var(--ease); }
.standard-list__item.is-active .standard-list__body small { max-height: 72px; margin-top: 9px; opacity: 1; transform: translateY(0); }
.standard-list__arrow { width: 32px; height: 32px; border: 1px solid rgba(171,192,208,.62); border-radius: 50%; display: grid; place-items: center; color: #718397; transition: color .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease), transform .4s var(--ease); }
.standard-list__arrow svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.standard-list__item.is-active .standard-list__arrow { color: var(--white); border-color: var(--blue-600); background: var(--blue-600); transform: rotate(90deg); }

.standards__actions { margin-top: 28px; display: flex; align-items: center; gap: 22px; }
.standards__phone { display: grid; grid-template-columns: 36px auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; color: var(--blue-900); }
.standards__phone > span { width: 36px; height: 36px; grid-row: 1 / 3; border: 1px solid rgba(17,116,204,.17); border-radius: 50%; display: grid; place-items: center; color: var(--blue-600); background: rgba(255,255,255,.7); transition: transform .25s var(--ease), background .25s var(--ease); }
.standards__phone:hover > span { color: var(--white); background: var(--blue-600); transform: rotate(-8deg); }
.standards__phone svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.standards__phone small { color: #8795a4; font-size: .62rem; font-weight: 700; line-height: 1.1; }
.standards__phone strong { margin-top: 2px; font-size: .75rem; line-height: 1.1; }

.standards__media { position: relative; min-height: 730px; margin: 0; padding-left: 58px; }
.standards__image { position: relative; height: 730px; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: 38px 180px 38px 38px; background: #d9e2e8; box-shadow: 0 42px 100px rgba(20,50,73,.2), inset 0 1px 0 var(--white); }
.standards__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(5,25,42,.2), transparent 42%), linear-gradient(120deg, rgba(8,58,94,.08), transparent 48%); pointer-events: none; }
.standards__image img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; transform: scale(1.015) translate3d(var(--standard-shift-x, 0), var(--standard-shift-y, 0), 0); transition: transform 1.2s var(--ease), object-position .8s var(--ease), filter .6s var(--ease); }
.standards__media:hover .standards__image img { transform: scale(1.045) translate3d(var(--standard-shift-x, 0), var(--standard-shift-y, 0), 0); filter: saturate(1.03); }
[data-standards][data-active-standard="2"] .standards__image img { object-position: 49% center; }
[data-standards][data-active-standard="3"] .standards__image img { object-position: 57% center; }

.standards__lens { position: absolute; left: -24px; bottom: 82px; z-index: 3; width: 188px; height: 188px; padding: 10px; border: 1px solid rgba(160,191,215,.72); border-radius: 50%; overflow: visible; background: rgba(255,255,255,.9); box-shadow: 0 25px 60px rgba(13,44,68,.22), inset 0 1px 0 var(--white); backdrop-filter: blur(16px); }
.standards__lens::before { content: ""; position: absolute; inset: -8px; border: 1px dashed rgba(17,116,204,.32); border-radius: 50%; animation: standardLensSpin 22s linear infinite; }
.standards__lens span { position: absolute; right: 5px; top: 25px; z-index: 2; width: 11px; height: 11px; border: 3px solid #eef8ff; border-radius: 50%; background: var(--blue-500); box-shadow: 0 0 0 5px rgba(37,139,224,.17); }
.standards__lens img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: 58% 24%; transform: scale(1.08); }

.standards__caption { position: absolute; right: -22px; bottom: -35px; z-index: 4; min-width: 254px; padding: 24px 27px; border: 1px solid rgba(255,255,255,.9); border-radius: 28px 28px 8px 28px; color: var(--blue-950); background: rgba(252,254,255,.9); box-shadow: 0 26px 64px rgba(16,45,68,.18); backdrop-filter: blur(20px); }
.standards__caption > span { display: flex; align-items: center; gap: 9px; color: #75879a; font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.standards__caption i { width: 7px; height: 7px; border-radius: 50%; background: #38c98a; box-shadow: 0 0 0 5px rgba(56,201,138,.13); }
.standards__caption strong { display: block; margin-top: 13px; font-size: 1.24rem; line-height: 1.18; letter-spacing: -.04em; }

.standards__monogram { position: absolute; left: 78px; top: 26px; z-index: 3; display: flex; align-items: center; gap: 11px; color: var(--white); text-shadow: 0 2px 18px rgba(7,32,51,.34); }
.standards__monogram span { font-family: "Newsreader", Georgia, serif; font-size: 2.2rem; font-style: italic; line-height: 1; }
.standards__monogram small { padding-left: 11px; border-left: 1px solid rgba(255,255,255,.55); font-size: .59rem; font-weight: 800; letter-spacing: .16em; line-height: 1.35; }

@keyframes standardLensSpin { to { transform: rotate(360deg); } }

.process { position: relative; overflow: hidden; color: var(--white); background: var(--blue-950); isolation: isolate; }
.process::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 72px 72px; }
.process__glow { position: absolute; right: -220px; top: -300px; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgba(37,139,224,.34), transparent 68%); }
.section-heading--light .section-kicker { color: #89c8ff; }
.section-heading--light > p { color: rgba(255,255,255,.62); }
.section-heading--light h2 em { color: #8ccaff; }
.process-track { position: relative; margin-top: 78px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 46px; }
.process-track__line { position: absolute; left: 4%; right: 4%; top: 33px; height: 1px; overflow: hidden; background: rgba(255,255,255,.17); }
.process-track__line span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #55b5ff, #b6e0ff); transition: width 1.6s var(--ease); }
.process-track.is-visible .process-track__line span { width: 100%; }
.process-step { position: relative; padding-top: 82px; outline: none; }
.process-step__number { position: absolute; top: 19px; left: 70px; color: rgba(255,255,255,.35); font-size: .75rem; font-weight: 800; letter-spacing: .16em; }
.process-step__icon { position: absolute; left: 0; top: 0; z-index: 2; width: 66px; height: 66px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #8ccaff; background: var(--blue-950); transition: .3s var(--ease); }
.process-step__icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.process-step:hover .process-step__icon, .process-step:focus .process-step__icon, .process-step.is-active .process-step__icon { color: var(--blue-950); border-color: #8ccaff; background: #8ccaff; box-shadow: 0 0 0 9px rgba(140,202,255,.08); }
.process-step h3 { margin: 0 0 13px; font-size: 1.25rem; letter-spacing: -.035em; }
.process-step p { max-width: 315px; margin: 0; color: rgba(255,255,255,.58); font-size: .81rem; line-height: 1.75; }
.process__cta { margin-top: 86px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.14); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.process__cta p { margin: 0; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.72); font-size: .78rem; font-weight: 650; }
.process__cta p span { width: 7px; height: 7px; border-radius: 50%; background: #41d994; box-shadow: 0 0 0 6px rgba(65,217,148,.1); }

.brands {
  position: relative;
  padding-block: 142px 132px;
  overflow: hidden;
  border-bottom: 1px solid var(--gray-200);
  background: linear-gradient(180deg, #f8fbfd 0%, #eef4f8 48%, #f9fbfc 100%);
  isolation: isolate;
}

.brands::before {
  content: "05";
  position: absolute;
  right: -2vw;
  top: 72px;
  z-index: -2;
  color: rgba(17,116,204,.036);
  font-size: clamp(17rem, 31vw, 34rem);
  font-weight: 850;
  line-height: .72;
  letter-spacing: -.13em;
}

.brands::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .38;
  background-image: linear-gradient(rgba(21,83,130,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(21,83,130,.035) 1px, transparent 1px);
  background-size: 82px 82px;
  mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 86%, transparent);
}

.brands__halo { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.brands__halo--one { left: -180px; top: 120px; width: 520px; height: 520px; background: radial-gradient(circle, rgba(54,157,229,.12), transparent 69%); filter: blur(18px); }
.brands__halo--two { right: -250px; bottom: -120px; width: 620px; height: 620px; border: 1px solid rgba(17,116,204,.08); box-shadow: 0 0 0 80px rgba(17,116,204,.018), 0 0 0 160px rgba(17,116,204,.012); }

.brands__heading {
  margin-bottom: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .65fr);
  align-items: end;
  gap: clamp(58px, 8vw, 120px);
}

.brands__heading h2 { max-width: 780px; margin: 19px 0 0; font-size: clamp(3.15rem, 5.25vw, 5.35rem); line-height: .97; letter-spacing: -.066em; }
.brands__heading h2 em { color: var(--blue-600); }
.brands__intro > p { max-width: 470px; margin: 0; color: #617286; font-size: .9rem; line-height: 1.78; }
.brands__metrics { margin-top: 27px; display: flex; align-items: center; gap: 22px; }
.brands__metrics span { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 8px; }
.brands__metrics strong { color: var(--blue-900); font-size: 1.5rem; line-height: 1; letter-spacing: -.06em; }
.brands__metrics small { color: #7f8e9d; font-size: .61rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.brands__metrics i { width: 1px; height: 28px; background: var(--gray-300); }

.brand-observatory {
  --brand-radius: 610px;
  position: relative;
  min-height: 760px;
  overflow: hidden;
  border: 1px solid rgba(177,198,214,.76);
  border-radius: 42px 42px 12px 42px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(231,239,245,.82));
  box-shadow: 0 42px 110px rgba(22,51,75,.16), inset 0 1px 0 rgba(255,255,255,.95);
  isolation: isolate;
}

.brand-observatory::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.55); pointer-events: none; }
.brand-observatory::after { content: ""; position: absolute; left: 50%; top: 48%; z-index: -3; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(35,141,219,.13), rgba(162,213,247,.045) 47%, transparent 70%); filter: blur(3px); transform: translate(-50%,-50%); }
.brand-observatory__mesh { position: absolute; inset: 0; z-index: -3; opacity: .38; background-image: linear-gradient(rgba(18,85,136,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(18,85,136,.045) 1px, transparent 1px); background-size: 54px 54px; mask-image: radial-gradient(ellipse at center, #000, transparent 78%); }
.brand-observatory__glow { position: absolute; left: 50%; top: 45%; z-index: -2; width: 190px; height: 190px; border: 1px solid rgba(59,159,229,.18); border-radius: 50%; box-shadow: 0 0 0 47px rgba(86,174,235,.035), 0 0 0 94px rgba(86,174,235,.022); transform: translate(-50%,-50%); }
.brand-observatory__index { position: absolute; right: 28px; top: 31px; z-index: 3; color: rgba(26,78,119,.42); font-size: .57rem; font-weight: 850; letter-spacing: .18em; writing-mode: vertical-rl; }

.brand-observatory__topbar { position: relative; z-index: 30; padding: 27px 52px 0; display: grid; grid-template-columns: minmax(0, 610px) auto; justify-content: space-between; align-items: center; gap: 24px; }
.brand-search { position: relative; width: 100%; }
.brand-search > svg { position: absolute; left: 20px; top: 50%; z-index: 2; width: 19px; height: 19px; fill: none; stroke: var(--blue-700); stroke-width: 1.8; transform: translateY(-50%); pointer-events: none; }
.brand-search input { width: 100%; height: 62px; padding: 0 110px 0 54px; border: 1px solid rgba(164,187,205,.8); border-radius: 20px 20px 20px 7px; outline: none; color: var(--ink); background: rgba(255,255,255,.9); box-shadow: 0 17px 38px rgba(17,50,75,.1), inset 0 1px 0 var(--white); font-size: .82rem; font-weight: 650; transition: border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease); }
.brand-search input::placeholder { color: #8a98a7; font-weight: 550; }
.brand-search input:focus { border-color: rgba(17,116,204,.7); background: var(--white); box-shadow: 0 20px 44px rgba(17,77,122,.14), 0 0 0 4px rgba(37,139,224,.08); }
.brand-search__key { position: absolute; right: 16px; top: 50%; padding: 5px 8px; border: 1px solid #d6e0e7; border-radius: 7px; color: #8a98a6; background: #f5f8fa; font-size: .56rem; font-weight: 800; line-height: 1; transform: translateY(-50%); transition: opacity .2s; }
.brand-search:focus-within .brand-search__key, .brand-search.has-value .brand-search__key { opacity: 0; }
.brand-search__clear { position: absolute; right: 15px; top: 50%; z-index: 3; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; color: #607287; background: #edf3f7; cursor: pointer; transform: translateY(-50%); transition: color .2s, background .2s, transform .2s; }
.brand-search__clear:hover { color: var(--white); background: var(--blue-700); transform: translateY(-50%) rotate(7deg); }
.brand-search__clear svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.9; }

.brand-search__results { position: absolute; left: 0; right: 0; top: calc(100% + 10px); z-index: 50; max-height: 314px; padding: 8px; overflow: auto; border: 1px solid rgba(177,198,214,.82); border-radius: 18px 18px 18px 6px; background: rgba(253,254,255,.97); box-shadow: 0 26px 70px rgba(12,42,65,.2); backdrop-filter: blur(20px); }
.brand-search__result { width: 100%; min-height: 58px; padding: 8px 11px; border: 0; border-radius: 12px; display: grid; grid-template-columns: 70px minmax(0,1fr) auto; align-items: center; gap: 14px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; transition: background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease); }
.brand-search__result:hover, .brand-search__result.is-highlighted { color: var(--blue-900); background: var(--blue-050); transform: translateX(3px); }
.brand-search__result-mark { width: 70px; height: 39px; display: grid; place-items: center; }
.brand-search__result-mark img { max-width: 64px; max-height: 30px; }
.brand-search__result strong { font-size: .76rem; letter-spacing: -.02em; }
.brand-search__result small { color: #8a98a7; font-size: .57rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.brand-search__empty { min-height: 88px; padding: 17px; display: grid; align-content: center; gap: 3px; }
.brand-search__empty strong { font-size: .78rem; }
.brand-search__empty span { color: #718195; font-size: .68rem; }

.brand-motion { min-width: 141px; height: 46px; padding: 0 16px 0 9px; border: 1px solid rgba(164,187,205,.75); border-radius: 999px; display: inline-flex; align-items: center; justify-content: flex-start; gap: 9px; color: #53667a; background: rgba(255,255,255,.62); box-shadow: inset 0 1px 0 var(--white); font-size: .62rem; font-weight: 800; letter-spacing: .05em; cursor: pointer; transition: color .25s, border-color .25s, background .25s, transform .25s; }
.brand-motion:hover { color: var(--blue-800); border-color: rgba(17,116,204,.35); background: rgba(255,255,255,.9); transform: translateY(-2px); }
.brand-motion:disabled { opacity: .62; cursor: default; transform: none; }
.brand-motion__icon { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; color: var(--blue-700); background: var(--blue-100); }
.brand-motion__icon svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.brand-motion__icon--play { display: none; }
.brand-motion[aria-pressed="true"] .brand-motion__icon--pause { display: none; }
.brand-motion[aria-pressed="true"] .brand-motion__icon--play { display: grid; }

.brand-observatory__viewport { position: absolute; left: 0; right: 0; top: 104px; z-index: 4; height: 506px; overflow: hidden; outline: none; perspective: 1180px; perspective-origin: 50% 48%; cursor: grab; touch-action: pan-y; user-select: none; }
.brand-observatory__viewport:active { cursor: grabbing; }
.brand-observatory__viewport:focus-visible { outline: 3px solid rgba(37,139,224,.38); outline-offset: -6px; border-radius: 30px; }
.brand-observatory__axis { position: absolute; left: 50%; top: 33px; bottom: 31px; width: 1px; background: linear-gradient(to bottom, transparent, rgba(17,116,204,.16), transparent); }

.brand-orbit-guide { position: absolute; left: 50%; width: min(1050px, 91%); height: 140px; border: 1px solid rgba(32,113,174,.13); border-radius: 50%; transform: translateX(-50%) rotateX(69deg); }
.brand-orbit-guide::after { content: ""; position: absolute; inset: 14px 50px; border: 1px dashed rgba(32,113,174,.075); border-radius: 50%; }
.brand-orbit-guide--one { top: 18px; }
.brand-orbit-guide--two { top: 165px; }
.brand-orbit-guide--three { top: 312px; }

.brand-orbit { position: absolute; left: 50%; width: 0; height: 0; transform: rotateY(var(--brand-rotation, 0deg)); transform-style: preserve-3d; will-change: transform; }
.brand-orbit--one { top: 91px; }
.brand-orbit--two { top: 238px; }
.brand-orbit--three { top: 385px; }
.brand-orbit__item { position: absolute; left: -94px; top: -38px; width: 188px; height: 76px; padding: 0; border: 0; outline: none; background: transparent; backface-visibility: hidden; transform: rotateY(var(--brand-angle)) translateZ(var(--brand-radius)); transform-style: preserve-3d; cursor: pointer; }
.brand-orbit__face { width: 100%; height: 100%; padding: 14px 20px; border: 1px solid rgba(179,198,213,.72); border-radius: 19px 19px 7px 19px; display: grid; place-items: center; background: rgba(255,255,255,.82); box-shadow: 0 17px 34px rgba(18,49,72,.12), inset 0 1px 0 var(--white); backdrop-filter: blur(12px); transition: opacity .35s var(--ease), transform .35s var(--ease), border-color .3s, background .3s, box-shadow .35s, filter .3s; }
.brand-orbit__face::after { content: ""; position: absolute; left: 13px; top: 13px; width: 5px; height: 5px; border-radius: 50%; background: #47cb90; box-shadow: 0 0 0 4px rgba(71,203,144,.1); opacity: 0; transition: opacity .25s; }
.brand-orbit__face img { width: auto; max-width: 137px; max-height: 40px; filter: grayscale(1) saturate(0) contrast(.9); opacity: .69; transition: filter .3s, opacity .3s, transform .35s var(--ease); pointer-events: none; }
.brand-orbit__item:hover .brand-orbit__face, .brand-orbit__item:focus-visible .brand-orbit__face { border-color: rgba(91,164,217,.67); background: rgba(255,255,255,.98); box-shadow: 0 23px 50px rgba(17,75,119,.19), 0 0 0 4px rgba(37,139,224,.065); transform: translateZ(16px) scale(1.045); }
.brand-orbit__item:hover img, .brand-orbit__item:focus-visible img, .brand-orbit__item.is-match img, .brand-orbit__item.is-active img { filter: none; opacity: 1; transform: scale(1.035); }
.brand-orbit__item.is-match .brand-orbit__face, .brand-orbit__item.is-active .brand-orbit__face { border-color: rgba(17,116,204,.72); background: var(--white); box-shadow: 0 26px 58px rgba(17,84,134,.23), 0 0 0 5px rgba(37,139,224,.08); transform: translateZ(20px) scale(1.06); }
.brand-orbit__item.is-active .brand-orbit__face::after { opacity: 1; }
.brand-observatory.is-searching .brand-orbit__item:not(.is-match) .brand-orbit__face { opacity: .1; filter: blur(1px); transform: scale(.92); }
.brand-observatory.has-no-results .brand-orbit__face { opacity: .075 !important; filter: blur(1.5px); }

.brand-observatory__legend { position: absolute; left: 52px; bottom: 137px; z-index: 8; display: flex; align-items: center; gap: 11px; color: #8795a4; font-size: .57rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.brand-observatory__legend i { width: 22px; height: 1px; background: #b9c8d3; }

.brand-inspector { position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 20; min-height: 94px; padding: 13px 14px 13px 17px; border: 1px solid rgba(166,190,207,.74); border-radius: 28px 28px 8px 28px; display: grid; grid-template-columns: 92px minmax(0,1fr) auto; align-items: center; gap: 18px; color: var(--blue-950); background: rgba(250,253,255,.9); box-shadow: 0 25px 60px rgba(13,44,68,.16), inset 0 1px 0 var(--white); backdrop-filter: blur(22px) saturate(1.12); }
.brand-inspector__mark { width: 92px; height: 66px; border: 1px solid rgba(185,202,215,.68); border-radius: 19px 19px 7px 19px; display: grid; place-items: center; background: linear-gradient(145deg, #fff, #edf5fa); }
.brand-inspector__mark > span { color: var(--blue-700); font-size: .76rem; font-weight: 850; letter-spacing: .14em; }
.brand-inspector__mark img { width: auto; max-width: 72px; max-height: 34px; }
.brand-inspector__copy { min-width: 0; }
.brand-inspector__copy small { display: block; margin-bottom: 5px; color: #77899b; font-size: .58rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.brand-inspector__copy strong { display: block; overflow: hidden; font-size: .93rem; line-height: 1.35; letter-spacing: -.025em; text-overflow: ellipsis; white-space: nowrap; }
.brand-inspector__book { min-width: 185px; height: 58px; padding: 0 12px 0 22px; border: 0; border-radius: 18px 18px 5px 18px; display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--white); background: linear-gradient(135deg, #0b579a, #1884d1 58%, #46ace8); box-shadow: 0 15px 33px rgba(17,116,204,.25), inset 0 1px 0 rgba(255,255,255,.22); font-size: .71rem; font-weight: 800; cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s, filter .25s; }
.brand-inspector__book:hover { transform: translateY(-2px); filter: saturate(1.08); box-shadow: 0 20px 40px rgba(17,116,204,.32); }
.brand-inspector__book svg { width: 34px; height: 34px; padding: 9px; border-radius: 50%; fill: none; stroke: var(--blue-900); stroke-width: 1.8; background: rgba(255,255,255,.94); }

.brands__note { margin: 25px 0 0; display: flex; align-items: center; justify-content: center; gap: 8px; color: #748496; font-size: .7rem; line-height: 1.7; text-align: center; }
.brands__note > svg { width: 15px; height: 15px; flex: 0 0 15px; fill: none; stroke: var(--blue-600); stroke-width: 1.4; }
.brands__note > span { color: var(--blue-900); font-weight: 800; }
.brands__note button { padding: 0 0 2px; border: 0; border-bottom: 1px solid rgba(17,116,204,.35); color: var(--blue-700); background: transparent; font-size: inherit; font-weight: 800; cursor: pointer; }

/* Compact Brand Globe — intentionally uses flat SVG/CSS layers instead of the previous 3D scene. */
.brands--globe {
  padding-block: 116px 124px;
  background: linear-gradient(155deg, #fbfdfe 0%, #eef5f9 52%, #f9fbfd 100%);
}

.brands--globe::before { right: auto; left: -3vw; top: 15%; color: rgba(17,116,204,.026); font-size: clamp(15rem, 25vw, 28rem); }
.brands--globe::after { opacity: .25; background-size: 74px 74px; }
.brands--globe .brands__halo--one { left: auto; right: -170px; top: -170px; width: 500px; height: 500px; opacity: .72; }
.brands--globe .brands__halo--two { left: -320px; right: auto; bottom: -330px; width: 620px; height: 620px; opacity: .55; }

.brand-world { display: grid; grid-template-columns: minmax(360px, .78fr) minmax(570px, 1.22fr); align-items: center; gap: clamp(38px, 5vw, 76px); }
.brand-world__content { position: relative; z-index: 12; min-width: 0; }
.brand-world__content h2 { max-width: 610px; margin: 19px 0 24px; font-size: clamp(3.25rem, 4.65vw, 4.9rem); line-height: .97; letter-spacing: -.066em; }
.brand-world__content h2 em { color: var(--blue-600); }
.brand-world__lead { max-width: 510px; margin: 0 0 28px; color: #617286; font-size: .88rem; line-height: 1.78; }

.brands--globe .brand-search { z-index: 50; max-width: 510px; }
.brands--globe .brand-search input { height: 58px; padding-right: 54px; border-radius: 18px 18px 18px 6px; background: rgba(255,255,255,.94); }
.brands--globe .brand-search__results { max-height: 286px; }

.brands--globe .brands__metrics { margin-top: 20px; gap: 17px; }
.brands--globe .brands__metrics strong { font-size: 1.32rem; }
.brands--globe .brands__metrics small { font-size: .56rem; }
.brands--globe .brands__metrics i { height: 24px; }

.brand-focus { max-width: 510px; min-height: 84px; margin-top: 24px; padding: 10px 10px 10px 12px; border: 1px solid rgba(181,200,214,.82); border-radius: 23px 23px 7px 23px; display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 13px; background: rgba(255,255,255,.84); box-shadow: 0 18px 46px rgba(20,50,73,.1), inset 0 1px 0 var(--white); }
.brand-focus__mark { width: 64px; height: 60px; border: 1px solid #dbe6ed; border-radius: 16px 16px 5px 16px; display: grid; place-items: center; background: #f6fafc; }
.brand-focus__mark > span { color: var(--blue-700); font-size: .65rem; font-weight: 850; letter-spacing: .14em; }
.brand-focus__mark img { width: auto; max-width: 50px; max-height: 28px; }
.brand-focus__copy { min-width: 0; }
.brand-focus__copy small { display: block; margin-bottom: 4px; color: #7d8c9b; font-size: .52rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.brand-focus__copy strong { display: block; overflow: hidden; color: var(--blue-950); font-size: .77rem; line-height: 1.35; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.brand-focus__book { min-width: 132px; height: 54px; padding: 0 8px 0 15px; border: 0; border-radius: 16px 16px 5px 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--white); background: linear-gradient(135deg, #0c5b9f, #2294dc); box-shadow: 0 11px 25px rgba(17,116,204,.23); font-size: .65rem; font-weight: 800; cursor: pointer; transition: transform .24s var(--ease), box-shadow .24s var(--ease); }
.brand-focus__book:hover { transform: translateY(-2px); box-shadow: 0 15px 30px rgba(17,116,204,.29); }
.brand-focus__book svg { width: 29px; height: 29px; padding: 8px; border-radius: 50%; fill: none; stroke: var(--blue-900); stroke-width: 1.8; background: var(--white); }

.brands--globe .brands__note { max-width: 510px; margin-top: 18px; justify-content: flex-start; font-size: .66rem; text-align: left; }

.brand-globe { position: relative; z-index: 3; min-width: 0; min-height: 570px; }
.brand-globe::before { content: ""; position: absolute; left: 50%; top: 50%; z-index: -2; width: 490px; height: 490px; border-radius: 50%; background: radial-gradient(circle, rgba(50,153,226,.13), rgba(95,181,237,.04) 52%, transparent 70%); transform: translate(-50%,-47%); }
.brand-globe__topline { position: absolute; left: 8%; right: 7%; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.brand-globe__topline > span { display: inline-flex; align-items: center; gap: 10px; color: #7c8c9c; font-size: .56rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.brand-globe__topline > span i { width: 6px; height: 6px; border-radius: 50%; background: #41ca8e; box-shadow: 0 0 0 5px rgba(65,202,142,.1); }

.brand-globe .brand-motion { min-width: 94px; height: 38px; padding: 0 12px 0 7px; gap: 7px; background: rgba(255,255,255,.82); box-shadow: 0 8px 22px rgba(17,56,85,.08); }
.brand-globe .brand-motion__icon { width: 25px; height: 25px; }
.brand-globe .brand-motion__icon svg { width: 11px; height: 11px; }

.brand-globe__scene {
  --outer-x: 40%;
  --outer-y: 34%;
  --inner-x: 30%;
  --inner-y: 25%;
  position: absolute;
  inset: 34px 0 24px;
  overflow: visible;
  contain: layout style;
}

.brand-globe__orbit-line { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(24,112,176,.16); border-radius: 50%; transform: translate(-50%,-50%) rotate(-7deg); pointer-events: none; }
.brand-globe__orbit-line::before { content: ""; position: absolute; left: 11%; right: 11%; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, rgba(23,117,185,.16), transparent); }
.brand-globe__orbit-line--outer { width: 80%; height: 68%; }
.brand-globe__orbit-line--inner { width: 60%; height: 50%; border-style: dashed; transform: translate(-50%,-50%) rotate(11deg); }

.brand-globe__sphere { position: absolute; left: 50%; top: 50%; z-index: 5; width: 322px; height: 322px; filter: drop-shadow(0 26px 34px rgba(23,82,125,.16)); transform: translate(-50%,-50%); }
.brand-globe__sphere > svg { width: 100%; height: 100%; }
.brand-globe__sphere::after { content: ""; position: absolute; inset: 31px; border-radius: 50%; background: linear-gradient(118deg, rgba(255,255,255,.55), transparent 37%, rgba(17,116,204,.08)); pointer-events: none; }
.brand-globe__core { position: absolute; left: 50%; top: 50%; z-index: 2; width: 112px; height: 112px; border: 1px solid rgba(255,255,255,.88); border-radius: 50%; display: grid; place-items: center; align-content: center; gap: 4px; color: var(--white); background: linear-gradient(145deg, #073969, #1684ce); box-shadow: 0 18px 42px rgba(12,76,126,.26), inset 0 1px 0 rgba(255,255,255,.25); transform: translate(-50%,-50%); }
.brand-globe__core > span { font-size: .85rem; font-weight: 850; letter-spacing: .14em; }
.brand-globe__core > img { width: auto; max-width: 74px; max-height: 32px; padding: 5px; border-radius: 6px; background: rgba(255,255,255,.94); }
.brand-globe__core > small { color: rgba(255,255,255,.67); font-size: .48rem; font-weight: 800; line-height: 1.35; letter-spacing: .12em; text-align: center; text-transform: uppercase; }

.brand-globe__orbit { position: absolute; inset: 0; z-index: 8; pointer-events: none; }
.brand-globe__orbit--inner { z-index: 7; }
.brand-globe__logo { position: absolute; left: 0; top: 0; width: 116px; height: 48px; padding: 0; border: 0; outline: none; background: transparent; offset-rotate: 0deg; offset-distance: 0%; pointer-events: auto; animation: brandGlobeOrbit 55s linear infinite; will-change: offset-distance; }
.brand-globe__orbit--outer .brand-globe__logo { offset-path: ellipse(var(--outer-x) var(--outer-y) at 50% 50%); }
.brand-globe__orbit--inner .brand-globe__logo { width: 106px; height: 44px; offset-path: ellipse(var(--inner-x) var(--inner-y) at 50% 50%); animation-duration: 47s; animation-direction: reverse; }
.brand-globe__logo > span { width: 100%; height: 100%; padding: 9px 13px; border: 1px solid rgba(183,201,214,.82); border-radius: 14px 14px 5px 14px; display: grid; place-items: center; background: rgba(255,255,255,.94); box-shadow: 0 9px 21px rgba(19,55,82,.11); transition: opacity .25s, transform .25s var(--ease), border-color .25s, box-shadow .25s, background .25s; }
.brand-globe__logo img { width: auto; max-width: 88px; max-height: 27px; filter: grayscale(1) saturate(0); opacity: .72; transition: filter .25s, opacity .25s, transform .25s; pointer-events: none; }
.brand-globe__orbit--inner .brand-globe__logo img { max-width: 80px; max-height: 24px; }
.brand-globe__logo:hover > span, .brand-globe__logo:focus-visible > span, .brand-globe__logo.is-active > span, .brand-globe__logo.is-match > span { border-color: rgba(17,116,204,.62); background: var(--white); box-shadow: 0 13px 27px rgba(17,82,130,.17), 0 0 0 4px rgba(37,139,224,.07); transform: scale(1.08); }
.brand-globe__logo:hover img, .brand-globe__logo:focus-visible img, .brand-globe__logo.is-active img, .brand-globe__logo.is-match img { filter: none; opacity: 1; transform: scale(1.03); }
.brand-globe.is-searching .brand-globe__logo:not(.is-match) > span { opacity: .1; transform: scale(.9); }
.brand-globe.has-no-results .brand-globe__logo > span { opacity: .08 !important; }

.brand-globe__logo:nth-child(2) { animation-delay: -5s; }
.brand-globe__logo:nth-child(3) { animation-delay: -10s; }
.brand-globe__logo:nth-child(4) { animation-delay: -15s; }
.brand-globe__logo:nth-child(5) { animation-delay: -20s; }
.brand-globe__logo:nth-child(6) { animation-delay: -25s; }
.brand-globe__logo:nth-child(7) { animation-delay: -30s; }
.brand-globe__logo:nth-child(8) { animation-delay: -35s; }
.brand-globe__logo:nth-child(9) { animation-delay: -40s; }
.brand-globe__logo:nth-child(10) { animation-delay: -45s; }
.brand-globe__logo:nth-child(11) { animation-delay: -50s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(2) { animation-delay: -4.27s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(3) { animation-delay: -8.54s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(4) { animation-delay: -12.81s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(5) { animation-delay: -17.08s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(6) { animation-delay: -21.35s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(7) { animation-delay: -25.62s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(8) { animation-delay: -29.89s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(9) { animation-delay: -34.16s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(10) { animation-delay: -38.43s; }
.brand-globe__orbit--inner .brand-globe__logo:nth-child(11) { animation-delay: -42.7s; }

.brand-globe.is-motion-paused .brand-globe__logo,
.brand-globe.is-hovering .brand-globe__logo,
.brand-globe.is-searching .brand-globe__logo,
.brand-globe.is-offscreen .brand-globe__logo { animation-play-state: paused; }

@keyframes brandGlobeOrbit { to { offset-distance: 100%; } }

.brand-globe__hint { position: absolute; left: 50%; bottom: 2px; margin: 0; display: flex; align-items: center; gap: 8px; color: #8191a0; font-size: .54rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; transform: translateX(-50%); white-space: nowrap; }
.brand-globe__hint > span { width: 23px; height: 1px; background: #91b6d1; }

@supports not (offset-path: ellipse(40% 30% at 50% 50%)) {
  .brand-globe__scene { padding: 95px 18px 60px; display: grid; grid-template-columns: repeat(4,1fr); align-content: center; gap: 8px; }
  .brand-globe__sphere, .brand-globe__orbit-line { display: none; }
  .brand-globe__orbit { position: static; display: contents; }
  .brand-globe__logo, .brand-globe__orbit--inner .brand-globe__logo { position: static; width: auto; height: 48px; animation: none; }
}

.areas { overflow: hidden; background: var(--paper); }
.areas__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(540px, 1.2fr); align-items: center; gap: clamp(60px, 7vw, 110px); }
.areas__content > p { max-width: 500px; margin: 24px 0 30px; color: var(--ink-soft); font-size: .92rem; line-height: 1.8; }
.area-status { max-width: 460px; padding: 22px 24px; border: 1px solid var(--gray-200); border-radius: 18px; background: var(--white); box-shadow: var(--shadow-sm); }
.area-status > div { display: flex; align-items: center; gap: 10px; }
.area-status small { color: #758395; font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.area-status strong { display: block; margin: 13px 0 3px; font-size: 1.15rem; letter-spacing: -.03em; }
.area-status p { margin: 0; color: #6b7989; font-size: .75rem; }
.area-actions { margin-top: 27px; display: flex; align-items: center; gap: 24px; }

.coverage-orbit { position: relative; min-height: 610px; display: grid; place-items: center; }
.coverage-orbit::before { content: ""; position: absolute; width: 430px; height: 430px; border-radius: 50%; background: radial-gradient(circle, rgba(37,139,224,.11), transparent 68%); filter: blur(2px); }
.coverage-orbit__rings { position: absolute; inset: 50%; width: 470px; height: 470px; transform: translate(-50%, -50%); }
.coverage-orbit__rings i { position: absolute; inset: 0; border: 1px solid rgba(17,116,204,.16); border-radius: 50%; }
.coverage-orbit__rings i:nth-child(2) { inset: 65px; border-style: dashed; animation: spin 35s linear infinite; }
.coverage-orbit__rings i:nth-child(3) { inset: 135px; border-color: rgba(17,116,204,.28); }
@keyframes spin { to { transform: rotate(360deg); } }
.coverage-orbit__center { position: relative; z-index: 2; width: 180px; height: 180px; display: grid; place-items: center; align-content: center; gap: 6px; border: 1px solid rgba(255,255,255,.78); border-radius: 50%; color: var(--white); background: linear-gradient(145deg, var(--blue-900), var(--blue-600)); box-shadow: 0 28px 70px rgba(8,66,123,.28); }
.coverage-orbit__center svg { width: 27px; height: 27px; margin-bottom: 3px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.coverage-orbit__center strong { font-size: 1rem; }
.coverage-orbit__center span { color: rgba(255,255,255,.64); font-size: .75rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.coverage-orbit__cities { position: absolute; inset: 0; }
.area-chip { position: absolute; z-index: 3; padding: 9px 13px; border: 1px solid var(--gray-200); border-radius: 999px; color: #4f5f70; background: rgba(255,255,255,.92); box-shadow: 0 8px 20px rgba(8,45,85,.07); font-size: .75rem; font-weight: 700; cursor: pointer; transition: .25s var(--ease); }
.area-chip:hover, .area-chip.is-active { color: var(--white); border-color: var(--blue-600); background: var(--blue-600); transform: translateY(-2px); box-shadow: 0 12px 27px rgba(17,116,204,.23); }
.area-chip:nth-child(1) { left: 43%; top: 3%; }
.area-chip:nth-child(2) { right: 13%; top: 12%; }
.area-chip:nth-child(3) { right: 0; top: 31%; }
.area-chip:nth-child(4) { right: 7%; top: 50%; }
.area-chip:nth-child(5) { right: 18%; bottom: 14%; }
.area-chip:nth-child(6) { left: 43%; bottom: 2%; }
.area-chip:nth-child(7) { left: 18%; bottom: 11%; }
.area-chip:nth-child(8) { left: 1%; bottom: 27%; }
.area-chip:nth-child(9) { left: 0; top: 42%; }
.area-chip:nth-child(10) { left: 8%; top: 21%; }
.area-chip:nth-child(11) { left: 25%; top: 8%; }
.area-chip:nth-child(12) { right: 1%; bottom: 30%; }
.area-chip:nth-child(13) { left: 28%; bottom: 26%; }
.area-chip:nth-child(14) { right: 28%; top: 29%; }
.area-chip:nth-child(15) { left: 20%; top: 36%; }

.proof { background: var(--white); }
.proof__grid { display: grid; grid-template-columns: minmax(360px, .76fr) minmax(0, 1.24fr); align-items: center; gap: clamp(70px, 8vw, 135px); }
.proof__image { position: relative; height: 640px; overflow: hidden; border-radius: 70px 8px 70px 8px; background: var(--gray-100); box-shadow: var(--shadow-md); }
.proof__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(6,29,56,.22), transparent 45%); }
.proof__image img { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
.proof__image-label { position: absolute; left: 22px; right: 22px; bottom: 22px; z-index: 2; padding: 18px 20px; border: 1px solid rgba(255,255,255,.5); border-radius: 17px; color: var(--white); background: rgba(6,29,56,.69); backdrop-filter: blur(13px); }
.proof__image-label span { display: block; color: rgba(255,255,255,.58); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.proof__image-label strong { display: block; margin-top: 4px; font-size: .84rem; }
.proof h2 { max-width: 720px; }
.proof__features { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.proof__features article { min-height: 166px; padding: 24px; border: 1px solid var(--gray-200); border-radius: 18px; display: grid; grid-template-columns: 42px 1fr; align-content: start; gap: 15px; background: var(--paper); transition: .3s var(--ease); }
.proof__features article:hover { border-color: var(--blue-200); background: var(--blue-050); transform: translateY(-4px); }
.proof__features svg { width: 27px; height: 27px; fill: none; stroke: var(--blue-600); stroke-width: 1.45; }
.proof__features h3 { margin: 0 0 7px; font-size: .9rem; letter-spacing: -.025em; }
.proof__features p { margin: 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.65; }

.faq { background: var(--paper); }
.faq__grid { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(70px, 9vw, 150px); }
.faq__intro { position: sticky; top: 130px; }
.faq__intro > p { max-width: 380px; margin: 25px 0 29px; color: var(--ink-soft); font-size: .86rem; line-height: 1.75; }
.faq-list { border-top: 1px solid var(--gray-300); }
.faq-list details { border-bottom: 1px solid var(--gray-300); }
.faq-list summary { position: relative; padding: 28px 50px 28px 0; display: flex; align-items: center; gap: 20px; font-size: .91rem; font-weight: 750; line-height: 1.45; list-style: none; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary > span { color: var(--blue-600); font-size: .75rem; letter-spacing: .12em; }
.faq-list summary i, .faq-list summary i::after { position: absolute; right: 5px; top: 50%; width: 16px; height: 1px; background: var(--blue-700); transition: transform .25s var(--ease); }
.faq-list summary i::after { content: ""; right: 0; top: 0; transform: rotate(90deg); }
.faq-list details[open] summary i::after { transform: rotate(0); }
.faq-list details p { max-width: 690px; margin: -7px 50px 26px 39px; color: var(--ink-soft); font-size: .8rem; line-height: 1.75; }

.final-cta { position: relative; overflow: hidden; color: var(--white); background: linear-gradient(120deg, var(--blue-800), var(--blue-500)); isolation: isolate; }
.final-cta::before { content: ""; position: absolute; width: 640px; height: 640px; right: -120px; top: -270px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.035), 0 0 0 160px rgba(255,255,255,.025); }
.final-cta__grid { opacity: .2; background-image: linear-gradient(rgba(255,255,255,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.13) 1px, transparent 1px); mask-image: none; }
.final-cta__inner { position: relative; z-index: 2; min-height: 430px; padding: 88px 0; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 70px; }
.final-cta .section-kicker { color: #d6edff; }
.final-cta h2 { font-size: clamp(3.1rem, 5.5vw, 5.8rem); }
.final-cta h2 em { color: var(--white); }
.final-cta__action p { max-width: 430px; margin: 0 0 25px; color: rgba(255,255,255,.72); font-size: .91rem; line-height: 1.75; }
.final-cta__action > div { display: flex; flex-wrap: wrap; gap: 12px; }

.site-footer { color: #cad6e3; background: var(--blue-950); }
.site-footer__top { padding: 78px 0 60px; display: grid; grid-template-columns: 1.6fr .7fr .7fr .8fr; gap: 60px; }
.brand--footer { width: 146px; padding: 7px 10px; border-radius: 10px; background: var(--white); }
.brand--footer img { width: 126px; }
.footer-brand > p { max-width: 330px; margin: 24px 0 22px; color: #8191a3; font-size: .75rem; line-height: 1.75; }
.footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; color: var(--white); font-size: .75rem; font-weight: 700; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-column h3 { margin: 5px 0 13px; color: var(--white); font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; }
.footer-column a, .footer-column p { margin: 0; color: #8191a3; font-size: .75rem; line-height: 1.65; transition: color .2s; }
.footer-column a:hover { color: var(--white); }
.footer-column strong { color: #ccd8e4; font-weight: 600; }
.site-footer__bottom { min-height: 76px; border-top: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.site-footer__bottom p { margin: 0; color: #6d7e90; font-size: .75rem; }
.site-footer__bottom div { display: flex; gap: 22px; }
.site-footer__bottom a { color: #8796a7; font-size: .75rem; }

.service-console {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 45;
  width: 356px;
  height: 108px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(22px) scale(.94);
  transform-origin: right bottom;
  transition: opacity .34s var(--ease), transform .38s var(--ease);
}

.service-console.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }

.service-console__orbit { position: absolute; left: 0; top: 9px; z-index: 4; width: 88px; height: 88px; border-radius: 50%; pointer-events: none; }
.service-console__orbit i { position: absolute; inset: 0; border: 1px dashed rgba(17,116,204,.37); border-radius: inherit; animation: serviceConsoleOrbit 18s linear infinite; }
.service-console__orbit b { position: absolute; right: 5px; top: 15px; width: 9px; height: 9px; border: 2px solid #eff8ff; border-radius: 50%; background: var(--blue-500); box-shadow: 0 0 0 5px rgba(37,139,224,.15); }

.service-console__call { position: absolute; left: 7px; top: 16px; z-index: 5; width: 74px; height: 74px; border: 7px solid rgba(255,255,255,.94); border-radius: 50%; display: grid; place-items: center; color: var(--blue-800); background: linear-gradient(145deg, #fff, #e9f5fc); box-shadow: 0 18px 42px rgba(16,55,84,.22), inset 0 1px 0 var(--white); transition: color .25s var(--ease), background .25s var(--ease), transform .28s var(--ease); }
.service-console__call:hover { color: var(--white); background: linear-gradient(145deg, var(--blue-600), var(--blue-800)); transform: rotate(-7deg) scale(1.04); }
.service-console__call-core { display: grid; place-items: center; gap: 3px; }
.service-console__call-core svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.service-console__call-core small { font-size: .51rem; font-weight: 850; letter-spacing: .1em; line-height: 1; text-transform: uppercase; }
.service-console__call-number { position: absolute; right: calc(100% + 13px); top: 50%; padding: 9px 12px; border: 1px solid rgba(191,207,220,.78); border-radius: 12px 12px 4px 12px; color: var(--blue-900); background: rgba(255,255,255,.95); box-shadow: 0 12px 30px rgba(14,46,70,.14); font-size: .68rem; font-weight: 800; white-space: nowrap; opacity: 0; pointer-events: none; transform: translate(8px,-50%); transition: opacity .25s var(--ease), transform .25s var(--ease); }
.service-console__call:hover .service-console__call-number { opacity: 1; transform: translate(0,-50%); }

.service-console__ticket { position: absolute; right: 0; top: 0; width: 309px; height: 108px; padding: 12px 12px 12px 46px; overflow: hidden; border: 1px solid rgba(193,209,221,.82); border-radius: 31px 31px 9px 31px; background: rgba(250,253,255,.92); box-shadow: 0 25px 64px rgba(9,37,61,.22), inset 0 1px 0 var(--white); backdrop-filter: blur(22px) saturate(1.18); -webkit-backdrop-filter: blur(22px) saturate(1.18); }
.service-console__ticket::before { content: ""; position: absolute; right: 20px; top: 0; width: 86px; height: 1px; background: linear-gradient(90deg, transparent, rgba(37,139,224,.74)); }
.service-console__ticket::after { content: "KFX"; position: absolute; right: -8px; top: -11px; color: rgba(17,116,204,.045); font-size: 4.6rem; font-weight: 850; line-height: 1; letter-spacing: -.1em; pointer-events: none; }

.service-console__status { position: relative; z-index: 1; height: 18px; display: flex; align-items: center; gap: 8px; color: #75879a; font-size: .58rem; font-weight: 800; letter-spacing: .1em; line-height: 1; text-transform: uppercase; }
.service-console__status i { width: 6px; height: 6px; border-radius: 50%; background: #37ca8a; box-shadow: 0 0 0 5px rgba(55,202,138,.12); animation: statusPulse 2.4s ease-in-out infinite; }

.service-console__book { position: relative; z-index: 1; width: 100%; height: 63px; padding: 0 11px; border: 0; border-radius: 18px 18px 5px 18px; display: grid; grid-template-columns: 38px minmax(0,1fr) 35px; align-items: center; gap: 10px; color: var(--white); background: linear-gradient(135deg, #0b579a 0%, #1680cc 56%, #39a6e7 100%); box-shadow: 0 14px 30px rgba(17,116,204,.27), inset 0 1px 0 rgba(255,255,255,.22); text-align: left; cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s var(--ease), filter .25s var(--ease); }
.service-console__book:hover { transform: translateY(-2px); filter: saturate(1.08); box-shadow: 0 18px 36px rgba(17,116,204,.34), inset 0 1px 0 rgba(255,255,255,.28); }
.service-console__book-icon { width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.24); border-radius: 13px; display: grid; place-items: center; background: rgba(255,255,255,.11); }
.service-console__book-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-console__book-copy { min-width: 0; display: block; }
.service-console__book-copy small,
.service-console__book-copy strong { display: block; white-space: nowrap; }
.service-console__book-copy small { margin-bottom: 3px; color: rgba(255,255,255,.66); font-size: .56rem; font-weight: 750; line-height: 1; }
.service-console__book-copy strong { font-size: .8rem; font-weight: 820; line-height: 1.1; }
.service-console__book-arrow { width: 31px; height: 31px; border-radius: 50%; display: grid; place-items: center; color: var(--blue-900); background: rgba(255,255,255,.94); transition: transform .3s var(--ease); }
.service-console__book:hover .service-console__book-arrow { transform: translateX(3px) rotate(-8deg); }
.service-console__book-arrow svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.9; }

@keyframes serviceConsoleOrbit { to { transform: rotate(360deg); } }

.booking-notice {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 80;
  min-height: 48px;
  padding: 11px 14px 11px 17px;
  border: 1px solid rgba(205, 216, 225, .88);
  border-radius: 15px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #32485d;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 50px rgba(8, 34, 58, .18);
  font-size: .72rem;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 14px);
  transition: opacity .25s var(--ease), transform .25s var(--ease);
}
.booking-notice.is-visible { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.booking-notice a { display: none; padding: 6px 9px; border-radius: 9px; color: var(--white); background: var(--blue-700); font-size: .68rem; white-space: nowrap; }
.booking-notice.is-error a { display: inline-flex; }
[data-booking][aria-busy="true"] { cursor: progress; }

[data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .75s var(--ease), transform .75s var(--ease); }
[data-reveal-delay="1"] { transition-delay: .09s; }
[data-reveal-delay="2"] { transition-delay: .18s; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1180px) {
  :root { --shell: min(100% - 40px, 1080px); }
  .site-header__inner { grid-template-columns: 165px 1fr auto; gap: 17px; }
  .desktop-nav { gap: 18px; }
  .desktop-nav a { font-size: .79rem; }
  .header-phone span { display: none; }
  .hero-v4__panel { width: min(600px, 56vw); padding: 39px 40px 34px; }
  .hero--v4 h1 { font-size: clamp(3rem, 4.15vw, 3.7rem); }
  .hero-v4__selector { grid-template-columns: 190px minmax(0, 1fr); }
  .hero-v4__selector-intro { padding-right: 16px; }
  .hero-v4__service-copy strong { font-size: .75rem; }
  .services__header h2 { font-size: clamp(2.9rem, 5.1vw, 4.5rem); }
  .service-reel__track { height: 530px; }
  .service-reel__item.is-active { flex-grow: 4.15; }
  .standards__header h2 { font-size: clamp(3rem, 5.25vw, 4.65rem); }
  .standards__composition { grid-template-columns: minmax(350px, .8fr) minmax(470px, 1.2fr); gap: 58px; }
  .standards__media { min-height: 650px; padding-left: 50px; }
  .standards__image { height: 650px; border-radius: 34px 150px 34px 34px; }
  .standards__lens { left: -12px; width: 164px; height: 164px; }
  .standards__caption { right: 0; }
  .brand-observatory { --brand-radius: 520px; }
  .brand-observatory__topbar { padding-inline: 38px; }
  .brand-orbit__item { left: -88px; width: 176px; }
  .coverage-orbit { transform: scale(.93); }
}

@media (max-width: 980px) {
  :root { --header-height: 72px; }
  .desktop-nav, .header-phone { display: none; }
  .site-header__inner { grid-template-columns: 1fr auto; }
  .menu-toggle { display: grid; }
  .mobile-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    max-height: calc(100dvh - 72px);
    padding: 12px var(--shell) 24px;
    overflow: auto;
    border-bottom: 1px solid var(--gray-200);
    background: rgba(255,255,255,.98);
    box-shadow: 0 30px 50px rgba(8,45,85,.14);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-12px);
    transition: .25s var(--ease);
  }
  .mobile-nav.is-open { display: block; opacity: 1; pointer-events: auto; transform: translateY(0); }
  .mobile-nav > a { padding: 15px 4px; border-bottom: 1px solid var(--gray-200); display: flex; align-items: center; justify-content: space-between; font-size: 1rem; font-weight: 700; }
  .mobile-nav > a span { color: var(--blue-500); font-size: .75rem; letter-spacing: .12em; }
  .mobile-nav__actions { padding-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

  .hero--v4 { height: clamp(730px, calc(100svh - 72px), 850px); min-height: 730px; }
  .hero-v4__stage { padding: 34px 0 108px; }
  .hero-v4__panel { width: min(560px, 62vw); padding: 35px 36px 31px; border-radius: 31px 31px 31px 11px; }
  .hero-v4__headline-primary { white-space: normal; }
  .hero--v4 h1 { font-size: clamp(2.8rem, 5.15vw, 3.32rem); }
  .hero-v4__location { display: none; }
  .hero-v4__selector { grid-template-columns: 168px minmax(0, 1fr); }
  .hero-v4__selector-intro { padding-left: 4px; padding-right: 13px; }
  .hero-v4__selector-intro h2 { font-size: .97rem; }
  .hero-v4__services button { flex-direction: column; gap: 6px; }
  .hero-v4__service-copy { text-align: center; }
  .hero-v4__service-copy small { display: none; }
  .hero-assurance__inner > div { padding-inline: 13px; }

  .section { padding: 100px 0; }
  .section-heading { grid-template-columns: 1fr; gap: 26px; }
  .section-heading > p { max-width: 620px; }

  .services { padding-block: 100px 112px; }
  .services__header { margin-bottom: 38px; gap: 28px; }
  .services__header h2 { font-size: clamp(2.8rem, 7vw, 4rem); }
  .services__hint--desktop { display: none; }
  .services__hint--mobile { display: inline; }
  .service-reel { padding: 8px 0 8px; border-radius: 28px; }
  .service-reel::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; z-index: 4; width: 44px; background: linear-gradient(90deg, transparent, rgba(239,245,249,.9)); pointer-events: none; }
  .service-reel__track { height: 470px; padding: 10px 20px 20px; gap: 12px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: 20px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .service-reel__track::-webkit-scrollbar { display: none; }
  .service-reel__item,
  .service-reel__item.is-active { flex: 0 0 min(48vw, 360px); height: 440px; margin-top: 0; scroll-snap-align: center; transform: none; }
  .service-reel__media,
  .service-reel__item.is-active .service-reel__media { filter: saturate(.94) contrast(1.02); transform: scale(1.01); }
  .service-reel__number,
  .service-reel__item.is-active .service-reel__number { left: 20px; transform: none; }
  .service-reel__caption,
  .service-reel__item.is-active .service-reel__caption { left: 22px; bottom: 24px; width: calc(100% - 44px); align-items: flex-start; transform: none; }
  .service-reel__caption strong,
  .service-reel__item.is-active .service-reel__caption strong { max-height: none; font-size: 1.75rem; white-space: normal; writing-mode: horizontal-tb; transform: none; }
  .service-reel__caption small,
  .service-reel__item.is-active .service-reel__caption small { opacity: 1; pointer-events: auto; transform: none; }

  .proof__grid, .areas__grid, .faq__grid { grid-template-columns: 1fr; }
  .standards__header { gap: 44px; }
  .standards__composition { grid-template-columns: 1fr; gap: 90px; }
  .standards__manifesto { max-width: 760px; }
  .standards__media { width: 80%; min-height: 670px; margin-left: auto; padding-left: 52px; }
  .standards__image { height: 670px; }
  .proof__grid { gap: 72px; }
  .proof__image { width: 72%; height: 75vw; max-height: 720px; margin-left: auto; order: 2; }
  .proof__content { order: 1; }
  .areas__grid { gap: 48px; }
  .coverage-orbit { width: min(100%, 700px); margin: 0 auto; }
  .faq__intro { position: static; }

  .brands__heading { grid-template-columns: 1fr; gap: 28px; }
  .brands__intro { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 28px; }
  .brands__metrics { margin-top: 0; }
  .brand-observatory { --brand-radius: 450px; min-height: 744px; }
  .brand-observatory__topbar { grid-template-columns: minmax(0, 560px) auto; padding-inline: 28px; }
  .brand-observatory__viewport { perspective: 1040px; }
  .brand-orbit__item { left: -82px; width: 164px; height: 72px; top: -36px; }
  .brand-orbit__face { padding-inline: 16px; }
  .brand-orbit__face img { max-width: 125px; }
  .final-cta__inner { grid-template-columns: 1fr; gap: 30px; }
  .site-footer__top { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (min-width: 701px) and (max-width: 780px) {
  .hero-v4__panel { width: min(520px, 66vw); padding-inline: 31px; }
  .hero-v4__selector { grid-template-columns: 150px minmax(0, 1fr); padding-inline: 12px; }
  .hero-v4__services button { padding-inline: 2px; gap: 5px; }
  .hero-v4__service-copy strong { max-width: 78px; white-space: normal; line-height: 1.15; }
}

@media (max-width: 700px) {
  :root { --shell: calc(100vw - 30px); }
  .site-header__inner { height: 70px; }
  .brand { width: 116px; height: 50px; }
  .brand img { width: 116px; }
  .header-actions .button { display: none; }
  .mobile-nav { padding-inline: 15px; max-height: calc(100dvh - 70px); }

  .hero--v4 { height: auto; min-height: 0; padding: 420px 0 22px; overflow: hidden; background: #edf2f5; }
  .hero--v4::before { display: none; }
  .hero--v4::after { z-index: -1; height: 64%; background: linear-gradient(to bottom, transparent, #edf2f5 24%, #edf2f5); }
  .hero-v4__media { height: 620px; bottom: auto; }
  .hero-v4__media img { object-position: center top; }
  .hero-v4__veil { background: linear-gradient(to bottom, transparent 0%, transparent 29%, rgba(237, 242, 245, .18) 40%, rgba(237, 242, 245, .78) 55%, #edf2f5 72%); }
  .hero-v4__focus { display: none; }
  .hero-v4__stage { height: auto; padding: 0; display: block; }
  .hero-v4__panel { width: 100%; padding: 28px; border-radius: 30px 30px 30px 10px; background: linear-gradient(rgba(255,255,255,.92), rgba(255,255,255,.89)) padding-box, linear-gradient(145deg, #fff, rgba(141,190,226,.46)) border-box; }
  .hero-v4__panel-edge { top: 39px; height: 72px; }
  .hero-v4__eyebrow { font-size: .72rem; letter-spacing: .1em; }
  .hero-v4__headline-primary { white-space: normal; }
  .hero--v4 h1 { margin: 20px 0 17px; font-size: clamp(2.55rem, 10.2vw, 3.32rem); line-height: .97; }
  .hero-v4__lead { margin-bottom: 16px; font-size: 1rem; line-height: 1.62; }
  .hero-v4__schedule { width: 100%; margin-bottom: 20px; }
  .hero-v4__schedule-copy strong { flex-wrap: wrap; row-gap: 2px; white-space: normal; }
  .hero-v4__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-v4__actions .button { min-width: 0; min-height: 52px; padding-inline: 12px; font-size: .8rem; }
  .hero-v4__promise { margin-top: 22px; padding-top: 17px; gap: 9px 16px; }
  .hero-v4__promise span { font-size: .68rem; }

  .hero-v4__selector { position: relative; left: auto; right: auto; bottom: auto; min-height: 0; margin-top: 17px; padding: 15px; grid-template-columns: 1fr; border-radius: 24px; }
  .hero-v4__selector-intro { padding: 2px 4px 14px; border-right: 0; border-bottom: 1px solid var(--gray-200); display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 0 14px; }
  .hero-v4__selector-intro p { grid-column: 1 / -1; }
  .hero-v4__selector-intro h2 { margin: 0; font-size: 1.02rem; }
  .hero-v4__services { padding: 12px 0 2px; display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .hero-v4__services::-webkit-scrollbar { display: none; }
  .hero-v4__services button { flex: 0 0 142px; min-height: 92px; border: 1px solid var(--gray-100); border-radius: 17px; scroll-snap-align: start; }
  .hero-v4__services button:first-child { border-left-color: var(--gray-100); }
  .hero-v4__service-copy strong { font-size: .75rem; }
  .hero-v4__service-copy small { display: block; font-size: .65rem; }

  .hero-assurance { padding-top: 0; }
  .hero-assurance__inner { min-height: 176px; padding: 16px 0; grid-template-columns: 1fr 1fr; gap: 4px; }
  .hero-assurance__inner > div { padding: 12px 9px; justify-content: flex-start; }
  .hero-assurance i { display: none; }
  .hero-assurance strong { font-size: .77rem; }
  .hero-assurance small { font-size: .75rem; }

  .section { padding: 82px 0; }
  .section-heading { margin-bottom: 38px; }
  .section-heading h2, .standards h2, .areas h2, .proof h2, .faq h2 { font-size: clamp(2.45rem, 11.6vw, 3.65rem); }
  .section-heading > p { font-size: .84rem; }
  .section-kicker { font-size: .75rem; }
  .section-kicker::before { width: 22px; }

  .services { padding-block: 82px 92px; }
  .services__header { grid-template-columns: 1fr; align-items: start; gap: 24px; margin-bottom: 30px; }
  .services__header h2 { font-size: clamp(2.55rem, 11.6vw, 3.7rem); }
  .services__navigator { width: 100%; padding: 0; grid-template-columns: 1fr auto; align-items: center; justify-items: start; }
  .services__navigator > p { font-size: .68rem; }
  .services__nav-controls { justify-self: end; }
  .services__nav-controls button { width: 40px; height: 40px; }
  .services__counter { min-width: 64px; }
  .service-reel { width: calc(100% + 15px); border-radius: 25px 0 0 25px; }
  .service-reel__track { height: 445px; padding: 8px 25px 16px 12px; scroll-padding-inline: 12px; }
  .service-reel__item,
  .service-reel__item.is-active { flex-basis: min(78vw, 330px); height: 420px; border-radius: 21px; }

  .standards { padding-block: 92px 116px; }
  .standards__header { margin-bottom: 50px; grid-template-columns: 1fr; align-items: start; gap: 23px; }
  .standards__header h2 { font-size: clamp(2.55rem, 11.6vw, 3.7rem); }
  .standards__header > p { max-width: 560px; font-size: .84rem; }
  .standards__composition { gap: 76px; }
  .standards__manifesto { padding-top: 18px; }
  .standards__manifesto::before { display: none; }
  .standard-list__item { padding: 20px 16px; grid-template-columns: 34px minmax(0,1fr) 32px; gap: 10px; }
  .standard-list__item:hover,
  .standard-list__item.is-active { transform: none; }
  .standards__actions { align-items: stretch; flex-direction: column; }
  .standards__actions .button { width: 100%; }
  .standards__phone { width: max-content; }
  .standards__media { width: calc(100% - 20px); min-height: 570px; margin-left: auto; padding-left: 0; }
  .standards__image { height: 570px; border-radius: 28px 105px 28px 28px; }
  .standards__lens { left: -34px; bottom: 76px; width: 128px; height: 128px; padding: 7px; }
  .standards__caption { right: -3px; bottom: -38px; min-width: 218px; padding: 20px 21px; }
  .standards__caption strong { font-size: 1.08rem; }
  .standards__monogram { left: 20px; top: 20px; }

  .process-track { margin-top: 50px; grid-template-columns: 1fr; gap: 14px; }
  .process-track__line { left: 32px; right: auto; top: 34px; bottom: 34px; width: 1px; height: auto; }
  .process-track__line span { width: 100%; height: 0; background: linear-gradient(#55b5ff, #b6e0ff); }
  .process-track.is-visible .process-track__line span { width: 100%; height: 100%; }
  .process-step { min-height: 158px; padding: 20px 15px 22px 94px; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: rgba(255,255,255,.035); }
  .process-step__icon { left: 0; top: 18px; }
  .process-step__number { left: 79px; top: 20px; }
  .process-step h3 { margin-top: 30px; font-size: 1.05rem; }
  .process-step p { font-size: .75rem; }
  .process__cta { margin-top: 44px; align-items: stretch; flex-direction: column; }

  .brands { padding-block: 92px 96px; }
  .brands::before { right: -9vw; top: 110px; font-size: 18rem; }
  .brands__heading { margin-bottom: 43px; gap: 22px; }
  .brands__heading h2 { font-size: clamp(2.5rem, 11.6vw, 3.65rem); }
  .brands__intro { display: block; }
  .brands__intro > p { max-width: 580px; font-size: .83rem; }
  .brands__metrics { margin-top: 23px; gap: 15px; }
  .brands__metrics span { grid-template-columns: auto; gap: 4px; }
  .brands__metrics strong { font-size: 1.35rem; }
  .brands__metrics small { font-size: .55rem; }

  .brand-observatory { --brand-radius: 340px; min-height: 780px; border-radius: 29px 29px 8px 29px; }
  .brand-observatory__index { display: none; }
  .brand-observatory__topbar { padding: 16px 16px 0; display: block; }
  .brand-search input { height: 58px; padding-left: 49px; padding-right: 52px; border-radius: 17px 17px 17px 6px; font-size: .75rem; }
  .brand-search > svg { left: 17px; width: 18px; height: 18px; }
  .brand-search__key { display: none; }
  .brand-search__clear { right: 12px; }
  .brand-search__results { max-height: 298px; }
  .brand-motion { position: absolute; right: 16px; top: 84px; min-width: 128px; height: 42px; padding-right: 13px; background: rgba(255,255,255,.84); }
  .brand-motion__icon { width: 27px; height: 27px; }

  .brand-observatory__viewport { top: 128px; height: 442px; perspective: 900px; }
  .brand-observatory__axis { top: 17px; bottom: 17px; }
  .brand-orbit-guide { width: 560px; height: 122px; }
  .brand-orbit-guide--one { top: 15px; }
  .brand-orbit-guide--two { top: 145px; }
  .brand-orbit-guide--three { top: 275px; }
  .brand-orbit--one { top: 78px; }
  .brand-orbit--two { top: 208px; }
  .brand-orbit--three { top: 338px; }
  .brand-orbit__item { left: -72px; top: -32px; width: 144px; height: 64px; }
  .brand-orbit__face { padding: 11px 13px; border-radius: 16px 16px 6px 16px; }
  .brand-orbit__face img { max-width: 112px; max-height: 33px; }
  .brand-observatory__legend { left: 20px; bottom: 152px; }

  .brand-inspector { left: 12px; right: 12px; bottom: 14px; min-height: 126px; padding: 11px; border-radius: 23px 23px 7px 23px; grid-template-columns: 58px minmax(0,1fr); gap: 10px 13px; }
  .brand-inspector__mark { width: 58px; height: 54px; border-radius: 15px 15px 5px 15px; }
  .brand-inspector__mark img { max-width: 47px; max-height: 27px; }
  .brand-inspector__mark > span { font-size: .63rem; }
  .brand-inspector__copy small { margin-bottom: 3px; font-size: .51rem; }
  .brand-inspector__copy strong { font-size: .77rem; }
  .brand-inspector__book { width: 100%; min-width: 0; height: 44px; padding-left: 16px; grid-column: 1 / -1; border-radius: 14px 14px 5px 14px; }
  .brand-inspector__book svg { width: 29px; height: 29px; padding: 8px; }
  .brands__note { align-items: flex-start; flex-wrap: wrap; gap: 4px 7px; padding-inline: 8px; font-size: .66rem; }
  .brands__note > svg { margin-top: 4px; }

  .coverage-orbit { min-height: auto; padding-top: 16px; display: block; transform: none; }
  .coverage-orbit::before, .coverage-orbit__rings { display: none; }
  .coverage-orbit__center { width: 160px; height: 160px; margin: 0 auto 24px; }
  .coverage-orbit__cities { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
  .area-chip { position: static; transform: none !important; }
  .area-actions { align-items: stretch; flex-direction: column; }

  .proof__grid { gap: 54px; }
  .proof__image { width: 90%; height: 122vw; max-height: 660px; }
  .proof__features { grid-template-columns: 1fr; }
  .proof__features article { min-height: 132px; }

  .faq__grid { gap: 46px; }
  .faq-list summary { padding-block: 23px; gap: 13px; font-size: .82rem; }
  .faq-list details p { margin-left: 0; margin-right: 26px; font-size: .75rem; }

  .final-cta__inner { min-height: 520px; padding-block: 74px; }
  .final-cta h2 { font-size: clamp(3.1rem, 14vw, 4.55rem); }
  .final-cta__action > div { display: grid; grid-template-columns: 1fr 1fr; }
  .final-cta__action .button { min-width: 0; padding-inline: 13px; font-size: .82rem; }

  .site-footer__top { padding-top: 62px; grid-template-columns: 1fr 1fr; gap: 44px 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .site-footer__top .footer-column:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); }
  .site-footer__top .footer-column:last-child h3 { grid-column: 1 / -1; }
  .site-footer__bottom { padding: 20px 0; align-items: flex-start; flex-direction: column; }

  .service-console { left: 50%; right: auto; bottom: max(10px, env(safe-area-inset-bottom)); width: min(390px, calc(100vw - 22px)); height: 86px; transform: translate(-50%, 18px) scale(.96); transform-origin: center bottom; }
  .service-console.is-visible { transform: translate(-50%, 0) scale(1); }
  .service-console__orbit { left: 0; top: 8px; width: 70px; height: 70px; }
  .service-console__call { left: 5px; top: 13px; width: 60px; height: 60px; border-width: 6px; }
  .service-console__call-core svg { width: 17px; height: 17px; }
  .service-console__call-core small { font-size: .47rem; }
  .service-console__call-number { display: none; }
  .service-console__ticket { width: calc(100% - 38px); height: 86px; padding: 8px 8px 8px 35px; border-radius: 26px 26px 7px 26px; }
  .service-console__status { display: none; }
  .service-console__book { height: 68px; grid-template-columns: 36px minmax(0,1fr) 33px; border-radius: 18px 18px 5px 18px; }
  .service-console__book-icon { width: 36px; height: 36px; }
  .booking-notice { bottom: 104px; width: min(390px, calc(100vw - 24px)); justify-content: space-between; }
}

@media (max-width: 430px) {
  .hero--v4 { padding-top: 390px; }
  .hero-v4__media { height: 570px; }
  .hero-v4__panel { padding: 24px; }
  .hero--v4 h1 { font-size: clamp(2.2rem, 9.7vw, 2.55rem); }
  .hero-v4__schedule { align-items: flex-start; }
  .hero-v4__schedule-copy strong { flex-direction: column; align-items: flex-start; gap: 1px; }
  .hero-v4__schedule-copy i { display: none; }
  .hero-v4__actions { grid-template-columns: 1fr; }
  .hero-v4__services button { flex-basis: 134px; }
  .services__header h2 { font-size: clamp(2.35rem, 12vw, 3rem); }
  .services__navigator { grid-template-columns: 1fr; }
  .services__nav-controls { width: 100%; justify-self: stretch; justify-content: space-between; }
  .services__counter { margin-right: auto; justify-content: flex-start; }
  .service-reel__track { height: 420px; }
  .service-reel__item,
  .service-reel__item.is-active { flex-basis: 82vw; height: 395px; }
  .service-reel__caption strong,
  .service-reel__item.is-active .service-reel__caption strong { font-size: 1.55rem; }
  .mobile-nav__actions { grid-template-columns: 1fr; }
  .final-cta__action > div { grid-template-columns: 1fr; }
  .standards__header h2 { font-size: clamp(2.35rem, 12vw, 3rem); }
  .standards__media { width: 100%; min-height: 510px; }
  .standards__image { height: 510px; border-radius: 24px 76px 24px 24px; }
  .standards__lens { left: -10px; bottom: 66px; width: 112px; height: 112px; }
  .standards__caption { right: 7px; min-width: 201px; }
  .standards__monogram small { display: none; }
  .standards__monogram span { font-size: 1.9rem; }
  .brand-observatory { --brand-radius: 292px; min-height: 758px; }
  .brand-motion { min-width: 43px; width: 43px; padding: 0; justify-content: center; }
  .brand-motion > span:last-child { display: none; }
  .brand-orbit-guide { width: 480px; }
  .brand-orbit__item { left: -66px; width: 132px; }
  .brand-orbit__face img { max-width: 102px; }
  .brand-observatory__legend { font-size: .5rem; }
  .service-console { width: calc(100vw - 18px); }
  .service-console__ticket { width: calc(100% - 34px); padding-left: 31px; }
  .service-console__book { padding-inline: 8px; gap: 8px; }
  .service-console__book-copy small { font-size: .51rem; }
  .service-console__book-copy strong { font-size: .75rem; }
  .service-console__book-arrow { width: 29px; height: 29px; }
  .booking-notice { font-size: .68rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* Brand Globe responsive pass. Kept last so the compact composition wins over the retired observatory rules. */
@media (max-width: 1180px) {
  .brands--globe .brand-world { grid-template-columns: minmax(330px, .8fr) minmax(500px, 1.2fr); gap: 30px; }
  .brands--globe .brand-world__content h2 { font-size: clamp(3rem, 4.4vw, 4.2rem); }
  .brand-globe { min-height: 535px; }
  .brand-globe__sphere { width: 296px; height: 296px; }
  .brand-globe__logo { width: 108px; height: 46px; }
  .brand-globe__orbit--inner .brand-globe__logo { width: 98px; height: 41px; }
  .brand-globe__logo img { max-width: 82px; max-height: 25px; }
  .brand-globe__orbit--inner .brand-globe__logo img { max-width: 72px; max-height: 22px; }
}

@media (max-width: 980px) {
  .brands--globe .brand-world { grid-template-columns: 1fr; gap: 58px; }
  .brand-world__content { max-width: 720px; }
  .brands--globe .brand-world__content h2 { max-width: 680px; font-size: clamp(3.35rem, 8vw, 5.3rem); }
  .brands--globe .brand-world__lead,
  .brands--globe .brand-search,
  .brands--globe .brand-focus,
  .brands--globe .brands__note { max-width: 620px; }
  .brand-globe { width: min(760px, 100%); min-height: 560px; margin-inline: auto; }
  .brand-globe__topline { left: 3%; right: 3%; }
}

@media (max-width: 700px) {
  .brands--globe { padding-block: 88px 92px; }
  .brands--globe::before { top: 8%; font-size: 14rem; }
  .brands--globe .brand-world { gap: 46px; }
  .brands--globe .brand-world__content h2 { margin: 17px 0 20px; font-size: clamp(2.65rem, 12vw, 3.85rem); line-height: .98; }
  .brand-world__lead { margin-bottom: 23px; font-size: .82rem; line-height: 1.7; }
  .brands--globe .brand-search input { height: 56px; border-radius: 17px 17px 17px 6px; }
  .brands--globe .brands__metrics { margin-top: 18px; }

  .brand-focus { min-height: 0; padding: 9px; grid-template-columns: 56px minmax(0,1fr); gap: 10px 12px; border-radius: 20px 20px 7px 20px; }
  .brand-focus__mark { width: 56px; height: 53px; border-radius: 14px 14px 5px 14px; }
  .brand-focus__copy strong { white-space: normal; }
  .brand-focus__book { width: 100%; min-width: 0; height: 48px; padding-left: 15px; grid-column: 1 / -1; }
  .brands--globe .brands__note { padding-inline: 2px; }

  .brand-globe { min-height: 476px; }
  .brand-globe::before { width: 380px; height: 380px; }
  .brand-globe__topline { left: 0; right: 0; }
  .brand-globe__topline > span { max-width: 210px; font-size: .5rem; line-height: 1.45; }
  .brand-globe .brand-motion { position: static; right: auto; top: auto; min-width: 86px; width: auto; height: 36px; padding: 0 10px 0 6px; justify-content: flex-start; }
  .brand-globe .brand-motion > span:last-child { display: inline; }
  .brand-globe__scene { --outer-x: 38%; --outer-y: 38%; --inner-x: 29%; --inner-y: 29%; inset: 40px 0 20px; }
  .brand-globe__sphere { width: 236px; height: 236px; }
  .brand-globe__core { width: 88px; height: 88px; }
  .brand-globe__core > span { font-size: .72rem; }
  .brand-globe__core > img { max-width: 58px; max-height: 27px; }
  .brand-globe__core > small { font-size: .41rem; }
  .brand-globe__logo { width: 88px; height: 39px; }
  .brand-globe__orbit--inner .brand-globe__logo { width: 70px; height: 34px; }
  .brand-globe__logo > span { padding: 7px 10px; border-radius: 12px 12px 4px 12px; box-shadow: 0 7px 16px rgba(19,55,82,.1); }
  .brand-globe__logo img { max-width: 67px; max-height: 21px; }
  .brand-globe__orbit--inner .brand-globe__logo img { max-width: 53px; max-height: 18px; }
  .brand-globe__hint { bottom: 0; font-size: .48rem; }
}

@media (max-width: 430px) {
  .brands--globe { padding-block: 78px 86px; }
  .brands--globe .brand-world__content h2 { font-size: clamp(2.45rem, 11.7vw, 3.05rem); }
  .brands--globe .brands__metrics { gap: 12px; }
  .brands--globe .brands__metrics strong { font-size: 1.18rem; }
  .brand-globe { min-height: 430px; }
  .brand-globe__topline > span { max-width: 178px; letter-spacing: .1em; }
  .brand-globe .brand-motion { min-width: 39px; width: 39px; padding: 0; justify-content: center; }
  .brand-globe .brand-motion > span:last-child { display: none; }
  .brand-globe__scene { --outer-x: 40%; --outer-y: 40%; --inner-x: 30%; --inner-y: 30%; inset: 38px 0 18px; }
  .brand-globe__sphere { width: 196px; height: 196px; }
  .brand-globe__core { width: 78px; height: 78px; }
  .brand-globe__logo { width: 70px; height: 32px; }
  .brand-globe__orbit--inner .brand-globe__logo { width: 58px; height: 29px; }
  .brand-globe__logo > span { padding: 6px 8px; }
  .brand-globe__logo img { max-width: 53px; max-height: 18px; }
  .brand-globe__orbit--inner .brand-globe__logo img { max-width: 43px; max-height: 15px; }
  .brand-globe__hint { font-size: .43rem; letter-spacing: .08em; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-globe__logo { animation-play-state: paused !important; }
}

/* KinFix Service Atlas — homepage preview and dedicated locations page */
.desktop-nav a.is-current::after,
.desktop-nav a[aria-current="page"]::after { right: 0; }

.text-link--arrow { display: inline-flex; align-items: center; gap: 9px; }
.text-link--arrow svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .25s var(--ease); }
.text-link--arrow:hover svg { transform: translateX(4px); }

.coverage-preview {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 14%, rgba(73, 163, 226, .12), transparent 31%),
    linear-gradient(180deg, #f9fbfd 0%, #eef5fa 100%);
}
.coverage-preview::before {
  content: "813";
  position: absolute;
  right: -1.5vw;
  top: 42px;
  color: rgba(9, 79, 139, .035);
  font-size: clamp(12rem, 25vw, 28rem);
  font-weight: 800;
  line-height: .72;
  letter-spacing: -.1em;
  pointer-events: none;
}
.coverage-preview__header {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(42px, 5vw, 70px);
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  align-items: end;
  gap: 60px;
}
.coverage-preview__header h2 {
  max-width: 850px;
  margin: 18px 0 0;
  font-size: clamp(3.3rem, 5.6vw, 5.7rem);
  line-height: .96;
  letter-spacing: -.067em;
}
.coverage-preview__header h2 em { color: var(--blue-600); }
.coverage-preview__intro { padding-bottom: 6px; }
.coverage-preview__intro p { margin: 0 0 21px; color: #607287; font-size: .91rem; line-height: 1.78; }

.coverage-preview__stage,
.location-explorer__stage {
  position: relative;
  z-index: 1;
  padding: 10px;
  border: 1px solid rgba(146, 176, 199, .35);
  border-radius: 40px 40px 12px 40px;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, .5fr);
  gap: 10px;
  background: rgba(255, 255, 255, .65);
  box-shadow: 0 32px 90px rgba(18, 64, 100, .11);
}

.route-atlas {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(135, 166, 190, .36);
  border-radius: 31px 31px 8px 31px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(12, 58, 94, .07);
}
.route-atlas__topbar {
  min-height: 42px;
  padding: 0 7px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #77889a;
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.route-atlas__topbar > span { display: inline-flex; align-items: center; gap: 8px; }
.route-atlas__topbar b {
  padding: 5px 7px;
  border-radius: 7px 7px 3px 7px;
  color: #fff;
  background: var(--blue-700);
  font-size: .52rem;
  letter-spacing: .08em;
}
.route-atlas__topbar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #36c98a;
  box-shadow: 0 0 0 5px rgba(54, 201, 138, .11);
}
.route-atlas__canvas {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border: 1px solid #d9e5ed;
  border-radius: 24px 24px 5px 24px;
  background: #f7fafc;
  isolation: isolate;
}
.route-atlas__map { width: 100%; height: auto; display: block; }
.route-atlas__roads path { stroke: #abc0cf; stroke-width: 2; stroke-dasharray: 3 7; opacity: .72; }
.route-atlas__road-labels text { fill: #8094a5; font: 700 11px Manrope, sans-serif; letter-spacing: .08em; }
.route-atlas__active-route {
  fill: none;
  stroke: #1174cc;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 10 10;
  filter: drop-shadow(0 4px 5px rgba(17, 116, 204, .18));
  animation: atlasRoute 1.15s linear infinite;
  transition: d .45s var(--ease);
}
@keyframes atlasRoute { to { stroke-dashoffset: -20; } }

.route-atlas__point {
  cursor: pointer;
  opacity: 1;
  transition: opacity .25s var(--ease), transform .25s var(--ease);
  outline: none;
}
.route-atlas__point-hit { fill: transparent; }
.route-atlas__point-pulse {
  fill: rgba(17, 116, 204, .12);
  stroke: rgba(17, 116, 204, .22);
  stroke-width: 1;
  transform-origin: center;
  opacity: 0;
}
.route-atlas__point-core {
  fill: #fff;
  stroke: #0b66b4;
  stroke-width: 4;
  filter: drop-shadow(0 4px 5px rgba(6, 61, 111, .2));
  transition: fill .22s var(--ease), stroke .22s var(--ease), r .22s var(--ease);
}
.route-atlas__point-label {
  fill: #082d55;
  stroke: rgba(255, 255, 255, .97);
  stroke-width: 7;
  paint-order: stroke fill;
  font: 800 12px Manrope, sans-serif;
  letter-spacing: -.02em;
  text-anchor: middle;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity .22s var(--ease), transform .22s var(--ease);
}
.route-atlas__point:hover .route-atlas__point-label,
.route-atlas__point:focus .route-atlas__point-label,
.route-atlas__point.is-active .route-atlas__point-label { opacity: 1; transform: translateY(0); }
.route-atlas__point:hover .route-atlas__point-core,
.route-atlas__point:focus .route-atlas__point-core { fill: #e2f3ff; }
.route-atlas__point.is-active .route-atlas__point-core { r: 9; fill: #1174cc; stroke: #fff; }
.route-atlas__point.is-active .route-atlas__point-pulse { opacity: 1; animation: atlasBeacon 2.3s ease-out infinite; }
.route-atlas__point.is-filtered-out { opacity: .12; pointer-events: none; }
@keyframes atlasBeacon {
  0% { r: 9; opacity: .72; }
  75%, 100% { r: 24; opacity: 0; }
}

.route-atlas__compass {
  position: absolute;
  right: 18px;
  top: 18px;
  width: 38px;
  height: 48px;
  border: 1px solid rgba(119, 153, 177, .34);
  border-radius: 12px 12px 4px 12px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 3px;
  color: #527089;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 8px 18px rgba(16, 61, 94, .09);
  font-size: .55rem;
  font-weight: 800;
}
.route-atlas__compass i { width: 1px; height: 16px; background: linear-gradient(#1174cc 0 50%, #c4d1db 50%); }
.route-atlas__legend {
  position: absolute;
  left: 18px;
  bottom: 17px;
  padding: 9px 12px;
  border: 1px solid rgba(119, 153, 177, .25);
  border-radius: 10px 10px 3px 10px;
  display: flex;
  gap: 14px;
  color: #6e8091;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 8px 18px rgba(16, 61, 94, .07);
  font-size: .49rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.route-atlas__legend span { display: flex; align-items: center; gap: 6px; }
.route-atlas__legend i { width: 8px; height: 8px; border: 2px solid #1174cc; border-radius: 50%; background: #fff; }
.route-atlas__legend b { width: 16px; height: 2px; background: #1174cc; }

.coverage-panel {
  min-width: 0;
  padding: clamp(31px, 3vw, 47px);
  border-radius: 31px 31px 31px 8px;
  display: flex;
  flex-direction: column;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgba(80, 177, 241, .25), transparent 34%),
    linear-gradient(145deg, #061d38, #0a477f);
  box-shadow: 0 24px 60px rgba(6, 34, 62, .2);
}
.coverage-panel__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, .65);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.coverage-panel__region {
  margin: auto 0 6px;
  color: #75c5f8;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.coverage-panel h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.05rem, 3vw, 3.15rem);
  line-height: 1;
  letter-spacing: -.055em;
}
.coverage-panel__note { margin: 16px 0 24px; color: rgba(255, 255, 255, .67); font-size: .77rem; line-height: 1.7; }
.coverage-panel__actions { display: flex; align-items: center; gap: 17px; }
.coverage-panel__actions .button { min-height: 49px; padding-inline: 19px; font-size: .73rem; }
.coverage-panel__actions > a {
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .35);
  font-size: .7rem;
  font-weight: 750;
}
.coverage-panel__index { margin-top: 33px; padding-top: 23px; border-top: 1px solid rgba(255, 255, 255, .12); }
.coverage-panel__index > div:first-child { margin-bottom: 13px; display: flex; justify-content: space-between; gap: 12px; }
.coverage-panel__index > div:first-child span { font-size: .61rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.coverage-panel__index > div:first-child small { color: rgba(255, 255, 255, .44); font-size: .56rem; }
.coverage-panel__cities {
  max-height: 188px;
  padding-right: 6px;
  overflow: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .28) transparent;
}
.coverage-panel__cities button {
  min-width: 0;
  min-height: 34px;
  padding: 6px 9px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 9px 9px 3px 9px;
  color: rgba(255, 255, 255, .68);
  background: rgba(255, 255, 255, .045);
  font: 650 .58rem Manrope, sans-serif;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  transition: .2s var(--ease);
}
.coverage-panel__cities button:hover,
.coverage-panel__cities button.is-active { color: #082d55; border-color: #fff; background: #fff; }
.coverage-panel__index > a {
  margin-top: 17px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #87cffb;
  font-size: .62rem;
  font-weight: 750;
}
.coverage-panel__index > a svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }

/* Locations page hero */
.locations-hero {
  position: relative;
  min-height: 690px;
  overflow: hidden;
  background:
    radial-gradient(circle at 83% 22%, rgba(48, 148, 219, .18), transparent 28%),
    linear-gradient(135deg, #f8fbfd 0%, #edf5fa 54%, #e3f0f8 100%);
  isolation: isolate;
}
.locations-hero::before {
  content: "";
  position: absolute;
  right: -11vw;
  top: -18vw;
  width: 53vw;
  height: 53vw;
  border: 1px solid rgba(28, 126, 193, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(28, 126, 193, .025), 0 0 0 160px rgba(28, 126, 193, .018);
}
.locations-hero__mesh {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .35;
  background-image: linear-gradient(rgba(37, 93, 135, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(37, 93, 135, .05) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, transparent, #000 45%, #000);
}
.locations-hero__grid {
  min-height: 690px;
  padding-block: clamp(78px, 8vw, 118px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(450px, .78fr);
  align-items: center;
  gap: clamp(62px, 8vw, 124px);
}
.locations-hero__content { position: relative; z-index: 2; }
.locations-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #46627a;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.locations-hero h1 {
  max-width: 830px;
  margin: 23px 0 25px;
  font-size: clamp(4.25rem, 6.7vw, 7.2rem);
  line-height: .89;
  letter-spacing: -.075em;
}
.locations-hero h1 em { color: var(--blue-600); }
.locations-hero__content > p { max-width: 615px; margin: 0; color: #506477; font-size: 1rem; line-height: 1.8; }
.locations-hero__actions { margin-top: 31px; display: flex; flex-wrap: wrap; gap: 11px; }
.locations-hero__facts { margin-top: 42px; display: flex; align-items: center; gap: 24px; }
.locations-hero__facts span { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 9px; }
.locations-hero__facts strong { color: #082d55; font-size: 1.55rem; line-height: 1; letter-spacing: -.05em; }
.locations-hero__facts small { max-width: 74px; color: #6b7d8d; font-size: .55rem; font-weight: 750; line-height: 1.35; letter-spacing: .06em; text-transform: uppercase; }
.locations-hero__facts > i { width: 1px; height: 26px; background: #c8d6e0; }

.dispatch-card {
  position: relative;
  z-index: 2;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 42px 42px 12px 42px;
  background: rgba(255, 255, 255, .58);
  box-shadow: 0 35px 100px rgba(12, 61, 99, .16);
  backdrop-filter: blur(16px);
  transform: rotate(1.5deg);
}
.dispatch-card::before {
  content: "";
  position: absolute;
  inset: 26px -20px -20px 24px;
  z-index: -1;
  border: 1px solid rgba(81, 143, 187, .18);
  border-radius: 42px 42px 12px 42px;
  background: rgba(255, 255, 255, .32);
  transform: rotate(-4deg);
}
.dispatch-card__top,
.dispatch-card__foot {
  min-height: 60px;
  padding-inline: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.dispatch-card__top span { color: #49637a; font-size: .6rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.dispatch-card__top b { margin-right: 8px; padding: 5px 7px; border-radius: 7px 7px 3px 7px; color: #fff; background: #0b5eae; font-size: .52rem; }
.dispatch-card__top small { color: #7e90a1; font-size: .56rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dispatch-card__body {
  position: relative;
  padding: 25px 25px 25px 36px;
  border: 1px solid #dce7ee;
  border-radius: 30px 30px 7px 30px;
  display: grid;
  gap: 10px;
  background: linear-gradient(145deg, #fff, #f1f7fb);
}
.dispatch-card__line { position: absolute; left: 58px; top: 58px; bottom: 58px; width: 2px; background: #d5e3ed; }
.dispatch-card__line i { display: block; width: 100%; height: 44%; background: linear-gradient(#1174cc, #5eb7ed); animation: dispatchLine 3.6s ease-in-out infinite alternate; }
@keyframes dispatchLine { to { height: 100%; } }
.dispatch-stop {
  position: relative;
  z-index: 1;
  min-height: 72px;
  padding: 12px 15px 12px 0;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
}
.dispatch-stop > span {
  width: 46px;
  height: 46px;
  border: 6px solid #f7fafc;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #6b8093;
  background: #e4edf3;
  box-shadow: 0 0 0 1px #cedde7;
  font-size: .56rem;
  font-weight: 800;
}
.dispatch-stop.is-active > span { color: #fff; background: #1174cc; box-shadow: 0 0 0 1px #1174cc, 0 8px 18px rgba(17, 116, 204, .2); }
.dispatch-stop div { display: grid; gap: 4px; }
.dispatch-stop small { color: #8696a5; font-size: .52rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.dispatch-stop strong { color: #0a2d4f; font-size: .79rem; }
.dispatch-stop > b { color: #7c8c9b; font-size: .55rem; font-weight: 750; }
.dispatch-card__foot span { display: flex; align-items: center; gap: 8px; color: #4a6379; font-size: .58rem; font-weight: 750; }
.dispatch-card__foot span i { width: 7px; height: 7px; border-radius: 50%; background: #36c98a; box-shadow: 0 0 0 5px rgba(54, 201, 138, .1); }
.dispatch-card__foot small { color: #8998a6; font-size: .54rem; }

/* Full coverage explorer */
.location-explorer { background: #fff; }
.location-explorer__header,
.location-directory__header {
  margin-bottom: 43px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .55fr);
  align-items: end;
  gap: 65px;
}
.location-explorer__header h2,
.location-directory__header h2,
.location-faq h2 {
  max-width: 800px;
  margin: 18px 0 0;
  font-size: clamp(3.3rem, 5.6vw, 5.7rem);
  line-height: .96;
  letter-spacing: -.067em;
}
.location-explorer__header h2 em,
.location-directory__header h2 em,
.location-faq h2 em { color: var(--blue-600); }
.location-explorer__header > p,
.location-directory__header > p { margin: 0 0 6px; color: #617386; font-size: .9rem; line-height: 1.78; }

.location-tools {
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #dce6ed;
  border-radius: 21px 21px 7px 21px;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: 10px;
  background: #f6f9fb;
}
.location-search { position: relative; display: block; }
.location-search > svg {
  position: absolute;
  left: 18px;
  top: 50%;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: #587187;
  stroke-width: 1.8;
  transform: translateY(-50%);
  pointer-events: none;
}
.location-search input {
  width: 100%;
  height: 56px;
  padding: 0 70px 0 50px;
  border: 1px solid #d4e0e8;
  border-radius: 15px 15px 5px 15px;
  color: #0a2d4f;
  background: #fff;
  font: 650 .72rem Manrope, sans-serif;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.location-search input:focus { border-color: #64afe4; box-shadow: 0 0 0 4px rgba(37, 139, 224, .09); }
.location-search input::placeholder { color: #95a2ad; }
.location-search button {
  position: absolute;
  right: 9px;
  top: 50%;
  min-width: 51px;
  height: 37px;
  padding: 0 10px;
  border: 0;
  border-radius: 10px 10px 4px 10px;
  color: #6a7d8e;
  background: #eef3f7;
  font: 750 .54rem Manrope, sans-serif;
  cursor: pointer;
  transform: translateY(-50%);
}
.location-filters { min-width: 0; display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.location-filters::-webkit-scrollbar { display: none; }
.location-filters button {
  min-height: 43px;
  padding: 0 15px;
  border: 1px solid transparent;
  border-radius: 13px 13px 4px 13px;
  flex: 0 0 auto;
  color: #617487;
  background: transparent;
  font: 750 .59rem Manrope, sans-serif;
  cursor: pointer;
  transition: .2s var(--ease);
}
.location-filters button:hover { color: #0b5eae; background: #fff; }
.location-filters button.is-active { color: #fff; background: #0b5eae; box-shadow: 0 8px 19px rgba(11, 94, 174, .18); }

.location-explorer__stage { grid-template-columns: minmax(0, 1.42fr) minmax(330px, .58fr); }
.route-atlas--full { min-height: 100%; }
.coverage-panel--page .coverage-panel__region { margin-top: auto; }
.coverage-panel__details { margin: 4px 0 25px; border-top: 1px solid rgba(255, 255, 255, .12); border-bottom: 1px solid rgba(255, 255, 255, .12); }
.coverage-panel__details > div { min-height: 49px; display: grid; grid-template-columns: 82px 1fr; align-items: center; gap: 12px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.coverage-panel__details > div:last-child { border-bottom: 0; }
.coverage-panel__details dt { color: rgba(255, 255, 255, .46); font-size: .53rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.coverage-panel__details dd { margin: 0; color: rgba(255, 255, 255, .82); font-size: .64rem; font-weight: 650; }
.coverage-panel__fine { margin: 23px 0 0; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .45); font-size: .6rem; line-height: 1.65; }

/* City directory */
.location-directory {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 14%, rgba(45, 143, 211, .1), transparent 26%),
    #f2f7fa;
}
.location-directory__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.location-card {
  position: relative;
  min-height: 255px;
  padding: 25px;
  overflow: hidden;
  border: 1px solid #dce6ed;
  border-radius: 25px 25px 7px 25px;
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 10px 28px rgba(14, 60, 95, .045);
  transition: transform .25s var(--ease), border-color .25s, box-shadow .25s;
}
.location-card::after {
  content: "";
  position: absolute;
  right: -30px;
  top: -30px;
  width: 105px;
  height: 105px;
  border: 1px solid rgba(17, 116, 204, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 18px rgba(17, 116, 204, .025);
}
.location-card:hover { border-color: #a9cce5; box-shadow: 0 17px 40px rgba(14, 60, 95, .09); transform: translateY(-4px); }
.location-card.is-selected { border-color: #5ca9de; box-shadow: 0 18px 44px rgba(17, 116, 204, .12); }
.location-card > div { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.location-card > div span { color: #0b67b6; font-size: .62rem; font-weight: 800; }
.location-card > div small { color: #8393a1; font-size: .52rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.location-card h3 { position: relative; z-index: 1; margin: 34px 0 10px; font-size: 1.45rem; letter-spacing: -.045em; }
.location-card p { position: relative; z-index: 1; margin: 0 0 24px; color: #6b7c8c; font-size: .71rem; line-height: 1.66; }
.location-card button {
  position: relative;
  z-index: 1;
  width: max-content;
  margin-top: auto;
  padding: 0;
  border: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0b5eae;
  background: transparent;
  font: 800 .62rem Manrope, sans-serif;
  cursor: pointer;
}
.location-card button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .2s; }
.location-card button:hover svg { transform: translateX(4px); }
.location-directory__empty { padding: 44px; border: 1px dashed #b9cbd8; border-radius: 25px; text-align: center; background: rgba(255, 255, 255, .8); }
.location-directory__empty strong { display: block; font-size: 1.25rem; }
.location-directory__empty p { margin: 9px auto 20px; color: #6c7e8e; font-size: .77rem; }

/* Coverage process and FAQ */
.coverage-process {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #051b34, #082f59 62%, #084a82);
}
.coverage-process::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .26;
  background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(90deg, #000, transparent);
}
.coverage-process__header { position: relative; z-index: 1; }
.coverage-process__header h2 {
  max-width: 900px;
  margin: 18px 0 0;
  color: #fff;
  font-size: clamp(3.3rem, 5.6vw, 5.7rem);
  line-height: .96;
  letter-spacing: -.067em;
}
.coverage-process__header h2 em { color: #77c8f8; }
.coverage-process__steps { position: relative; z-index: 1; margin-top: 58px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.coverage-process__steps article { min-height: 315px; padding: 30px; border: 1px solid rgba(255,255,255,.11); border-radius: 27px 27px 8px 27px; background: rgba(255,255,255,.045); backdrop-filter: blur(5px); }
.coverage-process__steps article > span { color: rgba(255,255,255,.34); font-size: .58rem; font-weight: 800; letter-spacing: .14em; }
.coverage-process__steps article > div { width: 58px; height: 58px; margin: 62px 0 25px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px 18px 5px 18px; display: grid; place-items: center; color: #82cffb; background: rgba(255,255,255,.06); }
.coverage-process__steps svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.coverage-process__steps h3 { margin: 0 0 10px; color: #fff; font-size: 1.05rem; }
.coverage-process__steps p { margin: 0; color: rgba(255,255,255,.57); font-size: .72rem; line-height: 1.72; }

.location-faq { background: #fff; }
.location-faq__grid { display: grid; grid-template-columns: minmax(320px, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(60px, 8vw, 120px); }
.location-faq h2 { margin-bottom: 23px; }
.location-faq__grid > div:first-child > p { max-width: 440px; margin: 0 0 28px; color: #647588; font-size: .86rem; line-height: 1.75; }

.final-cta--locations .final-cta__inner { min-height: 520px; }

@media (max-width: 1180px) {
  .coverage-preview__stage,
  .location-explorer__stage { grid-template-columns: minmax(0, 1.28fr) minmax(315px, .72fr); }
  .coverage-panel { padding: 31px 28px; }
  .coverage-panel__cities { grid-template-columns: 1fr; }
  .locations-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(390px, .78fr); gap: 58px; }
  .locations-hero h1 { font-size: clamp(4rem, 6.5vw, 6.1rem); }
}

@media (max-width: 980px) {
  .coverage-preview__header,
  .location-explorer__header,
  .location-directory__header { grid-template-columns: 1fr; align-items: start; gap: 24px; }
  .coverage-preview__intro { max-width: 650px; }
  .coverage-preview__stage,
  .location-explorer__stage { grid-template-columns: 1fr; border-radius: 32px 32px 10px 32px; }
  .coverage-panel { min-height: 470px; }
  .coverage-panel__region { margin-top: 30px; }
  .coverage-panel__cities { max-height: 145px; grid-template-columns: repeat(3, 1fr); }
  .locations-hero__grid { grid-template-columns: 1fr; gap: 58px; }
  .locations-hero__content { max-width: 760px; }
  .locations-hero h1 { max-width: 760px; font-size: clamp(4.1rem, 10vw, 6rem); }
  .dispatch-card { width: min(650px, calc(100% - 30px)); margin: 0 auto 30px; }
  .location-tools { grid-template-columns: 1fr; }
  .location-directory__grid { grid-template-columns: repeat(2, 1fr); }
  .location-faq__grid { grid-template-columns: 1fr; gap: 50px; }
}

@media (max-width: 700px) {
  .coverage-preview { padding-block: 86px 92px; }
  .coverage-preview::before { top: 34px; font-size: 15rem; }
  .coverage-preview__header h2,
  .location-explorer__header h2,
  .location-directory__header h2,
  .location-faq h2,
  .coverage-process__header h2 { font-size: clamp(2.55rem, 11.7vw, 3.75rem); }
  .coverage-preview__intro p,
  .location-explorer__header > p,
  .location-directory__header > p { font-size: .82rem; }
  .coverage-preview__stage,
  .location-explorer__stage { padding: 6px; border-radius: 27px 27px 8px 27px; }
  .route-atlas { padding: 8px; border-radius: 22px 22px 6px 22px; }
  .route-atlas__topbar { min-height: 39px; padding: 0 5px 9px; font-size: .45rem; letter-spacing: .09em; }
  .route-atlas__topbar > span:last-child { max-width: 142px; justify-content: flex-end; text-align: right; }
  .route-atlas__canvas { border-radius: 17px 17px 4px 17px; }
  .route-atlas__compass { right: 9px; top: 9px; width: 31px; height: 39px; }
  .route-atlas__legend { left: 9px; bottom: 8px; padding: 6px 8px; gap: 9px; font-size: .38rem; }
  .route-atlas__point-label { font-size: 10px; stroke-width: 6; }
  .coverage-panel { min-height: 0; padding: 30px 24px; border-radius: 22px 22px 22px 6px; }
  .coverage-panel h3 { font-size: clamp(2.05rem, 10vw, 2.75rem); }
  .coverage-panel__actions { align-items: stretch; flex-direction: column; }
  .coverage-panel__actions > a { width: max-content; }
  .coverage-panel__cities { max-height: 191px; grid-template-columns: 1fr 1fr; }
  .locations-hero { min-height: 0; }
  .locations-hero__grid { min-height: 0; padding-block: 73px 92px; }
  .locations-hero h1 { margin-top: 20px; font-size: clamp(3.2rem, 14vw, 4.55rem); line-height: .91; }
  .locations-hero__content > p { font-size: .86rem; }
  .locations-hero__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .locations-hero__actions .button { min-width: 0; padding-inline: 12px; font-size: .74rem; }
  .locations-hero__facts { gap: 13px; }
  .locations-hero__facts span { grid-template-columns: 1fr; gap: 5px; }
  .locations-hero__facts small { max-width: 90px; }
  .dispatch-card { width: calc(100% - 12px); padding: 7px; border-radius: 29px 29px 9px 29px; }
  .dispatch-card::before { inset: 16px -9px -12px 13px; }
  .dispatch-card__top, .dispatch-card__foot { min-height: 51px; padding-inline: 13px; }
  .dispatch-card__body { padding: 18px 15px 18px 20px; border-radius: 23px 23px 6px 23px; }
  .dispatch-card__line { left: 41px; top: 47px; bottom: 47px; }
  .dispatch-stop { min-height: 64px; grid-template-columns: 41px minmax(0,1fr); gap: 10px; }
  .dispatch-stop > span { width: 41px; height: 41px; }
  .dispatch-stop > b { display: none; }
  .location-explorer,
  .location-directory,
  .coverage-process,
  .location-faq { padding-block: 86px; }
  .location-tools { padding: 7px; border-radius: 18px 18px 6px 18px; }
  .location-filters { padding-bottom: 2px; }
  .location-filters button { min-height: 40px; padding-inline: 13px; }
  .coverage-panel__details { margin-top: 8px; }
  .location-directory__grid { grid-template-columns: 1fr; }
  .location-card { min-height: 230px; }
  .coverage-process__steps { grid-template-columns: 1fr; }
  .coverage-process__steps article { min-height: 235px; }
  .coverage-process__steps article > div { margin-top: 38px; }
  .final-cta--locations .final-cta__inner { min-height: 540px; }
}

@media (max-width: 430px) {
  .route-atlas__topbar > span:last-child { display: none; }
  .route-atlas__legend span:last-child { display: none; }
  .coverage-panel__cities { grid-template-columns: 1fr; }
  .locations-hero__actions { grid-template-columns: 1fr; }
  .locations-hero__facts { justify-content: space-between; }
  .locations-hero__facts > i { display: none; }
  .dispatch-card__top small,
  .dispatch-card__foot small { display: none; }
  .location-search input { padding-right: 62px; font-size: .65rem; }
  .location-card { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .route-atlas__active-route,
  .route-atlas__point.is-active .route-atlas__point-pulse,
  .dispatch-card__line i { animation: none !important; }
}

/* Premium homepage coverage map */
.route-atlas__point-label[text-anchor="start"] { text-anchor: start; }
.route-atlas__point-label[text-anchor="end"] { text-anchor: end; }
.route-atlas__point-label[text-anchor="middle"] { text-anchor: middle; }

.coverage-preview--premium {
  padding-block: clamp(104px, 10vw, 154px);
  background:
    radial-gradient(circle at 7% 29%, rgba(88, 170, 225, .11), transparent 24%),
    radial-gradient(circle at 91% 7%, rgba(17, 116, 204, .08), transparent 28%),
    linear-gradient(180deg, #fbfcfd 0%, #f2f7fa 50%, #f8fafc 100%);
}
.coverage-preview--premium::before { display: none; }
.coverage-preview--premium .coverage-preview__header { margin-bottom: clamp(40px, 5vw, 68px); }
.coverage-preview--premium .coverage-preview__intro { max-width: 445px; justify-self: end; }

.coverage-showcase {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid rgba(130, 159, 181, .28);
  border-radius: 34px 34px 10px 34px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 38px 100px rgba(18, 64, 100, .13), 0 8px 25px rgba(18, 64, 100, .055);
  isolation: isolate;
}
.coverage-showcase::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 3;
  height: 3px;
  background: linear-gradient(90deg, #0b5eae 0%, #59b2e8 31%, rgba(89, 178, 232, 0) 78%);
  pointer-events: none;
}
.coverage-showcase__bar {
  min-height: 69px;
  padding: 0 clamp(22px, 3vw, 38px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  color: #617488;
  background: rgba(255, 255, 255, .92);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.coverage-showcase__bar > div { display: inline-flex; align-items: center; gap: 12px; }
.coverage-showcase__bar > div:last-child { color: #708396; }
.coverage-showcase__monogram {
  min-width: 42px;
  height: 28px;
  padding-inline: 8px;
  border-radius: 9px 9px 3px 9px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #082d55, #0b68b8);
  box-shadow: 0 8px 18px rgba(8, 63, 111, .18);
  font-size: .56rem;
  letter-spacing: .08em;
}

.service-map {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(151, 177, 196, .25);
  border-bottom: 1px solid rgba(151, 177, 196, .25);
  background: #f2f7fa;
  isolation: isolate;
}
.service-map__viewport {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(63, 113, 149, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(63, 113, 149, .025) 1px, transparent 1px);
  background-size: 52px 52px;
}
.service-map__svg { width: 100%; height: auto; display: block; }
.service-map__water { opacity: .78; }
.service-map__coast {
  stroke: rgba(26, 111, 167, .32);
  stroke-width: 1.5;
}
.service-map__contours path {
  stroke: rgba(83, 126, 157, .11);
  stroke-width: 1;
}
.service-map__roads path {
  stroke: rgba(110, 143, 167, .42);
  stroke-width: 1.35;
  stroke-dasharray: none;
}
.service-map__roads path:nth-child(2),
.service-map__roads path:nth-child(3) { stroke: rgba(79, 123, 155, .52); stroke-width: 1.8; }
.service-map__road-labels text {
  fill: #8497a7;
  font: 800 8px Manrope, sans-serif;
  letter-spacing: .12em;
}
.service-map__region-labels text {
  fill: rgba(34, 72, 101, .38);
  font: 800 8px Manrope, sans-serif;
  letter-spacing: .2em;
}
.service-map__active-route {
  stroke: url(#home-route-line);
  stroke-width: 2.7;
  stroke-dasharray: none;
  opacity: .76;
  filter: drop-shadow(0 3px 4px rgba(17, 116, 204, .18));
  animation: none;
}

.service-map .route-atlas__point-leader {
  stroke: rgba(23, 87, 133, .43);
  stroke-width: 1;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  opacity: .72;
  transition: opacity .22s var(--ease), stroke .22s var(--ease);
}
.service-map .route-atlas__point-core {
  r: 4.5px;
  fill: #0e6fbe;
  stroke: #fff;
  stroke-width: 2.4;
  filter: drop-shadow(0 3px 4px rgba(6, 61, 111, .22));
}
.service-map .route-atlas__point-pulse {
  fill: rgba(17, 116, 204, .12);
  stroke: rgba(17, 116, 204, .17);
  opacity: 0;
}
.service-map .route-atlas__point-label {
  fill: #183d5c;
  stroke: rgba(249, 252, 254, .96);
  stroke-width: 4.5;
  paint-order: stroke fill;
  font: 750 10.5px Manrope, sans-serif;
  letter-spacing: -.015em;
  opacity: 1;
  transform: none;
}
.service-map .route-atlas__point:hover .route-atlas__point-label,
.service-map .route-atlas__point:focus .route-atlas__point-label,
.service-map .route-atlas__point.is-active .route-atlas__point-label { fill: #075fa8; }
.service-map .route-atlas__point:hover .route-atlas__point-leader,
.service-map .route-atlas__point:focus .route-atlas__point-leader,
.service-map .route-atlas__point.is-active .route-atlas__point-leader { stroke: #0d70bf; opacity: 1; }
.service-map .route-atlas__point:hover .route-atlas__point-core,
.service-map .route-atlas__point:focus .route-atlas__point-core { r: 5.5px; fill: #0b67b6; }
.service-map .route-atlas__point.is-active .route-atlas__point-core {
  r: 6px;
  fill: #0b67b6;
  stroke-width: 3;
  filter: drop-shadow(0 5px 7px rgba(6, 82, 139, .35));
}
.service-map .route-atlas__point.is-active .route-atlas__point-pulse { opacity: 1; }

.service-map__compass {
  position: absolute;
  right: 24px;
  top: 22px;
  z-index: 3;
  width: 36px;
  height: 48px;
  border: 1px solid rgba(103, 139, 164, .28);
  border-radius: 18px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 3px;
  color: #48667f;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 9px 22px rgba(25, 73, 108, .08);
  backdrop-filter: blur(10px);
  font-size: .5rem;
  font-weight: 800;
}
.service-map__compass i { width: 1px; height: 17px; background: linear-gradient(#0f70bd 0 50%, #c8d5de 50%); }
.service-map__caption {
  position: absolute;
  left: 25px;
  bottom: 22px;
  z-index: 3;
  padding: 10px 13px;
  border: 1px solid rgba(103, 139, 164, .24);
  border-radius: 12px 12px 4px 12px;
  display: grid;
  gap: 1px;
  color: #31536d;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 9px 22px rgba(25, 73, 108, .07);
  backdrop-filter: blur(10px);
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.service-map__caption small { color: #8393a0; font-size: .42rem; font-weight: 700; letter-spacing: .08em; }
.service-map__mobile-hint { display: none; }

.coverage-showcase__selection {
  min-height: 158px;
  padding: 27px clamp(24px, 3.2vw, 42px);
  display: grid;
  grid-template-columns: minmax(235px, .8fr) minmax(280px, 1.15fr) auto;
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
  background: rgba(255, 255, 255, .96);
}
.coverage-selection__place { min-width: 0; }
.coverage-selection__place > div {
  margin-bottom: 7px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #718397;
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.coverage-selection__place > div .status-dot { width: 6px; height: 6px; flex-basis: 6px; }
.coverage-selection__place p {
  margin: 0 0 2px;
  color: #0b67b6;
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.coverage-selection__place h3 {
  margin: 0;
  color: #082d55;
  font-size: clamp(2rem, 3vw, 2.75rem);
  line-height: 1;
  letter-spacing: -.06em;
}
.coverage-selection__note {
  max-width: 455px;
  margin: 0;
  padding-left: 27px;
  border-left: 1px solid #dce6ed;
  color: #65788a;
  font-size: .73rem;
  line-height: 1.75;
}
.coverage-selection__actions { display: flex; align-items: center; gap: 18px; }
.coverage-selection__actions .button { min-height: 49px; padding-inline: 21px; font-size: .72rem; white-space: nowrap; }
.coverage-selection__actions > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #224660;
  font-size: .67rem;
  font-weight: 800;
  white-space: nowrap;
}
.coverage-selection__actions > a svg { width: 16px; height: 16px; fill: none; stroke: #0b67b6; stroke-width: 1.8; }

.coverage-showcase__index {
  min-height: 112px;
  padding: 23px clamp(24px, 3.2vw, 42px) 25px;
  border-top: 1px solid #e3ebf0;
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 26px;
  background: #f9fbfc;
}
.coverage-showcase__index-label { display: grid; gap: 2px; }
.coverage-showcase__index-label span {
  color: #294c66;
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.coverage-showcase__index-label small { color: #8998a5; font-size: .54rem; }
.coverage-showcase__cities { display: flex; flex-wrap: wrap; column-gap: 19px; row-gap: 8px; }
.coverage-showcase__cities button {
  position: relative;
  padding: 2px 0 3px 10px;
  border: 0;
  color: #718393;
  background: transparent;
  font: 700 .61rem Manrope, sans-serif;
  white-space: nowrap;
  cursor: pointer;
  transition: color .2s var(--ease);
}
.coverage-showcase__cities button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #a9b7c1;
  transform: translateY(-50%);
  transition: width .2s var(--ease), height .2s var(--ease), background .2s var(--ease);
}
.coverage-showcase__cities button:hover,
.coverage-showcase__cities button:focus-visible,
.coverage-showcase__cities button.is-active { color: #075fa8; }
.coverage-showcase__cities button.is-active::before { width: 5px; height: 5px; background: #0b70c3; }
.coverage-showcase__index > a {
  width: 42px;
  height: 42px;
  border: 1px solid #d3e1ea;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #0b67b6;
  background: #fff;
  transition: color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);
}
.coverage-showcase__index > a:hover { color: #fff; border-color: #0b67b6; background: #0b67b6; transform: translateX(3px); }
.coverage-showcase__index > a svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }

@media (max-width: 980px) {
  .coverage-preview--premium .coverage-preview__intro { max-width: none; justify-self: auto; }
  .coverage-showcase__selection {
    grid-template-columns: minmax(220px, .7fr) minmax(300px, 1.3fr);
    gap: 24px 40px;
  }
  .coverage-selection__actions { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid #e3ebf0; }
  .coverage-showcase__index { grid-template-columns: 110px minmax(0, 1fr) 42px; gap: 20px; }
  .coverage-showcase__cities { column-gap: 15px; }
}

@media (max-width: 700px) {
  .coverage-preview--premium { padding-block: 86px 94px; }
  .coverage-preview--premium .coverage-preview__header { margin-bottom: 35px; }
  .coverage-showcase { border-radius: 25px 25px 8px 25px; }
  .coverage-showcase__bar { min-height: 59px; padding-inline: 18px; }
  .coverage-showcase__bar > div:last-child > span:last-child { display: none; }
  .coverage-showcase__monogram { min-width: 38px; height: 26px; }
  .service-map__viewport {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
  }
  .service-map__viewport::-webkit-scrollbar { display: none; }
  .service-map__svg { min-width: 820px; scroll-snap-align: start; }
  .service-map__compass { right: 14px; top: 13px; }
  .service-map__caption { left: 13px; bottom: 13px; }
  .service-map__mobile-hint {
    position: absolute;
    right: 13px;
    bottom: 13px;
    z-index: 4;
    padding: 8px 10px;
    border: 1px solid rgba(103, 139, 164, .23);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #49657a;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 8px 18px rgba(25, 73, 108, .07);
    backdrop-filter: blur(9px);
    font-size: .47rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    pointer-events: none;
  }
  .service-map__mobile-hint svg { width: 13px; height: 13px; fill: none; stroke: #0b67b6; stroke-width: 1.8; }
  .service-map .route-atlas__point-label { font-size: 11.2px; stroke-width: 4; }
  .coverage-showcase__selection { min-height: 0; padding: 27px 21px; display: block; }
  .coverage-selection__note { max-width: none; margin-top: 22px; padding: 18px 0 0; border-top: 1px solid #e0e9ef; border-left: 0; }
  .coverage-selection__actions { margin-top: 22px; padding-top: 20px; }
  .coverage-showcase__index {
    min-height: 0;
    padding: 21px 0 23px;
    display: block;
  }
  .coverage-showcase__index-label { padding-inline: 21px; display: flex; align-items: center; justify-content: space-between; }
  .coverage-showcase__cities {
    margin-top: 15px;
    padding: 0 21px 8px;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 20px;
    scrollbar-width: none;
  }
  .coverage-showcase__cities::-webkit-scrollbar { display: none; }
  .coverage-showcase__cities button { flex: 0 0 auto; }
  .coverage-showcase__index > a { margin: 12px 0 0 21px; }
}

@media (max-width: 430px) {
  .coverage-showcase__bar > div:first-child > span:last-child { display: none; }
  .coverage-selection__place h3 { font-size: 2.15rem; }
  .coverage-selection__actions { align-items: stretch; flex-direction: column; }
  .coverage-selection__actions .button { width: 100%; }
  .coverage-selection__actions > a { align-self: center; }
  .service-map__mobile-hint { max-width: 132px; line-height: 1.3; }
}

@media (prefers-reduced-motion: reduce) {
  .service-map .route-atlas__point.is-active .route-atlas__point-pulse,
  .coverage-preview--premium .status-dot { animation: none !important; }
}

/* Premium homepage story: technician, pricing, journal, FAQ and booking */
.tech-spotlight {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 5% 12%, rgba(65, 155, 217, .1), transparent 25%),
    linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}
.tech-spotlight::before {
  content: "KFX";
  position: absolute;
  right: -1vw;
  top: 55px;
  color: rgba(8, 73, 126, .025);
  font-size: clamp(12rem, 24vw, 27rem);
  font-weight: 800;
  line-height: .75;
  letter-spacing: -.11em;
  pointer-events: none;
}
.tech-spotlight__header {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(45px, 6vw, 78px);
  display: grid;
  grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr);
  align-items: start;
  gap: clamp(45px, 7vw, 105px);
}
.tech-spotlight__header > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr); align-items: end; gap: 45px; }
.tech-spotlight__header h2 { margin: 0; font-size: clamp(3.4rem, 5.7vw, 5.9rem); line-height: .94; letter-spacing: -.07em; }
.tech-spotlight__header h2 em { color: var(--blue-600); }
.tech-spotlight__header p { margin: 0 0 5px; color: #65778a; font-size: .85rem; line-height: 1.78; }

.tech-profile {
  position: relative;
  z-index: 1;
  padding: 10px;
  border: 1px solid rgba(141, 169, 190, .32);
  border-radius: 42px 42px 12px 42px;
  display: grid;
  grid-template-columns: minmax(380px, .88fr) minmax(0, 1.12fr);
  gap: 10px;
  background: rgba(255, 255, 255, .74);
  box-shadow: 0 35px 100px rgba(15, 60, 94, .11);
}
.tech-profile__portrait {
  position: relative;
  min-height: 660px;
  margin: 0;
  overflow: hidden;
  border-radius: 33px 95px 9px 33px;
  background: #dfe9ef;
  isolation: isolate;
}
.tech-profile__portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 56%, rgba(5, 29, 52, .43));
  pointer-events: none;
}
.tech-profile__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transition: transform 1.1s var(--ease); }
.tech-profile:hover .tech-profile__portrait img { transform: scale(1.018); }
.tech-profile__image-code {
  position: absolute;
  left: 22px;
  top: 22px;
  z-index: 2;
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, .53);
  border-radius: 13px 13px 4px 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  background: rgba(6, 35, 62, .57);
  box-shadow: 0 10px 25px rgba(4, 32, 57, .13);
  backdrop-filter: blur(12px);
}
.tech-profile__image-code span { padding: 4px 6px; border-radius: 6px 6px 2px 6px; color: #082d55; background: #fff; font-size: .53rem; font-weight: 800; letter-spacing: .1em; }
.tech-profile__image-code small { color: rgba(255, 255, 255, .75); font-size: .5rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.tech-profile__portrait figcaption {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 21px;
  z-index: 2;
  min-height: 50px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, .43);
  border-radius: 15px 15px 5px 15px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: rgba(255, 255, 255, .85);
  background: rgba(5, 34, 60, .68);
  backdrop-filter: blur(14px);
  font-size: .58rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tech-profile__content {
  min-width: 0;
  padding: clamp(40px, 5vw, 73px);
  border-radius: 33px 33px 33px 9px;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 100% 0, rgba(74, 165, 226, .12), transparent 31%),
    #fff;
}
.tech-profile__identity > span { color: #0b67b6; font-size: .59rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.tech-profile__identity h3 { margin: 9px 0 13px; color: #082d55; font-size: clamp(3.4rem, 5.8vw, 6rem); line-height: .88; letter-spacing: -.075em; }
.tech-profile__identity p { max-width: 590px; margin: 0; color: #5f7183; font-size: .85rem; line-height: 1.83; }
.tech-profile__skills { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 8px; }
.tech-profile__skills span {
  min-height: 42px;
  padding: 8px 13px;
  border: 1px solid #dce7ee;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #3f586d;
  background: #f8fbfd;
  font-size: .62rem;
  font-weight: 750;
}
.tech-profile__skills svg { width: 17px; height: 17px; fill: none; stroke: #0c70bf; stroke-width: 1.5; }
.tech-profile__content blockquote {
  max-width: 620px;
  margin: auto 0 31px;
  padding: 38px 0 0 30px;
  border-left: 1px solid #bcd8ea;
  color: #173b57;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(1.55rem, 2.2vw, 2.15rem);
  font-style: italic;
  line-height: 1.35;
}
.tech-profile__standards { padding-block: 22px; border-top: 1px solid #e0e8ee; border-bottom: 1px solid #e0e8ee; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tech-profile__standards div { display: grid; gap: 5px; }
.tech-profile__standards strong { color: #0b67b6; font-size: .55rem; letter-spacing: .14em; }
.tech-profile__standards span { color: #405970; font-size: .62rem; font-weight: 750; }
.tech-profile__actions { margin-top: 30px; display: flex; align-items: center; flex-wrap: wrap; gap: 22px; }
.tech-profile__actions .button { min-height: 52px; font-size: .74rem; }
.tech-profile__actions .text-link { color: #31526c; font-size: .69rem; font-weight: 800; }

.faq--concierge {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 94% 8%, rgba(47, 145, 211, .09), transparent 24%),
    #fff;
}
.faq-studio { display: grid; grid-template-columns: minmax(300px, .68fr) minmax(0, 1.32fr); align-items: start; gap: clamp(55px, 8vw, 125px); }
.faq-studio__intro { position: sticky; top: 118px; }
.faq-studio__intro h2 { margin: 19px 0 24px; font-size: clamp(3.35rem, 5.45vw, 5.6rem); line-height: .94; letter-spacing: -.07em; }
.faq-studio__intro h2 em { color: var(--blue-600); }
.faq-studio__intro > p { max-width: 455px; margin: 0; color: #607285; font-size: .84rem; line-height: 1.8; }
.faq-contact-card {
  max-width: 440px;
  margin-top: 38px;
  padding: 24px;
  border: 1px solid #d8e5ed;
  border-radius: 23px 23px 6px 23px;
  background: linear-gradient(145deg, #f9fcfd, #edf6fa);
  box-shadow: 0 18px 45px rgba(17, 66, 100, .08);
}
.faq-contact-card > div { display: flex; align-items: center; gap: 10px; color: #718394; }
.faq-contact-card > div small { font-size: .53rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.faq-contact-card > strong { display: block; margin: 18px 0 9px; color: #0a477f; font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1; letter-spacing: -.055em; }
.faq-contact-card p { margin: 0; color: #6b7d8d; font-size: .66rem; line-height: 1.68; }
.faq-contact-card > a { margin-top: 18px; display: inline-flex; align-items: center; gap: 9px; color: #0b67b6; font-size: .65rem; font-weight: 800; }
.faq-contact-card > a svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.faq-list--cards { border-top: 0; display: grid; gap: 10px; }
.faq-list--cards details { overflow: hidden; border: 1px solid #dce6ed; border-radius: 20px 20px 6px 20px; background: #fbfcfd; transition: border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease); }
.faq-list--cards details[open] { border-color: #bbd9ec; background: #f3f9fc; box-shadow: 0 17px 42px rgba(16, 65, 99, .075); }
.faq-list--cards summary { min-height: 86px; padding: 20px 64px 20px 23px; display: grid; grid-template-columns: 39px minmax(0, 1fr); gap: 14px; }
.faq-list--cards summary > span { width: 39px; height: 39px; border: 1px solid #d1e1eb; border-radius: 50%; display: grid; place-items: center; color: #0b67b6; background: #fff; font-size: .53rem; font-weight: 800; letter-spacing: .08em; }
.faq-list--cards summary > strong { color: #29485f; font-size: .78rem; line-height: 1.5; }
.faq-list--cards summary i,
.faq-list--cards summary i::after { right: 25px; width: 14px; }
.faq-list--cards details p { max-width: 720px; margin: -7px 60px 25px 76px; color: #617486; font-size: .72rem; line-height: 1.8; }

.final-cta--booking {
  position: relative;
  color: var(--ink);
  background:
    radial-gradient(circle at 9% 0, rgba(65, 161, 225, .17), transparent 28%),
    linear-gradient(135deg, #eaf3f8 0%, #f8fbfc 52%, #e4f1f8 100%);
}
.final-cta--booking .section-kicker { color: #0b67b6; }
.final-cta--booking::before { right: auto; left: -190px; top: -330px; border-color: rgba(12, 112, 187, .13); box-shadow: 0 0 0 80px rgba(12, 112, 187, .025), 0 0 0 160px rgba(12, 112, 187, .018); }
.final-cta--booking .final-cta__grid { opacity: .28; background-image: linear-gradient(rgba(40, 105, 150, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(40, 105, 150, .08) 1px, transparent 1px); mask-image: radial-gradient(circle at 50% 50%, #000, transparent 78%); }
.final-booking { position: relative; z-index: 2; min-height: 620px; padding-block: clamp(84px, 9vw, 128px); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(400px, .72fr); align-items: center; gap: clamp(70px, 9vw, 140px); }
.final-booking__copy h2 { margin: 20px 0 25px; color: #092d50; font-size: clamp(3.8rem, 6.5vw, 6.8rem); line-height: .9; letter-spacing: -.075em; }
.final-booking__copy h2 em { color: var(--blue-600); }
.final-booking__copy > p { max-width: 610px; margin: 0; color: #5d7184; font-size: .9rem; line-height: 1.8; }
.final-booking__ticket {
  position: relative;
  padding: 10px 34px 30px;
  border: 1px solid rgba(133, 164, 186, .34);
  border-radius: 35px 35px 9px 35px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 30px 90px rgba(13, 61, 97, .14);
  backdrop-filter: blur(14px);
}
.final-booking__ticket::before,
.final-booking__ticket::after { content: ""; position: absolute; left: -10px; top: 116px; width: 20px; height: 20px; border: 1px solid rgba(133, 164, 186, .28); border-radius: 50%; background: #e9f3f8; }
.final-booking__ticket::after { left: auto; right: -10px; }
.final-booking__ticket-top { min-height: 70px; margin-bottom: 25px; border-bottom: 1px dashed #c9d9e3; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.final-booking__ticket-top span { display: flex; align-items: center; gap: 9px; color: #526b7f; font-size: .54rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.final-booking__ticket-top span i { width: 7px; height: 7px; border-radius: 50%; background: #38c887; box-shadow: 0 0 0 5px rgba(56, 200, 135, .1); }
.final-booking__ticket-top small { color: #8b9aa7; font-size: .5rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.final-booking__ticket h3 { margin: 0 0 23px; color: #153c5a; font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1.02; letter-spacing: -.055em; }
.final-booking__ticket ul { margin: 0; padding: 0; display: grid; gap: 12px; list-style: none; }
.final-booking__ticket li { display: flex; align-items: center; gap: 10px; color: #5a7082; font-size: .67rem; }
.final-booking__ticket li svg { width: 17px; height: 17px; padding: 3px; border: 1px solid #bcd9eb; border-radius: 50%; fill: none; stroke: #0b67b6; stroke-width: 2; }
.final-booking__actions { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.final-booking__actions .button { min-width: 0; padding-inline: 14px; font-size: .72rem; }
.final-booking__ticket > p { margin: 18px 0 0; color: #8a99a6; font-size: .53rem; text-align: center; }

@media (max-width: 1180px) {
  .tech-spotlight__header > div { grid-template-columns: 1fr; gap: 20px; }
  .tech-profile { grid-template-columns: minmax(340px, .8fr) minmax(0, 1.2fr); }
  .tech-profile__content { padding: 42px; }
}

@media (max-width: 980px) {
  .tech-spotlight__header { grid-template-columns: 1fr; gap: 24px; }
  .tech-profile { grid-template-columns: 1fr; }
  .tech-profile__portrait { width: 74%; min-height: 0; height: min(92vw, 760px); margin-left: auto; border-radius: 33px 85px 9px 33px; }
  .tech-profile__content { min-height: 620px; }
  .faq-studio { grid-template-columns: 1fr; gap: 55px; }
  .faq-studio__intro { position: static; }
  .faq-contact-card { max-width: 600px; }
  .final-booking { grid-template-columns: 1fr; gap: 52px; }
  .final-booking__ticket { width: min(100%, 600px); margin-left: auto; }
}

@media (max-width: 700px) {
  .tech-spotlight__header h2,
  .faq-studio__intro h2 { font-size: clamp(2.55rem, 11.6vw, 3.7rem); }
  .tech-spotlight__header { margin-bottom: 35px; }
  .tech-spotlight__header > div { display: block; }
  .tech-spotlight__header p { margin-top: 22px; font-size: .79rem; }
  .tech-profile { padding: 7px; border-radius: 28px 28px 8px 28px; }
  .tech-profile__portrait { width: 100%; height: 126vw; max-height: 610px; border-radius: 23px 68px 6px 23px; }
  .tech-profile__portrait figcaption { left: 13px; right: 13px; bottom: 13px; padding-inline: 12px; font-size: .48rem; }
  .tech-profile__image-code { left: 13px; top: 13px; }
  .tech-profile__content { min-height: 0; padding: 34px 23px 28px; border-radius: 22px 22px 22px 6px; }
  .tech-profile__identity h3 { font-size: 3.6rem; }
  .tech-profile__identity p { font-size: .76rem; }
  .tech-profile__content blockquote { margin: 38px 0 27px; padding: 27px 0 0 20px; font-size: 1.45rem; }
  .tech-profile__standards { grid-template-columns: 1fr; gap: 13px; }
  .tech-profile__standards div { grid-template-columns: 32px 1fr; align-items: center; }
  .tech-profile__actions { align-items: stretch; flex-direction: column; }
  .tech-profile__actions .button { width: 100%; }
  .tech-profile__actions .text-link { align-self: center; }

  .faq-studio { gap: 39px; }
  .faq-studio__intro > p { font-size: .78rem; }
  .faq-contact-card { margin-top: 28px; padding: 21px; }
  .faq-list--cards summary { min-height: 78px; padding: 17px 49px 17px 16px; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; }
  .faq-list--cards summary > span { width: 34px; height: 34px; }
  .faq-list--cards summary > strong { font-size: .72rem; }
  .faq-list--cards summary i,
  .faq-list--cards summary i::after { right: 18px; }
  .faq-list--cards details p { margin: -3px 23px 22px 60px; font-size: .68rem; }

  .final-booking { min-height: 0; padding-block: 84px; }
  .final-booking__copy h2 { font-size: clamp(3.1rem, 14vw, 4.55rem); }
  .final-booking__copy > p { font-size: .82rem; }
  .final-booking__ticket { padding: 8px 22px 25px; border-radius: 28px 28px 8px 28px; }
  .final-booking__ticket h3 { font-size: 2rem; }
  .final-booking__actions { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .faq-list--cards details p { margin-left: 17px; }
  .final-booking__ticket-top small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .tech-profile:hover .tech-profile__portrait img { transform: none; }
}

/* Premium service concierge header */
:root { --header-height: 78px; }

.site-header--concierge {
  isolation: isolate;
  background: rgba(253, 254, 255, .94);
  border-bottom-color: rgba(174, 193, 208, .48);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .9);
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
}

.site-header--concierge::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, #071c31 0 17%, #0d68b7 48%, #64b9f2 72%, rgba(100, 185, 242, 0) 100%);
  opacity: .88;
}

.site-header--concierge.is-scrolled {
  background: rgba(253, 254, 255, .975);
  box-shadow: 0 12px 34px rgba(7, 36, 66, .085), 0 1px 0 rgba(255, 255, 255, .82) inset;
}

.site-header--concierge .site-header__inner {
  position: relative;
  z-index: 2;
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}

.site-header--concierge .brand {
  width: 118px;
  height: 51px;
  transition: opacity .25s var(--ease), transform .25s var(--ease);
}

.site-header--concierge .brand img { width: 118px; }
.site-header--concierge .brand:hover { opacity: .88; transform: translateY(-1px); }

.site-header--concierge .desktop-nav {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 0;
  height: 36px;
  padding-inline: clamp(13px, 1.35vw, 21px);
  gap: clamp(17px, 1.55vw, 27px);
  border-left: 1px solid rgba(161, 184, 201, .3);
  border-right: 1px solid rgba(161, 184, 201, .3);
  transform: translate(-50%, -50%);
}

.site-header--concierge .desktop-nav a {
  padding-block: 9px;
  color: #1d3249;
  font-size: clamp(.76rem, .67vw, .82rem);
  font-weight: 730;
  letter-spacing: -.012em;
  line-height: 1;
  transition: color .24s var(--ease), transform .24s var(--ease);
}

.site-header--concierge .desktop-nav a::after {
  left: 50%;
  right: auto;
  bottom: 0;
  width: 0;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--blue-700), #63baf1);
  box-shadow: 0 2px 8px rgba(17, 116, 204, .24);
  transform: translateX(-50%);
  transition: width .28s var(--ease);
}

.site-header--concierge .desktop-nav a:hover,
.site-header--concierge .desktop-nav a:focus-visible,
.site-header--concierge .desktop-nav a.is-current,
.site-header--concierge .desktop-nav a[aria-current="page"] { color: var(--blue-800); }

.site-header--concierge .desktop-nav a:hover::after,
.site-header--concierge .desktop-nav a:focus-visible::after,
.site-header--concierge .desktop-nav a.is-current::after,
.site-header--concierge .desktop-nav a[aria-current="page"]::after {
  right: auto;
  width: 21px;
}

.header-actions--concierge { gap: 6px; }

.header-contact,
.header-booking {
  position: relative;
  min-height: 48px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  text-align: left;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}

.header-contact {
  width: 149px;
  padding: 5px 9px 5px 5px;
  gap: 7px;
  color: var(--blue-950);
  border: 1px solid rgba(133, 164, 188, .36);
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(240, 247, 252, .92));
  box-shadow: 0 5px 15px rgba(8, 45, 85, .055), 0 1px 0 rgba(255, 255, 255, .9) inset;
}

.header-contact__icon {
  position: relative;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: var(--blue-700);
  border: 1px solid rgba(37, 139, 224, .16);
  background: linear-gradient(145deg, #f7fbff, #e3f1fb);
  box-shadow: 0 4px 11px rgba(8, 66, 123, .07);
}

.header-contact__icon svg,
.header-booking__icon svg,
.header-booking__arrow svg,
.mobile-concierge svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header-contact__icon i {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 6px;
  height: 6px;
  border: 2px solid #edf7fd;
  border-radius: 50%;
  background: #25c786;
  box-shadow: 0 0 0 2px rgba(37, 199, 134, .12);
}

.header-contact__copy,
.header-booking__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.header-contact__copy small,
.header-booking__copy small {
  display: block;
  font-size: .41rem;
  font-weight: 800;
  letter-spacing: .115em;
  text-transform: uppercase;
}

.header-contact__copy small { color: #738498; }

.header-contact__copy strong {
  display: block;
  color: var(--blue-950);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: -.025em;
}

.header-contact:hover {
  transform: translateY(-1px);
  border-color: rgba(37, 139, 224, .36);
  box-shadow: 0 9px 20px rgba(8, 45, 85, .09), 0 1px 0 #fff inset;
}

.header-booking {
  width: 169px;
  padding: 5px 6px 5px 5px;
  gap: 7px;
  overflow: hidden;
  color: var(--white);
  border: 1px solid rgba(47, 142, 218, .4);
  background: linear-gradient(118deg, #072b50 0%, #0a5595 54%, #1182d6 100%);
  box-shadow: 0 8px 20px rgba(8, 70, 126, .19), 0 1px 0 rgba(255, 255, 255, .17) inset;
}

.header-booking::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255, 255, 255, .14), transparent 31%, transparent 70%, rgba(255, 255, 255, .08));
}

.header-booking__icon,
.header-booking__arrow {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
}

.header-booking__icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 11px;
  color: #dff2ff;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .1);
  box-shadow: 0 5px 12px rgba(0, 20, 39, .11) inset;
}

.header-booking__copy { position: relative; z-index: 1; flex: 1; }
.header-booking__copy small { color: rgba(224, 243, 255, .68); }
.header-booking__copy strong { font-size: .7rem; font-weight: 790; letter-spacing: -.015em; }

.header-booking__arrow {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 50%;
  color: var(--blue-900);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 4px 10px rgba(1, 26, 51, .17);
  transition: transform .25s var(--ease), background .25s var(--ease);
}

.header-booking__arrow svg { width: 12px; height: 12px; }

.header-booking:hover {
  transform: translateY(-1px);
  background: linear-gradient(118deg, #062747 0%, #0960a8 55%, #2298e7 100%);
  box-shadow: 0 12px 25px rgba(8, 70, 126, .25), 0 1px 0 rgba(255, 255, 255, .2) inset;
}

.header-booking:hover .header-booking__arrow { transform: translateX(2px); background: #fff; }
.header-contact:active,
.header-booking:active { transform: translateY(0); }

.site-header--concierge .menu-toggle {
  width: 42px;
  height: 42px;
  color: var(--blue-950);
  border-color: rgba(122, 151, 174, .38);
  border-radius: 13px;
  background: linear-gradient(145deg, #fff, #eff5f9);
  box-shadow: 0 6px 15px rgba(8, 45, 85, .075);
  transition: color .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}

.site-header--concierge .menu-toggle:hover { transform: translateY(-1px); border-color: rgba(37, 139, 224, .42); }
.site-header--concierge .menu-toggle[aria-expanded="true"] { color: #fff; border-color: var(--blue-800); background: var(--blue-900); }

.mobile-concierge {
  position: relative;
  min-height: 64px;
  padding: 7px;
  border-radius: 17px;
  display: flex;
  align-items: center;
  gap: 9px;
  text-align: left;
  cursor: pointer;
}

.mobile-concierge__icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 13px;
  display: grid;
  place-items: center;
}

.mobile-concierge > span:not(.mobile-concierge__icon) { display: flex; min-width: 0; flex-direction: column; gap: 5px; }
.mobile-concierge small { font-size: .46rem; font-weight: 800; letter-spacing: .125em; line-height: 1; text-transform: uppercase; }
.mobile-concierge strong { font-size: .8rem; font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.mobile-concierge__arrow { margin-left: auto; margin-right: 6px; }

.mobile-concierge--call {
  color: var(--blue-950);
  border: 1px solid rgba(130, 160, 183, .35);
  background: #fff;
  box-shadow: 0 12px 28px rgba(8, 45, 85, .08);
}

.mobile-concierge--call .mobile-concierge__icon { color: var(--blue-700); background: var(--blue-050); }
.mobile-concierge--call small { color: #738498; }

.mobile-concierge--book {
  color: #fff;
  border: 1px solid rgba(47, 142, 218, .38);
  background: linear-gradient(118deg, #072b50, #0b68b2 60%, #168ada);
  box-shadow: 0 14px 30px rgba(8, 70, 126, .23);
}

.mobile-concierge--book .mobile-concierge__icon { color: #e1f3ff; border: 1px solid rgba(255, 255, 255, .15); background: rgba(255, 255, 255, .1); }
.mobile-concierge--book small { color: rgba(224, 243, 255, .7); }

@media (max-width: 1180px) {
  .site-header--concierge .brand,
  .site-header--concierge .brand img { width: 110px; }
  .site-header--concierge .brand { height: 48px; }
  .site-header--concierge .desktop-nav { padding-inline: 11px; gap: 13px; }
  .site-header--concierge .desktop-nav a { font-size: .71rem; }
  .header-actions--concierge { gap: 5px; }
  .header-contact,
  .header-booking { min-height: 46px; }
  .header-contact { width: 143px; }
  .header-booking { width: 158px; }
  .header-contact__icon,
  .header-booking__icon { width: 34px; height: 34px; flex-basis: 34px; border-radius: 10px; }
  .header-contact__copy small,
  .header-booking__copy small { font-size: .39rem; }
  .header-contact__copy strong { font-size: .65rem; }
  .header-booking__copy strong { font-size: .66rem; }
  .header-booking__arrow { width: 22px; height: 22px; flex-basis: 22px; }
}

@media (max-width: 1080px) {
  :root { --header-height: 68px; }

  .site-header--concierge .site-header__inner {
    height: var(--header-height);
    display: flex;
    justify-content: space-between;
    gap: 20px;
  }

  .site-header--concierge .brand,
  .site-header--concierge .brand img { width: 104px; }
  .site-header--concierge .brand { height: 45px; }
  .site-header--concierge .desktop-nav,
  .site-header--concierge .header-contact,
  .site-header--concierge .header-booking { display: none; }
  .site-header--concierge .menu-toggle { display: grid; }

  .site-header--concierge .mobile-nav {
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    top: 100%;
    max-height: calc(100dvh - var(--header-height));
    padding: 18px max(24px, calc((100vw - 980px) / 2)) 27px;
    border-top: 1px solid rgba(174, 193, 208, .35);
    border-bottom: 1px solid rgba(174, 193, 208, .45);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 27px;
    overflow-y: auto;
    color: var(--blue-950);
    background: rgba(248, 251, 253, .985);
    box-shadow: 0 30px 55px rgba(7, 36, 66, .16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity .24s var(--ease), transform .24s var(--ease), visibility .24s;
  }

  .site-header--concierge .mobile-nav.is-open {
    display: grid;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .site-header--concierge .mobile-nav > a {
    min-height: 57px;
    padding: 13px 4px;
    border-bottom: 1px solid rgba(174, 193, 208, .43);
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #25384d;
    font-size: .82rem;
    font-weight: 750;
    letter-spacing: -.015em;
  }

  .site-header--concierge .mobile-nav > a span {
    color: var(--blue-500);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .14em;
  }

  .site-header--concierge .mobile-nav > a[aria-current="page"] { color: var(--blue-700); }
  .site-header--concierge .mobile-nav__actions {
    grid-column: 1 / -1;
    padding-top: 19px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}

@media (max-width: 700px) {
  :root { --header-height: 64px; }
  .site-header--concierge .site-header__inner { height: var(--header-height); }
  .site-header--concierge .brand,
  .site-header--concierge .brand img { width: 96px; }
  .site-header--concierge .brand { height: 42px; }
  .site-header--concierge .menu-toggle { width: 40px; height: 40px; border-radius: 12px; }

  .site-header--concierge .mobile-nav {
    max-height: calc(100dvh - var(--header-height));
    padding: 7px 18px 22px;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .site-header--concierge .mobile-nav > a { min-height: 51px; padding: 12px 4px; font-size: .8rem; }
  .site-header--concierge .mobile-nav__actions { grid-template-columns: 1fr; padding-top: 15px; }
  .mobile-concierge { min-height: 60px; border-radius: 15px; }
  .mobile-concierge__icon { width: 42px; height: 42px; flex-basis: 42px; border-radius: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header--concierge *,
  .site-header--concierge *::before,
  .site-header--concierge *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Hero service atelier — premium first-screen composition */
.hero-v4__panel {
  width: min(610px, 52vw);
  padding: 32px 38px 27px;
  border-radius: 32px 32px 32px 10px;
  background:
    radial-gradient(circle at 88% 7%, rgba(37, 139, 224, .09), transparent 29%) padding-box,
    linear-gradient(rgba(255, 255, 255, .91), rgba(251, 253, 255, .875)) padding-box,
    linear-gradient(145deg, rgba(255, 255, 255, .99), rgba(255, 255, 255, .6), rgba(107, 174, 222, .48)) border-box;
  box-shadow: 0 30px 82px rgba(20, 46, 67, .16), inset 0 1px 0 rgba(255, 255, 255, .95);
  backdrop-filter: blur(30px) saturate(1.12);
  -webkit-backdrop-filter: blur(30px) saturate(1.12);
}

.hero-v4__panel::before {
  right: 24px;
  width: 180px;
  background: linear-gradient(90deg, transparent, rgba(37, 139, 224, .35));
}

.hero-v4__panel-edge {
  top: 43px;
  width: 3px;
  height: 76px;
  box-shadow: 0 0 18px rgba(37, 139, 224, .3);
}

.hero-v4__meta { gap: 15px; }

.hero-v4__eyebrow {
  gap: 9px;
  color: #31485e;
  font-size: .67rem;
  letter-spacing: .12em;
}

.hero-v4__status {
  width: 7px;
  height: 7px;
  flex-basis: 7px;
  box-shadow: 0 0 0 5px rgba(49, 200, 136, .105);
}

.hero-v4__location {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #61758a;
  font-size: .67rem;
  font-weight: 760;
}

.hero-v4__location svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: var(--blue-600);
  stroke-width: 1.8;
}

.hero-v4__location i { width: 1px; height: 12px; background: rgba(80, 103, 124, .2); }
.hero-v4__location small { color: #8290a0; font-size: .58rem; font-weight: 780; letter-spacing: .075em; text-transform: uppercase; }

.hero--v4 h1 {
  max-width: 550px;
  margin: 19px 0 14px;
  font-size: clamp(3rem, 3.55vw, 3.75rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.hero--v4 h1 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  letter-spacing: -.045em;
}

.hero-v4__lead {
  max-width: 525px;
  margin: 0 0 15px;
  display: grid;
  gap: 7px;
  color: #526579;
  font-size: .91rem;
  line-height: 1.52;
}

.hero-v4__lead strong {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #2a435b;
  font-size: .7rem;
  font-weight: 780;
  letter-spacing: .018em;
}

.hero-v4__lead strong::before {
  content: "";
  width: 18px;
  height: 1px;
  flex: 0 0 18px;
  background: linear-gradient(90deg, var(--blue-600), #7bc5f2);
}

.hero-v4__schedule {
  width: min(100%, 425px);
  min-height: 48px;
  margin-bottom: 14px;
  padding: 6px 13px 6px 7px;
  border-color: rgba(151, 182, 205, .42);
  border-radius: 15px;
  gap: 9px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .76), rgba(237, 246, 252, .7));
  box-shadow: 0 5px 16px rgba(16, 57, 90, .045), inset 0 1px 0 rgba(255, 255, 255, .92);
}

.hero-v4__schedule-icon {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
  border: 1px solid rgba(37, 139, 224, .12);
  border-radius: 11px;
  background: linear-gradient(145deg, #f5fbff, #dfeffa);
}

.hero-v4__schedule-copy small { margin-bottom: 3px; font-size: .53rem; letter-spacing: .12em; }
.hero-v4__schedule-copy strong { gap: 9px; font-size: .68rem; }

.hero-v4__actions {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(190px, .82fr);
  gap: 8px;
}

.hero-v4__book,
.hero-v4__call {
  position: relative;
  min-width: 0;
  min-height: 58px;
  padding: 6px;
  border-radius: 17px;
  display: grid;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  text-align: left;
  line-height: 1;
  cursor: pointer;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}

.hero-v4__book {
  grid-template-columns: 42px minmax(0, 1fr) 28px;
  color: #fff;
  border: 1px solid rgba(47, 142, 218, .45);
  background: linear-gradient(118deg, #072b50 0%, #0a5e9f 54%, #168bdc 100%);
  box-shadow: 0 13px 27px rgba(8, 70, 126, .23), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.hero-v4__book::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255, 255, 255, .15), transparent 31%, transparent 71%, rgba(255, 255, 255, .075));
}

.hero-v4__call {
  grid-template-columns: 42px minmax(0, 1fr);
  color: var(--blue-950);
  border: 1px solid rgba(127, 160, 185, .34);
  background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(239, 247, 252, .9));
  box-shadow: 0 9px 22px rgba(8, 45, 85, .075), inset 0 1px 0 #fff;
}

.hero-v4__action-icon,
.hero-v4__action-arrow,
.hero-v4__action-copy { position: relative; z-index: 1; }

.hero-v4__action-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: grid;
  place-items: center;
}

.hero-v4__action-icon svg,
.hero-v4__action-arrow svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hero-v4__book .hero-v4__action-icon {
  color: #e0f3ff;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .1);
  box-shadow: inset 0 5px 12px rgba(0, 20, 39, .1);
}

.hero-v4__call .hero-v4__action-icon {
  color: var(--blue-700);
  border: 1px solid rgba(37, 139, 224, .14);
  background: linear-gradient(145deg, #f8fcff, #e1f0fb);
}

.hero-v4__call .hero-v4__action-icon i {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 6px;
  height: 6px;
  border: 2px solid #edf7fd;
  border-radius: 50%;
  background: #25c786;
  box-shadow: 0 0 0 2px rgba(37, 199, 134, .12);
}

.hero-v4__action-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}

.hero-v4__action-copy small {
  display: block;
  font-size: .43rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hero-v4__book .hero-v4__action-copy small { color: rgba(224, 243, 255, .68); }
.hero-v4__call .hero-v4__action-copy small { color: #74879a; }
.hero-v4__action-copy strong { display: block; font-size: .76rem; font-weight: 800; letter-spacing: -.018em; white-space: nowrap; }
.hero-v4__call .hero-v4__action-copy strong { font-size: .72rem; }

.hero-v4__action-arrow {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--blue-900);
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 5px 12px rgba(1, 26, 51, .18);
  transition: transform .25s var(--ease), background .25s var(--ease);
}

.hero-v4__action-arrow svg { width: 13px; height: 13px; }
.hero-v4__book:hover { transform: translateY(-2px); background: linear-gradient(118deg, #062747 0%, #0965ad 55%, #249be8 100%); box-shadow: 0 17px 34px rgba(8, 70, 126, .3), inset 0 1px 0 rgba(255, 255, 255, .2); }
.hero-v4__book:hover .hero-v4__action-arrow { transform: translateX(2px); background: #fff; }
.hero-v4__call:hover { transform: translateY(-2px); border-color: rgba(37, 139, 224, .35); background: #fff; box-shadow: 0 13px 27px rgba(8, 45, 85, .11), inset 0 1px 0 #fff; }
.hero-v4__book:active,
.hero-v4__call:active { transform: translateY(0); }

.hero-v4__promise {
  margin-top: 18px;
  padding-top: 15px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.hero-v4__promise span {
  min-width: 0;
  min-height: 34px;
  padding: 0 10px;
  border-right: 1px solid rgba(64, 93, 117, .12);
  display: flex;
  align-items: center;
  gap: 7px;
  color: #4a6075;
  font-size: .63rem;
  font-weight: 760;
  line-height: 1.3;
}

.hero-v4__promise span:first-child { padding-left: 0; }
.hero-v4__promise span:last-child { padding-right: 0; border-right: 0; }

.hero-v4__promise span > i {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 1px solid rgba(37, 139, 224, .11);
  border-radius: 9px;
  display: grid;
  place-items: center;
  color: var(--blue-700);
  background: rgba(235, 246, 253, .76);
}

.hero-v4__promise strong { font-weight: 760; }
.hero-v4__promise svg { width: 14px; height: 14px; flex: 0 0 14px; stroke: currentColor; stroke-width: 1.8; }

@media (max-width: 1180px) {
  .hero-v4__panel { width: min(585px, 56vw); padding: 30px 34px 26px; }
  .hero--v4 h1 { font-size: clamp(2.85rem, 3.95vw, 3.5rem); }
  .hero-v4__actions { grid-template-columns: minmax(0, 1.1fr) minmax(180px, .9fr); }
  .hero-v4__book,
  .hero-v4__call { min-height: 56px; }
  .hero-v4__action-copy strong { font-size: .71rem; }
  .hero-v4__call .hero-v4__action-copy strong { font-size: .68rem; }
  .hero-v4__promise span { padding-inline: 8px; font-size: .59rem; }
}

@media (max-width: 980px) {
  .hero-v4__panel { width: min(550px, 62vw); padding: 29px 31px 25px; }
  .hero-v4__location { display: none; }
  .hero--v4 h1 { font-size: clamp(2.65rem, 5vw, 3.25rem); }
  .hero-v4__actions { grid-template-columns: minmax(0, 1fr) 185px; }
  .hero-v4__promise span > i { width: 26px; height: 26px; flex-basis: 26px; }
}

@media (max-width: 700px) {
  .hero-v4__panel {
    width: 100%;
    padding: 26px 24px 23px;
    border-radius: 28px 28px 28px 9px;
    background:
      radial-gradient(circle at 88% 7%, rgba(37, 139, 224, .08), transparent 30%) padding-box,
      linear-gradient(rgba(255, 255, 255, .935), rgba(251, 253, 255, .91)) padding-box,
      linear-gradient(145deg, #fff, rgba(117, 181, 227, .48)) border-box;
  }

  .hero-v4__panel-edge { top: 37px; height: 65px; }
  .hero-v4__eyebrow { font-size: .64rem; letter-spacing: .105em; }
  .hero--v4 h1 { margin: 18px 0 14px; font-size: clamp(2.42rem, 10vw, 3.05rem); line-height: .95; }
  .hero-v4__lead { margin-bottom: 14px; font-size: .91rem; line-height: 1.52; }
  .hero-v4__lead strong { font-size: .66rem; }
  .hero-v4__schedule { width: 100%; margin-bottom: 14px; }
  .hero-v4__actions { grid-template-columns: 1fr; gap: 8px; }
  .hero-v4__book,
  .hero-v4__call { min-height: 57px; }
  .hero-v4__action-copy strong,
  .hero-v4__call .hero-v4__action-copy strong { font-size: .75rem; }
  .hero-v4__promise { margin-top: 17px; padding-top: 14px; }
  .hero-v4__promise span { padding-inline: 7px; flex-direction: column; align-items: flex-start; gap: 6px; font-size: .58rem; }
  .hero-v4__promise span:first-child { padding-left: 0; }
  .hero-v4__promise span:last-child { padding-right: 0; }
}

@media (max-width: 430px) {
  .hero-v4__panel { padding: 23px 19px 21px; }
  .hero-v4__eyebrow { font-size: .59rem; }
  .hero--v4 h1 { margin-top: 17px; font-size: clamp(2.18rem, 9.5vw, 2.48rem); }
  .hero-v4__lead { font-size: .86rem; }
  .hero-v4__schedule-copy strong { gap: 2px; }
  .hero-v4__promise span { font-size: .54rem; line-height: 1.25; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-v4__book,
  .hero-v4__call,
  .hero-v4__action-arrow { transition-duration: .01ms !important; }
}

/* Appliance service gallery — quieter editorial scale and showroom framing */
.services {
  padding-block: 112px 126px;
  background:
    radial-gradient(circle at 14% 19%, rgba(82, 169, 229, .09), transparent 25%),
    linear-gradient(180deg, #fff 0%, #f7fafc 43%, #edf3f7 100%);
}

.services::before {
  content: "02";
  left: auto;
  right: -18px;
  top: 38px;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  color: rgba(13, 92, 153, .028);
  font-size: clamp(10rem, 17vw, 18rem);
  font-weight: 800;
  line-height: .72;
  letter-spacing: -.12em;
  box-shadow: none;
}

.services::after {
  right: -18%;
  bottom: -42%;
  width: 60%;
  height: 78%;
  opacity: .72;
}

.services__glow--one { left: 26%; top: 36%; opacity: .7; }
.services__glow--two { right: 25%; top: 13%; opacity: .7; }

.services__header {
  margin-bottom: 34px;
  grid-template-columns: minmax(0, 1fr) 342px;
  align-items: end;
  gap: clamp(54px, 7vw, 96px);
}

.services__heading { max-width: 740px; }

.services__eyebrow {
  gap: 10px;
  font-size: .66rem;
  letter-spacing: .145em;
}

.services__eyebrow::before { display: none; }

.services__eyebrow b {
  min-width: 32px;
  height: 23px;
  padding-inline: 7px;
  border: 1px solid rgba(17, 116, 204, .16);
  border-radius: 8px 8px 3px 8px;
  display: inline-grid;
  place-items: center;
  color: var(--white);
  background: var(--blue-700);
  box-shadow: 0 7px 16px rgba(17, 116, 204, .17);
  font-size: .53rem;
  letter-spacing: .09em;
}

.services__header h2 {
  max-width: 690px;
  margin: 16px 0 0;
  font-size: clamp(3rem, 3.55vw, 3.75rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.services__header h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  letter-spacing: -.045em;
}

.services__intro {
  max-width: 625px;
  margin: 18px 0 0;
  color: #5b6d80;
  font-size: .87rem;
  line-height: 1.68;
}

.services__signals {
  margin-top: 17px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.services__signals span {
  min-height: 29px;
  padding: 5px 10px;
  border: 1px solid rgba(155, 181, 201, .28);
  border-radius: 10px 10px 4px 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #52697d;
  background: rgba(255, 255, 255, .6);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82);
  font-size: .58rem;
  font-weight: 760;
  letter-spacing: .01em;
}

.services__signals i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #31c888;
  box-shadow: 0 0 0 4px rgba(49, 200, 136, .1);
}

.services__signals svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: var(--blue-600);
  stroke-width: 1.8;
}

.services__navigator {
  width: 342px;
  padding: 15px 16px;
  border: 1px solid rgba(154, 181, 201, .38);
  border-radius: 23px 23px 7px 23px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  justify-items: stretch;
  gap: 11px 14px;
  background:
    radial-gradient(circle at 93% 4%, rgba(37, 139, 224, .1), transparent 38%),
    rgba(255, 255, 255, .76);
  box-shadow: 0 18px 42px rgba(20, 59, 89, .08), inset 0 1px 0 #fff;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.services__navigator-label {
  grid-column: 1 / -1;
  display: block;
}

.services__navigator-label small,
.services__navigator-label strong { display: block; }
.services__navigator-label small {
  margin-bottom: 4px;
  color: #8392a1;
  font-size: .49rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.services__navigator-label strong {
  color: #233c54;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: -.02em;
}

.services__navigator > p {
  grid-column: 1;
  margin: 0 0 2px;
  color: #7a8998;
  font-size: .57rem;
  font-weight: 680;
  line-height: 1.35;
}

.services__nav-controls {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  gap: 6px;
}

.services__counter {
  min-width: 55px;
  margin-right: 2px;
  gap: 5px;
  font-size: .58rem;
}

.services__counter strong { font-size: .88rem; }

.services__nav-controls button {
  width: 36px;
  height: 36px;
  box-shadow: 0 7px 16px rgba(22, 50, 73, .055);
}

.services__nav-controls svg { width: 15px; height: 15px; }

.service-reel {
  padding: 9px;
  border-color: rgba(158, 184, 204, .48);
  border-radius: 34px 34px 10px 34px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(235, 243, 248, .88)) padding-box,
    linear-gradient(120deg, rgba(255, 255, 255, 1), rgba(81, 163, 221, .24), rgba(255, 255, 255, .78)) border-box;
  box-shadow: 0 30px 78px rgba(24, 57, 82, .135), inset 0 1px 0 #fff;
}

.service-reel__topbar,
.service-reel__footer {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.service-reel__topbar {
  min-height: 48px;
  padding: 2px 12px 8px;
}

.service-reel__live {
  min-width: 0;
  display: grid;
  grid-template-columns: 7px auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 9px;
}

.service-reel__live i {
  width: 7px;
  height: 7px;
  grid-row: 1 / 3;
  border-radius: 50%;
  background: #31c888;
  box-shadow: 0 0 0 5px rgba(49, 200, 136, .1);
}

.service-reel__live small {
  color: #8a98a6;
  font-size: .46rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.15;
  text-transform: uppercase;
}

.service-reel__live strong {
  max-width: 390px;
  overflow: hidden;
  color: #253e55;
  font-size: .69rem;
  font-weight: 800;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-reel__edition {
  color: #8392a0;
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.service-reel__track {
  position: relative;
  z-index: 2;
  height: 500px;
  gap: 8px;
}

.service-reel__item,
.service-reel__item.is-active {
  height: 100%;
  margin-top: 0;
  border-radius: 22px 22px 7px 22px;
  transform: none;
}

.service-reel__item { box-shadow: 0 11px 25px rgba(20, 40, 56, .11); }
.service-reel__item.is-active {
  flex-grow: 4.3;
  box-shadow: 0 24px 55px rgba(12, 42, 66, .22), 0 0 0 1px rgba(36, 144, 221, .14);
}

.service-reel__item.is-active .service-reel__caption::before {
  content: "Appliance service";
  margin-bottom: 8px;
  color: rgba(255, 255, 255, .68);
  font-size: .49rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.service-reel__item.is-active .service-reel__caption strong {
  font-size: clamp(1.65rem, 2vw, 2.15rem);
}

.service-reel__caption small {
  margin-top: 13px;
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, .5);
  box-shadow: 0 10px 24px rgba(2, 17, 30, .13);
}

.service-reel__footer {
  min-height: 49px;
  padding: 9px 11px 1px;
  color: #627487;
  font-size: .57rem;
  font-weight: 720;
}

.service-reel__footer > span,
.service-reel__footer a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.service-reel__footer svg {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  fill: none;
  stroke: var(--blue-600);
  stroke-width: 1.8;
}

.service-reel__footer a {
  color: #536b80;
  transition: color .22s var(--ease);
}
.service-reel__footer a:hover { color: var(--blue-700); }
.service-reel__footer a strong { color: var(--blue-800); font-weight: 820; }
.service-reel__footer a svg { transition: transform .22s var(--ease); }
.service-reel__footer a:hover svg { transform: translateX(3px); }

/* Compact floating concierge — visible without dominating the page */
.service-console {
  right: 18px;
  bottom: 18px;
  width: 284px;
  height: 78px;
}

.service-console__orbit {
  left: 0;
  top: 8px;
  width: 62px;
  height: 62px;
}

.service-console__orbit b {
  right: 3px;
  top: 11px;
  width: 7px;
  height: 7px;
  border-width: 1px;
  box-shadow: 0 0 0 4px rgba(37, 139, 224, .13);
}

.service-console__call {
  left: 4px;
  top: 11px;
  width: 54px;
  height: 54px;
  border-width: 5px;
  box-shadow: 0 13px 30px rgba(16, 55, 84, .18), inset 0 1px 0 #fff;
}

.service-console__call-core { gap: 2px; }
.service-console__call-core svg { width: 15px; height: 15px; }
.service-console__call-core small { font-size: .41rem; }
.service-console__call-number { right: calc(100% + 10px); padding: 7px 10px; font-size: .6rem; }

.service-console__ticket {
  width: 252px;
  height: 78px;
  padding: 8px 8px 8px 36px;
  border-radius: 24px 24px 7px 24px;
  box-shadow: 0 18px 46px rgba(9, 37, 61, .17), inset 0 1px 0 #fff;
}

.service-console__ticket::after {
  right: -5px;
  top: -7px;
  font-size: 3.25rem;
}

.service-console__status {
  height: 13px;
  gap: 6px;
  font-size: .44rem;
  letter-spacing: .09em;
}
.service-console__status i { width: 5px; height: 5px; box-shadow: 0 0 0 3px rgba(55, 202, 138, .1); }

.service-console__book {
  height: 49px;
  padding: 0 8px;
  grid-template-columns: 30px minmax(0, 1fr) 26px;
  gap: 8px;
  border-radius: 15px 15px 5px 15px;
  box-shadow: 0 10px 23px rgba(17, 116, 204, .22), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.service-console__book-icon {
  width: 30px;
  height: 30px;
  border-radius: 10px;
}
.service-console__book-icon svg { width: 14px; height: 14px; }
.service-console__book-copy small { margin-bottom: 2px; font-size: .45rem; }
.service-console__book-copy strong { font-size: .68rem; }
.service-console__book-arrow { width: 25px; height: 25px; }
.service-console__book-arrow svg { width: 12px; height: 12px; }

@media (max-width: 1180px) {
  .services__header h2 { font-size: clamp(2.85rem, 3.95vw, 3.5rem); }
  .service-reel__track { height: 475px; }
}

@media (max-width: 980px) {
  .services { padding-block: 88px 98px; }
  .services__header {
    margin-bottom: 30px;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 26px;
  }
  .services__header h2 { font-size: clamp(2.65rem, 5vw, 3.25rem); }
  .services__navigator { width: min(100%, 450px); }
  .service-reel { padding: 8px 0; }
  .service-reel__topbar { padding-inline: 20px; }
  .service-reel__track { height: 430px; }
  .service-reel__item,
  .service-reel__item.is-active { height: 405px; }
  .service-reel__footer { padding: 9px 20px 1px; }
}

@media (max-width: 700px) {
  .services { padding-block: 76px 86px; }
  .services::before { top: 62px; font-size: 11rem; }
  .services__header { margin-bottom: 25px; gap: 22px; }
  .services__header h2 {
    margin-top: 14px;
    font-size: clamp(2.42rem, 10vw, 3.05rem);
    line-height: .95;
  }
  .services__intro { margin-top: 15px; font-size: .82rem; line-height: 1.62; }
  .services__signals { margin-top: 14px; gap: 6px; }
  .services__signals span { min-height: 27px; padding-inline: 8px; font-size: .54rem; }
  .services__navigator {
    width: 100%;
    padding: 12px 13px;
    border-radius: 19px 19px 6px 19px;
  }
  .services__navigator-label strong { font-size: .72rem; }
  .services__nav-controls button { width: 34px; height: 34px; }
  .service-reel { border-radius: 25px 0 0 25px; }
  .service-reel__topbar { min-height: 44px; padding: 1px 18px 7px 15px; }
  .service-reel__edition { display: none; }
  .service-reel__live strong { max-width: 245px; font-size: .64rem; }
  .service-reel__track { height: 402px; padding-top: 7px; }
  .service-reel__item,
  .service-reel__item.is-active {
    height: 376px;
    border-radius: 20px 20px 6px 20px;
  }
  .service-reel__item.is-active .service-reel__caption strong { font-size: 1.55rem; }
  .service-reel__footer {
    min-height: 61px;
    padding: 8px 17px 2px 14px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    font-size: .54rem;
  }

  .service-console {
    left: 50%;
    right: auto;
    bottom: max(8px, env(safe-area-inset-bottom));
    width: min(296px, calc(100vw - 16px));
    height: 64px;
    transform: translate(-50%, 16px) scale(.95);
    transform-origin: center bottom;
  }
  .service-console.is-visible { transform: translate(-50%, 0) scale(1); }
  .service-console__orbit { left: 0; top: 4px; width: 56px; height: 56px; }
  .service-console__call { left: 4px; top: 8px; width: 48px; height: 48px; border-width: 4px; }
  .service-console__call-core svg { width: 14px; height: 14px; }
  .service-console__call-core small { font-size: .38rem; }
  .service-console__call-number { display: none; }
  .service-console__ticket {
    width: calc(100% - 28px);
    height: 64px;
    padding: 6px 6px 6px 31px;
    border-radius: 21px 21px 6px 21px;
  }
  .service-console__status { display: none; }
  .service-console__book {
    height: 52px;
    padding-inline: 7px;
    grid-template-columns: 30px minmax(0, 1fr) 25px;
    gap: 7px;
    border-radius: 15px 15px 5px 15px;
  }
  .service-console__book-copy small { font-size: .42rem; }
  .service-console__book-copy strong { font-size: .67rem; }
  .service-console__book-arrow { width: 24px; height: 24px; }
  .booking-notice { bottom: 82px; }
}

@media (max-width: 430px) {
  .services__header h2 { font-size: clamp(2.18rem, 9.5vw, 2.48rem); }
  .services__signals span:last-child { display: none; }
  .services__navigator { grid-template-columns: minmax(0, 1fr) auto; }
  .services__navigator > p { max-width: 108px; }
  .services__counter { min-width: 49px; }
  .service-reel__live strong { max-width: 210px; }
  .service-reel__track { height: 386px; }
  .service-reel__item,
  .service-reel__item.is-active { height: 360px; }
  .service-console { width: min(288px, calc(100vw - 14px)); }
}

@media (prefers-reduced-motion: reduce) {
  .service-console *,
  .service-console *::before,
  .service-console *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* KinFix standard atelier — compact, single-image premium composition */
.services { padding-top: 88px; padding-bottom: 68px; }

.standards--atelier {
  position: relative;
  padding: 72px 0 94px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 93% 15%, rgba(78, 164, 224, .11), transparent 28%),
    linear-gradient(180deg, #edf3f7 0%, #f7fafc 48%, #f1f6f9 100%);
}

.standards--atelier::before {
  content: "";
  position: absolute;
  left: -180px;
  top: 36%;
  z-index: -2;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(17, 116, 204, .065);
  border-radius: 50%;
  color: transparent;
  background: transparent;
  box-shadow: 0 0 0 74px rgba(17, 116, 204, .013), 0 0 0 148px rgba(17, 116, 204, .009);
}

.standards--atelier::after {
  inset: 0;
  z-index: -3;
  opacity: .24;
  background-size: 88px 88px;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 84%, transparent);
}

.standards--atelier .standards__ambient--one {
  right: -9%;
  top: 2%;
  width: 440px;
  height: 440px;
  opacity: .72;
  filter: blur(28px);
}

.standards__atelier {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(480px, 1.06fr);
  align-items: center;
  gap: clamp(48px, 6vw, 82px);
}

.standards__content { min-width: 0; max-width: 600px; }

.standards__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--blue-700);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .145em;
  line-height: 1.2;
  text-transform: uppercase;
}

.standards__eyebrow b {
  min-width: 32px;
  height: 23px;
  padding-inline: 7px;
  border: 1px solid rgba(17, 116, 204, .16);
  border-radius: 8px 8px 3px 8px;
  display: inline-grid;
  place-items: center;
  color: #fff;
  background: var(--blue-700);
  box-shadow: 0 7px 16px rgba(17, 116, 204, .17);
  font-size: .53rem;
  letter-spacing: .09em;
}

.standards--atelier h2 {
  max-width: 590px;
  margin: 16px 0 0;
  font-size: clamp(3rem, 3.55vw, 3.75rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.standards--atelier h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  color: #1878bd;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.standards__lead {
  max-width: 570px;
  margin: 18px 0 0;
  color: #5b6d80;
  font-size: .87rem;
  line-height: 1.68;
}

.standards__principles {
  margin-top: 22px;
  display: grid;
  gap: 8px;
}

.standard-principle {
  position: relative;
  min-height: 77px;
  padding: 13px 14px;
  border: 1px solid rgba(165, 188, 205, .4);
  border-radius: 18px 18px 6px 18px;
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr) 33px;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .86), rgba(244, 249, 252, .64));
  box-shadow: 0 10px 26px rgba(24, 57, 82, .045), inset 0 1px 0 rgba(255, 255, 255, .95);
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
}

.standard-principle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 2px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(var(--blue-500), #82cdf7);
  opacity: .58;
}

.standard-principle:hover {
  border-color: rgba(105, 161, 204, .54);
  box-shadow: 0 15px 34px rgba(24, 57, 82, .075), inset 0 1px 0 #fff;
  transform: translateX(3px);
}

.standard-principle__number {
  color: var(--blue-600);
  font-size: .58rem;
  font-weight: 820;
  letter-spacing: .12em;
}

.standard-principle__copy { min-width: 0; display: block; }
.standard-principle__copy strong,
.standard-principle__copy small { display: block; }
.standard-principle__copy strong {
  color: #223a51;
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.022em;
}
.standard-principle__copy small {
  margin-top: 4px;
  color: #6e7f90;
  font-size: .64rem;
  font-weight: 560;
  line-height: 1.48;
}

.standard-principle__check {
  width: 33px;
  height: 33px;
  border: 1px solid rgba(37, 139, 224, .12);
  border-radius: 11px 11px 4px 11px;
  display: grid;
  place-items: center;
  color: var(--blue-700);
  background: linear-gradient(145deg, #f7fcff, #e1f1fb);
}
.standard-principle__check svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.standards__actions {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(185px, .78fr);
  align-items: stretch;
  gap: 8px;
}

.standards__book,
.standards__phone {
  min-width: 0;
  min-height: 56px;
  padding: 6px;
  border-radius: 17px 17px 6px 17px;
  align-items: center;
  overflow: hidden;
  text-align: left;
  line-height: 1;
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}

.standards__book {
  position: relative;
  border: 1px solid rgba(47, 142, 218, .45);
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 27px;
  gap: 8px;
  color: #fff;
  background: linear-gradient(118deg, #072b50 0%, #0a5e9f 54%, #168bdc 100%);
  box-shadow: 0 12px 25px rgba(8, 70, 126, .21), inset 0 1px 0 rgba(255, 255, 255, .18);
  cursor: pointer;
}

.standards__book::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255, 255, 255, .14), transparent 32%, transparent 72%, rgba(255, 255, 255, .07));
  pointer-events: none;
}

.standards__phone {
  border: 1px solid rgba(127, 160, 185, .34);
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 8px;
  color: var(--blue-950);
  background: linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(239, 247, 252, .86));
  box-shadow: 0 8px 20px rgba(8, 45, 85, .065), inset 0 1px 0 #fff;
}

.standards__action-icon,
.standards__action-arrow,
.standards__action-copy { position: relative; z-index: 1; }

.standards__action-icon,
.standards__phone > span {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
}

.standards__action-icon {
  color: #e0f3ff;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .1);
}

.standards__phone > span {
  position: relative;
  grid-row: 1 / 3;
  color: var(--blue-700);
  border: 1px solid rgba(37, 139, 224, .13);
  background: linear-gradient(145deg, #f8fcff, #e1f0fb);
}

.standards__phone > span i {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 6px;
  height: 6px;
  border: 2px solid #edf7fd;
  border-radius: 50%;
  background: #25c786;
}

.standards__action-icon svg,
.standards__action-arrow svg,
.standards__phone svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.standards__action-copy { display: block; min-width: 0; }
.standards__action-copy small,
.standards__action-copy strong,
.standards__phone small,
.standards__phone strong { display: block; white-space: nowrap; }
.standards__action-copy small,
.standards__phone small {
  margin-bottom: 4px;
  color: rgba(224, 243, 255, .68);
  font-size: .42rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.standards__action-copy strong { font-size: .73rem; font-weight: 800; }
.standards__phone small { color: #74879a; }
.standards__phone strong { margin: 0; font-size: .69rem; font-weight: 800; }

.standards__action-arrow {
  width: 27px;
  height: 27px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--blue-900);
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 5px 11px rgba(1, 26, 51, .16);
  transition: transform .25s var(--ease);
}
.standards__action-arrow svg { width: 12px; height: 12px; }
.standards__book:hover { transform: translateY(-2px); box-shadow: 0 16px 31px rgba(8, 70, 126, .27), inset 0 1px 0 rgba(255, 255, 255, .2); }
.standards__book:hover .standards__action-arrow { transform: translateX(2px); }
.standards__phone:hover { transform: translateY(-2px); border-color: rgba(37, 139, 224, .3); background: #fff; }

.standards--atelier .standards__media {
  position: relative;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.standards--atelier .standards__image {
  position: relative;
  height: clamp(520px, 46vw, 600px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 34px 112px 34px 10px;
  background: #d9e2e8;
  box-shadow: 0 30px 74px rgba(20, 50, 73, .16), inset 0 1px 0 #fff;
}

.standards--atelier .standards__image::after {
  background:
    linear-gradient(to top, rgba(4, 20, 34, .64) 0%, rgba(5, 25, 43, .16) 34%, transparent 62%),
    linear-gradient(118deg, rgba(8, 58, 94, .1), transparent 49%);
}

.standards--atelier .standards__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% center;
  filter: saturate(.93) contrast(1.02);
  transform: scale(1.012);
  transition: transform 1s var(--ease), filter .5s var(--ease);
}

.standards--atelier .standards__media:hover .standards__image img {
  filter: saturate(1) contrast(1.02);
  transform: scale(1.035);
}

.standards__photo-meta {
  position: absolute;
  left: 20px;
  top: 20px;
  z-index: 3;
  min-height: 35px;
  padding: 6px 10px 6px 7px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 12px 12px 4px 12px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  background: rgba(5, 31, 53, .35);
  box-shadow: 0 8px 22px rgba(4, 25, 42, .12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.standards__photo-meta i {
  min-width: 23px;
  height: 23px;
  border-radius: 8px 8px 3px 8px;
  display: grid;
  place-items: center;
  color: var(--blue-900);
  background: rgba(255, 255, 255, .92);
  font-family: "Newsreader", Georgia, serif;
  font-size: .8rem;
  font-weight: 600;
}
.standards__photo-meta strong {
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.standards--atelier .standards__caption {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 4;
  min-width: 0;
  padding: 15px 17px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 20px 20px 6px 20px;
  color: #fff;
  background: rgba(5, 30, 50, .72);
  box-shadow: 0 18px 42px rgba(4, 24, 40, .2);
  backdrop-filter: blur(16px) saturate(1.12);
  -webkit-backdrop-filter: blur(16px) saturate(1.12);
}

.standards--atelier .standards__caption > span {
  color: rgba(229, 242, 251, .72);
  font-size: .49rem;
}
.standards--atelier .standards__caption > span i {
  width: 6px;
  height: 6px;
  box-shadow: 0 0 0 4px rgba(56, 201, 138, .11);
}
.standards--atelier .standards__caption > strong {
  max-width: 410px;
  margin-top: 8px;
  color: #fff;
  font-size: 1rem;
  line-height: 1.28;
  letter-spacing: -.035em;
}
.standards--atelier .standards__caption > small {
  margin-top: 10px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  color: rgba(232, 242, 249, .72);
  font-size: .5rem;
  font-weight: 720;
  letter-spacing: .015em;
}
.standards--atelier .standards__caption > small svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: #8fd2ff;
  stroke-width: 1.8;
}
.standards--atelier .standards__caption > small b {
  width: 1px;
  height: 10px;
  background: rgba(255, 255, 255, .22);
}

@media (max-width: 1180px) {
  .standards__atelier { grid-template-columns: minmax(0, 1fr) minmax(445px, .98fr); gap: 43px; }
  .standards--atelier h2 { font-size: clamp(2.85rem, 3.95vw, 3.5rem); }
  .standards--atelier .standards__image { height: 555px; }
  .standards__actions { grid-template-columns: minmax(0, 1fr) 180px; }
}

@media (max-width: 980px) {
  .services { padding-top: 76px; padding-bottom: 58px; }
  .standards--atelier { padding: 62px 0 82px; }
  .standards__atelier { grid-template-columns: minmax(0, 1fr) minmax(390px, .92fr); gap: 31px; }
  .standards--atelier h2 { font-size: clamp(2.65rem, 5vw, 3.25rem); }
  .standards__lead { font-size: .82rem; }
  .standard-principle { padding-inline: 12px; gap: 9px; }
  .standard-principle__copy small { font-size: .61rem; }
  .standards__actions { grid-template-columns: 1fr; }
  .standards--atelier .standards__image { height: 525px; border-radius: 30px 88px 30px 9px; }
}

@media (max-width: 840px) {
  .standards__atelier { grid-template-columns: 1fr; gap: 42px; }
  .standards__content { max-width: 700px; }
  .standards__actions { max-width: 510px; grid-template-columns: minmax(0, 1fr) 190px; }
  .standards--atelier .standards__media { width: min(100%, 720px); margin: 0 auto; }
  .standards--atelier .standards__image { height: 560px; }
}

@media (max-width: 700px) {
  .services { padding-top: 66px; padding-bottom: 50px; }
  .standards--atelier { padding: 54px 0 72px; }
  .standards__atelier { gap: 36px; }
  .standards--atelier h2 {
    margin-top: 14px;
    font-size: clamp(2.42rem, 10vw, 3.05rem);
    line-height: .95;
  }
  .standards__lead { margin-top: 15px; font-size: .82rem; line-height: 1.62; }
  .standards__principles { margin-top: 18px; }
  .standard-principle { min-height: 75px; }
  .standard-principle:hover { transform: none; }
  .standards__actions { max-width: none; grid-template-columns: 1fr; }
  .standards--atelier .standards__image { height: 500px; border-radius: 27px 72px 27px 8px; }
  .standards--atelier .standards__caption { padding: 14px 15px; }
}

@media (max-width: 430px) {
  .standards--atelier h2 { font-size: clamp(2.18rem, 9.5vw, 2.48rem); }
  .standards__eyebrow { font-size: .59rem; }
  .standard-principle {
    min-height: 71px;
    grid-template-columns: 26px minmax(0, 1fr) 30px;
    gap: 8px;
  }
  .standard-principle__copy strong { font-size: .74rem; }
  .standard-principle__copy small { font-size: .57rem; }
  .standard-principle__check { width: 30px; height: 30px; }
  .standards--atelier .standards__image { height: 440px; border-radius: 24px 58px 24px 7px; }
  .standards__photo-meta { left: 14px; top: 14px; }
  .standards--atelier .standards__caption { left: 10px; right: 10px; bottom: 10px; }
  .standards--atelier .standards__caption > strong { font-size: .9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .standard-principle,
  .standards__book,
  .standards__phone,
  .standards__action-arrow,
  .standards--atelier .standards__image img { transition-duration: .01ms !important; }
}

/* Service journey — compact premium fourth section */
.standards--atelier { padding-bottom: 58px; }

.process--concierge {
  position: relative;
  padding: 58px 0 72px;
  color: var(--ink);
  background: linear-gradient(180deg, #f1f6f9 0%, #f8fbfd 58%, #f3f7fa 100%);
  isolation: isolate;
}

.process--concierge::before {
  content: "";
  position: absolute;
  left: -170px;
  top: 18%;
  z-index: -2;
  width: 410px;
  height: 410px;
  border: 1px solid rgba(17, 116, 204, .055);
  border-radius: 50%;
  opacity: 1;
  background: transparent;
  box-shadow: 0 0 0 72px rgba(17, 116, 204, .012), 0 0 0 144px rgba(17, 116, 204, .008);
}

.process__panel {
  position: relative;
  min-height: 0;
  padding: 48px;
  border: 1px solid rgba(100, 165, 214, .22);
  border-radius: 38px 38px 12px 38px;
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(500px, 1.16fr);
  align-items: center;
  gap: clamp(42px, 5vw, 70px);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 92% 9%, rgba(42, 148, 222, .3), transparent 33%),
    linear-gradient(135deg, #061c35 0%, #082b4c 54%, #0a3d6a 100%);
  box-shadow: 0 34px 86px rgba(6, 35, 61, .2), inset 0 1px 0 rgba(255, 255, 255, .08);
  isolation: isolate;
}

.process__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .24;
  background-image:
    linear-gradient(rgba(255, 255, 255, .065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .065) 1px, transparent 1px);
  background-size: 62px 62px;
  mask-image: linear-gradient(90deg, transparent, #000 22%, #000 100%);
}

.process__panel::after {
  content: "";
  position: absolute;
  right: -170px;
  bottom: -230px;
  z-index: -1;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(72, 178, 244, .22), transparent 67%);
  filter: blur(8px);
}

.process__intro,
.process__journey { position: relative; z-index: 2; min-width: 0; }

.process__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #9bd5ff;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .145em;
  line-height: 1.2;
  text-transform: uppercase;
}

.process__eyebrow b {
  min-width: 32px;
  height: 23px;
  padding-inline: 7px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px 8px 3px 8px;
  display: inline-grid;
  place-items: center;
  color: var(--blue-950);
  background: #96d2fb;
  box-shadow: 0 7px 17px rgba(41, 156, 230, .2);
  font-size: .53rem;
  letter-spacing: .09em;
}

.process--concierge h2 {
  max-width: 560px;
  margin: 16px 0 0;
  color: #fff;
  font-size: clamp(3rem, 3.55vw, 3.75rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.process--concierge h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  color: #8fd0fb;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.process__lead {
  max-width: 500px;
  margin: 18px 0 0;
  color: rgba(229, 240, 248, .7);
  font-size: .87rem;
  line-height: 1.68;
}

.process__assurance {
  max-width: 500px;
  min-height: 65px;
  margin-top: 20px;
  padding: 8px 12px 8px 8px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 18px 18px 6px 18px;
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, .055);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.process__assurance > span {
  width: 45px;
  height: 45px;
  border: 1px solid rgba(149, 211, 252, .2);
  border-radius: 14px 14px 5px 14px;
  display: grid;
  place-items: center;
  color: #9bd7ff;
  background: rgba(113, 198, 250, .08);
}
.process__assurance svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.process__assurance p { margin: 0; min-width: 0; }
.process__assurance small,
.process__assurance strong { display: block; }
.process__assurance small {
  margin-bottom: 4px;
  color: #8fd0fb;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}
.process__assurance strong {
  color: rgba(244, 249, 252, .88);
  font-size: .68rem;
  font-weight: 690;
  line-height: 1.45;
}

.process__actions {
  max-width: 510px;
  margin-top: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(174px, .76fr);
  gap: 8px;
}

.process__book,
.process__call {
  min-width: 0;
  min-height: 56px;
  padding: 6px;
  border-radius: 17px 17px 6px 17px;
  align-items: center;
  overflow: hidden;
  line-height: 1;
  text-align: left;
  transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
}

.process__book {
  position: relative;
  border: 1px solid rgba(84, 180, 241, .48);
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 27px;
  gap: 8px;
  color: #fff;
  background: linear-gradient(118deg, #0a5c9d 0%, #147fc8 56%, #35a4e6 100%);
  box-shadow: 0 13px 27px rgba(0, 17, 35, .24), inset 0 1px 0 rgba(255, 255, 255, .2);
  cursor: pointer;
}

.process__book::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255, 255, 255, .16), transparent 32%, transparent 71%, rgba(255, 255, 255, .08));
  pointer-events: none;
}

.process__call {
  border: 1px solid rgba(255, 255, 255, .16);
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 8px;
  color: #fff;
  background: rgba(255, 255, 255, .075);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

.process__action-icon,
.process__action-copy,
.process__action-arrow { position: relative; z-index: 1; }
.process__action-icon,
.process__call > span {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
}
.process__action-icon {
  border: 1px solid rgba(255, 255, 255, .18);
  color: #e5f6ff;
  background: rgba(255, 255, 255, .1);
}
.process__call > span {
  position: relative;
  grid-row: 1 / 3;
  border: 1px solid rgba(155, 215, 255, .16);
  color: #a6dcff;
  background: rgba(130, 204, 249, .08);
}
.process__call > span i {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 6px;
  height: 6px;
  border: 2px solid #0a3a61;
  border-radius: 50%;
  background: #37cf8e;
}
.process__action-icon svg,
.process__action-arrow svg,
.process__call svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.process__action-copy,
.process__action-copy small,
.process__action-copy strong,
.process__call small,
.process__call strong { display: block; min-width: 0; }
.process__action-copy small,
.process__call small {
  margin-bottom: 4px;
  color: rgba(224, 243, 255, .68);
  font-size: .42rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.process__action-copy strong,
.process__call strong { font-size: .7rem; font-weight: 800; white-space: nowrap; }
.process__call small { color: rgba(220, 237, 248, .58); }
.process__call strong { margin: 0; color: #fff; font-size: .66rem; }
.process__action-arrow {
  width: 27px;
  height: 27px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--blue-900);
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 5px 11px rgba(1, 26, 51, .18);
  transition: transform .25s var(--ease);
}
.process__action-arrow svg { width: 12px; height: 12px; }
.process__book:hover { transform: translateY(-2px); box-shadow: 0 17px 34px rgba(0, 17, 35, .29), inset 0 1px 0 rgba(255, 255, 255, .22); }
.process__book:hover .process__action-arrow { transform: translateX(2px); }
.process__call:hover { transform: translateY(-2px); border-color: rgba(143, 208, 250, .3); background: rgba(255, 255, 255, .11); }

.process__journey {
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 28px 28px 9px 28px;
  background: rgba(255, 255, 255, .06);
  box-shadow: 0 24px 54px rgba(0, 17, 33, .2), inset 0 1px 0 rgba(255, 255, 255, .075);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

.process__journey-top,
.process__journey-foot {
  min-height: 39px;
  padding: 3px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(224, 238, 247, .58);
  font-size: .49rem;
  font-weight: 800;
  letter-spacing: .105em;
  text-transform: uppercase;
}
.process__journey-top > span:first-child,
.process__journey-foot > span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.process__journey-top i,
.process__journey-foot i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #42d796;
  box-shadow: 0 0 0 4px rgba(66, 215, 150, .1);
}
.process__journey-top > span:last-child { color: #93cff7; }

.process__steps {
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 20px 20px 6px 20px;
  overflow: hidden;
  background: rgba(2, 20, 36, .19);
}

.process--concierge .process-step {
  position: relative;
  min-height: 105px;
  padding: 13px 12px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .095);
  border-radius: 0;
  display: grid;
  grid-template-columns: 27px 42px minmax(0, 1fr) 27px;
  align-items: center;
  gap: 11px;
  color: #fff;
  background: transparent;
  outline: none;
  transition: color .28s var(--ease), background .28s var(--ease), box-shadow .28s var(--ease), transform .28s var(--ease);
}
.process--concierge .process-step:last-child { border-bottom: 0; }
.process--concierge .process-step:hover,
.process--concierge .process-step:focus,
.process--concierge .process-step.is-active {
  border-bottom-color: transparent;
  border-radius: 16px 16px 5px 16px;
  color: var(--blue-950);
  background: rgba(250, 253, 255, .95);
  box-shadow: 0 14px 34px rgba(0, 17, 33, .17), inset 0 1px 0 #fff;
  transform: translateX(-3px);
}
.process--concierge .process-step:focus-visible { outline: 3px solid rgba(143, 208, 251, .42); outline-offset: 2px; }

.process--concierge .process-step__number {
  position: static;
  color: rgba(224, 238, 247, .38);
  font-size: .55rem;
  font-weight: 820;
  letter-spacing: .12em;
}
.process--concierge .process-step:hover .process-step__number,
.process--concierge .process-step:focus .process-step__number,
.process--concierge .process-step.is-active .process-step__number { color: var(--blue-600); }

.process--concierge .process-step__icon {
  position: static;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(158, 215, 252, .2);
  border-radius: 14px 14px 5px 14px;
  display: grid;
  place-items: center;
  color: #9bd7ff;
  background: rgba(132, 205, 250, .075);
  box-shadow: none;
}
.process--concierge .process-step__icon svg { width: 18px; height: 18px; stroke-width: 1.7; }
.process--concierge .process-step:hover .process-step__icon,
.process--concierge .process-step:focus .process-step__icon,
.process--concierge .process-step.is-active .process-step__icon {
  color: var(--blue-700);
  border-color: rgba(37, 139, 224, .15);
  background: linear-gradient(145deg, #f7fcff, #dfeffa);
  box-shadow: none;
}

.process-step__body { min-width: 0; display: block; }
.process-step__body small {
  display: block;
  margin-bottom: 4px;
  color: #8fcdf5;
  font-size: .45rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}
.process--concierge .process-step:hover .process-step__body small,
.process--concierge .process-step:focus .process-step__body small,
.process--concierge .process-step.is-active .process-step__body small { color: var(--blue-600); }
.process--concierge .process-step h3 {
  margin: 0;
  color: #fff;
  font-size: .83rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.process--concierge .process-step p {
  max-width: none;
  margin: 4px 0 0;
  color: rgba(224, 237, 246, .58);
  font-size: .61rem;
  line-height: 1.48;
}
.process--concierge .process-step:hover h3,
.process--concierge .process-step:focus h3,
.process--concierge .process-step.is-active h3 { color: #223a51; }
.process--concierge .process-step:hover p,
.process--concierge .process-step:focus p,
.process--concierge .process-step.is-active p { color: #6d7f90; }

.process-step__arrow {
  width: 27px;
  height: 27px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: rgba(210, 234, 249, .56);
  transition: color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease), transform .25s var(--ease);
}
.process-step__arrow svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.process--concierge .process-step:hover .process-step__arrow,
.process--concierge .process-step:focus .process-step__arrow,
.process--concierge .process-step.is-active .process-step__arrow {
  color: #fff;
  border-color: var(--blue-600);
  background: var(--blue-600);
  transform: translateX(2px);
}

.process__journey-foot {
  padding-top: 9px;
  min-height: 42px;
  text-transform: none;
  letter-spacing: .01em;
}
.process__journey-foot strong { color: rgba(238, 247, 252, .78); font-size: .55rem; font-weight: 760; }
.process__journey-foot > span:last-child { display: inline-flex; align-items: center; gap: 8px; }
.process__journey-foot b { width: 1px; height: 11px; background: rgba(255, 255, 255, .16); }

@media (max-width: 1180px) {
  .process__panel { padding: 42px; grid-template-columns: minmax(0, 1fr) minmax(470px, 1.08fr); gap: 40px; }
  .process--concierge h2 { font-size: clamp(2.85rem, 3.95vw, 3.5rem); }
  .process__actions { grid-template-columns: minmax(0, 1fr) 170px; }
}

@media (max-width: 980px) {
  .standards--atelier { padding-bottom: 50px; }
  .process--concierge { padding: 50px 0 62px; }
  .process__panel { padding: 34px; grid-template-columns: minmax(0, 1fr) minmax(410px, .98fr); gap: 28px; border-radius: 32px 32px 10px 32px; }
  .process--concierge h2 { font-size: clamp(2.65rem, 5vw, 3.25rem); }
  .process__lead { font-size: .82rem; }
  .process__actions { grid-template-columns: 1fr; }
  .process--concierge .process-step { grid-template-columns: 24px 39px minmax(0, 1fr) 25px; gap: 9px; }
  .process--concierge .process-step__icon { width: 39px; height: 39px; }
}

@media (max-width: 840px) {
  .process__panel { grid-template-columns: 1fr; gap: 36px; }
  .process__intro { max-width: 670px; }
  .process__actions { max-width: 510px; grid-template-columns: minmax(0, 1fr) 180px; }
  .process__journey { width: min(100%, 680px); }
}

@media (max-width: 700px) {
  .standards--atelier { padding-bottom: 44px; }
  .process--concierge { padding: 44px 0 54px; }
  .process__panel { padding: 25px; border-radius: 28px 28px 9px 28px; gap: 31px; }
  .process--concierge h2 {
    margin-top: 14px;
    font-size: clamp(2.42rem, 10vw, 3.05rem);
    line-height: .95;
  }
  .process__lead { margin-top: 15px; font-size: .82rem; line-height: 1.62; }
  .process__assurance { margin-top: 17px; }
  .process__actions { max-width: none; grid-template-columns: 1fr; }
  .process__journey { padding: 9px; border-radius: 23px 23px 7px 23px; }
  .process__journey-top,
  .process__journey-foot { padding-inline: 7px; }
  .process--concierge .process-step {
    min-height: 108px;
    padding: 12px 9px;
    grid-template-columns: 22px 38px minmax(0, 1fr) 24px;
    gap: 8px;
  }
  .process--concierge .process-step__icon { width: 38px; height: 38px; }
  .process--concierge .process-step:hover,
  .process--concierge .process-step:focus,
  .process--concierge .process-step.is-active { transform: none; }
}

@media (max-width: 430px) {
  .process__panel { padding: 20px 15px; }
  .process__eyebrow { font-size: .59rem; }
  .process--concierge h2 { font-size: clamp(2.18rem, 9.5vw, 2.48rem); }
  .process__assurance { grid-template-columns: 40px minmax(0, 1fr); }
  .process__assurance > span { width: 40px; height: 40px; }
  .process__journey-top > span:last-child { display: none; }
  .process--concierge .process-step { grid-template-columns: 20px 36px minmax(0, 1fr); }
  .process--concierge .process-step__icon { width: 36px; height: 36px; }
  .process-step__arrow { display: none; }
  .process--concierge .process-step h3 { font-size: .78rem; }
  .process--concierge .process-step p { font-size: .57rem; }
  .process__journey-foot > span:last-child { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .process__book,
  .process__call,
  .process__action-arrow,
  .process--concierge .process-step,
  .process-step__arrow { transition-duration: .01ms !important; }
}

/* Brand atlas — premium fifth section */
.process--concierge { padding-bottom: 62px; }

.brands--atlas {
  position: relative;
  padding: 62px 0 76px;
  overflow: hidden;
  border-bottom: 1px solid rgba(179, 199, 214, .56);
  background:
    radial-gradient(circle at 88% 12%, rgba(62, 161, 227, .13), transparent 30%),
    linear-gradient(180deg, #f8fbfd 0%, #eef5f9 52%, #f8fbfd 100%);
  isolation: isolate;
}

.brands--atlas::before {
  content: "05";
  position: absolute;
  left: -4vw;
  top: 13%;
  z-index: -2;
  color: rgba(17, 116, 204, .026);
  font-size: clamp(14rem, 23vw, 25rem);
  font-weight: 850;
  line-height: .75;
  letter-spacing: -.13em;
}

.brands--atlas::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .2;
  background-image:
    linear-gradient(rgba(21, 83, 130, .038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 83, 130, .038) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 86%, transparent);
}

.brands--atlas .brands__halo--one {
  left: auto;
  right: -160px;
  top: -190px;
  width: 500px;
  height: 500px;
  opacity: .68;
}

.brands--atlas .brands__halo--two {
  left: -330px;
  right: auto;
  bottom: -390px;
  width: 640px;
  height: 640px;
  opacity: .46;
}

.brand-atlas {
  display: grid;
  grid-template-columns: minmax(360px, .8fr) minmax(610px, 1.2fr);
  align-items: center;
  gap: clamp(38px, 4.5vw, 68px);
}

.brand-atlas__content {
  position: relative;
  z-index: 12;
  min-width: 0;
}

.brand-atlas__content h2 {
  max-width: 620px;
  margin: 16px 0 0;
  font-size: clamp(3rem, 3.55vw, 3.75rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.brand-atlas__content h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  color: var(--blue-600);
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.brand-atlas__lead {
  max-width: 510px;
  margin: 18px 0 0;
  color: #617286;
  font-size: .87rem;
  line-height: 1.68;
}

.brands--atlas .brand-search {
  z-index: 50;
  max-width: 520px;
  margin-top: 21px;
}

.brands--atlas .brand-search input {
  height: 56px;
  padding: 0 52px 0 49px;
  border-color: rgba(158, 184, 203, .76);
  border-radius: 18px 18px 6px 18px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 13px 31px rgba(20, 55, 82, .08), inset 0 1px 0 #fff;
  font-size: .76rem;
}

.brands--atlas .brand-search > svg { left: 17px; width: 17px; height: 17px; }
.brands--atlas .brand-search__clear { right: 12px; }
.brands--atlas .brand-search__results { max-height: 286px; }

.brand-focus--atlas {
  max-width: 520px;
  min-height: 70px;
  margin-top: 11px;
  padding: 7px 7px 7px 9px;
  border-color: rgba(181, 200, 214, .76);
  border-radius: 20px 20px 6px 20px;
  grid-template-columns: 53px minmax(0, 1fr) auto;
  gap: 10px;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 15px 36px rgba(20, 50, 73, .08), inset 0 1px 0 #fff;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.brand-focus--atlas .brand-focus__mark {
  width: 53px;
  height: 52px;
  border-radius: 15px 15px 5px 15px;
  background: linear-gradient(145deg, #fff, #edf5fa);
}

.brand-focus--atlas .brand-focus__mark > span { font-size: .56rem; }
.brand-focus--atlas .brand-focus__mark img { max-width: 42px; max-height: 24px; }
.brand-focus--atlas .brand-focus__copy small { margin-bottom: 3px; font-size: .46rem; }
.brand-focus--atlas .brand-focus__copy strong { font-size: .69rem; }

.brand-focus--atlas .brand-focus__book {
  min-width: 136px;
  height: 48px;
  padding: 0 7px 0 14px;
  border-radius: 15px 15px 5px 15px;
  gap: 9px;
  font-size: .61rem;
}

.brand-focus--atlas .brand-focus__book svg {
  width: 28px;
  height: 28px;
  padding: 8px;
}

.brands--atlas .brands__note {
  max-width: 520px;
  margin-top: 13px;
  justify-content: flex-start;
  font-size: .62rem;
  text-align: left;
}

.brand-catalog {
  position: relative;
  z-index: 3;
  min-width: 0;
  min-height: 512px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(105, 170, 216, .26);
  border-radius: 38px 38px 12px 38px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 15%, rgba(45, 153, 224, .28), transparent 34%),
    linear-gradient(138deg, #04182c 0%, #062a48 53%, #073d66 100%);
  box-shadow: 0 34px 82px rgba(7, 38, 64, .2), inset 0 1px 0 rgba(255, 255, 255, .085);
  isolation: isolate;
}

.brand-catalog::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .2;
  background-image:
    linear-gradient(rgba(255, 255, 255, .065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .065) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(90deg, transparent, #000 28%, #000 100%);
}

.brand-catalog::after {
  content: "";
  position: absolute;
  left: -100px;
  bottom: -150px;
  z-index: -2;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(62, 169, 235, .14), transparent 68%);
  filter: blur(7px);
}

.brand-catalog__atmosphere {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.brand-catalog__atmosphere::before {
  content: "";
  position: absolute;
  right: -76px;
  top: -154px;
  width: 550px;
  height: 550px;
  border: 1px solid rgba(138, 210, 255, .17);
  border-radius: 50%;
  box-shadow: 0 0 0 18px rgba(89, 185, 243, .025), 0 0 70px rgba(60, 170, 238, .15);
}

.brand-catalog__atmosphere img {
  position: absolute;
  right: -91px;
  top: -145px;
  width: 560px;
  height: 560px;
  object-fit: contain;
  opacity: .68;
  filter: saturate(.93) contrast(1.04) drop-shadow(0 28px 45px rgba(0, 8, 19, .32));
  transform: rotate(-4deg);
}

.brand-catalog__pin {
  position: absolute;
  right: 116px;
  top: 164px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(232, 246, 255, .76);
  font-size: .46rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(1, 20, 37, .65);
}

.brand-catalog__pin i {
  position: relative;
  width: 8px;
  height: 8px;
  border: 2px solid #e9f7ff;
  border-radius: 50%;
  background: #24a0e4;
  box-shadow: 0 0 0 5px rgba(83, 190, 251, .14), 0 0 17px rgba(111, 207, 255, .5);
}

.brand-catalog__pin i::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 8px;
  width: 1px;
  height: 27px;
  background: linear-gradient(to bottom, rgba(223, 245, 255, .64), transparent);
}

.brand-catalog__pin b { font: inherit; }

.brand-catalog__header,
.brand-catalog__footer,
.brand-catalog__matrix { position: relative; z-index: 3; }

.brand-catalog__header {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.brand-catalog__status,
.brand-catalog__coverage,
.brand-catalog__footer {
  font-size: .49rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.brand-catalog__status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(223, 239, 249, .66);
}

.brand-catalog__status i,
.brand-catalog__footer i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #42d796;
  box-shadow: 0 0 0 4px rgba(66, 215, 150, .1);
}

.brand-catalog__coverage {
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(224, 240, 250, .59);
  background: rgba(255, 255, 255, .055);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.brand-catalog__coverage strong { color: #9bd8ff; font-size: .58rem; }
.brand-catalog__coverage b { width: 1px; height: 10px; background: rgba(255, 255, 255, .15); }

.brand-catalog__matrix {
  margin-top: 93px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 22px 22px 7px 22px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  background: rgba(179, 219, 243, .13);
  box-shadow: 0 22px 52px rgba(0, 14, 27, .24), inset 0 1px 0 rgba(255, 255, 255, .07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.brand-catalog__item {
  position: relative;
  min-width: 0;
  min-height: 66px;
  padding: 11px 8px;
  border: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  background: rgba(2, 20, 36, .7);
  box-shadow: none;
  cursor: pointer;
  outline: none;
  transition: background .28s var(--ease), box-shadow .28s var(--ease), opacity .28s var(--ease), transform .28s var(--ease), filter .28s var(--ease);
}

.brand-catalog__item:nth-child(19) { grid-column: 2; }

.brand-catalog__item::after {
  content: "";
  position: absolute;
  right: 7px;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #35ce8d;
  box-shadow: 0 0 0 4px rgba(53, 206, 141, .1);
  opacity: 0;
  transition: opacity .25s var(--ease);
}

.brand-catalog__item img {
  width: auto;
  max-width: 80px;
  max-height: 26px;
  filter: grayscale(1) brightness(0) invert(1);
  opacity: .66;
  pointer-events: none;
  transition: filter .28s var(--ease), opacity .28s var(--ease), transform .28s var(--ease);
}

.brand-catalog__item:hover,
.brand-catalog__item:focus-visible,
.brand-catalog__item.is-active,
.brand-catalog__item.is-match {
  z-index: 2;
  color: var(--blue-950);
  background: rgba(250, 253, 255, .97);
  box-shadow: 0 13px 29px rgba(0, 14, 27, .27), inset 0 1px 0 #fff;
  transform: translateY(-2px);
}

.brand-catalog__item.is-ambient {
  background: rgba(28, 88, 132, .86);
  box-shadow: inset 0 0 0 1px rgba(143, 211, 252, .14), 0 0 22px rgba(47, 157, 225, .12);
}

.brand-catalog__item.is-ambient img { opacity: .9; transform: scale(1.035); }

.brand-catalog__item:focus-visible { box-shadow: 0 0 0 3px rgba(108, 200, 255, .42), 0 13px 29px rgba(0, 14, 27, .27); }
.brand-catalog__item:hover::after,
.brand-catalog__item:focus-visible::after,
.brand-catalog__item.is-active::after { opacity: 1; }

.brand-catalog__item:hover img,
.brand-catalog__item:focus-visible img,
.brand-catalog__item.is-active img,
.brand-catalog__item.is-match img {
  filter: none;
  opacity: 1;
  transform: scale(1.04);
}

.brand-catalog.is-searching .brand-catalog__item:not(.is-match) {
  opacity: .14;
  filter: blur(.6px);
  transform: scale(.96);
}

.brand-catalog.has-no-results .brand-catalog__item { opacity: .1 !important; filter: blur(.7px); }

.brand-catalog__footer {
  min-height: 42px;
  padding: 9px 4px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(222, 238, 248, .54);
  letter-spacing: .075em;
}

.brand-catalog__footer > span:first-child { display: inline-flex; align-items: center; gap: 9px; }
.brand-catalog__footer > span:last-child { color: rgba(148, 210, 250, .76); }

@media (max-width: 1180px) {
  .brand-atlas { grid-template-columns: minmax(330px, .82fr) minmax(520px, 1.18fr); gap: 30px; }
  .brand-atlas__content h2 { font-size: clamp(2.85rem, 3.95vw, 3.5rem); }
  .brand-catalog { min-height: 500px; padding: 19px; }
  .brand-catalog__matrix { margin-top: 86px; }
  .brand-catalog__item { min-height: 64px; }
  .brand-catalog__item img { max-width: 72px; max-height: 24px; }
  .brand-catalog__atmosphere img { right: -112px; width: 535px; height: 535px; }
  .brand-catalog__atmosphere::before { right: -97px; width: 525px; height: 525px; }
  .brand-catalog__pin { right: 91px; top: 155px; }
}

@media (max-width: 980px) {
  .process--concierge { padding-bottom: 54px; }
  .brands--atlas { padding: 54px 0 64px; }
  .brand-atlas { grid-template-columns: 1fr; gap: 36px; }
  .brand-atlas__content { max-width: 720px; }
  .brand-atlas__content h2 { max-width: 650px; font-size: clamp(2.65rem, 5vw, 3.25rem); }
  .brand-atlas__lead,
  .brands--atlas .brand-search,
  .brand-focus--atlas,
  .brands--atlas .brands__note { max-width: 620px; }
  .brand-catalog { width: min(100%, 790px); min-height: 510px; }
  .brand-catalog__matrix { margin-top: 91px; }
}

@media (max-width: 700px) {
  .process--concierge { padding-bottom: 46px; }
  .brands--atlas { padding: 46px 0 56px; }
  .brands--atlas::before { top: 9%; font-size: 13rem; }
  .brand-atlas { gap: 30px; }
  .brand-atlas__content h2 {
    margin-top: 14px;
    font-size: clamp(2.42rem, 10vw, 3.05rem);
    line-height: .95;
  }
  .brand-atlas__lead { margin-top: 15px; font-size: .82rem; line-height: 1.62; }
  .brands--atlas .brand-search { margin-top: 18px; }
  .brands--atlas .brand-search input { height: 54px; }

  .brand-focus--atlas { grid-template-columns: 50px minmax(0, 1fr) auto; }
  .brand-focus--atlas .brand-focus__mark { width: 50px; height: 50px; }
  .brand-focus--atlas .brand-focus__book { width: auto; min-width: 126px; height: 46px; grid-column: auto; }

  .brand-catalog { min-height: 0; padding: 15px; border-radius: 29px 29px 9px 29px; }
  .brand-catalog__header { min-height: 34px; }
  .brand-catalog__coverage { padding-inline: 9px; }
  .brand-catalog__atmosphere img { right: -83px; top: -106px; width: 420px; height: 420px; opacity: .64; }
  .brand-catalog__atmosphere::before { right: -75px; top: -113px; width: 420px; height: 420px; }
  .brand-catalog__pin { right: 74px; top: 133px; }
  .brand-catalog__matrix { margin-top: 92px; grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: 19px 19px 6px 19px; }
  .brand-catalog__item { min-height: 59px; padding: 9px 6px; }
  .brand-catalog__item:nth-child(19) { grid-column: auto; }
  .brand-catalog__item:nth-child(21) { grid-column: 2; }
  .brand-catalog__item img { max-width: 64px; max-height: 22px; }
  .brand-catalog__footer { min-height: 39px; padding-top: 7px; font-size: .45rem; }
}

@media (max-width: 520px) {
  .brand-focus--atlas { grid-template-columns: 50px minmax(0, 1fr); gap: 8px 10px; }
  .brand-focus--atlas .brand-focus__copy strong { white-space: normal; }
  .brand-focus--atlas .brand-focus__book { width: 100%; min-width: 0; grid-column: 1 / -1; }
}

@media (max-width: 430px) {
  .brand-atlas__content h2 { font-size: clamp(2.18rem, 9.5vw, 2.48rem); }
  .brands--atlas .brand-search__result { grid-template-columns: 52px minmax(0, 1fr); gap: 10px; }
  .brands--atlas .brand-search__result-mark { width: 52px; }
  .brands--atlas .brand-search__result-mark img { max-width: 49px; }
  .brands--atlas .brand-search__result small { display: none; }
  .brand-catalog { padding: 12px 10px; }
  .brand-catalog__status { font-size: .43rem; letter-spacing: .09em; }
  .brand-catalog__coverage { font-size: .42rem; }
  .brand-catalog__coverage strong { font-size: .5rem; }
  .brand-catalog__atmosphere img { right: -92px; top: -77px; width: 355px; height: 355px; }
  .brand-catalog__atmosphere::before { right: -83px; top: -85px; width: 355px; height: 355px; }
  .brand-catalog__pin { display: none; }
  .brand-catalog__matrix { margin-top: 78px; }
  .brand-catalog__item { min-height: 55px; }
  .brand-catalog__item img { max-width: 52px; max-height: 19px; }
  .brand-catalog__footer > span:last-child { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-catalog__item { transition-duration: .01ms !important; }
}

/* Homepage refinements v12 — editorial brands, aerial coverage and technician profile */
.premium-section-header {
  position: relative;
  z-index: 2;
  margin-bottom: 34px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, 420px);
  align-items: end;
  gap: clamp(42px, 6vw, 82px);
}

.premium-section-header h2 {
  max-width: 650px;
  margin: 16px 0 0;
  font-size: clamp(3rem, 3.55vw, 3.75rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.premium-section-header h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  color: #1878bd;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.premium-section-header__intro { padding-bottom: 3px; }
.premium-section-header__intro p {
  margin: 0;
  color: #5f7183;
  font-size: .87rem;
  line-height: 1.68;
}

.premium-section-header__intro .text-link { margin-top: 17px; }

/* A quiet, paper-like maker collection replaces the former globe scene. */
.brands--folio {
  position: relative;
  padding: 72px 0 78px;
  overflow: hidden;
  border-bottom: 1px solid rgba(174, 194, 207, .54);
  background:
    radial-gradient(circle at 88% 8%, rgba(57, 154, 214, .1), transparent 29%),
    linear-gradient(180deg, #f9fbfb 0%, #eff4f5 100%);
  isolation: isolate;
}

.brands--folio::before {
  content: "05";
  position: absolute;
  left: -4vw;
  right: auto;
  top: 13%;
  z-index: -2;
  color: rgba(17, 116, 204, .024);
  font-size: clamp(14rem, 23vw, 25rem);
  font-weight: 850;
  line-height: .75;
  letter-spacing: -.13em;
}

.brands--folio::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .16;
  background-image:
    linear-gradient(rgba(28, 83, 119, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28, 83, 119, .04) 1px, transparent 1px);
  background-size: 78px 78px;
  mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent);
}

.brands--folio .brands__halo--one {
  left: auto;
  right: -190px;
  top: -230px;
  width: 510px;
  height: 510px;
  opacity: .5;
}

.brands--folio .brands__halo--two { display: none; }

.brand-folio {
  display: grid;
  grid-template-columns: minmax(350px, .78fr) minmax(590px, 1.22fr);
  align-items: center;
  gap: clamp(44px, 5.5vw, 76px);
}

.brand-folio__content { position: relative; z-index: 10; min-width: 0; }
.brand-folio__content h2 {
  max-width: 620px;
  margin: 16px 0 0;
  font-size: clamp(3rem, 3.55vw, 3.75rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.brand-folio__content h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  color: #1878bd;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.brand-folio__lead {
  max-width: 500px;
  margin: 18px 0 0;
  color: #5f7183;
  font-size: .87rem;
  line-height: 1.68;
}

.brands--folio .brand-search {
  z-index: 50;
  max-width: 510px;
  margin-top: 22px;
}

.brands--folio .brand-search input {
  height: 56px;
  padding: 0 51px 0 48px;
  border-color: rgba(153, 178, 194, .68);
  border-radius: 17px 17px 5px 17px;
  background: rgba(255, 255, 255, .93);
  box-shadow: 0 14px 34px rgba(20, 54, 77, .075), inset 0 1px 0 #fff;
  font-size: .77rem;
}

.brands--folio .brand-search > svg { left: 17px; width: 17px; height: 17px; }
.brands--folio .brand-search__clear { right: 12px; }
.brands--folio .brand-search__results { max-height: 280px; }

.brand-folio__facts {
  max-width: 510px;
  margin-top: 15px;
  display: flex;
  gap: 9px;
}

.brand-folio__facts span {
  min-height: 37px;
  padding: 0 13px;
  border: 1px solid rgba(169, 190, 204, .55);
  border-radius: 12px 12px 4px 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #687b8d;
  background: rgba(255, 255, 255, .54);
  font-size: .58rem;
  font-weight: 750;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.brand-folio__facts strong { color: #0a5f9f; font-size: .74rem; }
.brands--folio .brands__note {
  max-width: 510px;
  margin-top: 14px;
  justify-content: flex-start;
  font-size: .63rem;
  text-align: left;
}

.brand-folio__stage {
  position: relative;
  z-index: 3;
  min-width: 0;
  min-height: 532px;
  padding: 19px;
  border: 1px solid rgba(146, 173, 190, .5);
  border-radius: 35px 35px 10px 35px;
  color: var(--ink);
  background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(237, 243, 244, .93));
  box-shadow: 0 31px 76px rgba(16, 52, 77, .13), inset 0 1px 0 #fff;
  isolation: isolate;
}

.brand-folio__stage::before,
.brand-folio__stage::after {
  content: "";
  position: absolute;
  left: 44px;
  right: 44px;
  top: 76px;
  height: 190px;
  z-index: 0;
  border: 1px solid rgba(132, 168, 193, .32);
  border-radius: 26px 26px 7px 26px;
  background: #dce7eb;
  transform: rotate(-1.6deg) translateY(7px);
}

.brand-folio__stage::after {
  left: 36px;
  right: 52px;
  background: #eef3f4;
  transform: rotate(.9deg) translateY(2px);
}

.brand-folio__header,
.brand-folio__feature,
.brand-folio__matrix,
.brand-folio__footer { position: relative; z-index: 2; }

.brand-folio__header {
  min-height: 37px;
  padding: 0 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #667a8c;
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.brand-folio__header > span { display: inline-flex; align-items: center; gap: 9px; }
.brand-folio__header i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2cc987;
  box-shadow: 0 0 0 5px rgba(44, 201, 135, .1);
}
.brand-folio__header small { color: #8795a2; font: inherit; letter-spacing: .07em; }

.brand-folio__feature {
  min-height: 192px;
  padding: 17px 18px 16px;
  border: 1px solid rgba(159, 182, 197, .58);
  border-radius: 27px 27px 7px 27px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr;
  gap: 10px 18px;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 7%, rgba(43, 147, 214, .1), transparent 33%),
    #fff;
  box-shadow: 0 20px 43px rgba(14, 49, 73, .12), inset 0 1px 0 #fff;
}

.brand-folio__feature::after {
  content: "KFX";
  position: absolute;
  right: -14px;
  bottom: -24px;
  color: rgba(15, 91, 145, .035);
  font-size: 7.3rem;
  font-weight: 850;
  line-height: 1;
  letter-spacing: -.09em;
  pointer-events: none;
}

.brand-folio__feature-meta {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #82909d;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.brand-folio__feature-meta strong { color: #0d6dae; font-size: .55rem; }
.brand-folio__feature-body {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(125px, .65fr) minmax(0, 1.35fr);
  align-items: center;
  gap: 22px;
}

.brand-folio__feature-mark {
  height: 105px;
  padding: 17px;
  border: 1px solid #e2e8ec;
  border-radius: 20px 20px 6px 20px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, #fff, #f1f5f6);
}

.brand-folio__feature-mark > span {
  color: #0c6fb4;
  font-size: 1.2rem;
  font-weight: 850;
  letter-spacing: .08em;
}

.brand-folio__feature-mark img { width: auto; max-width: 145px; max-height: 55px; }
.brand-folio__feature-copy { min-width: 0; }
.brand-folio__feature-copy small {
  display: block;
  color: #0d70b8;
  font-size: .5rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.brand-folio__feature-copy h3 {
  margin: 6px 0 3px;
  overflow: hidden;
  font-size: clamp(1.65rem, 2.5vw, 2.35rem);
  line-height: .98;
  letter-spacing: -.055em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-folio__feature-copy p { margin: 0; color: #798999; font-size: .58rem; font-weight: 700; letter-spacing: .035em; }
.brand-folio__book {
  align-self: end;
  min-width: 128px;
  height: 45px;
  padding: 0 7px 0 14px;
  border: 0;
  border-radius: 15px 15px 5px 15px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  color: #fff;
  background: linear-gradient(135deg, #0a5da3, #2086d0);
  box-shadow: 0 12px 24px rgba(13, 103, 176, .19);
  font-size: .61rem;
  font-weight: 800;
  cursor: pointer;
}

.brand-folio__book svg {
  width: 28px;
  height: 28px;
  padding: 8px;
  border-radius: 10px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  background: rgba(255, 255, 255, .13);
}

.brand-folio__matrix {
  margin-top: 15px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
}

.brand-folio__item {
  position: relative;
  min-width: 0;
  min-height: 57px;
  padding: 9px 7px;
  border: 1px solid rgba(173, 191, 202, .5);
  border-radius: 13px 13px 4px 13px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 5px 13px rgba(25, 62, 87, .035), inset 0 1px 0 #fff;
  cursor: pointer;
  transition: transform .26s var(--ease), border-color .26s var(--ease), background .26s var(--ease), box-shadow .26s var(--ease), opacity .26s var(--ease);
}

.brand-folio__item img {
  width: auto;
  max-width: 72px;
  max-height: 23px;
  filter: grayscale(.85);
  opacity: .68;
  pointer-events: none;
  transition: filter .25s var(--ease), opacity .25s var(--ease), transform .25s var(--ease);
}

.brand-folio__item:hover,
.brand-folio__item:focus-visible,
.brand-folio__item.is-active,
.brand-folio__item.is-match,
.brand-folio__item.is-ambient {
  z-index: 2;
  border-color: rgba(33, 127, 190, .48);
  background: #fff;
  box-shadow: 0 11px 24px rgba(21, 70, 105, .11), inset 0 -2px 0 rgba(26, 126, 194, .16);
  transform: translateY(-2px);
}

.brand-folio__item:hover img,
.brand-folio__item:focus-visible img,
.brand-folio__item.is-active img,
.brand-folio__item.is-match img,
.brand-folio__item.is-ambient img { filter: none; opacity: 1; transform: scale(1.035); }

.brand-folio__stage.is-searching .brand-folio__item:not(.is-match) { opacity: .2; transform: scale(.96); }
.brand-folio__stage.has-no-results .brand-folio__item { opacity: .14 !important; }
.brand-folio__footer {
  min-height: 37px;
  padding: 8px 4px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #7c8c9a;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.brand-folio__feature.is-changing .brand-folio__feature-body,
.brand-folio__feature.is-changing .brand-folio__book { animation: brandFolioTurn .48s var(--ease) both; }
@keyframes brandFolioTurn {
  from { opacity: .35; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Satellite-inspired service atlas with real city controls and no route drawing. */
.coverage-preview--aerial {
  position: relative;
  padding: 74px 0 82px;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 0%, rgba(60, 150, 212, .09), transparent 28%),
    linear-gradient(180deg, #fbfcfc 0%, #eef3f4 100%);
}

.coverage-preview--aerial::before { display: none; }
.coverage-atlas {
  position: relative;
  z-index: 2;
  padding: 9px;
  border: 1px solid rgba(145, 170, 186, .5);
  border-radius: 36px 36px 11px 36px;
  display: grid;
  grid-template-columns: minmax(0, 1.56fr) minmax(340px, .72fr);
  gap: 9px;
  background: rgba(255, 255, 255, .8);
  box-shadow: 0 30px 78px rgba(16, 54, 79, .13), inset 0 1px 0 #fff;
}

.coverage-atlas__visual {
  min-width: 0;
  overflow: hidden;
  border-radius: 28px 28px 7px 28px;
  color: #fff;
  background: #071d2b;
}

.coverage-atlas__bar {
  min-height: 54px;
  padding: 0 19px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(235, 245, 249, .7);
  background: linear-gradient(110deg, #071c2d, #0c344c);
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.coverage-atlas__bar > span { display: inline-flex; align-items: center; gap: 9px; }
.coverage-atlas__bar b {
  min-width: 33px;
  height: 25px;
  border-radius: 8px 8px 3px 8px;
  display: inline-grid;
  place-items: center;
  color: #08253b;
  background: #f4fbff;
  font-size: .5rem;
  letter-spacing: .09em;
}

.coverage-atlas__bar i,
.coverage-atlas__place i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
  background: #45d99a;
  box-shadow: 0 0 0 5px rgba(69, 217, 154, .11);
}

.coverage-atlas__map {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  isolation: isolate;
  background: #18352f;
}

.coverage-atlas__map > img {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.72) brightness(.69) contrast(1.07);
  transform: scale(1.012);
  transition: transform 1.1s var(--ease), filter .5s var(--ease);
}

.coverage-atlas:hover .coverage-atlas__map > img { transform: scale(1.025); }
.coverage-atlas__veil {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(4, 25, 38, .28), rgba(4, 25, 38, .05) 42%, rgba(4, 25, 38, .2)),
    linear-gradient(0deg, rgba(3, 21, 33, .44), transparent 37%, rgba(4, 23, 35, .17));
  pointer-events: none;
}

.coverage-atlas__pins { position: absolute; inset: 0; z-index: 3; }
.coverage-pin {
  position: absolute;
  left: var(--pin-x);
  top: var(--pin-y);
  z-index: 2;
  width: 15px;
  height: 15px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: transparent;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: z-index .01s;
}

.coverage-pin > i {
  position: relative;
  z-index: 2;
  width: 13px;
  height: 13px;
  border: 3px solid #f8fcff;
  border-radius: 50%;
  display: block;
  background: #1885cf;
  box-shadow: 0 4px 12px rgba(0, 19, 33, .5), 0 0 0 4px rgba(25, 139, 211, .18);
  transition: transform .24s var(--ease), background .24s var(--ease), box-shadow .24s var(--ease);
}

.coverage-pin::after {
  content: "";
  position: absolute;
  left: 6.5px;
  top: 6.5px;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(118, 206, 255, .7);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.55);
}

.coverage-pin > span {
  position: absolute;
  left: 20px;
  top: 50%;
  z-index: 1;
  min-height: 27px;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 9px 9px 3px 9px;
  display: inline-flex;
  align-items: center;
  color: rgba(255, 255, 255, .9);
  background: rgba(4, 27, 40, .76);
  box-shadow: 0 7px 18px rgba(1, 16, 25, .24);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  white-space: nowrap;
  transform: translateY(-50%);
  transition: color .24s var(--ease), background .24s var(--ease), border-color .24s var(--ease), transform .24s var(--ease);
}

.coverage-pin--west > span { left: auto; right: 20px; border-radius: 9px 9px 9px 3px; }
.coverage-pin--north > span { left: 50%; top: auto; bottom: 20px; transform: translateX(-50%); }
.coverage-pin--south > span { left: 50%; top: 20px; transform: translateX(-50%); }
.coverage-pin:hover,
.coverage-pin:focus-visible,
.coverage-pin.is-active { z-index: 10; outline: none; }
.coverage-pin:hover > i,
.coverage-pin:focus-visible > i,
.coverage-pin.is-active > i {
  background: #73c8f7;
  box-shadow: 0 6px 18px rgba(0, 22, 38, .48), 0 0 0 6px rgba(95, 192, 245, .2);
  transform: scale(1.14);
}

.coverage-pin:hover > span,
.coverage-pin:focus-visible > span,
.coverage-pin.is-active > span {
  color: #0b3553;
  border-color: #fff;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 25px rgba(1, 18, 29, .3);
}

.coverage-pin.is-active::after { animation: coveragePinPulse 2.2s ease-out infinite; }
@keyframes coveragePinPulse {
  0% { opacity: .72; transform: translate(-50%, -50%) scale(.55); }
  76%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.38); }
}

.coverage-atlas__map-note {
  position: absolute;
  left: 17px;
  bottom: 16px;
  z-index: 4;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 11px 11px 3px 11px;
  display: grid;
  gap: 1px;
  color: #fff;
  background: rgba(4, 27, 40, .69);
  box-shadow: 0 10px 25px rgba(0, 15, 24, .18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.coverage-atlas__map-note span { font-size: .53rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.coverage-atlas__map-note small { color: rgba(255, 255, 255, .62); font-size: .48rem; }
.coverage-atlas__panel {
  min-width: 0;
  padding: 25px 25px 19px;
  border-radius: 28px 28px 7px 28px;
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 100% 0%, rgba(66, 161, 219, .1), transparent 27%),
    #f5f8f8;
}

.coverage-atlas__place { padding-bottom: 17px; border-bottom: 1px solid #dce5e8; }
.coverage-atlas__place > span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #718392;
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.coverage-atlas__place > span b { font: inherit; }
.coverage-atlas__place h3 { margin: 10px 0 7px; color: #092c47; font-size: clamp(1.85rem, 2.5vw, 2.35rem); line-height: .98; letter-spacing: -.055em; }
.coverage-atlas__place p { margin: 0; color: #667989; font-size: .67rem; line-height: 1.65; }
.coverage-atlas__services { padding: 16px 0 15px; border-bottom: 1px solid #dce5e8; }
.coverage-atlas__services > p {
  margin: 0 0 10px;
  color: #7b8b98;
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .105em;
  text-transform: uppercase;
}
.coverage-atlas__services > p strong { color: #0d6dad; }
.coverage-atlas__services > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.coverage-atlas__services.is-updating > div { animation: coverageServicesReveal .42s var(--ease) both; }
@keyframes coverageServicesReveal {
  from { opacity: .38; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
.coverage-atlas__services span {
  min-width: 0;
  min-height: 32px;
  padding: 0 7px;
  border: 1px solid rgba(173, 191, 201, .55);
  border-radius: 10px 10px 3px 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  color: #496477;
  background: rgba(255, 255, 255, .75);
  font-size: .54rem;
  font-weight: 750;
  white-space: nowrap;
}
.coverage-atlas__services svg { width: 14px; height: 14px; flex: 0 0 14px; fill: none; stroke: #1478bc; stroke-width: 1.55; }
.coverage-atlas__actions { margin-top: 14px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 7px; }
.coverage-atlas__actions .button { min-height: 48px; padding-inline: 14px; font-size: .65rem; }
.coverage-atlas__actions > a {
  min-height: 48px;
  padding: 0 11px;
  border: 1px solid rgba(150, 177, 194, .58);
  border-radius: 15px 15px 5px 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #174866;
  background: rgba(255, 255, 255, .82);
  font-size: .56rem;
  font-weight: 800;
}
.coverage-atlas__actions > a svg { width: 16px; height: 16px; fill: none; stroke: #1378bb; stroke-width: 1.8; }
.coverage-atlas__actions > a span { display: grid; gap: 1px; line-height: 1.15; }
.coverage-atlas__actions > a small { color: #778997; font-size: .47rem; font-weight: 750; }
.coverage-atlas__cities {
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid #dce5e8;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}
.coverage-atlas__cities button {
  min-width: 0;
  min-height: 23px;
  padding: 3px 5px;
  overflow: hidden;
  border: 0;
  border-radius: 6px;
  color: #788a98;
  background: transparent;
  font-size: .45rem;
  font-weight: 750;
  line-height: 1.15;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
.coverage-atlas__cities button:hover,
.coverage-atlas__cities button:focus-visible,
.coverage-atlas__cities button.is-active { color: #0c67a5; background: #e4f0f7; }

/* Compact editorial technician profile. */
.tech-spotlight--editorial {
  position: relative;
  padding: 74px 0 82px;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 8%, rgba(59, 153, 213, .08), transparent 28%),
    linear-gradient(180deg, #fff 0%, #f5f8f9 100%);
}
.tech-spotlight--editorial::before { display: none; }
.tech-editorial {
  position: relative;
  z-index: 2;
  padding: 9px;
  border: 1px solid rgba(151, 176, 191, .5);
  border-radius: 36px 36px 11px 36px;
  display: grid;
  grid-template-columns: minmax(390px, .88fr) minmax(0, 1.12fr);
  gap: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 29px 72px rgba(20, 55, 79, .12), inset 0 1px 0 #fff;
}
.tech-editorial__portrait {
  position: relative;
  min-width: 0;
  min-height: 490px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px 12px 7px 28px;
  background: #dce6e9;
}
.tech-editorial__portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(4, 25, 39, .64), transparent 38%);
  pointer-events: none;
}
.tech-editorial__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transition: transform .9s var(--ease); }
.tech-editorial:hover .tech-editorial__portrait img { transform: scale(1.018); }
.tech-editorial__portrait figcaption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 15px;
  z-index: 2;
  min-height: 48px;
  padding: 8px 9px 8px 12px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 15px 15px 5px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #fff;
  background: rgba(5, 28, 43, .66);
  box-shadow: 0 13px 30px rgba(0, 13, 23, .2);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tech-editorial__portrait figcaption span { display: inline-flex; align-items: center; gap: 9px; }
.tech-editorial__portrait figcaption b { padding: 5px 7px; border-radius: 7px 7px 2px 7px; color: #0a3553; background: #fff; font-size: .48rem; letter-spacing: .1em; }
.tech-editorial__portrait figcaption small { color: rgba(255, 255, 255, .6); font: inherit; font-size: .44rem; }
.tech-editorial__content {
  min-width: 0;
  padding: clamp(30px, 3.6vw, 46px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.tech-editorial__identity > span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #0e6eae;
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.tech-editorial__identity > span i { width: 6px; height: 6px; border-radius: 50%; background: #40d393; box-shadow: 0 0 0 5px rgba(64, 211, 147, .1); }
.tech-editorial__identity h3 { margin: 10px 0 9px; color: #082f4c; font-size: clamp(2.55rem, 4vw, 3.65rem); line-height: .92; letter-spacing: -.065em; }
.tech-editorial__identity p { max-width: 580px; margin: 0; color: #607383; font-size: .76rem; line-height: 1.72; }
.tech-editorial__skills { margin-top: 17px; display: flex; flex-wrap: wrap; gap: 7px; }
.tech-editorial__skills span {
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid rgba(168, 190, 204, .57);
  border-radius: 11px 11px 3px 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #496477;
  background: #f8fbfc;
  font-size: .57rem;
  font-weight: 800;
}
.tech-editorial__skills svg { width: 15px; height: 15px; fill: none; stroke: #1175b7; stroke-width: 1.55; }
.tech-editorial blockquote {
  margin: 18px 0;
  padding: 15px 18px;
  border-left: 2px solid #2587c7;
  color: #34566e;
  background: linear-gradient(90deg, rgba(225, 240, 249, .7), transparent);
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(1.06rem, 1.45vw, 1.28rem);
  font-style: italic;
  line-height: 1.38;
}
.tech-editorial__standards {
  padding: 15px 0;
  border-top: 1px solid #dfe7eb;
  border-bottom: 1px solid #dfe7eb;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.tech-editorial__standards div { display: grid; gap: 3px; }
.tech-editorial__standards strong { color: #1175b7; font-size: .49rem; letter-spacing: .14em; }
.tech-editorial__standards span { color: #4e6678; font-size: .57rem; font-weight: 750; }
.tech-editorial__actions { margin-top: 18px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.tech-editorial__actions .button { min-height: 49px; padding-inline: 19px; font-size: .67rem; }
.tech-editorial__actions .button svg { width: 17px; height: 17px; }
.tech-editorial__actions > a {
  min-height: 49px;
  padding: 0 14px;
  border: 1px solid rgba(155, 181, 197, .6);
  border-radius: 15px 15px 5px 15px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #254d68;
  background: #fff;
  font-size: .6rem;
  font-weight: 800;
}
.tech-editorial__actions > a svg { width: 16px; height: 16px; fill: none; stroke: #1175b7; stroke-width: 1.8; }
.tech-editorial__actions > a span { display: grid; gap: 1px; line-height: 1.15; }
.tech-editorial__actions > a small { color: #80909c; font-size: .49rem; font-weight: 750; }

@media (max-width: 1120px) {
  .brand-folio { grid-template-columns: minmax(330px, .8fr) minmax(520px, 1.2fr); gap: 34px; }
  .brand-folio__content h2 { font-size: clamp(2.85rem, 4.1vw, 3.5rem); }
  .brand-folio__stage { padding: 16px; }
  .brand-folio__feature { padding-inline: 15px; }
  .brand-folio__feature-body { grid-template-columns: 118px minmax(0, 1fr); gap: 16px; }
  .brand-folio__item img { max-width: 65px; }
  .coverage-atlas { grid-template-columns: minmax(0, 1.4fr) minmax(330px, .78fr); }
  .coverage-atlas__panel { padding-inline: 20px; }
  .coverage-pin > span { font-size: .48rem; }
  .tech-editorial { grid-template-columns: minmax(355px, .82fr) minmax(0, 1.18fr); }
}

@media (max-width: 980px) {
  .premium-section-header { grid-template-columns: 1fr; gap: 18px; margin-bottom: 29px; }
  .premium-section-header__intro { max-width: 640px; }
  .brand-folio { grid-template-columns: 1fr; gap: 32px; }
  .brand-folio__content { max-width: 720px; }
  .brand-folio__content h2 { max-width: 650px; font-size: clamp(2.65rem, 5vw, 3.25rem); }
  .brand-folio__lead,
  .brands--folio .brand-search,
  .brand-folio__facts,
  .brands--folio .brands__note { max-width: 620px; }
  .brand-folio__stage { width: min(100%, 790px); }
  .coverage-atlas { grid-template-columns: 1fr; }
  .coverage-atlas__map { min-height: 530px; }
  .coverage-atlas__panel { min-height: 0; }
  .coverage-atlas__services > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .coverage-atlas__cities { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .tech-editorial { grid-template-columns: minmax(330px, .83fr) minmax(0, 1.17fr); }
  .tech-editorial__portrait { min-height: 520px; }
  .tech-editorial__content { padding: 29px; }
  .tech-editorial__standards { grid-template-columns: 1fr; gap: 8px; }
  .tech-editorial__standards div { grid-template-columns: 28px 1fr; align-items: center; }
}

@media (max-width: 700px) {
  .premium-section-header h2,
  .brand-folio__content h2 { font-size: clamp(2.42rem, 10vw, 3.05rem); line-height: .95; }
  .premium-section-header__intro p,
  .brand-folio__lead { font-size: .82rem; line-height: 1.62; }
  .brands--folio { padding: 50px 0 57px; }
  .brand-folio { gap: 27px; }
  .brands--folio .brand-search { margin-top: 18px; }
  .brands--folio .brand-search input { height: 54px; }
  .brand-folio__stage { min-height: 0; padding: 12px; border-radius: 28px 28px 8px 28px; }
  .brand-folio__stage::before,
  .brand-folio__stage::after { left: 27px; right: 27px; top: 67px; height: 192px; }
  .brand-folio__header small { display: none; }
  .brand-folio__feature { min-height: 202px; grid-template-columns: 1fr; }
  .brand-folio__feature-body { grid-template-columns: 105px minmax(0, 1fr); }
  .brand-folio__feature-mark { height: 92px; padding: 12px; }
  .brand-folio__feature-mark img { max-width: 98px; max-height: 42px; }
  .brand-folio__feature-copy h3 { font-size: clamp(1.5rem, 7vw, 2rem); }
  .brand-folio__book { width: 100%; min-width: 0; }
  .brand-folio__matrix { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
  .brand-folio__item { min-height: 54px; }
  .brand-folio__item img { max-width: 56px; max-height: 20px; }
  .brand-folio__footer > span:last-child { display: none; }
  .coverage-preview--aerial,
  .tech-spotlight--editorial { padding: 51px 0 58px; }
  .coverage-atlas { padding: 6px; border-radius: 28px 28px 8px 28px; }
  .coverage-atlas__visual,
  .coverage-atlas__panel { border-radius: 23px 23px 6px 23px; }
  .coverage-atlas__bar { min-height: 49px; padding-inline: 13px; }
  .coverage-atlas__bar > span:last-child { font-size: .45rem; }
  .coverage-atlas__map { min-height: 410px; }
  .coverage-pin > span { display: none; }
  .coverage-pin.is-active > span,
  .coverage-pin:focus-visible > span { display: inline-flex; }
  .coverage-pin > i { width: 12px; height: 12px; }
  .coverage-atlas__panel { padding: 21px 17px 16px; }
  .coverage-atlas__place h3 { font-size: 2.05rem; }
  .coverage-atlas__services > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coverage-atlas__actions { grid-template-columns: 1fr; }
  .coverage-atlas__cities { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .coverage-atlas__cities button { min-height: 26px; font-size: .49rem; }
  .tech-editorial { padding: 6px; grid-template-columns: 1fr; border-radius: 28px 28px 8px 28px; }
  .tech-editorial__portrait { min-height: 410px; border-radius: 23px 23px 6px 23px; }
  .tech-editorial__portrait figcaption small { display: none; }
  .tech-editorial__content { padding: 26px 17px 21px; }
  .tech-editorial__identity h3 { font-size: clamp(2.55rem, 12vw, 3.3rem); }
  .tech-editorial__standards { grid-template-columns: 1fr; }
  .tech-editorial__actions { display: grid; grid-template-columns: 1fr; }
  .tech-editorial__actions .button,
  .tech-editorial__actions > a { width: 100%; justify-content: center; }
}

@media (max-width: 430px) {
  .premium-section-header h2,
  .brand-folio__content h2 { font-size: clamp(2.18rem, 9.5vw, 2.48rem); }
  .brand-folio__facts { flex-wrap: wrap; }
  .brand-folio__feature-body { grid-template-columns: 88px minmax(0, 1fr); gap: 12px; }
  .brand-folio__feature-mark { height: 82px; }
  .brand-folio__feature-mark img { max-width: 78px; max-height: 34px; }
  .brand-folio__item img { max-width: 50px; }
  .coverage-atlas__bar > span:first-child { font-size: .45rem; }
  .coverage-atlas__bar > span:last-child { display: none; }
  .coverage-atlas__map { min-height: 370px; }
  .coverage-atlas__map-note { left: 11px; bottom: 11px; }
  .coverage-atlas__services span { font-size: .5rem; }
  .tech-editorial__portrait { min-height: 365px; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-folio__feature.is-changing .brand-folio__feature-body,
  .brand-folio__feature.is-changing .brand-folio__book,
  .coverage-pin.is-active::after,
  .coverage-atlas__services.is-updating > div { animation: none !important; }
  .coverage-atlas__map > img,
  .tech-editorial__portrait img { transition: none !important; transform: none !important; }
}

/* Refined pricing atelier: a compact, calm estimate journey. */
.pricing-story--atelier {
  position: relative;
  padding: 74px 0 82px;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 7%, rgba(57, 151, 211, .07), transparent 25%),
    linear-gradient(180deg, #f5f8f9 0%, #fff 100%);
}

.pricing-story--atelier::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(133, 163, 181, .35), transparent);
}

.pricing-atelier {
  position: relative;
  padding: 9px;
  border: 1px solid rgba(148, 176, 193, .52);
  border-radius: 36px 36px 11px 36px;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: 9px;
  overflow: hidden;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 29px 72px rgba(20, 55, 79, .1), inset 0 1px 0 #fff;
}

.pricing-atelier__promise,
.pricing-atelier__path { min-width: 0; border-radius: 28px; }

.pricing-atelier__promise {
  position: relative;
  min-height: 465px;
  padding: clamp(31px, 4vw, 49px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 100% 0%, rgba(102, 188, 235, .18), transparent 34%),
    linear-gradient(145deg, #edf6fa 0%, #f9fbfc 61%, #edf4f6 100%);
}

.pricing-atelier__promise::after {
  content: "08";
  position: absolute;
  right: -11px;
  bottom: -35px;
  color: rgba(18, 92, 139, .045);
  font-size: clamp(9rem, 16vw, 14rem);
  font-weight: 800;
  line-height: .72;
  letter-spacing: -.11em;
  pointer-events: none;
}

.pricing-atelier__seal {
  position: relative;
  z-index: 1;
  width: max-content;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(111, 161, 191, .42);
  border-radius: 12px 12px 4px 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #0c6eae;
  background: rgba(255, 255, 255, .74);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pricing-atelier__seal svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.pricing-atelier__promise h3 {
  position: relative;
  z-index: 1;
  margin: 18px 0 13px;
  color: #092f4a;
  font-size: clamp(2.48rem, 3.8vw, 3.55rem);
  line-height: .93;
  letter-spacing: -.067em;
}

.pricing-atelier__promise > p {
  position: relative;
  z-index: 1;
  max-width: 505px;
  margin: 0;
  color: #5c7180;
  font-size: .75rem;
  line-height: 1.72;
}

.pricing-atelier__promise ul {
  position: relative;
  z-index: 1;
  margin: 20px 0 0;
  padding: 16px 0;
  border-top: 1px solid rgba(147, 176, 193, .42);
  border-bottom: 1px solid rgba(147, 176, 193, .42);
  display: grid;
  gap: 9px;
  list-style: none;
}

.pricing-atelier__promise li {
  display: grid;
  grid-template-columns: 19px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  color: #3c5c70;
  font-size: .59rem;
  font-weight: 750;
  line-height: 1.5;
}

.pricing-atelier__promise li svg {
  width: 17px;
  height: 17px;
  padding: 3px;
  border-radius: 50%;
  fill: none;
  stroke: #fff;
  stroke-width: 2;
  background: #1781c3;
}

.pricing-atelier__actions {
  position: relative;
  z-index: 1;
  margin-top: 19px;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 8px;
}

.pricing-atelier__actions .button { min-height: 49px; padding-inline: 18px; font-size: .63rem; }
.pricing-atelier__actions > a {
  min-height: 49px;
  padding: 0 14px;
  border: 1px solid rgba(144, 176, 195, .63);
  border-radius: 15px 15px 5px 15px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #244f6b;
  background: rgba(255, 255, 255, .77);
  font-size: .58rem;
  font-weight: 800;
}
.pricing-atelier__actions > a svg { width: 16px; height: 16px; fill: none; stroke: #1178bb; stroke-width: 1.8; }
.pricing-atelier__actions > a span { display: grid; gap: 1px; line-height: 1.12; }
.pricing-atelier__actions > a small { color: #7b8d99; font-size: .47rem; font-weight: 750; }

.pricing-atelier__path {
  min-height: 465px;
  padding: clamp(29px, 3.7vw, 46px);
  display: flex;
  flex-direction: column;
  background: #fff;
}

.pricing-atelier__path-head {
  padding-bottom: 18px;
  border-bottom: 1px solid #dfe7eb;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.pricing-atelier__path-head span { color: #7e8f9b; font-size: .51rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pricing-atelier__path-head strong { color: #123d59; font-size: .67rem; letter-spacing: -.015em; }

.pricing-atelier__path ol { margin: 0; padding: 0; list-style: none; }
.pricing-atelier__path li {
  position: relative;
  padding: 18px 0;
  border-bottom: 1px solid #e3eaed;
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.pricing-atelier__path li > span {
  width: 39px;
  height: 39px;
  border: 1px solid #bdd0dc;
  border-radius: 13px 13px 4px 13px;
  display: grid;
  place-items: center;
  color: #0d72b4;
  background: #f5fafc;
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .07em;
}

.pricing-atelier__path h3 { margin: 0 0 5px; color: #113a55; font-size: 1.03rem; line-height: 1.18; letter-spacing: -.035em; }
.pricing-atelier__path p { max-width: 530px; margin: 0; color: #687c89; font-size: .63rem; line-height: 1.6; }

.pricing-atelier__assurance {
  margin-top: auto;
  min-height: 57px;
  padding: 10px 13px;
  border: 1px solid rgba(132, 179, 206, .48);
  border-radius: 17px 17px 5px 17px;
  display: flex;
  align-items: center;
  gap: 11px;
  background: linear-gradient(90deg, #edf7fb, #f8fbfc);
}
.pricing-atelier__assurance > svg { width: 27px; height: 27px; padding: 6px; border-radius: 50%; fill: none; stroke: #fff; stroke-width: 2; background: #1479b8; }
.pricing-atelier__assurance > span { display: grid; gap: 2px; }
.pricing-atelier__assurance small { color: #758a98; font-size: .47rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pricing-atelier__assurance strong { color: #234e68; font-size: .63rem; }

/* Field notes as one editorial spread, without a dashboard treatment. */
.service-journal--edition {
  position: relative;
  padding: 74px 0 82px;
  overflow: hidden;
  background:
    radial-gradient(circle at 96% 8%, rgba(62, 155, 212, .075), transparent 25%),
    #f5f8f9;
}

.journal-edition {
  padding: 9px;
  border: 1px solid rgba(148, 176, 193, .52);
  border-radius: 36px 36px 11px 36px;
  display: grid;
  grid-template-columns: minmax(0, 1.17fr) minmax(390px, .83fr);
  grid-template-rows: repeat(2, minmax(0, 1fr)) auto;
  gap: 9px;
  overflow: hidden;
  background: rgba(255, 255, 255, .87);
  box-shadow: 0 29px 72px rgba(20, 55, 79, .1), inset 0 1px 0 #fff;
}

.journal-story {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(158, 180, 193, .34);
  background: #fff;
}

.journal-story--lead {
  min-height: 505px;
  border: 0;
  border-radius: 28px 12px 7px 28px;
  grid-row: 1 / 3;
  color: #fff;
  background: #163e58;
}

.journal-story--side {
  min-height: 248px;
  border-radius: 12px 28px 12px 6px;
  display: grid;
  grid-template-columns: minmax(128px, .42fr) minmax(0, .58fr);
}
.journal-story--side:nth-child(3) { border-radius: 12px 12px 28px 6px; }

.journal-story__media { min-width: 0; overflow: hidden; }
.journal-story__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .9s var(--ease), filter .6s var(--ease);
}
.journal-story:hover .journal-story__media img { transform: scale(1.025); }

.journal-story--lead .journal-story__media { position: absolute; inset: 0; }
.journal-story--lead .journal-story__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(0deg, rgba(3, 25, 42, .91) 0%, rgba(4, 30, 49, .47) 48%, rgba(4, 30, 49, .04) 84%),
    linear-gradient(90deg, rgba(4, 29, 46, .2), transparent 55%);
}
.journal-story--lead .journal-story__media img { filter: saturate(.84) contrast(1.02); }

.journal-story__content { min-width: 0; }
.journal-story--lead .journal-story__content {
  position: absolute;
  left: clamp(26px, 4vw, 48px);
  right: clamp(26px, 4vw, 48px);
  bottom: clamp(28px, 4.2vw, 51px);
  z-index: 2;
}
.journal-story--side .journal-story__content { padding: 22px 21px; display: flex; flex-direction: column; justify-content: center; }

.journal-story__content > span {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #0e73b5;
  font-size: .49rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.journal-story__content > span::before { content: ""; width: 14px; height: 1px; background: currentColor; }
.journal-story--lead .journal-story__content > span { color: #83d3ff; }

.journal-story__content h3 { margin: 10px 0 9px; letter-spacing: -.05em; }
.journal-story--lead .journal-story__content h3 { max-width: 610px; color: #fff; font-size: clamp(2.12rem, 3.6vw, 3.35rem); line-height: .98; }
.journal-story--side .journal-story__content h3 { color: #123b56; font-size: clamp(1.12rem, 1.55vw, 1.4rem); line-height: 1.08; }
.journal-story__content p { margin: 0; line-height: 1.6; }
.journal-story--lead .journal-story__content p { max-width: 520px; color: rgba(255, 255, 255, .69); font-size: .68rem; }
.journal-story--side .journal-story__content p { color: #6b7e8b; font-size: .58rem; }
.journal-story__content small { margin-top: 14px; display: block; font-size: .45rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.journal-story--lead .journal-story__content small { color: rgba(255, 255, 255, .46); }
.journal-story--side .journal-story__content small { color: #94a2ac; }

.journal-edition__cta {
  min-height: 76px;
  padding: 13px 14px 13px 19px;
  border: 1px solid rgba(150, 179, 196, .49);
  border-radius: 8px 8px 28px 8px;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 22px;
  background: linear-gradient(90deg, #f2f8fa, #fff);
}
.journal-edition__cta > div span { color: #1d4b67; font-size: .65rem; font-weight: 800; }
.journal-edition__cta > div p { max-width: 610px; margin: 3px 0 0; color: #748692; font-size: .56rem; line-height: 1.5; }
.journal-edition__cta .text-link { color: #356077; font-size: .57rem; white-space: nowrap; }
.journal-edition__cta .text-link svg { width: 15px; height: 15px; }
.journal-edition__cta .button { min-height: 47px; padding-inline: 17px; font-size: .61rem; white-space: nowrap; }

@media (max-width: 980px) {
  .pricing-atelier { grid-template-columns: 1fr; }
  .pricing-atelier__promise,
  .pricing-atelier__path { min-height: 0; }
  .pricing-atelier__promise { padding-block: 38px; }
  .pricing-atelier__path { padding-block: 32px; }
  .pricing-atelier__assurance { margin-top: 18px; }

  .journal-edition { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; }
  .journal-story--lead { min-height: 470px; border-radius: 28px 28px 8px 8px; grid-column: 1 / -1; grid-row: auto; }
  .journal-story--side { min-height: 285px; border-radius: 8px 8px 8px 28px; grid-template-columns: 1fr; grid-template-rows: 145px auto; }
  .journal-story--side:nth-child(3) { border-radius: 8px 8px 28px 8px; }
  .journal-story--side .journal-story__content { padding: 20px; }
}

@media (max-width: 700px) {
  .pricing-story--atelier,
  .service-journal--edition { padding: 51px 0 58px; }
  .pricing-atelier,
  .journal-edition { padding: 6px; border-radius: 28px 28px 8px 28px; }
  .pricing-atelier__promise,
  .pricing-atelier__path { border-radius: 23px 23px 6px 23px; }
  .pricing-atelier__promise { padding: 29px 18px 25px; }
  .pricing-atelier__promise h3 { font-size: clamp(2.35rem, 11vw, 3rem); }
  .pricing-atelier__promise > p { font-size: .72rem; }
  .pricing-atelier__actions { display: grid; grid-template-columns: 1fr; }
  .pricing-atelier__actions .button,
  .pricing-atelier__actions > a { width: 100%; justify-content: center; }
  .pricing-atelier__path { padding: 25px 18px 20px; }
  .pricing-atelier__path-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .pricing-atelier__path li { grid-template-columns: 39px minmax(0, 1fr); gap: 12px; }

  .journal-edition { grid-template-columns: 1fr; }
  .journal-story--lead { min-height: 445px; border-radius: 23px 23px 6px 23px; }
  .journal-story--lead .journal-story__content { left: 22px; right: 22px; bottom: 28px; }
  .journal-story--lead .journal-story__content h3 { font-size: clamp(2rem, 9.7vw, 2.75rem); }
  .journal-story--side,
  .journal-story--side:nth-child(3) { min-height: 218px; border-radius: 6px 23px 6px 23px; grid-template-columns: minmax(118px, .42fr) minmax(0, .58fr); grid-template-rows: auto; }
  .journal-story--side .journal-story__content { padding: 18px 16px; }
  .journal-story--side .journal-story__content h3 { font-size: 1.08rem; }
  .journal-story__content small { margin-top: 10px; }
  .journal-edition__cta { padding: 20px 17px; border-radius: 6px 6px 23px 6px; grid-template-columns: 1fr; gap: 13px; }
  .journal-edition__cta .text-link { width: max-content; }
  .journal-edition__cta .button { width: 100%; }
}

@media (max-width: 430px) {
  .pricing-atelier__promise h3 { font-size: 2.22rem; }
  .pricing-atelier__path h3 { font-size: .96rem; }
  .journal-story--lead { min-height: 410px; }
  .journal-story--side,
  .journal-story--side:nth-child(3) { min-height: 200px; grid-template-columns: 108px minmax(0, 1fr); }
  .journal-story--side .journal-story__content { padding: 16px 13px; }
  .journal-story--side .journal-story__content h3 { font-size: .96rem; }
  .journal-story--side .journal-story__content p { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .journal-story__media img { transition: none !important; transform: none !important; }
}

/* Pricing v13 — KinFix Service Folio, an editorial register rather than a dial or table. */
.service-folio {
  position: relative;
  padding: 74px 0 82px;
  overflow: hidden;
  background:
    radial-gradient(circle at 91% 2%, rgba(45, 145, 207, .1), transparent 27%),
    linear-gradient(180deg, #f7f9fa 0%, #edf3f5 100%);
  isolation: isolate;
}

.service-folio::before {
  content: "08";
  position: absolute;
  left: -2.5vw;
  bottom: -2.4rem;
  z-index: -1;
  color: rgba(20, 82, 121, .035);
  font-size: clamp(12rem, 24vw, 25rem);
  font-weight: 800;
  line-height: .7;
  letter-spacing: -.1em;
}

.service-folio__sheet {
  overflow: hidden;
  border: 1px solid rgba(137, 169, 189, .58);
  border-radius: 36px 36px 11px 36px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 30px 78px rgba(12, 48, 72, .115), inset 0 1px 0 #fff;
}

.service-folio__mast {
  min-height: 58px;
  padding: 0 24px;
  border-bottom: 1px solid #dce6eb;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #536c7c;
  background: linear-gradient(90deg, #f9fbfc, #eef5f7);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.service-folio__mast span { display: inline-flex; align-items: center; gap: 10px; }
.service-folio__mast b {
  padding: 6px 8px;
  border-radius: 8px 8px 3px 8px;
  color: #fff;
  background: #0c6eae;
  letter-spacing: .08em;
}
.service-folio__mast small { color: #8295a1; font: inherit; letter-spacing: .09em; }

.service-folio__body {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr);
  background: #fff;
}

.service-folio__lead {
  min-width: 0;
  min-height: 406px;
  padding: clamp(34px, 4.3vw, 53px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(25px, 3vw, 45px);
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(84, 184, 239, .32), transparent 34%),
    linear-gradient(138deg, #062847 0%, #0b4f87 58%, #0d70b0 100%);
}

.service-folio__lead-copy > span,
.rate-entry__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #74c9f6;
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.service-folio__lead-copy > span::before { content: ""; width: 20px; height: 1px; background: currentColor; }
.service-folio__lead-copy h3 {
  max-width: 470px;
  margin: 17px 0 15px;
  color: #fff;
  font-size: clamp(2.35rem, 3.35vw, 3.32rem);
  line-height: .96;
  letter-spacing: -.062em;
}
.service-folio__lead-copy p {
  max-width: 500px;
  margin: 0;
  color: rgba(255, 255, 255, .68);
  font-size: .71rem;
  line-height: 1.72;
}

.service-folio__appliances { margin-top: 23px; display: flex; flex-wrap: wrap; gap: 9px; }
.service-folio__appliances span {
  min-height: 35px;
  padding: 0 11px;
  border: 1px solid rgba(255, 255, 255, .19);
  border-radius: 11px 11px 4px 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255, 255, 255, .83);
  background: rgba(255, 255, 255, .055);
  font-size: .51rem;
  font-weight: 750;
}
.service-folio__appliances svg { width: 15px; height: 15px; fill: none; stroke: #84d4ff; stroke-width: 1.6; }

.service-folio__price {
  min-width: 154px;
  padding-left: clamp(22px, 3vw, 39px);
  border-left: 1px solid rgba(255, 255, 255, .18);
  display: grid;
  justify-items: end;
  line-height: 1;
}
.service-folio__price small,
.service-folio__price span { color: rgba(255, 255, 255, .55); font-size: .48rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.service-folio__price strong { margin: 9px 0 7px; color: #fff; font-size: clamp(4.5rem, 7vw, 6.35rem); font-weight: 650; letter-spacing: -.09em; }
.service-folio__price sup { position: relative; top: -.55em; margin-right: 3px; color: #88d7ff; font-size: .3em; font-weight: 700; letter-spacing: 0; }

.service-folio__register { min-width: 0; background: #fbfcfd; }
.service-folio__line {
  min-height: 135px;
  padding: 20px clamp(19px, 2.4vw, 31px);
  border-bottom: 1px solid #dfe7eb;
  display: grid;
  grid-template-columns: 25px 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  transition: color .3s var(--ease), background .3s var(--ease), padding .3s var(--ease);
}
.service-folio__line:last-child { border-bottom: 0; }
.service-folio__line:hover,
.service-folio__line:focus-visible { padding-left: clamp(23px, 2.8vw, 36px); color: #075f9e; background: #f0f8fc; outline: none; }
.service-folio__index { color: #91a0aa; font-size: .48rem; font-weight: 800; letter-spacing: .08em; }
.service-folio__line-icon {
  width: 44px;
  height: 44px;
  border: 1px solid #ccdae2;
  border-radius: 14px 14px 4px 14px;
  display: grid;
  place-items: center;
  color: #1175b8;
  background: #fff;
}
.service-folio__line-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.service-folio__line-copy { min-width: 0; display: grid; gap: 4px; }
.service-folio__line-copy small { color: #82929d; font-size: .46rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.service-folio__line-copy strong { overflow: hidden; color: #173d56; font-size: .72rem; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.service-folio__line-price { display: flex; align-items: center; gap: 11px; color: #0c629e; }
.service-folio__line-price b { font-size: 1.32rem; letter-spacing: -.05em; }
.service-folio__line-price svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; transition: transform .25s var(--ease); }
.service-folio__line:hover .service-folio__line-price svg { transform: translateX(3px); }

.service-folio__foot {
  min-height: 84px;
  padding: 14px 17px 14px 22px;
  border-top: 1px solid #dce6eb;
  display: grid;
  grid-template-columns: minmax(230px, .75fr) minmax(260px, 1fr) auto;
  align-items: center;
  gap: 30px;
  background: linear-gradient(90deg, #f0f7fa, #fff 68%);
}
.service-folio__warranty { display: flex; align-items: center; gap: 11px; }
.service-folio__warranty > svg { width: 34px; height: 34px; padding: 8px; border-radius: 50%; fill: none; stroke: #fff; stroke-width: 1.7; background: #1176b9; box-shadow: 0 9px 21px rgba(17, 118, 185, .2); }
.service-folio__warranty span { display: grid; gap: 2px; }
.service-folio__warranty small { color: #82939e; font-size: .45rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.service-folio__warranty strong { color: #17425d; font-size: .65rem; }
.service-folio__foot > p { margin: 0; color: #748692; font-size: .55rem; line-height: 1.55; }
.service-folio__actions { display: flex; align-items: center; gap: 14px; }
.service-folio__actions .button { min-height: 48px; padding-inline: 18px; font-size: .61rem; white-space: nowrap; }
.service-folio__actions > a { display: inline-flex; align-items: center; gap: 7px; color: #255671; font-size: .54rem; font-weight: 800; white-space: nowrap; }
.service-folio__actions > a svg { width: 14px; height: 14px; fill: none; stroke: #0d73b3; stroke-width: 1.8; }

/* Dedicated pricing page */
.pricing-page { background: #fff; }

.pricing-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(128deg, #061d38 0%, #073762 52%, #0b68a9 100%);
  isolation: isolate;
}
.pricing-hero::before,
.pricing-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
}
.pricing-hero::before { width: 620px; height: 620px; right: -170px; top: -310px; box-shadow: 0 0 0 85px rgba(255,255,255,.025), 0 0 0 170px rgba(255,255,255,.018); }
.pricing-hero::after { width: 460px; height: 460px; left: -315px; bottom: -310px; box-shadow: 0 0 0 72px rgba(83,186,240,.035); }
.pricing-hero__grain {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .25;
  background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(90deg, #000, rgba(0,0,0,.25) 62%, transparent);
}
.pricing-hero__grid {
  min-height: 680px;
  padding: 82px 0 88px;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr);
  align-items: center;
  gap: clamp(55px, 7vw, 100px);
}
.pricing-hero__content { min-width: 0; }
.pricing-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #9bdcff;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pricing-hero__eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: #66dcac; box-shadow: 0 0 0 5px rgba(102, 220, 172, .11); }
.pricing-hero h1 {
  max-width: 730px;
  margin: 22px 0 20px;
  color: #fff;
  font-size: clamp(3.55rem, 5.45vw, 5.5rem);
  line-height: .92;
  letter-spacing: -.069em;
}
.pricing-hero h1 em { color: #9edfff; }
.pricing-hero__content > p { max-width: 645px; margin: 0; color: rgba(255,255,255,.68); font-size: .91rem; line-height: 1.78; }
.pricing-hero__actions { margin-top: 29px; display: flex; flex-wrap: wrap; gap: 10px; }
.pricing-hero__actions .button { min-height: 54px; }
.pricing-hero__assurance {
  width: max-content;
  margin-top: 31px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.16);
  display: flex;
  align-items: center;
  gap: 12px;
}
.pricing-hero__assurance svg { width: 29px; height: 29px; fill: none; stroke: #91d9ff; stroke-width: 1.5; }
.pricing-hero__assurance span { display: grid; gap: 2px; }
.pricing-hero__assurance small { color: rgba(255,255,255,.5); font-size: .49rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.pricing-hero__assurance strong { color: #fff; font-size: .7rem; }

.price-index {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 32px 32px 9px 32px;
  background: rgba(255,255,255,.955);
  box-shadow: 0 36px 84px rgba(0, 18, 36, .28), inset 0 1px 0 #fff;
  color: #15384f;
}
.price-index__head,
.price-index__foot {
  min-height: 55px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #758995;
  background: #f0f6f8;
  font-size: .46rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.price-index__head span { display: inline-flex; align-items: center; gap: 8px; }
.price-index__head b { padding: 5px 7px; border-radius: 7px 7px 2px 7px; color: #fff; background: #0d70b0; }
.price-index__row {
  min-height: 126px;
  padding: 20px 21px;
  border-top: 1px solid #dce6eb;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  background: #fff;
  transition: background .25s var(--ease), padding .25s var(--ease);
}
.price-index__row:hover,
.price-index__row:focus-visible { padding-left: 26px; background: #f3f9fc; outline: none; }
.price-index__row.is-featured { min-height: 142px; background: linear-gradient(110deg, #edf7fb, #fff); }
.price-index__number { color: #9aabb5; font-size: .48rem; font-weight: 800; letter-spacing: .08em; }
.price-index__copy { display: grid; gap: 4px; }
.price-index__copy small { color: #8596a1; font-size: .48rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.price-index__copy strong { color: #183d55; font-size: .72rem; letter-spacing: -.02em; }
.price-index__amount { color: #0969a7; font-size: 2rem; font-weight: 750; letter-spacing: -.065em; line-height: 1; }
.price-index__amount sup { position: relative; top: -.45em; margin-right: 2px; color: #55a6d3; font-size: .4em; }
.price-index__foot { border-top: 1px solid #dce6eb; }
.price-index__foot span { display: inline-flex; align-items: center; gap: 8px; color: #426579; }
.price-index__foot i { width: 6px; height: 6px; border-radius: 50%; background: #32c589; box-shadow: 0 0 0 4px rgba(50,197,137,.1); }

.pricing-register {
  padding: 78px 0 86px;
  background:
    radial-gradient(circle at 2% 0%, rgba(55,145,202,.065), transparent 25%),
    #fff;
}
.rate-register {
  overflow: hidden;
  border: 1px solid rgba(142, 171, 188, .55);
  border-radius: 34px 34px 10px 34px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(13, 50, 76, .09);
}
.rate-register__labels {
  min-height: 49px;
  padding: 0 25px 0 84px;
  border-bottom: 1px solid #dce5ea;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 180px;
  align-items: center;
  gap: 27px;
  color: #85959f;
  background: #f5f8f9;
  font-size: .47rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.rate-register__labels span:last-child { text-align: right; }
.rate-entry {
  position: relative;
  min-height: 272px;
  padding: 12px 25px 12px 22px;
  border-bottom: 1px solid #dce5ea;
  display: grid;
  grid-template-columns: 36px 180px minmax(0, 1fr) 180px;
  align-items: center;
  gap: 27px;
  background: #fff;
  scroll-margin-top: calc(var(--header-height) + 24px);
  transition: background .3s var(--ease);
}
.rate-entry:hover { background: #fbfdfe; }
.rate-entry__number { align-self: start; padding-top: 25px; color: #9aabb5; font-size: .48rem; font-weight: 800; letter-spacing: .08em; }
.rate-entry__media {
  height: 220px;
  margin: 0;
  overflow: hidden;
  border-radius: 22px 22px 6px 22px;
  background: #edf2f4;
}
.rate-entry__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease), filter .5s var(--ease); }
.rate-entry:nth-of-type(even) .rate-entry__media img { filter: saturate(.82); }
.rate-entry:hover .rate-entry__media img { transform: scale(1.025); }
.rate-entry__content { min-width: 0; padding: 18px 0; }
.rate-entry__label { color: #0f76b7; }
.rate-entry__label svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.rate-entry__content h3 { margin: 11px 0 8px; color: #123b56; font-size: clamp(1.5rem, 2.25vw, 2rem); line-height: 1.05; letter-spacing: -.05em; }
.rate-entry__content > p { max-width: 580px; margin: 0; color: #697c89; font-size: .68rem; line-height: 1.68; }
.rate-entry__appliances { margin: 17px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 15px; list-style: none; }
.rate-entry__appliances li { display: flex; align-items: center; gap: 7px; color: #3f6074; font-size: .56rem; font-weight: 700; }
.rate-entry__appliances svg { width: 15px; height: 15px; flex: 0 0 15px; fill: none; stroke: #1679b7; stroke-width: 1.55; }
.rate-entry__appliances--short { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rate-entry__note { margin-top: 17px; display: flex; align-items: center; gap: 9px; }
.rate-entry__note > svg { width: 27px; height: 27px; padding: 6px; border-radius: 50%; fill: none; stroke: #fff; stroke-width: 2; background: #147bb9; }
.rate-entry__note span { display: grid; gap: 1px; }
.rate-entry__note strong { color: #31566c; font-size: .57rem; }
.rate-entry__note small { color: #84949e; font-size: .49rem; }
.rate-entry__price {
  min-height: 148px;
  padding-left: 28px;
  border-left: 1px solid #dce5ea;
  display: grid;
  align-content: center;
  justify-items: end;
  line-height: 1;
}
.rate-entry__price small,
.rate-entry__price span { color: #81929e; font-size: .47rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rate-entry__price strong { margin: 8px 0 7px; color: #0b629e; font-size: clamp(3rem, 4.8vw, 4.6rem); font-weight: 650; letter-spacing: -.085em; }
.rate-entry__price sup { position: relative; top: -.53em; margin-right: 2px; color: #5ca4cf; font-size: .32em; }
.rate-register__foot {
  min-height: 83px;
  padding: 16px 17px 16px 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  background: linear-gradient(90deg, #edf6f9, #fff);
}
.rate-register__foot p { max-width: 800px; margin: 0; color: #667b88; font-size: .56rem; line-height: 1.6; }
.rate-register__foot p strong { color: #274f67; }
.rate-register__foot button {
  min-height: 46px;
  padding: 0 17px;
  border: 0;
  border-radius: 14px 14px 5px 14px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  background: #0c6ead;
  box-shadow: 0 13px 28px rgba(12,110,173,.2);
  font-size: .57rem;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
.rate-register__foot button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.pricing-clarity {
  position: relative;
  padding: 80px 0 86px;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 12%, rgba(66,159,214,.13), transparent 27%),
    linear-gradient(180deg, #eef4f6, #f8fafb);
}
.pricing-clarity__header {
  margin-bottom: 36px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
  align-items: end;
  gap: 60px;
}
.pricing-clarity__header h2,
.warranty-story__content h2,
.pricing-faq__intro h2 {
  margin: 16px 0 0;
  color: #0d3049;
  font-size: clamp(3rem, 3.55vw, 3.75rem);
  line-height: .94;
  letter-spacing: -.06em;
}
.pricing-clarity__header h2 em,
.warranty-story__content h2 em,
.pricing-faq__intro h2 em { color: #1878bd; }
.pricing-clarity__header > p { margin: 0 0 2px; color: #637785; font-size: .82rem; line-height: 1.7; }
.clarity-track {
  position: relative;
  margin: 0;
  padding: 9px;
  border: 1px solid rgba(145,173,190,.53);
  border-radius: 32px 32px 9px 32px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  background: rgba(255,255,255,.8);
  box-shadow: 0 25px 65px rgba(15,50,72,.08);
  list-style: none;
}
.clarity-track li {
  position: relative;
  min-height: 230px;
  padding: 30px 29px 27px;
  border-right: 1px solid #dce6eb;
  background: rgba(255,255,255,.76);
}
.clarity-track li:first-child { border-radius: 24px 6px 6px 24px; }
.clarity-track li:last-child { border-right: 0; border-radius: 6px 24px 24px 6px; }
.clarity-track li > span { position: absolute; right: 24px; top: 22px; color: #a4b2ba; font-size: .48rem; font-weight: 800; letter-spacing: .08em; }
.clarity-track li > svg { width: 32px; height: 32px; margin-bottom: 21px; fill: none; stroke: #1075b4; stroke-width: 1.45; }
.clarity-track li div { display: grid; }
.clarity-track li small { color: #0f75b4; font-size: .48rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.clarity-track li strong { margin-top: 5px; color: #193f57; font-size: .83rem; letter-spacing: -.02em; }
.clarity-track li p { max-width: 310px; margin: 10px 0 0; color: #6e818e; font-size: .61rem; line-height: 1.67; }

.warranty-story { padding: 79px 0 86px; background: #fff; }
.warranty-story__frame {
  padding: 8px;
  border: 1px solid rgba(141,171,190,.55);
  border-radius: 36px 36px 11px 36px;
  display: grid;
  grid-template-columns: minmax(350px, .78fr) minmax(0, 1.22fr);
  gap: 8px;
  background: #f7fafb;
  box-shadow: 0 28px 72px rgba(13,50,76,.09);
}
.warranty-story__media {
  position: relative;
  min-height: 555px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px 10px 7px 28px;
  background: #e8eef1;
}
.warranty-story__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,32,51,.42), transparent 48%); }
.warranty-story__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.warranty-story__media figcaption {
  position: absolute;
  left: 17px;
  right: 17px;
  bottom: 16px;
  z-index: 2;
  min-height: 48px;
  padding: 0 15px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 14px 14px 4px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  color: rgba(255,255,255,.82);
  background: rgba(4,37,59,.6);
  backdrop-filter: blur(12px);
  font-size: .47rem;
  font-weight: 750;
}
.warranty-story__media figcaption span { display: inline-flex; align-items: center; gap: 7px; }
.warranty-story__media figcaption i { width: 6px; height: 6px; border-radius: 50%; background: #63dfaa; }
.warranty-story__media figcaption small { color: rgba(255,255,255,.52); font: inherit; }
.warranty-story__content {
  min-width: 0;
  padding: clamp(37px, 5vw, 64px);
  border-radius: 10px 28px 28px 7px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 100% 0%, rgba(69,162,217,.12), transparent 33%),
    #fff;
}
.warranty-story__mark { margin: 26px 0 8px; display: flex; align-items: flex-end; gap: 10px; color: #0d6cac; }
.warranty-story__mark strong { font-size: clamp(4.7rem, 7vw, 6.7rem); font-weight: 650; line-height: .72; letter-spacing: -.09em; }
.warranty-story__mark span { padding-bottom: 4px; color: #6f8390; font-size: .52rem; font-weight: 800; line-height: 1.35; letter-spacing: .1em; text-transform: uppercase; }
.warranty-story__content > p { max-width: 650px; margin: 20px 0 0; color: #607583; font-size: .75rem; line-height: 1.75; }
.warranty-story__content ul { margin: 24px 0 25px; padding: 19px 0; border-top: 1px solid #dce5ea; border-bottom: 1px solid #dce5ea; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 17px; list-style: none; }
.warranty-story__content li { display: flex; align-items: flex-start; gap: 9px; }
.warranty-story__content li > svg { width: 24px; height: 24px; padding: 5px; flex: 0 0 24px; border-radius: 50%; fill: none; stroke: #fff; stroke-width: 2; background: #147ab8; }
.warranty-story__content li span { display: grid; gap: 3px; }
.warranty-story__content li strong { color: #264e66; font-size: .6rem; }
.warranty-story__content li small { color: #7b8d98; font-size: .5rem; line-height: 1.5; }
.warranty-story__content .button { width: max-content; min-height: 49px; font-size: .62rem; }

.pricing-faq {
  padding: 78px 0 86px;
  background:
    radial-gradient(circle at 5% 9%, rgba(61,154,211,.08), transparent 24%),
    #f3f7f8;
}
.pricing-faq__grid { display: grid; grid-template-columns: minmax(310px, .72fr) minmax(0, 1.28fr); align-items: start; gap: clamp(55px,8vw,115px); }
.pricing-faq__intro { position: sticky; top: calc(var(--header-height) + 30px); }
.pricing-faq__intro > p { max-width: 460px; margin: 21px 0 25px; color: #637684; font-size: .75rem; line-height: 1.75; }
.pricing-faq__intro > a {
  width: max-content;
  min-height: 52px;
  padding: 0 15px;
  border: 1px solid #d0dfe7;
  border-radius: 16px 16px 5px 16px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #1e506d;
  background: #fff;
  box-shadow: 0 14px 32px rgba(17,57,82,.07);
}
.pricing-faq__intro > a svg { width: 19px; height: 19px; fill: none; stroke: #0f74b4; stroke-width: 1.7; }
.pricing-faq__intro > a span { display: grid; gap: 1px; }
.pricing-faq__intro > a small { color: #85959f; font-size: .45rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.pricing-faq__intro > a strong { color: #234e68; font-size: .66rem; }
.pricing-faq .faq-list { border-color: #ccd9e0; }
.pricing-faq .faq-list details { border-color: #d5e0e5; }
.pricing-faq .faq-list summary { color: #254a62; }

.final-cta--pricing .final-cta__inner { min-height: 460px; }

@media (max-width: 1120px) {
  .service-folio__body { grid-template-columns: minmax(0, 1fr) minmax(380px, .86fr); }
  .service-folio__lead { padding-inline: 35px; }
  .service-folio__lead h3 { font-size: clamp(2.15rem, 3.25vw, 2.8rem); }
  .service-folio__price { min-width: 125px; }
  .service-folio__foot { grid-template-columns: minmax(220px,.8fr) minmax(220px,1fr); }
  .service-folio__actions { grid-column: 1 / -1; justify-content: flex-end; padding-top: 2px; }

  .pricing-hero__grid { grid-template-columns: minmax(0,1fr) minmax(390px,.85fr); gap: 45px; }
  .rate-register__labels { grid-template-columns: 150px minmax(0,1fr) 155px; }
  .rate-entry { grid-template-columns: 32px 150px minmax(0,1fr) 155px; gap: 20px; }
  .rate-entry__media { height: 205px; }
  .rate-entry__appliances { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 980px) {
  .service-folio__body { grid-template-columns: 1fr; }
  .service-folio__lead { min-height: 365px; }
  .service-folio__line { min-height: 108px; }
  .service-folio__foot { grid-template-columns: 1fr 1fr; }

  .pricing-hero__grid { min-height: 0; padding: 72px 0 78px; grid-template-columns: 1fr; gap: 46px; }
  .pricing-hero__content { max-width: 760px; }
  .price-index { width: min(100%,760px); }

  .rate-register__labels { display: none; }
  .rate-entry { grid-template-columns: 34px 165px minmax(0,1fr); padding: 14px 20px; }
  .rate-entry__number { padding-top: 20px; }
  .rate-entry__price { min-height: 0; padding: 17px 0 4px; border-top: 1px solid #dce5ea; border-left: 0; grid-column: 3; grid-row: 2; grid-template-columns: auto auto 1fr; align-items: center; justify-items: start; gap: 8px; }
  .rate-entry__price strong { margin: 0; font-size: 2.75rem; }
  .rate-entry__price span { justify-self: end; }
  .rate-entry__media { align-self: stretch; height: auto; min-height: 225px; grid-row: 1 / 3; }
  .rate-entry__content { padding-bottom: 4px; }

  .pricing-clarity__header { grid-template-columns: 1fr; gap: 17px; }
  .pricing-clarity__header > p { max-width: 620px; }
  .clarity-track li { min-height: 250px; padding-inline: 22px; }

  .warranty-story__frame { grid-template-columns: minmax(310px,.82fr) minmax(0,1.18fr); }
  .warranty-story__media { min-height: 535px; }
  .warranty-story__content { padding: 38px 31px; }
  .warranty-story__content ul { grid-template-columns: 1fr; }

  .pricing-faq__grid { grid-template-columns: 1fr; gap: 37px; }
  .pricing-faq__intro { position: static; }
}

@media (max-width: 700px) {
  .service-folio { padding: 51px 0 58px; }
  .service-folio__sheet { border-radius: 28px 28px 8px 28px; }
  .service-folio__mast { min-height: 51px; padding-inline: 15px; }
  .service-folio__mast small { display: none; }
  .service-folio__lead { min-height: 0; padding: 31px 19px 28px; grid-template-columns: 1fr; gap: 26px; }
  .service-folio__lead-copy h3 { font-size: clamp(2.15rem, 10vw, 2.75rem); }
  .service-folio__lead-copy p { font-size: .7rem; }
  .service-folio__price { min-width: 0; padding: 21px 0 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; grid-template-columns: auto 1fr auto; align-items: end; justify-items: start; gap: 9px; }
  .service-folio__price strong { margin: 0; font-size: 4.35rem; }
  .service-folio__price span { justify-self: end; padding-bottom: 7px; }
  .service-folio__line { min-height: 101px; padding: 15px 14px; grid-template-columns: 20px 38px minmax(0,1fr) auto; gap: 10px; }
  .service-folio__line:hover,
  .service-folio__line:focus-visible { padding-left: 17px; }
  .service-folio__line-icon { width: 38px; height: 38px; }
  .service-folio__line-copy strong { font-size: .64rem; }
  .service-folio__line-copy small { font-size: .4rem; }
  .service-folio__line-price b { font-size: 1.08rem; }
  .service-folio__line-price svg { display: none; }
  .service-folio__foot { padding: 18px 15px; grid-template-columns: 1fr; gap: 15px; }
  .service-folio__actions { grid-column: auto; display: grid; grid-template-columns: 1fr; justify-content: stretch; }
  .service-folio__actions .button { width: 100%; }
  .service-folio__actions > a { width: max-content; }

  .pricing-hero__grid { padding: 58px 0 64px; gap: 37px; }
  .pricing-hero h1 { margin-top: 17px; font-size: clamp(3rem, 13.5vw, 4.25rem); }
  .pricing-hero__content > p { font-size: .8rem; }
  .pricing-hero__actions { display: grid; grid-template-columns: 1fr; }
  .pricing-hero__actions .button { width: 100%; }
  .pricing-hero__assurance { width: 100%; }
  .price-index { border-radius: 27px 27px 7px 27px; }
  .price-index__head { min-height: 49px; padding-inline: 14px; }
  .price-index__head > small { display: none; }
  .price-index__row,
  .price-index__row.is-featured { min-height: 103px; padding: 15px 14px; grid-template-columns: 22px minmax(0,1fr) auto; gap: 10px; }
  .price-index__row:hover,
  .price-index__row:focus-visible { padding-left: 17px; }
  .price-index__copy strong { font-size: .62rem; }
  .price-index__copy small { font-size: .41rem; }
  .price-index__amount { font-size: 1.55rem; }
  .price-index__foot { padding-inline: 14px; }

  .pricing-register,
  .warranty-story,
  .pricing-faq { padding: 53px 0 59px; }
  .rate-register { border-radius: 28px 28px 8px 28px; }
  .rate-entry { min-height: 0; padding: 7px 15px 25px; grid-template-columns: 1fr; gap: 0; }
  .rate-entry__number { position: absolute; right: 16px; top: 17px; z-index: 2; padding: 6px 8px; border-radius: 8px; color: #fff; background: rgba(5,45,70,.72); backdrop-filter: blur(8px); }
  .rate-entry__media { width: calc(100% + 16px); min-height: 235px; height: 235px; margin-left: -8px; border-radius: 22px 22px 6px 22px; grid-row: auto; }
  .rate-entry__content { padding: 24px 2px 19px; }
  .rate-entry__content h3 { font-size: 1.65rem; }
  .rate-entry__content > p { font-size: .67rem; }
  .rate-entry__appliances,
  .rate-entry__appliances--short { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rate-entry__price { padding: 17px 2px 0; grid-column: auto; grid-row: auto; grid-template-columns: auto 1fr; gap: 7px; }
  .rate-entry__price small { grid-column: 1 / -1; }
  .rate-entry__price strong { font-size: 3.1rem; }
  .rate-entry__price span { justify-self: end; padding-bottom: 6px; }
  .rate-register__foot { padding: 19px 17px; align-items: stretch; flex-direction: column; gap: 15px; }
  .rate-register__foot button { justify-content: center; }

  .pricing-clarity { padding: 53px 0 59px; }
  .pricing-clarity__header h2,
  .warranty-story__content h2,
  .pricing-faq__intro h2 { font-size: clamp(2.42rem, 10vw, 3.05rem); }
  .clarity-track { padding: 6px; border-radius: 28px 28px 8px 28px; grid-template-columns: 1fr; }
  .clarity-track li { min-height: 0; padding: 25px 20px 24px; border-right: 0; border-bottom: 1px solid #dce6eb; }
  .clarity-track li:first-child { border-radius: 22px 22px 5px 5px; }
  .clarity-track li:last-child { border-bottom: 0; border-radius: 5px 5px 22px 5px; }
  .clarity-track li > svg { margin-bottom: 15px; }

  .warranty-story__frame { padding: 6px; border-radius: 28px 28px 8px 28px; grid-template-columns: 1fr; }
  .warranty-story__media { min-height: 400px; border-radius: 22px 22px 6px 22px; }
  .warranty-story__content { padding: 30px 18px 25px; border-radius: 6px 22px 22px 6px; }
  .warranty-story__mark { margin-top: 24px; }
  .warranty-story__mark strong { font-size: 5rem; }
  .warranty-story__content > p { font-size: .7rem; }
  .warranty-story__content .button { width: 100%; }

  .pricing-faq__grid { gap: 29px; }
  .pricing-faq__intro > p { font-size: .7rem; }
  .final-cta--pricing .final-cta__inner { min-height: 520px; }
}

@media (max-width: 430px) {
  .service-folio__appliances span { padding-inline: 9px; }
  .service-folio__line { grid-template-columns: 18px 34px minmax(0,1fr) auto; gap: 8px; }
  .service-folio__line-icon { width: 34px; height: 34px; }
  .service-folio__line-copy small { display: none; }
  .service-folio__line-price b { font-size: 1rem; }
  .price-index__copy small { display: none; }
  .rate-entry__appliances,
  .rate-entry__appliances--short { grid-template-columns: 1fr; }
  .warranty-story__media { min-height: 355px; }
  .warranty-story__media figcaption small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rate-entry__media img,
  .service-folio__line,
  .price-index__row { transition: none !important; transform: none !important; }
}

/* Brands v14 — cinematic maker rails on home and a unified manufacturer library. */
.maker-gallery {
  position: relative;
  padding: 72px 0 80px;
  overflow: hidden;
  background:
    radial-gradient(circle at 95% 0%, rgba(46, 153, 218, .11), transparent 28%),
    linear-gradient(180deg, #fbfcfd 0%, #edf3f5 100%);
}

.maker-gallery::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .22;
  background-image: linear-gradient(rgba(26, 84, 121, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(26, 84, 121, .045) 1px, transparent 1px);
  background-size: 82px 82px;
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 82%, transparent);
  pointer-events: none;
}

.maker-gallery .premium-section-header { position: relative; z-index: 2; }
.maker-gallery__frame {
  --maker-cell: 160px;
  --maker-span: 1760px;
  position: relative;
  z-index: 2;
  overflow: hidden;
  border: 1px solid rgba(130, 165, 189, .5);
  border-radius: 35px 35px 10px 35px;
  color: #fff;
  background:
    radial-gradient(circle at 84% 2%, rgba(54, 160, 225, .25), transparent 30%),
    linear-gradient(135deg, #061d35 0%, #082f53 57%, #0b5688 100%);
  box-shadow: 0 31px 78px rgba(10, 39, 60, .17), inset 0 1px 0 rgba(255,255,255,.12);
}

.maker-gallery__frame::after {
  content: "KFX";
  position: absolute;
  right: -18px;
  top: 33px;
  color: rgba(255,255,255,.025);
  font-size: 12rem;
  font-weight: 850;
  line-height: .75;
  letter-spacing: -.11em;
  pointer-events: none;
}

.maker-gallery__bar {
  position: relative;
  z-index: 3;
  min-height: 53px;
  padding: 0 22px;
  border-bottom: 1px solid rgba(255,255,255,.13);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255,255,255,.62);
  font-size: .5rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.maker-gallery__bar span { display: inline-flex; align-items: center; gap: 9px; }
.maker-gallery__bar b { padding: 6px 8px; border-radius: 8px 8px 3px 8px; color: #0b4f83; background: #fff; }
.maker-gallery__bar i { width: 6px; height: 6px; border-radius: 50%; background: #58d89e; box-shadow: 0 0 0 5px rgba(88,216,158,.1); }

.maker-gallery__console {
  position: relative;
  z-index: 4;
  min-height: 190px;
  padding: clamp(24px, 3.2vw, 39px);
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(350px, .86fr);
  align-items: center;
  gap: clamp(32px, 5vw, 74px);
}

.maker-gallery__selected {
  min-width: 0;
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 7px 19px;
}
.maker-gallery__selected-mark {
  width: 108px;
  height: 84px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 20px 20px 6px 20px;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 38px rgba(0,20,39,.2);
}
.maker-gallery__selected-mark span { color: #0c69aa; font-size: .9rem; font-weight: 850; letter-spacing: .1em; }
.maker-gallery__selected-mark img { width: auto; max-width: 79px; max-height: 37px; }
.maker-gallery__selected-copy { min-width: 0; align-self: end; }
.maker-gallery__selected-copy small { display: block; color: #79cdf6; font-size: .48rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.maker-gallery__selected-copy h3 { margin: 5px 0 3px; overflow: hidden; color: #fff; font-size: clamp(1.55rem, 2.5vw, 2.35rem); line-height: .98; letter-spacing: -.055em; text-overflow: ellipsis; white-space: nowrap; }
.maker-gallery__selected-copy p { margin: 0; color: rgba(255,255,255,.54); font-size: .55rem; font-weight: 700; letter-spacing: .025em; }
.maker-gallery__selected > strong { align-self: start; justify-self: end; color: rgba(255,255,255,.47); font-size: .48rem; letter-spacing: .1em; }
.maker-gallery__book {
  min-width: 154px;
  height: 47px;
  padding: 0 7px 0 15px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 15px 15px 5px 15px;
  align-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #0b4775;
  background: #fff;
  box-shadow: 0 15px 30px rgba(0,20,39,.2);
  font-size: .59rem;
  font-weight: 800;
  cursor: pointer;
}
.maker-gallery__book svg { width: 29px; height: 29px; padding: 8px; border-radius: 10px; fill: none; stroke: #fff; stroke-width: 1.8; background: #0d70ae; }

.maker-gallery__find { position: relative; z-index: 12; padding-left: clamp(26px, 4vw, 52px); border-left: 1px solid rgba(255,255,255,.16); }
.maker-gallery__find > span { display: block; margin-bottom: 10px; color: rgba(255,255,255,.66); font-size: .52rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.maker-gallery__search input {
  height: 56px;
  padding-inline: 50px;
  border-color: rgba(255,255,255,.18);
  border-radius: 17px 17px 5px 17px;
  color: #0d2941;
  background: rgba(255,255,255,.97);
  box-shadow: 0 18px 36px rgba(0,20,39,.19);
  font-size: .73rem;
}
.maker-gallery__search > svg { left: 17px; width: 17px; height: 17px; }
.maker-gallery__find > p { margin: 10px 2px 0; display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.52); font-size: .54rem; }
.maker-gallery__find > p > svg { width: 14px; height: 14px; fill: none; stroke: #78cef7; stroke-width: 1.6; }
.maker-gallery__find > p button { padding: 0 0 2px; border: 0; border-bottom: 1px solid rgba(126,207,248,.35); color: #8bd6fb; background: transparent; font-size: inherit; font-weight: 800; cursor: pointer; }

.maker-gallery__rails { position: relative; z-index: 3; border-top: 1px solid rgba(255,255,255,.14); background: #f8fbfc; }
.maker-gallery__rail { overflow: hidden; border-bottom: 1px solid #dbe5ea; }
.maker-gallery__rail:last-child { border-bottom: 0; }
.maker-gallery__run { width: max-content; display: flex; will-change: transform; animation: makerRail 44s linear infinite; }
.maker-gallery__run--reverse { animation-direction: reverse; animation-duration: 49s; }
.maker-gallery__rail:hover .maker-gallery__run,
.maker-gallery__rail:focus-within .maker-gallery__run,
.maker-gallery__frame.is-hovering .maker-gallery__run,
.maker-gallery__frame.is-searching .maker-gallery__run,
.maker-gallery__frame.is-offscreen .maker-gallery__run { animation-play-state: paused; }
@keyframes makerRail { to { transform: translate3d(calc(0px - var(--maker-span)), 0, 0); } }

.maker-gallery__item,
.maker-gallery__clone img {
  width: var(--maker-cell);
  height: 86px;
  flex: 0 0 var(--maker-cell);
  border: 0;
  border-right: 1px solid #dfe7eb;
  display: grid;
  place-items: center;
  background: transparent;
}
.maker-gallery__item { padding: 18px 25px; cursor: pointer; transition: background .25s var(--ease), box-shadow .25s var(--ease), opacity .25s var(--ease); }
.maker-gallery__clone { display: flex; }
.maker-gallery__clone img { padding: 26px 25px; object-fit: contain; }
.maker-gallery__item > img { width: auto; max-width: 105px; max-height: 31px; filter: grayscale(1); opacity: .58; pointer-events: none; transition: filter .25s var(--ease), opacity .25s var(--ease), transform .25s var(--ease); }
.maker-gallery__clone img { filter: grayscale(1); opacity: .46; }
.maker-gallery__item:hover,
.maker-gallery__item:focus-visible,
.maker-gallery__item.is-active,
.maker-gallery__item.is-match,
.maker-gallery__item.is-ambient { position: relative; z-index: 2; outline: none; background: #fff; box-shadow: inset 0 -3px 0 #1680c1, 0 12px 27px rgba(15,65,96,.1); }
.maker-gallery__item:hover > img,
.maker-gallery__item:focus-visible > img,
.maker-gallery__item.is-active > img,
.maker-gallery__item.is-match > img,
.maker-gallery__item.is-ambient > img { filter: none; opacity: 1; transform: scale(1.04); }
.maker-gallery__frame.is-searching .maker-gallery__item:not(.is-match) { opacity: .15; }
.maker-gallery__frame.is-searching .maker-gallery__clone { opacity: .1; }
.maker-gallery__frame.has-no-results .maker-gallery__item { opacity: .1 !important; }
.maker-gallery__foot {
  min-height: 54px;
  padding: 0 21px;
  border-top: 1px solid rgba(255,255,255,.14);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  color: rgba(255,255,255,.5);
  background: rgba(4,24,43,.34);
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.maker-gallery__foot a { display: inline-flex; align-items: center; gap: 8px; color: #89d4f8; }
.maker-gallery__foot svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }

/* Brands directory hero */
.brands-page { background: #fff; }
.brands-hero {
  position: relative;
  padding: 34px 0 62px;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 5%, rgba(52,153,216,.13), transparent 30%),
    linear-gradient(180deg, #f9fbfc, #eff4f6);
}
.brands-hero::before {
  content: "";
  position: absolute;
  left: -180px;
  bottom: -330px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(25,111,170,.09);
  border-radius: 50%;
  box-shadow: 0 0 0 75px rgba(25,111,170,.018), 0 0 0 150px rgba(25,111,170,.012);
}
.brands-hero__frame {
  position: relative;
  min-height: 620px;
  padding: 8px;
  border: 1px solid rgba(137,168,188,.54);
  border-radius: 38px 38px 12px 38px;
  display: grid;
  grid-template-columns: minmax(390px,.84fr) minmax(0,1.16fr);
  gap: 8px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 31px 78px rgba(12,48,73,.12), inset 0 1px 0 #fff;
}
.brands-hero__copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: clamp(38px,5vw,66px);
  border-radius: 30px 10px 7px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 0% 100%, rgba(62,161,219,.14), transparent 34%),
    #fff;
}
.brands-hero__eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #0b6ead; font-size: .58rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.brands-hero__eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: #35c98b; box-shadow: 0 0 0 5px rgba(53,201,139,.1); }
.brands-hero h1 { max-width: 650px; margin: 21px 0 19px; color: #0b2941; font-size: clamp(3.5rem,5.25vw,5.25rem); line-height: .92; letter-spacing: -.069em; }
.brands-hero h1 em { color: #1879bd; }
.brands-hero__copy > p { max-width: 590px; margin: 0; color: #607484; font-size: .84rem; line-height: 1.75; }
.brands-hero__actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 9px; }
.brands-hero__actions .button { min-height: 53px; }
.brands-hero__facts { margin-top: 31px; padding-top: 22px; border-top: 1px solid #dce5ea; display: flex; align-items: center; gap: 17px; }
.brands-hero__facts span { display: flex; align-items: baseline; gap: 7px; }
.brands-hero__facts strong { color: #0a5f9c; font-size: 1.15rem; letter-spacing: -.05em; }
.brands-hero__facts small { color: #7c8e9a; font-size: .47rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.brands-hero__facts > i { width: 1px; height: 24px; background: #d5e0e6; }
.brands-hero__media { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: 10px 30px 30px 7px; background: #dfe8ec; }
.brands-hero__media > img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; transition: transform 1.2s var(--ease); }
.brands-hero__frame:hover .brands-hero__media > img { transform: scale(1.015); }
.brands-hero__veil { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,31,50,.36), transparent 46%), linear-gradient(90deg, rgba(255,255,255,.12), transparent 30%); }
.brands-hero__media figcaption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 17px;
  min-height: 59px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 17px 17px 5px 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255,255,255,.8);
  background: rgba(4,31,51,.57);
  backdrop-filter: blur(14px);
  font-size: .5rem;
  font-weight: 750;
}
.brands-hero__media figcaption span { display: flex; align-items: center; gap: 11px; }
.brands-hero__media figcaption img { width: 76px; height: 37px; padding: 5px 7px; border-radius: 8px; object-fit: contain; background: #fff; }
.brands-hero__media figcaption strong { font-size: .55rem; }
.brands-hero__media figcaption small { color: rgba(255,255,255,.54); font: inherit; letter-spacing: .08em; text-transform: uppercase; }

/* Searchable manufacturer library */
.brand-library {
  position: relative;
  padding: 72px 0 82px;
  overflow: hidden;
  background:
    radial-gradient(circle at 3% 3%, rgba(60,154,211,.07), transparent 25%),
    #f5f8f9;
}
.brand-library__frame {
  overflow: hidden;
  border: 1px solid rgba(139,169,188,.54);
  border-radius: 36px 36px 11px 36px;
  background: #fff;
  box-shadow: 0 29px 74px rgba(14,49,73,.1), inset 0 1px 0 #fff;
}
.brand-library__bar {
  min-height: 54px;
  padding: 0 21px;
  border-bottom: 1px solid #dce5ea;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #6b7e8b;
  background: linear-gradient(90deg,#f8fafb,#edf4f6);
  font-size: .49rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.brand-library__bar span { display: inline-flex; align-items: center; gap: 9px; }
.brand-library__bar b { padding: 6px 8px; border-radius: 8px 8px 3px 8px; color: #fff; background: #0c6eae; }
.brand-library__bar i { width: 6px; height: 6px; border-radius: 50%; background: #31c889; box-shadow: 0 0 0 5px rgba(49,200,137,.1); }
.brand-library__tools {
  position: relative;
  z-index: 20;
  min-height: 92px;
  padding: 17px 21px;
  border-bottom: 1px solid #dce5ea;
  display: grid;
  grid-template-columns: minmax(0,680px) auto;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  background: #fff;
}
.brand-library__search input { height: 57px; border-radius: 17px 17px 5px 17px; font-size: .74rem; }
.brand-library__search > svg { left: 17px; width: 17px; height: 17px; }
.brand-library__metrics { display: flex; align-items: center; gap: 15px; color: #758895; font-size: .5rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.brand-library__metrics span { display: flex; align-items: baseline; gap: 6px; }
.brand-library__metrics strong { color: #0b67a7; font-size: .9rem; letter-spacing: -.04em; }
.brand-library__metrics i { width: 1px; height: 24px; background: #d8e2e7; }
.brand-library__body { display: grid; grid-template-columns: 330px minmax(0,1fr); align-items: stretch; }
.brand-library__spotlight {
  min-width: 0;
  padding: 31px 27px 28px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0%, rgba(83,184,238,.27), transparent 31%),
    linear-gradient(145deg,#061f39,#0a4f82);
}
.brand-library__spotlight-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: rgba(255,255,255,.54); font-size: .45rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.brand-library__spotlight-top strong { color: #8dd8fb; font-size: .48rem; }
.brand-library__spotlight-mark {
  height: 130px;
  margin: 24px 0 23px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.23);
  border-radius: 24px 24px 7px 24px;
  display: grid;
  place-items: center;
  background: #fff;
  box-shadow: 0 20px 44px rgba(0,19,37,.21);
}
.brand-library__spotlight-mark span { color: #0c6dab; font-size: 1.05rem; font-weight: 850; letter-spacing: .11em; }
.brand-library__spotlight-mark img { width: auto; max-width: 170px; max-height: 62px; }
.brand-library__spotlight > small { display: block; color: #81d2f7; font-size: .48rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.brand-library__spotlight h3 { margin: 7px 0 12px; overflow: hidden; color: #fff; font-size: clamp(2rem,3.2vw,2.8rem); line-height: .98; letter-spacing: -.06em; text-overflow: ellipsis; white-space: nowrap; }
.brand-library__spotlight > p { margin: 0; color: rgba(255,255,255,.62); font-size: .64rem; line-height: 1.72; }
.brand-library__spotlight ul { margin: 20px 0 24px; padding: 17px 0; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); display: flex; flex-wrap: wrap; gap: 8px 13px; list-style: none; }
.brand-library__spotlight li { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.75); font-size: .52rem; font-weight: 750; }
.brand-library__spotlight li svg { width: 14px; height: 14px; padding: 3px; border-radius: 50%; fill: none; stroke: #fff; stroke-width: 2; background: #1681c2; }
.brand-library__book {
  width: 100%;
  min-height: 49px;
  padding: 0 8px 0 16px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 16px 16px 5px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #0c4774;
  background: #fff;
  box-shadow: 0 15px 31px rgba(0,19,37,.18);
  font-size: .61rem;
  font-weight: 800;
  cursor: pointer;
}
.brand-library__book svg { width: 31px; height: 31px; padding: 8px; border-radius: 11px; fill: none; stroke: #fff; stroke-width: 1.8; background: #0e73b4; }
.brand-library__catalog { min-width: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-content: start; background: #fbfcfd; }
.brand-library__item {
  position: relative;
  min-width: 0;
  min-height: 113px;
  padding: 15px 16px;
  border: 0;
  border-right: 1px solid #dfe7eb;
  border-bottom: 1px solid #dfe7eb;
  display: grid;
  grid-template-columns: 20px minmax(0,1fr) 17px;
  grid-template-rows: 43px auto;
  align-items: center;
  gap: 2px 9px;
  color: #153c55;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease), opacity .25s var(--ease);
}
.brand-library__item:nth-child(3n) { border-right: 0; }
.brand-library__item > span { align-self: start; padding-top: 3px; color: #9aabb5; font-size: .43rem; font-weight: 800; letter-spacing: .08em; }
.brand-library__item > img { width: auto; max-width: 105px; max-height: 31px; justify-self: center; filter: grayscale(1); opacity: .57; transition: filter .25s var(--ease), opacity .25s var(--ease), transform .25s var(--ease); }
.brand-library__item > strong { grid-column: 2; align-self: end; justify-self: center; overflow: hidden; max-width: 100%; color: #627785; font-size: .5rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.brand-library__item > svg { width: 14px; height: 14px; grid-column: 3; grid-row: 1 / 3; fill: none; stroke: #a4b3bc; stroke-width: 1.7; transition: transform .25s var(--ease), stroke .25s var(--ease); }
.brand-library__item:hover,
.brand-library__item:focus-visible,
.brand-library__item.is-active,
.brand-library__item.is-match,
.brand-library__item.is-ambient { z-index: 2; outline: none; color: #0a609f; background: #fff; box-shadow: inset 0 -3px 0 #1680c1, 0 13px 27px rgba(16,60,88,.08); }
.brand-library__item:hover > img,
.brand-library__item:focus-visible > img,
.brand-library__item.is-active > img,
.brand-library__item.is-match > img,
.brand-library__item.is-ambient > img { filter: none; opacity: 1; transform: scale(1.035); }
.brand-library__item:hover > svg,
.brand-library__item:focus-visible > svg,
.brand-library__item.is-active > svg { stroke: #0e74b4; transform: translateX(2px); }
.brand-library__frame.is-searching .brand-library__item:not(.is-match) { opacity: .14; }
.brand-library__frame.has-no-results .brand-library__item { opacity: .09 !important; }
.brand-library__foot {
  min-height: 76px;
  padding: 14px 17px 14px 21px;
  border-top: 1px solid #dce5ea;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  background: linear-gradient(90deg,#edf6f9,#fff);
}
.brand-library__foot p { margin: 0; display: flex; align-items: center; gap: 10px; color: #6c7f8c; font-size: .55rem; }
.brand-library__foot p > svg { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: #1477b5; stroke-width: 1.5; }
.brand-library__foot p span { display: grid; gap: 2px; }
.brand-library__foot p strong { color: #244e67; }
.brand-library__foot > button { min-height: 45px; padding: 0 15px; border: 1px solid #ccdde6; border-radius: 14px 14px 5px 14px; display: inline-flex; align-items: center; gap: 8px; color: #1d5575; background: #fff; font-size: .56rem; font-weight: 800; white-space: nowrap; cursor: pointer; }
.brand-library__foot > button svg { width: 14px; height: 14px; fill: none; stroke: #0f75b4; stroke-width: 1.8; }

/* Cinematic booking close for brands page */
.brands-booking { padding: 0 0 76px; background: #f5f8f9; }
.brands-booking__frame {
  position: relative;
  min-height: 475px;
  overflow: hidden;
  border: 1px solid rgba(122,157,181,.5);
  border-radius: 38px 38px 12px 38px;
  color: #fff;
  background: #082a45;
  box-shadow: 0 31px 78px rgba(10,43,65,.16);
}
.brands-booking__frame > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.brands-booking__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,24,41,.95) 0%, rgba(5,31,51,.82) 38%, rgba(5,31,51,.2) 70%, rgba(5,31,51,.06) 100%), linear-gradient(0deg, rgba(4,24,41,.26), transparent 50%); }
.brands-booking__copy { position: relative; z-index: 2; width: min(590px,58%); min-height: 475px; padding: clamp(42px,5vw,66px); display: flex; flex-direction: column; justify-content: center; }
.brands-booking .section-kicker { color: #91dafd; }
.brands-booking__copy h2 { margin: 17px 0 15px; color: #fff; font-size: clamp(3rem,4.4vw,4.5rem); line-height: .93; letter-spacing: -.065em; }
.brands-booking__copy h2 em { color: #9edfff; }
.brands-booking__copy > p { max-width: 500px; margin: 0; color: rgba(255,255,255,.68); font-size: .78rem; line-height: 1.73; }
.brands-booking__copy > div { margin-top: 25px; display: flex; flex-wrap: wrap; gap: 9px; }
.brands-booking__stamp { position: absolute; right: 19px; bottom: 18px; z-index: 2; min-height: 56px; padding: 7px 14px 7px 8px; border: 1px solid rgba(255,255,255,.3); border-radius: 16px 16px 5px 16px; display: flex; align-items: center; gap: 11px; color: rgba(255,255,255,.74); background: rgba(5,31,51,.55); backdrop-filter: blur(13px); font-size: .48rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.brands-booking__stamp img { width: 72px; height: 40px; padding: 5px 7px; border-radius: 8px; object-fit: contain; background: #fff; }

@media (max-width: 1120px) {
  .maker-gallery__console { grid-template-columns: minmax(0,1fr) minmax(330px,.83fr); gap: 35px; }
  .maker-gallery__selected { grid-template-columns: 92px minmax(0,1fr); }
  .maker-gallery__selected-mark { width: 92px; height: 76px; }
  .maker-gallery__selected > strong { position: absolute; left: 0; top: -16px; }
  .maker-gallery__book { grid-column: 2; justify-self: start; }

  .brands-hero__frame { grid-template-columns: minmax(360px,.82fr) minmax(0,1.18fr); }
  .brands-hero__copy { padding: 42px 35px; }
  .brands-hero h1 { font-size: clamp(3.25rem,5vw,4.4rem); }
  .brand-library__body { grid-template-columns: 300px minmax(0,1fr); }
  .brand-library__catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .brand-library__item:nth-child(3n) { border-right: 1px solid #dfe7eb; }
  .brand-library__item:nth-child(2n) { border-right: 0; }
}

@media (max-width: 980px) {
  .maker-gallery__console { grid-template-columns: 1fr; gap: 27px; }
  .maker-gallery__find { padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }
  .maker-gallery__selected { grid-template-columns: 100px minmax(0,1fr) auto; }
  .maker-gallery__selected-mark { width: 100px; height: 80px; }
  .maker-gallery__selected > strong { position: static; }
  .maker-gallery__book { grid-column: auto; }

  .brands-hero { padding-top: 24px; }
  .brands-hero__frame { min-height: 0; grid-template-columns: 1fr; }
  .brands-hero__copy { min-height: 500px; border-radius: 30px 30px 8px 8px; }
  .brands-hero__media { min-height: 520px; border-radius: 8px 8px 30px 8px; }
  .brand-library__tools { grid-template-columns: minmax(0,1fr) auto; }
  .brand-library__body { grid-template-columns: 1fr; }
  .brand-library__spotlight { display: grid; grid-template-columns: 170px minmax(0,1fr) auto; grid-template-rows: auto auto auto; align-items: center; gap: 7px 23px; }
  .brand-library__spotlight-top { grid-column: 1 / -1; }
  .brand-library__spotlight-mark { width: 170px; height: 112px; margin: 15px 0 0; grid-row: 2 / 4; }
  .brand-library__spotlight > small { align-self: end; }
  .brand-library__spotlight h3 { margin: 2px 0 0; }
  .brand-library__spotlight > p { display: none; }
  .brand-library__spotlight ul { margin: 12px 0 0; padding: 0; border: 0; }
  .brand-library__book { width: 180px; grid-column: 3; grid-row: 2 / 4; }
  .brands-booking__copy { width: min(650px,72%); }
}

@media (max-width: 700px) {
  .maker-gallery { padding: 51px 0 59px; }
  .maker-gallery__frame { --maker-cell: 136px; --maker-span: 1496px; border-radius: 28px 28px 8px 28px; }
  .maker-gallery__bar { min-height: 49px; padding-inline: 14px; }
  .maker-gallery__bar span:last-child { display: none; }
  .maker-gallery__console { padding: 26px 17px 23px; }
  .maker-gallery__selected { grid-template-columns: 79px minmax(0,1fr); gap: 7px 13px; }
  .maker-gallery__selected-mark { width: 79px; height: 69px; padding: 12px; }
  .maker-gallery__selected-copy h3 { font-size: 1.65rem; }
  .maker-gallery__selected > strong { position: absolute; right: 17px; top: 70px; }
  .maker-gallery__book { width: 100%; min-width: 0; grid-column: 1 / -1; margin-top: 5px; }
  .maker-gallery__find { padding-top: 21px; }
  .maker-gallery__search input { height: 53px; }
  .maker-gallery__item,
  .maker-gallery__clone img { height: 76px; }
  .maker-gallery__item { padding: 17px 20px; }
  .maker-gallery__clone img { padding: 23px 20px; }
  .maker-gallery__item > img { max-width: 91px; max-height: 27px; }
  .maker-gallery__foot { min-height: 51px; padding-inline: 14px; }
  .maker-gallery__foot > span { display: none; }
  .maker-gallery__foot a { margin-left: auto; }

  .brands-hero { padding: 14px 0 48px; }
  .brands-hero__frame { padding: 6px; border-radius: 28px 28px 8px 28px; }
  .brands-hero__copy { min-height: 0; padding: 39px 19px 34px; border-radius: 22px 22px 6px 6px; }
  .brands-hero h1 { margin-top: 17px; font-size: clamp(3rem,13.2vw,4.05rem); }
  .brands-hero__copy > p { font-size: .76rem; }
  .brands-hero__actions { display: grid; grid-template-columns: 1fr; }
  .brands-hero__actions .button { width: 100%; }
  .brands-hero__facts { flex-wrap: wrap; gap: 11px; }
  .brands-hero__facts > i { height: 20px; }
  .brands-hero__media { min-height: 390px; border-radius: 6px 6px 22px 6px; }
  .brands-hero__media > img { object-position: 63% center; }
  .brands-hero__media figcaption { left: 11px; right: 11px; bottom: 10px; }
  .brands-hero__media figcaption small { display: none; }

  .brand-library { padding: 52px 0 59px; }
  .brand-library__frame { border-radius: 28px 28px 8px 28px; }
  .brand-library__bar { min-height: 49px; padding-inline: 14px; }
  .brand-library__bar span:last-child { display: none; }
  .brand-library__tools { min-height: 0; padding: 14px; grid-template-columns: 1fr; gap: 12px; }
  .brand-library__search input { height: 54px; }
  .brand-library__metrics { padding-inline: 3px; }
  .brand-library__spotlight { padding: 24px 17px 21px; grid-template-columns: 90px minmax(0,1fr); gap: 7px 14px; }
  .brand-library__spotlight-mark { width: 90px; height: 80px; margin-top: 13px; padding: 14px; grid-row: 2 / 4; }
  .brand-library__spotlight-mark img { max-width: 67px; max-height: 35px; }
  .brand-library__spotlight h3 { font-size: 1.85rem; }
  .brand-library__spotlight ul { grid-column: 1 / -1; margin-top: 13px; }
  .brand-library__book { width: 100%; grid-column: 1 / -1; grid-row: auto; margin-top: 8px; }
  .brand-library__catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .brand-library__item { min-height: 104px; padding: 13px 10px; grid-template-columns: 16px minmax(0,1fr); }
  .brand-library__item:nth-child(2n) { border-right: 0; }
  .brand-library__item > img { max-width: 81px; max-height: 27px; }
  .brand-library__item > svg { display: none; }
  .brand-library__foot { padding: 18px 15px; align-items: stretch; flex-direction: column; gap: 14px; }
  .brand-library__foot > button { justify-content: center; }

  .brands-booking { padding-bottom: 58px; }
  .brands-booking__frame { min-height: 560px; border-radius: 28px 28px 8px 28px; }
  .brands-booking__frame > img { object-position: 62% center; }
  .brands-booking__veil { background: linear-gradient(0deg,rgba(4,24,41,.96) 0%,rgba(5,31,51,.78) 55%,rgba(5,31,51,.16) 100%); }
  .brands-booking__copy { width: 100%; min-height: 560px; padding: 245px 19px 34px; justify-content: flex-end; }
  .brands-booking__copy h2 { font-size: clamp(2.75rem,12vw,3.75rem); }
  .brands-booking__copy > p { font-size: .72rem; }
  .brands-booking__copy > div { display: grid; grid-template-columns: 1fr; }
  .brands-booking__copy .button { width: 100%; }
  .brands-booking__stamp { display: none; }
}

@media (max-width: 430px) {
  .maker-gallery__selected-copy p { display: none; }
  .maker-gallery__find > p { flex-wrap: wrap; }
  .brands-hero__facts span { gap: 5px; }
  .brands-hero__facts small { font-size: .42rem; }
  .brand-library__item > strong { font-size: .46rem; }
}

@media (prefers-reduced-motion: reduce) {
  .maker-gallery__run { animation: none !important; transform: none !important; }
  .maker-gallery__clone { display: none; }
  .brands-hero__media > img,
  .brand-library__item,
  .maker-gallery__item { transition: none !important; transform: none !important; }
}

/* Curated brand collections — light editorial system */
.brand-spectrum {
  position: relative;
  padding: 62px 0 72px;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 12%, rgba(43,146,207,.08), transparent 28%),
    linear-gradient(180deg,#fbfcfd 0%,#f3f7f8 100%);
}
.brand-spectrum::before {
  content: "";
  position: absolute;
  left: -220px;
  bottom: -390px;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(25,116,174,.07);
  border-radius: 50%;
  box-shadow: 0 0 0 84px rgba(25,116,174,.016),0 0 0 168px rgba(25,116,174,.01);
}
.brand-spectrum .premium-section-header { position: relative; z-index: 2; }
.brand-spectrum__frame {
  position: relative;
  z-index: 2;
  border: 1px solid rgba(126,155,174,.34);
  border-radius: 34px 34px 10px 34px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 28px 70px rgba(21,54,73,.1),inset 0 1px 0 #fff;
}
.brand-spectrum__top {
  min-height: 158px;
  padding: 27px 30px;
  border-bottom: 1px solid #dfe7e9;
  display: grid;
  grid-template-columns: minmax(0,.82fr) minmax(370px,1.18fr);
  align-items: center;
  gap: 42px;
  background: linear-gradient(120deg,rgba(250,247,240,.76),rgba(249,252,253,.95));
  border-radius: 33px 33px 0 0;
}
.brand-spectrum__intro > span,
.tier-library__overline {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #587282;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.brand-spectrum__intro > span i { width: 7px; height: 7px; border-radius: 50%; background: #39be8a; box-shadow: 0 0 0 5px rgba(57,190,138,.1); }
.brand-spectrum__intro h3 { margin: 9px 0 5px; color: #102b3c; font-size: clamp(1.45rem,2.3vw,2rem); line-height: 1; letter-spacing: -.05em; }
.brand-spectrum__intro p { max-width: 430px; margin: 0; color: #6a7d88; font-size: .65rem; line-height: 1.65; }
.brand-spectrum__find { position: relative; z-index: 25; }
.brand-spectrum__find > label { display: block; margin: 0 0 8px 3px; color: #587282; font-size: .48rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.brand-spectrum__search input { height: 57px; border-radius: 17px 17px 5px 17px; box-shadow: 0 14px 32px rgba(28,67,91,.08),inset 0 1px 0 #fff; font-size: .73rem; }
.brand-spectrum__find > p { margin: 9px 3px 0; color: #84939c; font-size: .53rem; }
.brand-spectrum__find > p button { padding: 0 0 2px; border: 0; border-bottom: 1px solid rgba(17,113,173,.24); color: #176da5; background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.brand-spectrum__tiers { background: #f8faf9; }
.brand-spectrum__tier {
  --tier-accent: #8fa0a7;
  --tier-tint: #f4f5f4;
  position: relative;
  min-width: 0;
  border-bottom: 1px solid #dfe7e9;
  display: grid;
  grid-template-columns: 235px minmax(0,1fr);
  align-items: stretch;
  overflow: hidden;
}
.brand-spectrum__tier--signature { --tier-accent: #ae8954; --tier-tint: #f7f1e8; }
.brand-spectrum__tier--core { --tier-accent: #2182ba; --tier-tint: #edf6fa; }
.brand-spectrum__tier--value { --tier-accent: #6b8b7c; --tier-tint: #eff4f1; }
.brand-spectrum__tier > header {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 20px 21px;
  display: grid;
  grid-template-columns: 27px minmax(0,1fr);
  align-content: center;
  gap: 7px 10px;
  background: var(--tier-tint);
  box-shadow: 12px 0 26px rgba(29,58,73,.035);
}
.brand-spectrum__tier > header::after { content: ""; position: absolute; right: 0; top: 20px; bottom: 20px; width: 2px; border-radius: 2px; background: var(--tier-accent); opacity: .48; }
.brand-spectrum__tier > header b { grid-row: 1 / 3; color: var(--tier-accent); font-size: .55rem; letter-spacing: .09em; }
.brand-spectrum__tier > header span { min-width: 0; display: grid; gap: 3px; }
.brand-spectrum__tier > header small { color: var(--tier-accent); font-size: .43rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.brand-spectrum__tier > header strong { overflow: hidden; color: #173449; font-size: .69rem; letter-spacing: -.015em; text-overflow: ellipsis; white-space: nowrap; }
.brand-spectrum__tier > header em { grid-column: 2; color: #7c8d95; font-size: .46rem; font-style: normal; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.brand-spectrum__rail { min-width: 0; overflow: hidden; background: rgba(255,255,255,.86); }
.brand-spectrum__run { width: max-content; display: flex; will-change: transform; animation: brandSpectrumRail 115s linear infinite; }
.brand-spectrum__run--core { animation-duration: 128s; animation-direction: reverse; }
.brand-spectrum__run--value { animation-duration: 142s; }
@keyframes brandSpectrumRail { to { transform: translate3d(-50%,0,0); } }
.brand-spectrum__rail:hover .brand-spectrum__run,
.brand-spectrum__rail:focus-within .brand-spectrum__run,
.brand-spectrum__frame.is-hovering .brand-spectrum__run,
.brand-spectrum__frame.is-searching .brand-spectrum__run,
.brand-spectrum__frame.is-offscreen .brand-spectrum__run { animation-play-state: paused; }
.brand-spectrum__item,
.brand-spectrum__clone img {
  width: 172px;
  height: 102px;
  flex: 0 0 172px;
  padding: 26px 28px;
  border: 0;
  border-right: 1px solid #e1e8e9;
  display: grid;
  place-items: center;
  object-fit: contain;
  background: transparent;
}
.brand-spectrum__item { position: relative; cursor: pointer; transition: background .28s var(--ease),box-shadow .28s var(--ease),opacity .28s var(--ease); }
.brand-spectrum__clone { display: flex; }
.brand-spectrum__tier--value .brand-spectrum__item,
.brand-spectrum__tier--value .brand-spectrum__clone img { width: 220px; flex-basis: 220px; }
.brand-spectrum__item img { width: auto; max-width: 108px; max-height: 34px; filter: grayscale(1); opacity: .58; transition: filter .28s var(--ease),opacity .28s var(--ease),transform .28s var(--ease); }
.brand-spectrum__clone img { filter: grayscale(1); opacity: .38; }
.brand-spectrum__item:hover,
.brand-spectrum__item:focus-visible,
.brand-spectrum__item.is-active,
.brand-spectrum__item.is-match,
.brand-spectrum__item.is-ambient { z-index: 2; outline: 0; background: #fff; box-shadow: inset 0 -3px 0 var(--tier-accent),0 14px 30px rgba(28,60,78,.08); }
.brand-spectrum__item:focus-visible { box-shadow: inset 0 -3px 0 var(--tier-accent),0 0 0 3px rgba(29,132,191,.18),0 14px 30px rgba(28,60,78,.08); }
.brand-spectrum__item:hover img,
.brand-spectrum__item:focus-visible img,
.brand-spectrum__item.is-active img,
.brand-spectrum__item.is-match img,
.brand-spectrum__item.is-ambient img { filter: none; opacity: 1; transform: scale(1.045); }
.brand-spectrum__frame.is-searching .brand-spectrum__item:not(.is-match) { opacity: .16; }
.brand-spectrum__frame.is-searching .brand-spectrum__clone { opacity: .08; }
.brand-spectrum__frame.has-no-results .brand-spectrum__item { opacity: .09 !important; }
.brand-spectrum__selection {
  min-height: 132px;
  padding: 22px 24px;
  border-bottom: 1px solid #dfe7e9;
  display: grid;
  grid-template-columns: 84px minmax(150px,.55fr) minmax(280px,1.25fr) auto;
  align-items: center;
  gap: 20px;
  background: linear-gradient(105deg,#fff 0%,#f4f9fb 58%,#edf6fa 100%);
}
.brand-spectrum__selection-mark { width: 84px; height: 72px; padding: 14px; border: 1px solid #d8e3e8; border-radius: 20px 20px 6px 20px; display: grid; place-items: center; background: #fff; box-shadow: 0 12px 28px rgba(31,64,83,.08); }
.brand-spectrum__selection-mark span { color: #1677b2; font-size: .83rem; font-weight: 850; letter-spacing: .1em; }
.brand-spectrum__selection-mark img { width: auto; max-width: 61px; max-height: 35px; }
.brand-spectrum__selection-name { min-width: 0; }
.brand-spectrum__selection-name small { color: #648090; font-size: .43rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.brand-spectrum__selection-name h3 { margin: 5px 0 0; overflow: hidden; color: #112d40; font-size: clamp(1.55rem,2.4vw,2.15rem); line-height: .95; letter-spacing: -.055em; text-overflow: ellipsis; white-space: nowrap; }
.brand-spectrum__selection-copy { min-width: 0; padding-left: 22px; border-left: 1px solid #d8e4e8; }
.brand-spectrum__selection-copy strong { color: #176fa8; font-size: .54rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.brand-spectrum__selection-copy p { max-width: 450px; margin: 6px 0 0; color: #6b7e88; font-size: .59rem; line-height: 1.62; }
.brand-spectrum__selection-action { display: grid; justify-items: end; gap: 9px; }
.brand-spectrum__selection-action > span { color: #8a9aa2; font-size: .45rem; font-weight: 800; letter-spacing: .1em; }
.brand-spectrum__book {
  min-width: 186px;
  min-height: 48px;
  padding: 6px 7px 6px 16px;
  border: 1px solid rgba(22,113,173,.2);
  border-radius: 15px 15px 5px 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #123f5c;
  background: #fff;
  box-shadow: 0 11px 25px rgba(27,77,107,.08);
  font-size: .6rem;
  font-weight: 850;
  cursor: pointer;
}
.brand-spectrum__book svg { width: 32px; height: 32px; padding: 9px; border-radius: 11px; fill: none; stroke: #fff; stroke-width: 1.8; background: #167bb6; }
.brand-spectrum__foot { min-height: 54px; padding: 0 23px; border-radius: 0 0 9px 33px; display: flex; align-items: center; justify-content: space-between; gap: 22px; color: #7b8b94; background: #fbfcfc; font-size: .49rem; }
.brand-spectrum__foot p { margin: 0; }
.brand-spectrum__foot a { display: inline-flex; align-items: center; gap: 8px; color: #176da5; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.brand-spectrum__foot svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; }

/* Tiered manufacturer page */
.tier-library {
  padding: 62px 0 76px;
  background:
    radial-gradient(circle at 8% 30%,rgba(182,146,86,.065),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f4f7f7 100%);
}
.tier-library__frame { border: 1px solid rgba(126,155,174,.34); border-radius: 34px 34px 10px 34px; overflow: visible; background: #fff; box-shadow: 0 28px 70px rgba(21,54,73,.095),inset 0 1px 0 #fff; }
.tier-library__bar { min-height: 55px; padding: 0 22px; border-bottom: 1px solid #dde6e8; border-radius: 33px 33px 0 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #72848e; background: #fbfcfc; font-size: .47rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tier-library__bar span { display: inline-flex; align-items: center; gap: 9px; }
.tier-library__bar b { padding: 6px 8px; border-radius: 8px 8px 3px 8px; color: #fff; background: #177bb6; }
.tier-library__bar i { width: 7px; height: 7px; border-radius: 50%; background: #39be8a; box-shadow: 0 0 0 5px rgba(57,190,138,.1); }
.tier-library__studio { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); border-bottom: 1px solid #dfe7e9; }
.tier-library__search-panel { position: relative; z-index: 24; min-width: 0; padding: 31px 34px 33px; background: linear-gradient(135deg,#faf7f0,#f9fbfb 72%); }
.tier-library__search-panel h3 { margin: 10px 0 7px; color: #112d40; font-size: clamp(1.7rem,2.8vw,2.45rem); line-height: .98; letter-spacing: -.055em; }
.tier-library__search-panel > p { max-width: 520px; margin: 0 0 19px; color: #6e7f89; font-size: .65rem; line-height: 1.68; }
.tier-library__search input { height: 58px; border-radius: 17px 17px 5px 17px; font-size: .73rem; }
.tier-library__search-panel > small { display: block; margin: 10px 3px 0; color: #82929a; font-size: .5rem; }
.tier-library__selection { min-width: 0; padding: 25px 28px 24px; border-left: 1px solid #dce6e8; background: linear-gradient(145deg,#f5fafb 0%,#edf6f9 100%); }
.tier-library__selection > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #718590; font-size: .43rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.tier-library__selection > header strong { color: #3d7da4; }
.tier-library__selection-main { margin-top: 18px; display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: center; gap: 19px; }
.tier-library__selection-mark { width: 112px; height: 82px; padding: 17px; border: 1px solid #d6e2e7; border-radius: 22px 22px 7px 22px; display: grid; place-items: center; background: #fff; box-shadow: 0 12px 28px rgba(31,64,83,.07); }
.tier-library__selection-mark span { color: #1677b2; font-size: .9rem; font-weight: 850; letter-spacing: .1em; }
.tier-library__selection-mark img { width: auto; max-width: 79px; max-height: 39px; }
.tier-library__selection-main small { color: #6a8190; font-size: .42rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tier-library__selection-main h3 { margin: 4px 0 6px; overflow: hidden; color: #102d40; font-size: clamp(1.65rem,2.8vw,2.35rem); line-height: .96; letter-spacing: -.055em; text-overflow: ellipsis; white-space: nowrap; }
.tier-library__selection-main strong { color: #1774ac; font-size: .49rem; letter-spacing: .09em; text-transform: uppercase; }
.tier-library__selection > p { min-height: 35px; margin: 17px 0 16px; color: #637883; font-size: .58rem; line-height: 1.6; }
.tier-library__selection-foot { padding-top: 15px; border-top: 1px solid #d6e3e7; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.tier-library__selection-foot > span { color: #748892; font-size: .48rem; font-weight: 750; }
.tier-library__book { min-width: 166px; min-height: 44px; padding: 6px 6px 6px 14px; border: 1px solid rgba(22,113,173,.2); border-radius: 14px 14px 5px 14px; display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; color: #123f5c; background: #fff; box-shadow: 0 10px 24px rgba(27,77,107,.08); font-size: .56rem; font-weight: 850; cursor: pointer; }
.tier-library__book svg { width: 29px; height: 29px; padding: 8px; border-radius: 10px; fill: none; stroke: #fff; stroke-width: 1.8; background: #167bb6; }
.tier-library__index { padding: 12px; border-bottom: 1px solid #dfe7e9; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; background: #fbfcfc; }
.tier-library__index a { min-width: 0; min-height: 65px; padding: 12px 14px; border: 1px solid #dfe7e9; border-radius: 16px 16px 5px 16px; display: grid; grid-template-columns: 25px minmax(0,1fr) auto; align-items: center; gap: 10px; color: #16354a; background: #fff; transition: border-color .24s var(--ease),box-shadow .24s var(--ease),transform .24s var(--ease); }
.tier-library__index a:hover { border-color: #bad2df; box-shadow: 0 12px 25px rgba(24,61,81,.07); transform: translateY(-2px); }
.tier-library__index b { color: #2781b5; font-size: .48rem; letter-spacing: .08em; }
.tier-library__index span { min-width: 0; display: grid; gap: 2px; }
.tier-library__index small { color: #6e8999; font-size: .4rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tier-library__index strong { overflow: hidden; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.tier-library__index em { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; color: #1777af; background: #edf6fa; font-size: .47rem; font-style: normal; font-weight: 850; }
.tier-library__groups { padding: 12px; display: grid; gap: 12px; background: #f4f7f7; }
.tier-library__group { --tier-accent: #8fa0a7; --tier-tint: #f3f5f4; scroll-margin-top: 105px; border: 1px solid #dce5e7; border-radius: 24px 24px 7px 24px; display: grid; grid-template-columns: 245px minmax(0,1fr); overflow: hidden; background: #fff; }
.tier-library__group--signature { --tier-accent: #ae8954; --tier-tint: #f7f1e8; }
.tier-library__group--core { --tier-accent: #2182ba; --tier-tint: #edf6fa; }
.tier-library__group--value { --tier-accent: #6b8b7c; --tier-tint: #eff4f1; }
.tier-library__group > header { position: relative; padding: 26px 24px; display: flex; flex-direction: column; justify-content: center; background: var(--tier-tint); }
.tier-library__group > header::after { content: ""; position: absolute; right: 0; top: 24px; bottom: 24px; width: 2px; border-radius: 2px; background: var(--tier-accent); opacity: .55; }
.tier-library__group > header span { color: var(--tier-accent); font-size: .43rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tier-library__group > header h3 { margin: 9px 0 7px; color: #153449; font-size: clamp(1.35rem,2.1vw,1.85rem); line-height: .98; letter-spacing: -.05em; }
.tier-library__group > header p { margin: 0; color: #70818a; font-size: .56rem; line-height: 1.62; }
.tier-library__group > header > strong { margin-top: 19px; color: var(--tier-accent); font-size: .45rem; letter-spacing: .1em; text-transform: uppercase; }
.tier-library__grid { min-width: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-content: stretch; background: #fff; }
.tier-library__group--signature .tier-library__grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.tier-library__group--core .tier-library__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.tier-library__group--value .tier-library__grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
.tier-library__item { position: relative; min-width: 0; min-height: 111px; padding: 15px 14px; border: 0; border-right: 1px solid #e0e7e9; border-bottom: 1px solid #e0e7e9; display: grid; grid-template-columns: 19px minmax(0,1fr); grid-template-rows: 1fr auto; align-items: center; gap: 7px; color: #627984; background: #fff; cursor: pointer; transition: background .26s var(--ease),box-shadow .26s var(--ease),opacity .26s var(--ease),transform .26s var(--ease); }
.tier-library__item > span { align-self: start; padding-top: 2px; color: #a0afb6; font-size: .4rem; font-weight: 850; letter-spacing: .08em; }
.tier-library__item > img { width: auto; max-width: 96px; max-height: 31px; justify-self: center; filter: grayscale(1); opacity: .58; transition: filter .26s var(--ease),opacity .26s var(--ease),transform .26s var(--ease); }
.tier-library__item > strong { grid-column: 2; justify-self: center; overflow: hidden; max-width: 100%; color: #607681; font-size: .48rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.tier-library__item:hover,
.tier-library__item:focus-visible,
.tier-library__item.is-active,
.tier-library__item.is-match { z-index: 2; outline: 0; color: #144f70; background: #fff; box-shadow: inset 0 -3px 0 var(--tier-accent),0 14px 29px rgba(25,59,78,.085); transform: translateY(-1px); }
.tier-library__item:focus-visible { box-shadow: inset 0 -3px 0 var(--tier-accent),0 0 0 3px rgba(29,132,191,.18),0 14px 29px rgba(25,59,78,.085); }
.tier-library__item:hover > img,
.tier-library__item:focus-visible > img,
.tier-library__item.is-active > img,
.tier-library__item.is-match > img { filter: none; opacity: 1; transform: scale(1.04); }
.tier-library__frame.is-searching .tier-library__item:not(.is-match) { opacity: .14; }
.tier-library__frame.has-no-results .tier-library__item { opacity: .08 !important; }
.tier-library__foot { min-height: 70px; padding: 14px 20px 14px 22px; border-radius: 0 0 9px 33px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #fbfcfc; }
.tier-library__foot p { margin: 0; display: flex; align-items: center; gap: 10px; color: #6c7f89; font-size: .53rem; }
.tier-library__foot p > svg { width: 21px; height: 21px; flex: 0 0 21px; fill: none; stroke: #1778b1; stroke-width: 1.5; }
.tier-library__foot p span { display: grid; gap: 2px; }
.tier-library__foot p strong { color: #274e65; }
.tier-library__foot > button { min-height: 43px; padding: 0 14px; border: 1px solid #ccdde4; border-radius: 14px 14px 5px 14px; display: inline-flex; align-items: center; gap: 8px; color: #1a5576; background: #fff; font-size: .54rem; font-weight: 850; white-space: nowrap; cursor: pointer; }
.tier-library__foot > button svg { width: 14px; height: 14px; fill: none; stroke: #1375ae; stroke-width: 1.8; }
.tier-library .brand-search__result small { max-width: 190px; text-align: right; }

@media (max-width: 1120px) {
  .brand-spectrum__top { grid-template-columns: minmax(0,.75fr) minmax(350px,1.25fr); gap: 28px; }
  .brand-spectrum__tier { grid-template-columns: 205px minmax(0,1fr); }
  .brand-spectrum__item,
  .brand-spectrum__clone img { width: 154px; flex-basis: 154px; }
  .brand-spectrum__tier--value .brand-spectrum__item,
  .brand-spectrum__tier--value .brand-spectrum__clone img { width: 190px; flex-basis: 190px; }
  .brand-spectrum__selection { grid-template-columns: 76px minmax(130px,.48fr) minmax(230px,1fr) auto; gap: 16px; }
  .brand-spectrum__selection-mark { width: 76px; height: 68px; }
  .tier-library__studio { grid-template-columns: minmax(0,1fr) minmax(355px,.9fr); }
  .tier-library__group { grid-template-columns: 220px minmax(0,1fr); }
  .tier-library__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .brand-spectrum__top { grid-template-columns: 1fr; gap: 20px; }
  .brand-spectrum__intro p { max-width: 620px; }
  .brand-spectrum__selection { grid-template-columns: 76px minmax(0,1fr) auto; }
  .brand-spectrum__selection-copy { grid-column: 1 / 3; padding: 14px 0 0; border-top: 1px solid #d8e4e8; border-left: 0; }
  .brand-spectrum__selection-action { grid-column: 3; grid-row: 1 / 3; }
  .tier-library__studio { grid-template-columns: 1fr; }
  .tier-library__selection { border-top: 1px solid #dce6e8; border-left: 0; }
  .tier-library__index { overflow-x: auto; grid-template-columns: repeat(3,minmax(235px,1fr)); scrollbar-width: thin; }
  .tier-library__group { grid-template-columns: 205px minmax(0,1fr); }
}

@media (max-width: 700px) {
  .brand-spectrum,
  .tier-library { padding: 51px 0 59px; }
  .brand-spectrum__frame,
  .tier-library__frame { border-radius: 28px 28px 8px 28px; }
  .brand-spectrum__top { min-height: 0; padding: 23px 17px 21px; border-radius: 27px 27px 0 0; }
  .brand-spectrum__intro h3 { font-size: 1.55rem; }
  .brand-spectrum__intro p { font-size: .61rem; }
  .brand-spectrum__search input { height: 54px; }
  .brand-spectrum__tier { grid-template-columns: 1fr; }
  .brand-spectrum__tier > header { min-height: 76px; padding: 15px 17px; grid-template-columns: 24px minmax(0,1fr) auto; }
  .brand-spectrum__tier > header::after { left: 17px; right: 17px; top: auto; bottom: 0; width: auto; height: 2px; }
  .brand-spectrum__tier > header em { grid-column: 3; grid-row: 1 / 3; align-self: center; }
  .brand-spectrum__item,
  .brand-spectrum__clone img { width: 142px; height: 88px; flex-basis: 142px; padding: 22px 24px; }
  .brand-spectrum__tier--value .brand-spectrum__item,
  .brand-spectrum__tier--value .brand-spectrum__clone img { width: 164px; flex-basis: 164px; }
  .brand-spectrum__item img { max-width: 92px; max-height: 29px; }
  .brand-spectrum__run { animation-duration: 132s; }
  .brand-spectrum__run--core { animation-duration: 144s; }
  .brand-spectrum__run--value { animation-duration: 156s; }
  .brand-spectrum__selection { min-height: 0; padding: 19px 16px; grid-template-columns: 68px minmax(0,1fr); gap: 13px; }
  .brand-spectrum__selection-mark { width: 68px; height: 62px; padding: 12px; }
  .brand-spectrum__selection-name h3 { font-size: 1.65rem; }
  .brand-spectrum__selection-copy { grid-column: 1 / -1; }
  .brand-spectrum__selection-action { width: 100%; grid-column: 1 / -1; grid-row: auto; display: flex; align-items: center; justify-content: space-between; }
  .brand-spectrum__book { min-width: 0; width: min(220px,76%); }
  .brand-spectrum__foot { min-height: 0; padding: 15px 16px; border-radius: 0 0 7px 27px; align-items: flex-start; flex-direction: column; gap: 9px; }
  .tier-library__bar { min-height: 49px; padding-inline: 14px; border-radius: 27px 27px 0 0; }
  .tier-library__bar span:last-child { display: none; }
  .tier-library__search-panel { padding: 25px 17px 23px; }
  .tier-library__search-panel h3 { font-size: 1.85rem; }
  .tier-library__selection { padding: 22px 17px; }
  .tier-library__selection-main { grid-template-columns: 88px minmax(0,1fr); gap: 14px; }
  .tier-library__selection-mark { width: 88px; height: 72px; padding: 14px; }
  .tier-library__selection-main h3 { font-size: 1.8rem; }
  .tier-library__selection-foot { align-items: stretch; flex-direction: column; }
  .tier-library__book { width: 100%; }
  .tier-library__index { grid-template-columns: repeat(3,minmax(215px,1fr)); }
  .tier-library__group { scroll-margin-top: 82px; grid-template-columns: 1fr; }
  .tier-library__group > header { min-height: 154px; padding: 22px 20px; }
  .tier-library__group > header::after { left: 20px; right: 20px; top: auto; bottom: 0; width: auto; height: 2px; }
  .tier-library__group > header p { max-width: 390px; }
  .tier-library__group > header > strong { margin-top: 14px; }
  .tier-library__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tier-library__group--signature .tier-library__grid,
  .tier-library__group--core .tier-library__grid,
  .tier-library__group--value .tier-library__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tier-library__group--core .tier-library__item:last-child,
  .tier-library__group--value .tier-library__item:last-child { grid-column: 1 / -1; }
  .tier-library__item { min-height: 101px; padding: 13px 10px; }
  .tier-library__item > img { max-width: 80px; max-height: 27px; }
  .tier-library__foot { padding: 17px 15px; border-radius: 0 0 7px 27px; align-items: stretch; flex-direction: column; gap: 14px; }
  .tier-library__foot > button { justify-content: center; }
  .tier-library .brand-search__result { grid-template-columns: 58px minmax(0,1fr); }
  .tier-library .brand-search__result small { grid-column: 2; max-width: none; text-align: left; }
}

@media (max-width: 430px) {
  .brand-spectrum__intro > span { align-items: flex-start; line-height: 1.45; }
  .brand-spectrum__selection-action > span { font-size: .4rem; }
  .brand-spectrum__book { width: 78%; }
  .tier-library__selection > p { min-height: 0; }
  .tier-library__index { grid-template-columns: repeat(3,minmax(198px,1fr)); }
  .tier-library__item > strong { font-size: .44rem; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-spectrum__run { animation: none !important; transform: none !important; }
  .brand-spectrum__clone { display: none; }
  .brand-spectrum__rail { overflow-x: auto; scrollbar-width: thin; }
  .brand-spectrum__item,
  .tier-library__item { transition: none !important; transform: none !important; }
}

/* Brand atelier v2 — KinFix graphite, silver and blue */
.brand-spectrum {
  background:
    radial-gradient(circle at 88% 8%, rgba(37,139,224,.11), transparent 25%),
    radial-gradient(circle at 10% 84%, rgba(8,45,85,.055), transparent 28%),
    linear-gradient(180deg,#fbfdff 0%,#eef3f6 100%);
}
.brand-spectrum::before {
  left: auto;
  right: -330px;
  bottom: -455px;
  width: 760px;
  height: 760px;
  border-color: rgba(11,94,174,.055);
  box-shadow: 0 0 0 104px rgba(11,94,174,.014),0 0 0 208px rgba(11,94,174,.008);
}
.brand-spectrum__frame {
  border-color: rgba(118,143,159,.31);
  border-radius: 32px;
  background: linear-gradient(180deg,#fff 0%,#f2f6f8 100%);
  box-shadow: 0 30px 78px rgba(6,29,56,.105),inset 0 1px 0 rgba(255,255,255,.96);
}
.brand-spectrum__top {
  min-height: 148px;
  padding: 25px 28px 23px;
  border-bottom: 0;
  border-radius: 31px 31px 0 0;
  background:
    linear-gradient(105deg,rgba(255,255,255,.99) 0%,rgba(248,251,253,.98) 63%,rgba(237,245,250,.96) 100%);
}
.brand-spectrum__intro > span,
.tier-library__overline { color: #587184; }
.brand-spectrum__intro > span i {
  background: #258be0;
  box-shadow: 0 0 0 5px rgba(37,139,224,.11);
}
.brand-spectrum__intro h3 { color: #0a2337; }
.brand-spectrum__intro p { color: #647887; }
.brand-spectrum__find > label { color: #46667c; }
.brand-spectrum__search input {
  border-color: rgba(104,143,168,.38);
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 13px 31px rgba(8,45,85,.075),inset 0 1px 0 #fff;
}
.brand-spectrum__tiers {
  padding: 12px;
  display: grid;
  gap: 10px;
  background: linear-gradient(135deg,#e9eef1 0%,#f2f5f7 52%,#e7edf1 100%);
}
.brand-spectrum__tier {
  --tier-accent: #258be0;
  --tier-panel: linear-gradient(135deg,#eef2f4,#fafcfd);
  --tier-head-ink: #102f45;
  --tier-head-muted: #728995;
  min-height: 104px;
  border: 0;
  border-radius: 20px;
  grid-template-columns: 224px minmax(0,1fr);
  background: rgba(255,255,255,.82);
  box-shadow: 0 9px 24px rgba(10,37,55,.055),inset 0 0 0 1px rgba(132,153,166,.16);
}
.brand-spectrum__tier--signature {
  --tier-accent: #71bce8;
  --tier-panel: linear-gradient(138deg,#1f2a32 0%,#33434e 72%,#3d4e58 100%);
  --tier-head-ink: #fff;
  --tier-head-muted: #b6c4cc;
}
.brand-spectrum__tier--core {
  --tier-accent: #1174cc;
  --tier-panel: linear-gradient(138deg,#e5ebee 0%,#f7fafb 70%,#dde6eb 100%);
  --tier-head-ink: #102e43;
  --tier-head-muted: #708592;
}
.brand-spectrum__tier--value {
  --tier-accent: #506979;
  --tier-panel: linear-gradient(138deg,#f7f9fa 0%,#e9eef1 72%,#dfe6ea 100%);
  --tier-head-ink: #183247;
  --tier-head-muted: #6d808b;
}
.brand-spectrum__tier > header {
  isolation: isolate;
  overflow: hidden;
  padding: 18px 18px;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 5px 11px;
  background: var(--tier-panel);
  box-shadow: none;
}
.brand-spectrum__tier > header::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(118deg,transparent 16%,rgba(255,255,255,.19) 48%,transparent 71%);
  transform: translateX(-44%);
  opacity: .45;
}
.brand-spectrum__tier > header::after {
  right: 13px;
  top: 18px;
  bottom: 18px;
  width: 2px;
  background: var(--tier-accent);
  opacity: .82;
}
.brand-spectrum__tier > header > * { position: relative; z-index: 1; }
.brand-spectrum__tier > header b {
  width: 32px;
  height: 32px;
  grid-row: 1 / 3;
  border: 1px solid color-mix(in srgb,var(--tier-accent) 42%,transparent);
  border-radius: 10px;
  display: grid;
  place-items: center;
  color: var(--tier-accent);
  background: color-mix(in srgb,var(--tier-accent) 9%,transparent);
  font-size: .48rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}
.brand-spectrum__tier > header span { gap: 2px; }
.brand-spectrum__tier > header small {
  color: var(--tier-accent);
  font-size: .4rem;
  letter-spacing: .13em;
}
.brand-spectrum__tier > header strong {
  color: var(--tier-head-ink);
  font-size: .65rem;
  font-weight: 750;
}
.brand-spectrum__tier > header em {
  color: var(--tier-head-muted);
  font-size: .42rem;
  letter-spacing: .1em;
}
.brand-spectrum__rail {
  background: linear-gradient(100deg,rgba(255,255,255,.94),rgba(246,249,251,.92));
}
.brand-spectrum__run { animation-duration: 145s; }
.brand-spectrum__run--core { animation-duration: 162s; }
.brand-spectrum__run--value { animation-duration: 180s; }
.brand-spectrum__item,
.brand-spectrum__clone img {
  width: 168px;
  height: 90px;
  flex: 0 0 168px;
  margin: 7px 4px;
  padding: 21px 24px;
  border: 1px solid rgba(132,153,166,.13);
  border-radius: 16px;
  object-fit: contain;
  background: rgba(255,255,255,.72);
  box-shadow: 0 2px 8px rgba(13,43,61,.025);
  transition: border-color .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease),opacity .3s var(--ease),transform .3s var(--ease);
}
.brand-spectrum__item { overflow: hidden; }
.brand-spectrum__clone img {
  cursor: pointer;
  filter: grayscale(1);
  opacity: .56;
}
.brand-spectrum__tier--value .brand-spectrum__item,
.brand-spectrum__tier--value .brand-spectrum__clone img {
  width: 208px;
  flex-basis: 208px;
}
.brand-spectrum__item img {
  max-width: 104px;
  max-height: 31px;
  opacity: .64;
}
.brand-spectrum__item:hover,
.brand-spectrum__item:focus-visible,
.brand-spectrum__item.is-active,
.brand-spectrum__item.is-match,
.brand-spectrum__item.is-ambient,
.brand-spectrum__clone img:hover,
.brand-spectrum__clone img.is-active,
.brand-spectrum__clone img.is-match,
.brand-spectrum__clone img.is-ambient {
  z-index: 2;
  outline: 0;
  border-color: color-mix(in srgb,var(--tier-accent) 32%,rgba(132,153,166,.16));
  background: #fff;
  box-shadow: 0 12px 27px rgba(8,45,85,.095),inset 0 -2px 0 var(--tier-accent);
  transform: translateY(-1px);
}
.brand-spectrum__clone img:hover,
.brand-spectrum__clone img.is-active,
.brand-spectrum__clone img.is-match,
.brand-spectrum__clone img.is-ambient {
  filter: none;
  opacity: 1;
}
.brand-spectrum__frame.is-searching .brand-spectrum__clone { opacity: 1; }
.brand-spectrum__frame.is-searching .brand-spectrum__clone img:not(.is-match) { opacity: .14; }
.brand-spectrum__frame.has-no-results .brand-spectrum__clone img { opacity: .08 !important; }
.brand-spectrum__selection {
  min-height: 118px;
  margin: 0 12px 12px;
  padding: 19px 21px;
  border: 1px solid rgba(116,145,163,.25);
  border-radius: 20px;
  background:
    radial-gradient(circle at 94% 14%,rgba(37,139,224,.13),transparent 25%),
    linear-gradient(112deg,#fff 0%,#f5f8fa 57%,#eaf1f5 100%);
  box-shadow: 0 10px 28px rgba(8,45,85,.055),inset 0 1px 0 #fff;
}
.brand-spectrum__selection-mark {
  border-color: rgba(111,139,156,.29);
  border-radius: 17px;
  background: linear-gradient(145deg,#fff,#f0f4f6);
  box-shadow: 0 10px 23px rgba(21,57,78,.075),inset 0 1px 0 #fff;
}
.brand-spectrum__selection-copy { border-color: rgba(124,151,167,.28); }
.brand-spectrum__selection-copy strong { color: #0b5eae; }
.brand-spectrum__book {
  border-color: rgba(11,94,174,.22);
  border-radius: 14px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 24px rgba(8,45,85,.07),inset 0 1px 0 #fff;
}
.brand-spectrum__book svg { border-radius: 10px; background: linear-gradient(145deg,#1174cc,#0b5eae); }
.brand-spectrum__foot {
  min-height: 48px;
  padding: 0 23px 4px;
  border-radius: 0 0 31px 31px;
  background: transparent;
}

/* The standalone guide mirrors the same material palette without becoming a table. */
.tier-library {
  background:
    radial-gradient(circle at 88% 5%,rgba(37,139,224,.09),transparent 24%),
    linear-gradient(180deg,#fff 0%,#eef3f6 100%);
}
.tier-library__frame {
  border-color: rgba(118,143,159,.3);
  border-radius: 32px;
  background: linear-gradient(180deg,#fff,#eef3f6);
  box-shadow: 0 30px 78px rgba(6,29,56,.1),inset 0 1px 0 #fff;
}
.tier-library__bar {
  border-bottom: 0;
  border-radius: 31px 31px 0 0;
  background: linear-gradient(110deg,#fff,#f0f5f8);
}
.tier-library__bar b { border-radius: 8px; background: linear-gradient(145deg,#1174cc,#0b5eae); }
.tier-library__studio {
  margin: 0 12px 10px;
  border: 1px solid rgba(120,148,166,.22);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(8,45,85,.045);
}
.tier-library__search-panel { background: linear-gradient(135deg,#fff,#f6f9fb); }
.tier-library__selection {
  border-color: rgba(120,148,166,.23);
  background: linear-gradient(145deg,#f0f5f8,#e5edf2);
}
.tier-library__selection-mark { border-radius: 17px; background: linear-gradient(145deg,#fff,#f0f4f6); }
.tier-library__index {
  padding: 0 12px 10px;
  border-bottom: 0;
  background: transparent;
}
.tier-library__index a {
  border-color: rgba(123,150,166,.18);
  border-radius: 15px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 6px 18px rgba(8,45,85,.045);
}
.tier-library__groups { padding: 0 12px 12px; gap: 10px; background: transparent; }
.tier-library__group {
  --tier-accent: #258be0;
  --tier-panel: linear-gradient(138deg,#eef2f4,#fafcfd);
  --tier-head-ink: #102f45;
  --tier-head-muted: #667e8d;
  border: 0;
  border-radius: 20px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 9px 24px rgba(10,37,55,.055),inset 0 0 0 1px rgba(132,153,166,.16);
}
.tier-library__group--signature {
  --tier-accent: #71bce8;
  --tier-panel: linear-gradient(138deg,#1f2a32 0%,#33434e 72%,#3d4e58 100%);
  --tier-head-ink: #fff;
  --tier-head-muted: #c2cdd3;
}
.tier-library__group--core {
  --tier-accent: #1174cc;
  --tier-panel: linear-gradient(138deg,#e5ebee 0%,#f7fafb 70%,#dde6eb 100%);
  --tier-head-ink: #102e43;
  --tier-head-muted: #667d8b;
}
.tier-library__group--value {
  --tier-accent: #506979;
  --tier-panel: linear-gradient(138deg,#f7f9fa 0%,#e9eef1 72%,#dfe6ea 100%);
  --tier-head-ink: #183247;
  --tier-head-muted: #667a86;
}
.tier-library__group > header {
  isolation: isolate;
  overflow: hidden;
  background: var(--tier-panel);
}
.tier-library__group > header::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(118deg,transparent 16%,rgba(255,255,255,.18) 48%,transparent 71%);
  transform: translateX(-42%);
  opacity: .44;
}
.tier-library__group > header::after { right: 13px; background: var(--tier-accent); opacity: .8; }
.tier-library__group > header span { color: var(--tier-accent); }
.tier-library__group > header h3 { color: var(--tier-head-ink); }
.tier-library__group > header p { color: var(--tier-head-muted); }
.tier-library__group > header > strong { color: var(--tier-accent); }
.tier-library__grid {
  padding: 7px;
  gap: 7px;
  background: linear-gradient(135deg,#e7edf1,#f1f4f6);
}
.tier-library__item {
  min-height: 100px;
  border: 1px solid rgba(127,151,166,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 2px 8px rgba(13,43,61,.025);
}
.tier-library__item:hover,
.tier-library__item:focus-visible,
.tier-library__item.is-active,
.tier-library__item.is-match {
  border-color: color-mix(in srgb,var(--tier-accent) 30%,rgba(132,153,166,.16));
  box-shadow: 0 12px 27px rgba(8,45,85,.09),inset 0 -2px 0 var(--tier-accent);
}
.tier-library__foot { border-radius: 0 0 31px 31px; background: transparent; }

@media (max-width: 1120px) {
  .brand-spectrum__tier { grid-template-columns: 205px minmax(0,1fr); }
  .brand-spectrum__item,
  .brand-spectrum__clone img { width: 154px; flex-basis: 154px; }
  .brand-spectrum__tier--value .brand-spectrum__item,
  .brand-spectrum__tier--value .brand-spectrum__clone img { width: 186px; flex-basis: 186px; }
}

@media (max-width: 700px) {
  .brand-spectrum__frame,
  .tier-library__frame { border-radius: 27px; }
  .brand-spectrum__top { border-radius: 26px 26px 0 0; }
  .brand-spectrum__tiers { padding: 9px; gap: 8px; }
  .brand-spectrum__tier { grid-template-columns: 1fr; border-radius: 17px; }
  .brand-spectrum__tier > header {
    min-height: 76px;
    padding: 14px 16px;
    grid-template-columns: 34px minmax(0,1fr) auto;
  }
  .brand-spectrum__tier > header::after { left: auto; right: 14px; top: 16px; bottom: 16px; width: 2px; height: auto; }
  .brand-spectrum__tier > header em { grid-column: 3; grid-row: 1 / 3; padding-right: 12px; align-self: center; }
  .brand-spectrum__item,
  .brand-spectrum__clone img { width: 142px; height: 84px; flex-basis: 142px; margin: 6px 3px; padding: 20px 23px; }
  .brand-spectrum__tier--value .brand-spectrum__item,
  .brand-spectrum__tier--value .brand-spectrum__clone img { width: 162px; flex-basis: 162px; }
  .brand-spectrum__selection { margin: 0 9px 9px; border-radius: 17px; }
  .brand-spectrum__foot { border-radius: 0 0 26px 26px; }
  .tier-library__bar { border-radius: 26px 26px 0 0; }
  .tier-library__studio { margin: 0 9px 8px; border-radius: 17px; }
  .tier-library__index { padding: 0 9px 8px; }
  .tier-library__groups { padding: 0 9px 9px; gap: 8px; }
  .tier-library__group { border-radius: 17px; }
  .tier-library__group > header::after { left: 20px; right: 20px; top: auto; bottom: 0; width: auto; height: 2px; }
  .tier-library__grid { padding: 6px; gap: 6px; }
  .tier-library__item { min-height: 96px; border-radius: 12px; }
  .tier-library__foot { border-radius: 0 0 26px 26px; }
}

/* Brand block v3 — editorial spacing and concierge composition */
.brand-spectrum__header-note {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  max-width: 420px;
  padding: 18px 21px 17px 23px;
  border: 1px solid rgba(114,145,164,.26);
  border-radius: 20px;
  background:
    linear-gradient(118deg,rgba(255,255,255,.96),rgba(240,246,249,.94));
  box-shadow: 0 16px 38px rgba(8,45,85,.07),inset 0 1px 0 #fff;
}
.brand-spectrum__header-note::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -54px;
  top: -67px;
  width: 154px;
  height: 154px;
  border: 1px solid rgba(37,139,224,.13);
  border-radius: 50%;
  box-shadow: 0 0 0 23px rgba(37,139,224,.025),0 0 0 46px rgba(37,139,224,.012);
}
.brand-spectrum__header-note::after {
  content: "";
  position: absolute;
  left: 0;
  top: 19px;
  bottom: 19px;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg,#258be0,#8fc9eb);
}
.brand-spectrum__header-note-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #42647a;
  font-size: .47rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.brand-spectrum__header-note-label i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #258be0;
  box-shadow: 0 0 0 5px rgba(37,139,224,.1);
}
.brand-spectrum__header-note p {
  max-width: 340px;
  margin-top: 9px;
  color: #445e70;
  font-size: .82rem;
  line-height: 1.58;
}
.brand-spectrum__header-note .text-link {
  margin-top: 12px;
  color: #0b5eae;
  font-size: .66rem;
}
.brand-spectrum__selection {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 122px;
  margin: 18px 12px 10px;
  padding: 20px 21px;
  border-color: rgba(104,137,157,.3);
  border-radius: 21px;
  background:
    linear-gradient(112deg,rgba(255,255,255,.99) 0%,rgba(246,249,251,.98) 56%,rgba(231,241,247,.98) 100%);
  box-shadow: 0 14px 34px rgba(8,45,85,.065),inset 0 1px 0 #fff;
}
.brand-spectrum__selection::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  top: 20px;
  bottom: 20px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(180deg,#258be0,#82c4e9);
}
.brand-spectrum__selection::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -82px;
  bottom: -111px;
  width: 230px;
  height: 230px;
  border: 1px solid rgba(37,139,224,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 31px rgba(37,139,224,.02);
}
.brand-spectrum__selection > * { position: relative; z-index: 1; }
.brand-spectrum__selection-mark {
  width: 86px;
  height: 74px;
  border-radius: 17px;
  background: linear-gradient(145deg,#fff,#edf2f5);
}
.brand-spectrum__selection-name small {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #567489;
}
.brand-spectrum__selection-name small::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #258be0;
  box-shadow: 0 0 0 4px rgba(37,139,224,.09);
}
.brand-spectrum__selection-copy {
  padding-left: 24px;
  border-left-color: rgba(116,146,165,.25);
}
.brand-spectrum__selection-copy strong { color: #0b67b8; }
.brand-spectrum__selection-copy p {
  max-width: 430px;
  color: #617686;
  font-size: .58rem;
  line-height: 1.58;
}
.brand-spectrum__selection-action > span {
  color: #718997;
  letter-spacing: .12em;
}
.brand-spectrum__book {
  min-width: 181px;
  border-color: rgba(11,94,174,.2);
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 24px rgba(8,45,85,.07),inset 0 1px 0 #fff;
}
.brand-spectrum__foot {
  min-height: 0;
  padding: 2px 17px 15px 18px;
  color: #667d8c;
  background: transparent;
  font-size: .49rem;
}
.brand-spectrum__foot p {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.brand-spectrum__foot p > span:last-child { display: grid; gap: 1px; }
.brand-spectrum__foot p strong {
  color: #294b60;
  font-size: .51rem;
  font-weight: 850;
}
.brand-spectrum__foot-mark {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 1px solid rgba(80,105,121,.22);
  border-radius: 9px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg,#26343e,#41535f);
  box-shadow: 0 7px 16px rgba(16,41,56,.12);
  font-size: .38rem;
  font-weight: 900;
  letter-spacing: .09em;
}
.brand-spectrum__foot a {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(11,94,174,.16);
  border-radius: 11px;
  background: rgba(255,255,255,.7);
  box-shadow: inset 0 1px 0 #fff;
  font-size: .48rem;
}

@media (max-width: 900px) {
  .brand-spectrum__header-note { max-width: 540px; }
  .brand-spectrum__selection-copy {
    padding: 14px 0 0;
    border-top: 1px solid rgba(116,146,165,.24);
    border-left: 0;
  }
}

/* Brand polish v6 — one clear control and a calmer section transition */
.brand-search input[type="search"]::-webkit-search-decoration,
.brand-search input[type="search"]::-webkit-search-cancel-button,
.brand-search input[type="search"]::-webkit-search-results-button,
.brand-search input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
.brand-search input[type="search"]::-ms-clear,
.brand-search input[type="search"]::-ms-reveal {
  width: 0;
  height: 0;
  display: none;
}
.brands-booking {
  padding-top: clamp(28px,3.2vw,48px);
}

@media (max-width: 700px) {
  .brands-booking { padding-top: 24px; }
}

@media (max-width: 700px) {
  .brand-spectrum__header-note {
    max-width: none;
    padding: 17px 18px 16px 20px;
    border-radius: 17px;
  }
  .brand-spectrum__header-note p { font-size: .72rem; }
  .brand-spectrum__selection {
    margin: 14px 9px 8px;
    padding: 18px 16px;
    border-radius: 17px;
  }
  .brand-spectrum__selection-mark { width: 68px; height: 62px; }
  .brand-spectrum__selection-copy { padding-top: 13px; }
  .brand-spectrum__book { min-width: 0; }
  .brand-spectrum__foot { padding: 4px 13px 14px; gap: 12px; }
  .brand-spectrum__foot a { justify-content: center; }
}

/* Standalone brand guide v4 — compact finder and optically centred marks */
.tier-library {
  padding: 54px 0 68px;
}
.tier-library .premium-section-header {
  margin-bottom: 26px;
  align-items: center;
}
.tier-library__header-note {
  width: 100%;
  margin-left: auto;
}
.tier-library__frame {
  overflow: visible;
  border-radius: 28px;
}
.tier-library__studio {
  min-height: 144px;
  margin: 14px 14px 9px;
  grid-template-columns: minmax(0,1.16fr) minmax(365px,.84fr);
  border-radius: 18px;
  overflow: visible;
}
.tier-library__search-panel {
  min-width: 0;
  padding: 20px 22px;
  display: grid;
  grid-template-columns: minmax(180px,.72fr) minmax(280px,1.28fr);
  align-items: center;
  gap: 24px;
  background:
    radial-gradient(circle at 8% 110%,rgba(37,139,224,.08),transparent 40%),
    linear-gradient(135deg,#fff,#f5f8fa);
  border-radius: 17px 0 0 17px;
}
.tier-library__finder-copy { min-width: 0; }
.tier-library__finder-copy h3 {
  max-width: 250px;
  margin: 7px 0 0;
  color: #102e43;
  font-size: clamp(1.25rem,1.65vw,1.55rem);
  line-height: 1.02;
  letter-spacing: -.048em;
}
.tier-library__search { min-width: 0; }
.tier-library__search input {
  height: 54px;
  border-color: rgba(104,143,168,.34);
  border-radius: 15px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 11px 28px rgba(8,45,85,.07),inset 0 1px 0 #fff;
}
.tier-library__selection {
  min-width: 0;
  padding: 18px 19px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  border-left: 1px solid rgba(120,148,166,.23);
  background:
    radial-gradient(circle at 100% 0,rgba(37,139,224,.13),transparent 38%),
    linear-gradient(145deg,#f1f6f8,#e7eff3);
  border-radius: 0 17px 17px 0;
}
.tier-library__selection-main {
  min-width: 0;
  margin: 0;
  grid-template-columns: 76px minmax(0,1fr);
  gap: 15px;
}
.tier-library__selection-mark {
  width: 76px;
  height: 64px;
  padding: 13px;
  border-radius: 15px;
}
.tier-library__selection-mark img {
  width: 100%;
  height: 32px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}
.tier-library__selection-main h3 {
  margin: 4px 0 5px;
  font-size: clamp(1.35rem,2vw,1.7rem);
}
.tier-library__book {
  min-width: 148px;
  min-height: 43px;
}
.tier-library__index {
  padding: 0 14px 11px;
  gap: 7px;
}
.tier-library__index a {
  min-height: 51px;
  padding: 10px 13px 10px 15px;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 13px;
  border-radius: 13px;
}
.tier-library__index a > svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: #1774ac;
  stroke-width: 1.8;
  transition: transform .24s var(--ease);
}
.tier-library__index a:hover > svg { transform: translateX(3px); }
.tier-library__index small { font-size: .39rem; }
.tier-library__index strong { font-size: .56rem; }
.tier-library__groups { padding: 0 14px 14px; }

/* The ordinal is an annotation; the logo and name share the true card centre. */
.tier-library__item {
  min-height: 100px;
  padding: 15px 16px 13px;
  grid-template-columns: 1fr;
  grid-template-rows: minmax(42px,1fr) auto;
  place-items: center;
  gap: 8px;
}
.tier-library__item > span {
  position: absolute;
  left: 13px;
  top: 12px;
  padding: 0;
}
.tier-library__item > img {
  width: 104px;
  height: 34px;
  max-width: 72%;
  max-height: 34px;
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  justify-self: center;
  object-fit: contain;
  object-position: center;
  transform-origin: center;
}
.tier-library__item > strong {
  width: 100%;
  grid-column: 1;
  grid-row: 2;
  justify-self: center;
  text-align: center;
}

@media (max-width: 1120px) {
  .tier-library__studio {
    grid-template-columns: minmax(0,1.08fr) minmax(335px,.92fr);
  }
  .tier-library__search-panel {
    grid-template-columns: minmax(165px,.7fr) minmax(240px,1.3fr);
    gap: 18px;
  }
}

@media (max-width: 900px) {
  .tier-library__studio { grid-template-columns: 1fr; }
  .tier-library__search-panel { border-radius: 17px 17px 0 0; }
  .tier-library__selection {
    border-top: 1px solid rgba(120,148,166,.23);
    border-left: 0;
    border-radius: 0 0 17px 17px;
  }
}

@media (max-width: 700px) {
  .tier-library { padding: 46px 0 55px; }
  .tier-library .premium-section-header { margin-bottom: 22px; }
  .tier-library__frame { border-radius: 24px; }
  .tier-library__studio {
    min-height: 0;
    margin: 9px 9px 8px;
    border-radius: 16px;
  }
  .tier-library__search-panel {
    padding: 19px 17px 18px;
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .tier-library__finder-copy h3 {
    max-width: none;
    font-size: 1.55rem;
  }
  .tier-library__search input { height: 52px; }
  .tier-library__selection {
    padding: 16px;
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .tier-library__selection-main {
    grid-template-columns: 70px minmax(0,1fr);
    gap: 13px;
  }
  .tier-library__selection-mark {
    width: 70px;
    height: 59px;
    padding: 12px;
  }
  .tier-library__selection-main h3 { font-size: 1.55rem; }
  .tier-library__book { width: 100%; }
  .tier-library__index { padding: 0 9px 8px; }
  .tier-library__index a { min-height: 49px; }
  .tier-library__groups { padding: 0 9px 9px; }
  .tier-library__item {
    min-height: 96px;
    padding: 14px 12px 12px;
  }
  .tier-library__item > img {
    width: 96px;
    height: 31px;
    max-width: 72%;
  }
}

/* Brand polish v5 — logo-first inspector and a single editorial guide surface */
.brand-spectrum__selection {
  min-height: 126px;
  padding: 18px 20px;
  grid-template-columns: 148px minmax(0,1fr) auto;
  align-items: center;
  gap: 24px;
}
.brand-spectrum__selection-mark {
  width: 148px;
  height: 88px;
  padding: 17px 20px;
  border-radius: 18px;
}
.brand-spectrum__selection-mark img {
  width: 100%;
  height: 52px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}
.brand-spectrum__selection-details { min-width: 0; }
.brand-spectrum__selection-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 15px;
}
.brand-spectrum__selection-meta small {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #567489;
  font-size: .43rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.brand-spectrum__selection-meta small::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #258be0;
  box-shadow: 0 0 0 4px rgba(37,139,224,.09);
}
.brand-spectrum__selection-meta strong {
  color: #0b67b8;
  font-size: .48rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.brand-spectrum__selection-details h3 {
  margin: 7px 0 4px;
  overflow: hidden;
  color: #102d40;
  font-size: clamp(1.25rem,1.65vw,1.6rem);
  line-height: 1;
  letter-spacing: -.045em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.brand-spectrum__selection-details p {
  max-width: 650px;
  margin: 0;
  color: #617686;
  font-size: .59rem;
  line-height: 1.52;
}
.brand-spectrum__selection-action {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.brand-spectrum__book { min-width: 190px; }

.tier-library .premium-section-header {
  grid-template-columns: minmax(0,1fr) minmax(350px,430px);
  gap: clamp(34px,5vw,68px);
  margin-bottom: 24px;
}
.tier-library__header-note {
  min-height: 0;
  max-width: 430px;
  padding: 18px 20px 17px 22px;
  border-radius: 18px;
}
.tier-library__header-note p {
  max-width: 355px;
  margin-top: 8px;
  font-size: .76rem;
  line-height: 1.55;
}
.tier-library__header-note .text-link {
  width: max-content;
  min-height: 34px;
  margin-top: 11px;
  padding: 0 11px;
  border: 1px solid rgba(11,94,174,.17);
  border-radius: 10px;
  background: rgba(255,255,255,.72);
  box-shadow: inset 0 1px 0 #fff;
  font-size: .58rem;
}
.tier-library__header-note .text-link svg {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.tier-library__frame {
  padding-top: 13px;
  background:
    radial-gradient(circle at 94% 3%,rgba(37,139,224,.07),transparent 20%),
    linear-gradient(180deg,#fff,#eef3f6);
}
.tier-library__studio {
  min-height: 132px;
  margin: 0 14px;
  grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr);
  border-color: rgba(105,139,160,.25);
  border-radius: 18px 18px 0 0;
  background:
    linear-gradient(112deg,rgba(255,255,255,.98) 0%,rgba(245,249,251,.97) 57%,rgba(232,241,246,.98) 100%);
  box-shadow: 0 13px 30px rgba(8,45,85,.06),inset 0 1px 0 #fff;
}
.tier-library__search-panel {
  padding: 18px 21px;
  grid-template-columns: minmax(170px,.65fr) minmax(275px,1.35fr);
  gap: 22px;
  border-radius: 17px 0 0 0;
  background: transparent;
}
.tier-library__finder-copy h3 {
  max-width: 225px;
  margin-top: 6px;
  font-size: clamp(1.12rem,1.45vw,1.38rem);
  line-height: 1.04;
}
.tier-library__search input {
  height: 52px;
  box-shadow: 0 9px 23px rgba(8,45,85,.06),inset 0 1px 0 #fff;
}
.tier-library__selection {
  padding: 15px 18px;
  gap: 18px;
  border-radius: 0 17px 0 0;
  background: transparent;
}
.tier-library__selection-main {
  grid-template-columns: 136px minmax(0,1fr);
  gap: 16px;
}
.tier-library__selection-mark {
  width: 136px;
  height: 74px;
  padding: 13px 10px;
  border-radius: 16px;
}
.tier-library__selection-mark img {
  width: 100%;
  height: 46px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center;
}
.tier-library__selection-copy { min-width: 0; }
.tier-library__selection-copy small {
  display: block;
  font-size: .39rem;
}
.tier-library__selection-main h3 {
  margin: 5px 0 6px;
  font-size: clamp(1.04rem,1.22vw,1.23rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}
.tier-library__selection-copy strong {
  display: block;
  overflow: hidden;
  font-size: .43rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tier-library__book {
  min-width: 138px;
  min-height: 42px;
}

.tier-library__index {
  margin: 0 14px 11px;
  padding: 0;
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(105,139,160,.25);
  border-top: 0;
  border-radius: 0 0 16px 16px;
  background: rgba(250,252,253,.88);
  box-shadow: 0 10px 24px rgba(8,45,85,.04);
}
.tier-library__index a {
  min-height: 48px;
  padding: 9px 14px;
  border: 0;
  border-right: 1px solid rgba(120,148,166,.2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.tier-library__index a:last-child { border-right: 0; }
.tier-library__index a:hover {
  border-color: rgba(120,148,166,.2);
  background: rgba(255,255,255,.76);
  box-shadow: inset 0 -2px 0 #258be0;
  transform: none;
}

/* Pin each logo to a true optical centre; labels no longer move the mark. */
.tier-library__item {
  position: relative;
  min-height: 100px;
  padding: 0;
  display: block;
}
.tier-library__item > span {
  left: 13px;
  top: 11px;
}
.tier-library__item > img {
  position: absolute;
  left: 50%;
  top: 46%;
  width: 68%;
  height: 38px;
  max-width: 118px;
  max-height: 38px;
  margin: 0;
  object-fit: contain;
  object-position: center;
  transform: translate(-50%,-50%);
  transform-origin: center;
}
.tier-library__item > strong {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  width: auto;
  display: block;
  text-align: center;
}
.tier-library__item:hover > img,
.tier-library__item:focus-visible > img,
.tier-library__item.is-active > img,
.tier-library__item.is-match > img {
  transform: translate(-50%,-50%) scale(1.055);
}

@media (max-width: 1120px) {
  .brand-spectrum__selection {
    grid-template-columns: 132px minmax(0,1fr) auto;
    gap: 19px;
  }
  .brand-spectrum__selection-mark {
    width: 132px;
    height: 82px;
  }
  .tier-library__studio {
    grid-template-columns: minmax(0,1.08fr) minmax(335px,.92fr);
  }
  .tier-library__search-panel {
    grid-template-columns: minmax(150px,.62fr) minmax(230px,1.38fr);
    gap: 16px;
  }
  .tier-library__selection-main {
    grid-template-columns: 96px minmax(0,1fr);
    gap: 12px;
  }
  .tier-library__selection-mark {
    width: 96px;
    height: 68px;
    padding: 12px 13px;
  }
  .tier-library__selection-mark img { height: 42px; }
  .tier-library__selection-main h3 { font-size: 1.04rem; }
  .tier-library__book { min-width: 130px; }
}

@media (max-width: 980px) {
  .tier-library .premium-section-header {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .tier-library__header-note {
    max-width: 560px;
    margin-left: 0;
  }
}

@media (max-width: 900px) {
  .brand-spectrum__selection {
    grid-template-columns: 118px minmax(0,1fr) auto;
  }
  .brand-spectrum__selection-mark {
    width: 118px;
    height: 78px;
  }
  .brand-spectrum__book { min-width: 170px; }
  .tier-library__studio { grid-template-columns: 1fr; }
  .tier-library__search-panel { border-radius: 17px 17px 0 0; }
  .tier-library__selection {
    border-top: 1px solid rgba(120,148,166,.2);
    border-left: 0;
    border-radius: 0;
  }
  .tier-library__selection-main {
    grid-template-columns: 118px minmax(0,1fr);
    gap: 16px;
  }
  .tier-library__selection-mark {
    width: 118px;
    height: 74px;
    padding: 13px 15px;
  }
  .tier-library__selection-mark img { height: 46px; }
  .tier-library__selection-main h3 { font-size: 1.16rem; }
}

@media (max-width: 700px) {
  .brand-spectrum__selection {
    grid-template-columns: 88px minmax(0,1fr);
    gap: 14px;
  }
  .brand-spectrum__selection-mark {
    width: 88px;
    height: 66px;
    padding: 12px;
  }
  .brand-spectrum__selection-mark img { height: 38px; }
  .brand-spectrum__selection-details h3 {
    font-size: 1.24rem;
    white-space: normal;
  }
  .brand-spectrum__selection-details p {
    font-size: .55rem;
    line-height: 1.45;
  }
  .brand-spectrum__selection-action {
    grid-column: 1 / -1;
    width: 100%;
  }
  .brand-spectrum__book { width: 100%; min-width: 0; }
  .tier-library__header-note { max-width: none; }
  .tier-library__frame { padding-top: 9px; }
  .tier-library__studio { margin: 0 9px; }
  .tier-library__search-panel {
    padding: 18px 16px 16px;
    grid-template-columns: 1fr;
    gap: 13px;
  }
  .tier-library__finder-copy h3 { max-width: none; font-size: 1.45rem; }
  .tier-library__selection {
    padding: 15px 16px;
    grid-template-columns: 1fr;
    gap: 13px;
  }
  .tier-library__selection-main {
    grid-template-columns: 106px minmax(0,1fr);
    gap: 14px;
  }
  .tier-library__selection-mark {
    width: 106px;
    height: 68px;
    padding: 12px 14px;
  }
  .tier-library__selection-mark img { height: 42px; }
  .tier-library__selection-main h3 {
    font-size: 1.1rem;
    white-space: normal;
  }
  .tier-library__book { width: 100%; }
  .tier-library__index {
    margin: 0 9px 8px;
    overflow-x: auto;
    grid-template-columns: repeat(3,minmax(200px,1fr));
  }
  .tier-library__index a { border-right: 1px solid rgba(120,148,166,.2); }
  .tier-library__item { min-height: 96px; }
  .tier-library__item > img {
    top: 45%;
    width: 70%;
    height: 34px;
    max-width: 104px;
  }
}

/* ==========================================================
   KINFIX V7 — GRAPHITE CONCIERGE + SILVER SERVICE LEDGER
   ========================================================== */

.site-footer {
  position: relative;
  overflow: hidden;
  color: #26313a;
  border-top: 1px solid rgba(111, 126, 138, .32);
  background:
    radial-gradient(circle at 13% 16%, rgba(255, 255, 255, .92), transparent 27%),
    radial-gradient(circle at 88% 76%, rgba(37, 139, 224, .1), transparent 26%),
    linear-gradient(128deg, #f3f5f6 0%, #e4e8ea 48%, #d9dfe2 100%);
  isolation: isolate;
}

.site-footer::before {
  content: "KFX";
  position: absolute;
  left: max(-18px, calc((100vw - 1240px) / 2 - 94px));
  bottom: 12px;
  z-index: -1;
  color: rgba(64, 78, 89, .035);
  font-size: clamp(9rem, 18vw, 18rem);
  font-weight: 850;
  letter-spacing: -.1em;
  line-height: .7;
  pointer-events: none;
}

.site-footer__signal {
  color: #e9edf0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px) 0 0 / 46px 46px,
    linear-gradient(112deg, #151b22 0%, #202a33 62%, #18232d 100%);
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .07);
}

.site-footer__signal-inner {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.site-footer__signal-inner > span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(236, 241, 244, .7);
  font-size: .59rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.site-footer__signal-inner > span i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #65d9a2;
  box-shadow: 0 0 0 5px rgba(101, 217, 162, .1), 0 0 18px rgba(101, 217, 162, .38);
}

.site-footer__signal-inner > a {
  display: inline-flex;
  align-items: baseline;
  gap: 9px;
  color: #f7f9fa;
  transition: color .22s var(--ease);
}

.site-footer__signal-inner > a small {
  color: rgba(233, 239, 243, .46);
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.site-footer__signal-inner > a strong {
  font-size: .75rem;
  letter-spacing: .015em;
}

.site-footer__signal-inner > a:hover { color: #8bcaf4; }

.site-footer__ledger {
  padding: 46px 0 38px;
  display: grid;
  grid-template-columns: minmax(330px, 1.17fr) minmax(260px, .84fr) minmax(350px, 1.05fr);
  align-items: stretch;
  gap: 18px;
}

.site-footer__brand-card,
.site-footer__directory,
.site-footer__contact-card {
  min-width: 0;
  border: 1px solid rgba(107, 123, 134, .24);
  box-shadow: 0 20px 46px rgba(32, 47, 57, .08), inset 0 1px 0 rgba(255, 255, 255, .72);
}

.site-footer__brand-card {
  position: relative;
  padding: 27px 29px 25px;
  overflow: hidden;
  border-color: rgba(255, 255, 255, .12);
  border-radius: 27px 27px 7px 27px;
  color: #edf1f3;
  background:
    radial-gradient(circle at 91% 6%, rgba(64, 153, 218, .2), transparent 35%),
    linear-gradient(145deg, #172029 0%, #242e37 67%, #1a242d 100%);
  box-shadow: 0 24px 54px rgba(27, 38, 47, .17), inset 0 1px 0 rgba(255, 255, 255, .09);
}

.site-footer__brand-card::after {
  content: "";
  position: absolute;
  right: -72px;
  bottom: -98px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(157, 204, 236, .13);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(156, 203, 236, .025), 0 0 0 75px rgba(156, 203, 236, .018);
  pointer-events: none;
}

.site-footer__logo {
  position: absolute;
  right: 23px;
  top: 22px;
  z-index: 1;
  width: 111px;
  padding: 8px 10px 7px;
  border: 1px solid rgba(255, 255, 255, .68);
  border-radius: 12px 12px 3px 12px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .15);
}

.site-footer__logo img { width: 100%; height: auto; }

.site-footer__label {
  display: block;
  color: #657581;
  font-size: .52rem;
  font-weight: 850;
  letter-spacing: .15em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-footer__brand-card > .site-footer__label {
  max-width: calc(100% - 126px);
  color: rgba(225, 233, 238, .47);
}

.site-footer__brand-card h2 {
  position: relative;
  z-index: 1;
  margin: 45px 0 13px;
  color: #f7f9fa;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(2.05rem, 2.75vw, 2.75rem);
  font-weight: 520;
  letter-spacing: -.045em;
  line-height: .94;
}

.site-footer__brand-card h2 em { color: #91c8ed; font-weight: 450; }

.site-footer__brand-card > p {
  position: relative;
  z-index: 1;
  max-width: 390px;
  margin: 0;
  color: rgba(224, 232, 237, .63);
  font-size: .68rem;
  line-height: 1.65;
}

.site-footer__assurances {
  position: relative;
  z-index: 1;
  margin-top: 19px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.site-footer__assurances span {
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(207, 222, 232, .14);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(235, 241, 244, .73);
  background: rgba(255, 255, 255, .04);
  font-size: .51rem;
  font-weight: 750;
  letter-spacing: .025em;
}

.site-footer__assurances span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #5eb9ed;
  box-shadow: 0 0 0 3px rgba(94, 185, 237, .11);
}

.site-footer__directory {
  padding: 27px 26px 25px;
  border-radius: 27px 7px 27px 27px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  background: rgba(250, 252, 253, .57);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.site-footer__nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.site-footer__nav .site-footer__label { margin-bottom: 17px; }

.site-footer__nav a {
  position: relative;
  width: 100%;
  padding: 8px 13px 8px 0;
  border-bottom: 1px solid rgba(101, 117, 128, .13);
  color: #3b4954;
  font-size: .66rem;
  font-weight: 700;
  line-height: 1.3;
  transition: color .2s var(--ease), padding .22s var(--ease), border-color .2s var(--ease);
}

.site-footer__nav a::after {
  content: "";
  position: absolute;
  right: 1px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  opacity: .35;
  transform: translateY(-50%) rotate(45deg);
}

.site-footer__nav a:hover {
  padding-left: 5px;
  color: var(--blue-700);
  border-color: rgba(17, 116, 204, .28);
}

.site-footer__contact-card {
  padding: 27px 27px 24px;
  border-radius: 7px 27px 27px 27px;
  background: rgba(255, 255, 255, .72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.site-footer__address {
  margin-top: 15px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  font-style: normal;
}

.site-footer__contact-row {
  min-width: 0;
  min-height: 54px;
  padding: 9px 10px;
  border: 1px solid rgba(105, 121, 132, .15);
  border-radius: 13px 13px 4px 13px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #35434e;
  background: rgba(246, 248, 249, .7);
  transition: color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}

.site-footer__contact-row:first-child {
  grid-column: 1 / -1;
  min-height: 66px;
  background: linear-gradient(118deg, rgba(229, 235, 238, .74), rgba(247, 249, 250, .86));
}

a.site-footer__contact-row:hover {
  color: var(--blue-700);
  border-color: rgba(17, 116, 204, .28);
  background: #fff;
  transform: translateY(-1px);
}

.site-footer__contact-row > svg {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  fill: none;
  stroke: #4b83ac;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-footer__contact-row > span { min-width: 0; }
.site-footer__contact-row small,
.site-footer__contact-row strong { display: block; }
.site-footer__contact-row small {
  margin-bottom: 2px;
  color: #8a969e;
  font-size: .46rem;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}
.site-footer__contact-row strong {
  overflow-wrap: anywhere;
  color: inherit;
  font-size: .59rem;
  font-weight: 800;
  line-height: 1.35;
}

.site-footer__hours {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.site-footer__hours span {
  min-width: 0;
  padding: 8px 7px;
  border-top: 1px solid rgba(103, 120, 132, .2);
}

.site-footer__hours small,
.site-footer__hours strong { display: block; }
.site-footer__hours small {
  margin-bottom: 2px;
  color: #89959d;
  font-size: .43rem;
  font-weight: 750;
  line-height: 1.2;
}
.site-footer__hours strong {
  color: #3d4a54;
  font-size: .51rem;
  font-weight: 800;
  line-height: 1.25;
}

.site-footer__socials {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.site-footer__social {
  min-height: 31px;
  padding: 0 11px 0 9px;
  border: 1px solid rgba(97, 113, 124, .18);
  border-radius: 10px 10px 3px 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #45535e;
  background: rgba(242, 245, 246, .8);
  font-size: .5rem;
  font-weight: 800;
  letter-spacing: .03em;
  cursor: default;
}

.site-footer__social svg { width: 14px; height: 14px; }
.site-footer__social:first-child svg { fill: none; stroke: currentColor; stroke-width: 1.65; }
.site-footer__social:last-child svg { fill: currentColor; stroke: none; }

.site-footer__bottom {
  min-height: 64px;
  padding: 16px 0;
  border-top: 1px solid rgba(99, 115, 126, .22);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.site-footer__bottom p {
  margin: 0;
  color: #71808a;
  font-size: .58rem;
}

.site-footer__bottom div { display: flex; flex-wrap: wrap; gap: 20px; }
.site-footer__bottom a {
  color: #63727d;
  font-size: .58rem;
  font-weight: 700;
  transition: color .2s var(--ease);
}
.site-footer__bottom a:hover { color: var(--blue-700); }

/* Compact floating concierge. It leaves before the footer enters the viewport. */
.concierge-dock {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 45;
  width: 338px;
  height: 66px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px) scale(.97);
  transform-origin: right bottom;
  transition: opacity .3s var(--ease), transform .34s var(--ease), visibility .3s;
  visibility: hidden;
}

.concierge-dock.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  visibility: visible;
}

.concierge-dock.is-footer-near {
  opacity: 0;
  pointer-events: none;
  transform: translateY(13px) scale(.98);
  visibility: hidden;
}

.concierge-dock__status {
  position: absolute;
  left: 16px;
  top: -10px;
  z-index: 2;
  min-height: 20px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(237, 242, 245, .72);
  background: #202a33;
  box-shadow: 0 7px 15px rgba(13, 20, 26, .16);
  font-size: .43rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.concierge-dock__status i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #69dca7;
  box-shadow: 0 0 0 3px rgba(105, 220, 167, .11);
}

.concierge-dock__rail {
  height: 66px;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 21px 21px 6px 21px;
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 5px;
  color: #edf2f5;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, .045), transparent 44%),
    rgba(22, 29, 36, .94);
  box-shadow: 0 20px 48px rgba(10, 22, 32, .24), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.concierge-dock__call,
.concierge-dock__book {
  min-width: 0;
  border-radius: 15px 15px 4px 15px;
  display: flex;
  align-items: center;
  text-align: left;
}

.concierge-dock__call {
  padding: 0 9px;
  gap: 9px;
  color: #edf2f5;
  background: rgba(255, 255, 255, .035);
  transition: background .22s var(--ease), transform .22s var(--ease);
}

.concierge-dock__call:hover {
  background: rgba(255, 255, 255, .085);
  transform: translateY(-1px);
}

.concierge-dock__icon {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 10px 10px 3px 10px;
  display: grid;
  place-items: center;
  color: #8ec7ed;
  background: rgba(255, 255, 255, .055);
}

.concierge-dock__icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.concierge-dock__copy { min-width: 0; display: block; }
.concierge-dock__copy small,
.concierge-dock__copy strong { display: block; white-space: nowrap; }
.concierge-dock__copy small {
  margin-bottom: 2px;
  color: rgba(224, 232, 237, .48);
  font-size: .43rem;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1;
  text-transform: uppercase;
}
.concierge-dock__copy strong {
  overflow: hidden;
  font-size: .64rem;
  font-weight: 820;
  letter-spacing: -.01em;
  line-height: 1.15;
  text-overflow: ellipsis;
}

.concierge-dock__book {
  padding: 0 7px 0 13px;
  border: 0;
  justify-content: space-between;
  gap: 8px;
  color: #172837;
  background: linear-gradient(135deg, #f8fafb 0%, #e4e9ec 100%);
  box-shadow: inset 0 1px 0 #fff, 0 7px 19px rgba(2, 14, 24, .15);
  cursor: pointer;
  transition: color .22s var(--ease), background .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);
}

.concierge-dock__book .concierge-dock__copy small { color: #75838d; }

.concierge-dock__book:hover {
  color: #fff;
  background: linear-gradient(135deg, #0d639f 0%, #258fd1 100%);
  box-shadow: 0 9px 24px rgba(22, 113, 177, .26), inset 0 1px 0 rgba(255, 255, 255, .24);
  transform: translateY(-1px);
}

.concierge-dock__book:hover .concierge-dock__copy small { color: rgba(255, 255, 255, .64); }

.concierge-dock__arrow {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: #175f93;
  transition: color .22s var(--ease), background .22s var(--ease), transform .25s var(--ease);
}

.concierge-dock__book:hover .concierge-dock__arrow {
  color: #175f93;
  background: #fff;
  transform: translateX(2px);
}

.concierge-dock__arrow svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
}

@media (max-width: 1080px) {
  .site-footer__ledger {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .site-footer__directory {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 700px) {
  .site-footer__signal-inner { min-height: 52px; }
  .site-footer__signal-inner > span { font-size: .49rem; letter-spacing: .12em; }
  .site-footer__signal-inner > a small { display: none; }
  .site-footer__signal-inner > a strong { font-size: .68rem; }

  .site-footer__ledger {
    padding: 28px 0 25px;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .site-footer__brand-card,
  .site-footer__directory,
  .site-footer__contact-card { border-radius: 22px 22px 6px 22px; }
  .site-footer__brand-card { padding: 23px 22px 22px; }
  .site-footer__logo { right: 18px; top: 18px; width: 96px; }
  .site-footer__brand-card > .site-footer__label { max-width: calc(100% - 105px); }
  .site-footer__brand-card h2 { margin-top: 40px; font-size: clamp(2.05rem, 10vw, 2.55rem); }
  .site-footer__brand-card > p { font-size: .65rem; }

  .site-footer__directory {
    grid-column: auto;
    grid-row: auto;
    padding: 23px 21px 21px;
    gap: 23px;
  }

  .site-footer__contact-card { padding: 23px 21px 21px; }
  .site-footer__address { grid-template-columns: 1fr; }
  .site-footer__contact-row:first-child { grid-column: auto; }
  .site-footer__contact-row { min-height: 51px; }
  .site-footer__hours span { padding-inline: 4px; }

  .site-footer__bottom {
    min-height: 0;
    padding: 18px 0 22px;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .concierge-dock {
    left: 50%;
    right: auto;
    bottom: max(9px, env(safe-area-inset-bottom));
    width: min(328px, calc(100vw - 16px));
    height: 62px;
    transform: translate(-50%, 16px) scale(.97);
    transform-origin: center bottom;
  }
  .concierge-dock.is-visible { transform: translate(-50%, 0) scale(1); }
  .concierge-dock.is-footer-near { transform: translate(-50%, 11px) scale(.98); }
  .concierge-dock__rail { height: 62px; padding: 5px; border-radius: 19px 19px 5px 19px; }
  .concierge-dock__status { left: 13px; top: -9px; min-height: 18px; padding-inline: 8px; font-size: .39rem; }
  .concierge-dock__call { padding-inline: 7px; gap: 7px; }
  .concierge-dock__icon { width: 29px; height: 29px; flex-basis: 29px; }
  .concierge-dock__book { padding-left: 10px; }
  .concierge-dock__copy small { font-size: .39rem; }
  .concierge-dock__copy strong { font-size: .59rem; }
  .concierge-dock__arrow { width: 24px; height: 24px; flex-basis: 24px; }
  .booking-notice { bottom: 78px; }
}

@media (max-width: 390px) {
  .site-footer__signal-inner > span { max-width: 155px; line-height: 1.3; }
  .site-footer__directory { grid-template-columns: 1fr 1fr; gap: 17px; }
  .site-footer__nav a { font-size: .61rem; }
  .site-footer__hours { grid-template-columns: 1fr 1fr; }
  .site-footer__hours span:last-child { grid-column: 1 / -1; }
  .concierge-dock { width: calc(100vw - 12px); }
  .concierge-dock__rail { grid-template-columns: 1.16fr .84fr; }
  .concierge-dock__icon { display: none; }
  .concierge-dock__call { padding-left: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .concierge-dock,
  .concierge-dock *,
  .site-footer a { transition-duration: .01ms !important; }
}

/* ==========================================================
   KINFIX V8 — UNIFIED GRAPHITE FOOTER
   One continuous architectural surface; no card mosaic.
   ========================================================== */

.site-footer {
  position: relative;
  overflow: hidden;
  color: #dce3e7;
  border-top: 1px solid rgba(181, 197, 207, .36);
  background:
    radial-gradient(circle at 89% 16%, rgba(61, 145, 202, .15), transparent 31%),
    radial-gradient(circle at 8% 92%, rgba(255, 255, 255, .045), transparent 28%),
    linear-gradient(122deg, #151c22 0%, #1e2830 54%, #172129 100%);
  isolation: isolate;
}

.site-footer::before {
  content: "KINFIX";
  position: absolute;
  right: -1.5vw;
  bottom: 17px;
  left: auto;
  z-index: -1;
  color: rgba(210, 222, 230, .025);
  font-size: clamp(8rem, 17vw, 16rem);
  font-weight: 850;
  letter-spacing: -.105em;
  line-height: .67;
  pointer-events: none;
}

.site-footer::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .34;
  background-image:
    linear-gradient(rgba(226, 235, 240, .028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(226, 235, 240, .028) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(90deg, transparent 2%, #000 38%, #000 100%);
  pointer-events: none;
}

.site-footer__signal {
  position: relative;
  color: #eef2f4;
  border-bottom: 1px solid rgba(206, 219, 227, .12);
  background: rgba(6, 12, 17, .16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

.site-footer__signal::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(174, 204, 224, .52) 22%, rgba(58, 151, 215, .76) 64%, transparent);
}

.site-footer__signal-inner { min-height: 58px; }

.site-footer__signal-inner > span {
  color: rgba(227, 235, 240, .62);
  font-size: .56rem;
  letter-spacing: .18em;
}

.site-footer__signal-inner > span i {
  background: #68dca8;
  box-shadow: 0 0 0 5px rgba(104, 220, 168, .08), 0 0 19px rgba(104, 220, 168, .34);
}

.site-footer__signal-inner > a small { color: rgba(226, 234, 239, .39); }
.site-footer__signal-inner > a strong { color: #f4f7f8; }

.site-footer__ledger {
  position: relative;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(330px, 1.15fr) minmax(265px, .83fr) minmax(365px, 1.12fr);
  align-items: stretch;
  gap: 0;
}

.site-footer__ledger::before,
.site-footer__ledger::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.site-footer__ledger::before {
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(204, 218, 226, .15) 12%, rgba(204, 218, 226, .15) 88%, transparent);
}

.site-footer__ledger::after {
  right: 18%;
  top: 0;
  width: 280px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(88, 171, 225, .55), transparent);
}

.site-footer__brand-card,
.site-footer__directory,
.site-footer__contact-card {
  min-width: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  color: #dce3e7;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.site-footer__brand-card {
  padding: 45px 43px 43px 0;
  overflow: visible;
  border-right: 1px solid rgba(201, 214, 222, .12);
}

.site-footer__brand-card::after { display: none; }

.site-footer__logo {
  position: static;
  width: 122px;
  margin: 0 0 28px;
  padding: 8px 10px 7px;
  border-color: rgba(225, 233, 238, .64);
  border-radius: 11px 11px 3px 11px;
  display: block;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 13px 28px rgba(0, 0, 0, .17), inset 0 1px 0 #fff;
}

.site-footer__label {
  color: rgba(192, 205, 213, .54);
  font-size: .5rem;
  letter-spacing: .17em;
}

.site-footer__brand-card > .site-footer__label {
  max-width: none;
  color: rgba(196, 210, 218, .48);
}

.site-footer__brand-card h2 {
  margin: 15px 0 14px;
  color: #f4f7f8;
  font-size: clamp(2.1rem, 2.7vw, 2.72rem);
  line-height: .95;
}

.site-footer__brand-card h2 em { color: #86c3ea; }

.site-footer__brand-card > p {
  max-width: 405px;
  color: rgba(214, 224, 230, .57);
  font-size: .67rem;
  line-height: 1.68;
}

.site-footer__assurances { margin-top: 20px; gap: 8px; }

.site-footer__assurances span {
  min-height: 28px;
  padding-inline: 10px;
  border-color: rgba(213, 225, 232, .13);
  color: rgba(229, 236, 240, .71);
  background: rgba(255, 255, 255, .025);
}

.site-footer__directory {
  padding: 47px 38px 42px;
  border-right: 1px solid rgba(201, 214, 222, .12);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 33px;
}

.site-footer__nav .site-footer__label { margin-bottom: 20px; }

.site-footer__nav a {
  padding: 9px 13px 9px 0;
  border-bottom-color: rgba(208, 220, 227, .1);
  color: rgba(226, 233, 237, .72);
  font-size: .64rem;
  font-weight: 700;
}

.site-footer__nav a::after { opacity: .32; }

.site-footer__nav a:hover {
  color: #8bc8ed;
  border-color: rgba(100, 180, 230, .26);
}

.site-footer__contact-card { padding: 47px 0 41px 39px; }

.site-footer__address {
  margin-top: 20px;
  grid-template-columns: 1fr 1fr;
  gap: 0 19px;
}

.site-footer__contact-row,
.site-footer__contact-row:first-child {
  min-height: 61px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid rgba(205, 218, 226, .11);
  border-radius: 0;
  color: rgba(235, 240, 243, .83);
  background: transparent;
  transform: none;
}

.site-footer__contact-row:first-child {
  grid-column: 1 / -1;
  min-height: 70px;
  border-top: 1px solid rgba(205, 218, 226, .11);
}

a.site-footer__contact-row:hover {
  color: #8bc8ed;
  border-color: rgba(100, 180, 230, .3);
  background: transparent;
  transform: none;
}

.site-footer__contact-row > svg {
  width: 17px;
  height: 17px;
  flex-basis: 17px;
  stroke: #72b6e3;
}

.site-footer__contact-row small { color: rgba(184, 199, 208, .48); }
.site-footer__contact-row strong {
  color: inherit;
  font-size: .58rem;
}

.site-footer__hours {
  margin-top: 13px;
  gap: 0;
}

.site-footer__hours span {
  padding: 9px 12px 8px;
  border-top: 0;
  border-right: 1px solid rgba(205, 218, 226, .1);
}

.site-footer__hours span:first-child { padding-left: 0; }
.site-footer__hours span:last-child { border-right: 0; }
.site-footer__hours small { color: rgba(184, 199, 208, .46); }
.site-footer__hours strong { color: rgba(234, 239, 242, .76); }

.site-footer__socials { margin-top: 16px; gap: 8px; }

.site-footer__social {
  min-height: 33px;
  padding: 0 12px 0 10px;
  border-color: rgba(210, 222, 230, .14);
  border-radius: 999px;
  color: rgba(229, 236, 240, .7);
  background: rgba(255, 255, 255, .025);
}

.site-footer__bottom {
  min-height: 65px;
  padding: 17px 0;
  border-top: 0;
}

.site-footer__bottom p { color: rgba(190, 203, 211, .48); }
.site-footer__bottom a { color: rgba(207, 217, 223, .59); }
.site-footer__bottom a:hover { color: #8bc8ed; }

@media (max-width: 1080px) {
  .site-footer__ledger {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .site-footer__brand-card {
    padding-right: 38px;
    border-right: 1px solid rgba(201, 214, 222, .12);
  }

  .site-footer__contact-card { padding-left: 38px; }

  .site-footer__directory {
    grid-column: 1 / -1;
    grid-row: 2;
    padding: 31px 0 35px;
    border-top: 1px solid rgba(201, 214, 222, .12);
    border-right: 0;
    gap: 44px;
  }
}

@media (max-width: 700px) {
  .site-footer::before {
    right: -8px;
    bottom: 30px;
    font-size: 7.7rem;
  }

  .site-footer__signal-inner { min-height: 53px; }

  .site-footer__ledger {
    grid-template-columns: 1fr;
  }

  .site-footer__brand-card,
  .site-footer__directory,
  .site-footer__contact-card {
    padding: 31px 0;
    border: 0;
    border-bottom: 1px solid rgba(201, 214, 222, .12);
  }

  .site-footer__logo { width: 108px; margin-bottom: 23px; }
  .site-footer__brand-card h2 { font-size: clamp(2.1rem, 10vw, 2.55rem); }

  .site-footer__directory {
    grid-column: auto;
    grid-row: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 27px;
  }

  .site-footer__contact-card { padding-bottom: 29px; }
  .site-footer__address { grid-template-columns: 1fr; }
  .site-footer__contact-row:first-child { grid-column: auto; }
  .site-footer__hours span { padding-inline: 8px; }
  .site-footer__hours span:first-child { padding-left: 0; }

  .site-footer__bottom {
    padding: 20px 0 23px;
    gap: 11px;
  }
}

@media (max-width: 390px) {
  .site-footer__directory { gap: 18px; }
  .site-footer__hours { grid-template-columns: 1fr 1fr; }
  .site-footer__hours span:last-child {
    grid-column: 1 / -1;
    padding-left: 0;
    border-top: 1px solid rgba(205, 218, 226, .1);
  }
}

/* ==========================================================
   KINFIX V9 — LIGHT GRAPHITE / SILVER FOOTER
   A quiet continuation of the page rather than a dark band.
   ========================================================== */

.site-footer {
  color: #34424c;
  border-top-color: rgba(108, 126, 138, .34);
  background:
    radial-gradient(circle at 89% 16%, rgba(64, 151, 207, .12), transparent 31%),
    radial-gradient(circle at 8% 92%, rgba(255, 255, 255, .6), transparent 29%),
    linear-gradient(124deg, #edf0f2 0%, #dfe4e7 54%, #d5dce0 100%);
}

.site-footer::before { color: rgba(44, 62, 74, .035); }

.site-footer::after {
  opacity: .42;
  background-image:
    linear-gradient(rgba(68, 87, 99, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(68, 87, 99, .045) 1px, transparent 1px);
}

.site-footer__signal {
  color: #35444f;
  border-bottom-color: rgba(98, 116, 128, .2);
  background: rgba(255, 255, 255, .25);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82);
}

.site-footer__signal::before {
  background: linear-gradient(90deg, transparent, rgba(135, 158, 173, .52) 22%, rgba(55, 139, 194, .62) 64%, transparent);
}

.site-footer__signal-inner > span { color: #62717b; }

.site-footer__signal-inner > span i {
  background: #4dbd8d;
  box-shadow: 0 0 0 5px rgba(77, 189, 141, .1), 0 0 17px rgba(77, 189, 141, .26);
}

.site-footer__signal-inner > a small { color: #82909a; }
.site-footer__signal-inner > a strong { color: #2d3b45; }
.site-footer__signal-inner > a:hover strong { color: var(--blue-700); }

.site-footer__ledger::before {
  background: linear-gradient(90deg, transparent, rgba(94, 113, 126, .24) 12%, rgba(94, 113, 126, .24) 88%, transparent);
}

.site-footer__ledger::after {
  background: linear-gradient(90deg, transparent, rgba(51, 137, 193, .46), transparent);
}

.site-footer__brand-card,
.site-footer__directory,
.site-footer__contact-card {
  color: #35434d;
  background: transparent;
}

.site-footer__brand-card,
.site-footer__directory { border-right-color: rgba(91, 110, 122, .27); }

.site-footer__logo {
  width: 142px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.site-footer__label { color: #71808a; }
.site-footer__brand-card > .site-footer__label { color: #76858f; }

.site-footer__brand-card h2 { color: #263640; }
.site-footer__brand-card h2 em { color: #2f7daa; }

.site-footer__brand-card > p { color: #596974; }

.site-footer__assurances span {
  border-color: rgba(104, 124, 137, .28);
  color: #53636e;
  background: rgba(255, 255, 255, .28);
}

.site-footer__assurances span::before {
  background: #438fbd;
  box-shadow: 0 0 0 3px rgba(67, 143, 189, .11);
}

.site-footer__nav a {
  border-bottom-color: rgba(94, 113, 126, .2);
  color: #43525c;
}

.site-footer__nav a:hover {
  color: #176ca8;
  border-color: rgba(23, 108, 168, .3);
}

.site-footer__contact-row,
.site-footer__contact-row:first-child {
  border-bottom-color: rgba(94, 113, 126, .22);
  color: #3d4c56;
}

.site-footer__contact-row:first-child { border-top-color: rgba(94, 113, 126, .22); }

a.site-footer__contact-row:hover {
  color: #176ca8;
  border-color: rgba(23, 108, 168, .33);
}

.site-footer__contact-row > svg { stroke: #2f80b4; }
.site-footer__contact-row small { color: #7a8993; }

.site-footer__hours span { border-right-color: rgba(94, 113, 126, .2); }
.site-footer__hours small { color: #7a8993; }
.site-footer__hours strong { color: #42515b; }

.site-footer__social {
  border-color: rgba(95, 115, 128, .26);
  color: #4a5963;
  background: rgba(255, 255, 255, .26);
}

.site-footer__bottom p { color: #6e7d87; }
.site-footer__bottom a { color: #5d6c76; }
.site-footer__bottom a:hover { color: #176ca8; }

@media (max-width: 1080px) {
  .site-footer__brand-card { border-right-color: rgba(91, 110, 122, .27); }
  .site-footer__directory { border-top-color: rgba(91, 110, 122, .27); }
}

@media (max-width: 700px) {
  .site-footer__brand-card,
  .site-footer__directory,
  .site-footer__contact-card { border-bottom-color: rgba(91, 110, 122, .27); }
}

@media (max-width: 390px) {
  .site-footer__hours span:last-child { border-top-color: rgba(94, 113, 126, .2); }
}

/* ==========================================================
   KINFIX V10 — PLATINUM SERVICE DESK
   A single light, architectural footer with restrained blue.
   ========================================================== */

.site-footer--platinum {
  position: relative;
  overflow: hidden;
  border-top: 0;
  color: #38434a;
  background:
    radial-gradient(circle at 92% 4%, rgba(43, 132, 188, .085), transparent 27%),
    radial-gradient(circle at 6% 110%, rgba(255, 255, 255, .7), transparent 31%),
    linear-gradient(118deg, #f3f2ef 0%, #eaebe9 48%, #dfe3e5 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
  isolation: isolate;
}

.site-footer--platinum::before {
  content: none !important;
  display: none !important;
}

.site-footer--platinum::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .7;
  background:
    linear-gradient(105deg, transparent 0 66%, rgba(255, 255, 255, .29) 66% 66.08%, transparent 66.08%),
    radial-gradient(ellipse at 72% 38%, rgba(255, 255, 255, .42), transparent 36%);
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000);
  pointer-events: none;
}

.site-footer__inner {
  position: relative;
  z-index: 1;
}

.site-footer__mast {
  min-height: 176px;
  padding: 37px 0 32px;
  display: grid;
  grid-template-columns: 172px minmax(0, 1fr) 296px;
  align-items: center;
  gap: clamp(34px, 4.2vw, 66px);
}

.site-footer__brand-mark {
  width: 154px;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: block;
  background: transparent;
  box-shadow: none;
}

.site-footer__brand-mark img {
  width: 100%;
  height: auto;
}

.site-footer__eyebrow {
  display: block;
  color: #687680;
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .17em;
  line-height: 1.25;
  text-transform: uppercase;
}

.site-footer__statement h2 {
  margin: 10px 0 0;
  color: #303c43;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(2.08rem, 2.75vw, 2.72rem);
  font-weight: 470;
  letter-spacing: -.035em;
  line-height: .94;
}

.site-footer__statement h2 em {
  color: #2775a6;
  font-weight: 430;
}

.site-footer__actions {
  width: 100%;
  justify-self: end;
}

.site-footer__book {
  width: 100%;
  min-height: 60px;
  padding: 10px 11px 10px 19px;
  border: 1px solid rgba(18, 93, 140, .16);
  border-radius: 18px 18px 5px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #fff;
  background: linear-gradient(135deg, #246f9d 0%, #1e7db6 52%, #2f8cc2 100%);
  box-shadow: 0 14px 28px rgba(24, 96, 141, .17), inset 0 1px 0 rgba(255, 255, 255, .24);
  text-align: left;
  cursor: pointer;
  transition: transform .24s var(--ease), box-shadow .24s var(--ease), filter .24s var(--ease);
}

.site-footer__book:hover {
  filter: saturate(1.08) brightness(1.03);
  box-shadow: 0 18px 34px rgba(24, 96, 141, .22), inset 0 1px 0 rgba(255, 255, 255, .28);
  transform: translateY(-2px);
}

.site-footer__book span,
.site-footer__book strong,
.site-footer__book small { display: block; }

.site-footer__book strong {
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.2;
}

.site-footer__book small {
  margin-top: 4px;
  color: rgba(255, 255, 255, .66);
  font-size: .49rem;
  font-weight: 650;
  letter-spacing: .02em;
  line-height: 1.2;
}

.site-footer__book > svg {
  width: 31px;
  height: 31px;
  padding: 8px;
  flex: 0 0 31px;
  border-radius: 50%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  background: rgba(255, 255, 255, .15);
  transition: transform .24s var(--ease), background .24s var(--ease);
}

.site-footer__book:hover > svg {
  background: rgba(255, 255, 255, .22);
  transform: translateX(2px);
}

.site-footer__phone {
  margin-top: 11px;
  padding-left: 2px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  color: #48565f;
}

.site-footer__phone small {
  color: #7a878f;
  font-size: .49rem;
  font-weight: 720;
  letter-spacing: .05em;
}

.site-footer__phone strong {
  font-size: .68rem;
  font-weight: 820;
  white-space: nowrap;
}

.site-footer__phone:hover strong { color: #196b9f; }

.site-footer__body {
  position: relative;
  padding: 32px 0 35px;
  display: grid;
  grid-template-columns: minmax(220px, .92fr) minmax(260px, .9fr) minmax(390px, 1.25fr);
  align-items: start;
  gap: clamp(36px, 4.2vw, 64px);
}

.site-footer__body::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(95, 111, 120, .2), rgba(95, 111, 120, .12) 66%, transparent);
}

.site-footer__intro > p {
  max-width: 330px;
  margin: 0;
  color: #59676f;
  font-size: .7rem;
  line-height: 1.7;
}

.site-footer__proof {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.site-footer__proof span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #4c5a63;
  font-size: .52rem;
  font-weight: 780;
}

.site-footer__proof span::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #3882ad;
  box-shadow: 0 0 0 3px rgba(56, 130, 173, .1);
}

.site-footer__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
}

.site-footer__linkgroup .site-footer__eyebrow { margin-bottom: 14px; }

.site-footer__linkgroup a {
  width: fit-content;
  margin: 0 0 7px;
  display: block;
  color: #46545d;
  font-size: .62rem;
  font-weight: 720;
  line-height: 1.4;
  transition: color .2s var(--ease), transform .2s var(--ease);
}

.site-footer__linkgroup a:hover {
  color: #176da3;
  transform: translateX(3px);
}

.site-footer__contact .site-footer__eyebrow { margin-bottom: 14px; }

.site-footer__contact-list {
  margin: 0;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 19px;
  font-style: normal;
}

.site-footer__contact-item {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #3f4d56;
}

.site-footer__contact-item > svg {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex: 0 0 16px;
  fill: none;
  stroke: #2b7eae;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-footer__contact-item small,
.site-footer__contact-item strong { display: block; }

.site-footer__contact-item small {
  margin-bottom: 3px;
  color: #7a878f;
  font-size: .45rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-footer__contact-item strong {
  overflow-wrap: anywhere;
  font-size: .57rem;
  font-weight: 760;
  line-height: 1.45;
}

a.site-footer__contact-item:hover { color: #176da3; }

.site-footer__hours-line {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(94, 110, 119, .15);
  display: flex;
  flex-wrap: wrap;
  gap: 7px 0;
  color: #79858c;
  font-size: .47rem;
  line-height: 1.35;
}

.site-footer__hours-line span {
  padding: 0 13px;
  border-right: 1px solid rgba(91, 108, 117, .16);
}

.site-footer__hours-line span:first-child { padding-left: 0; }
.site-footer__hours-line span:last-child { padding-right: 0; border-right: 0; }
.site-footer__hours-line strong { color: #4a5861; font-weight: 800; }

.site-footer--platinum .site-footer__socials {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.site-footer--platinum .site-footer__social {
  min-height: 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #52616a;
  background: transparent;
  font-size: .52rem;
  font-weight: 760;
  letter-spacing: .01em;
}

.site-footer--platinum .site-footer__social svg {
  width: 27px;
  height: 27px;
  padding: 7px;
  border-radius: 50%;
  color: #2c6f98;
  background: rgba(255, 255, 255, .52);
  box-shadow: inset 0 0 0 1px rgba(88, 108, 119, .13);
}

.site-footer--platinum .site-footer__social:first-child svg { fill: none; stroke: currentColor; stroke-width: 1.65; }
.site-footer--platinum .site-footer__social:last-child svg { fill: currentColor; stroke: none; }

.site-footer--platinum .site-footer__bottom {
  min-height: 57px;
  padding: 15px 0 17px;
  border-top: 1px solid rgba(94, 110, 119, .16);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.site-footer--platinum .site-footer__bottom p {
  margin: 0;
  color: #747f86;
  font-size: .53rem;
}

.site-footer--platinum .site-footer__bottom div {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.site-footer--platinum .site-footer__bottom a {
  color: #637078;
  font-size: .53rem;
  font-weight: 700;
  transition: color .2s var(--ease);
}

.site-footer--platinum .site-footer__bottom a:hover { color: #176da3; }

@media (max-width: 1080px) {
  .site-footer__mast {
    grid-template-columns: 145px minmax(0, 1fr) 270px;
    gap: 32px;
  }

  .site-footer__brand-mark { width: 137px; }
  .site-footer__statement h2 { font-size: clamp(1.95rem, 3.45vw, 2.45rem); }

  .site-footer__body {
    grid-template-columns: minmax(210px, .8fr) minmax(245px, .9fr) minmax(315px, 1.1fr);
    gap: 31px;
  }

  .site-footer__contact-list { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 820px) {
  .site-footer__mast {
    padding: 32px 0 29px;
    grid-template-columns: 130px minmax(0, 1fr);
    align-items: start;
    gap: 28px;
  }

  .site-footer__actions {
    grid-column: 1 / -1;
    width: min(100%, 420px);
    justify-self: start;
  }

  .site-footer__body {
    grid-template-columns: 1fr 1fr;
    gap: 34px 42px;
  }

  .site-footer__contact { grid-column: 1 / -1; }
  .site-footer__contact-list { grid-template-columns: .8fr 1.2fr; }
}

@media (max-width: 600px) {
  .site-footer--platinum {
    background:
      radial-gradient(circle at 92% 5%, rgba(43, 132, 188, .09), transparent 29%),
      linear-gradient(150deg, #f3f2ef 0%, #e5e7e7 100%);
  }

  .site-footer--platinum::after { display: none; }

  .site-footer__mast {
    min-height: 0;
    padding: 31px 0 28px;
    grid-template-columns: 1fr;
    gap: 21px;
  }

  .site-footer__brand-mark { width: 128px; }
  .site-footer__statement h2 { font-size: clamp(2rem, 10vw, 2.55rem); }
  .site-footer__actions { grid-column: auto; width: 100%; }
  .site-footer__book { min-height: 58px; border-radius: 17px 17px 5px 17px; }

  .site-footer__body {
    padding: 28px 0 30px;
    grid-template-columns: 1fr;
    gap: 29px;
  }

  .site-footer__intro > p { max-width: 440px; font-size: .67rem; }
  .site-footer__links { gap: 24px; }
  .site-footer__contact { grid-column: auto; }
  .site-footer__contact-list { grid-template-columns: 1fr; gap: 14px; }
  .site-footer__hours-line { gap: 7px 0; }

  .site-footer--platinum .site-footer__bottom {
    min-height: 0;
    padding: 18px 0 22px;
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }
}

@media (max-width: 390px) {
  .site-footer__links { grid-template-columns: 1fr 1fr; gap: 18px; }
  .site-footer__hours-line { display: grid; grid-template-columns: 1fr 1fr; }
  .site-footer__hours-line span { padding: 0 9px; }
  .site-footer__hours-line span:nth-child(2) { border-right: 0; }
  .site-footer__hours-line span:last-child { grid-column: 1 / -1; padding: 7px 0 0; border-top: 1px solid rgba(91, 108, 117, .14); }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer--platinum a,
  .site-footer--platinum button { transition-duration: .01ms !important; }
}

/* ==========================================================
   BRANDS CTA V2 — CONCIERGE ACTION PAIR
   Premium two-line controls matched to the KinFix header.
   ========================================================== */

.brands-booking__copy > .brands-booking__actions {
  margin-top: 27px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: 10px;
}

.brands-booking__action {
  position: relative;
  min-width: 0;
  min-height: 65px;
  padding: 7px;
  border-radius: 19px 19px 6px 19px;
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  overflow: hidden;
  text-align: left;
  line-height: 1;
  cursor: pointer;
  transition: transform .26s var(--ease), border-color .26s var(--ease), background .26s var(--ease), box-shadow .26s var(--ease);
}

.brands-booking__action::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(118deg, rgba(255,255,255,.16), transparent 34%, transparent 72%, rgba(255,255,255,.08));
}

.brands-booking__action--book {
  grid-template-columns: 43px minmax(0, 1fr) 29px;
  color: #0a3455;
  border: 1px solid rgba(255,255,255,.72);
  background: linear-gradient(145deg, rgba(255,255,255,.99) 0%, rgba(238,245,249,.97) 100%);
  box-shadow: 0 17px 35px rgba(0,17,31,.23), inset 0 1px 0 #fff;
}

.brands-booking__action--call {
  color: #f1f7fa;
  border: 1px solid rgba(210,232,245,.29);
  background: linear-gradient(135deg, rgba(10,40,62,.79), rgba(20,69,99,.58));
  box-shadow: 0 15px 31px rgba(0,14,27,.18), inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.brands-booking__action-icon,
.brands-booking__action-arrow {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
}

.brands-booking__action-icon {
  width: 43px;
  height: 43px;
  border-radius: 13px 13px 4px 13px;
}

.brands-booking__action--book .brands-booking__action-icon {
  color: #eaf7ff;
  border: 1px solid rgba(255,255,255,.2);
  background: linear-gradient(135deg, #0c4e7d, #1684c4);
  box-shadow: 0 8px 18px rgba(10,80,125,.2), inset 0 1px 0 rgba(255,255,255,.22);
}

.brands-booking__action--call .brands-booking__action-icon {
  color: #a9dcf8;
  border: 1px solid rgba(191,226,246,.2);
  background: rgba(255,255,255,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.brands-booking__action-icon svg,
.brands-booking__action-arrow svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.brands-booking__action-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: block;
}

.brands-booking__action-copy small,
.brands-booking__action-copy strong { display: block; }

.brands-booking__action-copy small {
  margin-bottom: 5px;
  font-size: .42rem;
  font-weight: 820;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
}

.brands-booking__action-copy strong {
  overflow: hidden;
  font-size: .66rem;
  font-weight: 820;
  letter-spacing: -.015em;
  line-height: 1.16;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brands-booking__action--book .brands-booking__action-copy small { color: #758997; }
.brands-booking__action--call .brands-booking__action-copy small { color: rgba(220,237,247,.56); }

.brands-booking__action-arrow {
  width: 29px;
  height: 29px;
  border-radius: 50%;
  color: #fff;
  background: #176fa7;
  box-shadow: 0 6px 13px rgba(10,76,117,.2);
  transition: color .24s var(--ease), background .24s var(--ease), transform .24s var(--ease);
}

.brands-booking__action-arrow svg { width: 13px; height: 13px; }

.brands-booking__action:hover { transform: translateY(-2px); }
.brands-booking__action--book:hover {
  border-color: #fff;
  background: #fff;
  box-shadow: 0 21px 41px rgba(0,17,31,.28), inset 0 1px 0 #fff;
}
.brands-booking__action--book:hover .brands-booking__action-arrow {
  color: #176fa7;
  background: #e4f2fa;
  transform: translateX(2px);
}
.brands-booking__action--call:hover {
  border-color: rgba(176,222,248,.45);
  background: linear-gradient(135deg, rgba(11,50,77,.88), rgba(24,88,126,.68));
  box-shadow: 0 19px 37px rgba(0,14,27,.23), inset 0 1px 0 rgba(255,255,255,.12);
}

.brands-booking__action:focus-visible {
  outline: 3px solid rgba(118,206,253,.5);
  outline-offset: 3px;
}

.brands-booking__action:active { transform: translateY(0); }

@media (max-width: 700px) {
  .brands-booking__copy > .brands-booking__actions {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .brands-booking__action { width: 100%; min-height: 62px; }
}

@media (max-width: 390px) {
  .brands-booking__action { grid-template-columns: 40px minmax(0, 1fr); }
  .brands-booking__action--book { grid-template-columns: 40px minmax(0, 1fr) 27px; }
  .brands-booking__action-icon { width: 40px; height: 40px; }
  .brands-booking__action-arrow { width: 27px; height: 27px; }
  .brands-booking__action-copy strong { font-size: .63rem; }
}

@media (prefers-reduced-motion: reduce) {
  .brands-booking__action,
  .brands-booking__action-arrow { transition-duration: .01ms !important; }
}

/* ==========================================================
   BRANDS CTA V4 — SINGLE CONCIERGE RAIL
   One composed action surface instead of two competing cards.
   ========================================================== */

.brands-booking {
  position: relative;
  padding-bottom: 0;
}

.brands-booking::after {
  content: "";
  height: clamp(66px, 5.4vw, 84px);
  display: block;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(44, 116, 158, .075), transparent 57%),
    linear-gradient(180deg, #f5f8f9 0%, #edf0f0 54%, #f3f2ef 100%);
  pointer-events: none;
}

.brands-booking__copy > .brands-booking__actions {
  width: min(100%, 486px);
  margin-top: 27px;
  padding: 5px;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: 0;
  border: 1px solid rgba(197, 226, 242, .25);
  border-radius: 18px 18px 5px 18px;
  background: linear-gradient(118deg, rgba(6, 34, 52, .58), rgba(17, 54, 77, .38));
  box-shadow: 0 17px 34px rgba(0, 19, 33, .2), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.brands-booking__action {
  min-height: 52px;
  padding: 8px 14px;
  border: 0;
  border-radius: 13px 13px 4px 13px;
  display: flex;
  align-items: center;
  gap: 11px;
  box-shadow: none;
}

.brands-booking__action::before { display: none; }

.brands-booking__action--book {
  color: #124b70;
  background: linear-gradient(135deg, rgba(248, 252, 253, .98), rgba(220, 239, 248, .96));
  box-shadow: 0 9px 23px rgba(0, 21, 36, .18), inset 0 1px 0 #fff;
}

.brands-booking__action--call {
  padding-left: 18px;
  border-left: 1px solid rgba(209, 232, 244, .18);
  border-radius: 0 13px 4px 0;
  color: #eff7fa;
  background: transparent;
}

.brands-booking__action--call .brands-booking__action-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 0;
  border-radius: 0;
  color: #8ed3f6;
  background: transparent;
  box-shadow: none;
}

.brands-booking__action-icon svg { width: 18px; height: 18px; }
.brands-booking__action-copy { flex: 1; }

.brands-booking__action-copy small {
  margin-bottom: 5px;
  font-size: .42rem;
  letter-spacing: .12em;
}

.brands-booking__action-copy strong {
  font-size: .7rem;
  letter-spacing: -.012em;
}

.brands-booking__action--book .brands-booking__action-copy small { color: #718591; }
.brands-booking__action--call .brands-booking__action-copy small { color: rgba(218, 237, 247, .56); }

.brands-booking__action-arrow {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  color: #176f9f;
  background: transparent;
  box-shadow: none;
}

.brands-booking__action-arrow svg { width: 14px; height: 14px; }

.brands-booking__action--book:hover {
  color: #0d4569;
  background: linear-gradient(135deg, #fff, #e4f4fb);
  box-shadow: 0 13px 28px rgba(0, 21, 36, .23), inset 0 1px 0 #fff;
}

.brands-booking__action--book:hover .brands-booking__action-arrow {
  color: #0d6697;
  background: transparent;
  transform: translateX(3px);
}

.brands-booking__action--call:hover {
  color: #fff;
  background: rgba(109, 190, 232, .08);
  box-shadow: none;
}

.brands-booking__assurance {
  width: min(100%, 486px);
  margin-top: 13px;
  display: flex;
  align-items: center;
  gap: 0;
  color: rgba(220, 235, 243, .55);
  font-size: .46rem;
  font-weight: 720;
  letter-spacing: .035em;
  line-height: 1.3;
}

.brands-booking__assurance span {
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-right: 1px solid rgba(206, 229, 242, .17);
}

.brands-booking__assurance span:first-child { padding-left: 2px; }
.brands-booking__assurance span:last-child { padding-right: 0; border-right: 0; }

.brands-booking__assurance i {
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: #67d8a1;
  box-shadow: 0 0 0 4px rgba(103, 216, 161, .09);
}

@media (max-width: 700px) {
  .brands-booking::after { height: 56px; }

  .brands-booking__copy > .brands-booking__actions {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .brands-booking__action { width: 100%; min-height: 52px; }
  .brands-booking__action--call {
    padding-left: 14px;
    border-top: 1px solid rgba(209, 232, 244, .16);
    border-left: 0;
    border-radius: 4px 4px 12px 12px;
  }
}

@media (max-width: 390px) {
  .brands-booking__action,
  .brands-booking__action--book { display: flex; }
  .brands-booking__assurance { align-items: flex-start; flex-direction: column; gap: 7px; }
  .brands-booking__assurance span { padding: 0 0 0 2px; border-right: 0; }
}

/* ==========================================================
   FOOTER V11 — BALANCED THREE-COLUMN LOWER GRID
   Centered column rhythm, compact action and clearer type.
   ========================================================== */

.site-footer--platinum .site-footer__mast {
  min-height: 164px;
  padding: 33px 0 28px;
  grid-template-columns: 160px minmax(0, 1fr) 270px;
  gap: clamp(30px, 4vw, 60px);
}

.site-footer--platinum .site-footer__brand-mark { width: 148px; }

.site-footer--platinum .site-footer__actions {
  width: 270px;
  max-width: 100%;
}

.site-footer--platinum .site-footer__book {
  min-height: 54px;
  padding: 8px 9px 8px 17px;
  border-radius: 16px 16px 5px 16px;
  box-shadow: 0 11px 23px rgba(24, 96, 141, .15), inset 0 1px 0 rgba(255, 255, 255, .24);
}

.site-footer--platinum .site-footer__book > svg {
  width: 29px;
  height: 29px;
  flex-basis: 29px;
}

.site-footer--platinum .site-footer__phone { margin-top: 9px; }

.site-footer--platinum .site-footer__body {
  padding: 32px 0 34px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(44px, 5.4vw, 86px);
}

.site-footer--platinum .site-footer__intro {
  width: min(100%, 355px);
  justify-self: start;
}

.site-footer--platinum .site-footer__intro > p {
  max-width: 355px;
  font-size: .72rem;
  line-height: 1.65;
}

.site-footer--platinum .site-footer__links {
  width: min(100%, 320px);
  justify-self: center;
  grid-template-columns: repeat(2, minmax(112px, 1fr));
  gap: 42px;
}

.site-footer--platinum .site-footer__linkgroup a {
  margin-bottom: 8px;
  font-size: .65rem;
}

.site-footer--platinum .site-footer__contact {
  width: min(100%, 520px);
  justify-self: end;
}

.site-footer--platinum .site-footer__contact-list {
  grid-template-columns: minmax(175px, .92fr) minmax(205px, 1.08fr);
  gap: 26px;
}

.site-footer--platinum .site-footer__contact-item strong {
  overflow-wrap: normal;
  font-size: .61rem;
  line-height: 1.42;
}

.site-footer--platinum a.site-footer__contact-item strong { white-space: nowrap; }
.site-footer--platinum .site-footer__hours-line { font-size: .5rem; }
.site-footer--platinum .site-footer__social { font-size: .55rem; }

@media (max-width: 1080px) {
  .site-footer--platinum .site-footer__mast {
    grid-template-columns: 140px minmax(0, 1fr) 248px;
    gap: 28px;
  }

  .site-footer--platinum .site-footer__brand-mark { width: 136px; }
  .site-footer--platinum .site-footer__actions { width: 248px; }
  .site-footer--platinum .site-footer__body { gap: 28px; }
  .site-footer--platinum .site-footer__links { width: 100%; gap: 24px; }
  .site-footer--platinum .site-footer__contact { width: 100%; }
  .site-footer--platinum .site-footer__contact-list { grid-template-columns: 1fr; gap: 12px; }
  .site-footer--platinum a.site-footer__contact-item strong { white-space: normal; }
}

/* ==========================================================
   BRANDS HERO V5 — FULL-BLEED PHOTOGRAPHIC INTRODUCTION
   A compact cinematic hero with no card, frame or split panel.
   ========================================================== */

.brands-hero {
  position: relative;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #071d2e;
}

.brands-hero::before { content: none; display: none; }

.brands-hero__frame {
  position: relative;
  width: 100%;
  max-width: none;
  min-height: clamp(560px, 68vh, 700px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: block;
  overflow: hidden;
  background: #071d2e;
  box-shadow: none;
  isolation: isolate;
}

.brands-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  min-width: 0;
  min-height: 0;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  background: #071d2e;
}

.brands-hero__media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
  transition: transform 1.1s var(--ease);
}

.brands-hero__frame:hover .brands-hero__media > img { transform: scale(1.008); }

.brands-hero__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(3, 17, 29, .96) 0%, rgba(4, 24, 39, .89) 27%, rgba(5, 31, 50, .57) 47%, rgba(5, 31, 50, .2) 67%, rgba(5, 31, 50, .06) 100%),
    linear-gradient(0deg, rgba(3, 17, 29, .31), transparent 58%);
}

.brands-hero__copy {
  position: relative;
  z-index: 2;
  width: min(100%, 1240px);
  min-height: inherit;
  margin: 0 auto;
  padding: clamp(52px, 5.6vw, 78px) 54px;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  background: transparent;
}

.brands-hero__eyebrow {
  color: #8ed8fb;
  font-size: .55rem;
  letter-spacing: .15em;
}

.brands-hero__eyebrow i {
  background: #57d7a0;
  box-shadow: 0 0 0 5px rgba(87, 215, 160, .11);
}

.brands-hero h1 {
  max-width: 650px;
  margin: 18px 0 16px;
  color: #fff;
  font-size: clamp(3.15rem, 5vw, 4.8rem);
  line-height: .93;
  letter-spacing: -.062em;
  text-wrap: balance;
}

.brands-hero h1 em {
  color: #97ddff;
  font-weight: 430;
}

.brands-hero__copy > p {
  max-width: 555px;
  margin: 0;
  color: rgba(235, 244, 249, .72);
  font-size: .81rem;
  line-height: 1.68;
}

.brands-hero__actions {
  width: min(100%, 465px);
  margin-top: 25px;
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(185px, .84fr);
  gap: 8px;
}

.brands-hero__primary,
.brands-hero__call {
  position: relative;
  min-width: 0;
  min-height: 57px;
  padding: 6px;
  border-radius: 17px;
  display: grid;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  text-align: left;
  line-height: 1;
  transition: transform .24s var(--ease), background .24s var(--ease), border-color .24s var(--ease), box-shadow .24s var(--ease);
}

.brands-hero__primary {
  grid-template-columns: 41px minmax(0, 1fr) 27px;
  color: #fff;
  border: 1px solid rgba(87, 179, 235, .42);
  background: linear-gradient(118deg, #082f53 0%, #0b68a7 55%, #1b91d8 100%);
  box-shadow: 0 14px 29px rgba(0, 22, 38, .28), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.brands-hero__primary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(112deg, rgba(255, 255, 255, .13), transparent 34%, transparent 75%, rgba(255, 255, 255, .07));
  pointer-events: none;
}

.brands-hero__call {
  grid-template-columns: 41px minmax(0, 1fr);
  color: #edf7fb;
  border: 1px solid rgba(200, 228, 243, .27);
  background: rgba(7, 35, 54, .53);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 11px 25px rgba(0, 17, 30, .15);
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
}

.brands-hero__action-icon,
.brands-hero__action-arrow,
.brands-hero__action-copy { position: relative; z-index: 1; }

.brands-hero__action-icon {
  width: 41px;
  height: 41px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: #dff4ff;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .09);
}

.brands-hero__call .brands-hero__action-icon {
  color: #9edafa;
  background: rgba(255, 255, 255, .055);
}

.brands-hero__action-icon svg,
.brands-hero__action-arrow svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.brands-hero__action-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}

.brands-hero__action-copy small {
  color: rgba(224, 243, 255, .61);
  font-size: .42rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.brands-hero__action-copy strong {
  overflow: hidden;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brands-hero__action-arrow {
  width: 27px;
  height: 27px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #0b669e;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 5px 12px rgba(0, 22, 38, .19);
  transition: transform .24s var(--ease), background .24s var(--ease);
}

.brands-hero__action-arrow svg { width: 13px; height: 13px; }
.brands-hero__primary:hover { transform: translateY(-2px); background: linear-gradient(118deg, #082b4c, #0b70b3 55%, #269ce5); box-shadow: 0 18px 34px rgba(0, 22, 38, .33), inset 0 1px 0 rgba(255, 255, 255, .2); }
.brands-hero__primary:hover .brands-hero__action-arrow { transform: translateX(2px); background: #fff; }
.brands-hero__call:hover { transform: translateY(-2px); border-color: rgba(174, 220, 245, .43); background: rgba(13, 53, 78, .67); }
.brands-hero__primary:focus-visible,
.brands-hero__call:focus-visible { outline: 2px solid #85d5fa; outline-offset: 3px; }

.brands-hero__facts {
  width: min(100%, 485px);
  margin-top: 25px;
  padding-top: 17px;
  border-top: 1px solid rgba(205, 229, 241, .19);
  gap: 16px;
}

.brands-hero__facts span { gap: 7px; }
.brands-hero__facts strong { color: #8fdbff; font-size: 1.05rem; }
.brands-hero__facts small { color: rgba(224, 238, 246, .58); }
.brands-hero__facts > i { height: 22px; background: rgba(205, 229, 241, .18); }

/* Brands final CTA: stable hover state and optically centered labels. */
.brands-booking__action { transform: none !important; }

.brands-booking__action--book {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 22px;
}

.brands-booking__action--book::before {
  content: "";
  position: static;
  width: 22px;
  height: 1px;
  display: block;
  opacity: 0;
  background: none;
}

.brands-booking__action--call {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
}

.brands-booking__action--call::after {
  content: "";
  width: 20px;
  height: 1px;
  display: block;
}

.brands-booking__action-copy { text-align: center; }
.brands-booking__action:hover { transform: none !important; outline: 0; }
.brands-booking__action--book:hover { box-shadow: 0 9px 23px rgba(0, 21, 36, .18), inset 0 1px 0 #fff; }
.brands-booking__action--call:hover { box-shadow: none; }
.brands-booking__action:focus-visible { outline: 0; }
.brands-booking__action--book:focus-visible { box-shadow: 0 9px 23px rgba(0, 21, 36, .18), inset 0 0 0 2px #76c9ef; }
.brands-booking__action--call:focus-visible { box-shadow: inset 0 0 0 2px rgba(130, 207, 245, .78); }

@media (max-width: 980px) {
  .brands-hero__frame { min-height: 620px; }
  .brands-hero__copy { min-height: inherit; padding: 55px 38px; }
  .brands-hero__media { min-height: 0; border-radius: 0; }
  .brands-hero__media > img { object-position: 58% center; }
  .brands-hero__veil {
    background:
      linear-gradient(90deg, rgba(3, 17, 29, .97) 0%, rgba(4, 24, 39, .9) 34%, rgba(5, 31, 50, .58) 61%, rgba(5, 31, 50, .13) 100%),
      linear-gradient(0deg, rgba(3, 17, 29, .38), transparent 58%);
  }
}

@media (max-width: 700px) {
  .brands-hero { padding: 0; }
  .brands-hero__frame { min-height: 660px; padding: 0; border-radius: 0; }
  .brands-hero__copy {
    min-height: inherit;
    padding: 185px 20px 34px;
    border-radius: 0;
    justify-content: flex-end;
  }
  .brands-hero__media { min-height: 0; border-radius: 0; }
  .brands-hero__media > img { object-position: 66% center; }
  .brands-hero__veil {
    background:
      linear-gradient(0deg, rgba(3, 17, 29, .98) 0%, rgba(4, 24, 39, .86) 51%, rgba(5, 31, 50, .17) 100%),
      linear-gradient(90deg, rgba(3, 17, 29, .78), rgba(5, 31, 50, .08));
  }
  .brands-hero h1 { margin-top: 16px; font-size: clamp(2.65rem, 12vw, 3.45rem); }
  .brands-hero__copy > p { max-width: 520px; font-size: .74rem; }
  .brands-hero__actions { width: 100%; grid-template-columns: 1fr; }
  .brands-hero__primary,
  .brands-hero__call { width: 100%; min-height: 54px; }
  .brands-hero__facts { margin-top: 21px; padding-top: 15px; gap: 10px; }
  .brands-hero__facts span { gap: 5px; }
  .brands-hero__facts small { font-size: .41rem; }

  .brands-booking__action--book { display: grid; }
  .brands-booking__action--call { display: grid; }
}

@media (max-width: 390px) {
  .brands-hero__copy { padding-inline: 17px; }
  .brands-hero__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .brands-hero__facts > i { display: none; }
  .brands-hero__facts span { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .brands-hero__media > img,
  .brands-hero__primary,
  .brands-hero__call,
  .brands-hero__action-arrow { transition-duration: .01ms !important; transform: none !important; }
}

@media (max-width: 820px) {
  .site-footer--platinum .site-footer__mast {
    grid-template-columns: 128px minmax(0, 1fr);
    align-items: start;
  }

  .site-footer--platinum .site-footer__actions {
    width: min(100%, 300px);
    grid-column: 1 / -1;
    justify-self: start;
  }

  .site-footer--platinum .site-footer__body {
    grid-template-columns: 1fr 1fr;
    gap: 33px 42px;
  }

  .site-footer--platinum .site-footer__intro,
  .site-footer--platinum .site-footer__links,
  .site-footer--platinum .site-footer__contact { width: 100%; justify-self: stretch; }

  .site-footer--platinum .site-footer__contact { grid-column: 1 / -1; }
  .site-footer--platinum .site-footer__contact-list { grid-template-columns: .85fr 1.15fr; gap: 24px; }
  .site-footer--platinum a.site-footer__contact-item strong { white-space: nowrap; }
}

@media (max-width: 600px) {
  .site-footer--platinum .site-footer__mast {
    min-height: 0;
    padding: 30px 0 27px;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .site-footer--platinum .site-footer__brand-mark { width: 126px; }
  .site-footer--platinum .site-footer__actions { width: min(100%, 290px); grid-column: auto; }
  .site-footer--platinum .site-footer__book { min-height: 52px; }

  .site-footer--platinum .site-footer__body {
    padding: 27px 0 29px;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .site-footer--platinum .site-footer__intro,
  .site-footer--platinum .site-footer__links,
  .site-footer--platinum .site-footer__contact { grid-column: auto; }

  .site-footer--platinum .site-footer__links { width: min(100%, 320px); }
  .site-footer--platinum .site-footer__contact-list { grid-template-columns: 1fr; gap: 14px; }
  .site-footer--platinum a.site-footer__contact-item strong { white-space: normal; }
}

/* ==========================================================
   BRANDS TYPOGRAPHY V6 — ONE DISPLAY RHYTHM
   Mirrors the refined homepage hero scale across primary
   headings while preserving a clear component hierarchy.
   ========================================================== */

.brands-page {
  --brands-display-size: clamp(3rem, 3.55vw, 3.75rem);
  --brands-display-line: .94;
  --brands-display-tracking: -.06em;
}

.brands-page main .brands-hero h1,
.brands-page main .tier-library .premium-section-header h2,
.brands-page main .brands-booking__copy h2 {
  max-width: 650px;
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: var(--brands-display-size);
  font-weight: 740;
  line-height: var(--brands-display-line);
  letter-spacing: var(--brands-display-tracking);
}

.brands-page main .brands-hero h1 em,
.brands-page main .tier-library .premium-section-header h2 em,
.brands-page main .brands-booking__copy h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.brands-page main .brands-hero h1 { margin: 19px 0 14px; }
.brands-page main .tier-library .premium-section-header h2 { margin: 16px 0 0; }
.brands-page main .brands-booking__copy h2 { margin: 16px 0 14px; }

/* The CTA is one action rail; no dividing rule may appear on hover. */
.brands-booking__action--call,
.brands-booking__action--call:hover,
.brands-booking__action--call:focus-visible {
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
}

.brands-booking__action-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* ==========================================================
   FLOATING CONCIERGE V2 — PEARL / SILVER / KINFIX BLUE
   Shared by every page through the common stylesheet.
   ========================================================== */

.concierge-dock {
  width: 350px;
  height: 68px;
}

.concierge-dock__status {
  left: 17px;
  top: -10px;
  min-height: 21px;
  padding-inline: 10px;
  color: #476276;
  border-color: rgba(144, 170, 187, .48);
  background: rgba(248, 251, 252, .97);
  box-shadow: 0 8px 19px rgba(20, 55, 78, .1), inset 0 1px 0 #fff;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
}

.concierge-dock__status i {
  background: #35c987;
  box-shadow: 0 0 0 4px rgba(53, 201, 135, .12);
}

.concierge-dock__rail {
  height: 68px;
  padding: 6px;
  grid-template-columns: 1.08fr .92fr;
  gap: 6px;
  color: #17344a;
  border-color: rgba(143, 169, 186, .5);
  background:
    linear-gradient(118deg, rgba(255, 255, 255, .94), rgba(235, 241, 244, .92)),
    #f2f5f6;
  box-shadow: 0 19px 46px rgba(20, 54, 78, .17), inset 0 1px 0 #fff;
  backdrop-filter: blur(20px) saturate(1.12);
  -webkit-backdrop-filter: blur(20px) saturate(1.12);
}

.concierge-dock__call {
  padding-inline: 9px;
  gap: 9px;
  color: #173a55;
  border: 1px solid rgba(164, 187, 201, .34);
  background: linear-gradient(145deg, rgba(255, 255, 255, .86), rgba(233, 239, 242, .84));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.concierge-dock__call:hover {
  color: #0d5e94;
  border-color: rgba(72, 148, 197, .42);
  background: #fff;
  box-shadow: 0 8px 20px rgba(25, 76, 108, .1), inset 0 1px 0 #fff;
  transform: none;
}

.concierge-dock__icon {
  color: #1675ad;
  border-color: rgba(71, 147, 196, .23);
  background: linear-gradient(145deg, #f7fcff, #dceef8);
  box-shadow: inset 0 1px 0 #fff;
}

.concierge-dock__call .concierge-dock__copy small {
  color: #778996;
}

.concierge-dock__call .concierge-dock__copy strong {
  color: #173a55;
}

.concierge-dock__book {
  color: #fff;
  background: linear-gradient(135deg, #0a4e82 0%, #0e74b5 55%, #2996d6 100%);
  box-shadow: 0 9px 22px rgba(16, 103, 163, .24), inset 0 1px 0 rgba(255, 255, 255, .22);
}

.concierge-dock__book .concierge-dock__copy small {
  color: rgba(229, 244, 252, .7);
}

.concierge-dock__book:hover {
  color: #fff;
  background: linear-gradient(135deg, #093f6b 0%, #0c6ba9 52%, #218ccc 100%);
  box-shadow: 0 11px 26px rgba(16, 103, 163, .3), inset 0 1px 0 rgba(255, 255, 255, .24);
  transform: none;
}

.concierge-dock__book:hover .concierge-dock__copy small {
  color: rgba(235, 248, 255, .76);
}

.concierge-dock__arrow {
  color: #0b659f;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 5px 13px rgba(3, 45, 75, .19);
}

.concierge-dock__book:hover .concierge-dock__arrow {
  color: #0b5d93;
  background: #fff;
  transform: translateX(2px);
}

.concierge-dock__call:focus-visible,
.concierge-dock__book:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 0 2px #75c8ef, 0 8px 22px rgba(20, 85, 127, .14);
}

@media (max-width: 700px) {
  .brands-page { --brands-display-size: clamp(2.42rem, 10.4vw, 3rem); }

  .brands-page main .brands-hero h1,
  .brands-page main .tier-library .premium-section-header h2,
  .brands-page main .brands-booking__copy h2 {
    line-height: .95;
    letter-spacing: -.055em;
  }

  .concierge-dock {
    width: min(334px, calc(100vw - 16px));
    height: 64px;
  }

  .concierge-dock__rail {
    height: 64px;
    padding: 5px;
    gap: 5px;
  }

  .concierge-dock__status { left: 14px; top: -9px; min-height: 19px; }
}

@media (max-width: 390px) {
  .concierge-dock { width: calc(100vw - 12px); }
  .concierge-dock__rail { grid-template-columns: 1.12fr .88fr; }
  .concierge-dock__icon { display: none; }
  .concierge-dock__call { padding-left: 11px; }
}

/* ==========================================================
   HEADER V12 — LOGO / NAVIGATION / CALL
   A quieter three-part composition with no divider rails.
   ========================================================== */

.site-header--concierge .desktop-nav {
  padding-inline: 0;
  border-left: 0;
  border-right: 0;
}

.header-actions--concierge { gap: 0; }

.site-header--concierge .header-contact {
  width: 154px;
  box-shadow: 0 7px 18px rgba(8, 45, 85, .07), inset 0 1px 0 #fff;
}

@media (max-width: 1180px) {
  .site-header--concierge .desktop-nav { padding-inline: 0; }
  .site-header--concierge .header-contact { width: 147px; }
}

@media (max-width: 1080px) {
  .site-header--concierge .mobile-nav__actions {
    grid-template-columns: minmax(0, 390px);
    justify-content: end;
  }
}

@media (max-width: 700px) {
  .site-header--concierge .mobile-nav__actions {
    grid-template-columns: 1fr;
    justify-content: stretch;
  }
}

/* ==========================================================
   HOMEPAGE PRICING V14 — THE KINFIX PRICE ATELIER
   A quiet, interactive rate story in pearl, silver and graphite.
   ========================================================== */

.pricing-atelier-section {
  position: relative;
  padding: 70px 0 78px;
  overflow: hidden;
  border-top: 1px solid rgba(174, 190, 199, .45);
  border-bottom: 1px solid rgba(174, 190, 199, .45);
  background:
    radial-gradient(circle at 8% 16%, rgba(255, 255, 255, .95), transparent 26%),
    radial-gradient(circle at 91% 14%, rgba(44, 139, 197, .07), transparent 25%),
    linear-gradient(146deg, #f8f9f8 0%, #f0f3f3 56%, #e9eef0 100%);
  isolation: isolate;
}

.pricing-atelier-section::before {
  content: "";
  position: absolute;
  top: 0;
  right: 7%;
  width: 27%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #3b91c4, transparent);
  opacity: .75;
}

.pricing-atelier-section::after {
  content: "KFX / 08";
  position: absolute;
  right: -1.4rem;
  bottom: 1.25rem;
  z-index: -1;
  color: rgba(24, 48, 63, .035);
  font-size: clamp(5.5rem, 12vw, 10rem);
  font-weight: 800;
  line-height: .8;
  letter-spacing: -.08em;
  white-space: nowrap;
}

.pricing-atelier-intro {
  position: relative;
  max-width: 420px;
  min-height: 96px;
  padding: 4px 0 2px 56px;
  display: flex;
  align-items: flex-start;
}

.pricing-atelier-intro::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 49px;
  bottom: 4px;
  width: 1px;
  background: linear-gradient(#a9bbc5, transparent);
}

.pricing-atelier-intro__mark {
  position: absolute;
  left: 0;
  top: 0;
  width: 41px;
  height: 41px;
  border: 1px solid rgba(146, 167, 180, .62);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #146b9f;
  background: rgba(255, 255, 255, .7);
  box-shadow: 0 10px 25px rgba(37, 65, 82, .07), inset 0 1px 0 #fff;
}

.pricing-atelier-intro__mark svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.pricing-atelier-intro small {
  display: block;
  margin: 0 0 6px;
  color: #607786;
  font-size: .52rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pricing-atelier-intro p {
  margin: 0;
  color: #3e5361;
  font-size: .83rem;
  line-height: 1.6;
}

.pricing-atelier-intro .text-link {
  margin-top: 12px;
  color: #145f8e;
  font-size: .66rem;
}

.pricing-atelier {
  position: relative;
  width: min(1120px, 100%);
  margin-inline: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(142, 159, 169, .58);
  border-radius: 31px 31px 10px 31px;
  display: block;
  grid-template-columns: none;
  gap: 0;
  color: #172a36;
  background: rgba(252, 253, 253, .94);
  box-shadow: 0 27px 70px rgba(28, 52, 67, .115), inset 0 1px 0 #fff;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.pricing-atelier::before {
  content: "";
  position: absolute;
  left: 32px;
  right: 32px;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .95), transparent);
  pointer-events: none;
}

.pricing-atelier__topline {
  min-height: 45px;
  padding: 0 19px 0 23px;
  border-bottom: 1px solid rgba(184, 197, 204, .6);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #627783;
  background: linear-gradient(90deg, rgba(255, 255, 255, .98), rgba(238, 242, 243, .84));
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.pricing-atelier__signature,
.pricing-atelier__availability {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.pricing-atelier__signature > i {
  width: 17px;
  height: 2px;
  background: #187bb5;
  box-shadow: 7px 4px 0 -1px rgba(24, 123, 181, .34);
}

.pricing-atelier__availability .status-dot {
  width: 6px;
  height: 6px;
  flex-basis: 6px;
}

.pricing-atelier__choices {
  position: relative;
  z-index: 2;
  padding: 9px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  background: rgba(238, 242, 243, .7);
}

.pricing-atelier__choice {
  position: relative;
  min-width: 0;
  min-height: 76px;
  padding: 11px 13px;
  border: 1px solid transparent;
  border-radius: 17px 17px 5px 17px;
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  color: #415864;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);
}

.pricing-atelier__choice::after {
  content: "";
  position: absolute;
  left: 17px;
  right: calc(100% - 17px);
  bottom: 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #136fa8, #6eb9df);
  transition: right .35s var(--ease);
}

.pricing-atelier__choice:hover {
  color: #174d6e;
  background: rgba(255, 255, 255, .62);
}

.pricing-atelier__choice.is-active {
  color: #132c3c;
  border-color: rgba(151, 170, 181, .47);
  background: linear-gradient(145deg, #fff, #f4f6f6);
  box-shadow: 0 9px 24px rgba(30, 62, 81, .08), inset 0 1px 0 #fff;
  transform: translateY(-1px);
}

.pricing-atelier__choice.is-active::after { right: 17px; }

.pricing-atelier__choice:focus-visible {
  z-index: 3;
  outline: 2px solid rgba(29, 133, 193, .38);
  outline-offset: 1px;
}

.pricing-atelier__choice-icon {
  width: 35px;
  height: 35px;
  border: 1px solid rgba(157, 176, 187, .55);
  border-radius: 12px 12px 4px 12px;
  display: grid;
  place-items: center;
  color: #42728d;
  background: rgba(255, 255, 255, .65);
  transition: color .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
}

.pricing-atelier__choice.is-active .pricing-atelier__choice-icon {
  color: #fff;
  border-color: #176f9f;
  background: linear-gradient(145deg, #1b779f, #15577e);
}

.pricing-atelier__choice-icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
}

.pricing-atelier__choice > span:nth-child(2) {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.pricing-atelier__choice small {
  overflow: hidden;
  color: #82909a;
  font-size: .42rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.pricing-atelier__choice b {
  overflow: hidden;
  font-size: .59rem;
  font-weight: 750;
  letter-spacing: -.012em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pricing-atelier__choice > strong {
  color: #264959;
  font-size: 1.03rem;
  font-weight: 700;
  letter-spacing: -.05em;
  white-space: nowrap;
}

.pricing-atelier__choice > strong sup {
  margin-right: 1px;
  color: #66808e;
  font-size: .55em;
}

.pricing-atelier__choice.is-active > strong { color: #126b9e; }

.pricing-atelier__stage {
  position: relative;
  min-height: 246px;
  padding: clamp(28px, 3.5vw, 42px) clamp(27px, 4vw, 52px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 285px);
  align-items: center;
  gap: clamp(42px, 7vw, 88px);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .98) 0 66%, rgba(242, 245, 246, .88) 66% 100%);
  transition: opacity .18s ease, transform .18s ease;
}

.pricing-atelier__stage::before {
  content: "";
  position: absolute;
  left: 0;
  top: 26px;
  bottom: 26px;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(#8bc6e7, #176f9f 52%, #b9d9e9);
}

.pricing-atelier__stage.is-changing {
  opacity: .32;
  transform: translateY(5px);
}

.pricing-atelier__story { min-width: 0; }

.pricing-atelier__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #557484;
  font-size: .5rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pricing-atelier__eyebrow::before {
  content: "";
  width: 20px;
  height: 1px;
  background: #2c87b9;
}

.pricing-atelier__story h3 {
  max-width: 620px;
  margin: 12px 0 11px;
  color: #142633;
  font-size: clamp(2rem, 3.1vw, 2.9rem);
  font-weight: 720;
  line-height: .94;
  letter-spacing: -.058em;
}

.pricing-atelier__story h3 em {
  color: #2878a5;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.04em;
}

.pricing-atelier__story > p {
  max-width: 650px;
  margin: 0;
  color: #61717a;
  font-size: .72rem;
  line-height: 1.66;
}

.pricing-atelier__scope {
  max-width: 680px;
  margin-top: 17px;
  padding-top: 13px;
  border-top: 1px solid rgba(190, 201, 206, .7);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 13px;
}

.pricing-atelier__scope > span {
  color: #768993;
  font-size: .44rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.pricing-atelier__scope p {
  margin: 0;
  color: #3d5969;
  font-size: .57rem;
  font-weight: 650;
  line-height: 1.55;
}

.pricing-atelier__quote {
  position: relative;
  min-height: 180px;
  padding: 26px 26px 22px;
  overflow: hidden;
  border: 1px solid rgba(144, 162, 172, .65);
  border-radius: 24px 24px 7px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  color: #183341;
  background:
    radial-gradient(circle at 94% 5%, rgba(73, 161, 208, .14), transparent 35%),
    linear-gradient(145deg, #f9faf9, #e8edef);
  box-shadow: 0 17px 39px rgba(28, 57, 72, .09), inset 0 1px 0 #fff;
}

.pricing-atelier__quote::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -55px;
  width: 132px;
  height: 132px;
  border: 1px solid rgba(31, 115, 160, .13);
  border-radius: 50%;
  box-shadow: 0 0 0 25px rgba(31, 115, 160, .035), 0 0 0 50px rgba(31, 115, 160, .02);
}

.pricing-atelier__quote > span,
.pricing-atelier__quote > small {
  position: relative;
  z-index: 1;
  color: #728792;
  font-size: .46rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.pricing-atelier__quote > strong {
  position: relative;
  z-index: 1;
  margin: 3px 0 2px;
  color: #173849;
  font-size: clamp(4.2rem, 6.8vw, 6.15rem);
  font-weight: 630;
  line-height: .9;
  letter-spacing: -.095em;
}

.pricing-atelier__quote > strong sup {
  position: relative;
  top: -.53em;
  margin-right: 2px;
  color: #2788bb;
  font-size: .3em;
  letter-spacing: 0;
}

.pricing-atelier__quote > strong b { font: inherit; }

.pricing-atelier__quote > i {
  position: absolute;
  right: 17px;
  top: 15px;
  color: rgba(46, 78, 94, .22);
  font-size: .47rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .15em;
}

.pricing-atelier__footer {
  min-height: 72px;
  padding: 11px 13px 11px 21px;
  border-top: 1px solid rgba(177, 191, 198, .7);
  display: grid;
  grid-template-columns: minmax(228px, .82fr) auto minmax(260px, 1.08fr);
  align-items: center;
  gap: clamp(18px, 3vw, 38px);
  background: linear-gradient(90deg, #edf2f3, #fafbfb 60%, #f1f4f5);
}

.pricing-atelier__assurance { grid-column: 1; }
.pricing-atelier__actions { grid-column: 2; }
.pricing-atelier__footer > p { grid-column: 3; }

.pricing-atelier__assurance {
  min-height: 0;
  margin-top: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  background: transparent;
}

.pricing-atelier__assurance > svg {
  width: 31px;
  height: 31px;
  padding: 7px;
  flex: 0 0 31px;
  border: 1px solid rgba(33, 116, 160, .28);
  border-radius: 50%;
  fill: none;
  stroke: #176f9f;
  stroke-width: 1.6;
  background: rgba(255, 255, 255, .75);
}

.pricing-atelier__assurance span { display: grid; gap: 1px; }
.pricing-atelier__assurance small {
  color: #829099;
  font-size: .4rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.pricing-atelier__assurance strong { color: #294959; font-size: .59rem; }

.pricing-atelier__footer > p {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #687983;
  font-size: .53rem;
  line-height: 1.5;
}

.pricing-atelier__footer > p svg {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  fill: none;
  stroke: #2482b4;
  stroke-width: 2;
}

.pricing-atelier__actions {
  position: static;
  z-index: auto;
  margin-top: 0;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 11px;
}

.pricing-atelier__actions .pricing-atelier__book {
  min-height: 46px;
  padding-inline: 17px;
  border-color: #1c688f;
  border-radius: 15px 15px 5px 15px;
  color: #fff;
  background: linear-gradient(135deg, #244b60, #176f9f);
  box-shadow: 0 10px 24px rgba(25, 84, 116, .18), inset 0 1px 0 rgba(255, 255, 255, .18);
  font-size: .6rem;
}

.pricing-atelier__book:hover {
  box-shadow: 0 14px 29px rgba(25, 84, 116, .24), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.pricing-atelier__book svg { width: 16px; height: 16px; }

.pricing-atelier__actions > a {
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #315b70;
  background: transparent;
  font-size: .54rem;
  font-weight: 800;
  white-space: nowrap;
}

.pricing-atelier__actions > a svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: #1978aa;
  stroke-width: 1.8;
  transition: transform .25s var(--ease);
}

.pricing-atelier__actions > a:hover svg { transform: translateX(3px); }

@media (max-width: 1060px) {
  .pricing-atelier__choice { grid-template-columns: 32px minmax(0, 1fr); }
  .pricing-atelier__choice > strong {
    grid-column: 2;
    margin-top: -4px;
    font-size: .85rem;
  }
  .pricing-atelier__choice-icon { width: 32px; height: 32px; grid-row: 1 / 3; }
  .pricing-atelier__footer { grid-template-columns: minmax(220px, .8fr) minmax(0, 1fr); }
  .pricing-atelier__assurance { grid-column: 1; }
  .pricing-atelier__actions { grid-column: 2; justify-content: flex-end; }
  .pricing-atelier__footer > p { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 820px) {
  .pricing-atelier-section { padding: 56px 0 63px; }
  .pricing-atelier-intro { max-width: 620px; }
  .pricing-atelier__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-atelier__choice { min-height: 68px; grid-template-columns: 35px minmax(0, 1fr) auto; }
  .pricing-atelier__choice > strong { grid-column: auto; margin-top: 0; font-size: .96rem; }
  .pricing-atelier__choice-icon { width: 35px; height: 35px; grid-row: auto; }
  .pricing-atelier__stage { grid-template-columns: minmax(0, 1fr) minmax(190px, 225px); gap: 30px; }
  .pricing-atelier__story h3 { font-size: clamp(2rem, 5.6vw, 2.6rem); }
  .pricing-atelier__quote { min-height: 164px; padding: 22px; }
  .pricing-atelier__footer { grid-template-columns: 1fr; }
  .pricing-atelier__assurance { grid-column: 1; }
  .pricing-atelier__footer > p { display: none; }
  .pricing-atelier__actions { grid-column: 1; justify-content: flex-start; }
}

@media (max-width: 620px) {
  .pricing-atelier-section { padding: 50px 0 56px; }
  .pricing-atelier-section .premium-section-header { gap: 22px; margin-bottom: 26px; }
  .pricing-atelier-intro { min-height: 0; padding-left: 49px; }
  .pricing-atelier-intro::before { display: none; }
  .pricing-atelier-intro__mark { width: 36px; height: 36px; }
  .pricing-atelier { border-radius: 25px 25px 8px 25px; }
  .pricing-atelier__topline { padding-inline: 15px; }
  .pricing-atelier__availability { letter-spacing: .08em; }
  .pricing-atelier__choices { padding: 7px; gap: 5px; }
  .pricing-atelier__choice {
    min-height: 70px;
    padding: 9px 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
    border-radius: 14px 14px 4px 14px;
  }
  .pricing-atelier__choice-icon { display: none; }
  .pricing-atelier__choice > span:nth-child(2) { gap: 1px; }
  .pricing-atelier__choice small { font-size: .37rem; }
  .pricing-atelier__choice b { font-size: .54rem; }
  .pricing-atelier__choice > strong { font-size: .83rem; }
  .pricing-atelier__choice::after { left: 11px; }
  .pricing-atelier__choice.is-active::after { right: 11px; }
  .pricing-atelier__stage {
    min-height: 0;
    padding: 27px 20px 21px;
    grid-template-columns: 1fr;
    gap: 22px;
    background: #fff;
  }
  .pricing-atelier__story h3 { margin-block: 11px 10px; font-size: clamp(2rem, 10vw, 2.6rem); }
  .pricing-atelier__story > p { font-size: .69rem; }
  .pricing-atelier__scope { grid-template-columns: 1fr; gap: 4px; margin-top: 14px; padding-top: 11px; }
  .pricing-atelier__quote {
    min-height: 112px;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
  }
  .pricing-atelier__quote > span { align-self: end; }
  .pricing-atelier__quote > strong { grid-column: 2; grid-row: 1 / 3; font-size: 4.4rem; }
  .pricing-atelier__quote > small { align-self: start; }
  .pricing-atelier__quote > i { top: 11px; right: 12px; }
  .pricing-atelier__footer { padding: 13px; grid-template-columns: 1fr; gap: 12px; }
  .pricing-atelier__actions { width: 100%; justify-content: space-between; }
  .pricing-atelier__book { flex: 1; }
}

@media (max-width: 400px) {
  .pricing-atelier__availability { font-size: .4rem; }
  .pricing-atelier__signature { font-size: .41rem; letter-spacing: .1em; }
  .pricing-atelier__choice { min-height: 66px; padding-inline: 8px; }
  .pricing-atelier__choice small { display: none; }
  .pricing-atelier__choice b { font-size: .53rem; white-space: normal; line-height: 1.25; }
  .pricing-atelier__quote > strong { font-size: 3.9rem; }
  .pricing-atelier__actions > a span { display: none; }
  .pricing-atelier__actions > a { width: 43px; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .pricing-atelier__stage,
  .pricing-atelier__choice,
  .pricing-atelier__choice::after { transition: none !important; }
}

/* ==========================================================
   HOMEPAGE PRICING V15 — EDITORIAL DIAGNOSIS SCENE
   A single photographic composition with a compact rate ribbon.
   ========================================================== */

.home-pricing {
  position: relative;
  padding: 68px 0 76px;
  overflow: hidden;
  border-top: 1px solid rgba(177, 190, 198, .46);
  border-bottom: 1px solid rgba(177, 190, 198, .46);
  background:
    radial-gradient(circle at 92% 11%, rgba(91, 160, 197, .075), transparent 27%),
    linear-gradient(145deg, #fafafa 0%, #f2f4f4 56%, #e9edef 100%);
  isolation: isolate;
}

.home-pricing::before {
  content: "";
  position: absolute;
  left: 8%;
  top: 0;
  width: 30%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #4c9bc5, transparent);
}

.home-pricing::after {
  content: "08";
  position: absolute;
  right: -1.2rem;
  bottom: -.7rem;
  z-index: -1;
  color: rgba(32, 55, 68, .032);
  font-size: clamp(9rem, 17vw, 16rem);
  font-weight: 800;
  line-height: .72;
  letter-spacing: -.1em;
}

.home-pricing__principles {
  max-width: 430px;
  padding: 4px 0 3px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.home-pricing__principles > div {
  min-width: 0;
  padding: 2px 20px 2px 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.home-pricing__principles > div + div {
  padding: 2px 0 2px 20px;
  border-left: 1px solid rgba(157, 174, 184, .55);
}

.home-pricing__principles > div > span {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(147, 168, 180, .58);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #1977a9;
  background: rgba(255, 255, 255, .72);
  font-size: .45rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.home-pricing__principles p {
  min-width: 0;
  margin: 0;
  display: grid;
  gap: 4px;
}

.home-pricing__principles small {
  color: #80909a;
  font-size: .45rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.home-pricing__principles strong {
  color: #375160;
  font-size: .65rem;
  font-weight: 680;
  line-height: 1.45;
}

.pricing-scene {
  position: relative;
  width: min(1160px, 100%);
  min-height: 480px;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(133, 151, 161, .58);
  border-radius: 33px 33px 10px 33px;
  color: #172a36;
  background: #eef1f2;
  box-shadow: 0 29px 72px rgba(27, 50, 64, .14), inset 0 1px 0 rgba(255, 255, 255, .8);
  isolation: isolate;
}

.pricing-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .985) 0%, rgba(255, 255, 255, .955) 33%, rgba(255, 255, 255, .66) 51%, rgba(255, 255, 255, .08) 70%, rgba(255, 255, 255, .015) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .03) 50%, rgba(20, 38, 49, .13) 100%);
  pointer-events: none;
}

.pricing-scene::after {
  content: none;
}

.pricing-scene__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(.9) contrast(.98);
  transform: scale(1.005);
  transition: transform 1.1s var(--ease), filter .7s var(--ease);
}

.pricing-scene:hover .pricing-scene__image {
  filter: saturate(.96) contrast(1);
  transform: scale(1.014);
}

.pricing-scene__content {
  position: relative;
  z-index: 2;
  width: min(56%, 635px);
  min-height: 376px;
  padding: clamp(37px, 4.4vw, 53px) clamp(30px, 4.7vw, 57px) 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pricing-scene__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #567483;
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.pricing-scene__eyebrow i {
  width: 21px;
  height: 1px;
  background: #2383b6;
}

.pricing-scene__content h3 {
  max-width: 545px;
  margin: 13px 0 12px;
  color: #132631;
  font-size: clamp(2.28rem, 3.25vw, 3.05rem);
  font-weight: 720;
  line-height: .94;
  letter-spacing: -.06em;
}

.pricing-scene__content h3 em {
  display: inline-block;
  margin-top: 3px;
  color: #267dac;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.pricing-scene__content > p {
  max-width: 570px;
  margin: 0;
  color: #5d707b;
  font-size: .72rem;
  line-height: 1.66;
}

.pricing-scene__assurances {
  max-width: 585px;
  margin-top: 19px;
  padding-top: 16px;
  border-top: 1px solid rgba(164, 181, 190, .65);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.pricing-scene__assurances > span {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  column-gap: 9px;
}

.pricing-scene__assurances svg {
  width: 28px;
  height: 28px;
  padding: 6px;
  border: 1px solid rgba(85, 145, 177, .34);
  border-radius: 50%;
  grid-row: 1 / 3;
  fill: none;
  stroke: #1776a8;
  stroke-width: 1.7;
  background: rgba(255, 255, 255, .72);
}

.pricing-scene__assurances b {
  color: #2d4c5c;
  font-size: .58rem;
  line-height: 1.2;
}

.pricing-scene__assurances small {
  overflow: hidden;
  color: #84939b;
  font-size: .43rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pricing-scene__actions {
  margin-top: 21px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.pricing-scene__book {
  min-height: 48px;
  padding-inline: 18px;
  border-color: #315d73;
  border-radius: 15px 15px 5px 15px;
  color: #fff;
  background: linear-gradient(135deg, #2f4c5b, #176f9f);
  box-shadow: 0 12px 26px rgba(26, 75, 101, .2), inset 0 1px 0 rgba(255, 255, 255, .18);
  font-size: .62rem;
}

.pricing-scene__book:hover {
  box-shadow: 0 16px 31px rgba(26, 75, 101, .27), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.pricing-scene__book svg { width: 16px; height: 16px; }

.pricing-scene__actions > a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #285d77;
  font-size: .56rem;
  font-weight: 800;
  white-space: nowrap;
}

.pricing-scene__actions > a svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: #1775a6;
  stroke-width: 1.8;
  transition: transform .25s var(--ease);
}

.pricing-scene__actions > a:hover svg { transform: translateX(3px); }

.pricing-scene__rates {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  min-height: 104px;
  border-top: 1px solid rgba(133, 154, 166, .58);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: rgba(246, 248, 248, .93);
  box-shadow: 0 -12px 30px rgba(30, 55, 69, .055), inset 0 1px 0 rgba(255, 255, 255, .88);
  backdrop-filter: blur(18px) saturate(1.05);
  -webkit-backdrop-filter: blur(18px) saturate(1.05);
}

.pricing-scene__rate {
  position: relative;
  min-width: 0;
  padding: 16px clamp(14px, 2vw, 23px);
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  transition: background .3s var(--ease), transform .3s var(--ease);
}

.pricing-scene__rate + .pricing-scene__rate::before {
  content: "";
  position: absolute;
  left: 0;
  top: 21px;
  bottom: 21px;
  width: 1px;
  background: linear-gradient(transparent, rgba(145, 164, 175, .62), transparent);
}

.pricing-scene__rate::after {
  content: "";
  position: absolute;
  left: 23px;
  right: calc(100% - 23px);
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, #237fac, #84c7e6);
  transition: right .35s var(--ease);
}

.pricing-scene__rate:hover {
  z-index: 1;
  background: rgba(255, 255, 255, .78);
  transform: translateY(-2px);
}

.pricing-scene__rate:hover::after { right: 23px; }

.pricing-scene__rate > span {
  color: #85949c;
  font-size: .43rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.pricing-scene__rate p {
  min-width: 0;
  margin: 0;
  display: grid;
  gap: 2px;
}

.pricing-scene__rate small {
  overflow: hidden;
  color: #778a94;
  font-size: .41rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.pricing-scene__rate strong {
  overflow: hidden;
  color: #274857;
  font-size: .66rem;
  font-weight: 750;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pricing-scene__rate em {
  overflow: hidden;
  color: #87949b;
  font-size: .44rem;
  font-style: normal;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pricing-scene__rate > b {
  color: #1b536f;
  font-size: 1.38rem;
  font-weight: 720;
  line-height: 1;
  letter-spacing: -.055em;
  white-space: nowrap;
}

.pricing-scene__rate > b sup {
  margin-right: 1px;
  color: #4b829c;
  font-size: .48em;
  letter-spacing: 0;
}

@media (max-width: 1080px) {
  .pricing-scene { min-height: 510px; }
  .pricing-scene__content { width: 61%; min-height: 400px; }
  .pricing-scene__rate { grid-template-columns: 15px minmax(0, 1fr) auto; padding-inline: 15px; gap: 8px; }
  .pricing-scene__rate em { display: none; }
  .pricing-scene__rate > b { font-size: 1.2rem; }
}

@media (max-width: 820px) {
  .home-pricing { padding: 55px 0 62px; }
  .home-pricing__principles { max-width: 620px; }
  .pricing-scene { min-height: 596px; }
  .pricing-scene__content { width: 68%; min-height: 400px; padding-inline: 31px; }
  .pricing-scene__content h3 { font-size: clamp(2.25rem, 6vw, 2.85rem); }
  .pricing-scene__rates { min-height: 188px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-scene__rate { min-height: 94px; padding: 14px 18px; }
  .pricing-scene__rate:nth-child(3),
  .pricing-scene__rate:nth-child(4) { border-top: 1px solid rgba(158, 174, 183, .46); }
  .pricing-scene__rate:nth-child(3)::before { display: none; }
  .pricing-scene__rate::after { left: 18px; }
  .pricing-scene__rate:hover::after { right: 18px; }
}

@media (max-width: 700px) {
  .home-pricing { padding: 49px 0 56px; }
  .home-pricing .premium-section-header { gap: 21px; margin-bottom: 27px; }
  .home-pricing__principles { grid-template-columns: 1fr; gap: 12px; }
  .home-pricing__principles > div,
  .home-pricing__principles > div + div { padding: 0; border-left: 0; }
  .pricing-scene {
    min-height: 0;
    padding-top: 224px;
    border-radius: 27px 27px 8px 27px;
    background: #fff;
  }
  .pricing-scene::before {
    height: 225px;
    bottom: auto;
    background: linear-gradient(180deg, rgba(255, 255, 255, .02) 48%, rgba(20, 39, 50, .32) 100%);
  }
  .pricing-scene::after { right: 16px; top: 16px; color: rgba(255, 255, 255, .72); }
  .pricing-scene__image { height: 225px; object-position: 61% center; }
  .pricing-scene:hover .pricing-scene__image { transform: scale(1.005); }
  .pricing-scene__content {
    width: 100%;
    min-height: 0;
    padding: 27px 20px 25px;
    background: #fff;
  }
  .pricing-scene__content h3 { margin-block: 11px 10px; font-size: clamp(2.18rem, 10vw, 2.72rem); }
  .pricing-scene__content > p { font-size: .7rem; }
  .pricing-scene__assurances { gap: 11px; margin-top: 16px; padding-top: 14px; }
  .pricing-scene__assurances > span { grid-template-columns: 25px minmax(0, 1fr); column-gap: 7px; }
  .pricing-scene__assurances svg { width: 25px; height: 25px; padding: 5px; }
  .pricing-scene__assurances small { white-space: normal; }
  .pricing-scene__actions { margin-top: 19px; }
  .pricing-scene__rates {
    position: relative;
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: #f1f4f4;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .pricing-scene__rate { min-height: 91px; padding: 13px 12px; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 6px; }
  .pricing-scene__rate + .pricing-scene__rate::before { top: 17px; bottom: 17px; }
  .pricing-scene__rate:nth-child(3)::before { display: none; }
  .pricing-scene__rate:nth-child(3),
  .pricing-scene__rate:nth-child(4) { border-top: 1px solid rgba(158, 174, 183, .46); }
  .pricing-scene__rate small { font-size: .36rem; }
  .pricing-scene__rate strong { font-size: .55rem; white-space: normal; }
  .pricing-scene__rate > b { font-size: 1.04rem; }
}

@media (max-width: 430px) {
  .pricing-scene__assurances { grid-template-columns: 1fr; }
  .pricing-scene__actions { align-items: stretch; flex-direction: column; gap: 6px; }
  .pricing-scene__book { width: 100%; }
  .pricing-scene__actions > a { width: max-content; padding-inline: 3px; }
  .pricing-scene__rate > span { display: none; }
  .pricing-scene__rate { grid-template-columns: minmax(0, 1fr) auto; }
}

@media (prefers-reduced-motion: reduce) {
  .pricing-scene__image,
  .pricing-scene__rate,
  .pricing-scene__rate::after { transition: none !important; }
  .pricing-scene:hover .pricing-scene__image { transform: none; }
}

/* ==========================================================
   PRICING PAGE V2 — PHOTOGRAPHIC, COMPACT, CUSTOMER-LED
   Full-bleed introduction, editorial rate menu and one clear path.
   ========================================================== */

.pricing-page--refined {
  --pricing-display-size: clamp(3rem, 3.55vw, 3.75rem);
  --pricing-display-line: .94;
  --pricing-display-tracking: -.06em;
  background: #f5f7f8;
}

.pricing-page--refined main .pricing-page-hero h1,
.pricing-page--refined main .pricing-register-v2 .premium-section-header h2,
.pricing-page--refined main .decision-path .premium-section-header h2,
.pricing-page--refined main .pricing-booking__copy h2 {
  max-width: 650px;
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: var(--pricing-display-size);
  font-weight: 740;
  line-height: var(--pricing-display-line);
  letter-spacing: var(--pricing-display-tracking);
}

.pricing-page--refined main .pricing-page-hero h1 em,
.pricing-page--refined main .pricing-register-v2 .premium-section-header h2 em,
.pricing-page--refined main .decision-path .premium-section-header h2 em,
.pricing-page--refined main .pricing-booking__copy h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.pricing-page-hero {
  position: relative;
  min-height: clamp(560px, 67vh, 675px);
  overflow: hidden;
  color: #fff;
  background: #102a39;
  isolation: isolate;
}

.pricing-page-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
  overflow: hidden;
}

.pricing-page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.92) contrast(1.01);
  transition: transform 1.2s var(--ease), filter .8s var(--ease);
}

.pricing-page-hero:hover .pricing-page-hero__media img {
  filter: saturate(.98) contrast(1.02);
  transform: scale(1.008);
}

.pricing-page-hero__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 24, 37, .965) 0%, rgba(7, 32, 48, .91) 27%, rgba(9, 39, 57, .66) 46%, rgba(11, 47, 66, .22) 67%, rgba(12, 47, 63, .04) 100%),
    linear-gradient(0deg, rgba(5, 24, 37, .28), transparent 56%);
}

.pricing-page-hero__copy {
  position: relative;
  z-index: 2;
  min-height: inherit;
  padding: clamp(50px, 5.5vw, 76px) 54px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.pricing-page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #8fd6f7;
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.pricing-page-hero__eyebrow i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #59d4a0;
  box-shadow: 0 0 0 5px rgba(89, 212, 160, .11);
}

.pricing-page-hero h1 {
  margin: 19px 0 15px;
  color: #fff;
  text-wrap: balance;
}

.pricing-page-hero h1 em { color: #9bdcff; }

.pricing-page-hero__copy > p {
  max-width: 570px;
  margin: 0;
  color: rgba(235, 244, 248, .74);
  font-size: .81rem;
  line-height: 1.7;
}

.pricing-page-hero__actions {
  width: min(100%, 475px);
  margin-top: 25px;
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(190px, .86fr);
  gap: 8px;
}

.pricing-page-hero__action {
  position: relative;
  min-width: 0;
  min-height: 57px;
  padding: 6px;
  border-radius: 17px;
  display: grid;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  color: #eef8fc;
  font: inherit;
  text-align: left;
  line-height: 1;
  cursor: pointer;
  transition: transform .24s var(--ease), border-color .24s var(--ease), background .24s var(--ease), box-shadow .24s var(--ease);
}

.pricing-page-hero__action--book {
  grid-template-columns: 41px minmax(0, 1fr) 27px;
  border: 1px solid rgba(89, 180, 233, .43);
  background: linear-gradient(118deg, #082f53 0%, #0b68a7 55%, #1c92d8 100%);
  box-shadow: 0 14px 29px rgba(0, 22, 38, .29), inset 0 1px 0 rgba(255, 255, 255, .18);
}

.pricing-page-hero__action--book::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(112deg, rgba(255, 255, 255, .13), transparent 35%, transparent 76%, rgba(255, 255, 255, .07));
  pointer-events: none;
}

.pricing-page-hero__action--call {
  grid-template-columns: 41px minmax(0, 1fr);
  border: 1px solid rgba(204, 231, 244, .27);
  background: rgba(7, 35, 54, .52);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 11px 25px rgba(0, 17, 30, .15);
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
}

.pricing-page-hero__action-icon,
.pricing-page-hero__action-copy,
.pricing-page-hero__action-arrow { position: relative; z-index: 1; }

.pricing-page-hero__action-icon {
  width: 41px;
  height: 41px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 13px;
  display: grid;
  place-items: center;
  color: #dff4ff;
  background: rgba(255, 255, 255, .09);
}

.pricing-page-hero__action-icon svg,
.pricing-page-hero__action-arrow svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pricing-page-hero__action-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}

.pricing-page-hero__action-copy small {
  color: rgba(224, 243, 255, .61);
  font-size: .42rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pricing-page-hero__action-copy strong {
  overflow: hidden;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pricing-page-hero__action-arrow {
  width: 27px;
  height: 27px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #0b669e;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 5px 12px rgba(0, 22, 38, .19);
  transition: transform .24s var(--ease);
}

.pricing-page-hero__action--book:hover { transform: translateY(-2px); box-shadow: 0 18px 34px rgba(0, 22, 38, .34), inset 0 1px 0 rgba(255, 255, 255, .2); }
.pricing-page-hero__action--book:hover .pricing-page-hero__action-arrow { transform: translateX(2px); }
.pricing-page-hero__action--call:hover { transform: translateY(-2px); border-color: rgba(174, 220, 245, .43); background: rgba(13, 53, 78, .66); }
.pricing-page-hero__action:focus-visible { outline: 2px solid #85d5fa; outline-offset: 3px; }

.pricing-page-hero__facts {
  width: min(100%, 510px);
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid rgba(205, 229, 241, .19);
  display: flex;
  align-items: center;
  gap: 16px;
}

.pricing-page-hero__facts span { display: flex; align-items: baseline; gap: 7px; }
.pricing-page-hero__facts strong { color: #92dcff; font-size: .92rem; letter-spacing: -.035em; }
.pricing-page-hero__facts small { color: rgba(224, 238, 246, .58); font-size: .44rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pricing-page-hero__facts > i { width: 1px; height: 22px; background: rgba(205, 229, 241, .18); }

.pricing-register-v2 {
  position: relative;
  padding: 70px 0 78px;
  overflow: hidden;
  background:
    radial-gradient(circle at 96% 0%, rgba(48, 150, 210, .075), transparent 28%),
    linear-gradient(180deg, #fbfcfc 0%, #f2f5f6 100%);
}

.pricing-register-v2 .premium-section-header { margin-bottom: 31px; }

.pricing-register-v2__intro {
  min-height: 88px;
  padding: 16px 18px;
  border: 1px solid rgba(142, 169, 184, .46);
  border-radius: 22px 22px 7px 22px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 16px 34px rgba(27, 57, 74, .06), inset 0 1px 0 #fff;
}

.pricing-register-v2__intro > span {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(56, 137, 181, .3);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #1477ad;
  background: linear-gradient(145deg, #fff, #e9f3f7);
}

.pricing-register-v2__intro svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.pricing-register-v2__intro div { display: grid; gap: 5px; }
.pricing-register-v2__intro small { color: #35708f; font-size: .46rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.pricing-register-v2__intro p { margin: 0; color: #617581; font-size: .67rem; line-height: 1.55; }

.price-ledger {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr);
  gap: 12px;
}

.service-rate {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(136, 162, 177, .46);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 23px 56px rgba(22, 54, 72, .075), inset 0 1px 0 #fff;
  scroll-margin-top: calc(var(--header-height) + 24px);
}

.service-rate--feature {
  min-height: 548px;
  border-radius: 32px 12px 12px 32px;
  display: grid;
  grid-template-rows: 236px minmax(0, 1fr);
}

.service-rate__media { margin: 0; overflow: hidden; background: #e7ecee; }
.service-rate__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease), filter .6s var(--ease); }
.service-rate:hover .service-rate__media img { transform: scale(1.018); filter: saturate(.95); }
.service-rate--feature .service-rate__media img { object-position: center 52%; }

.service-rate__body { min-width: 0; }
.service-rate--feature .service-rate__body {
  padding: 25px 24px 24px 29px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 142px;
  grid-template-rows: auto auto auto 1fr auto;
  align-content: center;
  column-gap: 23px;
}

.service-rate--feature .service-rate__label,
.service-rate--feature .service-rate__body > h3,
.service-rate--feature .service-rate__body > p,
.service-rate--feature .service-rate__appliances,
.service-rate--feature .service-rate__included { grid-column: 1; }

.service-rate__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #1475ae;
  font-size: .47rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.service-rate__label svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.service-rate__body h3 { margin: 11px 0 8px; color: #173b50; font-size: clamp(1.75rem, 2.25vw, 2.25rem); line-height: 1; letter-spacing: -.052em; }
.service-rate__body > p { max-width: 530px; margin: 0; color: #687b86; font-size: .68rem; line-height: 1.65; }

.service-rate__appliances {
  margin: 17px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-self: start;
  align-items: center;
  gap: 7px;
  list-style: none;
}

.service-rate__appliances li {
  min-height: 29px;
  padding: 0 10px;
  border: 1px solid #d7e3e9;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #466579;
  background: #f8fafb;
  font-size: .48rem;
  font-weight: 750;
}

.service-rate__included {
  margin-top: 17px;
  padding-top: 15px;
  border-top: 1px solid #dce5e9;
  align-self: end;
  display: flex;
  align-items: center;
  gap: 9px;
}

.service-rate__included > svg {
  width: 27px;
  height: 27px;
  padding: 6px;
  flex: 0 0 27px;
  border: 1px solid rgba(55, 133, 176, .27);
  border-radius: 50%;
  fill: none;
  stroke: #1478b0;
  stroke-width: 1.9;
  background: #f8fbfc;
}

.service-rate__included > span { display: grid; gap: 3px; }
.service-rate__included small { color: #7f909a; font-size: .41rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.service-rate__included strong { color: #3c5e71; font-size: .51rem; line-height: 1.4; }

.service-rate__price { line-height: 1; }
.service-rate--feature .service-rate__price {
  min-width: 0;
  padding-left: 23px;
  border-left: 1px solid #dce5e9;
  grid-column: 2;
  grid-row: 1 / 6;
  display: flex;
  align-self: stretch;
  align-items: flex-end;
  justify-content: center;
  flex-direction: column;
  gap: 9px;
}
.service-rate--feature .service-rate__price > span { display: grid; justify-items: end; gap: 8px; }
.service-rate--feature .service-rate__price small { padding-bottom: 0; }
.service-rate--feature .service-rate__price em { padding-bottom: 0; text-align: right; }
.service-rate__price > span { display: flex; align-items: flex-end; gap: 9px; }
.service-rate__price small { padding-bottom: 6px; color: #80919b; font-size: .44rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.service-rate__price strong { color: #0c659e; font-size: 3.05rem; font-weight: 680; letter-spacing: -.08em; }
.service-rate__price sup { position: relative; top: -.52em; margin-right: 2px; color: #57a2cc; font-size: .33em; }
.service-rate__price em { padding-bottom: 6px; color: #78909d; font-size: .46rem; font-style: normal; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

.price-ledger__stack { display: grid; gap: 12px; }

.service-rate--compact {
  min-height: 174px;
  border-radius: 12px 30px 10px 12px;
  display: grid;
  grid-template-columns: 146px minmax(0, 1fr) 112px;
  align-items: stretch;
}

.service-rate--compact .service-rate__media { min-height: 172px; }
.service-rate--compact .service-rate__media img { object-position: center; }
.service-rate--compact .service-rate__body { padding: 22px 19px; display: flex; flex-direction: column; justify-content: center; }
.service-rate--compact .service-rate__body h3 { margin: 8px 0 6px; font-size: 1.24rem; }
.service-rate--compact .service-rate__body > p { font-size: .57rem; line-height: 1.55; }
.service-rate--compact .service-rate__price { padding: 19px 18px 19px 12px; border-left: 1px solid #dce5e9; display: grid; align-content: center; justify-items: end; }
.service-rate--compact .service-rate__price > span { display: grid; justify-items: end; gap: 7px; }
.service-rate--compact .service-rate__price small { padding: 0; }
.service-rate--compact .service-rate__price strong { font-size: 2.25rem; }

.price-ledger__foot {
  min-height: 82px;
  padding: 14px 15px 14px 20px;
  border: 1px solid rgba(136, 162, 177, .46);
  border-radius: 13px 13px 29px 13px;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  background: linear-gradient(100deg, rgba(236, 245, 248, .96), rgba(255, 255, 255, .98));
  box-shadow: 0 17px 38px rgba(22, 54, 72, .055), inset 0 1px 0 #fff;
}

.price-ledger__foot p { margin: 0; display: flex; align-items: center; gap: 11px; color: #6a7e8a; }
.price-ledger__foot p > svg { width: 29px; height: 29px; padding: 6px; flex: 0 0 29px; border: 1px solid rgba(55, 133, 176, .27); border-radius: 50%; fill: none; stroke: #1478b0; stroke-width: 1.65; background: #fff; }
.price-ledger__foot p span { display: grid; gap: 3px; }
.price-ledger__foot p strong { color: #28536a; font-size: .61rem; }
.price-ledger__foot p small { color: #758995; font-size: .52rem; line-height: 1.5; }
.price-ledger__foot button {
  min-height: 48px;
  padding: 0 8px 0 17px;
  border: 1px solid #296c91;
  border-radius: 15px 15px 5px 15px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
  background: linear-gradient(130deg, #2f4e5d, #1874a7);
  box-shadow: 0 12px 26px rgba(25, 79, 108, .19), inset 0 1px 0 rgba(255, 255, 255, .17);
  font-size: .58rem;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
.price-ledger__foot button svg { width: 29px; height: 29px; padding: 8px; border-radius: 50%; fill: none; stroke: #1a6d99; stroke-width: 1.9; background: #fff; transition: transform .25s var(--ease); }
.price-ledger__foot button:hover svg { transform: translateX(2px); }
.price-ledger__foot button:focus-visible { outline: 2px solid #2b90c6; outline-offset: 3px; }

.decision-path {
  position: relative;
  padding: 70px 0 76px;
  overflow: hidden;
  border-top: 1px solid rgba(177, 192, 201, .45);
  background:
    radial-gradient(circle at 91% 3%, rgba(74, 158, 204, .1), transparent 27%),
    linear-gradient(180deg, #eef3f5 0%, #f8fafb 100%);
}

.decision-path .premium-section-header { margin-bottom: 30px; }

.decision-path__promise {
  min-height: 76px;
  padding: 13px 16px;
  border: 1px solid rgba(143, 169, 184, .48);
  border-radius: 21px 21px 7px 21px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, .74);
  box-shadow: 0 15px 32px rgba(29, 59, 75, .055), inset 0 1px 0 #fff;
}

.decision-path__promise > svg { width: 38px; height: 38px; padding: 9px; flex: 0 0 38px; border-radius: 50%; fill: none; stroke: #1478b2; stroke-width: 1.65; background: linear-gradient(145deg, #fff, #e8f2f6); }
.decision-path__promise span { display: grid; gap: 4px; }
.decision-path__promise small { color: #7d909c; font-size: .43rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.decision-path__promise strong { color: #284f66; font-size: .67rem; }

.decision-path__panel {
  overflow: hidden;
  border: 1px solid rgba(138, 165, 180, .5);
  border-radius: 32px 32px 10px 32px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 27px 66px rgba(21, 53, 72, .085), inset 0 1px 0 #fff;
}

.decision-path__steps {
  position: relative;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
}

.decision-path__steps::before {
  content: "";
  position: absolute;
  left: 16.66%;
  right: 16.66%;
  top: 53px;
  height: 1px;
  background: linear-gradient(90deg, rgba(47, 133, 179, .16), rgba(47, 133, 179, .48), rgba(47, 133, 179, .16));
}

.decision-path__steps li {
  position: relative;
  min-height: 220px;
  padding: 31px 29px 28px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: start;
  gap: 15px;
}

.decision-path__steps li + li { border-left: 1px solid #dce5e9; }

.decision-path__icon {
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(59, 139, 182, .3);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #1176ae;
  background: linear-gradient(145deg, #fff, #e8f3f7);
  box-shadow: 0 7px 17px rgba(29, 84, 113, .08);
}

.decision-path__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; }
.decision-path__steps li > div { padding-top: 3px; }
.decision-path__steps small { color: #1475ae; font-size: .45rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.decision-path__steps h3 { margin: 7px 0 8px; color: #23495e; font-size: .84rem; line-height: 1.25; letter-spacing: -.02em; }
.decision-path__steps p { max-width: 290px; margin: 0; color: #6d808b; font-size: .59rem; line-height: 1.66; }

.decision-path__warranty {
  min-height: 100px;
  padding: 19px 23px;
  border-top: 1px solid #d9e4e9;
  display: grid;
  grid-template-columns: minmax(210px, .7fr) minmax(300px, 1.15fr) auto;
  align-items: center;
  gap: 28px;
  background: linear-gradient(100deg, #e8f1f4 0%, #f8fafb 62%, #eef4f6 100%);
}

.decision-path__warranty-mark { display: flex; align-items: center; gap: 11px; }
.decision-path__warranty-mark > svg { width: 40px; height: 40px; padding: 9px; flex: 0 0 40px; border-radius: 50%; fill: none; stroke: #fff; stroke-width: 1.8; background: linear-gradient(145deg, #2f6078, #1479ae); box-shadow: 0 10px 20px rgba(24, 101, 142, .16); }
.decision-path__warranty-mark > span { display: grid; gap: 3px; }
.decision-path__warranty-mark strong { color: #244c62; font-size: .69rem; }
.decision-path__warranty-mark small { color: #7b8e99; font-size: .43rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.decision-path__warranty > p { margin: 0; color: #647985; font-size: .58rem; line-height: 1.62; }
.decision-path__warranty-points { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.decision-path__warranty-points span { min-height: 31px; padding: 0 10px; border: 1px solid #d1e0e6; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; color: #456477; background: rgba(255, 255, 255, .75); font-size: .47rem; font-weight: 800; white-space: nowrap; }
.decision-path__warranty-points svg { width: 12px; height: 12px; fill: none; stroke: #1778ae; stroke-width: 2; }

.pricing-booking {
  padding: 0 0 74px;
  background: #f5f8f9;
}

.pricing-booking__frame {
  position: relative;
  min-height: 475px;
  overflow: hidden;
  border: 1px solid rgba(122, 157, 181, .5);
  border-radius: 37px 37px 11px 37px;
  color: #fff;
  background: #123348;
  box-shadow: 0 31px 76px rgba(10, 43, 65, .15);
  isolation: isolate;
}

.pricing-booking__frame > img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 1.1s var(--ease), filter .7s var(--ease); }
.pricing-booking__frame:hover > img { transform: scale(1.009); filter: saturate(.97); }
.pricing-booking__veil { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(5, 27, 42, .96) 0%, rgba(7, 35, 52, .84) 37%, rgba(8, 40, 56, .27) 69%, rgba(8, 40, 56, .04) 100%), linear-gradient(0deg, rgba(5, 27, 42, .25), transparent 52%); }
.pricing-booking__copy { position: relative; z-index: 2; width: min(610px, 59%); min-height: 475px; padding: clamp(42px, 5vw, 65px); display: flex; flex-direction: column; justify-content: center; }
.pricing-booking .section-kicker { color: #91d9fa; }
.pricing-booking__copy h2 { margin: 16px 0 14px; color: #fff; }
.pricing-booking__copy h2 em { color: #9cdefd; }
.pricing-booking__copy > p { max-width: 505px; margin: 0; color: rgba(239, 247, 250, .7); font-size: .77rem; line-height: 1.72; }

.pricing-booking__actions { width: min(100%, 455px); margin-top: 24px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(185px, .92fr); gap: 8px; }
.pricing-booking__action { min-width: 0; min-height: 57px; padding: 6px; border-radius: 17px; display: grid; align-items: center; gap: 8px; color: #eef8fc; font: inherit; line-height: 1; cursor: pointer; }
.pricing-booking__action--book { grid-template-columns: 22px minmax(0, 1fr) 27px; border: 1px solid rgba(255, 255, 255, .86); background: rgba(255, 255, 255, .96); box-shadow: 0 13px 27px rgba(0, 20, 34, .2), inset 0 1px 0 #fff; }
.pricing-booking__action--book::before { content: ""; width: 22px; height: 1px; opacity: 0; }
.pricing-booking__action--call { grid-template-columns: 20px minmax(0, 1fr) 20px; border: 1px solid rgba(194, 227, 244, .3); background: rgba(6, 34, 52, .56); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.pricing-booking__action--call::after { content: ""; width: 20px; height: 1px; }
.pricing-booking__action-icon { display: grid; place-items: center; color: #9cdcf9; }
.pricing-booking__action-icon svg,
.pricing-booking__action-arrow svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.pricing-booking__action-copy { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; text-align: center; }
.pricing-booking__action-copy small { color: rgba(224, 242, 250, .61); font-size: .41rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.pricing-booking__action-copy strong { font-size: .7rem; font-weight: 800; white-space: nowrap; }
.pricing-booking__action--book .pricing-booking__action-copy small { color: #7b8e99; }
.pricing-booking__action--book .pricing-booking__action-copy strong { color: #1f4e69; }
.pricing-booking__action-arrow { width: 27px; height: 27px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #2e667f, #1381bb); box-shadow: 0 6px 14px rgba(18, 103, 148, .2); transition: transform .24s var(--ease); }
.pricing-booking__action--book:hover .pricing-booking__action-arrow { transform: translateX(2px); }
.pricing-booking__action--book:hover { box-shadow: 0 17px 31px rgba(0, 20, 34, .25), inset 0 1px 0 #fff; }
.pricing-booking__action--call:hover { background: rgba(12, 52, 74, .68); }
.pricing-booking__action:focus-visible { outline: 0; box-shadow: inset 0 0 0 2px #75c9ef; }
.pricing-booking__assurance { margin-top: 22px; padding-top: 15px; border-top: 1px solid rgba(202, 229, 242, .19); display: flex; flex-wrap: wrap; gap: 8px 18px; color: rgba(230, 242, 247, .67); font-size: .45rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.pricing-booking__assurance span { display: inline-flex; align-items: center; gap: 7px; }
.pricing-booking__assurance i { width: 6px; height: 6px; border-radius: 50%; background: #58d6a0; box-shadow: 0 0 0 4px rgba(88, 214, 160, .1); }

@media (max-width: 1120px) {
  .price-ledger { grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr); }
  .service-rate--compact { grid-template-columns: 125px minmax(0, 1fr) 104px; }
  .service-rate--compact .service-rate__body { padding-inline: 16px; }
  .decision-path__steps li { padding-inline: 22px; }
  .decision-path__warranty { grid-template-columns: minmax(200px, .72fr) minmax(260px, 1fr) auto; gap: 20px; }
}

@media (max-width: 980px) {
  .pricing-page-hero { min-height: 620px; }
  .pricing-page-hero__copy { padding: 55px 38px; }
  .pricing-page-hero__media img { object-position: 59% center; }

  .price-ledger { grid-template-columns: 1fr; }
  .service-rate--feature { min-height: 365px; grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr); grid-template-rows: 1fr; border-radius: 30px 30px 10px 30px; }
  .service-rate--feature .service-rate__media { min-height: 365px; }
  .price-ledger__stack { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service-rate--compact { min-height: 302px; border-radius: 23px 23px 7px 23px; grid-template-columns: 1fr; grid-template-rows: 126px minmax(0, 1fr) auto; }
  .service-rate--compact .service-rate__media { min-height: 126px; }
  .service-rate--compact .service-rate__body { padding: 18px 16px 13px; justify-content: flex-start; }
  .service-rate--compact .service-rate__body h3 { font-size: 1.08rem; }
  .service-rate--compact .service-rate__price { padding: 12px 16px 15px; border-top: 1px solid #dce5e9; border-left: 0; justify-items: start; }
  .service-rate--compact .service-rate__price > span { width: 100%; display: flex; align-items: end; justify-content: space-between; }

  .decision-path__steps li { min-height: 235px; padding: 28px 19px 25px; grid-template-columns: 39px minmax(0, 1fr); gap: 11px; }
  .decision-path__icon { width: 39px; height: 39px; }
  .decision-path__steps::before { top: 48px; }
  .decision-path__warranty { grid-template-columns: minmax(210px, .8fr) minmax(0, 1.2fr); }
  .decision-path__warranty-points { grid-column: 1 / -1; justify-content: flex-start; }
  .pricing-booking__copy { width: min(650px, 70%); }
}

@media (max-width: 700px) {
  .pricing-page--refined { --pricing-display-size: clamp(2.42rem, 10.4vw, 3rem); }

  .pricing-page--refined main .pricing-page-hero h1,
  .pricing-page--refined main .pricing-register-v2 .premium-section-header h2,
  .pricing-page--refined main .decision-path .premium-section-header h2,
  .pricing-page--refined main .pricing-booking__copy h2 { line-height: .95; letter-spacing: -.055em; }

  .pricing-page-hero { min-height: 675px; }
  .pricing-page-hero__media img { object-position: 72% center; }
  .pricing-page-hero__veil {
    background:
      linear-gradient(0deg, rgba(4, 23, 36, .985) 0%, rgba(5, 29, 44, .92) 48%, rgba(7, 36, 50, .34) 78%, rgba(7, 36, 50, .08) 100%),
      linear-gradient(90deg, rgba(4, 23, 36, .72), rgba(7, 36, 50, .08));
  }
  .pricing-page-hero__copy { min-height: inherit; padding: 210px 20px 31px; justify-content: flex-end; }
  .pricing-page-hero h1 { margin-top: 16px; }
  .pricing-page-hero__copy > p { font-size: .73rem; }
  .pricing-page-hero__actions { width: 100%; grid-template-columns: 1fr; }
  .pricing-page-hero__action { width: 100%; }
  .pricing-page-hero__facts { margin-top: 20px; gap: 9px; }
  .pricing-page-hero__facts span { min-width: 0; flex-direction: column; align-items: flex-start; gap: 3px; }
  .pricing-page-hero__facts strong { font-size: .78rem; }
  .pricing-page-hero__facts small { font-size: .37rem; line-height: 1.25; }

  .pricing-register-v2,
  .decision-path { padding: 51px 0 58px; }
  .pricing-register-v2 .premium-section-header,
  .decision-path .premium-section-header { gap: 21px; margin-bottom: 25px; }
  .pricing-register-v2__intro,
  .decision-path__promise { min-height: 0; }
  .pricing-register-v2__intro p { font-size: .63rem; }

  .service-rate--feature { min-height: 0; grid-template-columns: 1fr; grid-template-rows: 220px auto; border-radius: 27px 27px 8px 27px; }
  .service-rate--feature .service-rate__media { min-height: 220px; }
  .service-rate--feature .service-rate__body { padding: 23px 18px 21px; display: flex; flex-direction: column; }
  .service-rate--feature .service-rate__included { align-self: stretch; }
  .service-rate__body h3 { font-size: 1.7rem; }
  .service-rate__appliances { gap: 6px; }
  .service-rate__appliances li { padding-inline: 8px; font-size: .44rem; }
  .service-rate__price strong { font-size: 2.72rem; }
  .service-rate--feature .service-rate__price { margin-top: 18px; padding: 17px 0 0; border-top: 1px solid #dce5e9; border-left: 0; display: flex; align-items: flex-end; justify-content: space-between; flex-direction: row; gap: 16px; }
  .service-rate--feature .service-rate__price > span { display: flex; align-items: flex-end; gap: 8px; }
  .service-rate--feature .service-rate__price small,
  .service-rate--feature .service-rate__price em { padding-bottom: 5px; }
  .price-ledger__stack { grid-template-columns: 1fr; }
  .service-rate--compact { min-height: 142px; grid-template-columns: 112px minmax(0, 1fr) 91px; grid-template-rows: 1fr; border-radius: 22px 22px 7px 22px; }
  .service-rate--compact .service-rate__media { min-height: 140px; }
  .service-rate--compact .service-rate__body { padding: 17px 14px; justify-content: center; }
  .service-rate--compact .service-rate__body h3 { font-size: 1rem; }
  .service-rate--compact .service-rate__body > p { font-size: .52rem; }
  .service-rate--compact .service-rate__price { padding: 15px 12px 15px 8px; border-top: 0; border-left: 1px solid #dce5e9; align-content: center; justify-items: end; }
  .service-rate--compact .service-rate__price > span { display: grid; justify-items: end; gap: 5px; }
  .service-rate--compact .service-rate__price strong { font-size: 1.72rem; }
  .price-ledger__foot { padding: 17px; grid-template-columns: 1fr; gap: 14px; }
  .price-ledger__foot button { width: 100%; justify-content: space-between; }

  .decision-path__steps { grid-template-columns: 1fr; }
  .decision-path__steps::before { left: 41px; right: auto; top: 48px; bottom: 48px; width: 1px; height: auto; background: linear-gradient(180deg, rgba(47, 133, 179, .16), rgba(47, 133, 179, .46), rgba(47, 133, 179, .16)); }
  .decision-path__steps li { min-height: 0; padding: 23px 18px; grid-template-columns: 44px minmax(0, 1fr); gap: 13px; }
  .decision-path__steps li + li { border-top: 1px solid #dce5e9; border-left: 0; }
  .decision-path__icon { width: 44px; height: 44px; }
  .decision-path__warranty { padding: 19px 17px; grid-template-columns: 1fr; gap: 15px; }
  .decision-path__warranty-points { grid-column: auto; }

  .pricing-booking { padding-bottom: 57px; }
  .pricing-booking__frame { min-height: 585px; border-radius: 28px 28px 8px 28px; }
  .pricing-booking__frame > img { object-position: 72% center; }
  .pricing-booking__veil { background: linear-gradient(0deg, rgba(5, 27, 42, .975) 0%, rgba(7, 35, 52, .88) 52%, rgba(8, 40, 56, .17) 100%); }
  .pricing-booking__copy { width: 100%; min-height: 585px; padding: 250px 19px 32px; justify-content: flex-end; }
  .pricing-booking__copy > p { font-size: .71rem; }
  .pricing-booking__actions { width: 100%; grid-template-columns: 1fr; }
  .pricing-booking__action { width: 100%; display: grid; }
  .pricing-booking__assurance { margin-top: 18px; }
}

@media (max-width: 430px) {
  .pricing-page-hero__copy { padding-inline: 17px; }
  .pricing-page-hero__facts > i { display: none; }
  .pricing-page-hero__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service-rate--compact { grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto auto; }
  .service-rate--compact .service-rate__media { grid-row: 1 / 3; }
  .service-rate--compact .service-rate__price { grid-column: 2; padding: 10px 14px 13px; border-top: 1px solid #dce5e9; border-left: 0; justify-items: start; }
  .service-rate--compact .service-rate__price > span { width: 100%; display: flex; align-items: end; justify-content: space-between; }
  .service-rate--compact .service-rate__price small { display: none; }
  .service-rate--compact .service-rate__body > p { display: none; }
  .decision-path__warranty-points { gap: 5px; }
  .decision-path__warranty-points span { padding-inline: 8px; font-size: .43rem; }
}

@media (prefers-reduced-motion: reduce) {
  .pricing-page-hero__media img,
  .pricing-page-hero__action,
  .pricing-page-hero__action-arrow,
  .service-rate__media img,
  .price-ledger__foot button svg,
  .pricing-booking__frame > img,
  .pricing-booking__action-arrow { transition: none !important; transform: none !important; }
}

/* ==========================================================
   PRICING PAGE V3 — CONCIERGE CTA + DECISION ITINERARY
   Shares the Brands CTA language and replaces the oversized
   process table with one compact, customer-led composition.
   ========================================================== */

/* Final pricing CTA uses the same single concierge rail as Brands. */
.pricing-booking__actions {
  width: min(100%, 486px);
  margin-top: 27px;
  padding: 5px;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  gap: 0;
  border: 1px solid rgba(197, 226, 242, .25);
  border-radius: 18px 18px 5px 18px;
  background: linear-gradient(118deg, rgba(6, 34, 52, .58), rgba(17, 54, 77, .38));
  box-shadow: 0 17px 34px rgba(0, 19, 33, .2), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
}

.pricing-booking__action {
  min-height: 52px;
  padding: 8px 14px;
  border: 0;
  border-radius: 13px 13px 4px 13px;
  gap: 11px;
  overflow: visible;
  box-shadow: none;
  transform: none !important;
}

.pricing-booking__action--book {
  grid-template-columns: 22px minmax(0, 1fr) 22px;
  color: #124b70;
  background: linear-gradient(135deg, rgba(248, 252, 253, .98), rgba(220, 239, 248, .96));
  box-shadow: 0 9px 23px rgba(0, 21, 36, .18), inset 0 1px 0 #fff;
}

.pricing-booking__action--book::before {
  position: static;
  width: 22px;
  height: 1px;
  display: block;
  opacity: 0;
}

.pricing-booking__action--call,
.pricing-booking__action--call:hover,
.pricing-booking__action--call:focus-visible {
  padding-left: 18px;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  border: 0;
  border-radius: 0 13px 4px 0;
  color: #eff7fa;
  background: transparent;
  box-shadow: none;
}

.pricing-booking__action--call::after {
  content: "";
  width: 20px;
  height: 1px;
  display: block;
}

.pricing-booking__action-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 0;
  border-radius: 0;
  color: #8ed3f6;
  background: transparent;
  box-shadow: none;
}

.pricing-booking__action-icon svg { width: 18px; height: 18px; }
.pricing-booking__action-copy { flex: 1; gap: 5px; text-align: center; }
.pricing-booking__action-copy small { margin: 0; font-size: .42rem; letter-spacing: .12em; }
.pricing-booking__action-copy strong { font-size: .7rem; letter-spacing: -.012em; }
.pricing-booking__action--book .pricing-booking__action-copy small { color: #718591; }
.pricing-booking__action--call .pricing-booking__action-copy small { color: rgba(218, 237, 247, .56); }

.pricing-booking__action-arrow {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  color: #176f9f;
  background: transparent;
  box-shadow: none;
}

.pricing-booking__action-arrow svg { width: 14px; height: 14px; }
.pricing-booking__action:hover { transform: none !important; outline: 0; }
.pricing-booking__action--book:hover { color: #0d4569; background: linear-gradient(135deg, #fff, #e4f4fb); box-shadow: 0 9px 23px rgba(0, 21, 36, .18), inset 0 1px 0 #fff; }
.pricing-booking__action--book:hover .pricing-booking__action-arrow { color: #0d6697; background: transparent; transform: translateX(3px); }
.pricing-booking__action--call:hover { color: #fff; background: rgba(109, 190, 232, .08); }
.pricing-booking__action:focus-visible { outline: 0; }
.pricing-booking__action--book:focus-visible { box-shadow: 0 9px 23px rgba(0, 21, 36, .18), inset 0 0 0 2px #76c9ef; }
.pricing-booking__action--call:focus-visible { box-shadow: inset 0 0 0 2px rgba(130, 207, 245, .78); }

/* Compact decision itinerary. */
.decision-path {
  padding: 68px 0 74px;
  background:
    radial-gradient(circle at 88% 8%, rgba(73, 157, 204, .09), transparent 24%),
    linear-gradient(180deg, #edf3f5 0%, #f7f9fa 100%);
}

.decision-path .premium-section-header {
  margin-bottom: 27px;
  grid-template-columns: minmax(0, 1.2fr) minmax(290px, .68fr);
  align-items: end;
  gap: 42px;
}

.decision-path__intro {
  min-height: 68px;
  padding: 12px 15px;
  border: 1px solid rgba(143, 169, 184, .43);
  border-radius: 19px 19px 6px 19px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, .7);
  box-shadow: 0 14px 30px rgba(29, 59, 75, .05), inset 0 1px 0 #fff;
}

.decision-path__intro-mark {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border: 1px solid rgba(38, 129, 179, .2);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #1478b2;
  background: linear-gradient(145deg, #fff, #e7f2f7);
}

.decision-path__intro-mark svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.decision-path__intro > span:last-child { display: grid; gap: 4px; }
.decision-path__intro small { color: #7d909c; font-size: .43rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.decision-path__intro strong { color: #284f66; font-size: .67rem; line-height: 1.35; }

.decision-path__composition {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.55fr);
  align-items: stretch;
  gap: 14px;
}

.decision-path__coverage {
  position: relative;
  min-height: 352px;
  padding: 29px 28px 25px;
  overflow: hidden;
  border: 1px solid rgba(121, 157, 176, .48);
  border-radius: 30px 30px 9px 30px;
  display: flex;
  flex-direction: column;
  color: #24495e;
  background:
    radial-gradient(circle at 103% -2%, rgba(90, 174, 217, .18), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(226, 237, 241, .92));
  box-shadow: 0 24px 56px rgba(21, 53, 72, .08), inset 0 1px 0 #fff;
  isolation: isolate;
}

.decision-path__coverage::before {
  content: "";
  position: absolute;
  right: -76px;
  top: -78px;
  z-index: -1;
  width: 215px;
  height: 215px;
  border: 1px solid rgba(53, 136, 180, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(64, 151, 196, .035), 0 0 0 58px rgba(64, 151, 196, .025);
}

.decision-path__coverage-mark {
  width: 48px;
  height: 48px;
  margin-bottom: 24px;
  border-radius: 15px 15px 5px 15px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #315c70, #147bb2);
  box-shadow: 0 12px 24px rgba(22, 106, 151, .18), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.decision-path__coverage-mark svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.75; }
.decision-path__coverage-kicker { color: #6f8490; font-size: .46rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.decision-path__coverage-title { margin-top: 7px; display: flex; align-items: baseline; gap: 8px; color: #274d62; font-size: 1.12rem; letter-spacing: -.035em; }
.decision-path__coverage-title em { color: #1479b1; font-family: "Newsreader", Georgia, serif; font-size: 3.25rem; font-weight: 500; letter-spacing: -.055em; line-height: .9; }
.decision-path__coverage > p { max-width: 310px; margin: 16px 0 22px; color: #647985; font-size: .61rem; line-height: 1.7; }

.decision-path__coverage-points {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(123, 155, 172, .27);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.decision-path__coverage-points span { display: flex; align-items: center; gap: 7px; color: #456477; font-size: .48rem; font-weight: 800; }
.decision-path__coverage-points svg { width: 13px; height: 13px; flex: 0 0 13px; fill: none; stroke: #1479b1; stroke-width: 2; }

.decision-path__journey {
  overflow: hidden;
  border: 1px solid rgba(138, 165, 180, .48);
  border-radius: 30px 30px 9px 30px;
  background: rgba(255, 255, 255, .91);
  box-shadow: 0 24px 56px rgba(21, 53, 72, .075), inset 0 1px 0 #fff;
}

.decision-path__steps {
  position: relative;
  margin: 0;
  padding: 0;
  display: block;
  list-style: none;
}

.decision-path__steps::before {
  left: 48px;
  right: auto;
  top: 50px;
  bottom: 50px;
  width: 1px;
  height: auto;
  background: linear-gradient(180deg, rgba(33, 124, 174, .13), rgba(33, 124, 174, .47), rgba(33, 124, 174, .13));
}

.decision-path__steps li {
  min-height: 97px;
  padding: 20px 23px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 106px;
  align-items: center;
  gap: 16px;
}

.decision-path__steps li + li { border-top: 1px solid #dde6ea; border-left: 0; }
.decision-path__steps li > div { padding-top: 0; }

.decision-path__icon {
  width: 48px;
  height: 48px;
  border-color: rgba(50, 137, 183, .27);
  background: linear-gradient(145deg, #fff, #e8f3f7);
  box-shadow: 0 8px 18px rgba(29, 84, 113, .08);
}

.decision-path__icon svg { width: 20px; height: 20px; }
.decision-path__steps small { font-size: .44rem; letter-spacing: .12em; }
.decision-path__steps h3 { margin: 5px 0 5px; color: #244b61; font-size: .82rem; line-height: 1.25; }
.decision-path__steps p { max-width: 490px; color: #6a7e8a; font-size: .57rem; line-height: 1.57; }

.decision-path__moment {
  min-height: 29px;
  padding: 0 10px;
  border: 1px solid #d8e4e9;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #70848f;
  background: rgba(244, 248, 249, .88);
  font-size: .43rem;
  font-weight: 800;
  letter-spacing: .045em;
  white-space: nowrap;
}

.decision-path__finale {
  min-height: 61px;
  margin: 0;
  padding: 14px 23px;
  border-top: 1px solid #d8e4e9;
  display: grid;
  grid-template-columns: 27px auto minmax(0, 1fr);
  align-items: center;
  gap: 10px 12px;
  color: #5f7582;
  background: linear-gradient(100deg, #e8f1f4 0%, #f8fafb 72%, #eef4f6 100%);
  font-size: .52rem;
}

.decision-path__finale svg { width: 27px; height: 27px; padding: 7px; border-radius: 50%; fill: none; stroke: #fff; stroke-width: 2; background: linear-gradient(145deg, #315e74, #147db4); box-shadow: 0 8px 16px rgba(24, 101, 142, .14); }
.decision-path__finale strong { color: #2e5368; font-size: .58rem; }
.decision-path__finale span { padding-left: 12px; border-left: 1px solid rgba(116, 149, 166, .24); line-height: 1.5; }

@media (max-width: 980px) {
  .decision-path .premium-section-header { grid-template-columns: minmax(0, 1fr) minmax(270px, .72fr); gap: 28px; }
  .decision-path__composition { grid-template-columns: minmax(225px, .64fr) minmax(0, 1.36fr); }
  .decision-path__coverage { padding-inline: 23px; }
  .decision-path__steps li { padding-inline: 19px; grid-template-columns: 43px minmax(0, 1fr) 94px; gap: 12px; }
  .decision-path__steps::before { left: 40px; }
  .decision-path__icon { width: 43px; height: 43px; }
  .decision-path__moment { padding-inline: 8px; font-size: .4rem; }
}

@media (max-width: 760px) {
  .decision-path { padding: 52px 0 58px; }
  .decision-path .premium-section-header { grid-template-columns: 1fr; align-items: start; gap: 21px; margin-bottom: 24px; }
  .decision-path__intro { width: min(100%, 430px); }
  .decision-path__composition { grid-template-columns: 1fr; }
  .decision-path__coverage { min-height: 0; padding: 23px 20px 21px; }
  .decision-path__coverage-mark { margin-bottom: 18px; }
  .decision-path__coverage > p { margin: 13px 0 18px; }
  .decision-path__coverage-points { margin-top: 0; }
  .decision-path__steps::before { left: 40px; top: 45px; bottom: 45px; }
  .decision-path__steps li { min-height: 0; padding: 19px 16px; grid-template-columns: 48px minmax(0, 1fr); gap: 13px; }
  .decision-path__icon { width: 48px; height: 48px; }
  .decision-path__moment { grid-column: 2; width: max-content; min-height: 25px; margin-top: -4px; }
  .decision-path__finale { grid-template-columns: 27px minmax(0, 1fr); }
  .decision-path__finale span { grid-column: 2; padding-left: 0; border-left: 0; }

  .pricing-booking__actions { width: 100%; grid-template-columns: 1fr; }
  .pricing-booking__action { width: 100%; min-height: 52px; }
  .pricing-booking__action--call,
  .pricing-booking__action--call:hover,
  .pricing-booking__action--call:focus-visible { padding-left: 14px; border: 0; border-radius: 4px 4px 12px 12px; }
}

@media (max-width: 430px) {
  .decision-path__coverage-points { grid-template-columns: 1fr; gap: 8px; }
  .decision-path__steps li { grid-template-columns: 43px minmax(0, 1fr); }
  .decision-path__icon { width: 43px; height: 43px; }
  .decision-path__steps::before { left: 36px; }
  .decision-path__steps h3 { font-size: .76rem; }
  .decision-path__steps p { font-size: .54rem; }
  .decision-path__finale { padding-inline: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .pricing-booking__action,
  .pricing-booking__action-arrow { transition-duration: .01ms !important; transform: none !important; }
}

/* ==========================================================
   PRICING DECISION STORY V4 — ONE CONTINUOUS SERVICE JOURNEY
   A single composed surface with a restrained animated route.
   ========================================================== */

.decision-story {
  position: relative;
  padding: 68px 0 74px;
  overflow: hidden;
  border-top: 1px solid rgba(175, 191, 200, .38);
  background:
    radial-gradient(circle at 88% 8%, rgba(69, 154, 201, .085), transparent 25%),
    linear-gradient(180deg, #eef3f5 0%, #f8fafb 100%);
}

.decision-story::before {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -210px;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(65, 142, 184, .055);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(65, 142, 184, .018), 0 0 0 94px rgba(65, 142, 184, .014);
  pointer-events: none;
}

.decision-story__header {
  position: relative;
  z-index: 1;
  margin-bottom: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1.23fr) minmax(310px, .62fr);
  align-items: end;
  gap: 48px;
}

.pricing-page--refined main .decision-story__header h2 {
  max-width: 680px;
  margin: 16px 0 0;
  color: #0f2134;
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: var(--pricing-display-size);
  font-weight: 740;
  line-height: var(--pricing-display-line);
  letter-spacing: var(--pricing-display-tracking);
}

.pricing-page--refined main .decision-story__header h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  color: #167cc0;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.decision-story__lead {
  max-width: 420px;
  padding: 4px 0 3px 25px;
  border-left: 1px solid rgba(47, 128, 172, .28);
}

.decision-story__lead > span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #246d98;
  font-size: .45rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.decision-story__lead > span i {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #44c98e;
  box-shadow: 0 0 0 5px rgba(68, 201, 142, .1);
}

.decision-story__lead p {
  max-width: 385px;
  margin: 11px 0 0;
  color: #687c88;
  font-size: .61rem;
  line-height: 1.72;
}

.decision-story__stage {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid rgba(132, 163, 180, .5);
  border-radius: 34px 34px 10px 34px;
  background:
    radial-gradient(circle at 84% 0%, rgba(62, 153, 202, .095), transparent 29%),
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(242, 247, 249, .94));
  box-shadow: 0 28px 66px rgba(20, 52, 71, .09), inset 0 1px 0 #fff;
  isolation: isolate;
}

.decision-story__stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .37;
  background-image: radial-gradient(rgba(38, 104, 139, .17) .6px, transparent .6px);
  background-size: 14px 14px;
  mask-image: linear-gradient(90deg, transparent 2%, #000 45%, transparent 96%);
  -webkit-mask-image: linear-gradient(90deg, transparent 2%, #000 45%, transparent 96%);
}

.decision-story__route {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 230px;
  overflow: visible;
  pointer-events: none;
}

.decision-story__route path { fill: none; vector-effect: non-scaling-stroke; }
.decision-story__route-base { stroke: rgba(78, 145, 181, .25); stroke-width: 1.5; }
.decision-story__route-flow {
  stroke: url(#decision-route-gradient);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-dasharray: 7 13;
  animation: decision-route-travel 7.5s linear infinite;
}

.decision-story__moments {
  position: relative;
  z-index: 2;
  min-height: 310px;
  margin: 0;
  padding: 12px 34px 16px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
}

.decision-story__moments li {
  min-width: 0;
  padding-inline: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.decision-story__moments li:nth-child(1) { padding-top: 119px; }
.decision-story__moments li:nth-child(2) { padding-top: 74px; }
.decision-story__moments li:nth-child(3) { padding-top: 29px; }

.decision-story__node {
  position: relative;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border: 1px solid rgba(49, 137, 183, .34);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #1277ad;
  background: linear-gradient(145deg, #fff, #e6f2f7);
  box-shadow: 0 9px 22px rgba(25, 91, 126, .11), inset 0 1px 0 #fff;
}

.decision-story__node::after {
  content: "";
  position: absolute;
  inset: -7px;
  border: 1px solid rgba(32, 131, 183, .18);
  border-radius: 50%;
  opacity: 0;
  animation: decision-node-breathe 5.4s ease-in-out infinite;
}

.decision-story__moments li:nth-child(2) .decision-story__node::after { animation-delay: 1.25s; }
.decision-story__moments li:nth-child(3) .decision-story__node::after { animation-delay: 2.5s; }
.decision-story__node svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; }

.decision-story__node--final {
  color: #fff;
  border-color: rgba(24, 123, 176, .42);
  background: linear-gradient(145deg, #32647b, #147db5);
  box-shadow: 0 12px 27px rgba(17, 105, 153, .21), inset 0 1px 0 rgba(255, 255, 255, .22);
}

.decision-story__moments li > div { max-width: 300px; margin-top: 15px; }
.decision-story__moments small { color: #1678ae; font-size: .43rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.decision-story__moments h3 { margin: 6px 0 6px; color: #244b61; font-size: .86rem; line-height: 1.25; letter-spacing: -.025em; }
.decision-story__moments p { margin: 0 auto; color: #6b7f8b; font-size: .56rem; line-height: 1.6; }

.decision-story__assurance {
  position: relative;
  z-index: 3;
  min-height: 79px;
  border-top: 1px solid rgba(135, 164, 180, .34);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  background: linear-gradient(100deg, rgba(229, 239, 243, .97), rgba(249, 251, 251, .96) 58%, rgba(237, 244, 246, .97));
}

.decision-story__warranty,
.decision-story__control {
  min-width: 0;
  padding: 15px 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
}

.decision-story__control { border-left: 1px solid rgba(127, 158, 174, .26); }
.decision-story__warranty > span,
.decision-story__control > span {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 13px 13px 4px 13px;
  display: grid;
  place-items: center;
}

.decision-story__warranty > span {
  color: #fff;
  background: linear-gradient(145deg, #315d73, #147db5);
  box-shadow: 0 10px 20px rgba(24, 101, 142, .16), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.decision-story__control > span {
  color: #1678ad;
  border: 1px solid rgba(54, 140, 185, .24);
  border-radius: 50%;
  background: rgba(255, 255, 255, .74);
}

.decision-story__warranty svg,
.decision-story__control svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.decision-story__warranty p,
.decision-story__control p { min-width: 0; margin: 0; display: grid; gap: 4px; }
.decision-story__warranty small,
.decision-story__control small { color: #748995; font-size: .42rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.decision-story__warranty strong,
.decision-story__control strong { color: #2b5065; font-size: .68rem; line-height: 1.3; }

@keyframes decision-route-travel {
  to { stroke-dashoffset: -20; }
}

@keyframes decision-node-breathe {
  0%, 58%, 100% { opacity: 0; transform: scale(.92); }
  70% { opacity: .78; transform: scale(1); }
  86% { opacity: 0; transform: scale(1.18); }
}

@media (max-width: 980px) {
  .decision-story__header { grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: 30px; }
  .decision-story__moments { padding-inline: 20px; }
  .decision-story__moments li { padding-inline: 14px; }
  .decision-story__moments h3 { font-size: .79rem; }
  .decision-story__moments p { font-size: .53rem; }
  .decision-story__warranty,
  .decision-story__control { padding-inline: 18px; }
}

@media (max-width: 760px) {
  .decision-story { padding: 52px 0 58px; }
  .decision-story__header { margin-bottom: 24px; grid-template-columns: 1fr; align-items: start; gap: 21px; }
  .pricing-page--refined main .decision-story__header h2 { font-size: var(--pricing-display-size); line-height: .95; letter-spacing: -.055em; }
  .decision-story__lead { max-width: 470px; padding: 15px 0 0; border-top: 1px solid rgba(47, 128, 172, .22); border-left: 0; }
  .decision-story__stage { border-radius: 28px 28px 8px 28px; }
  .decision-story__stage::before { display: none; }
  .decision-story__route { display: none; }
  .decision-story__moments { min-height: 0; padding: 5px 18px 0; display: block; }
  .decision-story__moments::before {
    content: "";
    position: absolute;
    left: 43px;
    top: 35px;
    bottom: 35px;
    width: 1px;
    background: linear-gradient(180deg, rgba(39, 133, 183, .12), rgba(39, 133, 183, .46), rgba(39, 133, 183, .12));
  }
  .decision-story__moments li,
  .decision-story__moments li:nth-child(1),
  .decision-story__moments li:nth-child(2),
  .decision-story__moments li:nth-child(3) {
    position: relative;
    padding: 19px 0;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: start;
    gap: 15px;
    text-align: left;
  }
  .decision-story__moments li + li { border-top: 1px solid rgba(139, 166, 181, .25); }
  .decision-story__moments li > div { max-width: none; margin-top: 2px; }
  .decision-story__moments p { margin: 0; }
  .decision-story__assurance { grid-template-columns: 1fr; }
  .decision-story__control { border-top: 1px solid rgba(127, 158, 174, .23); border-left: 0; }
}

@media (max-width: 430px) {
  .decision-story__header h2 br { display: none; }
  .decision-story__lead p { font-size: .58rem; }
  .decision-story__moments { padding-inline: 15px; }
  .decision-story__moments::before { left: 40px; }
  .decision-story__moments li,
  .decision-story__moments li:nth-child(1),
  .decision-story__moments li:nth-child(2),
  .decision-story__moments li:nth-child(3) { grid-template-columns: 48px minmax(0, 1fr); gap: 13px; }
  .decision-story__node { width: 48px; height: 48px; flex-basis: 48px; }
  .decision-story__moments h3 { font-size: .76rem; }
  .decision-story__warranty,
  .decision-story__control { padding: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  .decision-story__route-flow,
  .decision-story__node::after { animation: none !important; }
}

/* ==========================================================
   ABOUT + CONTACT V1 — EDITORIAL SERVICE PAGES
   Shared hero language, distinct page-specific experiences.
   ========================================================== */

.inner-page {
  --inner-display-size: clamp(3rem, 3.55vw, 3.75rem);
  --inner-display-line: .94;
  --inner-display-tracking: -.06em;
}

.inner-page main .brands-hero h1,
.inner-page main .inner-section-heading h2,
.inner-page main .about-closing h2,
.inner-page main .contact-footnote h2 {
  max-width: 680px;
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: var(--inner-display-size);
  font-weight: 740;
  line-height: var(--inner-display-line);
  letter-spacing: var(--inner-display-tracking);
}

.inner-page main .brands-hero h1 em,
.inner-page main .inner-section-heading h2 em,
.inner-page main .about-closing h2 em,
.inner-page main .contact-footnote h2 em {
  display: inline-block;
  margin-top: 4px;
  padding-right: .04em;
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.045em;
}

.inner-page main .brands-hero h1 { margin: 19px 0 14px; }
.inner-page .brands-hero__media > img { object-position: center center; }

.inner-section-heading {
  position: relative;
  z-index: 1;
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(310px, .64fr);
  align-items: end;
  gap: 54px;
}

.inner-section-heading h2 {
  margin: 16px 0 0;
  color: #11273a;
}

.inner-section-heading h2 em { color: #187dba; }

.inner-section-heading > aside {
  max-width: 420px;
  padding: 4px 0 3px 25px;
  border-left: 1px solid rgba(45, 127, 171, .28);
}

.inner-section-heading > aside > span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #256e98;
  font-size: .46rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.inner-section-heading > aside > span i {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #43c88d;
  box-shadow: 0 0 0 5px rgba(67, 200, 141, .1);
}

.inner-section-heading > aside p {
  margin: 11px 0 0;
  color: #687d89;
  font-size: .63rem;
  line-height: 1.72;
}

/* About: one continuous credo surface rather than a card grid. */
.about-credo {
  position: relative;
  padding: 70px 0 76px;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 8%, rgba(56, 151, 201, .08), transparent 26%),
    linear-gradient(180deg, #eef3f5 0%, #fafbfb 100%);
}

.about-credo::before {
  content: "";
  position: absolute;
  left: -190px;
  bottom: -240px;
  width: 510px;
  height: 510px;
  border: 1px solid rgba(49, 128, 170, .06);
  border-radius: 50%;
  box-shadow: 0 0 0 58px rgba(49, 128, 170, .018), 0 0 0 112px rgba(49, 128, 170, .012);
  pointer-events: none;
}

.about-credo__composition {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr);
  overflow: hidden;
  border: 1px solid rgba(133, 161, 177, .44);
  border-radius: 34px 34px 10px 34px;
  background: rgba(255, 255, 255, .84);
  box-shadow: 0 28px 64px rgba(24, 56, 74, .085), inset 0 1px 0 #fff;
}

.about-credo__statement {
  position: relative;
  min-height: 430px;
  padding: 42px 42px 38px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #eaf3f7;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .065), transparent 47%),
    linear-gradient(145deg, #304d5c, #1d4359 55%, #176d9b);
}

.about-credo__statement::after {
  content: "";
  position: absolute;
  right: -76px;
  bottom: -82px;
  width: 230px;
  height: 230px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 31px rgba(255, 255, 255, .026), 0 0 0 63px rgba(255, 255, 255, .018);
}

.about-credo__monogram {
  position: absolute;
  top: 24px;
  right: 29px;
  color: rgba(222, 240, 249, .08);
  font-size: 5rem;
  font-weight: 800;
  letter-spacing: -.09em;
  line-height: 1;
}

.about-credo__statement > small {
  position: relative;
  z-index: 1;
  color: #8cd9fb;
  font-size: .45rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.about-credo__statement blockquote {
  position: relative;
  z-index: 1;
  max-width: 410px;
  margin: 19px 0 16px;
  color: #fff;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(2.05rem, 3vw, 3rem);
  font-style: italic;
  font-weight: 500;
  line-height: .99;
  letter-spacing: -.045em;
}

.about-credo__statement > p {
  position: relative;
  z-index: 1;
  max-width: 420px;
  margin: 0;
  color: rgba(231, 241, 246, .72);
  font-size: .66rem;
  line-height: 1.72;
}

.about-credo__statement > div {
  position: relative;
  z-index: 1;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(220, 239, 248, .16);
  display: flex;
  align-items: center;
  gap: 12px;
}

.about-credo__statement > div svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: #95ddfb;
  stroke-width: 1.6;
}

.about-credo__statement > div span { display: grid; gap: 4px; }
.about-credo__statement > div strong { color: #fff; font-size: .68rem; }
.about-credo__statement > div small { color: rgba(227, 239, 245, .55); font-size: .42rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

.about-credo__principles {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
}

.about-credo__principles li {
  position: relative;
  min-width: 0;
  padding: 29px 32px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 22px;
  transition: background .3s var(--ease);
}

.about-credo__principles li + li { border-top: 1px solid rgba(133, 162, 178, .29); }
.about-credo__principles li:hover { background: linear-gradient(90deg, rgba(229, 240, 245, .6), rgba(247, 250, 251, .22)); }
.about-credo__principles li > span { color: #9cacb5; font-size: .47rem; font-weight: 850; letter-spacing: .12em; }
.about-credo__principles small { color: #1d78aa; font-size: .43rem; font-weight: 850; letter-spacing: .105em; text-transform: uppercase; }
.about-credo__principles h3 { margin: 7px 0 6px; color: #254b60; font-size: 1rem; line-height: 1.25; letter-spacing: -.03em; }
.about-credo__principles p { max-width: 510px; margin: 0; color: #6c7f8a; font-size: .59rem; line-height: 1.62; }
.about-credo__principles svg { width: 21px; height: 21px; fill: none; stroke: #6c9fba; stroke-width: 1.55; transition: transform .3s var(--ease), stroke .3s var(--ease); }
.about-credo__principles li:hover svg { stroke: #147bb3; transform: translateX(3px); }

/* About: a quiet four-part service signature on one shared rail. */
.about-signature {
  padding: 72px 0 78px;
  background: #fff;
}

.about-signature__rail {
  position: relative;
  border-top: 1px solid rgba(129, 156, 171, .34);
  border-bottom: 1px solid rgba(129, 156, 171, .34);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: linear-gradient(180deg, rgba(246, 249, 250, .75), rgba(255, 255, 255, .95));
}

.about-signature__rail::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #4fa8d7 18%, #1b78ad 50%, #7cc5e8 82%, transparent);
  opacity: .55;
}

.about-signature__rail article {
  position: relative;
  min-height: 265px;
  padding: 28px 27px 30px;
  overflow: hidden;
  transition: background .3s var(--ease), transform .3s var(--ease);
}

.about-signature__rail article + article { border-left: 1px solid rgba(133, 160, 175, .26); }
.about-signature__rail article:hover { z-index: 1; background: rgba(235, 244, 248, .68); transform: translateY(-3px); }
.about-signature__rail article > span { position: absolute; right: 19px; top: 17px; color: rgba(41, 103, 136, .11); font-size: 2.6rem; font-weight: 800; letter-spacing: -.07em; }

.about-signature__icon {
  width: 45px;
  height: 45px;
  margin-bottom: 31px;
  border: 1px solid rgba(49, 135, 180, .24);
  border-radius: 15px 15px 5px 15px;
  display: grid;
  place-items: center;
  color: #187db6;
  background: linear-gradient(145deg, #fff, #e8f3f8);
  box-shadow: 0 10px 23px rgba(26, 92, 127, .09), inset 0 1px 0 #fff;
}

.about-signature__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; }
.about-signature__rail small { color: #1879ad; font-size: .43rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.about-signature__rail h3 { margin: 8px 0 8px; color: #294d61; font-size: .94rem; line-height: 1.25; letter-spacing: -.03em; }
.about-signature__rail p { margin: 0; color: #70818b; font-size: .57rem; line-height: 1.64; }

.about-closing {
  padding: 0 0 76px;
  background: #fff;
}

.about-closing__frame {
  position: relative;
  min-height: 235px;
  padding: 39px 42px;
  overflow: hidden;
  border: 1px solid rgba(119, 153, 173, .44);
  border-radius: 34px 34px 10px 34px;
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr) minmax(260px, .65fr);
  align-items: center;
  gap: 34px;
  background:
    radial-gradient(circle at 92% 0%, rgba(62, 157, 206, .13), transparent 31%),
    linear-gradient(125deg, #edf3f5, #fbfcfc 58%, #e8f0f3);
  box-shadow: 0 24px 58px rgba(27, 60, 79, .09), inset 0 1px 0 #fff;
}

.about-closing__seal {
  position: relative;
  width: 94px;
  height: 94px;
  border: 1px solid rgba(47, 129, 172, .27);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #365d70, #167cb4);
  box-shadow: 0 15px 31px rgba(21, 104, 150, .18), inset 0 1px 0 rgba(255,255,255,.22), 0 0 0 10px rgba(44, 139, 190, .055);
}

.about-closing__seal span { font-family: "Newsreader", Georgia, serif; font-size: 3.2rem; font-style: italic; }
.about-closing__seal i { position: absolute; right: 6px; top: 7px; width: 11px; height: 11px; border: 3px solid #eef7f9; border-radius: 50%; background: #44c98e; }
.about-closing__copy h2 { margin: 14px 0 12px; color: #153149; font-size: clamp(2.45rem, 3vw, 3.3rem); }
.about-closing__copy h2 em { color: #177bb7; }
.about-closing__copy p { max-width: 600px; margin: 0; color: #667c88; font-size: .62rem; line-height: 1.68; }
.about-closing__actions { display: grid; gap: 8px; }
.about-closing__actions button,
.about-closing__actions a { min-height: 58px; padding: 7px 9px 7px 16px; border-radius: 17px; display: flex; align-items: center; gap: 11px; text-align: left; }
.about-closing__actions button { justify-content: space-between; color: #fff; border: 1px solid rgba(41, 138, 199, .38); background: linear-gradient(125deg, #0a4a7a, #0d75b6 58%, #2799d8); box-shadow: 0 12px 25px rgba(16, 103, 162, .2), inset 0 1px 0 rgba(255,255,255,.2); }
.about-closing__actions a { color: #264d64; border: 1px solid rgba(128, 159, 177, .35); background: rgba(255,255,255,.66); }
.about-closing__actions span { display: grid; gap: 4px; }
.about-closing__actions small { font-size: .41rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; opacity: .66; }
.about-closing__actions strong { font-size: .72rem; }
.about-closing__actions svg { width: 19px; height: 19px; flex: 0 0 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }

/* Contact: a routing console with three uninterrupted communication lanes. */
.contact-routing {
  position: relative;
  padding: 70px 0 76px;
  background:
    radial-gradient(circle at 12% 96%, rgba(67, 157, 203, .075), transparent 28%),
    linear-gradient(180deg, #eef3f5, #fafbfb);
}

.contact-routing__frame {
  overflow: hidden;
  border: 1px solid rgba(126, 158, 176, .46);
  border-radius: 34px 34px 10px 34px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  background: rgba(255,255,255,.86);
  box-shadow: 0 28px 65px rgba(25, 59, 78, .085), inset 0 1px 0 #fff;
}

.contact-routing__channels { min-width: 0; display: grid; grid-template-rows: repeat(3, 1fr); }
.contact-routing__channels > a,
.contact-routing__channels > button {
  position: relative;
  min-width: 0;
  min-height: 126px;
  padding: 22px 27px;
  display: grid;
  grid-template-columns: 34px 50px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 18px;
  color: #25495d;
  text-align: left;
  background: transparent;
  transition: background .28s var(--ease);
}

.contact-routing__channels > :not(:first-child) { border-top: 1px solid rgba(131, 160, 176, .29); }
.contact-routing__channels > a:hover,
.contact-routing__channels > button:hover { background: linear-gradient(90deg, rgba(230, 241, 246, .7), rgba(249, 251, 252, .3)); }
.contact-routing__number { color: #a0afb7; font-size: .45rem; font-weight: 850; letter-spacing: .12em; }

.contact-routing__icon {
  width: 50px;
  height: 50px;
  border: 1px solid rgba(48, 134, 179, .23);
  border-radius: 16px 16px 5px 16px;
  display: grid;
  place-items: center;
  color: #177eb7;
  background: linear-gradient(145deg, #fff, #e8f3f8);
  box-shadow: 0 10px 22px rgba(26, 92, 127, .08), inset 0 1px 0 #fff;
}

.contact-routing__icon svg,
.contact-routing__arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.75; }
.contact-routing__copy { min-width: 0; display: grid; gap: 5px; }
.contact-routing__copy small { color: #1679ad; font-size: .42rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.contact-routing__copy strong { overflow-wrap: anywhere; font-size: .93rem; line-height: 1.22; letter-spacing: -.025em; }
.contact-routing__copy em { color: #71828c; font-size: .56rem; font-style: normal; line-height: 1.55; }

.contact-routing__arrow {
  width: 32px;
  height: 32px;
  border: 1px solid rgba(74, 143, 179, .2);
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #4789aa;
  background: rgba(255,255,255,.72);
  transition: transform .28s var(--ease), color .28s var(--ease);
}

.contact-routing__channels > a:hover .contact-routing__arrow,
.contact-routing__channels > button:hover .contact-routing__arrow { color: #127ab2; transform: translateX(3px); }

.contact-routing__now {
  padding: 34px;
  border-left: 1px solid rgba(131, 160, 176, .29);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 34px;
  background:
    radial-gradient(circle at 100% 0%, rgba(61, 155, 204, .12), transparent 40%),
    linear-gradient(145deg, #e8f0f3, #f9fbfb);
}

.contact-routing__status > span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #2b718f;
  font-size: .43rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.contact-routing__status > span i { width: 7px; height: 7px; border-radius: 50%; background: #42c88c; box-shadow: 0 0 0 5px rgba(66, 200, 140, .11); }
.contact-routing__status > strong { display: block; max-width: 360px; margin-top: 21px; color: #21475c; font-family: "Newsreader", Georgia, serif; font-size: 2rem; font-style: italic; font-weight: 500; line-height: 1.04; letter-spacing: -.04em; }
.contact-routing__status > p { max-width: 370px; margin: 13px 0 0; color: #6d808b; font-size: .59rem; line-height: 1.68; }

.contact-routing__details { border-top: 1px solid rgba(125, 157, 174, .3); }
.contact-routing__details > div { padding: 17px 0; display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 14px; }
.contact-routing__details > div + div { border-top: 1px solid rgba(125, 157, 174, .22); }
.contact-routing__details svg { width: 22px; height: 22px; fill: none; stroke: #2083b7; stroke-width: 1.65; }
.contact-routing__details span { display: grid; gap: 4px; }
.contact-routing__details small { color: #7d8f99; font-size: .4rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.contact-routing__details strong { color: #31566a; font-size: .67rem; }
.contact-routing__details em { color: #73858f; font-size: .52rem; font-style: normal; line-height: 1.55; }

/* Contact: interactive local-only brief composer. */
.service-brief {
  padding: 72px 0 78px;
  background: #fff;
}

.service-brief__panel {
  overflow: hidden;
  border: 1px solid rgba(130, 159, 176, .43);
  border-radius: 34px 34px 10px 34px;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr);
  background: #f8fafb;
  box-shadow: 0 25px 58px rgba(25, 58, 76, .08), inset 0 1px 0 #fff;
}

.service-brief__choices { padding: 31px 34px; }
.service-brief fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.service-brief fieldset + fieldset { margin-top: 28px; padding-top: 28px; border-top: 1px solid rgba(129, 157, 172, .27); }
.service-brief legend { width: 100%; margin: 0 0 17px; display: flex; align-items: center; gap: 12px; color: #365a6d; }
.service-brief legend span { color: #1680b8; font-size: .43rem; font-weight: 850; letter-spacing: .11em; }
.service-brief legend strong { font-size: .76rem; letter-spacing: -.02em; }
.service-brief fieldset > div { display: flex; flex-wrap: wrap; gap: 8px; }
.service-brief fieldset button {
  min-height: 39px;
  padding: 0 15px;
  border: 1px solid rgba(132, 160, 176, .34);
  border-radius: 999px;
  color: #4d6878;
  background: rgba(255,255,255,.82);
  font-size: .57rem;
  font-weight: 730;
  transition: color .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease);
}
.service-brief fieldset button:hover { color: #176f9f; border-color: rgba(41, 132, 180, .42); background: #fff; }
.service-brief fieldset button.is-selected,
.service-brief fieldset button[aria-pressed="true"] { color: #fff; border-color: #197eb4; background: linear-gradient(120deg, #2f5f77, #1681b9); box-shadow: 0 8px 18px rgba(25, 115, 166, .18); }

.service-brief__summary {
  position: relative;
  padding: 34px;
  border-left: 1px solid rgba(130, 159, 176, .3);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 100% 0%, rgba(53, 151, 202, .14), transparent 38%),
    linear-gradient(145deg, #e1ebef, #f8fafb);
}

.service-brief__summary-mark { width: 48px; height: 48px; margin-bottom: 22px; border: 1px solid rgba(44, 135, 182, .27); border-radius: 16px 16px 5px 16px; display: grid; place-items: center; color: #197fb6; background: rgba(255,255,255,.76); box-shadow: 0 9px 21px rgba(26,92,127,.08); }
.service-brief__summary-mark svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.service-brief__summary > small { color: #21759c; font-size: .42rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.service-brief__summary h3 { max-width: 350px; margin: 10px 0 10px; color: #294e62; font-family: "Newsreader", Georgia, serif; font-size: 1.9rem; font-style: italic; font-weight: 500; line-height: 1.03; letter-spacing: -.04em; }
.service-brief__summary > p { max-width: 370px; margin: 0; color: #6d808a; font-size: .57rem; line-height: 1.65; }
.service-brief__summary > button { min-height: 58px; margin-top: 23px; padding: 7px 9px 7px 16px; border-radius: 17px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: linear-gradient(125deg, #0a4a7a, #0d75b6 58%, #2799d8); box-shadow: 0 12px 25px rgba(16, 103, 162, .2), inset 0 1px 0 rgba(255,255,255,.2); }
.service-brief__summary > button span { display: grid; gap: 4px; text-align: left; }
.service-brief__summary > button small { color: rgba(229,244,252,.72); font-size: .4rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.service-brief__summary > button strong { font-size: .71rem; }
.service-brief__summary > button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.service-brief__summary > a { margin-top: 14px; display: inline-flex; align-items: center; gap: 8px; color: #527080; font-size: .52rem; }
.service-brief__summary > a svg { width: 16px; height: 16px; fill: none; stroke: #1e80b4; stroke-width: 1.8; }
.service-brief__summary > a strong { color: #28556c; }

.contact-footnote {
  padding: 0 0 76px;
  background: #fff;
}

.contact-footnote__frame {
  position: relative;
  min-height: 210px;
  padding: 36px 40px;
  overflow: hidden;
  border-top: 1px solid rgba(118, 153, 173, .42);
  border-bottom: 1px solid rgba(118, 153, 173, .42);
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(300px, .72fr) 220px;
  align-items: center;
  gap: 38px;
  background: linear-gradient(90deg, rgba(234,241,244,.88), rgba(252,253,253,.96), rgba(231,239,243,.78));
}

.contact-footnote__index { position: absolute; right: 28px; top: 18px; color: rgba(40, 100, 132, .09); font-size: 2.8rem; font-weight: 800; letter-spacing: -.06em; }
.contact-footnote h2 { margin: 14px 0 0; color: #173149; font-size: clamp(2.35rem, 3vw, 3.25rem); }
.contact-footnote h2 em { color: #187db8; }
.contact-footnote__frame > p { margin: 0; color: #687c88; font-size: .61rem; line-height: 1.68; }
.contact-footnote__frame > a { position: relative; z-index: 1; min-height: 53px; padding: 7px 9px 7px 16px; border: 1px solid rgba(52, 139, 185, .31); border-radius: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #1d658e; background: rgba(255,255,255,.75); font-size: .61rem; font-weight: 800; box-shadow: 0 9px 22px rgba(27, 81, 111, .08), inset 0 1px 0 #fff; }
.contact-footnote__frame > a svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }

/* Eight-link navigation remains balanced on desktop. */
@media (min-width: 981px) {
  .site-header--concierge .desktop-nav { gap: clamp(12px, 1.15vw, 19px); }
}

@media (min-width: 981px) and (max-width: 1120px) {
  .site-header--concierge .desktop-nav { gap: 11px; }
  .site-header--concierge .desktop-nav a { font-size: .71rem; }
  .site-header--concierge .brand,
  .site-header--concierge .brand img { width: 110px; }
  .site-header--concierge .header-contact { width: 141px; }
}

@media (max-width: 980px) {
  .inner-section-heading { grid-template-columns: minmax(0, 1fr) minmax(280px, .68fr); gap: 32px; }
  .about-credo__composition { grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr); }
  .about-credo__statement { padding-inline: 31px; }
  .about-credo__principles li { padding-inline: 24px; gap: 16px; }
  .about-signature__rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-signature__rail article:nth-child(3) { border-left: 0; }
  .about-signature__rail article:nth-child(n+3) { border-top: 1px solid rgba(133, 160, 175, .26); }
  .about-closing__frame { grid-template-columns: 90px minmax(0, 1fr); }
  .about-closing__actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .contact-routing__frame,
  .service-brief__panel { grid-template-columns: minmax(0, 1fr) minmax(290px, .72fr); }
  .contact-routing__channels > a,
  .contact-routing__channels > button { grid-template-columns: 28px 45px minmax(0, 1fr) 30px; gap: 13px; padding-inline: 20px; }
  .contact-routing__icon { width: 45px; height: 45px; }
  .contact-routing__now,
  .service-brief__summary { padding: 28px; }
  .contact-footnote__frame { grid-template-columns: 1fr 1fr; }
  .contact-footnote__frame > a { width: min(100%, 260px); }
}

@media (max-width: 760px) {
  .inner-page { --inner-display-size: clamp(2.42rem, 10.4vw, 3rem); }
  .inner-page main .brands-hero h1,
  .inner-page main .inner-section-heading h2 { line-height: .95; letter-spacing: -.055em; }
  .inner-page .brands-hero__media > img { object-position: 68% center; }
  .contact-page .brands-hero__media > img { object-position: 72% center; }
  .inner-section-heading { margin-bottom: 24px; grid-template-columns: 1fr; align-items: start; gap: 20px; }
  .inner-section-heading > aside { max-width: 500px; padding: 15px 0 0; border-top: 1px solid rgba(45,127,171,.23); border-left: 0; }
  .about-credo,
  .about-signature,
  .contact-routing,
  .service-brief { padding-block: 54px 58px; }
  .about-credo__composition { grid-template-columns: 1fr; border-radius: 27px 27px 8px 27px; }
  .about-credo__statement { min-height: 365px; padding: 36px 28px; }
  .about-credo__principles li { min-height: 145px; grid-template-columns: 33px minmax(0, 1fr) 25px; }
  .about-signature__rail { grid-template-columns: 1fr; }
  .about-signature__rail article { min-height: 0; padding: 23px; display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 16px; }
  .about-signature__rail article + article { border-left: 0; border-top: 1px solid rgba(133,160,175,.26); }
  .about-signature__rail article > span { top: 12px; }
  .about-signature__icon { margin: 0; }
  .about-signature__rail article > div:last-child { padding-right: 36px; }
  .about-closing { padding-bottom: 58px; }
  .about-closing__frame { padding: 31px 27px; grid-template-columns: 72px minmax(0, 1fr); gap: 24px; border-radius: 27px 27px 8px 27px; }
  .about-closing__seal { width: 72px; height: 72px; }
  .about-closing__seal span { font-size: 2.55rem; }
  .about-closing__copy h2 { font-size: clamp(2.1rem, 8.8vw, 2.7rem); }
  .about-closing__actions { grid-template-columns: 1fr; }
  .contact-routing__frame,
  .service-brief__panel { grid-template-columns: 1fr; border-radius: 27px 27px 8px 27px; }
  .contact-routing__now,
  .service-brief__summary { border-top: 1px solid rgba(130,159,176,.3); border-left: 0; }
  .contact-routing__channels > a,
  .contact-routing__channels > button { min-height: 116px; }
  .service-brief__choices { padding: 27px 24px; }
  .contact-footnote { padding-bottom: 58px; }
  .contact-footnote__frame { min-height: 0; padding: 31px 26px; grid-template-columns: 1fr; gap: 22px; }
  .contact-footnote__index { font-size: 2.2rem; }
}

@media (max-width: 470px) {
  .about-credo__principles li { padding: 23px 18px; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; }
  .about-credo__principles li > svg { display: none; }
  .about-closing__frame { grid-template-columns: 1fr; }
  .about-closing__seal { width: 66px; height: 66px; }
  .about-closing__actions { grid-column: auto; }
  .contact-routing__channels > a,
  .contact-routing__channels > button { padding: 19px 16px; grid-template-columns: 42px minmax(0, 1fr) 27px; gap: 12px; }
  .contact-routing__number { display: none; }
  .contact-routing__icon { width: 42px; height: 42px; }
  .contact-routing__copy em { display: none; }
  .contact-routing__now,
  .service-brief__summary { padding: 25px 21px; }
  .service-brief__choices { padding: 24px 19px; }
  .service-brief fieldset button { min-height: 37px; padding-inline: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .about-credo__principles li,
  .about-credo__principles svg,
  .about-signature__rail article,
  .contact-routing__channels > a,
  .contact-routing__channels > button,
  .contact-routing__arrow { transition-duration: .01ms !important; transform: none !important; }
}

/* ==========================================================
   WORK GALLERY V1 — A VISUAL SERVICE LEDGER
   One active editorial frame with a filterable contact sheet.
   Unlike a conventional card grid, the gallery reads as a
   single continuous record of KinFix service categories.
   ========================================================== */

.gallery-page .brands-hero__media > img { object-position: 58% center; }

.work-journal {
  position: relative;
  padding: 70px 0 78px;
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 12%, rgba(37, 139, 191, .07), transparent 27%),
    linear-gradient(180deg, #edf3f5 0%, #f8fafb 45%, #fff 100%);
}

.work-journal::before {
  content: "KFX / WORK";
  position: absolute;
  right: -10px;
  top: 155px;
  color: rgba(35, 93, 123, .035);
  font-size: clamp(4.8rem, 10vw, 9rem);
  font-weight: 800;
  letter-spacing: -.075em;
  line-height: 1;
  pointer-events: none;
}

.work-ledger {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(118, 151, 169, .48);
  border-radius: 34px 34px 10px 34px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 28px 68px rgba(22, 58, 78, .09), inset 0 1px 0 #fff;
}

.work-ledger__toolbar {
  min-height: 66px;
  padding: 10px 17px 10px 21px;
  border-bottom: 1px solid rgba(125, 156, 173, .31);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: linear-gradient(90deg, rgba(242, 247, 249, .92), rgba(255, 255, 255, .97));
}

.work-ledger__filters { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }

.work-ledger__filters button {
  min-height: 38px;
  padding: 0 15px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #637985;
  background: transparent;
  font-size: .52rem;
  font-weight: 790;
  letter-spacing: .015em;
  transition: color .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease);
}

.work-ledger__filters button:hover { color: #176f9f; background: rgba(232, 242, 247, .75); }
.work-ledger__filters button.is-active,
.work-ledger__filters button[aria-pressed="true"] {
  color: #fff;
  border-color: rgba(35, 129, 181, .42);
  background: linear-gradient(125deg, #345e73, #1680b8);
  box-shadow: 0 8px 18px rgba(24, 111, 159, .15), inset 0 1px 0 rgba(255,255,255,.2);
}

.work-ledger__filters button:focus-visible,
.work-ledger__item:focus-visible,
.work-ledger__controls button:focus-visible,
.work-ledger__book:focus-visible { outline: 2px solid #2191c9; outline-offset: 3px; }

.work-ledger__counter {
  flex: 0 0 auto;
  min-width: 76px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  color: #83949d;
  font-size: .56rem;
  font-weight: 760;
}

.work-ledger__counter strong { color: #177caf; font-size: .82rem; }
.work-ledger__counter i { width: 18px; height: 1px; background: rgba(91, 126, 145, .4); }

.work-ledger__stage {
  min-height: 545px;
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(350px, .72fr);
  background: #f5f8f9;
}

.work-ledger__visual {
  position: relative;
  min-width: 0;
  min-height: 545px;
  margin: 0;
  overflow: hidden;
  background: #dce5e9;
}

.work-ledger__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 63%, rgba(11, 36, 50, .13)),
    linear-gradient(0deg, rgba(5, 24, 36, .52), transparent 37%);
  pointer-events: none;
}

.work-ledger__visual > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.001);
  transition: opacity .24s var(--ease), transform .7s var(--ease);
}

.work-ledger__stage.is-updating .work-ledger__visual > img { opacity: .42; transform: scale(1.012); }

.work-ledger__visual figcaption {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 28px;
  bottom: 25px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  color: #fff;
}

.work-ledger__visual figcaption span {
  font-size: .45rem;
  font-weight: 820;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.work-ledger__visual figcaption strong { font-size: .73rem; font-weight: 720; letter-spacing: -.015em; }

.work-ledger__story {
  position: relative;
  min-width: 0;
  padding: 38px 35px 31px;
  border-left: 1px solid rgba(121, 153, 170, .3);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 100% 0%, rgba(49, 148, 198, .13), transparent 36%),
    linear-gradient(145deg, #eef4f6, #fbfcfc 65%);
}

.work-ledger__story::after {
  content: "K";
  position: absolute;
  right: 20px;
  bottom: 8px;
  color: rgba(31, 100, 136, .045);
  font-family: "Newsreader", Georgia, serif;
  font-size: 8rem;
  font-style: italic;
  line-height: .8;
  pointer-events: none;
}

.work-ledger__story-index {
  position: absolute;
  right: 29px;
  top: 25px;
  display: grid;
  justify-items: end;
  gap: 3px;
}

.work-ledger__story-index span { color: #899aa3; font-size: .38rem; font-weight: 820; letter-spacing: .12em; text-transform: uppercase; }
.work-ledger__story-index strong { color: rgba(32, 113, 154, .2); font-size: 2.15rem; line-height: 1; letter-spacing: -.06em; }

.work-ledger__overline {
  padding-right: 80px;
  color: #187eaf;
  font-size: .44rem;
  font-weight: 840;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.work-ledger__story h3 {
  max-width: 430px;
  margin: 17px 0 14px;
  color: #23485c;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(2rem, 2.6vw, 2.75rem);
  font-style: italic;
  font-weight: 500;
  line-height: .99;
  letter-spacing: -.045em;
}

.work-ledger__story > p { max-width: 430px; margin: 0; color: #697d88; font-size: .61rem; line-height: 1.7; }

.work-ledger__proofs { margin: 25px 0 0; padding: 20px 0 0; border-top: 1px solid rgba(120, 153, 170, .29); display: grid; gap: 12px; }
.work-ledger__proofs li { display: flex; align-items: center; gap: 10px; color: #466577; font-size: .55rem; font-weight: 650; }
.work-ledger__proofs svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: #1782b8; stroke-width: 2; }

.work-ledger__book {
  position: relative;
  z-index: 1;
  min-height: 59px;
  margin-top: 26px;
  padding: 7px 11px 7px 16px;
  border: 1px solid rgba(37, 132, 190, .42);
  border-radius: 17px 17px 5px 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #fff;
  text-align: left;
  background: linear-gradient(125deg, #345f75 0%, #0f76b2 58%, #2798d4 100%);
  box-shadow: 0 12px 27px rgba(19, 103, 153, .2), inset 0 1px 0 rgba(255,255,255,.2);
  transition: box-shadow .24s var(--ease), transform .24s var(--ease);
}

.work-ledger__book:hover { transform: translateY(-2px); box-shadow: 0 16px 31px rgba(19, 103, 153, .24), inset 0 1px 0 rgba(255,255,255,.22); }
.work-ledger__book span { display: grid; gap: 4px; }
.work-ledger__book small { color: rgba(226, 243, 251, .7); font-size: .39rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.work-ledger__book strong { font-size: .68rem; }
.work-ledger__book > svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.work-ledger__controls { position: relative; z-index: 1; margin-top: 16px; display: flex; gap: 7px; }
.work-ledger__controls button { width: 37px; height: 37px; border: 1px solid rgba(91, 138, 163, .26); border-radius: 50%; display: grid; place-items: center; color: #3c7c9e; background: rgba(255,255,255,.68); transition: color .22s var(--ease), background .22s var(--ease), border-color .22s var(--ease); }
.work-ledger__controls button:hover { color: #147caf; border-color: rgba(38, 133, 184, .4); background: #fff; }
.work-ledger__controls svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.work-ledger__rail {
  padding: 13px;
  border-top: 1px solid rgba(124, 156, 173, .31);
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(115px, 1fr);
  gap: 7px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: rgba(49, 126, 166, .35) transparent;
  background: linear-gradient(180deg, #f2f6f7, #fff);
}

.work-ledger__item {
  position: relative;
  min-width: 0;
  min-height: 138px;
  padding: 14px 11px 11px;
  border: 1px solid rgba(124, 155, 171, .25);
  border-radius: 16px 16px 5px 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  color: #fff;
  text-align: left;
  background: #315161;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
  transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease), opacity .2s var(--ease);
  scroll-snap-align: center;
}

.work-ledger__item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,26,38,.86), rgba(7,26,38,.12) 73%); }
.work-ledger__item > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--ease), filter .3s var(--ease); }
.work-ledger__item > span,
.work-ledger__item > strong,
.work-ledger__item > small { position: relative; z-index: 1; }
.work-ledger__item > span { position: absolute; left: 10px; top: 9px; color: rgba(255,255,255,.77); font-size: .4rem; font-weight: 840; letter-spacing: .09em; }
.work-ledger__item > strong { width: 100%; overflow: hidden; font-size: .59rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.work-ledger__item > small { margin-top: 4px; color: rgba(222,239,247,.65); font-size: .38rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.work-ledger__item:hover { transform: translateY(-3px); border-color: rgba(70, 166, 214, .58); }
.work-ledger__item:hover > img { transform: scale(1.045); }
.work-ledger__item.is-active,
.work-ledger__item[aria-pressed="true"] { border-color: #61bee9; box-shadow: 0 0 0 2px rgba(76, 172, 219, .16), 0 10px 22px rgba(18, 70, 99, .16); transform: translateY(-3px); }
.work-ledger__item.is-filtered { display: none; }

.work-handoff {
  margin-top: 30px;
  border-top: 1px solid rgba(115, 150, 169, .36);
  border-bottom: 1px solid rgba(115, 150, 169, .36);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: linear-gradient(90deg, rgba(237,243,245,.75), #fff, rgba(233,241,244,.68));
}

.work-handoff > div { position: relative; min-height: 132px; padding: 25px 28px 24px 62px; display: flex; flex-direction: column; justify-content: center; }
.work-handoff > div + div { border-left: 1px solid rgba(118, 151, 169, .3); }
.work-handoff span { position: absolute; left: 24px; top: 25px; color: rgba(25, 111, 154, .27); font-size: .48rem; font-weight: 850; letter-spacing: .08em; }
.work-handoff small { color: #187dac; font-size: .42rem; font-weight: 840; letter-spacing: .11em; text-transform: uppercase; }
.work-handoff strong { max-width: 300px; margin-top: 8px; color: #3d5f71; font-size: .72rem; line-height: 1.42; letter-spacing: -.018em; }

.gallery-booking .brands-booking__frame > img { object-position: center; }
.gallery-page main .gallery-booking .brands-booking__copy h2 {
  max-width: 650px;
  margin: 16px 0 14px;
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: var(--inner-display-size);
  font-weight: 740;
  line-height: var(--inner-display-line);
  letter-spacing: var(--inner-display-tracking);
}
.gallery-page main .gallery-booking .brands-booking__copy h2 em { display: inline-block; margin-top: 4px; padding-right: .04em; font-family: "Newsreader", Georgia, serif; font-weight: 500; letter-spacing: -.045em; }

/* Nine links still read as one compact navigation line. */
@media (min-width: 981px) {
  .site-header--concierge .desktop-nav { gap: clamp(9px, .92vw, 15px); }
  .site-header--concierge .desktop-nav a { font-size: clamp(.65rem, .72vw, .72rem); }
}

@media (max-width: 1080px) {
  .work-ledger__stage { grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr); }
  .work-ledger__story { padding-inline: 29px; }
  .work-ledger__rail { grid-auto-columns: 128px; }
}

@media (max-width: 820px) {
  .work-journal { padding-block: 56px 62px; }
  .work-ledger { border-radius: 28px 28px 8px 28px; }
  .work-ledger__toolbar { align-items: flex-start; }
  .work-ledger__stage { grid-template-columns: 1fr; }
  .work-ledger__visual { min-height: 485px; }
  .work-ledger__story { min-height: 470px; border-top: 1px solid rgba(121,153,170,.3); border-left: 0; }
  .work-ledger__rail { grid-auto-columns: 135px; }
  .work-handoff { grid-template-columns: 1fr; }
  .work-handoff > div { min-height: 104px; }
  .work-handoff > div + div { border-top: 1px solid rgba(118,151,169,.3); border-left: 0; }
}

@media (max-width: 760px) {
  .gallery-page .brands-hero__media > img { object-position: 72% center; }
  .work-journal::before { display: none; }
  .work-ledger__toolbar { padding: 13px; }
  .work-ledger__filters { flex: 1 1 auto; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .work-ledger__filters::-webkit-scrollbar { display: none; }
  .work-ledger__filters button { flex: 0 0 auto; }
  .work-ledger__visual { min-height: 420px; }
  .work-ledger__visual figcaption { left: 20px; right: 20px; bottom: 19px; }
  .work-ledger__story { min-height: 0; padding: 34px 25px 27px; }
  .work-ledger__story h3 { font-size: clamp(2rem, 9vw, 2.55rem); }
  .work-ledger__rail { padding: 10px; grid-auto-columns: 128px; }
  .work-ledger__item { min-height: 132px; scroll-snap-align: center; }
  .gallery-booking .brands-booking__frame > img { object-position: 68% center; }
}

@media (max-width: 470px) {
  .work-ledger__counter { display: none; }
  .work-ledger__visual { min-height: 365px; }
  .work-ledger__visual figcaption { align-items: flex-start; flex-direction: column; gap: 5px; }
  .work-ledger__story-index { right: 21px; }
  .work-ledger__overline { padding-right: 64px; }
  .work-handoff > div { padding-left: 54px; padding-right: 20px; }
  .work-handoff span { left: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  .work-ledger__visual > img,
  .work-ledger__filters button,
  .work-ledger__item,
  .work-ledger__item > img,
  .work-ledger__book,
  .work-ledger__controls button { transition-duration: .01ms !important; transform: none !important; }
}

/* ==========================================================
   WORK GALLERY V2 — COMPACT SERVICE DOSSIER
   The active repair and the archive now carry equal visual
   weight: a concise case file above, substantial cards below.
   ========================================================== */

.work-ledger {
  border-color: rgba(113, 149, 168, .42);
  border-radius: 30px 30px 9px 30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(46, 149, 199, .08), transparent 26%),
    linear-gradient(155deg, rgba(247, 250, 251, .98), rgba(236, 242, 245, .92));
  box-shadow: 0 24px 58px rgba(25, 62, 81, .09), inset 0 1px 0 #fff;
}

.work-ledger__toolbar {
  min-height: 60px;
  padding: 9px 17px 9px 19px;
  background: rgba(255, 255, 255, .78);
  backdrop-filter: blur(16px);
}

.work-ledger__stage {
  min-height: 0;
  margin: 17px 17px 0;
  padding: 13px;
  gap: 13px;
  grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr);
  background: rgba(223, 232, 236, .56);
  border: 1px solid rgba(112, 149, 168, .25);
  border-radius: 24px 24px 7px 24px;
}

.work-ledger__visual {
  min-height: 438px;
  border: 1px solid rgba(211, 227, 235, .45);
  border-radius: 19px 19px 5px 19px;
  box-shadow: 0 15px 31px rgba(20, 49, 64, .12);
}

.work-ledger__visual::after {
  background:
    linear-gradient(90deg, transparent 72%, rgba(8, 30, 42, .09)),
    linear-gradient(0deg, rgba(5, 24, 36, .48), transparent 34%);
}

.work-ledger__visual figcaption { left: 23px; right: 23px; bottom: 21px; }

.work-ledger__story {
  min-height: 438px;
  padding: 31px 29px 25px;
  border: 1px solid rgba(119, 153, 171, .27);
  border-radius: 19px 19px 5px 19px;
  justify-content: center;
  background:
    radial-gradient(circle at 100% 0%, rgba(53, 151, 199, .11), transparent 35%),
    linear-gradient(145deg, rgba(247, 250, 251, .98), #fff 68%);
  box-shadow: inset 0 1px 0 #fff;
}

.work-ledger__story-index { right: 23px; top: 20px; }
.work-ledger__story-index strong { font-size: 1.72rem; }
.work-ledger__story h3 { max-width: 390px; margin: 14px 0 11px; font-size: clamp(2rem, 2.35vw, 2.5rem); }
.work-ledger__story > p { max-width: 410px; line-height: 1.62; }
.work-ledger__proofs { margin-top: 18px; padding-top: 16px; gap: 10px; }
.work-ledger__book { min-height: 54px; margin-top: 20px; border-radius: 15px 15px 5px 15px; }
.work-ledger__controls { margin-top: 11px; }
.work-ledger__controls button { width: 34px; height: 34px; }

.work-ledger__browser {
  margin-top: 17px;
  border-top: 1px solid rgba(111, 149, 168, .28);
  background: linear-gradient(180deg, rgba(255, 255, 255, .64), rgba(245, 248, 249, .92));
}

.work-ledger__browser-head {
  min-height: 73px;
  padding: 14px 19px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.work-ledger__browser-head > div { display: grid; gap: 5px; }
.work-ledger__browser-head span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #197dac;
  font-size: .42rem;
  font-weight: 840;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.work-ledger__browser-head span i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #35b582;
  box-shadow: 0 0 0 5px rgba(53, 181, 130, .1);
}
.work-ledger__browser-head strong { color: #38596a; font-size: .67rem; font-weight: 720; letter-spacing: -.015em; }
.work-ledger__browser-head p {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #81939c;
  font-size: .44rem;
  font-weight: 760;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.work-ledger__browser-head p svg { width: 16px; height: 16px; fill: none; stroke: #2789b8; stroke-width: 1.8; }

.work-ledger__rail {
  padding: 0 18px 18px;
  border-top: 0;
  grid-auto-columns: clamp(205px, 19vw, 244px);
  gap: 11px;
  background: transparent;
}

.work-ledger__item {
  min-height: 218px;
  padding: 17px 16px 15px;
  border-color: rgba(124, 157, 174, .34);
  border-radius: 21px 21px 6px 21px;
  box-shadow: 0 9px 21px rgba(23, 62, 82, .08), inset 0 1px 0 rgba(255,255,255,.12);
}

.work-ledger__item::after {
  background: linear-gradient(0deg, rgba(7, 25, 36, .9), rgba(7, 25, 36, .06) 72%);
}

.work-ledger__item[data-work-stage-family]::before {
  content: "Documented";
  position: absolute;
  z-index: 2;
  right: 11px;
  top: 11px;
  min-height: 22px;
  padding: 0 8px;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 999px;
  display: flex;
  align-items: center;
  color: rgba(255, 255, 255, .86);
  background: rgba(12, 50, 70, .48);
  backdrop-filter: blur(10px);
  font-size: .34rem;
  font-weight: 830;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.work-ledger__item > span {
  left: 11px;
  top: 11px;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(10, 39, 54, .38);
  backdrop-filter: blur(8px);
  font-size: .38rem;
}

.work-ledger__item > strong {
  width: auto;
  max-width: 100%;
  min-height: 2.25em;
  overflow: visible;
  font-size: .72rem;
  line-height: 1.13;
  letter-spacing: -.02em;
  text-overflow: clip;
  white-space: normal;
}
.work-ledger__item > small { margin-top: 7px; font-size: .42rem; }
.work-ledger__item:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(20, 65, 88, .16); }
.work-ledger__item.is-active,
.work-ledger__item[aria-pressed="true"] { transform: translateY(-4px); box-shadow: 0 0 0 2px rgba(72, 171, 220, .18), 0 17px 32px rgba(18, 69, 96, .17); }

@media (max-width: 1080px) {
  .work-ledger__stage { grid-template-columns: minmax(0, 1fr) minmax(370px, .94fr); }
  .work-ledger__visual,
  .work-ledger__story { min-height: 418px; }
  .work-ledger__story { padding-inline: 25px; }
  .work-ledger__rail { grid-auto-columns: 218px; }
}

@media (max-width: 820px) {
  .work-ledger__stage { margin: 13px 13px 0; padding: 11px; grid-template-columns: 1fr; gap: 11px; }
  .work-ledger__visual { min-height: 390px; }
  .work-ledger__story { min-height: 0; padding: 32px 26px 27px; }
  .work-ledger__browser { margin-top: 13px; }
  .work-ledger__rail { grid-auto-columns: 215px; }
}

@media (max-width: 760px) {
  .work-ledger__stage { margin: 10px 10px 0; padding: 9px; }
  .work-ledger__visual { min-height: 330px; }
  .work-ledger__story { padding: 31px 23px 25px; }
  .work-ledger__story h3 { font-size: clamp(2rem, 8.2vw, 2.4rem); }
  .work-ledger__browser-head { min-height: 67px; padding-inline: 14px; }
  .work-ledger__browser-head p { display: none; }
  .work-ledger__rail { padding: 0 10px 13px; grid-auto-columns: 205px; gap: 9px; }
  .work-ledger__item { min-height: 205px; }
}

@media (max-width: 470px) {
  .work-ledger__visual { min-height: 292px; }
  .work-ledger__story { padding-inline: 20px; }
  .work-ledger__story h3 { font-size: 2.05rem; }
  .work-ledger__browser-head strong { font-size: .62rem; }
  .work-ledger__rail { grid-auto-columns: 76vw; }
  .work-ledger__item { min-height: 224px; }
}

/* ==========================================================
   KINFIX FIELD NOTES V1 — EDITORIAL SERVICE JOURNAL
   ========================================================== */

.blog-page,
.article-page {
  --blog-ink: #223f50;
  --blog-copy: #687b86;
  --blog-blue: #187dad;
  --blog-line: rgba(105, 143, 163, .28);
  --blog-paper: #f6f8f8;
}

.blog-page .brands-hero__media > img { object-position: 69% center; }
.blog-page .brands-hero__veil {
  background:
    linear-gradient(90deg, rgba(16, 37, 49, .94) 0%, rgba(16, 37, 49, .82) 27%, rgba(16, 37, 49, .32) 55%, rgba(16, 37, 49, .02) 78%),
    linear-gradient(0deg, rgba(11, 29, 40, .2), transparent 44%);
}
.blog-page .brands-hero__facts span:first-child strong,
.article-page .brands-hero__facts span:first-child strong { font-size: clamp(.82rem, 1.05vw, 1rem); letter-spacing: -.02em; }

.blog-journal {
  position: relative;
  padding: 78px 0 82px;
  overflow: hidden;
  background:
    radial-gradient(circle at 96% 7%, rgba(92, 174, 213, .14), transparent 27%),
    linear-gradient(180deg, #f9faf9 0%, #eef3f4 44%, #f9faf9 100%);
}

.blog-journal::before {
  content: "FIELD NOTES";
  position: absolute;
  right: -1.2vw;
  top: 22px;
  color: rgba(29, 105, 143, .035);
  font-size: clamp(4.5rem, 10vw, 9rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.08em;
  pointer-events: none;
}

.blog-feature {
  position: relative;
  min-height: 486px;
  margin-top: 34px;
  border: 1px solid rgba(111, 146, 164, .29);
  border-radius: 34px 34px 9px 34px;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(390px, .9fr);
  color: inherit;
  background: rgba(255,255,255,.82);
  box-shadow: 0 24px 56px rgba(46, 79, 95, .1), inset 0 1px 0 #fff;
  isolation: isolate;
}

.blog-feature::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 18px;
  right: 18px;
  width: 92px;
  height: 92px;
  border-top: 1px solid rgba(50, 137, 181, .32);
  border-right: 1px solid rgba(50, 137, 181, .32);
  border-radius: 0 22px 0 0;
  pointer-events: none;
}

.blog-feature figure { position: relative; min-height: 486px; overflow: hidden; background: #dfe7ea; }
.blog-feature figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 52%, rgba(20, 42, 54, .12)), linear-gradient(0deg, rgba(11,31,42,.6), transparent 44%); }
.blog-feature figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .75s var(--ease), filter .5s var(--ease); }
.blog-feature figure > span {
  position: absolute;
  z-index: 2;
  left: 26px;
  bottom: 24px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 999px;
  color: #fff;
  font-size: .43rem;
  font-weight: 830;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: rgba(23, 51, 66, .38);
  backdrop-filter: blur(10px);
}

.blog-feature__copy { position: relative; padding: 58px 54px 46px; display: flex; flex-direction: column; justify-content: center; }
.blog-feature__folio { position: absolute; right: 49px; top: 52px; color: rgba(30, 119, 163, .23); font-size: .5rem; font-weight: 850; letter-spacing: .12em; }
.blog-feature__copy h3 { max-width: 490px; margin: 25px 0 18px; color: var(--blog-ink); font-size: clamp(2.35rem, 3.45vw, 3.85rem); font-weight: 720; line-height: .94; letter-spacing: -.062em; }
.blog-feature__copy h3 em { color: #2185b3; font-family: "Newsreader", Georgia, serif; font-weight: 500; }
.blog-feature__copy > p { max-width: 470px; margin: 0; color: var(--blog-copy); font-size: .67rem; line-height: 1.72; }
.blog-feature__copy ul { margin: 23px 0 27px; padding: 18px 0 0; border-top: 1px solid var(--blog-line); display: grid; gap: 10px; }
.blog-feature__copy li { position: relative; padding-left: 17px; color: #526c7a; font-size: .53rem; font-weight: 630; }
.blog-feature__copy li::before { content: ""; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; border-radius: 50%; background: #32a1d3; box-shadow: 0 0 0 4px rgba(50,161,211,.11); }
.blog-feature:hover figure img { transform: scale(1.035); filter: saturate(1.04); }

.blog-note__meta { display: flex; align-items: center; gap: 9px; color: #2685b1; font-size: .43rem; font-weight: 830; letter-spacing: .11em; text-transform: uppercase; }
.blog-note__meta i { width: 18px; height: 1px; background: rgba(52, 132, 172, .34); }
.blog-note__link { margin-top: auto; display: inline-flex; align-items: center; gap: 10px; color: #246f95; font-size: .55rem; font-weight: 760; }
.blog-note__link svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .22s var(--ease); }
.blog-feature:hover .blog-note__link svg,
.blog-note:hover .blog-note__link svg { transform: translateX(4px); }

.blog-pathbar {
  min-height: 82px;
  margin: 26px 0 18px;
  padding: 15px 18px 15px 24px;
  border: 1px solid rgba(110, 148, 167, .27);
  border-radius: 22px 22px 6px 22px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 27px;
  background: rgba(255,255,255,.75);
  box-shadow: inset 0 1px 0 #fff;
  backdrop-filter: blur(12px);
}

.blog-pathbar > div:first-child { display: grid; gap: 5px; }
.blog-pathbar > div:first-child span { color: #2985ae; font-size: .4rem; font-weight: 830; letter-spacing: .12em; text-transform: uppercase; }
.blog-pathbar > div:first-child strong { color: #3b5969; font-size: .66rem; }
.blog-pathbar__filters { display: flex; justify-content: center; gap: 6px; }
.blog-pathbar__filters button {
  min-height: 35px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #6b7e88;
  font-size: .48rem;
  font-weight: 720;
  background: transparent;
  transition: color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}
.blog-pathbar__filters button:hover { color: #237da8; border-color: rgba(53,143,187,.23); background: rgba(244,249,250,.8); }
.blog-pathbar__filters button.is-active,
.blog-pathbar__filters button[aria-pressed="true"] { color: #fff; border-color: #2587b7; background: linear-gradient(135deg, #456a7d, #167db5); box-shadow: 0 7px 16px rgba(33, 124, 170, .17); }
.blog-pathbar__count { min-width: 64px; padding-left: 18px; border-left: 1px solid var(--blog-line); color: #82919a; font-size: .42rem; font-weight: 730; letter-spacing: .08em; text-transform: uppercase; }
.blog-pathbar__count strong { margin-right: 4px; color: #217fad; font-size: .8rem; }

.blog-notes { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
.blog-note {
  position: relative;
  min-height: 374px;
  border: 1px solid rgba(110, 148, 167, .28);
  border-radius: 28px 28px 7px 28px;
  overflow: hidden;
  display: grid;
  color: inherit;
  background: rgba(255,255,255,.86);
  box-shadow: 0 14px 34px rgba(50, 84, 101, .075), inset 0 1px 0 #fff;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}

.blog-note::after {
  content: "";
  position: absolute;
  z-index: 3;
  right: -1px;
  bottom: -1px;
  width: 36px;
  height: 36px;
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
  background: linear-gradient(135deg, transparent 48%, rgba(51,143,187,.22) 49%);
  pointer-events: none;
}

.blog-note:nth-child(1),
.blog-note:nth-child(4) { grid-column: span 7; grid-template-columns: minmax(210px, .92fr) minmax(0, 1.08fr); }
.blog-note:nth-child(2),
.blog-note:nth-child(3) { grid-column: span 5; grid-template-rows: 180px 1fr; }
.blog-note figure { position: relative; min-height: 0; overflow: hidden; background: #dce5e8; }
.blog-note figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11,32,44,.5), transparent 53%); }
.blog-note figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .62s var(--ease), filter .4s var(--ease); }
.blog-note figure span { position: absolute; z-index: 2; left: 18px; bottom: 16px; color: #fff; font-size: .42rem; font-weight: 840; letter-spacing: .12em; text-transform: uppercase; }
.blog-note__body { position: relative; min-width: 0; padding: 31px 30px 28px; display: flex; flex-direction: column; }
.blog-note__number { position: absolute; right: 24px; top: 24px; color: rgba(34, 124, 169, .18); font-size: 1.85rem; font-weight: 800; line-height: 1; letter-spacing: -.06em; }
.blog-note__body .blog-note__meta { padding-right: 54px; }
.blog-note__body h3 { max-width: 420px; margin: 29px 0 13px; color: var(--blog-ink); font-size: clamp(1.6rem, 2.15vw, 2.45rem); font-weight: 710; line-height: .98; letter-spacing: -.052em; }
.blog-note__body h3 em { color: #2587b4; font-family: "Newsreader", Georgia, serif; font-weight: 500; }
.blog-note__body p { max-width: 430px; margin: 0 0 23px; color: var(--blog-copy); font-size: .59rem; line-height: 1.68; }
.blog-note:hover { transform: translateY(-5px); border-color: rgba(61, 151, 196, .45); box-shadow: 0 22px 44px rgba(42, 83, 104, .12), inset 0 1px 0 #fff; }
.blog-note:hover figure img { transform: scale(1.045); filter: saturate(1.05); }
.blog-note[hidden] { display: none !important; }

.blog-compass {
  margin-top: 28px;
  border-top: 1px solid var(--blog-line);
  border-bottom: 1px solid var(--blog-line);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: linear-gradient(90deg, rgba(239,244,245,.8), rgba(255,255,255,.9), rgba(237,243,245,.8));
}

.blog-compass > div { position: relative; min-height: 122px; padding: 24px 26px 23px 60px; display: flex; flex-direction: column; justify-content: center; }
.blog-compass > div + div { border-left: 1px solid var(--blog-line); }
.blog-compass span { position: absolute; left: 23px; top: 27px; color: rgba(27, 122, 168, .23); font-size: .48rem; font-weight: 850; }
.blog-compass small { color: #2382ae; font-size: .41rem; font-weight: 840; letter-spacing: .11em; text-transform: uppercase; }
.blog-compass strong { max-width: 310px; margin-top: 7px; color: #496676; font-size: .67rem; line-height: 1.43; }

.blog-booking .brands-booking__frame > img { object-position: 70% center; }
.blog-page main .blog-booking .brands-booking__copy h2,
.article-page main .article-booking .brands-booking__copy h2 {
  max-width: 670px;
  margin: 16px 0 14px;
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: var(--inner-display-size);
  font-weight: 740;
  line-height: var(--inner-display-line);
  letter-spacing: var(--inner-display-tracking);
}
.blog-page main .blog-booking .brands-booking__copy h2 em,
.article-page main .article-booking .brands-booking__copy h2 em { display: inline-block; margin-top: 4px; padding-right: .04em; font-family: "Newsreader", Georgia, serif; font-weight: 500; letter-spacing: -.045em; }

/* Article reader */
.article-page .brands-hero__media > img { object-position: 66% center; }
.article-page .article-hero .brands-hero__veil {
  background: linear-gradient(90deg, rgba(18,39,50,.95) 0%, rgba(18,39,50,.83) 30%, rgba(18,39,50,.26) 59%, rgba(18,39,50,.04) 82%);
}
.article-page .article-hero .brands-hero__copy h1 { max-width: 690px; }

.article-reader { padding: 52px 0 80px; background: linear-gradient(180deg, #f7f9f9, #fff 28%, #f3f6f6 100%); }
.article-back { width: max-content; display: inline-flex; align-items: center; gap: 9px; color: #4d7285; font-size: .5rem; font-weight: 730; }
.article-back svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .2s var(--ease); }
.article-back:hover svg { transform: translateX(-3px); }

.article-reader__layout { margin-top: 26px; display: grid; grid-template-columns: 238px minmax(0, 760px); justify-content: center; gap: clamp(54px, 7vw, 106px); align-items: start; }
.article-toc { position: sticky; top: 102px; padding: 23px 21px; border: 1px solid rgba(108, 148, 169, .28); border-radius: 22px 22px 6px 22px; background: rgba(255,255,255,.82); box-shadow: 0 14px 30px rgba(46,82,100,.07); backdrop-filter: blur(12px); }
.article-toc > span { color: #2a82ab; font-size: .42rem; font-weight: 840; letter-spacing: .12em; text-transform: uppercase; }
.article-toc nav { margin-top: 17px; padding-top: 9px; border-top: 1px solid var(--blog-line); display: grid; }
.article-toc nav a { padding: 11px 0; border-bottom: 1px solid rgba(108,148,169,.17); display: grid; grid-template-columns: 25px 1fr; gap: 8px; color: #607885; font-size: .49rem; line-height: 1.35; }
.article-toc nav a span { color: rgba(30,122,166,.44); font-size: .39rem; font-weight: 850; }
.article-toc nav a:hover { color: #1f7fac; }
.article-toc > button { width: 100%; min-height: 54px; margin-top: 18px; padding: 8px 10px 8px 13px; border: 1px solid rgba(32,132,182,.35); border-radius: 15px 15px 5px 15px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-items: center; color: #fff; text-align: left; background: linear-gradient(135deg, #3e667a, #117db6); box-shadow: 0 10px 21px rgba(26,111,157,.16); }
.article-toc > button small { grid-column: 1; color: rgba(226,242,250,.7); font-size: .36rem; font-weight: 820; letter-spacing: .09em; text-transform: uppercase; }
.article-toc > button strong { grid-column: 1; font-size: .58rem; }
.article-toc > button svg { grid-column: 2; grid-row: 1 / 3; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.article-copy { min-width: 0; color: #536c79; }
.article-copy > header { padding-bottom: 37px; border-bottom: 1px solid var(--blog-line); }
.article-copy > header h2 { max-width: 700px; margin: 15px 0 18px; color: var(--blog-ink); font-size: clamp(2.45rem, 4vw, 4.25rem); font-weight: 720; line-height: .95; letter-spacing: -.064em; }
.article-copy > header h2 em { color: #2587b4; font-family: "Newsreader", Georgia, serif; font-weight: 500; }
.article-copy > header > p { max-width: 700px; margin: 0; color: #5d7480; font-family: "Newsreader", Georgia, serif; font-size: clamp(1.08rem, 1.6vw, 1.35rem); font-style: italic; line-height: 1.42; }
.article-copy > header > div { margin-top: 24px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: #7a8b94; font-size: .42rem; font-weight: 720; letter-spacing: .06em; text-transform: uppercase; }
.article-copy > header > div i { width: 18px; height: 1px; background: var(--blog-line); }

.article-copy > section { position: relative; padding: 49px 0 0 54px; }
.article-copy__index { position: absolute; left: 0; top: 55px; color: rgba(28, 124, 170, .24); font-size: .55rem; font-weight: 850; letter-spacing: .08em; }
.article-copy > section h2 { max-width: 650px; margin: 0 0 20px; color: #2b4b5c; font-size: clamp(1.95rem, 3vw, 3rem); font-weight: 700; line-height: .98; letter-spacing: -.055em; }
.article-copy > section h2 em { color: #2887b2; font-family: "Newsreader", Georgia, serif; font-weight: 500; }
.article-copy > section p { max-width: 690px; margin: 0 0 17px; font-size: .7rem; line-height: 1.82; }
.article-copy > section p:last-child { margin-bottom: 0; }

.article-checklist { margin: 24px 0; padding: 24px 27px; border: 1px solid rgba(98,145,168,.28); border-radius: 21px 21px 6px 21px; background: linear-gradient(135deg, rgba(239,245,247,.9), rgba(255,255,255,.9)); }
.article-checklist > strong { color: #2a779d; font-size: .48rem; font-weight: 840; letter-spacing: .1em; text-transform: uppercase; }
.article-checklist ul { margin-top: 17px; display: grid; gap: 12px; }
.article-checklist li { position: relative; padding-left: 23px; color: #536f7d; font-size: .61rem; line-height: 1.5; }
.article-checklist li::before { content: "✓"; position: absolute; left: 0; top: -.05em; color: #248abb; font-size: .7rem; font-weight: 800; }

.article-callout { position: relative; margin: 50px 0 3px 54px; padding: 28px 31px 29px; border-left: 3px solid #2894c6; border-radius: 0 22px 6px 0; overflow: hidden; background: linear-gradient(120deg, #eaf2f5, #f9fbfb); box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.article-callout::after { content: "KFX"; position: absolute; right: 18px; bottom: -16px; color: rgba(30,115,156,.06); font-size: 4.8rem; font-weight: 850; letter-spacing: -.08em; }
.article-callout span { color: #2584b0; font-size: .42rem; font-weight: 840; letter-spacing: .12em; text-transform: uppercase; }
.article-callout h3 { position: relative; z-index: 1; max-width: 560px; margin: 10px 0 10px; color: #315364; font-size: 1.15rem; line-height: 1.25; letter-spacing: -.025em; }
.article-callout p { position: relative; z-index: 1; max-width: 610px; margin: 0; color: #657b86; font-size: .61rem; line-height: 1.66; }

.article-safety { margin: 51px 0 0 54px; padding-top: 22px; border-top: 1px solid var(--blog-line); display: grid; grid-template-columns: 110px 1fr; gap: 22px; }
.article-safety strong { color: #287fa7; font-size: .48rem; font-weight: 840; letter-spacing: .1em; text-transform: uppercase; }
.article-safety p { margin: 0; color: #74868f; font-size: .55rem; line-height: 1.68; }

.article-related { max-width: 1105px; margin: 76px auto 0; padding-top: 36px; border-top: 1px solid var(--blog-line); }
.article-related header { display: flex; align-items: end; justify-content: space-between; }
.article-related h2 { margin: 8px 0 0; color: #2d5062; font-size: clamp(1.7rem, 2.5vw, 2.5rem); letter-spacing: -.05em; }
.article-related > div { margin-top: 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.article-related > div > a { min-height: 148px; padding: 25px 27px; border: 1px solid rgba(105,145,165,.27); border-radius: 23px 23px 6px 23px; display: flex; flex-direction: column; color: inherit; background: rgba(255,255,255,.82); transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease); }
.article-related a > span { color: #2985b0; font-size: .41rem; font-weight: 840; letter-spacing: .11em; text-transform: uppercase; }
.article-related a > strong { max-width: 440px; margin-top: 13px; color: #3c5d6e; font-size: .81rem; line-height: 1.35; }
.article-related a > small { margin-top: auto; display: flex; align-items: center; gap: 8px; color: #537687; font-size: .47rem; font-weight: 730; }
.article-related a svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.article-related a:hover { transform: translateY(-3px); border-color: rgba(52,145,190,.43); box-shadow: 0 14px 30px rgba(44,83,103,.09); }

.article-booking .brands-booking__frame > img { object-position: 70% center; }

/* Ten compact links remain readable without overpowering the header. */
@media (min-width: 981px) {
  .site-header--concierge .desktop-nav { gap: clamp(7px, .72vw, 12px); }
  .site-header--concierge .desktop-nav a { font-size: clamp(.62rem, .68vw, .69rem); }
}

@media (max-width: 1080px) {
  .blog-feature { grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); }
  .blog-feature__copy { padding-inline: 38px; }
  .blog-note:nth-child(1),
  .blog-note:nth-child(4) { grid-column: span 6; grid-template-columns: 1fr; grid-template-rows: 190px 1fr; }
  .blog-note:nth-child(2),
  .blog-note:nth-child(3) { grid-column: span 6; }
  .article-reader__layout { grid-template-columns: 210px minmax(0, 700px); gap: 45px; }
}

@media (max-width: 820px) {
  .blog-journal { padding-block: 58px 64px; }
  .blog-feature { min-height: 0; grid-template-columns: 1fr; }
  .blog-feature figure { min-height: 410px; }
  .blog-feature__copy { padding: 39px 34px 37px; }
  .blog-pathbar { grid-template-columns: 1fr auto; }
  .blog-pathbar > div:first-child { display: none; }
  .blog-pathbar__filters { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .blog-pathbar__filters::-webkit-scrollbar { display: none; }
  .blog-pathbar__filters button { flex: 0 0 auto; }
  .blog-notes { grid-template-columns: 1fr 1fr; }
  .blog-note:nth-child(n) { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: 180px 1fr; }
  .blog-compass { grid-template-columns: 1fr; }
  .blog-compass > div { min-height: 100px; }
  .blog-compass > div + div { border-top: 1px solid var(--blog-line); border-left: 0; }
  .article-reader__layout { grid-template-columns: 1fr; gap: 38px; }
  .article-toc { position: static; display: grid; grid-template-columns: 1fr auto; gap: 0 20px; }
  .article-toc > span,
  .article-toc nav { grid-column: 1; }
  .article-toc > button { grid-column: 2; grid-row: 1 / 3; width: 190px; margin: 0; align-self: center; }
}

@media (max-width: 760px) {
  .blog-page .brands-hero__media > img { object-position: 72% center; }
  .article-page .brands-hero__media > img { object-position: 64% center; }
  .blog-journal::before { display: none; }
  .blog-feature figure { min-height: 350px; }
  .blog-feature__copy h3 { font-size: clamp(2.25rem, 10.5vw, 3.15rem); }
  .blog-feature__folio { right: 31px; top: 35px; }
  .blog-notes { grid-template-columns: 1fr; }
  .blog-note:nth-child(n) { min-height: 0; grid-template-rows: 210px auto; }
  .blog-note__body { min-height: 270px; }
  .blog-pathbar { padding: 11px; gap: 10px; }
  .blog-pathbar__count { display: none; }
  .blog-pathbar__filters { grid-column: 1 / -1; }
  .blog-booking .brands-booking__frame > img,
  .article-booking .brands-booking__frame > img { object-position: 69% center; }
  .article-reader { padding-top: 38px; }
  .article-reader__layout { margin-top: 20px; }
  .article-toc { grid-template-columns: 1fr; }
  .article-toc > button { grid-column: 1; grid-row: auto; width: 100%; margin-top: 16px; }
  .article-copy > header h2 { font-size: clamp(2.3rem, 11vw, 3.35rem); }
  .article-copy > section { padding: 40px 0 0 38px; }
  .article-copy__index { top: 45px; }
  .article-copy > section h2 { font-size: clamp(2rem, 9vw, 2.65rem); }
  .article-copy > section p { font-size: .67rem; }
  .article-callout,
  .article-safety { margin-left: 38px; }
  .article-safety { grid-template-columns: 1fr; gap: 9px; }
  .article-related { margin-top: 58px; }
  .article-related > div { grid-template-columns: 1fr; }
}

@media (max-width: 470px) {
  .blog-feature figure { min-height: 300px; }
  .blog-feature__copy { padding: 34px 25px 31px; }
  .blog-feature__copy ul { display: none; }
  .blog-note__body { padding: 27px 24px 25px; }
  .blog-note__body h3 { font-size: 2rem; }
  .blog-compass > div { padding-left: 54px; padding-right: 20px; }
  .blog-compass span { left: 19px; }
  .article-copy > section { padding-left: 30px; }
  .article-callout,
  .article-safety { margin-left: 30px; }
  .article-callout { padding: 24px 23px 25px; }
}

@media (prefers-reduced-motion: reduce) {
  .blog-feature figure img,
  .blog-note,
  .blog-note figure img,
  .blog-note__link svg,
  .article-back svg,
  .article-related a { transition-duration: .01ms !important; transform: none !important; }
}

/* ==========================================================
   WORK GALLERY V3 — PAGINATED KINFIX CASE LIBRARY
   A multi-row service archive with editorial case cards and a
   focused, accessible detail dialog. Mechanically familiar,
   visually native to KinFix's silver / graphite design system.
   ========================================================== */

.work-catalog {
  position: relative;
  margin-top: 31px;
}

.work-catalog__toolbar {
  position: relative;
  z-index: 2;
  min-height: 82px;
  padding: 13px 14px 13px 18px;
  border: 1px solid rgba(112, 148, 167, .32);
  border-radius: 24px 24px 7px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(275px, 338px);
  align-items: center;
  gap: 19px;
  background:
    linear-gradient(112deg, rgba(255, 255, 255, .92), rgba(239, 245, 247, .9)),
    #f4f7f8;
  box-shadow: 0 14px 34px rgba(30, 67, 86, .07), inset 0 1px 0 #fff;
  backdrop-filter: blur(16px);
}

.work-catalog__filters {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.work-catalog__filters button {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #617885;
  background: transparent;
  font-size: .68rem;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: color .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease), transform .22s var(--ease);
}

.work-catalog__filters button span {
  min-width: 22px;
  height: 22px;
  padding-inline: 6px;
  border: 1px solid rgba(116, 149, 165, .25);
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #8497a2;
  background: rgba(255, 255, 255, .62);
  font-size: .54rem;
  font-weight: 820;
}

.work-catalog__filters button:hover {
  color: #226f98;
  border-color: rgba(71, 145, 181, .2);
  background: rgba(255, 255, 255, .76);
}

.work-catalog__filters button.is-active,
.work-catalog__filters button[aria-pressed="true"] {
  color: #fff;
  border-color: rgba(67, 137, 173, .34);
  background: linear-gradient(125deg, #496b7c, #1e7da9);
  box-shadow: 0 9px 20px rgba(36, 108, 143, .16), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.work-catalog__filters button.is-active span,
.work-catalog__filters button[aria-pressed="true"] span {
  color: #fff;
  border-color: rgba(255, 255, 255, .24);
  background: rgba(255, 255, 255, .12);
}

.work-catalog__search {
  position: relative;
  min-width: 0;
  height: 52px;
  border: 1px solid rgba(108, 145, 164, .36);
  border-radius: 16px 16px 5px 16px;
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr) 31px;
  align-items: center;
  gap: 9px;
  padding: 0 9px 0 15px;
  color: #2c789e;
  background: rgba(255, 255, 255, .88);
  box-shadow: inset 0 1px 0 #fff;
  cursor: text;
  transition: border-color .22s var(--ease), box-shadow .22s var(--ease), background .22s var(--ease);
}

.work-catalog__search:focus-within {
  border-color: rgba(34, 135, 184, .58);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(54, 149, 197, .09), inset 0 1px 0 #fff;
}

.work-catalog__search > svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.work-catalog__search input {
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  outline: 0;
  color: #294c5e;
  background: transparent;
  font-size: .67rem;
  font-weight: 620;
}

.work-catalog__search input::placeholder { color: #91a0a8; opacity: 1; }
.work-catalog__search input::-webkit-search-cancel-button { display: none; }

.work-catalog__search button {
  width: 31px;
  height: 31px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #6c8491;
  background: #eef3f5;
  cursor: pointer;
}

.work-catalog__search button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.9; }

.work-catalog__status {
  min-height: 60px;
  padding: 13px 4px 10px;
  border-bottom: 1px solid rgba(111, 146, 163, .24);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.work-catalog__status p {
  margin: 0;
  color: #59717e;
  font-size: .61rem;
  font-weight: 760;
  letter-spacing: .015em;
}

.work-catalog__status > span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #8798a1;
  font-size: .52rem;
  font-weight: 680;
}

.work-catalog__status > span i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #42ae83;
  box-shadow: 0 0 0 5px rgba(66, 174, 131, .1);
}

.work-catalog__grid {
  padding-top: 20px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}

.work-catalog__grid.is-refreshed .work-card:not([hidden]) {
  animation: workCardIn .46s var(--ease) both;
}

.work-catalog__grid.is-refreshed .work-card:nth-child(2) { animation-delay: .035s; }
.work-catalog__grid.is-refreshed .work-card:nth-child(3) { animation-delay: .07s; }
.work-catalog__grid.is-refreshed .work-card:nth-child(4) { animation-delay: .105s; }
.work-catalog__grid.is-refreshed .work-card:nth-child(5) { animation-delay: .14s; }
.work-catalog__grid.is-refreshed .work-card:nth-child(6) { animation-delay: .175s; }

@keyframes workCardIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

.work-card {
  position: relative;
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 0;
  border: 1px solid rgba(111, 146, 164, .28);
  border-radius: 22px 22px 7px 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-align: left;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 15px 34px rgba(27, 64, 83, .07), inset 0 1px 0 #fff;
  cursor: pointer;
  isolation: isolate;
  transition: transform .32s var(--ease), border-color .3s var(--ease), box-shadow .32s var(--ease);
}

.work-card::before {
  display: none;
}

.work-card:hover {
  border-color: rgba(54, 142, 184, .47);
  box-shadow: 0 22px 44px rgba(24, 68, 91, .12), inset 0 1px 0 #fff;
  transform: translateY(-4px);
}

.work-card:focus-visible { outline: 2px solid rgba(36, 142, 194, .5); outline-offset: 3px; }

.work-card__media {
  position: relative;
  min-height: 218px;
  overflow: hidden;
  display: block;
  background:
    radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .27), transparent 38%),
    linear-gradient(135deg, #a6a7a4, #d1d4d4 50%, #969894);
}

.work-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(12, 33, 44, .18), transparent 31%);
  pointer-events: none;
}

.work-card__media > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(1.001);
  transition: transform .72s var(--ease), filter .4s var(--ease);
}

.work-card:hover .work-card__media > img { transform: scale(1.018); filter: saturate(1.035); }

.work-card__case {
  position: absolute;
  z-index: 2;
  top: 12px;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #fff;
  background: rgba(25, 56, 71, .5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18);
  backdrop-filter: blur(11px);
  font-size: .43rem;
  font-weight: 830;
  letter-spacing: .07em;
  line-height: 1;
  text-transform: uppercase;
}

.work-card__case { left: 12px; }

.work-card__body {
  min-height: 292px;
  padding: 18px 17px 16px;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
}

.work-card__tags { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.work-card__tags em,
.work-card__tags time {
  min-height: 22px;
  padding: 0 8px;
  border: 1px solid rgba(83, 145, 174, .2);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #347c9e;
  background: #eff6f8;
  font-size: .42rem;
  font-style: normal;
  font-weight: 810;
  letter-spacing: .06em;
  line-height: 1;
  text-transform: uppercase;
}

.work-card__tags time { color: #6c818c; background: #f7f9f9; }
.work-card__eyebrow {
  margin-top: 12px;
  overflow: hidden;
  color: #738894;
  font-size: .43rem;
  font-weight: 820;
  letter-spacing: .085em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.work-card__body > strong {
  min-height: 3.54em;
  margin-top: 6px;
  overflow: hidden;
  display: -webkit-box;
  color: #294c5e;
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(.94rem, 1.1vw, 1.08rem);
  font-style: normal;
  font-weight: 760;
  line-height: 1.18;
  letter-spacing: -.035em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.work-card__excerpt {
  display: -webkit-box;
  min-height: 3.12em;
  margin-top: 8px;
  overflow: hidden;
  color: #71838d;
  font-size: .53rem;
  line-height: 1.56;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.work-card__facts {
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid rgba(112, 147, 165, .23);
  display: grid;
  gap: 6px;
}

.work-card__facts > span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #5d7480;
  font-size: .47rem;
  font-weight: 680;
}

.work-card__facts svg { width: 14px; height: 14px; fill: none; stroke: #2987b2; stroke-width: 1.8; }

.work-card__view {
  min-height: 40px;
  margin-top: auto;
  padding: 0 12px;
  border: 1px solid rgba(75, 143, 176, .22);
  border-radius: 12px 12px 4px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #267da6;
  background: linear-gradient(135deg, rgba(244, 249, 250, .92), rgba(235, 243, 246, .9));
  font-size: .51rem;
  font-weight: 820;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.work-card__view svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .25s var(--ease); }
.work-card:hover .work-card__view svg { transform: translateX(4px); }

.work-catalog__empty {
  min-height: 312px;
  margin-top: 20px;
  border: 1px dashed rgba(103, 146, 166, .4);
  border-radius: 26px 26px 8px 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  color: #70838d;
  background: rgba(247, 250, 250, .76);
  text-align: center;
}

.work-catalog__empty span { color: #2680aa; font-size: .58rem; font-weight: 830; letter-spacing: .1em; text-transform: uppercase; }
.work-catalog__empty strong { color: #405f6f; font-family: "Newsreader", Georgia, serif; font-size: 1.8rem; font-style: italic; font-weight: 500; }
.work-catalog__empty button { margin-top: 13px; padding: 10px 16px; border: 1px solid rgba(56, 137, 176, .31); border-radius: 999px; color: #237ba5; background: #fff; font-size: .57rem; font-weight: 780; cursor: pointer; }

.work-pagination {
  min-height: 77px;
  margin-top: 25px;
  padding-top: 19px;
  border-top: 1px solid rgba(105, 143, 163, .28);
  display: grid;
  grid-template-columns: minmax(118px, 1fr) auto minmax(118px, 1fr);
  align-items: center;
  gap: 18px;
}

.work-pagination__numbers { display: flex; align-items: center; justify-content: center; gap: 7px; }

.work-pagination button {
  border: 1px solid rgba(107, 145, 164, .29);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #58717e;
  background: rgba(255, 255, 255, .82);
  cursor: pointer;
  transition: color .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease), transform .22s var(--ease);
}

.work-pagination button:hover:not(:disabled) { color: #1d7fab; border-color: rgba(47, 139, 183, .43); background: #fff; transform: translateY(-2px); }
.work-pagination button:focus-visible { outline: 2px solid #2b91c2; outline-offset: 3px; }
.work-pagination button:disabled { opacity: .34; cursor: default; }

.work-pagination__step {
  width: max-content;
  min-width: 112px;
  min-height: 42px;
  padding: 0 15px;
  border-radius: 14px 14px 5px 14px;
  gap: 9px;
  font-size: .57rem;
  font-weight: 770;
}

.work-pagination__step:last-child { justify-self: end; border-radius: 14px 14px 14px 5px; }
.work-pagination__step svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.work-pagination__numbers button {
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 50%;
  font-size: .61rem;
  font-weight: 810;
}

.work-pagination__numbers button.is-active,
.work-pagination__numbers button[aria-current="page"] {
  color: #fff;
  border-color: #278ab7;
  background: linear-gradient(135deg, #4a6b7b, #1d83b2);
  box-shadow: 0 9px 20px rgba(31, 125, 168, .19), inset 0 1px 0 rgba(255, 255, 255, .22);
}

/* Completed-work dialog */
.work-modal {
  width: min(1210px, calc(100vw - 46px));
  max-width: none;
  max-height: min(900px, calc(100dvh - 38px));
  margin: auto;
  padding: 0;
  border: 1px solid rgba(193, 210, 219, .72);
  border-radius: 31px 31px 10px 31px;
  overflow: hidden;
  color: #243f4d;
  background: #f7f9f9;
  box-shadow: 0 44px 120px rgba(9, 29, 40, .36), inset 0 1px 0 #fff;
}

.work-modal::backdrop {
  background: rgba(19, 28, 34, .7);
  backdrop-filter: blur(9px) saturate(.84);
}

.work-modal[open] { animation: workModalIn .38s var(--ease) both; }
.work-modal[open]::backdrop { animation: workBackdropIn .3s ease both; }

@keyframes workModalIn {
  from { opacity: 0; transform: translateY(18px) scale(.982); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes workBackdropIn { from { opacity: 0; } to { opacity: 1; } }

.work-modal__panel { min-height: 0; max-height: inherit; display: grid; grid-template-rows: 70px minmax(0, 1fr); }

.work-modal__header {
  position: relative;
  z-index: 3;
  min-height: 70px;
  padding: 8px 12px 8px 22px;
  border-bottom: 1px solid rgba(111, 147, 165, .25);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: rgba(255, 255, 255, .93);
  box-shadow: 0 8px 25px rgba(29, 58, 72, .045);
  backdrop-filter: blur(16px);
}

.work-modal__header > div { display: flex; align-items: center; gap: 17px; }
.work-modal__header img { width: 93px; height: auto; }
.work-modal__header span { padding-left: 17px; border-left: 1px solid rgba(113, 147, 164, .32); color: #63808f; font-size: .52rem; font-weight: 840; letter-spacing: .12em; text-transform: uppercase; }

.work-modal__header > button {
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(77, 139, 169, .33);
  border-radius: 15px 15px 5px 15px;
  display: grid;
  place-items: center;
  color: #4b7184;
  background: linear-gradient(145deg, #f6f9fa, #e8eff2);
  box-shadow: inset 0 1px 0 #fff;
  cursor: pointer;
  transition: color .22s var(--ease), border-color .22s var(--ease), transform .22s var(--ease), background .22s var(--ease);
}

.work-modal__header > button:hover { color: #187eae; border-color: rgba(32, 131, 178, .5); background: #fff; transform: rotate(3deg); }
.work-modal__header > button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.work-modal__body {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(420px, .93fr) minmax(0, 1.07fr);
  overflow: hidden;
}

.work-modal__media {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 17px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 12px;
  background:
    radial-gradient(circle at 0% 100%, rgba(43, 119, 154, .2), transparent 31%),
    linear-gradient(145deg, #273b46, #172a34);
}

.work-modal__media > div {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 21px 21px 6px 21px;
  background: #14232b;
  box-shadow: 0 18px 44px rgba(6, 19, 27, .24), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.work-modal__media > div::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8, 23, 31, .27), transparent 34%); pointer-events: none; }
.work-modal__media img { width: 100%; height: 100%; min-height: 510px; object-fit: cover; object-position: center; transition: opacity .24s var(--ease), transform .5s var(--ease); }
.work-modal.is-updating .work-modal__media img { opacity: .35; transform: scale(1.012); }

.work-modal__details {
  min-width: 0;
  min-height: 0;
  padding: 39px 37px 30px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(45, 132, 174, .35) transparent;
  background:
    radial-gradient(circle at 100% 0%, rgba(75, 165, 206, .11), transparent 28%),
    linear-gradient(145deg, #fff, #f7f9f9 78%);
}

.work-modal__kicker { color: #1d7eaa; font-size: .53rem; font-weight: 840; letter-spacing: .1em; text-transform: uppercase; }

.work-modal__details > h2 {
  max-width: 600px;
  margin: 13px 0 13px;
  color: #284b5d;
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(2.35rem, 3.4vw, 3.65rem);
  font-style: italic;
  font-weight: 500;
  line-height: .95;
  letter-spacing: -.05em;
}

.work-modal__lead { max-width: 610px; margin: 0; color: #687c87; font-size: .69rem; line-height: 1.7; }

.work-modal__facts {
  margin: 25px 0 27px;
  border: 1px solid rgba(112, 148, 167, .27);
  border-radius: 18px 18px 5px 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  background: rgba(247, 250, 250, .86);
  box-shadow: inset 0 1px 0 #fff;
}

.work-modal__facts > div { min-width: 0; min-height: 82px; padding: 17px 16px 14px; }
.work-modal__facts > div + div { border-left: 1px solid rgba(112, 148, 167, .22); }
.work-modal__facts dt { color: #7d909a; font-size: .45rem; font-weight: 840; letter-spacing: .1em; text-transform: uppercase; }
.work-modal__facts dd { margin: 7px 0 0; color: #3d5d6d; font-size: .59rem; font-weight: 710; line-height: 1.38; overflow-wrap: anywhere; }

.work-modal__overview > span,
.work-modal__included > span { display: block; color: #3a5968; font-size: .79rem; font-weight: 790; letter-spacing: -.02em; }
.work-modal__overview p { margin: 9px 0 0; color: #71838d; font-size: .63rem; line-height: 1.7; }
.work-modal__included { margin-top: 24px; }
.work-modal__included ul { margin: 12px 0 0; padding: 0; display: grid; gap: 8px; list-style: none; }

.work-modal__included li {
  min-height: 45px;
  padding: 9px 13px;
  border: 1px solid rgba(112, 147, 165, .21);
  border-radius: 12px 12px 4px 12px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: #5d727e;
  background: rgba(249, 251, 251, .88);
  font-size: .57rem;
  font-weight: 620;
}

.work-modal__included li svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: #2184b2; stroke-width: 2; }

.work-modal__outcome {
  margin: 22px 0 0;
  padding: 18px 20px 19px;
  border: 1px solid rgba(58, 145, 184, .25);
  border-radius: 17px 17px 5px 17px;
  background: linear-gradient(135deg, rgba(230, 242, 247, .78), rgba(248, 251, 251, .9));
}

.work-modal__outcome span { color: #2582ac; font-size: .45rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.work-modal__outcome p { margin: 7px 0 0; color: #496574; font-family: "Newsreader", Georgia, serif; font-size: 1.08rem; font-style: italic; font-weight: 500; line-height: 1.3; }

.work-modal__assurance {
  min-height: 57px;
  margin-top: 13px;
  padding: 10px 14px;
  border: 1px solid rgba(110, 147, 164, .25);
  border-radius: 15px 15px 5px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, .74);
}

.work-modal__assurance i { width: 9px; height: 9px; border-radius: 50%; background: #3fb183; box-shadow: 0 0 0 6px rgba(63, 177, 131, .1); }
.work-modal__assurance span { display: grid; gap: 2px; }
.work-modal__assurance small { color: #82939b; font-size: .42rem; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.work-modal__assurance strong { color: #405f6f; font-size: .6rem; }

.work-modal__actions { margin-top: 17px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(180px, .92fr); gap: 9px; }
.work-modal__actions > button,
.work-modal__actions > a {
  min-height: 60px;
  padding: 9px 15px;
  border-radius: 17px 17px 5px 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  text-align: left;
}

.work-modal__actions > button {
  border: 1px solid rgba(36, 132, 181, .42);
  color: #fff;
  background: linear-gradient(125deg, #466a7d, #147db2 63%, #2a96c9);
  box-shadow: 0 12px 25px rgba(24, 107, 151, .18), inset 0 1px 0 rgba(255, 255, 255, .2);
  cursor: pointer;
}

.work-modal__actions > a { border: 1px solid rgba(102, 142, 161, .32); color: #405f6e; background: rgba(255, 255, 255, .8); }
.work-modal__actions span,
.work-modal__actions > a { align-content: center; }
.work-modal__actions span { display: grid; gap: 3px; }
.work-modal__actions small { display: block; color: inherit; opacity: .66; font-size: .4rem; font-weight: 820; letter-spacing: .09em; text-transform: uppercase; }
.work-modal__actions strong { display: block; font-size: .64rem; }
.work-modal__actions svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.work-modal__case-nav { margin-top: 15px; padding-top: 14px; border-top: 1px solid rgba(109, 145, 163, .24); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.work-modal__case-nav button { padding: 0; border: 0; display: inline-flex; align-items: center; gap: 8px; color: #70848f; background: transparent; font-size: .51rem; font-weight: 750; cursor: pointer; }
.work-modal__case-nav button:hover { color: #1f81af; }
.work-modal__case-nav svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }

@media (max-width: 1080px) {
  .work-catalog__toolbar { grid-template-columns: 1fr; gap: 10px; }
  .work-catalog__search { max-width: 430px; }
  .work-catalog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  .work-card__media { min-height: 220px; }
  .work-card__body { padding-inline: 17px; }
  .work-modal__body { grid-template-columns: minmax(360px, .88fr) minmax(0, 1.12fr); }
  .work-modal__media img { min-height: 470px; }
  .work-modal__details { padding-inline: 29px; }
}

@media (max-width: 860px) {
  .work-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-modal { width: min(730px, calc(100vw - 30px)); }
  .work-modal__body { display: block; overflow-y: auto; }
  .work-modal__media { min-height: 490px; }
  .work-modal__media > div { min-height: 420px; }
  .work-modal__media img { min-height: 420px; }
  .work-modal__details { overflow: visible; }
}

@media (max-width: 760px) {
  .work-catalog { margin-top: 23px; }
  .work-catalog__toolbar { padding: 11px; border-radius: 20px 20px 6px 20px; }
  .work-catalog__filters { overflow-x: auto; scrollbar-width: none; }
  .work-catalog__filters::-webkit-scrollbar { display: none; }
  .work-catalog__filters button { flex: 0 0 auto; }
  .work-catalog__search { width: 100%; max-width: none; }
  .work-catalog__status { align-items: flex-start; flex-direction: column; gap: 7px; }
  .work-catalog__grid { grid-template-columns: 1fr; }
  .work-card__media { min-height: 270px; }
  .work-card__body { min-height: 286px; }
  .work-pagination { grid-template-columns: auto 1fr auto; gap: 8px; }
  .work-pagination__step { min-width: 44px; width: 44px; padding: 0; border-radius: 50%; }
  .work-pagination__step span { display: none; }
  .work-pagination__numbers { gap: 5px; }
  .work-pagination__numbers button { width: 38px; height: 38px; }
  .work-modal { width: calc(100vw - 18px); max-height: calc(100dvh - 18px); border-radius: 24px 24px 8px 24px; }
  .work-modal__panel { grid-template-rows: 62px minmax(0, 1fr); }
  .work-modal__header { min-height: 62px; padding-left: 15px; }
  .work-modal__header img { width: 82px; }
  .work-modal__header span { display: none; }
  .work-modal__header > button { width: 41px; height: 41px; }
  .work-modal__media { min-height: 390px; padding: 10px; }
  .work-modal__media > div,
  .work-modal__media img { min-height: 330px; }
  .work-modal__details { padding: 31px 22px 25px; }
  .work-modal__details > h2 { font-size: clamp(2.2rem, 10vw, 3.1rem); }
  .work-modal__facts { grid-template-columns: 1fr; }
  .work-modal__facts > div { min-height: 0; padding: 13px 15px; }
  .work-modal__facts > div + div { border-top: 1px solid rgba(112, 148, 167, .22); border-left: 0; }
  .work-modal__actions { grid-template-columns: 1fr; }
}

@media (max-width: 470px) {
  .work-catalog__filters button { padding-inline: 11px; }
  .work-card__media { min-height: 235px; }
  .work-card__body { min-height: 286px; padding: 18px 16px 16px; }
  .work-card__body > strong { font-size: 1rem; }
  .work-pagination__numbers button { width: 35px; height: 35px; }
  .work-modal__media { min-height: 332px; }
  .work-modal__media > div,
  .work-modal__media img { min-height: 280px; }
  .work-modal__details { padding-inline: 18px; }
  .work-modal__case-nav button { font-size: .47rem; }
}

@media (prefers-reduced-motion: reduce) {
  .work-card,
  .work-card::before,
  .work-card__media > img,
  .work-card__view svg,
  .work-pagination button,
  .work-modal,
  .work-modal::backdrop,
  .work-modal__media img { animation-duration: .01ms !important; transition-duration: .01ms !important; transform: none !important; }
}

/* ==========================================================
   WORK GALLERY V4 — QUIET EDITORIAL REFINEMENT
   Compact case cards and a single-surface service record.
   ========================================================== */

.work-journal { padding-block: 58px 66px; }

.work-journal__intro {
  margin-bottom: 22px;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 420px);
  align-items: center;
  gap: 44px;
}

.work-journal__intro > aside {
  max-width: none;
  padding: 4px 0 4px 24px;
}

.work-journal__intro > aside p {
  max-width: 370px;
  margin-top: 9px;
  line-height: 1.58;
}

.work-journal__intro-stats {
  margin-top: 14px;
  display: flex;
  align-items: stretch;
  gap: 18px;
}

.work-journal__intro-stats > span {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 7px;
}

.work-journal__intro-stats > span + span {
  padding-left: 18px;
  border-left: 1px solid rgba(77, 132, 158, .22);
}

.work-journal__intro-stats strong {
  color: #31586b;
  font-family: "Newsreader", Georgia, serif;
  font-size: 1.18rem;
  font-weight: 600;
  letter-spacing: -.035em;
}

.work-journal__intro-stats small {
  color: #7b8d96;
  font-size: .42rem;
  font-weight: 760;
  letter-spacing: .06em;
  line-height: 1.25;
  text-transform: uppercase;
}

.work-catalog { margin-top: 22px; }

.work-catalog__toolbar {
  min-height: 74px;
  padding: 10px 12px 10px 15px;
  border-radius: 20px 20px 6px 20px;
  box-shadow: 0 11px 28px rgba(30, 67, 86, .06), inset 0 1px 0 #fff;
}

.work-catalog__filters button { min-height: 39px; padding-inline: 12px; font-size: .65rem; }
.work-catalog__search { height: 48px; border-radius: 14px 14px 5px 14px; }
.work-catalog__status { min-height: 51px; padding-block: 10px 8px; }
.work-catalog__grid { padding-top: 16px; gap: 14px; }

.work-card {
  border-color: rgba(104, 142, 161, .25);
  border-radius: 19px 19px 6px 19px;
  box-shadow: 0 13px 30px rgba(27, 64, 83, .065), inset 0 1px 0 #fff;
}

.work-card:hover {
  border-color: rgba(54, 142, 184, .43);
  box-shadow: 0 19px 39px rgba(24, 68, 91, .105), inset 0 1px 0 #fff;
  transform: translateY(-3px);
}

.work-card__media { min-height: 222px; }
.work-card__media::after { background: linear-gradient(0deg, rgba(12, 33, 44, .13), transparent 28%); }
.work-card__case {
  top: 11px;
  left: 11px;
  min-height: 25px;
  padding-inline: 10px;
  background: rgba(29, 56, 69, .58);
  font-size: .41rem;
  letter-spacing: .08em;
}

.work-card__body {
  min-height: 255px;
  padding: 16px 16px 14px;
}

.work-card__tags { gap: 5px; }

.work-card__tags em,
.work-card__tags time {
  min-height: 21px;
  padding-inline: 7px;
  font-size: .43rem;
}

.work-card__eyebrow { margin-top: 10px; font-size: .43rem; }

.work-card__body > strong {
  min-height: 2.38em;
  margin-top: 5px;
  font-size: clamp(.91rem, 1.03vw, 1.02rem);
  line-height: 1.19;
  -webkit-line-clamp: 2;
}

.work-card__excerpt {
  min-height: 2.92em;
  margin-top: 7px;
  font-size: .56rem;
  line-height: 1.46;
}

.work-card__facts {
  margin-top: 10px;
  padding-top: 9px;
  gap: 5px;
}

.work-card__facts > span { gap: 6px; font-size: .49rem; }
.work-card__facts svg { width: 13px; height: 13px; }

.work-card__view {
  min-height: 34px;
  margin-top: auto;
  padding: 10px 1px 0;
  border: 0;
  border-top: 1px solid rgba(112, 147, 165, .2);
  border-radius: 0;
  color: #257ba4;
  background: transparent;
  font-size: .5rem;
}

.work-card__view svg {
  width: 16px;
  height: 16px;
  padding: 3px;
  border: 1px solid rgba(65, 140, 175, .24);
  border-radius: 50%;
}

/* Completed-work record: the photo and copy share one calm surface. */
.work-modal {
  --work-modal-body-height: min(650px, calc(100dvh - 86px));
  --work-photo-ratio: .75;
  width: min(1120px, calc(100vw - 36px));
  max-height: calc(100dvh - 28px);
  border-color: rgba(184, 204, 214, .74);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 40px 105px rgba(9, 29, 40, .32), inset 0 1px 0 #fff;
}

.work-modal__panel { grid-template-rows: 58px var(--work-modal-body-height); }

.work-modal__header {
  min-height: 58px;
  padding: 6px 10px 6px 18px;
  border-bottom-color: rgba(111, 147, 165, .2);
  box-shadow: none;
}

.work-modal__header > div { gap: 13px; }
.work-modal__header img { width: 82px; }
.work-modal__header span { padding-left: 13px; font-size: .46rem; letter-spacing: .105em; }

.work-modal__header > button {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f1f5f6;
  box-shadow: inset 0 1px 0 #fff;
}

.work-modal__header > button:hover { transform: rotate(3deg) scale(1.03); }
.work-modal__header > button:focus-visible { outline: 2px solid rgba(35, 139, 190, .48); outline-offset: 2px; }

.work-modal__body {
  height: var(--work-modal-body-height);
  grid-template-columns: auto minmax(0, 1fr);
  background: #fff;
}

.work-modal__media {
  position: relative;
  width: auto;
  height: 100%;
  min-height: 0;
  padding: 0;
  aspect-ratio: var(--work-photo-ratio);
  justify-self: start;
  display: block;
  overflow: hidden;
  background: #fff;
}

.work-modal__media::before { display: none; }

.work-modal__media > div {
  position: absolute;
  inset: 0;
  min-height: 0;
  border: 0;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  box-shadow: none;
}

.work-modal__media > div::after { display: none; }

.work-modal__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  filter: saturate(.98) contrast(1.015);
}

.work-modal__details {
  height: 100%;
  padding: 25px 30px 19px;
  border-left: 1px solid rgba(111, 147, 165, .2);
  overflow-y: auto;
  background:
    radial-gradient(circle at 100% 0%, rgba(75, 165, 206, .065), transparent 25%),
    linear-gradient(145deg, #fff, #f9fbfb 82%);
}

.work-modal__kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .49rem;
  letter-spacing: .09em;
}

.work-modal__kicker::before {
  content: "";
  width: 20px;
  height: 1px;
  background: #2c91bd;
}

.work-modal__details > h2 {
  max-width: 590px;
  margin: 9px 0 9px;
  font-size: clamp(1.9rem, 2.55vw, 2.75rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.work-modal__lead { max-width: 600px; font-size: .69rem; line-height: 1.58; }

.work-modal__facts {
  margin: 16px 0 17px;
  border: 0;
  border-top: 1px solid rgba(112, 148, 167, .25);
  border-bottom: 1px solid rgba(112, 148, 167, .25);
  border-radius: 0;
  column-gap: 22px;
  background: transparent;
  box-shadow: none;
}

.work-modal__facts > div { min-height: 61px; padding: 12px 0 10px; }
.work-modal__facts > div + div { border-left: 0; }
.work-modal__facts dt { font-size: .42rem; }
.work-modal__facts dd { margin-top: 5px; font-size: .58rem; }

.work-modal__overview { display: none; }
.work-modal__included { margin-top: 0; }
.work-modal__included > span {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .72rem;
  white-space: nowrap;
}

.work-modal__included > span::after {
  content: "";
  height: 1px;
  flex: 1;
  background: rgba(112, 147, 165, .2);
}

.work-modal__included ul {
  margin-top: 7px;
  gap: 0;
}

.work-modal__included li {
  min-height: 36px;
  padding: 7px 1px;
  border: 0;
  border-bottom: 1px solid rgba(112, 147, 165, .2);
  border-radius: 0;
  gap: 10px;
  background: transparent;
  font-size: .58rem;
}

.work-modal__included li svg {
  width: 17px;
  height: 17px;
  padding: 2px;
  flex-basis: 17px;
  border-radius: 50%;
  background: rgba(39, 143, 188, .085);
}

.work-modal__outcome {
  margin-top: 14px;
  padding: 13px 16px 0;
  border: 0;
  border-left: 2px solid #2a91bf;
  border-radius: 0 12px 12px 0;
  background: linear-gradient(90deg, rgba(230, 242, 247, .78), rgba(249, 251, 251, .34));
}

.work-modal__outcome p { margin-top: 4px; font-size: .91rem; line-height: 1.24; }

.work-modal__assurance {
  min-height: 43px;
  margin: 10px -16px 0;
  padding: 8px 16px;
  border: 0;
  border-top: 1px solid rgba(110, 147, 164, .18);
  border-radius: 0;
  background: rgba(255, 255, 255, .42);
}

.work-modal__actions {
  margin-top: 11px;
  grid-template-columns: minmax(0, 1.12fr) minmax(172px, .88fr);
  gap: 8px;
}

.work-modal__actions > button,
.work-modal__actions > a {
  min-height: 50px;
  padding: 8px 12px;
  border-radius: 13px;
  transition: transform .22s var(--ease), border-color .22s var(--ease), box-shadow .22s var(--ease), background .22s var(--ease);
}

.work-modal__actions > button { box-shadow: 0 9px 21px rgba(24, 107, 151, .15), inset 0 1px 0 rgba(255, 255, 255, .2); }
.work-modal__actions > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(239,244,246,.9));
}
.work-modal__actions > button:hover,
.work-modal__actions > a:hover { transform: translateY(-2px); }
.work-modal__actions span { align-content: center; }
.work-modal__actions strong { font-size: .62rem; }
.work-modal__actions > a svg { color: #2582ad; }
.work-modal__case-nav { margin-top: 9px; padding-top: 9px; }

@media (max-width: 1080px) {
  .work-journal__intro { grid-template-columns: minmax(0, 1fr) minmax(300px, 370px); gap: 32px; }
  .work-card__body { min-height: 257px; }
  .work-modal__body { grid-template-columns: auto minmax(0, 1fr); }
  .work-modal__details { padding-inline: 25px; }
}

@media (max-width: 860px) {
  .work-journal__intro { grid-template-columns: 1fr; gap: 18px; }
  .work-journal__intro > aside { max-width: 520px; padding: 14px 0 0; border-top: 1px solid rgba(45, 127, 171, .23); border-left: 0; }
  .work-modal { --work-modal-body-height: calc(100dvh - 82px); width: min(730px, calc(100vw - 24px)); }
  .work-modal__panel { grid-template-rows: 56px minmax(0, 1fr); }
  .work-modal__header { min-height: 56px; }
  .work-modal__body { height: 100%; display: block; overflow-y: auto; }
  .work-modal__media { width: min(100%, 520px); height: auto; min-height: 0; margin-inline: auto; aspect-ratio: var(--work-photo-ratio); }
  .work-modal__media > div,
  .work-modal__media img { min-height: 0; }
  .work-modal__details { height: auto; border-top: 1px solid rgba(111, 147, 165, .2); border-left: 0; overflow: visible; }
}

@media (max-width: 760px) {
  .work-journal { padding-block: 48px 56px; }
  .work-journal__intro-stats { gap: 13px; }
  .work-journal__intro-stats > span + span { padding-left: 13px; }
  .work-catalog { margin-top: 18px; }
  .work-card__body { min-height: 248px; padding: 16px 16px 14px; }
  .work-card__body > strong { min-height: 0; -webkit-line-clamp: 3; }
  .work-modal { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 22px; }
  .work-modal__panel { grid-template-rows: 54px minmax(0, 1fr); }
  .work-modal__header { min-height: 54px; padding-left: 14px; }
  .work-modal__header img { width: 78px; }
  .work-modal__header > button { width: 38px; height: 38px; }
  .work-modal__media { width: 100%; height: auto; min-height: 0; padding: 0; }
  .work-modal__media > div,
  .work-modal__media img { min-height: 0; }
  .work-modal__details { padding: 23px 20px 20px; }
  .work-modal__details > h2 { font-size: clamp(1.9rem, 8.6vw, 2.5rem); }
  .work-modal__facts { grid-template-columns: 1fr; }
  .work-modal__facts > div { min-height: 0; padding: 10px 0; }
  .work-modal__facts > div + div { border-top: 1px solid rgba(112, 148, 167, .18); border-left: 0; }
  .work-modal__actions { grid-template-columns: 1fr; }
}

@media (max-width: 470px) {
  .work-journal__intro-stats { flex-wrap: wrap; }
  .work-journal__intro-stats > span + span { border-left: 0; padding-left: 0; }
  .work-card__media { min-height: 245px; }
  .work-card__body { min-height: 248px; }
  .work-modal__media { height: auto; min-height: 0; }
  .work-modal__details { padding-inline: 17px; }
}

/* Homepage service choices */
.service-reel__actions {
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 7px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(7px);
  transition: opacity .28s var(--ease), transform .28s var(--ease);
}
.service-reel__item.is-active .service-reel__actions { opacity: 1; pointer-events: auto; transform: translateY(0); }
.service-reel__actions button,
.service-reel__actions a {
  min-height: 35px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: .57rem;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);
}
.service-reel__actions button { color: #0d426f; background: rgba(255,255,255,.95); }
.service-reel__actions a { color: #fff; background: rgba(10,38,59,.42); backdrop-filter: blur(9px); }
.service-reel__actions button:hover,
.service-reel__actions a:hover { transform: translateY(-2px); }
.service-reel__actions svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; }

@media (max-width: 980px) {
  .service-reel__actions { opacity: 1; pointer-events: auto; transform: none; }
}

