/* =====================================================================
   WorldsEdge Media theme for Bootstrap 5.3
   Load after bootstrap.min.css. Uses data-bs-theme="dark" on <html>.
====================================================================== */

/* ---------- 1. Tokens ---------- */
:root,[data-bs-theme="dark"]{
  --we-bg:#000;
  --we-panel:rgba(255,255,255,.04);
  --we-panel-2:rgba(255,255,255,.07);
  --we-stroke:rgba(255,255,255,.09);
  --we-text:#F6F3FB;
  --we-muted:#A79FB8;
  --we-brand:#460874;
  --we-violet:#7B2FF7;
  --we-magenta:#D63AF9;
  --we-pink:#FF7AC6;
  --we-link:#DCC8FF;
  --we-live:#FF5C9A;
  --we-grad-1:var(--we-violet);--we-grad-2:var(--we-pink);
  --we-topbar-bg:transparent;--we-topbar-text:var(--we-muted);
  --we-nav-text:#D9D3E6;--we-nav-hover:#fff;
  /* Design states: hover and focus lines are the magenta, the glow is the violet
     (collaborator cards, the Now card and the editor link hover in silver, as the design). */
  --we-line-hover:color-mix(in srgb,var(--we-magenta) 50%,transparent);
  --we-line-card:color-mix(in srgb,var(--we-magenta) 45%,transparent);
  --we-line-feed:color-mix(in srgb,var(--we-magenta) 40%,transparent);
  --we-focus:color-mix(in srgb,var(--we-magenta) 60%,transparent);
  --we-glow-card:color-mix(in srgb,var(--we-violet) 18%,transparent);
  --we-line-silver:rgba(230,233,238,.35);
  /* Design text shades (menu panel, chips, feed items) */
  --we-drop-bg:rgba(16,10,30,.96);--we-pop-bg:rgba(18,19,22,.97);--we-thumb-bg:rgba(12,8,24,.6);
  --we-chip-text:#E4DDF0;--we-chip-on-text:#12072A;--we-chip-on-sub:#5c4f73;
  --we-body-2:#D3D6DC;--we-body-3:#C9CCD2;--we-loc:#E4E6EA;--we-title-hover:#E9D9FF;
  --we-footer-bg:linear-gradient(180deg,rgba(190,195,204,.14),var(--we-bg) 60%);--we-footer-text:var(--we-muted);
  --we-silver-1:#F5F6F8;--we-silver-2:#BFC3CA;--we-silver-3:#7C818A;--we-silver-4:#D9DCE1;
  --we-deep-1:#2B2D33;--we-deep-2:#121316;
  --we-glow-1:#8E939C;--we-glow-2:#5C6068;--we-glow-3:#C9CDD4;
  --we-grad:linear-gradient(115deg,var(--we-grad-1) 0%,var(--we-magenta) 55%,var(--we-grad-2) 100%);
  --we-grad-deep:linear-gradient(135deg,var(--we-deep-1) 0%,var(--we-deep-2) 45%,var(--we-bg) 100%);
  --we-silver:linear-gradient(135deg,var(--we-silver-1) 0%,var(--we-silver-2) 35%,var(--we-silver-3) 60%,var(--we-silver-4) 100%);
  --we-display:"Sora","Segoe UI",system-ui,sans-serif;
  --we-body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --we-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;

  /* Bootstrap overrides */
  --bs-body-bg:var(--we-bg);
  --bs-body-color:var(--we-text);
  --bs-body-font-family:var(--we-body);
  --bs-border-color:var(--we-stroke);
  --bs-link-color:var(--we-link);
  --bs-link-hover-color:#fff;
  --bs-link-color-rgb:220,200,255;
  --bs-link-hover-color-rgb:255,255,255;
  --bs-primary:var(--we-violet);
  --bs-primary-rgb:123,47,247;
  --bs-focus-ring-color:rgba(214,58,249,.35);
}
/* The platform accent the global stylesheet and legacy views read (links, pills, !important
   hovers) is the theme's violet, not the dashboard colour it prints on :root. */
body.theme-worldsedge{--site_color_g:var(--we-violet)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 120px)}
body{background:var(--we-bg);color:var(--we-text);-webkit-font-smoothing:antialiased;overflow-x:hidden;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
a{text-decoration:none}
h1,h2,h3,h4,h5{font-family:var(--we-display);letter-spacing:-.02em}
:focus-visible,.btn:focus-visible{outline:2px solid var(--we-magenta);outline-offset:3px}
.btn:focus-visible{box-shadow:none}
.we-muted{color:var(--we-muted)!important}
.we-silver-text{background:var(--we-silver);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- 2. Ambient background ---------- */
.we-ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;background:
  radial-gradient(70% 50% at 50% -10%,rgba(200,205,214,.22),transparent 60%),
  radial-gradient(60% 40% at 100% 60%,rgba(160,166,176,.10),transparent 70%),
  linear-gradient(180deg,#0B0C0E 0%,#000 35%,#08090B 70%,#000 100%)}
.we-ambient::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.035) 45%,transparent 60%)}
.orb{position:absolute;border-radius:50%;filter:blur(110px);opacity:.28;animation:we-drift 22s ease-in-out infinite alternate}
.orb-a{width:620px;height:620px;background:var(--we-glow-1);top:-160px;left:-140px}
.orb-b{width:520px;height:520px;background:var(--we-glow-2);top:35%;right:-180px;animation-delay:-8s}
.orb-c{width:480px;height:480px;background:var(--we-glow-3);bottom:-200px;left:25%;animation-delay:-14s}
@keyframes we-drift{to{transform:translate(80px,60px) scale(1.15)}}

/* ---------- 3. Buttons ---------- */
.btn{--bs-btn-font-weight:600;--bs-btn-border-radius:999px;--bs-btn-padding-x:1.4rem;--bs-btn-padding-y:.75rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.btn:active{transform:scale(.97)}
.btn-lg{--bs-btn-padding-x:1.9rem;--bs-btn-padding-y:.95rem;--bs-btn-font-size:1rem}
.btn-sm{--bs-btn-padding-x:1rem;--bs-btn-padding-y:.45rem;--bs-btn-font-size:.875rem}
.we-btn-grad{background:var(--we-grad);color:#fff;border:0;box-shadow:0 10px 30px rgba(214,58,249,.35)}
.we-btn-grad:hover,.we-btn-grad:focus{color:#fff;transform:translateY(-1px);box-shadow:0 14px 40px rgba(214,58,249,.55)}
.we-btn-glass{background:var(--we-panel-2);color:#fff;border:1px solid var(--we-stroke);backdrop-filter:blur(10px)}
.we-btn-glass:hover{background:rgba(255,255,255,.12);color:#fff;border-color:var(--we-stroke)}
.we-btn-silver{background:linear-gradient(100deg,#F6F7F9,#C4C8D0 60%,#8E939C);color:#0B0C0E;border:0;box-shadow:0 10px 30px rgba(220,225,235,.18)}
.we-btn-silver:hover{color:#0B0C0E;transform:translateY(-2px);box-shadow:0 16px 40px rgba(220,225,235,.3)}
.we-btn-dark{background:rgba(10,10,12,.7);border:1px solid rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(10px)}
.we-btn-dark:hover{background:rgba(40,42,46,.8);color:#fff;border-color:rgba(255,255,255,.14)}
.we-btn-outline{background:var(--we-panel);border:1px solid var(--we-stroke);color:var(--we-text)}
.we-btn-outline:hover{background:var(--we-panel-2);border-color:var(--we-line-hover);color:var(--we-text)}
.we-icon-btn{--bs-btn-padding-x:0;--bs-btn-padding-y:0;width:42px;height:42px;border-radius:50%;border:1px solid var(--we-stroke);background:var(--we-panel);color:#fff}
.we-icon-btn:hover{background:var(--we-panel-2);color:#fff}
.navbar-toggler.we-icon-btn{padding:0;box-shadow:none}

/* ---------- 4. Header ---------- */
/* Only the menu row is pinned: the header box steps aside (display:contents) so the
   sticky nav is held by the page, not by the header; the top bar and a centred
   logo row scroll away. The scrolled look moves onto the pinned row. */
.we-header{display:contents}
.we-header .we-navbar{position:sticky;top:0;z-index:1020;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.we-header.scrolled .we-navbar{background:rgba(0,0,0,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom-color:var(--we-stroke)}
/* Site Options > Center the logo: the logo on its own row above the menu (not pinned) */
.we-brand-row{display:flex;justify-content:center;padding-top:.9rem}
.we-brand-row .navbar-brand{margin:0}
.we-navbar.we-logo-center > .container{justify-content:center}
.we-topbar{height:44px;font-size:14px;color:var(--we-topbar-text);background:var(--we-topbar-bg);border-bottom:1px solid var(--we-stroke)}
.we-socials a{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--we-topbar-text);transition:.2s}
.we-socials a:hover{color:#fff;background:var(--we-panel-2)}
.we-toplink{color:var(--we-topbar-text)}
.we-toplink:hover{color:#fff}
.we-editor-link{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid var(--we-stroke);color:#fff;font:600 14px var(--we-body);padding:6px 14px;border-radius:999px;white-space:nowrap;transition:.2s}
.we-editor-link:hover{background:rgba(255,255,255,.12);border-color:var(--we-line-silver)}
.we-navbar{position:relative;--bs-navbar-padding-y:.9rem;--bs-navbar-color:var(--we-nav-text);--bs-navbar-hover-color:var(--we-nav-hover);--bs-navbar-active-color:var(--we-nav-hover)}
.we-navbar .nav-link{font-weight:500;padding:.6rem .95rem!important;border-radius:999px;transition:background .2s}
.we-navbar .nav-link:hover,.we-navbar .nav-link.show,.we-navbar .nav-link.active{background:var(--we-panel-2)}
.we-logo{display:inline-flex;align-items:center}
.we-logo img{width:auto;max-width:100%}
/* Logo height: the design set it with height= on the <img>; the theme sets it here so any markup gets it */
/* Site Options > Logo height / Logo width (colors_settings.php prints --we-logo-h / --we-logo-w) */
.we-navbar .we-logo,.we-brand-row .we-logo{flex:0 0 auto}
.we-navbar .we-logo img,.we-brand-row .we-logo img{height:var(--we-logo-h,46px);width:var(--we-logo-w,auto);max-width:min(var(--we-logo-w,100%),60vw);object-fit:contain}
.we-footer .we-logo img{height:54px}
.we-logo-fallback{display:inline-flex;align-items:center;gap:10px;font-family:var(--we-display);font-weight:800;font-size:22px;letter-spacing:-.02em;color:var(--we-text)}
.we-logo.has-img .we-logo-fallback{display:none}
.we-logo-mark{width:34px;height:34px;border-radius:10px;background:var(--we-grad);display:grid;place-items:center;box-shadow:0 8px 24px rgba(214,58,249,.4)}
.we-logo-mark::after{content:"";width:14px;height:14px;border-radius:50%;border:2.5px solid #fff;border-bottom-color:transparent;transform:rotate(-45deg)}
.we-dropdown{--bs-dropdown-bg:var(--we-drop-bg);--bs-dropdown-border-color:var(--we-stroke);--bs-dropdown-border-radius:18px;--bs-dropdown-padding-x:.5rem;--bs-dropdown-padding-y:.5rem;--bs-dropdown-link-color:var(--we-text);--bs-dropdown-link-hover-bg:var(--we-panel-2);--bs-dropdown-link-hover-color:var(--we-text);--bs-dropdown-link-active-bg:rgba(123,47,247,.4);box-shadow:0 30px 60px rgba(0,0,0,.6),0 0 0 1px color-mix(in srgb,var(--we-violet) 15%,transparent);backdrop-filter:blur(20px)}
.we-dropdown .dropdown-item{border-radius:12px;padding:.6rem .8rem;display:flex;gap:12px;align-items:center;white-space:normal}
.we-dropdown .dropdown-item small{display:block;color:var(--we-muted);font-size:14px}
.we-dropdown-wide{min-width:340px}
.we-dot{flex:0 0 10px;height:10px;border-radius:50%;background:var(--c,var(--we-violet));box-shadow:0 0 12px var(--c,var(--we-violet));display:inline-block}
/* The worlds' dots: the theme palette in turn (no per-item colour) */
.we-marquee .we-cat:nth-child(6n+1) .we-dot{--c:var(--we-violet)}
.we-marquee .we-cat:nth-child(6n+2) .we-dot{--c:var(--we-magenta)}
.we-marquee .we-cat:nth-child(6n+3) .we-dot{--c:var(--we-pink)}
.we-marquee .we-cat:nth-child(6n+4) .we-dot{--c:var(--we-link)}
.we-marquee .we-cat:nth-child(6n+5) .we-dot{--c:var(--we-live)}
.we-marquee .we-cat:nth-child(6n+6) .we-dot{--c:var(--we-silver-2)}
/* Collapsed menu panel: the burger below 1200px (see below). */
@media (min-width:992px) and (max-width:1199.98px){
.we-navbar .navbar-collapse{margin-top:.75rem;padding:.75rem;border-radius:18px;background:rgba(10,10,12,.96);border:1px solid var(--we-stroke);max-height:75vh;overflow:auto}
.we-navbar .we-dropdown{box-shadow:none;background:transparent;border:0}
.we-navbar .we-dropdown-wide{min-width:0}
}
@media (max-width:991.98px){
  .we-navbar .navbar-collapse{margin-top:.75rem;padding:.75rem;border-radius:18px;background:rgba(10,10,12,.96);border:1px solid var(--we-stroke);max-height:75vh;overflow:auto}
  .we-dropdown{box-shadow:none;background:transparent;border:0}
  .we-dropdown-wide{min-width:0}
}
/* NOTHING EVER SPILLS OUT OF THE BAR. Portal menus and admin logo sizes vary:
   992-1199px shows the burger; from 1200px the logo and buttons keep their size and
   the menu links wrap onto a second line inside the bar when they do not fit. */
@media (min-width:1200px){
  .we-navbar .navbar-brand,.we-navbar .container>.order-lg-last{flex:0 0 auto}
  .we-navbar .navbar-collapse{flex:1 1 0;min-width:0}
  .we-navbar .navbar-nav{flex-wrap:wrap;row-gap:.25rem}
}
@media (min-width:992px) and (max-width:1199.98px){
  .we-navbar.navbar-expand-lg{flex-wrap:wrap;justify-content:space-between}
  .we-navbar.navbar-expand-lg .navbar-toggler{display:block}
  .we-navbar.navbar-expand-lg .container>.order-lg-last{order:0!important}
  .we-navbar.navbar-expand-lg .navbar-collapse{flex-basis:100%}
  .we-navbar.navbar-expand-lg .navbar-collapse:not(.show){display:none!important}
  .we-navbar.navbar-expand-lg .navbar-nav{flex-direction:column;margin-left:0!important}
  .we-navbar.navbar-expand-lg .navbar-nav .dropdown-menu{position:static}
}
/* An admin Logo width wider than the artwork: keep the artwork at the start of its box. */
.we-navbar .we-logo img{object-position:left center}
/* An admin top-bar colour sits on a .container: paint it edge to edge. */
.we-topbar{box-shadow:0 0 0 100vmax var(--we-topbar-bg);clip-path:inset(0 -100vmax)}
@media (max-width:575.98px){.we-navbar .container{flex-wrap:nowrap}.we-navbar .navbar-collapse{position:absolute;top:100%;left:12px;right:12px;z-index:10}.we-navbar .navbar-brand{margin-right:.5rem}.we-navbar .we-btn-grad{--bs-btn-padding-x:1rem;--bs-btn-padding-y:.6rem}}
@media (max-width:420px){.we-logo-fallback{font-size:18px}.we-logo-mark{width:30px;height:30px}.we-logo img{height:38px}}

/* ---------- 5. Hero (moving banner, copy overlaid left) ---------- */
.we-hero{position:relative;overflow:hidden;min-height:clamp(620px,calc(100vh - 120px),960px);display:flex;align-items:center;isolation:isolate;background:#000}
.we-hero-bg{position:absolute;inset:0;z-index:-1}
.we-hero-kb{position:absolute;top:0;bottom:0;right:0;left:30%;transform-origin:50% 38%;animation:we-kb 26s ease-in-out infinite alternate;will-change:transform}
.we-hero-kb::before{content:"";position:absolute;left:0;top:0;bottom:0;width:22%;z-index:1;background:linear-gradient(90deg,#000,transparent)}
.we-hero-svg{position:absolute;inset:0;width:100%;height:100%;display:block;filter:saturate(.82) contrast(1.06)}
#heroFx{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen}
@keyframes we-kb{0%{transform:scale(1.03)}50%{transform:scale(1.1) translate3d(-1.2%,-.8%,0)}100%{transform:scale(1.16) translate3d(1%,-1.6%,0)}}
.we-hero-shimmer{position:absolute;left:0;right:0;top:54%;height:10%;mix-blend-mode:screen;opacity:.3;filter:blur(1.2px);
  background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(210,230,255,.55) 23px,transparent 26px 60px);
  -webkit-mask:linear-gradient(180deg,transparent,#000 35%,#000 65%,transparent);mask:linear-gradient(180deg,transparent,#000 35%,#000 65%,transparent);
  animation:we-shim 9s linear infinite}
@keyframes we-shim{to{background-position:520px 0}}
.we-hero-flare{position:absolute;left:65%;top:6%;width:44vw;height:44vw;max-width:640px;max-height:640px;transform:translate(-50%,-50%);border-radius:50%;mix-blend-mode:screen;
  background:radial-gradient(circle,rgba(255,255,255,.55) 0,rgba(200,170,255,.28) 12%,rgba(214,58,249,.12) 30%,transparent 60%);animation:we-flare 6s ease-in-out infinite}
@keyframes we-flare{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.92)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
.we-hero-mist{position:absolute;bottom:-12%;width:80%;height:45%;border-radius:50%;filter:blur(40px);mix-blend-mode:screen;background:radial-gradient(ellipse,rgba(225,230,238,.28),transparent 70%)}
.we-hero-mist.m1{left:-20%;animation:we-mist 26s ease-in-out infinite alternate}
.we-hero-mist.m2{right:-25%;opacity:.8;animation:we-mist 32s ease-in-out infinite alternate-reverse}
@keyframes we-mist{to{transform:translateX(30%)}}
.we-hero-tint{position:absolute;inset:0;mix-blend-mode:soft-light;background:radial-gradient(60% 50% at 65% 20%,rgba(123,47,247,.45),transparent 70%),linear-gradient(180deg,rgba(90,20,140,.25),transparent 40%,rgba(0,0,0,.2))}
.we-hero-shade{position:absolute;inset:0;background:
  linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 26%,rgba(0,0,0,.6) 42%,rgba(0,0,0,.15) 60%,transparent 78%,rgba(0,0,0,.25) 100%),
  linear-gradient(180deg,rgba(0,0,0,.5) 0%,transparent 20%,transparent 72%,#000 100%)}
.we-hero-scan{position:absolute;inset:0;opacity:.18;mix-blend-mode:overlay;background:repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 1px,transparent 1px 3px)}
.we-hero-pause{position:absolute;top:24px;right:24px;z-index:5;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.45);backdrop-filter:blur(8px);color:#fff;display:grid;place-items:center;opacity:.7;transition:opacity .2s}
.we-hero-pause:hover{opacity:1}
.we-hero.paused .we-hero-kb,.we-hero.paused .we-hero-shimmer,.we-hero.paused .we-hero-flare,.we-hero.paused .we-hero-mist{animation-play-state:paused}
.we-hero-inner{padding-top:clamp(48px,7vh,90px);padding-bottom:clamp(48px,8vh,96px)}
.we-pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;background:rgba(0,0,0,.5);backdrop-filter:blur(10px);border:1px solid var(--we-stroke);font-size:14px;color:#E9E2F6;margin-bottom:24px}
.we-pill b{background:var(--we-grad);padding:3px 10px;border-radius:999px;font-size:14px;font-weight:600;color:#fff}
.we-hero-title{font-weight:800;font-size:clamp(40px,5.2vw,78px);line-height:1.02;letter-spacing:-.035em;margin:0 0 22px;max-width:14ch;text-shadow:0 6px 40px rgba(0,0,0,.7)}
.we-hero-sub{font-size:clamp(16px,1.25vw,19px);line-height:1.65;color:#C4C8CF;max-width:50ch;margin:0 0 34px}
.we-hero-copy>*{animation:we-in .9s cubic-bezier(.2,.7,.2,1) both}
.we-hero-copy>*:nth-child(2){animation-delay:.08s}.we-hero-copy>*:nth-child(3){animation-delay:.16s}.we-hero-copy>*:nth-child(4){animation-delay:.24s}
.we-hero-side{animation:we-in .9s .35s cubic-bezier(.2,.7,.2,1) both}
@keyframes we-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.we-now,.we-stats{border-radius:24px;background:rgba(14,15,18,.62);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 30px 60px rgba(0,0,0,.4)}
.we-now{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;padding:14px;color:var(--we-text);transition:border-color .2s}
.we-now:hover{color:var(--we-text);border-color:var(--we-line-silver)}
.we-now-thumb{aspect-ratio:1;border-radius:14px;overflow:hidden;background:radial-gradient(circle at 30% 30%,#3a5a8c,#0b1426 75%)}
.we-now-thumb img{width:100%;height:100%;object-fit:cover}
.we-now strong{display:block;font-family:var(--we-display);font-size:19px;line-height:1.2;margin-bottom:4px}
.we-now small{color:var(--we-muted);font-size:14px}
.we-mono-label{display:flex;align-items:center;gap:10px;font:500 14px var(--we-mono);letter-spacing:.14em;text-transform:uppercase;color:#E6E8EC;margin-bottom:6px}
.we-mono-label i{width:9px;height:9px;border-radius:50%;background:#FF3B5C;box-shadow:0 0 0 4px rgba(255,59,92,.2);animation:we-pulse 1.8s infinite}
@keyframes we-pulse{70%{box-shadow:0 0 0 10px rgba(255,59,92,0)}100%{box-shadow:0 0 0 0 rgba(255,59,92,0)}}
.we-stats{padding:18px 8px}
.we-stats .col{display:flex;flex-direction:column;align-items:center;gap:6px}
.we-stats .col+.col{border-left:1px solid rgba(255,255,255,.1)}
.we-stats b{font-family:var(--we-display);font-weight:800;font-size:clamp(28px,2.6vw,40px);line-height:1;background:linear-gradient(180deg,#fff,#A9AEB7);-webkit-background-clip:text;background-clip:text;color:transparent}
.we-stats span{font:500 14px var(--we-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--we-muted)}
@media (max-width:991.98px){
  .we-hero{align-items:flex-end}
  .we-hero-inner{padding-top:120px}
  .we-hero-kb{left:0}.we-hero-kb::before{display:none}
  .we-hero-flare{left:50%}
  .we-hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.25) 25%,rgba(0,0,0,.85) 55%,#000 100%)}
}
@media (max-width:991.98px){
  .we-hero{min-height:0;align-items:flex-start}
  .we-hero-kb{left:0;right:0;top:0;bottom:auto;height:auto;aspect-ratio:1371/771;animation-name:we-kb-m}
  .we-hero-flare{top:3%;width:70vw;height:70vw}
  .we-hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.15) 0,rgba(0,0,0,.1) 38vw,rgba(0,0,0,.85) 52vw,#000 58vw)}
  .we-hero-inner{padding-top:calc(56.25vw - 24px);padding-bottom:40px}
  .we-hero-title{font-size:clamp(36px,8vw,60px);max-width:18ch}
  .we-hero-pause{top:14px;right:14px}
  .we-now{grid-template-columns:84px 1fr}
}
@keyframes we-kb-m{from{transform:scale(1)}to{transform:scale(1.08)}}

/* ---------- 6. Marquee ---------- */
.we-marquee{margin-top:8px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.we-marquee-track{display:flex;gap:12px;width:max-content;animation:we-scroll 40s linear infinite}
.we-marquee:hover .we-marquee-track{animation-play-state:paused}
.we-cat{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:var(--we-panel);border:1px solid var(--we-stroke);font-weight:500;color:var(--we-text);white-space:nowrap;transition:.2s}
.we-cat:hover{color:var(--we-text);background:var(--we-panel-2);border-color:var(--we-line-hover)}
.we-cat small{color:var(--we-muted)}
@keyframes we-scroll{to{transform:translateX(-50%)}}

/* ---------- 7. Sections and shared pieces ---------- */
.we-section{padding-top:96px}
.we-section-head{margin-bottom:36px}
.we-section-head h2{font-weight:800;font-size:clamp(32px,4.2vw,52px);letter-spacing:-.035em;line-height:1;margin:0}
.we-section-head p{margin:12px 0 0;color:var(--we-muted);max-width:52ch}
.we-media{position:relative;overflow:hidden;background:radial-gradient(90% 90% at 90% 110%,rgba(210,214,222,.35),transparent 60%),radial-gradient(70% 70% at 0% 0%,rgba(110,116,126,.4),transparent 65%),#101114}
.we-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
a:hover .we-media img{transform:scale(1.05)}
.we-tag{font-size:14px;font-weight:600;padding:5px 11px;border-radius:999px;background:color-mix(in srgb,var(--we-violet) 18%,transparent);color:var(--we-link);border:1px solid color-mix(in srgb,var(--we-violet) 35%,transparent);transition:background .2s}
.we-tag:hover{background:color-mix(in srgb,var(--we-violet) 40%,transparent)}
.we-readmore{font-weight:600;font-size:14px;background:var(--we-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.we-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.we-muted-label{font-size:14px;font-weight:600;color:var(--we-muted)}
.we-card{--bs-card-bg:transparent;--bs-card-border-color:var(--we-stroke);--bs-card-border-radius:24px;--bs-card-inner-border-radius:23px;--bs-card-spacer-x:1.4rem;--bs-card-spacer-y:1.3rem;--bs-card-color:var(--we-text);
  background:linear-gradient(160deg,rgba(220,224,230,.10),rgba(255,255,255,.02) 60%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);overflow:hidden;color:var(--we-text);transition:transform .3s,border-color .3s,box-shadow .3s}
.we-card:hover{color:var(--we-text);transform:translateY(-6px);border-color:var(--we-line-card);box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 60px var(--we-glow-card)}
/* Design: the Discover cards carry .reveal, whose later .reveal.in{transform:none} cancels the hover lift - they glow but do not move. Featured and side cards still lift. */
#discover .we-card:hover{transform:none}
.we-card .card-title{font-weight:700;font-size:21px;line-height:1.25;margin:0}
.we-card .card-text{color:var(--we-muted);font-size:15px;margin:0}
.we-side-title{font-size:clamp(26px,2.6vw,34px)!important}
.we-side-card-title{font-size:17px;line-height:1.3;margin:6px 0 14px}
.we-panel{border-radius:28px;border:1px solid var(--we-stroke);background:linear-gradient(160deg,rgba(210,214,222,.10),rgba(255,255,255,.02) 50%,rgba(0,0,0,.4));box-shadow:inset 0 1px 0 rgba(255,255,255,.12);padding:clamp(20px,3vw,36px)}
.we-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--we-silver);display:grid;place-items:center;font-family:var(--we-display);font-weight:800;font-size:14px;color:#111}
@media (prefers-reduced-motion:no-preference){
  .we-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
  .we-reveal.in{opacity:1;transform:none}
}

/* ---------- 8. News Experiences carousel ---------- */
.we-xp{border-radius:32px;overflow:hidden;border:1px solid var(--we-stroke);position:relative}
.we-xp .carousel-item{min-height:540px}
.we-xp-bg{position:absolute;inset:0}
.we-xp-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.7) 45%,rgba(0,0,0,.1) 100%),linear-gradient(0deg,rgba(0,0,0,.85),transparent 55%)}
.we-xp-copy{position:relative;color:var(--we-muted);z-index:2;padding:clamp(28px,5vw,64px);padding-bottom:140px;max-width:760px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:540px}
/* Design: the slide text box is .copy, which also matches the design footer's .copy{color:var(--muted)} - so the title renders #A79FB8, not white. */
.we-xp-copy h3{color:var(--we-muted);font-weight:800;font-size:clamp(28px,3.6vw,46px);line-height:1.05;letter-spacing:-.03em;margin:16px 0 14px}
.we-xp-copy p{color:#D6CDE8;font-size:17px;max-width:56ch;margin:0 0 24px}
.we-play-badge{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);font-size:14px;font-weight:600}
.we-play-badge i{width:26px;height:26px;border-radius:50%;background:var(--we-grad);display:grid;place-items:center;font-style:normal;font-size:14px;line-height:1}
.we-xp-thumbs{position:absolute;left:0;right:0;bottom:0;margin:0;padding:0 clamp(20px,4vw,48px) 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;z-index:3}
.we-xp-thumbs [data-bs-target]{width:auto;height:auto;text-indent:0;margin:0;opacity:1;flex:initial;background:var(--we-thumb-bg);backdrop-filter:blur(14px);border:1px solid var(--we-stroke);border-radius:16px;padding:10px;display:flex;align-items:center;gap:12px;text-align:left;color:#fff;position:relative;overflow:hidden;transition:.2s}
.we-xp-thumbs [data-bs-target] .we-media{flex:0 0 64px;height:48px;border-radius:10px}
.we-xp-thumbs .lbl{font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.we-xp-thumbs .active{border-color:var(--we-focus);background:rgba(60,62,68,.7)}
/* Bootstrap's dark carousel paints indicators black at (0,4,0): the design's thumb colours win here. */
.we-xp.carousel .we-xp-thumbs [data-bs-target]{background-color:var(--we-thumb-bg)}
.we-xp.carousel .we-xp-thumbs [data-bs-target].active{background-color:rgba(60,62,68,.7);border-color:var(--we-focus)}
.we-xp-thumbs .bar{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--we-grad)}
.we-xp-thumbs .active .bar{animation:we-fill 7s linear forwards}
.we-xp:hover .we-xp-thumbs .active .bar{animation-play-state:paused}
@keyframes we-fill{to{width:100%}}
@media (max-width:767.98px){.we-xp-thumbs{grid-template-columns:1fr}.we-xp-thumbs [data-bs-target]:not(.active){display:none}.we-xp .carousel-item,.we-xp-copy{min-height:600px}.we-xp-copy{padding-bottom:110px}}

/* ---------- 9. Live Feed: filters and form controls (the feed cards are feed.css) ---------- */
.we-pills{--bs-nav-pills-border-radius:999px;--bs-nav-pills-link-active-bg:transparent;display:inline-flex;flex-wrap:nowrap;overflow-x:auto;gap:4px;padding:5px;border-radius:999px;background:rgba(0,0,0,.4);border:1px solid var(--we-stroke);max-width:100%}
.we-pills .nav-link{color:var(--we-muted);font-weight:600;font-size:14px;padding:9px 16px;white-space:nowrap;display:flex;align-items:center;gap:6px}
.we-pills .nav-link:hover{color:#fff}
.we-pills .nav-link.active{background:var(--we-grad);color:#fff}
.we-pills .we-rss{color:#FFB86B}
.we-chip{border:1px solid var(--we-stroke);background:var(--we-panel);color:var(--we-chip-text);font-size:14px;font-weight:500;padding:7px 13px;border-radius:999px;transition:.2s}
.we-chip:hover{border-color:var(--we-line-hover)}
.we-chip small{color:var(--we-muted)}
.we-chip.active{background:#fff;color:var(--we-chip-on-text);border-color:#fff}
.we-chip.active small{color:var(--we-chip-on-sub)}
.form-control,.form-select{--bs-body-bg:rgba(0,0,0,.4);background-color:rgba(0,0,0,.4);border-color:var(--we-stroke);color:#fff}
.form-control:focus,.form-select:focus{background-color:var(--bs-body-bg);border-color:var(--we-focus);box-shadow:none;color:#fff}
.form-control::placeholder{color:#8C8F98}
.form-select option{background:#111;color:#fff}
.we-input{border-radius:999px;overflow:hidden;border:1px solid var(--we-stroke);background:rgba(0,0,0,.4)}
.we-input .input-group-text{background:transparent;border:0;color:var(--we-muted);padding-left:1.1rem}
.we-input .form-control{border:0;background:transparent;padding:.75rem .75rem .75rem .25rem}
.we-input .form-control:focus{box-shadow:none;background:transparent}
.we-input:focus-within{border-color:rgba(214,58,249,.6)}
.we-select{border-radius:999px;padding:.75rem 2.5rem .75rem 1.1rem;min-width:230px}
@media (max-width:991.98px){.we-select{min-width:0}}
.we-input-pill{border-radius:999px;padding:.75rem 1.2rem}
.we-actions{margin-top:18px;padding:8px 0;border-top:1px solid var(--we-stroke)}
.we-act{display:inline-flex;align-items:center;gap:8px;background:none;border:0;color:#D3D6DC;font:500 14px var(--we-body);padding:9px 12px;border-radius:999px;transition:.2s}
.we-act:hover,.we-act.show{background:var(--we-panel-2);color:#fff}
.we-act svg{width:18px;height:18px}
.we-act.liked{color:var(--we-live)}
.we-act.liked svg{fill:var(--we-live);stroke:var(--we-live);animation:we-pop .35s ease}
@keyframes we-pop{50%{transform:scale(1.3)}}
@media (min-width:1200px){.we-sticky{position:sticky;top:140px}}

/* ---------- 10. Ad ---------- */
.we-ad-wrap{padding-top:72px}
.we-ad{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:clamp(24px,4vw,44px);border-radius:28px;position:relative;overflow:hidden;background:var(--we-grad-deep);border:1px solid var(--we-stroke);color:var(--we-text)}
.we-ad:hover{color:var(--we-text)}
.we-ad::before{content:"";position:absolute;right:-100px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(230,233,238,.35),transparent 65%)}
.we-ad.has-img{padding:0;display:block}
.we-ad.has-img>*:not(img){display:none}
.we-ad img{width:100%;height:auto;display:block}
.we-ad-copy,.we-ad-btn{position:relative}
.we-ad-copy small{color:#CFC2E6;font-size:14px}
.we-ad-copy h3{font-weight:800;font-size:clamp(24px,3vw,36px);line-height:1.1;margin:6px 0 0;max-width:22ch}
.we-ad-note{text-align:center;font-size:14px;color:var(--we-muted);margin-top:8px}

/* ---------- 11. Collaborators ---------- */
.we-collab{display:block;border-radius:24px;overflow:hidden;border:1px solid var(--we-stroke);background:linear-gradient(160deg,rgba(220,224,230,.08),rgba(255,255,255,.02) 60%);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);color:var(--we-text);transition:transform .3s,border-color .3s,box-shadow .3s}
.we-collab:hover{color:var(--we-text);transform:translateY(-6px);border-color:var(--we-line-silver);box-shadow:0 30px 60px rgba(0,0,0,.5),0 0 50px rgba(200,205,214,.12)}
.we-collab-img{position:relative;aspect-ratio:4/3.2;overflow:hidden;display:grid;place-items:center;background:radial-gradient(90% 90% at 80% 10%,var(--c1),var(--c2) 75%)}
.we-collab-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.we-mono{font-family:var(--we-display);font-weight:800;font-size:clamp(34px,3.6vw,52px);letter-spacing:-.03em;background:var(--we-silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.we-collab-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px}
.we-collab-body h3{font-weight:700;font-size:18px;margin:0}
.we-collab-body span{font-size:14px;font-weight:600;color:var(--we-muted)}
.we-collab:hover .we-collab-body span{color:#fff}

/* ---------- 12. Footer ---------- */
.we-footer{margin-top:96px;border-top:1px solid var(--we-stroke);background:var(--we-footer-bg);color:var(--we-footer-text);font-size:15px}
.we-footer-sub{padding:56px 0;border-bottom:1px solid var(--we-stroke)}
.we-footer-sub h3{font-weight:800;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.035em;color:var(--we-text);margin:0 0 8px}
.we-footer h5{color:#fff;font-size:15px;font-weight:700;margin-bottom:16px}
.we-footer-links li{margin-bottom:10px}
.we-footer-links a{color:var(--we-muted)}
.we-footer-links a:hover{color:#fff}
.we-app{display:inline-flex;align-items:center;gap:12px;padding:10px 16px;border-radius:14px;border:1px solid var(--we-stroke);background:var(--we-panel);color:#fff}
.we-app:hover{color:#fff;border-color:var(--we-line-hover)}
.we-app small{display:block;font-size:14px;color:var(--we-muted);line-height:1.1}
.we-copyright{padding:22px 0 28px;border-top:1px solid var(--we-stroke);font-size:14px}
.we-muted-link{font-size:14px;color:var(--we-muted);text-decoration:underline;text-underline-offset:3px}
.we-muted-link:hover{color:#fff}

/* ---------- 13. Modal and toast ---------- */
.we-modal .modal-content{border-radius:24px;border:1px solid var(--we-stroke);background:linear-gradient(160deg,#1A1B1F,#0A0A0C 60%);box-shadow:0 40px 80px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.12);padding:12px}
.we-modal .modal-title{font-size:24px;margin-bottom:6px}
.we-modal .form-label{font-size:14px;font-weight:600;color:#D3D6DC}
.we-modal .form-control,.we-modal .form-select{--bs-body-bg:rgba(0,0,0,.45);background-color:rgba(0,0,0,.45);border-radius:12px;padding:.7rem .9rem}
.modal-backdrop.show{opacity:.75}
.we-toast{--bs-toast-bg:#F2F3F5;--bs-toast-color:#111;border-radius:999px!important;font-weight:600;width:auto;box-shadow:0 20px 40px rgba(0,0,0,.5)}
.we-toast .toast-body{padding:12px 20px}

/* ---------- 14. Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .orb,.we-hero-kb,.we-hero-shimmer,.we-hero-flare,.we-hero-mist,.we-mono-label i,.we-hero-copy>*,.we-hero-side{animation:none!important}
  .we-marquee-track{animation:none;flex-wrap:wrap;width:auto}
  .we-hero-pause{display:none}
  .we-card:hover,.we-collab:hover{transform:none}
}


/* =====================================================================
   15. Responsive refinements
   Bootstrap breakpoints: sm 576, md 768, lg 992, xl 1200, xxl 1400
====================================================================== */

/* Large tablets / small laptops (lg only): keep navbar on one line */
@media (min-width:992px) and (max-width:1199.98px){
  .we-navbar .nav-link{padding:.55rem .7rem!important;font-size:.95rem}
  .we-navbar .navbar-nav{margin-left:.5rem!important}
  .we-hero-title{font-size:clamp(40px,5.6vw,64px)}
  .we-now{grid-template-columns:88px 1fr}
}

/* Tablets and below */
@media (max-width:991.98px){
  .we-section{padding-top:72px}
  .we-section-head{margin-bottom:28px}
  .we-hero-side{max-width:560px}
  .we-xp-copy{padding-bottom:130px}
  .we-ad-wrap{padding-top:56px}
  .we-footer{margin-top:72px}
}

/* Phones (landscape and up to md) */
@media (max-width:767.98px){
  .we-section{padding-top:56px}
  .we-section-head h2{font-size:clamp(28px,8vw,36px)}
  .we-section-head p{font-size:15px}

  /* horizontally scrolling filter rows */
  .we-chips,.we-pills{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:28px}
  .we-chips::-webkit-scrollbar,.we-pills::-webkit-scrollbar{display:none}
  .we-chip{flex:0 0 auto}
  .we-pills{display:flex;width:100%;border-radius:18px}
  .we-panel{border-radius:22px;padding:18px}
  .we-select{min-width:0;width:100%}
  .we-act{padding:9px 10px}


  /* carousel */
  .we-xp{border-radius:22px}
  .we-xp-copy{padding:24px 20px 104px}
  .we-xp-copy h3{font-size:clamp(24px,7vw,32px)}
  .we-xp-copy p{font-size:15px}
  .we-xp-thumbs{padding:0 16px 16px}

  /* cards */
  .we-card{--bs-card-spacer-x:1.1rem;--bs-card-spacer-y:1.1rem;border-radius:20px}
  .we-card .card-title{font-size:19px}

  /* collaborators 2-up */
  .we-collab{border-radius:18px}
  .we-collab-body{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px}
  .we-collab-body h3{font-size:15px}
  .we-mono{font-size:clamp(26px,9vw,40px)}

  /* ad and footer */
  .we-ad{border-radius:20px}
  .we-footer-sub{padding:40px 0}
  .we-footer .py-5{padding-top:2.5rem!important;padding-bottom:2rem!important}
  .we-copyright{flex-direction:column}
}

/* Small phones */
@media (max-width:575.98px){
  .container{--bs-gutter-x:2rem}
  .we-hero-btns .btn{width:100%}
  .we-hero-sub{margin-bottom:26px}
  .we-stats{padding:14px 4px}
  .we-stats span{letter-spacing:.06em}

  /* Featured Content becomes a compact list: thumbnail left, text right */
  .we-feat{flex-direction:row;align-items:stretch}
  .we-feat .we-media{flex:0 0 118px;--bs-aspect-ratio:auto;width:118px;min-height:118px}
  .we-feat .card-body{padding:14px 16px}
  .we-side-card-title{font-size:15px;margin:4px 0 10px}
  .we-feat .btn{--bs-btn-padding-x:.8rem;--bs-btn-padding-y:.35rem}

  #subscribeForm .btn{width:100%}
  .we-modal .modal-content{border-radius:0;border:0}
  .we-toast{max-width:calc(100vw - 32px)}
}

/* Very small phones (320–380) */
@media (max-width:379.98px){
  .we-socials a{width:26px;height:26px}
  .we-topbar .we-socials a:nth-child(n+3){display:none}
  .we-editor-link{padding:5px 10px}
  .we-logo-fallback{font-size:16px;gap:8px}
  .we-logo-mark{width:28px;height:28px;border-radius:8px}
  .we-logo img{height:34px}
  .we-navbar .we-btn-grad{--bs-btn-padding-x:.8rem;--bs-btn-padding-y:.5rem;--bs-btn-font-size:.875rem}
  .we-icon-btn{width:38px;height:38px}
  .we-now{grid-template-columns:72px 1fr;gap:12px;padding:12px}
  .we-now strong{font-size:16px}
}

/* Landscape phones: stop the hero from filling more than the screen */
@media (max-height:500px) and (orientation:landscape){
  .we-hero{min-height:0}
  .we-hero-inner{padding-top:40px;padding-bottom:40px}
}

/* Tablet hero: featured card and stats side by side */
@media (min-width:640px) and (max-width:991.98px){
  .we-hero-side{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;max-width:none}
  .we-hero-side .we-now{margin-bottom:0!important}
  .we-hero-side .we-stats{align-content:center}
}
/* Small laptop hero: slightly smaller headline so the side cards breathe */
@media (min-width:992px) and (max-width:1199.98px){
  .we-hero-title{font-size:clamp(40px,4.9vw,58px)}
  .we-hero-sub{font-size:16px}
  .we-stats b{font-size:30px}
}

/* =====================================================================
   16. v2 theme pieces (partials/*, templates/*)
====================================================================== */
/* Header logo: the portal's Site Options > logo height, else the design's 46px */
.we-dropdown .dropdown-item.active,.we-dropdown .dropdown-item:active{background:var(--bs-dropdown-link-active-bg);color:var(--we-text)}
.we-ad-slot{padding-top:16px}
.we-ad-slot img{max-width:100%;height:auto}

/* Hero: the SVG glow band (was an inline style), and the still banner when motion is off */
.we-hero-fallglow{mix-blend-mode:screen}
.we-hero-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.06)}
.we-hero--still .we-hero-kb{animation:none}

/* News Experiences: thumbnails for two or four slides */
.we-xp-thumbs--2{grid-template-columns:repeat(2,1fr)}
.we-xp-thumbs--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:991.98px){.we-xp-thumbs--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767.98px){.we-xp-thumbs--2,.we-xp-thumbs--4{grid-template-columns:1fr}}

/* Collaborators: a card with no link */
div.we-collab:hover{transform:none}

/* Footer: newsletter and editor forms from the Form Builder, on the dark surface */
.we-subscribe-form .btn{flex:0 0 auto}
.we-footer-form,.we-editor-form{color:var(--we-text)}
.we-footer-form label,.we-editor-form label{font-size:14px;font-weight:600;color:var(--we-text)}
.we-footer-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.we-footer-form select,.we-footer-form textarea,
.we-editor-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.we-editor-form select,.we-editor-form textarea{background-color:var(--we-panel-2);border:1px solid var(--we-stroke);border-radius:12px;color:var(--we-text);padding:.7rem .9rem;font-size:15px}
.we-footer-form button[type=submit],.we-footer-form input[type=submit],
.we-editor-form button[type=submit],.we-editor-form input[type=submit]{background:var(--we-grad);color:var(--we-text);border:0;border-radius:999px;padding:.75rem 1.4rem;font-weight:600;font-size:15px}
.we-footer .we-socials a{color:var(--we-footer-text)}
.we-footer .we-socials a:hover{color:#fff}
.we-footer .we-socials i{font-size:15px}
.we-topbar .we-socials i{font-size:14px}

/* Search dialog: the platform search form inside the design's modal */
.we-search-modal .modal-body{padding-top:8px}

/* Default CMS page */
.we-page-section{padding-top:64px}
.we-page-title{font-weight:800;font-size:clamp(34px,4.4vw,56px);letter-spacing:-.035em;line-height:1.05;margin:0}
.we-page-banner{border-radius:28px;aspect-ratio:21/8;border:1px solid var(--we-stroke)}
.we-prose{color:var(--we-text);font-size:17px;line-height:1.75}
.we-prose h1,.we-prose h2,.we-prose h3,.we-prose h4,.we-prose h5{color:var(--we-text);margin:1.6em 0 .6em;line-height:1.2}
.we-prose>*:first-child{margin-top:0}
.we-prose a{color:var(--we-link);text-decoration:underline;text-underline-offset:3px}
.we-prose a:hover{color:var(--we-text)}
.we-prose img,.we-prose video,.we-prose iframe{max-width:100%;height:auto;border-radius:16px}
.we-prose blockquote{border-left:3px solid var(--we-magenta);padding-left:1rem;color:var(--we-text)}
.we-prose table{width:100%;color:inherit}
.we-prose small{font-size:14px}
@media (max-width:767.98px){.we-page-section{padding-top:40px}.we-page-banner{border-radius:20px;aspect-ratio:16/9}.we-prose{font-size:16px}}

/* The engine's admin "Edit" control: size and place in themes/shared/css/edit-button.css; the colours are this theme's */
.ig-edit-btn .ig-edit-btn__main{background:var(--we-grad);color:var(--we-text);box-shadow:0 10px 30px var(--we-bg)}
.ig-edit-btn .ig-edit-btn__main:hover{color:var(--we-text);filter:brightness(1.1)}

/* Portal menus can hold more items than the design: keep each label on one line on desktop */
@media (min-width:992px){.we-navbar .nav-link{white-space:nowrap}}

/* Cards (owner rule: 2-line titles, 3-line descriptions, ellipsis) */
.we-card .card-title,.we-side-card-title,.we-xp-copy h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.we-card .card-text,.we-xp-copy p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Category dropdown: name, and its sub-categories as the small line under it */
.we-dropdown-wide{min-width:380px}
.we-dropdown-wide .dropdown-item{align-items:flex-start}
.we-dropdown-wide .dropdown-item span{font-weight:600}
.we-dropdown-wide .dropdown-item small{font-weight:400;margin-top:2px;line-height:1.35}
/* Pinned menu row stays compact: once scrolled, the logo in it shrinks */
.we-header.scrolled .we-navbar .we-logo img{height:48px!important;width:auto!important;max-width:60vw;transition:height .2s}
.we-header.scrolled .we-navbar{--bs-navbar-padding-y:.45rem}

/* Story slider (Discover with more than three stories): native scroll-snap,
   three to a view on desktop, two on tablets, one on phones; arrows in the head. */
.we-slider-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;/* room for the hover lift (6px) and glow, which a scroller clips */padding:14px 0 28px;margin:-14px 0 -22px;scrollbar-width:none;overscroll-behavior-x:contain}
.we-slider-track::-webkit-scrollbar{display:none}
.we-slider-track>.we-slide{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;min-width:0}
@media (max-width:991.98px){.we-slider-track>.we-slide{flex-basis:calc((100% - 24px)/2)}}
@media (max-width:575.98px){.we-slider-track>.we-slide{flex-basis:86%}}
.we-slide-btn{width:44px;height:44px;border-radius:999px;border:1px solid var(--we-stroke);background:var(--we-panel-2,rgba(255,255,255,.06));color:var(--we-text);font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s}
.we-slide-btn:hover:not(:disabled){background:var(--we-grad);border-color:transparent;color:#fff}
.we-slide-btn:disabled{opacity:.35;cursor:default}

/* Dropdown dots - only on a dropdown whose items split into a name and a
   sub-line (the category menu). header.php gives each dot a loop class
   we-dot-1..7 so the colours vary; other dropdowns have no dots. */
:root{--we-dot-1:#8B6CF6;--we-dot-2:#34D399;--we-dot-3:#38BDF8;--we-dot-4:#FB923C;--we-dot-5:#4ADE80;--we-dot-6:#FACC15;--we-dot-7:#F472B6}
.we-dropdown .we-dot-1{--c:var(--we-dot-1)}
.we-dropdown .we-dot-2{--c:var(--we-dot-2)}
.we-dropdown .we-dot-3{--c:var(--we-dot-3)}
.we-dropdown .we-dot-4{--c:var(--we-dot-4)}
.we-dropdown .we-dot-5{--c:var(--we-dot-5)}
.we-dropdown .we-dot-6{--c:var(--we-dot-6)}
.we-dropdown .we-dot-7{--c:var(--we-dot-7)}
.we-dropdown .dropdown-item{align-items:center}
.we-dropdown-wide .dropdown-item{align-items:flex-start}
.we-dropdown-wide .dropdown-item .we-dot{margin-top:7px}

/* Desktop (full menu, 1200px+, a real mouse): dropdowns open on hover.
   Click still toggles; touch and the burger menu keep tap-to-open. The
   invisible ::before bridges the gap so the menu stays open on the way down. */
@media (min-width:1200px) and (hover:hover){
  .we-navbar .navbar-nav .dropdown:hover>.dropdown-menu,
  .we-navbar .navbar-nav .dropdown:focus-within>.dropdown-menu{display:block;margin-top:0;top:100%;left:0}
  .we-navbar .navbar-nav .dropdown>.dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
  .we-navbar .navbar-nav .dropdown:hover>.dropdown-toggle{color:var(--we-nav-hover)}
}

/* Every dropdown is at least 280px wide and a plain item stays on one line
   ("Content Collaborators" wrapped in a menu sized to its shortest word). */
@media (min-width:1200px){
  .we-navbar .we-dropdown:not(.we-dropdown-wide){min-width:280px}
  .we-navbar .we-dropdown.we-dropdown-wide{min-width:380px}
  .we-navbar .we-dropdown:not(.we-dropdown-wide) .dropdown-item{white-space:nowrap}
  /* The menu nearest the right edge opens aligned to its right, never off-screen. */
  .we-navbar .navbar-nav>.dropdown:last-of-type>.dropdown-menu{left:auto;right:0}
}
