/* Garwin — estilos compartidos de las páginas internas */
:root{
  color-scheme: light;
  --navy:#01203f; --navy-deep:#011830; --navy-2:#062a4f;
  --brand:#36ecdf;
  --consult:#36ecdf; --agent:#13aa9b; --data:#3892ea; --tech:#1ddca9; --train:#3bc7e8;
  /* variantes legibles sobre claro */
  --consult-t:#0a8f87; --agent-t:#0b8276; --data-t:#1f6bc4; --tech-t:#08906c; --train-t:#1487a6;

  --line:rgba(150,195,245,.13); --line-2:rgba(150,195,245,.22); --glass:rgba(255,255,255,.035);
  --text:#eef5fc; --muted:#94a9c3; --faint:#647d9c;
  --paper:#f2f6f8; --card:#ffffff; --ink:#01203f; --ink-2:#27425f; --ink-m:#587089; --pline:#dce6ed;
  --ok:#3ee0a8; --warn:#f7b955;

  --f-sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-serif:'Instrument Serif',ui-serif,Georgia,serif;
  --f-mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
  --wrap:1220px; --gutter:clamp(16px,4vw,40px);
  --c:var(--brand); --ct:var(--consult-t);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--navy)}
body{margin:0;background:var(--navy);color:var(--text);font-family:var(--f-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,h5{margin:0;font-weight:600;letter-spacing:-.035em;text-wrap:balance}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{max-width:100%;display:block}
.serif{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
.v-consult{--c:var(--consult);--ct:var(--consult-t)}
.v-agent{--c:var(--agent);--ct:var(--agent-t)}
.v-data{--c:var(--data);--ct:var(--data-t)}
.v-tech{--c:var(--tech);--ct:var(--tech-t)}
.v-train{--c:var(--train);--ct:var(--train-t)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(1,24,48,.55);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid var(--line);transition:background .3s}
.nav.scrolled{background:rgba(1,24,48,.86)}
.nav-in{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.brand img{height:22px;width:auto}
.nav-links{display:flex;gap:36px}
.nav-links a{position:relative;font-size:14.5px;font-weight:500;color:#c9d7e6;padding:10px 0;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--c);opacity:.7;transform-origin:left;transition:opacity .25s,box-shadow .25s,transform .35s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a:hover::after,.nav-links a.active::after{opacity:1;box-shadow:0 0 12px var(--c),0 0 2px var(--c)}
.nav-cta{justify-self:end;display:flex;align-items:center;gap:8px}

/* ---------- BUTTONS ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;font-size:14.5px;font-weight:600;letter-spacing:-.01em;border:0;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-glow{color:var(--navy);background:linear-gradient(135deg,#7df7ee 0%,var(--brand) 45%,var(--tech) 100%);isolation:isolate;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 0 1px rgba(54,236,223,.5),0 10px 30px -8px rgba(54,236,223,.55)}
.btn-glow::before{content:"";position:absolute;inset:-8px;border-radius:20px;background:var(--brand);filter:blur(22px);opacity:.28;z-index:-1;transition:opacity .35s}
.btn-glow::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 62%);background-size:250% 100%;background-position:130% 0;transition:background-position .9s var(--ease)}
.btn-glow:hover{transform:translateY(-1px)}
.btn-glow:hover::before{opacity:.55}
.btn-glow:hover::after{background-position:-40% 0}
.btn-ghost{background:rgba(255,255,255,.04);color:#fff;box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.btn-lg{height:52px;padding:0 26px;font-size:15.5px;border-radius:14px}
.btn .arr{transition:transform .25s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-sans);font-size:14px;font-weight:600;letter-spacing:-.005em;color:var(--c)}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor;box-shadow:0 0 10px currentColor}
.foot{padding-top:80px;background:var(--navy-deep);overflow:hidden;border-top:1px solid var(--line)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.foot-top p{margin-top:16px;font-size:14px;color:var(--muted);max-width:30ch}
.foot-col h5{margin:0 0 14px;font-size:13px;font-family:var(--f-sans);font-weight:600;color:var(--faint)}
.foot-col a{display:block;width:max-content;font-size:14.5px;color:#cfdcea;padding:5px 0}
.foot-col a.v-consult,.foot-col a.v-agent,.foot-col a.v-data,.foot-col a.v-tech{border-bottom:2px solid var(--c);padding-bottom:2px;margin-bottom:10px}
.foot-col a:hover{color:#fff}
.giant{margin-top:72px;display:flex;justify-content:center;-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 95%);mask-image:linear-gradient(180deg,#000 0%,transparent 95%);opacity:.14;user-select:none}
.giant img{width:100%;max-width:1140px;height:auto}
.foot-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:22px;border-top:1px solid var(--line);font-size:13px;color:var(--faint)}
.foot-bot a:hover{color:#fff}

/* ===== Páginas internas (Privacidad, Términos, Contacto): cuerpo claro, menú y pie oscuros ===== */
html{background:var(--paper)}
body.inner{background:var(--paper);color:var(--ink-2);min-height:100vh;display:flex;flex-direction:column}
body.inner::before{content:"";position:absolute;left:0;right:0;top:72px;height:380px;z-index:0;pointer-events:none;
  background:radial-gradient(640px 300px at 12% 0,rgba(54,236,223,.20),transparent 70%),radial-gradient(560px 280px at 92% 0,rgba(56,146,234,.14),transparent 70%)}
body.inner .nav,body.inner main,body.inner .foot{position:relative;z-index:1}
body.inner .nav{position:sticky;z-index:50;background:rgba(1,24,48,.97);backdrop-filter:none;-webkit-backdrop-filter:none}
body.inner .foot{margin-top:auto}
body.inner main{width:min(860px,calc(100% - 2*var(--gutter)));margin:clamp(36px,6vw,72px) auto clamp(48px,7vw,96px);
  background:var(--card);color:var(--ink-2);border:1px solid var(--pline);border-radius:22px;padding:clamp(26px,5vw,56px);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 30px 60px -38px rgba(1,32,63,.28)}
body.inner main .eyebrow{color:var(--consult-t);margin-bottom:14px}
body.inner main h1{font-size:clamp(30px,4.4vw,44px);line-height:1.08;color:var(--ink);margin-bottom:14px}
body.inner main h1::after{content:"";display:block;width:56px;height:4px;border-radius:4px;margin-top:18px;background:linear-gradient(90deg,var(--brand),var(--tech))}
body.inner main h2{font-size:clamp(20px,2.4vw,25px);line-height:1.2;color:var(--ink);margin:38px 0 10px}
body.inner main h3{font-size:18px;color:var(--ink);margin:26px 0 8px;letter-spacing:-.02em}
body.inner main p,body.inner main li{font-size:16.5px;line-height:1.7;color:var(--ink-2)}
body.inner main p{margin:0 0 14px}
body.inner main p.lead{font-size:18.5px;color:var(--ink-m);margin-top:22px}
body.inner main ul,body.inner main ol{margin:0 0 16px;padding-left:1.3em}
body.inner main li{margin:6px 0}
body.inner main li::marker{color:var(--consult-t)}
body.inner main strong{color:var(--ink);font-weight:650}
body.inner main a{color:var(--data-t);text-decoration:underline;text-decoration-color:rgba(31,107,196,.35);text-underline-offset:3px;transition:text-decoration-color .2s}
body.inner main a:hover{text-decoration-color:currentColor}
body.inner main hr{border:0;border-top:1px solid var(--pline);margin:30px 0}
body.inner main table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}
body.inner main th,body.inner main td{border:1px solid var(--pline);padding:10px 12px;text-align:left;vertical-align:top}
body.inner main th{background:var(--paper);color:var(--ink)}
body.inner main blockquote{margin:18px 0;padding:4px 0 4px 18px;border-left:3px solid var(--consult);color:var(--ink-m)}
body.inner main code{font-family:var(--f-mono);font-size:.9em;background:var(--paper);padding:2px 6px;border-radius:6px}
body.inner main .updated,body.inner main .meta,body.inner main time{display:block;font-size:14px;color:var(--ink-m);margin-bottom:18px}

/* Contacto */
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:30px 0 4px}
body.inner main a.contact-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:24px;border-radius:18px;background:var(--paper);border:1px solid var(--pline);text-decoration:none;color:var(--ink);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s,background .25s}
body.inner main a.contact-card:hover{transform:translateY(-3px);background:#fff;box-shadow:0 22px 40px -24px rgba(1,32,63,.45);border-color:#bfd0dc}
.contact-card .cc-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;margin-bottom:10px;color:#fff;background:linear-gradient(135deg,var(--consult-t),var(--tech-t))}
.contact-card.wa .cc-ic{background:#25d366}
.contact-card strong{font-size:19px;font-weight:650;color:var(--ink);letter-spacing:-.02em}
.contact-card .cc-tx{font-size:15px;line-height:1.5;color:var(--ink-m)}
.contact-card .cc-go{margin-top:12px;font-size:14.5px;font-weight:650;color:var(--data-t)}
.contact-card.wa .cc-go{color:#0d8a47}
body.inner main .btn-glow{color:var(--navy);text-decoration:none}
body.inner main .btn-ink{background:var(--navy);color:#fff;box-shadow:0 12px 26px -14px rgba(1,32,63,.8);text-decoration:none}
body.inner main .btn-ink:hover{background:#062a4f;transform:translateY(-1px)}

@media (max-width:980px){
  .nav-in{grid-template-columns:auto 1fr}
  .nav-links{display:none}
  .foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .nav-cta .btn{height:40px;padding:0 16px}
  .foot-top{grid-template-columns:minmax(0,1fr)}
  .contact-grid{grid-template-columns:minmax(0,1fr)}
  body.inner main{border-radius:18px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
