
  :root{
    --bg:#0b1118;
    --card:#131c27;
    --card-alt:#0f1620;
    --border:#233344;
    --border-soft:#243648;
    --accent:#00d084;
    --accent-hover:#35ffb7;
    --text:#f2f2f2;
    --text-dim:#a9b4c0;
    --text-mute:#7c8896;
    --bg-rgb:11,17,24;
    --glow:0,208,132;
    --on-accent:#04120b;
    --accent-text:#00d084;
    --nav-sheet:#0d141d;
    --logo-filter:none;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Manrope',Arial,Helvetica,sans-serif;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;}
  img{max-width:100%;display:block;}

  /* ---------- Nav ---------- */
  .nav{
    position:sticky;top:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 24px;
    background:rgba(var(--bg-rgb),0.85);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--border);
  }
  .nav-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.5px;font-size:18px;}
  .nav-brand img{width:32px;height:32px;}
  .nav-links{display:flex;gap:26px;font-size:14px;font-weight:600;}
  .nav-links a{color:var(--text-dim);text-decoration:none;transition:.2s;}
  .nav-links a:hover{color:var(--accent);}
  .nav-cta{
    display:inline-block;padding:9px 18px;border-radius:8px;
    background:var(--accent);color:var(--on-accent);font-weight:700;font-size:13px;
    text-decoration:none;white-space:nowrap;
  }
  .nav-cta:hover{background:var(--accent-hover);}
  .nav-toggle{display:none;background:none;border:none;color:var(--text);font-size:22px;cursor:pointer;}

  @media(max-width:820px){
    .nav-links{
      position:absolute;top:100%;left:0;right:0;
      flex-direction:column;gap:0;
      background:var(--nav-sheet);border-bottom:1px solid var(--border);
      max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    .nav-links.open{max-height:320px;}
    .nav-links a{padding:14px 24px;border-top:1px solid var(--border);}
    .nav-toggle{display:block;}
    .nav-cta{display:none;}
  }

  /* ---------- Hero ---------- */
  .hero{
    text-align:center;
    padding:76px 20px 60px;
    background:
      radial-gradient(ellipse 60% 50% at 50% 0%, rgba(var(--glow),0.14), transparent 70%);
  }
  .hero img.logo{width:150px;height:150px;margin:0 auto 28px;}
  .hero h1{
    font-size:40px;font-weight:800;letter-spacing:-.5px;
    max-width:760px;margin:0 auto 18px;
  }
  .hero h1 span{color:var(--accent);}
  .hero p.lead{
    max-width:600px;margin:0 auto 34px;
    color:var(--text-dim);font-size:18px;
  }
  .hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

  @media(max-width:600px){
    .hero h1{font-size:30px;}
    .hero p.lead{font-size:16px;}
  }

  /* ---------- Layout ---------- */
  .container{width:90%;max-width:1100px;margin:auto;}
  section{padding:10px 0;}
  .section-head{text-align:center;max-width:640px;margin:0 auto 40px;}
  .eyebrow{
    display:inline-block;color:var(--accent);font-weight:700;
    font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;
  }
  h2{font-size:30px;font-weight:800;letter-spacing:-.3px;margin-bottom:14px;}
  .section-head p{color:var(--text-dim);font-size:16px;}

  .card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:14px;
    padding:38px;
    margin-bottom:36px;
  }

  /* ---------- Quiénes somos ---------- */
  .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
  .about-grid p{margin-bottom:16px;color:var(--text-dim);font-size:16px;}
  .about-visual{
    background:var(--card-alt);
    border:1px solid var(--border-soft);
    border-radius:14px;
    padding:30px;
    display:grid;gap:18px;
  }
  .about-stat{display:flex;align-items:center;gap:14px;}
  .about-stat .dot{
    width:10px;height:10px;border-radius:50%;background:var(--accent);flex-shrink:0;
  }
  .about-stat span{color:var(--text-dim);font-size:15px;}
  @media(max-width:800px){ .about-grid{grid-template-columns:1fr;} }

  /* ---------- Por qué elegirnos ---------- */
  .why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;}
  .why-card{
    background:var(--card-alt);border:1px solid var(--border-soft);
    border-radius:12px;padding:26px;transition:.25s;
  }
  .why-card:hover{border-color:var(--accent);transform:translateY(-3px);}
  .why-card .icon{
    width:42px;height:42px;border-radius:10px;
    background:rgba(var(--glow),0.12);color:var(--accent);
    display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  }
  .why-card h3{font-size:17px;font-weight:700;margin-bottom:8px;}
  .why-card p{color:var(--text-dim);font-size:14.5px;}

  /* ---------- Servicios ---------- */
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
  .service{
    background:var(--card-alt);border:1px solid var(--border-soft);
    border-radius:12px;padding:22px;transition:.25s;
    display:flex;gap:14px;align-items:flex-start;
  }
  .service:hover{border-color:var(--accent);transform:translateY(-4px);}
  .service .icon{
    width:38px;height:38px;border-radius:9px;flex-shrink:0;
    background:rgba(var(--glow),0.12);color:var(--accent);
    display:flex;align-items:center;justify-content:center;
  }
  .service span.label{font-size:15px;font-weight:600;line-height:1.4;padding-top:6px;}

  /* ---------- Proceso ---------- */
  .process{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;counter-reset:step;}
  .process-step{position:relative;padding-top:8px;}
  .process-step::before{
    counter-increment:step;content:counter(step);
    display:inline-flex;align-items:center;justify-content:center;
    width:36px;height:36px;border-radius:50%;
    background:var(--accent);color:var(--on-accent);font-weight:800;font-size:15px;
    margin-bottom:16px;
  }
  .process-step h3{font-size:16.5px;font-weight:700;margin-bottom:8px;}
  .process-step p{color:var(--text-dim);font-size:14.5px;}

  /* ---------- Foro ---------- */
  .forum-card{
    display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;
  }
  .forum-card .icon{
    width:56px;height:56px;border-radius:14px;flex-shrink:0;
    background:rgba(var(--glow),0.12);color:var(--accent);
    display:flex;align-items:center;justify-content:center;
  }
  .forum-card h2{font-size:22px;margin-bottom:8px;}
  .forum-card p{color:var(--text-dim);font-size:15px;}
  @media(max-width:700px){
    .forum-card{grid-template-columns:1fr;text-align:center;}
    .forum-card .icon{margin:0 auto;}
  }

  /* ---------- Contacto ---------- */
  .contact-card{text-align:center;}
  .contact-rows{
    display:flex;flex-wrap:wrap;justify-content:center;gap:34px;margin:22px 0 28px;
  }
  .contact-row{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:15.5px;}
  .contact-row .icon{
    width:32px;height:32px;border-radius:8px;flex-shrink:0;
    background:rgba(var(--glow),0.12);color:var(--accent);
    display:flex;align-items:center;justify-content:center;
  }

  /* ---------- Botones ---------- */
  .button{
    display:inline-flex;align-items:center;gap:8px;
    padding:15px 32px;border-radius:9px;
    background:var(--accent);color:var(--on-accent);
    text-decoration:none;font-weight:700;font-size:15px;
    transition:.2s;border:none;cursor:pointer;
  }
  .button:hover{background:var(--accent-hover);}
  .button.secondary{
    background:transparent;color:var(--text);border:1px solid var(--border-soft);
  }
  .button.secondary:hover{border-color:var(--accent);color:var(--accent);background:transparent;}

  /* ---------- Footer ---------- */
  footer{
    text-align:center;padding:40px 20px 16px;color:var(--text-mute);
    border-top:1px solid var(--border);margin-top:40px;font-size:13.5px;
  }
  footer .foot-links{margin-bottom:14px;font-size:14px;}
  footer .foot-links a{color:var(--text-dim);text-decoration:none;margin:0 10px;}
  footer .foot-links a:hover{color:var(--accent);}
  footer .disclaimer{margin-top:10px;color:#5b6672;font-size:12.5px;}

/* ===================== TEMPORADAS =====================
   Se activan solas por fechas (ver tema.js). Cada tema solo cambia variables
   y añade decoración; el atributo data-tema en <html> lo enciende. */
.tm-slot,.tm-only,.tm-deco,.tm-mascot,.tm-toggle{display:none;}
html[data-tema] .tm-slot,html[data-tema] .tm-only{display:block;}
html[data-tema] .tm-deco{display:block;position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;}
html[data-tema] .tm-mascot{display:block;position:fixed;left:14px;bottom:10px;width:64px;z-index:41;pointer-events:none;
  animation:tmGlow 3s ease-in-out infinite alternate;}
@keyframes tmGlow{from{filter:drop-shadow(0 0 5px rgba(var(--glow),.3));}to{filter:drop-shadow(0 0 16px rgba(var(--glow),.8));}}
.tm-toggle.on{display:block;position:fixed;right:14px;bottom:14px;z-index:60;cursor:pointer;
  background:var(--card);color:var(--accent-text);border:1px solid var(--accent);border-radius:999px;
  padding:8px 14px;font-family:inherit;font-weight:700;font-size:12px;line-height:1;box-shadow:0 0 14px rgba(var(--glow),.3);}
.tm-toggle.on:hover{background:var(--card-alt);}

/* ---- variables por tema ---- */
html[data-tema="halloween"]{--bg:#08050d;--bg-rgb:8,5,13;--card:#150e1f;--card-alt:#100a18;--border:#2f2040;--border-soft:#3a2850;
  --accent:#ff7a18;--accent-hover:#ffa24d;--accent-text:#ff9a45;--text-dim:#bdb0cc;--text-mute:#8d7fa0;--on-accent:#1a0b00;
  --glow:255,122,24;--glow2:139,92,246;--nav-sheet:#0d0814;
  --logo-filter:hue-rotate(-125deg) saturate(1.25) drop-shadow(0 0 10px rgba(255,122,24,.55));}
html[data-tema="navidad"]{--bg:#070e1a;--bg-rgb:7,14,26;--card:#0f1b2d;--card-alt:#0b1524;--border:#23405e;--border-soft:#2b4d70;
  --accent:#e63e50;--accent-hover:#ff6272;--accent-text:#ff7b88;--text-dim:#b5c3d4;--text-mute:#7f93a8;--on-accent:#ffffff;
  --glow:230,62,80;--glow2:245,197,90;--nav-sheet:#0a1423;
  --logo-filter:drop-shadow(0 0 10px rgba(0,208,132,.45));}
html[data-tema="santjordi"]{--bg:#13080c;--bg-rgb:19,8,12;--card:#21101a;--card-alt:#1a0c14;--border:#4a2233;--border-soft:#5a2b40;
  --accent:#f2c14e;--accent-hover:#ffd978;--accent-text:#f5cf6d;--text-dim:#d3bcc6;--text-mute:#9a7f8b;--on-accent:#1f1500;
  --glow:242,193,78;--glow2:224,49,75;--nav-sheet:#1a0b12;
  --logo-filter:hue-rotate(-105deg) saturate(1.2) drop-shadow(0 0 10px rgba(242,193,78,.5));}
html[data-tema="backup"]{--bg:#050b14;--bg-rgb:5,11,20;--card:#0c1829;--card-alt:#09131f;--border:#1d3a5c;--border-soft:#26496f;
  --accent:#4da3ff;--accent-hover:#7bbcff;--accent-text:#7fbaff;--text-dim:#b0c2d6;--text-mute:#7b90a8;--on-accent:#04101f;
  --glow:77,163,255;--glow2:0,208,132;--nav-sheet:#08111d;
  --logo-filter:hue-rotate(62deg) saturate(1.15) drop-shadow(0 0 10px rgba(77,163,255,.5));}
html[data-tema="password"]{--bg:#050b10;--bg-rgb:5,11,16;--card:#0b1822;--card-alt:#08121a;--border:#1a3a4a;--border-soft:#22495c;
  --accent:#22d3ee;--accent-hover:#67e8f9;--accent-text:#5ee3f5;--text-dim:#a9c2cc;--text-mute:#738f9b;--on-accent:#03151a;
  --glow:34,211,238;--glow2:110,231,183;--nav-sheet:#07121a;
  --logo-filter:hue-rotate(35deg) saturate(1.1) drop-shadow(0 0 10px rgba(34,211,238,.5));}

/* ---- reglas comunes (se apoyan en las variables) ---- */
html[data-tema] body{background:var(--bg);}
html[data-tema] ::selection{background:var(--accent);color:var(--on-accent);}
html[data-tema] .nav{background:rgba(var(--bg-rgb),.88);}
html[data-tema] .nav-brand img,html[data-tema] .hero img.logo{filter:var(--logo-filter);}
html[data-tema] .hero{position:relative;overflow:hidden;
  background:radial-gradient(ellipse 55% 45% at 50% 0%,rgba(var(--glow),.2),transparent 70%),
             radial-gradient(ellipse 40% 40% at 85% 20%,rgba(var(--glow2),.16),transparent 70%);}
html[data-tema] .hero > *{position:relative;z-index:2;}
.tm-ghost{display:none;}
html[data-tema] .hero > .tm-ghost{display:block;position:absolute;}
html[data-tema] .container,html[data-tema] footer{position:relative;z-index:1;}
html[data-tema] .why-card:hover,html[data-tema] .service:hover,html[data-tema] .process-step:hover,html[data-tema] .tm-card:hover{
  border-color:var(--accent);box-shadow:0 0 22px rgba(var(--glow),.22);}
html[data-tema] .eyebrow{color:var(--accent-text);}
html[data-tema] footer .tm-only{color:var(--accent-text);}
.tm-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px;border-radius:999px;
  border:1px solid rgba(var(--glow),.45);background:rgba(var(--glow),.08);color:var(--accent-text);font-weight:700;font-size:12px;
  letter-spacing:1.4px;text-transform:uppercase;text-align:center;}
#tm-kicker{text-align:center;}
.tm-count-msg{color:var(--text-dim);font-size:14px;margin-bottom:12px;}
.tm-count{display:flex;justify-content:center;gap:12px;margin:0 auto 30px;flex-wrap:wrap;}
.tm-count div{min-width:74px;padding:10px 8px;border-radius:12px;background:rgba(var(--bg-rgb),.7);border:1px solid var(--border-soft);text-align:center;}
.tm-count b{display:block;font-size:26px;line-height:1.1;color:var(--accent-text);font-weight:800;font-variant-numeric:tabular-nums;}
.tm-count span{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-mute);}
.tm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
.tm-card{background:var(--card);border:1px solid var(--border-soft);border-radius:14px;padding:22px;position:relative;overflow:hidden;transition:.25s;}
.tm-card::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--glow),.18),transparent 70%);}
.tm-card h3{font-size:17px;margin-bottom:8px;color:var(--accent-text);}
.tm-card p{font-size:14.5px;color:var(--text-dim);margin-bottom:10px;}
.tm-card .tip{font-size:13.5px;color:var(--text);border-top:1px dashed var(--border-soft);padding-top:10px;margin:0;}
.tm-card .tip b{color:var(--accent-text);}
.tm-note{text-align:center;color:var(--text-mute);font-size:13px;margin-top:18px;}
.tm-note a{color:var(--accent-text);}

/* ---- Halloween ---- */
.tm-fog{position:absolute;left:-20%;right:-20%;bottom:-8%;height:40%;
  background:radial-gradient(ellipse at 50% 100%,rgba(170,150,210,.18),transparent 65%);filter:blur(18px);animation:tmFog 22s ease-in-out infinite alternate;}
.tm-fog.f2{height:30%;opacity:.7;animation-duration:31s;animation-direction:alternate-reverse;}
@keyframes tmFog{from{transform:translateX(-6%);}to{transform:translateX(6%);}}
.tm-web{position:absolute;top:0;width:150px;height:150px;opacity:.5;}
.tm-web.l{left:0;} .tm-web.r{right:0;transform:scaleX(-1);}
.tm-bat{position:absolute;left:-80px;width:46px;color:#1c1230;filter:drop-shadow(0 0 3px rgba(255,122,24,.8));animation:tmFly 18s linear infinite;}
.tm-bat svg{width:100%;height:auto;display:block;animation:tmFlap .35s ease-in-out infinite;transform-origin:50% 40%;}
.tm-bat.b1{top:12%;animation-duration:16s;}
.tm-bat.b2{top:26%;width:34px;animation-duration:22s;animation-delay:-8s;}
.tm-bat.b3{top:8%;width:54px;animation-duration:26s;animation-delay:-15s;}
.tm-bat.b4{top:40%;width:30px;animation-duration:19s;animation-delay:-4s;}
.tm-bat.b5{top:18%;width:40px;animation-duration:30s;animation-delay:-20s;}
@keyframes tmFly{0%{transform:translate(0,0);}25%{transform:translate(30vw,40px);}50%{transform:translate(60vw,-20px);}75%{transform:translate(90vw,50px);}100%{transform:translate(125vw,0);}}
@keyframes tmFlap{0%,100%{transform:scaleY(1);}50%{transform:scaleY(.5);}}
.tm-ghost{left:7%;top:90px;width:70px;opacity:.85;animation:tmFloat 5s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(200,190,255,.45));}
@keyframes tmFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
html[data-tema="halloween"] .hero h1 span{text-shadow:0 0 14px rgba(255,122,24,.6);animation:tmFlicker 4.5s infinite;}
@keyframes tmFlicker{0%,18%,22%,60%,64%,100%{opacity:1;}20%,62%{opacity:.55;text-shadow:none;}21%{opacity:.9;}}
html[data-tema="halloween"] .hero::before{content:"";position:absolute;z-index:1;top:34px;right:9%;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#fffbe8 0 55%,#f1e3b0 100%);
  box-shadow:0 0 40px 14px rgba(255,236,170,.25),0 0 120px 40px rgba(255,200,120,.12);opacity:.9;}
html[data-tema="halloween"] .hero::after{content:"";position:absolute;z-index:1;top:34px;right:9%;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle at 62% 34%,rgba(160,140,90,.35) 0 9px,transparent 10px),
             radial-gradient(circle at 40% 62%,rgba(160,140,90,.30) 0 14px,transparent 15px),
             radial-gradient(circle at 72% 68%,rgba(160,140,90,.28) 0 7px,transparent 8px);}

/* ---- Navidad ---- */
.tm-flake{position:absolute;top:-12px;background:#fff;border-radius:50%;opacity:.85;animation:tmFall linear infinite;}
@keyframes tmFall{from{transform:translate3d(0,-12px,0);}to{transform:translate3d(var(--dx,20px),108vh,0);}}
.tm-lights{display:none;position:absolute;left:0;right:0;top:100%;height:30px;overflow:hidden;pointer-events:none;z-index:49;}
html[data-tema="navidad"] .tm-lights{display:flex;justify-content:space-between;}
.tm-lights::before{content:"";position:absolute;left:0;right:0;top:3px;height:2px;background:#33475c;}
.tm-lights i{position:relative;margin-top:5px;width:9px;height:14px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;flex:none;
  animation:tmTwinkle 2.4s ease-in-out infinite;}
.tm-lights i:nth-child(4n+1){background:#ff4d5e;box-shadow:0 0 10px #ff4d5e;}
.tm-lights i:nth-child(4n+2){background:#ffd166;box-shadow:0 0 10px #ffd166;animation-delay:-.6s;}
.tm-lights i:nth-child(4n+3){background:#3ddc97;box-shadow:0 0 10px #3ddc97;animation-delay:-1.2s;}
.tm-lights i:nth-child(4n+4){background:#5db7ff;box-shadow:0 0 10px #5db7ff;animation-delay:-1.8s;}
@keyframes tmTwinkle{0%,100%{opacity:1;}50%{opacity:.35;}}

/* ---- Sant Jordi ---- */
.tm-petal{position:absolute;top:-30px;width:14px;height:18px;background:radial-gradient(circle at 30% 30%,#ff7a8c,#c4162f 70%);
  border-radius:80% 0 80% 0;opacity:.85;animation:tmPetal linear infinite;}
@keyframes tmPetal{from{transform:translate3d(0,-30px,0) rotate(0);}to{transform:translate3d(var(--dx,40px),108vh,0) rotate(540deg);}}

/* ---- Copias de seguridad ---- */
.tm-float{position:absolute;bottom:-60px;opacity:.26;color:var(--accent);animation:tmRise linear infinite;}
@keyframes tmRise{from{transform:translateY(0);}to{transform:translateY(-118vh);}}

/* ---- Contraseña ---- */
.tm-col{position:absolute;top:-340px;writing-mode:vertical-rl;font-family:Consolas,"Courier New",monospace;font-size:14px;letter-spacing:3px;
  color:var(--accent);opacity:.2;white-space:nowrap;animation:tmCol linear infinite;}
@keyframes tmCol{from{transform:translateY(0);}to{transform:translateY(140vh);}}

@media(max-width:820px){
  html[data-tema] .tm-mascot{width:46px;}
  .tm-web{width:90px;height:90px;}
  html[data-tema] .hero > .tm-ghost{display:none;}
  html[data-tema="halloween"] .hero::before,html[data-tema="halloween"] .hero::after{width:70px;height:70px;right:5%;top:20px;}
}
@media (prefers-reduced-motion: reduce){
  .tm-bat,.tm-bat svg,.tm-fog,.tm-ghost,.tm-mascot,.tm-lights i,.tm-flake,.tm-petal,.tm-float,.tm-col,
  html[data-tema="halloween"] .hero h1 span{animation:none !important;}
  .tm-bat,.tm-flake,.tm-petal,.tm-float,.tm-col{display:none;}
}


/* ---------- Páginas de servicio ---------- */
.page{padding-top:34px;}
.crumbs{font-size:13px;color:var(--text-mute);margin-bottom:22px;}
.crumbs a{color:var(--text-dim);text-decoration:none;}
.crumbs a:hover{color:var(--accent);}
.page-hero{max-width:820px;margin:0 0 34px;}
.page-hero h1{font-size:38px;font-weight:800;letter-spacing:-.5px;line-height:1.2;margin-bottom:16px;}
.page-hero p.lead{color:var(--text-dim);font-size:18px;margin-bottom:26px;}
.page h2{font-size:26px;margin-bottom:16px;}
.page .card{margin-bottom:28px;}
.page .card p{color:var(--text-dim);font-size:16px;margin-bottom:14px;}
.check-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px 26px;}
.check-list li{position:relative;padding-left:28px;color:var(--text-dim);font-size:15.5px;}
.check-list li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;
  background:rgba(var(--glow),.16);border:1px solid var(--accent);}
.check-list li::after{content:"";position:absolute;left:5px;top:11px;width:6px;height:3px;border-left:2px solid var(--accent);
  border-bottom:2px solid var(--accent);transform:rotate(-45deg);}
.faq details{border:1px solid var(--border-soft);border-radius:10px;padding:14px 18px;margin-bottom:10px;background:var(--card-alt);}
.faq summary{cursor:pointer;font-weight:700;font-size:16px;}
.faq details[open] summary{color:var(--accent);margin-bottom:8px;}
.faq details p{margin:0;color:var(--text-dim);font-size:15px;}
.cta-card{text-align:center;}
.cta-card .hero-actions{margin-top:20px;}
.related{display:flex;flex-wrap:wrap;gap:10px;}
.related a{padding:9px 16px;border:1px solid var(--border-soft);border-radius:999px;text-decoration:none;color:var(--text-dim);font-size:14px;transition:.2s;}
.related a:hover{border-color:var(--accent);color:var(--accent);}
.svc-links{margin-top:28px;padding-top:24px;border-top:1px solid var(--border-soft);}
.svc-links h3{font-size:15px;color:var(--text-dim);font-weight:700;margin-bottom:12px;letter-spacing:.3px;}
@media(max-width:600px){.page-hero h1{font-size:28px;}.page-hero p.lead{font-size:16px;}}
.page-hero .hero-actions{justify-content:flex-start;}
@media(max-width:600px){.page .card{padding:22px;}}

/* ---------- Enlace destacado a la página de IA ---------- */
.nav-links a.nav-ia{display:inline-flex;align-items:center;gap:6px;color:var(--accent);border:1px solid var(--accent);
  border-radius:999px;padding:4px 14px;background:rgba(var(--glow),.10);font-weight:700;}
.nav-links a.nav-ia:hover{background:var(--accent);color:var(--on-accent);}
.nav-links a.nav-ia svg{flex:none;}
@media(max-width:820px){
  .nav-links.open{max-height:400px;}
  .nav-links a.nav-ia{border:0;border-top:1px solid var(--border);border-radius:0;background:none;padding:14px 24px;}
}
