/* Q-switched ruby spot landing page */
.ruby-spot-page{background:linear-gradient(160deg,#eff8fd,#fff 33%,#f4fbff);color:#173c59}.ruby-spot-wrap{max-width:1050px;padding-top:54px;padding-bottom:90px}.ruby-spot-head{text-align:center;margin:0 auto 32px}.ruby-spot-head span{font-size:.74rem;letter-spacing:.22em;color:#398cb4;font-weight:700}.ruby-spot-head h1{font:500 clamp(1.65rem,3.4vw,2.55rem)/1.4 var(--serif);margin:12px 0}.ruby-spot-head h2{font:500 clamp(1.2rem,2.5vw,1.8rem)/1.5 var(--serif);margin:10px 0}.ruby-spot-head p{color:#436b84}.ruby-spot-poster{margin:0 auto 38px;max-width:900px}.ruby-spot-poster img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 16px 44px rgba(29,89,124,.12)}.ruby-spot-details{max-width:900px;margin:auto;padding:38px 42px;border:1px solid #cce6f1;border-radius:24px;background:#fff}.ruby-spot-details h2{font:500 clamp(1.18rem,2.5vw,1.6rem)/1.5 var(--serif);margin:28px 0 15px}.ruby-spot-details h2:first-child{margin-top:0}.ruby-spot-details p{line-height:1.85}.ruby-spot-fees{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ruby-spot-fees p{display:flex;flex-direction:column;gap:6px;background:#edf8ff;border-radius:12px;padding:14px 18px;margin:0}.ruby-spot-fees strong{font-size:1.3rem;color:#0878b8}.ruby-spot-note{font-size:.9rem;color:#526a7e}.ruby-spot-bottom{text-align:center;margin-top:35px}.ruby-spot-bottom a{display:inline-block;padding:12px 30px;border-radius:999px;background:#245f84;color:#fff}@media(max-width:760px){.ruby-spot-wrap{padding-top:30px;padding-bottom:65px}.ruby-spot-details{padding:22px 18px}.ruby-spot-fees{grid-template-columns:1fr}.ruby-spot-poster img{border-radius:10px}}

/* Services navigation, using the homepage treatment taxonomy and links. */
.ruby-treatment-nav{max-width:900px;margin:36px auto 0;padding:30px;background:#f0f9fd;border-radius:22px;border:1px solid #cbe4ef}
.ruby-treatment-nav-heading{text-align:center;margin-bottom:22px}
.ruby-treatment-nav-heading>span{font-weight:700;color:#428bab;font-size:11px;letter-spacing:.15em}
.ruby-treatment-nav-heading h2{font:500 clamp(1.35rem,2.8vw,1.85rem)/1.45 var(--serif);color:#183c56;margin:6px 0 0}
.ruby-treatment-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ruby-treatment-link{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;color:#225c7e;background:white;border:1px solid #c7e2ee;border-radius:12px;padding:15px 14px;font-size:.87rem;font-weight:700;line-height:1.5;min-width:0;transition:background .2s,border-color .2s}
.ruby-treatment-link span{color:#4b9abc;flex:none}
.ruby-treatment-link:hover,.ruby-treatment-link:focus-visible{background:#e1f3fa;border-color:#70b9d5}
.ruby-treatment-link.is-current{background:#d9edf8;border-color:#81bbd5}
@media(max-width:760px){.ruby-treatment-nav{padding:22px 14px}.ruby-treatment-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ruby-treatment-link{font-size:.76rem;padding:12px 10px}}
@media(max-width:355px){.ruby-treatment-links{grid-template-columns:1fr}}

/* v0.2.19: match the homepage pill-style treatment buttons, without heading */
.ruby-spot-page .ruby-treatment-nav{padding:22px 24px;background:transparent;border:0;border-radius:0;}
.ruby-spot-page .ruby-treatment-links{display:flex;flex-wrap:wrap;gap:10px;}
.ruby-spot-page .ruby-treatment-links .ruby-treatment-link{display:inline-flex;align-items:center;justify-content:center;gap:0;width:auto;flex:none;padding:11px 17px;border:0;border-radius:999px;background:var(--rose-pale);color:#2d6578;font-size:.8rem;font-weight:700;line-height:1.5;box-shadow:none;}
.ruby-spot-page .ruby-treatment-links .ruby-treatment-link:hover,.ruby-spot-page .ruby-treatment-links .ruby-treatment-link:focus-visible{background:#c9eaf3;color:#245f84;}
.ruby-spot-page .ruby-treatment-links .ruby-treatment-link.is-current{background:var(--rose-pale);color:#2d6578;}
@media(max-width:760px){.ruby-spot-page .ruby-treatment-nav{padding:14px 0;}.ruby-spot-page .ruby-treatment-links{gap:10px;}.ruby-spot-page .ruby-treatment-links .ruby-treatment-link{font-size:.8rem;padding:11px 17px;}}

/* v0.2.20: calm medical fee schedule; replaces the old bright cards and poster */
.ruby-spot-page{background:#fff;color:#2e4050}
.ruby-spot-page .ruby-spot-wrap{max-width:1020px;padding-top:44px}
.ruby-spot-page .ruby-spot-head{text-align:left;max-width:920px;margin:0 auto 35px;padding-bottom:22px;border-bottom:1px solid #e2e8eb}
.ruby-spot-page .ruby-spot-head span{font-size:.7rem;color:#66808d;letter-spacing:.15em}
.ruby-spot-page .ruby-spot-head h1{color:#17364d;font-size:clamp(1.6rem,3vw,2.35rem);margin:11px 0 9px}
.ruby-spot-page .ruby-spot-head p{color:#596f80;margin:0}
.ruby-spot-page .ruby-spot-details{max-width:920px;border:0;background:transparent;border-radius:0;box-shadow:none;padding:0 0 25px}
.ruby-spot-page .ruby-spot-section-label{font-family:var(--serif);font-size:1.65rem;color:#233e50;margin:0 0 26px;font-weight:600}
.ruby-spot-page .ruby-spot-bar{font:700 1.05rem/1.5 var(--sans);background:#ecf1f2;color:#43545d;margin:0;padding:11px 13px;border-radius:0}
.ruby-spot-page .ruby-spot-bar-next{margin-top:42px}
.ruby-spot-page .ruby-spot-fee-table{display:block;width:100%;border-top:1px solid #d5dfe3}
.ruby-spot-page .ruby-spot-fee-row{display:grid;grid-template-columns:minmax(155px,27%) 1fr;align-items:center;min-height:62px;border-bottom:1px solid #d8e0e3}
.ruby-spot-page .ruby-spot-fee-row span{display:flex;align-items:center;min-height:32px;padding:12px 16px;border-right:1px solid #d8e0e3;font-size:.89rem;font-weight:700;color:#394c58}
.ruby-spot-page .ruby-spot-fee-row strong{padding:10px 30px;font-size:1.05rem;letter-spacing:.08em;color:#2b475b;font-weight:500}
.ruby-spot-page .ruby-spot-tax{margin:13px 0 8px;font-size:.79rem;color:#61717e}
.ruby-spot-page .ruby-spot-note{font-size:.86rem;line-height:1.85;color:#586b7a;margin:6px 0 13px}
.ruby-spot-page .ruby-spot-intro{margin:19px 0 20px}
.ruby-spot-page .ruby-spot-subtitle{font-size:1.07rem;color:#29495c;margin:20px 0 12px;padding-left:11px;border-left:3px solid #91aebd}
.ruby-spot-page .ruby-treatment-nav{max-width:920px;margin:10px auto 0}
@media(max-width:760px){
 .ruby-spot-page .ruby-spot-wrap{padding-top:27px}
 .ruby-spot-page .ruby-spot-head{margin-bottom:27px;padding-bottom:17px}
 .ruby-spot-page .ruby-spot-section-label{font-size:1.4rem;margin-bottom:19px}
 .ruby-spot-page .ruby-spot-fee-row{grid-template-columns:minmax(124px,45%) 1fr;min-height:57px}
 .ruby-spot-page .ruby-spot-fee-row span{padding:10px 9px;font-size:.79rem}
 .ruby-spot-page .ruby-spot-fee-row strong{padding:10px 13px;font-size:.98rem;letter-spacing:0}
}


/* v0.2.30: machine explainer and case gallery */
.ruby-spot-page .ruby-spot-education,.ruby-spot-page .ruby-spot-cases{max-width:920px;margin:0 auto 16px;padding:0 0 28px}
.ruby-spot-page .ruby-machine-hero{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:28px;align-items:center;margin:6px 0 26px;padding:26px;border:1px solid #dde7ec;border-radius:24px;background:#f8fbfc}
.ruby-spot-page .ruby-machine-photo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e3eaee;border-radius:18px;padding:18px;min-height:280px}
.ruby-spot-page .ruby-machine-photo img{display:block;max-width:100%;width:100%;height:auto;max-height:440px;object-fit:contain}
.ruby-spot-page .ruby-machine-copy h2,.ruby-spot-page .ruby-spot-cases-heading{font:600 clamp(1.25rem,2.5vw,1.7rem)/1.5 var(--serif);color:#233e50;margin:0 0 14px}
.ruby-spot-page .ruby-machine-copy p{line-height:1.9;margin:0 0 12px}
.ruby-spot-page .ruby-machine-copy ul{margin:0 0 14px 1.2em;color:#364c5b}
.ruby-spot-page .ruby-machine-copy li{margin:6px 0;line-height:1.8}
.ruby-spot-page .ruby-image-grid{display:grid;gap:18px;margin:0 0 18px}
.ruby-spot-page .ruby-image-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ruby-spot-page .ruby-figure,.ruby-spot-page .ruby-case-card{margin:0;background:#fff;border:1px solid #dfe7eb;border-radius:18px;overflow:hidden;box-shadow:0 10px 24px rgba(20,58,84,.05)}
.ruby-spot-page .ruby-figure img,.ruby-spot-page .ruby-case-card img{display:block;width:100%;height:auto}
.ruby-spot-page .ruby-figure figcaption,.ruby-spot-page .ruby-case-card figcaption{padding:12px 15px 15px;color:#58707f;font-size:.84rem;line-height:1.75}
.ruby-spot-page .ruby-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}
.ruby-spot-page .ruby-case-card figcaption strong{display:block;color:#264457;font-size:1rem;font-weight:700;margin-bottom:4px}
.ruby-spot-page .ruby-case-card figcaption span{display:block;font-size:.82rem;color:#6c7f8a}
.ruby-spot-page .ruby-case-update-note{margin-top:12px;font-size:.86rem;color:#586b7a}
@media(max-width:760px){
 .ruby-spot-page .ruby-machine-hero{grid-template-columns:1fr;gap:18px;padding:18px}
 .ruby-spot-page .ruby-machine-photo{min-height:0;padding:12px}
 .ruby-spot-page .ruby-image-grid--two,.ruby-spot-page .ruby-case-grid{grid-template-columns:1fr}
 .ruby-spot-page .ruby-spot-education,.ruby-spot-page .ruby-spot-cases{padding-bottom:20px}
}


/* v0.2.31: use original clinic-style generated diagrams */
.ruby-spot-page .ruby-spot-intro-note{margin:0 0 18px;max-width:920px}
.ruby-spot-page .ruby-image-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:760px){.ruby-spot-page .ruby-image-grid--two{grid-template-columns:1fr}}

.ruby-spot-page .ruby-sole-explainer{max-width:920px;margin:20px auto 0}.ruby-spot-page .ruby-sole-explainer img{width:100%;height:auto;display:block}

/* v0.2.36: equipment explainer and anchor */
.ruby-spot-page #equipment-details{scroll-margin-top:100px}
.ruby-spot-page .ruby-equipment-overview{display:grid;grid-template-columns:minmax(200px,30%) minmax(0,1fr);gap:28px;align-items:center;margin:20px 0 28px;padding:24px;background:#f7fafc;border:1px solid #dfebf0;border-radius:18px}
.ruby-spot-page .ruby-equipment-photo{margin:0;text-align:center}
.ruby-spot-page .ruby-equipment-photo img{display:block;width:100%;height:auto;max-height:390px;object-fit:contain}
.ruby-spot-page .ruby-equipment-photo figcaption{font-size:.82rem;color:#61717e;margin-top:9px}
.ruby-spot-page .ruby-equipment-description h3{font-size:1.1rem;color:#233e50;margin:14px 0 7px}
.ruby-spot-page .ruby-equipment-description p,.ruby-spot-page .ruby-equipment-description li{line-height:1.85}
.ruby-spot-page .ruby-equipment-description ul{padding-left:1.3em;margin:6px 0 12px}
@media(max-width:760px){.ruby-spot-page .ruby-equipment-overview{grid-template-columns:1fr;padding:16px;gap:12px}.ruby-spot-page .ruby-equipment-photo img{max-height:320px}}

/* v0.2.37: machine anchor and temporary ruby fractional availability status */
#equipment-details { scroll-margin-top: 30px; }
.ruby-fractional-status { margin: 10px 0 15px; font-weight: 700; color: #315e76; }

/* v0.2.38: account for sticky header on equipment deep links */
.ruby-spot-page #equipment-details,.ruby-spot-page #ruby-spot-about-machine{scroll-margin-top:135px}

/* Other-clinic suture removal: shared ruby LP layout */
.taki-removal-page .taki-removal-example{padding:16px 20px;background:#f4f8fa;border-left:3px solid #91aebd;line-height:1.9;overflow-wrap:anywhere}
.taki-removal-page .taki-removal-example strong{color:#245f84;font-size:1.22rem;white-space:nowrap}
.taki-removal-page .taki-removal-risk-list{margin:18px 0;padding-left:1.5em;color:#394e5b;line-height:1.9}
.taki-removal-page .taki-removal-risk-list li{margin-bottom:10px}
@media(max-width:760px){.taki-removal-page .taki-removal-example{padding:13px 12px;font-size:.88rem}}
