/* OrthoBoost phase-2 service-page styles (shared by every _build/v2 body). Scoped to #ob-page. */
#ob-page{--ob-primary:#66B2E4;--ob-navy:#095486;--ob-navy-deep:#063a5e;--ob-off:#FBFBFB;--ob-tint:#EEF6FC;--ob-ink:#111111;--ob-muted:#4B4F58;--ob-line:#dfe6ec;--ob-max:1200px;
  font-family:"Roboto",Sans-serif;color:var(--ob-ink);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
#ob-page *,#ob-page *::before,#ob-page *::after{box-sizing:border-box}
#ob-page img{max-width:100%;display:block;height:auto}
#ob-page a{color:var(--ob-navy);text-decoration:none}
#ob-page p{margin:0 0 16px}
#ob-page h1,#ob-page h2,#ob-page h3{font-family:"Montserrat",Sans-serif;color:var(--ob-ink);line-height:1.15;margin:0;letter-spacing:-.01em}
#ob-page h1{font-size:clamp(2rem,4vw,3rem);font-weight:500}
#ob-page h2{font-size:clamp(1.6rem,3vw,2.25rem);font-weight:500}
#ob-page h3{font-size:1.2rem;font-weight:600}
#ob-page .ob-accent{color:var(--ob-navy);font-weight:600}
#ob-page .ob-wrap{max-width:var(--ob-max);margin:0 auto;padding:0 26px}
#ob-page .ob-section{padding:88px 0}
#ob-page .ob-eyebrow{font-family:"Roboto",Sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ob-navy);margin:0 0 12px}
#ob-page .ob-divider{width:54px;height:3px;background:var(--ob-primary);margin:18px 0 22px}
#ob-page .ob-btn{display:inline-block;font-family:"Roboto",Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1;padding:19px 30px;border:1px solid var(--ob-navy);background:var(--ob-navy);color:#fff;cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-align:center}
#ob-page .ob-btn:hover,#ob-page .ob-btn:focus{background:var(--ob-navy-deep);border-color:var(--ob-primary);color:#fff}
#ob-page .ob-btn-outline{background:transparent;color:var(--ob-navy);border-color:var(--ob-navy)}
#ob-page .ob-btn-outline:hover,#ob-page .ob-btn-outline:focus{background:var(--ob-navy);color:#fff}
#ob-page .ob-btn-white{background:#fff;color:var(--ob-navy);border-color:#fff}
#ob-page .ob-btn-white:hover,#ob-page .ob-btn-white:focus{background:var(--ob-primary);border-color:var(--ob-primary);color:#fff}
#ob-page .ob-textlink{font-weight:600;color:var(--ob-navy);border-bottom:2px solid var(--ob-primary);padding-bottom:2px}
#ob-page .ob-textlink:hover{color:var(--ob-primary)}
#ob-page ul.ob-list{list-style:none;margin:0 0 20px;padding:0}
#ob-page ul.ob-list li{position:relative;padding-left:30px;margin-bottom:12px}
#ob-page ul.ob-list li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;background:var(--ob-primary);box-shadow:inset 0 0 0 4px #fff,0 0 0 1px var(--ob-navy)}
#ob-page ul.ob-list b{color:var(--ob-navy)}

/* hero */
#ob-page .ob-hero{background:linear-gradient(180deg,var(--ob-tint) 0%,#fff 100%);padding:64px 0 72px}
#ob-page .ob-hero .ob-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
#ob-page .ob-hero .ob-sub{font-size:1.12rem;color:var(--ob-muted);margin:22px 0 30px;max-width:560px}
#ob-page .ob-hero-btns{display:flex;gap:14px;flex-wrap:wrap}
#ob-page .ob-hero img{width:100%;box-shadow:0 24px 60px rgba(9,84,134,.18);object-fit:cover;aspect-ratio:3/2}

/* trust bar */
#ob-page .ob-trust{background:var(--ob-navy);color:#fff}
#ob-page .ob-trust .ob-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
#ob-page .ob-trust .ob-cell{padding:26px 22px;text-align:center;border-left:1px solid rgba(255,255,255,.14)}
#ob-page .ob-trust .ob-cell:first-child{border-left:0}
#ob-page .ob-trust b{display:block;font-family:"Montserrat",Sans-serif;font-size:1.5rem;font-weight:600;line-height:1.1;color:#fff}
#ob-page .ob-trust span{display:block;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#ffffff;margin-top:6px}

/* zigzag */
#ob-page .ob-zig{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
#ob-page .ob-zig.ob-rev .ob-ztext{order:2}
#ob-page .ob-zig img{width:100%;height:100%;object-fit:cover;max-height:520px;box-shadow:0 24px 60px rgba(9,84,134,.16)}
#ob-page .ob-zig img.ob-tall{max-height:640px;object-position:center 15%}
#ob-page .ob-zig h2{margin-top:4px}
#ob-page .ob-band-tint{background:var(--ob-tint)}
#ob-page .ob-check{background:#fff;padding-top:0}
#ob-page .ob-checkgrid{list-style:none;margin:30px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1080px}
#ob-page .ob-checkgrid li{background:var(--ob-off);border:1px solid var(--ob-line);border-top:3px solid var(--ob-primary);padding:20px 22px 20px 50px;position:relative;font-size:1rem;line-height:1.5}
#ob-page .ob-checkgrid li::before{content:"\2713";position:absolute;left:20px;top:19px;font-weight:700;color:var(--ob-navy)}

/* CTA band */
#ob-page .ob-cta{background:var(--ob-navy);color:#fff;text-align:center;padding:72px 0}
#ob-page .ob-cta h2{color:#fff;margin-bottom:14px}
#ob-page .ob-cta p{color:#ffffff;max-width:640px;margin:0 auto 28px}

/* request form */
#ob-page .ob-request{background:#fff}
#ob-page .ob-request .ob-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
#ob-page .ob-request .ob-phone{font-family:"Montserrat",Sans-serif;font-size:1.6rem;font-weight:600;color:var(--ob-navy);display:inline-block;margin:4px 0 18px}
#ob-page .ob-meta{color:var(--ob-muted);font-size:.95rem}
#ob-page .ob-quote{border-left:3px solid var(--ob-primary);padding:6px 0 6px 20px;margin-top:28px}
#ob-page .ob-quote .ob-stars{color:#b7791f;letter-spacing:3px;margin-bottom:8px;font-size:1.05rem}
#ob-page .ob-quote p{font-style:italic;color:var(--ob-ink);margin:0 0 8px}
#ob-page .ob-quote b{font-size:.9rem;color:var(--ob-navy)}
#ob-page .ob-form{background:var(--ob-off);border:1px solid var(--ob-line);padding:32px;box-shadow:0 18px 50px rgba(9,84,134,.10)}
#ob-page .ob-form h3{margin-bottom:4px}
#ob-page .ob-form .ob-fsub{font-size:.92rem;color:var(--ob-muted);margin-bottom:18px}
#ob-page .ob-form label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ob-navy);margin:0 0 6px}
#ob-page .ob-form input[type=text],#ob-page .ob-form input[type=email],#ob-page .ob-form input[type=tel]{width:100%;min-height:48px;padding:12px 15px;border:1px solid var(--ob-line);background:#fff;font-family:"Roboto",Sans-serif;font-size:1rem;margin-bottom:14px;color:var(--ob-ink)}
#ob-page .ob-form input:focus{outline:2px solid var(--ob-primary);outline-offset:1px;border-color:var(--ob-primary)}
#ob-page .ob-form .ob-btn{width:100%;margin-top:4px}
#ob-page .ob-form .ob-note{font-size:.74rem;color:var(--ob-muted);text-align:center;margin:12px 0 0;line-height:1.5}
#ob-page .form-msg{display:none;margin:12px 0 0;font-size:.95rem;text-align:center}
#ob-page .form-msg.ok{display:block;color:#1c7c3e}
#ob-page .form-msg.err{display:block;color:#b3261e}

/* map */
#ob-page .ob-findus{text-align:center}
#ob-page .ob-findus p{color:var(--ob-muted);max-width:640px;margin:14px auto 0}
#ob-page .ob-mapwrap{position:relative;margin-top:34px;height:clamp(300px,42vw,440px);overflow:hidden;border:1px solid var(--ob-line);box-shadow:0 18px 50px rgba(9,84,134,.12)}
#ob-page .ob-mapwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
#ob-page .ob-hours{display:inline-grid;grid-template-columns:auto auto;gap:6px 22px;margin-top:22px;text-align:left;font-size:.95rem}
#ob-page .ob-hours b{color:var(--ob-navy);font-weight:600}

/* FAQ */
#ob-page .ob-faq{max-width:860px;margin:0 auto}
#ob-page .ob-faq details{border:1px solid var(--ob-line);background:#fff;margin-bottom:12px}
#ob-page .ob-faq summary{cursor:pointer;list-style:none;padding:18px 54px 18px 22px;font-family:"Montserrat",Sans-serif;font-weight:600;font-size:1.05rem;color:var(--ob-navy);position:relative}
#ob-page .ob-faq summary::-webkit-details-marker{display:none}
#ob-page .ob-faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.6rem;font-weight:400;color:var(--ob-primary);line-height:1}
#ob-page .ob-faq details[open] summary::after{content:"\2212"}
#ob-page .ob-faq details p{padding:0 22px 18px;margin:0}
#ob-page .ob-faq details p+p{padding-top:0;margin-top:-6px}

/* reveal (progressive; nothing hidden without JS) */
.ob-js #ob-page .ob-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.ob-js #ob-page .ob-reveal.ob-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ob-js #ob-page .ob-reveal{opacity:1;transform:none;transition:none}}

/* mobile */
@media (max-width:900px){
  #ob-page .ob-section{padding:56px 0}
  #ob-page .ob-hero{padding:40px 0 52px}
  #ob-page .ob-hero .ob-grid,#ob-page .ob-zig,#ob-page .ob-request .ob-grid{grid-template-columns:1fr;gap:32px}
  #ob-page .ob-zig.ob-rev .ob-ztext{order:0}
  #ob-page .ob-zig img,#ob-page .ob-zig img.ob-tall{max-height:420px}
  #ob-page .ob-trust .ob-wrap{grid-template-columns:1fr 1fr;padding:0}
  #ob-page .ob-trust .ob-cell{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:20px 12px}
  #ob-page .ob-trust .ob-cell:nth-child(-n+2){border-top:0}
  #ob-page .ob-trust b{font-size:1.25rem}
  #ob-page .ob-hero-btns .ob-btn{width:100%}
  #ob-page .ob-checkgrid{grid-template-columns:1fr}
}
@media (max-width:480px){
  #ob-page .ob-wrap{padding:0 18px}
  #ob-page .ob-form{padding:22px 18px}
}
/* Astra/Elementor neutralisers so the page-builder template stays full width */
.ast-page-builder-template .ast-container{max-width:100%;padding:0}
#ob-page .ob-request .ob-grid{position:relative}

/* ---- phase-2 additions (2026-09-09): photo-free centered band, numbered steps, compare table ---- */
#ob-page .ob-center{max-width:820px;margin:0 auto;text-align:center}
#ob-page .ob-center .ob-divider{margin-left:auto;margin-right:auto}
#ob-page .ob-steps{list-style:none;margin:34px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1080px;counter-reset:step}
#ob-page .ob-steps li{background:#fff;border:1px solid var(--ob-line);padding:26px 24px 24px;position:relative;counter-increment:step;text-align:left}
#ob-page .ob-steps li::before{content:counter(step,decimal-leading-zero);display:block;font-family:"Montserrat",Sans-serif;font-size:1.6rem;font-weight:600;color:var(--ob-primary);margin-bottom:10px;line-height:1}
#ob-page .ob-steps h3{margin-bottom:8px}
#ob-page .ob-steps p{margin:0;font-size:.98rem}
#ob-page .ob-compare{width:100%;border-collapse:collapse;margin:30px auto 0;max-width:900px;font-size:.98rem;background:#fff;border:1px solid var(--ob-line)}
#ob-page .ob-compare th,#ob-page .ob-compare td{padding:14px 16px;border-bottom:1px solid var(--ob-line);text-align:left;vertical-align:top}
#ob-page .ob-compare th{font-family:"Montserrat",Sans-serif;font-weight:600;color:var(--ob-navy);background:var(--ob-tint)}
#ob-page .ob-compare tr:last-child td{border-bottom:0}
#ob-page .ob-logo-row{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;margin-top:26px}
#ob-page .ob-logo-row img{width:auto;height:96px;background:#fff;padding:10px;border:1px solid var(--ob-line)}
#ob-page .ob-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:30px auto 0;max-width:900px}
#ob-page .ob-tablewrap .ob-compare{margin-top:0;min-width:560px}
@media (max-width:900px){#ob-page .ob-steps{grid-template-columns:1fr}}
