@font-face{font-family:'Grift';src:url('../fonts/Grift-Regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Grift';src:url('../fonts/Grift-Medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Grift';src:url('../fonts/Grift-SemiBold.otf') format('opentype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Grift';src:url('../fonts/Grift-Bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Sora';src:url('../fonts/Sora-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Sora';src:url('../fonts/Sora-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Sora';src:url('../fonts/Sora-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Sora';src:url('../fonts/Sora-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}

*{box-sizing:border-box;}
body{margin:0;background:#EDEBE6;font-family:'Sora',sans-serif;}
a{color:#14407F;text-decoration:none;}
a:hover{color:#D8242F;}
.civ-page h1,.civ-page h2,.civ-page h3{font-family:'Grift',sans-serif;margin:0;}
.civ-page p{margin:0;}
.civ-input::placeholder{color:#D8242F;opacity:0.85;}
img{max-width:100%;}

.civ-logo-svg .cls-3{fill:#14407F;stroke:#14407F;stroke-width:0.8;stroke-dasharray:1600;stroke-dashoffset:0;transform-box:fill-box;}
.civ-logo-svg .cls-2{fill:#D8242F;stroke:#D8242F;stroke-width:0.8;stroke-dasharray:40;stroke-dashoffset:0;transform-box:fill-box;transform-origin:center;}
.civ-logo-link:hover .civ-logo-svg .cls-3{animation:civDraw 1.3s ease;}
.civ-logo-link:hover .civ-logo-svg .cls-2{animation:civDrawDot .5s ease .85s backwards;}
@keyframes civDraw{0%{stroke-dashoffset:1600;fill-opacity:0;}55%{fill-opacity:0;}100%{stroke-dashoffset:0;fill-opacity:1;}}
@keyframes civDrawDot{0%{opacity:0;transform:scale(.2);}100%{opacity:1;transform:scale(1);}}

/* Hamburger (hidden on desktop) */
.civ-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:0;}
.civ-burger span{display:block;width:100%;height:2px;background:#14407F;}
.civ-nav-links a{white-space:nowrap;}

.civ-call-btn{display:none;font:700 13px 'Sora',sans-serif;color:#fff;background:#D8242F;padding:8px 16px;border-radius:2px;}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .civ-page{width:100% !important;}
  .civ-nav{padding-left:24px !important;padding-right:24px !important;}
  .civ-nav-links{gap:18px !important;}
  .civ-nav-links a{font-size:13px !important;}
  .civ-cta-bar a:first-child{padding:12px 16px !important;font-size:13px !important;}
}

@media (max-width:900px){
  .civ-page{width:100% !important;}

  .civ-call-btn{display:inline-flex !important;align-items:center;}
  .civ-phone-text{display:none;}

  /* Nav collapses to hamburger */
  .civ-burger{display:flex;}
  .civ-nav-links,.civ-nav .civ-cta-bar{
    display:none !important;
    width:100%;
    background:#fff;
  }
  .civ-nav-links{flex-direction:column !important;align-items:flex-start !important;padding:16px 0 0 !important;gap:16px !important;}
  .civ-nav .civ-cta-bar{padding:0 0 16px !important;}
  .civ-nav{position:relative;flex-wrap:wrap;}
  .civ-nav.civ-nav-open .civ-nav-links,
  .civ-nav.civ-nav-open .civ-cta-bar{display:flex !important;}
  .civ-nav.civ-nav-open .civ-cta-bar > a:first-child{flex:1;justify-content:center;}

  /* generic 2-column blocks stack */
  .civ-2col{flex-direction:column !important;}
  .civ-2col > div{padding:36px 24px !important;}
  .civ-2col img{height:280px !important;}

  /* hero */
  .civ-hero{height:auto !important;min-height:460px;padding:60px 0 !important;}
  .civ-hero-inner{padding:0 24px !important;max-width:100% !important;}
  .civ-hero-inner h1{font-size:30px !important;line-height:1.3 !important;}

  /* grids */
  .civ-grid3{grid-template-columns:1fr !important;}
  .civ-grid4{grid-template-columns:1fr 1fr !important;gap:28px 20px !important;}

  /* stats row */
  .civ-stats-flex{flex-wrap:wrap;gap:24px !important;}
  .civ-stats-flex > div:first-child{flex-wrap:wrap;row-gap:20px;}
  .civ-stats-flex > div:first-child > div[style*="width:1px"]{display:none;}
  .civ-stats-flex > div:first-child > div{padding-right:32px !important;}

  /* three areas / otros servicios cards */
  .civ-cards-row{flex-direction:column !important;}

  /* tarjeta overlap */
  .civ-tarjeta{width:calc(100% - 48px) !important;margin:-60px 24px 40px !important;}

  /* section padding */
  .civ-pad-64{padding-left:24px !important;padding-right:24px !important;}
  .civ-pad-120{padding-top:56px !important;padding-bottom:56px !important;}

  /* contact form panel */
  .civ-contact-hero{height:auto !important;padding:80px 24px !important;}
  .civ-contact-hero h1{font-size:44px !important;}
  .civ-sketch-img{display:none !important;}
  .civ-form-panel{width:auto !important;margin:0 24px !important;position:relative !important;}

  /* footer */
  .civ-footer-cols{flex-direction:column !important;gap:32px !important;}
}

@media (max-width:520px){
  .civ-hero-inner h1{font-size:26px !important;}
  .civ-grid4{grid-template-columns:1fr !important;}
}
