
:root{
  --blue:#81cedf;
  --blue-soft:#a8d4dd;
  --blue-strip:#88a9b5;
  --rose-strip:#cbb5b0;
  --tint:#f5f8fa;
  --ink:#323844;
  --muted:#69737d;
  --line:#e6ecef;
  --white:#ffffff;
  --shadow:0 12px 34px rgba(31,49,57,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{max-width:1180px;width:calc(100% - 38px);margin:auto}
.eyebrow{display:inline-block;font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:700;color:#4a9bb0}
.section{padding:84px 0}
.section h2{font-size:clamp(30px,3.6vw,47px);line-height:1.15;letter-spacing:-1px;margin:12px 0 20px}
.intro{max-width:780px;font-size:18px;color:var(--muted)}
.text-muted{color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;border:0;font-weight:700}
.button-primary{background:var(--blue);color:#193038}
.button-primary:hover{background:#bceef6}
.button-secondary{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35)}
.button-secondary:hover{background:rgba(255,255,255,.23)}
.button-dark{background:#28363d;color:#fff}
.button-dark:hover{background:#1e2a30}

/* hero */
.hero{position:relative;min-height:760px;background:url('../img/gatos-portada.webp') center center/cover no-repeat;color:#fff}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,23,27,.76) 0%,rgba(14,25,30,.58) 26%,rgba(14,25,30,.24) 48%,rgba(14,25,30,.10) 100%)}
.hero-shell{position:relative;z-index:1;min-height:760px;display:flex;flex-direction:column;padding:26px 0 90px}
.hero-header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:start;gap:18px}
.hero-brand{display:inline-flex;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 12px 30px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.7)}
.hero-brand img{width:230px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.14))}
.menu-toggle{display:none;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.8);border-radius:12px;padding:10px 14px;color:#203137;font-weight:700}
#nav{display:flex;justify-content:center;align-items:center;gap:22px;padding-top:12px;font-size:14px;font-weight:700}
#nav a{text-shadow:0 1px 8px rgba(0,0,0,.24)}
#nav a:hover{color:#d7f6fb}
.nav-cta{background:rgba(129,206,223,.97);color:#193038!important;padding:12px 18px;border-radius:999px;text-shadow:none!important;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.nav-cta:hover{background:#bceef6!important}
.social-links{display:flex;gap:10px;padding-top:6px}
.social-links a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.88);color:#22343a;font-weight:700;box-shadow:0 10px 22px rgba(0,0,0,.10)}
.hero-content{max-width:660px;margin-top:auto;padding-top:55px}
.hero .eyebrow{color:#d5f4f8}
.hero h1{font-size:clamp(43px,5vw,72px);line-height:1.06;letter-spacing:-1.8px;margin:18px 0 22px;text-shadow:0 2px 14px rgba(0,0,0,.18)}
.hero p{font-size:19px;max-width:580px;color:#f5f8f8;text-shadow:0 2px 12px rgba(0,0,0,.18)}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}

.cards.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.feature-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow);height:100%}
.feature-card h3{margin:6px 0 10px;font-size:25px;line-height:1.2}
.feature-card p{margin:0;color:var(--muted)}
.card-number{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#ebf7fa;color:#4a9bb0;font-weight:700;font-size:20px}
.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:700;color:#356d7c}
.card-link:hover{text-decoration:underline}

.tint{background:var(--tint)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.split p{font-size:17px;color:var(--muted)}
.align-start{align-items:start}

/* collaboration cards */
.collab-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid #ececec;background:#fff;box-shadow:var(--shadow);margin-top:34px;align-items:stretch}
.collab-card{display:flex;flex-direction:column;min-height:100%;min-width:0;border-right:1px solid #ececec;background:#fff}
.collab-card:last-child{border-right:0}
.collab-body{padding:28px 22px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;flex:1;min-width:0}
.collab-image{width:clamp(140px,14vw,190px);height:clamp(140px,14vw,190px);border-radius:50%;overflow:hidden;background:#efefef;flex:0 0 auto}
.collab-image img{width:100%;height:100%;object-fit:cover}
.collab-body h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(26px,2.1vw,32px);line-height:1.18;font-weight:500;color:#2d3d53;margin:8px 0 2px;max-width:100%;overflow-wrap:anywhere}
.collab-body p{font-size:clamp(15px,1.2vw,17px);line-height:1.6;color:#8a8f98;margin:0;max-width:26ch}
.collab-footer{margin-top:auto;background:var(--rose-strip);color:#fff;text-transform:uppercase;letter-spacing:5px;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:28px 18px;min-height:102px;text-align:center}
.collab-card:nth-child(even) .collab-footer{background:var(--blue-strip)}
.collab-card:hover .collab-footer{filter:brightness(1.04)}

.form-panel{border:1px solid var(--line);border-radius:20px;padding:32px;background:#fff;box-shadow:var(--shadow)}
.form-panel h3{font-size:28px;margin:0 0 8px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form label{display:block;font-size:14px;font-weight:700;margin-top:14px}
input:not([type=checkbox]){display:block;width:100%;height:44px;padding:10px 12px;border:1px solid #cadbdd;border-radius:10px;margin-top:7px;background:#f7f9fa}
fieldset{border:0;padding:0;margin:22px 0}
legend{font-weight:700;margin-bottom:10px}
fieldset label{font-weight:400;margin:8px 0}
.privacy{font-size:13px;color:#7b8690}
button:disabled{opacity:.82;cursor:not-allowed}

/* subpages */
.page-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line)}
.page-header .wrap{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.page-header .brand img{width:195px}
.page-header nav{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:700;color:#394852}
.page-header nav a:hover{color:#3f8fa1}
.page-hero{padding:56px 0;background:linear-gradient(180deg,#edf8fa 0%,#fff 100%);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(34px,4vw,56px);line-height:1.12;letter-spacing:-1.3px;margin:12px 0 14px}
.page-hero p{max-width:820px;font-size:18px;color:var(--muted)}
.breadcrumbs{font-size:14px;color:#6c7b84}
.content-page{padding:70px 0}
.content-page h2{font-size:32px;margin:0 0 16px}
.content-page h3{font-size:23px;margin:30px 0 12px}
.content-page p,.content-page li{font-size:17px;color:var(--muted)}
.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.content-card{border:1px solid var(--line);border-radius:18px;padding:26px;background:#fff;box-shadow:var(--shadow)}
.round-photo{width:260px;height:260px;border-radius:50%;overflow:hidden;margin:0 auto 24px;box-shadow:var(--shadow)}
.round-photo img{width:100%;height:100%;object-fit:cover}
.check-list{padding-left:22px;margin:0}
.check-list li{margin:8px 0}
.cta-box{background:#f3fbfd;border:1px solid #dceef2;border-radius:18px;padding:22px;margin-top:24px}

footer{padding:34px 0;background:#253338;color:#fff}
.footer-content{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}
.footer-content p{margin:0;color:#c8d7d9;font-size:13px;max-width:520px}
.footer-credit{text-align:right;display:flex;flex-direction:column;gap:8px}
.footer-credit a{color:#fff;text-decoration:underline;text-underline-offset:2px}

@media (max-width:1380px){
  .collab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .collab-card{border-right:1px solid #ececec}
  .collab-card:nth-child(3n){border-right:0}
}
@media (max-width:1100px){
  .collab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .collab-card{border-right:1px solid #ececec;border-bottom:1px solid #ececec}
  .collab-card:nth-child(3n){border-right:1px solid #ececec}
  .collab-card:nth-child(2n){border-right:0}
  .collab-card:nth-last-child(-n+2){border-bottom:0}
}
@media (max-width:980px){
  .hero{min-height:790px;background-position:58% center}
  .hero-shell{min-height:790px}
  .hero-header{grid-template-columns:auto auto auto;grid-template-areas:'brand menu social' 'nav nav nav'}
  .hero-brand{grid-area:brand}
  .menu-toggle{grid-area:menu;display:block;justify-self:end}
  .social-links{grid-area:social;justify-self:end;padding-top:0}
  #nav{grid-area:nav;display:none;flex-direction:column;align-items:stretch;gap:10px;background:rgba(19,31,36,.92);padding:18px;border-radius:16px;margin-top:14px}
  #nav.open{display:flex}
  .cards.three,.split,.content-grid{grid-template-columns:1fr}
  .page-header .wrap{flex-direction:column;align-items:flex-start;padding:18px 0}
  .page-header nav{flex-wrap:wrap}
}
@media (max-width:760px){
  .collab-grid{grid-template-columns:1fr}
  .collab-card{border-right:0!important;border-bottom:1px solid #ececec}
  .collab-card:last-child{border-bottom:0}
  .collab-image{width:180px;height:180px}
  .collab-footer{min-height:88px}
}
@media (max-width:640px){
  .container{width:calc(100% - 28px)}
  .hero{min-height:835px;background-position:64% center}
  .hero-shell{min-height:835px;padding-bottom:68px}
  .hero-header{grid-template-columns:1fr auto;grid-template-areas:'brand menu' 'social social' 'nav nav';gap:14px}
  .hero-brand img{width:160px}
  .social-links{justify-self:start}
  .hero-content{padding-top:30px}
  .hero h1{font-size:40px}
  .hero p{font-size:17px}
  .hero-actions .button{width:100%}
  .section{padding:64px 0}
  .cards.three,.two{grid-template-columns:1fr}
  .footer-content{flex-direction:column;align-items:flex-start}
  .footer-credit{text-align:left}
  .collab-body h3{font-size:28px}
}

.veterinary-note{margin-top:26px;padding:26px 30px;border-radius:18px;background:#edf8fa;border:1px solid #dceef2}.veterinary-note h3{font-size:23px;margin:0 0 9px;color:#303f50}.veterinary-note p{margin:0;color:#61737b;font-size:17px}

/* Gatitos de acompañamiento al formulario, integrados sin marco ni fondo */
.gatitos-formulario{width:100%;display:flex;justify-content:center;align-items:flex-end;margin-top:32px;background:transparent}
.gatitos-formulario img{display:block;width:min(100%,540px);height:auto;object-fit:contain;background:transparent}
@media (max-width:980px){.gatitos-formulario{margin-top:24px}.gatitos-formulario img{width:min(100%,450px)}}
@media (max-width:640px){.gatitos-formulario{margin-top:18px}.gatitos-formulario img{width:min(100%,360px)}}
/* AGABEL — Separación entre el consentimiento y el botón de envío. */
form label.privacy:has(input[name="consentimiento"]) {
  display: block;
  margin-bottom: 24px;
  line-height: 1.55;
}
