/* ============================================================
   ANNE MURPHY — LINK HUB
   Built on the She Leads AI system (cream field, celestial sky,
   the coral Lady, near-square frosted link rows, compact SLAI band).
   Three header compositions (A Sunrise · B Halo · C Editorial)
   share one set of tokens driven by the Tweaks panel.
   ============================================================ */
:root{
  --ink:#1A1A2E; --cream:#F7F7F4; --white:#FFFFFF;
  --coral:#FB746C; --deep-coral:#EF5B54; --camel:#B4762F;
  --gold:#F2C14E; --olive:#4F5F3A;
  --display:'League Spartan',system-ui,sans-serif;
  --body:'Montserrat',system-ui,sans-serif;
  --accent:'Bodoni Moda',Georgia,serif;

  --space:1.15;        /* vertical-rhythm multiplier (Spaciousness tweak) */
  --haze:1;            /* atmosphere master opacity */
  --grain:0.10;

  /* field treatment (overridden per colorway below) — default CREAM */
  --field:#F7F7F4; --fg:#1A1A2E;
  --bloom1:rgba(255,240,236,0.80);
  --bloom2:rgba(251,116,108,0.22);
  --disc0:rgba(255,252,250,0.95); --disc1:rgba(255,232,228,0.66); --disc2:rgba(255,220,214,0.30);
  --orb:rgba(251,116,108,0.42);
  --star:rgba(180,60,54,0.55);
  --link-bg:rgba(255,255,255,0.62);
  --link-bd:rgba(26,26,46,0.16);
  --link-bg-h:rgba(251,116,108,0.12);
  --rule:rgba(26,26,46,0.16);
}

/* ---- colorways (field → meaning) ---- */
.hub.f-cream{
  --field:#F7F7F4; --fg:#1A1A2E;
  --bloom1:rgba(255,240,236,0.80); --bloom2:rgba(251,116,108,0.22);
  --disc0:rgba(255,252,250,0.95); --disc1:rgba(255,232,228,0.66); --disc2:rgba(255,220,214,0.30);
  --orb:rgba(251,116,108,0.42); --star:rgba(180,60,54,0.55);
  --link-bg:rgba(255,255,255,0.62); --link-bd:rgba(26,26,46,0.16); --link-bg-h:rgba(251,116,108,0.12);
  --rule:rgba(26,26,46,0.16);
}
.hub.f-ink{
  --field:#1A1A2E; --fg:#F7F7F4;
  --bloom1:rgba(251,116,108,0.42); --bloom2:rgba(251,116,108,0.16);
  --disc0:rgba(255,235,231,0.82); --disc1:rgba(251,116,108,0.42); --disc2:rgba(251,116,108,0.14);
  --orb:rgba(251,116,108,0.50); --star:rgba(255,251,240,0.92);
  --link-bg:rgba(255,255,255,0.07); --link-bd:rgba(247,247,244,0.22); --link-bg-h:rgba(251,116,108,0.18);
  --rule:rgba(247,247,244,0.18);
}
.hub.f-coral{
  --field:#FB746C; --fg:#F7F7F4;
  --bloom1:rgba(255,247,242,0.55); --bloom2:rgba(120,30,26,0.24);
  --disc0:rgba(255,250,247,0.92); --disc1:rgba(255,236,230,0.60); --disc2:rgba(255,224,216,0.30);
  --orb:rgba(255,250,247,0.50); --star:rgba(255,251,247,0.90);
  --link-bg:rgba(255,255,255,0.16); --link-bd:rgba(247,247,244,0.42); --link-bg-h:rgba(26,26,46,0.14);
  --rule:rgba(247,247,244,0.34);
}
.hub.f-gold{
  --field:#F2C14E; --fg:#1A1A2E;
  --bloom1:rgba(255,250,238,0.70); --bloom2:rgba(151,110,18,0.26);
  --disc0:rgba(255,253,247,0.95); --disc1:rgba(255,250,236,0.62); --disc2:rgba(255,245,219,0.30);
  --orb:rgba(255,253,247,0.55); --star:rgba(70,48,8,0.78);
  --link-bg:rgba(255,255,255,0.30); --link-bd:rgba(26,26,46,0.22); --link-bg-h:rgba(26,26,46,0.10);
  --rule:rgba(26,26,46,0.20);
}

/* ============================================================
   REVIEW PAGE SHELL
   ============================================================ */
*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background:#1b1b25;
  color:#e9e9ee;
  font-family:var(--body);
  -webkit-font-smoothing:antialiased;
  padding:34px clamp(16px,4vw,56px) 96px;
}
.review-head{max-width:1480px;margin:0 auto 30px;}
.review-head h1{font-family:var(--display);font-weight:500;font-size:23px;letter-spacing:-0.01em;margin:0 0 7px;color:#fff;}
.review-head p{margin:0;font-family:var(--body);font-size:13.5px;line-height:1.65;color:#c4c4cf;max-width:92ch;}
.review-head b{color:#fff;font-weight:600;}

/* single-hub stage (Sunrise, dialed in) */
.stage{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:40px 16px 72px;}
.stage .hub{width:480px;max-width:100%;}

.boards{
  max-width:1480px;margin:0 auto;
  display:flex;gap:30px;align-items:flex-start;justify-content:center;
  flex-wrap:wrap;
}
.board{display:flex;flex-direction:column;gap:13px;width:430px;max-width:100%;}
.board__cap{display:flex;align-items:baseline;gap:10px;}
.board__no{font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#8a8a99;}
.board__name{font-family:var(--accent);font-style:italic;font-size:16px;color:#fff;}

/* ============================================================
   THE HUB SURFACE
   ============================================================ */
.hub{
  position:relative;width:100%;overflow:hidden;
  background:var(--field);color:var(--fg);
  border-radius:6px;
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:0 22px 60px rgba(0,0,0,0.42);
  isolation:isolate;
  transition:background .45s ease, color .45s ease;
}

/* ---- the contained celestial sky ---- */
.sky{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.sky__bloom{position:absolute;inset:-12%;opacity:var(--haze);
  background:
    radial-gradient(46% 50% at 72% 26%, var(--bloom1), transparent 70%),
    radial-gradient(64% 60% at 84% 108%, var(--bloom2), transparent 72%);}
.sky__disc{position:absolute;width:var(--disc-d,300px);height:var(--disc-d,300px);
  left:var(--disc-x,64%);top:var(--disc-y,16%);
  margin:calc(var(--disc-d,300px)/-2) 0 0 calc(var(--disc-d,300px)/-2);
  opacity:var(--haze);border-radius:50%;
  background:radial-gradient(circle, var(--disc0) 0%, var(--disc1) 32%, var(--disc2) 56%, transparent 78%);}
.sky__stars{position:absolute;left:0;top:0;width:1px;height:1px;border-radius:50%;
  background:var(--star);opacity:calc(0.7*var(--haze));}
.orb{position:absolute;border-radius:50%;pointer-events:none;
  opacity:calc(0.85*var(--haze));
  background:radial-gradient(circle at 38% 34%, var(--orb), transparent 70%);
  filter:blur(2px);}
.orb--1{width:130px;height:130px;left:-26px;top:34%;}
.orb--2{width:64px;height:64px;right:14%;top:12%;}
.orb--3{width:38px;height:38px;left:24%;top:8%;}
.orb--4{width:90px;height:90px;right:-22px;bottom:24%;}
.orb--5{width:26px;height:26px;left:16%;bottom:18%;}
@media (prefers-reduced-motion: no-preference){
  .orb{animation:float var(--fdur,9s) ease-in-out infinite alternate;}
  .orb--2{--fdur:11s;} .orb--3{--fdur:7s;} .orb--4{--fdur:13s;} .orb--5{--fdur:8s;}
}
@keyframes float{from{transform:translateY(0);}to{transform:translateY(-16px);}}
.sky__grain{position:absolute;inset:-20%;background:url('assets/grain-coral.png');background-size:420px;
  mix-blend-mode:soft-light;opacity:var(--grain);pointer-events:none;}

/* atmosphere levels */
.hub.atmo-soft .sky__disc,
.hub.atmo-soft .orb,
.hub.atmo-soft .sky__stars{display:none;}
.hub.atmo-soft .sky__bloom{opacity:calc(0.6*var(--haze));}
.hub.atmo-flat .sky{display:none;}
.hub.atmo-soft .hub__lady,
.hub.atmo-flat .hub__lady{display:none;}

/* ---- the Lady ---- */
.hub__lady{position:absolute;z-index:1;pointer-events:none;user-select:none;
  filter:saturate(1.04);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 56%,rgba(0,0,0,.55) 78%,transparent 96%);
          mask-image:linear-gradient(to bottom,#000 0%,#000 56%,rgba(0,0,0,.55) 78%,transparent 96%);}

/* ---- the content column ---- */
.hub__inner{position:relative;z-index:2;display:flex;flex-direction:column;
  padding:calc(26px*var(--space)) 26px calc(22px*var(--space));
  gap:calc(22px*var(--space));}

/* ---- current-promotion marquee banner (rides the top edge) ---- */
.hub__promo{position:relative;z-index:3;display:block;overflow:hidden;text-decoration:none;
  background:var(--ink);border-bottom:1px solid rgba(247,247,244,0.14);}
.hub__promo-track{display:flex;width:max-content;will-change:transform;
  animation:promo-scroll 90s linear infinite;}
.hub__promo:hover .hub__promo-track{animation-play-state:paused;}
.promo-grp{display:flex;align-items:center;flex:none;}
.promo-msg{display:inline-block;padding:9px 0;color:var(--cream);font-family:var(--body);
  font-weight:600;font-size:11px;letter-spacing:0.06em;white-space:nowrap;}
.promo-sep{flex:none;width:4px;height:4px;background:var(--coral);margin:0 20px;transform:rotate(45deg);}
@keyframes promo-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){
  .hub__promo-track{animation:none;}
}

/* logos */
.hub__logos{display:flex;align-items:center;gap:16px;}
.hub__logos .logo{display:block;width:118px;height:auto;flex:none;}
.hub__logos .logo svg{display:block;width:100%;height:auto;}
.hub__logos .logo .cls-1,.hub__logos .logo .cls-2{fill:var(--fg);}
body.logo-coral .hub__logos .logo .cls-2{fill:var(--coral);}
body.logo-gold  .hub__logos .logo .cls-2{fill:var(--gold);}
.logo-div{width:1px;align-self:stretch;background:var(--rule);min-height:34px;}
/* Empowered Fundraiser — real logo lockup */
.ef-logo{display:flex;align-items:center;text-decoration:none;transition:opacity .18s ease;}
.ef-logo img{height:64px;width:auto;display:block;}
.ef-logo:hover{opacity:0.78;}

/* connect bar — small icon links to other places to find Anne */
.hub__connect{display:flex;justify-content:center;gap:10px;}
/* vertical rail variant — labeled mini-chips beside the Lady to save a row */
.hub__connect--rail{position:absolute;top:50%;right:0;transform:translateY(-50%);
  flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:8px;z-index:4;
  min-height:112px;}
.hub__connect--rail .conn{display:flex;align-items:center;justify-content:flex-end;gap:8px;
  width:auto;height:auto;padding:7px 11px;}
.hub__connect--rail .conn svg{width:15px;height:15px;}
/* left-side rail — mirror of the right, keeps the right from crowding */
.hub__connect--left{right:auto;left:0;align-items:flex-start;}
.hub__connect--left .conn{flex-direction:row-reverse;justify-content:flex-start;}
.conn__lbl{font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:0.01em;
  color:var(--fg);white-space:nowrap;line-height:1;}
.conn{display:grid;place-items:center;width:42px;height:42px;border-radius:2px;
  text-decoration:none;color:var(--fg);
  background:var(--link-bg);border:1px solid var(--link-bd);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  transition:background .18s ease, transform .18s ease, border-color .18s ease;}
body.no-hover-tint .conn:hover{background:var(--link-bg);}
.conn:hover{background:var(--link-bg-h);border-color:var(--fg);transform:translateY(-2px);}
.conn svg{width:19px;height:19px;display:block;}
.conn svg path{fill:var(--fg);}

/* name + taglines */
.hub__name{font-family:var(--display);font-weight:400;font-size:clamp(36px,10.5vw,44px);
  line-height:0.98;letter-spacing:0.005em;color:var(--fg);margin:0;white-space:nowrap;}
.hub__name em{font-family:var(--accent);font-style:italic;font-weight:400;}
.hub__tags{display:flex;flex-direction:column;gap:calc(12px*var(--space));margin:0;}
.hub__tag{margin:0;color:var(--fg);font-family:var(--body);font-size:13px;line-height:1.6;max-width:38ch;}
.hub__tag--fund{font-weight:500;}
.hub__tag--ai{font-weight:500;color:var(--fg);}
.hub__tag--saas{font-weight:500;color:var(--fg);}

/* ---- link rows (uniform, near-square, frosted) ---- */
.hub__links{display:flex;flex-direction:column;gap:calc(12px*var(--space));}
.link{display:flex;align-items:center;justify-content:space-between;gap:14px;
  width:100%;text-decoration:none;color:var(--fg);
  padding:calc(13px*var(--space)) 18px;border-radius:2px;
  background:var(--link-bg);border:1px solid var(--link-bd);
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  transition:background .18s ease, transform .18s ease, border-color .18s ease;}
body.no-hover-tint .link:hover{background:var(--link-bg);}
.link:hover{background:var(--link-bg-h);transform:translateX(3px);border-color:var(--fg);}
.link__label{font-family:var(--body);font-weight:600;font-size:13.5px;line-height:1.2;letter-spacing:0.005em;text-align:left;}
.link__mid{flex:1;}
.link__go{flex:none;width:20px;height:20px;display:grid;place-items:center;}
.link__go svg{width:18px;height:18px;display:block;}
.link__go svg path{stroke:var(--deep-coral);}
.hub.f-coral .link__go svg path{stroke:var(--ink);}
.link.is-pending{position:relative;}

/* ---- compact SLAI Effect band (founder-approved gold) ---- */
.slai{position:relative;overflow:hidden;border-radius:3px;background:var(--gold);color:var(--ink);
  padding:calc(22px*var(--space)) 22px;display:flex;flex-direction:column;gap:12px;}
.slai__bloom{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(46% 64% at 88% 8%, rgba(255,250,238,0.7), transparent 64%);}
.slai__in{position:relative;z-index:1;display:flex;flex-direction:column;gap:15px;align-items:flex-start;}
.slai h2{font-family:var(--display);font-weight:500;font-size:30px;line-height:0.98;letter-spacing:-0.02em;margin:0;color:var(--ink);}
.slai h2 em{font-family:var(--accent);font-style:italic;font-weight:400;}
.slai p{margin:0;font-family:var(--body);font-size:14px;line-height:1.5;color:var(--ink);max-width:38ch;}
.slai__cta{align-self:flex-start;white-space:nowrap;font-family:var(--display);font-weight:700;font-size:14px;
  letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;color:var(--cream);
  background:var(--deep-coral);padding:13px 22px;border-radius:2px;transition:filter .2s ease, transform .2s ease;}
.slai__cta:hover{filter:brightness(1.1);transform:translateY(-2px);}

/* ---- footer ---- */
.hub__foot{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;
  padding-top:calc(8px*var(--space));border-top:1px solid var(--rule);
  font-family:var(--body);font-size:12px;color:var(--fg);}
.hub__foot a{color:var(--fg);text-decoration:none;}
.hub__foot a:hover{opacity:0.62;}

/* ============================================================
   DIRECTION A — SUNRISE  (compact centered cover, airy)
   ============================================================ */
.hub--a{min-height:760px;}
.hub--a .hub__inner{align-items:center;text-align:center;}
.hub--a .hub__logos{justify-content:center;}
.hub--a .hub__tags{align-items:center;}
.hub--a .hub__tag{max-width:36ch;}
.hub--a .hub__inner{gap:calc(26px*var(--space));}
.hub--a .hub__scene{position:relative;width:100%;height:150px;margin-top:calc(4px*var(--space));}
.hub--a .hub__lady{left:50%;bottom:-12px;transform:translateX(-50%);height:198px;width:auto;
  -webkit-mask-image:radial-gradient(74% 84% at 50% 24%,#000 54%,transparent 100%),
                     linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.5) 74%,transparent 92%);
  -webkit-mask-composite:source-in;
          mask-image:radial-gradient(74% 84% at 50% 24%,#000 54%,transparent 100%),
                     linear-gradient(to bottom,#000 0%,#000 52%,rgba(0,0,0,.5) 74%,transparent 92%);
          mask-composite:intersect;}
.hub--a{--disc-d:300px;--disc-x:50%;--disc-y:30%;}

/* ============================================================
   DIRECTION B — HALO  (centered, Lady rising behind a big disc)
   ============================================================ */
.hub--b{min-height:820px;}
.hub--b .hub__inner{align-items:center;text-align:center;}
.hub--b .hub__logos{justify-content:center;}
.hub--b .hub__tags{align-items:center;}
.hub--b .hub__tag{max-width:30ch;}
.hub--b .hub__scene{position:relative;width:100%;height:230px;margin-top:calc(-6px*var(--space));}
.hub--b .hub__lady{left:50%;bottom:-26px;height:300px;width:auto;transform:translateX(-50%);
  -webkit-mask-image:radial-gradient(80% 90% at 50% 30%,#000 60%,transparent 100%);
          mask-image:radial-gradient(80% 90% at 50% 30%,#000 60%,transparent 100%);}
.hub--b{--disc-d:340px;--disc-x:50%;--disc-y:30%;}
.hub--b .link{justify-content:space-between;}

/* ============================================================
   DIRECTION C — EDITORIAL  (logo top-bar, right-anchored scene, list below)
   ============================================================ */
.hub--c{min-height:800px;}
.hub__topbar{position:relative;z-index:3;display:flex;padding:calc(26px*var(--space)) 26px 12px;}
.hub--c .hub__scene{position:relative;height:286px;overflow:hidden;margin-top:-8px;}
.hub--c .hub__lady{right:-40px;bottom:0;height:336px;width:auto;}
.hub--c{--disc-d:320px;--disc-x:74%;--disc-y:26%;}
.hub--c .hub__inner{padding-top:calc(24px*var(--space));}
.hub--c .hub__name{font-size:clamp(36px,10vw,44px);}

/* ============================================================
   CONVERSION LAYER — featured CTA, resources, tiny SLAI strip
   ============================================================ */
/* featured registration CTA — the one dominant action */
.cta-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;
  text-decoration:none;background:var(--coral);color:var(--cream);
  padding:calc(18px*var(--space)) 22px;border-radius:2px;
  box-shadow:0 4px 14px color-mix(in srgb, var(--coral) 18%, transparent);
  transition:filter .18s ease, transform .18s ease;}
.cta-hero:hover{filter:brightness(1.07);transform:translateY(-2px);}
.cta-hero__txt{display:flex;flex-direction:column;gap:5px;text-align:left;min-width:0;}
.cta-hero__label{font-family:var(--display);font-weight:600;font-size:18px;line-height:1.06;letter-spacing:0.005em;color:var(--cream);}
.cta-hero__note{font-family:var(--body);font-weight:500;font-size:12px;letter-spacing:0.02em;color:var(--cream);}
.cta-hero__go{flex:none;width:24px;height:24px;display:grid;place-items:center;}
.cta-hero__go svg{width:20px;height:20px;display:block;}
.cta-hero__go svg path{stroke:var(--cream);}
.hub.f-coral .cta-hero{background:var(--ink);box-shadow:0 12px 28px rgba(26,26,46,.34);}

/* resource rows — a Free flag marks the value */
.link__mid{display:flex;align-items:center;gap:10px;min-width:0;}
.link__flag{flex:none;font-family:var(--body);font-weight:700;font-size:10px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--cream);background:var(--deep-coral);border-radius:2px;padding:4px 8px;}
.hub.f-coral .link__flag{background:var(--ink);}
.link--resource .link__label{font-weight:600;}

/* tiny SLAI Effect strip — way smaller than the band */
.slai-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:nowrap;
  width:100%;background:var(--gold);color:var(--ink);border-radius:2px;
  padding:calc(10px*var(--space)) 16px;text-align:left;}
.slai-strip p{margin:0;font-family:var(--body);font-weight:500;font-size:11.5px;line-height:1.3;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;}
.slai-strip b{font-family:var(--display);font-weight:600;}
.slai-strip em{font-family:var(--accent);font-style:italic;font-weight:400;}
.slai-strip a{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:0.07em;
  text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--deep-coral);
  padding-bottom:2px;white-space:nowrap;flex:none;}
.slai-strip a:hover{border-bottom-color:var(--ink);}

@media (max-width:480px){
  body{padding:0;}
  .stage{padding:20px 10px 56px;}
  .board{width:100%;}
}
