*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg-page);color:var(--fg-1);font:400 15px/1.45 var(--font-sans);-webkit-font-smoothing:antialiased}
a{color:var(--fg-1);text-decoration:none}a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3,p{margin:0}
img{display:block;max-width:100%}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.icon{display:inline-block;flex:none;width:18px;height:18px;fill:currentColor}
.icon--20{width:20px;height:20px}.icon--22{width:22px;height:22px}

.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg-page) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-1)}
.site-header__inner{max-width:var(--content-max);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:8px;font:600 16px/1 var(--font-sans);letter-spacing:-0.01em;color:var(--fg-1)}
.brand__mark{display:flex;color:var(--accent)}
.site-nav{display:flex;flex-wrap:wrap;gap:20px;margin-left:auto;font-size:14px}
.site-nav__link{color:var(--fg-2)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:var(--radius-full);font:500 13px/1 var(--font-sans);letter-spacing:-0.01em;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-spring)}
.btn:hover{transform:rotate(var(--tilt))}
.btn:active{transform:scale(var(--press-scale))}
.btn--sm{height:28px;padding:0 10px}
.btn--lg{height:40px;padding:0 16px;gap:8px;font-size:14px}
.btn--primary{background:var(--bg-inverse);color:var(--fg-inverse)}
.btn--primary:hover{color:var(--fg-inverse)}
.btn--secondary{background:var(--bg-page);color:var(--fg-1);box-shadow:var(--ring-1),var(--shadow-1)}
.btn--secondary:hover{background:var(--bg-hover);color:var(--fg-1)}
.btn--ghost{background:transparent;color:var(--fg-1)}
.btn--ghost:hover{background:var(--bg-hover)}
.btn--icon{width:28px;padding:0}
.btn--gradient{background-image:var(--gradient-brand);background-size:250% 100%;color:#FFFFFF;animation:gradient-shift 10s ease-in-out infinite}
.theme-toggle .icon--sun,[data-theme="dark"] .theme-toggle .icon--moon{display:none}
[data-theme="dark"] .theme-toggle .icon--sun{display:inline-block}

.page{max-width:var(--content-max);margin:0 auto;padding:0 24px}
.hero{padding:96px 0 72px;display:grid;gap:28px;max-width:820px}
.hero__eyebrow{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-2)}
.hero__dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#8DB07A,#6FB3AC,#D08A6C)}
.hero__title{font:600 clamp(44px,7vw,72px)/1.02 var(--font-sans);letter-spacing:-0.045em;text-wrap:balance}
.hero__lede{font-size:18px;line-height:1.55;color:var(--fg-2);max-width:560px;text-wrap:pretty}
.gradient-text{background-image:var(--gradient-brand);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:gradient-shift 10s ease-in-out infinite}
.newsletter-form{display:flex;flex-wrap:wrap;gap:8px;max-width:460px}
.field__input{flex:1 1 220px;min-width:0;height:40px;padding:0 14px;border:0;border-radius:var(--radius-full);background:var(--bg-page);color:var(--fg-1);font:400 14px/1 var(--font-sans);box-shadow:inset 0 0 0 1px var(--border-2)}
.field__input::placeholder{color:var(--fg-3)}
.field__input:focus{outline:none;box-shadow:inset 0 0 0 1px var(--fg-1),0 0 0 4px var(--accent-subtle)}
.newsletter-form__note{font-size:13px;color:var(--fg-3)}

.pull-quote-wrap{padding:0 0 72px}
.pull-quote{margin:0;display:flex;flex-direction:column;gap:16px}
.pull-quote__text{margin:0;max-width:620px}
.pull-quote__mark{color:var(--accent)}
.pull-quote__cite{display:flex;gap:6px;font-size:14px;color:var(--fg-2)}
.pull-quote__cite strong{font-weight:600;color:var(--fg-1)}

.section{padding:56px 0;display:grid;gap:24px;scroll-margin-top:64px}
.section-header{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border-1)}
.section-header__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-blob);background:var(--accent-subtle);color:var(--accent)}
.section-header__text{display:flex;flex-direction:column;gap:4px}
.section-header__title{font:600 20px/1.2 var(--font-sans);letter-spacing:-0.03em}
.section-header__desc{font-size:14px;color:var(--fg-3);text-wrap:pretty}

.filter-bar{display:flex;flex-wrap:wrap;gap:8px}
.app-directory{display:grid;gap:36px}
.app-group{display:grid;gap:10px}
.app-group[hidden]{display:none}
.app-group__title{display:flex;align-items:baseline;gap:8px;font:600 20px/1.2 var(--font-sans);letter-spacing:-0.03em}
.app-group__count{font-size:13px;font-weight:400;letter-spacing:0;color:var(--fg-3)}
.app-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px 12px}
.app-card{position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:var(--radius-lg);color:var(--fg-1);transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-spring)}
.app-card:hover{background:var(--bg-page);box-shadow:var(--ring-1),var(--shadow-1);transform:rotate(var(--tilt)) translateY(-2px);color:var(--fg-1)}
.app-card:active{transform:scale(.96) rotate(-1deg)}
.app-card__logo{flex:none;width:36px;height:36px;border-radius:var(--radius-blob);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform var(--dur-slow) var(--ease-spring)}
.app-card:hover .app-card__logo{transform:rotate(-14deg) scale(1.08)}
.app-card__logo img{width:18px;height:18px;border-radius:3px}
.app-card__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.app-card__name{font:600 15px/1.3 var(--font-sans);letter-spacing:-0.01em}
.app-card__desc{font-size:14px;color:var(--fg-3);text-wrap:pretty}
.app-card__ext{position:absolute;top:12px;right:12px;font-size:13px;line-height:1;color:var(--fg-3);opacity:0;transform:translate(-3px,3px);transition:all var(--dur-base) var(--ease-out)}
.app-card:hover .app-card__ext{opacity:1;transform:none}

.idea-list{list-style:none;margin:0;padding:0}
.idea-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--border-1)}
.idea-row__num{font:500 13px/1 var(--font-sans);color:var(--fg-3)}
.idea-row__body{display:grid;gap:4px;min-width:0}
.idea-row__title{font:600 17px/1.3 var(--font-sans);letter-spacing:-0.01em}
.idea-row__desc{font-size:14px;color:var(--fg-2);text-wrap:pretty}
.status-badge{display:inline-flex;align-items:center;height:18px;padding:0 8px;border-radius:var(--radius-full);font:500 12px/1 var(--font-sans);white-space:nowrap}
.status-badge--tested{background:var(--success-subtle);color:var(--success)}
.status-badge--testing{background:var(--warning-subtle);color:var(--warning)}
.status-badge--dream{background:var(--accent-subtle);color:var(--signal-700)}

.about{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;align-items:start}
.about__portrait{aspect-ratio:4/5;width:100%;max-width:180px;padding:10px;border-radius:var(--radius-xl);background-color:var(--mesh-base);background-image:radial-gradient(at 15% 15%,#D3E6CC 0,transparent 55%),radial-gradient(at 85% 35%,#CDE7E4 0,transparent 55%),radial-gradient(at 40% 95%,#F3D6C6 0,transparent 60%);box-shadow:var(--ring-1);overflow:hidden}
.about__portrait img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.about__body{display:grid;gap:18px;max-width:520px}
.about__lede{font:600 28px/1.2 var(--font-sans);letter-spacing:-0.03em;text-wrap:pretty}
.about__text{font-size:16px;line-height:1.55;color:var(--fg-2);text-wrap:pretty}
.button-row{display:flex;flex-wrap:wrap;gap:8px}

.coaching{padding:56px 0 96px}
.coaching-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:40px;border-radius:var(--radius-xl);background-color:var(--mesh-base);background-image:var(--gradient-mesh)}
.coaching-cta__copy{display:grid;gap:10px;min-width:0}
.coaching-cta__eyebrow{font:500 12px/1 var(--font-sans);color:var(--fg-2)}
.coaching-cta__title{font:600 clamp(28px,4vw,40px)/1.15 var(--font-sans);letter-spacing:-0.03em;text-wrap:balance}
.coaching-cta__text{font-size:16px;line-height:1.55;color:var(--fg-2);max-width:520px;text-wrap:pretty}

.site-footer{border-top:1px solid var(--border-1)}
.site-footer__inner{max-width:var(--content-max);margin:0 auto;padding:24px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:13px;color:var(--fg-3)}

@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}


/* Collapsible sections (App Directory, Biohacking Ideas) */
.dir-panel{display:grid;gap:24px}
.dir-panel[hidden]{display:none}
.dir-panel:not([hidden]){animation:dir-open var(--dur-slow) var(--ease-out)}
.section.is-open [data-collapsed]{display:none}
.dir-close{justify-self:start}
@keyframes dir-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.lg{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-blob)}
.lg img{width:15px;height:15px;border-radius:3px}

/* App Directory: goal tiles */
.tiles{display:grid;gap:16px}
.tiles__q{font:600 clamp(26px,4vw,36px)/1.1 var(--font-sans);letter-spacing:-0.04em}
.tiles__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tile{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:150px;padding:18px;border:0;border-radius:var(--radius-xl);text-align:left;color:#1D1D1F;cursor:pointer;font-family:var(--font-sans);transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-fast) var(--ease-out)}
.tile:hover{transform:rotate(var(--tilt)) translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.tile:active{transform:scale(var(--press-scale))}
.tile__logos{display:flex;padding-left:6px}
.tile__logos .lg{margin-left:-6px;background:rgba(255,255,255,.9)!important;box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.tile__goal{margin-top:auto;font:600 24px/1.1 var(--font-sans);letter-spacing:-0.035em}
.tile__meta{font-size:13px;color:#4A4A47}
.tile--sleep{background:radial-gradient(at 80% 10%,#E7DEF7 0,transparent 60%),#D6E8F4}
.tile--focus{background:radial-gradient(at 20% 90%,#FFE0D4 0,transparent 60%),#FBEDB8}
.tile--calm{background:radial-gradient(at 85% 85%,#CDE7E4 0,transparent 60%),#DCE8CF}
.tile--fuel{background:radial-gradient(at 15% 15%,#FBEDB8 0,transparent 60%),#F3D6C6}
.tile--recovery{background:radial-gradient(at 80% 20%,#D6E8F4 0,transparent 60%),#CDE7E4}
.tile--all{background:var(--bg-inverse);color:var(--fg-inverse)}
.tile--all .tile__meta{color:color-mix(in srgb,var(--fg-inverse) 70%,transparent)}
.tile__all-num{font:600 44px/1 var(--font-sans);letter-spacing:-0.05em;background-image:var(--gradient-brand);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-shift 10s ease-in-out infinite}
@media (max-width:640px){.tiles__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-height:132px;padding:14px}.tile__goal{font-size:20px}}

/* Biohacking Ideas: ticker */
.ticker{overflow:hidden;border-radius:var(--radius-xl);background:var(--bg-inverse);color:var(--fg-inverse)}
.ticker__rows{display:grid;gap:8px;padding:28px 0 20px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker__row{overflow:hidden}
.ticker__track{display:flex;width:max-content;align-items:center;gap:40px;animation:tick 70s linear infinite}
.ticker__row--rev .ticker__track{animation-direction:reverse;animation-duration:50s;gap:22px}
.ticker:hover .ticker__track{animation-play-state:paused}
.tick__item{display:inline-flex;align-items:center;gap:14px;font:600 clamp(26px,4vw,44px)/1 var(--font-sans);letter-spacing:-0.045em;white-space:nowrap}
.tick__num{font:500 13px/1 var(--font-sans);letter-spacing:0;color:color-mix(in srgb,var(--fg-inverse) 45%,transparent)}
.tick__item .status-badge{letter-spacing:0}
.tick__goal{display:inline-block;flex:none;height:clamp(34px,4.6vw,52px);aspect-ratio:var(--ar);background-image:var(--gradient-brand);background-size:250% 100%;animation:gradient-shift 10s ease-in-out infinite;-webkit-mask:var(--t) center/100% 100% no-repeat;mask:var(--t) center/100% 100% no-repeat}
.tick__sep{color:color-mix(in srgb,var(--fg-inverse) 35%,transparent);font-size:18px}
.ticker__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px 26px;border-top:1px solid color-mix(in srgb,var(--fg-inverse) 14%,transparent)}
.ticker__line{font-size:15px;color:color-mix(in srgb,var(--fg-inverse) 72%,transparent)}
.ticker__line strong{color:var(--fg-inverse);font-weight:600}
.ticker__btn{background:var(--bg-page);color:var(--fg-1)}
.ticker__btn:hover{color:var(--fg-1)}
@keyframes tick{to{transform:translateX(-50%)}}
@media (max-width:640px){.ticker__foot{padding:18px 20px 22px}.ticker__btn{width:100%}}
@media (prefers-reduced-motion:reduce){
  .ticker__track{animation:none;flex-wrap:wrap;width:auto;padding:0 24px;row-gap:12px}
  .ticker__track [data-dup]{display:none}
  .dir-panel:not([hidden]){animation:none}
}

/* Coaching box in dark mode: deeper mesh (not black), white headline, light body text */
[data-theme="dark"] .coaching-cta{background-color:#2B4335;background-image:radial-gradient(at 12% 20%,#3B5E45 0,transparent 55%),radial-gradient(at 88% 18%,#2A5653 0,transparent 55%),radial-gradient(at 70% 92%,#6A4334 0,transparent 60%),radial-gradient(at 20% 95%,#30524A 0,transparent 50%)}
[data-theme="dark"] .coaching-cta__title{color:#FFFFFF}
[data-theme="dark"] .coaching-cta__eyebrow,[data-theme="dark"] .coaching-cta__text{color:#D9E2D5}
[data-theme="dark"] .coaching-cta .gradient-text{filter:brightness(1.45) saturate(1.1)}
@media (max-width:640px){.coaching-cta{grid-template-columns:minmax(0,1fr);padding:28px 24px}.coaching-cta .btn{justify-self:start}}

/* Signup form: honeypot, captcha, status */
.hp-field{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.newsletter-form{position:relative}
.newsletter-form__captcha{flex-basis:100%}

.newsletter-form.is-busy .btn{opacity:.6;pointer-events:none}
.newsletter-form__note.is-error{color:#B8401F}
[data-theme="dark"] .newsletter-form__note.is-error{color:#F0A58A}
.newsletter-form__note.is-ok{color:var(--accent);font-weight:500}

/* Phones: header fits the screen (section links hidden; logo returns home) */
@media (max-width:600px){
  .site-header__inner{gap:10px;padding:10px 16px}
  .site-nav{display:none}
  .theme-toggle{margin-left:auto}
  .brand{font-size:15px}
  .page{padding:0 16px}
}

/* Spam check: hidden until Cloudflare actually asks for a click */
.ts-slot{flex-basis:100%;max-height:0;opacity:0;overflow:hidden;transform:translateY(-4px);transition:max-height var(--dur-slow) var(--ease-out),opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.ts-slot.is-visible{max-height:96px;opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ts-slot{transition:none}}

/* Hero: text left, photo top right */
.hero{max-width:none;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);column-gap:56px;align-items:start}
.hero__text{display:grid;gap:28px;min-width:0}
.hero__title{font-size:clamp(40px,5.6vw,66px)}
.hero__media{margin:8px 0 0;position:relative;aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:var(--mesh-base);box-shadow:0 24px 48px -24px rgba(29,29,31,.35)}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:46% 60%}
.hero__media::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
@media (max-width:860px){
  .hero{grid-template-columns:minmax(0,1fr);row-gap:28px}
  .hero__media{aspect-ratio:4/3;margin:0;border-radius:22px}
}

/* Mercurius lettering (rendered images of the licensed font; the font file is never served).
   Images are masks, so the page colors them and they follow light/dark mode. */
.mq__alt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mq{position:relative;display:block;width:100%;aspect-ratio:1365/348;
  --mt:url("../assets/img/type/quote-wide-text.png");--mm:url("../assets/img/type/quote-wide-marks.png")}
.mq__layer{position:absolute;inset:0;-webkit-mask:var(--mt) left top/100% 100% no-repeat;mask:var(--mt) left top/100% 100% no-repeat;background:var(--fg-1)}
.mq__marks{-webkit-mask-image:var(--mm);mask-image:var(--mm);background:var(--accent)}
@media (max-width:600px){
  .pull-quote__text{max-width:343px}
  .mq{aspect-ratio:1029/504;--mt:url("../assets/img/type/quote-narrow-text.png");--mm:url("../assets/img/type/quote-narrow-marks.png")}
}
.tick__goal--tested{--ar:270/156;--t:url("../assets/img/type/word-tested.png")}
.tick__goal--testing{--ar:306/156;--t:url("../assets/img/type/word-testing.png")}
.tick__goal--dream{--ar:303/156;--t:url("../assets/img/type/word-dream.png")}
/* Very old browsers without CSS masks: show the real text instead */
@supports not ((mask-image:none) or (-webkit-mask-image:none)){
  .mq{display:none}
  .mq__alt{position:static;width:auto;height:auto;clip:auto;white-space:normal;font:italic 400 40px/1.2 var(--font-serif)}
}
