/* Self-hosted fonts */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/newsreader-normal-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/newsreader-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/newsreader-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url('../fonts/newsreader-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('../fonts/manrope-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Ciberseguridad para Adultos Mayores — Parish-warm Spanish deck
   1920×1080 slides, accessible type sizes, illustration-led
   ========================================================================== */

:root{
  --paper:        #F4EAD5;
  --paper-soft:   #FBF5E7;
  --paper-deep:   #EADBB8;
  --ink:          #1B2A4E;
  --ink-soft:     #364668;
  --ink-faint:    #6B7A98;
  --gold:         #B8862E;
  --gold-deep:    #8A6320;
  --gold-soft:    #E8D49E;
  --terracotta:   #B14F36;
  --terracotta-soft:#E9C2B5;
  --sage:         #5F7A4E;
  --sage-soft:    #C6D2B6;
  --rose:         #C97B6E;
  --rose-soft:    #EFD2CC;

  --pad: 96px;
  --gap: 40px;
  --body: 26px;
  --body-sm: 24px;
  --display: 96px;
  --h1: 72px;
  --h2: 48px;
  --eyebrow: 18px;
  --num-mega: 168px;
  --num-big: 120px;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:#1B2A4E;}
body{font-family:"Manrope",system-ui,sans-serif;color:var(--ink);}

deck-stage{ --slide-bg: var(--paper); }

section{
  position:relative;
  width:1920px;height:1080px;
  background:var(--paper);
  color:var(--ink);
  overflow:hidden;
  font-size:var(--body);
  line-height:1.4;
  font-feature-settings:"ss01","ss02","liga";
}

.serif{ font-family:"Newsreader","Lora",Georgia,serif; font-weight:500; letter-spacing:-0.01em; }
.eyebrow{
  font-family:"Manrope",sans-serif;
  font-size:var(--eyebrow); font-weight:700;
  letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-deep);
}
.eyebrow.--ink{ color:var(--ink-soft); }
.h-display{ font-family:"Newsreader",serif; font-weight:500; font-size:var(--display); line-height:1.02; letter-spacing:-0.02em; color:var(--ink); }
.h1{ font-family:"Newsreader",serif; font-weight:500; font-size:var(--h1); line-height:1.05; letter-spacing:-0.018em; color:var(--ink); margin:0; }
.h2{ font-family:"Newsreader",serif; font-weight:500; font-size:var(--h2); line-height:1.1; letter-spacing:-0.01em; color:var(--ink); margin:0; }
.lede{ font-family:"Newsreader",serif; font-weight:400; font-style:italic; font-size:36px; line-height:1.35; color:var(--ink-soft); }
.body{ font-size:var(--body); line-height:1.5; color:var(--ink); }
.body-sm{ font-size:var(--body-sm); line-height:1.5; color:var(--ink-soft); }
.num{ font-family:"Newsreader",serif; font-weight:300; font-size:var(--num-big); line-height:0.9; color:var(--ink); letter-spacing:-0.04em; }
.num--mega{ font-size:var(--num-mega); }
.num--gold{ color:var(--gold-deep); }
.num--terra{ color:var(--terracotta); }

em{ font-style:italic; color:var(--gold-deep); font-weight:500; }
strong{ font-weight:700; }

.slide{
  position:absolute;inset:0;
  padding:var(--pad) var(--pad) calc(var(--pad) + 80px);
  display:flex;flex-direction:column;
}
.slide-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:48px;margin-bottom:48px;
}
.slide-head .left{ max-width:1280px; }
.slide-head .eyebrow{ margin-bottom:18px; display:flex; align-items:center; gap:14px; }
.slide-head .eyebrow::before{
  content:""; display:inline-block; width:42px; height:2px; background:var(--gold);
}

.foot{
  position:absolute;left:var(--pad);right:var(--pad);bottom:32px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:18px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--ink-faint); font-weight:600;
}
.foot .dot{ width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block;margin:0 14px;vertical-align:middle; }
.page{ font-variant-numeric:tabular-nums; }

.ornament{
  display:flex;align-items:center;gap:14px;color:var(--gold);
}
.ornament .line{ flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold) 40%,var(--gold) 60%,transparent); }
.ornament .dot{ width:8px;height:8px;border-radius:50%;background:var(--gold); }
.ornament .diamond{ width:10px;height:10px;background:var(--gold);transform:rotate(45deg); }

.card{
  background:var(--paper-soft);
  border:1px solid rgba(27,42,78,0.08);
  border-radius:6px;
  padding:36px;
  position:relative;
}
.card.--warm{ background:#F9EFD8; border-color:rgba(184,134,46,0.22); }
.card.--alert{
  background:#F6E2D6;
  border:1px solid rgba(177,79,54,0.28);
}
.card.--alert::before{
  content:""; position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--terracotta);
  border-radius:6px 0 0 6px;
}
.card.--safe{ background:#E6EAD5; border-color:rgba(95,122,78,0.30); }
.card.--safe::before{
  content:""; position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--sage);
  border-radius:6px 0 0 6px;
}
.card-title{ font-family:"Newsreader",serif; font-size:32px; font-weight:600; line-height:1.15; margin:0 0 12px; }
.card-body{ font-size:var(--body-sm); line-height:1.5; color:var(--ink-soft); }

.badge{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 16px; border-radius:999px;
  font-size:18px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  font-family:"Manrope",sans-serif;
}
.badge.--alert{ background:var(--terracotta); color:#FBF5E7; }
.badge.--safe { background:var(--sage); color:#FBF5E7; }
.badge.--gold { background:var(--gold); color:#FBF5E7; }
.badge.--ghost{ background:transparent; color:var(--ink-soft); border:1.5px solid var(--ink-faint); }

.numtile{ display:flex; flex-direction:column; gap:8px; }
.numtile .num{ font-size:120px; line-height:0.85; }
.numtile .label{ font-size:var(--body-sm); line-height:1.3; color:var(--ink-soft); max-width:340px; }

.step-num{
  width:72px;height:72px;border-radius:50%;
  background:var(--paper-deep);
  color:var(--ink);
  font-family:"Newsreader",serif; font-size:36px; font-weight:600;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  border:1px solid rgba(184,134,46,0.4);
}
.step-num.--gold{ background:var(--gold); color:var(--paper-soft); border-color:transparent; }
.step-num.--alert{ background:var(--terracotta); color:var(--paper-soft); border-color:transparent; }

.icon{
  width:64px;height:64px; flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
}
.icon svg{ width:100%;height:100%; }

.density-cozy{ --pad:128px; --gap:48px; --body:28px; --body-sm:24px; }
.density-balanced{ /* defaults */ }
.density-rich{ --pad:80px; --gap:32px; --body:24px; --body-sm:20px; --h1:64px; --h2:42px; }

.parchment-edge::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(255,255,255,0.5), transparent 60%),
    radial-gradient(120% 80% at 100% 100%, rgba(184,134,46,0.06), transparent 50%);
}

.rays{
  position:absolute; pointer-events:none; opacity:0.18;
}

.bubble{
  position:relative;
  background:var(--paper-soft);
  border:1px solid rgba(27,42,78,0.10);
  border-radius:24px 24px 24px 4px;
  padding:32px 40px;
  font-family:"Newsreader",serif; font-style:italic; font-size:36px; line-height:1.35; color:var(--ink);
}
.bubble::before{
  content:""; position:absolute; left:-2px; bottom:-22px;
  width:40px; height:40px;
  background:var(--paper-soft);
  border-left:1px solid rgba(27,42,78,0.10);
  border-bottom:1px solid rgba(27,42,78,0.10);
  border-radius:0 0 0 24px;
  clip-path:polygon(0 0, 100% 100%, 0 100%);
}

.divider-dots{
  height:6px;
  background-image:radial-gradient(circle, var(--gold) 1.5px, transparent 1.5px);
  background-size:18px 6px; background-repeat:repeat-x; background-position:left center;
  opacity:0.5;
}

.title-slide{
  background:
    radial-gradient(80% 60% at 50% 35%, #FAF1DA, var(--paper) 70%);
}

.alert-stripe{
  background:repeating-linear-gradient(135deg,
    var(--terracotta) 0 12px,
    #9F4029 12px 24px);
  height:8px; width:100%;
}

deck-stage:not(:defined){visibility:hidden}

@media print{
  html,body,deck-stage{ background:#fff; }
}
