/* zynim.com — the site layer on top of the brand kit (zynim.css + tokens.css, copied by sync-brand.sh).
   Only layout and page components live here; colours, type and rules come from the brand tokens, so every rule
   below is right in light and dark mode without its own dark variant. */

html{scroll-padding-top:84px}
.zy-skip{position:absolute;left:var(--space-4);top:var(--space-2);z-index:1100;padding:var(--space-2) var(--space-4);background:var(--surface-page)}

/* ── Header ── */
.zy-header{background:var(--surface-page);border-bottom:1px solid var(--rule-color)}
.zy-header .navbar{--bs-navbar-padding-y:.75rem;--bs-navbar-color:var(--text-body);--bs-navbar-hover-color:var(--text-heading);--bs-navbar-active-color:var(--text-heading);--bs-navbar-nav-link-padding-x:.85rem}
.zy-header .navbar-brand{padding:0;margin-right:1.5rem;line-height:1}
.zy-header .navbar-brand img{height:26px;width:auto}
.zy-header .nav-link{font-weight:400;font-size:.9375rem}
.zy-header .navbar-toggler{border-color:var(--rule-strong-color);padding:.375rem .5rem}
.zy-header .navbar-toggler:focus{box-shadow:var(--shadow-focus)}
.zy-header-end{display:flex;align-items:center;gap:.75rem}
.zy-phone{font-weight:400;font-size:.9375rem;color:var(--text-heading);border-bottom:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.zy-phone:hover{color:var(--text-link)}
.dropdown-menu{--bs-dropdown-bg:var(--surface-page);--bs-dropdown-link-color:var(--text-body);--bs-dropdown-link-hover-color:var(--text-heading);--bs-dropdown-link-hover-bg:var(--surface-sunken);--bs-dropdown-link-active-color:var(--text-heading);--bs-dropdown-link-active-bg:var(--surface-sunken);--bs-dropdown-header-color:var(--text-muted);--bs-dropdown-font-size:.9375rem;box-shadow:var(--shadow-overlay)}
.dropdown-item{font-weight:400}
.dropdown-header{font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-track);text-transform:uppercase}
.dropdown-header span{text-transform:none;letter-spacing:0}

/* "Where you're starting": the buyer's own sentence under each starting point, grouped by family. */
.zy-starts-menu{padding:.5rem 0;min-width:22rem}
@media(min-width:992px){.zy-starts-menu{min-width:26rem}}
.zy-starts-group+.zy-starts-group{border-top:1px solid var(--rule-color);margin-top:.35rem;padding-top:.35rem}
.zy-starts-menu .dropdown-item{white-space:normal;padding:.45rem 1rem}
.zy-starts-menu .dropdown-item strong{display:block;font-weight:800;color:var(--text-heading)}
.zy-starts-menu .dropdown-item span{display:block;font-weight:300;font-size:.875rem;color:var(--text-muted)}

/* The colour-mode switcher: the icon shows the current choice (set by the footer script; Auto before it runs). */
.zy-theme-toggle{--bs-btn-padding-x:.5rem;--bs-btn-padding-y:.35rem;--bs-btn-color:var(--text-heading);--bs-btn-border-color:var(--rule-strong-color);--bs-btn-hover-color:var(--text-heading);--bs-btn-hover-border-color:var(--text-muted);--bs-btn-active-border-color:var(--text-muted);display:inline-flex;align-items:center;gap:.25rem}
.zy-ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;display:none}
.zy-ico .zy-fill{fill:currentColor;stroke:none}
.zy-ico-auto,[data-zy-choice=light] .zy-ico-light,[data-zy-choice=dark] .zy-ico-dark{display:inline-block}
[data-zy-choice=light] .zy-ico-auto,[data-zy-choice=dark] .zy-ico-auto{display:none}
.zy-theme-menu .dropdown-item.active::after{content:" ✓";color:var(--mark-affirm)}
.zy-theme-menu .dropdown-item span{color:var(--text-muted);font-weight:300}

@media(max-width:991.98px){
  .zy-header .navbar-collapse{padding:.75rem 0 1rem}
  .zy-header-end{padding-top:.75rem;border-top:1px solid var(--rule-color);margin-top:.5rem}
  .zy-starts-menu{min-width:0;box-shadow:none;border:0}
  .zy-header .dropdown-menu{box-shadow:none}
}

/* ── Main ── (page sections are Assan's; their skins are in skin.css — planning/2026-10-27-assan) */
.zy-alerts:empty{display:none}
.zy-alerts{padding-top:var(--space-6)}

/* A source line under a figure or a quote */
.zy-source{font-size:var(--type-caption-size);color:var(--text-muted);margin-top:var(--space-4)}

/* Check lists (✓ in indigo) */
.zy-checks{list-style:none;padding:0;margin:0}
.zy-checks li{position:relative;padding-left:1.6rem;margin:0 0 var(--space-2)}
.zy-checks li::before{content:"✓";position:absolute;left:0;font-weight:800;color:var(--mark-affirm)}

/* Eyebrow-size tag */
.zy-tag{font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-track);text-transform:uppercase;font-weight:400;color:var(--text-muted);margin-bottom:var(--space-2)}

/* Callout: the one sentence a section leaves behind */
.zy-callout{border-left:2px solid var(--rule-accent-color);padding:var(--space-2) 0 var(--space-2) var(--space-5);font-weight:800;color:var(--text-heading);font-size:var(--type-h4-size);line-height:var(--type-h4-line);margin:var(--space-8) 0 0;max-width:var(--container-narrow)}

/* A starting-point family: its figure, name and line */
.zy-family{margin-bottom:var(--space-4)}
.zy-family h3{font-size:var(--type-h4-size);color:var(--text-figure);margin:var(--space-3) 0 0}
.zy-family p{margin:0;color:var(--text-muted);font-size:var(--type-body-sm-size)}
.zy-family img{width:100%;max-width:220px;height:auto}

/* Exchanges (the lighthouse) */
.zy-exchange{background:var(--surface-step-card);padding:var(--space-6);margin-bottom:var(--space-4)}
.zy-exchange .zy-who{font-size:var(--type-eyebrow-size);letter-spacing:var(--type-eyebrow-track);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-1)}
.zy-exchange .zy-who-agent{color:var(--text-highlight)}
.zy-exchange .zy-q{font-weight:800;color:var(--text-heading);margin:0 0 var(--space-4)}
.zy-exchange .zy-a{margin:0 0 var(--space-2)}
.zy-exchange .zy-note{font-size:var(--type-body-sm-size);color:var(--text-muted);margin:0}
.zy-screen{border:1px solid var(--rule-color);width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top left;background:var(--surface-sunken)}
.zy-screen-caption{font-size:var(--type-caption-size);color:var(--text-muted);margin-top:var(--space-2)}

/* A starting-point page's buyer sentence, under the hero standfirst */
.zy-sentence{font-weight:800;color:var(--text-figure);margin:var(--space-5) 0 0;max-width:34rem}


/* Until the real screen is supplied (DECISIONS Q2) */
.zy-screen-placeholder{background:transparent;display:flex;align-items:center;justify-content:center;border-style:dashed;color:var(--text-muted);font-size:var(--type-body-sm-size);text-align:center;padding:var(--space-4)}

/* Questions (accordion) with the Q/A mark */
.zy-questions .accordion-button{font-weight:800;color:var(--text-heading);font-size:var(--type-body-size)}
.zy-questions .accordion-button:not(.collapsed){box-shadow:none}
.zy-qa-head{display:flex;align-items:center;gap:var(--space-4)}
.zy-qa-head img{width:40px;height:auto;flex:none}

/* Prose pages (legal, Media) */
.zy-prose{max-width:var(--container-narrow)}
.zy-prose h2{font-size:var(--type-h3-size);line-height:var(--type-h3-line);margin:var(--space-10) 0 var(--space-3)}
.zy-prose h3{font-size:var(--type-h4-size);margin:var(--space-6) 0 var(--space-2)}
.zy-prose ul{padding-left:1.25rem}
.zy-video{position:relative;aspect-ratio:16/9;border:1px solid var(--rule-color)}
.zy-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ── Footer ── */
.zy-footer{padding:var(--space-16) 0 var(--space-10);font-size:var(--type-body-sm-size)}
.zy-footer{border-top:1px solid var(--rule-color)}
.zy-footer-links{list-style:none;padding:0;margin:0}
.zy-footer-links li{margin-bottom:var(--space-2)}
.zy-footer-legal{color:var(--text-muted);font-size:var(--type-caption-size)}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

