@font-face {
  font-family: Roboto;
  src: url("/assets/fonts/roboto-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --red: #a83232;
  --red-tint: #f8eeee;
  --ink: #202023;
  --text: #54545b;
  --muted: #6c6c73;
  --surface: #f6f6f8;
  --line: #e5e5e9;
  --shadow: 0 8px 28px rgba(25, 25, 30, 0.055);
  --radius: 16px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}
body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  color: var(--ink);
  background: #fff;
  font-family: Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
main {
  flex: 1;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
figure {
  margin: 0;
}
p {
  margin: 0 0 18px;
  color: var(--text);
}
p:last-child {
  margin-bottom: 0;
}
h1,
h2,
h3 {
  margin: 0 0 20px;
  font-weight: 650;
  line-height: 1.18;
  letter-spacing: -0.025em;
}
h1 {
  font-size: 44px;
  max-width: 900px;
}
h2 {
  font-size: 34px;
}
h3 {
  font-size: 21px;
  letter-spacing: -0.015em;
}
a {
  color: var(--red);
  text-underline-offset: 4px;
}
a:hover {
  text-decoration-thickness: 2px;
}
a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 5px;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid var(--red);
  outline-offset: 2px;
}
.wrap {
  width: min(1160px, calc(100% - 80px));
  margin-inline: auto;
}
.section {
  padding-block: 70px;
}
.section-bottom {
  padding-bottom: 70px;
}
.icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  vertical-align: middle;
  stroke-width: 1.8;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 50px;
  padding: 13px 22px;
  border: 1px solid var(--red);
  border-radius: 8px;
  background: var(--red);
  color: white;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  box-shadow: 0 4px 12px rgba(168, 50, 50, 0.14);
  transition:
    background 0.18s,
    transform 0.18s,
    box-shadow 0.18s;
}
.button .icon {
  width: 19px;
  height: 19px;
}
.button:hover {
  background: #8f2929;
  border-color: #8f2929;
  transform: translateY(-2px);
  box-shadow: 0 7px 18px rgba(168, 50, 50, 0.21);
  text-decoration: none;
}
.button-outline {
  background: transparent;
  border-color: #77777b;
  box-shadow: none;
}
.button-outline:hover {
  background: #36363b;
  border-color: #aaa;
  box-shadow: none;
}
.button-small {
  min-height: 44px;
  padding: 10px 16px;
  font-size: 13px;
  gap: 12px;
}
.actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 28px;
}
.phone-action {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.phone-action .icon {
  width: 19px;
  height: 19px;
}
.intro-text,
.lead {
  font-size: 20px;
  line-height: 1.6;
  max-width: 750px;
}
.intro-text + p {
  max-width: 760px;
}
.email-link {
  overflow-wrap: anywhere;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  min-height: 44px;
}
.text-link .icon {
  width: 19px;
  height: 19px;
  transition: transform 0.18s;
}
.text-link:hover {
  text-decoration: underline;
}
.text-link:hover .icon {
  transform: translateX(3px);
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 20px;
  padding: 12px;
  background: white;
  color: var(--red);
  z-index: 100;
}
.skip-link:focus {
  top: 10px;
}
/* Navigation */
.utility-bar {
  background: #f2f2f4;
  color: #53535a;
  font-size: 11px;
}
.utility-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 35px;
}
.utility-location {
  margin-left: 8px;
}
.utility-inner > a {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  padding-block: 7px;
}
.utility-inner .icon {
  width: 14px;
  height: 14px;
}
.site-header {
  position: relative;
  z-index: 5;
  background: white;
  border-bottom: 1px solid var(--line);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-height: 91px;
}
.brand {
  flex-shrink: 0;
}
.brand img {
  width: 225px;
  height: auto;
}
.navigation {
  display: flex;
  align-items: center;
  gap: 22px;
}
.navigation > a {
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  white-space: nowrap;
  padding: 9px 0;
  transition: color 0.15s;
}
.navigation > a:hover,
.navigation > a[aria-current="page"]:not(.button) {
  color: var(--red);
}
.navigation > a[aria-current="page"]:not(.button) {
  text-decoration: underline;
  text-underline-offset: 7px;
}
.navigation > a.button {
  color: white;
  padding: 11px 16px;
  font-weight: 600;
}
.menu-toggle {
  display: none;
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 14px;
  min-height: 44px;
}
.menu-toggle .icon {
  width: 19px;
  height: 19px;
}
/* A genuine repair photograph anchors the homepage. */
.home-hero {
  background: #222225;
  color: white;
}
.hero-layout {
  display: grid;
  grid-template-columns: 1.12fr 1fr;
  gap: 70px;
  align-items: center;
  padding-block: 56px 60px;
}
.hero-copy h1 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -0.035em;
  margin-bottom: 24px;
}
.hero-location {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #d5d5d9;
  font-size: 12px;
  margin-bottom: 23px;
}
.hero-location .icon {
  width: 16px;
  height: 16px;
}
.hero-lead {
  color: #d2d2d7;
  font-size: 18px;
  line-height: 1.7;
  max-width: 480px;
}
.hero-copy .actions {
  gap: 13px;
}
.hero-copy .button {
  font-size: 14px;
  padding-inline: 19px;
}
.hero-copy .button-outline {
  color: white;
  gap: 10px;
}
.hero-assurances {
  list-style: none;
  display: flex;
  gap: 12px 21px;
  flex-wrap: wrap;
  padding: 0;
  margin: 25px 0 0;
  color: #d0d0d6;
  font-size: 11px;
}
.hero-assurances li {
  display: flex;
  align-items: center;
  gap: 7px;
}
.hero-assurances .icon {
  width: 15px;
  height: 15px;
  color: white;
}
.mobile-break {
  display: none;
}
.hero-photo {
  border-radius: 18px;
  overflow: hidden;
  background: white;
  box-shadow: 0 18px 50px #0003;
}
.hero-photo > img {
  width: 100%;
  height: 421px;
  object-fit: cover;
  object-position: 50% 65%;
}
.hero-photo figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 21px;
  color: var(--ink);
}
.photo-person {
  display: flex;
  align-items: center;
  gap: 13px;
}
.photo-person > .icon {
  box-sizing: content-box;
  padding: 10px;
  width: 22px;
  height: 22px;
  border-radius: 10px;
  background: var(--red-tint);
  color: var(--red);
}
.photo-person strong {
  display: block;
  font-size: 15px;
  line-height: 1.4;
}
.photo-person span {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}
.hero-photo figcaption > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f3f3f5;
  color: var(--ink);
}
.hero-photo figcaption > a .icon {
  width: 18px;
  height: 18px;
}
.section-heading {
  margin-bottom: 30px;
}
.section-heading h2 {
  margin-bottom: 12px;
}
.section-heading p {
  max-width: 640px;
  font-size: 16px;
}
.service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 29px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  text-decoration: none;
  background: white;
  box-shadow: var(--shadow);
  transition:
    transform 0.2s,
    border-color 0.2s,
    box-shadow 0.2s;
}
.service-card:hover {
  transform: translateY(-4px);
  border-color: #d5b2b2;
  box-shadow: 0 14px 32px #20202313;
  text-decoration: none;
}
.card-icon,
.section-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--red-tint);
  color: var(--red);
  margin-bottom: 20px;
}
.card-icon .icon {
  width: 25px;
  height: 25px;
}
.service-card h3 {
  font-size: 22px;
  margin-bottom: 12px;
}
.service-card p {
  font-size: 15px;
  line-height: 1.7;
  max-width: 460px;
  margin-bottom: 22px;
}
.card-link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--red);
  font-size: 14px;
  font-weight: 600;
  margin-top: auto;
}
.card-link .icon {
  width: 18px;
  height: 18px;
  transition: transform 0.2s;
}
.service-card:hover .card-link .icon {
  transform: translateX(4px);
}
.process-section {
  background: var(--surface);
}
.process-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 110px;
  align-items: start;
}
.process-intro h2 {
  font-size: 36px;
}
.process-intro > p {
  max-width: 440px;
}
.section-icon {
  margin-bottom: 22px;
}
.process-timeline {
  list-style: none;
  padding: 0;
  margin: 9px 0 0;
  position: relative;
}
.process-timeline:before {
  content: "";
  position: absolute;
  left: 18px;
  top: 20px;
  bottom: 55px;
  width: 1px;
  background: #d8d8de;
}
.process-timeline li {
  display: flex;
  gap: 22px;
  position: relative;
  margin-bottom: 27px;
}
.process-timeline li:last-child {
  margin-bottom: 0;
}
.step-number {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  background: white;
  border: 1px solid #dedee4;
  border-radius: 50%;
  color: var(--red);
  font-size: 14px;
  font-weight: 700;
}
.process-timeline h3 {
  font-size: 19px;
  margin: 5px 0 8px;
}
.process-timeline p {
  font-size: 14px;
  line-height: 1.65;
  max-width: 440px;
}
.owner-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 80px;
}
.owner-profile {
  display: flex;
  align-items: center;
  gap: 27px;
}
.owner-profile img {
  width: 130px;
  height: 165px;
  object-fit: cover;
  object-position: center 35%;
  border-radius: 14px;
}
.owner-profile h2 {
  font-size: 34px;
  margin-bottom: 10px;
}
.owner-role {
  font-size: 15px;
  color: var(--muted);
  max-width: 200px;
}
.owner-copy > p {
  font-size: 15px;
}
/* Interior service pages */
.page-header {
  padding-top: 48px;
  padding-bottom: 38px;
}
.page-header h1 {
  font-size: 44px;
}
.page-header > .button {
  margin-top: 7px;
}
.page-repair main,
.page-contact main {
  background: #f8f8fa;
}
.repair-layout {
  display: grid;
  grid-template-columns: 1.85fr 1fr;
  gap: 32px;
  align-items: start;
}
.repair-information {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.repair-information > h2 {
  grid-column: 1/-1;
  font-size: 27px;
  margin-bottom: 4px;
}
.repair-information > section {
  padding: 22px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 13px;
  box-shadow: 0 3px 14px #20202304;
}
.service-heading {
  display: flex;
  gap: 12px;
  align-items: start;
  margin-bottom: 13px;
}
.small-icon {
  display: flex;
  color: var(--red);
  padding-top: 2px;
}
.small-icon .icon {
  width: 23px;
  height: 23px;
}
.service-heading h3 {
  font-size: 18px;
  line-height: 1.35;
  margin: 0;
}
.repair-information p {
  font-size: 14px;
  line-height: 1.7;
}
.repair-arrangements {
  background: var(--ink);
  color: white;
  padding: 28px;
  border-radius: var(--radius);
  margin-top: 56px;
}
.repair-arrangements h2 {
  font-size: 25px;
}
.repair-arrangements ol {
  padding-left: 20px;
  margin: 0 0 25px;
}
.repair-arrangements li {
  padding-left: 4px;
  margin-bottom: 23px;
  font-size: 15px;
  color: #f0f0f3;
}
.repair-arrangements li:last-child {
  margin-bottom: 0;
}
.repair-arrangements li p {
  margin-top: 7px;
  font-size: 14px;
  color: #c5c5cd;
}
.repair-arrangements h3 {
  font-size: 18px;
}
.repair-arrangements > p {
  font-size: 14px;
  color: #c5c5cd;
}
.repair-questions > h2 {
  font-size: 29px;
}
.repair-questions details {
  max-width: 800px;
  margin-bottom: 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
  padding: 0 20px;
}
.repair-questions summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 550;
  cursor: pointer;
  padding-block: 18px;
  list-style: none;
}
.repair-questions summary::-webkit-details-marker {
  display: none;
}
.repair-questions summary .icon {
  width: 19px;
  height: 19px;
  transition: transform 0.2s;
}
.repair-questions details[open] summary .icon {
  transform: rotate(180deg);
}
.repair-questions details p {
  margin: 0 0 19px;
  font-size: 15px;
  max-width: 710px;
}
.business-page-header {
  display: grid;
  grid-template-columns: 1.3fr 0.85fr;
  gap: 70px;
  align-items: center;
  padding-bottom: 55px;
}
.business-page-header h1 {
  font-size: 43px;
}
.business-page-header .button {
  margin-top: 10px;
}
.business-feature {
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center 53%;
  border-radius: 18px;
  box-shadow: var(--shadow);
}
.business-information > h2 {
  font-size: 30px;
  margin-bottom: 28px;
}
.service-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 23px;
}
.service-options > article {
  padding: 29px;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.service-options h3 {
  font-size: 22px;
  margin-bottom: 12px;
}
.service-options p {
  font-size: 15px;
}
.information-note {
  display: flex;
  align-items: start;
  gap: 24px;
  padding: 33px;
  background: var(--surface);
  border-radius: var(--radius);
  margin-top: 33px;
}
.note-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 12px;
  background: white;
  color: var(--red);
}
.information-note h2 {
  font-size: 27px;
}
.information-note p {
  font-size: 15px;
  max-width: 850px;
}
.about-layout {
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 65px;
  align-items: start;
}
.owner-portrait {
  width: 310px;
  height: 410px;
  object-fit: cover;
  object-position: center 35%;
  border-radius: 18px;
  box-shadow: var(--shadow);
}
.about-copy {
  max-width: 710px;
}
.about-copy h2 {
  font-size: 28px;
}
.about-copy h2:not(:first-child) {
  margin-top: 30px;
}
.about-copy .text-link {
  margin-top: 5px;
}
.project-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.project-list > article {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  padding: 0 26px 26px;
  box-shadow: var(--shadow);
}
.project-list img {
  width: calc(100% + 52px);
  max-width: none;
  height: 370px;
  object-fit: contain;
  background: var(--surface);
  margin: 0 -26px 24px;
}
.project-list h2 {
  font-size: 25px;
  margin-bottom: 12px;
}
.project-list p {
  font-size: 15px;
}
.inventory-empty {
  max-width: 850px;
  padding: 38px;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.empty-state-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 65px;
  height: 65px;
  border-radius: 16px;
  background: var(--red-tint);
  color: var(--red);
  margin-bottom: 25px;
}
.empty-state-icon .icon {
  width: 32px;
  height: 32px;
}
.inventory-empty h2 {
  font-size: 28px;
}
.inventory-empty p {
  max-width: 690px;
}
.inventory-empty .button {
  margin-top: 10px;
}
.computer-listing {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  margin-bottom: 30px;
  border: 1px solid var(--line);
  padding: 28px;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.computer-listing > img {
  width: 100%;
  height: 330px;
  object-fit: contain;
  background: var(--surface);
  border-radius: 10px;
}
.computer-listing h2 {
  font-size: 28px;
}
.availability {
  font-size: 13px;
  font-weight: 600;
  color: var(--red);
}
.price {
  font-size: 25px;
  font-weight: 650;
}
.specs {
  margin: 20px 0;
  font-size: 14px;
}
.specs > div {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 20px;
  margin-bottom: 10px;
}
.specs dt {
  font-weight: 600;
}
.specs dd {
  margin: 0;
  color: var(--text);
}
/* Form fields retain their existing names and security behavior. */
.contact-layout {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 32px;
  align-items: start;
}
.form-column {
  min-width: 0;
  background: white;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.contact-details {
  padding: 29px;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.contact-details h2 {
  font-size: 25px;
}
.contact-phone {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 25px;
  font-weight: 650;
  margin-bottom: 12px;
  text-decoration: none;
}
.contact-phone .icon {
  width: 22px;
  height: 22px;
}
.contact-details > .email-link {
  font-size: 13px;
  display: block;
}
.contact-details > div {
  margin-top: 29px;
}
.contact-details h3 {
  font-size: 18px;
  margin-bottom: 11px;
}
.contact-details p {
  font-size: 14px;
}
.contact-details > .text-link {
  margin-top: 18px;
  font-size: 14px;
}
.development-notice {
  display: flex;
  flex-direction: column;
  gap: 3px;
  background: var(--surface);
  padding: 14px 16px;
  border-radius: 8px;
  margin-bottom: 27px;
  color: var(--text);
  font-size: 12px;
}
.development-notice strong {
  font-weight: 600;
}
.request-form fieldset {
  border: 0;
  padding: 0;
  min-width: 0;
  margin: 0 0 26px;
}
.request-form legend {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 19px;
  padding: 0;
}
.request-form legend .icon {
  width: 21px;
  height: 21px;
  color: var(--red);
}
.form-instruction {
  font-size: 12px;
  margin-top: -7px;
  margin-bottom: 20px;
}
.form-field {
  margin-bottom: 22px;
}
.form-field label {
  display: block;
  font-size: 14px;
  font-weight: 550;
  margin-bottom: 7px;
}
.form-field label > span {
  font-size: 12px;
  font-weight: 400;
  color: var(--muted);
}
.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  border: 1px solid #c6c6cf;
  border-radius: 7px;
  padding: 11px 12px;
  min-height: 48px;
  background: white;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  box-shadow: 0 0 0 3px #a8323212;
}
.form-field textarea {
  min-height: 150px;
  resize: vertical;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.form-grid .form-field {
  margin-bottom: 0;
}
fieldset > .form-field:last-child {
  margin-bottom: 0;
}
.hint {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 7px;
}
.form-footnote {
  font-size: 12px;
  max-width: 560px;
  margin-top: 18px;
}
.field-error {
  display: block;
  color: var(--red);
  font-size: 13px;
  margin-top: 6px;
}
.form-field [aria-invalid="true"] {
  border-color: var(--red);
}
.error-summary {
  border: 2px solid var(--red);
  border-radius: 9px;
  padding: 19px 22px;
  margin-bottom: 25px;
}
.error-summary h2 {
  font-size: 21px;
  margin-bottom: 12px;
}
.error-summary p,
.error-summary li {
  font-size: 14px;
  color: var(--red);
}
.error-summary ul {
  padding-left: 20px;
  margin: 0;
}
.honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.success-message {
  padding: 12px 0;
}
.success-message h2 {
  font-size: 28px;
}
.success-message .reference {
  font-size: 14px;
}
.success-message .text-link {
  font-size: 15px;
}
.privacy-layout .prose {
  max-width: 850px;
  padding: 33px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.prose > section {
  margin-bottom: 30px;
}
.prose > section:last-child {
  margin-bottom: 0;
}
.prose h2 {
  font-size: 25px;
}
.prose p {
  font-size: 15px;
}
.error-page {
  min-height: 45vh;
}
/* Footer */
.site-footer {
  background: #232326;
  color: white;
}
.footer-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding-block: 39px;
  border-bottom: 1px solid #ffffff26;
}
.footer-cta h2 {
  font-size: 29px;
  margin-bottom: 10px;
}
.footer-cta p {
  color: #c4c4cc;
  font-size: 14px;
}
.footer-cta > .button {
  flex-shrink: 0;
}
.footer-main {
  display: grid;
  grid-template-columns: 1.15fr 1.1fr 0.7fr;
  gap: 60px;
  padding-block: 39px;
}
.footer-identity > strong {
  display: block;
  font-size: 20px;
  margin-bottom: 14px;
}
.footer-identity p {
  font-size: 12px;
  color: #bbbcc5;
  line-height: 1.8;
}
.footer-main h2 {
  font-size: 14px;
  letter-spacing: 0;
  font-weight: 550;
  margin-bottom: 17px;
}
.footer-main a {
  color: #d9d9e0;
  font-size: 12px;
  text-decoration: none;
}
.footer-main a:hover {
  color: white;
  text-decoration: underline;
}
.footer-contact > a {
  display: block;
  margin-bottom: 10px;
}
.footer-contact > a.footer-phone {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 21px;
  font-weight: 600;
  color: white;
  line-height: 1.4;
}
.footer-phone .icon {
  width: 18px;
  height: 18px;
}
.footer-links > a {
  display: block;
  margin-bottom: 7px;
}
.footer-bottom {
  display: flex;
  align-items: center;
  gap: 26px;
  border-top: 1px solid #ffffff20;
  padding-block: 20px;
  font-size: 10px;
  color: #b5b5bf;
}
.footer-bottom > a {
  color: #b5b5bf;
}
.dev-label {
  margin-left: auto;
}
@keyframes reveal-in {
  from {
    opacity: 0.6;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.reveal.in-view {
  animation: reveal-in 0.5s ease both;
}
@keyframes menu-in {
  from {
    opacity: 0.5;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 1200px) {
  .wrap {
    width: calc(100% - 64px);
  }
  .hero-layout {
    gap: 45px;
  }
  .hero-copy h1 {
    font-size: 52px;
  }
  .hero-copy .button {
    font-size: 13px;
    gap: 10px;
    padding-inline: 16px;
  }
  .hero-lead {
    font-size: 17px;
  }
  .hero-photo > img {
    height: 410px;
  }
  .hero-assurances {
    font-size: 10px;
    gap: 12px;
  }
  .brand img {
    width: 210px;
  }
  .navigation {
    gap: 19px;
  }
  .navigation > a {
    font-size: 12px;
  }
  .navigation > a.button {
    padding-inline: 13px;
  }
  .process-layout {
    gap: 75px;
  }
  .owner-section {
    gap: 50px;
  }
  .owner-profile {
    gap: 22px;
  }
  .owner-profile h2 {
    font-size: 31px;
  }
  .business-page-header {
    gap: 50px;
  }
  .business-page-header h1 {
    font-size: 40px;
  }
  .about-layout {
    gap: 50px;
  }
  .footer-main {
    gap: 40px;
  }
}
@media (max-width: 980px) {
  .header-inner {
    flex-wrap: wrap;
    padding-block: 18px;
    min-height: 88px;
    gap: 18px;
  }
  .navigation {
    display: flex;
    width: 100%;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: var(--shadow);
    gap: 20px;
    flex-wrap: wrap;
    background: white;
  }
  .navigation > a.button {
    margin-left: auto;
  }
  .js .menu-toggle {
    display: flex;
  }
  .js .navigation:not(.is-open) {
    display: none;
  }
  .navigation.is-open {
    animation: menu-in 0.2s ease both;
  }
  .hero-layout {
    gap: 35px;
    padding-block: 45px;
  }
  .hero-copy h1 {
    font-size: 47px;
  }
  .hero-lead {
    font-size: 16px;
  }
  .hero-copy .actions {
    gap: 12px;
  }
  .hero-copy .button {
    font-size: 12px;
    padding: 12px 14px;
    min-height: 47px;
  }
  .hero-copy .button .icon {
    width: 16px;
    height: 16px;
  }
  .hero-photo > img {
    height: 380px;
  }
  .hero-photo figcaption {
    padding: 15px;
  }
  .photo-person {
    gap: 10px;
  }
  .photo-person strong {
    font-size: 14px;
  }
  .photo-person span {
    font-size: 11px;
  }
  .photo-person > .icon {
    padding: 8px;
    width: 19px;
    height: 19px;
  }
  .hero-assurances {
    display: block;
    font-size: 11px;
  }
  .hero-assurances li {
    margin-bottom: 7px;
  }
  .section {
    padding-block: 57px;
  }
  .service-card {
    padding: 25px;
  }
  .process-layout {
    gap: 50px;
  }
  .process-intro h2 {
    font-size: 31px;
  }
  .owner-section {
    gap: 40px;
  }
  .owner-profile {
    display: block;
  }
  .owner-profile img {
    width: 110px;
    height: 140px;
    margin-bottom: 19px;
  }
  .owner-profile h2 {
    font-size: 30px;
  }
  .owner-role {
    max-width: none;
  }
  .repair-layout {
    grid-template-columns: 1.8fr 1fr;
    gap: 23px;
  }
  .repair-information {
    grid-template-columns: 1fr;
  }
  .repair-information > section {
    padding: 22px;
  }
  .repair-arrangements {
    padding: 24px;
  }
  .business-page-header {
    gap: 35px;
    grid-template-columns: 1.3fr 0.9fr;
  }
  .business-feature {
    height: 345px;
  }
  .business-page-header h1 {
    font-size: 35px;
  }
  .business-page-header .intro-text {
    font-size: 19px;
  }
  .business-page-header p {
    font-size: 15px;
  }
  .service-options > article {
    padding: 25px;
  }
  .service-options h3 {
    font-size: 21px;
  }
  .about-layout {
    grid-template-columns: 250px 1fr;
    gap: 40px;
  }
  .owner-portrait {
    width: 250px;
    height: 335px;
  }
  .contact-layout {
    grid-template-columns: 1.5fr 1fr;
    gap: 23px;
  }
  .form-column {
    padding: 25px;
  }
  .contact-details {
    padding: 24px;
  }
  .contact-phone {
    font-size: 23px;
  }
  .contact-details > .email-link {
    font-size: 12px;
  }
  .form-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .footer-main {
    grid-template-columns: 1fr 1.1fr;
    gap: 35px;
  }
  .footer-links {
    grid-column: 1/-1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
  }
  .footer-links h2 {
    width: 100%;
    margin-bottom: 5px;
  }
  .footer-links > a {
    margin: 0;
  }
}
@media (max-width: 700px) {
  .wrap {
    width: calc(100% - 40px);
  }
  h1 {
    font-size: 34px;
  }
  h2 {
    font-size: 29px;
  }
  h3 {
    font-size: 20px;
  }
  .section {
    padding-block: 43px;
  }
  .section-bottom {
    padding-bottom: 43px;
  }
  .intro-text,
  .lead {
    font-size: 18px;
  }
  .utility-inner {
    min-height: 37px;
    font-size: 10px;
    gap: 10px;
  }
  .utility-inner > a {
    font-size: 12px;
    white-space: nowrap;
    padding-block: 9px;
  }
  .utility-inner > a .icon {
    width: 13px;
    height: 13px;
  }
  .utility-location {
    display: none;
  }
  .brand img {
    width: 195px;
  }
  .header-inner {
    min-height: 84px;
    padding-block: 17px;
  }
  .navigation {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 17px;
  }
  .navigation > a {
    font-size: 15px;
    padding-block: 13px;
  }
  .navigation > a.button {
    margin: 12px 0 4px;
    align-self: stretch;
    min-width: 170px;
    font-size: 14px;
    justify-content: space-between;
  }
  .hero-layout {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 33px;
    padding-bottom: 35px;
  }
  .hero-copy h1 {
    font-size: 43px;
    line-height: 1.12;
    margin-bottom: 21px;
  }
  .hero-location {
    font-size: 10px;
    margin-bottom: 21px;
    gap: 6px;
  }
  .hero-location .icon {
    width: 14px;
    height: 14px;
  }
  .hero-lead {
    font-size: 16px;
    max-width: 560px;
    line-height: 1.7;
  }
  .hero-copy .actions {
    margin-top: 23px;
    gap: 12px;
  }
  .hero-copy .button {
    font-size: 13px;
    padding: 13px 16px;
    min-height: 48px;
  }
  .hero-copy .button .icon {
    width: 17px;
    height: 17px;
  }
  .hero-assurances {
    display: flex;
    gap: 9px 17px;
    font-size: 10px;
    margin-top: 21px;
  }
  .hero-assurances li {
    margin: 0;
    gap: 5px;
  }
  .hero-assurances .icon {
    width: 14px;
    height: 14px;
  }
  .hero-photo {
    border-radius: 14px;
    max-width: 530px;
  }
  .hero-photo > img {
    height: 315px;
    object-position: center 66%;
  }
  .hero-photo figcaption {
    padding: 14px 16px;
  }
  .photo-person strong {
    font-size: 14px;
  }
  .photo-person span {
    font-size: 11px;
  }
  .hero-photo figcaption > a {
    width: 34px;
    height: 34px;
  }
  .section-heading {
    margin-bottom: 24px;
  }
  .section-heading h2 {
    font-size: 29px;
    line-height: 1.2;
  }
  .section-heading p {
    font-size: 15px;
  }
  .service-grid {
    grid-template-columns: 1fr;
    gap: 17px;
  }
  .service-card {
    padding: 24px;
  }
  .card-icon {
    width: 44px;
    height: 44px;
    border-radius: 11px;
    margin-bottom: 17px;
  }
  .card-icon .icon {
    width: 23px;
    height: 23px;
  }
  .service-card h3 {
    font-size: 22px;
    margin-bottom: 11px;
  }
  .service-card p {
    font-size: 15px;
    max-width: 580px;
    margin-bottom: 18px;
  }
  .card-link {
    font-size: 14px;
  }
  .process-layout {
    grid-template-columns: 1fr;
    gap: 29px;
  }
  .process-intro h2 {
    font-size: 31px;
  }
  .process-intro h2 br {
    display: none;
  }
  .process-intro p {
    font-size: 15px;
    max-width: 560px;
  }
  .section-icon {
    width: 45px;
    height: 45px;
    margin-bottom: 18px;
  }
  .process-timeline {
    margin-top: 0;
  }
  .process-timeline li {
    gap: 18px;
    margin-bottom: 25px;
  }
  .process-timeline h3 {
    font-size: 19px;
  }
  .process-timeline p {
    font-size: 14px;
  }
  .owner-section {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .owner-profile {
    display: flex;
    gap: 22px;
  }
  .owner-profile img {
    width: 100px;
    height: 128px;
    margin-bottom: 0;
    border-radius: 12px;
  }
  .owner-profile h2 {
    font-size: 29px;
  }
  .owner-role {
    font-size: 14px;
  }
  .owner-copy p {
    font-size: 15px;
  }
  .page-header {
    padding-top: 32px;
    padding-bottom: 30px;
  }
  .page-header h1 {
    font-size: 34px;
  }
  .page-header .actions {
    gap: 14px 20px;
    margin-top: 23px;
  }
  .page-header .phone-action {
    font-size: 14px;
  }
  .page-header .button {
    font-size: 14px;
    padding-inline: 18px;
  }
  .repair-layout {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .repair-information {
    gap: 15px;
  }
  .repair-information > h2 {
    font-size: 26px;
    margin-bottom: 7px;
  }
  .repair-information > section {
    padding: 22px;
  }
  .service-heading h3 {
    font-size: 19px;
  }
  .repair-information p {
    font-size: 15px;
  }
  .repair-arrangements {
    margin: 0;
    padding: 25px;
  }
  .repair-arrangements h2 {
    font-size: 26px;
  }
  .repair-questions > h2 {
    font-size: 27px;
  }
  .repair-questions details {
    padding-inline: 18px;
  }
  .repair-questions summary {
    font-size: 15px;
    gap: 14px;
    padding-block: 17px;
  }
  .business-page-header {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-bottom: 37px;
  }
  .business-page-header h1 {
    font-size: 35px;
  }
  .business-page-header .intro-text {
    font-size: 19px;
  }
  .business-feature {
    height: 300px;
    object-position: center 53%;
    border-radius: 14px;
  }
  .business-information > h2 {
    font-size: 27px;
    line-height: 1.25;
  }
  .service-options {
    grid-template-columns: 1fr;
    gap: 17px;
  }
  .service-options > article {
    padding: 24px;
  }
  .service-options h3 {
    font-size: 21px;
  }
  .information-note {
    padding: 25px;
    display: block;
    margin-top: 25px;
  }
  .note-icon {
    margin-bottom: 19px;
    width: 45px;
    height: 45px;
  }
  .information-note h2 {
    font-size: 25px;
  }
  .about-layout {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }
  .owner-portrait {
    width: 200px;
    height: 265px;
    border-radius: 14px;
  }
  .about-copy h2 {
    font-size: 26px;
  }
  .about-copy p {
    font-size: 15px;
  }
  .project-list {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .project-list > article {
    padding: 0 22px 23px;
  }
  .project-list img {
    width: calc(100% + 44px);
    height: 320px;
    margin-inline: -22px;
    margin-bottom: 22px;
  }
  .project-list h2 {
    font-size: 24px;
  }
  .inventory-empty {
    padding: 25px;
  }
  .empty-state-icon {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    margin-bottom: 22px;
  }
  .empty-state-icon .icon {
    width: 29px;
    height: 29px;
  }
  .inventory-empty h2 {
    font-size: 26px;
  }
  .inventory-empty p {
    font-size: 15px;
  }
  .computer-listing {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 23px;
  }
  .computer-listing > img {
    height: 290px;
  }
  .specs > div {
    grid-template-columns: 110px 1fr;
    gap: 15px;
  }
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .form-column {
    padding: 23px;
  }
  .contact-details {
    padding: 25px;
  }
  .contact-details h2 {
    font-size: 25px;
  }
  .contact-details > .email-link {
    font-size: 13px;
  }
  .contact-phone {
    font-size: 25px;
  }
  .development-notice {
    font-size: 11px;
    padding: 13px 14px;
  }
  .request-form legend {
    font-size: 21px;
  }
  .form-instruction {
    font-size: 12px;
  }
  .form-field label {
    font-size: 13px;
  }
  .form-field input,
  .form-field select,
  .form-field textarea {
    font-size: 16px;
  }
  .form-footnote {
    font-size: 11px;
  }
  .privacy-layout .prose {
    padding: 25px;
  }
  .prose h2 {
    font-size: 24px;
  }
  .footer-cta {
    display: block;
    padding-block: 33px;
  }
  .footer-cta h2 {
    font-size: 27px;
  }
  .footer-cta p {
    font-size: 14px;
  }
  .footer-cta > .button {
    margin-top: 23px;
  }
  .footer-main {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-block: 32px;
  }
  .footer-identity > strong {
    font-size: 21px;
  }
  .footer-identity p {
    font-size: 13px;
  }
  .footer-contact > a.footer-phone {
    font-size: 23px;
  }
  .footer-contact > a {
    font-size: 13px;
  }
  .footer-links {
    grid-column: auto;
    gap: 9px 23px;
  }
  .footer-links > a {
    font-size: 12px;
  }
  .footer-bottom {
    flex-wrap: wrap;
    gap: 10px 24px;
    font-size: 10px;
    padding-block: 20px;
  }
  .dev-label {
    width: 100%;
    margin: 0;
  }
}
@media (max-width: 380px) {
  .brand img {
    width: 180px;
  }
  .utility-inner {
    font-size: 9px;
  }
  .utility-inner > a {
    font-size: 11px;
  }
  .hero-copy h1 {
    font-size: 39px;
  }
  .hero-copy .button {
    font-size: 12px;
    padding-inline: 13px;
    gap: 9px;
  }
  .hero-copy .button .icon {
    width: 16px;
    height: 16px;
  }
  .hero-photo > img {
    height: 290px;
  }
  .hero-location {
    font-size: 9px;
  }
  .form-column {
    padding: 19px;
  }
  .owner-profile {
    gap: 17px;
  }
  .owner-profile h2 {
    font-size: 26px;
  }
  .owner-role {
    font-size: 13px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
  .service-card:hover,
  .button:hover,
  .text-link:hover .icon,
  .service-card:hover .card-link .icon {
    transform: none;
  }
}
@media print {
  .utility-bar,
  .site-header,
  .site-footer,
  .actions,
  .button,
  .request-form {
    display: none;
  }
  .wrap {
    width: 100%;
  }
  body {
    font-size: 12pt;
  }
  .home-hero,
  .repair-arrangements {
    background: white;
    color: black;
  }
  .home-hero p,
  .repair-arrangements p {
    color: black;
  }
  .hero-layout,
  .repair-layout,
  .contact-layout,
  .about-layout {
    display: block;
  }
  img {
    max-height: 300px;
    object-fit: contain;
  }
  .service-card,
  .form-column {
    box-shadow: none;
  }
}
.hero-assurances {
  font-size: 12px;
}
@media (max-width: 700px) {
  .hero-assurances {
    font-size: 11px;
    gap: 10px 18px;
  }
  .hero-assurances li {
    line-height: 1.5;
  }
}
/* Expanded service navigation and content use the established visual system. */
.services-dropdown {
  position:relative
}
.services-dropdown>summary {
  display:flex;
  align-items:center;
  gap:7px;
  list-style:none;
  cursor:pointer;
  padding:9px 0;
  font-size:13px;
  font-weight:500;
  color:var(--ink)
}
.services-dropdown>summary::-webkit-details-marker {
  display:none
}
.services-dropdown>summary .icon {
  width:16px;
  height:16px;
  transition:transform .2s
}
.services-dropdown[open]>summary .icon {
  transform:rotate(180deg)
}
.services-dropdown>summary.current-section {
  color:var(--red)
}
.services-submenu {
  position:absolute;
  top:calc(100% + 12px);
  left:-18px;
  width:510px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:15px;
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 16px 40px #20202320;
  z-index:20
}
.services-submenu>a {
  font-size:14px;
  text-decoration:none;
  line-height:1.5;
  padding:12px;
  border-radius:7px;
  color:var(--ink)
}
.services-submenu>a:hover,.services-submenu>a[aria-current=page] {
  background:var(--surface);
  color:var(--red)
}
.services-submenu .all-services {
  grid-column:1/-1;
  font-weight:650;
  color:var(--red)
}
.breadcrumbs {
  padding-top:19px;
  font-size:12px;
  color:var(--muted)
}
.breadcrumbs ol {
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px 0;
  margin:0;
  padding:0
}
.breadcrumbs li {
  display:flex;
  align-items:center
}
.breadcrumbs li+li:before {
  content:'/';
  color:#999;
  margin-inline:10px
}
.breadcrumbs a {
  color:var(--muted);
  text-decoration:none
}
.breadcrumbs a:hover {
  color:var(--red);
  text-decoration:underline
}
.breadcrumbs+.page-header {
  padding-top:26px
}
.content-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:48px;
  align-items:start
}
.content-layout>* {
  min-width:0
}
.content-stack {
  max-width:780px
}
.content-stack>section {
  margin-bottom:34px
}
.content-stack>section:last-child {
  margin-bottom:0
}
.content-stack h2 {
  font-size:28px;
  line-height:1.28
}
.content-stack p {
  font-size:16px;
  line-height:1.75
}
.readable-list {
  padding-left:21px;
  margin-block:18px
}
.readable-list li {
  padding-left:4px;
  margin-bottom:9px
}
.service-sidebar {
  position:sticky;
  top:24px
}
.sidebar-panel {
  padding:24px;
  border:1px solid var(--line);
  border-radius:14px;
  margin-bottom:23px;
  background:var(--surface)
}
.sidebar-panel h2 {
  font-size:21px;
  line-height:1.3;
  margin-bottom:17px
}
.sidebar-panel ul {
  padding-left:18px;
  font-size:14px
}
.sidebar-panel li {
  margin-bottom:9px
}
.sidebar-panel p {
  font-size:13px
}
.related-links>a {
  display:block;
  font-size:14px;
  margin-bottom:13px
}
.related-links>a:last-child {
  margin-bottom:0
}
.table-scroll {
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:10px
}
.table-scroll:focus-visible {
  outline:3px solid var(--red);
  outline-offset:3px
}
.comparison-table {
  border-collapse:collapse;
  width:100%;
  font-size:14px;
  min-width:510px
}
.comparison-table caption {
  text-align:left;
  padding:15px;
  background:var(--surface);
  font-size:13px;
  color:var(--text)
}
.comparison-table th,.comparison-table td {
  padding:13px 15px;
  text-align:left;
  vertical-align:top;
  border-top:1px solid var(--line)
}
.comparison-table thead {
  background:var(--surface)
}
.comparison-table tbody th {
  font-weight:600
}
.comparison-table td {
  color:var(--text)
}
.service-directory h2 {
  font-size:23px
}
.service-index-link {
  font-size:14px;
  margin-top:26px
}
.customer-quote {
  margin:24px 0 0;
  padding:20px 23px;
  background:var(--surface);
  border-left:3px solid var(--red);
  border-radius:0 10px 10px 0
}
.customer-quote p {
  font-size:16px;
  color:var(--ink);
  margin-bottom:10px
}
.customer-quote cite {
  font-size:12px;
  font-style:normal;
  color:var(--muted)
}
.business-service-context {
  margin-top:38px
}
.business-service-context h2:not(:first-child) {
  margin-top:30px
}
.work-case-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:23px;
  margin-top:27px
}
.work-case-grid>article {
  padding:25px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface)
}
.work-case-grid h3 {
  font-size:21px
}
.work-case-grid p {
  font-size:15px
}
.work-case-grid a {
  font-size:14px
}
.workflow-selector {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:17px;
  padding-bottom:28px
}
.workflow-selector>a {
  display:block;
  padding:21px;
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  text-decoration:none;
  box-shadow:var(--shadow)
}
.workflow-selector>a:hover {
  border-color:#d5b2b2
}
.workflow-selector strong {
  display:block;
  font-size:17px;
  color:var(--red);
  margin-bottom:6px
}
.workflow-selector span {
  display:block;
  font-size:13px;
  color:var(--text)
}
.request-form fieldset>.form-grid+.form-grid {
  margin-top:22px
}
.demo-notice {
  padding:21px 25px;
  margin-bottom:27px;
  border:2px solid var(--red);
  border-radius:12px;
  background:var(--red-tint)
}
.demo-notice strong {
  color:var(--red);
  font-size:17px
}
.demo-notice p {
  font-size:14px;
  margin-top:8px;
  max-width:900px
}
.product-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:27px
}
.product-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow)
}
.product-card>img {
  width:100%;
  height:270px;
  object-fit:contain;
  background:var(--surface)
}
.product-image-placeholder {
  height:235px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:25px;
  background:var(--surface);
  color:var(--muted);
  text-align:center
}
.product-image-placeholder>.icon {
  width:58px;
  height:58px;
  color:var(--red);
  stroke-width:1.4;
  margin-bottom:6px
}
.product-image-placeholder>span {
  font-size:16px;
  font-weight:500
}
.product-image-placeholder>small {
  font-size:12px
}
.product-card-body {
  padding:27px
}
.product-card h2 {
  font-size:27px
}
.product-card h2 a {
  color:var(--ink);
  text-decoration:none
}
.product-card h2 a:hover {
  color:var(--red)
}
.product-summary {
  font-size:15px
}
.product-card-body>p {
  font-size:15px
}
.product-card-body>.price {
  font-size:23px
}
.product-card-body>.availability {
  font-size:12px
}
.product-detail-layout {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:48px;
  align-items:start
}
.product-visual .product-image-placeholder {
  height:360px;
  border-radius:14px
}
.product-visual>img {
  width:100%;
  height:390px;
  object-fit:contain;
  background:var(--surface);
  border-radius:14px
}
.record-reference {
  font-size:12px;
  margin-top:15px;
  color:var(--muted)
}
.product-detail-copy h2 {
  font-size:24px;
  margin-top:28px
}
.product-detail-copy .specs {
  font-size:15px
}
.product-detail-copy .specs>div {
  grid-template-columns:145px 1fr;
  padding-block:9px;
  border-bottom:1px solid var(--line);
  margin:0
}
.product-detail-copy .specs dd {
  overflow-wrap:anywhere
}
.repair-decision p {
  max-width:780px
}
@media(max-width:1120px) {
  .header-inner {
    flex-wrap:wrap;
    padding-block:18px;
    min-height:88px;
    gap:18px
  }
  .navigation {
    display:flex;
    width:100%;
    padding:16px;
    border:1px solid var(--line);
    border-radius:12px;
    box-shadow:var(--shadow);
    gap:20px;
    flex-wrap:wrap;
    background:white
  }
  .navigation>a.button {
    margin-left:auto
  }
  .js .menu-toggle {
    display:flex
  }
  .js .navigation:not(.is-open) {
    display:none
  }
  .services-submenu {
    position:static;
    box-shadow:none;
    max-width:100%;
    margin-top:8px;
    width:490px
  }
  .content-layout {
    grid-template-columns:minmax(0,1fr) 270px;
    gap:32px
  }
  .sidebar-panel {
    padding:21px
  }
  .workflow-selector {
    gap:13px
  }
  .workflow-selector>a {
    padding:18px
  }
}
@media(max-width:700px) {
  .services-dropdown>summary {
    font-size:15px;
    padding-block:13px;
    justify-content:space-between
  }
  .services-submenu {
    display:flex;
    flex-direction:column;
    width:100%;
    padding:8px 10px;
    margin-block:0 10px;
    background:var(--surface);
    gap:0;
    border:0
  }
  .services-submenu>a {
    padding:11px 7px;
    font-size:14px
  }
  .services-submenu .all-services {
    font-size:14px
  }
  .breadcrumbs {
    padding-top:15px;
    font-size:11px
  }
  .breadcrumbs+.page-header {
    padding-top:22px
  }
  .content-layout {
    grid-template-columns:1fr;
    gap:28px
  }
  .content-stack h2 {
    font-size:25px
  }
  .content-stack>section {
    margin-bottom:28px
  }
  .content-stack p {
    font-size:16px
  }
  .service-sidebar {
    position:static
  }
  .sidebar-panel {
    padding:22px
  }
  .readable-list {
    font-size:15px
  }
  .customer-quote {
    padding:19px;
    margin-top:20px
  }
  .customer-quote p {
    font-size:15px
  }
  .work-case-grid {
    grid-template-columns:1fr;
    gap:18px
  }
  .work-case-grid>article {
    padding:23px
  }
  .workflow-selector {
    grid-template-columns:1fr;
    gap:12px;
    padding-bottom:24px
  }
  .workflow-selector>a {
    padding:17px 20px
  }
  .workflow-selector strong {
    font-size:16px
  }
  .workflow-selector span {
    font-size:12px
  }
  .demo-notice {
    padding:20px
  }
  .demo-notice strong {
    font-size:16px
  }
  .demo-notice p {
    font-size:13px
  }
  .product-grid {
    grid-template-columns:1fr;
    gap:23px
  }
  .product-card-body {
    padding:23px
  }
  .product-card h2 {
    font-size:25px
  }
  .product-detail-layout {
    grid-template-columns:1fr;
    gap:24px
  }
  .product-visual .product-image-placeholder {
    height:250px
  }
  .product-detail-copy .specs>div {
    grid-template-columns:115px 1fr;
    gap:15px
  }
  .product-detail-copy .specs {
    font-size:14px
  }
  .comparison-table {
    font-size:13px
  }
  .comparison-table th,.comparison-table td {
    padding:11px
  }
  .service-index-link {
    font-size:14px
  }
  .service-directory h2 {
    font-size:22px
  }
}
@media(prefers-reduced-motion:reduce) {
  .services-dropdown>summary .icon {
    transition:none
  }
}
.hero-place {
  white-space: nowrap;
}
/* Cohesive page surfaces and the unified navigation. */
:root { --canvas:#f3f3f0; --panel:#fff; --warm:#eae7e2; --charcoal:#242427; }
body, body main { background:var(--canvas); }
.site-header { background:#fff; border-top:3px solid var(--red); border-bottom:1px solid #dededb; z-index:20; }
.header-shell { display:flex; align-items:center; gap:26px; min-height:104px; }
.brand-link { display:block; flex-shrink:0; }
.brand-link img { width:200px; height:auto; }
.primary-nav { display:flex; align-items:center; gap:22px; margin-left:auto; }
.primary-nav>a, .service-navigation>summary { min-height:46px; display:flex; align-items:center; gap:7px; color:var(--ink); text-decoration:none; font-size:13px; font-weight:550; line-height:1.4; white-space:nowrap; }
.primary-nav>a:not(.button):hover, .service-navigation>summary:hover { color:var(--red); }
.primary-nav>a[aria-current]:not(.button), .service-navigation>summary.current-section { color:var(--red); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }
.primary-nav>a.button { color:#fff; padding-inline:16px; gap:10px; }
.header-contact { padding-left:23px; border-left:1px solid var(--line); flex-shrink:0; }
.header-contact>span { display:block; font-size:11px; color:var(--muted); margin-bottom:3px; }
.header-contact>a { display:flex; align-items:center; gap:7px; color:var(--red); text-decoration:none; white-space:nowrap; font-size:15px; font-weight:650; min-height:30px; }
.header-contact .icon { width:17px; height:17px; }
.nav-toggle { display:none; align-items:center; justify-content:center; gap:8px; padding:9px 12px; min-height:44px; font-size:14px; background:#fff; border:1px solid #d8d8d6; border-radius:7px; color:var(--ink); }
.nav-toggle .icon { width:19px; height:19px; }
.service-navigation { position:relative; }
.service-navigation>summary { list-style:none; cursor:pointer; padding:12px 0; }
.service-navigation>summary::-webkit-details-marker { display:none; }
.service-navigation>summary .icon { width:16px; height:16px; transition:transform .2s; }
.service-navigation[open]>summary .icon { transform:rotate(180deg); }
.service-panel { position:absolute; top:calc(100% + 19px); left:-20px; display:grid; grid-template-columns:1.1fr 1fr; width:650px; padding:12px; background:white; border:1px solid #dededb; border-top:3px solid var(--red); border-radius:0 0 12px 12px; box-shadow:0 20px 35px #20202324; }
.service-menu-group { padding:16px 12px 12px; min-width:0; }
.service-menu-group h2 { display:flex; align-items:center; gap:9px; font-size:16px; font-weight:700; letter-spacing:0; margin:0 8px 13px; }
.service-menu-group h2 .icon { width:20px; height:20px; color:var(--red); }
.service-menu-group ul { list-style:none; margin:0; padding:0; }
.service-menu-group li { margin:0; }
.service-menu-group a { display:block; padding:10px 10px; border-left:3px solid transparent; color:var(--text); font-size:13px; font-weight:450; line-height:1.5; text-decoration:none; border-radius:0 5px 5px 0; }
.service-menu-group a:hover, .service-menu-group a:focus-visible { background:var(--red-tint); color:var(--red); }
.service-menu-group a[aria-current] { background:var(--red-tint); border-left-color:var(--red); color:var(--red); font-weight:650; }
.business-menu-group { background:var(--canvas); border-radius:7px; }
.business-menu-group p { margin:18px 12px 0; color:var(--muted); font-size:12px; line-height:1.65; }
.service-menu-footer { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:16px 20px 7px; margin-top:9px; border-top:1px solid var(--line); }
.service-menu-footer>a { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:650; text-decoration:none; }
.service-menu-footer .icon { width:16px; height:16px; }
.service-menu-footer>span { font-size:11px; color:var(--muted); }
.breadcrumbs { padding-top:20px; }
.page-header, .breadcrumbs+.page-header { padding-top:28px; padding-bottom:34px; }
.page-header h1 { font-size:40px; line-height:1.2; margin-bottom:18px; }
.page-header .intro-text, .page-header .lead { font-size:19px; max-width:760px; }
.section-bottom { padding-bottom:54px; }
.home-services { padding-block:52px; }
.home-services .service-card p { font-size:15px; }
.home-more-services { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:24px; padding:23px 26px; background:#e8e8e4; border-radius:12px; }
.home-more-services h3 { font-size:19px; margin-bottom:5px; }
.home-more-services p { font-size:14px; }
.home-more-services nav { display:flex; gap:12px 24px; flex-wrap:wrap; font-size:14px; font-weight:600; }
.process-section { background:var(--warm); }
.owner-section { background:white; padding:36px; margin-block:40px; border:1px solid #dededb; border-radius:16px; }
.owner-section .owner-profile { align-self:start; }
.owner-copy p { font-size:16px; }
.content-layout { gap:26px; grid-template-columns:minmax(0,1fr) 290px; }
.content-layout>article.content-stack { background:var(--panel); border:1px solid #dfdfdb; padding:32px; border-radius:14px; }
.content-layout>article.content-stack>section+section { border-top:1px solid var(--line); padding-top:27px; }
.content-stack h2 { font-size:26px; }
.content-stack p { max-width:72ch; }
.service-sidebar .sidebar-panel:first-child { background:var(--charcoal); border-color:var(--charcoal); }
.service-sidebar .sidebar-panel:first-child h2 { color:white; }
.service-sidebar .sidebar-panel:first-child p, .service-sidebar .sidebar-panel:first-child li { color:#dedee1; }
.service-sidebar .sidebar-panel.related-links { background:white; }
.repair-information>section { box-shadow:none; border:1px solid #dfdfdb; }
.repair-arrangements { border-top:4px solid var(--red); }
.support-scope { display:flex; align-items:flex-start; gap:10px; max-width:850px; margin-top:22px; font-size:14px; line-height:1.65; color:var(--text); }
.support-scope>.icon { color:var(--red); width:19px; height:19px; margin-top:2px; }
.repair-decision { max-width:1160px; background:#e8e8e4; border-radius:14px; padding:30px 34px; margin-bottom:34px; }
.repair-decision h2 { font-size:26px; }
.repair-decision p { max-width:82ch; }
.repair-questions>details { background:white; }
.service-directory-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:26px; align-items:start; }
.directory-computer { background:white; padding:28px 30px; border:1px solid #dfdfdb; border-radius:14px; }
.directory-computer>h2, .directory-business h2 { display:flex; align-items:center; gap:11px; font-size:25px; }
.directory-computer>h2>.icon { color:var(--red); }
.directory-item { padding:20px 0; border-top:1px solid var(--line); }
.directory-item h3 { font-size:20px; margin-bottom:8px; }
.directory-item h3 a { color:var(--ink); text-decoration:none; }
.directory-item h3 a:hover { color:var(--red); text-decoration:underline; }
.directory-item p { font-size:15px; }
.directory-business { background:var(--charcoal); border-radius:14px; border-top:4px solid var(--red); padding:30px; }
.directory-business h2 { color:white; }
.directory-business p { color:#d2d2d7; font-size:15px; }
.directory-business ul { list-style:none; margin:24px 0; padding:0; }
.directory-business li+li { margin-top:15px; }
.directory-business a:not(.button) { color:white; font-weight:550; font-size:15px; }
.directory-business .button { width:100%; margin-top:10px; }
.directory-sales { margin-top:24px; padding:27px 30px; display:flex; gap:20px; align-items:center; background:#e8e8e4; border-radius:14px; }
.directory-sales>.icon { width:32px; height:32px; color:var(--red); }
.directory-sales h2 { font-size:23px; margin-bottom:8px; }
.directory-sales p { font-size:15px; }
.about-introduction { background:var(--charcoal); color:white; display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:58px; padding:40px 44px; margin-top:24px; margin-bottom:30px; border-radius:16px; align-items:center; }
.about-introduction h1 { font-size:40px; line-height:1.15; max-width:700px; margin-block:13px 22px; }
.about-introduction p { color:#dedee1; font-size:18px; line-height:1.7; }
.about-introduction .about-page-label { color:#e6aaaa; font-size:14px; font-weight:550; margin:0; }
.about-introduction .owner-portrait { width:270px; height:330px; border-radius:10px; object-fit:cover; }
.owner-story { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:28px; margin-bottom:40px; align-items:stretch; }
.owner-story-copy { background:white; padding:30px 34px; border:1px solid #dfdfdb; border-radius:14px; }
.owner-story h2 { font-size:27px; }
.education-panel { background:#efe0df; padding:30px; border-radius:14px; }
.education-panel h2 { color:var(--red); font-size:24px; }
.education-panel strong { color:var(--ink); font-weight:650; }
.education-panel p { font-size:15px; }
.experience-section { padding-bottom:40px; }
.experience-heading { max-width:800px; margin-bottom:25px; }
.experience-heading h2 { font-size:31px; }
.experience-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:26px; align-items:start; }
.experience-stories { background:white; padding:8px 32px; border:1px solid #dfdfdb; border-radius:14px; }
.experience-entry { padding:25px 0; }
.experience-entry+article { border-top:1px solid var(--line); }
.experience-entry h3 { font-size:23px; margin-bottom:13px; }
.experience-entry p { font-size:16px; }
.experience-server { background:white; border-radius:14px; border:1px solid #dfdfdb; overflow:hidden; }
.experience-server img { width:100%; height:310px; object-fit:cover; object-position:50% 50%; }
.experience-server>div { padding:25px; }
.experience-server h3 { font-size:23px; }
.experience-server p { font-size:15px; }
.owner-approach { background:#e8e8e4; padding:30px 34px; border-radius:14px; margin-bottom:45px; display:flex; align-items:center; gap:35px; justify-content:space-between; }
.owner-approach h2 { font-size:27px; }
.owner-approach p { max-width:720px; font-size:16px; }
.owner-approach .button { flex-shrink:0; }
.business-information { background:white; border:1px solid #dfdfdb; padding:30px; border-radius:14px; margin-bottom:45px; }
.business-information>h2 { font-size:29px; }
.business-information .service-options { grid-template-columns:1fr 1fr; }
.business-information .service-options>article { background:var(--canvas); box-shadow:none; border-color:#e4e4df; }
.business-page-header { gap:42px; }
.business-page-header .business-feature { height:320px; }
.business-page-header h1 { font-size:40px; }
.business-evidence { margin-block:26px; padding:27px 30px; background:#e8e8e4; border-radius:12px; }
.business-evidence h2 { font-size:24px; }
.business-evidence p { font-size:16px; }
.business-service-context { margin-top:28px; }
.contact-layout { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:30px; align-items:start; }
.form-column { box-shadow:none; border-color:#dfdfdb; }
.contact-details { padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.contact-details>div { padding:24px 26px; margin-top:0; margin-bottom:20px; border:1px solid #dfdfdb; border-radius:12px; background:white; }
.contact-details>.direct-contact { background:var(--charcoal); border-color:var(--charcoal); border-top:4px solid var(--red); }
.contact-details>.direct-contact h2 { color:white; font-size:24px; }
.contact-details>.direct-contact p { color:#d7d7dc; font-size:14px; }
.contact-details>.direct-contact .contact-phone { color:white; font-size:26px; margin-block:18px 12px; }
.contact-details>.direct-contact .email-link { color:#e9b5b5; font-size:14px; }
.contact-details h3 { font-size:20px; }
.contact-details p { font-size:15px; }
.device-scope-form { font-size:13px; line-height:1.7; padding:17px 20px; background:var(--canvas); border-radius:8px; }
[hidden] { display:none!important; }
.form-transition-note { font-size:14px; color:var(--text); padding:16px; background:var(--red-tint); border-radius:8px; }
.success-icon { color:var(--red); margin-bottom:17px; }
.success-icon .icon { width:38px; height:38px; }
.inventory-section .product-card { background:white; border-color:#dfdfdb; box-shadow:0 5px 20px #20202308; }
.inventory-section .information-note { background:#e8e8e4; }
.product-detail-layout { padding:30px; border-radius:14px; background:white; border:1px solid #dfdfdb; gap:34px; }
.privacy-layout .prose { background:white; border:1px solid #dfdfdb; border-radius:14px; padding:30px 34px; max-width:850px; }
.privacy-layout h2 { font-size:26px; }
@media(max-width:1200px) {
  .header-shell { gap:20px; }
  .brand-link img { width:175px; }
  .primary-nav { gap:16px; }
  .primary-nav>a, .service-navigation>summary { font-size:12px; }
  .header-contact { padding-left:16px; }
  .header-contact>a { font-size:14px; }
}
@media(max-width:1180px) {
  .header-shell { display:grid; grid-template-columns:1fr auto auto; padding-block:17px; min-height:100px; gap:14px 25px; }
  .brand-link { grid-row:1; grid-column:1; justify-self:start; }
  .brand-link img { width:205px; }
  .header-contact { grid-row:1; grid-column:2; }
  .nav-toggle { grid-row:1; grid-column:3; }
  .js .nav-toggle { display:flex; }
  .primary-nav { grid-row:2; grid-column:1/-1; width:100%; margin:0; display:flex; flex-direction:column; align-items:stretch; gap:0; padding-top:10px; border-top:1px solid var(--line); }
  .js .primary-nav:not(.is-open) { display:none; }
  .primary-nav>a, .service-navigation>summary { font-size:15px; padding:13px 8px; }
  .primary-nav>a.button { align-self:flex-start; margin-top:13px; }
  .service-navigation>summary { justify-content:space-between; }
  .service-panel { position:static; width:100%; padding:12px; border:1px solid #dededb; border-top:2px solid var(--red); box-shadow:none; border-radius:8px; margin-bottom:10px; }
  .service-menu-group a { font-size:14px; padding-block:11px; }
  .content-layout { grid-template-columns:minmax(0,1fr) 260px; gap:23px; }
  .content-layout>article.content-stack { padding:27px; }
  .about-introduction { gap:30px; padding:34px; grid-template-columns:minmax(0,1fr) 240px; }
  .about-introduction .owner-portrait { width:240px; height:310px; }
  .about-introduction h1 { font-size:35px; }
  .owner-story, .experience-layout { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  .owner-approach { align-items:flex-start; flex-direction:column; gap:18px; }
}
@media(max-width:760px) {
  .header-shell { grid-template-columns:1fr auto; gap:14px; padding-block:16px 0; }
  .brand-link img { width:190px; }
  .nav-toggle { grid-column:2; grid-row:1; }
  .header-contact { grid-column:1/-1; grid-row:2; padding:8px 0; border-left:0; border-top:1px solid #ededeb; display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .header-contact>span { font-size:12px; margin:0; }
  .header-contact>a { min-height:34px; font-size:15px; }
  .primary-nav { grid-row:3; margin-top:-1px; padding-block:5px 18px; }
  .service-panel { grid-template-columns:1fr; padding:9px; }
  .service-menu-group { padding:15px 10px; }
  .service-menu-group h2 { margin-left:7px; font-size:16px; }
  .service-menu-group a { font-size:14px; }
  .service-menu-footer { padding:15px 12px 7px; }
  .service-menu-footer>span { font-size:12px; }
  .page-header, .breadcrumbs+.page-header { padding-top:22px; padding-bottom:27px; }
  .page-header h1 { font-size:31px; }
  .page-header .intro-text, .page-header .lead { font-size:17px; line-height:1.65; }
  .section-bottom { padding-bottom:38px; }
  .home-services { padding-block:38px; }
  .home-services .service-card { padding:25px; }
  .home-services .service-card p { font-size:15px; }
  .home-more-services { align-items:flex-start; flex-direction:column; padding:23px; gap:18px; }
  .home-more-services nav { flex-direction:column; gap:13px; }
  .owner-section { padding:25px; margin-block:28px; }
  .owner-copy p { font-size:16px; }
  .content-layout { grid-template-columns:1fr; }
  .content-layout>article.content-stack { padding:24px; }
  .content-stack h2 { font-size:24px; }
  .support-scope { font-size:13px; }
  .repair-decision { padding:25px; margin-bottom:28px; }
  .repair-decision h2 { font-size:25px; }
  .service-directory-layout { grid-template-columns:1fr; }
  .directory-computer, .directory-business { padding:25px; }
  .directory-computer>h2, .directory-business h2 { font-size:24px; }
  .directory-item h3 { font-size:20px; }
  .directory-sales { align-items:flex-start; padding:24px; gap:15px; }
  .directory-sales h2 { font-size:22px; }
  .about-introduction { grid-template-columns:1fr; padding:27px; gap:25px; margin-top:21px; margin-bottom:23px; }
  .about-introduction h1 { font-size:32px; }
  .about-introduction p { font-size:17px; }
  .about-introduction .owner-portrait { width:100%; height:330px; object-position:50% 32%; }
  .owner-story, .experience-layout { grid-template-columns:1fr; gap:22px; }
  .owner-story { margin-bottom:32px; }
  .owner-story-copy, .education-panel { padding:26px; }
  .owner-story h2 { font-size:25px; }
  .experience-heading h2 { font-size:28px; }
  .experience-stories { padding:2px 25px; }
  .experience-entry { padding-block:24px; }
  .experience-entry h3 { font-size:22px; }
  .experience-server img { height:320px; }
  .owner-approach { padding:26px; margin-bottom:30px; }
  .owner-approach h2 { font-size:25px; }
  .business-information { padding:25px; margin-bottom:30px; }
  .business-information>h2 { font-size:26px; }
  .business-information .service-options { grid-template-columns:1fr; }
  .business-page-header .business-feature { height:280px; }
  .business-evidence { padding:23px; }
  .contact-layout { grid-template-columns:1fr; gap:24px; }
  .form-column { padding:25px; }
  .contact-details>div { padding:23px 25px; }
  .contact-details>.direct-contact .contact-phone { font-size:25px; }
  .device-scope-form { padding:15px 17px; }
  .product-detail-layout { padding:24px; grid-template-columns:1fr; gap:25px; }
  .privacy-layout .prose { padding:25px; }
  .privacy-layout h2 { font-size:24px; }
}
@media(max-width:380px) {
  .brand-link img { width:174px; }
  .header-contact>span { font-size:11px; }
  .header-contact>a { font-size:14px; }
  .nav-toggle { padding-inline:10px; }
  .form-column { padding:21px; }
}
@media(prefers-reduced-motion:reduce) { .service-navigation>summary .icon { transition:none; } }
@media print { .header-shell { display:none; } }
/* Fill the service column and keep the two original form/repair pages on the shared surface. */
.page-repair main, .page-contact main { background:var(--canvas); }
.content-layout>article.content-stack { max-width:none; }
.repair-information p { font-size:15px; line-height:1.7; }
.service-menu-group a { min-height:44px; }
.business-context-grid { display:grid; grid-template-columns:1fr 1fr; gap:34px; padding-top:8px; }
.business-context-grid h2 { font-size:24px; }
.business-context-grid p { font-size:16px; }
@media(max-width:760px) { .business-context-grid { grid-template-columns:1fr; gap:24px; } }
/* Two focused menus follow the computer and business service hierarchy. */
.header-shell { gap:20px; }
.brand-link img { width:180px; }
.primary-nav { gap:16px; }
.primary-nav>a, .service-navigation>summary { font-size:12px; }
.header-contact { padding-left:17px; }
.header-contact>a { font-size:14px; }
.compact-service-panel { display:block; width:370px; left:-14px; padding:10px; }
.business-menu .compact-service-panel { width:350px; }
.menu-overview { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; color:var(--red); font-size:14px; font-weight:650; text-decoration:none; background:var(--red-tint); border-radius:6px; }
.menu-overview .icon { width:17px; height:17px; }
.customer-menu-links { list-style:none; padding:6px 0 0; margin:0; }
.customer-menu-links a { display:block; border-left:3px solid transparent; padding:11px 12px; text-decoration:none; border-radius:0 6px 6px 0; }
.customer-menu-links strong { display:block; color:var(--ink); font-size:14px; font-weight:550; }
.customer-menu-links span { display:block; color:var(--muted); font-size:12px; line-height:1.5; margin-top:3px; }
.customer-menu-links a:hover, .customer-menu-links a:focus-visible, .customer-menu-links a[aria-current] { background:var(--canvas); border-left-color:var(--red); }
.customer-menu-links a[aria-current] strong { color:var(--red); font-weight:650; }
@media(max-width:1180px) {
  .brand-link img { width:205px; }
  .primary-nav>a, .service-navigation>summary { font-size:15px; }
  .compact-service-panel, .business-menu .compact-service-panel { width:100%; }
}
@media(max-width:760px) { .brand-link img { width:190px; } }
@media(max-width:380px) { .brand-link img { width:174px; } }
/* Photographic service features preserve the existing brand and page rhythm. */
.service-feature { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr); gap:44px; align-items:center; }
.service-feature h1 { max-width:730px; }
.service-feature .intro-text { font-size:19px; }
.service-feature-copy>p:not(.intro-text) { font-size:16px; }
.service-visual { min-width:0; }
.service-visual img { width:100%; height:310px; object-fit:cover; border-radius:14px; background:#e8e8e4; }
.service-visual figcaption { font-size:11px; line-height:1.6; margin-top:10px; color:var(--muted); }
.service-visual figcaption a { color:var(--muted); }
.customer-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.customer-service-grid>article { position:relative; background:white; border:1px solid #dfdfdb; border-radius:14px; padding:27px 29px; }
.customer-service-grid h2 { font-size:24px; margin-block:14px; max-width:500px; }
.customer-service-grid p { font-size:16px; }
.customer-service-grid article>a { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:550; }
.customer-service-grid article>a .icon { width:17px; height:17px; }
.photo-context { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; }
.photo-context h2 { font-size:30px; }
.photo-context .service-visual img { height:340px; object-position:center 35%; }
.business-paths { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.business-paths article { padding:27px; border:1px solid #dfdfdb; border-radius:14px; background:white; display:flex; flex-direction:column; align-items:flex-start; }
.business-paths h2 { font-size:25px; margin-block:17px; }
.business-paths p { font-size:16px; }
.business-paths article>a { margin-top:auto; padding-top:7px; font-size:14px; font-weight:550; }
.business-paths article>a .icon { width:17px; height:17px; margin-left:5px; }
.business-scope { display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:start; }
.business-scope>div { padding:28px 0; }
.business-scope h2, .business-arrangement h2 { font-size:28px; }
.business-scope aside { padding:30px; background:var(--charcoal); border-top:4px solid var(--red); border-radius:14px; }
.business-scope aside h2 { color:white; }
.business-scope aside li { color:#dedee1; }
.business-scope aside a { color:#efb9b9; font-size:14px; }
.business-arrangement { display:grid; grid-template-columns:1.25fr 1fr; gap:38px; }
.business-arrangement .sidebar-panel { background:#e8e8e4; padding:28px; }
.business-arrangement .sidebar-panel h2 { font-size:23px; }
.business-arrangement .sidebar-panel p { font-size:13px; }
.business-arrangement .sidebar-panel li { font-size:15px; }
@media(max-width:1000px) {
  .service-feature { gap:30px; }
  .service-visual img { height:290px; }
  .business-paths { grid-template-columns:1fr; gap:18px; }
  .business-paths article { display:block; }
  .business-paths h2 { margin-top:14px; }
}
@media(max-width:760px) {
  .service-feature, .photo-context, .business-scope, .business-arrangement { grid-template-columns:1fr; gap:24px; }
  .service-feature .intro-text { font-size:17px; }
  .service-visual img { height:270px; }
  .customer-service-grid { grid-template-columns:1fr; gap:18px; }
  .customer-service-grid>article { padding:25px; }
  .customer-service-grid h2 { font-size:23px; }
  .photo-context h2 { font-size:27px; }
  .photo-context .service-visual img { height:290px; }
  .business-paths article { padding:25px; }
  .business-paths h2 { font-size:24px; }
  .business-scope>div { padding:0; }
  .business-scope h2, .business-arrangement h2 { font-size:26px; }
  .business-scope aside, .business-arrangement .sidebar-panel { padding:25px; }
}

@media(max-width:1180px) { .primary-nav { gap:0; } }
/* Owner identity in the homepage hero uses the original brand red. */
.hero-photo figcaption { background:var(--red); color:#fff; }
.hero-photo .photo-person span { color:#fff; }
.hero-photo .photo-person>.icon { background:#ffffff18; color:#fff; }
.hero-photo figcaption>a { background:#fff; color:var(--red); }
.hero-photo figcaption>a:hover { background:#f8eeee; }
.hero-photo figcaption>a:focus-visible { outline-color:#fff; }

/* Service layouts follow the task: compare, diagnose, plan or connect. */
.laptop-opening,.workstation-opening,.network-opening{display:grid;align-items:center;gap:54px;padding-top:48px;padding-bottom:56px}
.laptop-opening{grid-template-columns:.85fr 1.15fr}
.laptop-opening h1,.workstation-opening h1,.network-opening h1{font-size:40px}
.laptop-opening .lead,.workstation-opening .lead,.network-opening .lead{font-size:18px;max-width:65ch}
.laptop-opening .service-visual img{height:390px;object-fit:contain;background:var(--surface)}
.opening-footnote{font-size:14px;margin-top:24px;max-width:54ch}
.laptop-symptoms,.laptop-repair-pair,.decision-composition,.upgrade-decision,.upgrade-preparation,.setup-checklist,.home-new-setup,.malware-recognize,.workstation-brief,.workstation-planning,.network-triage,.network-arrange,.office-applications,.office-arrangement{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.laptop-symptoms{align-items:start;padding-top:32px;border-top:1px solid var(--line)}
.laptop-symptoms h2,.laptop-repair-pair h2,.decision-composition h2,.upgrade-decision h2,.upgrade-preparation h2,.setup-checklist h2,.home-new-setup h2,.malware-recognize h2,.workstation-brief h2,.workstation-planning h2,.network-triage h2,.network-arrange h2,.office-applications h2,.office-arrangement h2{font-size:27px}
.laptop-symptom-list,.network-observations,.office-issue-list{list-style:none;padding:0;margin:0}
.laptop-symptom-list li,.network-observations li{display:flex;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line);font-weight:500}
.laptop-symptom-list .icon,.network-observations .icon{color:var(--red);flex-shrink:0;margin-top:3px;width:19px;height:19px}
.laptop-repair-pair{gap:24px}
.laptop-repair-pair>section{padding:30px;background:var(--surface);border-radius:12px}
.laptop-decision,.malware-request{background:#eeeff2;padding:48px 0}
.decision-composition{grid-template-columns:1.2fr .8fr}
.decision-composition aside{padding-left:36px;border-left:1px solid #cdd0d7}
.preparation-note{font-size:14px;margin-top:20px}
.service-bottom{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;padding-top:48px}
.service-bottom .service-faq{padding:0;background:transparent;border:0;margin:0}
.service-faq h2,.service-next-links h2{font-size:25px}
.service-next-links{align-self:start;padding:26px 28px;background:var(--surface);border-radius:12px}
.service-next-links a{display:block;padding:10px 0;line-height:1.45;font-weight:500}
.service-next-links h2{margin-bottom:12px}
.service-faq details{border-bottom:1px solid var(--line);padding:0;background:transparent;border-radius:0}
.service-faq summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 0;cursor:pointer;font-weight:600;color:var(--ink)}
.service-faq summary .icon{flex-shrink:0;width:18px;height:18px}
.service-faq details p{padding:0 0 18px}
.upgrade-heading,.setup-heading,.home-help-heading,.office-help-heading{padding-bottom:36px}
.upgrade-heading .lead,.setup-heading .lead,.home-help-heading .lead,.office-help-heading .lead{max-width:75ch}
.upgrade-comparison h2{font-size:29px}
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.table-scroll:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.upgrade-comparison .comparison-table{width:100%;margin:0;border:0;min-width:580px}
.comparison-table caption{caption-side:bottom;text-align:left;padding:14px 20px;font-size:14px;background:var(--surface);color:var(--text)}
.comparison-table th,.comparison-table td{padding:20px 22px;vertical-align:top;border-bottom:1px solid var(--line);text-align:left;font-size:16px}
.comparison-table thead th{background:var(--ink);color:#fff;font-weight:600}
.comparison-table tbody th{width:21%;background:#fafafb;font-weight:650}
.upgrade-hardware-band{background:var(--ink);padding:54px 0;margin-bottom:54px}
.upgrade-hardware-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:48px}
.upgrade-hardware-layout h2{color:#fff;font-size:27px}
.upgrade-hardware-layout p,.upgrade-hardware-layout figcaption{color:#d7d7de}
.upgrade-hardware-layout section+section{margin-top:32px}
.upgrade-hardware-layout .service-visual img{height:440px;object-position:center}
.upgrade-decision{gap:54px}
.upgrade-preparation{padding-top:36px;border-top:1px solid var(--line)}
.upgrade-preparation>div{padding:28px;background:var(--red-tint);border-radius:12px}
.upgrade-preparation .service-faq{padding:0;background:transparent;border:0;margin:0}
.setup-stages{list-style:none;margin:30px 0 0;padding:0;counter-reset:setup}
.setup-stages li{position:relative;display:grid;grid-template-columns:220px 1fr;column-gap:32px;padding:24px 28px 24px 85px;background:var(--surface);border-bottom:1px solid #dddde3}
.setup-stages li:first-child{border-radius:12px 12px 0 0}
.setup-stages li:last-child{border-radius:0 0 12px 12px;border:0}
.setup-step-number{position:absolute;left:26px;top:24px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--red);color:#fff;font-weight:700}
.setup-stages h3{grid-column:1;grid-row:1 / span 5;font-size:23px;margin:4px 0 0}
.setup-stages p,.setup-stages ul{grid-column:2}
.setup-recovery-band{background:#f0ede8;padding:46px 0;margin-bottom:48px}
.setup-recovery-layout{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:52px}
.setup-recovery-layout h2{font-size:30px}
.setup-recovery-layout .service-visual img{height:280px;object-fit:contain;background:#e9e6e1}
.setup-checklist{grid-template-columns:.9fr 1.1fr}
.setup-checklist>div:first-child{background:var(--surface);padding:30px;border-radius:12px;align-self:start}
.setup-checklist .service-faq{margin:0;padding:0;background:none;border:0}
.setup-checklist .service-next-links{margin-top:30px}
.home-help-jumps,.office-help-index{display:flex;gap:10px;padding-bottom:40px}
.home-help-jumps a{display:flex;gap:12px;align-items:center;flex:1;text-decoration:none;background:var(--ink);color:#fff;padding:20px 22px;border-radius:10px;font-weight:600}
.home-help-jumps a:hover{background:var(--red)}
.home-help-jumps .icon{flex-shrink:0}
.home-wifi-topic{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:52px}
.home-wifi-topic h2{font-size:30px}
.home-wifi-topic .service-visual img{height:360px}
.home-devices-band{background:var(--surface);padding:46px 0;margin-bottom:48px}
.home-device-topic{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px}
.home-device-topic h2{font-size:29px}
.home-new-setup aside{padding:28px;background:var(--red-tint);border-radius:12px}
.home-arrangements{padding:40px 0;background:var(--ink)}
.home-arrangements h2{color:#fff;font-size:28px}
.home-arrangements p{color:#dddde3;max-width:85ch}
.malware-opening{background:var(--ink);padding:52px 0;margin-bottom:48px}
.malware-opening h1{color:#fff;max-width:760px;font-size:42px}
.malware-opening .lead{color:#dddde3;max-width:72ch}
.malware-opening .phone-action{color:#fff}
.malware-recognize{grid-template-columns:1.2fr .8fr}
.malware-symptoms{padding:28px;background:var(--red-tint);border-radius:12px;align-self:start}
.malware-symptoms h2{font-size:23px}
.malware-response>section{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;padding:30px 0;border-top:1px solid var(--line)}
.response-heading{display:flex;gap:16px;align-items:start}
.response-heading>.icon{color:var(--red);flex-shrink:0;width:27px;height:27px;margin-top:3px}
.response-heading h2{font-size:28px}
.workstation-opening{grid-template-columns:1fr 1fr;align-items:start;padding-top:54px}
.workstation-opening h1{max-width:530px}
.workstation-opening .lead{margin-top:0}
.workstation-tasks{padding:28px 32px;background:var(--ink);border-radius:12px;color:#fff}
.workstation-tasks .readable-list{color:#e2e2e8}
.workstation-installation{background:#eeeff2;padding:40px 0;margin-bottom:48px}
.workstation-installation-layout{display:grid;grid-template-columns:270px 1fr;gap:60px;align-items:center}
.workstation-installation-layout h2{font-size:30px}
.workstation-installation-layout .service-visual img{height:300px;object-fit:contain;background:#e0e2e7}
.workstation-planning aside,.network-arrange aside,.office-arrangement aside{padding:28px;background:var(--surface);border-radius:12px;align-self:start}
.workstation-upgrade{background:var(--red-tint);border-radius:12px;padding:30px 36px}
.workstation-upgrade h2{font-size:26px}
.network-opening{padding:42px;border-radius:16px;background:var(--ink);grid-template-columns:1.1fr .9fr;margin-top:40px;margin-bottom:48px;gap:38px}
.network-opening h1{color:#fff}
.network-opening p,.network-opening figcaption{color:#dddde3}
.network-opening .phone-action{color:#fff}
.network-opening .service-visual img{height:350px}
.network-equipment{padding:32px;background:var(--surface);border-radius:12px}
.network-equipment h2{font-size:28px}
.network-equipment-copy,.network-systems-copy{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.network-equipment-copy p,.network-systems-copy p{margin:0}
.network-systems{padding:46px 0;margin-bottom:48px;background:#e9ecef}
.network-systems h2{font-size:29px}
.office-help-index{gap:0;border-bottom:2px solid var(--line);padding-bottom:0;margin-bottom:40px}
.office-help-index a{padding:16px 24px;text-decoration:none;font-weight:600;flex:1;border-bottom:3px solid transparent;margin-bottom:-2px}
.office-help-index a:first-child{padding-left:0}
.office-help-index a:hover{border-color:var(--red);background:var(--red-tint)}
.office-applications{grid-template-columns:1.1fr .9fr;gap:60px}
.office-issue-list{padding:22px 28px;background:var(--surface);border-radius:12px;align-self:start}
.office-issue-list li{padding:12px 0;border-bottom:1px solid #d8d8df}
.office-issue-list li:last-child{border:0}
.office-printer-band{background:var(--ink);padding:46px 0;margin-bottom:48px}
.office-printer-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}
.office-printer-layout h2{font-size:30px;color:#fff}
.office-printer-layout p,.office-printer-layout figcaption,.office-printer-layout figcaption a{color:#dddde3}
.office-printer-layout .service-visual img{height:340px}
.office-change-note{max-width:850px;padding-left:30px;border-left:4px solid var(--red)}
.office-change-note h2{font-size:28px}
/* Directories, repair guidance, contact and policy are different information types. */
.customer-service-grid{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.customer-service-grid>article{display:grid;grid-template-columns:48px minmax(230px,.85fr) minmax(260px,1.15fr);gap:8px 24px;padding:28px 32px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.customer-service-grid>article:last-child{border-bottom:0}
.customer-service-grid>article:nth-child(even){background:#f8f8fa}
.customer-service-grid .small-icon{grid-column:1;grid-row:1 / span 2;margin:0}
.customer-service-grid h2{grid-column:2;grid-row:1 / span 2;font-size:23px;line-height:1.3;margin:0}
.customer-service-grid p{grid-column:3;margin:0 0 8px}
.customer-service-grid article>a{grid-column:3;margin:0;align-self:start}
.repair-information{display:block;background:#fff;padding:28px 30px;border:1px solid var(--line);border-radius:14px}
.repair-information>h2{font-size:29px;margin-bottom:12px}
.repair-information>section{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;padding:26px 0;margin:0;background:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
.repair-information .service-heading{display:block;margin:0}
.repair-information .service-heading .small-icon{margin:0 0 12px;width:32px;height:32px;background:none;padding:0}
.repair-information h3{font-size:21px;line-height:1.3}
.repair-information>section p{font-size:16px;line-height:1.65;margin:0}
.business-paths{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.business-paths article{display:grid;grid-template-columns:50px 1fr 1.1fr;gap:12px 28px;padding:30px 34px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface);box-shadow:none}
.business-paths article:last-child{border:0}
.business-paths article:nth-child(2){background:#fff}
.business-paths .card-icon{grid-column:1;grid-row:1 / span 2;margin:0}
.business-paths h2{grid-column:2;grid-row:1 / span 2;font-size:26px;margin:0}
.business-paths p{grid-column:3;margin:0 0 8px}
.business-paths article>a{grid-column:3;margin:0}
.contact-layout{display:flex;flex-direction:column;gap:28px;max-width:1080px}
.contact-details{order:-1;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;padding:24px 28px;background:var(--ink);color:#fff;border-radius:12px}
.contact-details>div{padding:0;background:none;border:0;border-radius:0;margin:0}
.contact-details h2,.contact-details h3{color:#fff;font-size:20px;margin-bottom:12px}
.contact-details p{color:#d7d7de;font-size:14px;line-height:1.6}
.contact-details a{color:#fff}
.contact-details .contact-phone{font-size:22px;white-space:nowrap}
.contact-details .email-link{font-size:14px;overflow-wrap:anywhere}
.contact-layout .form-column{min-width:0}
.contact-layout .request-form{display:grid;grid-template-columns:.85fr 1.15fr;gap:0 36px;padding:32px;background:var(--surface);border:1px solid var(--line)}
.request-form>fieldset{min-width:0;border-bottom:0;margin:0;padding-bottom:24px}
.request-form>.honeypot{position:absolute}
.request-form>fieldset:nth-of-type(1) .form-grid{grid-template-columns:1fr;gap:0}
.request-form>.button{grid-column:1 / -1;justify-self:start}
.request-form>.form-footnote{grid-column:1 / -1}
.contact-heading{max-width:1080px}
.privacy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:42px;max-width:1080px}
.privacy-contents{align-self:start;background:var(--surface);padding:24px;border-radius:12px}
.privacy-contents h2{font-size:20px}
.privacy-contents a{display:block;padding:9px 0;font-size:15px;line-height:1.45}
.privacy-layout .prose{max-width:none;padding:0;border:0;border-radius:0;box-shadow:none}
.privacy-layout .prose section{padding:0 0 26px;margin:0 0 26px;border-bottom:1px solid var(--line)}
.privacy-layout .prose h2{font-size:26px}
.catalog-heading{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:48px}
.catalog-heading aside{padding:25px 28px;border-radius:12px;background:var(--red-tint)}
.catalog-heading aside h2{font-size:23px}
.catalog-heading aside p{font-size:15px}
.catalog-heading aside a{font-weight:600}
@media(max-width:1000px){
 .laptop-opening,.network-opening{gap:28px}.laptop-opening h1,.network-opening h1,.workstation-opening h1{font-size:34px}
 .customer-service-grid>article{grid-template-columns:42px minmax(190px,.85fr) minmax(220px,1.15fr);padding:25px;gap:10px 18px}
 .business-paths article{gap:12px 20px;padding:26px}.business-paths h2{font-size:23px}
 .repair-information>section{grid-template-columns:1fr;gap:12px}.repair-information .service-heading{display:flex;align-items:start;gap:12px}.repair-information .service-heading .small-icon{flex-shrink:0;margin:0}.repair-information h3{margin:0}
 .contact-details{grid-template-columns:1.2fr 1fr;gap:24px}.contact-details>div:last-child{grid-column:1 / -1}.contact-details>div:last-child p{max-width:90ch}
 .setup-stages li{grid-template-columns:175px 1fr;column-gap:24px}.setup-stages h3{font-size:21px}
 .workstation-installation-layout{gap:36px}.catalog-heading{gap:24px}
}
@media(max-width:760px){
 .laptop-opening,.workstation-opening,.network-opening,.laptop-symptoms,.laptop-repair-pair,.decision-composition,.upgrade-decision,.upgrade-preparation,.setup-checklist,.home-new-setup,.malware-recognize,.workstation-brief,.workstation-planning,.network-triage,.network-arrange,.office-applications,.office-arrangement,.service-bottom,.upgrade-hardware-layout,.setup-recovery-layout,.home-wifi-topic,.home-device-topic,.workstation-installation-layout,.office-printer-layout,.network-equipment-copy,.network-systems-copy,.catalog-heading{grid-template-columns:1fr;gap:28px}
 .laptop-opening{padding-top:28px;padding-bottom:36px}.laptop-opening-image{order:2}.laptop-opening .service-visual img{height:270px}.laptop-opening h1,.network-opening h1,.workstation-opening h1,.malware-opening h1{font-size:32px}
 .laptop-symptoms{padding-top:28px}.laptop-repair-pair>section{padding:24px}.decision-composition aside{padding-left:0;border-left:0;border-top:1px solid #cdd0d7;padding-top:24px}
 .laptop-decision,.malware-request,.upgrade-hardware-band,.home-devices-band,.home-arrangements,.network-systems,.office-printer-band{padding:32px 0}
 .service-bottom{padding-top:32px}.service-next-links{padding:24px}.upgrade-hardware-layout .service-visual img{height:280px}.upgrade-hardware-layout>figure{order:2}
 .upgrade-heading,.setup-heading,.home-help-heading,.office-help-heading{padding-bottom:28px}.upgrade-comparison h2{font-size:26px}.comparison-table th,.comparison-table td{padding:16px}
 .setup-stages li{display:block;padding:24px 22px 24px 72px}.setup-step-number{left:20px;top:22px;width:32px;height:32px}.setup-stages h3{margin:0 0 16px}.setup-stages p{font-size:16px}
 .setup-recovery-band{padding:32px 0}.setup-recovery-layout .service-visual img{height:230px}.setup-checklist>div:first-child{padding:24px}
 .home-help-jumps{flex-direction:column;gap:8px;padding-bottom:32px}.home-help-jumps a{padding:15px 20px}.home-wifi-topic .service-visual img{height:250px}.home-new-setup aside{padding:24px}
 .malware-opening{padding:34px 0;margin-bottom:32px}.malware-symptoms{padding:24px}.malware-response>section{grid-template-columns:1fr;gap:12px;padding:26px 0}.response-heading h2{font-size:26px}
 .workstation-opening{padding-top:30px;padding-bottom:36px;gap:0}.workstation-tasks{padding:24px}.workstation-installation{padding:30px 0}.workstation-installation-layout .service-visual img{height:270px}.workstation-installation-layout>figure{order:2}.workstation-upgrade{padding:25px}.workstation-planning aside,.network-arrange aside,.office-arrangement aside{padding:24px}
 .network-opening{padding:28px 22px;margin-top:25px;margin-bottom:32px}.network-opening .service-visual img{height:270px}.network-equipment{padding:25px}.network-equipment-copy,.network-systems-copy{gap:18px}
 .office-help-index{display:block;margin-bottom:30px}.office-help-index a,.office-help-index a:first-child{display:block;padding:12px 16px;border-left:3px solid var(--red);border-bottom:1px solid var(--line);margin-bottom:0}.office-printer-layout .service-visual img{height:270px}.office-change-note{padding-left:22px}.office-issue-list{padding:16px 24px}
 .customer-service-grid>article{grid-template-columns:38px minmax(0,1fr);gap:12px 14px;padding:24px 20px}.customer-service-grid h2{grid-column:2;grid-row:1;font-size:22px}.customer-service-grid .small-icon{grid-row:1}.customer-service-grid p,.customer-service-grid article>a{grid-column:1 / -1}.customer-service-grid p{margin:0}
 .business-paths article{grid-template-columns:40px minmax(0,1fr);gap:14px;padding:24px}.business-paths h2{grid-column:2;grid-row:1;font-size:23px}.business-paths .card-icon{grid-row:1}.business-paths p,.business-paths article>a{grid-column:1 / -1}.business-paths p{margin:0}
 .repair-information{padding:24px 20px}.repair-information>h2{font-size:26px}.repair-information>section{padding:22px 0}.repair-information h3{font-size:20px}
 .contact-layout .request-form{grid-template-columns:1fr;padding:24px 20px;gap:0}.request-form>fieldset{padding-bottom:22px}.contact-details{grid-template-columns:1fr;padding:24px;gap:25px}.contact-details>div:last-child{grid-column:auto}.contact-details p{font-size:15px}
 .privacy-layout{grid-template-columns:1fr;gap:30px}.privacy-contents{padding:20px 24px}.privacy-contents a{padding:7px 0}.catalog-heading aside{padding:24px}
}
.setup-recovery-layout figcaption,.workstation-installation-layout figcaption{color:var(--text)}
/* Keep the contact strip continuous rather than nesting another contact card. */
.contact-details>.direct-contact{background:none;border:0;padding:0}
.contact-details>.direct-contact h2{font-size:20px}
.contact-details>.direct-contact .contact-phone{font-size:22px;margin:12px 0 10px}
.contact-details>.direct-contact .email-link{color:#fff}
/* The comparison becomes labeled rows on phones, preserving every column. */
@media(max-width:760px){
 .upgrade-comparison .table-scroll{border:0;border-radius:0;overflow:visible}
 .upgrade-comparison .comparison-table{display:block;min-width:0;background:none;border-collapse:separate}
 .upgrade-comparison .comparison-table caption{display:block;padding:14px 0;background:none}
 .upgrade-comparison .comparison-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .upgrade-comparison .comparison-table tbody{display:grid;gap:14px}
 .upgrade-comparison .comparison-table tbody tr{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
 .upgrade-comparison .comparison-table tbody th{display:block;width:100%;padding:14px 18px;background:var(--ink);color:#fff}
 .upgrade-comparison .comparison-table td{display:grid;grid-template-columns:100px 1fr;gap:14px;padding:14px 18px;font-size:15px}
 .upgrade-comparison .comparison-table td:last-child{border:0}
 .upgrade-comparison .comparison-table td::before{content:attr(data-label);font-weight:600;color:var(--ink)}
}
/* One form surface, with clear separation between contact and job details. */
.contact-layout .request-form{background:none;border:0;padding:0;margin-top:28px}
.request-form>fieldset:first-of-type{padding-right:28px;border-right:1px solid var(--line)}
.request-form>fieldset:first-of-type .form-grid{gap:16px}
.request-form>.button{grid-column:2}
.page-upgrades .service-next-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.page-upgrades .service-next-links h2{margin:0 auto 0 0}
@media(max-width:760px){
 .request-form>fieldset:first-of-type{padding-right:0;border-right:0;border-bottom:1px solid var(--line);margin-bottom:26px}
 .request-form>.button{grid-column:1}
 .page-upgrades .service-next-links{display:block}
 .page-upgrades .service-next-links h2{margin-bottom:12px}
}
.office-change-note{padding-bottom:0;margin-bottom:48px}
.network-equipment{margin-bottom:48px}
/* Repair guidance reads as one reference, followed by the service process. */
.repair-layout{display:flex;flex-direction:column;align-items:stretch;gap:30px}
.repair-information>section{grid-template-columns:.7fr 1.3fr;gap:42px}
.repair-information .service-heading{display:flex;gap:16px;align-items:start}
.repair-information .service-heading .small-icon{flex-shrink:0}
.repair-information h3{margin:0}
.repair-arrangements{margin-top:0;padding:32px 36px}
.repair-arrangements ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding-left:20px;margin-bottom:28px}
.repair-arrangements li{margin-bottom:0;padding-right:14px;font-size:16px}
.repair-arrangements li p{font-size:15px}
.repair-arrangements>h3{margin-bottom:8px;padding-top:22px;border-top:1px solid #ffffff30}
.privacy-layout .prose{background:transparent}
@media(max-width:760px){
 .repair-information>section{grid-template-columns:1fr;gap:14px}
 .repair-arrangements{padding:26px}
 .repair-arrangements ol{grid-template-columns:1fr;gap:24px}
 .contact-details{order:1}
}
/* Image audit: preserve the equipment, especially in narrow tablet columns. */
.experience-server img{height:auto;aspect-ratio:4/3;object-fit:contain}
.visual-component-upgrade img{object-position:50% 40%}
@media(min-width:761px) and (max-width:1000px){
 .home-wifi-topic,.office-printer-layout{grid-template-columns:1fr;gap:30px}
 .home-wifi-topic>.service-visual,.office-printer-layout>.service-visual{width:100%;max-width:640px;margin-inline:auto}
 .home-wifi-topic .service-visual img,.office-printer-layout .service-visual img{height:auto;object-fit:contain}
}
.home-wifi-topic>.service-visual,.office-printer-layout>.service-visual{width:100%;max-width:640px;margin-inline:auto}
.home-wifi-topic .service-visual img{height:auto;aspect-ratio:3/2;object-fit:contain}
.office-printer-layout .service-visual img{height:auto;aspect-ratio:600/377;object-fit:contain}
@media(max-width:760px){
 .about-introduction .owner-portrait{width:min(100%,300px);height:auto;aspect-ratio:3/4;object-fit:contain;justify-self:center}
}
@media(max-width:760px){
 .photo-context>.visual-computer-services-workbench{width:100%;max-width:560px;margin-inline:auto}
 .photo-context .visual-computer-services-workbench img{height:auto;aspect-ratio:4/3}
 .service-feature>.visual-desktop-components{width:100%;max-width:560px;margin-inline:auto}
 .service-feature .visual-desktop-components img{height:auto;aspect-ratio:4/3;object-position:50% 42%}
 .laptop-opening-image .service-visual{width:min(100%,280px);margin-inline:auto}
 .laptop-opening .service-visual img{height:auto;aspect-ratio:3/4}
 .upgrade-hardware-layout>.service-visual{width:100%;max-width:480px;margin-inline:auto}
 .upgrade-hardware-layout .service-visual img{height:auto;aspect-ratio:1/1}
 .network-opening>.service-visual{width:100%;max-width:520px;margin-inline:auto}
 .network-opening .service-visual img{height:auto;aspect-ratio:1/1}
}
/* Reviewed stock illustrations follow their actual subjects and proportions. */
.service-feature .visual-computer-repair-stock img,.workstation-installation-layout .visual-office-workstations-stock img,.setup-transfer-step .visual-data-transfer-stock img{height:auto;aspect-ratio:3/2;object-fit:contain}
.service-feature>.visual-computer-repair-stock{width:100%;max-width:560px;margin-inline:auto}
.workstation-installation-layout{grid-template-columns:1fr 1fr;gap:48px}
.setup-transfer-step h3{grid-row:1}
.setup-transfer-copy{grid-column:2;grid-row:1 / span 2;min-width:0}
.setup-transfer-step>.service-visual{grid-column:1;grid-row:2;align-self:start;margin-top:16px}
.setup-recovery-layout{display:block}
.setup-recovery-layout>div{max-width:85ch}
.setup-transfer-step figcaption{color:var(--text)}
@media(max-width:760px){
 .workstation-installation-layout{grid-template-columns:1fr;gap:28px}
 .setup-transfer-step>.service-visual{max-width:480px;margin-top:22px}
}
