:root{--navy:#071f4b;--navy2:#0c2e68;--green:#147a32;--green2:#1f8b3b;--blue:#1976d2;--ink:#17233a;--muted:#647188;--line:#e4eaf1;--soft:#f6f9fc;--white:#fff;--shadow:0 18px 50px rgba(7,31,75,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit}.container{width:min(1180px,92%);margin:auto}
.top{background:var(--navy);color:#fff;font-size:.86rem;font-weight:800}.top .container{display:flex;justify-content:space-between;padding:8px 0}.top a{text-decoration:none}
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{width:min(365px,45vw);height:auto;display:block}.links{display:flex;align-items:center;gap:28px}.links>a:not(.btn){text-decoration:none;font-weight:850;color:var(--navy);font-size:.96rem}.links>a:not(.btn):hover{color:var(--green)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 23px;font-weight:900;text-decoration:none;border:2px solid transparent;transition:.18s}.btn:hover{transform:translateY(-1px)}.primary{background:var(--green);color:#fff;box-shadow:0 9px 22px rgba(20,122,50,.2)}.outline{background:#fff;border-color:var(--green);color:var(--green)}.large{padding:16px 28px}.mobile-call{display:none}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fbff 0%,#fff 58%,#f0f8f2 100%);padding:76px 0 90px}.hero:after{content:"";position:absolute;right:-10%;bottom:-180px;width:55%;height:360px;background:radial-gradient(ellipse at center,rgba(20,122,50,.13),transparent 65%);pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:950;color:var(--green)}h1{font-size:clamp(3rem,6vw,5.4rem);line-height:.98;letter-spacing:-.055em;color:var(--navy);margin:14px 0 22px;max-width:760px}h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;color:var(--navy);margin:0 0 14px}h3{color:var(--navy);line-height:1.2}.lead{font-size:1.2rem;color:var(--muted);max-width:690px}.actions{display:flex;flex-wrap:wrap;gap:13px;margin:30px 0 0}
.hero-badges{display:flex;flex-wrap:wrap;gap:18px;margin-top:32px}.badge{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--navy)}.badge-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff}.badge-icon.green{background:var(--green)}
.tech-scene{position:relative;min-height:430px;display:grid;place-items:center}.device-card{width:min(530px,100%);background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--shadow);transform:rotate(1deg)}.device-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dots{display:flex;gap:6px}.dot{width:9px;height:9px;border-radius:50%;background:#cdd6e2}.screen{height:275px;border-radius:20px;background:linear-gradient(145deg,#eef5ff,#f7fbff);border:1px solid #dbe5f0;position:relative;overflow:hidden}.screen:before{content:"";position:absolute;left:24px;top:25px;width:44%;height:16px;border-radius:99px;background:var(--navy)}.screen:after{content:"";position:absolute;left:24px;top:57px;width:65%;height:10px;border-radius:99px;background:#c8d5e5;box-shadow:0 28px 0 #d8e2ed,0 56px 0 #d8e2ed}.shield{position:absolute;right:42px;top:66px;width:120px;height:140px;background:var(--green);clip-path:polygon(50% 0,88% 15%,82% 62%,50% 100%,18% 62%,12% 15%);display:grid;place-items:center;color:#fff;font-size:3rem;font-weight:900}.screen-chip{position:absolute;left:24px;bottom:24px;background:#fff;border:1px solid #dce6ef;border-radius:14px;padding:11px 15px;font-weight:850;color:var(--navy)}.keyboard{height:54px;margin:18px auto 0;width:72%;border-radius:9px;background:linear-gradient(#e9eef4,#d9e1ea);border:1px solid #cbd6e2}.float-card{position:absolute;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:15px 17px;font-weight:900;color:var(--navy);display:flex;align-items:center;gap:10px}.float-one{left:0;top:48px}.float-two{right:-5px;bottom:55px}.float-icon{width:38px;height:38px;border-radius:12px;background:#eaf6ee;display:grid;place-items:center;color:var(--green);font-weight:950}.float-two .float-icon{background:#eaf1ff;color:var(--blue)}
.wave{height:92px;background:var(--navy);position:relative;margin-top:-34px;z-index:3;clip-path:ellipse(75% 55% at 50% 45%)}.wave:after{content:"";position:absolute;left:0;right:0;top:35px;height:5px;background:var(--green);transform:rotate(-2deg)}
section{padding:78px 0}.section-head{text-align:center;max-width:760px;margin:0 auto 38px}.section-head p{color:var(--muted);font-size:1.08rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product{display:flex;flex-direction:column;min-height:245px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:27px;text-decoration:none;box-shadow:0 8px 28px rgba(7,31,75,.055);transition:.18s}.product:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#cdd9e6}.icon{width:56px;height:56px;border-radius:17px;background:#eaf6ee;color:var(--green);display:grid;place-items:center;font-size:1.5rem;font-weight:950;margin-bottom:14px}.product p{color:var(--muted);margin-top:0}.learn{margin-top:auto;color:var(--green);font-weight:950}
.simple-band{background:var(--soft)}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 7px 24px rgba(7,31,75,.04)}.quick-card h3{margin-top:0}.price{font-size:2.7rem;color:var(--green);font-weight:950;line-height:1}.price-note{color:var(--muted)}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.trust-card{padding:28px;border:1px solid var(--line);border-radius:22px;text-align:center}.trust-card .big{font-size:2.1rem;color:var(--green);font-weight:950}.trust-card p{color:var(--muted)}.band{background:var(--navy);color:#fff}.band h2{color:#fff}.band p{color:#dce6f2}.band .btn{margin-top:8px}
footer{background:#06152f;color:#c9d6e8;padding:48px 0 20px}.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}.foot-logo{background:#fff;border-radius:12px;padding:7px;width:min(320px,100%)}footer h3{color:#fff}footer a{color:#fff;text-decoration:none}.small{border-top:1px solid #233653;margin-top:30px;padding-top:17px;font-size:.85rem;color:#9eafc6}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.card,.pricebox,.feature{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 8px 28px rgba(7,31,75,.05)}.checks{padding-left:20px}.checks li{margin:10px 0}.checks li::marker{color:var(--green)}.table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:20px;overflow:hidden}.table th,.table td{padding:17px;border-bottom:1px solid var(--line);text-align:left}.table th{background:var(--navy);color:#fff}.table tr:last-child td{border-bottom:0}.note{background:#fff8dc;border:1px solid #ead48a;padding:16px;border-radius:14px}.form{display:grid;gap:15px}.form label{font-weight:850;color:var(--navy)}input,textarea,select{width:100%;padding:13px 14px;border:1px solid #cbd6e1;border-radius:12px;font:inherit}textarea{min-height:130px}
.page-hero{padding:70px 0;background:linear-gradient(135deg,#f8fbff,#fff)}.page-hero h1{max-width:900px}.service-stack{display:grid;gap:20px}.feature .icon{margin-bottom:8px}
@media(max-width:980px){.links{gap:16px}.links>a:not(.btn){display:none}.logo{width:min(365px,58vw)}.hero-grid{grid-template-columns:1fr}.tech-scene{min-height:380px}.cards,.quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.top .container{justify-content:center}.top .right{display:none}.nav{min-height:82px}.logo{width:min(330px,68vw)}.mobile-call{display:inline-flex;padding:10px 15px}.hero{padding:55px 0 70px}h1{font-size:clamp(2.7rem,14vw,4rem)}.hero-badges{display:grid;grid-template-columns:1fr}.tech-scene{min-height:320px}.device-card{padding:18px;border-radius:22px}.screen{height:210px}.shield{width:85px;height:100px;right:25px;top:50px;font-size:2rem}.float-one{left:-6px;top:8px}.float-two{right:-6px;bottom:22px}.wave{height:62px;margin-top:-23px}.cards,.quick-grid,.trust,.grid2,.foot{grid-template-columns:1fr}section{padding:58px 0}.section-head{margin-bottom:28px}.table{font-size:.92rem}.table th,.table td{padding:12px}.links{display:none}}

/* Expanded Services — approved */
.services-expanded{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.service-detail-card{background:#fff;border:1px solid rgba(10,35,65,.10);border-radius:22px;padding:1.5rem;box-shadow:0 10px 28px rgba(10,35,65,.07)}
.service-icon{font-size:1.8rem;margin-bottom:.65rem}.service-detail-card h2{margin:0 0 .55rem}.service-detail-card p{margin:0 0 .8rem;line-height:1.55}.service-detail-card ul{margin:0;padding-left:1.2rem}.service-detail-card li{margin:.4rem 0;line-height:1.45}
@media(max-width:650px){.services-expanded{grid-template-columns:1fr}}

/* V3.23 anchor offset */
.service-detail-card[id]{scroll-margin-top:110px}

/* Coming Soon */
.coming-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.coming-card{background:#fff;border:1px solid var(--border,#e7ebef);border-radius:22px;padding:30px;box-shadow:0 12px 32px rgba(17,35,55,.07)}
.coming-card .service-icon{font-size:2rem;margin-bottom:14px}
.coming-card h2{margin:0 0 10px}
.coming-card p{margin:0;color:var(--muted,#64748b);line-height:1.65}
.coming-label{display:inline-block;margin-bottom:14px;padding:6px 10px;border-radius:999px;background:rgba(39,167,113,.1);color:var(--green,#24a66f);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:900px){.coming-grid{grid-template-columns:1fr}}


/* Homepage Coming Soon callout */
.coming-soon-home {
  margin: 3.5rem auto 1rem;
  max-width: 1080px;
  padding: 0 1.25rem;
}

.coming-soon-home-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.25rem;
  padding: 1.5rem 1.6rem;
  background: #fff;
  border: 1px solid rgba(12, 43, 70, 0.10);
  border-radius: 22px;
  box-shadow: 0 10px 30px rgba(12, 43, 70, 0.08);
}

.coming-soon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: #e8f5ee;
  color: #176b45;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.coming-soon-home-copy h2 {
  margin: 0 0 0.3rem;
  color: #0c2b46;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.coming-soon-home-copy p {
  margin: 0;
  color: #526271;
  line-height: 1.55;
  max-width: 650px;
}

.coming-soon-home-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 46px;
  padding: 0.7rem 1rem;
  border-radius: 12px;
  background: #0c2b46;
  color: #fff;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.coming-soon-home-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(12, 43, 70, 0.16);
}

@media (max-width: 760px) {
  .coming-soon-home {
    margin-top: 2.5rem;
    padding: 0 1rem;
  }

  .coming-soon-home-inner {
    grid-template-columns: 1fr;
    gap: 0.9rem;
    padding: 1.35rem;
  }

  .coming-soon-badge {
    justify-self: start;
  }

  .coming-soon-home-button {
    width: 100%;
  }
}

/* V4 Care Plan deck card */
.v319-deck .care-plan-card{--promo:#176b45;--promo-soft:#e8f5ef}
.v319-deck .care-plan-promo{align-items:center}
.v319-deck .care-plan-promo .promo-title{font-size:2.45rem}
.v319-deck .care-plan-promo .per-month{font-size:.95rem;font-weight:800;letter-spacing:0;color:#607289;margin-left:5px}
.v319-deck .care-plan-mini{position:relative;z-index:2;margin-top:12px;color:#176b45;font-size:.74rem;font-weight:800;line-height:1.45;max-width:310px}
.v319-deck .care-plan-link{position:relative;z-index:2;display:inline-flex;margin-top:14px;padding:8px 12px;border-radius:10px;background:#0c2b46;color:#fff;text-decoration:none;font-size:.74rem;font-weight:800}
.v319-deck .care-plan-link:hover{transform:translateY(-1px)}
@media(max-width:760px){.v319-deck .care-plan-promo .promo-title{font-size:2rem}}
@media(max-width:520px){.v319-deck .care-plan-promo .promo-title{font-size:1.7rem}.v319-deck .care-plan-mini{font-size:.62rem}.v319-deck .care-plan-link{font-size:.64rem;padding:7px 9px}}

/* Care Plan page */
.care-hero{padding:70px 0 48px;background:linear-gradient(135deg,#f8fbff,#fff)}
.care-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}
.care-price-card{background:var(--navy);color:#fff;border-radius:28px;padding:34px;text-align:center;box-shadow:0 16px 40px rgba(7,31,75,.15)}
.care-price-card .price{font-size:4rem;color:#8bd35b;margin:8px 0 4px}
.care-price-card .per{font-weight:800;opacity:.9}
.care-price-card .included{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:1.05rem;font-weight:800}
.care-benefits{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.care-benefit{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 26px rgba(7,31,75,.05)}
.care-benefit .service-icon{font-size:1.7rem}.care-benefit h3{margin:0 0 8px}.care-benefit p{margin:0;color:var(--muted);line-height:1.5}
.care-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.care-detail-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 8px 28px rgba(7,31,75,.05)}
.care-detail-card h2{margin-top:0}.care-detail-card ul{padding-left:20px}.care-detail-card li{margin:10px 0;line-height:1.5}
@media(max-width:980px){.care-hero-grid{grid-template-columns:1fr}.care-benefits{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.care-benefits,.care-detail-grid{grid-template-columns:1fr}.care-price-card .price{font-size:3.4rem}}

.care-plan-page .container{max-width:1080px;margin:auto;padding:0 1.25rem}.care-hero{text-align:center;padding:4rem 0 2.5rem}.care-tagline{font-size:1.25rem}.care-price{font-size:3.5rem;font-weight:800;margin:1rem 0}.care-price span{font-size:1.15rem}.content-section{padding:2.5rem 0}.content-section.alt{background:rgba(12,43,70,.035)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.info-card,.example-box{background:#fff;border:1px solid rgba(12,43,70,.1);border-radius:20px;padding:1.5rem;box-shadow:0 8px 24px rgba(12,43,70,.06);margin-bottom:1.25rem}.info-card li{margin:.45rem 0;line-height:1.5}.rate-callout{display:flex;gap:1rem;align-items:center;padding:1rem 1.2rem;border-radius:16px;background:#e8f5ee}.rate-callout strong{font-size:1.7rem;white-space:nowrap}.comparison-table{width:100%;border-collapse:collapse;background:#fff}.comparison-table th,.comparison-table td{padding:.85rem;border-bottom:1px solid rgba(12,43,70,.1);text-align:left}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.option-grid>div{padding:1rem;border:1px solid rgba(12,43,70,.1);border-radius:14px}.care-cta{text-align:center;padding:3.5rem 0}@media(max-width:760px){.info-grid,.option-grid{grid-template-columns:1fr}.care-price{font-size:2.8rem}.rate-callout{flex-direction:column;align-items:flex-start}.comparison-table{min-width:650px}}

/* Mobile-safe Care Plan comparison table */
.care-plan-page .comparison-wrap,
.terms-page .comparison-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
}
.care-plan-page .comparison-table,
.terms-page .comparison-table {
  min-width: 640px;
  width: 100%;
}
.care-plan-page .comparison-table th,
.care-plan-page .comparison-table td,
.terms-page .comparison-table th,
.terms-page .comparison-table td {
  white-space: nowrap;
}
.terms-link-section { padding: 1.5rem 0 0; }
.terms-link-card { background:#fff; border:1px solid rgba(12,43,70,.10); border-radius:20px; padding:1.5rem; box-shadow:0 8px 24px rgba(12,43,70,.06); text-align:center; }
.terms-link-card h2 { margin-top:0; }

/* V4.3 Care Plan visual refresh */
.care-plan-page .container,.terms-page .container{max-width:1080px;margin:auto;padding:0 1.25rem}
.care-hero{text-align:center;padding:4rem 0 2.75rem}.care-tagline{font-size:1.3rem}.care-price{font-size:4rem;font-weight:850;margin:1rem 0}.care-price span{font-size:1.1rem}.care-hero-copy{max-width:680px;margin:auto}
.care-benefits{display:block;padding:2.5rem 0}.care-benefits h2{text-align:center}.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.benefit-card{background:#fff;border:1px solid rgba(12,43,70,.1);border-radius:20px;padding:1.3rem;box-shadow:0 8px 24px rgba(12,43,70,.06)}.benefit-icon{display:flex;width:42px;height:42px;border-radius:13px;align-items:center;justify-content:center;background:#e8f5ee;color:#176b45;font-weight:850;font-size:1.2rem;margin-bottom:.8rem}.benefit-card h3{margin:.1rem 0 .4rem;font-size:1rem}.benefit-card p{margin:0;font-size:.92rem;line-height:1.45}.savings-benefit{border:2px solid #2d9b67;background:linear-gradient(145deg,#fff,#eefaf4)}
.savings-hero{padding:3rem 0;text-align:center;background:linear-gradient(135deg,#e8f5ee,#f8fcfa)}.savings-hero h2{margin:.3rem 0 1.3rem}.savings-main{display:flex;justify-content:center;align-items:center;gap:1.5rem}.savings-main>div:not(.savings-arrow){background:#fff;border-radius:18px;padding:1.2rem 2rem;box-shadow:0 7px 20px rgba(12,43,70,.08)}.savings-main span{display:block;font-size:.75rem;font-weight:800;letter-spacing:.06em}.savings-main strong{display:block;font-size:2.3rem;margin-top:.25rem}.savings-arrow{font-size:2rem;font-weight:800}.save-badge{display:inline-block;margin:1.3rem 0 .5rem;padding:.55rem 1.2rem;border-radius:999px;background:#176b45;color:#fff;font-size:1.25rem;font-weight:850}
.comparison-section{padding:3rem 0}.comparison-section h2,.comparison-section .section-intro{text-align:center}.comparison-desktop{overflow-x:auto;margin-top:1.5rem}.comparison-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid rgba(12,43,70,.1);border-radius:18px;background:#fff}.comparison-table th,.comparison-table td{padding:1rem;border-bottom:1px solid rgba(12,43,70,.08);text-align:left}.comparison-table th{background:#0c2b46;color:#fff}.comparison-table tr:last-child td{border-bottom:0}.comparison-table tbody tr:nth-child(even){background:#f7faf9}.comparison-mobile{display:none}.member-note{margin:1rem 0 0;padding:1rem 1.2rem;background:#f6f9fb;border-radius:14px}
.simple-details{padding:2.5rem 0;background:rgba(12,43,70,.035)}.simple-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.simple-grid article{background:#fff;border-radius:20px;padding:1.5rem;border:1px solid rgba(12,43,70,.1)}.small-note{font-size:.9rem}
.terms-link-section{padding:2rem 0}.terms-link-card{text-align:center;background:#fff;border:1px solid rgba(12,43,70,.1);border-radius:20px;padding:1.7rem;box-shadow:0 8px 24px rgba(12,43,70,.06)}.terms-link-card h2{margin-top:0}.care-cta{text-align:center;padding:3.5rem 0}
@media(max-width:900px){.benefit-grid{grid-template-columns:repeat(2,1fr)}.benefit-card:last-child{grid-column:1/-1}.comparison-desktop{display:none}.comparison-mobile{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:1.5rem}.mobile-price-card{background:#fff;border:1px solid rgba(12,43,70,.1);border-radius:16px;padding:1rem;box-shadow:0 5px 15px rgba(12,43,70,.05)}.mobile-price-card h3{margin:0 0 .7rem}.mobile-price-card p{display:flex;justify-content:space-between;margin:.35rem 0}.mobile-price-card>strong{display:block;margin-top:.7rem;color:#176b45}}
@media(max-width:600px){.care-price{font-size:3.1rem}.benefit-grid,.simple-grid{grid-template-columns:1fr}.benefit-card:last-child{grid-column:auto}.savings-main{gap:.6rem}.savings-main>div:not(.savings-arrow){padding:1rem}.savings-main strong{font-size:1.8rem}.savings-main span{font-size:.65rem}.savings-arrow{font-size:1.4rem}.comparison-mobile{grid-template-columns:1fr}.care-hero{padding-top:3rem}}

.savings-disclaimer{font-size:.82rem;opacity:.78;margin-top:.5rem}

.highlight{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:18px}.highlight p{margin:.45rem 0 0}


/* V5.1 Services & Pricing */
.service-price-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem}.service-price-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.4rem 1.5rem;box-shadow:0 8px 24px rgba(12,43,70,.05)}.service-price-card h3{margin:.1rem 0 .35rem}.service-price-card .service-price{font-size:1.65rem;font-weight:900;color:var(--green);margin:.25rem 0 .65rem}.service-price-card p{margin:.35rem 0;color:var(--muted);line-height:1.5}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.5rem}.package-card{background:#fff;border:2px solid rgba(12,43,70,.08);border-radius:22px;padding:1.5rem;box-shadow:0 8px 24px rgba(12,43,70,.06);display:flex;flex-direction:column}.package-card h3{margin:.1rem 0 .4rem}.package-price{font-size:2.15rem;font-weight:900;color:var(--green);line-height:1.1;margin:.25rem 0 .8rem}.package-card ul{padding-left:1.2rem;margin:.6rem 0 0}.package-card li{margin:.45rem 0;line-height:1.45}.package-value{margin-top:auto;padding-top:1rem;color:var(--muted);font-weight:700}.price-section-note{max-width:760px;margin:.7rem auto 0;text-align:center;color:var(--muted)}.repair-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.5rem}.repair-pricing-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.35rem;box-shadow:0 8px 24px rgba(12,43,70,.05)}.repair-pricing-card h3{margin:.1rem 0 .45rem}.repair-pricing-card .service-price{font-size:1.6rem;font-weight:900;color:var(--green)}.repair-pricing-card p{color:var(--muted);line-height:1.5;margin:.45rem 0 0}.price-conditions{background:#f6f9fb;border:1px solid var(--line);border-radius:18px;padding:1.15rem 1.3rem;margin-top:1.5rem}.price-conditions ul{margin:.5rem 0 0;padding-left:1.2rem}.price-conditions li{margin:.4rem 0}
@media(max-width:900px){.package-grid,.repair-pricing-grid{grid-template-columns:1fr 1fr}.service-price-list{grid-template-columns:1fr}}
@media(max-width:600px){.package-grid,.repair-pricing-grid{grid-template-columns:1fr}.service-price-card,.package-card,.repair-pricing-card{padding:1.2rem}}

.step-number{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:50%;font-weight:800;border:2px solid currentColor;margin-bottom:.75rem}
.highlight-box{padding:1.5rem;border:2px solid rgba(0,0,0,.12);border-radius:1rem;background:rgba(0,0,0,.025)}

.top-actions{margin-top:1rem}
@media(max-width:700px){.top-actions{display:flex;flex-wrap:wrap;gap:.75rem}}
/* V5.5.7 value-focused rotating hero deck */
.v319-deck .promo-body{min-height:0}
.v319-deck .promo-copy p{max-width:355px}

/* V5.6.1 pricing and services clarity */
.clean-category{padding:0;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:0 10px 30px rgba(7,31,75,.06)}
.clean-category + .clean-category{margin-top:28px}
.clean-category .category-header{padding:28px 30px;background:var(--soft);border-bottom:1px solid var(--line)}
.clean-category .category-header h2{margin:.25rem 0 .45rem;font-size:2rem}
.clean-category .category-header p{margin:0;color:var(--muted);font-size:1.05rem}
.category-label{display:inline-block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:950;color:var(--green);margin-bottom:.15rem}
.repair-category .category-header{background:#f7fafc}
.service-list{padding:24px 30px 30px}
.service-list>div{border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:#fff}
.service-list>div h3{margin:0 0 7px}
.service-list>div p{margin:0;color:var(--muted);line-height:1.5}
.service-subsection{padding:24px 30px 0}
.service-subsection+.service-subsection{border-top:1px solid var(--line);margin-top:4px;padding-top:24px}
.subsection-title{margin:0;padding-left:12px;border-left:4px solid var(--green);font-size:1.2rem}
.compact-list{padding:16px 0 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.compact-list>div h3{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.compact-list>div h3 span{color:var(--green);white-space:nowrap;font-size:.95rem}
.package-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.clean-category .notice{margin:0 30px 30px}
.clean-pricing-block{padding:30px}
.pricing-title-row h2{margin:.25rem 0 .4rem}
.pricing-title-row p{color:var(--muted);margin:0}
.pricing-group{margin-top:28px}
.pricing-group h3{margin:0 0 10px;padding-left:12px;border-left:4px solid var(--green);font-size:1.15rem}
.pricing-group .price-table{margin-top:0}
.price-conditions{margin-top:28px}
@media(max-width:900px){.package-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.clean-category .category-header{padding:22px 20px}.clean-category .category-header h2{font-size:1.6rem}.service-list{padding:18px 20px 22px}.service-subsection{padding:20px 20px 0}.compact-list,.package-list{grid-template-columns:1fr;gap:12px}.compact-list>div h3{display:block}.compact-list>div h3 span{display:block;margin-top:5px}.clean-category .notice{margin:0 20px 22px}.clean-pricing-block{padding:22px 18px}.pricing-group{margin-top:22px}.pricing-group .price-table div{gap:12px}.pricing-group .price-table strong{text-align:right}}

/* V6.0 Care Plan clarity */
.important-box{margin:20px 0;padding:18px 20px;border-left:5px solid #1f7a5a;border-radius:12px;background:#f1f8f5}.important-box strong{display:block;margin-bottom:7px}.important-box p{margin:0}

/* V6.1.1 — cleaner diagnostic pricing */
.service-price-band .price-item{display:flex;flex-direction:column;gap:.28rem;min-width:0}
.service-price-band .price-line{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.service-price-band .price-line em{font-style:normal;font-size:.78rem;font-weight:700;line-height:1.2;padding:.28rem .5rem;border-radius:999px;background:#e8f5ef;color:#17633f;white-space:nowrap}
@media(max-width:600px){.service-price-band{gap:.8rem}.service-price-band .price-item{width:100%}.service-price-band .price-line{flex-wrap:nowrap}.service-price-band .price-line em{font-size:.72rem}}


/* V6.2 mobile navigation fix */
@media (max-width: 760px){
  header{
    padding:10px 14px;
  }
  header .container,
  header .header-inner{
    width:100%;
    max-width:100%;
  }
  nav.main-nav{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-top:10px;
  }
  nav.main-nav > a{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:9px 8px;
    font-size:.88rem;
    line-height:1.15;
    text-align:center;
    overflow-wrap:anywhere;
  }
  /* Prevent long cards/sections from causing horizontal scrolling */
  main, section, .container, .page-shell, .content-section{
    max-width:100%;
    box-sizing:border-box;
  }
  img, svg, video, iframe{
    max-width:100%;
    height:auto;
  }
}
@media (max-width: 430px){
  nav.main-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  nav.main-nav > a{
    font-size:.82rem;
    padding:8px 6px;
  }
}


/* V6.2 mobile compact header — keep sticky header small */
@media (max-width:680px){
  .top{display:none}
  header{position:sticky;top:0;z-index:50}
  .nav{
    min-height:0;
    padding:9px 0 7px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px 10px;
  }
  .logo{
    width:min(175px,42vw);
    max-height:50px;
    object-fit:contain;
    object-position:left center;
  }
  .header-actions{
    display:flex;
    align-items:center;
    gap:6px;
    flex-shrink:0;
  }
  .header-actions .btn{
    padding:8px 11px;
    font-size:.78rem;
    line-height:1;
    white-space:nowrap;
  }
  nav.main-nav{
    grid-column:1/-1;
    width:100%;
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    margin:0;
    padding:2px 0 1px;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  nav.main-nav::-webkit-scrollbar{display:none}
  nav.main-nav > a{
    flex:0 0 auto;
    width:auto;
    min-width:auto;
    padding:7px 12px;
    font-size:.78rem;
    line-height:1;
    border-radius:999px;
  }
}
@media (max-width:430px){
  .logo{width:min(170px,45vw);max-height:48px}
  .header-actions .btn{padding:7px 9px;font-size:.72rem}
  nav.main-nav > a{padding:7px 10px;font-size:.74rem}
}

/* V7.9.1 — mobile logo sizing without overflow into buttons */
@media (max-width:680px){
  header .brand{
    min-width:0;
    overflow:hidden;
  }
  header .brand .logo{
    transform:none;
    width:min(175px,42vw);
    max-height:50px;
    object-fit:contain;
    object-position:left center;
  }
}
@media (max-width:430px){
  header .brand .logo{
    transform:none;
    width:min(155px,40vw);
    max-height:44px;
  }
}

/* V6.2.9 — LoTyde blue/green flowing background accents */
body {
  position: relative;
  overflow-x: hidden;
  background:
    radial-gradient(ellipse 75% 45% at 0% 8%, rgba(23, 92, 160, 0.168), transparent 65%),
    radial-gradient(ellipse 65% 42% at 100% 28%, rgba(42, 145, 105, 0.179), transparent 68%),
    radial-gradient(ellipse 70% 38% at 15% 88%, rgba(23, 92, 160, 0.123), transparent 70%),
    #f7fafc;
}

body::before,
body::after {
  content: "";
  position: fixed;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(2px);
  opacity: .73;
}

body::before {
  width: 72vw;
  height: 24vw;
  left: -22vw;
  top: 22vh;
  background: linear-gradient(105deg, rgba(23, 92, 160, 0.207), rgba(42, 145, 105, 0.168), transparent 72%);
  transform: rotate(-13deg);
}

body::after {
  width: 76vw;
  height: 26vw;
  right: -25vw;
  top: 62vh;
  background: linear-gradient(105deg, transparent 5%, rgba(42, 145, 105, 0.179), rgba(23, 92, 160, 0.168));
  transform: rotate(-12deg);
}

/* Flowing wave bands */
.page,
main,
section {
  position: relative;
}

main::before,
main::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  border-radius: 55% 45% 50% 50%;
}

main::before {
  width: 105%;
  height: 120px;
  left: -8%;
  top: 18%;
  background: linear-gradient(90deg, rgba(23, 92, 160, 0.095), rgba(42, 145, 105, 0.129), rgba(23, 92, 160, 0.056));
  transform: rotate(-3deg);
}

main::after {
  width: 110%;
  height: 135px;
  left: -4%;
  top: 67%;
  background: linear-gradient(90deg, rgba(42, 145, 105, 0.078), rgba(23, 92, 160, 0.123), rgba(42, 145, 105, 0.056));
  transform: rotate(2deg);
}

@media (max-width: 700px) {
  body::before {
    width: 110vw;
    height: 38vw;
    left: -42vw;
  }
  body::after {
    width: 115vw;
    height: 40vw;
    right: -45vw;
  }
  main::before,
  main::after {
    height: 90px;
  }
}

/* V6.2.10 — stronger mobile blue/green waves */
@media (max-width: 700px) {
  body {
    background:
      radial-gradient(ellipse 125% 32% at -15% 12%, rgba(20, 91, 160, 0.258), transparent 68%),
      radial-gradient(ellipse 120% 30% at 115% 38%, rgba(38, 145, 105, 0.28), transparent 68%),
      radial-gradient(ellipse 130% 34% at -10% 72%, rgba(20, 91, 160, 0.207), transparent 68%),
      radial-gradient(ellipse 125% 30% at 110% 92%, rgba(38, 145, 105, 0.207), transparent 68%),
      #f7fafc;
    background-attachment: scroll;
  }

  body::before,
  body::after {
    position: fixed;
    display: block;
    z-index: 0;
    opacity: .84;
    pointer-events: none;
  }

  body::before {
    width: 150vw;
    height: 95px;
    left: -55vw;
    top: 34%;
    background: linear-gradient(100deg,
      transparent 0%,
      rgba(20, 91, 160, 0.161) 25%,
      rgba(38, 145, 105, 0.28) 48%,
      rgba(20, 91, 160, 0.134) 70%,
      transparent 100%);
    border-radius: 50%;
    transform: rotate(-7deg);
  }

  body::after {
    width: 155vw;
    height: 105px;
    right: -60vw;
    top: 73%;
    background: linear-gradient(100deg,
      transparent 0%,
      rgba(38, 145, 105, 0.161) 25%,
      rgba(20, 91, 160, 0.242) 50%,
      rgba(38, 145, 105, 0.134) 72%,
      transparent 100%);
    border-radius: 50%;
    transform: rotate(6deg);
  }

  main {
    position: relative;
    z-index: 1;
  }
}




@media (max-width: 700px) {
  body::before,
  body::after {
    opacity: .99;
  }
}

/* V6.2.17 — consolidated wave opacity rules; visual behavior preserved */
@media (min-width: 701px) {
  body::before,
  body::after,
  main::before,
  main::after {
    opacity: .99;
  }
}

@media (max-width: 700px) {
  body::before,
  body::after {
    opacity: .92;
  }
}

/* V6.2.20 — targeted pricing/home updates */
.pricing-page .care-plan-price-card,
.care-plan-price-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px !important;
  padding: 30px;
  box-shadow: 0 8px 28px rgba(7,31,75,.05);
  overflow: hidden;
  margin: 0 0 28px;
}

.service-price-band span small { text-transform: none; }

/* V6.2.22 — Desktop Care Plan spacing cleanup */
@media(min-width:901px){
  .care-plan-page .benefit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
  .care-plan-page .benefit-card{min-height:190px}
  .care-plan-page .benefit-card.savings-benefit{grid-column:auto}
}

/* V6.2.24 — Care Plan desktop width/layout correction */
@media (min-width:901px){
  .care-plan-page .care-benefits > .container{
    width:min(1080px,92%);
    max-width:1080px;
    margin-left:auto;
    margin-right:auto;
    display:block;
  }
  .care-plan-page .benefit-grid{
    display:grid;
    width:100%;
    max-width:none;
    min-width:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
  }
  .care-plan-page .benefit-card{
    width:auto;
    min-width:0;
  }
}

/* V7.0.0 — I Have a Problem Library */
.library-hero{background:linear-gradient(135deg,#f8fbff 0%,#fff 60%,#f0f8f2 100%);padding:64px 0 58px;border-bottom:1px solid var(--line)}
.library-search{display:flex;gap:10px;max-width:760px;margin:26px auto 0}
.library-search input{flex:1;min-width:0;padding:16px 18px;border:2px solid var(--line);border-radius:14px;font:inherit}
.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.library-card{display:block;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(7,31,75,.07);text-decoration:none}
.library-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(7,31,75,.11)}
.problem-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.problem-meta span{font-size:.8rem;font-weight:850;background:var(--soft);border:1px solid var(--line);padding:6px 10px;border-radius:999px;color:var(--navy)}
.problem-content{max-width:850px;margin:auto}
.problem-content h2{margin-top:38px}
.problem-content h3{margin-top:24px}
.problem-content li{margin:7px 0}
.warning{border-left:5px solid #c88400;background:#fff8e8;padding:18px 20px;border-radius:10px;margin:24px 0}
.danger{border-left:5px solid #b42318;background:#fff3f2;padding:18px 20px;border-radius:10px;margin:24px 0}
.success{border-left:5px solid var(--green);background:#f1faf4;padding:18px 20px;border-radius:10px;margin:24px 0}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.related-grid a{padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:800;color:var(--navy);background:#fff}
.article-cta{margin-top:48px;padding:32px;border-radius:22px;background:var(--navy);color:#fff}
.article-cta h2{color:#fff}.article-cta p{color:#e8eef7}
@media(max-width:760px){.library-grid,.related-grid{grid-template-columns:1fr}.library-search{flex-direction:column}.library-search .btn{width:100%}}


/* V7.2.26 — iOS viewport and page-margin cleanup */
html {
  max-width: 100%;
  overflow-x: hidden;
}
body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
}
img, video, iframe, table, input, textarea, select, button {
  max-width: 100%;
}
.contact-booking-callout-wrap {
  width: 100%;
}
.contact-booking-callout {
  width: 100%;
}
@media (max-width: 680px) {
  .contact-booking-callout {
    box-sizing: border-box;
  }
  .container {
    width: min(1180px, 92%);
    max-width: 100%;
  }
}
/* Keep the booking callout compact while preserving the shared section spacing system. */
.contact-booking-callout-wrap{padding:0 0 28px}






@media (max-width:760px){
  
  
}

/* Problem Library article navigation */
.problem-library-nav{width:100%;box-sizing:border-box;margin:0;padding:12px 0 0}
.problem-library-nav .container{box-sizing:border-box}
.problem-library-back-link{display:inline-block;font-weight:600;text-decoration:underline;text-underline-offset:2px;line-height:1.3}
.problem-library-back-link:hover{text-decoration-thickness:2px}
@media (max-width:760px){
  .problem-library-nav{padding-top:8px}
  .problem-library-back-link{font-size:.95rem;line-height:1.25}
}

.problem-library-nav + .hero{margin-top:0}
.problem-library-nav + .article-hero{margin-top:0}
.problem-library-nav + section.hero{margin-top:0}



/* Problem Library article metadata */
.article-meta {
  margin: 10px 0 0;
  padding: 0;
  font-size: 0.9rem;
  line-height: 1.45;
}
/* V7.6.12 — Scam/security stop-warning treatment */
.problem-content .stop-warning {
  border-left: 5px solid #c0392b;
  background: #fff4f2;
  padding: 18px 20px;
  margin: 28px 0;
  border-radius: 10px;
  box-shadow: 0 3px 12px rgba(0,0,0,.08);
}
.problem-content .stop-warning h2 { margin-top: 0; }
.problem-content .stop-warning .stop-warning-label {
  display: inline-block;
  font-weight: 700;
  letter-spacing: .03em;
  margin-bottom: 8px;
}
.problem-content .stop-warning::before {
  content: "⚠";
  display: block;
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 8px;
}

/* =========================================================
   V8.0.0 — Desktop alignment, centering, and pricing layout
   ========================================================= */

/* Centered page intro / hero blocks on content pages */
.page-intro,
.page-hero .container {
  text-align: center;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
.page-intro h1,
.page-hero h1 {
  margin-left: auto;
  margin-right: auto;
}
.page-intro p,
.page-hero .lead {
  margin-left: auto;
  margin-right: auto;
  max-width: 640px;
  color: var(--muted);
}

/* Section blocks on pricing and similar pages */
.section-block {
  padding: 56px 0;
  max-width: 100%;
}
.section-block + .section-block {
  border-top: 1px solid var(--line);
}
.section-heading {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 28px;
}
.section-heading h2 {
  margin-bottom: 10px;
}
.section-heading p {
  color: var(--muted);
  margin: 0 auto;
  max-width: 560px;
}

/* Card grids — explicit two / three column helpers */
.cards {
  display: grid;
  gap: 22px;
  width: 100%;
  margin: 0 auto;
}
.cards.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 820px;
}
.cards.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cards .card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: left;
}
.cards .card h3 {
  margin-top: 0;
  margin-bottom: 8px;
}
.cards .card p {
  color: var(--muted);
  margin: 0;
  line-height: 1.55;
  flex-grow: 1;
}

/* Prominent price display */
.big-price {
  font-size: clamp(1.85rem, 3.5vw, 2.35rem);
  font-weight: 900;
  color: var(--green);
  line-height: 1.15;
  margin: 6px 0 12px;
  letter-spacing: -0.02em;
}
.big-price span {
  font-weight: 800;
  color: var(--muted);
}

/* Notice / callout boxes */
.notice {
  background: #f6f9fc;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 20px 24px;
  margin: 22px auto 0;
  max-width: 100%;
  text-align: left;
}
.notice h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
}
.notice p {
  margin: 0 0 8px;
  color: var(--ink);
  line-height: 1.55;
}
.notice p:last-child {
  margin-bottom: 0;
}
.notice .small,
.notice p.small {
  color: var(--muted);
  font-size: 0.92rem;
}
.notice.important {
  background: #fff8f0;
  border-color: #f0d9b5;
}

/* Care Plan price highlight on pricing page */
.care-plan-price-card,
.care-hero.care-plan-price-card {
  text-align: center;
  max-width: 480px;
  margin: 0 auto 28px;
  padding: 28px 32px;
}
.care-plan-price-card .big-price {
  margin-bottom: 8px;
}
.care-plan-price-card .big-price span {
  font-size: 1.15rem;
  font-weight: 700;
}

/* Main content pages — consistent horizontal rhythm */
main.container.page {
  padding-bottom: 40px;
}
main.container.page > .section-block:first-of-type {
  padding-top: 24px;
}

/* Center section-head (used on home and other pages) more consistently */
.section-head {
  text-align: center;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 38px;
}

/* Footer explore links — keep readable */
.foot {
  text-align: left;
}

/* Responsive: stack card grids cleanly */
@media (max-width: 900px) {
  .cards.three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cards.two {
    max-width: 100%;
  }
}
@media (max-width: 680px) {
  .cards.two,
  .cards.three {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
  .section-block {
    padding: 40px 0;
  }
  .page-intro {
    text-align: center;
  }
  .section-heading {
    text-align: center;
  }
  .big-price {
    font-size: 1.75rem;
  }
  .notice {
    padding: 16px 18px;
  }
}

/* Keep body content from feeling left-heavy on wide screens */
@media (min-width: 1100px) {
  .page-intro,
  .section-heading {
    max-width: 780px;
  }
  .cards.two {
    max-width: 860px;
  }
}


/* V8.0.0 — page hero centering on content pages */
.page-hero {
  text-align: center;
}
.page-hero .container {
  text-align: center;
}
.page-hero h1 {
  margin-left: auto;
  margin-right: auto;
}
.page-hero .lead,
.page-hero p.lead {
  margin-left: auto;
  margin-right: auto;
}

/* Centered CTA bands */
.band,
.care-cta,
.section-head.pricing-callout {
  text-align: center;
}
.band .container,
.care-cta .container {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}


/* V8.0.1 — fee lists (travel zones, bulk discounts) */
.fee-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 10px;
}
.fee-list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: 1rem;
  color: var(--ink);
}
.fee-list li:last-child {
  border-bottom: none;
}
.fee-list li span {
  font-weight: 800;
  color: var(--green);
  white-space: nowrap;
}
.fee-list.compact li {
  padding: 6px 0;
  font-size: 0.95rem;
}
.notice .fee-list {
  margin-top: 10px;
}


/* V8.2.4 — nav pills for more links */
.main-nav > a {
  padding: 7px 11px;
  font-size: 0.9rem;
  font-weight: 850;
}
@media (max-width: 1100px) {
  .main-nav > a {
    padding: 6px 10px;
    font-size: 0.85rem;
  }
}


/* V8.3.2 mobile/readability correction */
.cards .card p,
.cards .card li,
.section-block .card p,
.section-block .card li {
  color: #53617a !important;
}

/* Keep navigation links from colliding on narrow phone screens. */
.main-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 10px;
  min-width: 0;
  max-width: 100%;
}
.main-nav > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: normal;
  text-align: center;
  line-height: 1.25;
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 680px) {
  .main-nav {
    width: 100%;
    padding: 8px 12px 12px;
    gap: 8px;
  }
  .main-nav > a {
    padding: 8px 10px;
    font-size: 0.82rem;
    flex: 0 1 auto;
  }
  .header-actions .btn {
    white-space: normal;
    text-align: center;
  }
}



/* V8.4.3 Services page: four primary service areas + expandable other services */
.services-primary-grid-section { background: #f7fafc; }
.services-primary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:28px; }
.services-primary-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:26px; border-radius:22px; border:1px solid rgba(24,52,86,.10); background:#fff; box-shadow:0 10px 28px rgba(20,45,75,.07); text-decoration:none; color:#172b49; transition:transform .18s ease,box-shadow .18s ease; }
.services-primary-card:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(20,45,75,.12); }
.services-primary-home { border-top:5px solid #3b82c4; }
.services-primary-repair { border-top:5px solid #3e9c96; }
.services-primary-care { border-top:5px solid #76a96c; }
.services-primary-business { border-top:5px solid #6a8cc0; }
.services-primary-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:15px; margin-bottom:17px; color:#1f5b87; background:#eaf4fb; font-size:1.65rem; }
.services-primary-label { color:#56718a; font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.services-primary-card h3 { margin:8px 0 10px; font-size:1.35rem; color:#183858; }
.services-primary-card p { margin:0 0 22px; color:#53657a; line-height:1.65; }
.services-card-link { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; margin-top:auto; padding-top:14px; border-top:1px solid #e8eef3; color:#17679b; font-weight:750; }
.services-detail-section { padding-top:64px; padding-bottom:64px; }
.services-detail-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:42px; align-items:start; }
.services-detail-layout h2 { margin-top:8px; }
.services-detail-layout>div:first-child>p { color:#53657a; line-height:1.7; }
.services-detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.services-detail-list>div { padding:20px; border-radius:16px; background:#f4f8fb; border:1px solid #e3edf4; }
.services-detail-list h3 { margin:0 0 8px; color:#214767; font-size:1.05rem; }
.services-detail-list p { margin:0; color:#53657a; line-height:1.6; }
.services-business-detail { background:#f5faf7; }
.services-business-detail .services-detail-list>div { background:#fff; }
.services-other-section { padding-top:22px; padding-bottom:70px; }
.services-other-accordion { overflow:hidden; border:1px solid #dbe7ee; border-radius:22px; background:#fff; box-shadow:0 12px 30px rgba(20,45,75,.06); }
.services-other-accordion>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 30px; cursor:pointer; list-style:none; background:linear-gradient(110deg,#edf6fc,#f0f8f2); }
.services-other-accordion>summary::-webkit-details-marker,.services-sub-accordion>summary::-webkit-details-marker { display:none; }
.services-other-accordion>summary small { display:block; margin-bottom:6px; color:#4e7893; font-weight:800; letter-spacing:.08em; }
.services-other-accordion>summary strong { display:block; color:#183858; font-size:1.45rem; }
.services-other-accordion>summary em,.services-sub-accordion>summary em { display:block; margin-top:5px; color:#596d80; font-style:normal; line-height:1.5; }
.services-accordion-toggle { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:50%; color:#fff; background:#276d91; font-size:1.6rem; transition:transform .18s ease; }
details[open]>summary .services-accordion-toggle { transform:rotate(45deg); }
.services-accordion-content { padding:10px 22px 22px; }
.services-sub-accordion { border-bottom:1px solid #e5edf2; }
.services-sub-accordion:last-child { border-bottom:0; }
.services-sub-accordion>summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 8px; cursor:pointer; list-style:none; }
.services-sub-accordion>summary strong { display:block; color:#234766; font-size:1.05rem; }
.services-sub-accordion .services-accordion-toggle { width:32px; height:32px; flex-basis:32px; font-size:1.25rem; background:#e7f1f7; color:#286687; }
.services-sub-content { padding:0 52px 20px 8px; color:#53657a; line-height:1.65; }
.services-sub-content p { margin:0 0 10px; }
.services-sub-content a { color:#17679b; font-weight:750; text-decoration:none; }
.services-sub-content a:hover { text-decoration:underline; }
@media(max-width:760px) {
 .services-primary-grid { grid-template-columns:1fr; gap:14px; }
 .services-primary-card { padding:22px; }
 .services-detail-layout { grid-template-columns:1fr; gap:22px; }
 .services-detail-list { grid-template-columns:1fr; }
 .services-other-accordion>summary { padding:22px 18px; }
 .services-accordion-content { padding:6px 14px 14px; }
 .services-sub-content { padding-right:8px; }
}

/* V8.4.4 flat expanded other-services list */
.services-other-accordion[open] > summary .services-accordion-toggle{transform:none;font-size:1.8rem}.services-sub-accordion{display:block;padding:20px 8px;border-bottom:1px solid #e5edf2}.services-sub-accordion:last-child{border-bottom:0}.services-sub-heading strong{display:block;color:#234766;font-size:1.05rem}.services-sub-heading em{display:block;margin-top:5px;color:#596d80;font-style:normal;line-height:1.5}.services-sub-accordion .services-sub-content{padding:10px 0 0}.services-sub-accordion .services-sub-content p{margin:0 0 10px}

/* V8.4.5: In-Home and Business cards expand in place */
.services-primary-dropdown { display:block; padding:0; overflow:hidden; }
.services-primary-dropdown > summary { display:flex; flex-direction:column; align-items:flex-start; padding:26px; cursor:pointer; list-style:none; }
.services-primary-dropdown > summary::-webkit-details-marker { display:none; }
.services-primary-dropdown > summary::marker { content:""; }
.services-primary-dropdown .services-card-link { width:100%; }
.services-primary-dropdown .services-drop-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:#e7f1f7; color:#286687; font-size:1.35rem; font-weight:500; }
.services-primary-dropdown[open] .services-drop-icon { transform:rotate(45deg); }
.services-primary-expanded { padding:0 26px 26px; border-top:1px solid #e5edf2; }
.services-expanded-item { padding:15px 0; border-bottom:1px solid #e9eff3; }
.services-expanded-item h4 { margin:0 0 6px; color:#234766; font-size:1rem; }
.services-expanded-item p { margin:0; color:#53657a; line-height:1.55; }
.services-primary-expanded > .services-text-link { display:inline-block; margin-top:16px; }
@media(max-width:760px) {
 .services-primary-dropdown > summary { padding:22px; }
 .services-primary-expanded { padding:0 22px 22px; }
}

/* V8.4.6: Robust button-based inline service accordions */
.services-primary-dropdown { display:block; padding:0; overflow:hidden; }
.services-primary-trigger { display:flex; flex-direction:column; align-items:flex-start; width:100%; padding:26px; border:0; border-radius:0; background:transparent; color:inherit; text-align:left; font:inherit; cursor:pointer; appearance:none; -webkit-appearance:none; }
.services-primary-trigger:focus-visible { outline:3px solid #2c7fa6; outline-offset:-5px; }
.services-primary-title { display:block; margin:8px 0 10px; color:#183858; font-size:1.35rem; font-weight:800; line-height:1.25; }
.services-primary-description { display:block; margin:0 0 22px; color:#53657a; line-height:1.65; }
.services-primary-trigger .services-card-link { width:100%; margin-top:auto; }
.services-primary-trigger .services-drop-icon { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:#e7f1f7; color:#286687; font-size:1.35rem; font-weight:500; }
.services-primary-expanded { padding:0 26px 26px; border-top:1px solid #e5edf2; }
.services-primary-expanded[hidden] { display:none !important; }
.services-expanded-item { padding:15px 0; border-bottom:1px solid #e9eff3; }
.services-expanded-item h4 { margin:0 0 6px; color:#234766; font-size:1rem; }
.services-expanded-item p { margin:0; color:#53657a; line-height:1.55; }
.services-primary-expanded>.services-text-link { display:inline-block; margin-top:16px; }
@media(max-width:760px) { .services-primary-trigger{padding:22px}.services-primary-expanded{padding:0 22px 22px} }

/* ========== V9.0.0 Professional Polish ========== */
/* Cleaner rhythm, consistent cards, refined hierarchy inspired by high-end local business sites */

:root {
  --section-pad: clamp(56px, 8vw, 88px);
  --card-radius: 18px;
  --card-shadow: 0 8px 28px rgba(7, 31, 75, 0.06);
  --card-shadow-hover: 0 14px 36px rgba(7, 31, 75, 0.10);
  --gap-tight: 12px;
  --gap-med: 20px;
  --gap-wide: 32px;
}

/* Stronger vertical rhythm for all main sections */
section,
.section,
.oh-section,
.services-section,
.page-content-clean main > section {
  padding-top: var(--section-pad);
  padding-bottom: var(--section-pad);
}

/* Tighter, more consistent section heads */
.section-head {
  margin-bottom: 36px;
  max-width: 720px;
}
.section-head .eyebrow,
.eyebrow {
  letter-spacing: 0.14em;
  font-size: 0.72rem;
  font-weight: 800;
  margin-bottom: 10px;
}
.section-head h2,
h2 {
  margin: 0 0 12px;
  letter-spacing: -0.03em;
}
.section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
  font-size: 1.05rem;
}

/* Unified card system */
.card,
.oh-card,
.services-more-card,
.service-detail-card,
.quick-card,
.lt-card,
.product,
.feature {
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  border: 1px solid var(--line);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card:hover,
.oh-card:hover,
.services-more-card:hover,
.service-detail-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--card-shadow-hover);
}

/* Better card internal spacing */
.card,
.oh-card {
  padding: 26px 24px;
}
.card h3,
.oh-card h3 {
  margin: 0 0 8px;
  font-size: 1.2rem;
  letter-spacing: -0.01em;
}
.card p,
.oh-card p {
  margin: 0;
  line-height: 1.55;
  color: var(--muted);
}

/* Cleaner button groups */
.actions,
.oh-actions,
.hero-actions,
.services-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.btn {
  letter-spacing: 0.01em;
}
.btn.outline {
  border-width: 1.5px;
}

/* Hero refinements for cleaner first impression */
.hero {
  padding: clamp(64px, 9vw, 100px) 0 clamp(72px, 10vw, 110px);
}
.hero h1 {
  margin: 10px 0 18px;
  letter-spacing: -0.04em;
}
.hero .lead {
  font-size: 1.15rem;
  line-height: 1.65;
  max-width: 560px;
}
.hero-badges {
  gap: 16px;
  margin-top: 28px;
}
.actions {
  margin-top: 28px;
}

/* Footer cleaner */
.foot {
  gap: 40px;
  padding: 48px 0 32px;
}
.foot h3 {
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 14px;
  color: var(--navy);
}
.foot p {
  margin: 0 0 8px;
  line-height: 1.5;
}
.foot a {
  text-decoration: none;
  color: var(--muted);
  transition: color 0.15s;
}
.foot a:hover {
  color: var(--green);
}

/* Device-repair specific tighter rhythm */
.oh-section {
  margin: 0 !important;
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}
.oh-grid {
  gap: 18px !important;
  margin-top: 24px !important;
}
.oh-hero {
  margin-bottom: 20px !important;
}

/* Pricing & general page cards */
.cards {
  gap: 18px;
}
.cards.three {
  gap: 18px;
}

/* Mobile refinements – reduce awkward empty stretches */
@media (max-width: 700px) {
  :root {
    --section-pad: 48px;
  }
  .hero {
    padding: 48px 0 56px;
  }
  .section-head {
    margin-bottom: 24px;
  }
  .oh-section {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  .card,
  .oh-card {
    padding: 22px 20px;
  }
  .actions,
  .oh-actions {
    gap: 10px;
  }
}

/* Subtle improvement to top bar */
.top {
  font-size: 0.82rem;
  letter-spacing: 0.02em;
}
.top .container {
  padding: 9px 0;
}

/* Cleaner main nav spacing */
.main-nav {
  gap: 6px;
}
.main-nav > a {
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.9rem;
  transition: background 0.15s, color 0.15s;
}
.main-nav > a:hover,
.main-nav > a[aria-current="page"] {
  background: rgba(20, 122, 50, 0.08);
  color: var(--green);
}


/* =========================================================
   V9.1.0 — Professional Consistency Pass
   Goal: Bring the whole site to the same polish level as Services
   ========================================================= */

:root {
  --section-y: clamp(56px, 7.5vw, 72px);
  --card-r: 18px;
  --card-pad: 24px 22px;
  --card-shadow: 0 8px 26px rgba(15, 47, 78, 0.055);
  --card-shadow-hover: 0 14px 34px rgba(15, 47, 78, 0.10);
  --border-soft: 1px solid var(--line);
  --radius-pill: 999px;
}

/* ---- Global section rhythm (matches Services ~68px feel) ---- */
section,
.section,
.page-content-clean main > section,
.oh-section {
  padding-top: var(--section-y);
  padding-bottom: var(--section-y);
}

/* Subtle section separators for better structure */
.section + .section,
.services-section + .services-section {
  border-top: 1px solid var(--line);
}

/* ---- Section headers ---- */
.section-head {
  margin-bottom: 32px;
  max-width: 680px;
}
.section-head .eyebrow,
.eyebrow {
  display: inline-block;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 10px;
}
.section-head h2 {
  margin: 0 0 10px;
  letter-spacing: -0.03em;
  line-height: 1.12;
}
.section-head p {
  margin: 0;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.6;
}

/* ---- Unified professional card system ---- */
.card,
.oh-card,
.quick-card,
.product,
.feature,
.lt-card,
.service-detail-card,
.info-card,
.example-box {
  background: #fff;
  border: var(--border-soft);
  border-radius: var(--card-r);
  box-shadow: var(--card-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card:hover,
.oh-card:hover,
.service-detail-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--card-shadow-hover);
}

.card,
.oh-card {
  padding: var(--card-pad);
}
.card h3,
.oh-card h3 {
  margin: 0 0 8px;
  font-size: 1.18rem;
  letter-spacing: -0.015em;
  color: var(--navy);
}
.card p,
.oh-card p,
.card .small {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.97rem;
}

/* Price emphasis */
.big-price,
.oh-price {
  color: var(--green);
  font-weight: 900;
  letter-spacing: -0.02em;
}

/* ---- Button groups (never cramped) ---- */
.actions,
.oh-actions,
.hero-actions,
.services-hero-actions,
.services-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.btn {
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.btn:hover {
  transform: translateY(-1px);
}
.btn.outline {
  border-width: 1.5px;
}

/* ---- Header polish ---- */
header {
  border-bottom: 1px solid rgba(228, 234, 241, 0.9);
}
.main-nav {
  gap: 4px;
}
.main-nav > a {
  padding: 8px 13px;
  border-radius: var(--radius-pill);
  font-weight: 700;
  font-size: 0.9rem;
  transition: background 0.15s ease, color 0.15s ease;
}
.main-nav > a:hover,
.main-nav > a[aria-current="page"] {
  background: rgba(20, 122, 50, 0.08);
  color: var(--green);
}

/* ---- Hero refinements ---- */
.hero {
  padding: clamp(60px, 8vw, 92px) 0 clamp(68px, 9vw, 100px);
}
.hero h1 {
  margin: 8px 0 16px;
  letter-spacing: -0.04em;
}
.hero .lead {
  font-size: 1.12rem;
  line-height: 1.65;
  max-width: 540px;
}
.hero-badges {
  margin-top: 26px;
  gap: 14px;
}
.actions {
  margin-top: 26px;
}

/* ---- Device-repair (bring closer to Services rhythm) ---- */
.oh-section {
  margin: 0 !important;
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}
.oh-section + .oh-section {
  border-top: 1px solid var(--line);
}
.oh-grid {
  gap: 16px !important;
  margin-top: 22px !important;
}
.oh-hero {
  margin-bottom: 12px !important;
  border-radius: 22px;
}
.oh-card {
  border-radius: var(--card-r);
}

/* ---- Footer cleaner structure ---- */
.foot {
  gap: 36px;
  padding: 52px 0 28px;
}
.foot h3 {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 800;
  margin: 0 0 14px;
  color: var(--navy);
}
.foot p {
  margin: 0 0 7px;
  line-height: 1.5;
  font-size: 0.95rem;
}
.foot a {
  text-decoration: none;
  color: var(--muted);
  transition: color 0.15s ease;
}
.foot a:hover {
  color: var(--green);
}
.container.small {
  padding: 16px 0 28px;
  font-size: 0.88rem;
  color: var(--muted);
  border-top: 1px solid var(--line);
  margin-top: 8px;
}

/* ---- Pricing / general grids ---- */
.cards {
  gap: 16px;
}
.cards.three {
  gap: 16px;
}

/* ---- Soft alternate backgrounds for visual structure ---- */
.section.simple-band,
.page-content-clean .alt-bg {
  background: rgba(246, 249, 252, 0.7);
}

/* ---- Mobile: keep it tight and professional ---- */
@media (max-width: 700px) {
  :root {
    --section-y: 44px;
    --card-pad: 20px 18px;
  }
  .hero {
    padding: 48px 0 52px;
  }
  .section-head {
    margin-bottom: 22px;
  }
  .oh-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .actions,
  .oh-actions {
    gap: 10px;
  }
  .foot {
    gap: 28px;
    padding: 40px 0 20px;
  }
}

/* ---- Typography micro-polish ---- */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3 {
  text-wrap: balance;
}


/* =========================================================
   V9.1.1 — Unified Page Hero (matches Services look)
   ========================================================= */

.page-hero,
.page-intro-hero {
  background: linear-gradient(135deg, rgba(234,244,252,.94), rgba(255,255,255,.92) 55%, rgba(237,247,239,.94));
  border-bottom: 1px solid var(--line);
  padding: 64px 0 52px;
  text-align: center;
}

.page-hero .container,
.page-intro-hero .container {
  max-width: 820px;
  margin: 0 auto;
}

.page-hero .eyebrow,
.page-intro-hero .eyebrow {
  display: inline-block;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #2674ad;
  margin-bottom: 14px;
}

.page-hero h1,
.page-intro-hero h1 {
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  line-height: 1.1;
  letter-spacing: -0.04em;
  margin: 0 0 16px;
  color: var(--navy);
}

.page-hero p,
.page-intro-hero p {
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--muted);
  max-width: 620px;
  margin: 0 auto;
}

/* Make old page-intro also use the same treatment when we upgrade the HTML */
.page-intro {
  background: linear-gradient(135deg, rgba(234,244,252,.94), rgba(255,255,255,.92) 55%, rgba(237,247,239,.94));
  border-bottom: 1px solid var(--line);
  padding: 56px 0 48px;
  text-align: center;
  margin: 0 calc(-1 * (100vw - 100%) / 2); /* attempt full-bleed if inside container - may need HTML fix */
}

/* Safer approach: when page-intro is direct child of main, we handle via HTML change */

@media (max-width: 700px) {
  .page-hero,
  .page-intro-hero {
    padding: 48px 0 40px;
  }
  .page-hero h1,
  .page-intro-hero h1 {
    font-size: 2.1rem;
  }
}


/* Force remaining page heroes to the Services-style gradient */
.care-hero {
  background: linear-gradient(135deg, rgba(234,244,252,.94), rgba(255,255,255,.92) 55%, rgba(237,247,239,.94)) !important;
  border-bottom: 1px solid var(--line);
  padding: 64px 0 52px !important;
  text-align: center;
}
.care-hero .eyebrow {
  color: #2674ad !important;
  letter-spacing: 0.13em;
}
.care-hero h1 {
  letter-spacing: -0.04em;
}

/* Device-repair: make the top hero area feel like Services */
.oh-hero {
  background: linear-gradient(135deg, rgba(234,244,252,.94), rgba(255,255,255,.95) 60%, rgba(237,247,239,.9)) !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 8px 28px rgba(15,47,78,.05) !important;
}

/* Websites already close — reinforce */
.web-why {
  background: linear-gradient(135deg, rgba(234,244,252,.94), rgba(255,255,255,.92) 55%, rgba(237,247,239,.94)) !important;
}

/* 3D Printing and other simple intros */
.page-content-clean .page-intro,
main > .page-intro {
  background: linear-gradient(135deg, rgba(234,244,252,.94), rgba(255,255,255,.92) 55%, rgba(237,247,239,.94));
  border-bottom: 1px solid var(--line);
  padding: 56px 0 48px;
  text-align: center;
}


/* Problem Library hero — match Services */
.library-hero {
  background: linear-gradient(135deg, rgba(234,244,252,.94), rgba(255,255,255,.92) 55%, rgba(237,247,239,.94)) !important;
  border-bottom: 1px solid var(--line);
  padding: 64px 0 52px !important;
  text-align: center;
}
.library-hero .eyebrow {
  color: #2674ad !important;
  letter-spacing: 0.13em;
  font-weight: 800;
}
.library-hero h1 {
  font-size: clamp(2.2rem, 4.5vw, 3.4rem) !important;
  letter-spacing: -0.04em;
  line-height: 1.1;
  margin: 12px 0 16px !important;
  color: var(--navy);
}
.library-hero .lead,
.library-hero p {
  color: var(--muted);
  line-height: 1.65;
}

/* Also tighten any leftover oh-hero styles that might still appear */
.oh-hero {
  /* kept for any remaining cards, but top is now page-hero */
}


/* ===== V9.2.3 — Bigger logo + refreshed hero text area ===== */

/* Desktop / tablet logo a bit larger */
.logo {
  width: min(400px, 48vw) !important;
  max-height: none !important;
  height: auto !important;
}

/* Mobile logo — noticeably bigger */
@media (max-width: 680px) {
  .nav {
    min-height: 0;
    padding: 10px 0 8px;
  }
  .logo,
  header .brand .logo {
    width: min(220px, 56vw) !important;
    max-height: 64px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  .header-actions .btn {
    padding: 9px 12px;
    font-size: 0.8rem;
  }
}

@media (max-width: 430px) {
  .logo,
  header .brand .logo {
    width: min(200px, 54vw) !important;
    max-height: 58px !important;
  }
}

/* Refreshed hero left column — match Services polish */
.hero h1 {
  font-size: clamp(2.6rem, 7vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
  margin: 8px 0 16px;
}
.hero .lead {
  font-size: 1.12rem;
  line-height: 1.65;
  max-width: 520px;
  color: var(--muted);
}
.hero-badges {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 26px;
  margin-bottom: 4px;
}
.hero-badges .badge {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 750;
  font-size: 1.02rem;
  color: var(--navy);
}
.hero-badges .badge-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--navy);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 800;
  flex-shrink: 0;
}
.hero-badges .badge-icon.green {
  background: var(--green);
}
.hero .actions {
  margin-top: 24px;
  gap: 12px;
}
.hero-contact-cta {
  margin-top: 14px;
  font-size: 0.95rem;
  color: var(--muted);
}
.hero-contact-cta a {
  color: var(--green);
  font-weight: 750;
  text-decoration: none;
}

@media (max-width: 680px) {
  .hero {
    padding: 40px 0 48px;
  }
  .hero h1 {
    font-size: clamp(2.4rem, 11vw, 3.2rem);
  }
  .hero-badges {
    gap: 10px;
    margin-top: 22px;
  }
  .hero-badges .badge {
    font-size: 0.98rem;
  }
  .hero-badges .badge-icon {
    width: 36px;
    height: 36px;
  }
}


/* ===== V9.2.4 — Real hero copy refresh ===== */
.hero-copy {
  max-width: 560px;
}
.hero-kicker {
  display: inline-block;
  margin: 0 0 14px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #d5e6f3;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2674ad;
}
.hero-copy h1 {
  margin: 0 0 16px;
  font-size: clamp(2.5rem, 7vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: var(--navy);
}
.hero-accent {
  color: var(--green);
}
.hero-copy .lead {
  margin: 0 0 22px;
  font-size: 1.1rem;
  line-height: 1.65;
  color: var(--muted);
  max-width: 480px;
}
.hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 26px;
}
.hero-pill {
  display: inline-flex;
  align-items: center;
  padding: 9px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 4px 14px rgba(7, 31, 75, 0.05);
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--navy);
}
.hero-copy .actions {
  margin: 0;
  gap: 12px;
}
.hero-copy .hero-contact-cta {
  margin-top: 14px;
  font-size: 0.95rem;
  color: var(--muted);
}
.hero-copy .hero-contact-cta a {
  color: var(--green);
  font-weight: 750;
  text-decoration: none;
}

@media (max-width: 680px) {
  .hero-kicker {
    margin-bottom: 12px;
    font-size: 0.68rem;
  }
  .hero-copy h1 {
    font-size: clamp(2.35rem, 11vw, 3.1rem);
  }
  .hero-copy .lead {
    font-size: 1.02rem;
    margin-bottom: 18px;
  }
  .hero-pills {
    gap: 8px;
    margin-bottom: 22px;
  }
  .hero-pill {
    padding: 8px 12px;
    font-size: 0.85rem;
  }
}


/* Home centered hero — match other page heroes */
.home-hero {
  text-align: center;
}
.home-hero h1 {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}
.home-hero .lead {
  max-width: 560px;
}
.home-hero .hero-accent {
  color: var(--green);
}
.home-cards-section {
  padding-top: 12px !important;
  padding-bottom: 40px !important;
}
.home-cards-section .tech-scene {
  min-height: 400px;
}

@media (max-width: 680px) {
  .home-hero {
    padding: 44px 0 36px !important;
  }
  .home-cards-section .tech-scene {
    min-height: 340px;
  }
}


.home-hero .hero-location {
  margin: 16px 0 0;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #2674ad;
}


/* Step 2 — ensure all page heroes are centered like Services */
.page-hero {
  text-align: center !important;
}
.page-hero .eyebrow {
  display: inline-block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.page-hero h1 {
  margin-left: auto;
  margin-right: auto;
}
.page-hero p {
  margin-left: auto;
  margin-right: auto;
}

/* web-why leftover should not break alignment */
.web-why {
  text-align: center;
}
.web-why .eyebrow {
  text-align: center !important;
  display: inline-block;
  width: auto;
}


.page-hero .care-price-inline {
  font-size: 2.6rem;
  font-weight: 900;
  color: var(--green);
  margin: 8px 0 12px;
  letter-spacing: -0.03em;
}
.page-hero .care-price-inline span {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--muted);
}


/* ========== Step 2 lock — cards & sections ========== */
.section-block {
  padding: clamp(48px, 6vw, 72px) 0;
}
.section-block + .section-block {
  border-top: 1px solid var(--line);
}
.section-heading {
  margin-bottom: 28px;
  max-width: 720px;
}
.section-heading .eyebrow {
  margin-bottom: 8px;
}
.section-heading h2 {
  margin: 0 0 10px;
}
.section-heading p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

/* Cards grid consistency */
.cards {
  display: grid;
  gap: 16px;
}
.cards.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cards.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .cards.three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .cards.two,
  .cards.three {
    grid-template-columns: 1fr;
  }
}

.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 22px 20px;
  box-shadow: 0 8px 26px rgba(15, 47, 78, 0.055);
}
.card h3 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 1.12rem;
}
.card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.96rem;
}
.card .big-price {
  font-size: 1.8rem;
  font-weight: 900;
  color: var(--green);
  margin: 6px 0 8px;
  letter-spacing: -0.02em;
}

/* Notice / travel box */
.notice {
  margin-top: 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 22px 20px;
  box-shadow: 0 8px 26px rgba(15, 47, 78, 0.04);
}

/* Foot logo size consistent */
.foot-logo {
  width: min(200px, 55vw);
  height: auto;
  margin-bottom: 12px;
}


/* Step 3 — Pricing redesign */
.price-nav {
  position: sticky;
  top: 72px;
  z-index: 40;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.price-nav-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 0;
  justify-content: center;
}
.price-nav a {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #fff;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 750;
  color: var(--navy);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.price-nav a:hover {
  border-color: var(--green);
  color: var(--green);
  background: rgba(20,122,50,.06);
}

.container.page {
  padding-bottom: 48px;
}

/* Care Plan highlight on pricing */
.section-block.care-block,
#care-plan {
  background: linear-gradient(180deg, rgba(237,247,239,.65), rgba(255,255,255,0));
  border-radius: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}
#care-plan .section-heading h2 {
  color: var(--navy);
}

/* Clearer section breaks on pricing */
.container.page .section-block {
  padding-top: 48px;
  padding-bottom: 48px;
}
.container.page .section-block + .section-block {
  border-top: 1px solid var(--line);
}

@media (max-width: 700px) {
  .price-nav {
    top: 64px;
  }
  .price-nav-inner {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding: 10px 0;
    -webkit-overflow-scrolling: touch;
  }
  .price-nav a {
    flex: 0 0 auto;
    font-size: 0.82rem;
    padding: 7px 12px;
  }
}

/* Device Repair body tighter rhythm */
.oh-wrap .oh-section {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}
.oh-wrap .oh-section + .oh-section {
  border-top: 1px solid var(--line);
}
.oh-section-intro {
  max-width: 640px;
  color: var(--muted);
  line-height: 1.6;
  margin: 0 0 20px;
}


/* Fix Care Plan block centering on Pricing */
#care-plan,
.section-block.care-block {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: rgba(237, 247, 239, 0.55);
  border-radius: 22px;
  padding: 36px 22px !important;
  border-top: none !important;
}

#care-plan .section-heading {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 560px;
}

#care-plan .care-plan-price-card,
#care-plan .care-hero {
  max-width: 420px;
  margin: 0 auto 24px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 28px 24px;
  box-shadow: 0 8px 26px rgba(15, 47, 78, 0.06);
}

#care-plan .care-plan-price-card .big-price,
#care-plan .care-hero .big-price {
  font-size: 2.8rem;
  margin: 0 0 8px;
  text-align: center;
}

#care-plan .cards {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

#care-plan .notice {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

#care-plan > p,
#care-plan a.button {
  display: block;
  text-align: center;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

/* Also center other pricing section headings for consistency */
.container.page .section-heading {
  text-align: left;
}
/* Care plan only centered as highlight block */


/* Step 4 — Problem Library feature on Home */
.pl-feature {
  padding: 48px 0 !important;
}
.pl-feature-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 36px 28px;
  box-shadow: 0 10px 30px rgba(15, 47, 78, 0.06);
}
.pl-feature-copy .eyebrow {
  color: #2674ad;
}
.pl-feature-copy h2 {
  margin: 8px 0 12px;
}
.pl-feature-copy p {
  color: var(--muted);
  line-height: 1.65;
  margin: 0 0 20px;
}

/* Final mobile polish */
@media (max-width: 700px) {
  .pl-feature-inner {
    padding: 28px 20px;
  }
  .pricing-callout .actions {
    flex-direction: column;
    width: 100%;
  }
  .pricing-callout .actions .btn {
    width: 100%;
  }
  .home-hero .hero-pills {
    justify-content: center;
  }
}


/* Problem Library uniformity */
.library-hero.page-hero,
.problem-library-nav + .page-hero {
  text-align: center;
}
.problem-content {
  max-width: 760px;
  margin: 0 auto;
  padding: 32px 0 56px;
}
.problem-content h2 {
  margin: 28px 0 12px;
  font-size: 1.35rem;
}
.problem-content p,
.problem-content li {
  line-height: 1.65;
  color: var(--ink);
}
.problem-content ul,
.problem-content ol {
  padding-left: 1.25rem;
}
.problem-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 16px;
}
.problem-library-back-link {
  font-weight: 750;
  text-decoration: none;
  color: var(--green);
}
.problem-library-back-link:hover {
  text-decoration: underline;
}


/* Problem Library — Stop here attention box */
.stop-box {
  margin: 28px 0;
  padding: 20px 20px 18px;
  border-radius: 16px;
  background: #fdecec;
  border: 1.5px solid #e5a0a0;
  border-left: 6px solid #c62828;
}
.stop-box h2 {
  margin: 0 0 10px !important;
  color: #b71c1c !important;
  font-size: 1.25rem !important;
}
.stop-box p,
.stop-box li {
  color: #5c2020 !important;
  margin: 0 0 8px;
}
.stop-box p:last-child {
  margin-bottom: 0;
}
.stop-box-label {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #b71c1c;
  margin-bottom: 8px;
}


/* Fix accordion toggle overlapping text */
.services-other-accordion > summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.services-other-accordion > summary > span:first-child {
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 8px;
}
.services-accordion-toggle {
  flex: 0 0 40px;
  margin-top: 4px;
}
@media (max-width: 700px) {
  .services-other-accordion > summary {
    padding: 18px 16px;
    gap: 12px;
  }
  .services-accordion-toggle {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
    font-size: 1.4rem;
    margin-top: 2px;
  }
  .services-other-accordion > summary strong {
    font-size: 1.25rem;
    padding-right: 4px;
  }
}


/* Match Other services accordion to primary card style */
.services-other-accordion {
  border: 1px solid #e4eaf1;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 8px 26px rgba(15, 47, 78, 0.06);
  overflow: hidden;
}
.services-other-accordion > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px;
  background: #fff;
  cursor: pointer;
  list-style: none;
}
.services-other-accordion > summary small {
  color: #4e7893;
  font-weight: 800;
  letter-spacing: 0.08em;
  font-size: 0.72rem;
}
.services-other-accordion > summary strong {
  color: #183858;
  font-size: 1.35rem;
  font-weight: 800;
}
.services-other-accordion > summary em {
  color: #596d80;
  font-style: normal;
  font-size: 0.98rem;
}
.services-other-accordion .services-accordion-toggle {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e7f1f7;
  color: #286687;
  font-size: 1.5rem;
  display: grid;
  place-items: center;
}
.services-other-accordion[open] > summary .services-accordion-toggle {
  background: #276d91;
  color: #fff;
}
.services-other-section {
  padding-top: 16px;
  padding-bottom: 40px;
}


/* Force Other services to match Business Help card exactly */
.services-other-accordion {
  background: #fff !important;
  border: 1px solid rgba(24,52,86,.10) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 28px rgba(20,45,75,.07) !important;
}
.services-other-accordion > summary {
  background: #fff !important;
  padding: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.services-other-accordion > summary small {
  color: #56718a !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
}
.services-other-accordion > summary strong {
  color: #183858 !important;
  font-size: 1.35rem !important;
}
.services-other-accordion > summary em {
  color: #53657a !important;
  font-size: 1rem !important;
}
.services-other-accordion .services-accordion-toggle {
  background: #e7f1f7 !important;
  color: #286687 !important;
  width: 34px !important;
  height: 34px !important;
  font-size: 1.35rem !important;
  border-radius: 50% !important;
  transition: transform 0.18s ease !important;
}
.services-other-accordion[open] .services-accordion-toggle {
  transform: rotate(45deg) !important;
  background: #e7f1f7 !important;
  color: #286687 !important;
}
.services-other-accordion[open] > summary {
  background: #fff !important;
}


/* Uniform card shape — match Business Help exactly */
.services-other-accordion {
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid rgba(24,52,86,.10) !important;
  box-shadow: 0 10px 28px rgba(20,45,75,.07) !important;
  overflow: hidden !important;
}
.services-other-accordion > summary {
  border-radius: 22px 22px 0 0 !important;
  background: #fff !important;
  padding: 26px !important;
  min-height: auto !important;
}
.services-other-accordion:not([open]) > summary {
  border-radius: 22px !important;
}
.services-other-accordion .services-accordion-content {
  background: #fff !important;
  padding: 0 26px 26px !important;
}
.services-other-section {
  padding-top: 16px !important;
  padding-bottom: 40px !important;
}


/* Final fix: button never overlaps text */
.services-other-accordion > summary {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 22px 20px !important;
  position: relative !important;
}
.services-other-accordion > summary > span:first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding-right: 48px !important;
}
.services-other-accordion .services-accordion-toggle {
  position: absolute !important;
  top: 22px !important;
  right: 16px !important;
  flex: none !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  background: #e7f1f7 !important;
  color: #286687 !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  font-size: 1.3rem !important;
  z-index: 2 !important;
}
.services-other-accordion[open] .services-accordion-toggle {
  transform: rotate(45deg) !important;
  background: #e7f1f7 !important;
  color: #286687 !important;
}


/* Customer Support section cleanup */
.support-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
}
.support-actions .btn {
  width: 100%;
  max-width: 280px;
  text-align: center;
}
.support-card,
.section-block .notice {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 24px 22px;
  box-shadow: 0 8px 24px rgba(15, 47, 78, 0.05);
  max-width: 640px;
  margin: 0 auto;
}
.support-card p,
.section-block .notice p {
  margin: 0 0 14px;
  line-height: 1.65;
  color: var(--ink);
}
.support-card p:last-child,
.section-block .notice p:last-child {
  margin-bottom: 0;
}
.support-note {
  font-size: 0.92rem;
  color: var(--muted) !important;
}
@media (min-width: 700px) {
  .support-actions {
    flex-direction: row;
    max-width: none;
    justify-content: center;
  }
  .support-actions .btn {
    width: auto;
    min-width: 180px;
  }
}


/* Force article-cta text to be readable on navy */
.article-cta,
.article-cta h2,
.article-cta p {
  color: #fff !important;
}
.article-cta p {
  color: #e8eef7 !important;
  opacity: 1 !important;
}
.article-cta .btn {
  margin-top: 16px;
}


/* Problem Library article pages — uniform background + readable CTA */
body:has(.problem-content),
.problem-library-article {
  background: #f7fafc !important;
}
.problem-content {
  background: #fff;
  border-radius: 18px;
  padding: 32px 28px 48px;
  margin: 24px auto 48px;
  max-width: 760px;
  box-shadow: 0 4px 20px rgba(15, 47, 78, 0.04);
}
.page-hero {
  background: linear-gradient(135deg, #f8fbff, #fff) !important;
}

/* Force CTA text readable */
.article-cta {
  background: #0c2b46 !important;
  color: #fff !important;
}
.article-cta h2,
.article-cta p,
.article-cta li {
  color: #fff !important;
}
.article-cta p {
  color: #e8eef7 !important;
}
.article-cta .btn.primary {
  background: #38845b !important;
  color: #fff !important;
  margin-top: 18px;
}


/* Footer text — force readable on dark background */
footer {
  background: #06152f !important;
  color: #e8eef7 !important;
}
footer h3,
.foot h3 {
  color: #ffffff !important;
  font-weight: 800 !important;
}
footer p,
.foot p,
footer a,
.foot a {
  color: #e8eef7 !important;
}
footer a:hover,
.foot a:hover {
  color: #ffffff !important;
}
.small,
footer .small {
  color: #c9d6e8 !important;
}

