:root{
  --primary:#d62839;
  --primary-dark:#a91522;
  --accent:#111111;
  --ink:#0f172a;
  --muted:#526176;
  --bg:#f8fafc;
  --surface:#fff;
  --soft:#eef4fb;
  --line:#dbe5f0;
  --dark:#0b1221;
  --shadow:0 18px 50px rgba(15,23,42,.10);
  --radius:8px;
  --container:min(1140px,calc(100% - 2rem));
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Montserrat","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:var(--container);margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:.5rem;background:#fff;padding:.7rem 1rem;z-index:9999;border-radius:12px}
.skip-link:focus{left:.5rem}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.86);border-bottom:1px solid rgba(219,229,240,.8);backdrop-filter:blur(18px)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:78px}
.brand img{width:188px;height:auto;object-fit:contain}
.nav-menu{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.nav-link{color:var(--ink);font-weight:800;font-size:.96rem}
.nav-link.active{color:var(--primary)}
.nav-toggle{display:none;background:transparent;border:0;cursor:pointer;padding:.5rem}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--ink);border-radius:10px;margin:5px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:8px;padding:.95rem 1.25rem;font-weight:900;cursor:pointer;min-height:46px;transition:.2s ease;text-decoration:none}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark)}
.btn-outline{background:#fff;border-color:var(--line);color:var(--ink)}
.btn-soft{background:rgba(214,40,57,.09);color:var(--primary)}
.btn-sm{padding:.68rem 1rem;min-height:38px;font-size:.92rem}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--primary);font-weight:900}
.hero{padding:clamp(3rem,7vw,5.8rem) 0 2.5rem;background:linear-gradient(180deg,#fff,#f7f7f8)}
.hero-grid,.split,.contact-grid,.quote-grid,.footer-grid{display:grid;gap:2rem}
.hero-grid{grid-template-columns:1.03fr .97fr;align-items:center}
.hero h1,.page-hero h1{font-size:clamp(2.35rem,5vw,4.35rem);line-height:1.03;margin:.35rem 0 1rem;letter-spacing:0}
.lead{font-size:1.12rem;color:var(--muted);max-width:66ch}
.hero-actions,.inline-actions,.footer-buttons{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.4rem}
.trust-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.trust-row span{background:#fff;border:1px solid var(--line);padding:.65rem .9rem;border-radius:8px;font-weight:800;color:var(--muted);box-shadow:0 8px 24px rgba(15,23,42,.04)}
.hero-photo img,.rounded-photo{width:100%;height:auto;aspect-ratio:1.42/1;object-fit:cover;border-radius:8px;box-shadow:var(--shadow);border:1px solid var(--line)}
.section{padding:4.6rem 0}
.section-light{background:var(--soft)}
.section-dark{background:var(--dark);color:#fff}
.section-heading{max-width:780px;margin-bottom:2rem}
.section-heading h2,.split h2{font-size:clamp(1.8rem,4vw,3.05rem);line-height:1.1;letter-spacing:0;margin:.3rem 0 1rem}
.cards{display:grid;gap:1.2rem}
.cards-2{grid-template-columns:repeat(2,1fr)}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-4{grid-template-columns:repeat(4,1fr)}
.card,.mini-card,.sector-card,.testimonial,.form-card,.contact-card,.sidebar-card,.post-card,.highlight-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card,.mini-card,.sector-card,.testimonial,.form-card,.contact-card,.sidebar-card,.highlight-card{padding:1.45rem}
.card img{height:150px;width:100%;object-fit:cover;border-radius:8px;margin-bottom:.9rem;border:1px solid var(--line)}
.photo-card img{width:100%;height:auto;aspect-ratio:1.58/1;object-fit:cover;border-radius:8px;border:1px solid var(--line);margin-bottom:1rem}
.highlight-card img[src$="pavemar-mascota-real.png"]{width:180px;height:180px;object-fit:cover;object-position:50% 15%;border-radius:20px;background:#fff}
.highlight-card img[src$="chat-att.svg"]{width:180px;height:180px;object-fit:contain;border-radius:20px;background:#fff}
.card h3,.mini-card h3{margin:.25rem 0 .45rem;font-size:1.2rem}
.card p,.mini-card p,.sector-card p,.testimonial p{color:var(--muted)}
.split{grid-template-columns:1fr 1fr;align-items:center}
.feature-list{padding-left:1rem}
.feature-list li{margin:.65rem 0;color:var(--muted)}
.stats{padding:0 0 2rem}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.2rem;box-shadow:var(--shadow)}
.stat strong{display:block;font-size:1.55rem;color:var(--ink)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.timeline article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.2rem;box-shadow:var(--shadow)}
.timeline span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;font-weight:900;margin-bottom:.8rem}
.sponsorship-section{background:linear-gradient(135deg,#111 0%,#1c1c1c 46%,#d62839 46.1%,#a91522 100%);color:#fff}
.sponsorship-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:2rem;align-items:center}
.sponsorship-copy .lead{color:rgba(255,255,255,.82)}
.sponsorship-copy .eyebrow{color:#fff}
.achievement-list{display:grid;gap:.8rem;margin:1.6rem 0}
.achievement-list article{display:grid;gap:.2rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:1rem}
.achievement-list strong{font-size:1.05rem}
.achievement-list span{color:rgba(255,255,255,.78)}
.sponsorship-card{background:#fff;color:var(--ink);border-radius:8px;padding:1.35rem;box-shadow:0 24px 70px rgba(0,0,0,.28);display:grid;grid-template-columns:.86fr 1fr;gap:1.2rem;align-items:center}
.sponsorship-card span{display:inline-flex;background:rgba(214,40,57,.1);color:var(--primary);font-weight:900;border-radius:999px;padding:.35rem .75rem;font-size:.84rem}
.sponsorship-card h3{margin:.7rem 0 .45rem;font-size:1.5rem;line-height:1.12}
.sponsorship-card p{color:var(--muted);margin:0}
.sponsorship-mascot{width:100%;max-height:340px;object-fit:cover;object-position:50% 12%;border-radius:8px;background:#fff7f7}
.sponsorship-page{margin-top:0}
.page-hero{padding:3.6rem 0 1.8rem;background:linear-gradient(180deg,#fff,#f7f7f8)}
.contact-grid{grid-template-columns:.9fr 1.1fr}
.quote-grid{grid-template-columns:1.16fr .84fr;align-items:start}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
label{display:grid;gap:.45rem;font-weight:800}
input,select,textarea{width:100%;padding:.95rem 1rem;border:1px solid #cbd6e2;border-radius:15px;background:#fff;color:var(--ink);font:inherit}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(214,40,57,.15);border-color:var(--primary)}
.checkbox{display:flex;align-items:flex-start;gap:.65rem;font-weight:600}
.checkbox input{width:auto;margin-top:.32rem}
.form-response{display:none;margin-top:1rem;padding:1rem;border-radius:16px;background:#f8fafc;border:1px solid var(--line)}
.form-response.show{display:block}
.estimator{display:grid;gap:1rem}
.estimate-result{margin-top:1rem;background:#fff;border:1px dashed var(--primary);border-radius:18px;padding:1rem;min-height:60px}
.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cta-banner{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.faq-list{display:grid;gap:1rem}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem 1.2rem;box-shadow:var(--shadow)}
.faq-list summary{cursor:pointer;font-weight:900}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.post-card{overflow:hidden}
.post-card img{border-bottom:1px solid var(--line);width:100%}
.post-card div{padding:1.2rem}
.post-tag{display:inline-flex;background:rgba(214,40,57,.09);color:var(--primary);border-radius:999px;padding:.25rem .65rem;font-size:.82rem;font-weight:900}
.article-wrap{max-width:840px}
.article-content h2{margin-top:2.2rem}
.article-content p,.article-content li{color:var(--muted)}
.legal-note{background:#fff7ed;border:1px solid #fed7aa;padding:1rem;border-radius:18px}
.site-footer{background:#fff;border-top:1px solid var(--line);margin-top:2rem}
.footer-grid{grid-template-columns:1.35fr .85fr .85fr .85fr;padding:2.7rem 0 1.7rem}
.footer-grid h3{font-size:1rem;margin:.2rem 0 .7rem}
.footer-grid a{display:block;margin:.4rem 0;color:var(--muted);font-weight:700}
.footer-brand p{color:var(--muted)}
.footer-bottom{border-top:1px solid var(--line);padding:1rem 0 1.35rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.93rem}
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1200;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.cookie-banner p{margin:.25rem 0 0;color:var(--muted)}
.cookie-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.cookie-panel{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1300;display:grid;place-items:center;padding:1rem}
.cookie-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:1.4rem;width:min(520px,100%)}
.cookie-card label{display:flex;gap:.65rem;margin:1rem 0}
.cookie-card input{width:auto}
.chat-toggle{position:fixed;right:1rem;bottom:1rem;z-index:1210;isolation:isolate;display:inline-flex;align-items:center;gap:.7rem;border:0;border-radius:20px;background:linear-gradient(180deg,#ed1c2a,#b91420);color:#fff;padding:.86rem 1rem;font-weight:950;box-shadow:0 16px 45px rgba(0,0,0,.18);cursor:pointer;animation:chatFloat 3.1s ease-in-out infinite;overflow:visible}
.chat-toggle:after{content:"";position:absolute;inset:-7px;border-radius:24px;background:radial-gradient(circle,rgba(214,40,57,.28),rgba(214,40,57,0) 72%);z-index:-1;animation:chatPulse 2.6s ease-in-out infinite}
.package-icon{display:inline-block;width:28px;height:24px;border-radius:5px;background:#fff;border:2px solid rgba(255,255,255,.55);position:relative}
.package-icon:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(214,40,57,.38)}
.package-icon:after{content:"";position:absolute;left:4px;right:4px;top:8px;height:2px;background:rgba(214,40,57,.38)}
.chat-mascot-button{position:absolute;right:-13px;top:-43px;width:62px;height:62px;object-fit:cover;object-position:50% 12%;border-radius:50%;pointer-events:none;filter:drop-shadow(0 7px 12px rgba(15,23,42,.18));animation:mascotPeek 3s ease-in-out infinite}
.chat-widget{position:fixed;right:1rem;bottom:5.15rem;z-index:1210;width:min(390px,calc(100vw - 2rem));background:linear-gradient(180deg,#d62839 0%,#b91420 17%,#fff 17.1%,#fff 100%);border:1px solid rgba(214,40,57,.25);border-radius:25px;box-shadow:0 24px 70px rgba(0,0,0,.22);overflow:visible;animation:widgetEntry .24s ease}
.box-flap,.box-flap-right{position:absolute;top:0;width:95px;height:31px;background:#d62839;border-bottom:1px solid rgba(255,255,255,.22);left:22px;transform:skewX(-24deg);transform-origin:left bottom;animation:flapLeft 3.2s ease-in-out infinite}
.box-flap-right{left:auto;right:22px;transform:skewX(24deg);transform-origin:right bottom;animation:flapRight 3.2s ease-in-out infinite}
.chat-mascot-window{position:absolute;top:-38px;right:19px;width:82px;height:82px;object-fit:cover;object-position:50% 12%;border:3px solid #fff;border-radius:50%;z-index:2;filter:drop-shadow(0 9px 16px rgba(15,23,42,.18));animation:mascotPeek 3.35s ease-in-out infinite}
.chat-header{position:relative;padding:1rem 5rem .9rem 1rem;display:flex;align-items:center;justify-content:space-between}
.chat-header strong,.chat-header small{color:#fff}
.chat-header small{display:block;color:rgba(255,255,255,.82)}
.chat-header button{position:absolute;right:1rem;top:1rem;width:35px;height:35px;border:0;border-radius:50%;background:rgba(255,255,255,.8);font-size:1.35rem;cursor:pointer}
.chat-messages{min-height:258px;max-height:340px;overflow:auto;background:#fff;padding:1rem;display:grid;gap:.75rem}
.chat-message{max-width:88%;padding:.8rem .95rem;border-radius:18px;font-size:.95rem}
.chat-bot{justify-self:start;background:#fff7ea;border:1px solid #f0dfbc}
.chat-user{justify-self:end;background:#f5f8fd;border:1px solid #dfe6f0}
.chat-quick-actions{background:#fff;display:flex;gap:.5rem;flex-wrap:wrap;padding:0 1rem .8rem}
.chat-quick-actions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .75rem;font-weight:800;cursor:pointer}
.chat-form{display:grid;grid-template-columns:1fr auto;gap:.55rem;padding:1rem;background:#fff;border-top:1px solid var(--line);border-radius:0 0 25px 25px}
@keyframes chatFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes chatPulse{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}
@keyframes mascotPeek{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-4deg) translateY(-3px)}55%{transform:rotate(4deg) translateY(-6px)}82%{transform:rotate(-2deg) translateY(-1px)}}
@keyframes flapLeft{0%,100%{transform:skewX(-24deg) rotate(0)}18%{transform:skewX(-24deg) rotate(-5deg)}34%{transform:skewX(-24deg) rotate(0)}}
@keyframes flapRight{0%,100%{transform:skewX(24deg) rotate(0)}18%{transform:skewX(24deg) rotate(5deg)}34%{transform:skewX(24deg) rotate(0)}}
@keyframes widgetEntry{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:980px){
  .hero-grid,.split,.contact-grid,.quote-grid,.footer-grid,.blog-grid,.cards-4,.cards-3,.cards-2,.stats-grid,.timeline,.testimonials,.sponsorship-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .nav-toggle{display:block}
  .nav-menu{position:absolute;top:78px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;background:#fff;border-bottom:1px solid var(--line);padding:1rem}
  .nav-menu.open{display:flex}
  .hero-grid,.split,.contact-grid,.quote-grid,.footer-grid,.blog-grid,.cards-4,.cards-3,.cards-2,.stats-grid,.timeline,.testimonials,.form-grid,.sponsorship-grid,.sponsorship-card{grid-template-columns:1fr}
  .hero-actions .btn,.inline-actions .btn{width:100%}
  .cta-banner,.cookie-banner{flex-direction:column;align-items:flex-start}
  .chat-mascot-button{width:54px;top:-36px;right:-8px}
  .chat-widget{bottom:5rem}
  .chat-mascot-window{width:70px;top:-31px}
}
