/* ============================================================
   Winston Taylor brand layer, loaded after style.css and sd.css.
   Typeface: WT Statement. Palette from winstontaylor.com:
   off-black #191919 · off-white #F5F0E6 · sand #EDE8E0 / #D5D0C8
   purple #B95AFF · steel #AABEC3 · ash #B9C3AF · warm grey #6F6D69
   ============================================================ */

@font-face { font-family: 'WT Statement'; font-weight: 400; font-style: normal; font-display: swap; src: url('../fonts/WTStatement-Regular-Web-CcSvE91g.woff2') format('woff2'); }
@font-face { font-family: 'WT Statement'; font-weight: 400; font-style: italic; font-display: swap; src: url('../fonts/WTStatement-RegularItalic-Web-BIdNQkzW.woff2') format('woff2'); }
@font-face { font-family: 'WT Statement'; font-weight: 600; font-style: normal; font-display: swap; src: url('../fonts/WTStatement-Semibold-Web-DIv-Yct-.woff2') format('woff2'); }
@font-face { font-family: 'WT Statement'; font-weight: 600; font-style: italic; font-display: swap; src: url('../fonts/WTStatement-SemiboldItalic-Web-JamacB9B.woff2') format('woff2'); }
@font-face { font-family: 'WT Statement'; font-weight: 700; font-style: normal; font-display: swap; src: url('../fonts/WTStatement-Bold-Web-BN7t1K23.woff2') format('woff2'); }
@font-face { font-family: 'WT Statement'; font-weight: 700; font-style: italic; font-display: swap; src: url('../fonts/WTStatement-BoldItalic-Web-khTj4QbV.woff2') format('woff2'); }

:root {
  --wt-font: 'WT Statement', Arial, sans-serif;
  --wt-cream:      #f5f0e6;   /* brand off-white: page canvas  */
  --wt-cream-2:    #faf7f1;   /* raised tint / table headers    */
  --wt-cream-3:    #ede8e0;   /* brand sand: fills, chips       */
  --wt-line:       #d5d0c8;   /* brand sand-dark: hairlines     */
  --wt-line-soft:  #e4ded4;
  --wt-ink:        #191919;   /* brand off-black                */
  --wt-ink-2:      #3a3835;
  --wt-muted:      #6f6d69;   /* brand warm grey                */
  --wt-violet:     #7a2fc2;   /* purple for text: AA contrast on off-white */
  --wt-violet-dk:  #5b2391;
  --wt-purple:     #b95aff;   /* brand purple: fills, charts, focus */
  --wt-surface:    #fffdf9;   /* cards: a warm white on the off-white canvas */
  --wt-accent-rgb: 185, 90, 255;
  --wt-steel:      #aabec3;
  --wt-ash:        #b9c3af;
  --bs-body-font-family: var(--wt-font);
  --bs-body-bg: var(--wt-cream);
  --bs-body-color: var(--wt-ink);
  --bs-link-color: var(--wt-violet);
  --bs-link-hover-color: var(--wt-violet-dk);
  --bs-link-color-rgb: 122, 47, 194;          /* Bootstrap 5.3 colours links from these */
  --bs-link-hover-color-rgb: 91, 35, 145;
  --bs-primary: #191919;
  --bs-primary-rgb: 25, 25, 25;
  --wt-shadow-xs: 0 1px 2px rgba(25, 25, 25, .04);
  --wt-shadow-sm: 0 1px 3px rgba(25, 25, 25, .04), 0 4px 14px rgba(25, 25, 25, .05);
  --wt-shadow:    0 4px 16px rgba(25, 25, 25, .06), 0 12px 32px rgba(25, 25, 25, .08);
}

html.theme-dark {
  --wt-cream:      #131313;
  --wt-cream-2:    #1d1d1d;
  --wt-cream-3:    #2e2e2e;
  --wt-line:       #3a3835;
  --wt-line-soft:  #2e2e2e;
  --wt-ink:        #f5f0e6;
  --wt-ink-2:      #d5d0c8;
  --wt-muted:      #878480;
  --wt-violet:     #c983ff;
  --wt-violet-dk:  #b95aff;
  --wt-surface:    #191919;
  --bs-body-bg:    #131313;
  --bs-body-color: #f5f0e6;
  --bs-link-color-rgb: 201, 131, 255;
  --bs-link-hover-color-rgb: 226, 196, 255;
  --bs-border-color: #2e2e2e;
}

/* ---- Type: WT Statement, tight headings like the site ---- */
body { font-family: var(--wt-font); letter-spacing: -.01em; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--wt-font); font-weight: 600; letter-spacing: -.03em; line-height: 1.05; }
h4, h5, h6, .h4, .h5, .h6 { letter-spacing: -.02em; line-height: 1.2; }
.sd-hero h1, .fb-name { font-weight: 600; letter-spacing: -.035em; line-height: 1; }
.sd-eyebrow, .fb-eyebrow, .sd-h, .fb-rail-h, .scr-label, .sd-mega-head, .zn-h { letter-spacing: .08em; }
.sd-eyebrow, .fb-eyebrow { color: var(--wt-purple) !important; }
.ag-theme-quartz, .ag-theme-quartz-dark { --ag-font-family: 'WT Statement', Arial, sans-serif; }

/* ---- Chrome ---- */
.navbar { background: rgba(245, 240, 230, .82) !important; border-bottom-color: rgba(25, 25, 25, .08); }
html.theme-dark .navbar { background: rgba(19, 19, 19, .82) !important; }
.brand-tile, .sd-tile { background: #191919 !important; box-shadow: none; }
.sd-tile svg circle { fill: #b95aff; }
html.theme-dark .brand-tile, html.theme-dark .sd-tile { background: #f5f0e6 !important; color: #191919; }
.navbar .nav-link.active { color: var(--wt-ink) !important; background-color: rgba(var(--wt-accent-rgb), .14); }
.card { border-color: rgba(25, 25, 25, .05); }
.dropdown-menu, .navbar .dropdown-menu { background: var(--wt-surface) !important; }

/* ---- Buttons: off-black pills, purple on hover accents ---- */
.btn { border-radius: 9999px; font-weight: 600; letter-spacing: -.01em; }
.btn-primary { --bs-btn-bg: #191919; --bs-btn-border-color: #191919; --bs-btn-color: #f5f0e6; --bs-btn-hover-bg: #2e2e2e; --bs-btn-hover-border-color: #2e2e2e;
  --bs-btn-hover-color: #f5f0e6; --bs-btn-active-bg: #000; --bs-btn-disabled-bg: #6f6d69; --bs-btn-disabled-border-color: #6f6d69; }
html.theme-dark .btn-primary { --bs-btn-bg: #f5f0e6; --bs-btn-border-color: #f5f0e6; --bs-btn-color: #191919; --bs-btn-hover-bg: #ede8e0; --bs-btn-hover-color: #191919; }
.btn-outline-primary { --bs-btn-color: var(--wt-ink); --bs-btn-border-color: var(--wt-line); --bs-btn-hover-bg: #191919; --bs-btn-hover-border-color: #191919; --bs-btn-hover-color: #f5f0e6; }
.btn-outline-secondary { --bs-btn-color: var(--wt-ink); --bs-btn-border-color: var(--wt-line); --bs-btn-hover-bg: var(--wt-cream-3); --bs-btn-hover-color: var(--wt-ink); --bs-btn-hover-border-color: var(--wt-line); }
.form-control:focus, .form-select:focus { border-color: var(--wt-purple); box-shadow: 0 0 0 3px rgba(185, 90, 255, .2); }

/* ---- Hero bands: brand off-black with a purple glow ---- */
.sd-hero, .sd-hero-firm {
  background: radial-gradient(110% 180% at 92% 110%, rgba(185, 90, 255, .32) 0%, rgba(185, 90, 255, 0) 55%), linear-gradient(150deg, #131313 0%, #191919 55%, #232323 100%) !important;
}
.sd-hero .lead { color: rgba(245, 240, 230, .74); }
.sd-hero .btn-light { --bs-btn-bg: #f5f0e6; --bs-btn-border-color: #f5f0e6; --bs-btn-color: #191919; --bs-btn-hover-bg: #ede8e0; --bs-btn-hover-border-color: #ede8e0; }
.sd-hero .btn-ghost { border-color: rgba(245, 240, 230, .3); color: #f5f0e6; }
.sd-hero-stat .l { color: rgba(245, 240, 230, .6); }
#sd-loader { background: rgba(19, 19, 19, .6); }

/* ---- Accents ---- */
.sd-presets button.on, .sd-dash-nav a.on { background: #191919; border-color: #191919; color: #f5f0e6; }
html.theme-dark .sd-presets button.on, html.theme-dark .sd-dash-nav a.on { background: #f5f0e6; border-color: #f5f0e6; color: #191919; }
.sd-seg .on { box-shadow: 0 1px 3px rgba(25, 25, 25, .14); }
.fb-sec > summary { border-left-color: var(--wt-purple); background: linear-gradient(90deg, rgba(185, 90, 255, .09), transparent 60%); }
.fb-flag { box-shadow: 0 0 0 1px rgba(25, 25, 25, .08); }
.sd-avatar { background: linear-gradient(145deg, #aabec3, #6f6d69); }
.sd-avatar.on, .sd-chain-person:first-child .sd-avatar { background: linear-gradient(145deg, #c983ff, #7a2fc2); }
.sd-chain-person:last-child .sd-avatar, .scr-team-p.have .sd-avatar { background: linear-gradient(145deg, #b9c3af, #6b7d5a); }
.sd-degrees { background: linear-gradient(145deg, #b95aff, #7a2fc2); box-shadow: 0 6px 18px rgba(185, 90, 255, .3); }
.sd-sen.p { background: rgba(185, 90, 255, .14); color: #6a26ad; }
.sd-sen.c { background: rgba(86, 118, 126, .14); color: #3f5a61; }
.sd-sen.oc { background: rgba(217, 139, 255, .16); color: #8a3fc0; }
.sd-sen.a { background: rgba(125, 145, 104, .16); color: #55673f; }
html.theme-dark .sd-sen.p { color: #d4a6ff; } html.theme-dark .sd-sen.c { color: #aabec3; }
html.theme-dark .sd-sen.oc { color: #e2c4ff; } html.theme-dark .sd-sen.a { color: #b9c3af; }
.sd-chain-link.office, .sd-tie.office, .scr-intro-l.office { --tie: #7a2fc2; }
.sd-chain-link.class, .sd-tie.class, .scr-intro-l.class { --tie: #56767e; }
.sd-chain-link.firm, .sd-tie.firm, .scr-intro-l.firm { --tie: #6b7d5a; }
.sd-chain-link.school, .sd-tie.school, .scr-intro-l.school { --tie: #9a7b4f; }
.sd-fact .sd-dot, .sd-dot { box-shadow: none; }
.sd-hero-search:focus-within { border-color: rgba(185, 90, 255, .7); }
.sd-sim { background: conic-gradient(var(--wt-purple) calc(var(--p) * 1%), var(--wt-cream-3) 0); }
.scr-steps li.on span { background: #191919; color: #f5f0e6; }
.scr-chip.on, .zq-pill input:checked + span { background: #191919; border-color: #191919; color: #f5f0e6; }
.scr-mini { background: rgba(185, 90, 255, .6); }
.scr-block:not(.off) { border-color: rgba(185, 90, 255, .3); }
.scr-weight input[type=range], input[type=range] { accent-color: #b95aff; }

/* ---- Grids ---- */
.sd-grid.ag-theme-quartz { --ag-header-background-color: #f5f0e6; --ag-header-foreground-color: #3a3835; --ag-odd-row-background-color: #fbf9f5;
  --ag-row-hover-color: #f1e6fb; --ag-border-color: #e4ded4; --ag-row-border-color: #efe9df; --ag-background-color: #fffdf9;
  --ag-selected-row-background-color: rgba(185, 90, 255, .1); --ag-checkbox-checked-color: #7a2fc2; --ag-active-color: #b95aff; }
html.theme-dark .sd-grid.ag-theme-quartz-dark { --ag-background-color: #191919; --ag-header-background-color: #1d1d1d; --ag-odd-row-background-color: #1b1b1b;
  --ag-row-hover-color: rgba(185, 90, 255, .12); --ag-border-color: #2e2e2e; --ag-foreground-color: #f5f0e6; }

/* ---- Sign-in and settings ---- */
.sd-login-main { min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: radial-gradient(70% 60% at 85% 100%, rgba(185, 90, 255, .18), transparent 70%), var(--wt-cream); }
.sd-login { width: 100%; max-width: 420px; }
.sd-login-brand { display: flex; align-items: center; justify-content: center; gap: .6rem; margin-bottom: 1.4rem; }
.sd-login-brand .brand-tile { width: 36px; height: 36px; border-radius: 10px; }
.sd-login-brand .brand-name { font-size: 1.5rem; font-weight: 600; letter-spacing: -.03em; }
.sd-login-card { border-radius: 24px; box-shadow: var(--wt-shadow); }
.sd-login-card .card-body { padding: 2.2rem; }
.sd-login-h { font-size: 2rem; margin-bottom: .3rem; }
.sd-login-error { background: rgba(201, 79, 109, .1); color: #a3304d; border-radius: 12px; padding: .6rem .85rem; font-size: .9rem; margin-bottom: 1rem; }
.sd-login-foot { text-align: center; color: var(--wt-muted); font-size: .84rem; margin-top: 1.2rem; }
.sd-newlink { background: rgba(185, 90, 255, .07); border: 1px solid rgba(185, 90, 255, .25); border-radius: 14px; padding: .9rem 1rem; }
.sd-links-table th { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--wt-muted); font-weight: 600; background: transparent; }
.sd-link-status { font-size: .74rem; font-weight: 600; padding: .14rem .6rem; border-radius: 980px; }
.sd-link-status.active { background: rgba(125, 145, 104, .18); color: #55673f; }
.sd-link-status.expired { background: var(--wt-cream-3); color: var(--wt-muted); }
.sd-link-status.revoked { background: rgba(201, 79, 109, .12); color: #a3304d; }

/* ---- First-login disclaimer ---- */
.sd-disclaimer { border-radius: 24px; border: 0; background: var(--wt-surface); box-shadow: var(--wt-shadow-lg); }
.sd-disclaimer .modal-body { padding: 2.2rem 2.4rem 1rem; font-size: 1.02rem; line-height: 1.6; color: var(--wt-ink); }
.sd-disclaimer-h { font-size: 2rem; margin-bottom: 1rem; }
.sd-disclaimer-sign { font-weight: 600; margin: 1.4rem 0 0; }
.sd-disclaimer .modal-footer { border-top: 1px solid var(--wt-line-soft); padding: 1rem 2.4rem 1.4rem; }
.modal-backdrop.show { opacity: .55; }
html.theme-dark .sd-picker-menu { background: #191919; border-color: rgba(245, 240, 230, .12); }
