:root{--teal:#0D7C7C;--tl:#15A9A9;--td:#085F5F;--mint:#E6F7F7;--cream:#FAFCFC;--gold:#C8A96E;--gl:#E8D5A8;--dark:#0F2525;--text:#1A3535;--muted:#5A7A7A;--shadow:0 8px 40px rgba(13,124,124,.14);--r:16px;--e:cubic-bezier(.4,0,.2,1)}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--teal);border-radius:3px}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(24px);border-bottom:1px solid rgba(13,124,124,.08);transition:box-shadow .4s}
nav.scrolled{box-shadow:0 4px 32px rgba(13,124,124,.13)}
.nav-inner{max-width:1280px;margin:8px auto;padding:0 32px;height:64px;display:flex;align-items:center;justify-content:center;gap:24px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.logo-mark{width:40px;height:40px;background:linear-gradient(135deg,var(--teal),var(--tl));border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:#fff;box-shadow:0 4px 14px rgba(13,124,124,.32)}
.logo-name{font-family:'Playfair Display',serif;font-size:21px;font-weight:700;color:var(--td);letter-spacing:-.3px}
.logo-tag{font-size:9.5px;color:var(--muted);font-weight:500;letter-spacing:1.4px;text-transform:uppercase;display:block;margin-top:-2px}
.nav-menu{display:flex;align-items:center;gap:2px;list-style:none;flex:1;justify-content:center}
.nav-item{position:relative}
.nav-link{display:flex;align-items:center;gap:4px;padding:8px 8px;border-radius:9px;text-decoration:none;font-size:13.5px;font-weight:500;color:var(--text);cursor:pointer;white-space:nowrap;transition:color .25s,background .25s}
.nav-link:hover,.nav-item:hover>.nav-link{color:var(--teal);background:var(--mint)}
.chv{font-size:9px;opacity:.55;transition:transform .3s;display:inline-block}
.nav-item:hover .chv{transform:rotate(180deg)}
.drop{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(-6px);background:#fff;border-radius:14px;box-shadow:0 20px 56px rgba(13,124,124,.16);border:1px solid rgba(13,124,124,.07);min-width:245px;padding:7px;opacity:0;visibility:hidden;transition:opacity .28s var(--e),transform .28s var(--e),visibility .28s;z-index:999}
.nav-item:hover .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.drop ul{list-style:none}
.drop li{position:relative}
.dl{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:9px;font-size:13.2px;color:var(--text);cursor:pointer;gap:7px;transition:background .2s,color .2s,padding-left .2s}
.dl:hover{background:var(--mint);color:var(--teal);padding-left:17px}
.di{font-size:15px;flex-shrink:0}
.cr{font-size:9px;opacity:.4;margin-left:auto}
.sub{position:absolute;top:-7px;left:calc(100% + 5px);background:#fff;border-radius:14px;box-shadow:0 20px 56px rgba(13,124,124,.16);border:1px solid rgba(13,124,124,.07);min-width:530px;padding:7px;opacity:0;visibility:hidden;transition:opacity .25s var(--e),visibility .25s;z-index:1001}
.drop li:hover>.sub{opacity:1;visibility:visible}
.sub ul{list-style:none}
.sub .dl{font-size:12.8px}
.nav-right{display:flex;align-items:center;gap:11px;flex-shrink:0}
.btn-appt{padding:9px 20px;background:linear-gradient(135deg,var(--teal),var(--tl));color:#fff;border:none;border-radius:11px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;box-shadow:0 4px 16px rgba(13,124,124,.28);transition:transform .25s,box-shadow .25s}
.btn-appt:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(13,124,124,.38)}

/* CAROUSEL */
.cw{margin-top:70px;position:relative;height:600px;overflow:hidden;background:#061e1e}
.ct{display:flex;height:100%;will-change:transform}
.cs{min-width:100%;height:100%;position:relative;overflow:hidden;flex-shrink:0}
.cbg{position:absolute;inset:-60px;background-size:cover;background-position:center;transition:transform 1.4s cubic-bezier(.77,0,.175,1);will-change:transform}
.cov{position:absolute;inset:0;background:linear-gradient(to right,rgba(6,22,22,.9) 0%,rgba(6,22,22,.55) 48%,rgba(6,22,22,.16) 100%),linear-gradient(to top,rgba(6,22,22,.65) 0%,transparent 55%)}
.ccirc{position:absolute;right:-80px;top:50%;transform:translateY(-50%);width:520px;height:520px;border-radius:50%;border:1px solid rgba(255,255,255,.055);pointer-events:none}
.ccirc::before{content:'';position:absolute;inset:40px;border-radius:50%;border:1px solid rgba(255,255,255,.04)}
.ccirc::after{content:'';position:absolute;inset:90px;border-radius:50%;background:radial-gradient(circle,rgba(13,124,124,.2) 0%,transparent 70%)}
.csn{position:absolute;top:28px;right:120px;font-family:'Playfair Display',serif;font-size:11px;color:rgba(255,255,255,.38);letter-spacing:2px;text-transform:uppercase;z-index:5}
.cc{position:absolute;inset:0;display:flex;align-items:center;padding:0 9% 80px 8%}
.ctx{max-width:590px;color:#fff}
.cbadge,.ctitle,.cdesc,.cbtns{opacity:0;transform:translateY(20px)}
.cbadge{display:inline-flex;align-items:center;gap:7px;background:rgba(200,169,110,.18);border:1px solid rgba(200,169,110,.42);color:var(--gl);padding:6px 15px;border-radius:30px;font-size:11.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:22px;transition:opacity .6s var(--e) .12s,transform .6s var(--e) .12s}
.ctitle{font-family:'Playfair Display',serif;font-size:clamp(30px,4vw,54px);font-weight:700;line-height:1.12;letter-spacing:-.5px;margin-bottom:18px;transition:opacity .7s var(--e) .22s,transform .7s var(--e) .22s}
.ctitle em{font-style:italic;color:var(--tl)}
.cdesc{font-size:15.5px;font-weight:300;line-height:1.72;max-width:460px;margin-bottom:34px;transition:opacity .7s var(--e) .34s,transform .7s var(--e) .34s}
.cbtns{display:flex;gap:14px;flex-wrap:wrap;transition:opacity .6s var(--e) .46s,transform .6s var(--e) .46s}
.cs.active .cbadge,.cs.active .ctitle,.cs.active .cdesc,.cs.active .cbtns{opacity:1;transform:translateY(0)}
.cbp{padding:13px 26px;background:linear-gradient(135deg,var(--teal),var(--tl));color:#fff;border:none;border-radius:12px;font-size:14.5px;font-weight:600;cursor:pointer;box-shadow:0 6px 22px rgba(13,124,124,.42);font-family:'DM Sans',sans-serif;transition:transform .2s,box-shadow .2s}
.cbp:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(13,124,124,.55)}
.cbo{padding:13px 26px;background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.38);border-radius:12px;font-size:14.5px;font-weight:600;cursor:pointer;backdrop-filter:blur(10px);font-family:'DM Sans',sans-serif;transition:background .2s,border-color .2s}
.cbo:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.6)}
.cthumbs{position:absolute;right:48px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:10}
.cthumb{width:54px;height:54px;border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid rgba(255,255,255,.14);transition:border-color .35s,transform .35s,box-shadow .35s;flex-shrink:0;background-size:cover;background-position:center;position:relative}
.cthumb::after{content:'';position:absolute;inset:0;background:rgba(6,22,22,.45);transition:background .35s}
.cthumb.active{border-color:var(--gold);transform:scale(1.12);box-shadow:0 6px 18px rgba(0,0,0,.42)}
.cthumb.active::after{background:rgba(6,22,22,.08)}
.cbar{position:absolute;bottom:0;left:0;right:0;height:72px;background:rgb(2 93 93 / 58%);backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;padding:0 8%;gap:24px;z-index:10}
.cnum{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:rgba(255,255,255,.9);min-width:72px;line-height:1}
.cnum sup{font-size:12px;font-weight:400;opacity:.48;font-family:'DM Sans',sans-serif}
.cdots{display:flex;gap:6px;align-items:center}
.cdot{height:3px;border-radius:2px;background:rgba(255,255,255,.26);cursor:pointer;transition:width .45s var(--e),background .35s;width:20px}
.cdot.active{width:44px;background:var(--gold)}
.clabel{flex:1;font-size:12px;color:rgba(255,255,255,.5);font-weight:500;letter-spacing:.6px;text-transform:uppercase}
.carrows{display:flex;gap:8px;margin-left:auto}
.carr{width:42px;height:42px;border-radius:11px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.17);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,transform .25s;backdrop-filter:blur(8px);user-select:none;line-height:1}
.carr:hover{background:rgba(255,255,255,.22);transform:scale(1.08)}
.cprog{position:absolute;bottom:72px;left:0;height:2px;background:linear-gradient(90deg,var(--tl),var(--gold));z-index:11;width:0%}

/* STATS */
.sbar{background:linear-gradient(135deg,var(--td),var(--teal));padding:26px 0}
.sinn{max-width:1280px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr)}
.sit{text-align:center;color:#fff;padding:8px 20px;border-right:1px solid rgba(255,255,255,.14)}
.sit:last-child{border-right:none}
.snum{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:var(--gl);line-height:1}
.slbl{font-size:12.5px;opacity:.78;margin-top:4px}

/* SECTIONS */
section{padding:76px 0}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.sh{margin-bottom:52px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.shl{max-width:540px}
.tag{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-size:11.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:11px}
.tag::before{content:'';width:18px;height:2px;background:var(--teal);border-radius:2px}
.stit{font-family:'Playfair Display',serif;font-size:clamp(26px,3vw,38px);font-weight:700;line-height:1.2;color:var(--dark);letter-spacing:-.4px}
.ssub{font-size:14.5px;color:var(--muted);line-height:1.7;margin-top:11px}
.sa{display:inline-flex;align-items:center;gap:6px;padding:9px 19px;border:1.5px solid var(--teal);color:var(--teal);border-radius:10px;text-decoration:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s;white-space:nowrap}
.sa:hover{background:var(--teal);color:#fff;transform:translateY(-2px)}

/* SERVICES */
.svcsec{background:#fff}
.svcg{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.svc{background:var(--cream);border-radius:var(--r);padding:26px 22px;border:1px solid rgba(13,124,124,.08);cursor:pointer;position:relative;overflow:hidden;transition:all .35s var(--e)}
.svc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--tl));transform:scaleX(0);transform-origin:left;transition:transform .4s}
.svc:hover{transform:translateY(-6px);box-shadow:var(--shadow);background:#fff}
.svc:hover::before{transform:scaleX(1)}
.svci{width:50px;height:50px;background:var(--mint);border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:23px;margin-bottom:14px;transition:all .35s}
.svc:hover .svci{background:linear-gradient(135deg,var(--teal),var(--tl));transform:scale(1.1)}
.svcn{font-weight:600;font-size:14.5px;color:var(--dark);margin-bottom:7px}
.svcd{font-size:12.8px;color:var(--muted);line-height:1.6}

/* NEWS */
.newsec{background:var(--cream)}
.ng{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}
.nc{background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid rgba(13,124,124,.06);cursor:pointer;transition:all .35s}
.nc:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.nc.feat{grid-row:span 2}
.ni{height:195px;background-size:contain;background-position:center;position:relative;background-repeat: no-repeat;overflow:hidden}
.nc.feat .ni{height:310px}
.ncat{position:absolute;top:13px;left:13px;background:var(--teal);color:#fff;padding:4px 11px;border-radius:20px;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;z-index:1}
.nb{padding:22px}
.ndt{font-size:11.5px;color:var(--muted);margin-bottom:9px}
.nt{font-family:'Playfair Display',serif;font-size:16px;font-weight:600;color:var(--dark);line-height:1.35;margin-bottom:9px}
.nc.feat .nt{font-size:21px}
.nex{font-size:13px;color:var(--muted);line-height:1.65}
.nl{display:inline-flex;align-items:center;gap:5px;margin-top:13px;font-size:13px;font-weight:600;color:var(--teal);cursor:pointer;transition:gap .2s}
.nl:hover{gap:9px}

/* CLINICS */
.clsec{background:#fff}
.clg{display:grid;grid-template-columns:repeat(auto-fit,minmax(295px,1fr));gap:22px}
.clc{background:var(--cream);border-radius:18px;overflow:hidden;border:1px solid rgba(13,124,124,.08);cursor:pointer;transition:all .35s}
.clc:hover{transform:translateY(-5px);box-shadow:var(--shadow);background:#fff}
.clim{height:195px;background-size:cover;background-position:center;position:relative}
.clbg{position:absolute;bottom:13px;right:13px;background:#fff;color:var(--teal);padding:4px 11px;border-radius:20px;font-size:11.5px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.14)}
.clb{padding:20px}
.clsp{font-size:11.5px;font-weight:700;color:var(--teal);letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}
.clnm{font-family:'Playfair Display',serif;font-size:18px;font-weight:700;color:var(--dark);margin-bottom:11px}
.clin{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.clir{display:flex;align-items:center;gap:7px;font-size:12.8px;color:var(--muted)}
.clac{display:flex;gap:9px}
.bs{flex:1;padding:9px;border-radius:9px;font-size:12.8px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;text-align:center;transition:all .25s}
.bsf{background:linear-gradient(135deg,var(--teal),var(--tl));color:#fff;border:none;box-shadow:0 4px 12px rgba(13,124,124,.24)}
.bsf:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(13,124,124,.34)}
.bso{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}
.bso:hover{background:var(--mint)}

/* DOCTORS */
.docsec{background:linear-gradient(155deg,#0D7C7C 0%,#085F5F 100%);padding:76px 0;position:relative;overflow:hidden}
.docsec::before{content:'';position:absolute;top:-120px;right:-120px;width:480px;height:480px;border-radius:50%;background:rgba(255,255,255,.04)}
.docsec .stit{color:#fff}
.docsec .ssub{color:rgba(255,255,255,.68)}
.docsec .tag{color:var(--gl)}
.docsec .tag::before{background:var(--gl)}
.docg{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.dc{background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.11);border-radius:18px;padding:22px;text-align:center;cursor:pointer;transition:all .35s}
.dc:hover{background:rgba(255,255,255,.16);transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.22)}
.dav{width:76px;height:76px;border-radius:50%;margin:0 auto 14px;border:3px solid rgba(200,169,110,.45);font-size:34px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08)}
.dn{font-family:'Playfair Display',serif;font-size:15.5px;font-weight:600;color:#fff;margin-bottom:4px}
.dsp{font-size:11.5px;color:var(--gl);font-weight:500;margin-bottom:10px}
.dex{font-size:12px;color:rgba(255,255,255,.55)}

/* CTA */
.ctasec{background:var(--cream);padding:76px 0}
.ctab{background:linear-gradient(130deg,var(--td) 0%,var(--teal) 55%,#1ABFBF 100%);border-radius:26px;padding:56px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px;position:relative;overflow:hidden}
.ctab::before{content:'';position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.055)}
.ctab::after{content:'';position:absolute;right:60px;bottom:-100px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.038)}
.ctat{position:relative;z-index:1}
.ctatit{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:#fff;margin-bottom:11px;line-height:1.2}
.ctad{font-size:14.5px;color:rgba(255,255,255,.78);line-height:1.7;max-width:480px}
.ctaact{display:flex;gap:13px;flex-direction:column;align-items:flex-start;position:relative;z-index:1}
.bgold{padding:15px 30px;background:linear-gradient(135deg,var(--gold),#E8C47A);color:var(--dark);border:none;border-radius:13px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;box-shadow:0 6px 22px rgba(200,169,110,.38);white-space:nowrap;transition:transform .25s,box-shadow .25s}
.bgold:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(200,169,110,.5)}
.ctaph{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.82);font-size:13.5px;font-weight:500;white-space:nowrap}

/* FOOTER */
footer{background:rgb(2 87 93 / 93%);backdrop-filter: blur(18px); color:rgba(255,255,255,.78);padding:56px 0 28px}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;margin-bottom:44px}
.flogo{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#fff;margin-bottom:13px}
.fdesc{font-size:13px;line-height:1.72;opacity:.58;margin-bottom:22px}
.fsoc{display:flex;gap:9px}
.fsb{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;text-decoration:none;color:#fff;transition:all .25s}
.fsb:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-2px)}
.ftit{font-weight:700;font-size:13px;color:#fff;letter-spacing:.5px;margin-bottom:18px;text-transform:uppercase}
.fl{list-style:none;display:flex;flex-direction:column;gap:9px}
.fl a{text-decoration:none;color:rgba(255,255,255,.57);font-size:13px;display:flex;align-items:center;gap:5px;transition:all .2s}
.fl a:hover{color:var(--tl);padding-left:4px}
.fbot{border-top:1px solid rgba(255,255,255,.08);padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.fcp{font-size:12.5px;color:rgba(255,255,255,.37)}
.fbl{display:flex;gap:18px}
.fbl a{font-size:12.5px;color:rgba(255,255,255,.37);text-decoration:none;transition:color .2s}
.fbl a:hover{color:var(--tl)}
.ani{opacity:0;transform:translateY(22px);transition:opacity .6s var(--e),transform .6s var(--e)}
.ani.vis{opacity:1;transform:translateY(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.18s}.d3{transition-delay:.26s}.d4{transition-delay:.34s}.d5{transition-delay:.42s}
