/* Scoped refinements: preserve the live theme's type, content and campaign layouts. */
.jcd-site-appointment{max-width:1600px;margin-inline:auto}

.jcd-site-appointment{overflow:hidden}
.jcd-site-appointment>div:first-child img{object-fit:fill}
.jcd-service-banner{isolation:isolate;min-height:300px;background-size:cover;background-position:center;box-shadow:0 8px 24px rgb(21 66 89 / 12%)}
.jcd-service-banner__shade{background:linear-gradient(90deg,rgb(8 33 48 / 70%),rgb(8 33 48 / 50%),rgb(8 33 48 / 63%));z-index:0}
.jcd-service-banner h1,.jcd-service-banner p{color:#fff;text-shadow:0 2px 14px rgb(0 0 0 / 38%)}
.jcd-service-banner>div:last-child{max-width:1000px}
.jcd-service-results .jcd-comparison-card{max-width:680px;margin-inline:auto}
.jcd-service-results .jcd-comparison-frame{aspect-ratio:3/2}
.jcd-service-page :is(.jcd-service-details,.jcd-service-results){padding:40px}
/* Comparison layers retain identical full-frame dimensions while the divider moves. */
.jcd-comparison-card{--comparison-position:50%;margin:0;min-width:0;padding:12px;background:#f0f9fc;border:1px solid #d3e8f0;border-radius:22px;overflow:hidden;color:#111827}
.jcd-comparison-frame{position:relative;isolation:isolate;aspect-ratio:3/2;overflow:hidden;border-radius:14px;background:#fff}
.jcd-comparison-layer{position:absolute;inset:0;overflow:hidden;background:#fff}
.jcd-comparison-photo{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
.jcd-comparison-card--contained .jcd-comparison-photo{object-fit:contain}
.jcd-comparison-before{clip-path:inset(0 calc(100% - var(--comparison-position)) 0 0)}
.jcd-comparison-label{position:absolute;top:12px;z-index:2;max-width:44%;padding:6px 11px;border-radius:20px;background:#164b63;color:#fff;font-size:12px;font-weight:600;line-height:1.35;pointer-events:none}
.jcd-comparison-label--before{left:12px}.jcd-comparison-label--after{right:12px;text-align:right}
.jcd-comparison-divider{position:absolute;left:var(--comparison-position);top:0;bottom:0;z-index:2;width:2px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 3px rgb(0 0 0 / 25%)}
.jcd-comparison-handle{position:absolute;left:var(--comparison-position);bottom:12px;z-index:3;display:grid;place-items:center;width:44px;height:44px;border:3px solid #fff;border-radius:50%;background:#164b63;color:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 2px 8px rgb(0 0 0 / 20%)}
.jcd-comparison-handle svg{width:24px;height:24px}
.jcd-comparison-range{opacity:0;position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:14px;background:transparent;appearance:none;-webkit-appearance:none;cursor:ew-resize;touch-action:pan-y}
.jcd-comparison-range::-webkit-slider-runnable-track{height:100%;background:transparent}
.jcd-comparison-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:1px;height:100%;background:transparent;border:0}
.jcd-comparison-range::-moz-range-track{height:100%;background:transparent;border:0}
.jcd-comparison-range::-moz-range-thumb{width:1px;height:100%;background:transparent;border:0}
.jcd-comparison-frame:focus-within{outline:3px solid #08749f;outline-offset:3px}
.jcd-comparison-card figcaption{padding:18px 10px 10px}
.jcd-comparison-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.jcd-comparison-meta>span{color:#17516b;font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.jcd-comparison-meta a{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:8px;min-height:44px;padding:9px 12px;border-radius:24px;background:#fff;color:#164b63;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none}
.jcd-comparison-meta a:hover{background:#d9f1fb}
.jcd-comparison-meta svg{width:18px;height:18px}
.jcd-comparison-card h3{margin:0 0 10px;font-size:20px;line-height:1.4;font-weight:600;letter-spacing:-.015em}
.jcd-comparison-card .jcd-comparison-note{margin:0;font-size:12px;line-height:1.6;color:#536571}
.jcd-gallery-section{padding:56px 24px 72px}
.jcd-gallery-wrap{max-width:var(--max-w-container,1200px);margin-inline:auto}
.jcd-gallery-intro{max-width:760px;margin:0 auto 28px;text-align:center}
.jcd-gallery-intro h2{margin-bottom:16px}
.jcd-gallery-intro p{color:#4b5563;line-height:1.75}
.jcd-gallery-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px}
.jcd-gallery-filters button{min-height:44px;padding:10px 16px;border:1px solid #c4dce6;border-radius:24px;background:#fff;color:#164b63;font:inherit;font-size:14px;line-height:1.5;cursor:pointer}
.jcd-gallery-filters button[aria-pressed="true"]{background:#164b63;border-color:#164b63;color:#fff}
.jcd-gallery-filters button:hover{border-color:#08749f}
.jcd-gallery-status{margin:0 0 24px;text-align:center;color:#536571;font-size:14px}
.jcd-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.jcd-gallery-page [hidden],.jcd-service-page [hidden]{display:none!important}
.jcd-gallery-page :where(a,button,input):focus-visible{outline:3px solid #08749f;outline-offset:3px}
@media(max-width:1023px){.jcd-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jcd-service-page :is(.jcd-service-details,.jcd-service-results){padding:24px}}
@media(max-width:639px){.jcd-gallery-grid{grid-template-columns:minmax(0,1fr)}.jcd-gallery-section{padding:40px 16px 48px}.jcd-service-page :is(.jcd-service-details,.jcd-service-results){padding:20px}.jcd-comparison-card figcaption{padding:16px 6px 8px}.jcd-gallery-filters{justify-content:flex-start}.jcd-gallery-filters button{padding-inline:13px}.jcd-service-banner{min-height:300px}}
@media(prefers-reduced-motion:reduce){.jcd-comparison-card *{scroll-behavior:auto;transition:none}}
