/* FixHub — a portrait of an independent repair workshop. */
:root {
  --paper:#f6f6f2;
  --white:#fff;
  --ink:#202828;
  --muted:#5e6561;
  --blue:#244fd7;
  --blue-deep:#183caf;
  --line:#d9dcd6;
  --soft:#eaece7;
  --max:1240px;
  --header:88px;
  color-scheme:light;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Manrope","Noto Sans SC",sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
::selection {
  background:#c7d4ff;
  color:#15286b;
}
body {
  scrollbar-color:#abb3a9 var(--paper);
}
a {
  color:inherit;
  text-decoration:none;
  text-underline-offset:5px;
}
button {
  font:inherit;
  color:inherit;
  cursor:pointer;
}
button:disabled {
  cursor:not-allowed;
  opacity:.5;
}
button,a,input {
  touch-action:manipulation;
}
a,button {
  outline-offset:5px;
}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,summary:focus-visible {
  outline:3px solid var(--blue);
}
a:hover {
  color:var(--blue);
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
}
.brand-glyph {
  fill:currentColor;
  stroke:none;
  width:21px;
  height:21px;
}
.brand-sprite {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.container {
  width:min(calc(100% - 96px),var(--max));
  margin-inline:auto;
}
h1,h2,h3,p,figure,blockquote {
  margin:0;
}
h1,h2,h3 {
  text-wrap:balance;
}
h1 {
  font-size:clamp(48px,5.8vw,82px);
  line-height:1.22;
  font-weight:700;
  letter-spacing:-.035em;
}
h2 {
  font-size:clamp(32px,3.45vw,48px);
  font-weight:600;
  line-height:1.32;
  letter-spacing:-.025em;
}
h3 {
  font-size:23px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.02em;
}
p {
  overflow-wrap:break-word;
}
ul,ol {
  margin:0;
  padding:0;
  list-style:none;
}
[hidden] {
  display:none!important;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.skip-link {
  position:fixed;
  top:8px;
  left:16px;
  background:var(--blue);
  color:white;
  padding:10px 18px;
  z-index:100;
  transform:translateY(-160%);
}
.skip-link:focus {
  transform:none;
}
.section {
  padding-block:100px;
}
.section-heading {
  margin-bottom:44px;
  max-width:820px;
}
.section-heading>p {
  margin-top:20px;
  max-width:640px;
  color:var(--muted);
}
.section-heading h2 span {
  color:var(--muted);
}
/* A quiet, useful masthead. */
.site-header {
  position:sticky;
  top:0;
  z-index:30;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.top-contact-bar {
  display:none;
}
.header-inner {
  height:var(--header);
  display:flex;
  align-items:center;
  gap:40px;
}
.wordmark-logo {
  width:158px;
  filter:brightness(0);
  height:auto;
}
.site-nav {
  display:flex;
  align-items:center;
  gap:26px;
  margin-left:auto;
  font-size:13px;
  font-weight:600;
}
.site-nav>a[aria-current] {
  color:var(--blue);
}
.nav-cta {
  display:flex;
  gap:9px;
  align-items:center;
  border-bottom:1px solid currentColor;
  padding-block:8px;
  color:var(--blue);
}
.header-right {
  display:flex;
  align-items:center;
  gap:16px;
}
.lang-switch {
  display:flex;
  gap:3px;
  align-items:center;
}
.lang-switch-icon {
  display:none;
}
.lang-switch-option {
  border:0;
  background:transparent;
  font-size:12px;
  padding:10px 9px;
  color:var(--muted);
  min-height:44px;
}
.lang-switch-option[aria-pressed=true] {
  color:var(--ink);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:6px;
}
.menu-button {
  display:none;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:56px;
  padding:15px 23px;
  border-radius:7px;
  font-size:15px;
  font-weight:600;
  transition:background .2s,color .2s;
}
.button-primary {
  background:var(--blue);
  color:white;
}
.button-primary:hover {
  background:var(--blue-deep);
  color:white;
}
.text-link {
  display:inline-flex;
  gap:7px;
  align-items:center;
  font-size:14px;
  font-weight:600;
  border-bottom:1px solid var(--ink);
  padding-block:8px;
}
.text-link:hover {
  border-color:var(--blue);
}
/* The technician is the first proof. */
.hero {
  padding-top:65px;
}
.hero-inner {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:64px;
  align-items:center;
}
.hero-copy {
  padding-block:30px;
}
.hero-copy h1 span {
  color:var(--blue);
  display:inline-block;
}
.hero-lede {
  max-width:490px;
  color:var(--muted);
  font-size:17px;
  line-height:1.95;
  margin-top:27px;
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:25px;
  flex-wrap:wrap;
  margin-top:32px;
}
.hero-local {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--muted);
  margin-top:28px;
}
.hero-local svg {
  width:16px;
  height:16px;
}
.hero-portrait {
  background:#e5e6e0;
  padding:14px 14px 0;
  align-self:stretch;
  min-width:0;
}
.hero-photo-frame {
  overflow:hidden;
}
.hero-photo-frame img {
  width:100%;
  aspect-ratio:1.05;
  object-fit:cover;
  object-position:center;
}
.hero-portrait figcaption {
  padding:17px 8px 19px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.hero-portrait figcaption>span {
  display:flex;
  gap:16px;
  align-items:baseline;
}
.hero-portrait strong {
  font-size:22px;
  letter-spacing:-.03em;
}
.hero-portrait figcaption span span {
  font-size:12px;
  color:var(--muted);
}
.hero-portrait figcaption a {
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:44px;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
  text-decoration:underline;
  text-underline-offset:4px;
}
.hero-notes {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding-block:28px;
  margin-top:44px;
  border-top:1px solid var(--line);
  font-size:13px;
  color:var(--muted);
}
.hero-notes p:first-child {
  font-weight:700;
  color:var(--ink);
}
/* Brand names identify service coverage, not endorsements. */
.brand-strip {
  background:#edeee9;
  border-block:1px solid var(--line);
  padding-block:28px;
}
.brand-strip-inner {
  display:flex;
  gap:45px;
  align-items:center;
}
.brand-strip-title {
  min-width:130px;
}
.brand-strip-title>img,.brand-strip-title p {
  display:none;
}
.brand-strip-title span {
  font-size:12px;
  color:var(--muted);
}
.phone-brand-list {
  display:flex;
  flex:1;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-width:0;
}
.phone-brand-list li {
  display:flex;
  align-items:center;
  justify-content:center;
}
.phone-brand-logo {
  max-height:22px;
  max-width:93px;
  filter:brightness(0);
  opacity:.63;
  object-fit:contain;
}
.brand-apple img,.brand-xiaomi img,.brand-huawei img {
  width:23px;
}
.brand-samsung img {
  width:94px;
}
.brand-pixel img {
  width:86px;
  max-height:31px;
}
/* An open device directory, not four boxed sales pitches. */
.device-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
}
.device-card {
  display:flex;
  flex-direction:column;
  min-width:0;
}
.device-glyph {
  background:var(--soft);
  height:215px;
  display:grid;
  place-items:center;
  margin-bottom:23px;
  overflow:hidden;
}
.device-glyph img {
  width:150px;
  height:164px;
  object-fit:contain;
  transition:transform .25s;
}
.device-card:hover .device-glyph img {
  transform:translateY(-5px);
}
.device-card h3 {
  font-size:20px;
}
.device-card p {
  font-size:13px;
  color:var(--muted);
  line-height:1.9;
  margin-top:12px;
  flex:1;
}
.device-card>a {
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:7px;
  font-size:13px;
  color:var(--blue);
  font-weight:700;
  border-bottom:1px solid var(--line);
  padding-block:18px 12px;
  margin-top:12px;
}
.device-card>a:hover {
  border-color:var(--blue);
}
.repair-scope {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:42px;
  gap:25px;
}
.repair-scope p {
  display:flex;
  gap:12px;
  font-size:12px;
  flex-wrap:wrap;
}
.repair-scope span {
  color:var(--muted);
}
/* A compact device selector and useful, named results. */
.symptoms { background:#f0f2ef; }
.symptoms>.container { display:block;max-width:1040px; }
.symptoms .section-heading {
  display:flex;align-items:flex-end;justify-content:space-between;
  max-width:none;gap:28px;margin:0 0 28px;
}
.symptoms .section-heading h2 { font-size:36px;line-height:1.25; }
.symptoms .section-heading p {
  max-width:420px;margin:0;font-size:14px;line-height:1.8;color:var(--muted);
}
.symptom-finder {
  min-width:0;background:var(--white);border:1px solid var(--line);
  border-radius:10px;overflow:hidden;
}
.sf-device-picker { padding:25px 28px;border-bottom:1px solid var(--line); }
.sf-field-label,.sf-list-label { font-size:12px;font-weight:600;color:var(--muted);margin-bottom:12px; }
.sf-tabs { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px; }
.sf-tab {
  display:flex;align-items:center;justify-content:center;gap:8px;
  min-width:0;min-height:52px;padding:10px 8px;
  border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);
}
.sf-tab strong { display:block;font-size:13px;font-weight:600;line-height:1.45; }
.sf-tab svg { width:19px;height:19px;stroke-width:1.5; }
.sf-tab.active { border-color:var(--blue);background:#edf2ff;color:var(--blue); }
.sf-tab:not(.active):hover { border-color:#9ca9bc;background:#f7f8fa; }
.sf-body { display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:32px;padding:28px; }
.sf-list-wrap { min-width:0; }
.sf-symptoms { display:grid;gap:7px; }
.sf-choice {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;min-height:62px;text-align:left;padding:12px 14px;
  border:1px solid #e2e5e1;border-radius:5px;background:white;color:var(--ink);
}
.sf-choice-copy { min-width:0; }
.sf-choice strong { display:block;font-size:14px;font-weight:600;line-height:1.6; }
.sf-choice small { display:block;margin-top:1px;color:var(--muted);font-size:11px; }
.sf-choice:hover { border-color:#a5b4d7;background:#f8faff; }
.sf-choice.is-selected { border-color:var(--blue);background:#f1f5ff;color:var(--ink); }
.sf-choice-mark {
  display:flex;align-items:center;justify-content:center;flex:0 0 18px;
  width:18px;height:18px;border:1px solid #a6ada7;border-radius:50%;
}
.sf-choice-mark svg { width:14px;height:14px;stroke-width:1.8;opacity:0; }
.sf-choice.is-selected .sf-choice-mark { border-color:var(--blue);background:var(--blue);color:white; }
.sf-choice.is-selected .sf-choice-mark svg { opacity:1; }
.sf-help {
  display:inline-block;margin-top:16px;padding-block:6px;font-size:12px;
  color:var(--muted);text-decoration:underline;text-underline-offset:4px;line-height:1.7;
}
.sf-help:hover { color:var(--blue); }
.sf-result {
  display:flex;flex-direction:column;min-width:0;padding:25px;
  background:#f5f6f2;border-radius:7px;
  scroll-margin-top:0; /* html scroll-padding already reserves the sticky header. */
}
.sf-result-status { margin:0 0 14px;font-size:22px;font-weight:600;line-height:1.4; }
.sf-default { font-size:14px;color:var(--muted);line-height:1.85; }
.sf-message-card { margin-top:24px;padding-top:20px;border-top:1px solid var(--line); }
.sf-message-card strong { font-size:12px;font-weight:600; }
.sf-message-card ul { display:grid;gap:11px;margin-top:15px; }
.sf-message-card li { position:relative;padding-left:13px;color:var(--muted);font-size:13px;line-height:1.65; }
.sf-message-card li::before { content:'';position:absolute;left:0;top:.7em;width:3px;height:3px;border-radius:50%;background:var(--muted); }
.sf-result.has-result .sf-message-card { display:none; }
.sf-tip>div+div { margin-top:22px; }
.sf-tip h4 { margin:0 0 7px;font-size:13px;font-weight:600;color:var(--ink); }
.sf-tip p { font-size:14px;line-height:1.9;color:var(--muted); }
.sf-cta {
  display:flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;margin-top:24px;padding:12px 15px;
  border-radius:5px;background:var(--blue);color:white;font-size:13px;font-weight:600;
}
.sf-cta:hover { background:var(--blue-deep);color:white; }
.sf-followup { margin-top:10px; }
.sf-followup p { font-size:12px;line-height:1.75;color:var(--muted); }
.sf-change {
  display:inline-flex;align-items:center;min-height:44px;margin-top:5px;padding:4px 0;
  background:transparent;border:0;color:var(--ink);font-size:12px;
  text-decoration:underline;text-underline-offset:4px;
}
.sf-change:hover { color:var(--blue); }
.sf-disclaimer { margin-top:auto;padding-top:24px;font-size:11px;line-height:1.75;color:var(--muted); }
.sf-result.is-changing { opacity:.6; }
.sf-tip { transition:opacity .15s; }
@media(max-width:720px) {
  .symptoms .section-heading { display:block;margin-bottom:24px; }
  .symptoms .section-heading h2 { font-size:30px; }
  .symptoms .section-heading p { margin-top:12px;font-size:14px; }
  .sf-device-picker { padding:20px 18px; }
  .sf-tabs { grid-template-columns:repeat(6,minmax(0,1fr));gap:7px; }
  .sf-tab { grid-column:span 2;flex-direction:column;gap:5px;padding:9px 5px;min-height:68px; }
  .sf-tab strong { font-size:12px; }
  .sf-tab:nth-last-child(-n+2) { grid-column:span 3;flex-direction:row;min-height:52px; }
  .sf-body { grid-template-columns:minmax(0,1fr);padding:20px 18px;gap:24px; }
  .sf-choice { min-height:50px;padding:12px; }
  .sf-choice small { display:none; }
  .sf-result { padding:21px 18px; }
  .sf-result-status { font-size:21px; }
  .sf-help { min-height:44px;display:flex;align-items:center;margin-top:10px; }
}

/* A second portrait spread, then actual source-linked posts. */
.about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:110px;
  align-items:center;
}
.brand-visual {
  max-width:480px;
  position:relative;
}
.portrait-frame {
  position:relative;
}
.portrait-frame img {
  width:100%;
  aspect-ratio:1.1;
  object-fit:cover;
}
.portrait-status {
  display:none;
}
.brand-visual figcaption {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-block:14px;
  font-size:10px;
  color:var(--muted);
}
.brand-visual figcaption strong {
  font-weight:500;
}
.about-copy>p {
  color:var(--muted);
  margin-top:25px;
  font-size:15px;
  line-height:2;
}
.about-copy blockquote {
  font-size:18px;
  color:var(--blue);
  border-top:1px solid var(--line);
  margin-top:30px;
  padding-top:25px;
}
.ig-cases {
  padding-top:0;
}
.ig-proof-heading {
  max-width:none;
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
}
.ig-profile-link {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:12px;
  padding-bottom:6px;
}
.ig-profile-link small {
  display:block;
  color:var(--muted);
  font-size:10px;
}
.ig-profile-link strong {
  font-weight:600;
}
.ig-profile-icon {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  background:#f1e9e7;
  border-radius:50%;
  color:#b42b3d;
}
.martin-rednote-gallery-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:16px;
  font-size:11px;
}
.martin-rednote-gallery-head small {
  display:none;
}
.martin-rednote-gallery-head strong {
  font-size:13px;
  font-weight:500;
}
.martin-rednote-gallery-head a {
  color:var(--blue);
  text-decoration:underline;
}
.martin-rednote-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.martin-rednote-tile {
  min-width:0;
}
.martin-rednote-media {
  display:block;
  overflow:hidden;
  background:var(--soft);
}
.martin-rednote-media img {
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
}
.martin-rednote-caption {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.martin-rednote-caption small {
  display:none;
}
.martin-rednote-caption strong {
  font-size:13px;
  font-weight:500;
}
.ig-embed-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  margin-top:40px;
}
.ig-embed-card {
  display:grid;
  grid-template-columns:145px 1fr;
  gap:0 25px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.ig-embed-card>header {
  grid-column:2;
  align-self:end;
  display:block;
}
.ig-embed-head small,.ig-embed-tag,.ig-embed-eyebrow {
  display:none;
}
.ig-embed-card>header h3 {
  font-size:20px;
}
.ig-embed-shell {
  grid-column:1;
  grid-row:1/3;
  position:relative;
}
.ig-embed-shell>img {
  width:145px;
  height:180px;
  object-fit:cover;
}
.ig-embed-badge {
  font-size:10px;
  line-height:1.4;
  display:flex;
  gap:5px;
  align-items:center;
  color:var(--blue);
  margin-top:10px;
}
.ig-embed-badge svg {
  width:16px;
  height:16px;
  fill:currentColor;
  stroke:none;
}
.ig-embed-meta {
  grid-column:2;
  margin-top:14px;
  font-size:13px;
  color:var(--muted);
}
/* The customer's consent stays at the center. */
.trust {
  background:#233434;
  color:#fff;
}
.trust .section-heading>p {
  color:#c1cccc;
}
.trust-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 64px;
}
.trust-card {
  display:flex;
  gap:23px;
  padding:28px 0;
  border-top:1px solid #536463;
}
.trust-ico {
  color:#bccfa2;
  margin-top:4px;
}
.trust-ico svg {
  width:33px;
  height:33px;
  stroke-width:1.2;
}
.trust-icon-fill {
  fill:none;
}
.trust-icon-dot {
  fill:currentColor;
  stroke:none;
}
.trust-card-copy small {
  display:none;
}
.trust-card-copy h3 {
  font-size:21px;
}
.trust-card-copy p {
  font-size:13px;
  color:#c1cccc;
  margin-top:14px;
  max-width:410px;
}
.trust-outcome {
  display:block;
  color:#d5e4bd;
  font-size:11px;
  margin-top:16px;
}
.how .section-heading {
  max-width:820px;
}
.process-list {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:32px;
}
.process-list>li {
  border-top:1px solid #aeb6aa;
  padding-top:21px;
}
.process-icon-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:22px;
}
.process-icon {
  color:var(--blue);
}
.process-number {
  font-size:11px;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
}
.process-copy h3 {
  font-size:19px;
}
.process-copy p {
  margin-top:13px;
  font-size:13px;
  color:var(--muted);
}
.process-meta {
  display:none;
}
/* Visit, or arrange pickup. */
.location {
  border-top:1px solid var(--line);
}
.location-shell {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
}
.location-status {
  font-size:12px;
  color:var(--blue);
  margin-bottom:24px;
}
.location-address {
  font-style:normal;
}
.location-address small {
  display:block;
  font-size:12px;
  letter-spacing:.03em;
  margin-bottom:14px;
  color:var(--muted);
}
.location-address strong {
  display:block;
  font-size:28px;
  line-height:1.5;
  font-weight:600;
  letter-spacing:-.02em;
}
.location-address>span {
  display:block;
  max-width:350px;
  color:var(--muted);
  font-size:13px;
  margin-top:12px;
}
.location-facts {
  margin:26px 0;
  display:flex;
  gap:40px;
}
.location-facts>div {
  display:grid;
  grid-template-columns:24px 1fr;
  gap:0 10px;
}
.location-fact-icon {
  grid-row:1/3;
  margin-top:4px;
}
.location-fact-icon svg {
  width:20px;
  height:20px;
}
.location-facts dt {
  font-size:10px;
  color:var(--muted);
}
.location-facts dd {
  margin:0;
  font-size:12px;
}
.map-buttons {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.map-buttons a {
  display:flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--line);
  border-radius:5px;
  padding:10px 12px;
  font-size:11px;
  background:white;
  min-height:44px;
}
.map-buttons a>span:not(.cta-label) {
  display:none;
}
.google-maps-mark {
  width:22px;
  height:22px;
  object-fit:contain;
}
.map-glyph {
  width:18px;
  height:18px;
}
.location-assist {
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:25px 1fr;
  gap:12px;
  margin-top:32px;
  padding-top:22px;
}
.location-assist strong {
  font-size:13px;
}
.location-assist p {
  font-size:12px;
  color:var(--muted);
  margin-top:5px;
}
.location-assist>a {
  grid-column:2;
  font-size:12px;
  color:var(--blue);
  text-decoration:underline;
}
.location-map {
  display:flex;
  flex-direction:column;
  background:var(--soft);
  min-width:0;
}
.location-map-bar {
  padding:17px 20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:10px;
}
.location-map-bar strong {
  font-weight:600;
}
.location-map-bar a {
  color:var(--blue);
}
.location-map iframe {
  width:100%;
  flex:1;
  min-height:340px;
  max-height:450px;
  filter:saturate(.45);
}
.location-map-caption {
  display:flex;
  gap:10px;
  padding:16px 20px;
  font-size:10px;
  color:var(--muted);
}
.location-map-caption svg {
  width:16px;
  height:16px;
}
.faq {
  background:#edeee8;
}
.faq-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 80px;
}
.faq-intro {
  grid-column:1;
  grid-row:1/3;
}
.faq-prep h3 {
  font-size:18px;
  margin-bottom:17px;
}
.faq-prep li {
  padding:9px 0;
  font-size:13px;
  display:flex;
  gap:10px;
}
.faq-prep i {
  color:var(--blue);
  font-style:normal;
}
.faq-list details {
  border-top:1px solid var(--line);
  padding-top:18px;
}
.faq-list summary {
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:20px;
  min-height:44px;
}
.faq-list summary::-webkit-details-marker {
  display:none;
}
.faq-list summary>span {
  font-weight:400;
}
.faq-list details[open] summary>span {
  transform:rotate(45deg);
}
.faq-list details>p {
  font-size:13px;
  color:var(--muted);
  padding:8px 20px 10px 0;
}
.contact-close {
  padding-block:72px;
  background:#dce5ff;
}
.contact-close>.container {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
}
.contact-close h2 {
  font-size:36px;
  color:#213b87;
}
.contact-close p {
  font-size:14px;
  color:#475b91;
  margin-top:15px;
}
.contact-close .button {
  flex-shrink:0;
}
/* A real address and a quiet credit. */
.site-footer {
  padding-top:62px;
  background:var(--paper);
}
.footer-main {
  display:grid;
  grid-template-columns:1.2fr .8fr .9fr 1.3fr;
  gap:40px;
  padding-bottom:52px;
}
.footer-brand-block>p {
  font-size:12px;
  color:var(--muted);
  margin-top:16px;
  max-width:210px;
}
.footer-column h2 {
  font-size:12px;
  font-weight:700;
  letter-spacing:0;
  margin-bottom:20px;
}
.footer-link,.footer-social {
  display:flex;
  gap:9px;
  align-items:center;
  font-size:12px;
  margin-block:12px;
  color:var(--muted);
}
.footer-link-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.footer-link-icon svg {
  width:16px;
  height:16px;
}
.footer-column b {
  display:none;
}
.footer-address-icon {
  display:none;
}
.footer-address-copy {
  font-style:normal;
  display:block;
  font-size:12px;
  color:var(--muted);
}
.footer-address-copy small {
  display:none;
}
.footer-address-copy strong {
  display:block;
  font-weight:500;
  color:var(--ink);
  margin-bottom:5px;
}
.footer-address-copy>span {
  font-size:11px;
}
.footer-location-actions {
  display:flex;
  gap:18px;
  margin-top:16px;
}
.footer-map-link {
  font-size:11px;
  display:flex;
  gap:5px;
  align-items:center;
  color:var(--blue);
}
.footer-map-link img {
  width:18px;
  height:18px;
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding-block:22px;
  border-top:1px solid var(--line);
}
.copyright {
  font-size:9px;
  color:var(--muted);
  letter-spacing:.03em;
}
.copyright small {
  font-size:9px;
  letter-spacing:0;
}
.powered-by {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  width:fit-content;
  font-size:11px;
  color:var(--muted);
}
.powered-by-logo {
  display:block;
  width:134px;
  height:auto;
  flex-shrink:0;
  mix-blend-mode:multiply;
}
.mobile-contact {
  display:none;
}
@media(min-width:1440px) {
  .hero-inner {
    gap:85px;
  }
  .hero-photo-frame img {
    aspect-ratio:1.1;
  }
}
@media(max-width:1180px) {
  .container {
    width:calc(100% - 64px);
  }
  .site-nav {
    gap:19px;
  }
  .site-nav .nav-cta {
    display:none;
  }
  .header-inner {
    gap:28px;
  }
  .hero-inner {
    gap:36px;
  }
  .hero h1 {
    font-size:clamp(45px,6vw,70px);
  }
  .hero-actions {
    gap:16px;
  }
  .hero-actions .button {
    font-size:14px;
    padding-inline:18px;
  }
  .hero-lede {
    font-size:15px;
  }
  .hero-notes {
    font-size:11px;
  }
  .about-grid {
    gap:65px;
  }
  .brand-strip-inner {
    gap:25px;
  }
  .phone-brand-list {
    gap:20px;
  }
  .device-glyph {
    height:185px;
  }
  .device-card h3 {
    font-size:18px;
  }
  .repair-scope p {
    display:block;
  }
  .repair-scope strong,.repair-scope span {
    display:block;
  }
  .ig-embed-card {
    grid-template-columns:115px 1fr;
    gap:0 20px;
  }
  .ig-embed-shell>img {
    width:115px;
    height:156px;
  }
  .footer-main {
    gap:28px;
  }
}
@media(max-width:900px) {
  .section {
    padding-block:75px;
  }
  .hero {
    padding-top:45px;
  }
  .hero-inner {
    gap:28px;
  }
  .hero h1 {
    font-size:48px;
  }
  .hero-actions {
    flex-direction:column;
    align-items:start;
  }
  .hero-portrait {
    align-self:center;
    padding:10px 10px 0;
  }
  .hero-portrait figcaption>span {
    display:block;
  }
  .hero-portrait figcaption span span {
    display:block;
    font-size:11px;
    margin-top:2px;
  }
  .hero-local {
    font-size:11px;
  }
  .hero-notes {
    margin-top:36px;
    gap:25px;
  }
  .phone-brand-list {
    flex-wrap:wrap;
    justify-content:center;
    gap:23px 30px;
  }
  .brand-strip-title {
    min-width:90px;
  }
  .phone-brand-logo {
    max-width:76px;
    max-height:18px;
  }
  .device-grid {
    grid-template-columns:repeat(2,1fr);
    gap:35px 25px;
  }
  .device-glyph {
    height:205px;
  }
  .device-card p {
    max-width:300px;
  }
  .device-card h3 {
    font-size:22px;
  }
  .ig-cases {
    padding-top:0;
  }
  .ig-proof-heading {
    gap:25px;
  }
  .ig-profile-link strong {
    font-size:11px;
  }
  .martin-rednote-grid {
    gap:16px;
  }
  .martin-rednote-caption strong {
    font-size:11px;
  }
  .about-grid {
    gap:38px;
  }
  .about-copy h2 {
    font-size:32px;
  }
  .about-copy>p {
    font-size:13px;
  }
  .about-copy blockquote {
    font-size:15px;
  }
  .ig-embed-card>header h3 {
    font-size:16px;
  }
  .ig-embed-meta {
    font-size:12px;
  }
  .trust-grid {
    gap:0 36px;
  }
  .trust-card {
    gap:16px;
  }
  .process-list {
    grid-template-columns:1fr 1fr;
    gap:40px;
  }
  .location-shell {
    gap:30px;
  }
  .location-address strong {
    font-size:24px;
  }
  .location-facts {
    gap:20px;
    flex-wrap:wrap;
  }
  .map-buttons {
    gap:7px;
  }
  .map-buttons a {
    font-size:10px;
    padding:8px;
  }
  .location-map iframe {
    min-height:410px;
  }
  .faq-grid {
    gap:25px 45px;
  }
  .contact-close h2 {
    font-size:30px;
  }
  .contact-close>.container {
    gap:30px;
  }
  .footer-main {
    grid-template-columns:1.2fr 1fr;
    gap:40px 55px;
  }
  .footer-brand-block>p {
    max-width:none;
  }
}
@media(max-width:720px) {
  :root {
    --header:72px;
  }
  .container {
    width:calc(100% - 40px);
  }
  html {
    scroll-padding-top:92px;
  }
  .section {
    padding-block:62px;
  }
  h2 {
    font-size:31px;
  }
  .section-heading {
    margin-bottom:30px;
  }
  .section-heading>p {
    font-size:13px;
    line-height:1.9;
    margin-top:16px;
  }
  .header-inner {
    justify-content:space-between;
    gap:15px;
  }
  .wordmark-logo {
    width:128px;
  }
  .header-right {
    gap:14px;
  }
  .menu-button {
    width:40px;
    height:42px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    background:transparent;
    border:0;
    padding:7px;
  }
  .menu-button>span:not(.sr-only) {
    display:block;
    width:24px;
    height:1.5px;
    background:var(--ink);
    transition:transform .2s;
  }
  .menu-button.open>span:nth-child(1) {
    transform:translateY(3.75px) rotate(45deg);
  }
  .menu-button.open>span:nth-child(2) {
    transform:translateY(-3.75px) rotate(-45deg);
  }
  .site-nav {
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    padding:22px 25px 28px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    font-size:16px;
    margin:0;
  }
  .site-nav.open {
    display:flex;
    align-items:stretch;
    gap:0;
    flex-direction:column;
  }
  .site-nav>a {
    padding:13px 0;
  }
  .site-nav .nav-cta {
    display:flex;
    margin-top:10px;
    font-size:14px;
    justify-content:center;
    background:var(--blue);
    color:white;
    border-radius:5px;
  }
  .hero {
    padding-top:33px;
  }
  .hero-inner {
    grid-template-columns:1fr;
    gap:30px;
  }
  .hero-copy {
    padding:0;
  }
  .hero h1 {
    font-size:clamp(39px,9.5vw,63px);
    line-height:1.3;
    letter-spacing:-.035em;
  }
  .hero-lede {
    font-size:14px;
    line-height:1.9;
    max-width:490px;
    margin-top:20px;
  }
  .hero-actions {
    flex-direction:row;
    gap:18px;
    margin-top:24px;
    align-items:center;
  }
  .hero-actions .button {
    font-size:13px;
    padding:13px 16px;
    min-height:50px;
    gap:9px;
  }
  .hero-actions .text-link {
    font-size:12px;
    gap:8px;
  }
  .hero-actions .text-link svg {
    width:16px;
  }
  .hero-local {
    margin-top:18px;
    font-size:10px;
  }
  .hero-portrait {
    padding:10px 10px 0;
  }
  .hero-photo-frame img {
    aspect-ratio:1.22;
    object-position:50% 45%;
  }
  .hero-portrait figcaption {
    padding:11px 5px 13px;
  }
  .hero-portrait figcaption>span {
    display:flex;
    gap:12px;
  }
  .hero-portrait figcaption strong {
    font-size:19px;
  }
  .hero-portrait figcaption span span {
    font-size:10px;
  }
  .hero-notes {
    margin-top:24px;
    padding-block:20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px 14px;
    font-size:10px;
  }
  .hero-notes p:nth-child(2) {
    grid-column:1/-1;
    grid-row:2;
  }
  .hero-notes p:nth-child(3) {
    text-align:right;
  }
  .brand-strip {
    padding-block:20px;
  }
  .brand-strip-inner {
    display:block;
  }
  .brand-strip-title {
    margin-bottom:16px;
  }
  .brand-strip-title span {
    font-size:10px;
  }
  .phone-brand-list {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px 18px;
  }
  .phone-brand-logo {
    max-height:19px;
    max-width:80px;
  }
  .device-grid {
    gap:28px 16px;
  }
  .device-glyph {
    height:155px;
    margin-bottom:16px;
  }
  .device-glyph img {
    width:114px;
    height:126px;
  }
  .device-card h3 {
    font-size:16px;
    letter-spacing:-.025em;
  }
  .device-card p {
    font-size:11px;
    line-height:1.85;
    margin-top:9px;
  }
  .device-card>a {
    font-size:11px;
    padding-block:14px 9px;
    margin-top:8px;
  }
  .repair-scope {
    grid-template-columns:1fr;
    gap:10px;
    margin-top:28px;
  }
  .repair-scope p {
    display:flex;
    gap:15px;
    font-size:11px;
  }
  .repair-scope strong {
    min-width:84px;
  }
  .about-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  .brand-visual {
    max-width:none;
  }
  .portrait-frame img {
    aspect-ratio:1.35;
  }
  .brand-visual figcaption {
    font-size:9px;
  }
  .about-copy h2 {
    font-size:31px;
  }
  .about-copy>p {
    margin-top:18px;
  }
  .about-copy blockquote {
    margin-top:23px;
    padding-top:20px;
  }
  .ig-cases {
    padding-top:0;
  }
  .ig-proof-heading {
    display:block;
  }
  .ig-profile-link {
    margin-top:20px;
    width:fit-content;
  }
  .martin-rednote-gallery-head {
    font-size:10px;
    display:block;
  }
  .martin-rednote-gallery-head strong {
    font-size:12px;
  }
  .martin-rednote-gallery-head a {
    display:inline-block;
    margin-top:7px;
  }
  .martin-rednote-grid {
    grid-template-columns:1fr 1fr;
    gap:22px 14px;
  }
  .martin-rednote-tile-primary {
    grid-column:1/-1;
    max-width:none;
  }
  .martin-rednote-tile-primary img {
    aspect-ratio:3/4;
    object-fit:contain;
    background:#e5e5e1;
  }
  .martin-rednote-caption {
    padding:12px 0;
  }
  .martin-rednote-caption strong {
    font-size:11px;
  }
  .ig-embed-grid {
    grid-template-columns:1fr;
    gap:24px;
    margin-top:30px;
  }
  .ig-embed-card {
    grid-template-columns:110px 1fr;
    gap:0 20px;
    padding-top:24px;
  }
  .ig-embed-shell>img {
    width:110px;
    height:146px;
  }
  .ig-embed-card>header h3 {
    font-size:18px;
  }
  .ig-embed-meta {
    font-size:12px;
  }
  .trust-grid {
    grid-template-columns:1fr;
  }
  .trust-card {
    padding-block:24px;
    gap:18px;
  }
  .trust-card-copy h3 {
    font-size:19px;
  }
  .trust-card-copy p {
    font-size:13px;
    margin-top:10px;
  }
  .trust-outcome {
    margin-top:12px;
  }
  .trust-ico svg {
    width:30px;
    height:30px;
  }
  .process-list {
    gap:30px 22px;
  }
  .process-copy h3 {
    font-size:16px;
  }
  .process-copy p {
    font-size:12px;
    margin-top:10px;
  }
  .process-icon-row {
    margin-bottom:17px;
  }
  .location-shell {
    grid-template-columns:1fr;
    gap:30px;
  }
  .location-address strong {
    font-size:27px;
  }
  .location-facts {
    gap:30px;
  }
  .map-buttons a {
    font-size:11px;
    padding:10px;
  }
  .location-map iframe {
    min-height:300px;
    height:300px;
    flex:auto;
  }
  .location-map-caption {
    font-size:10px;
  }
  .faq-grid {
    grid-template-columns:1fr;
    gap:26px;
  }
  .faq-intro {
    grid-column:auto;
    grid-row:auto;
  }
  .faq-prep li {
    font-size:12px;
  }
  .contact-close {
    padding-block:45px;
  }
  .contact-close>.container {
    display:block;
  }
  .contact-close h2 {
    font-size:30px;
  }
  .contact-close p {
    font-size:13px;
    max-width:380px;
  }
  .contact-close .button {
    margin-top:24px;
    font-size:14px;
  }
  .site-footer {
    padding-top:44px;
    padding-bottom:84px;
  }
  .footer-main {
    grid-template-columns:1fr 1fr;
    gap:35px 25px;
    padding-bottom:35px;
  }
  .footer-brand-block {
    grid-column:1/-1;
  }
  .footer-brand-block>p {
    font-size:11px;
  }
  .footer-location {
    grid-column:1/-1;
  }
  .footer-column h2 {
    margin-bottom:14px;
  }
  .footer-bottom {
    align-items:start;
    flex-direction:column;
    gap:20px;
    padding-block:24px;
  }
  .mobile-contact {
    position:fixed;
    z-index:25;
    bottom:max(14px,env(safe-area-inset-bottom));
    left:20px;
    right:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    background:var(--blue);
    color:white;
    padding:14px 18px;
    border-radius:7px;
    box-shadow:0 6px 24px #15235226;
    font-size:14px;
    font-weight:600;
    min-height:52px;
  }
  .mobile-contact:hover {
    color:white;
    background:var(--blue-deep);
  }
}
@media(max-width:360px) {
  .hero-actions {
    gap:14px;
  }
  .hero-actions .text-link {
    font-size:11px;
  }
  .hero-actions .button {
    padding-inline:13px;
  }
  .hero-local {
    font-size:9px;
  }
  .device-glyph {
    height:140px;
  }
  .device-card h3 {
    font-size:14px;
  }
  .phone-brand-logo {
    max-width:63px;
  }
  .hero-portrait figcaption span span {
    font-size:9px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
  .device-card:hover .device-glyph img {
    transform:none;
  }
}
.brand-realme .phone-brand-logo {
  filter:grayscale(1);
  opacity:.75;
}
.ig-case-index,.ig-case-type,.ig-case-state {
  display:none;
}
.device-glyph {
  position:relative;
  height:auto;
  aspect-ratio:3/2;
  background:#eeefeb;
}
.device-glyph img {
  width:100%;
  height:100%;
  object-fit:contain;
}
.device-card:hover .device-glyph img {
  transform:scale(1.025);
}
.service-image-note {
  margin-top:16px;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}
@media(max-width:720px) {
  .device-card p {
    font-size:13px;
  }
  .hero-notes {
    font-size:11px;
  }
  .hero-local {
    font-size:11px;
  }
  .ig-embed-meta {
    font-size:13px;
  }
  .process-copy p {
    font-size:13px;
  }
  .faq-prep li {
    font-size:13px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .device-card:hover .device-glyph img {
    transform:none;
  }
}

@media (max-width:720px) {
  .phone-brand-list li { min-width:0; }
  .phone-brand-list .phone-brand-logo { max-width:min(80px,100%); }
}

/* Compact directional marks belong to the text, not a separate button. */
svg.link-direction {
  width:14px;
  height:14px;
  flex:0 0 14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.72;
}
svg.link-direction-down { transform:rotate(90deg); }
a:hover svg.link-direction,a:focus-visible svg.link-direction { opacity:1; }
