/* ============================================================
   TKS Swiss — site-wide design system stylesheet
   The King's University / The King's Seminary editorial-Swiss.
   Loaded on every front-end request (incl. the Visual Builder)
   by the tku-swiss-styles plugin.

   This file supersedes the per-block "CSS base" Code modules
   (block 00 / "Block CSS — leave as is" rows). Once this plugin
   is active those rows are redundant and safe to delete.

   Composed by compose_swiss_css.py — edit the generators, not
   this file directly, or the sources will drift.
   ============================================================ */

/* Global font pin: Soleil with system fallbacks. Scoped to the
   Swiss wrappers so legacy pages are untouched. */
.tks-swiss, .tks-swiss h1, .tks-swiss h2, .tks-swiss h3, .tks-swiss p, .tks-swiss a,
.tks-explore, .tks-explore h2, .tks-explore p, .tks-explore a,
.tks-beliefs, .tks-beliefs h2, .tks-beliefs p {
  font-family: soleil, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ===== 1. Core system (About TKS set — tks-*) ===== */
/* TKS Swiss — CSS base block (Divi Library block 00). Add once per page as a Code module wrapped in <style> tags. */
/* ===== TKS Swiss — base (add once per page) ===== */
.tks-swiss, .tks-swiss * { box-sizing:border-box; }
:root { --tks-plum:#491245; --tks-ink:#0a0a0a; --tks-line:#e4e4e4; --tks-gold:#d6ba97; --tks-warm:#f5f5f1; --tks-mute:#6b6660; }

/* micro label */
.tks-kicker .et_pb_text_inner { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--tks-plum); display:flex; align-items:center; gap:14px; }
.tks-kicker .et_pb_text_inner:after { content:""; height:1px; background:var(--tks-gold); flex:0 0 56px; }
.tks-idx .et_pb_text_inner { font-size:11px; font-weight:700; letter-spacing:.14em; color:var(--tks-mute); text-align:right; text-transform:uppercase; }

/* display type */
.tks-h1 h1 { font-size:clamp(44px,6.4vw,88px); line-height:1.02; letter-spacing:-.025em; font-weight:800; color:var(--tks-ink); padding-bottom:0; }
.tks-h1 h1 em { font-style:normal; color:var(--tks-plum); }
.tks-h2 h2 { font-size:clamp(30px,3.6vw,48px); line-height:1.06; letter-spacing:-.02em; font-weight:800; color:var(--tks-ink); max-width:14em; padding-bottom:0; }
.tks-mission .et_pb_text_inner { border-top:1px solid var(--tks-ink); padding-top:26px; font-size:15px; line-height:1.65; color:var(--tks-mute); }
.tks-mission strong { color:var(--tks-ink); }
.tks-lede .et_pb_text_inner > p:first-child { font-size:20px; line-height:1.5; }
.tks-caption .et_pb_text_inner { font-size:11px; letter-spacing:.06em; color:var(--tks-mute); text-transform:uppercase; padding:10px 0; border-bottom:1px solid var(--tks-line); display:flex; justify-content:space-between; }

/* facts strip */
.tks-facts { border-top:1px solid var(--tks-ink); border-bottom:1px solid var(--tks-ink); }
.tks-fact { border-right:1px solid var(--tks-line); padding:26px 24px 30px 0 !important; margin-bottom:0 !important; }
.tks-fact:last-child, .tks-fact.tks-last { border-right:none; }
.tks-fact .et_pb_module_header { font-size:34px; font-weight:800; letter-spacing:-.02em; line-height:1.1; color:var(--tks-plum); padding-bottom:8px; }
.tks-fact .et_pb_blurb_description { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--tks-mute); }

/* distinctives */
.tks-dist-grid { counter-reset:tksd; }
.tks-dist-grid .et_pb_blurb { counter-increment:tksd; background:#fff; border-top:2px solid var(--tks-plum); padding:26px 26px 30px; margin-bottom:24px !important; }
.tks-dist-grid .et_pb_blurb .et_pb_blurb_content:before { content:"0" counter(tksd); font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--tks-gold); display:block; margin-bottom:14px; }
.tks-dist-grid .et_pb_module_header { font-size:17px; font-weight:700; letter-spacing:-.01em; color:var(--tks-ink); padding-bottom:6px; }
.tks-dist-grid .et_pb_blurb_description { font-size:14px; color:var(--tks-mute); line-height:1.5; }

/* quote band */
.tks-quote-band { background:var(--tks-plum); }
.tks-portrait img { filter:grayscale(1) contrast(1.05); }
.tks-quote .et_pb_text_inner p { font-size:clamp(24px,2.8vw,38px); line-height:1.25; letter-spacing:-.015em; font-weight:700; color:#fff; }
.tks-quote-attr .et_pb_text_inner { color:#fff; font-size:13px; letter-spacing:.06em; margin-top:12px; }
.tks-quote-attr .et_pb_text_inner b { display:block; text-transform:uppercase; letter-spacing:.14em; font-size:12px; }
.tks-quote-attr .et_pb_text_inner span { color:var(--tks-gold); }

/* outcomes — one row per line: number col + text col */
.tks-out-row { border-bottom:1px solid var(--tks-line) !important; }
.tks-out-row.tks-out-first { border-top:1px solid var(--tks-ink) !important; }
.tks-out-num .et_pb_text_inner { font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--tks-plum); }
.tks-out-text .et_pb_text_inner { font-size:19px; letter-spacing:-.01em; color:var(--tks-ink); line-height:1.45; }

/* buttons */
a.et_pb_button.tks-btn, a.et_pb_button.tks-btn-solid { border-radius:0; font-size:14px; font-weight:700; letter-spacing:.04em; padding:14px 28px !important; }
a.et_pb_button.tks-btn { border:1px solid var(--tks-ink); color:var(--tks-ink); background:transparent; }
a.et_pb_button.tks-btn-solid { border:1px solid var(--tks-plum); background:var(--tks-plum); color:#fff; }
a.et_pb_button.tks-btn:after, a.et_pb_button.tks-btn-solid:after { display:none; }

/* section rules */
.tks-rule-bottom { border-bottom:1px solid var(--tks-line); }
.tks-warm { background-color:var(--tks-warm) !important; }

/* ===== 2. Explore TKU set — tiles + beliefs (tks-*2, tks-tile, tks-belief) ===== */
.tks-explore, .tks-explore * , .tks-beliefs, .tks-beliefs * { box-sizing:border-box; }
.tks-explore, .tks-explore h2, .tks-explore p, .tks-explore a,
.tks-beliefs, .tks-beliefs h2, .tks-beliefs p { font-family:soleil,"Helvetica Neue",Helvetica,Arial,sans-serif; }
.tks-sec-head { align-items:baseline !important; }
.tks-kicker2 .et_pb_text_inner { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#491245; display:flex; align-items:center; gap:14px; }
.tks-kicker2 .et_pb_text_inner:after { content:""; height:1px; background:#d6ba97; flex:0 0 56px; }
.tks-h2b h2 { font-size:clamp(30px,3.6vw,48px); line-height:1.06; letter-spacing:-.02em; font-weight:800; color:#0a0a0a; padding-bottom:0; }
.tks-idx2 .et_pb_text_inner { font-size:11px; font-weight:700; letter-spacing:.14em; color:#6b6660; text-align:right; text-transform:uppercase; }

/* tiles: the column carries the bg image; the text module carries the link.
   :before = a copy of the column background (background:inherit) that zooms
   on hover — background-images can't be transform-scaled, layers can.
   :after = the scrim, above the zooming photo. */
.tks-tile { position:relative; aspect-ratio:3/3.4; overflow:hidden; background-size:cover; background-position:center 35%; background-color:#0a0a0a; margin-bottom:0 !important; }
.tks-tile:before { content:""; position:absolute; inset:0; background:inherit; z-index:0; transition:transform .5s ease, box-shadow .4s ease; }
.tks-tile:hover:before { transform:scale(1.04); box-shadow:inset 0 0 0 1000px rgba(73,18,69,.45); }
.tks-tile:after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,10,10,.72) 0%, rgba(10,10,10,.18) 45%, rgba(10,10,10,0) 65%); z-index:1; }
.tks-tile .et_pb_module { position:static; }
.tks-tile .tks-tile-cat { position:absolute; top:20px; left:20px; z-index:3; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#fff !important; }
.tks-tile .tks-tile-cat p { color:#fff !important; }
.tks-tile .tks-tile-label { position:absolute; left:20px; right:20px; bottom:18px; z-index:3; }
.tks-tile .tks-tile-label a { color:#fff !important; font-size:26px; font-weight:800; letter-spacing:-.015em; line-height:1.05; text-decoration:none; display:block; }
.tks-tile .tks-tile-label a:after { content:""; width:11px; height:11px; float:right; margin-top:18px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 11 11' fill='none'%3E%3Cpath d='M1.10795 10.8949L0 9.78693L8.23864 1.53409H1.875L1.8892 0H10.8807V9.00568H9.33239L9.34659 2.64205L1.10795 10.8949Z' fill='white'/%3E%3C/svg%3E") no-repeat center / contain; transition:transform .3s ease; }
.tks-tile:hover .tks-tile-label a:after { transform:translate(4px,-4px); }
.tks-tile .tks-tile-label a:before { content:""; position:absolute; inset:-1000px 0 0 0; } /* whole tile clickable */

/* chapel tile: photo under a 49% plum overlay, gold play mark (Figma rev).
   :after becomes the flat plum overlay (instead of the scrim); the play mark
   is a Text module positioned like the cat/label modules (proven anchor). */
.tks-tile.tks-tile-chapel { background-color:#491245; }
.tks-tile.tks-tile-chapel:after { background:rgba(73,18,69,.49); }
.tks-tile .tks-tile-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2; pointer-events:none; }
.tks-tile .tks-tile-play p { width:72px; height:72px; border:1px solid #d6ba97; display:flex; align-items:center; justify-content:center; color:#d6ba97; font-size:20px; line-height:1; padding:0; transition:background .3s ease,color .3s ease; }
.tks-tile.tks-tile-chapel:hover .tks-tile-play p { background:#d6ba97; color:#491245; }

/* beliefs */
.tks-beliefs-grid { counter-reset:tksb; }
.tks-belief { counter-increment:tksb; border-top:1px solid #0a0a0a; padding-top:22px !important; margin-bottom:0 !important; }
.tks-belief .et_pb_text_inner:before { content:"0" counter(tksb); font-size:12px; font-weight:700; letter-spacing:.12em; color:#d6ba97; display:block; margin-bottom:16px; }
.tks-belief .et_pb_text_inner p { font-size:clamp(19px,1.8vw,24px); font-weight:700; letter-spacing:-.015em; line-height:1.3; color:#491245; max-width:13em; }
@media(max-width:980px){ .tks-belief .et_pb_text_inner p { max-width:none; } }

/* ===== 3. Financial Aid set — utility-page register (fa-*) ===== */
/* ===== TKS Swiss — Financial Aid base (add once per page) ===== */
.fa-swiss, .fa-swiss * { box-sizing:border-box; }
.fa-swiss, .fa-swiss h1, .fa-swiss h2, .fa-swiss h3, .fa-swiss p, .fa-swiss a { font-family:soleil,"Helvetica Neue",Helvetica,Arial,sans-serif; }
.fa-swiss .ic { display:block; }

/* type */
.fa-kicker .et_pb_text_inner { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#491245; display:flex; align-items:center; gap:14px; }
.fa-kicker .et_pb_text_inner:after { content:""; height:1px; background:#d6ba97; flex:0 0 56px; }
.fa-h1 h1 { font-size:clamp(44px,5vw,64px); line-height:1.04; letter-spacing:-.025em; font-weight:800; color:#0a0a0a; padding-bottom:0; }
.fa-h1 h1 em { font-style:normal; color:#491245; }
.fa-h2b h2 { font-size:clamp(30px,3.6vw,48px); line-height:1.06; letter-spacing:-.02em; font-weight:800; color:#0a0a0a; padding-bottom:0; }
.fa-idx .et_pb_text_inner { font-size:11px; font-weight:700; letter-spacing:.14em; color:#6b6660; text-align:right; text-transform:uppercase; }
.fa-sec-head { align-items:baseline !important; }
.fa-lede .et_pb_text_inner p { font-size:17px; line-height:1.6; color:#6b6660; max-width:38em; }

/* buttons as marked links (wpautop wraps them in a <p> — flex the p) */
.fa-btns .et_pb_text_inner p { display:flex; gap:12px; flex-wrap:wrap; padding:0; }
.fa-swiss a.fa-btn { display:inline-block; padding:14px 26px; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; border:1px solid #491245; background:#491245; color:#fff !important; transition:background .2s ease,color .2s ease; }
.fa-swiss a.fa-btn:hover { background:#fff; color:#491245 !important; }
.fa-swiss a.fa-btn-o { background:transparent; color:#491245 !important; }
.fa-swiss a.fa-btn-o:hover { background:#491245; color:#fff !important; }

/* FAFSA panel */
.fa-fafsa { background:#491245; }
.fa-fafsa .et_pb_text_inner { padding:30px 28px 26px; color:#fff; }
.fa-fafsa .lbl { font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#d6ba97; }
.fa-fafsa .code { font-size:clamp(40px,3.5vw,52px); font-weight:800; letter-spacing:.02em; margin:10px 0 20px; line-height:1; }
.fa-fafsa .rows { border-top:1px solid rgba(214,186,151,.45); padding-top:18px; display:flex; flex-direction:column; gap:14px; }
.fa-fafsa .row { display:flex; gap:12px; font-size:14px; line-height:1.45; align-items:flex-start; }
.fa-fafsa .row .ic { width:16px; height:16px; flex:0 0 16px; margin-top:2px; color:#d6ba97; }
.fa-fafsa .row a { color:#fff !important; text-decoration:none; border-bottom:1px solid rgba(214,186,151,.6); }
.fa-fafsa .row span { display:block; font-size:12px; color:rgba(255,255,255,.65); margin-top:3px; }

/* cards — a GROUP module is the card shell and carries the styling; the
   icon (Svg), title (Heading), description (Text) and Get-started (Text)
   are separate child modules. The Get-started <a> is a REAL anchor,
   stretched over the whole group — each card IS the anchor. */
.fa-swiss .fa-card { position:relative; background:#fff; border:1px solid #e4e4e4; border-radius:10px; padding:24px 22px 22px; transition:border-color .2s ease; margin-bottom:0 !important; height:100%; }
.fa-swiss .fa-card:hover { border-color:#491245; }
.fa-swiss .fa-card .et_pb_module { margin-bottom:0 !important; position:static; }
.fa-swiss .fa-chip { width:46px; height:46px; background:#f5f5f1; color:#491245; display:flex; align-items:center; justify-content:center; margin-bottom:18px !important; }
.fa-swiss .fa-chip svg { width:24px; height:24px; display:block; }
/* Stacked-card chip: rounded like the horizontal (essentials) chip, with
   breathing room before the title. Extra .fa-card raises specificity past
   the ".fa-card .et_pb_module {margin-bottom:0}" reset. */
.fa-swiss .fa-card .fa-chip { border-radius:6px; margin-bottom:16px !important; }
.fa-swiss .fa-card-title h3 { font-size:17px; font-weight:700; letter-spacing:-.01em; color:#0a0a0a; margin:0; padding:0 0 8px; }
.fa-swiss .fa-card-desc p { font-size:14px; line-height:1.5; color:#6b6660; padding:0; }
/* stacked cards: title/copy flow from the top, CTA pins to the bottom edge
   (absolute — wrapper-proof) so a row of cards gets aligned CTAs */
.fa-swiss .fa-card:not(.fa-card-h):not(.horizontal) { padding-bottom:58px; }
.fa-swiss .fa-card:not(.fa-card-h):not(.horizontal) .fa-card-go { position:absolute !important; left:22px; right:22px; bottom:20px; margin:0 !important; }
.fa-swiss .fa-card-go a { font-size:12px; font-weight:700; letter-spacing:.04em; color:#491245 !important; text-decoration:none; }
.fa-swiss .fa-card-go a:before { content:""; position:absolute; inset:0; } /* stretch the real anchor over the card */
.fa-swiss .fa-card-go a:after { content:" \2192"; transition:margin .2s ease; }
.fa-swiss .fa-card:hover .fa-card-go a:after { margin-left:4px; }
/* horizontal card variant (essentials) — faithful to Figma 108:996.
   Compact row: chip vertically centered at left (absolute + translateY, so
   Divi's wrapper divs can't break it), text flows beside it; card height
   comes from content + padding (~96px). The Get-started module becomes an
   invisible stretched anchor covering the card. */
.fa-swiss .fa-card.fa-card-h, .fa-swiss .fa-card.horizontal { padding:25px 25px 25px 89px; border-radius:10px; border:1px solid #e7e7e5; box-shadow:0 1px 1.5px rgba(43,37,41,.08), 0 1px 1px rgba(43,37,41,.04); transition:border-color .2s ease, box-shadow .2s ease; }
.fa-swiss .fa-card.fa-card-h:hover, .fa-swiss .fa-card.horizontal:hover { border-color:#a3a39e; box-shadow:0 2px 4px rgba(43,37,41,.12), 0 1px 1px rgba(43,37,41,.05); }
.fa-swiss .fa-card-h .fa-chip, .fa-swiss .horizontal .fa-chip { position:absolute; left:25px; top:50%; transform:translateY(-50%); margin:0 !important; width:46px; height:46px; border-radius:6px; background:#d9ebe8; color:#006054; }
.fa-swiss .fa-card-h .fa-card-title h3, .fa-swiss .horizontal .fa-card-title h3 { font-size:18px; font-weight:600; letter-spacing:-.02em; line-height:1.2; color:#333; margin:0; padding:0 0 5px; }
.fa-swiss .fa-card-h .fa-card-desc p, .fa-swiss .horizontal .fa-card-desc p { font-size:13.5px; line-height:1.45; color:#767676; }
.fa-swiss .fa-card-h .fa-card-go, .fa-swiss .horizontal .fa-card-go { position:absolute !important; inset:0; margin:0 !important; }
.fa-swiss .fa-card-h .fa-card-go a, .fa-swiss .horizontal .fa-card-go a { position:absolute; inset:0; font-size:0; color:transparent !important; }
.fa-swiss .fa-card-h .fa-card-go a:after, .fa-swiss .horizontal .fa-card-go a:after { content:none; }
/* accent (Net Price Calculator) — Figma purple-100 card, plum chip */
.fa-swiss .fa-card.fa-card-h.fa-card-accent, .fa-swiss .fa-card.horizontal.fa-card-accent { background:#ecd9ea; border-color:#a86ba3; }
.fa-swiss .fa-card.fa-card-h.fa-card-accent .fa-chip, .fa-swiss .fa-card.horizontal.fa-card-accent .fa-chip { background:#491245; color:#ecd9ea; }
.fa-swiss .fa-card.fa-card-h.fa-card-accent .fa-card-title h3, .fa-swiss .fa-card.horizontal.fa-card-accent .fa-card-title h3 { color:#491245; }
.fa-swiss .fa-card.fa-card-h.fa-card-accent .fa-card-desc p, .fa-swiss .fa-card.horizontal.fa-card-accent .fa-card-desc p { color:#4a4a4a; }
.fa-swiss .fa-card.fa-card-accent { background:#f5f5f1; }
.fa-swiss .fa-card.fa-card-plum { background:#491245; border-color:#491245; }
.fa-swiss .fa-card-plum .fa-chip { background:rgba(255,255,255,.08); color:#d6ba97; }
.fa-swiss .fa-card-plum .fa-card-title h3 { color:#fff; }
.fa-swiss .fa-card-plum .fa-card-desc p { color:rgba(255,255,255,.72); }
.fa-swiss .fa-card-plum .fa-card-go a { color:#d6ba97 !important; }
.fa-cards-row .et_pb_column { margin-bottom:0; }

/* reminders band */
.fa-reminders .et_pb_text_inner { border-top:2px solid #0a0a0a; border-bottom:1px solid #0a0a0a; background:#f5f5f1; padding:28px 30px 30px; }
.fa-reminders .lbl { font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#491245; margin-bottom:20px; }
.fa-reminders .cols { display:grid; grid-template-columns:repeat(3,1fr); }
.fa-reminders .col { display:flex; gap:12px; font-size:14px; line-height:1.55; padding:0 24px; border-left:1px solid #e4e4e4; }
.fa-reminders .col:first-child { padding-left:0; border-left:0; }
.fa-reminders .col .ic { width:18px; height:18px; flex:0 0 18px; margin-top:2px; color:#491245; }
.fa-reminders .col p { color:#0a0a0a; padding:0; }
@media(max-width:900px){ .fa-reminders .cols { grid-template-columns:1fr; gap:18px; } .fa-reminders .col { padding:0; border-left:0; } }

/* CTA band (plum) */
.fa-cta h2 { font-size:clamp(28px,3.2vw,42px); line-height:1.1; letter-spacing:-.02em; font-weight:800; color:#fff; padding-bottom:0; }
.fa-cta .fa-cta-lede .et_pb_text_inner p { color:rgba(255,255,255,.85); font-weight:700; font-size:16px; max-width:32em; }
.fa-cta .fa-contacts .et_pb_text_inner { display:flex; gap:56px; }
.fa-cta .fa-contacts .lbl { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#d6ba97; margin-bottom:8px; }
.fa-cta .fa-contacts p { font-size:14px; color:#fff; padding:0; }
.fa-cta .fa-contacts a { color:#fff !important; text-decoration:none; border-bottom:1px solid rgba(214,186,151,.6); }
.fa-cta .fa-ask .lbl { font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#d6ba97; margin-bottom:16px; }
.fa-cta a.fa-btn { display:block; text-align:center; margin-bottom:12px; border-color:#fff; background:#fff; color:#491245 !important; }
.fa-cta a.fa-btn:hover { background:transparent; color:#fff !important; }
.fa-cta a.fa-btn-o { background:transparent; color:#fff !important; }
.fa-cta a.fa-btn-o:hover { background:#fff; color:#491245 !important; }
/* r4 native CTA structure */
.fa-cta .fa-contact-row { display:flex; gap:56px; background:transparent; }
.fa-cta .fa-contact-row .et_pb_module { margin-bottom:0 !important; }
.fa-cta .fa-contact { background:transparent; }
.fa-cta .fa-contact-lbl h5, .fa-cta .fa-ask-lbl h5 { font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#d6ba97; margin:0; padding:0 0 8px; }
.fa-cta .fa-contact-val p { font-size:14px; color:#fff; padding:0; }
.fa-cta .fa-contact-val a { color:#fff !important; text-decoration:none; border-bottom:1px solid rgba(214,186,151,.6); }
.fa-cta .fa-ask-lbl { margin-bottom:16px !important; }
.fa-cta .fa-btn-wrap p { padding:0; }
.fa-cta .fa-btn-wrap { margin-bottom:12px !important; }

/* ===== 4. Legacy-page compatibility (rules Divi 5 drops) ===== */
/* ----- Legacy-page compatibility -----
   Rules that legacy (pre-Swiss) pages rely on but that Divi 5 fails to
   serve after the D4 -> D5 conversion. Each entry documents its origin.
   Remove an entry once its page is rebuilt on the Swiss system. */

/* Homepage hero video knockout (page 35, old layout).
   Origin: the hero Code module's Custom CSS "Before" field on production
   (Divi 4 compiles it into et-cache as `.et_pb_code_0:before`). Divi 5's
   compiled/critical CSS strips the `content: url(data:image/svg+xml,...)`
   declaration and keeps only the positioning, so the knockout plate never
   renders locally. Re-stated here verbatim from production's served CSS
   (et-core-unified-tb-34818-tb-184-deferred-35.min.css), on the stable
   `.home-banner-video` class instead of the order-dependent module class.
   The SVG is an #f5f5f1 plate with three vertical windows (fill-rule
   evenodd); the video shows through the windows. */
.home-banner-video { position: relative; }
.home-banner-video:before {
  content: url("data:image/svg+xml,%3Csvg viewBox='80.669 49.307 373.617 398.99' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 118.636 79.754 L 202.552 79.754 L 202.552 369.007 L 118.636 369.007 Z M 340.333 124.792 L 424.248 124.792 L 424.248 414.044 L 340.333 414.044 Z M 220.445 64.531 L 324.659 64.531 L 324.659 433.708 L 220.445 433.708 Z M 80.669 448.297 L 454.286 448.297 L 454.286 49.307 L 80.669 49.307 Z' style='fill-rule: evenodd; stroke-width: 0.260631; fill: rgb(245, 245, 241);' id='rect1300-2-8'/%3E%3C/svg%3E");
  position: absolute;
  left: -1%;
  top: -1%;
  width: 102%;
  height: 102%;
  z-index: 2;
}
