/* Service in a place (T06), location-hero build: the page styles every one of the 319 approved
   pages carries inline, as one file. Taken unchanged from drug-testing/locations/astoria.html
   (2026-10-07) for pages rebuilt onto this template. */
:root {
      --nao-navy: #1E3565;
      --nao-green: #9ACF8C;
      --nao-green-2: #8AC0A1;
      --nao-text: #30506f;
      --nao-light: #f4fbff;
      --nao-link: #378f12;
    }
    body {
      background: #fff;
    }
    .nao-banner-section {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
      gap: 36px;
      padding: 42px 85px 0;
      align-items: start;
    }
    .nao-banner-copy img {
      width: 235px;
      max-width: 50vw;
      margin-bottom: 24px;
    }
    .nao-banner-section h1,
    .location-copy h1 {
      color: var(--nao-navy);
      font-family: "Tiempos Fine", Georgia, serif;
      font-size: clamp(42px, 5vw, 72px);
      line-height: 0.96;
      letter-spacing: -0.03em;
      margin: 0 0 18px;
    }
    .nao-banner-section h1 .highlight,
    .section-title .highlight,
    .how-to-visit-section .highlight,
    .location-copy h1 .highlight {
      color: #6ebb91;
    }
    .nao-banner-section h2,
    .location-copy h2 {
      color: var(--nao-navy);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 22px;
      line-height: 1.45;
      font-weight: 400;
      margin: 0 0 28px;
      max-width: 920px;
    }
    .banner-actions,
    .location-copy .action-row {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      margin-bottom: 26px;
    }
    .book-apt-btn,
    .book-tele-visit-btn {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      border-radius: 999px;
      padding: 12px 16px 12px 22px;
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 17px;
      font-weight: 600;
      line-height: 1.15;
      text-decoration: none;
      min-height: 64px;
      min-width: 280px;
    }
    .book-apt-btn {
      background: var(--nao-navy);
      color: #fff;
    }
    .book-tele-visit-btn {
      border: 1px solid rgba(30, 53, 101, 0.18);
      color: var(--nao-navy);
      background: #fff;
    }
    .btn-label {
      display: inline-block;
      max-width: 16ch;
    }
    .btn-arrow {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 40px;
      flex: 0 0 40px;
      border-radius: 999px;
      background: rgba(255,255,255,0.14);
      color: #fff;
      font-size: 28px;
      line-height: 1;
      font-weight: 400;
    }
    .btn-arrow.secondary {
      background: rgba(30, 53, 101, 0.06);
      color: var(--nao-navy);
    }
    .banner-badges {
      display: grid;
      gap: 18px;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      max-width: 760px;
    }
    .banner-badge {
      background: linear-gradient(180deg, #f7fdff 0%, #ffffff 100%);
      border: 1px solid rgba(30, 53, 101, 0.09);
      border-radius: 18px;
      padding: 18px;
      box-shadow: 0 12px 30px rgba(14, 34, 61, 0.06);
    }
    .banner-badge h3 {
      color: var(--nao-navy);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 18px;
      line-height: 1.25;
      font-weight: 600;
      margin: 0 0 8px;
    }
    .banner-badge p {
      color: var(--nao-text);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.55;
      font-weight: 300;
      margin: 0;
    }
    .nao-banner-media {
      display: grid;
      gap: 16px;
      align-self: stretch;
    }
    .nao-hero-gallery {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }
    .nao-hero-photo,
    .nao-hero-note {
      border-radius: 26px;
      overflow: hidden;
      box-shadow: 0 16px 34px rgba(14, 34, 61, 0.14);
    }
    .nao-hero-photo.is-wide {
      grid-column: 1 / -1;
      min-height: 216px;
    }
    .nao-hero-photo {
      min-height: 168px;
    }
    .nao-hero-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .nao-hero-note {
      background: linear-gradient(180deg, #eff8f1 0%, #f7fbff 100%);
      padding: 22px;
      border: 1px solid rgba(30, 53, 101, 0.08);
    }
    .nao-hero-note strong {
      display: block;
      color: var(--nao-navy);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 18px;
      line-height: 1.28;
      font-weight: 700;
      margin-bottom: 10px;
    }
    .nao-hero-note span {
      color: var(--nao-text);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 17px;
      line-height: 1.6;
      font-weight: 300;
    }
    .section-shell {
      margin-top: 88px;
      padding: 0 85px;
    }
    .section-title {
      color: var(--nao-navy);
      text-align: center;
      font-family: "Tiempos Fine", Georgia, serif;
      font-size: clamp(38px, 4vw, 54px);
      line-height: 1.02;
      margin: 0 0 18px;
      letter-spacing: -0.03em;
    }
    .section-title.is-left {
      text-align: left;
    }
    .section-intro {
      color: var(--nao-navy);
      text-align: center;
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 22px;
      line-height: 1.45;
      font-weight: 300;
      max-width: 980px;
      margin: 0 auto 34px;
    }
    .section-intro.is-left {
      text-align: left;
      margin-left: 0;
      margin-right: 0;
      max-width: none;
    }
    .info-grid,
    .facts-grid,
    .feature-grid,
    .recovery-location-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
    }
    .info-card,
    .feature-card,
    .recovery-location-card,
    .location-fact {
      background: #fff;
      border-radius: 22px;
      border: 1px solid rgba(30, 53, 101, 0.08);
      box-shadow: 0 14px 34px rgba(14, 34, 61, 0.06);
      overflow: hidden;
    }
    .info-card,
    .feature-card,
    .location-fact {
      padding: 24px;
    }
    .info-card h3,
    .feature-card h3,
    .location-fact h3 {
      color: var(--nao-navy);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 24px;
      line-height: 1.16;
      font-weight: 600;
      margin: 0 0 10px;
    }
    .info-card p,
    .feature-card p,
    .soft-panel p,
    .insurance-wrapper p,
    .location-copy p,
    .location-fact p,
    .nao-review-content,
    .how-to-visit-section p,
    .nao-accordion-content,
    .flat-link-list li {
      color: var(--nao-text);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 18px;
      line-height: 1.55;
      font-weight: 300;
      margin: 0;
    }
    .feature-card h3 a,
    .feature-card a,
    .info-card a,
    .location-link,
    .text-link,
    .flat-link-list a {
      color: var(--nao-link);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 18px;
      line-height: 1.45;
      font-weight: 500;
      text-decoration: underline;
      text-underline-offset: 0.14em;
    }
    .recovery-location-card {
      box-shadow: 0px 0px 16.3px 0px #C6D9DD61;
    }
    .recovery-location-image {
      height: 176px;
      overflow: hidden;
    }
    .recovery-location-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .recovery-location-copy {
      padding: 24px;
    }
    .region-label {
      color: #39727D;
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 14px;
      line-height: 18px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      font-weight: 600;
      margin: 0 0 10px;
    }
    .recovery-location-copy h3 {
      color: var(--nao-navy);
      font-family: "Tiempos Fine", Georgia, serif;
      font-size: 34px;
      line-height: 1;
      font-weight: 400;
      margin: 0 0 12px;
    }
    .recovery-location-copy h3 a {
      color: inherit;
      text-decoration: none;
    }
    .recovery-location-address,
    .location-copy .address-line {
      color: var(--nao-navy);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.5;
      font-weight: 600;
      margin: 0 0 12px;
    }
    .location-link.secondary {
      display: inline-block;
      margin-top: 10px;
    }
    .soft-panel,
    .insurance-wrapper,
    .location-hero-panel {
      background: linear-gradient(180deg, #F4FBFF 0%, #ffffff 100%);
      border: 1px solid rgba(30, 53, 101, 0.08);
      border-radius: 28px;
      padding: 34px;
      box-shadow: 0 16px 34px rgba(14, 34, 61, 0.05);
    }
    .location-page-shell {
      margin-top: 54px;
      padding: 0 85px;
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
      gap: 28px;
      align-items: start;
    }
    .location-facts {
      display: grid;
      gap: 16px;
    }
    .location-image-box {
      border-radius: 28px;
      overflow: hidden;
      box-shadow: 0 18px 40px rgba(14, 34, 61, 0.12);
      min-height: 360px;
      background: #f4fbff;
    }
    .location-image-box img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    .nao-accordion-item {
      border-radius: 22px;
      border: 1px solid rgba(30, 53, 101, 0.08);
      background: #fff;
      box-shadow: 0 14px 34px rgba(14, 34, 61, 0.05);
      padding: 22px 24px;
      margin-bottom: 18px;
    }
    .nao-accordion-header {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: center;
      cursor: pointer;
      width: 100%;
      border: 0;
      background: transparent;
      padding: 0;
      text-align: left;
    }
    .nao-accordion-header img {
      width: 22px;
      height: 22px;
      flex: 0 0 auto;
      transition: transform 0.18s ease;
    }
    .nao-accordion-header.active img {
      transform: rotate(180deg);
    }
    .nao-accordion-title {
      color: var(--nao-navy);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 24px;
      line-height: 1.22;
      font-weight: 600;
    }
    .nao-accordion-content {
      display: none;
      padding-top: 14px;
    }
    .nao-accordion-content.active {
      display: block;
    }
    .nao-reviews {
      margin-top: 88px;
      padding: 0 85px;
    }
    .nao-reviews h2 {
      color: var(--nao-navy);
      text-align: center;
      font-family: "Tiempos Fine", Georgia, serif;
      font-size: 44px;
      line-height: 1;
      margin: 0 0 12px;
    }
    .nao-reviews > p {
      text-align: center;
      color: var(--nao-text);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 18px;
      font-weight: 300;
      margin: 0 0 24px;
    }
    .nao-review-grid {
      display: grid;
      gap: 24px;
    }
    .nao-review-row {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
    }
    .nao-review-card {
      background: #fff;
      border-radius: 22px;
      border: 1px solid rgba(30, 53, 101, 0.08);
      box-shadow: 0 14px 34px rgba(14, 34, 61, 0.05);
      padding: 24px;
    }
    .nao-verified,
    .nao-rating {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 8px;
    }
    .nao-verified-text,
    .nao-rating-text,
    .nao-review-content {
      color: var(--nao-text);
      font-family: "TodaySansNow Pro", Arial, sans-serif;
    }
    .how-to-visit-section {
      margin: 88px 85px 0;
      padding: 42px 34px;
      border-radius: 28px;
      background: linear-gradient(180deg, #eff8f1 0%, #ffffff 100%);
      border: 1px solid rgba(30, 53, 101, 0.08);
      text-align: center;
      box-shadow: 0 16px 34px rgba(14, 34, 61, 0.05);
    }
    .how-to-visit-section .icon {
      width: 54px;
      margin-bottom: 18px;
    }
    .how-to-visit-section h2 {
      color: var(--nao-navy);
      font-family: "Tiempos Fine", Georgia, serif;
      font-size: 42px;
      line-height: 1;
      margin: 0 0 14px;
    }
    .footer {
      margin-top: 88px;
    }
    .footer-logo-container img {
      width: 190px;
      max-width: 50vw;
    }
    .text-block-2 {
      color: #fff;
      font-family: "TodaySansNow Pro", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.5;
      font-weight: 300;
    }
    .flat-link-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      gap: 14px;
    }
    @media screen and (max-width: 1200px) {
      .nao-banner-section,
      .section-shell,
      .location-page-shell,
      .nao-reviews,
      .how-to-visit-section {
        padding-left: 32px;
        padding-right: 32px;
      }
      .nao-banner-section,
      .location-page-shell {
        grid-template-columns: 1fr;
      }
      .info-grid,
      .facts-grid,
      .feature-grid,
      .recovery-location-grid,
      .nao-review-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    @media screen and (max-width: 767px) {
      .nao-banner-section {
        padding-top: 20px;
      }
      .banner-badges,
      .info-grid,
      .facts-grid,
      .feature-grid,
      .recovery-location-grid,
      .nao-review-row {
        grid-template-columns: 1fr;
      }
      .nao-hero-gallery {
        grid-template-columns: 1fr;
      }
      .nao-hero-photo.is-wide {
        min-height: 180px;
      }
      .section-title {
        font-size: 40px;
      }
      .book-apt-btn,
      .book-tele-visit-btn {
        width: 100%;
        min-width: 0;
      }
      .nao-banner-section h2,
      .section-intro,
      .info-card p,
      .feature-card p,
      .soft-panel p,
      .location-copy p,
      .location-fact p,
      .nao-review-content,
      .how-to-visit-section p,
      .nao-accordion-content {
        font-size: 16px;
      }
      .info-card h3,
      .feature-card h3,
      .location-fact h3,
      .nao-accordion-title {
        font-size: 20px;
      }
      .recovery-location-copy h3 {
        font-size: 30px;
      }
      .location-copy h1 {
        font-size: 46px;
      }
      .location-copy h2 {
        font-size: 18px;
      }
      .how-to-visit-section {
        margin-left: 32px;
        margin-right: 32px;
      }
    }
