/* Shared stylesheet moved out of inline <style> blocks so browsers cache it.
   Used by: /adus/camas-wa/, /adus/, /adus/lake-oswego-or/, /adus/portland-or/, /adus/vancouver-wa/, /bathrooms/camas-wa/, /bathrooms/, /bathrooms/lake-oswego-or/, /bathrooms/portland-or/, /bathrooms/vancouver-wa/, /exterior-remodeling/camas-wa/, /exterior-remodeling/, /exterior-remodeling/lake-oswego-or/, /exterior-remodeling/portland-or/, /exterior-remodeling/vancouver-wa/, /full-home/camas-wa/, /full-home/, /full-home/lake-oswego-or/, /full-home/portland-or/, /full-home/vancouver-wa/, /home-additions/camas-wa/, /home-additions/, /home-additions/lake-oswego-or/, /home-additions/portland-or/, /home-additions/vancouver-wa/, /, /interiors/camas-wa/, /interiors/, /interiors/lake-oswego-or/, /interiors/portland-or/, /interiors/vancouver-wa/, /kitchens/camas-wa/, /kitchens/, /kitchens/lake-oswego-or/, /kitchens/portland-or/, /kitchens/vancouver-wa/, /shower-remodeling/camas-wa/, /shower-remodeling/, /shower-remodeling/lake-oswego-or/, /shower-remodeling/portland-or/, /shower-remodeling/vancouver-wa/ */

    .sg-trust, #reviews.sg-reviews {
      --sg-ink: var(--charcoal);
      --sg-body: var(--stone);
      --sg-muted: rgba(15,15,15,0.5);
      --sg-line: rgba(15,15,15,0.12);
      --sg-surface: #EEECE6;
      background: var(--sg-bg);
      color: var(--sg-ink);
      position: relative;
      overflow: hidden;
    }
    .sg-trust.sg-dark, #reviews.sg-dark { --sg-ink: var(--white); --sg-body: rgba(247,245,239,0.72); --sg-muted: rgba(247,245,239,0.5); --sg-line: rgba(247,245,239,0.14); --sg-surface: var(--charcoal-mid); }
    .sg-trust { padding: 104px 0 0 !important; }
    #reviews.sg-reviews { padding: 72px 0 112px !important; }
    .sg-wrap { max-width: 1240px; margin: 0 auto; padding: 0 40px; }
    .sg-eyebrow {
      display: flex; align-items: center; gap: 14px;
      font-family: var(--sans); font-size: 12px; font-weight: 600;
      letter-spacing: 0.18em; text-transform: uppercase; color: var(--sg-muted);
      margin-bottom: 28px;
    }
    .sg-eyebrow::before { content: ''; width: 32px; height: 1px; background: var(--red); flex: none; }

    /* Trust: statement + photo, then a full-width stat strip */
    .sg-trust-grid { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 80px; align-items: center; }
    .sg-trust .sg-trust-quote {
      font-family: 'Roslindale', 'Poppins', serif;
      font-size: clamp(2rem, 3.3vw, 3.1rem);
      font-weight: 400; line-height: 1.18; letter-spacing: -0.01em;
      color: var(--sg-ink); max-width: 620px; margin: 0;
    }
    .sg-trust .sg-trust-quote em { font-style: normal; color: var(--red); }
    .sg-trust-link {
      display: inline-flex; align-items: center; gap: 12px; margin-top: 40px;
      font-family: var(--sans); font-size: 13px; font-weight: 600;
      letter-spacing: 0.12em; text-transform: uppercase; color: var(--sg-ink);
      text-decoration: none; padding-bottom: 8px; border-bottom: 1px solid var(--sg-ink);
      transition: color .2s ease, border-color .2s ease, gap .25s var(--ease-out-expo);
    }
    .sg-trust-link:hover { color: var(--red); border-color: var(--red); gap: 18px; }
    .sg-trust-link svg { width: 16px; height: 16px; }
    .sg-trust-photo { position: relative; aspect-ratio: 5 / 4; overflow: hidden; background: var(--sg-surface); }
    .sg-trust-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none !important; transition: transform 1.2s var(--ease-out-expo); }
    .sg-trust-photo:hover img { transform: scale(1.03); }
    .sg-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 88px; border-top: 1px solid var(--sg-line); border-bottom: 1px solid var(--sg-line); }
    .sg-stat { padding: 36px 32px 38px; border-left: 1px solid var(--sg-line); }
    .sg-stat:first-child { border-left: 0; padding-left: 0; }
    .sg-stat-lbl { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sg-muted); margin-bottom: 18px; }
    .sg-trust .sg-stat-num {
      font-family: 'Roslindale', 'Poppins', serif; font-style: normal;
      font-size: clamp(2.6rem, 4.2vw, 3.9rem); font-weight: 400; line-height: 1;
      letter-spacing: -0.02em; color: var(--sg-ink); margin: 0;
    }
    .sg-trust .sg-stat-num span { color: var(--red); margin-left: 2px; }

    /* Reviews: rating summary + one large testimonial at a time */
    .sg-rev-grid { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: 0; background: var(--sg-surface); }
    .sg-rev-summary { padding: 56px 56px 52px; border-right: 1px solid var(--sg-line); display: flex; flex-direction: column; }
    .sg-rev-title { font-family: 'Roslindale', 'Poppins', serif; font-size: clamp(1.7rem, 2.4vw, 2.3rem); font-weight: 400; line-height: 1.2; color: var(--sg-ink); margin: 0 0 36px; }
    .sg-rev-score { display: flex; align-items: flex-end; gap: 18px; }
    .sg-rev-score-num { font-family: 'Roslindale', 'Poppins', serif; font-size: clamp(3.6rem, 5vw, 4.6rem); font-weight: 400; line-height: .9; letter-spacing: -0.03em; color: var(--sg-ink); }
    .sg-rev-score-meta { padding-bottom: 4px; }
    .sg-stars { color: #FBBC05; font-size: 16px; letter-spacing: 3px; line-height: 1; }
    .sg-rev-score-meta a { display: block; margin-top: 8px; font-size: 13px; color: var(--sg-muted); text-decoration: none; transition: color .2s; }
    .sg-rev-score-meta a:hover { color: var(--red); }
    .sg-rev-cta {
      display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 32px; align-self: flex-start;
      padding: 14px 22px; border: 1px solid var(--sg-ink); color: var(--sg-ink);
      font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none;
      transition: background .2s ease, color .2s ease, border-color .2s ease;
    }
    .sg-rev-cta:hover { background: var(--red); border-color: var(--red); color: #fff; }
    .sg-rev-cta svg { width: 14px; height: 14px; }
    .sg-rev-platforms { margin-top: auto; padding-top: 40px; }
    .sg-rev-platforms-lbl { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sg-muted); padding-top: 28px; border-top: 1px solid var(--sg-line); margin-bottom: 20px; }
    .sg-rev-logos { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 30px; }
    .sg-platform { display: inline-flex; align-items: center; opacity: .75; transition: opacity .2s ease; }
    .sg-platform:hover { opacity: 1; }
    .sg-platform svg { height: 26px; width: auto; overflow: visible; }
    .sg-platform img { height: 38px; width: auto; display: block; }
    .sg-dark .sg-rev-logos { gap: 12px; }
    .sg-dark .sg-platform { background: var(--cream); padding: 6px 10px; opacity: .9; }
    .sg-dark .sg-platform svg { height: 22px; }
    .sg-dark .sg-platform img { height: 32px; }

    .sg-rev-stage { padding: 56px 64px 44px; display: flex; flex-direction: column; min-width: 0; }
    .sg-quote-mark { font-family: 'Roslindale', 'Poppins', serif; font-size: 96px; line-height: .6; height: 44px; color: var(--red); margin-bottom: 24px; user-select: none; }
    .sg-slides { display: grid; flex: 1; touch-action: pan-y; }
    .sg-slide { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .5s ease, transform .6s var(--ease-out-expo), visibility 0s linear .5s; display: flex; flex-direction: column; }
    .sg-slide.is-active { opacity: 1; visibility: visible; transform: none; transition: opacity .5s ease, transform .6s var(--ease-out-expo), visibility 0s; }
    .sg-slide blockquote { margin: 0; font-family: 'Roslindale', 'Poppins', serif; font-size: clamp(1.2rem, 1.55vw, 1.45rem); font-weight: 400; line-height: 1.5; color: var(--sg-ink); }
    .sg-slide figcaption { margin-top: auto; padding-top: 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
    .sg-slide-name { font-family: var(--sans); font-size: 15px; font-weight: 600; color: var(--sg-ink); }
    .sg-slide-meta { font-size: 13px; color: var(--sg-muted); margin-top: 4px; }
    .sg-controls { display: flex; align-items: center; gap: 24px; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--sg-line); }
    .sg-count { font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; color: var(--sg-ink); font-variant-numeric: tabular-nums; min-width: 58px; }
    .sg-count span { color: var(--sg-muted); font-weight: 500; }
    .sg-progress { flex: 1; display: flex; gap: 6px; }
    .sg-progress button { flex: 1; height: 20px; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
    .sg-progress button::after { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: var(--sg-line); transition: background .3s ease; }
    .sg-progress button.is-active::after { background: var(--red); }
    .sg-progress button:hover::after { background: var(--sg-muted); }
    .sg-progress button.is-active:hover::after { background: var(--red); }
    .sg-arrows { display: flex; gap: 8px; }
    .sg-arrow { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--sg-line); background: transparent; color: var(--sg-ink); cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
    .sg-arrow:hover { background: var(--sg-ink); border-color: var(--sg-ink); color: var(--sg-bg); }
    .sg-arrow svg { width: 16px; height: 16px; }
    .sg-trust :focus-visible, .sg-reviews :focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }

    @media (max-width: 1100px) {
      .sg-trust-grid { gap: 48px; }
      .sg-rev-summary { padding: 44px 40px; }
      .sg-rev-stage { padding: 44px 44px 36px; }
      .sg-stat { padding: 30px 22px 32px; }
    }
    @media (max-width: 900px) {
      .sg-trust { padding: 64px 0 0 !important; }
      #reviews.sg-reviews { padding: 48px 0 72px !important; }
      .sg-wrap { padding: 0 24px; }
      .sg-trust-grid, .sg-rev-grid { grid-template-columns: 1fr; }
      .sg-trust-grid { gap: 40px; }
      .sg-trust-link { margin-top: 28px; }
      .sg-stats { grid-template-columns: 1fr 1fr; margin-top: 48px; }
      .sg-stat, .sg-stat:first-child { padding: 26px 0 28px 22px; }
      .sg-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
      .sg-stat:nth-child(n+3) { border-top: 1px solid var(--sg-line); }
      .sg-rev-summary { border-right: 0; border-bottom: 1px solid var(--sg-line); padding: 36px 24px; }
      .sg-rev-stage { padding: 36px 24px 28px; }
      .sg-quote-mark { font-size: 72px; height: 32px; margin-bottom: 16px; }
      .sg-controls { gap: 16px; }
      .sg-arrow { width: 42px; height: 42px; }
      .sg-slides { display: block; }
      .sg-slide { display: none; }
      .sg-slide.is-active { display: flex; }
    }
    @media (prefers-reduced-motion: reduce) {
      .sg-slide, .sg-slide.is-active, .sg-trust-photo img { transition: none; }
    }
  