/* RO Care Service Patna - styles */
:root{--bs-font-sans-serif:'Plus Jakarta Sans',system-ui,sans-serif;--ink:#06161b;--deep:#0b2229;--teal:#2ed0d4;--teal-d:#0e8a92;--mist:#f4f8f9;--line:#e2ebee;--muted:#60767c;--gold:#d9b873}
html{scroll-behavior:smooth}body{color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{letter-spacing:-.025em;font-weight:800}
.btn{border-radius:999px;padding:.85rem 1.7rem;font-weight:700;transition:.25s}
.btn-aqua{background:linear-gradient(100deg,var(--teal-d),var(--teal));color:#fff;border:0;box-shadow:0 12px 28px -10px rgba(46,208,212,.7)}
.btn-aqua:hover{color:#fff;transform:translateY(-2px)}
.btn-wa{background:#25d366;color:#fff;border:0}.btn-wa:hover{color:#fff;filter:brightness(1.08)}
.btn-ghost{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.07)}.btn-ghost:hover{background:#fff;color:var(--ink)}
.sec{padding:5.5rem 0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
/* top */
.topbar{background:var(--teal-d);color:#fff;font-size:.82rem;padding:.45rem 0;position:relative;z-index:31}
.topbar a{color:#fff;font-weight:700;text-decoration:none}
.navb{position:absolute;top:34px;left:0;right:0;z-index:30;padding:1rem 0}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.08em;font-size:1.05rem;line-height:1.1}
.brand i{color:var(--teal);font-size:1.7rem}
/* hero */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:10.5rem 0 7rem}
.hbg{position:absolute;inset:0;background-size:cover;background-position:right center;opacity:0;transition:opacity 1.6s ease}
.hbg.on{opacity:1;animation:kb 12s ease-out both}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(6,22,27,.97) 8%,rgba(6,22,27,.8) 45%,rgba(6,22,27,.5)),linear-gradient(0deg,var(--ink),transparent 25%)}
.hero .container{position:relative;z-index:2}
.hero h1{font-size:clamp(2.4rem,5vw,4.1rem);line-height:1.04;max-width:600px}
.hero .lead{color:#c3d6da;max-width:520px;font-size:1.08rem}
.ticks{list-style:none;padding:0;margin:1.6rem 0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.2rem;max-width:520px}
.ticks i{color:var(--teal);margin-right:.6rem}
.dots{position:absolute;z-index:3;left:50%;bottom:34px;transform:translateX(-50%);display:flex;gap:8px}
.dots button{width:40px;height:3px;border:0;border-radius:3px;background:rgba(255,255,255,.35);padding:0}.dots button.on{background:var(--teal)}
/* lead form */
.lead-card{background:#fff;color:var(--ink);border-radius:26px;padding:2rem;box-shadow:0 50px 90px -30px #000;border-top:4px solid var(--gold)}
.lead-card h2{font-size:1.5rem}
.form-control,.form-select{border-radius:12px;padding:.85rem 1rem;border-color:var(--line)}
.form-control:focus,.form-select:focus{border-color:var(--teal-d);box-shadow:0 0 0 .25rem rgba(46,208,212,.2)}
.ok{display:none;text-align:center;padding:1.5rem 0}
/* trust */
.trust{margin-top:-48px;position:relative;z-index:6}
.trust .box{background:#fff;border-radius:22px;box-shadow:0 30px 60px -25px rgba(6,22,27,.35);padding:1.6rem 1.8rem;border:1px solid rgba(46,208,212,.18)}
.trust i{font-size:1.5rem;color:var(--teal-d)}.trust small{color:var(--muted)}
/* issues */
.issue{display:flex;gap:1rem;align-items:flex-start;height:100%;padding:1.4rem;border:1px solid var(--line);border-radius:20px;background:#fff;text-decoration:none;color:var(--ink);transition:.25s}
.issue:hover{border-color:var(--teal);box-shadow:0 24px 40px -24px rgba(14,138,146,.5);color:var(--ink)}
.ic{flex:none;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#e2f7f8,#c3edf0);display:grid;place-items:center;color:var(--teal-d);font-size:1.3rem}
.issue small{color:var(--muted)}
.img-r{border-radius:30px;width:100%;box-shadow:0 40px 70px -35px rgba(6,22,27,.55)}
.check{list-style:none;padding:0}.check li{padding:.65rem 0;border-bottom:1px solid var(--line)}.check i{color:var(--teal-d);margin-right:.75rem}
/* process */
.dark{background:radial-gradient(circle at 10% 0,#12404a 0,var(--deep) 45%,var(--ink) 100%);color:#fff}
.step{padding-top:1.4rem;border-top:2px solid rgba(255,255,255,.15);position:relative}
.step b{position:absolute;top:-17px;left:0;width:32px;height:32px;border-radius:50%;background:var(--teal-d);display:grid;place-items:center;font-size:.8rem}
.step p{color:#a9bfc4;font-size:.92rem}
/* amc */
.amc{border-radius:32px;color:#fff;padding:3.2rem;position:relative;overflow:hidden;background:linear-gradient(110deg,var(--deep),#0f4d57)}
.amc:after{content:"";position:absolute;right:0;top:0;bottom:0;width:42%;background:url("../images/water-glass.jpg") center/cover;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000);opacity:.8}
.amc>*{position:relative;z-index:1}
/* faq */
details{border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.4rem;margin-bottom:.8rem;background:#fff}
summary{font-weight:700;cursor:pointer}details[open]{border-color:var(--teal)}details p{margin:.8rem 0 0;color:var(--muted)}
/* final + footer */
.final{background:var(--ink);color:#fff;text-align:center;padding:5rem 0}
footer{background:#041014;color:#8fa6ac;font-size:.88rem;padding:2rem 0}
/* sticky bar */
.sbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;box-shadow:0 -10px 30px rgba(6,22,27,.18);padding:.6rem;gap:.5rem}
.sbar a{flex:1;text-align:center;border-radius:12px;padding:.8rem .4rem;font-weight:700;text-decoration:none;font-size:.9rem;color:#fff}
@media(max-width:991px){.sbar{display:flex}body{padding-bottom:70px}.sec{padding:3.8rem 0}.hero{padding:9rem 0 6rem}.amc:after{display:none}.amc{padding:2rem}.dots{display:none}.hero:before{background:rgba(6,22,27,.86)}}
@media(max-width:575px){.ticks{grid-template-columns:1fr}.navb .btn{display:none}}
@media(prefers-reduced-motion:reduce){.hbg.on{animation:none}html{scroll-behavior:auto}}

.navb{position:fixed;top:34px;transition:.3s}.navb.stuck{top:0;background:rgba(6,22,27,.92);backdrop-filter:blur(14px);padding:.6rem 0;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.nl{color:#dbe9ec;font-size:.9rem;font-weight:600;padding:.5rem .9rem;text-decoration:none}.nl:hover{color:var(--teal)}
.burger{width:46px;height:46px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.07);color:#fff}
.offcanvas{background:linear-gradient(170deg,#0f3a43,var(--ink) 60%);color:#fff;width:310px!important}
.ml{display:flex;align-items:center;gap:1rem;color:#e6f1f3;text-decoration:none;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1);font-weight:600}
.ml i{width:34px;height:34px;border-radius:10px;background:rgba(46,208,212,.12);color:var(--teal);display:grid;place-items:center;font-size:.9rem}
.cbox{background:var(--mist);border:1px solid var(--line);border-radius:28px;padding:2.4rem}
.cbox .ic{margin:0}

.svc{display:block;height:100%;border:1px solid var(--line);border-radius:26px;padding:2rem;text-decoration:none;color:var(--ink);background:#fff;position:relative;overflow:hidden;transition:.3s}
.svc:before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--teal-d),var(--gold));transition:.4s}
.svc:hover:before{width:100%}.svc:hover{transform:translateY(-5px);border-color:var(--teal);box-shadow:0 30px 50px -28px rgba(14,138,146,.5);color:var(--ink)}
.svc .ic{margin-bottom:1.1rem}.svc p{color:var(--muted);font-size:.92rem;margin-bottom:1rem}.svc .go{color:var(--teal-d);font-weight:700;font-size:.88rem}
.svc.main{background:linear-gradient(150deg,var(--deep),#0f4d57);color:#fff;border:0}.svc.main p{color:#b6cdd2}.svc.main .go{color:var(--teal)}.svc.main .ic{background:rgba(46,208,212,.16);color:var(--teal)}

/* mobile menu: white */
.offcanvas{background:#fff;color:var(--ink);width:min(320px,88vw)!important}
.offcanvas-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.offcanvas .brand{color:var(--ink);font-size:.95rem;letter-spacing:.06em;white-space:nowrap;min-width:0}
.offcanvas .burger{flex:none;border-color:var(--line);background:var(--mist);color:var(--ink);margin:0}
.ml{color:var(--ink);border-bottom:1px solid var(--line)}.ml:hover,.ml:active{color:var(--teal-d)}
.ml i{background:#e2f7f8;color:var(--teal-d)}
.offcanvas .btn-ghost{color:var(--ink);border-color:var(--line);background:var(--mist)}.offcanvas .btn-ghost:hover{background:var(--teal-d);color:#fff;border-color:var(--teal-d)}

/* visit section */
.visit{position:relative;overflow:hidden;border-radius:34px;padding:3.6rem;color:#fff;background:radial-gradient(circle at 100% 0,#14515c 0,var(--deep) 55%,var(--ink) 100%);box-shadow:0 50px 80px -40px rgba(6,22,27,.8)}
.visit:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;left:-140px;bottom:-200px;background:radial-gradient(circle,rgba(46,208,212,.22),transparent 70%)}
.visit>*{position:relative}
.vt{display:flex;gap:1.2rem;align-items:center;padding:1.3rem 1.5rem;margin-bottom:1rem;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px);transition:.3s}
.vt:hover{background:rgba(46,208,212,.12);border-color:rgba(46,208,212,.5);transform:translateX(6px)}
.vt small{display:block;color:var(--gold);font-weight:600;font-size:.78rem;margin-bottom:.15rem}
.vt strong{font-size:1.05rem}.vt strong a{color:#fff;text-decoration:none}
.vt p{margin:.3rem 0 0;color:#b6cdd2;font-size:.92rem;line-height:1.5}
.vi{flex:none;position:relative;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:1.3rem;color:#fff;background:linear-gradient(135deg,var(--teal-d),var(--teal))}
.vi:before,.vi:after{content:"";position:absolute;inset:0;border-radius:18px;border:2px solid var(--teal);opacity:0;animation:ping 2.6s ease-out infinite}
.vi:after{animation-delay:1.3s}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
.pin i{animation:hop 2.2s ease-in-out infinite}
@keyframes hop{0%,60%,100%{transform:translateY(0)}20%{transform:translateY(-7px)}40%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.ring i{animation:rr 2.4s ease-in-out infinite;transform-origin:50% 50%}
@keyframes rr{0%,50%,100%{transform:rotate(0)}5%,15%,25%,35%{transform:rotate(-16deg)}10%,20%,30%,40%{transform:rotate(16deg)}}
.tick i{animation:tk 4s steps(8) infinite}
@keyframes tk{to{transform:rotate(360deg)}}
@media(max-width:991px){.visit{padding:2.2rem 1.4rem}}
@media(prefers-reduced-motion:reduce){.vi:before,.vi:after,.vi i{animation:none}}


.prog{display:flex;gap:8px}
.prog button{height:3px;border:0;background:rgba(255,255,255,.3);padding:0;border-radius:3px;position:relative;overflow:hidden}
.prog button.active:after{content:"";position:absolute;inset:0;background:var(--teal);animation:fill 6s linear forwards}
@keyframes fill{from{transform:translateX(-100%)}to{transform:none}}
.circle{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);color:#fff;transition:.25s}
.circle:hover{background:var(--teal);color:var(--ink);border-color:var(--teal)}
@media(prefers-reduced-motion:reduce){.prog button.active:after{animation:none}}
/* hero slider v2 */
section[id]{scroll-margin-top:70px}.bookbar{scroll-margin-top:90px}
.hs{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.slides{display:grid}
.sl{grid-area:1/1;position:relative;display:flex;align-items:center;overflow:hidden;min-height:min(820px,calc(100svh - 34px));opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s}
.sl.on{opacity:1;visibility:visible;z-index:2}
.sl-img{position:absolute;inset:0;background-size:cover;background-position:var(--px,center) center}
.sl.on .sl-img{animation:kb 10s ease-out both}
.sl-img:after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(6,22,27,.9) 0%,rgba(6,22,27,.55) 36%,rgba(6,22,27,0) 66%),linear-gradient(180deg,rgba(6,22,27,.7),transparent 22%,transparent 78%,rgba(6,22,27,.55))}
.sl.sq{background:radial-gradient(circle at 0 50%,#12404a,var(--ink) 65%)}
.sl.sq .sl-img{left:auto;width:56%;background-position:center 30%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%);mask-image:linear-gradient(90deg,transparent,#000 38%)}
.sl.sq .sl-img:after{background:linear-gradient(180deg,rgba(6,22,27,.7),transparent 22%,transparent 80%,rgba(6,22,27,.5))}
.sl-in{position:relative;z-index:2;padding-top:9.5rem;padding-bottom:10.5rem}
.sl-txt{max-width:560px}
.ht{font-size:clamp(2.3rem,4.6vw,4rem);line-height:1.04;font-weight:800;letter-spacing:-.025em}
.sl-txt .lead{color:#c9dbdf;font-size:1.08rem;max-width:500px}
.hs .ticks{margin:0 0 1.8rem}
.hs-cw{position:absolute;left:0;right:0;bottom:6.4rem;z-index:5}
.hs-ctrl{display:flex;align-items:center;gap:1.2rem}
.prog button{width:56px}
.bookbar{position:relative;z-index:8;margin-top:-64px}
.bb{background:#fff;border-radius:26px;padding:1.6rem 1.8rem;box-shadow:0 40px 80px -30px rgba(6,22,27,.55);border-top:4px solid var(--gold)}
.imgbox{aspect-ratio:1/1;background-size:cover;background-position:center}
.trust{margin-top:1.5rem}
@media(max-width:991px){
.sl{flex-direction:column;align-items:stretch;min-height:0}
.sl-img{position:relative;inset:auto;width:100%;aspect-ratio:16/10}
.sl.sq .sl-img{width:100%;aspect-ratio:1/1;max-height:430px;-webkit-mask-image:none;mask-image:none;background-position:center}
.sl-img:after,.sl.sq .sl-img:after{background:linear-gradient(180deg,rgba(6,22,27,.75),transparent 28%,transparent 60%,var(--ink))}
.sl-in{padding-top:0;padding-bottom:1rem;margin-top:-2.6rem}
.ht{font-size:2rem}
.hs-cw{position:static;padding:.2rem 0 3.6rem}
.bookbar{margin-top:-2.2rem}
.bb{padding:1.3rem}
}
@media(prefers-reduced-motion:reduce){.sl.on .sl-img{animation:none}}

/* ===== pro: booking bar, trust, faq, footer ===== */
.bb{display:grid;grid-template-columns:300px 1fr;padding:0;overflow:hidden;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:28px;box-shadow:0 40px 80px -30px rgba(6,22,27,.55)}
.bb-l{background:linear-gradient(160deg,#0f4d57,var(--deep) 75%);color:#fff;padding:2.2rem 2rem;position:relative}
.bb-l:after{content:"";position:absolute;right:-60px;bottom:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(46,208,212,.25),transparent 70%)}
.bb-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(46,208,212,.16);color:var(--teal);font-size:1.25rem;margin-bottom:1.1rem}
.bb-l h2{font-size:1.6rem;margin-bottom:.5rem}.bb-l p{color:#b6cdd2;font-size:.93rem}
.bb-or{color:var(--gold);font-size:.8rem;font-weight:600;margin-top:1.6rem}
.bb-call{display:inline-flex;align-items:center;gap:.6rem;color:#fff;font-weight:700;text-decoration:none;font-size:1.05rem;margin-top:.3rem;position:relative;z-index:1}.bb-call i{color:var(--teal)}.bb-call:hover{color:var(--teal)}
.bb-r{padding:2.2rem 2.4rem}
.bb-r label{display:block;font-size:.8rem;font-weight:700;margin-bottom:.4rem}
.fi{position:relative}.fi>i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--teal-d);font-size:.9rem;pointer-events:none;z-index:2}
.fi .form-control,.fi .form-select{padding-left:2.6rem;background-color:var(--mist);border-color:var(--line);height:52px}
.fi .form-control:focus,.fi .form-select:focus{background-color:#fff}
.tr{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 60px -38px rgba(6,22,27,.35)}
.ti{display:flex;gap:1rem;align-items:center;padding:1.5rem 1.6rem;border-left:1px solid var(--line)}.ti:first-child{border-left:0}
.tic{flex:none;width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#e2f7f8,#c3edf0);color:var(--teal-d);font-size:1.15rem}
.ti strong{display:block;font-size:.95rem;line-height:1.25}.ti small{color:var(--muted);font-size:.82rem;line-height:1.35;display:block;margin-top:.15rem}
.fq{border:1px solid var(--line);border-radius:18px;padding:0 1.5rem;margin-bottom:.9rem;background:#fff;transition:.25s}
.fq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;font-weight:700}
.fq summary::-webkit-details-marker{display:none}
.fq p{margin:0;padding:0 2.5rem 1.3rem 0;color:var(--muted)}
.pm{flex:none;width:32px;height:32px;border-radius:50%;background:var(--mist);position:relative;transition:.25s}
.pm:before,.pm:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:2px;background:var(--teal-d);transform:translate(-50%,-50%);transition:.25s}
.pm:after{transform:translate(-50%,-50%) rotate(90deg)}
.fq[open]{border-color:var(--teal);box-shadow:0 24px 40px -30px rgba(14,138,146,.55)}
.fq[open] .pm{background:var(--teal-d)}.fq[open] .pm:before,.fq[open] .pm:after{background:#fff}.fq[open] .pm:after{transform:translate(-50%,-50%) rotate(0)}
.fhelp{border-radius:24px;padding:1.8rem;color:#fff;background:linear-gradient(150deg,var(--deep),#0f4d57)}.fhelp p{color:#b6cdd2}
footer.ft{background:radial-gradient(circle at 100% 0,#0f3a43,#041014 55%);color:#9eb4ba;padding:4.5rem 0 1.6rem;font-size:.92rem}
.ft h6{color:#fff;font-size:.98rem;margin-bottom:1.2rem}
.fl{display:block;color:#9eb4ba;text-decoration:none;margin-bottom:.65rem;transition:.2s}.fl:hover{color:var(--teal);padding-left:6px}
.soc{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);display:inline-grid;place-items:center;color:#fff;text-decoration:none;margin-right:.5rem;transition:.25s}
.soc:hover{background:var(--teal);color:var(--ink);border-color:var(--teal);transform:translateY(-3px)}
.fc{display:flex;gap:.9rem;margin-bottom:1rem;line-height:1.5}
.fc i{flex:none;width:36px;height:36px;border-radius:12px;background:rgba(46,208,212,.12);color:var(--teal);display:grid;place-items:center;font-size:.85rem}
.ft-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem}
@media(max-width:991px){
.bb{grid-template-columns:1fr}.bb-l{padding:1.6rem}.bb-r{padding:1.5rem 1.3rem}
.tr{grid-template-columns:1fr 1fr}.ti:nth-child(odd){border-left:0}.ti:nth-child(n+3){border-top:1px solid var(--line)}
footer.ft{padding:3.5rem 0 1.4rem}
}
@media(max-width:575px){.tr{grid-template-columns:1fr}.ti{border-left:0!important}.ti+.ti{border-top:1px solid var(--line)}.fq{padding:0 1.1rem}}

/* ===== section titles ===== */
.chip{display:inline-flex;align-items:center;gap:.55rem;padding:.42rem 1rem;border-radius:999px;background:#e8f8f9;color:var(--teal-d);font-weight:700;font-size:.82rem;margin-bottom:1.1rem;border:1px solid rgba(46,208,212,.35)}
.chip i{font-size:.78rem}
.dark .chip,.visit .chip,.amc .chip{background:rgba(46,208,212,.12);color:var(--teal);border-color:rgba(46,208,212,.35)}
.ttl{display:block;font-size:clamp(1.9rem,3.6vw,2.75rem);line-height:1.1;font-weight:800;letter-spacing:-.03em;margin:0}
.bar{display:block;width:68px;height:4px;border-radius:4px;margin-top:1.1rem;background:linear-gradient(90deg,var(--teal-d),var(--teal) 55%,var(--gold))}
/* ===== footer: white, premium ===== */
footer.ft{position:relative;background:linear-gradient(180deg,#fff,#f4f8f9);color:var(--muted);padding:5rem 0 1.6rem;font-size:.93rem;border-top:0}
footer.ft:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal-d),var(--teal) 55%,var(--gold))}
.ft .brand{color:var(--ink)}.ft .brand i{color:var(--teal-d)}.ft .brand small{color:var(--teal-d)!important}
.ft p{color:var(--muted)}
.ft h6{color:var(--ink);font-size:1rem;font-weight:800;margin-bottom:1.4rem;position:relative;padding-bottom:.8rem}
.ft h6:after{content:"";position:absolute;left:0;bottom:0;width:30px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--teal-d),var(--gold))}
.ft .fl{color:var(--muted);font-weight:500;margin-bottom:.7rem}.ft .fl:hover{color:var(--teal-d);padding-left:8px}
.ft .soc{background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:0 10px 24px -14px rgba(6,22,27,.4)}
.ft .soc:hover{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.ft .fc{align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:.9rem 1.1rem;color:var(--ink);font-weight:500;box-shadow:0 18px 34px -26px rgba(6,22,27,.45);transition:.25s}
.ft .fc:hover{border-color:var(--teal);transform:translateX(4px)}
.ft .fc i{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--teal-d),var(--teal));color:#fff}
.ft .fc a{color:var(--ink);font-weight:700}
.ft .ft-bot{border-top:1px solid var(--line);color:var(--muted);align-items:center}
.ft .ft-bot span:last-child{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.3rem .9rem;color:var(--teal-d);font-weight:700;font-size:.82rem}

/* ===== logo + white header + premium mobile menu ===== */
.logo{display:block;height:52px;aspect-ratio:1428/502;background:url("../images/logo.jpg") left center/contain no-repeat;flex:none}
.logo.lg{height:auto;width:min(340px,100%);aspect-ratio:1961/610;background-image:url("../images/logo-full.jpg")}
.navb,.navb.stuck{background:rgba(255,255,255,.96);backdrop-filter:blur(14px);padding:.55rem 0;box-shadow:0 10px 30px -18px rgba(6,22,27,.45)}
.nl{color:var(--ink)}.nl:hover{color:var(--teal-d)}
.navb .burger{border-color:var(--line);background:var(--mist);color:var(--ink)}
.offcanvas{background:#fff;color:var(--ink);width:min(340px,90vw)!important;border:0;box-shadow:-30px 0 80px -30px rgba(6,22,27,.5)}
.offcanvas:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal-d),var(--teal) 55%,var(--gold))}
.offcanvas:after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(46,208,212,.16),transparent 70%);pointer-events:none}
.offcanvas-header{padding:1.5rem 1.4rem 1.1rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:1}
.offcanvas .logo{height:42px}
.offcanvas-body{padding:1rem 1.1rem 1.4rem;display:flex;flex-direction:column;position:relative;z-index:1}
.mnav{display:flex;flex-direction:column;gap:.3rem}
.mi{display:flex;align-items:center;gap:1rem;padding:.75rem .85rem;border-radius:16px;color:var(--ink);text-decoration:none;font-weight:700;transition:.2s}
.mi .ml-i{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#e2f7f8,#c3edf0);color:var(--teal-d);font-size:1rem}
.mi span{flex:1}.mi .ml-go{font-size:.7rem;color:#9bb2b8;transition:.2s}
.mi:hover,.mi:active{background:var(--mist);color:var(--teal-d)}.mi:hover .ml-go{color:var(--teal-d);transform:translateX(4px)}
.mfoot{margin-top:auto;padding-top:1.4rem}
.mcard{background:var(--mist);border:1px solid var(--line);border-radius:24px;padding:1.2rem}
.mhrs{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.85rem;font-weight:500;margin-bottom:1rem}.mhrs i{color:var(--teal-d)}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.6rem}
.mcard .btn{padding:.8rem .5rem;font-size:.92rem}
.btn-line{border:1px solid var(--line);background:#fff;color:var(--ink)}.btn-line:hover{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.offcanvas.show .mi{animation:mIn .45s ease both}
.offcanvas.show .mi:nth-child(1){animation-delay:.06s}.offcanvas.show .mi:nth-child(2){animation-delay:.1s}.offcanvas.show .mi:nth-child(3){animation-delay:.14s}.offcanvas.show .mi:nth-child(4){animation-delay:.18s}.offcanvas.show .mi:nth-child(5){animation-delay:.22s}.offcanvas.show .mi:nth-child(6){animation-delay:.26s}
@keyframes mIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@media(max-width:991px){.logo{height:44px}}
@media(prefers-reduced-motion:reduce){.offcanvas.show .mi{animation:none}}

/* ===== mobile safety: no horizontal scroll ===== */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video{max-width:100%}
.offcanvas{overflow:hidden}
@media(max-width:991px){.row.g-5{--bs-gutter-x:1.5rem}}
@media(max-width:479px){.topbar .container{justify-content:center!important}.topbar .container>span{display:none}}
@media(max-width:575px){.hs-ctrl{gap:.8rem}.hs-ctrl>span:first-child{display:none}.prog button{width:34px}.circle{width:42px;height:42px}}

/* ===== images (classes, so paths always resolve from this css file) ===== */
.im-splash{background-image:url("../images/hero-splash.jpg")}
.im-glass{background-image:url("../images/water-glass.jpg")}
.im-tech{background-image:url("../images/technician.jpg")}
.im-collage{background-image:url("../images/ro-service-collage.jpg")}
