/* ─── Reset scope ─────────────────────────────────────── */
#servicios *,#servicios *::before,#servicios *::after{box-sizing:border-box}
#servicios button{font-family:inherit;cursor:pointer;border:none;background:none;padding:0}

/* ─── Design Tokens (block-scoped) ───── */
#servicios{
  --blue:     #0033A0;
  --gold:     #D4AF37;
  --red:      #C41E3A;
  --teal:     #008080;
  --ink:      #0a0a0a;
  --white:    #ffffff;
  --off:      #F5F5F5;

  --blue-light:  #6691d4;
  --red-light:   #e06070;
  --teal-light:  #3db8a0;

  --gold-dim:    rgba(212,175,55,.30);
  --gold-mid:    rgba(212,175,55,.65);
  --gold-glow:   rgba(212,175,55,.45);
  --gold-full:   rgba(212,175,55,.85);

  --r:        12px;
  --ease-out: cubic-bezier(0.16,1,0.3,1);
  --ease-snappy: cubic-bezier(0.22,1,0.36,1);
  --font:     'Inter', system-ui, sans-serif;
  --section-bg: hsl(224, 48%, 4%);
  --card-bg:    rgba(4,8,24,.70);
}

/* ─── Container ─────────────────────────────────────── */
#servicios .c{max-width:1600px;margin:0 auto;padding:0 1.5rem}
@media(min-width:768px){#servicios .c{padding:0 3rem}}
#servicios.sp{padding:2rem 0}
@media(min-width:768px){#servicios.sp{padding:2.5rem 0}}

/* ─── Section header ─────────────────────────────────── */
#servicios .ml{
  font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.2em;
  display:inline-flex;align-items:center;gap:6px;
  margin-bottom:.625rem;
}
#servicios .ml-gold{color:var(--gold)}
#servicios .sh{margin-bottom:1.25rem}
#servicios .sh-title{
  font-size:clamp(24px,4vw,42px);
  font-weight:700;letter-spacing:-.045em;line-height:1.0;
  color:#fff;
}
#servicios .sh-row{
  display:flex;align-items:flex-end;
  justify-content:space-between;gap:1rem;flex-wrap:wrap
}
#servicios .aw{color:#fff}
#servicios .ag{color:var(--gold)}

/* ─── Reveal: default visible ────────────────────────── */
#servicios .r{opacity:1;transform:none;filter:none}

@media(prefers-reduced-motion:no-preference){
  #servicios .r{
    opacity:0;transform:translateY(14px);
    transition:opacity .65s var(--ease-out),transform .65s var(--ease-out);
  }
  #servicios .r.on{opacity:1;transform:none}
}

/* ════════════════════════════════════════════════════════════
   CAPA 0 ──── FONDO DE SECCIÓN
   ════════════════════════════════════════════════════════════ */

#servicios{
  position:relative;
  overflow:hidden;
  background: var(--section-bg);
}
#servicios .c{ position:relative; z-index:2; }

.srv-section-bg{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}

.srv-topo-canvas{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  opacity:.45;
  mix-blend-mode:screen;
}

.srv-aurora-1,
.srv-aurora-2,
.srv-aurora-3,
.srv-aurora-4{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  will-change:transform;
  contain:layout style paint;
}

.srv-aurora-1{
  width:90%; height:75%;
  top:-25%; left:-20%;
  background:radial-gradient(ellipse at center,
    rgba(0,51,160,.80) 0%,
    rgba(0,40,130,.45) 35%,
    transparent        70%);
  filter:blur(88px);
}

.srv-aurora-2{
  width:70%; height:65%;
  bottom:-20%; right:-15%;
  background:radial-gradient(ellipse at center,
    rgba(10,60,180,.70) 0%,
    rgba(0,51,160,.35)  40%,
    transparent         70%);
  filter:blur(72px);
}

.srv-aurora-3{
  width:45%; height:50%;
  top:20%; left:35%;
  background:radial-gradient(ellipse at center,
    rgba(212,175,55,.22) 0%,
    rgba(200,160,40,.08) 45%,
    transparent          70%);
  filter:blur(64px);
}

.srv-aurora-4{
  width:40%; height:45%;
  bottom:-10%; left:5%;
  background:radial-gradient(ellipse at center,
    rgba(0,128,128,.20) 0%,
    rgba(0,100,100,.07) 45%,
    transparent         70%);
  filter:blur(60px);
}

@keyframes auroraA{
  0%,100%{ transform:translate(0%,   0%)  scale(1)    }
  33%    { transform:translate(18%,  12%) scale(1.08) }
  66%    { transform:translate(-8%,  18%) scale(0.94) }
}
@keyframes auroraB{
  0%,100%{ transform:translate(0%,   0%)  scale(1)    }
  40%    { transform:translate(-14%,-10%) scale(1.10) }
  72%    { transform:translate(10%, -14%) scale(0.96) }
}
@keyframes auroraC{
  0%,100%{ transform:translate(0%,  0%)   scale(1)    }
  50%    { transform:translate(-22%, 18%) scale(1.25) }
}
@keyframes auroraD{
  0%,100%{ transform:translate(0%,  0%)   scale(1)    }
  38%    { transform:translate(18%, -12%) scale(1.12) }
  75%    { transform:translate(-10%, -6%) scale(0.92) }
}

@media(prefers-reduced-motion:no-preference){
  .srv-aurora-1{ animation:auroraA 30s ease-in-out infinite }
  .srv-aurora-2{ animation:auroraB 22s ease-in-out infinite; animation-delay:-9s }
  .srv-aurora-3{ animation:auroraC 18s ease-in-out infinite; animation-delay:-5s }
  .srv-aurora-4{ animation:auroraD 26s ease-in-out infinite; animation-delay:-13s }
}

@media(max-width:768px){
  .srv-aurora-1{ filter:blur(32px) }
  .srv-aurora-2{ filter:blur(24px) }
  .srv-aurora-3, .srv-aurora-4{ display:none }
  .srv-topo-canvas{ display:none }
}

.srv-section-fade{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(to bottom,
      var(--section-bg) 0%,
      transparent     18%,
      transparent     82%,
      var(--section-bg) 100%
    ),
    linear-gradient(to right,
      var(--section-bg) 0%,
      transparent     10%,
      transparent     90%,
      var(--section-bg) 100%
    );
}

/* ════════════════════════════════════════════════════════════
   CAPA 1 ──── GRID DE SERVICIOS
   ════════════════════════════════════════════════════════════ */

.svc:hover,.svc:focus-visible{ z-index:2; }

.srv-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
@media(min-width:900px){
  .srv-layout{
    grid-template-columns:280px 1fr;
    align-items:stretch;
  }
}
@media(min-width:1200px){
  .srv-layout{grid-template-columns:320px 1fr}
}
/* layout="catalog" — rejilla sin panel manifesto, ocupa todo el ancho */
@media(min-width:900px){
  .srv-layout--catalog{grid-template-columns:1fr}
}
@media(min-width:1200px){
  .srv-layout--catalog{grid-template-columns:1fr}
}

/* ── Panel manifesto ── */
.srv-panel{
  background:var(--blue);
  border-radius:var(--r) 0 0 var(--r);
  padding:2.25rem 1.875rem;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
  min-height:280px;
}
@media(max-width:899px){
  .srv-panel{border-radius:var(--r) var(--r) 0 0;min-height:auto}
}
.srv-panel::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:32px 32px;
}
.srv-panel::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);
  z-index:1;
  transform-origin:left center;
  transform:scaleX(0);
}
@media(prefers-reduced-motion:no-preference){
  .srv-panel.on::after{
    animation:goldDraw 1.3s var(--ease-out) forwards;
  }
  @keyframes goldDraw{
    0%  { transform:scaleX(0); box-shadow:none }
    50% { transform:scaleX(1); box-shadow:none }
    72% { transform:scaleX(1); box-shadow:0 0 20px 7px var(--gold-glow) }
    100%{ transform:scaleX(1); box-shadow:none }
  }
}
@media(prefers-reduced-motion:reduce){
  .srv-panel::after{ transform:scaleX(1); }
}
.srv-panel > *{position:relative;z-index:1}

.srv-panel-orb{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(75% 65% at 15% 90%, rgba(255,255,255,.10) 0%, transparent 70%),
    radial-gradient(45% 40% at 85% 15%, rgba(212,175,55,.07) 0%, transparent 60%);
}
@keyframes orbBreathe{
  0%,100%{ opacity:.6;  transform:scale(1)      }
  40%    { opacity:1;   transform:scale(1.08)   }
  70%    { opacity:.75; transform:scale(.97)    }
}
@media(prefers-reduced-motion:no-preference){
  .srv-panel-orb { animation:orbBreathe 28s ease-in-out infinite; }
}

.srv-panel-module{
  font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.22em;
  color:var(--gold);margin-bottom:1.125rem;
}
.srv-panel-title{
  font-size:clamp(22px,2.8vw,34px);
  font-weight:700;letter-spacing:-.04em;line-height:1.05;
  color:#fff;margin-bottom:1rem;
}
.srv-panel-sub{
  font-size:12px;color:rgba(255,255,255,.65);
  line-height:1.7;font-weight:400;
}

/* ── M1-1: Word reveal ── */
.srv-panel-title .w{ display:inline-block; }

@media(prefers-reduced-motion:no-preference){
  .srv-panel-title .w{
    clip-path:inset(0 0 100% 0);
    transform:translateY(7px);
    transition:
      clip-path 480ms calc(180ms + var(--wi,0)*55ms) var(--ease-snappy),
      transform  480ms calc(180ms + var(--wi,0)*55ms) var(--ease-snappy);
  }
  .srv-panel.on .srv-panel-title .w{
    clip-path:inset(0 0 0% 0);
    transform:translateY(0);
  }
}
@media(prefers-reduced-motion:no-preference){
  .srv-panel-title .w-hero,
  .srv-panel-title .w-secondary{
    clip-path:none !important;
    transform:none !important;
    transition:none !important;
  }
}
.srv-panel-static{ display:inline; }
@media(prefers-reduced-motion:no-preference){
  .srv-panel-static{
    opacity:0;
    transition:opacity 480ms 180ms var(--ease-snappy);
  }
  .srv-panel.on .srv-panel-static{
    opacity:1;
  }
}
.w-hero{ color:#ffffff; }

/* ── Micro-stepper ── */
.srv-steps{
  list-style:none;padding:0;margin:1.5rem 0 0;
  display:flex;flex-direction:column;gap:10px;
}
.srv-step{
  display:flex;align-items:center;gap:10px;
}

.srv-step-ring{
  position:relative;flex-shrink:0;
  width:28px;height:28px;
}
.srv-step-ring svg{
  display:block;
  transform:rotate(-90deg);
}

.srv-ring-track{
  fill:none;
  stroke:var(--gold-dim);
  stroke-width:1.5;
}

.srv-ring-fill{
  fill:none;
  stroke:var(--gold);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-dasharray:75.4;
  stroke-dashoffset:75.4;
}
@media(prefers-reduced-motion:no-preference){
  .srv-panel.on .srv-ring-fill{
    stroke-dashoffset:0;
    transition:stroke-dashoffset 600ms calc(1200ms + var(--si,0) * 220ms) var(--ease-out);
  }
}
@media(prefers-reduced-motion:reduce){
  .srv-ring-fill{ stroke-dashoffset:0; }
}

.srv-step-num{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:var(--gold);
  line-height:1;
}

.srv-step-text{
  font-size:13px;font-weight:500;color:rgba(255,255,255,.80);
  letter-spacing:.03em;line-height:1.3;
}

@media(prefers-reduced-motion:no-preference){
  .srv-step-text{
    clip-path:inset(0 100% 0 0);
    transition:clip-path 450ms calc(1350ms + var(--si,0) * 220ms) var(--ease-out);
  }
  .srv-panel.on .srv-step-text{
    clip-path:inset(0 0% 0 0);
  }
}

.srv-panel-foot{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:auto;padding-top:.75rem;
  font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.2em;
  color:var(--gold);
}
.srv-panel-foot::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--gold);flex-shrink:0;
}

/* ── Grid de tarjetas ── */
.srv-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1px;
  background:rgba(255,255,255,.06);
  position:relative;
  overflow:hidden;
}

.srv-scan{
  position:absolute;inset:0;
  pointer-events:none;z-index:10;overflow:hidden;
}
.srv-scan-beam{
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,
    transparent,
    var(--gold-mid) 25%,
    rgba(255,255,255,.5) 50%,
    var(--gold-mid) 75%,
    transparent);
  box-shadow:0 0 8px 2px rgba(212,175,55,.05);
  transform:translateY(-3px);
}
@media(prefers-reduced-motion:no-preference){
  .srv-scan.active .srv-scan-beam{
    animation:scanSweep 1100ms cubic-bezier(0.16,1,0.3,1) forwards;
  }
}
@keyframes scanSweep{
  from{ transform:translateY(-3px) }
  to  { transform:translateY(100%) }
}
@media(min-width:480px){.srv-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.srv-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1200px){.srv-grid{grid-template-columns:repeat(4,1fr)}}

/* ━━ TARJETA ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.svc{
  background:var(--card-bg);
  padding:1.625rem 1.375rem;
  position:relative;overflow:hidden;
  display:grid;
  grid-template-columns:44px 1fr;
  grid-template-rows:auto 1fr auto;
  column-gap:14px;
  cursor:pointer;outline:none;
  /* Neutraliza estilos nativos cuando la tarjeta se renderiza como <a href>
     (modo itemsLinkTo): sin subrayado ni color azul de link. El diseño usa
     sus propios tokens para título/desc/CTA. */
  color:inherit;
  text-decoration:none;
  box-shadow:
    0 1px 2px rgba(0,0,0,.55),
    0 0 0 0.5px rgba(255,255,255,.04) inset,
    inset 2px 0 0 rgba(var(--svc-rgb,0,51,160),.30);
  transition:
    background  300ms cubic-bezier(0.23,1,0.32,1),
    box-shadow  400ms cubic-bezier(0.23,1,0.32,1),
    transform   400ms cubic-bezier(0.23,1,0.32,1);
}
.svc:hover,.svc:focus,.svc:focus-visible,.svc:active,.svc:visited{
  color:inherit;
  text-decoration:none;
}

.svc:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:-2px;
  z-index:2;
}

.svc:hover,.svc:focus-visible{
  will-change:transform;
  background:rgba(0,33,160,.12);
  box-shadow:
    0 2px  4px  rgba(0,0,0,.40),
    0 10px 24px rgba(0,0,0,.45),
    0 32px 64px rgba(0,0,0,.30),
    0 0   0 1px rgba(var(--svc-rgb,0,51,160),.18) inset,
    inset 3px 0 0 rgba(var(--svc-rgb,0,51,160),.70);
}

.svc:active{
  transform:scale(0.965) translateY(2px) !important;
  box-shadow:
    0 1px  2px rgba(0,0,0,.50),
    0 4px  8px rgba(0,0,0,.35),
    0 0 0 1px rgba(var(--svc-rgb,0,51,160),.12) inset !important;
  transition:
    transform   100ms cubic-bezier(0.23,1,0.32,1),
    box-shadow  100ms cubic-bezier(0.23,1,0.32,1) !important;
}

@media(prefers-reduced-motion:no-preference){
  .svc.r{
    opacity:0;transform:translateY(14px);filter:blur(3px);
    transition:
      opacity   580ms cubic-bezier(0.32,0.72,0,1),
      transform 580ms cubic-bezier(0.32,0.72,0,1),
      filter    580ms cubic-bezier(0.32,0.72,0,1),
      background 300ms cubic-bezier(0.23,1,0.32,1),
      box-shadow 400ms cubic-bezier(0.23,1,0.32,1);
  }
  .svc.r.on{opacity:1;transform:translateY(0);filter:blur(0)}
}

.svc::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08) 40%,rgba(255,255,255,.08) 60%,transparent);
  pointer-events:none;z-index:1;
}

.svc::after{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(
    180px circle at var(--mx,-300px) var(--my,-300px),
    rgba(var(--svc-rgb,0,51,160),.08),
    transparent 60%
  );
  opacity:0;transition:opacity .3s;
}
.svc:hover::after,.svc:focus-visible::after{opacity:1}
.svc > *{position:relative;z-index:1}

.svc-status{
  position:absolute;top:.875rem;right:.875rem;
  display:inline-flex;align-items:center;gap:4px;
  font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  padding:3px 8px;border-radius:4px;
}
.svc-ok{
  color:var(--teal);
  background:rgba(0,128,128,.12);
  border:1px solid rgba(0,128,128,.25);
}
.svc-ok::before{
  content:'';width:4px;height:4px;border-radius:50%;
  background:var(--teal);flex-shrink:0;
}

/* ── Paleta ── */
.svc-blue{--svc-accent:var(--blue-light);--svc-rgb:0,51,160}
.svc-gold{--svc-accent:var(--gold);--svc-rgb:212,175,55}
.svc-red {--svc-accent:var(--red-light);--svc-rgb:196,30,58}
.svc-teal{--svc-accent:var(--teal-light);--svc-rgb:0,128,128}

/* ── Ícono ── */
.svc-icon{
  width:36px;height:36px;border-radius:9px;
  border:1px solid rgba(var(--svc-rgb,0,51,160),.3);
  background:rgba(var(--svc-rgb,0,51,160),.12);
  display:flex;align-items:center;justify-content:center;
  color:var(--svc-accent,#6691d4);
  flex-shrink:0;
  grid-column:1;grid-row:1;align-self:center;
  transition: background 220ms var(--ease-out), border-color 220ms var(--ease-out);
}
.svc-icon svg{width:18px;height:18px}

@media(prefers-reduced-motion:no-preference){
  .svc:hover .svc-icon,
  .svc:focus-visible .svc-icon{
    background: rgba(var(--svc-rgb,0,51,160),.22);
    border-color: rgba(var(--svc-rgb,0,51,160),.55);
    transition: background 220ms var(--ease-out), border-color 220ms var(--ease-out);
  }
}

.svc-body{display:contents}

.svc-title{
  text-wrap:balance;
  font-size:12px;font-weight:700;
  letter-spacing:.05em;line-height:1.2;
  color:#fff;
  text-transform:uppercase;
  grid-column:2;grid-row:1;align-self:center;
  position:relative;z-index:1;
}
.svc-desc{
  font-size:11px;color:rgba(255,255,255,.68);
  line-height:1.65;padding-top:.875rem;
  grid-column:1 / span 2;grid-row:2;
  position:relative;z-index:1;
}

.svc-cta{
  display:flex;flex-direction:row;align-items:center;gap:8px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.06);
  grid-column:1 / span 2;grid-row:3;
}

.svc-cta-row{
  display:inline-flex;align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:5px 11px 5px 13px;
  border-radius:100px;
  border:1px solid rgba(var(--svc-rgb,0,51,160),.38);
  background:rgba(var(--svc-rgb,0,51,160),.10);
  font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.10em;
  color:var(--svc-accent,var(--blue-light));
  overflow:visible;
}
.svc-arrow{
  flex-shrink:0;
  display:block;
  overflow:visible;
  transition:transform 220ms var(--ease-out);
}

.svc-cta-free{
  margin-left:auto;
  font-size:11px;font-weight:600;letter-spacing:.10em;
  text-transform:uppercase;
  padding:5px 10px;border-radius:100px;
  border:1px solid rgba(var(--svc-rgb,0,51,160),.28);
  color:var(--svc-accent,var(--blue-light));
  opacity:.85;
  transition:opacity 200ms, border-color 200ms;
}

@media(prefers-reduced-motion:no-preference){
  .svc-cta-row{
    transition:
      gap         280ms var(--ease-out),
      color       220ms,
      background  220ms var(--ease-out),
      border-color 220ms var(--ease-out);
  }
  .svc:hover .svc-cta-row,
  .svc:focus-visible .svc-cta-row{
    gap:9px;
    background:rgba(var(--svc-rgb,0,51,160),.22);
    border-color:rgba(var(--svc-rgb,0,51,160),.68);
    color:#fff;
  }
  .svc:hover .svc-arrow,
  .svc:focus-visible .svc-arrow{
    transform:translateX(3px);
  }
  .svc:hover .svc-cta-free,
  .svc:focus-visible .svc-cta-free{
    opacity:.95;
    border-color:rgba(var(--svc-rgb,0,51,160),.55);
  }
  .svc-cta-row svg{ transition:transform 320ms var(--ease-out) }
}


/* ── Celda de contacto ── */
.svc-contact{
  display:flex;flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  background:rgba(255,255,255,.015);
  grid-template-columns:unset;
  grid-template-rows:unset;
}
.svc-contact-eye{
  font-size:9px;font-weight:700;
  text-transform:uppercase;letter-spacing:.22em;
  color:rgba(255,255,255,.55);
  line-height:1;
}
.svc-contact-rule{
  width:28px;height:1px;
  background:rgba(255,255,255,.18);
  margin:.75rem 0;
  flex-shrink:0;
}
.svc-contact-headline{
  font-family:var(--wp--preset--font-family--sans);
  font-size:clamp(15px,1.5vw,19px);
  font-weight:600;
  font-style:normal;
  line-height:1.30;
  letter-spacing:-.01em;
  color:#fff;
  text-align:center;
  flex:1;
  display:flex;align-items:center;justify-content:center;
}
.svc-contact .svc-cta{
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
  width:100%;
}
.svc-contact .svc-cta-row{
  --svc-rgb:255,255,255;
  color:rgba(255,255,255,.75);
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);
}
.svc-contact .svc-cta-free{ display:none }

/* ════════════════════════════════════════════════════════════
   MODAL DE SOLICITUD
   ════════════════════════════════════════════════════════════ */
#svc-modal-backdrop{
  position:fixed;inset:0;z-index:1000;
  background:rgba(0,0,0,.72);
  display:flex;align-items:center;justify-content:center;
  padding:1rem;
  opacity:0;
  transition:opacity 200ms ease;
  pointer-events:none;
}
#svc-modal-backdrop.open{
  opacity:1;pointer-events:all;
}
#svc-modal{
  background:var(--ink, #0a0a0a);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  width:100%;max-width:480px;
  padding:0;
  position:relative;
  transform:translateY(24px);opacity:0;
  transition:transform 350ms cubic-bezier(0.16,1,0.3,1),opacity 350ms cubic-bezier(0.16,1,0.3,1);
  max-height:90vh;overflow-y:auto;
  outline:none;
}
#svc-modal-backdrop.open #svc-modal{
  transform:translateY(0);opacity:1;
}
.svc-modal-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:1rem;
  background:var(--blue, #0033A0);
  padding:1.5rem 2rem;
  border-radius:14px 14px 0 0;
  border-bottom:1px solid var(--gold-dim, rgba(212,175,55,.30));
  position:sticky;top:0;z-index:1;
}
.svc-modal-tag{
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;
  color:var(--gold-full, rgba(212,175,55,.85));margin-bottom:.5rem;
}
.svc-modal-title{
  font-size:clamp(16px,2.5vw,22px);font-weight:700;
  letter-spacing:-.03em;color:#fff;line-height:1.2;
}
.svc-modal-close{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.28);
  color:rgba(255,255,255,.85);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background 150ms,color 150ms;
  font-family:inherit;
}
.svc-modal-close:hover{background:rgba(255,255,255,.28);color:#fff}
.svc-modal-close:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.svc-modal-form{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 2rem 2rem}
.svc-field label{
  display:block;font-size:11px;font-weight:600;
  color:rgba(255,255,255,.6);letter-spacing:.04em;
  text-transform:uppercase;margin-bottom:.375rem;
}
.svc-field input,
.svc-field textarea{
  width:100%;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;padding:.75rem 1rem;
  color:#fff;font-family:var(--wp--preset--font-family--sans);font-size:14px;
  transition:border-color 150ms,background 150ms;
  outline:none;resize:none;
}
.svc-field input::placeholder,
.svc-field textarea::placeholder{color:rgba(255,255,255,.25)}
.svc-field input:focus,
.svc-field textarea:focus{
  border-color:var(--gold-dim, rgba(212,175,55,.30));
  background:rgba(255,255,255,.07);
  outline:2px solid var(--gold-dim, rgba(212,175,55,.30));
  outline-offset:3px;
}
.svc-field input[aria-invalid="true"],
.svc-field textarea[aria-invalid="true"]{
  border-color:var(--red-light, #e06070);
  outline:2px solid rgba(196,30,58,.35);
  outline-offset:3px;
}
.svc-field-error{
  display:block;
  font-size:11px;font-weight:500;
  color:var(--red-light, #e06070);
  margin-top:.35rem;
  line-height:1.4;
}
.svc-field textarea{min-height:90px;line-height:1.6}
.svc-modal-submit{
  margin-top:.5rem;
  background:var(--blue, #0033A0);
  color:#fff;font-family:var(--wp--preset--font-family--sans);font-size:14px;font-weight:600;
  padding:.875rem 1.5rem;border-radius:8px;
  border:none;cursor:pointer;width:100%;
  transition:background 200ms,transform 150ms;
  letter-spacing:.02em;
}
.svc-modal-submit:hover{background:#0040c8}
.svc-modal-submit:active{transform:scale(0.98)}
.svc-modal-submit:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.svc-modal-success{
  display:none;flex-direction:column;align-items:center;
  gap:.75rem;text-align:center;padding:2rem 2rem 2.5rem;
}
.svc-modal-success.show{display:flex}
.svc-modal-success-icon{
  width:52px;height:52px;border-radius:50%;
  background:rgba(0,128,128,.15);
  border:1px solid rgba(0,128,128,.35);
  display:flex;align-items:center;justify-content:center;
  color:var(--teal);
}
.svc-modal-success h4{
  font-size:18px;font-weight:700;color:#fff;letter-spacing:-.02em;
}
.svc-modal-success p{
  font-size:13px;color:rgba(255,255,255,.6);line-height:1.6;max-width:300px;
}
.svc-modal-confirm{
  margin-top:.5rem;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.8);
  font-family:var(--wp--preset--font-family--sans);font-size:13px;font-weight:600;
  padding:.625rem 1.75rem;border-radius:8px;
  cursor:pointer;transition:background 150ms,color 150ms;
}
.svc-modal-confirm:hover{background:rgba(255,255,255,.12);color:#fff}
.svc-modal-confirm:focus-visible{outline:2px solid var(--gold);outline-offset:2px}