*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,"Noto Sans Bengali",sans-serif;color:#102f36;background:#fff;line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,92%);margin:auto}

/* Loader */
.loader{position:fixed;inset:0;background:#061e24;z-index:9999;display:grid;place-items:center;color:#fff;transition:.7s ease}
.loader.hide{opacity:0;visibility:hidden}
.loader-ring{position:absolute;width:130px;height:130px;border:2px solid rgba(48,213,205,.2);border-top-color:#36d7cc;border-right-color:#fff;border-radius:50%;animation:spin 1s linear infinite}
.loader-logo{width:84px;height:84px;border-radius:50%;background:#fff;object-fit:contain;display:block}
.loader p{position:absolute;top:calc(50% + 86px);font-size:12px;color:#a7c8cc;letter-spacing:2px;text-transform:uppercase}
@keyframes spin{to{transform:rotate(360deg)}}

/* Topbar */
.topbar{background:#052d35;color:#c9e7e7;font-size:12px}
.topbar-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar span,.topbar a{display:flex;align-items:center;gap:7px}
.topbar .material-symbols-rounded{font-size:16px;color:#40d5ca}

/* Header */
.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid #e4eff0;transition:.3s}
.header.scrolled{box-shadow:0 10px 30px rgba(7,55,61,.08)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px}
.brand-logo{width:52px;height:52px;border-radius:50%;object-fit:contain;background:#fff;flex:none;display:block}
.brand strong{display:block;font-size:17px;color:#073740;line-height:1.1}
.brand small{display:block;font-size:10px;color:#6b8588;font-weight:700;letter-spacing:.7px;margin-top:3px}
nav{display:flex;align-items:center;gap:2px}
nav>a{padding:10px 10px;color:#557075;font-size:13px;font-weight:600;transition:.2s;white-space:nowrap}
nav>a:hover,nav>a.active{color:#008f8b}
nav .nav-cta{background:#087f8c;color:#fff;border-radius:12px;margin-left:7px;padding:12px 16px;display:flex;align-items:center;gap:6px;box-shadow:0 8px 18px rgba(8,127,140,.18)}
nav .nav-cta:hover{color:#fff}
.menu-toggle{display:none;border:0;background:#edf7f7;color:#087f8c;width:44px;height:44px;border-radius:12px;cursor:pointer}

/* Hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#062d35 0%,#075761 55%,#078d89 100%);color:#fff;padding:88px 0 125px}
.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(84,229,218,.23),transparent 32%),radial-gradient(circle at 5% 90%,rgba(34,125,255,.17),transparent 30%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:70px;align-items:center}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#0a9994;margin-bottom:13px}
.hero .eyebrow{color:#63e5db}
.eyebrow span{display:inline-block;width:22px;height:2px;background:currentColor;vertical-align:middle;margin-right:8px}
.hero h1{font-size:clamp(42px,5vw,72px);line-height:1.04;letter-spacing:-3px;margin-bottom:22px}
.hero h1 em{font-style:normal;color:#52e0d6}
.hero-copy{max-width:590px;color:#c7e3e5;font-size:16px}
.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.btn{min-height:48px;border:0;border-radius:13px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;cursor:pointer;transition:.25s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:#20c5b9;color:#042d32;box-shadow:0 12px 25px rgba(22,194,183,.2)}
.btn-light{background:#fff;color:#0a5d65}
.hero-trust{display:flex;gap:25px;margin-top:36px}
.hero-trust div{border-left:1px solid rgba(255,255,255,.2);padding-left:15px}
.hero-trust strong{display:block;font-size:15px}
.hero-trust span{display:block;font-size:10px;color:#a8cbce;margin-top:2px}
.hero-card{position:relative;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);padding:11px;border-radius:26px;box-shadow:0 30px 70px rgba(0,0,0,.22);transform:rotate(1deg)}
.hero-card img{width:100%;height:390px;object-fit:cover;object-position:center;border-radius:19px;display:block;filter:saturate(1.08)}
.hero-card-overlay{position:absolute;left:26px;right:26px;bottom:26px;background:rgba(5,34,39,.86);backdrop-filter:blur(12px);padding:13px 15px;border-radius:15px;display:flex;align-items:center;gap:11px}
.hero-card-overlay strong{display:block;font-size:13px}
.hero-card-overlay small{display:block;color:#a7c8ca;font-size:10px}
.status-dot{width:9px;height:9px;border-radius:50%;background:#40dec9;box-shadow:0 0 0 6px rgba(64,222,201,.1)}
.hero-wave{position:absolute;bottom:-2px;left:-5%;width:110%;height:75px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}

/* Quick strip */
.quick-strip{margin-top:-1px;background:#fff;position:relative;z-index:3}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e3eeee;border-radius:18px;box-shadow:0 15px 40px rgba(10,74,79,.09);overflow:hidden;transform:translateY(-35px);background:#fff}
.quick-grid a{display:flex;align-items:center;gap:13px;padding:22px 23px;border-right:1px solid #e5eeee}
.quick-grid a:last-child{border-right:0}
.quick-icon{width:45px;height:45px;flex:none;border-radius:13px;background:#e7f8f6;color:#078f89;display:grid;place-items:center}
.quick-grid b{display:block;font-size:13px}
.quick-grid small{display:block;color:#83979a;font-size:10px}
.arrow{margin-left:auto;color:#7da0a2;font-size:18px}

/* Sections */
.section{padding:100px 0}
.section-head{display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:50px;margin-bottom:45px}
.section-head h2,.about-copy h2,.appointment-copy h2,.contact-grid h2,.why-box h2{font-size:clamp(30px,4vw,47px);line-height:1.08;letter-spacing:-2px;color:#0b3339}
.section-head h2 span,.about-copy h2 span,.appointment-copy h2 span,.contact-grid h2 span,.why-box h2 span{color:#078f89}
.section-head>p{font-size:14px;color:#71878a;max-width:500px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.service-card{position:relative;border:1px solid #e2eeee;border-radius:20px;padding:28px;min-height:255px;background:#fff;transition:.3s;overflow:hidden}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(9,80,86,.1);border-color:#bce3e0}
.service-card.featured{background:#083b43;color:#fff;border-color:#083b43}
.service-number{position:absolute;right:19px;top:15px;font-size:11px;color:#aac1c3;font-weight:800}
.service-icon{width:52px;height:52px;border-radius:15px;background:#e9f8f7;color:#058e88;display:grid;place-items:center;margin-bottom:19px}
.featured .service-icon{background:#15535a;color:#54ddd3}
.service-card h3{font-size:17px;margin-bottom:8px}
.service-card p{font-size:12px;color:#72878a;line-height:1.7}
.featured p{color:#bad0d1}
.service-card a{display:flex;align-items:center;gap:4px;color:#078f89;font-size:11px;font-weight:800;margin-top:18px}
.featured a{color:#5de0d6}
.service-card a .material-symbols-rounded{font-size:16px}

/* About */
.about-section{background:#f4fafa;padding:100px 0}
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}
.about-visual{position:relative;padding:0 20px 20px 0}
.about-photo{height:500px;border-radius:28px;overflow:hidden;background:#dbeeed;box-shadow:0 25px 60px rgba(4,70,76,.13)}
.about-photo img{width:100%;height:100%;object-fit:cover}
.experience-badge{position:absolute;left:-12px;bottom:48px;background:#083b43;color:#fff;padding:19px 20px;border-radius:17px;box-shadow:0 15px 30px rgba(3,50,57,.2);display:flex;align-items:center;gap:12px}
.experience-badge strong{font-size:20px;color:#55ded4}
.experience-badge span{font-size:10px;line-height:1.4;color:#bdd6d7}
.floating-stat{position:absolute;right:0;top:34px;background:#fff;border:1px solid #e0eeee;border-radius:15px;padding:12px 14px;display:flex;gap:9px;align-items:center;box-shadow:0 14px 35px rgba(5,64,70,.1)}
.floating-stat .material-symbols-rounded{color:#07948c}
.floating-stat b,.floating-stat small{display:block}
.floating-stat b{font-size:11px}
.floating-stat small{font-size:9px;color:#7d9294}
.about-copy>p{font-size:14px;color:#718589;margin:0 0 14px;max-width:590px}
.about-copy .bn{font-family:"Noto Sans Bengali",sans-serif;background:#fff;padding:13px 15px;border-left:3px solid #0a9b94;border-radius:0 10px 10px 0;color:#5b7376}
.check-list{display:grid;gap:14px;margin:25px 0}
.check-list>div{display:flex;gap:11px;align-items:flex-start}
.check-list .material-symbols-rounded{color:#0a9b94;font-size:21px}
.check-list b,.check-list small{display:block}
.check-list b{font-size:12px}
.check-list small{font-size:10px;color:#829699}
.text-link{display:inline-flex;align-items:center;gap:6px;color:#078f89;font-size:12px;font-weight:800}
.text-link .material-symbols-rounded{font-size:17px}

/* Specialists */
.specialists{background:#fff}
.centered{grid-template-columns:1fr;text-align:center;justify-items:center}
.centered>p{max-width:620px}
.doctor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.doctor-card{border:1px solid #e0ecec;border-radius:18px;padding:22px;display:flex;align-items:center;gap:16px;transition:.3s}
.doctor-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(9,73,79,.08)}
.doctor-avatar{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#dff5f2;color:#078f89}
.doctor-avatar.alt{background:#e7f0ff;color:#426ab8}
.doctor-avatar.third{background:#fff0e3;color:#d97a25}
.doctor-avatar .material-symbols-rounded{font-size:34px}
.doctor-card h3{font-size:15px}
.doctor-card p{font-size:11px;color:#849799}
.doctor-tag{display:inline-block;font-size:9px;font-weight:800;color:#078f89;background:#eaf8f6;padding:4px 8px;border-radius:20px;margin-top:7px}

/* Packages */
.packages{background:#f5fafa}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.package-card{position:relative;background:#fff;border:1px solid #dfecec;border-radius:20px;padding:27px;transition:.3s}
.package-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(7,74,80,.1)}
.package-card.popular{border:2px solid #0b9c94;box-shadow:0 14px 35px rgba(8,143,137,.08)}
.popular-label{position:absolute;right:18px;top:18px;background:#0b9c94;color:#fff;padding:5px 8px;border-radius:20px;font-size:8px;font-weight:800}
.package-top{display:flex;justify-content:space-between;color:#078f89;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.package-top .material-symbols-rounded{font-size:20px}
.package-card h3{font-size:20px;margin-top:22px}
.package-card p{font-size:11px;color:#7b9092;margin:4px 0 18px}
.package-card ul{list-style:none;border-top:1px solid #edf2f2;padding-top:15px}
.package-card li{font-size:11px;color:#536e72;margin:9px 0;padding-left:21px;position:relative}
.package-card li:before{content:"✓";position:absolute;left:0;color:#0b9c94;font-weight:900}
.package-btn{display:flex;justify-content:center;padding:12px;border-radius:11px;background:#eaf8f6;color:#078f89;font-size:11px;font-weight:800;margin-top:20px}
.popular .package-btn{background:#078f89;color:#fff}

/* Appointment */
.appointment-section{padding:100px 0;background:linear-gradient(120deg,#062e35,#075b62)}
.appointment-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.appointment-copy .eyebrow{color:#5ee1d7}
.appointment-copy h2{color:#fff}
.appointment-copy h2 span{color:#58ded4}
.appointment-copy>p{color:#b7d2d4;font-size:13px;max-width:520px;margin-top:18px}
.contact-mini{display:flex;gap:25px;margin-top:30px;flex-wrap:wrap}
.contact-mini>div{display:flex;gap:9px;align-items:center}
.contact-mini .material-symbols-rounded{color:#5de0d6}
.contact-mini small,.contact-mini b{display:block}
.contact-mini small{font-size:9px;color:#9ebfc1}
.contact-mini b{font-size:11px;color:#fff}
.appointment-form{background:#fff;border-radius:22px;padding:27px;box-shadow:0 25px 60px rgba(0,0,0,.18)}
.appointment-form label{display:block;font-size:10px;font-weight:800;color:#516e71;margin-bottom:13px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;margin-top:6px;border:1px solid #dfebeb;background:#f8fbfb;border-radius:10px;padding:12px 13px;font:inherit;font-size:11px;outline:0;color:#24474c;resize:vertical}
.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{border-color:#39bbb3;box-shadow:0 0 0 3px rgba(57,187,179,.1)}
.submit-btn{width:100%;margin-top:3px}
.form-note{display:flex;justify-content:center;align-items:center;gap:5px;color:#8aa0a1;font-size:9px;margin-top:11px}
.form-note .material-symbols-rounded{font-size:14px}

/* Why */
.why{padding-top:80px}
.why-box{background:#eaf8f6;border:1px solid #d3edeb;border-radius:24px;padding:42px;display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}
.why-box>div>p{font-size:12px;color:#6e8689;max-width:500px;margin-top:13px}
.why-items{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.why-items>div{background:#fff;border-radius:15px;padding:20px 13px;text-align:center}
.why-items .material-symbols-rounded{color:#078f89}
.why-items b,.why-items small{display:block}
.why-items b{font-size:11px;margin-top:8px}
.why-items small{font-size:8px;color:#819699;margin-top:3px}

/* Contact */
.contact-section{padding-top:75px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.contact-grid>div>p{color:#748a8d;font-size:13px;max-width:530px}
.contact-list{margin-top:25px;display:grid;gap:17px}
.contact-list>div{display:flex;gap:13px}
.contact-list>.material-symbols-rounded,.contact-list>div>.material-symbols-rounded{color:#07958e;background:#e8f8f6;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}
.contact-list b{font-size:11px}
.contact-list p{font-size:10px;color:#788e91}
.contact-list a{color:#078f89}
.map-card{min-height:380px;border-radius:25px;position:relative;overflow:hidden;background:#e2f1ef;border:1px solid #d3e8e6}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(35deg,transparent 45%,rgba(255,255,255,.9) 46%,rgba(255,255,255,.9) 49%,transparent 50%),linear-gradient(120deg,transparent 45%,rgba(255,255,255,.85) 46%,rgba(255,255,255,.85) 49%,transparent 50%);background-size:120px 100px,150px 130px;opacity:.8}
.map-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(20,160,149,.15),transparent 25%)}
.map-pin{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);width:65px;height:65px;border-radius:50% 50% 50% 0;transform-origin:center;rotate:-45deg;background:#078f89;color:#fff;display:grid;place-items:center;box-shadow:0 15px 30px rgba(5,100,96,.25)}
.map-pin .material-symbols-rounded{rotate:45deg;font-size:28px}
.map-label{position:absolute;left:22px;bottom:22px;background:#fff;padding:13px 15px;border-radius:12px;box-shadow:0 8px 25px rgba(5,70,76,.1)}
.map-label b,.map-label small{display:block}
.map-label b{font-size:11px}
.map-label small{font-size:9px;color:#82979a}
.map-card .btn{position:absolute;right:20px;bottom:20px}

/* Footer */
.footer{background:#052a31;color:#a9c5c7;padding-top:65px}
.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px}
.footer .brand strong{color:#fff}
.footer .brand small{color:#8faeb1}
.footer-brand>p{font-size:11px;max-width:300px;margin-top:18px;color:#8eaeb0}
.footer h4{font-size:11px;color:#fff;margin-bottom:15px}
.footer-main>div:not(.footer-brand) a,.footer-main>div:not(.footer-brand) p,.footer-main>div:not(.footer-brand)>small{display:block;font-size:10px;margin:8px 0;color:#8eadaf}
.footer-main strong{font-size:11px;color:#fff}
.footer-main small{margin-top:7px!important}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:17px 0;display:flex;justify-content:space-between;font-size:8px;color:#759497}

/* Back to top + toast */
.back-top{position:fixed;right:22px;bottom:22px;width:43px;height:43px;border:0;border-radius:13px;background:#078f89;color:#fff;display:grid;place-items:center;z-index:90;box-shadow:0 10px 25px rgba(3,95,91,.2);opacity:0;pointer-events:none;transition:.3s;cursor:pointer}
.back-top.show{opacity:1;pointer-events:auto}
.toast{position:fixed;right:20px;bottom:78px;max-width:360px;background:#07363d;color:#fff;border:1px solid rgba(255,255,255,.12);padding:13px 15px;border-radius:13px;display:flex;align-items:flex-start;gap:9px;font-size:10px;box-shadow:0 20px 40px rgba(0,0,0,.2);transform:translateY(20px);opacity:0;pointer-events:none;transition:.35s;z-index:200}
.toast.show{transform:translateY(0);opacity:1}
.toast .material-symbols-rounded{color:#52ded4}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* Placeholder pages */
.construction{min-height:55vh;display:grid;place-items:center;text-align:center;padding:90px 0;background:linear-gradient(180deg,#f4fafa,#fff)}
.construction h1{font-size:clamp(28px,4.5vw,50px);line-height:1.15;letter-spacing:-1.5px;color:#0b3339;max-width:800px;margin:auto}

/* Responsive */
@media(max-width:1020px){
.menu-toggle{display:grid;place-items:center}
.nav{position:relative;min-height:68px}
nav{position:absolute;left:0;right:0;top:68px;background:#fff;border:1px solid #e3eeee;border-radius:0 0 16px 16px;padding:10px;display:none;flex-direction:column;align-items:stretch;box-shadow:0 20px 35px rgba(4,61,67,.1)}
nav.open{display:flex}
nav>a{padding:12px;font-size:13px}
.nav-cta{justify-content:center;margin:4px 0 0!important}
}
@media(max-width:950px){
.hero-grid{gap:35px}
.about-grid,.appointment-grid{gap:45px}
.section-head{gap:25px}
}
@media(max-width:780px){
.topbar-inner{justify-content:center}
.topbar-inner>span:nth-child(2),.topbar-inner>a{display:none}
.hero{padding:65px 0 100px}
.hero-grid,.about-grid,.appointment-grid,.contact-grid{grid-template-columns:1fr}
.hero-card{max-width:650px;margin:auto}
.hero-card img{height:310px}
.hero-content{order:1}
.hero-card{order:2}
.quick-grid{grid-template-columns:1fr;transform:translateY(-20px)}
.quick-grid a{border-right:0;border-bottom:1px solid #e5eeee}
.quick-grid a:last-child{border-bottom:0}
.section{padding:75px 0}
.section-head{grid-template-columns:1fr;align-items:start}
.service-grid,.doctor-grid,.package-grid{grid-template-columns:1fr 1fr}
.about-photo{height:420px}
.why-box{grid-template-columns:1fr}
.footer-main{grid-template-columns:1.5fr 1fr 1fr}
.footer-main>div:last-child{grid-column:2}
.hero h1{letter-spacing:-2px}
.hero-trust{gap:15px}
}
@media(max-width:540px){
.container{width:min(92%,430px)}
.hero{padding-top:48px}
.hero h1{font-size:43px}
.hero-copy{font-size:14px}
.hero-card img{height:230px}
.hero-trust{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.hero-trust div{padding-left:9px}
.service-grid,.doctor-grid,.package-grid{grid-template-columns:1fr}
.service-card{min-height:225px}
.about-photo{height:330px}
.floating-stat{right:-5px;top:18px}
.experience-badge{left:-5px;bottom:35px}
.about-visual{padding-right:8px}
.form-row{grid-template-columns:1fr}
.appointment-form{padding:20px}
.why-box{padding:27px 20px}
.why-items{grid-template-columns:1fr}
.footer-main{grid-template-columns:1fr 1fr;gap:30px}
.footer-brand{grid-column:1/-1}
.footer-main>div:last-child{grid-column:auto}
.footer-bottom{flex-direction:column;gap:6px}
.contact-grid{gap:35px}
.map-card{min-height:320px}
.topbar{font-size:10px}
.hero-actions .btn{flex:1}
.hero-wave{height:50px}
.toast{left:15px;right:15px;bottom:70px}
.section-head h2,.about-copy h2,.appointment-copy h2,.contact-grid h2,.why-box h2{letter-spacing:-1.3px}
}
