/* ===== Seamless Access — sales deck · Danifo corporate style ===== */

/* ---------- Brand tokens (Danifo design system) ---------- */
:root {
  --danifo-orange:     #F47929;
  --danifo-navy:       #29256A;
  --danifo-purple:     #60489D;
  --danifo-gray:       #D1D3D4;
  --danifo-white:      #FFFFFF;

  --action-hover:      #d96820;
  --surface-purple:    #efeaf7;
  --text-secondary:    #5a5a73;
  --border-subtle:     rgba(41, 37, 106, .12);

  --danifo-font-display: "Unbounded", system-ui, sans-serif;
  --danifo-font-body:    "PT Sans", "Helvetica Neue", Arial, sans-serif;

  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
}

/* ---------- Reveal base ---------- */
.reveal {
  font-family: var(--danifo-font-body);
  font-weight: 400;
  font-size: 28px;
  color: var(--danifo-navy);
  background: var(--danifo-white);
}
.reveal .backgrounds { background: var(--danifo-white); }
.reveal .slides { text-align: left; }
.reveal .slides section { width: 100%; height: 100%; box-sizing: border-box; }

/* ---------- Type ---------- */
.reveal h1, .reveal h2, .reveal h3, .reveal h4 {
  font-family: var(--danifo-font-display);
  color: inherit;
  text-transform: none;
  letter-spacing: -0.01em;
  line-height: 1.05;
  margin: 0 0 .4em 0;
}
.reveal h1 { font-weight: 900; font-size: 2.4em; }
.reveal h2 { font-weight: 900; font-size: 1.55em; margin-bottom: .5em; }
.reveal h3 { font-weight: 700; font-size: .92em; font-family: var(--danifo-font-body); }

.reveal p, .reveal li { font-family: var(--danifo-font-body); color: inherit; line-height: 1.45; }
.reveal strong { font-weight: 700; }
.reveal em { color: var(--danifo-orange); font-style: normal; font-weight: 700; }
.reveal a { color: var(--danifo-orange); }

.reveal .lead {
  font-family: var(--danifo-font-display);
  font-weight: 300;
  font-size: 1.1em;
  line-height: 1.3;
  color: inherit;
}
.reveal .muted { color: var(--text-secondary); }

.eyebrow {
  display: inline-block;
  font-family: var(--danifo-font-body);
  font-weight: 700;
  font-size: .5em;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--danifo-orange);
  margin-bottom: .6em;
}

/* ---------- Section background utilities ---------- */
.bg-orange { color: var(--danifo-white); }
.bg-navy   { color: var(--danifo-white); }
.bg-purple { color: var(--danifo-white); }
.bg-gray   { color: var(--danifo-navy);  }

.bg-orange h1, .bg-orange h2, .bg-orange h3,
.bg-navy   h1, .bg-navy   h2, .bg-navy   h3,
.bg-purple h1, .bg-purple h2, .bg-purple h3 { color: var(--danifo-white); }

.bg-orange .eyebrow, .bg-navy .eyebrow, .bg-purple .eyebrow { color: var(--danifo-white); opacity: .85; }
.bg-orange .muted, .bg-navy .muted, .bg-purple .muted,
.bg-orange .lead, .bg-navy .lead, .bg-purple .lead { color: var(--danifo-white); opacity: .9; }
.bg-navy em, .bg-purple em, .bg-orange em { color: var(--danifo-white); text-decoration: underline; text-underline-offset: .15em; }

/* ---------- Icons (inline sprite, currentColor stroke) ---------- */
.icon { width: 1em; height: 1em; display: inline-block; vertical-align: middle; }

/* ---------- Cards / grids ---------- */
.grid { display: grid; gap: .8em; }
.grid.cols-2 { grid-template-columns: 1fr 1fr; }
.grid.cols-3 { grid-template-columns: 1fr 1fr 1fr; }

.card {
  background: var(--danifo-white);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: .8em .9em;
}
.bg-navy .card, .bg-purple .card, .bg-orange .card {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .22);
}
.card .ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7em; height: 1.7em;
  border-radius: 12px;
  background: var(--danifo-orange);
  color: var(--danifo-white);
  margin-bottom: .35em;
}
.card .ico .icon { width: 1em; height: 1em; }
.card h3 { color: inherit; font-weight: 700; margin: .15em 0 .15em; }
.card p { font-size: .72em; color: var(--text-secondary); margin: 0; }
.bg-navy .card p, .bg-purple .card p, .bg-orange .card p { color: var(--danifo-white); opacity: .85; }

/* Problem cards (orange top-border numbered) */
.problem-card {
  border: none;
  border-top: 3px solid var(--danifo-orange);
  border-radius: 0;
  background: transparent;
  padding: .6em 0 0;
}
.problem-card .ico {
  background: transparent;
  color: var(--danifo-orange);
  width: 1.4em; height: 1.4em;
  margin-bottom: .25em;
}
.problem-card .ico .icon { width: 1.3em; height: 1.3em; }

.pill { display: inline-block; padding: .15em .6em; border-radius: 999px; font-size: .58em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pill.abroad { background: rgba(244, 121, 41, .14); color: var(--danifo-orange); border: 1px solid rgba(244, 121, 41, .4); }
.pill.ru     { background: rgba(96, 72, 157, .14); color: var(--danifo-purple); border: 1px solid rgba(96, 72, 157, .4); }
.bg-navy .pill.abroad, .bg-navy .pill.ru { color: var(--danifo-white); background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.4); }

/* ---------- Checklist ---------- */
.reveal .check { list-style: none; margin: 0; padding: 0; }
.reveal .check li { position: relative; padding-left: 1.7em; margin: .45em 0; font-size: .82em; }
.check li .tick {
  position: absolute; left: 0; top: .05em;
  width: 1.1em; height: 1.1em; border-radius: 50%;
  background: var(--danifo-orange);
  color: var(--danifo-white);
  display: inline-flex; align-items: center; justify-content: center;
}
.check li .tick .icon { width: .68em; height: .68em; }

/* ---------- Offer / pricing ---------- */
.offer {
  background: var(--danifo-navy);
  color: var(--danifo-white);
  border-radius: 18px;
  padding: 1em 1.1em;
  text-align: center;
}
.offer .amount { font-family: var(--danifo-font-display); font-size: 2.2em; font-weight: 900; line-height: 1; color: var(--danifo-white); }
.offer .unit { font-size: .72em; opacity: .85; margin-top: .3em; }
.offer .muted { color: var(--danifo-white); opacity: .8; }

/* ---------- Architecture diagram ---------- */
.diagram { width: 100%; height: auto; }

/* ---------- Title / cover ---------- */
.title-wrap { display: flex; flex-direction: column; gap: .35em; height: 100%; justify-content: center; }
.title-wrap .brand-logo { height: .9em; width: auto; align-self: flex-start; margin-bottom: .8em; }
.slogan { font-family: var(--danifo-font-body); font-size: 1.05em; max-width: 26ch; opacity: .92; }
.title-meta { margin-top: 1.4em; font-size: .55em; opacity: .8; }

/* ---------- Footer lockup ---------- */
.footer { position: absolute; left: 0; right: 0; bottom: .2em; display: flex; justify-content: space-between; align-items: center; font-size: .42em; opacity: .75; }
.footer img { height: 1.4em; width: auto; }

/* ---------- Problem slide — numbered editorial cards (used by ru-companies.html) ---------- */
.problem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25em 1.25em; margin-top: .7em; }
.problem-grid .p-card {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-top: 4px solid var(--danifo-orange);
  border-radius: 14px;
  padding: 1.05em 1.3em 1.15em;
  box-shadow: 0 10px 28px rgba(41, 37, 106, .07);
}
.problem-grid .p-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: .4em; }
.problem-grid .num {
  font-family: var(--danifo-font-display); font-weight: 900;
  font-size: 1.5em; line-height: 1; color: var(--danifo-orange);
}
.problem-grid .p-card .ico {
  width: 1.7em; height: 1.7em; border-radius: 10px;
  background: rgba(244, 121, 41, .12);
  color: var(--danifo-orange);
  display: inline-flex; align-items: center; justify-content: center;
  margin: 0;
}
.problem-grid .p-card .ico .icon { width: 1.05em; height: 1.05em; }
.problem-grid .p-card h3 { color: var(--danifo-navy); font-weight: 700; margin: .1em 0 .25em; }
.problem-grid .p-card p { color: var(--text-secondary); font-size: .72em; margin: 0; line-height: 1.5; }

/* ---------- Slide number ---------- */
.reveal .slide-number { background: transparent; color: var(--text-secondary); font-size: 14px; }
