:root {
    --c-blue: #70a8bf;
    --c-blue-bg: #eef6fa;
    --c-blue-dk: #4d8fa8;
    --c-blue-lt: #a8cfe0;
    --c-dark: #58585a;
    --c-darker: #3a3a3c;
    --c-grey: #939598;
    --ff-b: 'Inter',system-ui,sans-serif;
    --ff-d: 'Playfair Display',Georgia,serif;
    --grey-bg: #f5f6f7;
    --grey-line: #e0e1e2;
    --r-lg: 20px;
    --r-md: 12px;
    --r-sm: 6px;
    --r-xl: 28px;
    --sh-c: 0 2px 16px rgba(88,88,90,.07);
    --sh-h: 0 8px 32px rgba(112,168,191,.22);
    --text-body: #58585a;
    --text-dark: #2c2c2e;
    --tr: .25s ease;
    --white: #fff;
}

*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; background: var(--white); color: var(--text-body); font-family: var(--ff-b); line-height: 1.65; }
img { display: block; height: auto; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
.container { margin: 0 auto; max-width: 1140px; padding: 0 24px; }

p + h2, p + h3, p + h4 { margin-top: 25px; }
a[href*="mailto"] { word-break: break-all; }

/* ─── TOPBAR ─── */
.topbar { background: var(--c-dark); color: rgba(255,255,255,.8); font-size: .78rem; padding: 9px 0; }
.topbar .row { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.topbar a { color: rgba(255,255,255,.8); transition: color var(--tr); }
.topbar a:hover { color: #fff; }
.t-group { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; }
.t-item { align-items: center; display: flex; gap: 6px; }
.t-item svg { flex-shrink: 0; height: 13px; opacity: .65; width: 13px; }

/* ─── HEADER ─── */
.header { background: var(--white); border-bottom: 1px solid var(--grey-line); position: sticky; top: 0; z-index: 100; }
.header .row { align-items: center; display: flex; gap: 18px; height: 68px; justify-content: space-between; position: relative; }
.h-logo { align-items: center; display: flex; flex-shrink: 0; }
.h-logo img { height: 46px; width: auto; }
.h-logo-txt { color: var(--c-dark); font-family: var(--ff-d); font-size: 1rem; font-weight: 600; line-height: 1.2; }
.h-logo-txt span { color: var(--c-grey); display: block; font-family: var(--ff-b); font-size: .67rem; font-weight: 400; letter-spacing: .05em; text-transform: uppercase; }

.nav { align-items: center; display: flex; gap: 2px; }
.nav a { border-radius: var(--r-sm); color: var(--text-dark); font-size: .84rem; font-weight: 500; padding: 6px 11px; transition: all var(--tr); }
.nav a:hover, .nav a.active { background: var(--c-blue-bg); color: var(--c-blue); }

/* ─── BOTONES ─── */
.btn { align-items: center; border: none; border-radius: var(--r-sm); cursor: pointer; display: inline-flex; font-family: var(--ff-b); font-size: .875rem; font-weight: 600; gap: 8px; line-height: 1; padding: 10px 22px; transition: all var(--tr); }
.btn-primary { background: var(--c-blue); color: #fff; }
.btn-primary:hover { background: var(--c-blue-dk); box-shadow: 0 4px 16px rgba(112,168,191,.4); transform: translateY(-1px); }
.btn-outline { background: transparent; border: 2px solid var(--c-blue); color: var(--c-blue); }
.btn-outline:hover { background: var(--c-blue); color: #fff; }
.btn-white { background: #fff; color: var(--c-dark); }
.btn-white:hover { background: var(--c-blue-bg); transform: translateY(-1px); }
.btn-ghost { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); color: #fff; }
.btn-ghost:hover { background: rgba(255,255,255,.22); }

/* ─── HAMBURGER ─── */
.nav-toggle { background: none; border: none; border-radius: var(--r-sm); cursor: pointer; display: none; flex-direction: column; flex-shrink: 0; gap: 5px; height: 38px; justify-content: center; padding: 4px; width: 38px; }
.nav-toggle span { background: var(--c-dark); border-radius: 2px; display: block; height: 2px; transform-origin: center; transition: all .28s ease; width: 22px; }
.nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav-mobile { background: var(--white); border-top: 1px solid var(--grey-line); box-shadow: 0 8px 24px rgba(88,88,90,.12); display: none; flex-direction: column; gap: 2px; left: -24px; padding: 12px 20px 18px; position: absolute; right: -24px; top: 100%; z-index: 99; }
.nav-mobile.open { display: flex; }
.nav-mobile a { border-radius: var(--r-sm); color: var(--text-dark); font-size: .93rem; font-weight: 500; padding: 10px 12px; transition: all var(--tr); }
.nav-mobile a:hover { background: var(--c-blue-bg); color: var(--c-blue); }
.nav-mobile .btn { justify-content: center; margin-top: 8px; width: 100%; }

/* ─── HERO ─── */
.hero { background: linear-gradient(135deg,#3a6070 0%,#4d8fa8 50%,var(--c-blue) 100%); overflow: hidden; padding: 80px 0 104px; position: relative; }
.hero::after { content: ''; background: var(--grey-bg); bottom: -1px; clip-path: ellipse(55% 100% at 50% 100%); height: 64px; left: 0; position: absolute; right: 0; }
.hero .row { align-items: center; display: grid; gap: 56px; grid-template-columns: 1fr 400px; position: relative; z-index: 1; }
.hero-eyebrow { align-items: center; background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.22); border-radius: 99px; color: rgba(255,255,255,.92); display: inline-flex; font-size: .75rem; font-weight: 600; gap: 8px; letter-spacing: .09em; margin-bottom: 18px; padding: 5px 13px; text-transform: uppercase; }
.hero-dot { animation: blink 2s infinite; background: #5edb8f; border-radius: 50%; height: 6px; width: 6px; }
    
.hero-title { color: #fff; font-family: var(--ff-d); font-size: clamp(2.1rem,3.8vw,3.1rem); font-weight: 700; line-height: 1.14; margin-bottom: 18px; }
.hero-title em { color: #cce6f0; font-style: italic; }
.hero-desc { color: rgba(255,255,255,.8); font-size: 1.02rem; line-height: 1.72; margin-bottom: 32px; max-width: 500px; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-trust { align-items: center; display: flex; gap: 10px; margin-top: 36px; }
.hero-stars { color: #fbbf24; font-size: 1rem; letter-spacing: 2px; }
.hero-trust-txt { color: rgba(255,255,255,.72); font-size: .83rem; }
.hero-trust-txt strong { color: #fff; }

/* ─── PAGE HERO (interior) ─── */
.page-hero{
  background:linear-gradient(135deg,#3a6070 0%,#4d8fa8 50%,var(--c-blue) 100%);
  position:relative;overflow:hidden;padding:64px 0;
}
.page-hero .row{position:relative;z-index:1}
.ph-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.75rem;color:rgba(255,255,255,.65);margin-bottom:14px}
.ph-breadcrumb a{color:rgba(255,255,255,.65);transition:color var(--tr)}
.ph-breadcrumb a:hover{color:#fff}
.ph-breadcrumb svg{width:12px;height:12px;opacity:.6}
.ph-title{font-family:var(--ff-d);font-size:clamp(2rem,3.5vw,2.9rem);font-weight:700;color:#fff;line-height:1.14;margin-bottom:14px}
.ph-desc{font-size:1rem;color:rgba(255,255,255,.8);max-width:580px;line-height:1.72}

/* ─── INTRO SPLIT ─── */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.intro-img{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:1/1;background:var(--grey-line);position:relative}
.intro-img img{width:100%;height:100%;object-fit:cover;object-position:center}
.intro-img-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--c-grey);font-size:.8rem;text-align:center;padding:20px}
.intro-img-ph svg{width:40px;height:40px;opacity:.3}
.intro-values{display:flex;flex-direction:column;gap:18px;margin:28px 0 36px}
.iv{display:flex;align-items:flex-start;gap:14px}
.iv-ico{width:40px;height:40px;background:var(--c-blue-bg);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.iv-ico svg{width:19px;height:19px;color:var(--c-blue)}
.iv-title{font-weight:700;font-size:.93rem;color:var(--text-dark);margin-bottom:2px}
.iv-desc{font-size:.855rem;color:var(--text-body);line-height:1.6}

/* Columna derecha */
.hero-right { position: relative; }
.hero-img-ph { align-items: center; aspect-ratio: 4/5; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: var(--r-xl); color: rgba(255,255,255,.45); display: flex; flex-direction: column; font-size: .8rem; gap: 10px; justify-content: center; text-align: center; width: 100%; }
.hero-img-ph img { border-radius: var(--r-xl); height: 100%; object-fit: cover; width: 100%; }
/* Badges */
.hbadge { align-items: center; background: #fff; border-radius: var(--r-md); box-shadow: var(--sh-h); display: flex; gap: 10px; padding: 10px 14px; position: absolute; }
.hbadge--top { left: -20px; top: 22px; }
.hbadge--bot { bottom: 22px; right: -16px; }
.hb-ico { align-items: center; background: var(--c-blue-bg); border-radius: var(--r-sm); display: flex; flex-shrink: 0; height: 38px; justify-content: center; width: 38px; }
.hb-ico svg { color: var(--c-blue); height: 20px; width: 20px; }
.hb-lbl { color: var(--c-grey); font-size: .68rem; font-weight: 500; margin-bottom: 1px; }
.hb-val { color: var(--text-dark); font-size: .92rem; font-weight: 700; line-height: 1.2; }

/* ─── FEATURES STRIP ─── */
.features { background: var(--grey-bg); border-bottom: 1px solid var(--grey-line); }
.features .row { display: grid; grid-template-columns: repeat(3,1fr); }
.feat { align-items: flex-start; border-right: 1px solid var(--grey-line); display: flex; gap: 16px; padding: 30px 26px; }
.feat:last-child { border-right: none; }
.feat-ico { align-items: center; background: var(--white); border: 1px solid var(--grey-line); border-radius: var(--r-md); box-shadow: var(--sh-c); display: flex; flex-shrink: 0; height: 46px; justify-content: center; width: 46px; }
.feat-ico svg { color: var(--c-blue); height: 22px; width: 22px; }
.feat-title { color: var(--text-dark); font-size: .96rem; font-weight: 700; margin-bottom: 4px; }
.feat-desc { color: var(--text-body); font-size: .83rem; line-height: 1.55; }

/* ─── SECCIONES ─── */
.section { padding: 84px 0; }
.section--grey { background: var(--grey-bg); }
.sec-eyebrow { color: var(--c-blue); font-size: .72rem; font-weight: 700; letter-spacing: .1em; margin-bottom: 10px; text-transform: uppercase; }
.sec-title { color: var(--text-dark); font-family: var(--ff-d); font-size: clamp(1.7rem,2.8vw,2.35rem); font-weight: 600; line-height: 1.22; margin-bottom: 16px; }
.sec-desc { color: var(--text-body); font-size: .97rem; line-height: 1.75; max-width: 560px; }
.sec-hdr { margin-bottom: 52px; }
.sec-hdr--c { text-align: center; }
.sec-hdr--c .sec-desc { margin: 0 auto; }

/* ─── STATS ROW ─── */
.stats-row{background:var(--c-darker);padding:0}
.stats-row .row{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:26px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.1)}
.stat:last-child{border-right:none}
.stat-n{font-family:var(--ff-d);font-size:2rem;font-weight:700;color:#fff;line-height:1;margin-bottom:4px}
.stat-n span{color:var(--c-blue)}
.stat-l{font-size:.74rem;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.04em;font-weight:500}

.ba-tag {
  background: rgba(44,44,46,.72);
  border-radius: var(--r-sm);
  color: #fff;
  font-size: .66rem;
  font-weight: 700;
  left: 10px;
  letter-spacing: .09em;
  padding: 4px 9px;
  position: absolute;
  text-transform: uppercase;
  top: 10px;
  z-index: 2;
}

.ba-tag--after {
  background: var(--c-blue);
}

/* ─── ABOUT ─── */
.about-grid { align-items: center; display: grid; gap: 72px; grid-template-columns: 1fr 1fr; }
.about-mosaic { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
.mosaic-main { align-items: center; aspect-ratio: 3/4; background: var(--grey-line); border-radius: var(--r-lg); color: var(--c-grey); display: flex; flex-direction: column; font-size: .75rem; grid-column: 1; grid-row: 1/3; justify-content: center; overflow: hidden; text-align: center; }
.about-mosaic img { height: 100%; object-fit: cover; width: 100%; }
.mosaic-main svg { height: 32px; margin-bottom: 6px; opacity: .3; width: 32px; }
.mosaic-sm { align-items: center; aspect-ratio: 1; background: var(--grey-line); border-radius: var(--r-md); color: var(--c-grey); display: flex; flex-direction: column; font-size: .72rem; grid-column: 2; justify-content: center; overflow: hidden; text-align: center; }
.mosaic-sm svg { height: 24px; margin-bottom: 4px; opacity: .3; width: 24px; }
.checklist { display: flex; flex-direction: column; gap: 13px; margin: 26px 0 34px; }
.chk { align-items: flex-start; display: flex; font-size: .94rem; gap: 11px; }
.chk-ico { align-items: center; background: var(--c-blue-bg); border-radius: 50%; display: flex; flex-shrink: 0; height: 20px; justify-content: center; margin-top: 1px; width: 20px; }
.chk-ico svg { color: var(--c-blue); height: 10px; width: 10px; }

#contactMap { aspect-ratio: 1/1; display: block; height: 100%; width: 100%; }

/* ─── SERVICIOS ─── */
.svc-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); }
.svc { background: var(--white); border: 1px solid var(--grey-line); border-radius: var(--r-md); padding: 26px 24px; transition: all var(--tr); }
.svc:hover { border-color: var(--c-blue-lt); box-shadow: var(--sh-h); transform: translateY(-4px); }
.svc-ico { align-items: center; background: var(--c-blue-bg); border-radius: var(--r-sm); display: flex; height: 46px; justify-content: center; margin-bottom: 16px; width: 46px; }
.svc-ico svg { color: var(--c-blue); height: 22px; width: 22px; }
.svc-title { color: var(--text-dark); font-family: var(--ff-d); font-size: 1.05rem; font-weight: 600; margin-bottom: 8px; }
.svc-desc { color: var(--text-body); font-size: .855rem; line-height: 1.62; }

/* ─── URGENCIAS ─── */
#urgencias { background-color: var(--c-dark); }
.urg-wrap { align-items: center; display: grid; gap: 48px; grid-template-columns: 1fr 280px; }
.urg-badge { align-items: center; background: rgba(94,219,143,.15); border: 1px solid rgba(94,219,143,.3); border-radius: 99px; color: #5edb8f; display: inline-flex; font-size: .72rem; font-weight: 700; gap: 7px; letter-spacing: .08em; margin-bottom: 14px; padding: 5px 11px; text-transform: uppercase; }
.urg-title { color: #fff; font-family: var(--ff-d); font-size: 1.75rem; font-weight: 700; line-height: 1.22; margin-bottom: 14px; }
.urg-desc { color: rgba(255,255,255,.7); font-size: .93rem; line-height: 1.7; margin-bottom: 22px; }
.urg-data { display: flex; flex-wrap: wrap; gap: 28px; }
.urg-di { display: flex; flex-direction: column; gap: 2px; }
.urg-dl { color: rgba(255,255,255,.5); font-size: .68rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.urg-dv { color: #fff; font-size: .93rem; font-weight: 600; }
.urg-dv a { color: var(--c-blue-lt); }
.urg-aside { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: var(--r-lg); padding: 28px 22px; text-align: center; }
.urg-aside-lbl { color: rgba(255,255,255,.5); font-size: .7rem; letter-spacing: .09em; margin-bottom: 8px; text-transform: uppercase; }
.urg-aside-days { color: #fff; font-family: var(--ff-d); font-size: 1.1rem; font-weight: 600; margin-bottom: 4px; }
.urg-aside-hours { color: var(--c-blue-lt); font-size: 1.35rem; font-weight: 700; margin-bottom: 16px; }
.urg-aside-addr { color: rgba(255,255,255,.6); font-size: .8rem; line-height: 1.55; margin-bottom: 20px; }
.urg-aside-ctas { display: flex; flex-direction: column; gap: 10px; }
.urg-aside-ctas .btn { justify-content: center; width: 100%; }

/* ─── URGENCIAS: barra CTA + pasos ─── */
.urg-cta-bar { background: var(--c-dark); border-bottom: 1px solid rgba(255,255,255,.08); padding: 14px 0; }
.urg-cta-bar .row { align-items: center; display: flex; justify-content: space-between; }
.urg-cta-bar__text { align-items: center; color: rgba(255,255,255,.85); display: flex; font-size: .92rem; font-weight: 600; gap: 10px; }
.urg-cta-bar__text svg { color: #f87171; flex-shrink: 0; height: 20px; width: 20px; }
.how-grid { display: grid; gap: 30px; grid-template-columns: repeat(3,1fr); }
.how-step { background: var(--white); border: 1px solid var(--grey-line); border-radius: var(--r-lg); padding: 32px 26px; position: relative; text-align: center; transition: all var(--tr); }
.how-step:hover { border-color: var(--c-blue-lt); box-shadow: var(--sh-h); transform: translateY(-4px); }
.how-step__num { color: var(--c-blue); font-family: var(--ff-d); font-size: 2.4rem; font-weight: 700; left: 22px; line-height: 1; opacity: .15; position: absolute; top: 18px; }
.how-step__ico { align-items: center; background: var(--c-blue-bg); border-radius: 50%; display: inline-flex; height: 56px; justify-content: center; margin-bottom: 18px; width: 56px; }
.how-step__ico svg { color: var(--c-blue); height: 26px; width: 26px; }
.how-step__title { color: var(--text-dark); font-family: var(--ff-d); font-size: 1.05rem; font-weight: 600; margin-bottom: 10px; }
.how-step__desc { color: var(--text-body); font-size: .875rem; line-height: 1.65; }

/* ─── OPINIONES ─── */
.rev-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); }
.rev { background: var(--white); border: 1px solid var(--grey-line); border-radius: var(--r-md); box-shadow: var(--sh-c); padding: 26px; }
.rev-stars { color: #f59e0b; font-size: .88rem; letter-spacing: 3px; margin-bottom: 12px; }
.rev-text { color: var(--text-body); font-size: .9rem; font-style: italic; line-height: 1.7; margin-bottom: 18px; }
.rev-author { align-items: center; display: flex; gap: 11px; }
.rev-av { background: var(--c-blue-bg); border-radius: 50%; flex-shrink: 0; height: 44px; overflow: hidden; width: 44px; }
.rev-av img { height: 100%; object-fit: cover; width: 100%; }
.rev-name { color: var(--text-dark); font-size: .88rem; font-weight: 600; }
.rev-role { color: var(--c-grey); font-size: .77rem; }

/* ─── FAQS ─── */
.faq-list { margin: 0 auto; max-width: 720px; }
.faq { border-bottom: 1px solid var(--grey-line); }
.faq-btn { align-items: center; background: none; border: none; cursor: pointer; display: flex; font-family: var(--ff-b); gap: 16px; justify-content: space-between; padding: 20px 0; text-align: left; width: 100%; }
.faq-q { color: var(--text-dark); font-size: .96rem; font-weight: 600; line-height: 1.4; }
.faq-ic { align-items: center; background: var(--c-blue-bg); border-radius: 50%; display: flex; flex-shrink: 0; height: 22px; justify-content: center; transition: all var(--tr); width: 22px; }
.faq-ic svg { color: var(--c-blue); height: 11px; transition: transform var(--tr); width: 11px; }
.faq.open .faq-ic { background: var(--c-blue); }
.faq.open .faq-ic svg { color: #fff; transform: rotate(180deg); }
.faq-body { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.faq-body p { color: var(--text-body); font-size: .9rem; line-height: 1.75; padding-bottom: 20px; }
.faq.open .faq-body { max-height: 280px; }

/* ─── UBICACIÓN ─── */
.loc-grid { align-items: start; display: grid; gap: 56px; grid-template-columns: 1fr 1fr; }
.loc-map { background: var(--grey-line); border-radius: var(--r-lg); height: 360px; overflow: hidden; }
.loc-map iframe { border: 0; height: 100%; width: 100%; }
.loc-details { display: flex; flex-direction: column; gap: 22px; padding-top: 4px; }
.loc-item { align-items: flex-start; display: flex; gap: 14px; }
.loc-ico { align-items: center; background: var(--c-blue-bg); border-radius: var(--r-sm); display: flex; flex-shrink: 0; height: 42px; justify-content: center; width: 42px; }
.loc-ico svg { color: var(--c-blue); height: 19px; width: 19px; }
.loc-lbl { color: var(--c-grey); font-size: .7rem; font-weight: 600; letter-spacing: .07em; margin-bottom: 3px; text-transform: uppercase; }
.loc-val { color: var(--text-dark); font-size: .93rem; font-weight: 500; line-height: 1.5; }
.loc-val a { color: var(--c-blue); }

/* ─── NAV ÍNDICE DE ESPECIALIDADES ─── */
.spec-index{background:var(--grey-bg);border-bottom:1px solid var(--grey-line);padding:0;position:sticky;top:68px;z-index:50}
.spec-index .row{display:flex;align-items:center;gap:4px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
.spec-index .row::-webkit-scrollbar{display:none}
.spec-index a{font-size:.78rem;font-weight:600;color:var(--text-body);padding:7px 14px;border-radius:99px;white-space:nowrap;transition:all var(--tr);border:1px solid transparent}
.spec-index a:hover{background:var(--c-blue-bg);color:var(--c-blue);border-color:var(--c-blue-lt)}
.spec-index a.active{background:var(--c-blue);color:#fff;border-color:var(--c-blue)}

/* ─── BLOQUE ESPECIALIDAD ─── */
/* Alterna imagen izquierda/derecha */
.spec-section{padding:88px 0;border-bottom:1px solid var(--grey-line)}
.spec-section:last-of-type{border-bottom:none}
.spec-section--grey{background:var(--grey-bg)}

.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.spec-grid--reverse{direction:rtl}
.spec-grid--reverse>*{direction:ltr}

/* Imagen */
.spec-img{position:relative}
.spec-img__main img{aspect-ratio: 1/1; margin-inline: auto; object-fit: cover; object-position: center; }
.spec-img__ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--c-blue);font-size:.8rem;text-align:center;padding:20px;min-height:300px}
.spec-img__ph svg{width:52px;height:52px;opacity:.35}

/* Número decorativo grande */
.spec-num{position:absolute;top:-20px;left:-16px;font-family:var(--ff-d);font-size:7rem;font-weight:700;color:var(--grey-line);line-height:1;z-index:-1;user-select:none}
.spec-grid--reverse .spec-num{left:auto;right:-16px}

/* Texto */
.spec-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-blue);margin-bottom:10px}
.spec-eyebrow-dot{width:5px;height:5px;background:var(--c-blue);border-radius:50%}
.spec-title{font-family:var(--ff-d);font-size:clamp(1.65rem,2.5vw,2.2rem);font-weight:700;color:var(--text-dark);line-height:1.2;margin-bottom:18px}
.spec-lead{font-size:1.05rem;color:var(--text-dark);font-weight:500;line-height:1.65;margin-bottom:14px}
.spec-body{font-size:.935rem;color:var(--text-body);line-height:1.8;margin-bottom:22px}
.spec-body+.spec-body{margin-top:-10px}

/* Lista de tratamientos incluidos */
.spec-includes{background:var(--c-blue-bg);border:1px solid var(--c-blue-lt);border-radius:var(--r-md);padding:20px 22px;margin:22px 0 28px}
.spec-includes__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--c-blue);margin-bottom:12px}
.spec-includes__list{display:grid;grid-template-columns:1fr 1fr;gap:7px 20px}
.spec-includes__item{display:flex;align-items:flex-start;gap:8px;font-size:.855rem;color:var(--text-dark)}
.spec-includes__item svg{width:14px;height:14px;color:var(--c-blue);flex-shrink:0;margin-top:2px}

/* CTA inline */
.spec-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:4px}

/* ─── TEAM CATEGORIES ─── */
.team-section{padding:72px 0}
.team-section+.team-section{padding-top:50px}

/* Separador de categoría */
.team-cat-header{display:flex;align-items:center;gap:16px;margin-bottom:36px}
.team-cat-line{flex:1;height:1px;background:var(--grey-line)}
.team-cat-badge{display:inline-flex;align-items:center;gap:8px;background:var(--c-blue-bg);border:1px solid var(--c-blue-lt);color:var(--c-blue);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:99px;white-space:nowrap}
.team-cat-badge svg{width:13px;height:13px}

/* Grid de tarjetas */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.team-grid--3{grid-template-columns:repeat(3,1fr)}

/* Tarjeta profesional */
.member{background:var(--white);border:1px solid var(--grey-line);border-radius:var(--r-lg);overflow:hidden;transition:all var(--tr);position:relative}
.member:hover{transform:translateY(-5px);box-shadow:var(--sh-h);border-color:var(--c-blue-lt)}
.member__photo{width:100%;aspect-ratio:1;overflow:hidden;background:var(--c-blue-bg);display:flex;align-items:center;justify-content:center;position:relative}
.member__photo img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease}
.member__photo img.cover {object-fit:cover;object-position:15% 15%}
.member:hover .member__photo img{transform:scale(1.04)}
.member__photo-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:var(--c-grey);font-size:.75rem;text-align:center;gap:8px}
.member__photo-ph svg{width:40px;height:40px;opacity:.3}

/* Overlay sutil en hover */
.member__photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(112,168,191,.15),transparent);opacity:0;transition:opacity var(--tr)}
.member:hover .member__photo::after{opacity:1}

.member__info{padding:20px 18px 22px}
.member__name{font-family:var(--ff-d);font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:5px;line-height:1.25}
.member__role{font-size:.77rem;color:var(--c-blue);font-weight:700;text-transform:uppercase;letter-spacing:.06em;line-height:1.35}

/* Tarjeta grande para el director médico */
.member--featured{grid-column:span 2}
.member--featured .member__photo{aspect-ratio:2/1}
.member--featured .member__info{padding:24px 22px 26px}
.member--featured .member__name{font-size:1.2rem}
.member--featured .member__role{font-size:.82rem;margin-bottom:10px}
.member--featured .member__bio{font-size:.875rem;color:var(--text-body);line-height:1.65;margin-top:8px}

/* Tarjeta de recepción: cuadrada compacta */
.member--sm .member__photo{aspect-ratio:1}
.member--sm .member__info{padding:16px 16px 18px}
.member--sm .member__name{font-size:.93rem}
.member--sm .member__role{font-size:.72rem}

.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.pillar{background:var(--white);border:1px solid var(--grey-line);border-radius:var(--r-md);padding:28px 22px;transition:all var(--tr)}
.pillar:hover{transform:translateY(-4px);box-shadow:var(--sh-h);border-color:var(--c-blue-lt)}
.pillar-ico{width:48px;height:48px;background:var(--c-blue-bg);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.pillar-ico svg{width:24px;height:24px;color:var(--c-blue)}
.pillar-title{font-family:var(--ff-d);font-size:1.05rem;font-weight:600;color:var(--text-dark);margin-bottom:8px}
.pillar-desc{font-size:.855rem;color:var(--text-body);line-height:1.62}

/* ─── ZONA / ESPACIO ─── */
.zona{padding:72px 0;border-bottom:1px solid var(--grey-line)}
.zona:last-of-type{border-bottom:none}
.zona--grey{background:var(--grey-bg)}

.zona-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.zona-badge{display:inline-flex;align-items:center;gap:8px;background:var(--c-blue-bg);border:1px solid var(--c-blue-lt);color:var(--c-blue);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:99px}
.zona-badge svg{width:13px;height:13px}
.zona-title{font-family:var(--ff-d);font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:600;color:var(--text-dark);line-height:1.2;margin-top:8px}
.zona-desc{font-size:.92rem;color:var(--text-body);line-height:1.72;max-width:580px;margin-top:10px}

/* Grid de fotos - diferentes layouts */
.photo-grid{display:grid;gap:12px}
.photo-grid--2{grid-template-columns:1fr 1fr}
.photo-grid--3{grid-template-columns:1fr 1fr 1fr}
.photo-grid--4{grid-template-columns:repeat(4,1fr)}
.photo-grid--featured{grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr}
.photo-grid--featured .photo-item:first-child{grid-row:span 2}

/* Split layout: texto izq + grid der */
.zona-split{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:start}
.zona-split--reverse{grid-template-columns:1.5fr 1fr}
.zona-split--reverse .zona-info{order:2}
.zona-split--reverse .zona-gallery{order:1}

.zona-info{}
.zona-gallery{}

/* Tarjeta de foto */
.photo-item{border-radius:var(--r-md);overflow:hidden;cursor:pointer;position:relative;background:var(--c-blue-bg)}
.photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.photo-item:hover img{transform:scale(1.04)}
.photo-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(58,96,112,.25),transparent);opacity:0;transition:opacity var(--tr)}
.photo-item:hover::after{opacity:1}

/* Overlay zoom icon */
.photo-item__zoom{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--tr)}
.photo-item__zoom svg{width:18px;height:18px;color:var(--c-blue)}
.photo-item:hover .photo-item__zoom{opacity:1}

/* Alturas de foto según contexto */
.photo-grid--2 .photo-item{aspect-ratio:4/3}
.photo-grid--3 .photo-item{aspect-ratio:4/3}
.photo-grid--4 .photo-item{aspect-ratio:1}
.photo-grid--featured .photo-item{aspect-ratio:auto;min-height:200px}
.photo-grid--featured .photo-item:first-child{aspect-ratio:3/4}
.photo-grid--featured .photo-item:not(:first-child){aspect-ratio:4/3}

/* Placeholder fotos */
.photo-ph{width:100%;height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--c-blue-lt);font-size:.75rem;text-align:center;padding:16px}
.photo-ph svg{width:32px;height:32px;opacity:.5}

/* Lista de características de zona */
.zona-features{display:flex;flex-direction:column;gap:11px;margin-top:20px}
.zona-feat{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;color:var(--text-body)}
.zona-feat svg{width:14px;height:14px;color:var(--c-blue);flex-shrink:0;margin-top:2px}

/* ─── LIGHTBOX ─── */
.lb-overlay{display:none;position:fixed;inset:0;background:rgba(30,30,32,.95);z-index:1000;align-items:center;justify-content:center;padding:20px}
.lb-overlay.open{display:flex}
.lb-inner{position:relative;max-width:900px;width:100%;max-height:90vh}
.lb-img{width:100%;height:auto;max-height:85vh;object-fit:contain;border-radius:var(--r-md);display:block}
.lb-close{position:absolute;top:-44px;right:0;width:36px;height:36px;background:rgba(255,255,255,.15);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--tr)}
.lb-close:hover{background:rgba(255,255,255,.3)}
.lb-close svg{width:18px;height:18px;color:#fff}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:rgba(255,255,255,.15);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--tr)}
.lb-prev{left:-56px}
.lb-next{right:-56px}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.3)}
.lb-prev svg,.lb-next svg{width:20px;height:20px;color:#fff}
.lb-caption{position:absolute;bottom:-36px;left:0;right:0;text-align:center;font-size:.8rem;color:rgba(255,255,255,.6)}

/* ─── CTA BANNER ─── */
.cta-banner{background:linear-gradient(135deg,var(--c-darker) 0%,#3a3a3c 100%);border-radius:var(--r-xl);padding:56px 60px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.cta-banner__badge{display:inline-flex;align-items:center;gap:7px;background:rgba(94,219,143,.15);border:1px solid rgba(94,219,143,.3);color:#5edb8f;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:99px;margin-bottom:14px}
.cta-banner__title{font-family:var(--ff-d);font-size:1.7rem;font-weight:700;color:#fff;margin-bottom:12px;line-height:1.22}
.cta-banner__desc{color:rgba(255,255,255,.72);font-size:.93rem;line-height:1.7}
.cta-banner__ctas{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
.cta-banner__ctas .btn{justify-content:center;padding:13px 28px}

/* ─── FOOTER ─── */
.footer { background: var(--c-darker); color: rgba(255,255,255,.68); padding: 56px 0 0; }
.footer-grid { display: grid; gap: 40px; grid-template-columns: 1.8fr 1fr 1fr 1.3fr; padding-bottom: 48px; }
.f-brand img { height: 42px; margin-bottom: 14px; width: auto; }
.f-tagline { font-size: .84rem; line-height: 1.65; margin-bottom: 20px; max-width: 300px; }
.f-social { display: flex; gap: 9px; }
.f-social a { align-items: center; background: rgba(255,255,255,.08); border-radius: var(--r-sm); display: flex; height: 34px; justify-content: center; transition: background var(--tr); width: 34px; }
.f-social a:hover { background: var(--c-blue); }
.f-social svg { color: rgba(255,255,255,.7); height: 15px; width: 15px; }
.footer h4 { color: #fff; font-size: .75rem; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px; text-transform: uppercase; }
.f-links { display: flex; flex-direction: column; gap: 9px; }
.f-links a { color: rgba(255,255,255,.6); font-size: .855rem; transition: color var(--tr); }
.f-links a:hover { color: #fff; }
.f-ci { align-items: flex-start; display: flex; gap: 9px; margin-bottom: 12px; }
.f-ci svg { color: var(--c-blue-lt); flex-shrink: 0; height: 15px; margin-top: 2px; width: 15px; }
.f-ci span { font-size: .84rem; line-height: 1.5; }
.f-ci a { color: rgba(255,255,255,.7); }
.f-ci a:hover { color: #fff; }
.f-bottom { background: #2e2e30; border-top: 1px solid rgba(255,255,255,.07); color: rgba(255,255,255,.38); font-size: .76rem; padding: 16px 0; }
.f-bottom .row { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.f-bottom a { color: rgba(255,255,255,.38); transition: color var(--tr); }
.f-bottom a:hover { color: rgba(255,255,255,.7); }
.f-blinks { display: flex; flex-wrap: wrap; gap: 18px; }


@media (max-width: 1024px) {
    .hero .row { gap: 40px; grid-template-columns: 1fr 340px; }
    .about-grid { gap: 48px; }
    .svc-grid { grid-template-columns: repeat(2,1fr); }
    .rev-grid { grid-template-columns: repeat(2,1fr); }
    .rev-grid .rev:last-child { grid-column: span 2; margin: 0 auto; max-width: 500px; width: 100%; }

    .team-grid{grid-template-columns:repeat(3,1fr)}
    .team-grid--3{grid-template-columns:repeat(3,1fr)}
    .member--featured{grid-column:span 2}

    .zona-split{gap:40px}
    .photo-grid--4{grid-template-columns:repeat(2,1fr)}

    .spec-grid{gap:48px}
    .spec-num{font-size:5rem}

    .cta-banner{padding:44px 40px}

    .lb-prev{left:-44px}
    .lb-next{right:-44px}

    .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .footer-grid>div:last-child { grid-column: 1/-1; }
}

@media (max-width: 900px) {
    .nav { display: none; }
    .nav-toggle { display: flex; }
    .t-group:first-child { display: none; }
    .topbar .row { justify-content: center; }
    .hero { padding: 52px 0 76px; }
    .hero .row { grid-template-columns: 1fr; }
    .hero-right { display: none; }
    .hero-title { font-size: clamp(1.9rem,5vw,2.55rem); }
    .features .row { grid-template-columns: 1fr; }
    .feat { border-bottom: 1px solid var(--grey-line); border-right: none; }
    .feat:last-child { border-bottom: none; }
    .section { padding: 60px 0; }
    .about-grid { grid-template-columns: 1fr; }
    .about-mosaic { display: none; }
    .urg-cta-bar .row { flex-direction: column; gap: 12px; text-align: center; }
    .urg-wrap { gap: 28px; grid-template-columns: 1fr; padding: 36px 28px; }
    .how-grid { grid-template-columns: 1fr; gap: 16px; }
    .rev-grid { grid-template-columns: 1fr; }
    .rev-grid .rev:last-child { grid-column: span 1; max-width: 100%; }
    .loc-grid { gap: 36px; grid-template-columns: 1fr; }
    .loc-map { height: 280px; }

    .zona-split,.zona-split--reverse{grid-template-columns:1fr}
    .zona-split--reverse .zona-info{order:0}
    .zona-split--reverse .zona-gallery{order:0}
    .zona{padding:52px 0}
    .photo-grid--featured{grid-template-columns:1fr 1fr}
    .photo-grid--featured .photo-item:first-child{grid-row:span 1;aspect-ratio:4/3}

    .spec-index{top:58px}
    .spec-grid,.spec-grid--reverse{grid-template-columns:1fr;direction:ltr}
    .spec-section{padding:60px 0}
    .spec-includes__list{grid-template-columns:1fr}

    .footer-grid { gap: 28px; grid-template-columns: 1fr 1fr; }
    .footer-grid>div:last-child { grid-column: 1/-1; }

    .intro-grid{grid-template-columns:1fr;gap:36px}
    .intro-img{display:none}

    .team-grid{grid-template-columns:repeat(2,1fr);gap:16px}
    .team-grid--3{grid-template-columns:repeat(2,1fr)}
    .member--featured{grid-column:span 2}

    .lb-prev{left:4px}
    .lb-next{right:4px}

    .stats-row .row{grid-template-columns:repeat(2,1fr)}
    .stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}
    .stat:nth-child(1),.stat:nth-child(2){border-right:1px solid rgba(255,255,255,.1)}
    .stat:nth-child(2){border-right:none}
    .stat:nth-child(3),.stat:nth-child(4){border-bottom:none}
    .stat:nth-child(3){border-right:1px solid rgba(255,255,255,.1)}

    .cta-banner{grid-template-columns:1fr;padding:36px 28px;gap:24px}
    .cta-banner__ctas{flex-direction:row;flex-wrap:wrap}
    .cta-banner__ctas .btn{flex:1;min-width:140px}
}

@media (max-width: 600px) {
    .container { padding: 0 16px; }
    .topbar { font-size: .74rem; }
    .t-group:last-child .t-item:last-child { display: none; }
    .header .row { height: 58px; }
    .h-logo img { height: 36px!important; }
    .hero { padding: 40px 0 60px; }
    .hero-eyebrow { font-size: .71rem; }
    .hero-title { font-size: clamp(1.65rem,6vw,2rem); margin-bottom: 14px; }
    .hero-desc { font-size: .88rem; margin-bottom: 26px; }
    .hero-ctas { flex-direction: column; }
    .hero-ctas .btn { justify-content: center; width: 100%; }
    .hero-trust { align-items: flex-start; flex-direction: column; gap: 4px; }
    .section { padding: 48px 0; }
    .sec-hdr { margin-bottom: 36px; }
    .svc-grid { gap: 12px; grid-template-columns: 1fr; }
    .svc { padding: 22px 18px; }
    .urg-cta-bar { padding: 12px 0; }
    .urg-cta-bar__text { font-size: .84rem; }
    .urg-wrap { border-radius: var(--r-lg); padding: 26px 18px; }
    .urg-title { font-size: 1.4rem; }
    .urg-aside-ctas { flex-direction: row; flex-wrap: wrap; }
    .urg-aside-ctas .btn { flex: 1; min-width: 130px; }
    .footer-grid { gap: 26px; grid-template-columns: 1fr; padding-bottom: 32px; }
    .footer-grid>div:last-child { grid-column: span 1; }
    .footer { padding: 36px 0 0; }
    .f-bottom .row { align-items: flex-start; flex-direction: column; gap: 8px; }

    .page-hero{padding:44px 0 64px}
    .ph-title{font-size:clamp(1.65rem,6vw,2rem)}
    .ph-desc{font-size:.88rem}

    .team-grid{grid-template-columns:repeat(2,1fr);gap:12px}
    .team-grid--3{grid-template-columns:repeat(2,1fr)}
    .member--featured{grid-column:span 2}
    .member--featured .member__photo{aspect-ratio:16/9}

    .stats-row .row{grid-template-columns:repeat(2,1fr)}
    .stat{padding:18px 12px}
    .stat-n{font-size:1.7rem}

    .spec-section{padding:48px 0}
    .spec-cta{flex-direction:column}
    .spec-cta .btn{width:100%;justify-content:center}

    .pillars{grid-template-columns:1fr 1fr;gap:14px}
    .pillar{padding:20px 16px}

    .photo-grid--2,.photo-grid--3,.photo-grid--4,.photo-grid--featured{grid-template-columns:1fr;gap:8px}
    .photo-grid--featured .photo-item:first-child{aspect-ratio:4/3}
    .zona{padding:40px 0}

    .cta-banner{padding:26px 18px;border-radius:var(--r-lg)}
    .cta-banner__title{font-size:1.35rem}
    .cta-banner__ctas{flex-direction:column}
    .cta-banner__ctas .btn{width:100%;justify-content:center}
}

@media(max-width:420px){
    .team-grid,.team-grid--3{grid-template-columns:1fr}
    .member--featured{grid-column:span 1}
    .member--featured .member__photo{aspect-ratio:4/3}

    .pillars{grid-template-columns:1fr}
}

@media (max-width: 380px) {
    .hero-title { font-size: 1.5rem; }
    .btn { font-size: .82rem; padding: 10px 16px; }
    .urg-data { flex-direction: column; gap: 14px; }
}

/* ─── CONTENIDO LEGAL (cookies, privacidad, aviso) ─── */
.legal { color: var(--text-body); font-size: .97rem; line-height: 1.8; }
.legal h2 { color: var(--text-dark); font-family: var(--ff-d); font-size: clamp(1.4rem,2.4vw,1.9rem); font-weight: 700; margin-bottom: 14px; margin-top: 44px; }
.legal h2:first-child { margin-top: 0; }
.legal h3 { color: var(--text-dark); font-family: var(--ff-d); font-size: 1.15rem; font-weight: 600; margin-bottom: 10px; margin-top: 32px; }
.legal h3:first-child { margin-top: 0; }
.legal h4 { color: var(--text-dark); font-size: .97rem; font-weight: 700; margin-bottom: 8px; margin-top: 22px; }
.legal p { margin-bottom: 14px; }
.legal p:last-child { margin-bottom: 0; }
.legal ul, .legal ol { margin-bottom: 14px; margin-left: 22px; margin-top: 6px; }
.legal ul { list-style: disc; }
.legal ol { list-style: decimal; }
.legal li { margin-bottom: 5px; padding-left: 2px; }
.legal strong { color: var(--text-dark); font-weight: 600; }
.legal a { color: var(--c-blue); transition: color var(--tr); }
.legal a:hover { color: var(--c-blue-dk); text-decoration: underline; }
.legal .cookie-table-wrapper { margin-bottom: 24px; margin-top: 16px; }

/* ─── TABLAS ─── */
.table-wrapper { -webkit-overflow-scrolling: touch; border-radius: var(--r-md); overflow-x: auto; }

table { border-collapse: collapse; font-size: .875rem; min-width: 100%; width: 100%; }
thead { background: var(--c-blue-bg); }
th { border-bottom: 2px solid var(--c-blue-lt); color: var(--text-dark); font-size: .72rem; font-weight: 700; letter-spacing: .06em; padding: 12px 16px; text-align: left; text-transform: uppercase; white-space: nowrap; }
td { border-bottom: 1px solid var(--grey-line); color: var(--text-body); line-height: 1.6; padding: 12px 16px; vertical-align: top; }
tbody tr:last-child td { border-bottom: none; }
tbody tr:hover td { background: var(--c-blue-bg); }

/* ─── TABLA DE COOKIES ─── */
.cookie-table-wrapper { -webkit-overflow-scrolling: touch; border: 1px solid var(--grey-line); border-radius: var(--r-md); margin-bottom: 28px; overflow-x: auto; }
.cookie-table { border-collapse: collapse; font-size: .855rem; min-width: 600px; width: 100%; }
.cookie-table thead { background: var(--c-blue-bg); }
.cookie-table th { border-bottom: 2px solid var(--c-blue-lt); color: var(--text-dark); font-size: .7rem; font-weight: 700; letter-spacing: .07em; padding: 11px 14px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.cookie-table td { border-bottom: 1px solid var(--grey-line); color: var(--text-body); line-height: 1.6; padding: 10px 14px; vertical-align: top; }
.cookie-table tbody tr:last-child td { border-bottom: none; }
.cookie-table tbody tr:hover td { background: var(--c-blue-bg); }

.cookie-name { background: var(--grey-bg); border: 1px solid var(--grey-line); border-radius: 4px; color: var(--c-darker); font-family: monospace; font-size: .8rem; padding: 2px 6px; white-space: nowrap; }
.cookie-type { border-radius: 99px; display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .05em; padding: 2px 8px; text-transform: uppercase; }
.type-tecnica { background: rgba(112,168,191,.15); color: var(--c-blue-dk); }
.type-analitica { background: rgba(251,191,36,.12); color: #92700a; }
.type-publicidad { background: rgba(239,68,68,.1); color: #b91c1c; }
.type-preferencia { background: rgba(34,197,94,.1); color: #15803d; }

@keyframes blink {
    0%,100% { opacity: 1; transform: scale(1); }
    50% { opacity: .4; transform: scale(1.35); }
}
