/* Portada inspirada en la segunda propuesta visual aprobada de Impulso Vet.
   Únicamente cargada por index.html: no modifica las páginas interiores. */
.home-ref-body{background:#fff}
.home-ref-body .nav{background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(7,55,70,.035)}
.home-ref-body .nav-inner{max-width:1420px;min-height:76px;gap:14px}
.home-ref-body .brand{width:220px;flex-shrink:0}
.home-ref-body .links{gap:23px}
.home-ref-body .links a{font-size:.82rem;color:#0d2d44;font-weight:700}
.home-ref-body .links a.current{color:#007e86}
.home-ref-body .nav .btn{padding:12px 16px;border-radius:14px;background:#03364e;color:#fff;border-color:#03364e;font-size:.8rem;white-space:nowrap;box-shadow:none}
.ref-main{background:#fff}
.ref-container{max-width:1410px;margin:0 auto;padding-left:32px;padding-right:32px}
.ref-kicker{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.19em;color:#0b7f89}
.ref-hero{min-height:410px;background:#f8f4ee;position:relative;overflow:hidden;isolation:isolate}
.ref-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fcfaf7 0%,#fdfaf8 29%,rgba(250,248,245,.96) 37%,rgba(250,248,245,.65) 49%,rgba(250,248,245,0) 66%)}
.ref-hero-image{position:absolute;inset:0 0 0 38%;z-index:-2;overflow:hidden}
.ref-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 39%;display:block;filter:saturate(.97)}
.ref-hero-content{min-height:410px;padding-top:41px;padding-bottom:37px;position:relative}
.ref-hero-content h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(2.7rem,3.8vw,3.6rem);font-weight:800;line-height:1.09;letter-spacing:-.055em;margin:13px 0 15px;color:#05283e;max-width:790px}
.ref-hero-content p{max-width:590px;font-size:1.035rem;line-height:1.5;font-weight:500;color:#163851;margin-bottom:17px}
.ref-hero-content p strong{color:#042e43}
.ref-actions{display:flex;gap:15px;flex-wrap:wrap}
.ref-primary,.ref-secondary{min-height:50px;padding:12px 19px;display:inline-flex;justify-content:center;align-items:center;gap:10px;font-size:.93rem;font-weight:800;border-radius:13px;box-shadow:0 10px 24px #006b6912;transition:transform .2s,box-shadow .2s}
.ref-primary:hover,.ref-secondary:hover{transform:translateY(-2px);box-shadow:0 12px 30px #036b7120}
.ref-primary{background:#023e58;border:1px solid #023e58;color:white}
.ref-secondary{background:rgba(255,255,255,.84);border:1.5px solid #06425c;color:#06324a}
.ref-primary svg,.ref-secondary svg{height:19px;width:19px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ref-primary span{font-size:1.2rem;margin-left:2px}
.ref-advantages{background:#ebf8f7;border-top:1px solid #ddefef;border-bottom:1px solid #e2f0ef}
.ref-advantages-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:103px;gap:0;align-items:center}
.ref-benefit{padding:14px 15px;display:flex;gap:15px;align-items:center;min-width:0;position:relative}
.ref-benefit:not(:last-child)::after{content:"";height:58px;width:1px;background:#cfe3e2;position:absolute;right:0;top:50%;transform:translateY(-50%)}
.ref-benefit-icon{height:53px;width:53px;display:flex;justify-content:center;align-items:center;border-radius:50%;color:#009a9f;background:#d8f2ef;flex-shrink:0}
.ref-benefit-icon svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ref-benefit strong{display:block;color:#06314c;font-size:.86rem;font-weight:800;line-height:1.3}
.ref-benefit span{display:block;color:#526d79;font-size:.76rem;line-height:1.4;margin-top:4px}
.ref-services{background:#fffdfb;padding:28px 0 57px}
.ref-services-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:23px;align-items:start}
.ref-service-copy{min-width:0}
.ref-service-intro{min-height:117px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:25px;padding:0 10px 19px}
.ref-service-intro h2{font-size:clamp(1.55rem,2.35vw,2.15rem);line-height:1.18;font-weight:800;letter-spacing:-.05em;margin:5px 0 1px;color:#092f47}
.ref-tagline{font-size:1.13rem;line-height:1.3;font-weight:600;color:#254f64;margin:0}
.ref-service-intro .ref-intro-desc{font-size:.86rem;line-height:1.65;color:#5b7181;max-width:470px;margin:0}
.ref-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ref-service-card{background:#fff;border:1px solid #e5eceb;border-radius:16px;box-shadow:0 4px 14px #0a364311;padding:9px;display:grid;grid-template-columns:35% minmax(0,1fr);gap:14px;min-height:331px;overflow:hidden}
.ref-service-photo{width:100%;height:100%;min-height:310px;max-height:354px;display:block;object-fit:cover;object-position:center;border-radius:13px}
.ref-service-body{display:flex;flex-direction:column;min-width:0;padding:6px 3px 2px 0}
.ref-service-title{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.ref-square-icon{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:#009c96;color:#fff}
.ref-square-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ref-service-title h3{font-size:1.02rem;line-height:1.15;letter-spacing:-.035em;color:#042e49;margin:0;font-weight:800}
.ref-service-title strong{display:block;color:#0f475c;font-weight:800;font-size:.71rem;line-height:1.35;margin-top:3px}
.ref-service-body>p{font-size:.79rem;line-height:1.53;color:#34536a;margin:3px 0 9px}
.ref-price-link{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:8px 10px;background:#edf5f4;border-radius:9px;margin-top:7px;transition:background .2s}
.ref-price-link:hover{background:#e0f1ed}
.ref-price-link strong{display:block;font-size:.77rem;font-weight:800;color:#173e55;line-height:1.25}
.ref-price-link small{font-size:.63rem;color:#667d81;display:block;margin:1px 0}
.ref-price-link b{display:block;color:#082e45;font-size:1.19rem;line-height:1.18;letter-spacing:-.035em;margin-top:4px}
.ref-price-link b.ref-teal-price{color:#008d83;font-size:1.33rem}
.ref-price-link em{font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:0;color:#415d6b}
.ref-link-arrow svg{width:20px;height:20px;stroke:#06384f;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ref-detail-link{display:inline-block;color:#067d82;font-weight:800;font-size:.73rem;margin-top:auto;padding-top:8px}
.ref-price-note{font-size:.73rem;color:#6e8284;line-height:1.6;margin:11px 2px 0}
.ref-contact-panel{padding:25px 23px 22px;background:#02374e;border-radius:20px;color:#fff;box-shadow:0 14px 35px #042e4020;scroll-margin-top:96px}
.ref-contact-panel .ref-kicker{font-size:.68rem;letter-spacing:.11em;color:#d9e9ed}
.ref-contact-panel h2{color:#fff;font-size:1.5rem;letter-spacing:-.04em;margin:8px 0 9px;display:flex;gap:9px;align-items:center}
.ref-contact-panel h2 svg{width:25px;height:25px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ref-contact-panel .ref-contact-top p{color:#d7e7ec;font-size:.78rem;line-height:1.55;margin-bottom:10px}
.ref-form-loading{color:#fff;font-size:.81rem}
.ref-contact-panel .form-fields{gap:7px}
.ref-contact-panel .inputgroup{gap:3px}
.ref-contact-panel .inputgroup label{font-size:.7rem;color:#f8ffff;line-height:1.3}
.ref-contact-panel .inputgroup input:not([type=checkbox]),.ref-contact-panel .inputgroup textarea{min-height:39px;padding:9px 10px;font-size:.8rem;border:1px solid #bfd6dd;border-radius:7px;background:#fff;color:#082f44}
.ref-contact-panel .inputgroup textarea{min-height:70px;max-height:135px;resize:vertical}
.ref-contact-panel .inputgroup.check label{font-size:.67rem;line-height:1.37;color:#d8e7ee}
.ref-contact-panel .inputgroup.check{gap:8px;padding:5px 0 3px}
.ref-contact-panel .form-fields .btn{border:0;border-radius:13px;background:#00aa9f;color:#fff;font-size:.88rem;width:100%;padding:13px 8px;margin-top:5px;min-height:45px}
.ref-contact-panel .form-msg.success{background:#dff9f2;color:#074847;font-size:.8rem}
.ref-contact-panel .ref-contact-privacy{font-size:.65rem;line-height:1.5;color:#c1e0e5;margin:16px 0 0;display:flex;gap:8px;align-items:flex-start}
.ref-contact-privacy svg{height:15px;width:15px;flex-shrink:0;stroke:#35d7c3;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ref-contact-privacy a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.ref-closing{padding:77px 0;background:linear-gradient(130deg,#f0fbf8,#fff9f4)}
.ref-closing-layout{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:65px}
.ref-closing h2{font-size:clamp(1.9rem,3.3vw,2.7rem);max-width:570px;margin:8px 0 16px}
.ref-closing p{color:#52717d;max-width:580px;font-size:1rem}
.ref-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ref-steps div{padding:19px 15px;background:#fff;border:1px solid #dbefec;border-radius:16px}
.ref-steps span{display:block;font-size:1.3rem;font-weight:800;color:#02998d;letter-spacing:-.03em}
.ref-steps strong{font-size:.87rem;color:#082e42;display:block;line-height:1.3;margin:5px 0 6px}
.ref-steps small{font-size:.75rem;color:#587783;line-height:1.5;display:block}
.ref-steps>a{color:#007c74;font-weight:800;font-size:.86rem;grid-column:1/-1;justify-self:start;margin-top:9px}
@media(max-width:1360px){.home-ref-body .nav-inner{gap:12px}.home-ref-body .links{gap:13px}.home-ref-body .brand{width:188px}.home-ref-body .links a{font-size:.76rem}.ref-container{padding-left:28px;padding-right:28px}.ref-services-shell{grid-template-columns:minmax(0,1fr) 308px;gap:16px}.ref-service-card{gap:9px;grid-template-columns:32% 1fr}.ref-service-title h3{font-size:.95rem}.ref-service-photo{min-height:340px}}
@media(max-width:1110px){.home-ref-body .nav-inner>.btn{display:none}.ref-services-shell{grid-template-columns:1fr}.ref-contact-panel{margin-top:25px}.ref-service-intro{min-height:105px}.ref-advantages-grid{grid-template-columns:repeat(2,1fr)}.ref-benefit:nth-child(2)::after{display:none}.ref-benefit{padding:18px}.ref-contact-panel .form-fields{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.ref-contact-panel .inputgroup.check,.ref-contact-panel .form-msg,.ref-contact-panel .form-fields button{grid-column:1/-1}.ref-service-photo{min-height:280px}}
@media(max-width:820px){.home-ref-body .links{top:76px}.ref-hero-image{inset:0 0 0 25%}.ref-hero::before{background:linear-gradient(90deg,rgba(255,253,249,.99) 0%,rgba(255,253,249,.93) 39%,rgba(255,253,249,.52) 65%,rgba(255,253,249,.08) 100%)}.ref-hero-content h1{font-size:clamp(2.2rem,6.2vw,3.6rem)}.ref-hero-content p{max-width:530px}.ref-service-intro{grid-template-columns:1fr;gap:8px}.ref-service-intro .ref-intro-desc{max-width:740px}.ref-services-shell{gap:16px}.ref-closing-layout{grid-template-columns:1fr;gap:25px}.ref-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.ref-container{padding-left:20px;padding-right:20px}.home-ref-body .brand{width:188px}.ref-hero{min-height:0}.ref-hero-image{inset:0 0 0 0;opacity:.28}.ref-hero::before{background:linear-gradient(90deg,rgba(255,254,250,.93),rgba(255,254,250,.78))}.ref-hero-content{padding-top:45px;padding-bottom:40px;min-height:460px}.ref-hero-content h1{font-size:clamp(2.16rem,9.2vw,3.15rem);line-height:1.12;max-width:500px}.ref-hero-content p{font-size:.96rem}.ref-actions{flex-direction:column;align-items:stretch}.ref-primary,.ref-secondary{width:100%}.ref-advantages-grid{grid-template-columns:1fr 1fr}.ref-benefit{align-items:flex-start;flex-direction:column;gap:6px;padding:15px 9px}.ref-benefit-icon{height:37px;width:37px}.ref-benefit-icon svg{height:23px;width:23px}.ref-benefit strong{font-size:.76rem}.ref-benefit span{font-size:.68rem}.ref-benefit:nth-child(1),.ref-benefit:nth-child(2){border-bottom:1px solid #cfe3e2}.ref-benefit::after{display:none}.ref-services{padding:36px 0 47px}.ref-service-grid{grid-template-columns:1fr}.ref-service-card{grid-template-columns:33% 1fr;min-height:290px}.ref-service-photo{min-height:300px;max-height:none}.ref-service-body>p{font-size:.82rem}.ref-service-title h3{font-size:1.09rem}.ref-contact-panel{padding:23px}.ref-contact-panel .form-fields{grid-template-columns:1fr}.ref-steps{grid-template-columns:1fr}.ref-closing{padding:56px 0}}
@media(max-width:410px){.ref-service-card{grid-template-columns:30% 1fr;gap:9px;padding:6px}.ref-square-icon{width:35px;height:35px}.ref-square-icon svg{width:19px;height:19px}.ref-service-title{gap:7px}.ref-service-title h3{font-size:.94rem}.ref-service-title strong{font-size:.66rem}.ref-service-body>p{font-size:.73rem}.ref-price-link{padding:7px}.ref-price-link b{font-size:1.06rem}.ref-price-link b.ref-teal-price{font-size:1.16rem}.ref-service-photo{min-height:308px}.ref-hero-content h1{font-size:2.1rem}}


/* Tarjeta de creación web express · homepage */
.ref-website{background:#f2faf7;padding:48px 0 60px}
.ref-web-panel{display:grid;grid-template-columns:39% 1fr;gap:54px;align-items:center;background:#fff;border:1px solid #dbece7;border-radius:27px;padding:36px 45px;box-shadow:0 20px 50px rgba(8,62,61,.06)}
.ref-web-visual{min-height:272px;border-radius:19px;background:linear-gradient(140deg,#dbf5f0,#f9f1e7);display:grid;place-items:center;padding:31px;position:relative}
.ref-browser{width:min(100%,380px);border-radius:13px;background:white;box-shadow:0 17px 36px #07565224;overflow:hidden;transform:rotate(-2deg)}
.ref-browser-top{height:34px;background:#ecf5f4;border-bottom:1px solid #cfe9e5;display:flex;align-items:center;gap:5px;padding:0 13px}
.ref-browser-top>span{height:7px;width:7px;border-radius:50%;background:#a0cdc7}
.ref-browser-top i{font-style:normal;font-size:10px;font-weight:700;color:#4e7c7a;margin:auto}
.ref-browser-body{padding:18px}.ref-browser-band{height:50px;border-radius:8px;background:linear-gradient(110deg,#023f52,#04afa1);margin-bottom:13px}
.ref-browser-lines{display:grid;gap:6px}.ref-browser-lines span{height:7px;border-radius:4px;background:#d1e4e2;width:90%}.ref-browser-lines span:nth-child(2){width:70%}.ref-browser-lines span:nth-child(3){width:82%}
.ref-browser-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.ref-browser-cards span{height:41px;border-radius:6px;background:#e8f5f0}
.ref-browser-button{width:45%;height:17px;background:#00a79a;border-radius:6px}
.ref-web-floating{position:absolute;right:7px;bottom:11px;border-radius:12px;background:#fff;color:#007e74;padding:10px 13px;font-size:.78rem;font-weight:800;box-shadow:0 9px 24px #164b4b24}
.ref-web-content .ref-kicker{color:#008d83}.ref-web-content h2{font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.16;color:#062f45;margin:11px 0 13px;max-width:680px}
.ref-web-content>p{color:#4c6a71;font-size:.97rem;line-height:1.6}
.ref-web-points{display:flex;gap:9px 17px;flex-wrap:wrap;color:#17665e;font-weight:700;font-size:.82rem;margin:18px 0}
.ref-web-offer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border-top:1px solid #e4edec;padding-top:18px;margin-top:19px}
.ref-web-offer div{display:grid;gap:4px}.ref-web-offer small{font-size:.76rem;color:#667d7e;font-weight:700}
.ref-web-offer strong{font-size:2rem;color:#008c83;font-weight:900;letter-spacing:-.04em;line-height:1.2}
.ref-web-offer em{font-size:.84rem;font-style:normal;font-weight:700;letter-spacing:0}
.ref-web-offer div>span{font-size:.83rem;color:#2e6d6a;font-weight:800}
.ref-web-offer .ref-primary{white-space:nowrap}
.ref-web-content p.ref-web-footnote{font-size:.72rem;line-height:1.5;color:#718382;margin-top:17px;margin-bottom:0}
.ref-web-footnote a{color:#007f76;text-decoration:underline;text-underline-offset:2px;font-weight:800}
#web-express{scroll-margin-top:95px}
@media(max-width:1020px){.ref-web-panel{grid-template-columns:1fr;gap:26px}.ref-web-visual{max-height:270px}.ref-website{padding:35px 0}}
@media(max-width:650px){.ref-web-panel{padding:19px;border-radius:20px}.ref-web-visual{min-height:220px}.ref-web-content h2{font-size:1.85rem}.ref-web-offer .ref-primary{width:100%}.ref-web-offer strong{font-size:1.8rem}}
