:root{--cn-navy:#102b46;
    --cn-navy2:#183d5b;
    --cn-teal:#168a83;
    --cn-teal-dark:#0f706c;
    --cn-mint:#dff5ec;
    --cn-paper:#f6f9f8;
    --cn-line:#e2ebe8;
    --cn-ink:#173149;
    --cn-muted:#647887;
    --cn-white:#fff;
    --cn-gold:#dcae66;
    --cn-shadow:0 18px 50px rgba(16,43,70,.09);
    --cn-radius:22px}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.carenova{margin:0;
    color:var(--cn-ink);
    background:#fff;
    font:16px/1.65 'DM Sans',sans-serif;
    -webkit-font-smoothing:antialiased}
body.carenova h1,body.carenova h2,body.carenova h3,body.carenova h4{font-family:Manrope,sans-serif;
    letter-spacing:-.045em;
    line-height:1.15;
    color:var(--cn-navy)}
body.carenova h1{font-size:clamp(2.65rem,5.7vw,5rem);
    font-weight:700}
body.carenova h2{font-size:clamp(2rem,4vw,3.25rem);
    font-weight:700}
body.carenova h3{font-size:1.28rem;
    font-weight:700}
body.carenova p{color:var(--cn-muted)}
body.carenova a{color:inherit;
    text-decoration:none}
body.carenova a:focus-visible,body.carenova button:focus-visible,body.carenova input:focus-visible,body.carenova select:focus-visible,body.carenova textarea:focus-visible{outline:3px solid #62c4b3;
    outline-offset:3px}
img{display:block;
    max-width:100%}
.wrap{width:min(1180px,calc(100% - 48px));
    margin-inline:auto}
.topline{background:var(--cn-navy);
    color:#d8e6ec;
    font-size:.78rem}
.topline-inner{min-height:36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px}
.topline i{color:#82d5bd;
    margin-right:6px}
.topline a{color:#fff}
.topline-note{color:#bed0d9}
.topline-dot{padding:0 10px;
    color:#87a2b1}
.site-header{position:sticky;
    top:0;
    z-index:40;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid rgba(226,235,232,.84);
    backdrop-filter:blur(14px)}
.nav-wrap{height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px}
.brand{display:inline-flex;
    align-items:center;
    gap:11px;
    flex:0 0 auto;
    color:var(--cn-navy)}
.brand-symbol{width:43px;
    height:43px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:linear-gradient(145deg,var(--cn-teal),#2ca991);
    color:#fff;
    font-size:1.4rem;
    box-shadow:0 8px 18px #168a8330}
.brand-copy{display:grid;
    line-height:1.2}
.brand-copy strong{font:800 1.24rem Manrope,sans-serif;
    letter-spacing:-.055em}
.brand-copy small{font-size:.68rem;
    letter-spacing:.01em;
    color:var(--cn-muted);
    margin-top:4px}
.primary-nav{display:flex;
    align-items:center;
    gap:clamp(12px,1.6vw,25px)}
.primary-nav>a:not(.button){font-size:.85rem;
    font-weight:600;
    color:#526879;
    white-space:nowrap;
    transition:color .18s}
.primary-nav>a:not(.button):hover,.primary-nav>a[aria-current=page]{color:var(--cn-teal-dark)}
.nav-toggle{display:none;
    border:0;
    background:none;
    color:var(--cn-navy);
    font-size:1.8rem}
.button{display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    border:1px solid transparent;
    border-radius:999px;
    padding:13px 22px;
    font-size:.9rem;
    font-weight:700;
    line-height:1.2;
    transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px);
    box-shadow:0 9px 22px #102b4620}
.button-primary{background:var(--cn-teal);
    color:white!important}
.button-primary:hover{background:var(--cn-teal-dark)}
.button-light{background:#fff;
    color:var(--cn-navy)}
.button-outline{border-color:#b9d9d2;
    color:var(--cn-teal-dark);
    background:white}
.button-outline:hover{background:#f1faf7}
.button-dark{background:var(--cn-navy);
    color:#fff}
.nav-cta{padding:12px 18px;
    font-size:.82rem;
    white-space:nowrap}
.eyebrow{color:var(--cn-teal-dark);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.72rem;
    font-weight:800;
    margin-bottom:12px}
.section{padding:94px 0}
.section-soft{background:var(--cn-paper)}
.section-head{display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:36px}
.section-head h2{max-width:690px;
    margin:0}
.section-head p{max-width:470px;
    margin:0 0 2px}
.text-link{display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--cn-teal-dark)!important;
    font-weight:700;
    font-size:.86rem}
.text-link:hover{gap:12px}
.hero{position:relative;
    overflow:hidden;
    background:linear-gradient(112deg,#f3faf8 0%,#eef7f5 50%,#e0f3ee 100%);
    padding:65px 0 84px}
.hero:before{content:"";
    position:absolute;
    right:-110px;
    top:-225px;
    width:620px;
    height:620px;
    border:1px solid #b6d8cf80;
    border-radius:50%;
    box-shadow:0 0 0 48px #b6d8cf20,0 0 0 100px #b6d8cf15;
    pointer-events:none}
.hero-grid{position:relative;
    display:grid;
    grid-template-columns:1fr .96fr;
    align-items:center;
    gap:60px}
.hero-copy{max-width:620px}
.hero-copy h1{margin:14px 0 22px}
.hero-copy h1 em{color:var(--cn-teal);
    font-style:normal}
.hero-copy>p{max-width:540px;
    font-size:1.08rem;
    line-height:1.75;
    margin:0 0 27px}
.hero-actions{display:flex;
    flex-wrap:wrap;
    gap:12px}
.hero-assurance{display:flex;
    align-items:center;
    gap:12px;
    margin-top:28px;
    color:#546f7c;
    font-size:.83rem}
.avatar-stack{display:flex;
    padding-left:5px}
.avatar-stack img{width:32px;
    height:32px;
    border:2px solid white;
    border-radius:50%;
    object-fit:cover;
    margin-left:-6px}
.assurance-stars{color:#d39b43;
    letter-spacing:1px}
.hero-visual{position:relative;
    min-width:0}
.hero-visual>img{width:100%;
    height:510px;
    object-fit:cover;
    object-position:center 30%;
    border-radius:180px 180px 26px 26px;
    box-shadow:0 26px 65px #163b4830}
.float-card{position:absolute;
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px 18px;
    background:#fff;
    border:1px solid #e7efed;
    border-radius:17px;
    box-shadow:var(--cn-shadow)}
.float-card.availability-float{left:-36px;
    top:48px}
.float-card.satisfaction-float{right:-28px;
    bottom:45px}
.float-icon{width:40px;
    height:40px;
    border-radius:13px;
    display:grid;
    place-items:center;
    background:#e4f6ef;
    color:var(--cn-teal);
    font-size:1.12rem}
.float-copy{display:grid;
    line-height:1.25}
.float-copy strong{color:var(--cn-navy);
    font-size:.86rem}
.float-copy small{color:#748793;
    font-size:.72rem;
    margin-top:4px}
.search-panel{position:relative;
    margin-top:-38px;
    z-index:2;
    padding:14px;
    background:white;
    border:1px solid var(--cn-line);
    border-radius:19px;
    box-shadow:0 18px 44px #102b4615}
.search-form{display:grid;
    grid-template-columns:1.15fr 1fr 1fr auto;
    align-items:center;
    gap:9px}
.search-field{display:flex;
    align-items:center;
    gap:11px;
    padding:9px 14px;
    border-right:1px solid var(--cn-line)}
.search-field>i{color:var(--cn-teal);
    font-size:1.2rem}
.search-field label{display:grid;
    flex:1;
    gap:2px}
.search-field label span{font-size:.68rem;
    color:#81919a;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em}
.search-field input,.search-field select{width:100%;
    padding:0;
    border:0;
    background:transparent;
    color:var(--cn-ink);
    font:600 .87rem 'DM Sans',sans-serif;
    outline:none}
.search-field input::placeholder{color:#9aa8ae}
.search-form .button{padding:16px 25px}
.trust-row{display:grid;
    grid-template-columns:repeat(4,1fr);
    padding:42px 0 10px;
    border-bottom:1px solid var(--cn-line)}
.trust-stat{padding:0 28px;
    border-right:1px solid var(--cn-line)}
.trust-stat:first-child{padding-left:0}
.trust-stat:last-child{border:0}
.trust-stat strong{display:block;
    font:800 1.75rem Manrope;
    color:var(--cn-navy);
    letter-spacing:-.05em}
.trust-stat span{font-size:.82rem;
    color:var(--cn-muted)}
.demo-caption{font-size:.72rem;
    color:#82929a;
    margin-top:14px}
.specialty-grid{display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px}
.specialty-card{min-height:154px;
    padding:20px;
    border:1px solid var(--cn-line);
    border-radius:18px;
    background:#fff;
    transition:transform .2s,box-shadow .2s,border-color .2s}
.specialty-card:hover{transform:translateY(-4px);
    border-color:#add7cb;
    box-shadow:var(--cn-shadow)}
.specialty-icon{width:44px;
    height:44px;
    border-radius:14px;
    background:#e7f5f0;
    color:var(--cn-teal);
    display:grid;
    place-items:center;
    font-size:1.35rem;
    margin-bottom:18px}
.specialty-card strong{display:block;
    font:700 .98rem Manrope;
    color:var(--cn-navy)}
.specialty-card span{display:block;
    font-size:.76rem;
    color:#7b8c95;
    margin-top:5px}
.card-grid{display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px}
.doctor-card,.facility-card{border:1px solid var(--cn-line);
    border-radius:var(--cn-radius);
    overflow:hidden;
    background:white;
    transition:transform .22s,box-shadow .22s}
.doctor-card:hover,.facility-card:hover{transform:translateY(-4px);
    box-shadow:var(--cn-shadow)}
.doctor-photo,.facility-photo{display:block;
    position:relative;
    overflow:hidden;
    background:#e8f0ed}
.doctor-photo img{width:100%;
    height:274px;
    object-fit:cover;
    object-position:center 28%;
    transition:transform .45s}
.facility-photo img{width:100%;
    height:225px;
    object-fit:cover;
    transition:transform .45s}
.doctor-card:hover img,.facility-card:hover img{transform:scale(1.035)}
.availability,.facility-type{position:absolute;
    left:14px;
    top:14px;
    padding:7px 11px;
    border-radius:999px;
    background:#fff;
    color:#267461;
    font-size:.7rem;
    font-weight:700;
    box-shadow:0 3px 12px #102b4617}
.availability i{font-size:.46rem;
    vertical-align:2px;
    margin-right:5px}
.doctor-info,.facility-info{padding:20px 21px}
.doctor-info h3,.facility-info h3{margin:0 0 7px}
.doctor-info h3 a:hover,.facility-info h3 a:hover{color:var(--cn-teal-dark)}
.doctor-info>p{font-size:.79rem;
    margin:0 0 16px}
.doctor-meta{display:grid;
    gap:6px;
    font-size:.76rem;
    color:#607481}
.doctor-meta span{display:flex;
    gap:8px;
    align-items:center}
.doctor-meta i{color:#31a08d}
.doctor-card-bottom,.facility-card-bottom{border-top:1px solid #edf1ef;
    margin-top:17px;
    padding-top:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px}
.fee{font-weight:800;
    color:var(--cn-navy);
    font-size:.9rem}
.fee small{font-size:.68rem;
    font-weight:500;
    color:#85939a}
.facility-location{color:var(--cn-teal-dark);
    font-size:.75rem;
    font-weight:700;
    margin-bottom:10px}
.facility-info>p{font-size:.83rem;
    line-height:1.6;
    min-height:52px}
.facility-type{left:auto;
    right:14px;
    color:var(--cn-navy)}
.tag-list{display:flex;
    flex-wrap:wrap;
    gap:6px}
.tag-list span{padding:5px 9px;
    border-radius:999px;
    background:#f0f6f4;
    color:#49646d;
    font-size:.68rem}
.facility-card-bottom{font-size:.72rem;
    color:#758791}
.facility-card-bottom small{font-size:.65rem}
.service-grid{display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:17px}
.service-card{padding:24px;
    border:1px solid var(--cn-line);
    border-radius:19px;
    background:#fff;
    transition:transform .2s,box-shadow .2s}
.service-card:hover{transform:translateY(-4px);
    box-shadow:var(--cn-shadow)}
.service-icon{display:grid;
    place-items:center;
    width:49px;
    height:49px;
    margin-bottom:20px;
    border-radius:15px;
    background:linear-gradient(145deg,#e8f7f1,#d9f1ea);
    color:var(--cn-teal);
    font-size:1.55rem}
.service-card h3{margin:0 0 10px}
.service-card p{font-size:.85rem;
    min-height:58px}
.steps-grid{display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px}
.step-card{position:relative;
    padding:28px;
    border:1px solid var(--cn-line);
    border-radius:20px;
    background:#fff}
.step-number{width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--cn-navy);
    color:white;
    font:700 .88rem Manrope;
    margin-bottom:23px}
.step-card h3{margin:0 0 10px}
.step-card p{margin:0;
    font-size:.86rem}
.quote-card{padding:28px;
    border:1px solid var(--cn-line);
    border-radius:20px;
    background:#fff}
.quote-stars{color:#dda342;
    letter-spacing:2px;
    font-size:.9rem}
.quote-card blockquote{margin:17px 0 22px;
    color:#345066;
    font:500 1rem/1.75 Manrope}
.quote-author{display:flex;
    align-items:center;
    gap:12px}
.quote-avatar{width:42px;
    height:42px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#e2f2ed;
    color:#287c70;
    font-weight:800}
.quote-author strong{display:block;
    color:var(--cn-navy);
    font-size:.82rem}
.quote-author small{color:#82919a;
    font-size:.72rem}
.cta-band{position:relative;
    overflow:hidden;
    padding:57px 64px;
    border-radius:28px;
    background:linear-gradient(112deg,#11304c,#165f68);
    color:white}
.cta-band:after{content:"";
    position:absolute;
    right:-90px;
    top:-240px;
    width:480px;
    height:480px;
    border:1px solid #ffffff20;
    border-radius:50%;
    box-shadow:0 0 0 40px #ffffff09,0 0 0 85px #ffffff07}
.cta-band h2{position:relative;
    z-index:1;
    max-width:620px;
    color:#fff;
    margin:0 0 14px}
.cta-band p{position:relative;
    z-index:1;
    color:#cfdee2;
    max-width:580px;
    margin:0}
.cta-band .button{position:absolute;
    z-index:2;
    right:60px;
    top:50%;
    transform:translateY(-50%)}
.faq-list{max-width:850px;
    margin:0 auto}
.faq-list details{border-bottom:1px solid var(--cn-line)}
.faq-list summary{padding:21px 2px;
    display:flex;
    justify-content:space-between;
    gap:18px;
    cursor:pointer;
    list-style:none;
    color:var(--cn-navy);
    font:700 1rem Manrope}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';
    color:var(--cn-teal);
    font:400 1.4rem 'DM Sans'}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{margin:0;
    padding:0 36px 20px 2px;
    font-size:.9rem}
.page-hero{padding:76px 0 65px;
    background:linear-gradient(110deg,#f1f8f6,#e6f4ef)}
.page-hero-grid{display:grid;
    grid-template-columns:1.1fr .9fr;
    align-items:center;
    gap:50px}
.page-hero h1{font-size:clamp(2.6rem,5vw,4.3rem);
    margin:0 0 17px}
.page-hero p{max-width:600px;
    font-size:1.04rem}
.page-hero-image{height:340px;
    width:100%;
    object-fit:cover;
    border-radius:24px;
    box-shadow:var(--cn-shadow)}
.breadcrumb{display:flex;
    gap:9px;
    font-size:.78rem;
    color:#72858f;
    margin-bottom:20px}
.breadcrumb a{color:var(--cn-teal-dark)}
.filter-bar{display:flex;
    align-items:center;
    gap:12px;
    padding:15px;
    background:#fff;
    border:1px solid var(--cn-line);
    border-radius:17px;
    box-shadow:0 7px 22px #102b4608;
    margin-bottom:28px}
.filter-search{display:flex;
    align-items:center;
    gap:9px;
    flex:1;
    min-width:180px}
.filter-search i{color:var(--cn-teal)}
.filter-search input,.filter-bar select{min-height:42px;
    padding:9px 12px;
    border:1px solid var(--cn-line);
    border-radius:10px;
    background:#fff;
    color:var(--cn-ink);
    font:500 .86rem 'DM Sans',sans-serif}
.filter-search input{flex:1;
    min-width:0;
    border:0}
.filter-bar select{min-width:180px}
.result-count{margin:0 0 16px;
    color:#778891;
    font-size:.8rem}
.empty-state{display:none;
    text-align:center;
    padding:60px 20px;
    border:1px dashed #c5d8d2;
    border-radius:20px;
    background:#fbfdfc}
.empty-state i{font-size:2rem;
    color:var(--cn-teal)}
.empty-state h3{margin:14px 0 7px}
.profile-grid{display:grid;
    grid-template-columns:1fr .82fr;
    gap:36px;
    align-items:start}
.profile-main,.profile-side{border:1px solid var(--cn-line);
    border-radius:22px;
    background:#fff;
    padding:28px}
.profile-top{display:flex;
    align-items:center;
    gap:24px}
.profile-portrait{width:166px;
    height:180px;
    object-fit:cover;
    border-radius:18px}
.profile-top h1{font-size:2.4rem;
    margin:0 0 9px}
.profile-top p{margin:0 0 7px}
.profile-main h2{font-size:1.4rem;
    margin:30px 0 12px}
.expertise-list{display:flex;
    flex-wrap:wrap;
    gap:9px}
.expertise-list span{padding:8px 12px;
    border-radius:999px;
    background:#eef7f4;
    color:#42636a;
    font-size:.8rem}
.profile-side{position:sticky;
    top:110px}
.profile-side h2{font-size:1.4rem;
    margin:0 0 15px}
.profile-side .button{width:100%;
    margin-top:20px}
.detail-row{display:flex;
    justify-content:space-between;
    gap:18px;
    padding:12px 0;
    border-bottom:1px solid #edf1ef;
    font-size:.83rem}
.detail-row span{color:#80909a}
.detail-row strong{text-align:right;
    color:var(--cn-navy)}
.facility-hero-photo{width:100%;
    height:430px;
    object-fit:cover;
    border-radius:24px}
.facility-detail-heading{display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin:30px 0}
.facility-detail-heading h1{font-size:3rem;
    margin:0 0 10px}
.facility-detail-heading p{margin:0}
.facility-detail-grid{display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:35px}
.map-placeholder{height:230px;
    display:grid;
    place-items:center;
    text-align:center;
    padding:24px;
    border-radius:18px;
    background:repeating-linear-gradient(45deg,#eef4f1,#eef4f1 12px,#f4f8f6 12px,#f4f8f6 24px);
    border:1px solid var(--cn-line)}
.map-placeholder i{font-size:2rem;
    color:var(--cn-teal)}
.map-placeholder p{max-width:330px;
    font-size:.82rem;
    margin:9px auto}
.gallery-grid{display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:200px;
    gap:14px}
.gallery-item{position:relative;
    overflow:hidden;
    border:0;
    border-radius:18px;
    padding:0;
    background:#eaf2ef;
    cursor:pointer}
.gallery-item:nth-child(5n+1){grid-row:span 2}
.gallery-item:nth-child(5n+3){grid-column:span 2}
.gallery-item img{width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-caption{position:absolute;
    inset:auto 0 0;
    padding:35px 16px 15px;
    background:linear-gradient(transparent,#102b46b8);
    color:#fff;
    text-align:left;
    font:700 .88rem Manrope}
.lightbox{position:fixed;
    inset:0;
    z-index:100;
    display:none;
    align-items:center;
    justify-content:center;
    padding:35px;
    background:#081a2eee}
.lightbox.is-open{display:flex}
.lightbox img{max-height:84vh;
    max-width:min(1000px,82vw);
    object-fit:contain;
    border-radius:12px}
.lightbox button{position:absolute;
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border:1px solid #ffffff40;
    border-radius:50%;
    background:#ffffff17;
    color:#fff;
    font-size:1.3rem}
.lightbox-close{right:28px;
    top:25px}
.lightbox-prev{left:28px;
    top:50%}
.lightbox-next{right:28px;
    top:50%}
.form-card{max-width:790px;
    padding:32px;
    border:1px solid var(--cn-line);
    border-radius:22px;
    background:#fff;
    box-shadow:var(--cn-shadow)}
.form-grid{display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px}
.form-field{display:grid;
    gap:7px}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:.8rem;
    color:#496170;
    font-weight:700}
.form-field input,.form-field select,.form-field textarea{width:100%;
    padding:12px 14px;
    border:1px solid #d9e5e1;
    border-radius:11px;
    background:#fff;
    color:var(--cn-ink);
    font:500 .9rem 'DM Sans',sans-serif}
.form-field textarea{min-height:130px;
    resize:vertical}
.form-error{display:none;
    color:#b94141;
    font-size:.76rem}
.form-field.is-invalid .form-error{display:block}
.form-field.is-invalid input,.form-field.is-invalid textarea,.form-field.is-invalid select{border-color:#d66}
.form-notice{display:none;
    margin-top:18px;
    padding:15px 17px;
    border-radius:12px;
    background:#e9f7ef;
    color:#23654e;
    font-size:.86rem}
.form-notice.is-visible{display:block}
.booking-shell{max-width:960px;
    margin-inline:auto}
.booking-steps{display:grid;
    grid-template-columns:repeat(5,1fr);
    margin:8px 0 30px}
.booking-step{position:relative;
    text-align:center;
    color:#8999a1;
    font-size:.72rem;
    font-weight:700}
.booking-step:not(:last-child):after{content:"";
    position:absolute;
    top:17px;
    left:60%;
    width:80%;
    height:2px;
    background:#dbe6e2}
.booking-step span{position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    width:35px;
    height:35px;
    margin:0 auto 8px;
    border-radius:50%;
    background:#e9efed;
    color:#617681;
    font-size:.8rem}
.booking-step.is-current,.booking-step.is-complete{color:var(--cn-teal-dark)}
.booking-step.is-current span,.booking-step.is-complete span{background:var(--cn-teal);
    color:white}
.booking-panel{padding:30px;
    border:1px solid var(--cn-line);
    border-radius:22px;
    background:white;
    box-shadow:var(--cn-shadow)}
.booking-panel[hidden]{display:none}
.booking-panel h2{font-size:1.7rem;
    margin:0 0 8px}
.choice-grid{display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:24px}
.choice-card{display:flex;
    align-items:center;
    gap:12px;
    padding:14px;
    border:1px solid var(--cn-line);
    border-radius:14px;
    background:#fff;
    text-align:left;
    cursor:pointer;
    color:var(--cn-ink)}
.choice-card:hover,.choice-card.is-selected{border-color:var(--cn-teal);
    background:#f1faf7}
.choice-card img{width:48px;
    height:48px;
    object-fit:cover;
    border-radius:12px}
.choice-card strong{display:block;
    font-size:.83rem}
.choice-card small{display:block;
    color:#80909a;
    font-size:.72rem;
    margin-top:3px}
.booking-actions{display:flex;
    justify-content:space-between;
    gap:15px;
    margin-top:25px}
.booking-slots{display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:18px}
.slot-button{padding:9px 14px;
    border:1px solid var(--cn-line);
    border-radius:10px;
    background:#fff;
    color:#365363;
    font:600 .82rem 'DM Sans';
    cursor:pointer}
.slot-button.is-selected{background:var(--cn-teal);
    border-color:var(--cn-teal);
    color:#fff}
.booking-summary{padding:17px;
    border-radius:13px;
    background:#f3f8f6;
    color:#49616d;
    font-size:.87rem}
.booking-reference{padding:13px 18px;
    border:1px dashed #85c9b5;
    border-radius:12px;
    background:#effaf5;
    color:#1c705b;
    font:800 1.2rem Manrope;
    letter-spacing:.08em}
.demo-disclaimer{padding:13px 16px;
    border-radius:12px;
    background:#fff8e8;
    color:#856a2e;
    font-size:.78rem}
.site-footer{background:#102840;
    color:#d7e3e7;
    padding:65px 0 0}
.footer-main{display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1.15fr;
    gap:42px;
    padding-bottom:48px}
.brand-light{color:white}
.brand-light .brand-copy small{color:#9eb2bd}
.footer-brand>p{max-width:310px;
    margin:20px 0;
    color:#aebfc7;
    font-size:.84rem}
.site-footer h2{color:#fff;
    font:700 .9rem Manrope;
    letter-spacing:0;
    margin:8px 0 20px}
.footer-main>div:not(:first-child)>a{display:block;
    color:#b2c3ca;
    margin:11px 0;
    font-size:.81rem}
.footer-main a:hover{color:#fff}
.footer-main>div>p{color:#b2c3ca;
    font-size:.79rem;
    margin:12px 0}
.footer-main>div>p i{color:#69cbb4;
    margin-right:8px}
.footer-main>div>p small{color:#8299a3}
.social-links{display:flex;
    gap:9px}
.social-links a{display:grid;
    place-items:center;
    width:35px;
    height:35px;
    border-radius:50%;
    background:#ffffff12;
    color:#dce8eb}
.footer-bottom{display:flex;
    justify-content:space-between;
    gap:20px;
    padding:19px 0;
    border-top:1px solid #ffffff1c;
    color:#90a5ae;
    font-size:.74rem}
.footer-bottom strong{color:#e6eff1}
.back-top{position:fixed;
    right:22px;
    bottom:22px;
    z-index:30;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:0;
    border-radius:50%;
    background:var(--cn-teal);
    color:white;
    box-shadow:0 8px 24px #102b4630;
    opacity:0;
    transform:translateY(8px);
    pointer-events:none;
    transition:.2s}
.back-top.is-visible{opacity:1;
    transform:none;
    pointer-events:auto}
.toast-message{position:fixed;
    right:22px;
    bottom:78px;
    z-index:80;
    max-width:360px;
    padding:13px 17px;
    border-radius:12px;
    background:var(--cn-navy);
    color:white;
    box-shadow:var(--cn-shadow);
    opacity:0;
    transform:translateY(8px);
    pointer-events:none;
    transition:.2s}
.toast-message.is-visible{opacity:1;
    transform:none}
.visually-hidden{position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0}

.skip-link{position:fixed;
    top:8px;
    left:8px;
    z-index:1000;
    padding:10px 14px;
    border-radius:8px;
    background:var(--cn-navy);
    color:#fff!important;
    transform:translateY(-160%)}
.skip-link:focus{transform:none}

@media(max-width:1050px){.primary-nav{gap:12px}
.primary-nav>a:not(.button){font-size:.77rem}
.hero-grid{gap:35px}
.hero-visual>img{height:450px}
.card-grid{gap:15px}
.doctor-info,.facility-info{padding:17px}
.doctor-card-bottom,.facility-card-bottom{align-items:flex-start;
    flex-direction:column}
.footer-main{gap:25px}
}

@media(max-width:850px){.wrap{width:min(100% - 36px,700px)}
.topline-note{display:none}
.nav-wrap{height:72px}
.nav-toggle{display:block}
.primary-nav{position:absolute;
    display:none;
    top:72px;
    left:0;
    right:0;
    padding:16px 22px 23px;
    background:#fff;
    border-bottom:1px solid var(--cn-line);
    box-shadow:0 18px 25px #102b4610;
    align-items:stretch;
    gap:0}
.primary-nav.is-open{display:flex;
    flex-direction:column}
.primary-nav>a:not(.button){padding:11px 4px;
    font-size:.9rem}
.nav-cta{margin-top:8px}
.hero{padding:48px 0 68px}
.hero-grid{grid-template-columns:1fr;
    gap:40px}
.hero-copy{max-width:none}
.hero-visual{width:min(100%,560px);
    margin:0 auto}
.hero-visual>img{height:440px}
.availability-float{left:-8px!important}
.satisfaction-float{right:-8px!important}
.search-form{grid-template-columns:1fr 1fr}
.search-field:nth-child(2){border:0}
.search-form .button{grid-column:1/-1}
.trust-row{grid-template-columns:repeat(2,1fr);
    row-gap:22px}
.trust-stat:nth-child(2){border:0}
.trust-stat:nth-child(3){padding-left:0}
.specialty-grid{grid-template-columns:repeat(3,1fr)}
.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.section{padding:72px 0}
.page-hero-grid{grid-template-columns:1fr}
.page-hero-image{height:300px}
.profile-grid,.facility-detail-grid{grid-template-columns:1fr}
.profile-side{position:static}
.footer-main{grid-template-columns:repeat(2,1fr)}
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.cta-band{padding:42px}
.cta-band .button{position:relative;
    right:auto;
    top:auto;
    transform:none;
    margin-top:23px}
.choice-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){.wrap{width:calc(100% - 32px)}
.topline-inner{justify-content:center;
    font-size:.7rem}
.topline-dot{padding:0 5px}
.brand-symbol{width:39px;
    height:39px}
.brand-copy strong{font-size:1.12rem}
.hero{padding:38px 0 60px}
.hero-copy h1{font-size:2.75rem}
.hero-copy>p{font-size:.96rem}
.hero-actions{display:grid;
    grid-template-columns:1fr}
.hero-actions .button{width:100%}
.hero-visual>img{height:360px;
    border-radius:130px 130px 22px 22px}
.float-card{padding:11px 12px}
.float-icon{width:34px;
    height:34px}
.float-copy strong{font-size:.74rem}
.float-copy small{font-size:.64rem}
.search-panel{margin-top:-25px;
    padding:8px}
.search-form{grid-template-columns:1fr}
.search-field{border-right:0;
    border-bottom:1px solid var(--cn-line);
    padding:10px}
.search-field:nth-child(2){border-bottom:1px solid var(--cn-line)}
.search-form .button{grid-column:auto}
.trust-stat{padding:0 12px}
.trust-stat strong{font-size:1.5rem}
.trust-stat span{font-size:.72rem}
.section{padding:58px 0}
.section-head{align-items:flex-start;
    flex-direction:column;
    gap:13px;
    margin-bottom:25px}
.section-head p{font-size:.9rem}
.specialty-grid{grid-template-columns:repeat(2,1fr);
    gap:10px}
.specialty-card{min-height:135px;
    padding:16px}
.specialty-icon{width:39px;
    height:39px;
    margin-bottom:13px}
.card-grid,.service-grid,.steps-grid{grid-template-columns:1fr}
.doctor-photo img{height:300px}
.facility-photo img{height:215px}
.doctor-card-bottom,.facility-card-bottom{align-items:center;
    flex-direction:row}
.cta-band{padding:31px 24px}
.cta-band h2{font-size:1.8rem}
.footer-main{grid-template-columns:1fr;
    gap:28px}
.footer-bottom{flex-direction:column;
    gap:7px}
.page-hero{padding:53px 0 40px}
.page-hero-image{height:240px}
.filter-bar{align-items:stretch;
    flex-direction:column}
.filter-bar select{width:100%}
.profile-main,.profile-side{padding:20px}
.profile-top{align-items:flex-start;
    flex-direction:column}
.profile-portrait{width:130px;
    height:145px}
.profile-top h1{font-size:2rem}
.facility-hero-photo{height:270px}
.facility-detail-heading{align-items:flex-start;
    flex-direction:column}
.facility-detail-heading h1{font-size:2.35rem}
.gallery-grid{grid-template-columns:repeat(2,1fr);
    grid-auto-rows:150px;
    gap:9px}
.gallery-item:nth-child(5n+3){grid-column:auto}
.lightbox{padding:14px}
.lightbox img{max-width:88vw}
.lightbox-prev{left:8px}
.lightbox-next{right:8px}
.lightbox-close{right:10px;
    top:12px}
.form-card{padding:21px}
.form-grid{grid-template-columns:1fr}
.form-field.full{grid-column:auto}
.booking-steps{margin-inline:-6px}
.booking-step{font-size:.61rem}
.booking-step span{width:30px;
    height:30px}
.booking-step:not(:last-child):after{top:14px}
.booking-panel{padding:20px}
.booking-panel h2{font-size:1.45rem}
.choice-grid{grid-template-columns:1fr}
.booking-actions .button{padding:12px 15px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important}
}
.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px}
.service-detail-list{display:grid;gap:13px}
.service-detail{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px 25px;border:1px solid var(--cn-line);border-radius:18px;background:#fff;scroll-margin-top:110px}
.service-detail .service-icon{margin:0}
.service-detail h3{margin:0 0 7px}
.service-detail p{margin:0;font-size:.86rem}
.service-detail .eyebrow{margin-bottom:4px}
@media(max-width:560px){.service-detail{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px}.service-detail>.text-link{grid-column:2}.service-detail .service-icon{width:42px;height:42px}}

