/* =====================================================================
   W6 (build v8): home funnel, growth pages (partners, News Intelligence,
   newsletter), unified app shell (grouped sidebar, tab bar, DEMO pill),
   installable app (install banner, iOS sheet). Warm FUN FUTURE palette.
   ===================================================================== */
.pop .h3,.h3{font-family:var(--display,inherit);font-weight:600;letter-spacing:-.03em;line-height:1.15;font-size:clamp(1.2rem,2.2vw,1.55rem);margin:6px 0 10px}
.g-page{overflow-x:clip}

/* ---------- shared cards */
.g-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:clamp(18px,3vw,28px);box-shadow:0 14px 40px -28px rgba(120,70,0,.4);min-width:0}
.g-card--sun{background:radial-gradient(500px 260px at 100% 0,rgba(255,255,255,.6),transparent 60%),var(--butter,#FFF3C9);border:0}
.g-card--warn{border-color:color-mix(in srgb,var(--red,#FF2E3A) 35%,var(--line))}
.g-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.g-tag{display:inline-block;font-family:var(--mono,monospace);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--ink);color:var(--yellow,#FFC93C)}
.g-ticks,.g-x,.g-method{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}
.g-ticks li{display:flex;gap:8px;align-items:flex-start;font-size:.92rem}
.g-ticks svg{width:18px;height:18px;flex:none;color:var(--up);margin-top:2px}
.g-x li{position:relative;padding-left:26px;font-size:.92rem}
.g-x li::before{content:"✕";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--dn-bg);color:var(--dn);font-size:.65rem;font-weight:800;display:grid;place-items:center}
.g-method li{font-size:.9rem;color:var(--ink-2)}
.g-steps{margin:12px 0;padding-left:22px;display:grid;gap:8px;font-size:.92rem}
.g-steps li::marker{font-weight:800;color:var(--orange,#FF6B2C)}
.g-note{margin-top:16px}
.g-phead{padding-bottom:24px}
.g-phead .lead{max-width:62ch}
.g-sec-h{margin-bottom:14px}.g-sec-h .h3{margin:0 0 4px}
.g-band{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:clamp(20px,3vw,32px);border-radius:28px;background:radial-gradient(500px 300px at 10% 0,rgba(255,201,60,.6),transparent 60%),linear-gradient(110deg,#FF6B2C,#FF2E3A);color:#fff}
.g-band .h3,.g-band p{color:#fff;margin:0 0 4px}.g-band .btn{--bg:#fff;--fg:#1B1410;background:#fff;color:#1B1410}

/* ---------- partners */
.g-partners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.g-partner{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:22px;min-width:0}
.g-partner header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.g-partner h3{margin:0;font-size:1.35rem}
.g-partner .pill svg{width:14px;height:14px;vertical-align:-2px}
.g-partner .btn{margin-top:auto;width:100%}
.g-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:.86rem}
.g-dl dt{font-weight:700;color:var(--mute)}.g-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.g-disc{margin:0;font-size:.74rem;color:var(--mute);display:flex;gap:6px;align-items:flex-start}
.g-disc svg{width:14px;height:14px;flex:none;margin-top:1px}

/* ---------- News Intelligence */
.g-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.g-tier{display:inline-flex;align-items:center;gap:6px;font:700 .68rem/1 var(--mono,monospace);letter-spacing:.04em;padding:8px 11px;border-radius:999px;border:1.5px solid currentColor;background:var(--card);text-decoration:none;cursor:pointer}
.g-tier b{background:currentColor;border-radius:99px;padding:2px 7px}
.g-tier b{color:var(--card)}
.g-tier[aria-pressed="true"]{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 25%,transparent)}
.g-tier--up{color:var(--up)}.g-tier--sun{color:#C2560F}.g-tier--flat{color:var(--ink-2)}.g-tier--mute{color:var(--mute)}.g-tier--sky{color:#2B6CC4}.g-tier--dn{color:var(--dn)}
.g-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.g-tierbox{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px;min-width:0;scroll-margin-top:90px}
.g-tierbox header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.g-tierdef{margin:8px 0 10px}
.g-news{list-style:none;margin:0;padding:0;display:grid;gap:0}
.g-news li{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--line)}
.g-news li>a{font-weight:700;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.g-news li>a:hover{text-decoration:underline}
.g-why{color:var(--mute);display:flex;gap:4px;align-items:flex-start}.g-why svg{width:13px;height:13px;flex:none;margin-top:2px}
.g-mood{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;background:var(--card-2);margin-bottom:8px;font-size:.84rem}
.g-mood>b{font:700 1.6rem var(--display,inherit);color:var(--orange,#FF6B2C)}

/* ---------- newsletter */
.nl{display:grid;gap:10px;margin-top:6px}
.nl__row{display:flex;gap:8px}
.nl__row input{flex:1;min-width:0;height:50px;border-radius:999px;border:1.5px solid var(--line-2);background:var(--card);color:var(--ink);padding:0 18px;font:600 .95rem var(--font,inherit)}
.nl__row input:focus{outline:0;border-color:var(--orange,#FF6B2C);box-shadow:0 0 0 4px rgba(255,107,44,.15)}
.nl__row .btn{flex:none}
.nl__consent{display:flex;gap:8px;align-items:flex-start;font-size:.76rem;color:var(--mute);line-height:1.45;cursor:pointer}
.nl__consent input{margin-top:2px;width:16px;height:16px;flex:none;accent-color:var(--orange,#FF6B2C)}
.nl__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl__msg{margin:0;font-size:.85rem;font-weight:600;min-height:0}
.nl__msg:empty{display:none}
.nl__msg.is-ok{color:var(--up)}.nl__msg.is-err{color:var(--dn)}
.g-fnl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:18px;align-items:center;padding:20px;border-radius:24px;background:var(--card);border:1px solid var(--line);margin-bottom:36px}
.pop .ftr__grid{grid-template-columns:1.3fr repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.pop .ftr__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.pop .ftr__grid{grid-template-columns:1fr 1fr}.g-fnl{grid-template-columns:1fr}}

/* ---------- home funnel */
.g-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0 0}
.g-fine{margin:12px 0 0;font-size:.82rem;color:var(--mute)}
.g-fine .link-arrow{font-size:.82rem;margin-left:4px}
.g-demo-tag{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:6;font:700 .58rem/1 var(--mono,monospace);letter-spacing:.06em;padding:5px 9px;border-radius:999px;background:var(--ink);color:var(--yellow,#FFC93C);white-space:nowrap}
.phone__scr{position:relative}
.g-steps4{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:none}
.g-step{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:24px;background:var(--card);border:1px solid var(--line);min-width:0}
.g-step:nth-child(1){background:var(--butter,#FFF3C9);border:0}.g-step:nth-child(2){background:var(--peach,#FFE3D3);border:0}.g-step:nth-child(3){background:var(--camel-bg,#F6EBDD);border:0}.g-step:nth-child(4){background:#fff}
.g-step__n{position:absolute;top:14px;right:16px;font:800 2.2rem/1 var(--display,inherit);color:rgba(27,20,16,.12)}
.g-step .ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--ink);color:var(--yellow,#FFC93C)}
.g-step .ico svg{width:22px;height:22px}
.g-step h3{margin:6px 0 0;font-size:1.3rem}
.g-step p{margin:0;font-size:.9rem;color:var(--ink-2);flex:1}
.g-step .link-arrow{font-size:.86rem;margin-top:6px}
.g-step .link-arrow svg{width:16px;height:16px}
.g-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.g-proof .g-card{display:flex;flex-direction:column;gap:8px}
.g-proof h3{margin:6px 0 0;font-size:1.2rem}
.g-proof .link-arrow{margin-top:auto;font-size:.86rem}.g-proof .link-arrow svg{width:16px;height:16px}
.g-proof .spark{width:100%;height:60px;display:block}
.g-big{margin:0;font:700 clamp(1.5rem,2.6vw,2rem)/1.1 var(--display,inherit);letter-spacing:-.03em}
.g-big small{display:block;font:600 .8rem/1.4 var(--font,inherit);letter-spacing:0;color:var(--mute);margin-top:4px}
.g-cov{list-style:none;padding:0;margin:4px 0;display:grid;gap:8px}
.g-cov li{display:grid;grid-template-columns:auto auto;justify-content:start;gap:2px 10px;align-items:baseline;padding:10px 12px;border-radius:14px;background:var(--card-2)}
.g-cov li span{font-weight:700;font-size:.86rem}.g-cov li b{font:700 1.2rem var(--display,inherit);color:var(--orange,#FF6B2C)}
.g-cov li small{grid-column:1/-1;font-size:.74rem;color:var(--mute)}
.g-life{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 18px;margin:0 auto 18px;max-width:900px;border-radius:20px;background:var(--ink);color:#fff}
.g-life p{margin:0;flex:1;min-width:200px;font-size:.92rem}.g-life .g-tag{background:var(--yellow,#FFC93C);color:var(--ink)}
.g-life .btn{--bg:var(--yellow,#FFC93C);--fg:var(--ink);background:var(--yellow,#FFC93C);color:var(--ink)}
.g-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:1040px;margin:0 auto}
.g-plan{position:relative;display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:26px;background:var(--card);border:1.5px solid var(--line);min-width:0}
.g-plan--hot{border-color:var(--orange,#FF6B2C);box-shadow:var(--glow,0 18px 46px -14px rgba(255,107,44,.5))}
.g-plan__tag{position:absolute;top:-12px;left:22px;font:700 .66rem/1 var(--mono,monospace);text-transform:uppercase;letter-spacing:.06em;padding:6px 10px;border-radius:999px;background:var(--grad,#FF6B2C);color:var(--ink)}
.g-plan h3{margin:0;font-size:1.3rem}
.g-plan__price{margin:4px 0 0;font:700 2rem/1.1 var(--display,inherit);letter-spacing:-.04em}
.g-plan__price small{font:600 .82rem var(--font,inherit);letter-spacing:0;color:var(--mute)}
.g-plan__yr{margin:0}
.g-plan ul{list-style:none;padding:0;margin:10px 0 14px;display:grid;gap:7px;flex:1}
.g-plan li{display:flex;gap:8px;font-size:.88rem}.g-plan li svg{width:17px;height:17px;flex:none;color:var(--up);margin-top:2px}
.g-honest{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
.g-honest>div{padding:20px;border-radius:22px;background:var(--card);border:1px solid var(--line);display:grid;gap:6px;align-content:start}
.g-honest svg{width:26px;height:26px;color:var(--red,#FF2E3A)}
.g-honest p{margin:0;font-size:.86rem;color:var(--ink-2)}
#academy .g-card .nl{margin-top:14px}

/* ---------- invite (app) */
.g-copy{display:flex;gap:8px}
.g-copy input{flex:1;min-width:0;height:42px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--card-2);color:var(--ink);padding:0 12px;font:600 .86rem var(--mono,monospace)}
.g-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.g-stats>div{padding:12px;border-radius:16px;background:var(--card-2);display:grid;gap:2px}
.g-stats b{font:700 1.6rem var(--display,inherit)}.g-stats small{font-size:.74rem;color:var(--mute)}

/* =====================================================================
   App shell: grouped sidebar, DEMO pill, tab bar, More sheet
   ===================================================================== */
.side__nav--g{gap:1px}
.side__h{margin:14px 12px 4px;font:700 .64rem/1 var(--mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.side__nav--g a{padding:8px 12px}
.side__more{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.side__more summary{cursor:pointer;padding:8px 12px;font-size:.82rem;font-weight:700;color:var(--mute);list-style:none}
.side__more summary::-webkit-details-marker{display:none}
.side__more summary::after{content:" ▾"}.side__more[open] summary::after{content:" ▴"}
.demo-pill{display:inline-flex;align-items:center;gap:6px;flex:none;height:32px;padding:0 12px;border-radius:999px;background:var(--ink);color:#fff;font:700 .68rem/1 var(--mono,monospace);letter-spacing:.04em;white-space:nowrap;cursor:help}
.demo-pill b{color:var(--yellow,#FFC93C);font-weight:800}
.demo-pill i{width:8px;height:8px;border-radius:50%;background:var(--yellow,#FFC93C);box-shadow:0 0 0 3px rgba(255,201,60,.3);animation:dkpulse 2s ease-in-out infinite}
@keyframes dkpulse{50%{box-shadow:0 0 0 6px rgba(255,201,60,0)}}
@media (prefers-reduced-motion:reduce){.demo-pill i{animation:none}}
.appfoot b{color:var(--ink)}
.sheet__top,.sheet__h,.sheet__foot{display:none}
@media (max-width:980px){
  .app .topbar{position:fixed;left:0;right:0;top:0;height:calc(60px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));gap:8px}
  .app .main{padding-top:calc(60px + env(safe-area-inset-top))}
  .app .topbar__act{gap:6px}
  .app .iconbtn,.app .avatar{width:38px;height:38px;border-radius:12px}
  .demo-pill{height:28px;padding:0 9px;font-size:.6rem;gap:5px}
  .demo-pill__mode{display:none}
  /* Search collapses to an icon and expands while typing (pure CSS). */
  .app .topbar .search{flex:0 0 38px;width:38px;height:38px;padding:0;justify-content:center;margin-left:auto}
  .app .topbar .search input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
  .app .topbar .search:focus-within{position:absolute;left:12px;right:12px;top:calc(11px + env(safe-area-inset-top));width:auto;flex:none;z-index:5;padding:0 14px;justify-content:flex-start;background:var(--card)}
  .app .topbar .search:focus-within input{position:static;opacity:1;cursor:text}
  .app .topbar__act{margin-left:0}
  .app .view{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .tabbar--app a[data-nav="general"] svg{background:var(--grad,#FF6B2C);color:var(--ink);border-radius:12px;padding:5px;width:34px;height:34px;margin-top:-6px;box-shadow:0 8px 20px rgba(255,107,44,.35)}
  .tabbar--app a[aria-current="page"]{color:var(--ink)}
  .tabbar--app a[aria-current="page"] svg{color:var(--orange,#FF6B2C)}
  .sheet__box{max-height:86dvh;overflow-y:auto;overscroll-behavior:contain}
  .sheet__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
  .sheet__close{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--card-2);color:var(--ink);display:grid;place-items:center;cursor:pointer}
  .sheet__close svg{width:18px;height:18px}
  .sheet__h{display:block;margin:14px 2px 6px;font:700 .62rem/1 var(--mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
  .sheet__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sheet__grid a{padding:12px 4px;font-size:.72rem}
  .sheet__foot{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
  .sheet__foot .btn--lime{width:100%}
}
@media (max-width:360px){.demo-pill span{display:none}}
html.is-standalone .app .topbar{-webkit-user-select:none;user-select:none}

/* =====================================================================
   Public site on phones: no horizontal scroll at 360px, safe areas
   ===================================================================== */
.pop body{overflow-x:clip}
.tabbar{padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}
@media (max-width:980px){
  .g-partners,.g-proof,.g-honest{grid-template-columns:1fr 1fr}
  .g-steps4{grid-template-columns:1fr 1fr}
  .g-tiers{grid-template-columns:1fr}
}
@media (max-width:760px){
  .g-two,.g-partners,.g-proof,.g-plans,.g-honest,.g-steps4{grid-template-columns:1fr}
  .g-ctas .btn{width:100%}
  .g-plan--hot{order:-1}
  .nl__row{flex-direction:column}.nl__row .btn{width:100%}
  .g-copy{flex-direction:column}
  .g-stats b{font-size:1.3rem}
  .g-band .btn{width:100%}
  .g-step,.g-plan,.g-partner{padding:18px}
}

/* =====================================================================
   Install prompt (banner + iOS instructions sheet)
   ===================================================================== */
.inst-banner{position:fixed;z-index:88;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:min(380px,calc(100vw - 32px));display:flex;gap:10px;align-items:center;padding:12px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:0 24px 50px -20px rgba(120,70,0,.5);animation:up .3s var(--ease,ease)}
.inst-banner img{border-radius:12px;flex:none}
.inst-banner span{flex:1;min-width:0;display:grid;font-size:.84rem;line-height:1.3}
.inst-banner small{color:var(--mute);font-size:.74rem}
.inst-banner__x{border:0;background:none;font-size:1.4rem;line-height:1;color:var(--mute);cursor:pointer;padding:4px}
@media (max-width:980px){.inst-banner{left:12px;right:12px;width:auto;bottom:calc(80px + env(safe-area-inset-bottom))}}
.inst-sheet{position:fixed;inset:0;z-index:96;background:rgba(27,20,16,.45);display:flex;align-items:flex-end;justify-content:center}
.inst-sheet__box{width:min(520px,100%);background:var(--card);border-radius:28px 28px 0 0;padding:10px 20px calc(22px + env(safe-area-inset-bottom));animation:up .28s var(--ease,ease)}
.inst-sheet__grip{width:44px;height:5px;border-radius:9px;background:var(--line-2);margin:0 auto 14px}
.inst-sheet h2{font:600 1.25rem/1.2 var(--display,inherit);letter-spacing:-.03em;margin:0 0 12px}
.inst-sheet ol{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:10px}
.inst-sheet li{display:flex;gap:12px;align-items:center;font-size:.94rem}
.inst-ico{width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--butter,#FFF3C9);color:#2B6CC4}
.inst-sheet__fine{font-size:.78rem;color:var(--mute);margin:0 0 14px}
@keyframes up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
