:root{color-scheme: light;
  --color-surface:#FFFDFC;
  --color-surface-cream:#FEF7E9;
  --color-surface-ink:#2E2C33;
  --color-ink:#333333;
  --color-ink-muted:#5F5B66;
  --color-on-ink:#FFFDFC;
  --color-yellow:#FBD783;
  --color-peach:#FDAC90;
  --color-pink:#F47FAC;
  --color-lilac:#BE95E6;
  --color-accent-text:#6A3FB0;
  --color-focus:#6A3FB0;
  --color-border:#E8E1DA;
  --color-bubble-grey:#EFEBE8;
  --color-error:#B42318;
  --color-error-tint:#FDECEA;
  --color-success:#1F7A4D;
  --color-success-tint:#E4F4EA;
  --color-lilac-tint:#F4EEFB;
  --gradient-brand:linear-gradient(90deg,#FBD783 0%,#FDAC90 35%,#F47FAC 68%,#BE95E6 100%);
  --gradient-brand-diag:linear-gradient(135deg,#FBD783 0%,#FDAC90 35%,#F47FAC 68%,#BE95E6 100%);
  --font-sans:Figtree,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-hand:"Nothing You Could Do","Bradley Hand","Segoe Script",cursive;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:20px;--space-5:32px;--space-6:52px;--space-7:84px;--space-8:136px;
  --radius-sm:10px;--radius-md:20px;--radius-pill:999px;--radius-bubble:28px;
  --duration-fast:140ms;--duration-base:200ms;--duration-select:300ms;--duration-sheet:350ms;--duration-pop:400ms;
  --duration-bubble:450ms;--duration-narrative:900ms;--duration-draw:1200ms;--duration-dots:1200ms;--duration-blink:800ms;
  --duration-float:8s;--duration-drift:20s;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-in-out:cubic-bezier(0.65,0,0.35,1);
  --ease-bubble:cubic-bezier(.55,0,.1,1);
  --fs-display:clamp(44px,21.33px + 6.2963vw,112px);
  --fs-h1:clamp(40px,24px + 4.4444vw,88px);
  --fs-h2:clamp(30px,21.33px + 2.4074vw,56px);
  --fs-h3:clamp(22px,20px + 0.5556vw,28px);
  --fs-lead:clamp(19px,17.67px + 0.3704vw,23px);
  --fs-body:clamp(17px,16.67px + 0.0926vw,18px);
  --fs-small:15px;
  --fs-hand:clamp(22px,19.33px + 0.7407vw,30px);
  --maxw:1240px;
  --header-h:112px;}
/* Leap review site shell: shared header (copy + references), full-screen menu, footer.
   Tokens come from the design kit (:root is injected at build time above this line). */
/* Base reset the pages were written against (the artifact wrapper used to supply it). */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
@font-face{font-family:Figtree;src:url("/assets/fonts/Figtree-normal-latin.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:Figtree;src:url("/assets/fonts/Figtree-italic-latin.woff2") format("woff2");font-weight:300 900;font-style:italic;font-display:swap}
@font-face{font-family:"Nothing You Could Do";src:url("/assets/fonts/NothingYouCouldDo-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

/* ---- Shared header (copy and references pages use the kit's header look) ---- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--color-surface);border-bottom:1px solid var(--color-border);font-family:var(--font-sans)}
.site-header .wrap,.site-foot .wrap{max-width:var(--maxw);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.site-header .hdr-row{display:flex;align-items:center;gap:var(--space-3);padding-block:10px}
.site-header .hdr-logo{display:block;flex:0 0 auto;border-radius:var(--radius-sm)}
.site-header .hdr-logo svg{height:32px;width:auto;display:block}
.site-header .toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 14px 6px 8px;border-radius:var(--radius-pill);background:var(--color-surface);border:1.5px solid var(--color-ink);cursor:pointer;font:500 15px/1 var(--font-sans);color:var(--color-ink)}
.site-header .toggle-track{width:40px;height:24px;border-radius:var(--radius-pill);background:var(--color-bubble-grey);border:1.5px solid var(--color-ink);position:relative;flex:0 0 auto}
.site-header .toggle-track::after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:var(--color-ink);transition:transform var(--duration-fast) var(--ease-out)}
.site-header .toggle[aria-pressed="true"] .toggle-track{background:var(--gradient-brand)}
.site-header .toggle[aria-pressed="true"] .toggle-track::after{transform:translateX(16px)}
.site-header .subnav ul{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin;list-style:none;margin:0;padding:0 0 2px}
.site-header .subnav a{display:block;padding:11px 12px;min-height:44px;font-size:15px;font-weight:500;color:var(--color-ink);text-decoration:none;white-space:nowrap;border-radius:var(--radius-sm)}
@media (hover:hover) and (pointer:fine){.site-header .subnav a:hover{background-image:var(--gradient-brand);background-size:calc(100% - 24px) 3px;background-position:12px calc(100% - 6px);background-repeat:no-repeat}}
@media (min-width:600px){.site-header .hdr-logo svg{height:36px}}

/* ---- Menu button (sits before Reduce motion on every page) ---- */
.site-menu-btn{margin-left:auto;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 16px 6px 12px;border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-on-ink);border:1.5px solid var(--color-ink);cursor:pointer;font:600 15px/1 var(--font-sans)}
.site-menu-btn .mb-lines{position:relative;width:18px;height:10px;flex:0 0 auto}
.site-menu-btn .mb-lines::before,.site-menu-btn .mb-lines::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor}
.site-menu-btn .mb-lines::before{top:0}
.site-menu-btn .mb-lines::after{bottom:0;right:5px}
.site-menu-btn + .toggle{margin-left:0}
@media (hover:hover) and (pointer:fine){.site-menu-btn:hover{background:var(--color-surface-ink)}}
.site-menu-btn:focus-visible,.site-header .toggle:focus-visible,.site-menu a:focus-visible,.site-menu button:focus-visible,.site-foot a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
@media (max-width:420px){
  .site-menu-btn .mb-text,.hdr-row .toggle > span:not(.toggle-track){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .site-menu-btn{padding:6px 13px}
  .hdr-row .toggle{padding:6px 8px}
}

/* ---- Full-screen menu ---- */
.site-menu{position:fixed;inset:0;z-index:200;background:var(--color-surface);color:var(--color-ink);font-family:var(--font-sans);overflow-y:auto;overscroll-behavior:contain;
  clip-path:circle(0px at var(--mx,92%) var(--my,40px));transition:clip-path var(--duration-menu,450ms) var(--ease-out)}
.site-menu.is-open{clip-path:circle(150vmax at var(--mx,92%) var(--my,40px))}
.site-menu.is-closing{--duration-menu:260ms}
.sm-blob{position:absolute;right:-18%;bottom:-28%;width:min(820px,110vw);aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,var(--color-yellow) 0%,var(--color-peach) 30%,var(--color-pink) 58%,var(--color-lilac) 80%,transparent 100%);opacity:.45;filter:blur(50px)}
.sm-inner{position:relative;min-height:100%;display:flex;flex-direction:column;max-width:var(--maxw);margin:0 auto;padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(16px,env(safe-area-inset-left,0px))}
.sm-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-block:10px}
.sm-top svg{height:32px;width:auto;display:block}
.sm-close{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:6px 16px 6px 12px;border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);border:1.5px solid var(--color-ink);cursor:pointer;font:600 15px/1 var(--font-sans)}
.sm-close .x{position:relative;width:14px;height:14px}
.sm-close .x::before,.sm-close .x::after{content:"";position:absolute;top:6px;left:0;width:14px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.sm-close .x::after{transform:rotate(-45deg)}
.sm-nav{flex:1;display:flex;align-items:center;padding-block:var(--space-6)}
.sm-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(18px,3.4vw,40px);width:100%}
.sm-list li{opacity:0;transform:translateY(28px);transition:opacity 320ms var(--ease-out),transform 480ms var(--ease-out);transition-delay:calc(140ms + var(--i,0) * 60ms)}
.site-menu.is-open .sm-list li{opacity:1;transform:none}
.site-menu.is-closing .sm-list li{transition-delay:0ms;transition-duration:160ms}
.sm-link{display:inline-grid;gap:6px;color:var(--color-ink);text-decoration:none;border-radius:var(--radius-sm)}
.sm-title{position:relative;display:inline-block;font-weight:800;font-size:clamp(46px,9.2vw,124px);line-height:.95;letter-spacing:-0.035em;width:max-content;max-width:100%}
.sm-desc{font-size:clamp(16px,1.6vw,20px);color:var(--color-ink-muted);max-width:40ch}
.sm-sq{position:absolute;left:0;right:0;bottom:-0.12em;width:100%;height:.22em;overflow:visible;opacity:0}
.sm-link[aria-current="page"] .sm-sq{opacity:1}
@media (hover:hover) and (pointer:fine){.sm-link:hover .sm-sq{opacity:1}.sm-link:hover .sm-title{transform:translateX(6px)}.sm-title{transition:transform var(--duration-base) var(--ease-out)}}
.sm-foot{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);align-items:baseline;justify-content:space-between;padding-block:var(--space-5);border-top:1px solid var(--color-border);font-size:14px;color:var(--color-ink-muted)}
.sm-foot .hand{font-family:var(--font-hand);font-size:clamp(22px,2.4vw,30px);color:var(--color-ink);margin:0}
.sm-foot p{margin:0}
html.menu-open{overflow:hidden}

/* Reduced motion: a plain short fade, no reveal, no rise */
:root[data-motion="reduced"] .site-menu{clip-path:none;opacity:0;transition:opacity 150ms linear}
:root[data-motion="reduced"] .site-menu.is-open{opacity:1}
:root[data-motion="reduced"] .sm-list li{opacity:1;transform:none;transition:none}
@media (prefers-reduced-motion:reduce){.site-menu{clip-path:none;opacity:0;transition:opacity 150ms linear}.site-menu.is-open{opacity:1}.sm-list li{opacity:1;transform:none;transition:none}.sm-title,.site-header .toggle-track::after{transition:none}}

/* ---- Footer ---- */
.site-foot{border-top:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-sans);color:var(--color-ink-muted);font-size:14px}
.site-foot .sf-row{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);align-items:center;justify-content:space-between;padding-block:var(--space-5)}
.site-foot strong{color:var(--color-ink)}
.site-foot .sf-chip{display:inline-block;font-weight:500;padding:6px 12px;border-radius:var(--radius-pill);background:var(--color-surface-cream);border:1px solid var(--color-border);color:var(--color-ink)}
.site-foot a{color:var(--color-accent-text);font-weight:600;text-underline-offset:3px}
.site-foot .sf-note{flex-basis:100%;margin:0;font-size:13px}
