:root{--teal:#007d80;--dark:#123f41;--coral:#ef735f;--cream:#f5f3ed;--ink:#153536;--muted:#698081;--line:#dfe7e5;--white:#fff;--wrap:min(1180px,calc(100% - 48px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans Georgian",Arial,sans-serif;background:#fff}a{text-decoration:none;color:inherit}button,select,input{font:inherit}.wrap{width:var(--wrap);margin:auto}.site-header{height:88px;background:#fff;display:flex;align-items:center;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(18,63,65,.08)}.topbar{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:22px;color:var(--dark);line-height:.85}.brand small{font-size:7px;display:block;letter-spacing:1.1px;margin-top:7px;text-transform:uppercase}.brand-mark{width:33px;height:39px;position:relative;display:block}.brand-mark i{position:absolute;width:11px;height:29px;border-radius:12px;background:var(--coral);transform:rotate(45deg);top:1px;left:11px}.brand-mark i:nth-child(2){transform:rotate(-45deg);top:10px}.brand-mark i:nth-child(3){width:10px;height:10px;border-radius:50%;background:var(--teal);left:22px;top:0}.main-nav{display:flex;gap:28px;font-size:13px;font-weight:600}.main-nav a{transition:.2s}.main-nav a:hover{color:var(--teal)}.header-actions{display:flex;align-items:center;gap:9px}.icon-btn,.lang,.menu-btn{background:none;border:0;cursor:pointer}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.icon-btn svg,.account svg,.find-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.lang{font-size:12px;font-weight:700;padding:10px}.account{height:44px;background:var(--dark);color:#fff;padding:0 16px;border-radius:2px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.account svg{width:17px}.menu-btn{display:none}.hero{height:620px;position:relative;overflow:hidden;background:#ddd}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,45,44,.86) 0%,rgba(10,45,44,.56) 35%,rgba(10,45,44,.02) 67%)}.hero-content{height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;color:#fff}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--teal)}.hero .eyebrow{color:#9cd7d4;font-size:14px}.hero h1{font-size:72px;line-height:1.08;margin:20px 0 17px;letter-spacing:-2px;max-width:650px}.hero p{max-width:550px;font-size:16px;line-height:1.8;margin:0 0 34px;color:#e8f0ef}.hero-actions{display:flex;gap:12px}.btn{height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 25px;border:1px solid transparent;cursor:pointer;font-weight:700;font-size:13px}.btn.primary{background:var(--coral);color:#fff}.btn.ghost{border-color:rgba(255,255,255,.55);color:#fff}.btn.ghost b{font-size:18px;margin-left:20px}.hero-controls{position:absolute;bottom:30px;right:max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;gap:9px}.hero-controls button{width:36px;height:36px;border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent;cursor:pointer}.hero-controls span{width:25px;height:2px;background:rgba(255,255,255,.4);display:block}.hero-controls span:first-of-type{background:white}.clinic-finder{background:var(--dark);color:#fff}.finder-inner{padding:38px 0;display:grid;grid-template-columns:1fr 1.7fr;gap:40px;align-items:end}.finder-inner h2{font-size:23px;margin:10px 0 0}.section-kicker.light,.clinic-finder .section-kicker{color:#83cbc8}.finder-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.finder-form label{background:#fff;color:var(--muted);height:67px;padding:11px 15px}.finder-form label span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px}.finder-form select{width:100%;border:0;color:var(--ink);outline:0;background:transparent;margin-top:6px;font-size:12px}.find-btn{height:67px;border:0;background:var(--coral);color:#fff;padding:0 25px;font-weight:700;display:flex;align-items:center;gap:9px;cursor:pointer}.form-message{display:none}.section{padding:105px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:38px}.section-head h2{font-size:40px;margin:10px 0 0;letter-spacing:-1px}.arrows{display:flex;gap:8px}.arrows button{width:43px;height:43px;border:1px solid var(--line);background:#fff;color:var(--dark)}.programs{background:#f8faf9}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.program-card{min-height:310px;padding:26px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:.3s}.program-card:hover{transform:translateY(-7px);box-shadow:0 15px 35px #173b3b24}.program-card:after{content:"";position:absolute;width:170px;height:170px;border:1px solid #ffffff2e;border-radius:50%;right:-55px;top:-50px}.program-card.c1{background:#077f83}.program-card.c2{background:#ef735f}.program-card.c3{background:#d9a65b}.program-card.c4{background:#345d68}.card-icon{font-size:39px;font-weight:300}.program-card small,.project-copy small{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;opacity:.75}.program-card h3{font-size:20px;line-height:1.55;margin:11px 0 24px}.more{font-size:11px;font-weight:700}.projects{background:var(--cream)}.text-link{font-size:12px;font-weight:700;color:var(--teal);border-bottom:1px solid var(--teal);padding-bottom:4px}.project-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.project-card{background:#fff;min-height:450px;display:flex;flex-direction:column}.project-art{height:245px;position:relative;overflow:hidden}.project-main .project-art{height:100%}.project-main{display:grid;grid-template-columns:1.08fr .92fr}.doctor-art{background:radial-gradient(circle at 20% 35%,#55bdb6,transparent 18%),linear-gradient(145deg,#074a4d,#008e91)}.orbit{position:absolute;border:1px solid #ffffff38;border-radius:50%}.o1{width:320px;height:320px;left:-90px;top:-80px}.o2{width:220px;height:220px;right:-85px;bottom:-85px}.med-badge{position:absolute;inset:0;margin:auto;width:130px;height:130px;border-radius:36px 10px 36px 10px;background:#fff;color:var(--teal);display:grid;place-items:center;font-size:62px;font-weight:800;transform:rotate(-7deg);box-shadow:0 20px 50px #002c2c50}.med-badge span{color:var(--coral)}.lab-art{background:linear-gradient(135deg,#efd8b8,#e49b73);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff}.lab-art b{font-size:57px;letter-spacing:5px}.lab-art span{font-size:11px;letter-spacing:2px}.coach-art{background:linear-gradient(145deg,#d5eee8,#86c2ba);display:flex;align-items:center;justify-content:center;gap:14px;color:#fff}.coach-art b{font-size:43px}.pulse{font-size:54px}.project-copy{padding:28px}.project-copy h3{font-size:25px;margin:9px 0 12px}.project-copy p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:40px}.project-copy a{font-size:11px;font-weight:700;color:var(--teal)}.news{background:white}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.news-card{border:1px solid var(--line);transition:.25s}.news-card:hover{box-shadow:0 18px 45px #19424212}.news-visual{height:225px;display:flex;align-items:center;justify-content:center;position:relative}.news-visual span{position:absolute;left:20px;top:17px;font-size:12px;font-weight:700;opacity:.5}.news-visual svg{width:80px;height:80px;fill:none;stroke:currentColor;stroke-width:2}.nv1{background:#e1efec;color:#288b86}.nv2{background:#f4e5d4;color:#c37755}.nv3{background:#e4e8f0;color:#667596}.news-body{padding:25px}.news-body time{font-size:10px;color:#819091}.news-body h3{font-size:16px;line-height:1.65;min-height:78px;margin:12px 0 24px}.news-body a{font-size:11px;font-weight:700;color:var(--teal)}.news-body a b{float:right;font-size:18px}.booking{background:var(--teal);color:#fff;padding:72px 0}.booking-inner{display:flex;align-items:center;justify-content:space-between}.booking h2{font-size:39px;margin:10px 0 8px}.booking p{margin:0;color:#c3e5e2;font-size:13px}.btn.white{background:#fff;color:var(--dark);min-width:165px}.btn.white span{margin-left:42px;font-size:19px}footer{background:#0e3638;color:#fff;padding-top:70px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.1fr;gap:55px;padding-bottom:60px}.brand.inverted{color:#fff}.footer-brand p{color:#9cb1b1;font-size:12px;line-height:1.7;max-width:260px;margin:25px 0}.socials{display:flex;gap:8px}.socials a{width:34px;height:34px;border:1px solid #ffffff33;display:grid;place-items:center;font-size:12px}.footer-grid h4{font-size:13px;margin:4px 0 23px}.footer-grid>div>a:not(.brand){display:block;color:#9cb1b1;font-size:11px;margin:14px 0}.contacts>a:first-of-type{font-size:20px!important;color:#fff!important;font-weight:700}.contacts p{font-size:10px;color:#698485}.footer-bottom{border-top:1px solid #ffffff16;padding:22px 0;display:flex;justify-content:space-between;color:#668183;font-size:9px}.footer-bottom div{display:flex;gap:25px}.svg-defs{display:none}.search-modal{position:fixed;inset:0;background:#103e3fed;z-index:100;display:none;align-items:center;justify-content:center}.search-modal.open{display:flex}.search-close{position:absolute;right:35px;top:28px;color:#fff;border:0;background:none;font-size:40px;cursor:pointer}.search-modal>div{width:min(700px,calc(100% - 40px));position:relative}.search-modal p{color:#fff;font-size:30px;margin:0 0 20px}.search-modal input{width:100%;height:70px;border:0;padding:0 70px 0 22px;font-size:16px;outline:0}.search-modal>div button{position:absolute;right:17px;bottom:19px;border:0;background:none}.search-modal svg{width:30px;height:30px;fill:none;stroke:var(--teal);stroke-width:1.5}.toast{position:fixed;right:25px;bottom:25px;background:#fff;border-left:4px solid var(--coral);box-shadow:0 10px 40px #0003;padding:18px 48px 18px 18px;font-size:12px;z-index:120;transform:translateY(140%);transition:.3s}.toast.show{transform:none}.toast button{position:absolute;right:12px;top:10px;border:0;background:none;cursor:pointer}
@media(max-width:980px){.main-nav{display:none}.menu-btn{display:block;width:42px}.menu-btn span{display:block;height:2px;background:var(--dark);margin:7px}.main-nav.open{display:flex;position:absolute;top:88px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;box-shadow:0 15px 30px #0002}.hero{height:560px}.hero h1{font-size:57px}.finder-inner{grid-template-columns:1fr}.program-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr 1fr}.project-main{grid-column:1/-1}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.contacts{grid-column:2/4}.news-body h3{min-height:105px}}
@media(max-width:680px){:root{--wrap:calc(100% - 32px)}.site-header{height:72px}.account span,.lang{display:none}.main-nav.open{top:72px}.hero{height:640px}.hero-photo{object-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(10,45,44,.9),rgba(10,45,44,.35))}.hero-content{justify-content:flex-end;padding-bottom:100px}.hero h1{font-size:45px;margin-top:15px}.hero p{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-controls{left:16px;right:auto}.finder-inner{padding:30px 0;gap:24px}.finder-form{grid-template-columns:1fr}.find-btn{justify-content:center}.section{padding:72px 0}.section-head h2,.booking h2{font-size:30px}.program-grid,.project-grid,.news-grid{grid-template-columns:1fr}.project-main{display:flex}.project-main .project-art{height:270px}.project-card{min-height:0}.news-body h3{min-height:0}.booking-inner{align-items:flex-start;flex-direction:column;gap:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.contacts{grid-column:auto}.footer-bottom{gap:18px;flex-direction:column}.footer-bottom div{flex-direction:column;gap:8px}}

/* Password recovery */
.recovery-link{display:block;border:0;background:none;color:var(--teal);text-decoration:underline;cursor:pointer;margin:16px auto 0;padding:6px;font-size:12px}#recoveryCodeFields{border:0;padding:0;margin:0;min-width:0}
/* Personal account */
.account-dialog{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:18px;padding:36px;color:var(--ink);box-shadow:0 24px 80px #082d3a33}.account-dialog::backdrop{background:rgba(14,54,56,.7)}.account-dialog h2{margin:12px 0;font-size:27px}.account-dialog p{font-size:13px;line-height:1.7}.account-close{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;background:transparent;color:var(--dark);font-size:28px;cursor:pointer}.account-modes{display:flex;gap:6px;margin:24px 0;background:var(--cream);padding:5px;border-radius:10px}.account-modes button{flex:1;padding:12px 6px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.account-modes button[aria-pressed="true"]{background:#fff;color:var(--teal);box-shadow:0 2px 8px #123f4112;font-weight:700}.account-dialog label{display:block;margin:18px 0 8px;font-size:13px;font-weight:600}.account-dialog input:not([type="checkbox"]){display:block;width:100%;min-width:0;height:48px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.account-dialog small{display:block;margin-top:7px;font-size:11px;color:var(--muted);line-height:1.6}.account-dialog [hidden]{display:none}.account-dialog .password-visibility{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:400;cursor:pointer}.password-visibility input{accent-color:var(--teal);width:16px;height:16px}.account-submit{width:100%;border-radius:7px}.account-message{color:#a5294c}.account-message:empty{display:none}.account-note{color:var(--muted);margin-bottom:0}.account-dialog :focus-visible{outline:3px solid #007d8055;outline-offset:3px}.account-dialog button:disabled{opacity:.6;cursor:wait}body:has(.account-dialog[open]){overflow:hidden}@media(max-width:480px){.account-dialog{padding:30px 22px}}

/* Family Center N2 identity */
.family-logo{width:48px;height:43px;flex:0 0 auto;overflow:visible}.family-logo .logo-heart{fill:#cf197c;stroke:none}.family-logo circle{fill:#fff;stroke:none}.family-logo path:not(.logo-heart){fill:none;stroke:#fff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.brand-name{color:#cf197c;font-size:18px;line-height:1;white-space:nowrap}.brand-name strong{color:#cf197c;font-size:21px}.brand-name small{color:#657779;font-size:6.5px;letter-spacing:.75px;margin-top:7px}.brand.inverted .family-logo .logo-heart{fill:#f04e9f}.brand.inverted .brand-name,.brand.inverted .brand-name strong,.brand.inverted .brand-name small{color:#fff}
@media(max-width:420px){.family-logo{width:40px;height:36px}.brand-name{font-size:15px}.brand-name strong{font-size:18px}.brand-name small{font-size:5.5px}}

/* Language selector */
.language-switcher{position:relative}.lang{height:38px;min-width:58px;border:1px solid var(--line);border-radius:20px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--ink);background:#fff}.lang b{font-size:13px;transition:transform .2s}.language-switcher.open .lang b{transform:rotate(180deg)}.language-menu{position:absolute;right:0;top:calc(100% + 10px);width:158px;padding:7px;background:#fff;border:1px solid #eadde4;border-radius:12px;box-shadow:0 18px 45px rgba(66,21,44,.16);opacity:0;visibility:hidden;transform:translateY(-7px);transition:.2s;z-index:80}.language-switcher.open .language-menu{opacity:1;visibility:visible;transform:none}.language-menu button{width:100%;border:0;background:transparent;border-radius:8px;padding:10px 11px;display:flex;justify-content:space-between;color:#472638;cursor:pointer;text-align:left;font-size:12px}.language-menu button:hover,.language-menu button.active{background:#fff0f7;color:#b31569}.language-menu small{font-weight:800;color:#a77990}.lang:focus-visible,.language-menu button:focus-visible,.btn:focus-visible,a:focus-visible{outline:3px solid rgba(207,25,124,.28);outline-offset:3px}
@media(max-width:680px){.lang{display:flex;min-width:50px}.language-menu{right:-35px}}

/* Direct clinic location */
.location-card{min-height:98px;background:#fff;border-radius:14px;padding:17px 20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;color:var(--ink);box-shadow:0 16px 45px rgba(0,0,0,.13);border:1px solid transparent;transition:transform .25s,box-shadow .25s,border-color .25s}.location-card:hover{transform:translateY(-4px);box-shadow:0 22px 54px rgba(0,0,0,.2);border-color:#efb5d4}.location-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#d31c7c,#8c1e55);display:grid;place-items:center;box-shadow:0 10px 24px rgba(207,25,124,.25)}.location-icon svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:1.8}.location-copy{display:flex;flex-direction:column;gap:4px}.location-copy small{color:#9a6b82;font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase}.location-copy strong{font-size:17px;color:#4a2036}.location-copy em{font-size:11px;font-style:normal;color:#718182}.location-arrow{width:40px;height:40px;border-radius:50%;background:#fff0f7;color:#bd166d;display:grid;place-items:center;font-size:20px;transition:.25s}.location-card:hover .location-arrow{background:#cf197c;color:#fff;transform:rotate(5deg)}
@media(max-width:680px){.location-card{min-height:92px;padding:14px;gap:13px}.location-icon{width:50px;height:50px;border-radius:15px}.location-copy strong{font-size:14px}.location-copy em{font-size:9px}.location-arrow{width:34px;height:34px}}

/* Patient appointments */
.appointment-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0 20px}.appointment-tabs button{padding:14px 18px;border:1px solid var(--line);background:#fff;color:var(--dark);border-radius:8px;cursor:pointer;font:inherit;font-size:13px}.appointment-tabs button[aria-selected="true"]{background:var(--dark);color:#fff}.appointment-panel{padding:28px;border:1px solid var(--line);border-radius:12px;background:#f8faf9;margin-bottom:28px}.appointment-panel[hidden]{display:none}.appointment-panel h2{margin-top:0}.appointment-panel p{line-height:1.8;font-size:14px}.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;max-width:760px}.appointment-form label{font-size:13px;display:flex;flex-direction:column;gap:9px}.appointment-form input{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}.appointment-form small{grid-column:1/-1;color:var(--muted)}.appointment-card{padding:18px;margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.appointment-card h3{margin:0;font-size:17px}.appointment-card small{color:var(--teal)}.appointment-tabs button:focus-visible,.appointment-form input:focus-visible{outline:3px solid var(--teal);outline-offset:3px}@media(max-width:600px){.appointment-form{grid-template-columns:1fr}.appointment-panel{padding:18px}.appointment-tabs button{flex:1;font-size:11px;padding:12px 8px}}

/* Georgian appointment calendar */
.date-picker{position:relative;min-width:0;font-size:13px}.date-picker>span{display:block;margin-bottom:9px}.date-toggle{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:white;border:1px solid var(--line);border-radius:7px;color:var(--muted);text-align:left;cursor:pointer;font:inherit}.date-toggle.has-date{color:var(--ink)}.date-toggle svg{width:21px;height:21px;fill:none;stroke:var(--teal);stroke-width:1.7;flex-shrink:0}.date-toggle[aria-expanded="true"]{border-color:var(--teal);box-shadow:0 0 0 3px #007d8012}.date-calendar{position:absolute;left:0;top:calc(100% + 9px);width:340px;max-width:100%;background:#fff;border:1px solid #dfeae7;border-radius:18px;box-shadow:0 18px 55px #123f4126;padding:20px;z-index:20}.date-calendar[hidden]{display:none}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:24px}.calendar-heading small{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.calendar-heading strong{display:block;font-size:15px;color:var(--dark)}.calendar-nav{display:flex;gap:5px}.calendar-nav button{width:30px;height:32px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--dark);font-size:24px;cursor:pointer}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-week{margin-bottom:10px;color:var(--muted);text-align:center;font-size:10px;font-weight:600}.calendar-days button{position:relative;aspect-ratio:1;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.calendar-days button:hover:not(:disabled){background:#eaf5f1;color:var(--teal)}.calendar-days button[aria-pressed="true"]{background:var(--teal)!important;color:white!important;box-shadow:0 4px 10px #007d8033}.calendar-days .is-today:after{content:"";position:absolute;bottom:4px;left:calc(50% - 2px);height:4px;width:4px;border-radius:50%;background:var(--coral)}.calendar-days button:disabled,.calendar-nav button:disabled{color:#bdc9c6;cursor:default}.calendar-footer{margin-top:16px;padding-top:12px;border-top:1px solid #edf2f0;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.calendar-footer button{border:0;background:#edf6f3;color:var(--teal);border-radius:7px;padding:8px 13px;font:inherit;font-weight:700;cursor:pointer}.date-picker button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}@media(max-width:380px){.date-calendar{padding:12px}.calendar-heading strong{font-size:13px}.calendar-days button{font-size:12px}}

/* Appointment time preference */
.time-picker{position:relative;min-width:0;font-size:13px}.time-picker>span{display:block;margin-bottom:9px}.time-panel{position:absolute;left:0;top:calc(100% + 9px);width:340px;max-width:100%;padding:20px;background:#fff;border:1px solid #dfeae7;border-radius:18px;box-shadow:0 18px 55px #123f4126;z-index:21}.time-panel[hidden]{display:none}.time-panel .calendar-heading{margin-bottom:18px}.time-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.time-columns>div>span{display:block;text-align:center;margin-bottom:8px;font-size:11px;color:var(--muted)}.time-options{position:relative;height:184px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bdd8d2 transparent;padding:4px;background:#f5f9f7;border:1px solid #e6eeeb;border-radius:12px}.time-options button{display:block;width:100%;min-height:39px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:16px;font-variant-numeric:tabular-nums;cursor:pointer;margin-bottom:3px}.time-options button:hover{background:#e3f0eb}.time-options button[aria-pressed="true"]{background:var(--teal);color:white;box-shadow:0 3px 8px #007d8022}.time-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf2f0;margin-top:18px;padding-top:14px;gap:12px}.time-footer strong{font-size:25px;color:var(--dark);font-variant-numeric:tabular-nums}.time-footer .btn{height:40px;border-radius:8px;padding:0 20px}.time-footer .btn:disabled{opacity:.45;cursor:default}.appointment-form .time-note{display:block;font-size:10px;line-height:1.7;margin-top:12px;color:var(--muted)}.time-picker button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}@media(max-width:380px){.time-panel{padding:14px}.time-panel .calendar-heading strong{font-size:13px}}

/* Doctors directory */
.doctors-intro{padding:48px 0 64px;background:linear-gradient(120deg,#edf5f1,#f7f3ed)}.doctors-back{display:block;margin-bottom:38px;color:var(--muted);font-size:12px}.doctors-intro .section-kicker{display:block}.doctors-intro h1{font-size:48px;margin:14px 0;color:var(--dark)}.doctors-intro p{max-width:580px;line-height:1.8;color:var(--muted)}.doctors-directory{padding-top:40px;padding-bottom:80px}.doctor-filters{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:24px}.doctor-filters label{display:flex;flex-direction:column;gap:9px;font-size:13px}.doctor-filters input,.doctor-filters select{padding:14px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}.doctor-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.doctor-profile{padding:22px;border:1px solid var(--line);border-radius:16px}.doctor-portrait{height:200px;display:flex;align-items:center;justify-content:center;background:#edf5f1;color:var(--teal);font-size:48px;border-radius:12px;overflow:hidden}.doctor-portrait img{width:100%;height:100%;object-fit:cover}.doctor-profile h2{font-size:20px;margin:22px 0 9px}.doctor-profile strong{color:var(--teal);font-size:13px}.doctor-profile p{font-size:13px;color:var(--muted);line-height:1.8}.doctors-empty{text-align:center;padding:55px 24px;border:1px solid var(--line);border-radius:18px;background:#fafcfb}.doctors-empty h2{font-size:24px}.doctors-empty p{color:var(--muted);line-height:1.8;margin-bottom:26px}.doctors-page [hidden]{display:none}#doctorCount{font-size:13px;color:var(--muted)}@media(max-width:680px){.doctors-intro h1{font-size:34px}.doctor-filters,.doctor-list{grid-template-columns:1fr}.doctors-page .topbar{gap:16px}.doctors-page .topbar>.text-link{font-size:10px}.doctors-empty h2{font-size:20px}}

/* Patient dashboard */
.patient-page{background:#f3f7f5}.patient-page .site-header{height:82px}.patient-header-actions{display:flex;align-items:center;gap:24px;font-size:12px;color:var(--muted)}.patient-logout{border:1px solid var(--line);background:#fff;padding:10px 18px;border-radius:9px;color:var(--dark);cursor:pointer}.patient-logout:hover{background:#f0f6f3}.patient-main{padding-top:44px;padding-bottom:24px}.patient-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.patient-welcome h1{font-size:clamp(25px,3vw,37px);line-height:1.3;letter-spacing:-1px;margin:12px 0;overflow-wrap:anywhere}.patient-welcome p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.patient-space-badge{display:flex;align-items:center;gap:10px;white-space:nowrap;background:#e6f0eb;border:1px solid #d7e7df;border-radius:30px;color:var(--teal);font-size:12px;padding:10px 17px}.patient-space-badge>span{font-size:24px}.patient-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:start}.patient-workspace{min-width:0}.patient-page .appointment-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px;background:#e8eeeb;border-radius:13px;margin:0 0 20px}.patient-page .appointment-tabs button{border:0;background:transparent;padding:14px 8px;font-size:12px;border-radius:9px;color:#5b7370;line-height:1.5}.patient-page .appointment-tabs button[aria-selected="true"]{background:#fff;color:var(--dark);font-weight:700;box-shadow:0 2px 8px #123f4110}.patient-page .appointment-panel{background:#fff;padding:32px;border:1px solid #e3ebe7;border-radius:18px;box-shadow:0 7px 28px #15353605;margin-bottom:0}.booking-card-heading{display:flex;align-items:center;gap:15px}.booking-symbol{display:grid;place-items:center;width:49px;height:49px;background:#eaf5ef;border-radius:14px;color:var(--teal);font-size:32px;flex-shrink:0}.patient-page .booking-card-heading h2{font-size:23px;margin:6px 0 0;letter-spacing:-.5px}.patient-page .booking-card-heading .section-kicker{font-size:9px}.patient-page .appointment-panel>p{color:var(--muted);font-size:12px;margin:18px 0 0}.patient-page .appointment-form{max-width:none;gap:22px 18px;margin-top:26px}.patient-page .appointment-form label,.patient-page .date-picker>span,.patient-page .time-picker>span{font-size:12px;font-weight:600}.patient-page .appointment-form input,.patient-page .date-toggle{min-height:50px;border-radius:10px;background:#fbfdfc;border-color:#dce6e1;font-size:12px;font-weight:400}.patient-page .appointment-form input::placeholder{color:#8a9e97}.patient-page .appointment-form>.btn{grid-column:1/-1;width:100%;border-radius:10px;background:var(--teal);height:50px;transition:background .2s}.patient-page .appointment-form>.btn:hover{background:var(--dark)}.patient-page .appointment-form>.btn:disabled{opacity:.6;cursor:wait}.patient-page .booking-time-note{font-size:10px;margin-top:-7px}.patient-page #appointmentMessage:not(:empty){padding:12px 14px;background:#edf6f0;border-radius:9px;color:var(--dark);line-height:1.8}.patient-guide{margin-top:80px;padding:28px 24px;background:linear-gradient(150deg,#e3eee7,#eef4ed);border:1px solid #dbe7de;border-radius:18px}.patient-guide>.section-kicker{font-size:9px}.patient-guide h2{font-size:20px;line-height:1.6;margin:12px 0 24px}.patient-guide ol{list-style:none;padding:0;counter-reset:steps}.patient-guide li{counter-increment:steps;position:relative;padding-left:39px;margin-bottom:23px}.patient-guide li:before{content:counter(steps);position:absolute;left:0;top:-2px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--teal);font-size:11px;font-weight:700}.patient-guide strong{font-size:12px}.patient-guide p{font-size:11px;color:#637e73;line-height:1.9;margin:6px 0 0}.patient-guide-note{display:flex;align-items:flex-start;gap:9px;padding:16px 0;border-top:1px solid #ccdcd2;margin-bottom:16px}.patient-guide-note>span{color:var(--teal);font-size:19px}.patient-guide-note p{margin:0}.patient-footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#879b92;margin-top:38px;padding-top:20px;border-top:1px solid #dfe8e2}.patient-page .appointment-card{border-radius:12px;background:#fafcfb}.patient-page .appointment-card p{color:var(--muted)}.patient-page #profileMessage:empty{display:none}.patient-page button:focus-visible{outline:2px solid var(--teal);outline-offset:3px}@media(max-width:1000px){.patient-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.patient-page .appointment-panel{padding:24px}.patient-guide{padding:24px 18px}}@media(max-width:800px){.patient-layout{grid-template-columns:1fr}.patient-guide{margin-top:0}.patient-guide ol{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.patient-guide li{margin:0}.patient-space-badge{display:none}}@media(max-width:600px){.patient-main{padding-top:28px}.patient-welcome{margin-bottom:24px}.patient-header-actions>a{display:none}.patient-page .site-header{height:72px}.patient-page .appointment-panel{padding:22px 18px}.patient-page .appointment-tabs button{font-size:10px;padding:12px 4px}.patient-page .booking-card-heading h2{font-size:21px}.patient-guide ol{grid-template-columns:1fr;gap:20px}.patient-page .appointment-form{gap:18px}.patient-footer{flex-direction:column;gap:8px}.patient-header-actions{gap:8px}.patient-logout{padding:9px 12px}.patient-page .date-calendar,.patient-page .time-panel{width:340px}}

/* Clinic information assistant */
.clinic-chat{position:fixed;right:24px;bottom:24px;z-index:90;font-family:"Noto Sans Georgian",Arial,sans-serif}.chat-launch{display:flex;align-items:center;gap:10px;border:0;background:var(--dark);color:white;padding:15px 20px;border-radius:30px;box-shadow:0 6px 24px #123f4130;cursor:pointer;font:inherit;font-size:13px}.chat-launch span{color:#a6d9c4;font-size:22px}.chat-panel{position:absolute;bottom:70px;right:0;width:370px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 120px);display:flex;flex-direction:column;background:#fff;border:1px solid #dbe8e1;border-radius:18px;box-shadow:0 16px 60px #123f4133;overflow:hidden}.chat-panel[hidden]{display:none}.chat-panel>header{display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:white;padding:18px;flex-shrink:0}.chat-panel header strong{font-size:16px}.chat-panel header small{display:block;font-size:9px;color:#bad6cc;margin-top:6px}.chat-close{border:0;background:transparent;color:white;font-size:26px;cursor:pointer;padding:0 6px}.chat-notice{font-size:10px;line-height:1.7;color:#678078;padding:12px 16px;margin:0;background:#f0f6f2;flex-shrink:0}.chat-messages{overflow:auto;padding:16px;min-height:60px;max-height:280px;flex:1}.chat-messages p{font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;padding:12px;border-radius:12px}.chat-answer{background:#f0f5f2;color:var(--dark);margin-right:20px!important}.chat-question{background:var(--teal);color:white;margin-left:20px!important}.chat-links{display:flex;gap:7px;flex-wrap:wrap;padding:0 16px 10px;flex-shrink:0}.chat-links a{font-size:10px;border:1px solid #dce8e1;padding:7px 9px;border-radius:18px;color:var(--teal)}.chat-form{padding:8px 16px;flex-shrink:0}.chat-input-label{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.chat-form>div{display:flex;gap:8px}.chat-form input{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;padding:11px;font-size:12px}.chat-form button{background:var(--teal);color:white;border:0;border-radius:9px;padding:0 14px;font-size:22px;cursor:pointer}.chat-form button:disabled{opacity:.5;cursor:wait}.chat-status{font-size:10px;line-height:1.7;color:#9b354a;margin:0;padding:0 16px}.chat-status:empty{display:none}.chat-clear{align-self:center;background:none;border:0;text-decoration:underline;font:inherit;font-size:10px;color:var(--muted);padding:10px;cursor:pointer}.clinic-chat button:focus-visible,.clinic-chat input:focus-visible{outline:2px solid var(--coral);outline-offset:2px}@media(max-width:600px){.clinic-chat{right:16px;bottom:16px}.chat-panel{bottom:64px}.chat-launch{padding:12px 16px}.chat-messages{max-height:220px}}

/* Full-width service banner with a readable foreground and individual image framing. */
.hero.hero-services{height:620px;min-height:0;display:block;padding:0;background:#143f41;isolation:isolate}
.hero-services .hero-gallery{position:absolute;inset:0;z-index:-2}
.hero-services .hero-gallery:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,45,44,.9),rgba(10,45,44,.67) 36%,rgba(10,45,44,.08) 76%);pointer-events:none}
.hero-services .hero-slide{position:absolute;inset:0;overflow:hidden}
.hero-services .hero-slide[hidden]{display:none}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;image-rendering:auto}
.hero-slide:nth-child(2) img{object-position:center 28%}
.hero-slide:nth-child(3) img{object-position:center 27%}
.hero-services .hero-content{height:100%;justify-content:center}
.hero-services .hero-controls{bottom:30px;z-index:1}
.hero-services .hero-controls button{border-radius:50%;width:40px;height:40px;background:#123f4140}
.hero-services .hero-controls .hero-dot{width:12px;height:12px;padding:0;border:0;background:#ffffff55}
.hero-services .hero-dot[aria-pressed="true"]{background:#fff;box-shadow:0 0 0 4px #ffffff20}
.hero-services .hero-controls button:hover{background:#ffffff35}
.hero-services .hero-controls button:focus-visible{outline:3px solid #f17462;outline-offset:5px}
.hero-services .hero-controls .hero-slide-status{width:auto;height:auto;background:none;color:#fff;font-size:12px;margin-left:8px}
@media(max-width:980px){.hero.hero-services{height:560px}}
@media(max-width:680px){.hero.hero-services{height:640px}.hero-services .hero-content{justify-content:flex-end;padding-bottom:100px}.hero-services .hero-gallery:after{background:linear-gradient(0deg,rgba(10,45,44,.96),rgba(10,45,44,.7) 45%,rgba(10,45,44,.12))}.hero-slide img{object-position:58% top}.hero-slide:nth-child(2) img{object-position:52% top}.hero-slide:nth-child(3) img{object-position:65% top}.hero-services .hero-controls{left:16px;right:auto}}

/* Crossfade both layers; reduced-motion visitors get an immediate switch. */
.hero-services .hero-slide{opacity:0;transition:opacity .7s ease-in-out;pointer-events:none}
.hero-services .hero-slide.is-active{opacity:1}
.hero-services .hero-slide img{object-position:70% 52%}
.hero-services .hero-slide:nth-child(2) img{object-position:70% 65%}
.hero-services .hero-slide:nth-child(3) img{object-position:70% 72%}
@media(prefers-reduced-motion:reduce){.hero-services .hero-slide{transition:none}}

.doctor-portrait.doctor-portrait-placeholder{height:auto;aspect-ratio:8/5;background:#a6cdcf}
.doctor-portrait-placeholder img{display:block;object-fit:contain}

/* Keep the child's face visible in the pediatric ultrasound banner. */
.hero-services .hero-slide:nth-child(3) img{object-position:70% 45%}

.specialty-picker{position:relative;min-width:0}
.specialty-picker>label{display:block;margin-bottom:9px}
.specialty-toggle{width:100%;min-height:52px;padding:14px 44px 14px 17px;border:1px solid #cfe0da;border-radius:12px;background:#fff;color:var(--dark);font:inherit;font-size:13px;text-align:left;cursor:pointer;position:relative;transition:border-color .18s,box-shadow .18s}
.specialty-toggle:after{content:'';position:absolute;right:19px;top:20px;width:8px;height:8px;border-right:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(45deg);transition:transform .18s}
.specialty-toggle[aria-expanded="true"]{border-color:var(--teal);box-shadow:0 0 0 3px #00858a12}
.specialty-toggle[aria-expanded="true"]:after{transform:translateY(4px) rotate(225deg)}
.specialty-choices{position:absolute;top:calc(100% + 8px);left:0;right:0;padding:6px;border:1px solid #dce8e2;border-radius:14px;background:#fff;box-shadow:0 12px 32px #123f411c;z-index:10;max-height:280px;overflow:auto}
.specialty-choices[hidden]{display:none}
.specialty-choices button{display:block;width:100%;position:relative;border:0;background:transparent;text-align:left;padding:14px 38px 14px 12px;border-radius:9px;font:inherit;font-size:13px;line-height:1.6;color:var(--dark);cursor:pointer}
.specialty-choices button:hover,.specialty-choices button:focus-visible{background:#f0f7f4}
.specialty-choices button[aria-pressed="true"]{background:#e5f2ed;color:var(--teal);font-weight:600}
.specialty-choices button[aria-pressed="true"]:after{content:'✓';position:absolute;right:14px;top:14px}
.specialty-picker button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.specialty-picker select[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.specialty-toggle,.specialty-toggle:after{transition:none}}

.doctor-portrait img[src="/images/ketevan-garaqanidze.png"]{object-position:center 30%}

.account-dialog > .section-kicker{font-size:14px}
