:root{--background:40 48% 96%;--foreground:30 16% 9%;--card:0 0% 100%;--card-foreground:30 16% 9%;--popover:0 0% 100%;--popover-foreground:30 16% 9%;--primary:32 51% 53%;--primary-foreground:30 16% 9%;--secondary:198 39% 95%;--secondary-foreground:198 39% 20%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--border:40 28% 86%;--input:40 28% 86%;--ring:32 51% 53%;--success:148 33% 42%;--success-foreground:0 0% 100%;--muted-foreground:30 10% 40%;--amber:32 51% 53%;--amber-deep:32 61% 30%;--cyan:198 39% 47%;--bg:#faf7f0;--card-2:#f5f0e4;--card-border:#ebe5d6;--ink:#1a1713;--ink-dim:#4a4238;--muted:#6b6257;--line:#e8e2d2;--amber-glow:#c690452e;--amber-soft:#c6904514;--cyan-soft:#4a8fa81a;--shadow-card:0 1px 2px #1a17130a, 0 12px 30px #1a17130f;--radius:14px;--radius-lg:20px;--bg-contrast:#0f0e0c;--photo-a-start:#e8dcc4;--photo-a-mid:#c8b89a;--photo-a-end:#8b7355;--photo-b-start:#c7d1c8;--photo-b-mid:#8fa596;--photo-b-end:#3e5846;--photo-c-start:#f5c8a8;--photo-c-mid:#e8a072;--photo-c-end:#b65e2e;--pill-bg:#fffffff2;--how-glow:#c6904514;--how-line:var(--card-border);--how-copy:var(--ink-dim);--marketing-inverse-bg:var(--card-2);--marketing-inverse-fg:var(--ink);--marketing-inverse-muted:var(--ink-dim);--marketing-inverse-line:var(--card-border);--foot-line:var(--card-border);--foot-muted:var(--ink-dim);--line-soft:#e8e2d2;--surface-inverse:#f5f2ec;--surface-inverse-fg:#1a1713;--surface-inverse-muted:#1a1713bd;--surface-inverse-line:#1a17131f;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--marketing-shell-max:1400px;--marketing-shell-x:1rem}:root[data-theme=dark]{--background:30 10% 5%;--foreground:40 29% 94%;--card:35 15% 11%;--card-foreground:40 29% 94%;--popover:35 15% 11%;--popover-foreground:40 29% 94%;--primary:36 66% 67%;--primary-foreground:30 10% 5%;--secondary:194 63% 15%;--secondary-foreground:194 63% 95%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--border:40 29% 94% / .12;--input:40 29% 94% / .12;--ring:36 66% 67%;--success:148 33% 65%;--success-foreground:30 10% 5%;--muted-foreground:40 15% 65%;--amber:36 66% 67%;--amber-deep:35 58% 56%;--cyan:198 63% 69%;--bg:#0f0e0c;--card-2:#2a2720;--card-border:#f5f2ec24;--ink:#f5f2ec;--ink-dim:#f5f2ecb8;--muted:#f5f2ec73;--line:#f5f2ec1f;--line-soft:#f5f2ec1f;--amber-glow:#e5b67033;--amber-soft:#e5b6701f;--cyan-soft:#7fc9e31f;--shadow-card:0 1px 2px #0000004d, 0 12px 30px #00000059;--bg-contrast:#0f0e0c;--pill-bg:#2a2720f2;--how-glow:#e5b67038;--how-line:#f5f2ec1f;--how-copy:#f5f2ecd6;--foot-line:#f5f2ec1f;--foot-muted:#f5f2ecb8;--surface-inverse:#2a2720;--surface-inverse-fg:#f5f2ec;--surface-inverse-muted:#f5f2ecb8;--surface-inverse-line:#f5f2ec1f}@media (min-width:768px){:root{--marketing-shell-x:1.5rem}}@media (min-width:1024px){:root{--marketing-shell-x:2rem}}.marketing-container,.midnight-content-shell{width:100%;max-width:var(--marketing-shell-max);padding-inline:var(--marketing-shell-x);box-sizing:border-box;margin-inline:auto}.midnight-content-shell>section,.midnight-content-shell>footer.foot{width:100%}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;width:100%;max-width:100vw}body{font-family:var(--font-outfit,var(--font-display));background-color:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}.page{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.hero{text-align:center;padding:8rem 0 6rem;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle, var(--amber-glow) 0%, transparent 70%);opacity:.4;pointer-events:none;width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-content{z-index:1;max-width:800px;margin:0 auto;position:relative}.hero-title{font-family:var(--font-outfit,var(--font-display));letter-spacing:-.02em;color:var(--ink);margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;line-height:1.1}.hero-subtitle{font-family:var(--font-outfit,var(--font-display));color:var(--ink-dim);max-width:600px;margin:0 auto 2.5rem;font-size:1.125rem;line-height:1.7}.hero-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn{font-family:var(--font-mono,var(--font-display));cursor:pointer;letter-spacing:.02em;border:none;border-radius:.5rem;padding:.875rem 2rem;font-size:.875rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary{background:hsl(var(--amber));color:var(--bg-contrast);box-shadow:0 4px 14px color-mix(in srgb, hsl(var(--amber)) 30%, transparent)}.btn-primary:hover{background:hsl(var(--amber-deep));box-shadow:0 6px 20px color-mix(in srgb, hsl(var(--amber)) 40%, transparent);transform:translateY(-2px)}.btn-secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.btn-secondary:hover{background:var(--card-2);border-color:var(--ink-dim);transform:translateY(-2px)}.btn-large{padding:1rem 2.5rem;font-size:1rem}.section-title{font-family:var(--font-outfit,var(--font-display));text-align:center;letter-spacing:-.01em;margin-bottom:3rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600}.trainers{background:var(--card-2);padding:5rem 0}.trainer-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.trainer-card{background:hsl(var(--card));border:1px solid var(--card-border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-card);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.trainer-card:hover{border-color:color-mix(in srgb, hsl(var(--amber)) 30%, transparent);box-shadow:0 8px 30px #0006, 0 0 0 1px color-mix(in srgb, hsl(var(--amber)) 10%, transparent);transform:translateY(-4px)}.trainer-avatar{background:linear-gradient(135deg, hsl(var(--amber)) 0%, hsl(var(--amber-deep)) 100%);width:80px;height:80px;color:var(--bg-contrast);font-family:var(--font-mono,var(--font-display));border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.25rem;font-size:1.5rem;font-weight:600;display:flex}.trainer-name{font-family:var(--font-outfit,var(--font-display));margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.trainer-specialty{font-family:var(--font-outfit,var(--font-display));color:var(--muted-foreground);margin-bottom:1.25rem;font-size:.875rem}.trainer-meta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.trainer-price{font-family:var(--font-mono,var(--font-display));color:hsl(var(--amber));font-size:1rem;font-weight:600}.trainer-rating{font-family:var(--font-mono,var(--font-display));color:var(--ink-dim);font-size:.875rem}.how-it-works{padding:5rem 0}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.step-card{text-align:center;padding:2rem}.step-number{font-family:var(--font-mono,var(--font-display));color:hsl(var(--amber));opacity:.3;margin-bottom:1rem;font-size:3rem;font-weight:700;display:block}.step-title{font-family:var(--font-outfit,var(--font-display));margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.step-description{font-family:var(--font-outfit,var(--font-display));color:var(--ink-dim);font-size:.9375rem;line-height:1.6}.testimonials{background:var(--card-2);padding:5rem 0}.testimonial-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.testimonial-card{background:hsl(var(--card));border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:2rem}.testimonial-quote{font-family:var(--font-outfit,var(--font-display));color:var(--ink);margin-bottom:1.25rem;font-size:1.0625rem;font-style:italic;line-height:1.7}.testimonial-author{font-family:var(--font-mono,var(--font-display));color:var(--muted-foreground);font-size:.875rem;font-style:normal}.cta{text-align:center;background:linear-gradient(135deg, hsl(var(--card)) 0%, var(--muted) 100%);padding:6rem 0;position:relative;overflow:hidden}.cta:before{content:"";background:radial-gradient(ellipse, var(--amber-glow) 0%, transparent 70%);opacity:.3;pointer-events:none;width:800px;height:400px;position:absolute;top:0;left:50%;transform:translate(-50%)}.cta-title{font-family:var(--font-outfit,var(--font-display));margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:700;position:relative}.cta-subtitle{font-family:var(--font-outfit,var(--font-display));color:var(--ink-dim);max-width:500px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1.125rem;position:relative}.footer{border-top:1px solid var(--line);text-align:center;padding:2rem 0}.footer-text{font-family:var(--font-mono,var(--font-display));color:var(--muted-foreground);font-size:.75rem}@media (max-width:640px){.hero{padding:6rem 0 4rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-buttons{flex-direction:column;align-items:stretch}.btn{text-align:center;width:100%}.trainer-grid,.steps-grid,.testimonial-grid{grid-template-columns:1fr}.cta{padding:4rem 0}}.midnight-page{background:var(--bg);color:var(--ink);font-family:var(--font-outfit,var(--font-display))}.midnight-page:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 100% 0%, var(--amber-soft), transparent 55%), radial-gradient(ellipse 60% 40% at 0% 100%, var(--cyan-soft), transparent 55%);position:fixed;inset:0}.midnight-page>*{z-index:1;position:relative}.midnight-page .section-label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.8rem;font-size:.74rem;font-weight:600}.midnight-page .section-label-on-dark{color:var(--surface-inverse-muted);opacity:1}.midnight-page .section-title{letter-spacing:-.03em;text-align:left;max-width:16ch;margin-bottom:0;font-size:clamp(2rem,4vw,3.3rem);font-weight:500;line-height:1.02}.midnight-page .support-copy,.midnight-page .story-copy,.midnight-page .card-copy{max-width:60ch;color:var(--ink-dim);font-size:1.02rem;line-height:1.72}.midnight-page .support-copy-on-dark{color:var(--surface-inverse-muted);opacity:1}.midnight-page .story-copy p+p{margin-top:1rem}.midnight-page .stat-chip{border:1px solid var(--line);background:color-mix(in srgb, hsl(var(--card)) 85%, transparent);min-height:52px;color:var(--ink);border-radius:16px;align-items:center;gap:.75rem;padding:.9rem 1rem;font-size:.95rem;font-weight:500;display:flex}.midnight-page .stat-chip-dot{background:linear-gradient(135deg, hsl(var(--amber)), hsl(var(--cyan)));border-radius:999px;flex:none;width:.7rem;height:.7rem}.midnight-page .icon-shell{background:linear-gradient(135deg, var(--amber-soft), var(--cyan-soft));width:3.25rem;height:3.25rem;color:var(--ink);border-radius:18px;justify-content:center;align-items:center;display:inline-flex}.midnight-page .card-title{letter-spacing:-.02em;margin-top:1rem;margin-bottom:.65rem;font-size:1.45rem;font-weight:500;line-height:1.05}.midnight-page .builder-icon{width:3.25rem;height:3.25rem;color:var(--ink);border-radius:18px;flex:none;justify-content:center;align-items:center;display:inline-flex}.midnight-page .builder-icon.amber{background:linear-gradient(135deg, var(--amber-soft), color-mix(in srgb, var(--amber-soft) 70%, transparent))}.midnight-page .builder-icon.cyan{background:linear-gradient(135deg, var(--cyan-soft), color-mix(in srgb, var(--cyan-soft) 70%, transparent))}@media (max-width:640px){.midnight-page .hero-lede,.midnight-page .support-copy,.midnight-page .story-copy,.midnight-page .card-copy{font-size:.98rem}.midnight-page .hero-title{max-width:10ch}}.hero-title{letter-spacing:-.04em;max-width:12ch;margin-top:1.4rem;font-size:clamp(3rem,7vw,5.8rem);font-weight:500;line-height:.98}.hero-title em,.section-title em{color:hsl(var(--amber-deep));background:linear-gradient(135deg, hsl(var(--amber-deep)), hsl(var(--cyan)));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:normal;font-weight:400}.hero-lede{max-width:60ch;color:var(--ink-dim);font-size:1.02rem;line-height:1.72}.eyebrow{border:1px solid var(--line);background:hsl(var(--card));color:var(--ink-dim);border-radius:999px;align-items:center;gap:.65rem;padding:.4rem .95rem .4rem .5rem;font-size:.8rem;font-weight:500;display:inline-flex}.eyebrow strong{font-weight:600}.eyebrow-dot{background:hsl(var(--amber));width:1.65rem;height:1.65rem;color:var(--bg-contrast);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.auth-minimal-logo,.marketing-brand-logo,.midnight-marketplace nav.top .logo{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:.55rem;min-width:0;font-size:16px;font-weight:600;text-decoration:none;display:flex}.dtp-brand-mark{background:conic-gradient(from 120deg, hsl(var(--amber)), hsl(var(--cyan)), hsl(var(--amber)));border-radius:50%;flex-shrink:0;display:block}.dtp-brand-mark--spin{transform-origin:50%;animation:2.8s cubic-bezier(.22,1,.36,1) infinite dtp-logo-spin}.marketing-brand-logo__mark{width:28px;height:28px}.auth-minimal-logo:before,.midnight-marketplace nav.top .logo:before{content:"";background:conic-gradient(from 120deg, hsl(var(--amber)), hsl(var(--cyan)), hsl(var(--amber)));border-radius:50%;flex-shrink:0;width:28px;height:28px}.marketing-brand-logo--footer,.midnight-marketplace .foot-brand{color:var(--surface-inverse-fg);margin-bottom:.5rem;font-size:24px;font-weight:700}.midnight-marketplace .foot-brand:before{content:"";background:conic-gradient(from 120deg, hsl(var(--amber)), hsl(var(--cyan)), hsl(var(--amber)));border-radius:50%;flex-shrink:0;width:28px;height:28px}.theme-toggle{background:hsl(var(--card));border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:999px;padding:3px;display:inline-flex}.theme-toggle button{font-family:var(--font-outfit), "Outfit", system-ui, sans-serif;color:var(--ink-dim);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;min-width:74px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.theme-toggle button[data-active=true]{background:var(--card-2);color:var(--ink)}.theme-toggle button:disabled{cursor:default}.theme-toggle svg{stroke-width:2px;width:13px;height:13px}.marketing-header{z-index:40;background:color-mix(in srgb, var(--bg) 92%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);isolation:isolate;position:sticky;top:0;overflow:visible}.trainer-paywall .marketing-header{z-index:100}.trainer-paywall .marketing-header-actions{z-index:101;position:relative;overflow:visible}.marketing-header-inner{width:100%;max-width:var(--marketing-shell-max);padding:1rem var(--marketing-shell-x);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.marketing-header-nav{align-items:center;gap:.25rem;font-size:.875rem;display:none}.marketing-header-actions{align-items:center;gap:.75rem;display:flex}.marketing-header-mobile{display:none}.marketing-header-mobile-inner{width:100%;max-width:var(--marketing-shell-max);padding:.5rem var(--marketing-shell-x) 1rem;align-items:center;gap:.25rem;margin:0 auto;font-size:.875rem;display:flex;overflow-x:auto}.marketing-hamburger-trigger{border-radius:var(--radius);background:hsl(var(--card));border:1px solid var(--line);width:44px;height:44px;color:var(--ink);justify-content:center;align-items:center;display:inline-flex}.marketing-hamburger-trigger:hover{background:var(--card-2);border-color:var(--card-border)}.marketing-hamburger-sheet{background:var(--bg)}.marketing-hamburger-nav{flex-direction:column;gap:.5rem;padding-top:1rem;display:flex}.marketing-hamburger-link{justify-content:flex-start;padding-left:.95rem}.marketing-hamburger-actions{border-top:1px solid var(--line);flex-direction:column;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.marketing-hamburger-sign-in{justify-content:center;width:100%;min-height:52px;display:inline-flex}.marketing-header-actions-desktop{display:none}.marketing-nav-link{min-height:44px;color:var(--ink-dim);white-space:nowrap;border-radius:999px;align-items:center;padding:.5rem .875rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:opacity .2s,color .2s;display:inline-flex}.marketing-nav-link:hover{opacity:.85;color:var(--ink)}.marketing-nav-link.is-active{color:hsl(var(--amber-deep));font-weight:600}.marketing-nav-sign-in{border-radius:var(--radius);background:var(--surface-inverse);min-height:44px;color:var(--surface-inverse-fg);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;padding:.5625rem 1rem;font-size:.8125rem;font-weight:600;line-height:1;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-flex}.marketing-nav-sign-in:hover{opacity:.92}.marketing-nav-app-entry{border-radius:var(--radius);border:1px solid var(--line);background:hsl(var(--card));min-height:44px;color:var(--ink);letter-spacing:normal;justify-content:center;align-items:center;padding:.5625rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .9s cubic-bezier(.22,1,.36,1),border-color .9s cubic-bezier(.22,1,.36,1),color .9s cubic-bezier(.22,1,.36,1);display:inline-flex}.marketing-nav-app-entry:hover{background:var(--card-2);border-color:var(--card-border)}.marketing-header--app .marketing-header-actions{gap:.65rem}@media (max-width:639px){.marketing-header--app .theme-toggle{display:none}}.marketing-nav-sign-in:focus-visible,.marketing-nav-link:focus-visible,.marketing-btn-primary:focus-visible,.marketing-btn-secondary:focus-visible{outline:2px solid hsl(var(--cyan));outline-offset:3px}.marketing-nav-back{min-height:44px;color:var(--ink-dim);border-radius:999px;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-flex}.marketing-nav-back:hover{opacity:.8}.marketing-btn-primary,.marketing-btn-secondary{border-radius:var(--radius);justify-content:center;align-items:center;gap:.5rem;min-height:52px;padding:.8125rem 1.25rem;font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:transform .9s cubic-bezier(.22,1,.36,1),background .2s,border-color .2s,opacity .2s;display:inline-flex}.marketing-btn-primary{background:hsl(var(--amber));color:var(--bg-contrast);border:1px solid #0000}.marketing-btn-primary:hover{background:hsl(var(--amber-deep));transform:translateY(-1px)}.marketing-btn-secondary{background:hsl(var(--card));color:var(--ink);border:1px solid var(--line)}.marketing-btn-secondary:hover{background:var(--card-2);border-color:var(--card-border);transform:translateY(-1px)}.marketing-btn-secondary-on-dark{color:var(--surface-inverse-fg);border-color:var(--surface-inverse-line);background:0 0}.marketing-btn-secondary-on-dark:hover{background:color-mix(in srgb, var(--surface-inverse-fg) 8%, transparent);border-color:hsl(var(--cyan));color:var(--surface-inverse-fg)}.marketing-inverse-surface{background:var(--surface-inverse);color:var(--surface-inverse-fg)}.marketing-inverse-muted{color:var(--surface-inverse-muted)}@media (min-width:768px){.marketing-header-nav{display:flex}.marketing-header-mobile,.marketing-hamburger-trigger{display:none}.marketing-header-actions-desktop{display:inline-flex}}@media (min-width:1024px){.marketing-header-inner{padding-block:1rem}}.marketing-site-footer{border-top:1px solid var(--line);background:hsl(var(--card));padding:2rem var(--marketing-shell-x) 2.5rem}.marketing-site-footer__inner{max-width:var(--marketing-shell-max);text-align:center;margin:0 auto}.marketing-site-footer__brand{justify-content:center}.marketing-site-footer__lede{max-width:36ch;color:var(--ink-dim);margin:.75rem auto 0;font-size:.875rem;line-height:1.55}.marketing-site-footer__credit{color:var(--ink-dim);margin:1rem 0 0;font-size:.8125rem}.marketing-site-footer__credit a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.marketing-site-footer__links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.8125rem;display:flex}.marketing-site-footer__links a{color:var(--ink-dim);text-decoration:none}.marketing-site-footer__links a:hover{color:var(--ink)}.marketing-site-footer__copy{color:var(--muted);margin:.75rem 0 0;font-size:.75rem}.app-mobile-sheet-nav{background-color:hsl(var(--card))!important;background-image:none!important}
