@font-face{font-family:'Sarabun';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/sarabun-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Sarabun';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/sarabun-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Sarabun';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/sarabun-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Sarabun';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/sarabun-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Sarabun';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/sarabun-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Sarabun';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/sarabun-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--primary:#0781b4;--accent:#2bc4cb;--sky:#2eb4ec;--dark:#076e8e;--ink:#3e3e3e;--muted:#6b6b6b;--line:#e3eef3;--tint:#f3f9fc;--radius:14px;--shadow:0 10px 30px rgba(7,110,142,.12);--font:'Sarabun',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;font:400 17px/1.65 var(--font);color:var(--ink);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary)}
h1,h2,h3{line-height:1.2;margin:0 0 .6em}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.narrow{max-width:820px}
.center{text-align:center}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:8px 14px;z-index:999}.skip:focus{left:8px}
.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}.ic--sm{width:1em;height:1em}
.rounded{border-radius:var(--radius)}
.btn{display:inline-flex;align-items:center;gap:.5em;background:var(--primary);color:#fff;text-decoration:none;font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.88rem;padding:.85em 1.6em;border-radius:999px;border:0;cursor:pointer;transition:background .2s,transform .2s;font-family:inherit}
.btn:hover{background:var(--dark);transform:translateY(-1px)}
.btn--block{width:100%;justify-content:center}
.btn--ig{background:linear-gradient(45deg,#f09433,#dc2743 50%,#bc1888)}
/* Topbar */
.topbar{background:var(--primary);color:#fff;font-size:.88rem}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}
.topbar__contact{display:flex;flex-wrap:wrap;gap:4px 22px;list-style:none;margin:0;padding:0}
.topbar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.topbar a:hover{text-decoration:underline}
.topbar__btn{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:6px 16px;font:600 .82rem var(--font);text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.topbar__btn:hover{background:#fff;color:var(--primary)}
/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(8px);box-shadow:0 1px 0 var(--line)}
.header.is-scrolled{box-shadow:0 6px 20px rgba(0,0,0,.07)}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.brand__logo{width:300px;height:auto}
.nav__list{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav__item{position:relative}
.nav__link{display:flex;align-items:center;gap:4px;padding:10px 14px;color:var(--ink);text-decoration:none;font:600 .86rem var(--font);text-transform:uppercase;letter-spacing:.04em;background:none;border:0;cursor:pointer;position:relative}
.nav__link::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .25s}
.nav__link:hover,.nav__link.is-active{color:var(--primary)}.nav__link:hover::after,.nav__link.is-active::after{transform:scaleX(1)}
.nav__sub{position:absolute;top:100%;left:0;min-width:250px;background:#fff;list-style:none;margin:0;padding:8px 0;border-radius:10px;box-shadow:var(--shadow);border-top:3px solid var(--accent);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.nav__item:hover>.nav__sub,.nav__item.is-open>.nav__sub,.nav__item:focus-within>.nav__sub{opacity:1;visibility:visible;transform:none}
.nav__sub a{display:block;padding:9px 18px;color:var(--ink);text-decoration:none;font-size:.92rem}
.nav__sub a:hover{background:var(--tint);color:var(--primary)}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px}
.nav-toggle span{display:block;height:2px;background:var(--primary);margin:5px 0;transition:.25s}
/* Hero */
.hero{position:relative;overflow:hidden;background:var(--tint)}
.hero__track{display:grid}
.hero__slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s}
.hero__slide.is-active{opacity:1;visibility:visible}
.hero__slide img{width:100%;aspect-ratio:1360/500;object-fit:cover}
.hero__caption{position:absolute;inset:auto 0 0;padding:40px 0;background:linear-gradient(transparent,rgba(0,0,0,.5));color:#fff}
.hero__title{font-size:clamp(1.4rem,3vw,2.4rem);font-weight:700;margin:0}.hero__sub{margin:0}
.hero__nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:var(--primary);display:grid;place-items:center;cursor:pointer;opacity:0;transition:.25s;box-shadow:var(--shadow)}
.hero:hover .hero__nav,.hero__nav:focus-visible{opacity:1}
.hero__nav--prev{left:18px}.hero__nav--next{right:18px}.hero__nav .ic{width:28px;height:28px}
.hero__dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px}
.hero__dots button{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.65);cursor:pointer;padding:0;transition:.3s}
.hero__dots button[aria-selected=true]{width:28px;background:#fff}
/* Sections */
.section{padding:clamp(48px,7vw,90px) 0}
.section--tint{background:var(--tint)}
.title{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:700;color:var(--primary);letter-spacing:-.01em}
.title--center{text-align:center}
.title__pre{display:block;font-size:.55em;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.12em}
.subtitle{color:var(--primary);font-size:1.4rem}
.lead{font-size:1.15rem;color:var(--muted)}
.rich strong{color:var(--dark)}
.highlight{display:inline-block;margin-top:.4em;font-size:1.25rem;font-weight:700;color:#fff;background:linear-gradient(90deg,var(--primary),var(--accent));padding:.5em 1.2em;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}
.partner img{max-width:220px}
.service__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}
.service--rev .service__text{order:2}
.service__head{display:flex;align-items:center;gap:16px;margin-bottom:.6em}
.service__head .title{margin:0}
.service__icon{flex:none;width:72px;height:72px;border-radius:50%;background:#fff;border:3px solid var(--accent);display:grid;place-items:center;box-shadow:0 8px 20px rgba(46,180,236,.25)}
.service__icon img{width:42px;height:42px;object-fit:contain}
.service__media{display:grid;gap:16px}
.service__media--2{grid-template-columns:1fr 1fr}
.service__media figure{margin:0}
.service__media img{width:100%;object-fit:cover;box-shadow:var(--shadow);aspect-ratio:4/3}
.service__media:not(.service__media--2) img{aspect-ratio:auto;max-height:560px}
/* Video */
.section--video{padding:clamp(32px,5vw,56px) 0}
.section--video .title{font-size:clamp(1.4rem,2.4vw,1.9rem)}
.yt{position:relative;width:100%;max-width:900px;margin:0 auto;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:var(--shadow);cursor:pointer}
.yt img,.yt iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.yt__play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;background:rgba(7,129,180,.9);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .2s}
.yt__play .ic{width:40px;height:40px}.yt:hover .yt__play{transform:scale(1.08)}
/* Hospital tabs */
.tabs__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:30px 0}
.tabs__list button{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;border:2px solid var(--line);background:#fff;border-radius:var(--radius);cursor:pointer;font:600 1rem var(--font);color:var(--ink);transition:.2s}
.tabs__list button[aria-selected=true],.tabs__list button:hover{border-color:var(--accent);color:var(--primary);box-shadow:var(--shadow)}
.tabs__icon{width:52px;height:52px}
.tabs__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start}
.tabs__media img{width:100%;box-shadow:var(--shadow);max-height:560px;object-fit:cover}
.checks{list-style:none;padding:0;margin:1em 0 0;columns:2;column-gap:24px}
.checks li{display:flex;gap:8px;margin-bottom:6px;break-inside:avoid}.checks .ic{color:var(--accent);margin-top:.25em}
/* Instagram */
.ig__head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.ig__head .title{margin:0}
.ig__demo{background:#fff8e1;border:1px solid #ffe08a;padding:10px 14px;border-radius:10px;font-size:.92rem}
.ig__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.6vw,18px)}
.ig__card{position:relative;display:block;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--tint);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.ig__card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ig__card:hover img{transform:scale(1.05)}
.ig__badge{position:absolute;top:10px;right:10px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}.ig__badge .ic{width:24px;height:24px}
.ig__over{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(transparent 45%,rgba(0,0,0,.7));color:#fff;font-size:.9rem;line-height:1.4;opacity:0;transition:opacity .3s}
.ig__card:hover .ig__over,.ig__card:focus-visible .ig__over{opacity:1}
/* Lightbox */
dialog{border:0;padding:0}
dialog::backdrop{background:rgba(0,0,0,.82)}
.lb{background:transparent;max-width:none;max-height:none;width:100%;height:100%;overflow:hidden}
.lb[open]{display:grid;place-items:center}
.lb__box{display:grid;grid-template-columns:auto 340px;max-width:calc(100% - 140px);max-height:calc(100vh - 60px);background:#fff;border-radius:6px;overflow:hidden}
.lb__media{position:relative;background:#000;aspect-ratio:4/5;height:min(calc(100vh - 60px),760px);overflow:hidden}
.lb__track{display:flex;height:100%;transition:transform .35s ease}
.lb__track>*{flex:0 0 100%;width:100%;height:100%;object-fit:contain;background:#000}
.lb__snav{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.85);display:grid;place-items:center;cursor:pointer;color:#222}
.lb__snav--prev{left:10px}.lb__snav--next{right:10px}.lb__snav[hidden]{display:none}
.lb__dots{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:5px}
.lb__dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5)}.lb__dots span.on{background:#fff}
.lb__side{display:flex;flex-direction:column;min-height:0;border-left:1px solid #eee}
.lb__user{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #eee}
.lb__avatar img{width:34px;height:34px;border-radius:50%;border:1px solid #eee}
.lb__caption{flex:1;overflow:auto;padding:16px;font-size:.93rem;white-space:pre-line;line-height:1.5}
.lb__foot{padding:12px 16px;border-top:1px solid #eee;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted)}
.lb__link{font-weight:600;text-decoration:none}
.lb__close{position:fixed;top:12px;right:18px;background:none;border:0;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer}
.lb__pnav{position:fixed;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);display:grid;place-items:center;cursor:pointer;color:#222}
.lb__pnav .ic{width:28px;height:28px}.lb__pnav--prev{left:16px}.lb__pnav--next{right:16px}
/* Dialog generic */
.dlg{max-width:min(900px,94vw);border-radius:var(--radius);overflow:visible;background:#fff}
.dlg__close{position:absolute;top:-16px;right:-16px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:var(--ink);font-size:1.6rem;cursor:pointer;box-shadow:var(--shadow);z-index:2}
.dlg img{border-radius:var(--radius)}
.dlg--zoom{background:#fff}.dlg--zoom img{max-height:85vh;width:auto}
/* Equipos */
.pagehead{padding:56px 0 10px;background:linear-gradient(180deg,var(--tint),#fff)}
.equip__head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px;border-bottom:2px solid var(--line);padding-bottom:14px}
.equip__head .title{margin:0}
.equip__brands{display:flex;gap:20px;align-items:center}.equip__brands img{max-height:48px;width:auto}
.equip__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.equip__item{background:#fff;border-radius:var(--radius);box-shadow:0 4px 18px rgba(0,0,0,.06);overflow:hidden;transition:transform .25s,box-shadow .25s}
.equip__item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.equip__zoom{display:block;background:#fff;padding:14px}
.equip__zoom img{width:100%;aspect-ratio:1;object-fit:contain}
.equip__cap{margin:0;padding:12px 16px 16px;font-weight:600;font-size:.92rem;color:var(--dark);text-transform:uppercase;letter-spacing:.02em;border-top:1px solid var(--line)}
/* Contact */
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.contact__info img{margin:20px 0;box-shadow:var(--shadow)}
.contact__data{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}
.contact__data dt{font-weight:700;color:var(--primary)}.contact__data dd{margin:0}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(20px,3vw,36px);border-top:4px solid var(--accent)}
.form{display:grid;gap:16px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:block;font-weight:600;font-size:.93rem}
.form label>input,.form label>textarea{display:block;margin-top:6px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=file],.form textarea{width:100%;font:inherit;font-weight:400;padding:11px 14px;border:1.5px solid #d7e3e8;border-radius:10px;background:#fbfdfe;transition:border-color .2s}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(43,196,203,.18)}
.form__checks{border:1.5px solid #d7e3e8;border-radius:10px;padding:12px 16px;display:flex;flex-wrap:wrap;gap:8px 20px;margin:0}
.form__checks legend{font-weight:600;font-size:.93rem;padding:0 6px}
.form .check{display:flex;gap:8px;align-items:center;font-weight:400}
.check--consent{font-size:.88rem!important}
.req{color:#d33}
.hp{position:absolute;left:-9999px}
.alert{padding:12px 16px;border-radius:10px;font-weight:600}.alert--ok{background:#e6f7ee;color:#11683a}.alert--err{background:#fdecec;color:#a11}
/* Map */
.map{position:relative}
.map iframe{display:block;width:100%;height:420px;border:0;filter:saturate(.9)}
.map__card{position:absolute;z-index:2;left:max(20px,calc((100% - 1180px)/2));top:40px;background:#fff;padding:22px 26px;border-radius:var(--radius);box-shadow:var(--shadow);max-width:340px;border-left:4px solid var(--accent)}
.map__title{display:flex;gap:8px;align-items:center;color:var(--primary);font-size:1.3rem}
.map__card p{margin:0 0 .3em;font-size:.95rem}
/* Footer */
.footer{background:#05384a;color:#cfe4ec;font-size:.95rem}
.footer a{color:#fff;text-decoration:none}.footer a:hover{color:var(--accent)}
.footer__banner{padding:40px 0 0}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr;gap:30px;padding:48px 0}
.footer__logo{width:200px;filter:brightness(0) invert(1)}
.footer__tag{margin-top:12px}
.footer__h{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:14px}
.footer address{font-style:normal}.footer address p{margin:0 0 6px}
.footer__menu{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.social{list-style:none;margin:0;padding:0;display:flex;gap:10px}
.social a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}.social a:hover{background:var(--accent);color:#fff}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}
.credit{margin-left:6px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:40;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}.wa-float .ic{width:32px;height:32px}
/* Reveal animation */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
/* Responsive */
@media (max-width:1060px){
 .nav-toggle{display:block}
 .header{backdrop-filter:none;background:#fff}
 .nav{position:fixed;inset:var(--nav-top,126px) 0 0;background:#fff;transform:translateX(100%);transition:transform .3s;overflow:auto;padding:10px 20px 40px}
 .nav.is-open{transform:none}
 .nav__list{flex-direction:column}
 .nav__link{width:100%;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);font-size:.95rem}
 .nav__link::after{display:none}
 .nav__sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;display:none;padding:0 0 0 14px}
 .nav__item.is-open>.nav__sub{display:block}
 .nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 .nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
 .service__grid,.tabs__grid,.contact__grid{grid-template-columns:1fr}
 .service--rev .service__text{order:0}
 .lb__box{grid-template-columns:1fr;width:calc(100% - 20px);max-height:calc(100vh - 80px);overflow:auto}
 .lb__box{grid-template-columns:1fr;max-width:none}
 .lb__media{aspect-ratio:auto;height:62vh;width:100%}
 .lb__pnav{top:auto;bottom:10px;transform:none}
 .map__card{position:static;max-width:none;margin:0;border-radius:0}
}
@media (max-width:640px){
 body{font-size:16px}
 .hide-sm{display:none}
 .topbar__contact{gap:2px 14px;font-size:.8rem}
 .header__in{min-height:70px}.brand__logo{width:230px}
 .form__row{grid-template-columns:1fr}
 .ig__grid{grid-template-columns:repeat(2,1fr)}
 .checks{columns:1}
 .footer__grid{grid-template-columns:1fr}
 .hero__nav{display:none}
}
