/* RodgersPC creative direction: vivid accents, substantial type, light/dark contrast. */
@font-face {
  font-family: Montserrat;
  src: url("/assets/fonts/montserrat-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("/assets/fonts/montserrat-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("/assets/fonts/montserrat-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("/assets/fonts/montserrat-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("/assets/fonts/montserrat-800.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Montserrat;
  src: url("/assets/fonts/montserrat-900.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --navy: #102756;
  --ink: #173568;
  --muted: #526884;
  --sky: #2363bf;
  --blue: #467bf5;
  --line: #1c477620;
  --violet: #7650e9;
  --teal: #008d98;
  --pink: #d33b86;
  --orange: #ed8a32;
  --paper: #f5f8ff;
  --soft-shadow: 0 14px 32px #193b7020, 0 4px 0 #dbe6f4;
  --radius: 18px;
}
[hidden] {
  display: none !important;
}
body {
  font-family: Montserrat, sans-serif;
  color: var(--ink);
  background: #f6f8fd;
}
h1,
h2,
h3 {
  font-family: Montserrat, sans-serif;
  font-weight: 800;
  letter-spacing: -0.045em;
}
h1 {
  font-weight: 900;
}
h2 {
  line-height: 1.16;
}
p {
  line-height: 1.8;
}
.wrap {
  width: min(1280px, calc(100% - 96px));
}
.eyebrow {
  font-family: Montserrat, sans-serif;
  color: #415e8d;
  font-size: 10px;
  letter-spacing: 0.14em;
  font-weight: 800;
}
.eyebrow > span {
  background: #9c69f7;
  box-shadow: 0 0 0 4px #9c69f712;
}
.gradient-blue {
  color: #4058c9;
  background: linear-gradient(110deg, #146bd1 5%, #6553da 55%, #a343bb);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.gradient-warm {
  color: #b83c64;
  background: linear-gradient(100deg, #bc620f, #d1466e 55%, #b735aa);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.gradient-cyan {
  color: #6ce2ec;
  background: linear-gradient(100deg, #9ddfff, #68e8d2 60%, #d0eaff);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.gradient-peach {
  color: #ffb74c;
  background: linear-gradient(100deg, #ffd09d, #ffacb2 60%, #f7a2f8);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.topbar {
  background: #112858;
  color: #dfebff;
  border: 0;
}
.topbar .wrap {
  min-height: 33px;
}
.header {
  background: #f9fbfff5;
  border-bottom: 1px solid #c7d5ec;
}
.header-inner {
  height: 91px;
  gap: 25px;
}
.header .brand,
.footer-brand {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  width: 151px;
  filter: drop-shadow(0 2px 3px #8ca7d33d);
}
.header .brand img {
  height: 76px;
  object-fit: contain;
}
.header nav {
  gap: 16px;
  color: #274679;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.header nav a {
  padding: 13px 0;
}
.header nav a[aria-current],
.header nav a:hover {
  color: #6549d0;
}
.header nav a[aria-current]:after {
  content: "";
  position: absolute;
  bottom: 3px;
  height: 3px;
  border-radius: 5px;
  left: 0;
  right: 0;
  background: linear-gradient(90deg, #429ff6, #b653d7);
}
.header-sos {
  display: none;
}
.button {
  font-family: Montserrat, sans-serif;
  border: 0;
  background: linear-gradient(125deg, #366ce1, #6544cc);
  color: #fff;
  border-radius: 9px;
  padding: 16px 22px;
  font-size: 12px;
  font-weight: 800;
  box-shadow:
    0 8px 20px #31297b25,
    0 12px 25px #5759d62b;
  min-height: 52px;
}
.button:hover {
  background: linear-gradient(125deg, #225ed5, #8244d5);
  color: #fff;
  transform: translateY(-3px);
  box-shadow:
    0 8px 20px #31297b1a,
    0 18px 30px #5759d63a;
}
.button-secondary {
  background: #fff;
  color: #284b82;
  border: 1px solid #bdcde5;
  box-shadow: 0 8px 20px #dbe6f4;
}
.button-secondary:hover {
  background: #f1f2ff;
  color: #4938a2;
}
.text-link {
  color: #3c57a8;
  font-weight: 800;
}
.text-link:hover {
  color: #7b36ac;
}
.section {
  padding-block: 88px;
}
.section-heading .eyebrow {
  margin-bottom: 17px;
}
.section-heading p {
  color: var(--muted);
  font-size: 13px;
}
.section-heading h2 {
  font-size: clamp(35px, 3.8vw, 52px);
}
.color-hero {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(ellipse at 88% 7%, #a5edec99, transparent 43%),
    radial-gradient(ellipse at 53% 70%, #bda9f76b, transparent 53%),
    linear-gradient(120deg, #f7f9ff 15%, #eef0ff 65%, #e5f8fa);
  padding: 63px 0 105px;
  overflow: hidden;
}
.color-hero:after {
  content: "";
  position: absolute;
  width: 600px;
  height: 600px;
  border: 1px solid #9d9fd524;
  border-radius: 50%;
  bottom: -440px;
  left: -220px;
  z-index: -1;
}
.color-hero-grid {
  display: grid;
  grid-template-columns: 1.04fr 1fr;
  gap: 30px;
  align-items: center;
}
.color-hero h1 {
  font-size: clamp(48px, 5.3vw, 76px);
  line-height: 1.04;
  letter-spacing: -0.06em;
  margin: 0 0 25px;
}
.color-hero .eyebrow {
  font-size: 9px;
  letter-spacing: 0.13em;
  margin-bottom: 25px;
}
.color-hero-copy > p:not(.eyebrow) {
  color: #516587;
  font-size: 13px;
  margin-bottom: 22px;
}
.color-hero-copy > p.color-hero-lead {
  font-size: 18px;
  color: #1d4076;
  line-height: 1.55;
  margin-bottom: 16px;
}
.color-hero-lead strong {
  font-weight: 700;
}
.color-hero .button-row {
  gap: 12px;
  margin-top: 26px;
}
.platforms {
  display: flex;
  gap: 20px;
  margin-top: 31px;
  align-items: center;
}
.platform {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  color: #415b82;
}
.platform img {
  width: 25px;
  height: 25px;
  object-fit: contain;
}
.tech-scene {
  position: relative;
  min-height: 520px;
  isolation: isolate;
}
.scene-halo {
  position: absolute;
  inset: 50px 8px 10px 20px;
  border-radius: 50%;
  background: linear-gradient(145deg, #89cfff88, #b09dfab3 50%, #d8a7f65e);
  filter: blur(1px);
  box-shadow:
    inset 0 0 80px #fff8,
    0 0 80px #7f92ff22;
}
.scene-orbit {
  border: 1px solid #8074d22b;
  border-radius: 50%;
  position: absolute;
  inset: 5px -10px 0 0;
  transform: rotate(-20deg);
}
.orbit-b {
  inset: 42px 27px 35px -32px;
  transform: rotate(24deg);
  border-color: #4aa8b32b;
}
.pc-stage {
  position: absolute;
  left: 4%;
  top: 9%;
  width: 79%;
  height: 80%;
  border-radius: 32% 32% 26% 26%;
  background: linear-gradient(145deg, #ffffffdf, #ebf6ff);
  box-shadow: 0 30px 65px #3a4c8133;
  transform: rotate(-6deg);
  overflow: hidden;
}
.hero-pc {
  width: 100%;
  height: 93%;
  object-fit: contain;
  transform: rotate(6deg);
  mix-blend-mode: multiply;
}
.stage-label {
  position: absolute;
  bottom: 23px;
  left: 25px;
  font-size: 7px;
  letter-spacing: 0.12em;
  font-weight: 700;
  color: #557499;
}
.hero-mascot {
  position: absolute;
  right: -15px;
  bottom: 9px;
  height: 410px;
  width: auto;
  max-width: 55%;
  object-fit: contain;
  filter: drop-shadow(6px 13px 8px #183c7733);
  animation: gentle-float 7s ease-in-out infinite;
}
.floating-note {
  position: absolute;
  display: flex;
  gap: 12px;
  align-items: center;
  background: #fffffff5;
  padding: 17px 20px;
  border: 1px solid #ffffff;
  border-radius: 12px;
  box-shadow: 0 15px 35px #46588d25;
  z-index: 3;
  font-size: 10px;
  color: #566b8b;
}
.floating-note strong {
  display: block;
  font-weight: 800;
  color: #18396f;
  font-size: 16px;
  margin-top: 3px;
}
.repair-note {
  left: -3%;
  bottom: 22px;
  transform: rotate(-3deg);
}
.local-note {
  right: -7px;
  top: 32px;
  transform: rotate(3deg);
  background: #f9fffe;
}
.local-note > .icon {
  color: #098c93;
  width: 25px;
  height: 25px;
}
.dimensional-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  color: #fff;
  border-radius: 14px;
  background: linear-gradient(135deg, #49b4ed, #6245d7);
  box-shadow:
    0 8px 20px #3b3d9d20,
    0 8px 15px #4d71c030,
    inset 0 1px 1px #ffffff80;
  flex-shrink: 0;
}
.dimensional-icon .icon {
  width: 26px;
  height: 26px;
  filter: drop-shadow(0 2px 1px #0002);
}
.scene-spark {
  position: absolute;
  font-size: 35px;
  color: #8d65db;
  top: 0;
  left: 12px;
}
.spark-two {
  top: auto;
  bottom: 20px;
  left: auto;
  right: -16px;
  color: #129b9c;
  font-size: 26px;
}
.home-start {
  position: relative;
  z-index: 4;
  margin-top: -43px;
  display: grid;
  grid-template-columns: 1.08fr 1fr 1fr 1fr;
  gap: 22px;
  background: white;
  border: 1px solid #e3eafa;
  border-radius: 19px;
  box-shadow: var(--soft-shadow);
  padding: 31px 33px;
}
.start-intro {
  align-self: center;
}
.start-intro .eyebrow {
  font-size: 7px;
  margin-bottom: 12px;
}
.start-intro h2 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 900;
}
.start-intro h2 span {
  color: #6852ba;
}
.start-option {
  position: relative;
  border-left: 1px solid #dfe7f3;
  padding-left: 25px;
}
.start-option > .dimensional-icon {
  width: 35px;
  height: 35px;
  border-radius: 10px;
  margin-bottom: 13px;
}
.start-option .dimensional-icon > .icon {
  width: 19px;
  height: 19px;
}
.start-option h3 {
  font-size: 13px;
  letter-spacing: -0.025em;
  line-height: 1.4;
  margin-bottom: 9px;
}
.start-option p {
  font-size: 10px;
  line-height: 1.8;
  color: #627391;
  margin: 0 0 12px;
}
.start-option > .icon {
  width: 15px;
  height: 15px;
  color: #7356be;
}
.start-option:hover h3 {
  color: #7655ce;
}
.hue-1 .dimensional-icon {
  background: linear-gradient(130deg, #53bedf, #009c9d);
  box-shadow:
    0 8px 20px #0d81831a,
    0 8px 15px #039f9e26;
}
.hue-2 .dimensional-icon {
  background: linear-gradient(130deg, #ffb46f, #e86775 53%, #bf4aab);
  box-shadow:
    0 8px 20px #c855731a,
    0 8px 15px #d9678d26;
}
.hue-3 .dimensional-icon {
  background: linear-gradient(130deg, #9b73e8, #b54fd0);
}
.hue-4 .dimensional-icon {
  background: linear-gradient(130deg, #3e9cce, #2b71d4);
}
.hue-5 .dimensional-icon {
  background: linear-gradient(130deg, #65b693, #2a9689);
}
.home-services {
  padding-top: 88px;
}
.home-service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.home-service {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e0e8f5;
  border-radius: 16px;
  padding: 28px 28px 25px;
  box-shadow:
    0 8px 20px #e4ebf6,
    0 14px 23px #314f7921;
  transition:
    transform 0.25s,
    box-shadow 0.25s;
  border-top: 3px solid #8a75e0;
}
.home-service.hue-1 {
  border-top-color: #3cafb6;
}
.home-service.hue-2 {
  border-top-color: #ed8d93;
}
.home-service.hue-3 {
  border-top-color: #af65cf;
}
.home-service.hue-4 {
  border-top-color: #5d9fe5;
}
.home-service.hue-5 {
  border-top-color: #50a18f;
}
.home-service:hover {
  transform: translateY(-6px);
  box-shadow:
    0 8px 20px #d9e1f4,
    0 20px 30px #314f7929;
}
.home-service .dimensional-icon {
  margin-bottom: 25px;
}
.home-service h3 {
  font-size: 20px;
  line-height: 1.3;
  margin-bottom: 14px;
}
.home-service p {
  font-size: 12px;
  color: #5a6e8b;
  line-height: 1.85;
  margin-bottom: 25px;
}
.home-service .card-link {
  color: #3d5f9b;
  font-size: 10px;
}
.section-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  margin-top: 35px;
}
.section-action p {
  margin: 0;
  color: #6b7c93;
  font-size: 11px;
}
.home-expertise {
  background:
    radial-gradient(ellipse at 5% 50%, #225cad77, transparent 60%),
    linear-gradient(120deg, #102b60, #14234c 65%, #282958);
  color: #fff;
  padding-block: 85px;
  position: relative;
  overflow: hidden;
}
.expertise-grid {
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  gap: 76px;
  align-items: center;
}
.home-expertise h2 {
  font-size: clamp(34px, 3.3vw, 48px);
  margin-bottom: 23px;
}
.home-expertise .eyebrow {
  color: #b5baf6;
}
.home-expertise p {
  font-size: 13px;
  color: #c6d5ed;
}
.expertise-photo {
  position: relative;
}
.expertise-photo > img {
  height: 430px;
  width: 100%;
  object-fit: cover;
  border-radius: 22px;
  border: 1px solid #9ec4ff66;
  box-shadow:
    0 17px 43px #5fb5e414,
    0 25px 50px #030a2633;
}
.photo-label {
  position: absolute;
  bottom: 23px;
  left: 22px;
  background: #eef6fff2;
  border-radius: 8px;
  padding: 11px 15px;
  color: #1a4c80;
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.photo-label .icon {
  width: 18px;
  height: 18px;
}
.expertise-sticker {
  position: absolute;
  right: -18px;
  top: 26px;
  padding: 17px 23px;
  background: linear-gradient(120deg, #bce7f8, #cbbbf6);
  border: 1px solid #fff7;
  border-radius: 10px;
  transform: rotate(5deg);
  color: #263b76;
  font-size: 12px;
  box-shadow: 0 8px 20px #0003;
}
.expertise-sticker strong {
  font-size: 18px;
}
.trust-points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 21px 23px;
  margin: 28px 0;
}
.trust-points > div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.trust-points .icon {
  color: #78dccd;
  width: 17px;
  height: 17px;
  margin-top: 4px;
}
.trust-points span {
  font-size: 10px;
  color: #aebfda;
  line-height: 1.7;
}
.trust-points strong {
  display: block;
  font-size: 11px;
  color: #eef4ff;
  margin-bottom: 5px;
}
.home-expertise .text-link {
  color: #a4ddff;
}
.home-shopping {
  padding-block: 90px;
}
.shopping-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}
.shopping-card {
  background: #fff;
  border: 1px solid #dfe8f5;
  border-top: 3px solid #8565df;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--soft-shadow);
}
.shopping-card.hue-1 {
  border-top-color: #19a0b3;
}
.shopping-card.hue-2 {
  border-top-color: #ef9c58;
}
.shopping-image {
  height: 230px;
  margin: 20px 20px 0;
  overflow: hidden;
  border-radius: 12px;
  background:
    radial-gradient(ellipse at 10% 10%, #cdeaff, transparent 80%),
    linear-gradient(130deg, #c1d4ff, #dad3f6);
  display: flex;
  align-items: center;
  justify-content: center;
}
.shopping-image img {
  height: 96%;
  width: 96%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 0.3s;
}
.shopping-card:hover .shopping-image img {
  transform: translateY(-5px) scale(1.03);
}
.hue-1 .shopping-image {
  background: linear-gradient(130deg, #bce7f5, #a8d8d9);
}
.hue-2 .shopping-image {
  background: linear-gradient(120deg, #f8d4ae, #f0b0ca 65%, #d2afea);
}
.shopping-image > .icon {
  width: 95px;
  height: 95px;
  color: #fff;
  filter: drop-shadow(0 8px 5px #84496330);
}
.shopping-card > div:last-child {
  padding: 25px;
}
.shopping-card h3 {
  font-size: 25px;
  margin-bottom: 12px;
}
.shopping-card p {
  font-size: 12px;
  color: #5c7092;
  min-height: 43px;
}
.shopping-card .card-link {
  color: #31518a;
}
.manufacturer-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 56px;
  padding-top: 28px;
  border-top: 1px solid #d4def0;
}
.manufacturer-strip > span:first-child {
  font-size: 7px;
  letter-spacing: 0.1em;
  color: #6e7f99;
  flex-shrink: 0;
  line-height: 1.8;
}
.manufacturer-strip strong {
  font-size: 9px;
  color: #344f7b;
  letter-spacing: 0.04em;
}
.manufacturer-strip img {
  height: 25px;
  width: 70px;
  object-fit: contain;
  opacity: 0.65;
}
.home-genie {
  background:
    radial-gradient(ellipse at 12% 40%, #235c8c99, transparent 55%),
    radial-gradient(ellipse at 100% 100%, #7c317d66, transparent 60%),
    linear-gradient(110deg, #13274d, #292b68 60%, #352359);
  color: #fff;
  padding-block: 48px;
}
.genie-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.home-genie h2 {
  font-size: clamp(39px, 4.3vw, 60px);
  margin-bottom: 23px;
}
.home-genie p:not(.eyebrow) {
  font-size: 14px;
  line-height: 1.85;
  color: #d0d8ed;
  max-width: 520px;
}
.home-genie .eyebrow {
  color: #c8c4fc;
  font-size: 8px;
}
.genie-art {
  position: relative;
  isolation: isolate;
  min-height: 450px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.genie-art img {
  height: 460px;
  width: 100%;
  object-fit: contain;
  border-radius: 50%;
  mask-image: radial-gradient(ellipse, black 38%, transparent 72%);
}
.genie-ring {
  position: absolute;
  inset: 25px;
  border: 1px solid #6fd4ff66;
  border-radius: 50%;
  box-shadow:
    0 0 40px #68d1ff15,
    inset 0 0 40px #76a8ff12;
  z-index: -1;
}
.genie-speech {
  position: absolute;
  bottom: 20px;
  left: 10px;
  background: linear-gradient(115deg, #f4f8ff, #d4e6ff);
  border: 1px solid #8cc7ee;
  border-radius: 14px 14px 14px 3px;
  box-shadow: 0 10px 30px #0002;
  color: #375786;
  padding: 16px 24px;
  font-size: 11px;
  transform: rotate(-3deg);
}
.genie-speech strong {
  display: block;
  color: #152f65;
  font-size: 19px;
  margin-top: 3px;
}
.home-genie .button {
  background: linear-gradient(110deg, #ffc87c, #f4a47b 50%, #efa4ba);
  color: #242753;
  box-shadow: 0 8px 20px #f3b4aa24;
}
.home-genie .button-secondary {
  background: transparent;
  border-color: #a7abd36e;
  color: #f2eafe;
  box-shadow: none;
}
.genie-footnote {
  display: block;
  font-size: 7px;
  letter-spacing: 0.12em;
  color: #aaaed3;
  margin-top: 24px;
}
.home-community {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 75px;
  align-items: center;
}
.community-copy h2 {
  font-size: 45px;
  margin-bottom: 23px;
}
.community-copy > p:not(.eyebrow) {
  color: #596e8b;
  font-size: 13px;
}
.community-photo {
  border: 1px solid #d3dbef;
  padding: 12px;
  border-radius: 19px;
  background: white;
  box-shadow:
    0 16px 42px #e8d9f4,
    0 18px 40px #4c4e7c15;
  transform: rotate(2deg);
}
.community-photo img {
  border-radius: 11px;
  width: 100%;
  height: 335px;
  object-fit: cover;
}
.community-photo > span {
  display: block;
  padding: 16px 10px 7px;
  font-size: 9px;
  letter-spacing: 0.13em;
  color: #486ba0;
}
.community-photo strong {
  color: #9456b7;
}
.home-resources {
  background: linear-gradient(120deg, #e7f8f9, #edf5ff 55%, #eee8ff);
  border-block: 1px solid #d2e8f1;
}
.home-resources .gradient-cyan {
  background: linear-gradient(100deg, #1778a9, #078f88);
  background-clip: text;
  -webkit-background-clip: text;
}
.resource-card {
  background: #fff;
  border: 1px solid #dbe7f2;
  border-radius: 16px;
  padding: 30px;
  box-shadow:
    0 8px 20px #dce8f066,
    0 10px 25px #30507815;
  min-height: 295px;
}
.resource-card:nth-child(2) {
  border-top: 3px solid #39adba;
}
.resource-card:nth-child(1) {
  border-top: 3px solid #8a74da;
}
.resource-card:nth-child(3) {
  border-top: 3px solid #ed9c74;
}
.resource-card > .icon {
  box-sizing: content-box;
  padding: 12px;
  background: linear-gradient(130deg, #7da9f8, #7e60db);
  color: white;
  border-radius: 13px;
  box-shadow: 0 5px 10px #4a6aa932;
  margin-bottom: 25px;
}
.resource-card:nth-child(2) > .icon {
  background: linear-gradient(130deg, #6cc5de, #099e9d);
}
.resource-card:nth-child(3) > .icon {
  background: linear-gradient(130deg, #f6b176, #c458a3);
}
.resource-card > p:not(.eyebrow) {
  color: #5b7394;
}
.resource-card .card-link {
  color: #416197;
}
.resource-card .eyebrow {
  font-size: 8px;
}
.resource-card h3 {
  font-size: 24px;
}
.home-local {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 75px;
  align-items: center;
}
.home-local h2 {
  font-size: 42px;
  margin-bottom: 25px;
}
.home-local p:not(.eyebrow) {
  font-size: 13px;
  color: #526b90;
}
.local-shop-photo {
  background: white;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid #dce5f1;
  box-shadow: var(--soft-shadow);
}
.local-shop-photo > img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 11px;
}
.local-shop-photo > a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 10px;
  font-weight: 700;
  padding: 18px 10px 7px;
}
.local-shop-photo > a > .icon {
  width: 15px;
  height: 15px;
}
.local-shop-photo > a > .icon:last-child {
  margin-left: auto;
}
.visit {
  width: 100%;
  max-width: none;
  padding: 65px max(48px, calc((100vw - 1280px) / 2));
  gap: 100px;
  background:
    radial-gradient(ellipse at 95% 5%, #6356ad88, transparent 55%),
    linear-gradient(115deg, #12396c, #192c5c 60%, #262558);
  color: white;
}
.visit .eyebrow {
  color: #c6c4f8;
}
.visit h2 {
  font-size: 42px;
}
.visit > div > p:not(.eyebrow) {
  color: #c1cfe9;
  font-size: 13px;
}
.visit .button {
  background: linear-gradient(110deg, #acd9fc, #a5c0ff 50%, #c4b1f4);
  color: #183669;
}
.visit-address {
  border-color: #ccd5ff33;
}
.visit-address .text-link {
  color: #b8ddff;
}
.visit-address > .icon {
  color: #8cd7ec;
}
.footer-brand {
  filter: drop-shadow(0 0 7px #e8f4ff99);
}
footer {
  color: #e6efff;
  background: #0b1c3e;
}
.footer-grid > div > a:not(.brand) {
  color: #bccce8;
}
.footer-grid h3 {
  font-family: Montserrat, sans-serif;
  font-weight: 800;
}
.footer-grid p {
  color: #a1b5d6;
}
.footer-bottom {
  border-color: #dae3ff1f;
  color: #98afd0;
}
/* Interior pages retain the source content while receiving distinct visual treatments. */
.inner-page .page-hero,
.article-page .page-hero {
  position: relative;
  isolation: isolate;
  padding: 65px 55px;
  border: 1px solid #dbe4f1;
  border-radius: 0 0 25px 25px;
  background:
    radial-gradient(ellipse at 100% 0, #d5c9fa88, transparent 60%),
    linear-gradient(120deg, #edf4ff, #eef0ff);
  overflow: hidden;
}
.page-hero:after {
  content: "✦";
  position: absolute;
  right: 50px;
  top: 45px;
  color: #8e78cc26;
  font-size: 200px;
  line-height: 1;
  z-index: -1;
}
.page-hero h1 {
  font-size: clamp(39px, 5vw, 67px);
  max-width: 1030px;
  color: #1c4080;
}
.page-hero h1 em {
  color: #7351be;
}
.page-hero > p:not(.eyebrow) {
  color: #516d93;
  font-size: 15px;
}
.page-hero .eyebrow {
  color: #625697;
}
.breadcrumb {
  color: #5e59a1;
}
.service-card {
  background: white;
  border-color: #dce5f3;
  color: #193d75;
  box-shadow:
    0 8px 20px #e1e8f6,
    0 12px 28px #203e7015;
  border-radius: 15px;
}
.service-card:hover {
  background: #fff;
  box-shadow:
    0 8px 20px #d8d5f5,
    0 20px 34px #203e7025;
  border-color: #a9a5db;
}
.service-card p {
  color: #59718f;
}
.service-card .card-link {
  color: #385f9a;
}
.card-top .icon,
.service-card > .icon {
  box-sizing: content-box;
  background: linear-gradient(130deg, #82b6f4, #7653d6);
  color: white;
  padding: 12px;
  border-radius: 12px;
  box-shadow: 0 6px 12px #7668b52a;
}
.service-card:nth-child(3n + 2) .card-top .icon {
  background: linear-gradient(130deg, #6fcdd9, #079594);
}
.service-card:nth-child(3n) .card-top .icon {
  background: linear-gradient(130deg, #fab17d, #cd5ca0);
}
.card-top span {
  color: #7b8cac;
}
.feature-copy > p:not(.eyebrow) {
  color: #5b708e;
}
.feature-copy strong {
  color: #294c7c;
}
.feature-image > img {
  border: 1px solid #bacce3;
  border-radius: 18px;
  box-shadow: 0 12px 34px #e2daf3;
}
.resources-section {
  background: linear-gradient(125deg, #eaf6fa, #efeaff);
  border-color: #dae0ed;
}
.timeline article {
  border-color: #c0cde2;
  padding: 26px;
  background: #fff;
  border-radius: 13px;
  box-shadow: 0 7px 15px #3452750c;
}
.timeline span {
  color: #7655af;
  font-weight: 800;
}
.timeline h3 {
  font-size: 23px;
}
.timeline p,
.faith p {
  color: #58718e;
}
.faith {
  position: relative;
}
.faith-character {
  height: 230px;
  width: auto;
  float: left;
  margin-right: 25px;
  filter: drop-shadow(0 8px 5px #233e6322);
}
.faith h2 {
  font-size: 35px;
}
.faith > div:first-child .eyebrow {
  padding-top: 20px;
  font-size: 8px;
}
.faith .text-link {
  color: #7a51a8;
}
.owner-section p:not(.eyebrow) {
  color: #536c8f;
}
.owner-section p:nth-of-type(2) {
  color: #234c81;
  font-size: 17px;
}
.owner-carousel {
  background: #fff;
  border: 1px solid #e0e6f2;
  border-radius: 20px;
  overflow: hidden;
  box-shadow:
    0 14px 38px #dce9ef,
    0 15px 25px #36568519;
  min-width: 0;
}
.owner-slides figure {
  margin: 0;
}
.owner-slides img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  object-position: center 30%;
}
.owner-slides figcaption {
  padding: 19px 24px;
  font-size: 12px;
  font-weight: 700;
  color: #4b6790;
}
.carousel-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 0 24px 14px;
}
.carousel-controls button {
  background: linear-gradient(120deg, #e4efff, #e6dafa);
  border: 1px solid #cbd5ea;
  border-radius: 10px;
  color: #385299;
  font-size: 20px;
  width: 44px;
  height: 40px;
  cursor: pointer;
}
.carousel-controls button:hover {
  background: #d5d8fc;
}
.carousel-controls span {
  font-size: 11px;
  color: #65728c;
}
.owner-carousel > p {
  font-size: 8px;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 15px;
  background: #edf2fc;
  color: #486289;
  margin: 0;
}
.contact-card {
  border-color: #d1ddec;
}
.contact-card p {
  color: #5e7291;
}
.contact-card .eyebrow {
  color: #0c8c93;
}
.contact-number {
  color: #30609c;
}
.contact-visual {
  background: #fff;
  border-color: #d9e6ed;
  box-shadow: var(--soft-shadow);
  border-radius: 20px;
}
.contact-visual p {
  color: #5e7390;
}
.service-area p {
  color: #617898;
}
.shop-section {
  background: linear-gradient(120deg, #e7e5fb, #e4f8fc);
}
.shop-section .button-secondary {
  color: #355b8a;
}
.sales-genie-panel {
  background:
    radial-gradient(ellipse at 85% 20%, #74479eaa, transparent 70%), #183b72;
  border-radius: 20px;
  box-shadow: 0 14px 38px #d7d4ec;
}
.sales-genie-panel p:not(.eyebrow) {
  color: #bdcbed;
}
.sales-genie {
  float: right;
  height: 180px;
  width: 180px;
  object-fit: cover;
  border-radius: 50%;
  mask-image: radial-gradient(ellipse, black 38%, transparent 74%);
  margin: -20px -20px 10px 0;
}
.catalog-intro p {
  color: #58708e;
}
.catalog-guidance {
  background: linear-gradient(135deg, #e8f3ff, #ede4fb);
  border-color: #cfdbed;
  border-radius: 20px;
  box-shadow: var(--soft-shadow);
}
.catalog-guidance > .icon {
  color: #8466c9;
}
.support-call {
  background: linear-gradient(120deg, #e1f5fa, #dfeafc, #eadcfa);
  border-color: #cfddf0;
  border-radius: 18px;
}
.support-steps li {
  border-bottom: 1px solid #d8e0ef;
  margin-bottom: 25px;
}
.support-steps p,
.prose > p {
  color: #536c8f;
}
.support-call > .icon {
  color: #08989e;
}
.article-body {
  background: white;
  border: 1px solid #e2e8f3;
  border-radius: 18px;
  padding: 35px;
}
.article-body h2 {
  color: #244f8b;
}
.article-body p {
  color: #4c6381;
}
.detail-layout {
  gap: 42px;
  grid-template-columns: minmax(0, 1fr) 295px;
}
.detail-aside {
  background: linear-gradient(145deg, #e5f1fc, #e9e3fa);
  border-color: #cddbf0;
  color: #24467c;
  border-radius: 18px;
  box-shadow: 0 8px 20px #dce3f4;
}
.detail-aside p {
  color: #587293;
}
.detail-aside hr {
  border-color: #becce2;
}
.blog-card {
  background: white;
  border-color: #dce5f1;
  border-radius: 17px;
  box-shadow: var(--soft-shadow);
}
.blog-card p {
  color: #586f8e;
}
.blog-card .card-link {
  color: #5e4a9e;
}
.resource-bottom p:not(.eyebrow) {
  color: #526e94;
}
#search-query {
  background: #fff;
  border-color: #b5c5df;
  color: #183d73;
  box-shadow: 0 5px 15px #4e658c0c;
}
#search-status {
  color: #627996;
}
.search-result {
  background: white;
  border-color: #d9e3f1;
  border-radius: 15px;
  box-shadow: 0 6px 15px #3c5b7e0e;
}
.search-result p {
  color: #5c7396;
}
.decision-grid .choice-no {
  color: #815bc9;
  font-weight: 800;
}
[data-page="about-rpc"] .page-hero {
  background:
    radial-gradient(ellipse at 10% 100%, #f7d9bd88, transparent 60%),
    linear-gradient(125deg, #fff6ef, #f0e7ff);
}
[data-page="contact"] .page-hero {
  background: linear-gradient(120deg, #e8faff, #d6f2ed, #e6e7ff);
}
[data-page="sales"] .page-hero {
  background: linear-gradient(120deg, #f7e9e8, #f9e3ec, #e6e2fc);
}
[data-page="resources"] .page-hero {
  background: linear-gradient(120deg, #ddf1f5, #d9efe9, #eae9ff);
}
[data-page="rodgerspc-sos"] .page-hero {
  background: linear-gradient(125deg, #152d63, #245183 60%, #285d78);
}
[data-page="rodgerspc-sos"] .page-hero h1 {
  color: white;
}
[data-page="rodgerspc-sos"] .page-hero p:not(.eyebrow),
[data-page="rodgerspc-sos"] .page-hero .eyebrow {
  color: #c5e8fc;
}
[data-page="blog"] .page-hero,
.article-page .page-hero {
  background: linear-gradient(125deg, #eee8fa, #e4edff, #f3e6f1);
}
[data-page="micro-soldering"] .page-hero,
[data-page="advanced-diagnostics"] .page-hero {
  background:
    radial-gradient(ellipse at 100% 0, #1a6d8f, transparent 70%),
    linear-gradient(120deg, #162851, #263e79);
}
[data-page="micro-soldering"] .page-hero h1,
[data-page="advanced-diagnostics"] .page-hero h1 {
  color: #fff;
}
[data-page="micro-soldering"] .page-hero p,
[data-page="advanced-diagnostics"] .page-hero p,
[data-page="micro-soldering"] .page-hero .breadcrumb,
[data-page="advanced-diagnostics"] .page-hero .breadcrumb {
  color: #a5d8ee;
}
[data-page="tune-ups-security"] .page-hero {
  background: linear-gradient(125deg, #e5f7ed, #e1f6f4, #e7eafc);
}
[data-page="console-repair"] .page-hero,
[data-page="custom-pc-builds"] .page-hero {
  background: linear-gradient(125deg, #e2e9fc, #e9dcfa, #f9e4ef);
}
@keyframes gentle-float {
  0%,
  100% {
    transform: translateY(0) rotate(1deg);
  }
  50% {
    transform: translateY(-9px) rotate(-1deg);
  }
}
@media (min-width: 1600px) {
  .color-hero h1 {
    font-size: 80px;
  }
  .tech-scene {
    min-height: 560px;
  }
  .hero-mascot {
    height: 440px;
  }
  .color-hero {
    padding-block: 75px 115px;
  }
}
@media (max-width: 1180px) {
  .header-inner {
    height: 80px;
  }
  .header nav {
    display: none;
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    background: #f8fbff;
    padding: 20px 32px;
    border-bottom: 1px solid #d0dbed;
    box-shadow: 0 20px 30px #15306520;
    white-space: normal;
  }
  .header nav.is-open {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px 25px;
  }
  .header nav a {
    padding: 12px 15px;
    font-size: 13px;
    border-bottom: 1px solid #d7e1ed;
  }
  .header nav a[aria-current]:after {
    display: none;
  }
  .menu-toggle {
    display: flex;
    align-items: center;
    gap: 15px;
    border: 1px solid #b9c9e1;
    padding: 9px 14px;
    border-radius: 9px;
    background: #fff;
    color: #264b84;
    font-size: 12px;
    font-weight: 700;
  }
  .header .brand {
    width: 145px;
  }
  .header .brand img {
    height: 68px;
  }
  .color-hero h1 {
    font-size: 61px;
  }
  .color-hero-grid {
    gap: 15px;
  }
  .tech-scene {
    min-height: 475px;
  }
  .hero-mascot {
    height: 350px;
    right: -10px;
  }
  .floating-note {
    padding: 13px 15px;
  }
  .floating-note strong {
    font-size: 14px;
  }
  .local-note {
    top: 25px;
    right: 0;
  }
  .home-start {
    padding: 27px;
    gap: 20px;
  }
  .start-intro h2 {
    font-size: 22px;
  }
  .start-option {
    padding-left: 20px;
  }
  .expertise-grid {
    gap: 45px;
  }
  .genie-grid {
    gap: 35px;
  }
  .home-community,
  .home-local {
    gap: 45px;
  }
  .community-copy h2,
  .home-local h2 {
    font-size: 37px;
  }
  .manufacturer-strip {
    gap: 20px;
  }
  .manufacturer-strip img {
    width: 58px;
  }
  .home-service h3 {
    font-size: 18px;
  }
  .visit {
    padding-inline: 48px;
    gap: 60px;
  }
}
@media (max-width: 760px) {
  .wrap {
    width: calc(100% - 40px);
  }
  .header-inner {
    height: 76px;
  }
  .header nav {
    top: 76px;
    padding: 15px 20px;
  }
  .header nav.is-open {
    grid-template-columns: 1fr 1fr;
    max-height: calc(100dvh - 125px);
    overflow-y: auto;
  }
  .header nav a {
    font-size: 11px;
    padding: 13px 10px;
  }
  .header .brand {
    width: 134px;
  }
  .header .brand img {
    height: 64px;
  }
  .topbar .wrap {
    font-size: 8px;
    min-height: 30px;
  }
  .color-hero {
    padding: 36px 0 72px;
  }
  .color-hero-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .color-hero h1 {
    font-size: clamp(43px, 10vw, 64px);
    line-height: 1.09;
    margin-bottom: 23px;
  }
  .color-hero .eyebrow {
    font-size: 7px;
    letter-spacing: 0.1em;
    margin-bottom: 19px;
  }
  .color-hero-copy > p:not(.eyebrow) {
    font-size: 11px;
  }
  .color-hero-copy > p.color-hero-lead {
    font-size: 17px;
  }
  .color-hero .button-row {
    gap: 10px;
    margin-top: 23px;
  }
  .button {
    padding: 14px 17px;
    font-size: 10px;
    min-height: 49px;
    gap: 12px;
  }
  .color-hero .button-row .button {
    width: auto;
  }
  .platforms {
    margin-top: 25px;
    gap: 23px;
  }
  .platform {
    font-size: 9px;
    gap: 7px;
  }
  .platform img {
    width: 22px;
    height: 22px;
  }
  .tech-scene {
    min-height: 390px;
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
  }
  .hero-mascot {
    height: 310px;
    right: 0;
    bottom: 10px;
  }
  .pc-stage {
    top: 12%;
    left: 4%;
    height: 77%;
    width: 78%;
  }
  .scene-halo {
    inset: 30px 15px 15px 15px;
  }
  .scene-orbit {
    inset: 0 5px 0 5px;
  }
  .orbit-b {
    inset: 30px 15px 20px -5px;
  }
  .floating-note {
    padding: 12px;
    font-size: 8px;
    gap: 9px;
  }
  .floating-note strong {
    font-size: 12px;
  }
  .floating-note .dimensional-icon {
    width: 35px;
    height: 35px;
    border-radius: 10px;
  }
  .floating-note .dimensional-icon .icon {
    width: 20px;
    height: 20px;
  }
  .repair-note {
    left: 0;
    bottom: 4px;
  }
  .local-note {
    right: 0;
    top: 16px;
  }
  .local-note > .icon {
    width: 19px;
    height: 19px;
  }
  .stage-label {
    font-size: 5px;
    bottom: 15px;
    left: 18px;
  }
  .scene-spark {
    font-size: 24px;
    top: 5px;
    left: 12px;
  }
  .spark-two {
    top: auto;
    bottom: 0;
    right: 8px;
    left: auto;
  }
  .home-start {
    grid-template-columns: 1fr;
    margin-top: -31px;
    padding: 25px;
    gap: 0;
    border-radius: 17px;
  }
  .start-intro {
    border-bottom: 1px solid #dfe6f1;
    padding-bottom: 20px;
    margin-bottom: 5px;
  }
  .start-intro h2 {
    font-size: 25px;
  }
  .start-intro h2 br {
    display: none;
  }
  .start-intro h2 span {
    margin-left: 5px;
  }
  .start-intro .eyebrow {
    font-size: 7px;
    margin-bottom: 10px;
  }
  .start-option {
    border: 0;
    border-bottom: 1px solid #dfe6f1;
    padding: 19px 25px 18px 52px;
    position: relative;
  }
  .start-option:last-child {
    border: 0;
    padding-bottom: 5px;
  }
  .start-option > .dimensional-icon {
    position: absolute;
    top: 21px;
    left: 0;
    width: 36px;
    height: 36px;
  }
  .start-option h3 {
    font-size: 12px;
    margin-bottom: 5px;
  }
  .start-option p {
    font-size: 9px;
    line-height: 1.7;
    margin-bottom: 0;
  }
  .start-option > .icon {
    position: absolute;
    right: 0;
    top: 35px;
    width: 15px;
  }
  .section {
    padding-block: 57px;
  }
  .home-services {
    padding-top: 58px;
  }
  .section-heading h2 {
    font-size: 36px;
  }
  .section-heading p {
    font-size: 11px;
    margin-top: 20px;
  }
  .home-service-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px 12px;
  }
  .home-service {
    padding: 19px 17px;
    border-radius: 13px;
  }
  .home-service .dimensional-icon {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    margin-bottom: 20px;
  }
  .home-service .dimensional-icon .icon {
    width: 22px;
    height: 22px;
  }
  .home-service h3 {
    font-size: 16px;
    line-height: 1.35;
    margin-bottom: 12px;
  }
  .home-service p {
    font-size: 10px;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  .home-service .card-link {
    font-size: 8px;
    gap: 5px;
    line-height: 1.6;
  }
  .home-service .card-link .icon {
    width: 14px;
    height: 14px;
  }
  .section-action {
    flex-direction: column;
    gap: 15px;
    margin-top: 30px;
  }
  .section-action p {
    font-size: 10px;
  }
  .home-expertise {
    padding-block: 55px;
  }
  .expertise-grid {
    grid-template-columns: 1fr;
    gap: 43px;
  }
  .expertise-photo > img {
    height: 300px;
  }
  .expertise-sticker {
    top: 19px;
    right: -5px;
    font-size: 10px;
    padding: 13px 16px;
  }
  .expertise-sticker strong {
    font-size: 15px;
  }
  .photo-label {
    left: 15px;
    bottom: 18px;
    font-size: 7px;
    padding: 10px 12px;
  }
  .home-expertise h2 {
    font-size: 33px;
  }
  .home-expertise p {
    font-size: 12px;
  }
  .trust-points {
    gap: 18px 15px;
  }
  .trust-points span {
    font-size: 9px;
  }
  .trust-points strong {
    font-size: 10px;
  }
  .home-expertise .eyebrow {
    font-size: 8px;
  }
  .shopping-cards {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .shopping-image {
    height: 220px;
  }
  .shopping-card h3 {
    font-size: 25px;
  }
  .shopping-card p {
    min-height: 0;
    font-size: 12px;
  }
  .shopping-card .card-link {
    font-size: 11px;
  }
  .manufacturer-strip {
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
    margin-top: 38px;
    padding-top: 26px;
  }
  .manufacturer-strip > span:first-child {
    width: 100%;
    text-align: center;
  }
  .manufacturer-strip > span:first-child br {
    display: none;
  }
  .manufacturer-strip strong {
    margin-left: 6px;
  }
  .manufacturer-strip img {
    width: 65px;
    height: 22px;
  }
  .home-genie {
    padding-block: 35px 55px;
  }
  .genie-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .genie-art {
    min-height: 330px;
    max-width: 450px;
    width: 100%;
    margin-inline: auto;
  }
  .genie-art img {
    height: 350px;
  }
  .genie-ring {
    inset: 14px 20px;
  }
  .genie-speech {
    bottom: 8px;
    left: 5px;
    font-size: 10px;
    padding: 13px 18px;
  }
  .genie-speech strong {
    font-size: 16px;
  }
  .home-genie h2 {
    font-size: 42px;
  }
  .home-genie p:not(.eyebrow) {
    font-size: 12px;
  }
  .home-genie .eyebrow {
    font-size: 7px;
  }
  .home-genie .button-row {
    gap: 10px;
  }
  .genie-footnote {
    font-size: 6px;
  }
  .home-community {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .community-copy h2 {
    font-size: 35px;
  }
  .community-copy > p:not(.eyebrow) {
    font-size: 12px;
  }
  .community-photo {
    transform: rotate(1deg);
    box-shadow: 0 9px 28px #e8d9f4;
  }
  .community-photo img {
    height: 300px;
  }
  .community-photo > span {
    font-size: 7px;
  }
  .resource-grid {
    gap: 24px;
  }
  .resource-card {
    padding: 25px;
    min-height: 270px;
  }
  .resource-card h3 {
    font-size: 26px;
  }
  .resource-card .card-link {
    font-size: 10px;
  }
  .resource-card > p:not(.eyebrow) {
    font-size: 12px;
  }
  .home-local {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .home-local h2 {
    font-size: 33px;
  }
  .home-local p:not(.eyebrow) {
    font-size: 12px;
  }
  .local-shop-photo > img {
    height: 250px;
  }
  .local-shop-photo > a {
    font-size: 8px;
    gap: 7px;
    padding-inline: 3px;
  }
  .visit {
    width: 100%;
    grid-template-columns: 1fr;
    padding: 50px 20px;
    gap: 25px;
  }
  .visit h2 {
    font-size: 34px;
  }
  .visit > div > p:not(.eyebrow) {
    font-size: 12px;
  }
  .visit-address {
    padding: 25px 0 0;
  }
  .footer-brand {
    width: 150px;
  }
  .inner-page .page-hero,
  .article-page .page-hero {
    padding: 42px 25px;
    border-radius: 0 0 20px 20px;
  }
  .page-hero h1 {
    font-size: clamp(34px, 8vw, 45px);
    overflow-wrap: anywhere;
  }
  .page-hero:after {
    right: 12px;
    top: 28px;
    font-size: 140px;
  }
  .page-hero > p:not(.eyebrow) {
    font-size: 12px;
  }
  .page-hero .eyebrow {
    font-size: 7px;
  }
  .page-hero .breadcrumb {
    font-size: 10px;
  }
  .service-card {
    padding: 23px 18px;
  }
  .service-card h3 {
    font-size: 18px;
  }
  .card-top .icon {
    padding: 10px;
    width: 22px;
    height: 22px;
  }
  .service-card p {
    font-size: 11px;
  }
  .feature-copy h2 {
    font-size: 32px;
  }
  .feature-image > img {
    height: 290px;
  }
  .timeline article {
    padding: 21px;
  }
  .timeline h3 {
    font-size: 21px;
  }
  .owner-slides img {
    height: 320px;
  }
  .owner-section p:nth-of-type(2) {
    font-size: 15px;
  }
  .faith-character {
    height: 180px;
    margin-right: 20px;
  }
  .faith h2 {
    font-size: 30px;
  }
  .faith > div:first-child .eyebrow {
    font-size: 6px;
  }
  .article-body {
    padding: 24px 20px;
  }
  .article-body h2 {
    font-size: 23px;
  }
  .article-body p {
    font-size: 13px;
  }
  .detail-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .detail-aside {
    padding: 25px;
  }
  .detail-aside h3 {
    font-size: 25px;
  }
  .contact-number {
    font-size: 30px;
  }
  .contact-visual > div {
    padding: 22px;
  }
  .search-result h2 {
    font-size: 21px;
  }
  .resource-bottom h2 {
    font-size: 32px;
  }
  .sales-genie {
    height: 150px;
    width: 150px;
  }
  .sales-genie-panel {
    padding: 27px;
  }
  .sales-genie-panel h3 {
    font-size: 31px;
  }
  .catalog-intro h2 {
    font-size: 34px;
  }
}
@media (max-width: 380px) {
  .color-hero h1 {
    font-size: 43px;
  }
  .color-hero .button-row {
    flex-direction: column;
    align-items: stretch;
  }
  .color-hero .button-row .button {
    width: 100%;
  }
  .tech-scene {
    min-height: 355px;
  }
  .hero-mascot {
    height: 280px;
  }
  .home-service-grid {
    grid-template-columns: 1fr;
  }
  .home-service h3 {
    font-size: 22px;
  }
  .home-service p {
    font-size: 12px;
  }
  .home-service .card-link {
    font-size: 10px;
  }
  .start-intro h2 {
    font-size: 22px;
  }
  .platforms {
    gap: 15px;
  }
  .faith-character {
    height: 160px;
  }
  .faith h2 {
    font-size: 27px;
  }
  .home-local h2 {
    font-size: 31px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
.service-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 5px 0 17px;
}
.service-filters button {
  padding: 11px 17px;
  border: 1px solid #c8d5ea;
  border-radius: 30px;
  background: white;
  color: #4c6590;
  font:
    600 11px Montserrat,
    sans-serif;
  cursor: pointer;
  box-shadow: 0 3px 8px #213d6f08;
}
.service-filters button[aria-pressed="true"] {
  background: linear-gradient(110deg, #4275d9, #8663cb);
  border-color: transparent;
  color: white;
  box-shadow: 0 5px 14px #7666ba26;
}
.service-filters button:hover {
  border-color: #8e7dc9;
}
.filter-status {
  font-size: 10px;
  color: #6b7d97;
  margin-bottom: 26px;
}
@media (min-width: 1181px) {
  .header nav {
    font-size: 12px;
    gap: 15px;
  }
}
@media (max-width: 760px) {
  .header nav a {
    font-size: 13px;
  }
  .color-hero-copy > p:not(.eyebrow) {
    font-size: 12px;
  }
  .home-service p {
    font-size: 11px;
  }
}
.home-expertise,
.home-genie {
  border-block: 1px solid #c5d9f033;
}
.home-expertise {
  border-bottom: 5px solid transparent;
  border-image: linear-gradient(90deg, #6b89e9, #8ed7e0, #b98bdd) 1;
}
.home-genie {
  border-bottom: 5px solid transparent;
  border-image: linear-gradient(90deg, #69b9cf, #b38ccf, #e99aaa) 1;
}
.has-service-visual {
  padding-right: 315px !important;
  min-height: 340px;
}
.has-service-visual h1 {
  font-size: clamp(38px, 4.5vw, 60px);
}
.service-hero-art {
  position: absolute;
  right: 35px;
  top: 50%;
  transform: translateY(-50%) rotate(4deg);
  width: 235px;
  height: 235px;
  background: linear-gradient(140deg, #e9f6ff, #e6ddfb);
  border: 1px solid #d1d5f0;
  border-radius: 28px;
  box-shadow: 0 15px 30px #243f6e22;
  overflow: hidden;
}
.service-hero-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.console-platforms {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
  margin-top: 35px;
}
.console-platforms > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 135px;
  height: 88px;
  background: white;
  border: 1px solid #dce5f1;
  border-radius: 16px;
  box-shadow: 0 8px 20px #e4e9f4;
}
.console-platforms img {
  width: 90px;
  height: 60px;
  object-fit: contain;
}
@media (max-width: 760px) {
  .has-service-visual {
    padding-right: 25px !important;
  }
  .service-hero-art {
    position: relative;
    top: auto;
    right: auto;
    transform: rotate(2deg);
    width: 160px;
    height: 150px;
    float: right;
    margin: 5px 0 15px 15px;
    border-radius: 18px;
  }
  .has-service-visual h1 {
    font-size: 37px;
  }
  .has-service-visual > p:not(.eyebrow) {
    clear: both;
  }
  .console-platforms {
    gap: 15px;
    margin-top: 25px;
  }
  .console-platforms > span {
    width: 95px;
    height: 72px;
  }
  .console-platforms img {
    width: 68px;
    height: 48px;
  }
}
[data-page="micro-soldering"] .service-hero-art img,
[data-page="advanced-diagnostics"] .service-hero-art img {
  object-fit: cover;
  mix-blend-mode: normal;
}
@media (max-width: 760px) {
  .service-hero-art {
    float: none;
    width: 100%;
    height: 180px;
    margin: 23px 0;
    transform: none;
  }
  .service-hero-art img {
    object-fit: contain;
  }
}

/* RodgersPC Labs: bright arcade framing around the preserved game engines. */
.lab-peach{--lab-accent:#f3b784;--lab-tint:#fff0df}.lab-mint{--lab-accent:#63d8d0;--lab-tint:#e3faf5}.lab-violet{--lab-accent:#b597ff;--lab-tint:#f0e9ff}.lab-blue{--lab-accent:#75cce7;--lab-tint:#e1f5fd}.lab-rose{--lab-accent:#f4a6b7;--lab-tint:#ffeaf0}
.lab-hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:3rem}.lab-hero-mascot{position:relative;display:grid;place-items:center;min-height:380px;isolation:isolate}.lab-hero-mascot img{width:75%;height:360px;object-fit:contain;filter:drop-shadow(0 24px 24px #243f6933);z-index:1}.lab-mascot-orbit{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 25% 25%,#d9f7f0,#d5e8ff 48%,#e3d7ff);transform:rotate(-12deg);box-shadow:0 20px 60px #536f9b22}.lab-sticker{position:absolute;right:0;bottom:12%;background:#f6c49b;padding:1.2rem;border-radius:16px;transform:rotate(9deg);font-size:.85rem;font-weight:900;line-height:1.3;z-index:2;box-shadow:0 12px 24px #64452222}.lab-section-head{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-bottom:2rem}.lab-section-head>p:last-child{max-width:380px}.lab-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.lab-game-card{border-radius:26px;overflow:hidden;background:white;border:1px solid #dbe5f1;box-shadow:0 12px 35px #233e6b0d;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;color:inherit}.lab-game-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px #233e6b22;border-color:var(--lab-accent)}.lab-card-art{height:190px;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 20%,#ffffffad,transparent 65%),var(--lab-tint);position:relative;isolation:isolate;overflow:hidden}.lab-card-art>.icon{width:85px;height:85px;stroke-width:1.2;filter:drop-shadow(6px 10px 0 #ffffffb3);z-index:1;transform:rotate(-8deg)}.lab-art-ring{position:absolute;width:240px;height:240px;border:32px solid var(--lab-accent);border-radius:50%;right:-45px;top:20px;opacity:.45}.lab-card-art>b{position:absolute;left:25px;top:22px;font-size:.8rem;letter-spacing:.15em;color:#294d87}.lab-card-copy{padding:2rem}.lab-card-copy h2{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.12;margin:.6rem 0 1rem}.lab-card-copy>p:not(.eyebrow){font-size:.95rem;line-height:1.8}.lab-card-copy .eyebrow{font-size:.67rem}.lab-card-copy .card-link{margin-top:1.3rem;display:block}.lab-disclaimer{margin-top:3rem;background:#edf4fb;border-radius:24px;padding:2rem;max-width:900px}.lab-disclaimer h2{font-size:1.5rem}.lab-disclaimer p{font-size:.9rem;line-height:1.8}.lab-game-heading{padding-top:2.5rem;padding-bottom:2.5rem}.lab-game-heading>div{display:grid;grid-template-columns:1fr 170px;align-items:center;gap:3rem;margin-top:2rem}.lab-game-heading h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.055em;margin:.8rem 0 1.2rem}.lab-game-heading h1 em{font-style:normal;color:#3867a8}.lab-game-heading p:not(.eyebrow){max-width:760px;line-height:1.8}.lab-heading-emblem{width:150px;height:150px;display:grid;place-items:center;border-radius:32px;background:linear-gradient(135deg,white,var(--lab-tint));border:1px solid white;box-shadow:0 14px 35px #233e6b1c;transform:rotate(7deg)}.lab-heading-emblem .icon{width:75px;height:75px;stroke-width:1.2;transform:rotate(-7deg)}.game-cabinet{position:relative;background:#0d1730;border-radius:24px;border:1px solid #344b77;box-shadow:0 26px 65px #203b6330,0 0 0 7px var(--lab-tint);color:white;overflow:hidden}.game-cabinet-bar,.game-cabinet-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem;background:#172442}.game-cabinet-bar>span{font-size:.72rem;letter-spacing:.1em;font-weight:800}.game-cabinet-bar i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lab-accent);margin-right:10px;box-shadow:0 0 12px var(--lab-accent)}.game-cabinet-bar>div{display:flex;gap:.6rem}.game-cabinet-bar button{font:600 .75rem Montserrat,sans-serif;color:#edf4ff;background:#2b3c5f;border:1px solid #63779c;border-radius:9px;padding:.65rem .8rem;cursor:pointer;min-height:38px}.game-cabinet-bar button:hover{background:#3b517b}.game-cabinet-foot{font-size:.6rem;letter-spacing:.1em;color:#c9d6ed}.game-cabinet-screen{position:relative;padding:2rem;min-height:360px}.game-cabinet #rpc-game-root{font:400 15px/1.5 Montserrat,sans-serif;isolation:isolate;min-width:0;outline-offset:8px;color:#e9efff}.game-cabinet #rpc-game-root *{box-sizing:border-box}.game-cabinet #rpc-game-root button{font-family:Montserrat,sans-serif;cursor:pointer}.game-cabinet #rpc-game-root h2,.game-cabinet #rpc-game-root h3{letter-spacing:normal;font-family:Montserrat,sans-serif}.game-cabinet #rpc-game-root svg{flex-shrink:0}.game-cabinet #rpc-game-root canvas{max-width:100%}.game-cabinet #rpc-game-root p{color:inherit}.game-cabinet #rpc-game-root:focus-visible{outline:2px solid var(--lab-accent)}.lab-pause-overlay{display:none;position:absolute;inset:0;z-index:100;place-content:center;text-align:center;background:#0d1730eb;backdrop-filter:blur(10px);padding:2rem}.lab-pause-overlay h2{font-size:clamp(1.8rem,4vw,3rem);color:white;margin:1rem 0}.lab-pause-overlay p{color:#c7d7ee}.lab-pause-overlay .eyebrow{color:var(--lab-accent)}.lab-pause-overlay .button{margin:1rem auto 0}.game-cabinet[data-paused=true] .lab-pause-overlay{display:grid}.game-cabinet[data-paused=true] #rpc-game-root{visibility:hidden}.game-cabinet:fullscreen{border-radius:0;overflow:auto;display:flex;flex-direction:column}.game-cabinet:fullscreen .game-cabinet-screen{flex:1}.lab-access-status{font-size:.8rem;margin:1.2rem 0 2rem;color:#536780}.lab-play-notes{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.lab-play-notes article{padding:2rem;background:var(--lab-tint);border-radius:22px}.lab-play-notes h2{font-size:1.5rem;line-height:1.2;margin:1rem 0}.lab-play-notes p:not(.eyebrow){font-size:.9rem;line-height:1.8}.lab-next-games{padding:3rem 0 4rem}.lab-next-games h2{font-size:2rem}.lab-next-games>div{display:flex;flex-wrap:wrap;gap:.7rem}.lab-next-games a{border:1px solid #cbd9e9;background:white;padding:.8rem 1rem;border-radius:12px;font-size:.85rem;font-weight:700;text-decoration:none;color:#294d87}
@media(max-width:700px){.lab-hero{grid-template-columns:1fr;gap:0}.lab-hero-mascot{min-height:290px}.lab-hero-mascot img{height:270px}.lab-sticker{right:8%;font-size:.7rem}.lab-section-head{display:block}.lab-game-grid{grid-template-columns:1fr;gap:1.3rem}.lab-card-art{height:155px}.lab-card-copy{padding:1.5rem}.lab-game-heading>div{grid-template-columns:1fr;gap:0}.lab-heading-emblem{display:none}.game-cabinet-screen{padding:1rem .65rem;min-height:260px}.game-cabinet-bar{flex-direction:column;align-items:flex-start;padding:1rem}.game-cabinet-foot{padding:1rem;letter-spacing:0;font-size:.55rem;flex-wrap:wrap}.lab-play-notes{grid-template-columns:1fr;gap:1rem}.lab-play-notes article{padding:1.5rem}.game-cabinet #rpc-game-root{font-size:13px}.game-cabinet{border-radius:16px}.lab-game-heading h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){.lab-game-card{transition:none}.lab-game-card:hover{transform:none}}
.lab-learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:2rem 0}.lab-learning-card{padding:2rem;border:1px solid #d5e0ee;border-radius:24px;background:linear-gradient(130deg,white,#edf3ff);text-decoration:none;color:inherit;box-shadow:0 10px 30px #274d7510;transition:transform .2s}.lab-learning-card:nth-child(2){background:linear-gradient(130deg,white,#eee5ff)}.lab-learning-card:nth-child(3){background:linear-gradient(130deg,white,#e2f7ef)}.lab-learning-card:nth-child(4){background:linear-gradient(130deg,white,#fff0df)}.lab-learning-card:hover{transform:translateY(-4px)}.lab-learning-card>.icon{width:40px;height:40px;margin-bottom:1rem}.lab-learning-card h2{font-size:1.8rem;line-height:1.15}.lab-learning-card p:not(.eyebrow){font-size:.95rem;line-height:1.8}.lab-parts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.lab-parts-grid article{min-width:0}.lab-parts-grid article>button{width:100%;height:100%;text-align:left;font:inherit;color:inherit;background:white;border:1px solid #d7e1f1;border-radius:22px;cursor:pointer;padding:1.5rem;box-shadow:0 8px 25px #274d7510;transition:transform .2s,border-color .2s}.lab-parts-grid button:hover{transform:translateY(-4px);border-color:#6b9bd5}.lab-parts-grid img{display:block;width:100%;height:180px;object-fit:contain;margin-bottom:1.2rem}.lab-parts-grid h2{font-size:1.1rem;line-height:1.3;margin:.6rem 0}.lab-parts-grid p{font-size:.85rem;line-height:1.7}.lab-parts-grid .eyebrow{font-size:.6rem}.part-status{display:inline-block;background:#edf3fb;color:#36577b;padding:.4rem .65rem;border-radius:7px;font-size:.65rem;font-weight:700}.lab-part-dialog{width:min(780px,calc(100% - 2rem));max-height:90dvh;border:1px solid #cedeee;border-radius:24px;background:#f9fbff;color:#1c355f;padding:2rem;box-shadow:0 25px 80px #152f6640}.lab-part-dialog::backdrop{background:#10264bab;backdrop-filter:blur(6px)}.lab-part-dialog>button{position:sticky;top:0;float:right;z-index:2}.lab-part-dialog img{display:block;width:100%;height:230px;object-fit:contain;margin:2rem 0}.lab-part-dialog h2{font-size:2rem;line-height:1.15}.lab-part-dialog h3{font-size:1rem;margin-top:2rem}.lab-part-dialog p,.lab-part-dialog li{font-size:.95rem;line-height:1.8}.lab-quiz-shell{padding:2.5rem;background:white;border:1px solid #d9e4f3;border-radius:26px;box-shadow:0 18px 50px #223e7810;margin-bottom:2rem}.lab-quiz-shell h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.22;letter-spacing:-.035em}.lab-quiz-shell p{line-height:1.8}.lab-mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin:2rem 0}.lab-mode-grid button{font:inherit;text-align:left;background:linear-gradient(135deg,#e7f5ff,#eee5ff);border:1px solid #c9d7eb;border-radius:18px;padding:1.5rem;color:#233f6b;cursor:pointer;display:grid;gap:1rem}.lab-mode-grid b{font-size:1.3rem;line-height:1.3}.lab-mode-grid span{font-size:.8rem}.lab-mode-grid strong{font-size:.9rem}.lab-quiz-top{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;font-weight:800}.lab-quiz-shell progress{width:100%;height:10px;accent-color:#5578bd;margin:1.5rem 0}.lab-answer-grid{display:grid;gap:.8rem;margin:1.5rem 0}.lab-answer-grid button{display:flex;gap:1rem;align-items:center;text-align:left;font:500 .95rem/1.6 Montserrat,sans-serif;color:#243f69;background:#f5f8fe;border:1px solid #d2dff0;border-radius:14px;padding:1.1rem;cursor:pointer}.lab-answer-grid button>b{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;background:#e2eafa;border-radius:9px;color:#335c99}.lab-answer-grid button:hover:not(:disabled){border-color:#5578bd;background:#eaf2ff}.lab-answer-grid button[data-correct=true]{border-color:#36987d;background:#e7f8ef}.lab-answer-grid button[data-correct=false]{border-color:#cd746d;background:#fff0ed}.lab-answer-grid button:disabled{opacity:1}.lab-answer-explanation{background:#ecf5ff;border-radius:18px;padding:1.5rem}.lab-answer-explanation h3{font-size:1.2rem}.lab-result-score{display:grid;gap:.5rem;margin:1.5rem 0}.lab-result-score b{font-size:4rem;line-height:1;color:#3d69ad}.lab-result-score small{font-size:1.5rem;color:#657b9c}.lab-result-score span{font-size:.9rem}.lab-certificate-unlock{background:#e9f6ef;border-radius:18px;padding:1.5rem;margin:2rem 0}.lab-quiz-shell button:disabled{cursor:default}.lab-quiz-shell .button:disabled{opacity:.5}.lab-answer-review{margin-top:2rem}.lab-answer-review summary,.lab-reward-rules summary{font-weight:700;cursor:pointer;padding:.7rem 0}.lab-answer-review article{border-top:1px solid #d5e1f1;padding:1rem 0}.lab-answer-review h3{font-size:1rem}.lab-answer-review p,.lab-reward-rules p{font-size:.85rem;line-height:1.8}.lab-reward-rules{padding-bottom:4rem}.lab-certificate{text-align:center;max-width:780px;margin:auto}.lab-certificate>img{object-fit:contain}.lab-certificate label{display:grid;gap:.8rem;font-size:.8rem;margin:2rem 0}.lab-certificate input{font:800 1.5rem Montserrat,sans-serif;padding:1rem;text-align:center;width:100%;border:1px solid #cbd9e9;border-radius:12px}.lab-cert-reward{display:block;font-size:2.4rem;color:#3764a4;margin:2rem 0}.lab-certificate .button-row{justify-content:center}.game-cabinet #rpc-game-root .rpc-flow-guide{padding:1rem;min-height:550px}.game-cabinet #rpc-game-root .rpc-flow-guide>div{transform:none!important}.game-cabinet #rpc-game-root .rpc-flow-guide p{font-size:12px!important;line-height:1.6!important}.game-cabinet #rpc-game-root .rpc-flow-guide button{min-height:44px}.game-cabinet #rpc-game-root .rpc-flow-guide>div{max-width:900px}
@media(max-width:700px){.lab-learning-grid{grid-template-columns:1fr}.lab-learning-card{padding:1.5rem}.lab-parts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.lab-parts-grid article>button{padding:.9rem}.lab-parts-grid img{height:110px}.lab-parts-grid h2{font-size:.85rem}.lab-parts-grid p{font-size:.75rem}.lab-parts-grid .card-link{font-size:.7rem}.lab-part-dialog{padding:1.2rem}.lab-quiz-shell{padding:1.25rem}.lab-answer-grid button{padding:.8rem;font-size:.85rem}.lab-quiz-top{font-size:.7rem}.lab-quiz-shell h2{font-size:1.5rem}.lab-cert-reward{font-size:1.8rem}}
@media print{body:has(.lab-certificate) .topbar,body:has(.lab-certificate) header,body:has(.lab-certificate) footer,body:has(.lab-certificate) .lab-game-heading,body:has(.lab-certificate) .lab-reward-rules,body:has(.lab-certificate) .button-row{display:none!important}body:has(.lab-certificate),body:has(.lab-certificate) main{background:white!important}.lab-quiz-shell:has(.lab-certificate){width:100%;max-width:none;margin:0;padding:1cm;box-shadow:none;border:2px solid #233f6b}.lab-certificate input{border:0}.lab-certificate{break-inside:avoid}.lab-certificate p{font-size:10pt;line-height:1.5}}
.lab-card-art{height:230px;background:#0d1730}.lab-card-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}.lab-card-art>.icon{position:absolute;bottom:16px;right:16px;width:40px;height:40px;padding:8px;color:#1c355b;background:var(--lab-accent);border-radius:12px;box-sizing:content-box;filter:none;transform:rotate(7deg)}.lab-card-art>b{background:var(--lab-accent);color:#17325d;padding:.45rem .65rem;border-radius:8px;left:18px;top:18px;z-index:1}.lab-card-art .lab-art-ring{display:none}
@media(max-width:700px){.lab-card-art{height:190px}.lab-card-art>.icon{width:30px;height:30px}}

/* Expanded gameplay stays above navigation and fits the current visual viewport. */
body.game-is-expanded{overflow:hidden}
body.game-is-expanded .header,body.game-is-expanded .website-genie{visibility:hidden;pointer-events:none}
.game-cabinet.game-expanded,.game-cabinet:fullscreen{position:fixed;inset:0;width:100%;height:100dvh;max-height:100dvh;z-index:1000;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}
.game-expanded .game-cabinet-bar,.game-cabinet:fullscreen .game-cabinet-bar{padding:.4rem .7rem;flex-shrink:0;gap:.4rem}
.game-expanded .game-cabinet-bar button{min-height:44px;padding:.4rem .7rem}
.game-expanded .game-cabinet-screen,.game-cabinet:fullscreen .game-cabinet-screen{flex:1;min-height:0;overflow:auto;padding:.5rem;overscroll-behavior:contain}
.game-expanded .game-cabinet-foot,.game-cabinet:fullscreen .game-cabinet-foot{display:none}
.game-expanded #rpc-game-root,.game-cabinet:fullscreen #rpc-game-root{height:100%;min-height:0}
.game-expanded [data-game-layout=arcade]{height:100%!important;max-height:100%!important}
.game-expanded [data-game-layout=arcade]>div.flex-1{min-height:0!important}
.game-expanded [data-game-layout=bench]{height:100%;display:flex;flex-direction:column;align-items:center}
.game-expanded [data-game-layout=bench]>div{flex-shrink:0;width:100%}
.game-expanded [data-game-layout=bench]>div.relative{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.game-expanded [data-game-field=bench]{width:min(100%,calc((100dvh - 110px)*2.2857));max-height:100%}
@media(max-height:500px){.game-expanded .game-cabinet-bar>span{font-size:.6rem}.game-expanded .game-cabinet-bar button{font-size:.68rem}.game-expanded [data-game-layout=bench]>.mb-4{margin-bottom:.25rem}}

/* Tablet landscape uses the same bounded, scrollable menu as phones. */
@media(max-width:1180px){.header nav.is-open{max-height:calc(100dvh - 115px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(20px,env(safe-area-inset-bottom))}}
html{scroll-padding-top:110px}

html:has(body.game-is-expanded){overflow:hidden;overscroll-behavior:none}
.game-expanded .game-cabinet-bar{position:relative;z-index:5}
