/* Homepage design extension, intentionally loaded after the shared brand sheet.
   THESIS: compact, enquiry-led pages in the approved dark-tech visual world.
   OWN-WORLD: midnight navy, electric blue, luminous photo edges, glass pill nav.
   STORY: retain every factual detail, service route and secure enquiry workflow.
   FIRST VIEWPORT: readable copy and action beside a compact real photo or diagram.
   FORM: user-pinned homepage extension; no new concept selection or generated proof.
   FINISH: review desktop/mobile, preserve interactions, document the built system.
*/
body:not(.soft-home) {
  --navy-deep: #020e1b;
  --night-panel: #041727;
  --neon: #009dff;
  --density-space: 44px;
  --density-section-display: clamp(2rem, 3vw, 2.8rem);
  --density-section-small: clamp(1.65rem, 2.2vw, 2.2rem);
  --density-section: var(--density-section-display);
  --type-hero: clamp(2.65rem, 3.8vw, 3.5rem);
  --inner-section-space: 44px;
  background: #edf8ff;
}
body:not(.soft-home) .site-header,
body:not(.soft-home) .site-header.is-scrolled {
  background: linear-gradient(120deg, rgba(3,18,32,.94), rgba(6,35,57,.85));
  border-color: rgba(125,213,255,.35);
  box-shadow: inset 0 1px 0 rgba(212,241,255,.16), 0 14px 36px rgba(0,4,12,.4), 0 0 20px rgba(0,157,255,.15);
  backdrop-filter: blur(24px) saturate(1.4);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
}
body:not(.soft-home) .button,
body:not(.soft-home) .whatsapp-action--button {
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 999px;
  font-size: .95rem;
  line-height: 1.35;
  white-space: normal;
}
body:not(.soft-home) .button--primary,
body:not(.soft-home) .whatsapp-action--button,
body:not(.soft-home) .catalogue-search button {
  color: #fff;
  background: #0074dc;
  border-color: #0074dc;
  box-shadow: 0 8px 22px rgba(0,130,255,.3), 0 0 14px rgba(0,157,255,.22);
}
body:not(.soft-home) .button--primary:hover,
body:not(.soft-home) .whatsapp-action--button:hover,
body:not(.soft-home) .catalogue-search button:hover { color: #fff; background: #055ca8; }
body:not(.soft-home) :is(.about-story__copy, .careers-hero, .contact-hero, .shop-hero, .repairs-hero, .phone-service-hero, .sell-hero__copy) h1 {
  max-width: 100%;
  font-size: var(--type-hero) !important;
  line-height: 1.04;
  letter-spacing: -.025em;
  margin-bottom: 18px;
  text-wrap: balance;
}
body:not(.soft-home) main h2 { max-width: 100%; line-height: 1.08; letter-spacing: -.02em; }
body:not(.soft-home) :is(.visit-contact, .visit-details__intro, .roles-heading, .sell-process__heading, .sell-workshop__copy, .service-heading, .specialist-layout, .seo-routes__layout, .repair-close, .phone-directory-heading, .catalogue-help, .results-heading) h2 {
  font-size: var(--density-section-display) !important;
}
body:not(.soft-home) :is(.about-story__copy, .contact-hero__copy, .careers-hero__copy-inner, .shop-hero__content, .repairs-hero__content, .phone-service-hero__content) > p {
  font-size: 1rem;
  line-height: 1.55;
  max-width: 55ch;
  color: #bfd9eb;
  margin-bottom: 18px;
}
body:not(.soft-home) :is(.about-story, .contact-hero, .careers-hero, .shop-hero, .repairs-hero, .phone-service-hero, .sell-hero, .specialist-services, .repair-close, .sell-workshop, .catalogue-help) {
  background: radial-gradient(ellipse at 80% 45%, rgba(0,157,255,.15), transparent 55%), #020e1b;
  border-block: 1px solid rgba(0,157,255,.2);
  --secondary-action-ink: #fff;
  --secondary-action-border: #12b0ff;
}
body:not(.soft-home) :is(.about-story, .contact-hero, .careers-hero, .shop-hero, .sell-hero)::before,
body:not(.soft-home) :is(.about-story, .contact-hero, .careers-hero, .shop-hero, .sell-hero)::after { content: none; }
body:not(.soft-home) :is(.about-story, .shop-hero, .repairs-hero, .phone-service-hero, .sell-hero) { padding: 0; }
body:not(.soft-home) .about-story__copy { padding-bottom: 0; }
body:not(.soft-home) .about-story__eyebrow,
body:not(.soft-home) .visit-contact__eyebrow { display: none; }
body:not(.soft-home) .about-story__copy p:not(.about-story__eyebrow) { margin: 12px 0; font-size: 1rem; line-height: 1.5; }
body:not(.soft-home) .about-story__copy .button { margin-top: 12px; }
body:not(.soft-home) :is(.about-story__grid, .shop-hero__inner, .repairs-hero__inner, .phone-service-hero__inner) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 36px;
  min-height: 550px;
  padding-block: 144px 36px;
}
body:not(.soft-home) :is(.careers-hero, .contact-hero) { min-height: 0; padding-block: 144px 36px; }
body:not(.soft-home) :is(.careers-hero__layout, .contact-hero__layout) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 36px; }
body:not(.soft-home) :is(.shop-hero__content, .repairs-hero__content, .phone-service-hero__content) { padding: 0; }
body:not(.soft-home) .phone-service-hero { padding-top: 0; }
body:not(.soft-home) :is(.shop-hero__visual, .repairs-hero__visual, .careers-hero__visual, .phone-service-hero__visual, .contact-hero .contact-map) {
  min-height: 360px;
  height: 360px;
  border: 1px solid #008eef;
  border-radius: 16px;
  background: radial-gradient(ellipse at center, rgba(0,157,255,.17), transparent 70%), #041727;
  box-shadow: 0 0 14px rgba(0,157,255,.45), 0 12px 28px rgba(0,0,0,.25);
  margin: 0;
}
body:not(.soft-home) :is(.shop-hero__visual, .repairs-hero__visual, .phone-service-hero__visual)::before,
body:not(.soft-home) :is(.shop-hero__visual, .repairs-hero__visual, .phone-service-hero__visual)::after { content: none; }
body:not(.soft-home) :is(.shop-hero__visual, .repairs-hero__visual) img { height: 100%; object-fit: cover; filter: none; }
body:not(.soft-home) .phone-service-hero__visual img { height: 310px; max-width: 88%; filter: drop-shadow(0 10px 22px rgba(0,157,255,.28)); }
body:not(.soft-home) .phone-service-hero__visual--photo img { height: 100%; max-width: none; width: 100%; object-fit: cover; filter: none; }
body:not(.soft-home) .device-technical-drawing .drawing-main { stroke: #e5f5ff; }
body:not(.soft-home) .device-technical-drawing .drawing-accent { stroke: #29b6ff; }
body:not(.soft-home) .device-technical-drawing .drawing-notes { stroke: #6aabd3; }
body:not(.soft-home) .about-storefront { margin: 0; }
body:not(.soft-home) .about-storefront img { height: 320px; border: 1px solid #008eef; border-radius: 16px; box-shadow: 0 0 14px rgba(0,157,255,.5), 0 12px 28px rgba(0,0,0,.25); }
body:not(.soft-home) .about-storefront .address-docket { position: static; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; padding: 0; background: transparent; color: #e8f6ff; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
body:not(.soft-home) .about-storefront .address-docket > span { display: none; }
body:not(.soft-home) .about-storefront .address-docket strong { margin: 0; font-size: 1.15rem; line-height: 1.25; }
body:not(.soft-home) .about-storefront .address-docket a { margin: 0; padding: 10px 14px; font-size: .85rem; flex: 0 1 auto; }
body:not(.soft-home) :is(.about-visit, .visit-details, .roles-section, .device-services, .repair-process, .repair-faq, .seo-routes, .phone-service-directory, .sell-form-section, .sell-process, .collection-section, .catalogue-workspace) { background: #edf8ff; }
body:not(.soft-home) :is(.about-visit, .visit-details, .roles-section, .device-services, .specialist-services, .seo-routes, .repair-process, .repair-faq, .repair-close, .phone-service-directory, .sell-form-section, .sell-process, .sell-workshop, .collection-section, .catalogue-workspace, .catalogue-help) { padding-block: var(--inner-section-space) !important; }
body:not(.soft-home) .paper-grid::before { content: none; }
body:not(.soft-home) :is(.service-heading, .roles-heading, .sell-process__heading, .results-heading, .phone-directory-heading) { gap: 24px; margin-bottom: 24px; }
body:not(.soft-home) :is(.specialist-layout, .seo-routes__layout, .faq-layout, .about-visit__grid, .visit-details__layout, .sell-form-layout, .sell-workshop__grid) { gap: 32px; }
body:not(.soft-home) :is(.specialist-layout, .seo-routes__layout, .faq-layout) { grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); }
body:not(.soft-home) :is(.specialist-layout, .faq-layout) > header { position: static; }
body:not(.soft-home) :is(.device-service-grid, .specialist-grid, .seo-routes__grid, .process-grid, .seo-service-list) { gap: 10px; padding: 0; background: transparent; border: 0; }
body:not(.soft-home) .device-service { min-height: 205px; padding: 105px 18px 18px; color: #fff; background: radial-gradient(ellipse at 75% 65%, rgba(0,157,255,.18), transparent 65%), #041727; border: 1px solid rgba(0,157,255,.5); border-radius: 12px; }
body:not(.soft-home) .device-service--wide { min-height: 190px; }
body:not(.soft-home) .device-service h3 { color: #fff; font-size: 1.5rem; }
body:not(.soft-home) .device-service p { color: #bfd9eb; }
body:not(.soft-home) .device-service > span { border-color: rgba(0,157,255,.25); margin-top: 12px; padding-top: 10px; }
body:not(.soft-home) .device-service__image { filter: drop-shadow(0 8px 12px rgba(0,157,255,.3)); }
body:not(.soft-home) .device-service::after { content: none; }
body:not(.soft-home) .device-service:hover { background-color: #08243a; box-shadow: 0 0 16px rgba(0,157,255,.25); }
body:not(.soft-home).repairs-page .device-service,
body:not(.soft-home).repairs-page .device-service:is(:hover, :focus-visible) { color: #fff; background: radial-gradient(ellipse at 75% 65%, rgba(0,157,255,.22), transparent 65%), #08243a; }
body:not(.soft-home).repairs-page .device-service h3,
body:not(.soft-home).repairs-page .device-service:is(:hover, :focus-visible) h3,
body:not(.soft-home).repairs-page .device-service > span { color: #fff; }
body:not(.soft-home).repairs-page .device-service p,
body:not(.soft-home).repairs-page .device-service:is(:hover, :focus-visible) p,
body:not(.soft-home).repairs-page .specialist-layout header p { color: #bfd9eb; }
body:not(.soft-home) .specialist-service { min-height: 150px; padding: 18px; border: 1px solid rgba(0,157,255,.4); border-radius: 12px; background: #041727; }
body:not(.soft-home) .specialist-service > svg { color: #29b6ff; filter: drop-shadow(0 0 5px rgba(0,157,255,.4)); }
body:not(.soft-home) .specialist-service:hover { background: #08243a; }
body:not(.soft-home) :is(.seo-routes__grid a, .process-grid li, .seo-service-list li) { min-height: 0; padding: 18px; border: 1px solid #c3e2f7; border-radius: 12px; background: #fff; }
body:not(.soft-home) .process-grid li > span { margin-bottom: 16px; background: #0074dc; }
body:not(.soft-home) :is(.seo-info-panel, .phone-service-sidebar) { background: #041727; border: 1px solid rgba(0,157,255,.4); border-radius: 12px; padding: 20px; }
body:not(.soft-home) .phone-assessment-note { margin-bottom: 24px; border-top-width: 1px; border-radius: 12px; padding: 14px 18px; background: #dcefff; }
body:not(.soft-home) :is(.phone-service-column, .seo-faq, .faq-list) { background: transparent; border-color: #c3e2f7; border-radius: 12px; overflow: hidden; }
body:not(.soft-home) :is(.phone-service-group summary, .faq-list summary, .seo-faq summary) { min-height: 58px; }
body:not(.soft-home) :is(.phone-service-group[open] summary, .faq-list details[open] summary, .seo-faq details[open] summary) { color: #fff; background: #041727; }
body:not(.soft-home) .repair-close__inner { min-height: 300px; border: 1px solid #008eef; border-radius: 16px; overflow: hidden; box-shadow: 0 0 14px rgba(0,157,255,.35); }
body:not(.soft-home) .repair-close figure { min-height: 300px; }
body:not(.soft-home) .repair-close__content { padding: 24px; background: #041727; }
body:not(.soft-home) .catalogue-search { min-height: 52px; box-shadow: none; }
body:not(.soft-home) .catalogue-search button { min-width: 72px; border-radius: 999px; }
body:not(.soft-home) .collection-rail { gap: 10px; border: 0; background: transparent; }
body:not(.soft-home) .collection-choice { min-height: 100px; padding: 14px; border-radius: 12px; color: #fff; background: #041727; border: 1px solid rgba(0,157,255,.45); }
body:not(.soft-home) .collection-choice svg { color: #29b6ff; width: 28px; height: 28px; }
body:not(.soft-home) .collection-choice:hover,
body:not(.soft-home) .collection-choice.is-active { background: #073654; border-color: #009dff; box-shadow: 0 0 12px rgba(0,157,255,.3); }
body:not(.soft-home) .collection-choice::before { content: none; }
body:not(.soft-home) :is(.catalogue-guide, .catalogue-category, .empty-results, .active-filter-row) { border: 1px solid #c3e2f7; border-radius: 12px; }
body:not(.soft-home) .category-directory { gap: 12px; border: 0; background: transparent; }
body:not(.soft-home) .catalogue-category { overflow: hidden; }
body:not(.soft-home) .catalogue-category summary { min-height: 70px; }
body:not(.soft-home) .catalogue-category[open] summary { background: #041727; box-shadow: none; }
body:not(.soft-home) .catalogue-help { border-top-width: 1px; }
body:not(.soft-home) .catalogue-help__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
body:not(.soft-home) .catalogue-help__actions { gap: 18px; flex-wrap: wrap; }
body:not(.soft-home) .contact-map__docket { grid-template-columns: minmax(0, 1fr) auto; padding: 14px; }
body:not(.soft-home) .contact-map__docket > span { display: none; }
body:not(.soft-home) .contact-map__docket a { white-space: normal; }
body:not(.soft-home) .workshop-map { min-height: 360px; border-radius: 16px; border: 1px solid #008eef; box-shadow: 0 0 14px rgba(0,157,255,.3); }
body:not(.soft-home) .workshop-map iframe { min-height: 360px; }
body:not(.soft-home) .contact-record { border-left: 0; padding-left: 0; margin-top: 20px; }
body:not(.soft-home) .roles-heading { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body:not(.soft-home) .role-paths { gap: 24px; border: 0; }
body:not(.soft-home) .role-path,
body:not(.soft-home) .role-path:first-child,
body:not(.soft-home) .role-path:last-child { padding: 24px; border: 1px solid #c3e2f7; border-radius: 12px; background: #fff; }
body:not(.soft-home) .role-path__heading { margin-bottom: 16px; }
body:not(.soft-home) .role-path__heading h3 { font-size: 1.8rem !important; line-height: 1.12; }
body:not(.soft-home) .role-path__heading svg { width: 32px; height: 32px; flex-basis: 32px; }
body:not(.soft-home) .role-path > p { font-size: 1rem; margin-bottom: 16px; }
body:not(.soft-home) .role-path ul { margin-bottom: 16px; }
body:not(.soft-home) .role-path__link::after { content: none; }
body:not(.soft-home) .careers-hero__note { color: #bfd9eb; margin-top: 18px; padding-top: 14px; }
body:not(.soft-home) .sell-hero { min-height: 0; }
body:not(.soft-home) .sell-hero__grid { min-height: 0; padding-block: 144px 36px; grid-template-columns: minmax(0, 1fr) minmax(0, .7fr) minmax(0, .8fr); grid-template-areas: "copy phone outcomes"; gap: 24px; }
body:not(.soft-home) .phone-record { min-height: 340px; border: 1px solid #008eef; border-radius: 16px; clip-path: none; color: #e8f6ff; background: radial-gradient(ellipse at center, rgba(0,157,255,.16), transparent 70%), #041727; box-shadow: 0 0 14px rgba(0,157,255,.3); }
body:not(.soft-home) .phone-record__drawing { color: #e8f6ff; }
body:not(.soft-home) :is(.phone-record__status, .phone-record__label) { color: #e8f6ff; background: #041727; border-color: rgba(0,157,255,.3); border-radius: 6px; }
body:not(.soft-home) .phone-record figcaption { color: #bfd9eb; border-color: rgba(0,157,255,.3); }
body:not(.soft-home) .outcome-dockets { grid-template-columns: 1fr; gap: 12px; background: transparent; border: 0; }
body:not(.soft-home) .outcome-docket { min-height: 155px; padding: 18px; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; border-radius: 12px; border: 1px solid rgba(0,157,255,.4); background: #041727; }
body:not(.soft-home) .outcome-docket > svg { width: 32px; height: 32px; color: #29b6ff; }
body:not(.soft-home) .outcome-docket strong { max-width: none; }
body:not(.soft-home) .outcome-docket[aria-pressed="true"],
body:not(.soft-home) .outcome-docket:hover { color: #fff; background: #073654; box-shadow: 0 0 14px rgba(0,157,255,.3); border-color: #009dff; }
body:not(.soft-home) .outcome-docket small,
body:not(.soft-home) .outcome-docket[aria-pressed="true"] small,
body:not(.soft-home) .outcome-docket:hover small { color: #bfd9eb; }
body:not(.soft-home) .sell-form-panel { padding: 24px; border-radius: 16px; }
body:not(.soft-home) .sell-form-context h2 { max-width: none; font-size: 2.2rem !important; }
body:not(.soft-home) .process-ledger { padding: 24px; border-radius: 12px; }
body:not(.soft-home) .process-ledger--trade { background: #041727; }
body:not(.soft-home).sell-page .process-ledger--trade h3,
body:not(.soft-home).sell-page .process-ledger--trade li span { color: #fff; }
body:not(.soft-home).sell-page .process-ledger--trade li small { color: #bfd9eb; }
body:not(.soft-home).sell-page .process-ledger--trade li { border-color: rgba(125,213,255,.2); }
body:not(.soft-home).sell-page .process-ledger--trade li span::before { color: #29b6ff; }
body:not(.soft-home) .sell-workshop__image { padding-bottom: 0; }
body:not(.soft-home) .sell-workshop__image img { height: 300px; border: 1px solid #008eef; border-radius: 16px; box-shadow: 0 0 14px rgba(0,157,255,.5); }
body:not(.soft-home) .footer-main { padding-block: 36px; }
body:not(.soft-home) .site-footer { background: #020e1b; border-top: 1px solid rgba(0,157,255,.3); }
body:not(.soft-home) .footer-brand .brand-logo--footer { width: 220px; }
@media (max-width: 1000px) {
  body:not(.soft-home) :is(.about-story__grid, .shop-hero__inner, .repairs-hero__inner, .phone-service-hero__inner, .careers-hero__layout, .contact-hero__layout) { gap: 24px; }
  body:not(.soft-home) .sell-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); grid-template-areas: "copy phone" "outcomes outcomes"; }
  body:not(.soft-home) .outcome-dockets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body:not(.soft-home) .outcome-docket { min-height: 140px; }
}
@media (max-width: 760px) {
  body:not(.soft-home) { --inner-section-space: 32px; --density-space: 32px; --type-hero: clamp(2.3rem, 9vw, 3rem); --density-section-display: clamp(1.9rem, 7.5vw, 2.4rem); }
  body:not(.soft-home) :is(.about-story__grid, .shop-hero__inner, .repairs-hero__inner, .phone-service-hero__inner) { width: var(--shell); grid-template-columns: 1fr; min-height: 0; gap: 24px; padding-block: 128px 32px; }
  body:not(.soft-home) :is(.careers-hero, .contact-hero) { padding-block: 128px 32px; }
  body:not(.soft-home) :is(.careers-hero__layout, .contact-hero__layout, .specialist-layout, .seo-routes__layout, .faq-layout, .about-visit__grid, .visit-details__layout, .roles-heading, .role-paths, .sell-form-layout, .sell-workshop__grid, .catalogue-help__inner) { grid-template-columns: 1fr; gap: 24px; }
  body:not(.soft-home) .about-visit__grid { grid-template-areas: "contact" "map"; }
  body:not(.soft-home) :is(.shop-hero__visual, .repairs-hero__visual, .careers-hero__visual, .phone-service-hero__visual, .contact-hero .contact-map) { min-height: 260px; height: 260px; }
  body:not(.soft-home) .phone-service-hero__visual img { height: 230px; }
  body:not(.soft-home) .phone-service-hero__visual--photo img { height: 100%; }
  body:not(.soft-home) .about-storefront img { height: 260px; }
  body:not(.soft-home) .about-storefront .address-docket { flex-wrap: wrap; }
  body:not(.soft-home) .about-storefront .address-docket a { flex-basis: 100%; }
  body:not(.soft-home) :is(.shop-hero__content, .repairs-hero__content, .phone-service-hero__content) { width: 100%; margin: 0; padding: 0; }
  body:not(.soft-home) .device-service { min-height: 205px; padding: 104px 14px 14px; }
  body:not(.soft-home) .specialist-grid { grid-template-columns: 1fr; }
  body:not(.soft-home) .specialist-service { min-height: 0; }
  body:not(.soft-home) .service-heading { align-items: flex-start; }
  body:not(.soft-home) .phone-assessment-note { flex-direction: column; gap: 6px; }
  body:not(.soft-home) .collection-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; grid-auto-columns: auto; gap: 8px; overflow: visible; }
  body:not(.soft-home) .collection-choice { width: auto; min-width: 0; min-height: 84px; padding: 12px; }
  body:not(.soft-home) .catalogue-search { grid-template-columns: auto minmax(0, 1fr) auto; }
  body:not(.soft-home) .catalogue-search button { grid-column: auto; min-height: 44px; margin: 4px; padding-inline: 14px; }
  body:not(.soft-home) .contact-map__docket { left: 12px; right: 12px; bottom: 12px; grid-template-columns: 1fr; gap: 8px; }
  body:not(.soft-home) .contact-hero .contact-map { min-height: 360px; height: 360px; }
  body:not(.soft-home) .contact-map__docket strong { font-size: .9rem; }
  body:not(.soft-home) .contact-map__docket a { min-height: 44px; }
  body:not(.soft-home) .role-path { padding: 20px; }
  body:not(.soft-home) .repair-close__inner { grid-template-columns: 1fr; }
  body:not(.soft-home) .repair-close figure { min-height: 220px; height: 220px; }
  body:not(.soft-home) .sell-hero__grid { grid-template-columns: 1fr; grid-template-areas: "copy" "phone" "outcomes"; gap: 24px; padding-block: 128px 32px; }
  body:not(.soft-home) .phone-record { min-height: 280px; }
  body:not(.soft-home) .outcome-dockets { grid-template-columns: 1fr; }
  body:not(.soft-home) .sell-workshop__image img { height: 260px; }
  body:not(.soft-home) .footer-main { padding-block: 28px; }
}
