/* Extraído tal cual del <style> embebido en contacto.html (bloques "Motivos frecuentes" y "Vías directas"). */
.fm-section{
  position:relative;
  padding:110px 0 100px;
  background:
    radial-gradient(65% 55% at 85% 0%, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(180deg,#0e1116 0%,#0a0c10 100%);
  overflow:hidden;
}
.fm-section::before{
  content:"";
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(60% 60% at 50% 20%, #000 0%, transparent 75%);
  pointer-events:none;
}
.fm-wrap{ position:relative; max-width:1180px; margin:0 auto; padding:0 24px; }
.fm-head{ max-width:620px; margin-bottom:52px; }
.fm-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:#f5f5f5;
  margin-bottom:18px;
}
.fm-eyebrow::before{ content:""; width:26px; height:1px; background:#f5f5f5; display:inline-block; }
.fm-head h2{
  font-family:'Fraunces',serif; font-weight:400; font-style:italic;
  font-size:clamp(30px,3.8vw,42px); line-height:1.18; color:#f5f2ec; margin:0 0 16px;
}
.fm-head p{ font-family:'Inter',sans-serif; font-size:15.5px; line-height:1.65; color:#9aa0ac; margin:0; }

.fm-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(206px, 1fr));
  gap:18px;
}
.fm-card{
  position:relative;
  display:flex; flex-direction:column;
  padding:32px 26px 26px;
  background:linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012));
  border:1px solid rgba(255,255,255,0.08);
  border-radius:4px;
  text-decoration:none;
  overflow:hidden;
  transition:transform .4s cubic-bezier(.16,1,.3,1), border-color .4s ease, background .4s ease;
}
.fm-card::before{
  content:"";
  position:absolute; inset:0; border-radius:4px; padding:1px;
  background:linear-gradient(150deg, rgba(255,255,255,0.5), rgba(255,255,255,0) 50%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .4s ease;
}
.fm-card:hover{ transform:translateY(-5px); border-color:rgba(255,255,255,0.3); background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.018)); }
.fm-card:hover::before{ opacity:1; }

.fm-icon{
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.3);
  color:#f5f5f5; margin-bottom:22px; font-size:21px;
  transition:background .35s ease, color .35s ease;
}
.fm-card:hover .fm-icon{ background:#f5f5f5; color:#0a0c10; }
.fm-card h4{
  font-family:'Fraunces',serif; font-weight:500; font-size:18px; color:#f5f2ec;
  margin:0 0 10px; line-height:1.3;
}
.fm-card p{
  font-family:'Inter',sans-serif; font-size:13.5px; line-height:1.6; color:#9aa0ac;
  margin:0 0 22px; flex-grow:1;
}
.fm-go{
  display:flex; align-items:center; gap:6px;
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:.02em; color:#f5f5f5;
  padding-top:16px; border-top:1px solid rgba(255,255,255,0.08);
}
.fm-go .material-symbols-outlined{ font-size:16px; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.fm-card:hover .fm-go .material-symbols-outlined{ transform:translateX(4px); }

@media (max-width:768px){
  .fm-section{ padding:72px 0; }
  .fm-grid{ grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:14px; }
  .fm-card{ padding:26px 20px 22px; }
}

.dc-section{
  position:relative;
  padding:120px 0;
  background:
    radial-gradient(70% 55% at 18% 0%, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0) 60%),
    radial-gradient(60% 50% at 100% 100%, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(180deg,#0a0c10 0%,#12151b 100%);
  overflow:hidden;
}
.dc-section::before{
  content:"";
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(60% 60% at 50% 30%, #000 0%, transparent 75%);
  pointer-events:none;
}
.dc-wrap{ position:relative; max-width:1180px; margin:0 auto; padding:0 24px; }
.dc-head{ max-width:640px; margin-bottom:56px; }
.dc-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:#f5f5f5;
  margin-bottom:18px;
}
.dc-eyebrow::before{ content:""; width:26px; height:1px; background:#f5f5f5; display:inline-block; }
.dc-head h2{
  font-family:'Fraunces',serif; font-weight:400; font-style:italic;
  font-size:clamp(32px,4vw,46px); line-height:1.15; color:#f5f2ec; margin:0 0 16px;
}
.dc-head p{ font-family:'Inter',sans-serif; font-size:16px; line-height:1.65; color:#9aa0ac; margin:0; }

.dc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; position:relative; }
.dc-grid::after{
  content:"o";
  font-family:'Fraunces',serif; font-style:italic; font-size:13px; color:#6b7078;
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:38px; height:38px; border:1px solid rgba(255,255,255,0.14); border-radius:50%;
  background:#12151b; display:flex; align-items:center; justify-content:center;
  z-index:2;
}
@media (min-width:769px){
  .dc-grid::after{ display:flex; }
}

.dc-card{
  position:relative;
  display:flex; flex-direction:column;
  padding:44px 38px;
  background:linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.015));
  border:1px solid rgba(255,255,255,0.09);
  border-radius:4px;
  text-decoration:none;
  overflow:hidden;
  transition:transform .45s cubic-bezier(.16,1,.3,1), border-color .45s ease, background .45s ease;
}
.dc-card::before{
  content:"";
  position:absolute; inset:0; border-radius:4px; padding:1px;
  background:linear-gradient(135deg, rgba(255,255,255,0.55), rgba(255,255,255,0) 45%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .45s ease;
}
.dc-card:hover{ transform:translateY(-6px); border-color:rgba(255,255,255,0.35); background:linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02)); }
.dc-card:hover::before{ opacity:1; }

.dc-mark{
  position:absolute; right:28px; top:18px;
  font-family:'Fraunces',serif; font-size:96px; font-weight:300; color:rgba(255,255,255,0.035);
  line-height:1; pointer-events:none; user-select:none;
}
.dc-icon{
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.3);
  color:#f5f5f5; margin-bottom:26px;
  font-size:24px;
}
.dc-kicker{
  font-family:'Inter',sans-serif; font-size:11.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:#f5f5f5; margin-bottom:10px;
}
.dc-card h3{
  font-family:'Fraunces',serif; font-weight:500; font-size:23px; color:#f5f2ec;
  margin:0 0 12px; line-height:1.3;
}
.dc-card p.dc-desc{
  font-family:'Inter',sans-serif; font-size:14.5px; line-height:1.7; color:#9aa0ac;
  margin:0 0 28px; flex-grow:1;
}
.dc-cta{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding-top:20px; border-top:1px solid rgba(255,255,255,0.09);
}
.dc-email{
  font-family:'Inter',sans-serif; font-size:15.5px; font-weight:600; color:#f5f2ec;
  word-break:break-all;
}
.dc-arrow{
  flex:none; width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,0.16); color:#f5f2ec;
  font-size:18px; transition:transform .35s cubic-bezier(.16,1,.3,1), background .35s ease, border-color .35s ease;
}
.dc-card:hover .dc-arrow{ transform:translateX(4px) rotate(-45deg); background:#f5f5f5; border-color:#f5f5f5; color:#0a0c10; }

@media (max-width:768px){
  .dc-section{ padding:80px 0; }
  .dc-grid{ grid-template-columns:1fr; gap:18px; }
  .dc-card{ padding:34px 26px; }
  .dc-mark{ font-size:64px; right:20px; }
}
