:root{
  --ink:#10292a;
  --ink-2:#183a3b;
  --brand:#2f696b;
  --brand-2:#4f8a8b;
  --mint:#edf7f5;
  --soft:#f8fbfa;
  --line:rgba(47,105,107,.14);
  --text:#334155;
  --muted:#64748b;
  --white:#fff;
  --shadow:0 24px 80px rgba(16,41,42,.12);
  --radius:30px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--soft);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 16px;z-index:999}
.skip-link:focus{left:12px;top:12px;border-radius:12px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);overflow:visible}
.nav-wrap{min-height:78px;height:auto;padding:10px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:visible}
.brand{display:flex;align-items:center;justify-content:flex-start;line-height:0;overflow:visible;flex-shrink:0;min-height:52px}
.brand img{width:auto;height:50px;max-width:230px;object-fit:contain;object-position:left center;display:block}
.main-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:800;color:#27484a}
.main-nav a{position:relative;opacity:.9}
.main-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:99px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:.25s ease}
.main-nav a:hover:after{transform:scaleX(1)}
.menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px;border-radius:16px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--brand);border-radius:99px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 22px;font-weight:900;font-size:14px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 18px 44px rgba(47,105,107,.24)}
.btn-primary:hover{background:#24595b;box-shadow:0 22px 56px rgba(47,105,107,.32)}
.btn-secondary{background:#fff;border:1px solid rgba(47,105,107,.25);color:var(--brand)}
.btn-secondary:hover{border-color:rgba(47,105,107,.55)}
.btn-light{background:#fff;color:var(--brand);box-shadow:none;margin-top:18px}
.section{padding:94px 0}
.section-soft{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f3faf8 100%)}
.hero{padding:78px 0 70px;isolation:isolate}
.decor{position:absolute;border-radius:999px;filter:blur(55px);z-index:-1;pointer-events:none}
.decor-one{width:520px;height:520px;background:rgba(47,105,107,.14);left:-160px;top:-140px}
.decor-two{width:430px;height:430px;background:rgba(90,151,153,.18);right:-120px;top:110px}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}
.eyebrow,.section-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);background:rgba(47,105,107,.08);color:var(--brand);border-radius:999px;font-weight:950;font-size:12px;text-transform:uppercase;letter-spacing:.18em}
.hero h1{font-size:clamp(42px,5.8vw,72px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 0;color:var(--ink);font-weight:400;max-width:11ch}
.hero h1 span{color:var(--brand);font-weight:500}
.lead{font-size:clamp(17px,1.9vw,21px);line-height:1.66;color:#475569;margin:26px 0 0;max-width:620px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px;max-width:680px}
.hero-points div{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px 18px;box-shadow:0 14px 36px rgba(16,41,42,.05)}
.hero-points strong{display:block;color:var(--brand);font-size:20px;letter-spacing:-.03em}
.hero-points small{display:block;color:#64748b;font-weight:800;margin-top:4px}

.hero-visual{min-height:620px;display:grid;place-items:center}
.hero-team-orbit{
  position:relative;
  width:min(620px,100%);
  aspect-ratio:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(3,1fr);
  align-items:center;
  justify-items:center;
  gap:10px;
  padding:34px;
}
.hero-team-orbit::before{content:"";position:absolute;inset:54px;border-radius:42px;background:linear-gradient(180deg,#ffffff 0%,#f2f8f7 100%);border:1px solid var(--line);box-shadow:var(--shadow)}
.hero-member,.hero-logo-core{position:relative;overflow:hidden;border-radius:30px;background:#fff;border:8px solid rgba(255,255,255,.96);box-shadow:0 18px 54px rgba(16,41,42,.14);z-index:2}
.hero-member{width:118px;height:118px}
.hero-member img{width:100%;height:100%;object-fit:cover;object-position:center}
.member-03 img{object-position:center 16%}
.member-featured{width:150px;height:150px;z-index:4}
.hero-logo-core{width:174px;height:174px;--base-transform:translate(0,0);transform:var(--base-transform);background:var(--brand);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:18px;border-radius:36px;z-index:3}
.hero-logo-core img{width:100px;max-width:100%;filter:brightness(0) invert(1)}
.hero-logo-core span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;line-height:1.35;margin-top:8px}
.member-01{grid-column:1;grid-row:1;--base-transform:translate(0,0)}
.member-03{grid-column:2;grid-row:1;--base-transform:translate(0,0)}
.member-02{grid-column:3;grid-row:1;--base-transform:translate(0,0)}
.member-04{grid-column:1;grid-row:2;--base-transform:translate(0,0)}
.hero-logo-core{grid-column:2;grid-row:2}
.member-05{grid-column:3;grid-row:2;--base-transform:translate(0,0)}
.member-06{grid-column:1;grid-row:3;--base-transform:translate(0,0)}
.member-07{grid-column:2;grid-row:3;--base-transform:translate(0,0)}
.member-08{grid-column:3;grid-row:3;--base-transform:translate(0,0)}
.trust-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.trust-grid div{background:#fff;padding:24px 28px}
.trust-grid strong{display:block;color:var(--ink);font-size:15px;font-weight:950}
.trust-grid span{display:block;color:#64748b;font-size:14px;margin-top:4px;font-weight:700}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center}
.section-tag{margin-bottom:16px}
.section-tag.light{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:#fff}
h2{font-size:clamp(35px,4.2vw,58px);line-height:.98;letter-spacing:-.055em;margin:0;color:var(--ink)}
.section-copy p,.section-center p,.process-grid p,.faq-grid p,.contact-info p{font-size:18px;color:#526171;line-height:1.75;margin:20px 0 0}
.section-center{text-align:center;max-width:760px;margin:0 auto 46px}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.values-grid article{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:0 14px 40px rgba(16,41,42,.05)}
.values-grid span{display:inline-flex;width:44px;height:44px;border-radius:999px;align-items:center;justify-content:center;background:var(--mint);color:var(--brand);font-weight:950;margin-bottom:18px}
.values-grid h3,.service-card h3,.team-card h3{margin:0;color:var(--ink);font-size:20px;letter-spacing:-.025em}
.values-grid p,.service-card p{font-size:15px;color:#64748b;line-height:1.65;margin:10px 0 0}
.section-tint{background:linear-gradient(180deg,#f4faf9 0%,#fff 100%)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px 24px;text-align:center;box-shadow:0 18px 55px rgba(16,41,42,.06);min-height:260px;transition:.25s ease}
.service-card:hover{transform:translateY(-5px);box-shadow:0 26px 70px rgba(16,41,42,.11)}
.icon{width:74px;height:74px;margin:0 auto 22px;border-radius:999px;background:var(--mint);display:grid;place-items:center;font-size:34px}
.dark-section{background:radial-gradient(circle at 15% 20%,rgba(79,138,139,.5),transparent 35%),linear-gradient(135deg,var(--ink) 0%,#061616 100%);color:#fff}
.dark-section h2{color:#fff}
.dark-section p{color:#d7e2e0}
.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.process-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.process-steps div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:24px;min-height:180px}
.process-steps span{display:flex;width:42px;height:42px;border-radius:999px;background:#fff;color:var(--brand);align-items:center;justify-content:center;font-weight:950;margin-bottom:18px}
.process-steps p{font-size:16px;margin:0;color:#ecf4f3;font-weight:750;line-height:1.65}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team-card{background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:0 18px 55px rgba(16,41,42,.06);transition:.25s ease}
.team-card:hover{transform:translateY(-5px);box-shadow:0 28px 76px rgba(16,41,42,.12)}
.team-card img{width:100%;height:300px;object-fit:cover;object-position:center 18%;background:var(--mint)}
.team-card:nth-child(2) img{object-position:center 12%}
.team-card:nth-child(6) img{object-position:center 16%}
.team-card:nth-child(7) img{object-position:center 12%}
.team-card:nth-child(8) img{object-position:center 14%}

.team-card > div{padding:14px 16px 16px}
.team-card p{margin:1px 0 6px;color:var(--brand);font-weight:950}
.team-card small{display:block;color:#64748b;font-size:12.5px;line-height:1.35;font-weight:650}
.team-schedule{margin-top:8px;font-size:12.5px;line-height:1.4;color:var(--ink);background:rgba(47,105,107,.08);border:1px solid rgba(47,105,107,.18);border-radius:10px;padding:6px 10px;font-weight:700}
.team-schedule strong{color:var(--brand);font-weight:900}
.team-card .team-contact{padding:0;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr;gap:6px}
.team-card .team-phone{display:block;font-size:13px;font-weight:900;color:var(--ink);margin:0;line-height:1.2}
.team-card .team-actions-row{padding:0;display:flex;gap:7px;flex-wrap:wrap}
.team-card .btn-team{padding:7px 10px;font-size:12px;box-shadow:none;min-height:32px;flex:1 1 auto}
.space-grid{display:grid;grid-template-columns:1.25fr .8fr;grid-auto-rows:280px;gap:22px}
.space-card{position:relative;overflow:hidden;border-radius:32px;border:1px solid var(--line);box-shadow:0 20px 70px rgba(16,41,42,.09);background:#fff}
.space-card-large{grid-row:span 2}
.space-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.space-card:hover img{transform:scale(1.035)}
.space-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(16,41,42,.78) 100%)}
.space-card div{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;color:#fff}
.space-card strong{display:block;font-size:20px;font-weight:950;letter-spacing:-.03em}
.space-card span{display:block;margin-top:4px;color:#e8f2f0;font-size:14px;font-weight:700;line-height:1.45}
.contact-photo-card{min-height:430px;border-radius:30px;overflow:hidden;position:relative;border:1px solid var(--line);background:var(--mint)}
.contact-photo-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.96)}
.contact-photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(16,41,42,.62) 100%)}
.contact-photo-card .map-label{z-index:2;left:34px;top:auto;bottom:34px;min-width:260px}
.team-card:nth-child(1) img{object-position:center 15%}
.team-card:nth-child(3) img{object-position:center 13%}
.team-card:nth-child(4) img{object-position:center 16%}
.team-card:nth-child(5) img{object-position:center 12%}
.team-card:nth-child(6) img{object-position:center 22%}

.hero-copy .lead{max-width:620px}

.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:flex-start}
.faq-list{display:grid;gap:14px}
details{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px 22px;box-shadow:0 12px 36px rgba(16,41,42,.04)}
summary{cursor:pointer;font-weight:950;color:var(--ink);font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:18px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";font-size:24px;line-height:1;color:var(--brand)}
details[open] summary:after{content:"–"}
details p{margin:12px 0 0;color:#64748b;font-size:15px;line-height:1.7}
.contact-section{padding-top:0}
.contact-card{display:grid;grid-template-columns:.92fr 1.08fr;gap:22px;background:#fff;border:1px solid var(--line);border-radius:38px;padding:28px;box-shadow:var(--shadow)}
.contact-info{padding:26px 18px 26px 22px}
.contact-list{display:grid;gap:12px;margin-top:28px}
.contact-list a{display:block;border:1px solid var(--line);border-radius:22px;padding:16px 18px;background:#fbfefd;transition:.2s ease}
.contact-list a:hover{transform:translateY(-2px);border-color:rgba(47,105,107,.32)}
.contact-list strong{display:block;color:var(--ink);font-weight:950}
.contact-list span{display:block;color:#64748b;margin-top:3px;font-size:14px;font-weight:700}
.map-card{min-height:430px;border-radius:30px;overflow:hidden;background:
  linear-gradient(90deg,rgba(47,105,107,.09) 1px,transparent 1px),
  linear-gradient(0deg,rgba(47,105,107,.09) 1px,transparent 1px),
  radial-gradient(circle at 62% 43%,rgba(47,105,107,.23),transparent 18%),
  #f4faf9;background-size:58px 58px,58px 58px,100% 100%,100% 100%;position:relative;border:1px solid var(--line)}
.map-pin{position:absolute;left:55%;top:42%;width:44px;height:44px;background:var(--brand);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 12px 38px rgba(47,105,107,.3)}
.map-pin:after{content:"";position:absolute;inset:12px;background:#fff;border-radius:999px}
.map-label{position:absolute;left:calc(55% + 40px);top:calc(42% + 2px);background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:0 12px 36px rgba(16,41,42,.1);min-width:230px}
.map-label strong,.map-label span{display:block}.map-label span{color:#64748b;font-size:13px;margin-top:2px;font-weight:700}
.float-whatsapp{position:fixed;right:22px;bottom:22px;z-index:60;background:var(--brand);color:#fff;border-radius:999px;padding:14px 18px;font-weight:950;box-shadow:0 18px 48px rgba(47,105,107,.32)}
.site-footer{background:var(--ink);color:#d8e5e3;padding:58px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .9fr;gap:44px}
.footer-grid img{width:168px;filter:brightness(0) invert(1);opacity:.94;margin-bottom:16px}
.footer-grid p{max-width:390px;color:#d8e5e3;line-height:1.7;margin:0}
.footer-grid h3{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.16em;margin:0 0 14px}
.footer-grid a,.footer-grid span{display:block;color:#d8e5e3;margin:8px 0;font-weight:700;font-size:14px}
.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:20px;color:#bfd2d0;font-size:13px}

.hero-member,.hero-logo-core{will-change:transform}
.hero-member{--base-transform:translate(0,0);transform:var(--base-transform);animation:floatCard 6.8s ease-in-out infinite}
.member-01{animation-delay:0s}
.member-02{animation-delay:.4s}
.member-03{animation-delay:.8s}
.member-04{animation-delay:1.2s}
.member-05{animation-delay:1.6s}
.member-06{animation-delay:2s}
.member-07{animation-delay:2.4s}
.hero-logo-core{animation:pulseLogo 5.4s ease-in-out infinite}
.space-card img{animation:kenBurns 16s ease-in-out infinite alternate;transform-origin:center center}
.space-card:nth-child(2) img{animation-duration:18s;animation-delay:1.2s}
.space-card:nth-child(3) img{animation-duration:17s;animation-delay:.6s}
.space-card::before{content:"";position:absolute;inset:-20%;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);transform:translateX(-120%) rotate(8deg);animation:shineSweep 9s ease-in-out infinite;z-index:1;pointer-events:none}
.space-card div{z-index:2}

.hero-team-orbit::after{content:"";position:absolute;inset:118px;border-radius:999px;border:1px dashed rgba(47,105,107,.22);animation:orbitBreath 7.5s ease-in-out infinite;pointer-events:none}
.hero-logo-core::after{content:"";position:absolute;inset:-9px;border-radius:inherit;border:1px solid rgba(47,105,107,.18);animation:ringPulse 4.8s ease-in-out infinite;pointer-events:none}
@keyframes orbitBreath{
  0%,100%{transform:scale(.98);opacity:.55}
  50%{transform:scale(1.04);opacity:.95}
}
@keyframes ringPulse{
  0%,100%{transform:scale(.96);opacity:.32}
  50%{transform:scale(1.08);opacity:.85}
}
@keyframes floatCard{
  0%,100%{transform:var(--base-transform) translateY(0) scale(1)}
  50%{transform:var(--base-transform) translateY(-8px) scale(1.015)}
}
@keyframes pulseLogo{
  0%,100%{transform:var(--base-transform) scale(1)}
  50%{transform:var(--base-transform) scale(1.04)}
}
@keyframes kenBurns{
  0%{transform:scale(1) translate3d(0,0,0)}
  100%{transform:scale(1.08) translate3d(0,-6px,0)}
}
@keyframes shineSweep{
  0%,70%,100%{transform:translateX(-120%) rotate(8deg)}
  35%{transform:translateX(120%) rotate(8deg)}
}
@media (prefers-reduced-motion: reduce){
  .hero-member,.hero-logo-core,.hero-team-orbit::after,.hero-logo-core::after,.space-card img,.space-card::before,.reveal{animation:none !important;transition:none !important}
}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}.delay-3{transition-delay:.32s}
@media (max-width: 980px){
  .nav-cta{display:none}.menu-toggle{display:flex}.main-nav{position:absolute;top:78px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:flex-start;gap:14px}.main-nav.open{display:flex}
  .hero-grid,.split,.process-grid,.faq-grid,.contact-card,.space-grid{grid-template-columns:1fr}.hero-visual{min-height:520px}.service-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr}.trust-grid div{padding:20px}.contact-card{padding:18px}.map-card,.contact-photo-card{min-height:320px}.map-label{left:34px;right:34px;top:auto;bottom:34px;min-width:0}.map-pin{left:50%;top:38%}
}
@media (max-width: 680px){
  .container{width:min(100% - 28px,1180px)}.brand{min-height:46px}.brand img{width:auto;height:42px;max-width:190px}.nav-wrap{min-height:72px;height:auto;padding:10px 0}.main-nav{top:72px}.hero{padding:44px 0 40px}.hero h1{font-size:36px;line-height:1.06;letter-spacing:-.04em;max-width:12ch}.lead{font-size:16px;margin-top:18px}.hero-actions{margin-top:22px}.hero-actions .btn{width:100%}.hero-points{grid-template-columns:1fr;margin-top:24px}.hero-visual{min-height:430px;margin-top:8px}.hero-team-orbit{position:relative;display:block;width:min(360px,100%);height:410px;max-width:360px;margin-inline:auto}.hero-team-orbit::before{display:block;inset:38px 24px 60px;border-radius:34px}.hero-team-orbit::after{inset:78px 58px 104px}.hero-member,.hero-logo-core{position:absolute;width:72px;height:72px;aspect-ratio:auto;border-radius:21px;border-width:5px}.member-featured{width:104px;height:104px}.hero-member img{width:100%;height:100%;object-fit:cover}.hero-logo-core{width:112px;height:112px;border-radius:999px;left:50%;top:50%;--base-transform:translate(-50%,-50%);transform:var(--base-transform);padding:10px;z-index:3}.hero-logo-core img{width:60px}.hero-logo-core span{font-size:8px;letter-spacing:.08em;line-height:1.22}.member-01{left:28px;top:94px}.member-02{right:28px;top:94px}.member-03{left:50%;top:0;--base-transform:translateX(-50%);transform:var(--base-transform)}.member-04{left:0;top:50%;--base-transform:translateY(-50%);transform:var(--base-transform)}.member-05{right:0;top:50%;--base-transform:translateY(-50%);transform:var(--base-transform)}.member-06{left:52px;bottom:46px}.member-07{left:50%;bottom:0;--base-transform:translateX(-50%);transform:var(--base-transform)}.member-08{right:52px;bottom:46px}.section{padding:68px 0}.values-grid,.service-grid,.process-steps,.team-grid,.footer-grid,.space-grid{grid-template-columns:1fr}.team-card img{height:330px}.space-grid{grid-auto-rows:260px}.space-card-large{grid-row:span 1}h2{font-size:40px}.float-whatsapp{left:16px;right:16px;text-align:center}.site-footer{padding-bottom:84px}
}


/* Ajuste final: collage del equipo en grilla simétrica sin superposiciones */
@media (max-width: 680px){
  .hero-visual{min-height:370px;margin-top:10px}
  .hero-team-orbit{width:min(360px,100%);height:auto;aspect-ratio:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:6px;padding:12px;align-items:center;justify-items:center}
  .hero-team-orbit::before{display:block;inset:32px;border-radius:30px}
  .hero-team-orbit::after{inset:78px}
  .hero-member{position:relative;width:74px;height:74px;border-radius:20px;border-width:5px}
  .member-featured{width:98px;height:98px}
  .hero-logo-core{position:relative;width:110px;height:110px;border-radius:28px;left:auto;top:auto;--base-transform:translate(0,0);transform:var(--base-transform);padding:10px}
  .hero-logo-core img{width:58px}
  .hero-logo-core span{font-size:8px;letter-spacing:.075em;line-height:1.2}
  .member-01{grid-column:1;grid-row:1;left:auto;top:auto;right:auto;bottom:auto;--base-transform:translate(0,0)}
  .member-03{grid-column:2;grid-row:1;left:auto;top:auto;right:auto;bottom:auto;--base-transform:translate(0,0)}
  .member-02{grid-column:3;grid-row:1;left:auto;top:auto;right:auto;bottom:auto;--base-transform:translate(0,0)}
  .member-04{grid-column:1;grid-row:2;left:auto;top:auto;right:auto;bottom:auto;--base-transform:translate(0,0)}
  .hero-logo-core{grid-column:2;grid-row:2}
  .member-05{grid-column:3;grid-row:2;left:auto;top:auto;right:auto;bottom:auto;--base-transform:translate(0,0)}
  .member-06{grid-column:1;grid-row:3;left:auto;top:auto;right:auto;bottom:auto;--base-transform:translate(0,0)}
  .member-07{grid-column:2;grid-row:3;left:auto;top:auto;right:auto;bottom:auto;--base-transform:translate(0,0)}
  .member-08{grid-column:3;grid-row:3;left:auto;top:auto;right:auto;bottom:auto;--base-transform:translate(0,0)}
  .team-card img{height:300px}
}


/* =========================================================
   FIX DEFINITIVO HERO EQUIPO
   Se reemplaza el collage construido con muchas fotos sueltas
   por una sola imagen compuesta. Esto evita solapamientos,
   asimetrías y fallos entre celular/escritorio.
   ========================================================= */
.hero-visual{
  min-height: auto !important;
  display: grid !important;
  place-items: center !important;
}
.hero-collage-static{
  margin: 0;
  width: min(560px, 100%);
  aspect-ratio: 1 / 1;
  display: block;
  animation: heroCollageFloat 8s ease-in-out infinite;
}
.hero-collage-static img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 22px 50px rgba(16,41,42,.10));
}
@keyframes heroCollageFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

/* Fichas de profesionales más compactas */
.team-grid{
  align-items: stretch;
}
.team-card img{
  height: 320px;
}
.team-card div{
  padding: 16px 18px 18px;
}
.team-card h3{
  font-size: 18px;
}
.team-card p{
  margin: 2px 0 6px;
  font-size: 14px;
}
.team-card small{
  font-size: 13px;
  line-height: 1.45;
}
.team-contact{
  margin-top: 10px;
  padding-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.team-phone{
  margin: 0;
  font-size: 13px;
  font-weight: 900;
  color: var(--ink);
}
.team-actions-row{
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.btn-team{
  padding: 8px 11px;
  font-size: 12px;
  line-height: 1;
  min-height: 32px;
  box-shadow: none;
}

@media (max-width: 980px){
  .hero-collage-static{
    width: min(520px, 100%);
  }
  .team-card img{
    height: 310px;
  }
}

@media (max-width: 680px){
  .hero-visual{
    min-height: auto !important;
    margin-top: 22px !important;
  }
  .hero-collage-static{
    width: min(360px, 100%);
  }
  .team-card img{
    height: 300px !important;
  }
  .team-contact{
    align-items: stretch;
  }
  .team-actions-row{
    width: 100%;
  }
  .team-actions-row .btn{
    flex: 1 1 auto;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-collage-static{
    animation: none !important;
  }
}

/* Fichas de profesionales más compactas y ordenadas */
.team-card img{height:300px !important}
.team-card div{padding:14px 16px 16px !important}
.team-card h3{font-size:18px !important;line-height:1.1}
.team-card p{margin:2px 0 6px !important;font-size:14px}
.team-card small{font-size:13px;line-height:1.42}
.team-contact{
  margin-top:9px !important;
  padding-top:9px !important;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.team-phone{font-size:13px !important;font-weight:900;margin:0 !important;color:var(--ink)}
.team-actions-row{display:flex;gap:6px;flex-wrap:wrap}
.btn-team{padding:8px 11px !important;font-size:12px !important;line-height:1;min-height:31px;box-shadow:none}
@media (max-width:680px){
  .team-card img{height:290px !important}
  .team-actions-row{width:100%}
  .team-actions-row .btn{flex:1 1 auto}
}


/* =========================================================
   HERO EQUIPO - MATRIZ ESTABLE 3 FILAS
   Francisca tiene protagonismo moderado, sin agrandar en exceso.
   No usa posiciones absolutas ni superposiciones.
   ========================================================= */
.hero-visual{
  min-height:auto !important;
  display:grid !important;
  place-items:center !important;
}
.kfix-balanced-panel{
  width:min(590px,100%);
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(241,249,247,.96));
  border:1px solid rgba(47,105,107,.16);
  border-radius:38px;
  padding:22px;
  box-shadow:0 24px 80px rgba(16,41,42,.12);
  position:relative;
  overflow:hidden;
  animation:kfixPanelFloat 8s ease-in-out infinite;
}
.kfix-balanced-panel::before{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:30px;
  border:1px dashed rgba(47,105,107,.16);
  pointer-events:none;
}
.kfix-team-matrix{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:auto auto auto;
  gap:14px;
  align-items:center;
  justify-items:center;
}
.kfix-person{
  width:100%;
  margin:0;
  text-align:center;
}
.kfix-person img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
  border-radius:22px;
  border:6px solid #fff;
  background:#fff;
  box-shadow:0 14px 34px rgba(16,41,42,.12);
  transition:transform .35s ease, box-shadow .35s ease;
}
.kfix-person:hover img{
  transform:translateY(-3px) scale(1.025);
  box-shadow:0 18px 44px rgba(16,41,42,.16);
}
.kfix-person span{
  display:block;
  margin-top:6px;
  font-size:12px;
  font-weight:900;
  color:#244e50;
  line-height:1.08;
}
.kfix-feature-person{
  transform:scale(1.12);
  z-index:3;
  animation:kfixFranciscaSoft 7s ease-in-out infinite;
}
.kfix-feature-person img{
  object-position:center 16%;
  border-color:#fff;
  box-shadow:0 20px 54px rgba(47,105,107,.18);
}
.kfix-feature-person span{
  font-size:13px;
  color:var(--ink);
}
.kfix-feature-person small{
  display:block;
  margin-top:1px;
  font-size:10px;
  font-weight:900;
  color:var(--brand);
}
.kfix-logo-center{
  width:100%;
  aspect-ratio:1/1;
  margin:0;
  border-radius:28px;
  background:#2f696b;
  color:#fff;
  padding:14px;
  text-align:center;
  box-shadow:0 18px 48px rgba(47,105,107,.20);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.kfix-logo-center img{
  width:min(130px,82%);
  margin:0 auto;
  filter:brightness(0) invert(1);
}
.kfix-logo-center span{
  display:block;
  margin-top:6px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  line-height:1.25;
  text-transform:uppercase;
}
.kfix-p7 img{object-position:center 25%}
.kfix-p8 img{object-position:center 18%}

@keyframes kfixPanelFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes kfixFranciscaSoft{0%,100%{transform:scale(1.12) translateY(0)}50%{transform:scale(1.12) translateY(-4px)}}

/* Contacto: imagen completa, sin recortes del collage anterior */
.contact-photo-card{
  background:#eef8f6 !important;
}
.contact-photo-card img{
  object-fit:contain !important;
  object-position:center !important;
  padding:14px;
  background:#eef8f6;
}
.contact-photo-card::before{
  display:none !important;
}
.contact-photo-card .map-label{
  z-index:2;
}

@media (max-width:980px){
  .kfix-balanced-panel{
    width:min(520px,100%);
  }
}
@media (max-width:680px){
  .hero-visual{
    margin-top:22px !important;
  }
  .kfix-balanced-panel{
    width:min(360px,100%);
    padding:16px;
    border-radius:30px;
  }
  .kfix-team-matrix{
    gap:9px;
  }
  .kfix-person img{
    border-width:4px;
    border-radius:18px;
  }
  .kfix-person span{
    font-size:10px;
    margin-top:5px;
  }
  .kfix-feature-person{
    transform:scale(1.08);
  }
  .kfix-feature-person span{
    font-size:11px;
  }
  .kfix-feature-person small{
    font-size:9px;
  }
  .kfix-logo-center{
    border-radius:22px;
    padding:10px;
  }
  .kfix-logo-center img{
    width:min(88px,80%);
  }
  .kfix-logo-center span{
    font-size:7px;
    letter-spacing:.08em;
  }
  @keyframes kfixFranciscaSoft{0%,100%{transform:scale(1.08) translateY(0)}50%{transform:scale(1.08) translateY(-3px)}}
  .contact-photo-card img{
    padding:8px;
  }
}
@media (prefers-reduced-motion:reduce){
  .kfix-balanced-panel,
  .kfix-feature-person{
    animation:none !important;
  }
  .kfix-person img{
    transition:none !important;
  }
}


/* =========================================================
   AJUSTE FINAL: COLLAGE CONTACTO + ANIMACIÓN MÁS VISIBLE
   ========================================================= */

/* Mejor centrado de rostros en la matriz */
.kfix-p6 img,
.kfix-person:has(img[alt*="Anselmo"]) img{
  object-position:center 34% !important;
}
.kfix-p7 img,
.kfix-person:has(img[alt*="Gonzalo"]) img{
  object-position:center 34% !important;
}

/* Animación más evidente pero aún profesional */
.kfix-balanced-panel{
  animation:kfixPanelFloatMore 6.5s ease-in-out infinite !important;
}
.kfix-person{
  animation:kfixTileFloat 5.5s ease-in-out infinite;
  will-change:transform;
}
.kfix-p1{animation-delay:0s}
.kfix-p2{animation-delay:.25s}
.kfix-p3{animation-delay:.5s}
.kfix-p4{animation-delay:.75s}
.kfix-p5{animation-delay:1s}
.kfix-p6{animation-delay:1.25s}
.kfix-p7{animation-delay:1.5s}
.kfix-p8{animation-delay:1.75s}
.kfix-logo-center{
  animation:kfixLogoPulse 5s ease-in-out infinite;
}
.kfix-feature-person{
  animation:kfixFranciscaFloatMore 5.8s ease-in-out infinite !important;
}
@keyframes kfixPanelFloatMore{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-10px)}
}
@keyframes kfixTileFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-6px) scale(1.018)}
}
@keyframes kfixLogoPulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.035)}
}
@keyframes kfixFranciscaFloatMore{
  0%,100%{transform:scale(1.10) translateY(0)}
  50%{transform:scale(1.10) translateY(-7px)}
}

/* Contacto: collage estático completo, con ligero brillo */
.contact-photo-card{
  background:#eef8f6 !important;
}
.contact-photo-card img{
  object-fit:contain !important;
  object-position:center !important;
  padding:10px !important;
  background:#eef8f6 !important;
}
.contact-photo-card::before{
  display:block !important;
  content:"";
  position:absolute;
  inset:-30%;
  background:linear-gradient(120deg,transparent 34%,rgba(255,255,255,.16) 50%,transparent 66%);
  transform:translateX(-120%) rotate(8deg);
  animation:kfixContactShine 8s ease-in-out infinite;
  z-index:1;
  pointer-events:none;
}
.contact-photo-card .map-label{
  z-index:2;
}
@keyframes kfixContactShine{
  0%,72%,100%{transform:translateX(-120%) rotate(8deg)}
  36%{transform:translateX(120%) rotate(8deg)}
}

@media (max-width:680px){
  .kfix-person{
    animation:kfixTileFloatMobile 5.5s ease-in-out infinite;
  }
  @keyframes kfixTileFloatMobile{
    0%,100%{transform:translateY(0) scale(1)}
    50%{transform:translateY(-4px) scale(1.012)}
  }
  @keyframes kfixFranciscaFloatMore{
    0%,100%{transform:scale(1.07) translateY(0)}
    50%{transform:scale(1.07) translateY(-5px)}
  }
  .contact-photo-card img{
    padding:6px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .kfix-balanced-panel,
  .kfix-person,
  .kfix-logo-center,
  .kfix-feature-person,
  .contact-photo-card::before{
    animation:none !important;
  }
}


/* =========================================================
   CONTACTO: COLLAGE + GOOGLE MAPS
   Mantiene el collage principal y agrega mapa debajo en una tarjeta propia.
   ========================================================= */
.contact-media-column{
  display:grid;
  gap:16px;
  align-content:start;
}
.contact-media-column .contact-photo-card{
  min-height:430px;
}
.google-map-card{
  position:relative;
  min-height:260px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#eef8f6;
  box-shadow:0 18px 55px rgba(16,41,42,.08);
}
.google-map-card iframe{
  width:100%;
  height:100%;
  min-height:260px;
  border:0;
  display:block;
  filter:saturate(.92) contrast(.98);
}
.map-open-link{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  background:rgba(47,105,107,.94);
  color:#fff;
  font-size:13px;
  font-weight:950;
  box-shadow:0 14px 34px rgba(16,41,42,.20);
  backdrop-filter:blur(10px);
}
.map-open-link:hover{
  background:#24595b;
  transform:translateY(-1px);
}
@media (max-width:980px){
  .contact-media-column .contact-photo-card{
    min-height:340px;
  }
  .google-map-card,
  .google-map-card iframe{
    min-height:260px;
  }
}
@media (max-width:680px){
  .contact-media-column{
    gap:12px;
  }
  .contact-media-column .contact-photo-card{
    min-height:300px;
  }
  .google-map-card,
  .google-map-card iframe{
    min-height:240px;
  }
  .map-open-link{
    left:14px;
    right:14px;
    bottom:12px;
    padding:11px 14px;
    font-size:12px;
  }
}


/* =========================================================
   AJUSTE ROLES HERO + FRANCISCA 10% MÁS DESTACADA
   ========================================================= */
.kfix-person small{
  display:block;
  margin-top:2px;
  font-size:9.5px;
  font-weight:900;
  color:var(--brand);
  line-height:1.05;
}
.kfix-feature-person{
  transform:scale(1.20) !important;
  z-index:5 !important;
}
.kfix-feature-person span{
  font-weight:950;
}
.kfix-feature-person small{
  font-size:10px;
  color:var(--brand);
}
@keyframes kfixFranciscaFloatMore{
  0%,100%{transform:scale(1.20) translateY(0)}
  50%{transform:scale(1.20) translateY(-7px)}
}
@keyframes kfixFranciscaSoft{
  0%,100%{transform:scale(1.20) translateY(0)}
  50%{transform:scale(1.20) translateY(-5px)}
}
@media (max-width:680px){
  .kfix-person small{
    font-size:8px;
    margin-top:1px;
  }
  .kfix-feature-person{
    transform:scale(1.14) !important;
  }
  .kfix-feature-person small{
    font-size:8.5px;
  }
  @keyframes kfixFranciscaFloatMore{
    0%,100%{transform:scale(1.14) translateY(0)}
    50%{transform:scale(1.14) translateY(-5px)}
  }
  @keyframes kfixFranciscaSoft{
    0%,100%{transform:scale(1.14) translateY(0)}
    50%{transform:scale(1.14) translateY(-4px)}
  }
}


/* =========================================================
   ROLES PEQUEÑOS EN TODOS LOS INTEGRANTES DEL HERO
   ========================================================= */
.kfix-person small{
  display:block;
  margin-top:2px;
  font-size:9px;
  font-weight:900;
  color:var(--brand);
  line-height:1.05;
}
.kfix-feature-person small{
  font-size:10px;
}
@media (max-width:680px){
  .kfix-person small{
    font-size:7.5px;
    margin-top:1px;
    line-height:1.02;
  }
  .kfix-feature-person small{
    font-size:8.5px;
  }
}

/* =========================================================
   LINKS EN MATRIZ SUPERIOR
   Foto, nombre y profesión llevan al perfil inferior.
   WhatsApp queda como botón pequeño independiente.
   ========================================================= */
.kfix-person{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.kfix-person-link,
.kfix-info-link,
.kfix-photo-link{
  display:block;
  color:inherit;
  text-decoration:none;
  width:100%;
}
.kfix-person-link span{display:block;}
.kfix-person-link small{
  display:block !important;
  margin-top:2px;
}
.kfix-wa-button{
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(47,105,107,.10);
  color:var(--brand);
  font-size:10px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  border:1px solid rgba(47,105,107,.12);
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.kfix-wa-button:hover{
  background:var(--brand);
  color:#fff;
  transform:translateY(-1px);
}
.kfix-wa-icon{
  width:.95em;
  height:.95em;
  min-width:.95em;
  flex:0 0 .95em;
  display:inline-block;
  vertical-align:middle;
  background-image:url("assets/whatsapp-mini.svg");
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}
.kfix-person-link:hover img,
.kfix-photo-link:hover img{
  transform:translateY(-3px) scale(1.035);
  box-shadow:0 20px 48px rgba(16,41,42,.18);
}
.kfix-person-link:hover span,
.kfix-person-link:hover small{
  color:var(--brand);
}
@media(max-width:680px){
  .kfix-wa-button{
    margin-top:5px;
    padding:4px 8px;
    font-size:9px;
    gap:4px;
  }
}

/* ===== v2: mejoras de diseño y accesibilidad ===== */
html{scroll-padding-top:96px}
:focus-visible{outline:3px solid var(--brand-2);outline-offset:2px;border-radius:6px}
.site-header{transition:box-shadow .25s ease}
.site-header.scrolled{box-shadow:0 10px 30px rgba(16,41,42,.08)}
.main-nav a.active{opacity:1;color:var(--brand)}
.main-nav a.active:after{transform:scaleX(1)}
.service-card .icon{transition:transform .25s ease}
.service-card:hover .icon{transform:scale(1.08) rotate(-3deg)}
.team-card img{transition:transform .35s ease}
.team-card:hover img{transform:scale(1.03)}
.back-top{position:fixed;right:24px;bottom:96px;width:46px;height:46px;border-radius:999px;background:#fff;color:var(--brand);border:1px solid var(--line);box-shadow:0 14px 40px rgba(16,41,42,.16);display:grid;place-items:center;font-size:20px;font-weight:900;opacity:0;pointer-events:none;transform:translateY(8px);transition:.25s ease;z-index:60}
.back-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .reveal{opacity:1 !important;transform:none !important}
}

/* =========================================================
   V3: TEMA VISUAL RENOVADO
   Tipografía display Sora, acento cálido, gradientes de marca,
   texturas sutiles y micro-interacciones consistentes.
   ========================================================= */
:root{
  --accent:#d98e5f;
  --brand-grad:linear-gradient(135deg,#2f696b 0%,#3d7f81 55%,#4f8a8b 100%);
}
::selection{background:rgba(47,105,107,.22)}

/* Tipografía display para titulares */
h1,h2,h3,.hero-points strong,summary,.footer-grid h3{
  font-family:Sora,Inter,ui-sans-serif,system-ui,sans-serif;
}
h2{letter-spacing:-.04em;line-height:1.05}
.hero h1{letter-spacing:-.045em;font-weight:600}
.hero h1 span{
  font-weight:700;
  background:linear-gradient(92deg,#2f696b 0%,#4f8a8b 55%,#7fbdba 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* Hero con textura de puntos sutil */
.section-soft{
  background:
    radial-gradient(rgba(47,105,107,.07) 1.2px,transparent 1.2px),
    linear-gradient(180deg,#ffffff 0%,#f1f9f7 100%);
  background-size:26px 26px,100% 100%;
}

/* Etiquetas con punto de acento cálido */
.eyebrow::before,.section-tag::before{
  content:"";
  width:7px;height:7px;min-width:7px;border-radius:99px;
  background:var(--accent);
  box-shadow:0 0 0 3px rgba(217,142,95,.16);
}
.section-tag.light::before{background:#f0c9ae;box-shadow:0 0 0 3px rgba(240,201,174,.18)}

/* Botones con gradiente de marca */
.btn-primary{background:var(--brand-grad)}
.btn-primary:hover{background:linear-gradient(135deg,#24595b 0%,#2f696b 100%)}

/* Tarjetas de servicios: línea de acento superior + iconos SVG */
.service-card{position:relative;overflow:hidden}
.service-card::after{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:var(--brand-grad);
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
}
.service-card:hover::after{transform:scaleX(1)}
.icon{background:linear-gradient(135deg,#e8f5f2 0%,#d8ece8 100%);color:var(--brand)}
.icon svg{width:32px;height:32px;display:block}

/* Valores: número con gradiente y hover */
.values-grid span{background:var(--brand-grad);color:#fff}
.values-grid article{transition:transform .25s ease,box-shadow .25s ease}
.values-grid article:hover{transform:translateY(-4px);box-shadow:0 22px 60px rgba(16,41,42,.10)}

/* Franja de confianza */
.trust-grid strong{color:var(--brand)}

/* Ficha de horario más elegante */
.team-schedule{
  background:linear-gradient(135deg,rgba(47,105,107,.09),rgba(79,138,139,.06));
  border:1px solid rgba(47,105,107,.14);
  border-left:3px solid var(--brand);
  border-radius:8px 12px 12px 8px;
}

/* FAQ con estados más claros */
details{transition:border-color .25s ease,box-shadow .25s ease}
details:hover{border-color:rgba(47,105,107,.35)}
details[open]{border-color:rgba(47,105,107,.40);box-shadow:0 16px 44px rgba(16,41,42,.08)}

/* Lista de contacto */
.contact-list a:hover{background:#f4fbf9}

/* Footer renovado */
.site-footer{
  background:linear-gradient(165deg,#123233 0%,#081b1c 100%);
  border-radius:36px 36px 0 0;
  margin-top:12px;
}

/* Botón volver arriba con gradiente */
.back-top{background:var(--brand-grad);color:#fff;border:0}

/* Rendimiento: render diferido de secciones bajo el pliegue */
#espacio,#faq{content-visibility:auto;contain-intrinsic-size:auto 900px}

/* Chips compactos del hero (reemplazan las 3 cajas grandes) */
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;max-width:680px}
.hero-chip{
  display:inline-flex;align-items:center;gap:9px;
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:9px 16px;font-size:13.5px;font-weight:750;color:#475569;
  box-shadow:0 10px 26px rgba(16,41,42,.06);
  animation:chipFloat 5.5s ease-in-out infinite;
}
.hero-chip::before{
  content:"";width:8px;height:8px;min-width:8px;border-radius:99px;
  background:var(--brand-grad);
  box-shadow:0 0 0 3px rgba(47,105,107,.12);
}
.hero-chip strong{color:var(--brand);font-weight:900}
.hero-chip:nth-child(2){animation-delay:.6s}
.hero-chip:nth-child(3){animation-delay:1.2s}
@keyframes chipFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@media (max-width:680px){
  .hero-chips{gap:8px;margin-top:20px}
  .hero-chip{flex:1 1 auto;justify-content:center;padding:8px 12px;font-size:12.5px}
}

@media (max-width:680px){
  .site-footer{border-radius:24px 24px 0 0}
}

/* Fix móvil/tablet: fotos del equipo con proporción vertical,
   sin recortar los rostros (Gonzalo, Anselmo, etc.) */
@media (max-width:980px){
  .team-card img{
    height:auto !important;
    aspect-ratio:1/1;
    object-fit:cover;
    object-position:center 18% !important;
  }
}

/* Credencial de especialista en fichas del equipo */
.team-cred{
  display:inline-block;
  margin-top:7px;
  padding:5px 10px;
  font-size:11px;
  font-weight:900;
  line-height:1.35;
  color:#8a5230;
  background:rgba(217,142,95,.13);
  border:1px solid rgba(217,142,95,.28);
  border-radius:10px;
}

/* Reorden: Francisca primero — reasignar encuadres por posición (solo escritorio) */
@media (min-width:981px){
  .team-card:nth-child(1) img{object-position:center 13% !important}
  .team-card:nth-child(2) img{object-position:center 15% !important}
  .team-card:nth-child(3) img{object-position:center 12% !important}
}
