/* Supplement to index.css.
   NOTE: index.css sets `section{height:100vh;min-height:800px}` globally — every
   section added here must opt out, or it blows out to a full viewport. */
.sw-hero,.sw-cta,.sw-sitelinks,.sw-band,#google-reviews{height:auto!important;min-height:0!important}

/* hero — matches the homepage hero gradient */
.sw-hero{background:linear-gradient(135deg,#6b1ba7,#3d0d6d);color:#fff;text-align:center;
  padding:6rem 1rem 3rem!important;border-bottom:1px solid #fff}
.sw-hero-inner{max-width:900px;margin:0 auto}
.sw-hero h1{font-size:2rem;margin:0;color:#fff;line-height:1.25}

/* content sits on white, like the homepage FAQ band — not flat grey */
.sw-main{background:#fff;padding:0!important;margin:0!important;max-width:none!important}
.sw-main>*{max-width:860px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}
.sw-main>p:first-of-type{padding-top:2.5rem}
.sw-main h2{font-size:1.5rem;margin:2.2rem auto .6rem;color:#3d0d6d}
.sw-main h3{font-size:1.05rem;margin:0 0 .3rem}
.sw-main p{margin:0 auto 1rem;line-height:1.7}
.sw-lede{font-size:1.15rem;color:#444}
.sw-units{padding-left:2.7rem!important;margin:.4rem auto 1.2rem;max-width:860px}
.sw-units li{margin:.35rem 0;line-height:1.6}
.sw-main a{color:#6b1ba7}

/* pill links — match the site's #F1F1F1 band tone */
.sw-links{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem auto 1.2rem;max-width:860px}
.sw-links a{display:inline-block;padding:.45rem .9rem;background:#F1F1F1;border:1px solid #ddd;
  border-radius:5px;text-decoration:none;font-size:.9rem;color:#3d0d6d}
.sw-links a:hover{background:#DBB5FF;border-color:#DBB5FF}

.sw-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;
  margin:1rem auto 1.5rem;max-width:860px}
.sw-card{background:#F1F1F1;border:1px solid #ddd;border-radius:5px;padding:1.1rem}
.sw-card h3{margin:0 0 .3rem}.sw-card h3 a{color:#3d0d6d;text-decoration:none}
.sw-card p{font-size:.88rem;color:#555;margin:.25rem 0 0;line-height:1.55}
.sw-alias{font-size:.8rem!important;color:#777!important;font-style:italic}
.sw-tag{display:inline-block;margin-top:.6rem;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;
  background:#DBB5FF;color:#3d0d6d;padding:.2rem .55rem;border-radius:4px;font-weight:bold}

/* CTA — same purple band + same #ff2e63 button as the homepage */
.sw-cta{margin:2.5rem 0 0!important;padding:3rem 1.5rem!important;
  background:linear-gradient(135deg,#6b1ba7,#3d0d6d);color:#fff;text-align:center;max-width:none!important}
.sw-cta h2{color:#fff!important;margin:0 auto .5rem}
.sw-cta p{color:#f0f0f0;max-width:640px}
.sw-cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:0}
.sw-cta .cta-button{background-color:#ff2e63;display:inline-block;margin:.5rem;padding:.7rem 2rem;
  border:none;border-radius:5px;color:#fff;width:250px;text-decoration:none}
.sw-cta .secondary-button.sw-alt{display:inline-block;margin:.5rem;padding:.7rem 2rem;
  border:2px solid #fff;background:transparent;border-radius:5px;color:#fff;width:250px;text-decoration:none}

/* homepage sitelinks band + footer areas */
.sw-sitelinks{background:#F1F1F1;padding:2.5rem 1.5rem!important;border-top:1px solid #ddd}
.sw-sitelinks-inner{max-width:1100px;margin:0 auto}
.sw-sitelinks>div>div{margin-bottom:1.5rem}
.sw-sitelinks h2{font-size:.95rem!important;text-transform:uppercase;letter-spacing:.05em;
  color:#3d0d6d!important;margin:0 0 .6rem!important;text-align:left!important}
.sw-sitelinks .sw-links{margin:0}
.sw-sitelinks .sw-links a{background:#fff}
.sw-footer-areas{margin:1rem auto 0;max-width:1000px;font-size:.85rem}
.sw-footer-areas>span{display:block;margin-bottom:.5rem;color:#bbb}
.sw-footer-areas a{color:#DBB5FF}
.sw-footer-areas .sw-links{justify-content:center;gap:.35rem}
.sw-footer-areas .sw-links a{background:transparent;border:1px solid #555;color:#ddd;
  padding:.25rem .6rem;font-size:.8rem}
.sw-footer-areas .sw-links a:hover{background:#3d0d6d;border-color:#3d0d6d;color:#fff}

@media(min-width:900px){.sw-hero h1{font-size:2.4rem}}
@media(max-width:899px){.sw-hero{padding:5rem 1rem 2rem!important}.sw-hero h1{font-size:1.6rem}}
/* live Google reviews */
#google-reviews{max-width:1100px;margin:0 auto;padding:3rem 1.5rem 3.5rem;overflow:visible}
.gr-head{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1.4rem}
.gr-stars{color:#f5a623;letter-spacing:2px;font-size:1.5rem;line-height:1}
.gr-stars.sm{font-size:1rem;margin-bottom:.5rem}
.gr-score{font-size:1.5rem;font-weight:bold;color:#3d0d6d}
.gr-count{color:#555;font-size:.95rem}
.gr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.gr-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:1.2rem;margin:0}
.gr-card blockquote{margin:0 0 .8rem;font-size:.95rem;line-height:1.6;color:#333}
.gr-card figcaption{font-size:.85rem;color:#666;font-weight:bold}
.gr-when{font-weight:normal;color:#999}
.gr-attr{text-align:center;font-size:.85rem;color:#666;margin-top:1.2rem}

/* reviews block — own heading, clear separation from the testimonial carousel */
.gr-title{text-align:center;font-size:1.6rem;color:#3d0d6d;margin:0 0 .3rem}
.gr-sub{text-align:center;color:#666;font-size:.95rem;margin:0 0 1.6rem}
#google-reviews{border-top:1px solid #e3e3e3}
.gr-card blockquote{overflow-wrap:anywhere}
@media(max-width:600px){#google-reviews{padding:2rem 1rem 2.5rem}.gr-title{font-size:1.3rem}}
/* align author lines across a row */
.gr-card{display:flex;flex-direction:column}
.gr-card blockquote{flex:1 1 auto}
.gr-card figcaption{margin-top:auto;padding-top:.6rem;border-top:1px solid #eee}
.gr-grid{align-items:stretch}
/* narrow phones: subject cards use fixed 180px widths that overflow below ~420px */
@media (max-width:440px){
  .subject-box{width:40vw!important;min-width:0!important;max-width:100%!important}
  .subject-overlay{max-width:100%!important;width:100%!important;left:0!important;right:auto!important}
  .subject-container{max-width:100%!important}
  .flip-text{font-size:.9rem}
}

@media (max-width:440px){ body{overflow-x:hidden} }
