/* SEO By Ganesh — Phase C2D: Inner Page Experience
   Additive page-family visual polish. No navigation, modal, JS or form behavior edits.
   Inherits C1 tokens and C2C site shell. Scope only to known public view selectors. */

/* ---- 01 / SERVICES CATALOG: readable architecture and cards ---- */
.dma-hero .dma-hero-card {
  border: 1px solid rgba(147,197,253,.32);
  box-shadow: 0 28px 65px rgba(2,6,23,.22);
  border-radius: 24px;
}
.dma-hero h1 {
  letter-spacing: -.044em;
  text-wrap: balance;
}
.dma-hero p, .dma-intro .dma-section-head p {
  line-height: 1.75;
  text-wrap: pretty;
}
.dma-intro .dma-section-head h2,
.dma-category-head h2,
.dma-flow .dma-section-head h2,
.dma-final h2 {
  letter-spacing: -.034em;
  text-wrap: balance;
}
.dma-category {
  border-color: rgba(148,163,184,.2);
  box-shadow: 0 13px 38px rgba(15,23,42,.05);
  border-radius: 24px;
}
.dma-category-head {
  border-bottom-color: rgba(148,163,184,.22);
}
.dma-root-card {
  border-color: rgba(148,163,184,.26);
  border-radius: 20px;
  box-shadow: 0 7px 21px rgba(15,23,42,.055);
  transition: box-shadow .22s ease, border-color .22s ease, transform .22s ease;
}
.dma-root-card:hover {
  border-color: rgba(37,99,235,.3);
  box-shadow: 0 17px 37px rgba(15,23,42,.11);
  transform: translateY(-3px);
}
.dma-root-card h3 { letter-spacing: -.022em; line-height: 1.27; }
.dma-root-card .dma-root-desc { line-height: 1.7; }
.dma-chip-list .dma-chip {
  border: 1px solid rgba(148,163,184,.22);
  transition: border-color .2s ease, background-color .2s ease;
}
.dma-chip-list a.dma-chip:hover {
  border-color: rgba(37,99,235,.42);
  background-color: #eff6ff;
}
.dma-details {
  border-color: rgba(148,163,184,.26);
  border-radius: 14px;
}
.dma-details summary { outline-offset: 4px; }
.dma-flow-grid article { border: 1px solid rgba(255,255,255,.16); border-radius: 19px; }
.dma-final-card { border-radius: 26px; box-shadow: 0 20px 52px rgba(2,6,23,.15); }
.dma-hero a:focus-visible, .dma-intro a:focus-visible,
.dma-flow a:focus-visible, .dma-final a:focus-visible,
.dma-details summary:focus-visible {
  outline: 3px solid #14b8a6;
  outline-offset: 4px;
}

/* ---- 02 / SERVICE DETAILS: consistent hero, CTA, quick answer ---- */
.sg-service-hero h1 {
  letter-spacing: -.042em;
  text-wrap: balance;
}
.sg-service-hero .sg-intro {
  line-height: 1.78;
  text-wrap: pretty;
}
.sg-service-hero .sg-card {
  border: 1px solid rgba(191,219,254,.24);
  border-radius: 22px;
  box-shadow: 0 24px 60px rgba(2,6,23,.18);
}
.sg-service-hero .sg-card li {
  line-height: 1.7;
}
.sg-service-hero .sg-actions .sg-button {
  min-height: 48px;
  border-radius: 13px;
  font-weight: 780;
  letter-spacing: -.01em;
  box-shadow: 0 8px 26px rgba(15,23,42,.12);
  transition: box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
.sg-service-hero .sg-actions .sg-button:hover {
  box-shadow: 0 14px 29px rgba(15,23,42,.19);
}
.sg-service-hero a:focus-visible,
#sg-service-content a:focus-visible {
  outline: 3px solid #14b8a6;
  outline-offset: 4px;
}
#sg-service-content {
  border-color: rgba(148,163,184,.27);
  border-radius: 24px;
  box-shadow: 0 15px 42px rgba(15,23,42,.07);
}
#sg-service-content .prose {
  line-height: 1.86;
  overflow-wrap: anywhere;
}
#sg-service-content .prose h2,
#sg-service-content .prose h3 {
  letter-spacing: -.025em;
  text-wrap: balance;
}
#sg-service-content .prose p,
#sg-service-content .prose li {
  line-height: 1.85;
}
#sg-service-content .prose a {
  text-decoration-line: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}
#sg-service-content .prose table {
  max-width: 100%;
  border-collapse: collapse;
}
#sg-service-content .prose img { border-radius: 16px; }

/* ---- 03 / ABOUT: founder, scope, process, high-intent CTA ---- */
section[aria-labelledby="about-founder"] {
  border: 1px solid rgba(191,219,254,.17);
  border-radius: 24px;
  box-shadow: 0 23px 55px rgba(2,6,23,.15);
}
section[aria-labelledby="about-founder"] img {
  border-radius: 17px;
  box-shadow: 0 9px 27px rgba(2,6,23,.18);
}
section[aria-labelledby="about-services"] article {
  border-color: rgba(148,163,184,.28);
  border-radius: 20px;
  box-shadow: 0 8px 25px rgba(15,23,42,.05);
  transition: border-color .2s ease, box-shadow .2s ease;
}
section[aria-labelledby="about-services"] article:hover {
  border-color: rgba(37,99,235,.28);
  box-shadow: 0 14px 31px rgba(15,23,42,.1);
}
section[aria-labelledby="about-process"],
section[aria-labelledby="about-questions"] {
  border-color: rgba(148,163,184,.3);
  border-radius: 22px;
  box-shadow: 0 10px 29px rgba(15,23,42,.045);
}
section[aria-labelledby="about-measurement"] p,
section[aria-labelledby="about-questions"] p {
  line-height: 1.8;
}
.about-contact {
  border-radius: 24px;
  box-shadow: 0 24px 55px rgba(2,6,23,.15);
}
.about-contact a {
  outline-offset: 4px;
  transition: background-color .18s ease, border-color .18s ease;
}
.about-contact a:hover { border-color: #93c5fd; }
section[aria-labelledby="about-founder"] a:focus-visible,
section[aria-labelledby="about-services"] a:focus-visible,
.about-contact a:focus-visible {
  outline: 3px solid #14b8a6;
  outline-offset: 4px;
}

/* ---- 04 / CONTACT: trustworthy enquiry experience, no form logic edits ---- */
#contact-page h1 { letter-spacing: -.043em; text-wrap: balance; }
#contact-page .contact-info-panel {
  background-image: linear-gradient(155deg,#0b1220,#12284b 76%,#0c3342);
}
#contact-page .contact-info-panel a { overflow-wrap: anywhere; }
#contact-page .contact-form-panel { background-color: #fff; }
#contact-page .contact-form-panel h2 { letter-spacing: -.026em; }
#contact-page .contact-form-panel label {
  letter-spacing: .01em;
  color: #334155;
}
#contact-page input:not([type="hidden"]):not([tabindex="-1"]),
#contact-page textarea {
  min-height: 48px;
  border-color: #cbd5e1;
  background-color: #f8fafc;
  border-radius: 13px;
  transition: box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
#contact-page input:not([type="hidden"]):not([tabindex="-1"]):focus,
#contact-page textarea:focus {
  border-color: #2563eb;
  background-color: #fff;
  box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}
#contact-page form button[type="submit"] {
  min-height: 52px;
  border-radius: 13px;
  box-shadow: 0 12px 25px rgba(37,99,235,.18);
}
#contact-page .contact-info-panel a:focus-visible,
#contact-page .contact-form-panel button:focus-visible,
#contact-page .contact-form-panel input:focus-visible,
#contact-page .contact-form-panel textarea:focus-visible {
  outline: 3px solid #14b8a6;
  outline-offset: 4px;
}

/* ---- 05 / LOCATION CITY + AREA: serviceability first, not fictitious proof ---- */
.loc-page .loc-hero h1 {
  letter-spacing: -.042em;
  text-wrap: balance;
}
.loc-page .loc-hero p { line-height: 1.75; }
.loc-page .loc-summary-card {
  border: 1px solid rgba(191,219,254,.24);
  border-radius: 22px;
  box-shadow: 0 22px 50px rgba(2,6,23,.17);
}
.loc-page .loc-service,
.loc-page .loc-card,
.loc-page .loc-case {
  border-color: rgba(148,163,184,.3);
  border-radius: 18px;
  box-shadow: 0 8px 23px rgba(15,23,42,.06);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.loc-page .loc-service:hover,
.loc-page .loc-card:hover,
.loc-page .loc-case:hover {
  border-color: rgba(37,99,235,.33);
  box-shadow: 0 16px 32px rgba(15,23,42,.11);
  transform: translateY(-2px);
}
.loc-page .loc-service p,
.loc-page .loc-card p,
.loc-page .loc-prose p,
.loc-page .loc-case p { line-height: 1.76; }
.loc-page .loc-heading-row h2 { letter-spacing: -.032em; text-wrap: balance; }
.loc-page .loc-map, .loc-page .loc-prose {
  border-radius: 21px;
  box-shadow: 0 9px 25px rgba(15,23,42,.05);
}
.loc-page .loc-status-row {
  border-color: rgba(148,163,184,.23);
}
.loc-page .loc-area, .loc-page .loc-chip {
  border-color: rgba(148,163,184,.27);
  border-radius: 13px;
}
.loc-page .loc-search-input {
  border-color: #94a3b8;
  border-radius: 12px;
  min-height: 46px;
}
.loc-page .loc-search-input:focus-visible {
  border-color: #2563eb;
  outline: 3px solid rgba(20,184,166,.8);
  outline-offset: 3px;
}
.loc-page .loc-faq details {
  border: 1px solid rgba(148,163,184,.26);
  border-radius: 14px;
  box-shadow: 0 3px 10px rgba(15,23,42,.035);
}
.loc-page .loc-faq summary { outline-offset: 4px; }
.loc-page .loc-faq details[open] { border-color: rgba(37,99,235,.34); }
.loc-page .loc-cta {
  border-radius: 24px;
  box-shadow: 0 24px 58px rgba(2,6,23,.15);
}
.loc-page .loc-actions a:focus-visible,
.loc-page .loc-actions button:focus-visible,
.loc-page .loc-service a:focus-visible,
.loc-page .loc-card a:focus-visible,
.loc-page .loc-area:focus-visible,
.loc-page .loc-chip:focus-visible,
.loc-page .loc-faq summary:focus-visible {
  outline: 3px solid #14b8a6;
  outline-offset: 4px;
}

/* ---- 06 / LOCATIONS DIRECTORY: preserve city link semantics ---- */
section.bg-surface-muted a.group {
  border-color: rgba(148,163,184,.27);
  border-radius: 18px;
  box-shadow: 0 7px 19px rgba(15,23,42,.05);
  transition: border-color .2s ease, box-shadow .2s ease;
}
section.bg-surface-muted a.group:hover {
  border-color: rgba(37,99,235,.38);
  box-shadow: 0 16px 35px rgba(15,23,42,.1);
}
section.bg-surface-muted a.group:focus-visible {
  outline: 3px solid #14b8a6;
  outline-offset: 4px;
}

/* ---- 07 / MOBILE + reduced-motion: avoid horizontal clipping ---- */
@media (max-width: 767px) {
  .dma-hero h1, .sg-service-hero h1, .loc-page .loc-hero h1 {
    letter-spacing: -.028em;
  }
  .dma-root-card, .dma-category, .loc-page .loc-service,
  .loc-page .loc-card, .loc-page .loc-summary-card {
    border-radius: 17px;
  }
  #sg-service-content { border-radius: 17px; }
  #contact-page .contact-form-panel,
  #contact-page .contact-info-panel { border-radius: 0; }
  .about-contact { border-radius: 19px; }
  .loc-page .loc-cta { border-radius: 20px; }
}
@media (max-width: 390px) {
  .sg-service-hero .sg-actions .sg-button,
  .dma-hero .dma-actions .dma-btn,
  .loc-page .loc-actions .loc-btn {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.4;
  }
  #contact-page .contact-info-panel a { overflow-wrap: anywhere; }
  .dma-root-card h3, .loc-page .loc-service h3 { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .dma-root-card, .dma-chip-list .dma-chip,
  .sg-service-hero .sg-actions .sg-button,
  section[aria-labelledby="about-services"] article,
  .loc-page .loc-service, .loc-page .loc-card, .loc-page .loc-case,
  section.bg-surface-muted a.group { transition-duration: .01ms; }
  .dma-root-card:hover, .loc-page .loc-service:hover,
  .loc-page .loc-card:hover, .loc-page .loc-case:hover { transform: none; }
}
/* SBG_PHASE_C2D_STYLES_END */
