/* Helm marketing design system. Extracted from index.html so all marketing pages share one look. */

  :root {
    --navy: #1A2C4D; --navy-deep: #0F1A2E; --navy-soft: #233755; --navy-up: #2D456E;
    --gold: #E6B842; --gold-hover: #D6A82C; --gold-soft: #F4D580; --gold-tint: rgba(230,184,66,0.14);
    --white: #FFFFFF; --mist: #D6DEEC;
    --text-muted: rgba(214,222,236,0.72); --text-faint: rgba(214,222,236,0.48);
    --rule: rgba(214,222,236,0.12); --rule-strong: rgba(214,222,236,0.22);
    --hover-tint: rgba(255,255,255,0.04); --surface: var(--navy-soft);
    --radius-lg: 1.25rem; --radius-xl: 1.75rem; --radius-tile: 2rem;
    --red: #EF6C72; --blue: #6CABEF; --green: #87D292; --purple: #B89BE8; --pink: #F4979B; --amber: #F4B65E;
  }
  *{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;}
  html,body{height:auto;}
  html{scroll-behavior:smooth;scroll-padding-top:84px;}
  body{background:var(--navy);color:var(--white);font:400 16px/1.55 'Inter',system-ui,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla","Segoe UI Symbol",sans-serif;min-height:100vh;overflow-x:clip;}
  .emoji,.tile-eyebrow,.footer-pride,.badge{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla","Segoe UI Symbol",'Inter',system-ui,sans-serif;}
  /* CSS-rendered US flag so Windows (no Segoe color flag) still shows a flag */
  .us-flag{display:inline-block;width:1.4em;height:0.9em;vertical-align:-0.12em;border-radius:2px;background:linear-gradient(#b22234 7.7%,#fff 7.7%,#fff 15.4%,#b22234 15.4%,#b22234 23.1%,#fff 23.1%,#fff 30.8%,#b22234 30.8%,#b22234 38.5%,#fff 38.5%,#fff 46.2%,#b22234 46.2%,#b22234 53.9%,#fff 53.9%,#fff 61.6%,#b22234 61.6%,#b22234 69.3%,#fff 69.3%,#fff 77%,#b22234 77%,#b22234 84.7%,#fff 84.7%,#fff 92.4%,#b22234 92.4%);position:relative;box-shadow:0 0 0 1px rgba(0,0,0,0.08);overflow:hidden;}
  .us-flag::before{content:"";position:absolute;inset:0 auto auto 0;width:40%;height:53.8%;background:#3c3b6e;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,h4{font-family:'Sora',system-ui,sans-serif;letter-spacing:-0.02em;line-height:1.08;}

  /* Background glow accents */
  body::before{content:'';position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(230,184,66,0.08) 0%,transparent 70%);pointer-events:none;z-index:0;}
  body::after{content:'';position:fixed;bottom:-300px;left:-300px;width:700px;height:700px;background:radial-gradient(circle,rgba(108,171,239,0.06) 0%,transparent 70%);pointer-events:none;z-index:0;}
  body > *{position:relative;z-index:1;}

  /* Nav */
  .nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(15,26,46,0.85);border-bottom:1px solid var(--rule);}
  .nav-inner{max-width:1180px;margin:0 auto;padding:0.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
  .nav-brand{display:flex;align-items:center;gap:0.6rem;font-family:'Sora',system-ui,sans-serif;font-weight:800;font-size:1.2rem;}
  .nav-brand img{height:26px;width:auto;border-radius:0;}
  .nav-pill-links{display:flex;align-items:center;gap:0.15rem;}
  .nav-pill-links a{color:var(--text-muted);padding:0.5rem 0.85rem;border-radius:999px;font-weight:500;font-size:0.88rem;transition:color 0.15s,background 0.15s;}
  .nav-pill-links a:hover{color:var(--white);background:var(--hover-tint);}
  .nav-links{display:flex;align-items:center;gap:0.5rem;}
  .nav-links a.ghost{color:var(--text-muted);padding:0.55rem 0.95rem;border-radius:999px;font-weight:600;font-size:0.92rem;transition:color 0.15s,background 0.15s;}
  .nav-links a.ghost:hover{color:var(--white);background:var(--hover-tint);}
  .nav-links a.cta{background:var(--gold);color:var(--navy-deep);padding:0.6rem 1.15rem;border-radius:999px;font-weight:700;font-size:0.92rem;transition:background 0.15s,transform 0.15s,box-shadow 0.15s;box-shadow:0 4px 14px rgba(230,184,66,0.25);}
  .nav-links a.cta:hover{background:var(--gold-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(230,184,66,0.35);}

  /* Mobile hamburger + drawer */
  .nav-hamburger{display:none;background:transparent;border:0;width:44px;height:44px;cursor:pointer;padding:10px;border-radius:10px;}
  .nav-hamburger span{display:block;width:24px;height:2px;background:var(--white);margin:5px auto;border-radius:2px;transition:transform 0.25s,opacity 0.25s;}
  body.nav-open .nav-hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  body.nav-open .nav-hamburger span:nth-child(2){opacity:0;}
  body.nav-open .nav-hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .nav-drawer{display:none;flex-direction:column;gap:0.12rem;padding:0.85rem 1.1rem 1.2rem;background:rgba(15,26,46,0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--rule);box-shadow:0 22px 44px rgba(0,0,0,0.42);}
  .nav-drawer>a{display:block;color:var(--mist);padding:0.62rem 0.8rem;border-radius:10px;font-weight:600;font-size:0.98rem;}
  .nav-drawer>a:hover,.nav-drawer>a.nav-current{background:var(--hover-tint);color:var(--white);}
  .nav-drawer-label{display:block;color:var(--text-muted);font-size:0.68rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;padding:0.7rem 0.8rem 0.35rem;}
  .nav-drawer-chips{display:flex;flex-wrap:wrap;gap:0.4rem;padding:0 0.4rem 0.2rem;}
  .nav-drawer-chips a{color:var(--mist);background:var(--navy-soft);border:1px solid var(--rule);padding:0.4rem 0.8rem;border-radius:999px;font-size:0.82rem;font-weight:600;}
  .nav-drawer-chips a:hover,.nav-drawer-chips a.nav-current{background:var(--gold);color:var(--navy-deep);border-color:var(--gold);}
  .nav-drawer .drawer-install{text-align:center;color:var(--text-muted);font-weight:600;font-size:0.86rem;padding:0.6rem;margin-top:0.4rem;}
  .nav-drawer .cta-drawer{display:block;text-align:center;background:var(--gold);color:var(--navy-deep);font-weight:700;border-radius:12px;padding:0.8rem;margin-top:0.4rem;}
  .nav-dd{position:relative;display:flex;align-items:center;}
  .nav-dd-toggle{background:transparent;border:0;color:var(--text-muted);font-family:inherit;font-weight:500;font-size:0.88rem;padding:0.5rem 0.85rem;border-radius:999px;cursor:pointer;display:flex;align-items:center;gap:0.3rem;transition:color .15s,background .15s;}
  .nav-dd-toggle:hover,.nav-dd:hover .nav-dd-toggle,.nav-dd-toggle.nav-current{color:var(--white);background:var(--hover-tint);}
  .nav-dd-caret{font-size:0.6rem;transition:transform .2s;}
  .nav-dd:hover .nav-dd-caret{transform:rotate(180deg);}
  .nav-dd-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:210px;background:rgba(15,26,46,0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--rule);border-radius:14px;padding:0.5rem;display:none;flex-direction:column;gap:0.05rem;box-shadow:0 16px 38px rgba(0,0,0,0.42);z-index:60;}
  .nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{display:flex;}
  .nav-dd-menu a{color:var(--mist);padding:0.5rem 0.8rem;border-radius:9px;font-weight:500;font-size:0.9rem;white-space:nowrap;}
  .nav-dd-menu a:hover,.nav-dd-menu a.nav-current{background:var(--hover-tint);color:var(--white);}
  .nav-pill-links a.nav-current{color:var(--white);background:var(--hover-tint);}
  /* Seven pills plus a dropdown has to fit the 1180px nav row on one line.
     Tighten the row rather than let it wrap. The pill row is hidden below
     980px, where the hamburger drawer takes over. */
  .nav-pill-links{gap:0;}
  .nav-pill-links a{padding:0.5rem 0.55rem;font-size:0.84rem;}
  .nav-dd-toggle{padding:0.5rem 0.55rem;font-size:0.84rem;gap:0.22rem;}
  .nav-links{gap:0.35rem;}
  .nav-links a.ghost{padding:0.55rem 0.72rem;font-size:0.88rem;}
  .nav-links a.cta{padding:0.6rem 0.95rem;font-size:0.88rem;}
  @media (max-width:1080px){
    .nav-pill-links a{padding:0.5rem 0.36rem;font-size:0.79rem;}
    .nav-dd-toggle{padding:0.5rem 0.36rem;font-size:0.79rem;}
    .nav-links a.ghost{padding:0.55rem 0.55rem;font-size:0.84rem;}
    .nav-links a.cta{padding:0.58rem 0.8rem;font-size:0.84rem;}
  }
  body.nav-open .nav-drawer{display:flex;}

  .section{max-width:1180px;margin:0 auto;padding:2rem 1.5rem;}
  .section.tight{padding:1.25rem 1.5rem;}
  .section.first{padding-top:3rem;}
  .eyebrow{display:inline-block;font-size:0.78rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);background:var(--gold-tint);padding:0.32rem 0.85rem;border-radius:999px;margin-bottom:1.25rem;border:1px solid rgba(230,184,66,0.25);}

  /* ===================================================================
     Bento Tile System (Apple-inspired)
     - .bento is the grid container
     - .tile is one block; .tile.full spans full width, .tile.half spans 1 col
     - Each tile gets its own background gradient, headline, sub, CTAs, art
  =================================================================== */
  .bento{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:1.25rem;}
  .tile{position:relative;border-radius:var(--radius-tile);padding:2.75rem 2.25rem;overflow:hidden;display:flex;flex-direction:column;min-height:420px;border:1px solid var(--rule);transition:transform 0.25s,box-shadow 0.25s;background:linear-gradient(155deg,var(--navy-soft) 0%,var(--navy-deep) 100%);}
  .tile:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,0.4);}
  .tile.full{grid-column:1 / -1;min-height:460px;padding:3.5rem 3rem;}
  .tile.tall{min-height:540px;}
  .tile-eyebrow{font-size:0.72rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:0.85rem;}
  .tile h2{font-family:'Sora',sans-serif;font-size:clamp(1.7rem,2.6vw,2.4rem);font-weight:800;margin-bottom:0.8rem;letter-spacing:-0.02em;line-height:1.05;max-width:22ch;}
  .tile.full h2{font-size:clamp(2rem,3.4vw,3rem);max-width:28ch;}
  .tile p.tile-sub{color:var(--mist);font-size:1.02rem;line-height:1.5;max-width:34ch;margin-bottom:1.4rem;}
  .tile.full p.tile-sub{font-size:1.1rem;max-width:46ch;}
  .tile .replaces-line{font-size:0.78rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:1.4rem;}
  .tile-ctas{display:flex;gap:0.65rem;flex-wrap:wrap;margin-top:auto;position:relative;z-index:2;}
  .tile-cta-primary{background:var(--gold);color:var(--navy-deep);padding:0.7rem 1.3rem;border-radius:999px;font-weight:700;font-size:0.94rem;transition:transform 0.15s,box-shadow 0.15s,background 0.15s;display:inline-block;box-shadow:0 4px 14px rgba(230,184,66,0.25);}
  .tile-cta-primary:hover{background:var(--gold-hover);transform:translateY(-2px);box-shadow:0 6px 20px rgba(230,184,66,0.4);}
  .tile-cta-link{color:var(--white);padding:0.7rem 0;font-weight:600;font-size:0.94rem;transition:color 0.15s,transform 0.15s;display:inline-flex;align-items:center;gap:0.35rem;}
  .tile-cta-link:hover{color:var(--gold);}
  .tile-cta-link::after{content:'\203A';font-size:1.1rem;transition:transform 0.15s;}
  .tile-cta-link:hover::after{transform:translateX(3px);}
  .tile-cta-ghost{background:transparent;color:var(--white);padding:0.7rem 1.3rem;border-radius:999px;font-weight:700;font-size:0.94rem;border:1px solid var(--rule-strong);display:inline-block;transition:background 0.15s,border-color 0.15s;}
  .tile-cta-ghost:hover{background:var(--hover-tint);border-color:var(--gold);}

  /* Tile art positioning */
  .tile-art{position:absolute;pointer-events:none;z-index:1;}
  .tile-art.right{right:-2.5rem;bottom:-1.5rem;width:300px;}
  .tile-art.right-tall{right:-1rem;bottom:-2rem;width:340px;}
  .tile-art.cornered{right:1.5rem;bottom:1.5rem;width:240px;}
  .tile-art.family-group{right:0;bottom:0;width:640px;max-width:50%;}
  .tile-art.scene-right{right:0;bottom:0;width:360px;max-width:58%;}
  .tile-art.scene-full-right{right:0;bottom:0;width:600px;max-width:50%;}
  .tile-art.scene-right img,.tile-art.scene-full-right img,.tile-art.family-group img{width:100%;height:auto;display:block;}
  /* When marquee tile has family-group art, constrain the text content to the left half */
  .tile.full:has(.tile-art.family-group) > h2,
  .tile.full:has(.tile-art.family-group) > p.tile-sub,
  .tile.full:has(.tile-art.family-group) > .tile-eyebrow,
  .tile.full:has(.tile-art.family-group) > .tile-ctas{max-width:50%;}
  /* Same constraint for full marquee tiles with scene-full-right (eg Facebook tile) */
  .tile.full:has(.tile-art.scene-full-right) > h2,
  .tile.full:has(.tile-art.scene-full-right) > p.tile-sub,
  .tile.full:has(.tile-art.scene-full-right) > .tile-eyebrow,
  .tile.full:has(.tile-art.scene-full-right) > .tile-ctas{max-width:50%;}
  .tile-art.centered{position:relative;right:auto;bottom:auto;width:100%;max-width:480px;margin:0 auto;}
  .tile-art img{width:100%;display:block;filter:drop-shadow(0 24px 50px rgba(0,0,0,0.45));}
  .tile-art.placeholder{background:linear-gradient(135deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));border:1px dashed var(--rule);border-radius:1.5rem;display:grid;place-items:center;color:var(--text-faint);font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;text-align:center;padding:1.5rem;}
  .tile-art.placeholder.cornered{width:200px;height:160px;}

  /* Per-platform tile color washes */
  .tile.t-video{background:linear-gradient(155deg,rgba(108,171,239,0.25) 0%,var(--navy-deep) 70%);border-color:rgba(108,171,239,0.2);}
  .tile.t-photos{background:linear-gradient(155deg,rgba(244,151,155,0.22) 0%,var(--navy-deep) 70%);border-color:rgba(244,151,155,0.2);}
  .tile.t-family{background:linear-gradient(155deg,rgba(135,210,146,0.22) 0%,var(--navy-deep) 70%);border-color:rgba(135,210,146,0.2);}
  .tile.t-stash{background:linear-gradient(155deg,rgba(244,182,94,0.22) 0%,var(--navy-deep) 70%);border-color:rgba(244,182,94,0.2);}
  .tile.t-podcast{background:linear-gradient(155deg,rgba(184,155,232,0.24) 0%,var(--navy-deep) 70%);border-color:rgba(184,155,232,0.22);}
  .tile.t-sponsor{background:linear-gradient(155deg,rgba(230,184,66,0.26) 0%,var(--navy-deep) 70%);border-color:rgba(230,184,66,0.3);}
  .tile.t-flag{background:linear-gradient(155deg,#2A1F3D 0%,var(--navy-deep) 50%,#3D1F22 100%);border-color:rgba(255,255,255,0.16);text-align:center;align-items:center;}
  .tile.t-flag > .tile-eyebrow{align-self:center;}
  .tile.t-flag > h2{max-width:32ch;margin-left:auto;margin-right:auto;}
  .tile.t-flag > p.tile-sub{max-width:64ch;width:100%;margin-left:auto;margin-right:auto;}
  .tile.t-tier{background:linear-gradient(155deg,rgba(230,184,66,0.18) 0%,var(--navy-deep) 60%);border-color:rgba(230,184,66,0.25);}
  .tile.t-final{background:radial-gradient(ellipse at top,rgba(230,184,66,0.22) 0%,var(--navy-deep) 65%);border-color:rgba(230,184,66,0.32);text-align:center;align-items:center;}
  .tile.t-final h2{max-width:30ch;margin-left:auto;margin-right:auto;}
  .tile.t-final p.tile-sub{max-width:40ch;margin-left:auto;margin-right:auto;}
  .tile.t-final .tile-ctas{justify-content:center;}
  .tile-art.footer-banner{position:relative;width:100%;max-width:760px;margin:1.5rem auto -3.5rem;align-self:center;}
  .tile-art.footer-banner img{width:100%;height:auto;display:block;}

  /* Hero marquee tile — centered text, family banner flush to bottom (same pattern as Final CTA footer) */
  .tile.t-hero{padding:1.5rem 2rem;min-height:0;background:radial-gradient(ellipse at top,rgba(230,184,66,0.22) 0%,var(--navy-deep) 65%);border-color:rgba(230,184,66,0.2);text-align:center;align-items:center;}
  .tile.t-hero > .eyebrow{align-self:center;margin-bottom:0.65rem;}
  .tile.t-hero h1{font-family:'Sora',sans-serif;font-size:clamp(1.7rem,3vw,2.6rem);font-weight:800;margin-bottom:0.55rem;line-height:1.05;letter-spacing:-0.02em;max-width:24ch;margin-left:auto;margin-right:auto;}
  .tile.t-hero h1 .accent{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .tile.t-hero .lead{font-size:clamp(0.9rem,1vw,1rem);color:var(--mist);margin:0 auto 0.8rem;max-width:44rem;line-height:1.4;}
  .tile.t-hero .ctas{display:flex;gap:0.55rem;flex-wrap:wrap;margin-bottom:0.55rem;justify-content:center;}
  .tile.t-hero .btn-primary,.tile.t-hero .btn-ghost{padding:0.6rem 1.15rem;font-size:0.9rem;}
  .tile.t-hero .trust-line{color:var(--text-muted);font-size:0.78rem;text-align:center;}
  .tile.t-hero .trust-line strong{color:var(--white);font-weight:700;}
  .tile-art.hero-banner{position:relative;width:100%;max-width:380px;margin:0.5rem auto -1.5rem;align-self:center;}
  .tile-art.hero-banner img{width:100%;height:auto;display:block;}
  @keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

  /* Big primary/ghost (used inside hero tile) */
  .btn-primary{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-hover) 100%);color:var(--navy-deep);padding:0.95rem 1.6rem;border-radius:999px;font-weight:700;font-size:1rem;display:inline-block;transition:transform 0.15s,box-shadow 0.15s;border:0;cursor:pointer;box-shadow:0 8px 22px rgba(230,184,66,0.3);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(230,184,66,0.4);}
  .btn-ghost{background:transparent;color:var(--white);padding:0.95rem 1.6rem;border-radius:999px;font-weight:700;font-size:1rem;border:1px solid var(--rule-strong);display:inline-block;transition:background 0.15s,border-color 0.15s;cursor:pointer;}
  .btn-ghost:hover{background:var(--hover-tint);border-color:var(--gold-tint);}

  /* Section heads (sit above a bento) */
  .section-head{text-align:center;max-width:48rem;margin:2.5rem auto 2rem;}
  .section-head h2{font-family:'Sora',sans-serif;font-size:clamp(1.9rem,3vw,2.6rem);font-weight:800;margin-bottom:0.85rem;letter-spacing:-0.02em;}
  .section-head h2 .accent{color:var(--gold);}
  .section-head p{color:var(--mist);font-size:1.05rem;line-height:1.5;}

  /* Community avatars (kept) */
  .community{background:linear-gradient(135deg,var(--navy-soft) 0%,var(--navy-up) 100%);border:1px solid var(--rule);border-radius:var(--radius-tile);padding:2.5rem 2rem;text-align:center;position:relative;overflow:hidden;}
  .community::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:2px;background:linear-gradient(90deg,transparent 0%,var(--gold) 50%,transparent 100%);}
  .community h2{font-family:'Sora',sans-serif;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;margin-bottom:0.55rem;letter-spacing:-0.02em;}
  .community .sub{color:var(--text-muted);margin:0 auto 1.8rem;max-width:32rem;}
  .avatar-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.25rem 1.4rem;max-width:960px;margin:0 auto;}
  .person{display:flex;flex-direction:column;align-items:center;gap:0.5rem;width:98px;transition:transform 0.2s;}
  .person:hover{transform:translateY(-4px);}
  .avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;font-family:'Sora',system-ui,sans-serif;font-weight:700;font-size:1.15rem;color:var(--white);border:2px solid rgba(255,255,255,0.12);box-shadow:0 8px 20px rgba(0,0,0,0.3);overflow:hidden;background:var(--navy-deep);}
  .avatar img{width:100%;height:100%;object-fit:cover;object-position:center 6%;display:block;transform:scale(2.4);transform-origin:center 18%;}
  .person .name{font-size:0.86rem;font-weight:700;letter-spacing:-0.01em;}
  .person .role{font-size:0.72rem;color:var(--text-muted);text-align:center;}

  /* Tier ladder tile contents */
  .tier-ladder{display:grid;grid-template-columns:1fr 1.35fr;gap:2.5rem;align-items:center;width:100%;}
  .tier-ladder-points{list-style:none;padding:0;margin:1rem 0 1.5rem;display:grid;gap:0.55rem;}
  .tier-ladder-points li{color:var(--mist);font-size:0.95rem;display:flex;gap:0.6rem;align-items:flex-start;}
  .tier-ladder-points li::before{content:'\2728';flex-shrink:0;}
  .tier-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0.85rem;}
  .tier-step{background:rgba(255,255,255,0.04);border:1px solid var(--rule);border-radius:1.1rem;padding:0.9rem 0.65rem;text-align:center;transition:transform 0.2s,border-color 0.2s;}
  .tier-step:hover{transform:translateY(-3px);border-color:var(--gold-tint);}
  .tier-step .face{width:68px;height:68px;border-radius:50%;margin:0 auto 0.55rem;padding:3px;background:linear-gradient(135deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02));border:none;display:block;overflow:hidden;box-sizing:border-box;}
  .tier-step .face img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;background:var(--navy-deep);}
  .tier-step .face .ph{font-size:1.5rem;}
  /* Tier ring colors match the actual in-app .tier-ring.tier-N from helm.css */
  .tier-step.t1 .face{background:#778095;}
  .tier-step.t2 .face{background:#CD7F32;}
  .tier-step.t3 .face{background:#C0C0C0;}
  .tier-step.t4 .face{background:#E6B842;}
  .tier-step.t5 .face{background:#FF3D8E;}
  .tier-step.t6 .face{background:#9333EA;}
  .tier-step.t7 .face{background:conic-gradient(#FF3D8E,#FAB72A,#6CCB78,#38BCDB,#9333EA,#FF3D8E);animation:tier-spin 6s linear infinite;}
  .tier-step.t7 .face img{animation:tier-spin 6s linear infinite reverse;}
  @keyframes tier-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
  .tier-step .nm{font-family:'Sora',sans-serif;font-size:0.82rem;font-weight:700;letter-spacing:-0.01em;}
  .tier-step .tier-num{font-size:0.66rem;color:var(--gold);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-top:0.15rem;}

  /* Account-type tile grid — 12-col so row 1 (4 cards × span 3) balances against row 2 (3 cards × span 4) without leaving a void */
  .type-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-bottom:1.25rem;}
  .type-tile{grid-column:span 3;}
  .type-bento .type-tile:nth-child(n+5){grid-column:span 4;}
  .type-tile{position:relative;background:linear-gradient(155deg,var(--navy-soft) 0%,var(--navy-deep) 100%);border:1px solid var(--rule);border-radius:var(--radius-tile);padding:1.6rem 1.25rem;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:280px;transition:transform 0.25s,border-color 0.25s,box-shadow 0.25s;overflow:hidden;}
  .type-tile:hover{transform:translateY(-5px);border-color:var(--gold-tint);box-shadow:0 18px 44px rgba(0,0,0,0.35);}
  .type-tile .face{width:96px;height:96px;border-radius:50%;background:var(--navy-deep);border:2px solid rgba(255,255,255,0.12);display:grid;place-items:center;margin-bottom:0.95rem;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,0.3);}
  .type-tile .face img{width:100%;height:100%;object-fit:cover;object-position:center 6%;display:block;transform:scale(2.4);transform-origin:center 18%;}
  .type-tile .face .ph-emoji{font-size:2.2rem;}
  .type-tile h3{font-family:'Sora',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:0.3rem;letter-spacing:-0.02em;}
  .type-tile .age{font-size:0.7rem;color:var(--gold);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0.5rem;}
  .type-tile p{font-size:0.85rem;color:var(--text-muted);line-height:1.45;margin-bottom:0.9rem;}
  .type-tile .type-cta{margin-top:auto;color:var(--white);font-weight:600;font-size:0.84rem;letter-spacing:-0.01em;transition:color 0.15s;}
  .type-tile .type-cta::after{content:' \203A';color:var(--gold);transition:transform 0.15s;display:inline-block;}
  .type-tile:hover .type-cta{color:var(--gold);}

  /* Pillars (4) */
  .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.25rem;}
  .pillar{background:rgba(255,255,255,0.03);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1.5rem 1.2rem;text-align:center;transition:transform 0.2s,border-color 0.2s,background 0.2s;}
  .pillar:hover{transform:translateY(-4px);border-color:var(--gold-tint);background:rgba(255,255,255,0.05);}
  .pillar .badge{width:48px;height:48px;border-radius:14px;background:var(--gold-tint);color:var(--gold);display:grid;place-items:center;font-size:1.55rem;margin:0 auto 0.7rem;border:1px solid rgba(230,184,66,0.3);}
  .pillar h4{font-family:'Sora',sans-serif;font-size:0.98rem;font-weight:800;margin-bottom:0.35rem;letter-spacing:-0.01em;}
  .pillar p{font-size:0.86rem;color:var(--text-muted);line-height:1.45;}

  /* Family tile uses bento layout with art slot */
  .family-tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;width:100%;}
  .family-tile-grid ul{list-style:none;padding:0;margin:0.85rem 0 1.35rem;display:grid;gap:0.5rem;}
  .family-tile-grid li{display:flex;align-items:flex-start;gap:0.55rem;color:var(--mist);font-size:0.93rem;}
  .family-tile-grid li::before{content:'\2713';color:var(--gold);font-weight:800;flex-shrink:0;}
  .family-tile-art{display:grid;place-items:center;}
  .family-tile-art img{width:100%;max-width:380px;filter:drop-shadow(0 24px 50px rgba(0,0,0,0.4));animation:floaty 6s ease-in-out infinite;}

  /* Footer */
  footer{border-top:1px solid var(--rule);padding:2.5rem 1.5rem;margin-top:2.5rem;}
  .footer-inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:center;color:var(--text-muted);font-size:0.88rem;}
  .footer-brand{display:flex;align-items:center;gap:0.5rem;}
  .footer-brand img{width:24px;height:24px;border-radius:6px;}
  .footer-links{display:flex;gap:1.2rem;flex-wrap:wrap;}
  .footer-links a:hover{color:var(--white);}
  .footer-pride{font-size:0.78rem;color:#93A0B5;font-weight:600;letter-spacing:0.06em;}

  /* Responsive */
  @media (max-width:980px){
    .bento{grid-template-columns:1fr;}
    .tile.full,.tile{grid-column:1;}
    .tile-art.hero-banner{max-width:520px;}
    .tier-ladder{grid-template-columns:1fr;gap:1.5rem;}
    .tier-strip{grid-template-columns:repeat(4,1fr);}
    .type-bento{grid-template-columns:repeat(2,1fr);}
    .pillars{grid-template-columns:repeat(2,1fr);}
    .family-tile-grid{grid-template-columns:1fr;gap:1.5rem;}
    .family-tile-art{order:-1;}
    .tile-art.right,.tile-art.right-tall,.tile-art.cornered{position:relative;right:auto;bottom:auto;width:100%;max-width:280px;margin:1.5rem auto 0;}
  }
  @media (max-width:980px){
    .nav-pill-links,.nav-links{display:none;}
    .nav-hamburger{display:block;}
  }
  @media (max-width:560px){
    .section{padding:1rem 1rem;}
    .tile{padding:2rem 1.5rem;min-height:380px;}
    .tile.full{padding:2.25rem 1.5rem;}
    /* Hero matches footer pattern: small top padding, zero bottom so hero-banner negative margin sits image flush */
    .tile.t-hero{padding:2.5rem 1.5rem 0;}
    .tile-art.hero-banner{max-width:100%;margin:0.75rem auto -1.5rem;}
    .tier-strip{grid-template-columns:repeat(2,1fr);}
    .type-bento{grid-template-columns:1fr;}
    .pillars{grid-template-columns:1fr;}
    .nav-inner{padding:0.7rem 1rem;}
    .person{width:80px;}.avatar{width:56px;height:56px;font-size:1.1rem;}
  }

  /* ===================== WAITLIST FORM =====================
     Lifted from the current live index. The form, the success state,
     the error state, and a mobile breakpoint that stacks the pill.
  ======================================================== */
  .waitlist{margin:1.75rem auto 1rem;max-width:520px;width:100%;}
  .waitlist form{display:flex;gap:0.5rem;background:rgba(255,255,255,0.06);border:1px solid var(--rule-strong);border-radius:999px;padding:0.3rem 0.3rem 0.3rem 1.1rem;}
  .waitlist input[type=email]{flex:1;background:transparent;border:0;color:var(--white);font:inherit;font-size:1rem;outline:none;min-width:0;}
  .waitlist input[type=email]::placeholder{color:rgba(214,222,236,0.45);}
  .waitlist button{background:var(--gold);color:var(--navy-deep);border:0;padding:0.85rem 1.4rem;border-radius:999px;font:inherit;font-weight:700;font-size:0.95rem;cursor:pointer;white-space:nowrap;transition:background 0.15s,transform 0.05s,box-shadow 0.15s;box-shadow:0 4px 14px rgba(230,184,66,0.25);}
  .waitlist button:hover:not(:disabled){background:var(--gold-hover);transform:translateY(-1px);box-shadow:0 6px 20px rgba(230,184,66,0.35);}
  .waitlist button:active:not(:disabled){transform:translateY(1px);}
  .waitlist button:disabled{opacity:0.55;cursor:not-allowed;}
  .waitlist .err{color:#F4979B;font-size:0.88rem;margin-top:0.8rem;display:none;}
  .waitlist .err.show{display:block;}
  .waitlist .ok{display:none;background:rgba(50,191,140,0.10);border:1px solid rgba(50,191,140,0.4);border-radius:14px;padding:1rem 1.25rem;text-align:left;margin-top:0.8rem;}
  .waitlist .ok.show{display:block;}
  .waitlist .ok strong{color:#6CCB78;font-weight:800;display:block;font-size:1.02rem;margin-bottom:0.25rem;font-family:'Sora',sans-serif;}
  .waitlist .ok span{color:var(--mist);font-size:0.92rem;line-height:1.5;}
  @media (max-width:640px){
    .waitlist form{flex-direction:column;padding:0.5rem;border-radius:18px;}
    .waitlist input[type=email]{padding:0.7rem 0.8rem;}
    .waitlist button{width:100%;padding:0.9rem 1.2rem;}
  }

  /* ===================================================================
     LIVE + COINS + GIFTS section — high-leverage marketing block
     - Gold/pink gradient hero tile (the 50/50 promise)
     - Gift catalog teaser with 5 colored chips
     - Inner Circle list tile
     - 6-card "what's coming" roadmap grid
  =================================================================== */
  .live-accent{color:var(--gold);}
  /* Hero tile gets a richer warm gradient so it pops visually */
  .tile.t-live-hero{background:linear-gradient(135deg,#2D456E 0%,#1A2C4D 45%,#5A2D1F 100%);border-color:rgba(230,184,66,0.35);}
  .tile.t-live-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(230,184,66,0.18) 0%,transparent 55%);pointer-events:none;z-index:0;}
  .tile.t-live-hero > *{position:relative;z-index:1;}
  /* Math callout — viewer→creator visual */
  .live-math{display:flex;align-items:stretch;gap:1rem;background:rgba(15,26,46,0.45);border:1px solid var(--rule-strong);border-radius:1.25rem;padding:1.4rem 1.5rem;margin:1.6rem 0 1.8rem;max-width:680px;}
  .live-math-side{flex:1;display:flex;flex-direction:column;gap:0.4rem;min-width:0;}
  .live-math-label{font-size:0.72rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-faint);}
  .live-math-value{font-family:'Sora',sans-serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:800;line-height:1;letter-spacing:-0.02em;color:var(--mist);}
  .live-math-unit{font-size:0.6em;color:var(--text-muted);font-weight:700;margin-left:0.05em;}
  .live-math-side--you .live-math-value{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-soft) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .live-math-meta{font-size:0.84rem;color:var(--text-muted);line-height:1.3;}
  .live-math-arrow{display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--gold);font-weight:800;padding:0 0.25rem;}
  /* Gift catalog chips — show the tier spread */
  .tile.t-live-gifts{background:linear-gradient(155deg,#2D456E 0%,#1A2C4D 60%,#2D1F4A 100%);border-color:rgba(184,155,232,0.28);}
  .gift-rail{display:flex;flex-wrap:wrap;gap:0.6rem;margin:1.2rem 0 1.5rem;}
  .gift-chip{display:inline-flex;flex-direction:column;align-items:center;gap:0.2rem;background:rgba(15,26,46,0.6);border:1px solid var(--rule-strong);border-radius:14px;padding:0.7rem 0.85rem;min-width:88px;transition:transform 0.2s,border-color 0.2s;}
  .gift-chip:hover{transform:translateY(-3px);border-color:var(--gold);}
  .gift-chip-emoji{font-size:1.6rem;line-height:1;}
  .gift-chip-label{font-size:0.78rem;font-weight:700;color:var(--mist);}
  .gift-chip-price{font-size:0.68rem;font-weight:700;color:var(--text-faint);letter-spacing:0.04em;text-transform:uppercase;}
  .gift-chip--t1{border-color:rgba(108,171,239,0.35);}
  .gift-chip--t2{border-color:rgba(135,210,146,0.35);}
  .gift-chip--t3{border-color:rgba(244,182,94,0.35);}
  .gift-chip--t4{border-color:rgba(184,155,232,0.45);}
  .gift-chip--t5{border-color:rgba(244,151,155,0.55);box-shadow:0 0 0 1px rgba(244,151,155,0.18) inset;}
  /* Inner Circle tile */
  .tile.t-live-circle{background:linear-gradient(155deg,#2D456E 0%,#1A2C4D 60%,#1F3A2D 100%);border-color:rgba(135,210,146,0.28);}
  .circle-list{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:0.7rem;}
  .circle-list li{display:flex;align-items:center;gap:0.7rem;color:var(--mist);font-size:0.98rem;font-weight:500;}
  .circle-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--green) 0%,var(--gold-soft) 100%);flex-shrink:0;box-shadow:0 0 0 3px rgba(135,210,146,0.18);}
  /* Roadmap tile — 6-feature grid */
  .live-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem 1.3rem;margin:1.4rem 0 1.6rem;max-width:980px;}
  .live-feature{display:flex;flex-direction:column;gap:0.35rem;padding:0.25rem 0;}
  .live-feature-icon{font-size:1.45rem;line-height:1;color:var(--gold);}
  .live-feature-title{font-family:'Sora',sans-serif;font-weight:700;font-size:1.02rem;color:var(--white);letter-spacing:-0.01em;}
  .live-feature-sub{font-size:0.9rem;color:var(--text-muted);line-height:1.45;}
  /* Responsive: collapse the Live bento like the other bentos do */
  @media (max-width:920px){
    .live-math{flex-direction:column;gap:0.8rem;padding:1.1rem 1.2rem;}
    .live-math-arrow{transform:rotate(90deg);padding:0;}
    .live-feature-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:640px){
    .live-feature-grid{grid-template-columns:1fr;}
    .gift-chip{min-width:78px;padding:0.55rem 0.7rem;}
    .gift-chip-emoji{font-size:1.35rem;}
  }

  /* Keep platform-tile content from running under the .scene-right art on desktop.
     The art is anchored bottom-right at ~58% of the tile; clamp text to the left ~52%. */
  .tile.t-video > h2, .tile.t-video > p.tile-sub, .tile.t-video > .tile-eyebrow, .tile.t-video > .tile-ctas,
  .tile.t-photos > h2, .tile.t-photos > p.tile-sub, .tile.t-photos > .tile-eyebrow, .tile.t-photos > .tile-ctas,
  .tile.t-stash > h2, .tile.t-stash > p.tile-sub, .tile.t-stash > .tile-eyebrow, .tile.t-stash > .tile-ctas,
  .tile.t-podcast > h2, .tile.t-podcast > p.tile-sub, .tile.t-podcast > .tile-eyebrow, .tile.t-podcast > .tile-ctas,
  .tile.t-creator > h2, .tile.t-creator > p.tile-sub, .tile.t-creator > .tile-eyebrow, .tile.t-creator > .tile-ctas{
    max-width:52%;position:relative;z-index:2;
  }
  @media(max-width:760px){
    .tile.t-video > h2, .tile.t-video > p.tile-sub, .tile.t-video > .tile-eyebrow, .tile.t-video > .tile-ctas,
    .tile.t-photos > h2, .tile.t-photos > p.tile-sub, .tile.t-photos > .tile-eyebrow, .tile.t-photos > .tile-ctas,
    .tile.t-stash > h2, .tile.t-stash > p.tile-sub, .tile.t-stash > .tile-eyebrow, .tile.t-stash > .tile-ctas,
    .tile.t-podcast > h2, .tile.t-podcast > p.tile-sub, .tile.t-podcast > .tile-eyebrow, .tile.t-podcast > .tile-ctas,
    .tile.t-creator > h2, .tile.t-creator > p.tile-sub, .tile.t-creator > .tile-eyebrow, .tile.t-creator > .tile-ctas{
      max-width:none;
    }
  }

  /* Chores tile: image rides under text as a normal flow block, never overlaps */
  .t-family-chores .chore-art{margin:1.2rem auto 0;text-align:center;position:static;width:100%;}
  .t-family-chores .chore-art img{width:100%;max-width:380px;height:auto;border-radius:1rem;display:block;margin:0 auto;animation:floaty 6s ease-in-out infinite;}

  /* Install mascot: bring back the up/down bobbing motion */
  @keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
  .t-install-art img{animation:floaty 5.5s ease-in-out infinite;}

  /* Install (Get the app) tile responsive */
  .t-install-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:2.5rem;align-items:center;}
  .t-install-grid > .t-install-art{text-align:center;}
  .t-install-instructions{margin-top:1.6rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;font-size:0.88rem;color:var(--text-muted);}
  .t-install-instructions > div{background:rgba(255,255,255,0.04);border:1px solid var(--rule);border-radius:12px;padding:0.9rem 1rem;}
  @media (max-width:760px){
    .t-install-grid{grid-template-columns:1fr;gap:1.5rem;}
    .t-install-grid > .t-install-art{order:-1;}
    .t-install-grid > .t-install-art img{max-width:240px !important;}
    .t-install-instructions{grid-template-columns:1fr;}
  }
  /* For-Families bento section — mirrors bento-live with family palette */
  .t-family-hero{background:linear-gradient(155deg,rgba(135,210,146,0.28) 0%,rgba(213,138,48,0.18) 60%,var(--navy-deep) 100%);border-color:rgba(135,210,146,0.30);}
  .t-family-hero .accent{color:#87D292;}
  .t-family-calendar{background:linear-gradient(155deg,rgba(108,171,239,0.22) 0%,var(--navy-deep) 70%);border-color:rgba(108,171,239,0.20);}
  .t-family-chores{background:linear-gradient(155deg,rgba(213,138,48,0.22) 0%,var(--navy-deep) 70%);border-color:rgba(213,138,48,0.20);}
  .t-family-redeem{background:linear-gradient(155deg,rgba(213,138,48,0.18) 0%,rgba(135,210,146,0.16) 60%,var(--navy-deep) 100%);border-color:rgba(213,138,48,0.22);}
  .t-family-redeem .accent{color:var(--gold);}
  .t-family-live{background:linear-gradient(155deg,rgba(135,210,146,0.30) 0%,rgba(108,171,239,0.18) 60%,var(--navy-deep) 100%);border-color:rgba(135,210,146,0.30);}
  .t-family-live .accent{color:#87D292;}
  .family-controls-checklist{margin:0.8rem 0 1rem;padding:0;list-style:none;color:rgba(231,237,247,0.92);}
  .family-controls-checklist li{padding:0.4rem 0 0.4rem 1.7rem;position:relative;font-size:0.95rem;line-height:1.4;}
  .family-controls-checklist li::before{content:'\2713';position:absolute;left:0;top:0.35rem;color:#87D292;font-weight:800;font-size:1.05rem;}
  /* Calendar mini */
  .calendar-mini{margin-top:0.85rem;display:flex;flex-direction:column;gap:0.45rem;}
  .cal-row{display:grid;grid-template-columns:14px 80px 1fr;align-items:center;gap:0.7rem;background:rgba(255,255,255,0.05);padding:0.5rem 0.8rem;border-radius:10px;font-size:0.9rem;}
  .cal-dot{width:10px;height:10px;border-radius:50%;}
  .cal-dot--soccer{background:#87D292;} .cal-dot--music{background:#9EC4F1;} .cal-dot--dad{background:#ECC480;} .cal-dot--family{background:#F4979B;}
  .cal-when{color:var(--text-soft);font-weight:600;font-size:0.82rem;}
  .cal-what{color:#fff;font-weight:500;}
  /* Chore chips */
  .chore-rail{margin-top:0.85rem;display:flex;flex-wrap:wrap;gap:0.5rem;}
  .chore-chip{background:rgba(255,255,255,0.06);padding:0.45rem 0.85rem;border-radius:999px;font-size:0.88rem;display:inline-flex;align-items:center;gap:0.45rem;border:1px solid rgba(255,255,255,0.08);}
  .chore-chip-emoji{font-size:1.1rem;}
  .chore-chip-stars{color:#ECC480;font-weight:700;font-size:0.84rem;}
  /* Redeemables list */
  .redeem-list{margin-top:0.85rem;display:flex;flex-direction:column;gap:0.45rem;}
  .redeem-row{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:0.9rem;background:rgba(255,255,255,0.05);padding:0.5rem 0.85rem;border-radius:10px;font-size:0.92rem;}
  .redeem-stars{color:#ECC480;font-weight:700;font-size:0.86rem;}
  .redeem-name{color:#fff;}
  /* Family-Live math row, mirrors .live-math */
  .family-live-row{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;gap:1rem;margin-top:1rem;}
  .family-live-side{background:rgba(255,255,255,0.05);padding:1rem 1.2rem;border-radius:14px;border:1px solid rgba(255,255,255,0.08);}
  .family-live-side--paid{background:rgba(135,210,146,0.14);border-color:rgba(135,210,146,0.30);}
  .family-live-label{display:block;font-size:0.74rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-soft);font-weight:700;margin-bottom:0.25rem;}
  .family-live-value{display:block;font-family:'Sora',sans-serif;font-weight:800;font-size:1.4rem;color:#fff;margin-bottom:0.3rem;}
  .family-live-meta{display:block;color:rgba(231,237,247,0.78);font-size:0.84rem;line-height:1.4;}
  .family-live-arrow{font-family:'Sora',sans-serif;font-size:1.7rem;color:rgba(255,255,255,0.45);text-align:center;font-weight:700;}
  /* Tile-bottom photo banner (used by chores tile to anchor pip+rio walking-the-dog scene) */
  .tile-art.scene-bottom{position:relative;width:calc(100% + 4rem);margin:1.4rem -2rem -2rem;align-self:stretch;border-radius:0 0 1.5rem 1.5rem;overflow:hidden;}
  .tile-art.scene-bottom img{width:100%;height:auto;display:block;filter:none;}
  @media (max-width:760px){
    .tile-art.live-scene{position:relative;right:auto;bottom:auto;width:100%;max-width:100%;margin:1.5rem 0 -1rem;}
    .tile.full:has(.tile-art.live-scene) > h2,
    .tile.full:has(.tile-art.live-scene) > p.tile-sub,
    .tile.full:has(.tile-art.live-scene) > .tile-eyebrow,
    .tile.full:has(.tile-art.live-scene) > .live-math,
    .tile.full:has(.tile-art.live-scene) > .tile-ctas{max-width:none;}
  }
  /* Parent-dashboard hero couch scene (full bento marquee, right-aligned) */
  .tile-art.parent-couch{right:0;bottom:0;width:560px;max-width:50%;}
  .tile-art.parent-couch img{width:100%;height:auto;display:block;filter:drop-shadow(0 24px 50px rgba(0,0,0,0.5));}
  .tile.full:has(.tile-art.parent-couch) > h2,
  .tile.full:has(.tile-art.parent-couch) > p.tile-sub,
  .tile.full:has(.tile-art.parent-couch) > .tile-eyebrow,
  .tile.full:has(.tile-art.parent-couch) > .family-controls-checklist,
  .tile.full:has(.tile-art.parent-couch) > .tile-ctas{max-width:50%;}
  /* Live-hero scene (Nova and Sage going live, full bento marquee, right-aligned) */
  .tile-art.live-scene{position:absolute;right:0;bottom:0;width:560px;max-width:48%;}
  .tile-art.live-scene img{width:100%;height:auto;display:block;filter:drop-shadow(0 24px 50px rgba(0,0,0,0.5));}
  .tile.full:has(.tile-art.live-scene) > h2,
  .tile.full:has(.tile-art.live-scene) > p.tile-sub,
  .tile.full:has(.tile-art.live-scene) > .tile-eyebrow,
  .tile.full:has(.tile-art.live-scene) > .live-math,
  .tile.full:has(.tile-art.live-scene) > .tile-ctas{max-width:52%;}
  /* Calendar mini: emoji icons + whole-row color tint (matches what we shipped in app) */
  .cal-row.tinted{background:linear-gradient(90deg,var(--ev-color,#87D292) 0%,rgba(255,255,255,0.05) 22%);border-left:4px solid var(--ev-color,#87D292);grid-template-columns:24px 80px 1fr;}
  .cal-row .cal-emoji{font-size:1.1rem;line-height:1;}
  @media (max-width:760px){
    .family-live-row{grid-template-columns:1fr;}
    .family-live-arrow{display:none;}
    .tile-art.parent-couch{position:relative;right:auto;bottom:auto;width:100%;max-width:100%;margin:1.5rem 0 -1rem;}
    .tile.full:has(.tile-art.parent-couch) > h2,
    .tile.full:has(.tile-art.parent-couch) > p.tile-sub,
    .tile.full:has(.tile-art.parent-couch) > .tile-eyebrow,
    .tile.full:has(.tile-art.parent-couch) > .family-controls-checklist,
    .tile.full:has(.tile-art.parent-couch) > .tile-ctas{max-width:none;}
    .tile-art.scene-bottom{width:calc(100% + 3rem);margin:1.4rem -1.5rem -1.5rem;}
    /* Hero-style mobile layout for "50/50 promise" + "Connects them all" — text centered on top, image flush at bottom */
    .tile.t-live-hero,
    .tile.t-sponsor.full:has(.tile-art.family-group){text-align:center;align-items:center;}
    .tile.t-live-hero > .tile-eyebrow,
    .tile.t-live-hero > h2,
    .tile.t-live-hero > p.tile-sub,
    .tile.t-sponsor.full:has(.tile-art.family-group) > .tile-eyebrow,
    .tile.t-sponsor.full:has(.tile-art.family-group) > h2,
    .tile.t-sponsor.full:has(.tile-art.family-group) > p.tile-sub{margin-left:auto;margin-right:auto;}
    .tile.t-live-hero h2{max-width:20ch;}
    .tile.t-sponsor.full:has(.tile-art.family-group) h2{max-width:20ch;}
    .tile.t-live-hero p.tile-sub,
    .tile.t-sponsor.full:has(.tile-art.family-group) p.tile-sub{max-width:34ch;}
    .tile.t-live-hero .live-math{margin-left:auto;margin-right:auto;justify-items:center;width:100%;max-width:100%;}
    .tile.t-live-hero .tile-ctas,
    .tile.t-sponsor.full:has(.tile-art.family-group) .tile-ctas{justify-content:center;align-self:center;}
    /* Make the image a centered bottom banner like the hero family group photo */
    .tile-art.live-scene,
    .tile-art.family-group{position:relative;right:auto;bottom:auto;left:auto;top:auto;width:100%;max-width:100%;margin:1.5rem auto -2rem;align-self:center;text-align:center;display:flex;justify-content:center;}
    .tile-art.live-scene img,
    .tile-art.family-group img{width:100%;max-width:480px;margin:0 auto;display:block;}
    /* clear desktop text-constraint (max-width:52%/50%) on both hero-style tiles for mobile */
    .tile.full:has(.tile-art.family-group) > h2,
    .tile.full:has(.tile-art.family-group) > p.tile-sub,
    .tile.full:has(.tile-art.family-group) > .tile-eyebrow,
    .tile.full:has(.tile-art.family-group) > .tile-ctas,
    .tile.full:has(.tile-art.live-scene) > h2,
    .tile.full:has(.tile-art.live-scene) > p.tile-sub,
    .tile.full:has(.tile-art.live-scene) > .tile-eyebrow,
    .tile.full:has(.tile-art.live-scene) > .live-math,
    .tile.full:has(.tile-art.live-scene) > .tile-ctas{max-width:none;}
  }


/* ===== Shared marketing-page helpers (used by all sub-pages) ===== */
.fam-hero{text-align:center;}
.fam-hero .lead{max-width:660px;margin:1.1rem auto 0;}
.hero-ctas{display:flex;gap:0.7rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem;}
.btn-primary{background:var(--gold);color:var(--navy-deep);padding:0.8rem 1.5rem;border-radius:999px;font-weight:700;font-size:1rem;box-shadow:0 4px 14px rgba(230,184,66,0.25);transition:transform .15s,box-shadow .15s;}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(230,184,66,0.35);}
.btn-ghost{color:var(--white);border:1px solid var(--rule-strong);padding:0.8rem 1.4rem;border-radius:999px;font-weight:600;font-size:1rem;transition:background .15s;}
.btn-ghost:hover{background:var(--hover-tint);}
.value-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem;}
.value-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1.3rem 1.4rem;}
.value-card .vi{font-size:1.6rem;}
.value-card h4{margin:0.6rem 0 0.35rem;font-size:1.05rem;}
.value-card p{color:var(--text-muted);font-size:0.92rem;line-height:1.5;}
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.2rem;}
.flow-step{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1.4rem;position:relative;}
.flow-step .num{width:34px;height:34px;border-radius:50%;background:var(--gold-tint);color:var(--gold);border:1px solid rgba(230,184,66,0.35);display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:800;}
.flow-step h4{margin:0.8rem 0 0.4rem;font-size:1.1rem;}
.flow-step p{color:var(--text-muted);font-size:0.93rem;line-height:1.55;}
.acct-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem;}
.acct-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1.4rem;display:flex;flex-direction:column;gap:0.5rem;transition:transform .15s,border-color .15s;}
.acct-card:hover{transform:translateY(-3px);border-color:var(--rule-strong);}
.acct-card img{width:52px;height:52px;border-radius:12px;object-fit:cover;object-position:top;}
.acct-card h4{font-size:1.1rem;}
.acct-card p{color:var(--text-muted);font-size:0.9rem;line-height:1.5;flex:1;}
.acct-card .go{color:var(--gold);font-weight:700;font-size:0.9rem;}
.safety-strip{background:linear-gradient(135deg,var(--navy-soft),var(--navy-up));border:1px solid var(--rule);border-radius:var(--radius-tile);padding:2rem;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;justify-content:space-between;}
.st-badges{display:flex;gap:0.6rem;flex-wrap:wrap;}
.st-badge{background:rgba(255,255,255,0.05);border:1px solid var(--rule);border-radius:999px;padding:0.5rem 0.9rem;font-size:0.88rem;color:var(--mist);}
.faq-list{display:grid;gap:0.7rem;margin-top:1rem;}
.faq-item{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:0;overflow:hidden;}
.faq-item summary{cursor:pointer;list-style:none;padding:1.1rem 1.3rem;font-family:'Sora',sans-serif;font-weight:700;font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';color:var(--gold);font-size:1.4rem;font-weight:400;transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item .faq-a{padding:0 1.3rem 1.2rem;color:var(--text-muted);line-height:1.6;}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem;}
.feat{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1.4rem;}
.feat .fi{font-size:1.5rem;}
.feat h4{margin:0.6rem 0 0.4rem;font-size:1.05rem;}
.feat p{color:var(--text-muted);font-size:0.92rem;line-height:1.55;}
.net-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0.8rem;margin-top:1.2rem;}
.net-tile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:1.1rem;text-align:center;}
.net-tile .ni{width:52px;height:52px;margin:0 auto;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.18);}
.net-tile .ni svg{width:30px;height:30px;display:block;}
.net-tile .nn{display:block;margin-top:0.4rem;font-weight:700;font-size:0.95rem;}
.net-tile .n

/* ==========================================================================
   FOOTER v2 — grouped columns + social row (added 2026-07-27)
   Overrides the legacy single-row .footer-inner flex layout below.
   ========================================================================== */
.site-footer{border-top:1px solid var(--rule);margin-top:3rem;padding:0;}
.site-footer .footer-inner.footer-grid{
  display:grid;
  grid-template-columns:1.6fr repeat(4,1fr);
  gap:2rem 1.75rem;
  align-items:start;
  justify-content:normal;
  max-width:1180px;
  margin:0 auto;
  padding:3rem 1.5rem 2.25rem;
  font-size:0.88rem;
  color:var(--text-muted);
}
.footer-about{max-width:320px;}
.site-footer .footer-brand{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.85rem;}
.site-footer .footer-brand img{width:auto;height:26px;border-radius:0;display:block;}
.footer-tag{margin:0 0 1.1rem;font-size:0.86rem;line-height:1.6;color:var(--text-muted);}

/* social row */
.footer-social{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0;}
.footer-social li{margin:0;}
.footer-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--rule);
  color:var(--text-muted);
  background:rgba(255,255,255,.02);
  transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease;
}
.footer-social a:hover,.footer-social a:focus-visible{
  color:#0E1B33;background:#E0B842;border-color:#E0B842;transform:translateY(-2px);
}
.footer-social a:focus-visible{outline:2px solid #E0B842;outline-offset:2px;}
.footer-social svg{width:17px;height:17px;fill:currentColor;display:block;}

/* link columns */
.footer-col h2.footer-h{
  margin:0 0 .85rem;font-size:0.72rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--white);
}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-col li{margin:0;}
.footer-col a{color:var(--text-muted);text-decoration:none;font-size:0.86rem;line-height:1.45;transition:color .16s ease;}
.footer-col a:hover,.footer-col a:focus-visible{color:var(--white);text-decoration:underline;}

/* bottom bar */
.footer-base{border-top:1px solid var(--rule);}
.site-footer .footer-inner.footer-base-inner{
  display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;
  align-items:center;justify-content:space-between;
  max-width:1180px;margin:0 auto;padding:1.15rem 1.5rem;
}
.footer-copy{font-size:0.8rem;color:var(--text-muted);}
.site-footer .footer-pride{font-size:0.78rem;color:#93A0B5;font-weight:600;letter-spacing:.06em;}

@media (max-width:900px){
  .site-footer .footer-inner.footer-grid{grid-template-columns:1fr 1fr;gap:2rem 1.25rem;padding:2.25rem 1.25rem 1.75rem;}
  .footer-about{grid-column:1 / -1;max-width:none;}
}
@media (max-width:520px){
  .site-footer .footer-inner.footer-grid{grid-template-columns:1fr;}
  .site-footer .footer-inner.footer-base-inner{flex-direction:column;align-items:flex-start;text-align:left;}
  .footer-social a{width:40px;height:40px;}
}
