/* =========================================================
   SEGUROS NASER — home / style.css
   DNA visual idéntico a naser.com.co.
   Diferencia: acento --green (#1FAE7A) en lugar de --sky (#1FC1FF)
   ========================================================= */

:root{
  --navy:      #1D451B;
  --navy-2:    #2A5C27;
  --blue:      #1769C4;
  --green:     #347E31;
  --green-2:   #4C9E48;
  --sky:       #B6F193;
  --green-light: #B6F193;
  --bg:        #F5F8F3;
  --bg-white:  #FFFFFF;
  --ink:       #232323;
  --gray:      #616161;
  --gray-soft: #8A8A8A;
  --border:    #E2E7DF;

  --f-display: "Sora","Segoe UI",Arial,sans-serif;
  --f-body:    "Inter","Segoe UI",Arial,sans-serif;
  --f-mono:    "IBM Plex Mono","Courier New",monospace;

  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --container: 1180px;
  --shadow-sm: 0 4px 14px rgba(29,69,27,.07);
  --shadow-md: 0 14px 36px rgba(29,69,27,.14);
  --header-h:  88px;
  --topbar-h:  38px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:var(--f-body); color:var(--ink); background:var(--bg-white); -webkit-font-smoothing:antialiased; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--f-display); margin:0; color:var(--navy); }
p{ margin:0; }
button{ font-family:inherit; cursor:pointer; }
.container{ width:100%; max-width:var(--container); margin:0 auto; padding:0 24px; }
:focus-visible{ outline:3px solid var(--green); outline-offset:2px; }

/* ---------- Scroll progress ---------- */
.scroll-progress{ position:fixed; top:0; left:0; height:3px; width:0%; background:linear-gradient(90deg,var(--green),var(--sky)); z-index:200; transition:width .08s linear; }

/* ---------- Eyebrow ---------- */
.eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--f-mono); font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--green); margin-bottom:14px; }
.eyebrow::before{ content:""; width:7px; height:7px; background:var(--green); border-radius:50%; display:inline-block; }
.eyebrow-light{ color:var(--green-2); }
.eyebrow-light::before{ background:var(--green-2); }

/* ---------- Botones ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 26px; border-radius:999px; font-weight:600; font-size:15px; border:1.5px solid transparent; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease; white-space:nowrap; }
.btn-primary{ background:var(--green); color:#fff; box-shadow:0 0 0 0 rgba(52,126,49,.55),var(--shadow-sm); }
.btn-primary:hover{ background:#2A6527; transform:translateY(-3px) scale(1.02); box-shadow:0 16px 32px rgba(52,126,49,.38); }
.hero-actions .btn-primary{ animation:btn-pulse 2.6s ease-out infinite; }
@keyframes btn-pulse{ 0%{ box-shadow:0 0 0 0 rgba(52,126,49,.45); } 70%{ box-shadow:0 0 0 14px rgba(52,126,49,0); } 100%{ box-shadow:0 0 0 0 rgba(52,126,49,0); } }
.btn-ghost-light{ background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.45); }
.btn-ghost-light:hover{ background:rgba(255,255,255,.18); transform:translateY(-2px); }
.btn-outline{ background:transparent; color:var(--navy); border-color:var(--border); }
.btn-outline:hover{ border-color:var(--green); color:var(--green); }
@media (prefers-reduced-motion:reduce){ .hero-actions .btn-primary{ animation:none; } }

/* =========================================================
   TOPBAR
   ========================================================= */
.topbar{ background:var(--navy); color:rgba(255,255,255,.85); font-size:13px; height:var(--topbar-h); }
.topbar .container{ height:100%; display:flex; align-items:center; justify-content:flex-end; gap:22px; }
.topbar a{ display:flex; align-items:center; gap:6px; height:100%; color:inherit; opacity:.85; transition:opacity .15s, color .15s; }
.topbar a:hover{ opacity:1; color:var(--green-2); }
.topbar .has-drop{ position:relative; }
.topbar .drop{ position:absolute; top:100%; right:0; background:#fff; color:var(--ink); min-width:170px; padding:8px; border-radius:var(--radius-sm); box-shadow:var(--shadow-md); opacity:0; visibility:hidden; transform:translateY(6px); transition:all .15s ease; z-index:60; }
.topbar .has-drop:hover .drop, .topbar .has-drop:focus-within .drop{ opacity:1; visibility:visible; transform:translateY(0); }
.topbar .drop a{ display:block; padding:8px 10px; border-radius:6px; font-size:13px; color:var(--ink); opacity:1; }
.topbar .drop a:hover{ background:var(--bg); color:var(--green); }

/* =========================================================
   HEADER
   ========================================================= */
.site-header{ position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--border); height:var(--header-h); transition:height .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled{ height:68px; box-shadow:var(--shadow-sm); }
.site-header .container{ height:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand img{ height:36px; width:auto; }

/* Nav con mega-menú de 2 niveles */
.main-nav{ display:flex; align-items:center; gap:28px; }
.main-nav ul{ display:flex; align-items:center; gap:20px; }
.main-nav a{ font-size:13.5px; font-weight:600; letter-spacing:.01em; color:var(--navy); padding:10px 0; position:relative; }
.main-nav a:hover{ color:var(--green); }
.main-nav a.is-active{ color:var(--green); box-shadow:0 2px 0 0 var(--green); }
.main-nav .has-mega{ position:relative; }
.main-nav .has-mega > a::after{ content:""; display:inline-block; width:7px; height:7px; margin-left:5px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:rotate(45deg) translateY(-2px); }
.mega{ position:absolute; top:100%; left:50%; translate:-50% 0; background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-md); padding:12px; min-width:220px; opacity:0; visibility:hidden; transform:translate(-50%,8px); transition:all .18s ease; z-index:55; }
.main-nav .has-mega:hover .mega, .main-nav .has-mega:focus-within .mega{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.mega a{ display:block; padding:9px 12px; border-radius:8px; font-weight:500; font-size:13.5px; }
.mega a:hover{ background:var(--bg); color:var(--green); }
.mega a.is-active{ background:var(--bg); color:var(--green); font-weight:600; }
.header-cta{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.nav-toggle{ display:none; width:42px; height:42px; border-radius:10px; border:1px solid var(--border); background:#fff; align-items:center; justify-content:center; }
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{ content:""; display:block; width:18px; height:2px; background:var(--navy); position:relative; transition:all .2s ease; }
.nav-toggle span::before{ position:absolute; top:-6px; }
.nav-toggle span::after{ position:absolute; top:6px; }

/* =========================================================
   HERO (video)
   ========================================================= */
.hero{ position:relative; min-height:680px; display:flex; align-items:center; overflow:hidden; background:var(--navy); }
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-media video, .hero-media img{ width:100%; height:100%; object-fit:cover; }
.hero-media::after{ content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(29,69,27,.92) 5%, rgba(29,69,27,.78) 45%, rgba(29,69,27,.5) 100%); }
.hero-decor{ position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none; transition:transform .2s ease-out; }
.hero-decor .ring{ position:absolute; border-radius:50%; }
.hero-decor .ring.r1{ width:560px; height:560px; right:-110px; top:-80px; border:1.5px solid rgba(52,126,49,.35); animation:spin-slow 50s linear infinite; }
.hero-decor .ring.r2{ width:340px; height:340px; right:70px; top:140px; border:1.5px solid rgba(255,255,255,.16); animation:spin-slow 38s linear infinite reverse; }
.hero-decor .ring.r3{ width:220px; height:220px; left:-60px; bottom:-60px; border:1.5px solid rgba(31,193,255,.35); animation:float-y 7s ease-in-out infinite; }
.hero-decor .dot{ position:absolute; width:6px; height:6px; border-radius:50%; background:var(--green-2); opacity:.7; animation:float-y 5s ease-in-out infinite; }
@keyframes spin-slow{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
@keyframes float-y{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-16px); } }
@media (prefers-reduced-motion:reduce){ .hero-decor .ring, .hero-decor .dot{ animation:none; } }

.hero-content{ position:relative; z-index:2; padding:90px 0 64px; color:#fff; max-width:660px; }
.hero-content h1{ color:#fff; font-size:clamp(34px,4.2vw,52px); line-height:1.08; letter-spacing:-.01em; margin-bottom:20px; }
.hero-content h1 .accent{
  background:linear-gradient(100deg,var(--green-2) 0%,#8FFFD4 35%,var(--green-2) 70%);
  background-size:220% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:sheen 5s ease-in-out infinite;
}
@keyframes sheen{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }
.hero p.lead{ font-size:17px; line-height:1.65; color:rgba(255,255,255,.86); max-width:520px; margin-bottom:32px; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* =========================================================
   MARQUEE
   ========================================================= */
.marquee{ background:var(--navy); overflow:hidden; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.marquee-track{ display:flex; width:max-content; animation:marquee-scroll 24s linear infinite; }
.marquee-track span{ font-family:var(--f-display); font-weight:700; font-size:18px; color:rgba(255,255,255,.85); padding:0 28px; white-space:nowrap; position:relative; }
.marquee-track span::after{ content:"•"; position:absolute; right:-3px; color:var(--green-2); }
@keyframes marquee-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){ .marquee-track{ animation:none; } }

/* =========================================================
   SECCIONES GENERALES
   ========================================================= */
.section{ padding:86px 0; }
.section-bg{ background:var(--bg); }
.section-head{ max-width:640px; margin-bottom:48px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head h2{ font-size:clamp(26px,3vw,36px); line-height:1.18; margin-bottom:14px; }
.section-head p{ color:var(--gray); font-size:16px; line-height:1.6; }
.section-foot{ margin-top:40px; display:flex; justify-content:center; }

/* ---------- Categorías de producto (bento) ---------- */
.cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cat-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px; display:flex; flex-direction:column; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.cat-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(52,126,49,.18); border-color:transparent; }
.cat-card.featured{ grid-column:span 2; background:linear-gradient(150deg,var(--navy) 0%,var(--navy-2) 55%,#0E4A2A 130%); color:#fff; }
.cat-card.featured h3, .cat-card.featured .cat-desc{ color:#fff; }
.cat-card.featured .cat-desc{ color:rgba(255,255,255,.78); }
.cat-icon{ width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(52,126,49,.12); color:var(--green); margin-bottom:20px; }
.cat-card.featured .cat-icon{ background:rgba(255,255,255,.12); color:#fff; }
.cat-icon svg{ width:26px; height:26px; }
.cat-card h3{ font-size:18px; margin-bottom:10px; }
.cat-card .cat-desc{ font-size:14px; color:var(--gray); line-height:1.55; flex:1; }
.cat-card .cat-link{ margin-top:16px; display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:600; color:var(--green); }
.cat-card.featured .cat-link{ color:var(--green-2); }
.cat-link .arrow{ transition:transform .18s ease; }
.cat-card:hover .arrow{ transform:translateX(4px); }

/* ---------- Producto cards (línea) ---------- */
.product-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:24px; }
.product-card{ background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.product-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.product-thumb{ aspect-ratio:4/3; overflow:hidden; background:var(--bg); }
.product-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.product-card:hover .product-thumb img{ transform:scale(1.04); }

/* Tiles con ícono SVG (reemplaza los PNG pixelados de "Los más solicitados") */
.product-thumb.icon-tile{
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--green) 0%, var(--green-2) 100%);
}
.product-thumb.icon-tile svg{ width:34%; height:34%; color:#fff; transition:transform .3s ease; }
.product-card:hover .product-thumb.icon-tile svg{ transform:scale(1.08); }
.product-body{ padding:20px; }
.product-body h3{ font-size:16px; margin-bottom:8px; }
.product-body p{ font-size:13.5px; color:var(--gray); line-height:1.5; margin-bottom:14px; }
.product-body .cat-link{ font-size:13.5px; }

/* ---------- Referidos / Ingreso adicional ---------- */
.referral-banner{ display:grid; grid-template-columns:1fr 1fr; gap:0; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); }
.referral-text{ background:linear-gradient(140deg,var(--navy) 0%,var(--navy-2) 65%,#0E4A2A 130%); padding:56px; color:#fff; display:flex; flex-direction:column; justify-content:center; gap:16px; }
.referral-text h2{ color:#fff; font-size:clamp(24px,2.8vw,34px); line-height:1.18; }
.referral-text p{ color:rgba(255,255,255,.82); font-size:15.5px; line-height:1.65; }
.referral-img{ position:relative; overflow:hidden; min-height:360px; }
.referral-img img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }

/* ---------- Blog ---------- */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.blog-card{ background:#fff; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); transition:transform .22s ease, box-shadow .22s ease; }
.blog-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.blog-thumb{ display:block; aspect-ratio:8/5; overflow:hidden; }
.blog-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.blog-card:hover .blog-thumb img{ transform:scale(1.04); }
.blog-body{ padding:24px; }
.blog-date{ font-family:var(--f-mono); font-size:12px; color:var(--green); letter-spacing:.04em; margin-bottom:12px; display:block; }
.blog-body h3{ font-size:16.5px; line-height:1.4; margin-bottom:10px; }
.blog-body p{ font-size:14px; color:var(--gray); line-height:1.55; margin-bottom:16px; }
.cat-link-sm{ font-size:13.5px; font-weight:600; color:var(--green); display:inline-flex; gap:6px; align-items:center; }

/* ---------- Banner de pagos ---------- */
.pay-banner{ background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 60%,#0E4A2A 130%); border-radius:var(--radius-lg); padding:52px; display:flex; align-items:center; justify-content:space-between; gap:32px; color:#fff; position:relative; overflow:hidden; flex-wrap:wrap; }
.pay-banner::after{ content:""; position:absolute; right:-60px; top:-60px; width:240px; height:240px; border-radius:50%; border:1px solid rgba(255,255,255,.15); }
.pay-banner h2{ color:#fff; font-size:clamp(22px,2.4vw,30px); margin-bottom:10px; }
.pay-banner p{ color:rgba(255,255,255,.78); font-size:15px; max-width:480px; }
.pay-actions{ display:flex; gap:14px; position:relative; z-index:1; flex-shrink:0; flex-wrap:wrap; }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{ background:var(--navy); color:rgba(255,255,255,.75); padding:64px 0 0; font-size:14px; }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-brand img{ height:32px; margin-bottom:16px; }
.footer-brand p{ color:rgba(255,255,255,.6); line-height:1.6; font-size:13.5px; max-width:240px; }
.social-row{ display:flex; gap:10px; margin-top:20px; }
.social-row a{ width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; transition:background .18s ease, border-color .18s ease; }
.social-row a:hover{ background:var(--green); border-color:var(--green); }
.social-row svg{ width:16px; height:16px; }
.footer-col h4{ color:#fff; font-size:13px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:18px; font-family:var(--f-body); font-weight:700; }
.footer-col ul{ display:flex; flex-direction:column; gap:11px; }
.footer-col a{ color:rgba(255,255,255,.7); transition:color .15s ease; font-size:13.5px; }
.footer-col a:hover{ color:var(--green-2); }
.footer-col address{ font-style:normal; color:rgba(255,255,255,.7); line-height:1.7; font-size:13.5px; }
.footer-legal{ padding:26px 0 30px; display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; color:rgba(255,255,255,.55); font-size:12.5px; line-height:1.6; }
.footer-legal a{ color:var(--green-2); }

/* =========================================================
   REVEAL / STAGGER
   ========================================================= */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform:none; }
.cat-grid .cat-card:nth-child(1){ transition-delay:0s; }
.cat-grid .cat-card:nth-child(2){ transition-delay:.08s; }
.cat-grid .cat-card:nth-child(3){ transition-delay:.16s; }
.cat-grid .cat-card:nth-child(4){ transition-delay:.24s; }
.cat-grid .cat-card:nth-child(5){ transition-delay:.32s; }
.blog-grid .blog-card:nth-child(1){ transition-delay:0s; }
.blog-grid .blog-card:nth-child(2){ transition-delay:.1s; }
.blog-grid .blog-card:nth-child(3){ transition-delay:.2s; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1040px){
  .cat-grid{ grid-template-columns:repeat(2,1fr); }
  .cat-card.featured{ grid-column:span 2; }
  .product-row{ grid-template-columns:1fr 1fr; }
  .blog-grid{ grid-template-columns:1fr 1fr; }
  .footer-top{ grid-template-columns:1fr 1fr; }
  .referral-banner{ grid-template-columns:1fr; }
  .referral-img{ min-height:260px; }
}
@media (max-width:860px){
  .topbar .label-text{ display:none; }
  .main-nav{ position:fixed; inset:var(--header-h) 0 0 0; background:#fff; flex-direction:column; align-items:flex-start; padding:20px 24px; gap:0; overflow-y:auto; transform:translateX(100%); transition:transform .25s ease; }
  .main-nav.is-open{ transform:translateX(0); }
  .main-nav ul{ flex-direction:column; align-items:flex-start; width:100%; gap:4px; }
  .main-nav ul li{ width:100%; border-bottom:1px solid var(--border); }
  .main-nav a{ display:block; padding:14px 4px; }
  .mega{ position:static; box-shadow:none; opacity:1; visibility:visible; transform:none; display:none; width:100%; translate:0; padding-left:14px; }
  .main-nav .has-mega.open .mega{ display:block; }
  .nav-toggle{ display:flex; }
  .header-cta .btn-primary{ display:none; }
  .cat-grid{ grid-template-columns:1fr; }
  .cat-card.featured{ grid-column:span 1; }
  .product-row{ grid-template-columns:1fr; }
  .blog-grid{ grid-template-columns:1fr; }
  .pay-banner{ flex-direction:column; padding:36px 24px; }
  .footer-top{ grid-template-columns:1fr 1fr; gap:28px; }
  .referral-text{ padding:36px 24px; }
  .hero-content{ padding:70px 0 52px; }
}
@media (max-width:560px){
  .section{ padding:56px 0; }
  .footer-top{ grid-template-columns:1fr; }
  .footer-legal{ flex-direction:column; }
  .hero{ min-height:560px; }
}

/* =========================================================
   PÁGINAS INTERIORES — hero, about, formularios
   (añadido para el rediseño de páginas internas)
   ========================================================= */
.page-hero{ background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%); padding:calc(var(--topbar-h) + var(--header-h) + 64px) 0 64px; color:#fff; }
.page-hero h1{ color:#fff; font-size:clamp(30px,4vw,44px); line-height:1.15; max-width:760px; margin:6px 0 16px; }
.page-hero .lead{ color:rgba(255,255,255,.82); font-size:17px; line-height:1.65; max-width:620px; }

.about-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
.about-img img{ border-radius:var(--radius-lg); box-shadow:var(--shadow-md); width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }
@media (max-width:860px){ .about-grid{ grid-template-columns:1fr; } .cat-grid[style]{ grid-template-columns:1fr !important; } }

/* Formulario de contacto */
.form-card{ background:var(--bg-white); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:36px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-row.full{ grid-template-columns:1fr; }
.field{ margin-bottom:18px; display:flex; flex-direction:column; gap:6px; }
.field label{ font-size:13.5px; font-weight:600; color:var(--navy); }
.field input, .field select, .field textarea{
  font-family:var(--f-body); font-size:15px; padding:12px 14px; border:1.5px solid var(--border);
  border-radius:var(--radius-sm); color:var(--ink); background:var(--bg-white); transition:border-color .15s;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--green); }
.field textarea{ resize:vertical; min-height:110px; }
.form-note{ font-size:12.5px; color:var(--gray-soft); margin-top:10px; }
.form-status{ margin-top:16px; padding:12px 16px; border-radius:var(--radius-sm); font-size:14px; display:none; }
.form-status.ok{ background:rgba(52,126,49,.12); color:#1F4D1D; display:block; }
.form-status.err{ background:rgba(220,53,69,.1); color:#a3202f; display:block; }

.contact-info-list{ display:flex; flex-direction:column; gap:22px; }
.contact-info-item{ display:flex; gap:14px; align-items:flex-start; }
.contact-info-item .ic{ width:42px; height:42px; border-radius:12px; background:rgba(52,126,49,.12); color:var(--green); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-info-item h4{ font-size:15px; margin-bottom:3px; }
.contact-info-item p, .contact-info-item a{ color:var(--gray); font-size:14.5px; line-height:1.55; }

@media (max-width:640px){ .form-row{ grid-template-columns:1fr; } .form-card{ padding:24px; } }

/* Nav activo */
.main-nav .is-active{ color:var(--green); }
