/* Manrope is bundled locally; no third-party font request is needed. */
@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/manrope-latin-variable.woff2') format('woff2')}
body.jcd-refined-site{--max-w-container:clamp(1200px,92vw,1760px);--jcd-font:Manrope,Arial,sans-serif;--jcd-title:#173d50;--jcd-accent:#087ca5;font-family:var(--jcd-font);-webkit-font-smoothing:antialiased}
body.jcd-refined-site :where(p,a,button,input,textarea,select,h1,h2,h3,h4,h5,h6){font-family:var(--jcd-font)}
/* The legacy compiled stylesheet fixes headings with !important. Own the scale here. */
body.jcd-refined-site h1{font-size:clamp(2rem,3.4vw,3rem)!important;line-height:1.15!important;font-weight:700!important;letter-spacing:-.04em!important}
body.jcd-refined-site h2{font-size:clamp(1.65rem,2.6vw,2.25rem)!important;line-height:1.22!important;font-weight:700!important;letter-spacing:-.03em!important}
body.jcd-refined-site h3{font-weight:700!important;letter-spacing:-.02em}
body.jcd-refined-site .entry-content h2{font-size:clamp(1.35rem,2vw,1.65rem)!important;line-height:1.35!important}
body.jcd-refined-site .entry-content h3{font-size:1.25rem!important;line-height:1.4!important}
/* Full-width family scene; one responsive photograph and a compact overlapping form. */
.jcd-site-hero{position:relative;isolation:isolate;overflow:hidden;width:100%;padding:140px 0 158px;background:#084c65;color:#f5fcff;text-align:center}
.jcd-site-hero__background{position:absolute;z-index:-2;inset:0;display:block;overflow:hidden}
.jcd-site-hero__background img{position:relative;left:-34%;display:block;width:134%;max-width:none;height:100%;object-fit:cover;object-position:center 62%}
@media(min-width:1800px){.jcd-site-hero__background img{object-position:center 40%}}
.jcd-site-hero::after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 38%,rgb(2 32 48 / 24%),transparent 72%),linear-gradient(180deg,rgb(3 43 60 / 74%),rgb(3 47 65 / 58%) 50%,rgb(3 47 65 / 40%))}
.jcd-site-hero__inner{display:flex;align-items:center;justify-content:center;min-height:400px;padding-block:24px 40px}
.jcd-site-hero__copy{width:100%;min-width:0;max-width:1050px;margin-inline:auto}
.jcd-site-hero__copy .jcd-site-hero__eyebrow{margin:0 0 20px;color:#a5e7fc;font-size:11px;line-height:1.7;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
body.jcd-refined-site .jcd-site-hero h1{max-width:1050px;margin:0 auto;color:#fff;text-shadow:0 3px 20px rgb(0 24 36 / 35%);font-size:clamp(34px,4.3vw,64px)!important;line-height:1.13!important}
.jcd-site-hero h1 span{display:block;color:#a0e8ff}
.jcd-site-hero__copy .jcd-site-hero__lead{max-width:760px;margin:24px auto;color:#eef9ff;font-size:16px;line-height:1.85}
.jcd-site-hero__assurance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,510px);margin:28px auto 0;padding:17px 0;list-style:none;border:1px solid rgb(160 232 255 / 30%);border-radius:14px;background:rgb(3 43 60 / 66%);color:#f5fcff;text-align:left;line-height:1.6}
.jcd-site-hero__assurance li{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:0 24px}
.jcd-site-hero__assurance li+li{border-left:1px solid rgb(160 232 255 / 26%)}
.jcd-site-hero__assurance strong{font-size:14px;font-weight:700;line-height:1.5}
.jcd-site-hero__assurance span{margin-top:3px;color:#b5dce9;font-size:11px;font-weight:400;line-height:1.6}
.jcd-home-booking{position:relative;z-index:3;margin-top:-86px;padding-bottom:30px;background:linear-gradient(180deg,transparent 86px,#f4fbff 86px);scroll-margin-top:105px}
.jcd-home-booking__panel{padding:24px 26px;border:1px solid #b8dfef;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgb(23 101 138 / 10%)}
.jcd-home-booking__heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}
body.jcd-refined-site .jcd-home-booking__heading h2{margin:0 0 5px;color:#173d50;font-size:23px!important;line-height:1.3!important;letter-spacing:-.03em!important}
.jcd-home-booking__heading p{margin:0;color:#526f7e;font-size:12px;line-height:1.7}
.jcd-home-booking__welcome{display:flex;align-items:center;gap:10px;flex-shrink:0;color:#45687b;font-size:11px;font-weight:600}
.jcd-home-booking__welcome svg{width:38px;height:38px;padding:8px;border-radius:11px;background:#e5f6fe;color:#087ca5}
.jcd-home-booking__form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(188px,.95fr);align-items:end;gap:14px}
.jcd-home-booking__form>label{display:block;min-width:0;color:#254e62;font-size:11px;font-weight:700;line-height:1.5}
.jcd-home-booking__form>label>span{color:#087ca5}
.jcd-home-booking__form :is(input:not([type="hidden"]),select){display:block;box-sizing:border-box;width:100%;min-width:0;height:48px;margin-top:7px;padding:11px 12px;border:1px solid #c8e1ed;border-radius:8px;background:#fbfdff;color:#173d50;font-family:inherit;font-size:12px;font-weight:400;line-height:1.5;transition:border-color .18s ease,box-shadow .18s ease}
.jcd-home-booking__form input::placeholder{color:#657d8a;opacity:1}
.jcd-home-booking__form :is(input,select):hover{border-color:#8bcbe4}
.jcd-home-booking__form :is(input,select):focus{border-color:#087ca5;box-shadow:0 0 0 3px rgb(82 193 236 / 16%)}
.jcd-home-booking__form>button{white-space:nowrap}
.jcd-home-booking__form .jcd-form-trap{display:none}
.jcd-home-booking .jcd-contact-status{margin:0 0 20px;padding:14px 16px;border:1px solid #aad6e9;border-radius:10px;background:#edf8fe;color:#173d50;font-size:14px;line-height:1.6}
@media(max-width:1199px){.jcd-home-booking__form{grid-template-columns:repeat(4,minmax(0,1fr))}.jcd-home-booking__form>button{grid-column:1/-1}.jcd-home-booking__welcome{font-size:10px}}

/* Keep the original booking class for tracking; override its compiled !important styles here. */
body.jcd-refined-site .jcd-home-primary,body.jcd-refined-site .jcd-home-primary:visited{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:auto;min-height:52px;padding:var(--jcd-action-padding,13px 20px)!important;border:1px solid #52c1ec!important;border-radius:12px!important;background:#52c1ec!important;color:#173d50!important;-webkit-text-fill-color:#173d50!important;font-size:var(--jcd-action-font,14px)!important;font-weight:700!important;line-height:1.5!important;text-decoration:none!important;box-shadow:none!important;transition:background .2s ease,transform .2s ease,box-shadow .2s ease!important;cursor:pointer}
body.jcd-refined-site .jcd-home-primary:hover{background:#7dcff0!important;border-color:#7dcff0!important;color:#173d50!important;-webkit-text-fill-color:#173d50!important;box-shadow:0 7px 18px rgb(36 137 177 / 12%)!important;transform:translateY(-2px)}
body.jcd-refined-site .jcd-home-primary:active{transform:none;box-shadow:none!important}
body.jcd-refined-site .jcd-home-primary:disabled{cursor:wait;opacity:.65;pointer-events:none;transform:none;box-shadow:none!important}
.jcd-home-primary svg{width:20px;height:20px;flex:0 0 20px}
.jcd-home-phone,.jcd-home-phone:visited{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 16px;border:1px solid #bddfea;border-radius:12px;background:rgb(255 255 255 / 92%);color:#173d50;font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;transition:background .2s ease,border-color .2s ease}
.jcd-home-phone:hover{background:#eefaff;border-color:#6bc6e7}
.jcd-home-phone svg{width:18px;height:18px;color:#087ca5;flex:0 0 18px}
.jcd-site-hero :is(a,input,button):focus-visible{outline-color:#b6ecff!important}
@media(max-width:900px){.jcd-site-hero{padding:124px 0 130px}.jcd-site-hero__inner{min-height:360px;padding-block:24px 32px}.jcd-site-hero__copy{max-width:760px}}
@media(max-width:767px){.jcd-site-hero{padding:108px 0 268px;background:#073f56}.jcd-site-hero__inner{min-height:0;padding-block:0}.jcd-site-hero__background{inset:auto 0 28px;height:250px}.jcd-site-hero__background img{left:-46%;width:150%;object-position:center 70%}.jcd-site-hero::after{background:linear-gradient(180deg,#073f56 0%,#073f56 calc(100% - 300px),rgb(7 63 86 / 4%) calc(100% - 190px),rgb(7 63 86 / 8%) 88%,#073f56 100%)}.jcd-site-hero__copy{max-width:580px}.jcd-site-hero__copy .jcd-site-hero__eyebrow{margin-bottom:14px;font-size:10px}body.jcd-refined-site .jcd-site-hero h1{font-size:clamp(29px,7.7vw,42px)!important;line-height:1.13!important}.jcd-site-hero__copy .jcd-site-hero__lead{max-width:48ch;margin-block:18px;font-size:14px;line-height:1.75}.jcd-site-hero__assurance{max-width:390px;margin-top:20px;padding:12px 0;border-radius:12px;background:rgb(2 39 55 / 72%);text-align:center}.jcd-site-hero__assurance li{padding:0 12px}.jcd-site-hero__assurance strong{font-size:12px}.jcd-site-hero__assurance span{display:none}}
@media(max-width:1023px){.jcd-home-booking{margin-top:-42px;padding-bottom:18px;background:linear-gradient(180deg,transparent 42px,#f4fbff 42px)}.jcd-home-booking__panel{padding:22px 18px;border-radius:18px}.jcd-home-booking__heading{margin-bottom:20px}.jcd-home-booking__welcome{display:none}.jcd-home-booking__heading p{font-size:12px}.jcd-home-booking__form{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.jcd-home-booking__form>button{margin-top:3px}}
@media(max-width:359px){.jcd-home-booking__form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body.jcd-refined-site .jcd-home-primary,.jcd-home-phone{transition:none!important;transform:none!important}}

body.jcd-refined-site :where(a,button,input,textarea,select):focus-visible{outline:3px solid #087ca5;outline-offset:4px}
.jcd-care-section,.jcd-team-section,.jcd-team-index-section{position:relative;isolation:isolate}
.jcd-care-section::before,.jcd-care-section::after,.jcd-team-index-section::before{content:"";position:absolute;z-index:-1;pointer-events:none;right:-180px;top:40px;width:420px;height:600px;background:url(../images/motifs/dental-motif.svg) center/contain no-repeat;opacity:.65}
/* Existing care content in a photo-led introduction, immediately after the hero. */
.jcd-home-about{position:relative;isolation:isolate;overflow:hidden;padding:80px 0;background:#f0f9fd}
.jcd-home-about::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:url('../images/motifs/check-pattern.svg') right top/168px repeat;opacity:.08;mask-image:linear-gradient(90deg,transparent,#000)}
.jcd-home-about__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(48px,6vw,96px)}
.jcd-home-about__media{position:relative;min-width:0;width:100%;max-width:660px;justify-self:center;padding-bottom:34px}
.jcd-home-about__media::before{content:none}
.jcd-home-about__main{overflow:hidden;aspect-ratio:4/5;margin:0;border:7px solid #fff;border-radius:28px;background:#ddf2fb;box-shadow:0 8px 26px rgb(14 75 102 / 8%)}
.jcd-home-about__main img{display:block;width:100%;height:100%;object-fit:cover}
.jcd-home-about__rating{position:absolute;right:24px;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:236px;max-width:calc(100% - 48px);min-height:120px;padding:18px 22px;border:1px solid #c5e6f4;border-radius:18px;background:#fff;color:#173d50;text-align:center;text-decoration:none;box-shadow:0 10px 24px rgb(15 85 110 / 10%);transition:transform .2s ease,box-shadow .2s ease}
.jcd-home-about__rating:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgb(15 85 110 / 15%)}
.jcd-home-about__rating:focus-visible{outline:3px solid #087ca5;outline-offset:2px}
.jcd-home-about__rating-stars{display:flex;align-items:center;justify-content:center;gap:2px;color:#a66a0c}
.jcd-home-about__rating-stars svg{flex:0 0 16px;width:16px;height:16px}
.jcd-home-about__rating-label{color:#173d50;font-size:15px;font-weight:700;line-height:1.4}
.jcd-home-about__rating-link{display:flex;align-items:center;gap:7px;color:#176482;font-size:12px;font-weight:600;line-height:1.5}
.jcd-home-about__rating-link svg{flex:0 0 14px;width:14px;height:14px}
.jcd-home-about__copy{position:relative;min-width:0;max-width:810px;padding-left:38px}
.jcd-home-about__copy::before,.jcd-home-about__copy::after{content:"";position:absolute;left:0;width:9px;border-radius:8px;background:#52c1ec}
.jcd-home-about__copy::before{top:40px;height:142px}
.jcd-home-about__copy::after{top:0;height:25px}
.jcd-home-about__copy .jcd-section-kicker{margin:0 0 16px;color:#176482;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.jcd-home-about h2{max-width:25ch;margin:0 0 24px;color:#173d50}
.jcd-home-about h2 span{color:#087ca5}
.jcd-home-about__lead{margin:0;color:#4f6c7b;font-size:15px;line-height:1.85}
.jcd-home-about__highlight{margin:24px 0;padding:17px 20px;border-left:3px solid #52c1ec;border-radius:0 12px 12px 0;background:#ddf2fb}
.jcd-home-about__highlight p{margin:0;color:#214f65;font-size:14px;font-weight:600;line-height:1.75}
.jcd-home-about__benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;margin:0 0 28px;padding:0;list-style:none}
.jcd-home-about__benefits li{display:flex;align-items:flex-start;min-width:0;gap:10px}
.jcd-home-about__icon{display:grid;place-items:start center;flex:0 0 38px;width:38px;min-height:40px}
.jcd-home-about__icon img{display:block;width:34px;height:34px;object-fit:contain}
body.jcd-refined-site .jcd-home-about__benefits h3{margin:0 0 5px;color:#234f64;font-size:14px!important;line-height:1.5!important}
.jcd-home-about__benefits p{margin:0;color:#557282;font-size:12px;line-height:1.8}
@media(max-width:1099px){.jcd-home-about{padding:56px 0}.jcd-home-about__grid{grid-template-columns:minmax(0,1fr);gap:44px}.jcd-home-about__media{max-width:550px}.jcd-home-about__copy{max-width:none}.jcd-home-about__benefits{gap:24px 32px}.jcd-home-about__benefits p{font-size:13px}}
@media(max-width:639px){.jcd-home-about{padding:40px 0}.jcd-home-about__grid{gap:32px}.jcd-home-about__media{max-width:390px;padding-bottom:28px}.jcd-home-about__main{border-width:5px;border-radius:22px}.jcd-home-about__rating{right:16px;max-width:calc(100% - 32px);min-height:112px;padding:16px}.jcd-home-about__rating-label{font-size:14px}.jcd-home-about__rating-link{font-size:11px}.jcd-home-about__copy{padding-left:24px}.jcd-home-about__copy::before,.jcd-home-about__copy::after{width:6px}.jcd-home-about__copy::before{height:130px}.jcd-home-about__lead{font-size:14px}.jcd-home-about__highlight{padding:15px 16px}.jcd-home-about__highlight p{font-size:13px}.jcd-home-about__benefits{grid-template-columns:minmax(0,1fr);gap:19px}.jcd-home-about__benefits h3{font-size:15px!important}}
.jcd-care-section{overflow:hidden}
.jcd-care-section::before{right:-60px;top:80px;width:200px;height:280px;background:url(../images/motifs/check-pattern.svg) center/168px repeat;opacity:.3}
.jcd-care-section::after{left:8px;top:32px;width:100px;height:118px;background-image:radial-gradient(#b4dce9 1px,transparent 1.5px);background-size:14px 14px;opacity:.65}
/* Treatment cards expose their title and detail on touch as well as desktop. */
.jcd-care-section{padding:64px 0}
.jcd-home-services-heading{max-width:850px;margin:0 0 30px;text-align:left}
.jcd-home-services-heading h2{margin:0 0 20px;color:#173d50}
.jcd-home-services-heading p{margin:0;color:#536b79;font-size:16px;line-height:1.8}
.jcd-service-filters{margin-bottom:30px;padding:20px;border:1px solid #dcebf2;border-radius:18px;background:#f6fbfd}
.jcd-service-filters__heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.jcd-service-filters #category-title{margin:0;color:#284a5c;font-size:13px;font-weight:700;line-height:1.6}
.jcd-service-filter-status{margin:0;color:#56707f;font-size:12px;line-height:1.6;text-align:right}
.jcd-service-filter-options{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.jcd-service-filter-options .filter-btn{flex:0 0 auto;min-height:44px;padding:10px 15px;border:1px solid #ccdee7;border-radius:10px;background:#fff;color:#355667;font-size:13px;font-weight:500;line-height:1.5;white-space:nowrap;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.jcd-service-filter-options .filter-btn:hover{background:#e8f8fe;border-color:#8acfe7}
/* Inset focus rings remain visible inside clipped cards and scrolling filters; compiled rules use !important. */
.jcd-service-filter-options .filter-btn:focus-visible{outline:2px solid #173d50!important;outline-offset:-4px!important}
.jcd-service-filter-options .filter-btn[aria-pressed="true"]{background:#52c1ec;border-color:#52c1ec;color:#173d50;font-weight:700}
.jcd-service-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
body.jcd-refined-site .jcd-service-tile{min-width:0;position:relative;margin:0;overflow:hidden;border:1px solid #dce8ee;border-radius:20px;background:#fff;box-shadow:0 4px 18px rgb(23 61 80 / 4%);animation:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.jcd-service-tile[hidden]{display:none!important}
.jcd-service-tile::before{content:none}
.jcd-service-tile__link{display:flex;flex-direction:column;height:100%;color:#173d50;text-decoration:none}
.jcd-service-tile__link:focus-visible{outline:3px solid #087ca5!important;outline-offset:-4px!important}
.jcd-service-tile__media{aspect-ratio:3/2;overflow:hidden;background:#f0f8fc}
.jcd-service-tile__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.jcd-service-tile__body{display:flex;flex-direction:column;flex:1;min-width:0;padding:22px}
body.jcd-refined-site .jcd-service-tile .jcd-service-tile__category{margin:0 0 10px;color:#456777;font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1.6;text-transform:uppercase}
body.jcd-refined-site .jcd-service-tile h3{margin:0 0 12px;padding:0;color:#173d50;font-size:21px!important;line-height:1.35!important}
body.jcd-refined-site .jcd-service-tile .jcd-service-tile__excerpt{flex:1;margin:0 0 20px;color:#56707f;font-size:14px;line-height:1.75}
.jcd-service-tile__more{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:auto;padding-top:14px;border-top:1px solid #e0edf3;color:#214c61;font-size:13px;font-weight:700;line-height:1.5}
.jcd-service-tile__more svg{box-sizing:content-box;flex:0 0 19px;width:19px;height:19px;padding:7px;border-radius:50%;background:#52c1ec;color:#173d50;transition:transform .22s ease}
.jcd-home-services-all{margin-top:32px;text-align:center}
@media(hover:hover) and (pointer:fine){body.jcd-refined-site .jcd-service-tile:hover{transform:translateY(-4px);border-color:#78cbe9;box-shadow:0 12px 26px rgb(23 61 80 / 9%)}.jcd-service-tile:hover .jcd-service-tile__image{transform:scale(1.035)}.jcd-service-tile:hover .jcd-service-tile__more svg{transform:translateX(3px)}}
/* Defeat the legacy white-on-hover colours on homepage service cards. */
body.jcd-refined-site .jcd-service-tile:hover h3{color:#173d50}
body.jcd-refined-site .jcd-service-tile:hover .jcd-service-tile__category{color:#456777}
body.jcd-refined-site .jcd-service-tile:hover .jcd-service-tile__excerpt{color:#56707f}
@media(min-width:1440px){.jcd-service-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1023px){.jcd-service-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:767px){.jcd-service-filters{padding:16px}.jcd-service-filters__heading{align-items:flex-start;gap:10px;flex-direction:column;margin-bottom:12px}.jcd-service-filter-options{flex-wrap:nowrap;overflow-x:auto;padding:4px 3px 10px;scrollbar-width:thin;scrollbar-color:#96cee2 transparent}.jcd-service-filter-status{text-align:left}}
@media(max-width:599px){.jcd-care-section{padding:40px 0}.jcd-service-tiles{grid-template-columns:minmax(0,1fr);gap:20px}.jcd-home-services-heading p{font-size:15px}.jcd-service-tile__body{padding:20px}}
@media(prefers-reduced-motion:reduce){body.jcd-refined-site .jcd-service-tile,.jcd-service-tile__image,.jcd-service-tile__more svg,.jcd-service-filter-options .filter-btn{transition:none;transform:none!important}}
/* Homepage treatments are image tiles, distinct from journal and catalogue cards. */
.jcd-home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body.jcd-refined-site .jcd-treatment-tile{min-width:0;position:relative;overflow:hidden;border:1px solid #d5e7ef;border-radius:22px;background:#e9f5fb;box-shadow:0 5px 18px rgb(23 61 80 / 4%);animation:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.jcd-treatment-tile[hidden]{display:none!important}
.jcd-treatment-tile::before{content:none}
.jcd-treatment-tile__link{position:relative;display:block;aspect-ratio:6/5;color:#173d50;text-decoration:none}
.jcd-treatment-tile__media{position:absolute;inset:0;overflow:hidden}
.jcd-treatment-tile__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .55s ease}
.jcd-treatment-tile__caption{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:94px;padding:16px 18px;border:1px solid rgb(255 255 255 / 90%);border-radius:16px;background:rgb(255 255 255 / 96%);box-shadow:0 4px 20px rgb(13 49 67 / 6%)}
.jcd-treatment-tile__caption>div:first-child{min-width:0}
body.jcd-refined-site .jcd-treatment-tile .jcd-treatment-tile__caption p{margin:0 0 7px;color:#496a7a;font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
body.jcd-refined-site .jcd-treatment-tile h3{margin:0;padding:0;color:#173d50;font-size:21px!important;line-height:1.3!important}
.jcd-treatment-tile__arrow{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#52c1ec;color:#173d50;transition:background .22s ease,transform .22s ease}
.jcd-treatment-tile__arrow svg{width:21px;height:21px}
/* The compiled global focus rules use !important; keep the ring inside the tile. */
.jcd-treatment-tile__link:focus-visible{outline:3px solid #087ca5!important;outline-offset:-5px!important;border-radius:21px}
@media(hover:hover) and (pointer:fine){body.jcd-refined-site .jcd-treatment-tile:hover{transform:translateY(-3px);border-color:#81cce7;box-shadow:0 12px 24px rgb(23 61 80 / 12%)}.jcd-treatment-tile:hover .jcd-treatment-tile__image{transform:scale(1.045)}.jcd-treatment-tile:hover .jcd-treatment-tile__arrow{transform:rotate(-35deg);background:#83d3f1}}
body.jcd-refined-site .jcd-treatment-tile:hover h3{color:#173d50}
body.jcd-refined-site .jcd-treatment-tile:hover .jcd-treatment-tile__caption p{color:#496a7a}
@media(max-width:1099px){.jcd-home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:639px){.jcd-home-service-grid{grid-template-columns:minmax(0,1fr)}.jcd-treatment-tile__link{aspect-ratio:1}.jcd-treatment-tile__caption{left:12px;right:12px;bottom:12px;padding:14px;gap:12px}.jcd-treatment-tile__arrow{flex-basis:38px;width:38px;height:38px}body.jcd-refined-site .jcd-treatment-tile h3{font-size:20px!important}}
@media(prefers-reduced-motion:reduce){body.jcd-refined-site .jcd-treatment-tile,.jcd-treatment-tile__image,.jcd-treatment-tile__arrow{transition:none;transform:none!important}}

/* An airy team section uses the same container measure as the rest of the site. */
.jcd-team-index-section{overflow:hidden;background:linear-gradient(160deg,#edf8fc 0%,#f8fcfe 58%,#eef8fc 100%)}
.jcd-team-section{padding:36px 0;background:transparent}
.jcd-team-index-section::before{width:360px;height:520px;right:-110px;top:30px;border:0;border-radius:0;background:url(../images/motifs/dental-motif.svg) center/contain no-repeat}
.jcd-team-shell{width:100%;max-width:var(--max-w-container,1200px);margin-inline:auto;padding-inline:24px}
.jcd-team-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px;text-align:left}
.jcd-team-heading>div{max-width:620px}
.jcd-team-heading h2{margin:8px 0 16px;color:#173d50}
.jcd-team-heading h2 span{color:#087ca5}
.jcd-team-heading p:not(.jcd-section-kicker){margin:0;color:#536773;font-size:16px;line-height:1.75}
.jcd-section-kicker{margin:0;color:#18718f;font-size:11px;font-weight:700;line-height:1.6;letter-spacing:.14em;text-transform:uppercase}
.jcd-team-all{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:16px;min-height:48px;padding:11px 20px;background:#fff;border:1px solid #bedfeb;border-radius:28px;color:#173d50;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s ease,border-color .2s ease}
.jcd-team-all svg{width:20px;height:20px;color:#087ca5}
.jcd-team-all:hover{background:#e0f3fb;border-color:#77bed8}
.jcd-dentist-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.jcd-dentist-card{grid-column:span 2;min-width:0;overflow:hidden;border:1px solid #d7e7ee;border-radius:22px;background:#fff;box-shadow:0 6px 20px rgb(23 61 80 / 4%);transition:transform .22s ease,box-shadow .22s ease}
.jcd-dentist-card:nth-last-child(2):nth-child(3n+1){grid-column:2 / span 2}
.jcd-dentist-card:last-child:nth-child(3n+2){grid-column:4 / span 2}
.jcd-dentist-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgb(23 61 80 / 10%)}
.jcd-dentist-card__portrait{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#e7f3f7}
.jcd-dentist-card__photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .35s ease}
.jcd-dentist-card:hover .jcd-dentist-card__photo{transform:scale(1.025)}
.jcd-dentist-card__role{position:static;display:block;margin:3px 0 5px;padding:0;border:0;background:transparent;color:#526f7e;font-size:11px;font-weight:400;line-height:1.6}
.jcd-dentist-card__body{padding:22px 22px 14px;text-align:left}
body.jcd-refined-site .jcd-dentist-card__name{margin:0 0 6px;color:#173d50;font-size:20px!important;line-height:1.4!important;font-weight:700!important;letter-spacing:-.02em!important}
.jcd-dentist-card__qualification{margin:6px 0;color:#637682;font-size:13px;line-height:1.6}
.jcd-dentist-card__link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-top:10px;border-top:1px solid #e4edf1;color:#176181;font-size:14px;font-weight:700;text-decoration:none}
.jcd-dentist-card__link svg{width:20px;height:20px;transition:transform .2s ease}
.jcd-dentist-card__link:hover svg{transform:translateX(3px)}
.jcd-dentist-card__initials{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#edf8fc}

.jcd-dentist-card__initials>span{display:grid;place-items:center;width:36%;aspect-ratio:1;border-radius:50%;background:#fff;color:#187494;font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-.05em;box-shadow:0 8px 24px rgb(21 78 104 / 6%)}
@media(max-width:1023px){.jcd-dentist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.jcd-dentist-card,.jcd-dentist-card:nth-last-child(2):nth-child(3n+1),.jcd-dentist-card:last-child:nth-child(3n+2){grid-column:auto}.jcd-dentist-card:last-child:nth-child(odd){grid-column:1 / -1;width:calc(50% - 10px);justify-self:center}}
@media(max-width:639px){.jcd-team-section{padding:24px 0}.jcd-team-shell{padding-inline:16px}.jcd-team-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}.jcd-dentist-card__portrait{aspect-ratio:4/3}.jcd-care-section::after{width:58px;height:90px;opacity:.4}.jcd-dentist-card__body{padding:20px 20px 12px}}
@media(hover:none){.service-card .jcd-service-card-overlay{display:none}.service-card .jcd-service-card-title{opacity:1}.service-card:hover,.jcd-dentist-card:hover,.jcd-service-unified-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){body.jcd-refined-site *{scroll-behavior:auto!important}.jcd-refined-site :is(.service-card,.jcd-service-unified-card,.jcd-dentist-card,.jcd-dentist-card__photo,.jcd-dentist-card__link svg){transition:none!important;transform:none!important}}

.jcd-team-section,#our-services{scroll-margin-top:100px}

.jcd-care-section h2 span{color:#087ca5}
.jcd-original-home #our-services{background:linear-gradient(180deg,#f4fbff,#fff)}

/* Restore the live homepage section structure with the current card design. */
.jcd-live-care{background:#fff}
/* Full-section clinic photo, fixed only on capable desktop devices. */
.jcd-live-insurance{position:relative;isolation:isolate;width:100%;margin:0;padding:104px 0;background-color:#085772;background-image:linear-gradient(90deg,rgb(4 63 83 / 84%) 0%,rgb(5 69 90 / 76%) 58%,rgb(7 91 119 / 20%) 80%,rgb(7 91 119 / 12%) 100%),var(--jcd-insurance-photo,none);background-position:center,center 12%;background-size:cover,cover;background-repeat:no-repeat;background-attachment:scroll,fixed}
.jcd-live-insurance[data-jcd-background-ready]{--jcd-insurance-photo:url('../images/sections/insurance-consultation-v1-1600.webp')}
.jcd-insurance-layout{display:block}
.jcd-insurance-copy{width:62%;max-width:760px}
.jcd-insurance-copy>.jcd-section-kicker{margin:0 0 20px;color:#a6e7fc}
.jcd-live-insurance h2{max-width:27ch;margin:0 0 24px;color:#f6fcff}
.jcd-insurance-copy .jcd-insurance-lead{margin:0;color:#def1fa;font-size:16px;line-height:1.9}
.jcd-insurance-contact{display:inline-flex;align-items:center;gap:12px;min-height:48px;margin-top:28px;padding:12px 18px;border:1px solid #52c1ec;border-radius:11px;background:#52c1ec;color:#173d50;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s ease,transform .2s ease}
.jcd-insurance-contact svg{width:20px;height:20px}
.jcd-insurance-contact:hover{background:#8cdef8;transform:translateY(-2px)}
.jcd-insurance-contact:focus-visible{outline-color:#c4f0ff!important}
@media(max-width:900px){.jcd-live-insurance{padding:64px 0;background-attachment:scroll,scroll;background-image:linear-gradient(90deg,rgb(3 48 66 / 88%),rgb(5 69 90 / 77%)),var(--jcd-insurance-photo,none)}.jcd-live-insurance[data-jcd-background-ready]{--jcd-insurance-photo:url('../images/sections/insurance-consultation-v1-900.webp')}.jcd-insurance-copy{width:100%;max-width:720px}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.jcd-live-insurance{background-attachment:scroll,scroll}.jcd-insurance-contact{transition:none;transform:none}}
/* The homepage portraits share a quiet studio background and one card rhythm. */
.jcd-team-section--centred{padding:64px 0;background:linear-gradient(180deg,#f6fbfe,#edf8ff)}
.jcd-team-section--centred .jcd-team-shell{width:100%;max-width:var(--max-w-container,1200px);margin-inline:auto;padding-inline:24px}
.jcd-team-section--centred .jcd-team-heading{flex-direction:row;align-items:flex-end;justify-content:space-between;text-align:left;gap:30px;margin-bottom:30px}
.jcd-team-section--centred .jcd-team-heading>div{max-width:700px}
.jcd-team-section--centred .jcd-team-heading h2{margin-top:10px}
.jcd-team-section--centred .jcd-dentist-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.jcd-team-section--centred .jcd-dentist-card:nth-child(n){display:flex;flex-direction:column;grid-column:auto;min-width:0;width:100%;border:1px solid #d1e7f2;border-radius:15px;background:#fff;transition:transform .24s ease}
.jcd-team-section--centred .jcd-dentist-card__portrait{height:clamp(190px,16vw,250px);flex:0 0 auto;aspect-ratio:auto}
.jcd-team-section--centred .jcd-dentist-card__body{display:flex;flex-direction:column;flex:1;padding:16px 14px 10px}
body.jcd-refined-site .jcd-team-section--centred .jcd-dentist-card__name{font-size:16px!important;line-height:1.4!important}
.jcd-team-section--centred .jcd-dentist-card__link{margin-top:auto;font-size:12px}
.jcd-dentist-card--studio .jcd-dentist-card__portrait,.jcd-dentist-card__initials{background:linear-gradient(145deg,#e9f5fc,#d4eaf6)}
.jcd-dentist-card--studio .jcd-dentist-card__photo{object-fit:contain;object-position:center bottom}
@media(hover:hover) and (pointer:fine){.jcd-team-section--centred .jcd-dentist-card:hover{transform:translateY(-3px)}}
@media(max-width:1100px){.jcd-team-section--centred .jcd-dentist-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.jcd-team-section--centred .jcd-dentist-card:nth-child(n){grid-column:span 2}.jcd-team-section--centred .jcd-dentist-card:nth-last-child(2){grid-column:2/span 2}.jcd-team-section--centred .jcd-dentist-card:last-child{grid-column:4/span 2}}
/* One readable portrait per row on every mobile team section and the team index. */
@media(max-width:767px){.jcd-team-section--centred{padding:42px 0}.jcd-team-section--centred .jcd-team-heading{align-items:flex-start;flex-direction:column;gap:20px}.jcd-dentist-grid,.jcd-team-section--centred .jcd-dentist-grid{grid-template-columns:minmax(0,1fr);gap:20px}.jcd-dentist-grid .jcd-dentist-card:nth-child(n){grid-column:auto;width:100%;max-width:400px;justify-self:center}.jcd-team-section--centred .jcd-dentist-card__portrait{height:clamp(240px,70vw,320px)}.jcd-team-section--centred .jcd-dentist-card__body{padding:18px 18px 10px}body.jcd-refined-site .jcd-team-section--centred .jcd-dentist-card__name{font-size:16px!important}.jcd-team-section--centred .jcd-dentist-card__qualification{font-size:12px}.jcd-team-section--centred .jcd-team-shell{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.jcd-team-section--centred .jcd-dentist-card{transition:none;transform:none!important}}

.jcd-live-faq-patients{overflow:hidden;background:#f4fbfe}
.jcd-care-divider{height:84px;margin-top:36px;overflow:hidden;color:#e4f5fc;background:#f4fbfe}
.jcd-care-divider svg{display:block;width:100%;height:100%}
.jcd-care-divider__back{fill:#c9ebf8}
.jcd-care-divider__front{fill:currentColor}
.jcd-live-newpatients>div{width:100%;max-width:var(--max-w-container,1200px);padding-inline:24px}
.jcd-live-newpatients{padding-block:0;scroll-margin-top:96px;background:linear-gradient(180deg,#e4f5fc,#f3fbfe)}
.jcd-live-newpatients>div{padding-block:64px}
.jcd-newpatient-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;column-gap:48px;row-gap:28px;padding:40px;border:1px solid #d3e8f2;border-radius:28px;background:#fff;box-shadow:0 8px 28px rgb(23 61 80 / 4%)}
.jcd-newpatient-heading{grid-column:1/-1;min-width:0}
.jcd-newpatient-copy{max-width:780px}
.jcd-newpatient-heading>.jcd-section-kicker{margin:0 0 16px;color:#326b83;font-size:11px;letter-spacing:.1em;font-weight:700}
.jcd-live-newpatients h2{max-width:980px;margin:0 0 22px;color:#173d50}
/* The compiled theme forces accent text colours with !important. */
body.jcd-refined-site .jcd-live-newpatients h2 span{color:#087ca5!important;-webkit-text-fill-color:#087ca5!important}
.jcd-newpatient-heading .jcd-newpatient-lead{max-width:1000px;margin:0;color:#4d6b7a;font-size:16px;line-height:1.8}
body.jcd-refined-site .jcd-newpatient-copy h3{margin:0 0 16px;color:#173d50;font-size:18px!important;line-height:1.4!important}
.jcd-newpatient-benefits{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none}
.jcd-newpatient-benefits li{padding:14px 0;border-bottom:1px solid #e1eef5;color:#355b6e;font-size:14px;line-height:1.7}
.jcd-newpatient-benefits li:last-child{border-bottom:0}
.jcd-newpatient-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:28px}
.jcd-newpatient-phone{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;color:#355b6f;font-size:13px;font-weight:700;text-decoration:none}
.jcd-newpatient-phone svg{width:18px;height:18px;color:#087ca5}
.jcd-newpatient-media{width:100%;max-width:680px;justify-self:end;align-self:start;position:relative;min-width:0;margin-top:0}
.jcd-newpatient-media .jcd-comparison-card{margin:0;padding:0;border:1px solid #d7e6ee;border-radius:26px;background:#fff;box-shadow:0 12px 30px rgb(23 61 80 / 7%);overflow:hidden}
.jcd-newpatient-media .jcd-comparison-frame{aspect-ratio:3/2;border-radius:24px}
.jcd-newpatient-media .jcd-comparison-frame:focus-within{outline-offset:-4px}
.jcd-newpatient-media .jcd-comparison-card figcaption{padding:0}
.jcd-newpatient-media .jcd-comparison-label{top:18px;padding:7px 11px}
.jcd-newpatient-media .jcd-comparison-label--before{left:18px}
.jcd-newpatient-media .jcd-comparison-label--after{right:18px}
.jcd-newpatient-media .jcd-comparison-handle{top:50%;bottom:auto;width:46px;height:46px;transform:translate(-50%,-50%)}
@media(max-width:1099px){.jcd-newpatient-panel{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:32px;padding:32px}.jcd-newpatient-benefits{grid-template-columns:1fr}}
@media(max-width:900px){.jcd-newpatient-panel{grid-template-columns:minmax(0,1fr);gap:32px}.jcd-newpatient-copy{max-width:none}.jcd-newpatient-media{max-width:620px;margin-top:0;justify-self:center}}
@media(max-width:639px){.jcd-newpatient-panel{padding:28px 20px;border-radius:22px}.jcd-newpatient-benefits{grid-template-columns:1fr}.jcd-newpatient-actions{align-items:stretch;flex-direction:column;gap:8px}.jcd-newpatient-frame{border-radius:20px 20px 52px 20px}.jcd-newpatient-heading .jcd-newpatient-lead{font-size:15px}.jcd-newpatient-phone{justify-content:flex-start}}
/* Reviews and FAQ sit together on desktop, stacking in their reading order on mobile. */
.jcd-home-feedback{padding:64px 0;background:linear-gradient(145deg,#f7fcff,#edf8ff)}
.jcd-home-feedback__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:40px}
.jcd-home-faq{min-width:0;scroll-margin-top:100px}
.jcd-home-faq__heading{margin-bottom:24px}
.jcd-home-faq h2{margin:10px 0 16px;color:#173d50}
.jcd-home-faq__heading>p:last-child{margin:0;color:#526f7e;font-size:14px;line-height:1.8}
.jcd-home-faq__list{display:grid;gap:10px}
.jcd-home-faq .faq-item{overflow:hidden;border:1px solid #d2e7f2;border-radius:12px;background:#fff}
body.jcd-refined-site .jcd-home-faq .faq-item h3{margin:0;font-size:14px!important;line-height:1.5!important}
.jcd-home-faq .faq-trigger{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:64px;padding:15px 17px;color:#173d50;font-size:13px;font-weight:700;text-align:left;cursor:pointer}
.jcd-home-faq .faq-trigger>span:first-child{flex:1}
.jcd-home-faq .faq-icon{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid #d4eaf5;border-radius:50%;background:#eff9fe;color:#087ca5}
.jcd-home-faq .faq-icon svg{width:14px;height:14px;transition:transform .2s ease}
.jcd-home-faq .faq-trigger[aria-expanded="true"] .faq-icon svg{transform:rotate(45deg)}
.jcd-home-faq .faq-trigger:hover{background:#f2faff}
.jcd-home-faq .faq-trigger:focus-visible{outline:3px solid #087ca5!important;outline-offset:-4px!important;border-radius:11px}
.jcd-home-faq .faq-answer{display:block;padding:0 17px 17px;color:#456779;font-size:13px;line-height:1.85}
.jcd-home-faq .faq-answer[hidden]{display:none}
.jcd-home-faq .faq-answer p{margin:0}
.jcd-home-faq__more{margin-top:2px}
.jcd-home-faq__more>summary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;border:1px solid #bedfeb;border-radius:12px;background:#fff;color:#176482;font-size:12px;font-weight:700;list-style:none;cursor:pointer}
.jcd-home-faq__more>summary::-webkit-details-marker{display:none}
.jcd-home-faq__more>summary::marker{content:""}
.jcd-home-faq__more>summary svg{width:17px;height:17px}
.jcd-home-faq__more>summary:hover{background:#e7f6fe}
.jcd-home-faq__more>summary:focus-visible{outline:3px solid #087ca5;outline-offset:3px}
.jcd-home-faq__more>summary .jcd-home-faq__less,.jcd-home-faq__more[open]>summary .jcd-home-faq__more-label{display:none}
.jcd-home-faq__more[open]>summary .jcd-home-faq__less{display:inline}
.jcd-home-faq__more[open]>summary svg{transform:rotate(-90deg)}
.jcd-home-faq__extra{display:grid;gap:10px;margin-top:10px}
.jcd-home-reviews{padding:64px 0;background:#f7fbfd}
.jcd-home-reviews__heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:end;gap:40px;margin-bottom:28px}
.jcd-home-reviews__heading .jcd-section-kicker{margin:0 0 10px}
.jcd-home-reviews__heading h2{margin:0;color:#173d50;scroll-margin-top:110px}
.jcd-home-reviews__heading h2 span{color:#087ca5}
.jcd-home-reviews__heading>p{margin:0;color:#526f7e;font-size:14px;line-height:1.8}
.jcd-home-reviews--paired{min-width:0;padding:0;background:transparent}
.jcd-home-reviews--paired .jcd-home-reviews__heading{display:block;margin-bottom:24px}
.jcd-home-reviews--paired .jcd-home-reviews__heading>p{margin-top:16px}
.jcd-review-preview-note{margin:0 0 18px;color:#526f7e;font-size:12px;line-height:1.7}
.jcd-review-carousel{--jcd-review-columns:3;--jcd-review-gap:20px;min-width:0}
.jcd-review-carousel--short,.jcd-home-reviews--paired .jcd-review-carousel{--jcd-review-columns:2}
.jcd-home-review-grid{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--jcd-review-columns) - 1)*var(--jcd-review-gap))/var(--jcd-review-columns));gap:var(--jcd-review-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 0 8px;touch-action:pan-x pan-y pinch-zoom;cursor:grab}
.jcd-home-review-grid::-webkit-scrollbar{display:none}
.jcd-home-review-grid:focus-visible{outline:3px solid #087ca5;outline-offset:5px;border-radius:16px}
.jcd-home-review-grid.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.jcd-home-review-grid>.jcd-home-review{scroll-snap-align:start;scroll-snap-stop:normal;min-height:0}
.jcd-home-review{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid #e0edf4;border-radius:12px;background:#fff;box-shadow:0 7px 22px rgb(23 86 119 / 5%)}
.jcd-review-widget{min-width:0;max-width:100%}
.jcd-review-widget iframe{max-width:100%}
.jcd-home-review__stars{display:flex;gap:3px;min-height:18px;margin:0 0 18px;color:#a66a0c}
.jcd-home-review__stars svg{width:16px;height:17px}
.jcd-home-review__rating-text{margin:0 0 18px;color:#526f7e;font-size:10px;line-height:1.6}
.jcd-home-review :is(blockquote,.jcd-home-review__body){flex:1;margin:0 0 16px;padding:0;border:0}
.jcd-home-review :is(blockquote,.jcd-home-review__body) p{margin:0;color:#355567;font-size:13px;line-height:1.85}
.jcd-home-review__person{display:flex;align-items:center;gap:10px;min-height:42px}
.jcd-home-review__person>div{min-width:0}
.jcd-home-review__avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #c6e8f5;border-radius:50%;background:#e3f5fd;color:#24617d;font-size:12px;font-weight:700}
.jcd-home-review__person strong{display:block;color:#173d50;font-size:12px;line-height:1.5}
.jcd-home-review__person div>span{display:block;margin-top:3px;color:#607985;font-size:10px;line-height:1.5}
.jcd-home-review__footer:empty{display:none}
.jcd-home-review__footer{color:#607985;font-size:10px;line-height:1.5}
.jcd-home-review__source{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin-left:auto;border-radius:50%;color:#176482}
.jcd-home-review__source svg{width:17px;height:17px}
.jcd-home-review__source:hover{background:#eaf7fd}
.jcd-home-review__source:focus-visible{outline:2px solid #087ca5;outline-offset:2px}
.jcd-home-review__footer>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#176482;text-decoration:none}
.jcd-home-review__footer>a:hover{text-decoration:underline;text-underline-offset:4px}
.jcd-home-review__footer>a:focus-visible{outline:2px solid #087ca5;outline-offset:4px;border-radius:3px}
.jcd-home-review__footer>a svg{flex:0 0 14px;width:14px;height:14px}
.jcd-home-review__sample{padding:4px 8px;border-radius:5px;background:#edf7fc;color:#426678;font-size:10px}
.jcd-review-carousel__controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;color:#536b79}
.jcd-review-carousel__controls[hidden]{display:none}
.jcd-review-carousel__dots{display:flex;justify-content:center;gap:0}
.jcd-review-carousel__dot{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.jcd-review-carousel__dot::after{content:"";width:6px;height:6px;border-radius:50%;background:#94b7c7;transition:transform .18s ease}
.jcd-review-carousel__dot[aria-current="true"]::after{background:#087ca5;transform:scale(1.4)}
.jcd-review-carousel__dot:hover::after{background:#087ca5}
.jcd-review-carousel__arrow{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;border:1px solid #bedfeb;border-radius:50%;background:#fff;color:#176482;cursor:pointer;transition:transform .18s ease}
.jcd-review-carousel__arrow:hover{background:#e3f5fc;border-color:#087ca5}
.jcd-review-carousel__arrow:active{transform:scale(.95)}
.jcd-review-carousel__arrow:disabled{opacity:.45;pointer-events:none}
.jcd-review-carousel__arrow:focus-visible,.jcd-review-carousel__dot:focus-visible{outline:3px solid #087ca5;outline-offset:3px}
.jcd-review-carousel__arrow svg{width:18px;height:18px}
.jcd-review-carousel__previous svg{transform:rotate(180deg)}
@media(max-width:1199px){.jcd-home-feedback__grid{gap:28px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.jcd-home-review{padding:20px}.jcd-home-reviews--paired .jcd-review-carousel{--jcd-review-columns:1}}
@media(max-width:1023px){.jcd-home-feedback__grid{grid-template-columns:1fr;gap:44px}.jcd-home-reviews--paired .jcd-review-carousel{--jcd-review-columns:2}.jcd-home-reviews__heading{grid-template-columns:1fr;gap:18px}.jcd-home-review{padding:24px}.jcd-home-faq .faq-trigger{min-height:62px;font-size:14px}}
@media(max-width:767px){.jcd-home-feedback{padding:42px 0}.jcd-review-carousel,.jcd-home-reviews--paired .jcd-review-carousel{--jcd-review-columns:1;--jcd-review-gap:16px}.jcd-home-reviews{padding:42px 0}.jcd-home-reviews--paired{padding:0}.jcd-home-faq__heading>p:last-child,.jcd-home-reviews__heading>p{font-size:13px}.jcd-home-review :is(blockquote,.jcd-home-review__body) p{font-size:14px}.jcd-review-carousel__controls{gap:5px}.jcd-home-faq .faq-trigger{padding:15px;gap:12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.jcd-home-faq .faq-icon svg,.jcd-review-carousel__arrow,.jcd-review-carousel__dot::after{transition:none}}

/* Pointer decoration never replaces the native cursor or receives clicks. */
.jcd-cursor-follower{position:fixed;left:0;top:0;z-index:2147482000;width:0;height:0;pointer-events:none;opacity:0;transition:opacity .15s ease;will-change:transform}
.jcd-cursor-follower.is-visible{opacity:1}
.jcd-cursor-ring{position:absolute;left:-5px;top:-5px;display:block;width:10px;height:10px;border:0;border-radius:50%;background:#2eadd6;pointer-events:none;transform:scale(var(--cursor-scale,1));transition:transform .24s ease,background .24s ease,box-shadow .24s ease}
.jcd-cursor-follower.is-card{--cursor-scale:1.35}
.jcd-cursor-follower.is-interactive{--cursor-scale:3.2}
.jcd-cursor-follower.is-interactive .jcd-cursor-ring{background:rgb(82 193 236 / 18%);box-shadow:0 0 0 .3px #087ca5}
.jcd-cursor-follower.is-pressed{--cursor-scale:.8}
/* A responsive appointment panel replaces the stretched wave bitmap. */
.jcd-appointment-section{position:relative;isolation:isolate;width:100%;padding:0;background:#52c1ec;color:#173d50}
.jcd-appointment-section::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:#173d50;mask:url('../images/motifs/check-pattern.svg') center/168px repeat;opacity:.1}
.jcd-appointment-panel{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:40px;width:100%;max-width:var(--max-w-container,1200px);margin-inline:auto;padding:48px 24px;border:0;border-radius:0;background:transparent;box-shadow:none}
.jcd-appointment-copy{display:flex;align-items:flex-start;gap:24px;min-width:0}
.jcd-appointment-icon{display:grid;place-items:center;flex:0 0 60px;width:60px;height:60px;border:1px solid rgb(170 231 250 / 50%);border-radius:18px;background:rgb(255 255 255 / 60%);color:#173d50}
.jcd-appointment-icon svg{width:30px;height:30px}
.jcd-appointment-copy h2{max-width:580px;margin:0;color:#173d50;text-wrap:balance}
.jcd-appointment-copy p{max-width:580px;margin:16px 0 0;color:#173d50;font-size:16px;line-height:1.8}
.jcd-appointment-actions{display:flex;flex-direction:column;gap:10px}
.jcd-appointment-button,.jcd-appointment-button:visited{display:flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:14px 18px;border:1px solid #173d50;border-radius:10px;background:#173d50;color:#fff;font-size:14px;font-weight:700;text-decoration:none;transition:background .2s ease,transform .2s ease}
.jcd-appointment-button:hover{background:#244d62;border-color:#244d62;transform:translateY(-2px)}
.jcd-appointment-button:active{transform:translateY(0)}
.jcd-appointment-button svg{width:20px;height:20px}
.jcd-appointment-phone,.jcd-appointment-phone:visited{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 12px;border:1px solid rgb(23 61 80 / 30%);border-radius:10px;background:rgb(255 255 255 / 75%);color:#173d50;font-size:14px;font-weight:700;text-decoration:none}
.jcd-appointment-phone:hover{background:#fff;border-color:#173d50}
.jcd-appointment-actions a:focus-visible{outline:2px solid #173d50;outline-offset:4px}
.jcd-appointment-phone svg{width:18px;height:18px}
@media(max-width:900px){.jcd-appointment-panel{grid-template-columns:minmax(0,1fr);gap:26px;padding:40px 24px}.jcd-appointment-actions{flex-direction:row;align-items:center;gap:24px;margin-left:84px}.jcd-appointment-button{min-width:220px}}
@media(max-width:639px){.jcd-appointment-panel{padding:32px 16px;gap:24px}.jcd-appointment-copy{flex-direction:column;gap:20px}.jcd-appointment-icon{width:48px;height:48px;flex-basis:48px;border-radius:14px}.jcd-appointment-icon svg{width:25px;height:25px}.jcd-appointment-actions{flex-direction:column;align-items:stretch;gap:6px;margin-left:0}.jcd-appointment-button{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.jcd-cursor-follower{display:none}.jcd-appointment-button{transition:none;transform:none!important}}

@media(prefers-reduced-motion:reduce){.jcd-home-about__rating{transition:none;transform:none!important}}
