<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
  <meta name="robots" content="index,follow">
  <link rel="canonical" href="https://trovatten.com/underexposed">
  <title>#1 Social Media &amp; Marketing Course for Photographers</title>
  <meta name="description" content="Get your photography in front of people who can hire, publish or commission you. Start your Free 7-Day Trial.">
  <meta property="og:title" content="Good photography isn't enough">
  <meta property="og:description" content="Give Underexposed seven days and make your photography easier to understand, remember, and discover.">
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://trovatten.com/underexposed">
  <meta property="og:image" content="https://trovatten.com/underexposed-assets/trovatten-hero-1280.jpeg">
  <meta property="og:image:width" content="1280">
  <meta property="og:image:height" content="720">
  <meta property="og:image:alt" content="Frederik Trovatten holding a Rolleiflex camera">
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:image" content="https://trovatten.com/underexposed-assets/trovatten-hero-1280.jpeg">
  <link rel="icon" href="/favicon.ico" sizes="any">
  <link rel="apple-touch-icon" href="/apple-touch-icon.png">
  <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://trovatten.com/underexposed#organization","name":"Underexposed","url":"https://trovatten.com/underexposed","logo":"https://trovatten.com/underexposed-assets/full-white-220.png","founder":{"@id":"https://trovatten.com/#person"}},{"@type":"Course","@id":"https://trovatten.com/underexposed#course","name":"Underexposed: Marketing for Photographers","description":"Marketing lessons, tools, feedback, and community that help photographers get discovered, published, and hired.","provider":{"@id":"https://trovatten.com/underexposed#organization"},"url":"https://trovatten.com/underexposed","offers":{"@type":"Offer","url":"https://community.trovatten.com/checkout/start","price":"199","priceCurrency":"USD","description":"Seven-day free trial. A one-time $199 enrollment payment follows if the trial is not cancelled, then membership is $29 per month."}},{"@type":"WebPage","@id":"https://trovatten.com/underexposed#webpage","url":"https://trovatten.com/underexposed","name":"Try Underexposed Free for 7 Days","description":"Six guided videos, three practical challenges, and a private trial community for photographers.","mainEntity":{"@id":"https://trovatten.com/underexposed#course"},"inLanguage":"en"}]}</script>
  <link rel="preload" href="/_astro/libre-franklin-latin-wght-normal.CLTz0ja0.woff2" as="font" type="font/woff2" crossorigin>
  <link rel="preload" as="image" href="/images/frederik-trovatten-social-media-marketing-for-photographers.webp?w=800&amp;q=85&amp;fit=max" type="image/webp" media="(max-width: 767px)" fetchpriority="high">
  <link rel="preload" as="image" href="/underexposed-assets/trovatten-hero-1280.jpeg" type="image/jpeg" media="(min-width: 768px)" fetchpriority="high">
  <style>
  @font-face {
    font-family: "Libre Franklin Variable";
    src: url("/_astro/libre-franklin-latin-wght-normal.CLTz0ja0.woff2") format("woff2");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
  }

  :root {
    --paper: #f2efe7;
    --paper-light: #f2efe7;
    --ink: #0c0c0b;
    --dark: #0d0d0c;
    --text-dark: #f2f0ea;
    --muted: #74716b;
    --muted-dark: #99968f;
    --accent: #0c0c0b;
    --accent-hover: #242422;
    --line: rgba(0,0,0,.14);
    --dark-line: rgba(255,255,255,.16);
    --max: 77.5rem;
    --measure: 44rem;
    --page-margin: 1.375rem;
    --section-space: clamp(4.75rem, 12vw, 7rem);
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; background: var(--ink); }
  body {
    margin: 0;
    overflow-x: hidden;
    background: var(--paper);
    color: var(--ink);
    font-family: "Libre Franklin Variable", Arial, Helvetica, sans-serif;
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
  }
  body.has-sticky { padding-bottom: calc(3.85rem + env(safe-area-inset-bottom)); }
  img { display: block; max-width: 100%; height: auto; }
  a { color: inherit; }
  button, a { -webkit-tap-highlight-color: transparent; }
  button { font: inherit; }
  h1, h2, h3, h4, p, figure, blockquote { margin-top: 0; }
  h1, h2, h3 { text-wrap: balance; }
  p { text-wrap: pretty; }
  section { scroll-margin-top: 1rem; }
  summary::-webkit-details-marker { display: none; }
  summary { list-style: none; }
  .wrap { width: min(calc(100% - 2rem), var(--max)); margin-inline: auto; }
  .narrow { width: min(calc(100% - 2rem), var(--measure)); margin-inline: auto; }
  .section { padding: 4.15rem 0; }
  .paper-light { background: var(--paper-light); }
  .ink-section { background: var(--ink); color: var(--paper-light); }
  .display {
    max-width: 12em;
    margin-bottom: 1.1rem;
    font-size: clamp(2.35rem, 10.3vw, 5.8rem);
    font-weight: 875;
    letter-spacing: -.062em;
    line-height: .93;
  }
  .display--small { font-size: clamp(2.15rem, 8.7vw, 4.6rem); }
  .section-title {
    max-width: 17em;
    margin-bottom: .85rem;
    font-size: clamp(1.7rem, 6.7vw, 3.25rem);
    font-weight: 820;
    letter-spacing: -.048em;
    line-height: 1;
  }
  .section-title--light { color: var(--paper-light); }
  .intro {
    max-width: 40rem;
    margin-bottom: 0;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.58;
  }
  .intro--light { color: #bab8af; }
  .button {
    min-height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: .48rem;
    background: var(--accent);
    color: var(--ink);
    padding: .82rem 1.1rem;
    font-size: .96rem;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    transition: transform 150ms ease, background 150ms ease;
  }
  .button:hover { background: var(--accent-hover); transform: translateY(-1px); }
  .button:focus-visible, summary:focus-visible, .text-link:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
  .button--full { width: 100%; }
  .billing { margin: .72rem 0 0; color: var(--muted); font-size: .73rem; line-height: 1.45; }
  .billing strong { color: var(--ink); }

  .hero { min-height: 100vh; height: auto; max-height: none; position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; background: #090909; color: #fff; }
  @supports (height: 100svh) {
    .hero { min-height: 100svh; }
  }
  .hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: rgba(0,0,0,.18); }
  .hero-media { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; }
  .hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
  .hero > :not(.hero-media) { position: relative; z-index: 2; }
  .hero-top { display: flex; align-items: center; padding: 1.65rem 1rem 0; }
  .hero-logo { width: 128px; height: auto; }
  .hero-body { width: min(calc(100% - 2rem), 48rem); margin: auto auto 0; padding-bottom: 2.1rem; }
  .hero h1 { margin-bottom: .75rem; font-size: clamp(2.55rem, 11vw, 5.7rem); font-weight: 900; letter-spacing: -.068em; line-height: .9; }
  .hero h1 span { display: block; white-space: nowrap; }
  .hero-lead { max-width: 36rem; margin-bottom: 1.15rem; color: rgba(255,255,255,.88); font-size: .98rem; line-height: 1.42; }
  .hero-lead strong { color: #fff; }
  .hero .button { width: 100%; }
  .hero-body [data-major-cta] { animation: cta-rise .8s cubic-bezier(.2,.8,.25,1) both; }
  .hero-reassurance { margin: .72rem 0 0; color: rgba(255,255,255,.76); font-size: .72rem; line-height: 1.42; }

  @keyframes cta-rise { from { transform: translateY(14px); } to { transform: translateY(0); } }

  .authority { padding: 1.25rem 0 1.2rem; background: var(--paper-light); }
  .authority-title { margin: 0 0 .85rem; color: #4d4d48; font-size: .82rem; font-weight: 800; letter-spacing: -.015em; }
  .logo-row { display: grid; grid-template-columns: 1.5fr .55fr 1.35fr 1.35fr; align-items: center; gap: .9rem; }
  .logo-cell { min-width: 0; height: 1.8rem; display: flex; align-items: center; justify-content: flex-start; overflow: visible; }
  .logo-cell img { display: block; max-width: 100%; max-height: 1.55rem; width: auto; object-fit: contain; filter: grayscale(1); opacity: .72; }
  .logo-cell:first-child img { max-height: 1.7rem; }
  .logo-cell:nth-child(2) img { max-height: 1.65rem; }

  .proof-intro { margin-bottom: 1.6rem; }
  .proof-intro .display { max-width: 19ch; margin-bottom: 0; font-size: clamp(1.8rem, 7.6vw, 4.6rem); text-wrap: balance; }
  .proof-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: min(88%, 34rem); gap: .9rem; overflow-x: auto; padding: .15rem 1rem 1rem; margin-inline: -1rem; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
  .proof-carousel::-webkit-scrollbar { display: none; }
  .proof-card { min-width: 0; overflow: hidden; background: #fff; border-radius: .65rem; box-shadow: 0 12px 32px rgba(16,16,14,.08); scroll-snap-align: start; }
  .proof-card-body { min-height: 12.5rem; display: grid; grid-template-columns: 3.25rem 1fr; gap: .8rem; align-content: start; padding: 1.15rem 1rem; }
  .proof-card-body img { width: 3.25rem; height: 3.25rem; border-radius: 50%; object-fit: cover; }
  .proof-card-body strong { display: block; margin-bottom: .35rem; font-size: 1rem; line-height: 1.12; }
  .proof-card-body p { margin: 0; color: #45443f; font-size: .78rem; line-height: 1.45; }
  .proof-card-body span { display: block; margin-top: .45rem; color: var(--muted); font-size: .62rem; font-weight: 700; }
  .proof-card-body .proof-metric { width: fit-content; margin: .1rem 0 .75rem; border-radius: 99px; background: var(--accent); color: var(--ink); padding: .3rem .5rem; font-size: .6rem; font-weight: 850; line-height: 1; }

  .problem-story { width: min(calc(100% - 2rem), 54rem); margin-inline: auto; }
  .problem-story .display { max-width: none; margin-bottom: 1.2rem; font-size: clamp(2rem, 8.1vw, 4.6rem); }
  .problem-thesis { max-width: none; margin: 0; color: var(--accent); font-size: clamp(.9rem, 4.5vw, 1.3rem); font-weight: 850; letter-spacing: -.035em; line-height: 1.16; }
  .problem-narrative { display: grid; gap: 1.25rem; margin-top: 2.2rem; }
  .problem-narrative > p { max-width: 39rem; margin: 0; color: #cbc9c1; font-size: .98rem; line-height: 1.62; }
  .problem-reveal { margin-top: .65rem !important; color: var(--paper-light) !important; font-size: 1.36rem !important; font-weight: 860; letter-spacing: -.035em; line-height: 1.18 !important; }
  .problem-proof { color: #e2e0d8 !important; }
  .problem-channels { color: var(--paper-light) !important; font-weight: 800; letter-spacing: -.018em; }
  .problem-outcome { max-width: 44rem !important; margin-top: .75rem !important; border-left: 4px solid var(--accent); background: rgba(255,255,255,.075); padding: 1.15rem 1rem; color: var(--paper-light) !important; font-size: 1.08rem !important; font-weight: 820; line-height: 1.42 !important; }

  .trial-head { margin-bottom: 1.8rem; }
  #trial-title { max-width: none; white-space: normal; text-wrap: balance; font-size: clamp(1.82rem, 7.5vw, 3.2rem); letter-spacing: -.055em; }
  .steps { display: grid; gap: .8rem; }
  .step { min-width: 0; display: grid; grid-template-columns: 2.8rem 1fr; gap: .85rem; align-items: start; background: rgba(255,255,255,.58); border-radius: .55rem; padding: 1rem; }
  .step-number { width: 2.8rem; height: 2.8rem; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: var(--ink); font-size: .7rem; font-weight: 880; }
  .step-label { display: block; margin: .1rem 0 .38rem; color: var(--muted); font-size: .6rem; font-weight: 820; letter-spacing: .14em; text-transform: uppercase; }
  .step h3 { margin-bottom: .45rem; font-size: 1.12rem; font-weight: 840; letter-spacing: -.035em; line-height: 1.05; }
  .step p { margin: 0; color: var(--muted); font-size: .77rem; line-height: 1.46; }
  .step-outcome { display: block; margin-top: .55rem; font-size: .72rem; line-height: 1.42; }
  .trial-desktop { display: none; }
  .trial-mobile { display: block; }
  .trial-mobile-nav {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
  }
  .trial-mobile-nav::before {
    content: "";
    position: absolute;
    right: 12.5%;
    bottom: .3rem;
    left: 12.5%;
    height: 1px;
    background: #aaa79f;
  }
  .trial-mobile-nav button {
    position: relative;
    z-index: 1;
    border: 0;
    background: transparent;
    padding: 0 0 1.05rem;
    color: #77756e;
    font-size: .62rem;
    font-weight: 820;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
  }
  .trial-mobile-nav button::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: .65rem;
    height: .65rem;
    transform: translateX(-50%);
    border: 1px solid var(--ink);
    border-radius: 50%;
    background: var(--paper);
  }
  .trial-mobile-nav button[aria-current="step"] { color: var(--ink); }
  .trial-mobile-nav button[aria-current="step"]::after { border-color: var(--accent); background: var(--accent); }
  .trial-day-seven {
    position: relative;
    display: inline-grid;
    place-items: center;
    margin-left: .08em;
  }
  .trial-day-seven-number {
    display: inline-block;
  }
  .trial-day-seven-sparks {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    pointer-events: none;
  }
  .trial-day-seven-sparks i {
    --spark-color: #0c0c0b;
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 2px;
    border-radius: 99px;
    background: var(--spark-color);
    opacity: 0;
    transform: translate(-50%, -50%) rotate(var(--spark-rotate)) scaleX(.35);
  }
  .trial-day-seven.is-celebrating .trial-day-seven-sparks i {
    animation: trial-day-seven-burst 900ms cubic-bezier(.18,.7,.2,1) both;
  }
  .trial-day-seven-sparks i:nth-child(1) { --spark-x: -15px; --spark-y: -11px; --spark-rotate: -34deg; }
  .trial-day-seven-sparks i:nth-child(2) { --spark-x: 0px; --spark-y: -18px; --spark-rotate: -90deg; --spark-color: #d6b913; }
  .trial-day-seven-sparks i:nth-child(3) { --spark-x: 15px; --spark-y: -11px; --spark-rotate: 34deg; }
  .trial-day-seven-sparks i:nth-child(4) { --spark-x: 16px; --spark-y: 10px; --spark-rotate: 58deg; --spark-color: #d6b913; }
  .trial-day-seven-sparks i:nth-child(5) { --spark-x: -16px; --spark-y: 10px; --spark-rotate: -58deg; }
  .trial-day-seven-sparks i:nth-child(6) { --spark-x: 0px; --spark-y: 17px; --spark-rotate: 90deg; --spark-color: #d6b913; }
  @keyframes trial-day-seven-burst {
    0% { opacity: 0; transform: translate(-50%, -50%) rotate(var(--spark-rotate)) scaleX(.3); }
    10% { opacity: 1; }
    52% { opacity: 1; }
    76% { opacity: .68; }
    100% { opacity: 0; transform: translate(calc(-50% + var(--spark-x)), calc(-50% + var(--spark-y))) rotate(var(--spark-rotate)) scaleX(.82); }
  }
  .trial-mobile-cards {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(86%, 22rem);
    gap: .8rem;
    overflow-x: auto;
    margin-inline: -1rem;
    padding: .05rem 1rem .65rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
  }
  .trial-mobile-cards::-webkit-scrollbar { display: none; }
  .trial-mobile-card {
    min-height: 18rem;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(16,16,14,.13);
    border-radius: .55rem;
    background: rgba(255,255,255,.68);
    padding: 1.35rem;
    scroll-snap-align: start;
  }
  .trial-mobile-day {
    display: block;
    margin-bottom: 1.45rem;
    color: #5f5e57;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
  }
  .trial-mobile-card h3 {
    max-width: none;
    margin-bottom: .8rem;
    font-size: clamp(1.3rem, 5.4vw, 1.7rem);
    font-weight: 850;
    letter-spacing: -.055em;
    line-height: 1.02;
    text-wrap: balance;
  }
  .trial-mobile-card p { margin: 0; color: #5d5b54; font-size: .84rem; line-height: 1.52; }
  .trial-mobile-card strong { display: block; margin-top: auto; padding-top: 1.2rem; font-size: .76rem; line-height: 1.42; }
  .trial-mobile-card--finish { border-color: var(--ink); background: var(--ink); color: var(--paper-light); }
  .trial-mobile-card--finish .trial-mobile-day, .trial-mobile-card--finish p { color: #bbb9b0; }
  .trial-mobile-card--finish h3 { text-transform: uppercase; }
  .trial-mobile-card--finish h3 span { display: block; }
  .trial-mobile-card--finish strong { margin-top: 1rem; padding-top: 0; color: var(--paper-light); font-size: .84rem; }
  .trial-action { margin-top: 2.25rem; }
  #trial-challenges { padding-bottom: 3.25rem; }

  .outcomes-section {
    background: var(--ink);
    color: var(--paper-light);
    padding: 0;
  }
  .outcomes-intro {
    width: min(calc(100% - 2rem), var(--max));
    margin-inline: auto;
    padding: 3.75rem 0 3.25rem;
  }
  .outcomes-eyebrow {
    margin: 0 0 1.35rem;
    color: #a8a69f;
    font-size: .65rem;
    font-weight: 760;
    letter-spacing: .17em;
    line-height: 1;
  }
  .outcomes-intro h2 {
    max-width: 12em;
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 8.7vw, 3rem);
    font-weight: 870;
    letter-spacing: -.055em;
    line-height: .98;
  }
  .outcomes-highlight {
    display: inline;
    padding: 0 .055em .01em;
    border-radius: .1em;
    background: #d3b83e;
    color: var(--ink);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }
  .outcomes-intro-copy {
    max-width: 31rem;
    margin: 1.35rem 0 0;
    color: #bbb9b1;
    font-size: .92rem;
    line-height: 1.55;
  }
  .outcomes-intro-copy span { display: block; }
  .outcomes-lanes {
    width: min(calc(100% - 2rem), var(--max));
    margin-inline: auto;
    border-top: 1px solid #353532;
    border-bottom: 1px solid #353532;
  }
  .outcomes-lane {
    padding: 3rem 0 3.25rem;
  }
  .outcomes-lane + .outcomes-lane { border-top: 1px solid #353532; }
  .outcomes-number {
    display: block;
    margin-bottom: 1.75rem;
    color: #aaa8a1;
    font-size: .68rem;
    font-weight: 760;
    letter-spacing: .18em;
    line-height: 1;
  }
  .outcomes-lane h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.6rem, 12.3vw, 3.5rem);
    font-weight: 890;
    letter-spacing: -.07em;
    line-height: .82;
    text-transform: uppercase;
  }
  .outcomes-lane h2 span { display: block; }
  .outcomes-benefit {
    max-width: 24rem;
    margin: 1.85rem 0 0;
    color: #f1f0eb;
    font-size: 1rem;
    line-height: 1.5;
  }
  .outcomes-topics {
    max-width: 26rem;
    margin: 1.35rem 0 0;
    color: #b8b6ae;
    font-size: .78rem;
    font-weight: 560;
    letter-spacing: .015em;
    line-height: 1.65;
  }

  .definition-grid { display: grid; gap: 2rem; }
  .definition-copy .section-title { max-width: 11em; }
  .definition-copy strong { color: var(--paper-light); }
  .video-frame { overflow: hidden; aspect-ratio: 16/9; border: 1px solid #4b4a44; background: #222; }
  .video-frame wistia-player { width: 100%; height: 100%; display: block; }
  .video-frame wistia-player[data-wistia-loaded='true'][media-id='2guqxnfn4v']:not(:defined) {
    background: center / contain no-repeat url('/underexposed-assets/underexposed-video-poster.jpg');
    filter: blur(5px);
  }
  .video-caption { display: flex; justify-content: space-between; gap: 1rem; margin-top: .65rem; color: #8f8d85; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }

  .doing-grid { display: grid; gap: 2.25rem; }
  .community-image { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: transparent; }
  .community-image img { width: 100%; height: 100%; object-fit: contain; object-position: center; padding: 0; mix-blend-mode: multiply; }
  .image-caption { position: absolute; right: .8rem; bottom: .8rem; background: var(--accent); border-radius: .35rem; padding: .55rem .7rem; color: var(--ink); font-size: .58rem; font-weight: 820; letter-spacing: .12em; text-transform: uppercase; }

  section#pricing { background: var(--ink); color: #fff; padding: 4.15rem 0; }
  .pricing-wrap { width: min(calc(100% - 2rem), 53rem); margin-inline: auto; }
  .pricing-card { border: 1px solid rgba(255,255,255,.12); border-radius: .72rem; background: #191916; padding: 1.35rem 1rem 1.15rem; }
  .pricing-head { margin-bottom: 1rem; }
  .pricing-head .display { max-width: none; margin-bottom: 0; font-size: clamp(1.5rem, 6.1vw, 4.25rem); line-height: .96; white-space: nowrap; }
  .pricing-benefits { display: grid; gap: .68rem; margin: 0 0 1.15rem; padding: 0; list-style: none; }
  .pricing-benefits li { display: grid; grid-template-columns: 1rem 1fr; gap: .55rem; align-items: start; font-size: .79rem; font-weight: 450; line-height: 1.4; }
  .pricing-benefits li strong { font-weight: 820; }
  .pricing-benefits .check { color: var(--accent); font-weight: 900; }
  .pricing-summary { margin: 0 0 .9rem; color: #fff; font-size: clamp(.82rem, 3.6vw, 1.1rem); font-weight: 820; line-height: 1.3; letter-spacing: -.012em; white-space: nowrap; }
  .pricing-action .button { width: 100%; }
  .pricing-after-cta { margin: .7rem 0 0; color: #b7b4ab; font-size: .72rem; line-height: 1.4; text-align: center; }

  .founder-grid { display: grid; gap: 1.6rem; }
  .contact-sheet { overflow: hidden; margin-inline: -1rem; }
  .contact-frame { aspect-ratio: 16 / 9; overflow: hidden; background: #ddd; }
  .contact-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; filter: saturate(.85); }
  .credentials { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: 1rem; }
  .credential { min-width: 0; background: rgba(255,255,255,.72); border-radius: .4rem; padding: .75rem; }
  .credential strong { display: block; margin-bottom: .2rem; font-size: .82rem; line-height: 1.12; }
  .credential span { display: block; color: var(--muted); font-size: .65rem; line-height: 1.35; }
  .pricing-proof { display: grid; grid-template-columns: 3rem 1fr; gap: .8rem; margin-top: 1rem; background: rgba(255,255,255,.07); border-radius: .55rem; padding: 1rem; }
  .pricing-proof img { width: 3rem; height: 3rem; border-radius: 50%; object-fit: cover; }
  .pricing-proof blockquote { margin: 0; color: #fff; font-size: .78rem; font-weight: 700; line-height: 1.45; }
  .pricing-proof cite { display: block; margin-top: .45rem; color: #aaa89f; font-size: .62rem; font-style: normal; font-weight: 700; }

  .fit-grid { display: grid; gap: 1.8rem; }
  .fit-list { display: grid; gap: .55rem; }
  .fit-item { display: grid; grid-template-columns: 1.7rem 1fr; gap: .7rem; background: transparent; border-radius: .45rem; padding: .85rem; }
  .fit-item > span { width: 1.35rem; height: 1.35rem; display: grid; place-items: center; border-radius: 50%; background: var(--accent); font-size: .68rem; font-weight: 850; }
  .fit-item strong { display: block; margin-bottom: .25rem; font-size: .91rem; line-height: 1.3; }
  .fit-item p { display: none; }
  .not-for-you { padding: 1rem; background: #e7e3d8; border-radius: .55rem; }
  .not-for-you h3 { margin: 0 0 .55rem; font-size: 1.05rem; font-weight: 850; letter-spacing: -.025em; }
  .fit-list--negative .fit-item { background: rgba(255,255,255,.52); }
  .fit-list--negative .fit-item > span { background: var(--ink); color: #fff; }

  .faq-head { margin-bottom: 1.25rem; }
  .faq-head .section-title { margin-bottom: 0; }
  .faq details { margin-bottom: .55rem; background: #fff; border-radius: .45rem; padding-inline: .9rem; }
  .faq summary { min-height: 3.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; font-size: .89rem; font-weight: 780; line-height: 1.3; }
  .faq-icon { position: relative; width: 1rem; height: 1rem; flex: 0 0 1rem; }
  .faq-icon::before, .faq-icon::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 1.5px; background: var(--ink); }
  .faq-icon::after { transform: rotate(90deg); transition: transform 160ms ease; }
  .faq details[open] .faq-icon::after { transform: rotate(0); }
  .faq details p { margin: -.25rem 0 1.1rem; color: var(--muted); font-size: .78rem; line-height: 1.52; }

  .final { position: relative; overflow: hidden; background: var(--ink); color: var(--paper-light); padding: 4rem 0 5.5rem; text-align: center; }
  .final .display { max-width: 11.5em; margin: 0 auto 1.1rem; font-size: clamp(2rem, 8vw, 4.2rem); }
  .final-lead { max-width: 31rem; margin: 0 auto 1.6rem; color: #bbb9b0; font-size: .98rem; line-height: 1.5; }
  .final .button { width: 100%; max-width: 31rem; }
  .final .billing { color: #97958d; text-align: center; }
  .final .billing strong { color: #fff; }

  .sticky { position: fixed; right: 0; bottom: 0; left: 0; z-index: 50; min-height: 4rem; display: flex; align-items: center; justify-content: space-between; gap: .65rem; border-top: 1px solid #3b3b37; background: rgba(16,16,14,.98); color: #fff; padding: .5rem .65rem calc(.5rem + env(safe-area-inset-bottom)); transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease; }
  .sticky.is-hidden { opacity: 0; transform: translateY(110%); visibility: hidden; pointer-events: none; }
  .sticky .button { width: 100%; white-space: nowrap; }

  @media (max-width: 359px) {
    .hero h1 { font-size: 2.35rem; }
    .hero-lead { font-size: .91rem; }
    .display { font-size: 2.2rem; }
    .step { grid-template-columns: 2.45rem 1fr; padding: .85rem; }
    .step-number { width: 2.45rem; height: 2.45rem; }
  }

  @media (max-width: 380px) {
    .final .display { max-width: none; font-size: 1.65rem; }
  }

  @media (max-width: 767px) {
    .proof-intro .display {
      max-width: none;
      font-size: clamp(1.55rem, 7vw, 1.82rem);
      text-wrap: normal;
    }
    .proof-title-line { display: block; white-space: nowrap; }
  }

  @media (min-width: 768px) {
    body.has-sticky { padding-bottom: 0; }
    .section { padding: 7rem 0; }
    #trial-challenges { padding-bottom: 4.5rem; }
    .hero { min-height: 720px; }
    .hero-media img { object-position: center 38%; }
    .hero-top { padding: 2rem 3rem 0; }
    .hero-logo { width: 158px; }
    .hero-body { width: min(calc(100% - 6rem), var(--max)); padding-bottom: 3rem; }
    .hero h1 { font-size: clamp(4rem, 6.2vw, 6rem); }
    .hero-lead { font-size: 1.08rem; }
    .hero .button { width: auto; min-width: 18rem; }
    .authority { padding: 2rem 0; }
    .logo-row { max-width: 42rem; gap: 2.4rem; }
    .proof-carousel { grid-auto-columns: min(66%, 40rem); }
    .wrap.trial-layout {
      width: min(calc(100% - 3rem), 75rem);
      max-width: 75rem;
      padding-inline: 0;
    }
    .trial-head {
      max-width: 40.625rem;
      margin: 0 auto 3.25rem;
      text-align: center;
    }
    #trial-title {
      max-width: none;
      margin-inline: auto;
      white-space: normal;
      text-wrap: balance;
      font-size: clamp(2.2rem, 3.6vw, 3.2rem);
    }
    .trial-head .intro { max-width: 34rem; margin-inline: auto; }
    .trial-mobile { display: none; }
    .trial-desktop { display: block; }
    .trial-desktop-track {
      position: relative;
      width: min(100%, 65.625rem);
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      margin-inline: auto;
    }
    .trial-desktop-track::before {
      content: "";
      position: absolute;
      top: 3.05rem;
      right: 12.5%;
      left: 12.5%;
      height: 1px;
      background: #77756e;
    }
    .trial-milestone {
      min-width: 0;
      min-height: 13.5rem;
      position: relative;
      padding-inline: clamp(.65rem, 1.5vw, 1.25rem);
    }
    .trial-milestone-day {
      display: block;
      margin-bottom: 3.3rem;
      color: #5f5e57;
      font-size: .66rem;
      font-weight: 850;
      letter-spacing: .14em;
      text-align: center;
      text-transform: uppercase;
    }
    .trial-milestone-node {
      position: absolute;
      top: 2.7rem;
      left: 50%;
      z-index: 1;
      width: .72rem;
      height: .72rem;
      transform: translateX(-50%);
      border: 1px solid var(--ink);
      border-radius: 50%;
      background: var(--paper);
    }
    .trial-milestone h3 {
      max-width: 11em;
      margin: 0 0 .75rem;
      font-size: clamp(1.25rem, 2.1vw, 1.625rem);
      font-weight: 840;
      letter-spacing: -.04em;
      line-height: 1.04;
    }
    .trial-milestone p {
      max-width: 14.5rem;
      margin: 0;
      color: #626159;
      font-size: clamp(.875rem, 1.25vw, 1rem);
      line-height: 1.5;
    }
    .trial-milestone--finish h3 {
      max-width: 7em;
      font-size: clamp(1.3rem, 2.25vw, 1.75rem);
      font-weight: 900;
      text-transform: uppercase;
    }
    .trial-milestone--finish .trial-milestone-node::after {
      content: "";
      position: absolute;
      inset: 2px;
      border-radius: 50%;
      background: var(--accent);
    }
    .trial-action {
      width: min(100%, 25rem);
      margin: 2.75rem auto 0;
      text-align: center;
    }
    .definition-grid { grid-template-columns: .9fr 1.1fr; align-items: center; gap: 5rem; }
    .steps:not(.steps--trial) { grid-template-columns: repeat(3, 1fr); }
    .doing-grid { grid-template-columns: .9fr 1.1fr; align-items: center; gap: 5rem; }
    .doing-grid > * { min-width: 0; }
    .doing-grid .steps { grid-template-columns: 1fr; }
    .founder-grid { grid-template-columns: 1.15fr .85fr; align-items: center; gap: 3rem; }
    .contact-sheet { margin-inline: 0; }
    .fit-grid { grid-template-columns: 1.1fr .9fr; gap: 5rem; }
    .sticky { display: none; }
  }

  /* Desktop is composed independently from the mobile flow. */
  @media (min-width: 1024px) {
    :root {
      --max: 90rem;
      --page-gutter: clamp(1.5rem, 5vw, 6rem);
      --content-edge: max(var(--page-gutter), calc((100vw - var(--max)) / 2 + var(--page-gutter)));
    }

    .wrap,
    .narrow,
    .pricing-wrap {
      width: 100%;
      max-width: var(--max);
      margin-inline: auto;
      padding-inline: var(--page-gutter);
    }
    .section { padding: clamp(6rem, 8vw, 8.5rem) 0; }
    .section-title,
    .display--small {
      font-size: clamp(2rem, calc(1.5rem + 2.5vw), 3.25rem);
    }
    .intro { font-size: 1.08rem; line-height: 1.62; }

    .hero {
      min-height: min(88vh, 860px);
      display: grid;
      grid-template-columns: 45% 55%;
      grid-template-rows: auto 1fr;
      background: #090909;
    }
    .hero-media {
      inset: 0;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
    }
    .hero-media img {
      display: block;
      width: 100%;
      height: 100%;
      object-position: center 38%;
      animation: none;
      transform: none;
    }
    .hero::after { background: rgba(0,0,0,.12); }
    .hero-top {
      grid-column: 1;
      grid-row: 1;
      padding: 2.5rem 0 0 var(--content-edge);
    }
    .hero-body {
      grid-column: 1;
      grid-row: 2;
      width: auto;
      max-width: 46rem;
      margin: 0;
      align-self: end;
      padding: 4rem clamp(2rem, 4vw, 5rem) clamp(4rem, 7vh, 6rem) var(--content-edge);
    }
    .hero h1 {
      width: max-content;
      max-width: none;
      font-size: clamp(2.75rem, calc(2rem + 4vw), 5.5rem);
      line-height: .91;
    }
    .hero h1 span { white-space: nowrap; }
    .hero-lead { max-width: 34rem; font-size: 1.15rem; line-height: 1.5; }
    .hero .button { min-width: 20rem; }
    .hero-reassurance { font-size: .8rem; }

    .authority { padding: 2.35rem 0; }
    .authority-title { font-size: .95rem; }
    .logo-row { max-width: 51rem; gap: 3rem; }
    .logo-cell { height: 2.35rem; }
    .logo-cell img { max-height: 2rem; }
    .logo-cell:first-child img { max-height: 2.15rem; }
    .logo-cell:nth-child(2) img { max-height: 2.1rem; }

    .proof-intro { margin-bottom: 2.75rem; }
    .proof-intro .display {
      max-width: none;
      font-size: clamp(2rem, calc(1.5rem + 2.5vw), 3.25rem);
      white-space: nowrap;
    }
    .proof-title-line { display: inline; }
    .proof-carousel {
      grid-auto-flow: row;
      grid-auto-columns: auto;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
      overflow: visible;
      margin: 0;
      padding: 0;
      scroll-snap-type: none;
    }
    .proof-card { height: 100%; border: 1px solid rgba(16,16,14,.055); border-radius: .75rem; box-shadow: 0 14px 38px rgba(16,16,14,.07); }
    .proof-card-body {
      min-height: 19rem;
      height: 100%;
      display: flex;
      flex-direction: column;
      padding: 2rem;
    }
    .proof-card-body > div { min-width: 0; min-height: 0; flex: 1; display: flex; flex-direction: column; }
    .proof-card-body img { width: 3.75rem; height: 3.75rem; margin-bottom: 1.25rem; }
    .proof-card-body strong {
      min-height: 0;
      overflow: hidden;
      margin: 0 0 .55rem;
      font-size: clamp(1.35rem, 1.8vw, 1.8rem);
      line-height: 1.08;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .proof-card-body .proof-metric { margin: 0 0 1.2rem; padding: .42rem .65rem; font-size: .7rem; }
    .proof-card-body p {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
      font-size: .92rem;
      line-height: 1.55;
    }
    .proof-card-body > div > span:last-child { margin-top: auto; padding-top: .85rem; }
    .proof-card-body span { font-size: .72rem; }

    .problem-story { width: min(calc(100% - (2 * var(--page-gutter))), 66rem); padding-block: 1rem; }
    .problem-story .display { max-width: none; margin-bottom: 1.5rem; font-size: clamp(3.35rem, 5vw, 5.15rem); }
    .problem-thesis { max-width: none; font-size: clamp(1.65rem, 2.3vw, 2.2rem); }
    .problem-narrative { gap: 1.65rem; margin-top: 3.25rem; }
    .problem-narrative > p { max-width: 49rem; font-size: 1.17rem; line-height: 1.7; }
    .problem-reveal { margin-top: 1.15rem !important; font-size: 1.9rem !important; }
    .problem-channels { font-size: 1.28rem !important; }
    .problem-outcome { max-width: 52rem !important; margin-top: 1rem !important; border-left-width: 5px; padding: 1.65rem 1.9rem; font-size: 1.4rem !important; line-height: 1.42 !important; }

    .outcomes-lanes {
      width: 100%;
      max-width: var(--max);
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      padding-inline: var(--page-gutter);
      border-top: 0;
      border-bottom: 0;
    }
    .outcomes-intro {
      width: 100%;
      max-width: var(--max);
      padding: clamp(5rem, 7vw, 6.5rem) var(--page-gutter) clamp(3.75rem, 5vw, 4.75rem);
    }
    .outcomes-eyebrow { margin-bottom: 1.5rem; font-size: .7rem; }
    .outcomes-intro h2 { max-width: 13em; font-size: clamp(2.75rem, 4vw, 4rem); }
    .outcomes-intro-copy { margin-top: 1.5rem; font-size: 1.05rem; }
    .outcomes-lane {
      min-width: 0;
      min-height: clamp(31rem, 39vw, 36rem);
      display: flex;
      flex-direction: column;
      border-top: 1px solid #353532;
      border-bottom: 1px solid #353532;
      padding: clamp(3.5rem, 4vw, 4.5rem) clamp(1.6rem, 2.8vw, 3rem);
    }
    .outcomes-lane + .outcomes-lane {
      border-left: 1px solid #353532;
    }
    .outcomes-lane:first-child { padding-left: 0; }
    .outcomes-lane:last-child { padding-right: 0; }
    .outcomes-number { margin-bottom: clamp(3.75rem, 5vw, 5rem); }
    .outcomes-lane h2 { font-size: clamp(2.75rem, 4vw, 4.25rem); }
    .outcomes-benefit { margin-top: 2.5rem; font-size: 1.08rem; }
    .outcomes-topics { margin-top: auto; padding-top: 2.5rem; font-size: .8rem; }

    .definition-grid { display: grid; grid-template-columns: minmax(18rem, .38fr) minmax(0, .62fr); gap: clamp(3rem, 6vw, 6rem); align-items: center; }
    .definition-copy {
      position: static;
      width: auto;
      pointer-events: auto;
    }
    .definition-copy .section-title {
      max-width: 8.5em;
      color: #fff;
      font-size: clamp(2.5rem, 3.5vw, 4rem);
    }
    .definition-copy .intro { max-width: 30rem; color: rgba(255,255,255,.78); font-size: 1.08rem; }
    .definition-grid > div:last-child { min-width: 0; }
    .video-frame {
      width: 100%;
      min-height: 0;
      aspect-ratio: 16 / 9;
      border-color: rgba(255,255,255,.18);
      box-shadow: 0 24px 60px rgba(0,0,0,.22);
    }
    .video-caption { font-size: .72rem; }

    .doing-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(4rem, 7vw, 7rem); }
    .community-image { width: 100%; aspect-ratio: 4 / 3; justify-self: stretch; overflow: hidden; background: transparent; border-radius: 0; box-shadow: none; }
    .community-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 10%; padding: 0; }
    .doing-grid .steps { grid-template-columns: 1fr; gap: .85rem; }
    .doing-grid .steps .step {
      min-height: auto;
      grid-template-columns: 3rem 1fr;
      padding: 1.1rem 1.25rem;
    }
    .doing-grid .steps .step-number { width: 3rem; height: 3rem; }
    .doing-grid .steps .step h3 { font-size: 1.25rem; }

    section#pricing { padding: clamp(6rem, 8vw, 8rem) 0; }
    .pricing-wrap { display: grid; grid-template-columns: minmax(0, 50rem); justify-content: center; align-items: start; gap: 1.5rem; }
    .pricing-card { border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: #191916; box-shadow: 0 24px 70px rgba(0,0,0,.22); padding: clamp(2.4rem, 4vw, 3.5rem); }
    .pricing-head { margin-bottom: 1.75rem; }
    .pricing-head .display { font-size: clamp(2.5rem, 3.6vw, 3.75rem); white-space: normal; }
    .pricing-benefits { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.75rem; }
    .pricing-benefits li { grid-template-columns: 1.25rem 1fr; gap: .7rem; font-size: 1rem; }
    .pricing-summary { margin-bottom: 1.25rem; font-size: 1.15rem; }
    .pricing-action { width: min(100%, 26rem); }
    .pricing-proof { width: min(100%, 38rem); grid-template-columns: 4rem 1fr; gap: 1.1rem; justify-self: center; margin: 0; border: 1px solid rgba(255,255,255,.09); padding: 1.5rem; }
    .pricing-proof img { width: 4rem; height: 4rem; }
    .pricing-proof blockquote { font-size: .95rem; }

    .founder-grid { grid-template-columns: 1.1fr .9fr; gap: clamp(4rem, 8vw, 8rem); }
    .contact-frame { aspect-ratio: 3 / 2; }
    .credential { padding: 1rem; }
    .credential strong { font-size: .96rem; }
    .credential span { font-size: .74rem; }
    .fit-grid { grid-template-columns: minmax(0, 1.2fr) minmax(22rem, .8fr); gap: clamp(3rem, 6vw, 6rem); align-items: stretch; }
    .fit-item { padding: 1rem; }
    .fit-item strong { font-size: 1rem; }
    .not-for-you {
      min-height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      border-left: 5px solid var(--accent);
      background: var(--ink);
      color: var(--paper-light);
      padding: clamp(2rem, 4vw, 4rem);
    }
    .not-for-you h3 { margin-bottom: 1.1rem; font-size: 1.5rem; }
    .fit-list--negative .fit-item { background: rgba(255,255,255,.085); }
    .fit-list--negative .fit-item > span { background: var(--accent); color: var(--ink); }

    .faq .narrow {
      display: grid;
      grid-template-columns: minmax(14rem, .42fr) minmax(0, 1.58fr);
      gap: clamp(3rem, 5vw, 5rem);
      align-items: start;
    }
    .faq-head { margin: 0; }
    .faq-list { min-width: 0; width: 100%; }
    .faq details { margin-bottom: .75rem; padding-inline: 1.2rem; }
    .faq summary { min-height: 4.5rem; font-size: 1rem; }
    .faq details p { font-size: .9rem; line-height: 1.6; }

    .final { padding: clamp(6rem, 8vw, 8rem) 0; text-align: left; }
    .final .narrow {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(22rem, .85fr);
      grid-template-rows: auto auto auto;
      column-gap: clamp(4rem, 8vw, 8rem);
      align-items: center;
    }
    .final .display {
      grid-column: 1;
      grid-row: 1 / 4;
      max-width: 9em;
      margin: 0;
      font-size: clamp(2rem, calc(1.5rem + 2.5vw), 3.25rem);
    }
    .final-lead { grid-column: 2; grid-row: 1; margin: 0 0 1.35rem; font-size: 1.08rem; }
    .final .button { grid-column: 2; grid-row: 2; width: 100%; max-width: none; }
    .final .billing { grid-column: 2; grid-row: 3; margin-top: .8rem; text-align: left; }
  }

  /* Underexposed editorial rebrand: restrained print system, shared across every section. */
  body { background: var(--paper); color: var(--ink); }
  .wrap,
  .narrow { width: min(calc(100% - (2 * var(--page-margin))), var(--max)); }
  .section { padding: var(--section-space) 0; }
  .paper-light { background: var(--paper); }
  .ink-section { background: var(--dark); color: var(--text-dark); }
  .display {
    letter-spacing: -.065em;
    line-height: .92;
  }
  .section-title {
    letter-spacing: -.055em;
    line-height: .98;
  }
  .intro { color: var(--muted); font-size: .96rem; line-height: 1.62; }
  .intro--light { color: var(--muted-dark); }
  .button {
    min-height: 3.1rem;
    border-radius: .28rem;
    background: var(--accent);
    color: var(--ink);
    box-shadow: none;
    padding: .85rem 1.3rem;
  }
  .button:hover { background: var(--accent-hover); }
  .button:focus-visible,
  summary:focus-visible,
  .text-link:focus-visible { outline-color: var(--accent); }
  .billing { color: var(--muted); }

  .hero {
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(26rem, 62svh) auto;
    overflow: hidden;
    background: var(--paper);
    color: var(--ink);
  }
  .hero::after { display: none; }
  .hero-media {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    height: 100%;
  }
  .hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    animation: none;
    transform: none;
  }
  .hero > .hero-top {
    position: absolute;
    inset: 0 0 auto;
    z-index: 2;
    padding: 1.5rem var(--page-margin) 0;
  }
  .hero-logo { width: 116px; }
  .hero > .hero-body {
    grid-column: 1;
    grid-row: 2;
    width: min(calc(100% - (2 * var(--page-margin))), 44rem);
    margin: 0 auto;
    padding: 2.35rem 0 4.5rem;
  }
  .hero h1 {
    max-width: 9.5em;
    margin-bottom: 1.15rem;
    color: var(--ink);
    font-size: clamp(2.65rem, 11.4vw, 4.2rem);
    line-height: .9;
  }
  .hero h1 span { white-space: normal; }
  .hero-lead { max-width: 33rem; margin-bottom: 1.5rem; color: var(--muted); font-size: .98rem; line-height: 1.55; }
  .hero-lead strong { color: var(--ink); }
  .hero .button { width: 100%; }
  .hero-body [data-major-cta] { animation: none; }
  .hero-reassurance { margin-top: .8rem; color: var(--muted); font-size: .72rem; }

  .authority {
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
    background: #11110f;
    padding: 1.65rem 0;
  }
  .authority-title {
    margin-bottom: 1rem;
    color: rgba(255,255,255,.78);
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .logo-row .logo-cell img {
    filter: grayscale(1) brightness(0) invert(1);
    opacity: .88;
  }
  .logo-cell:nth-child(2) img {
    filter: none;
    opacity: 1;
  }

  .proof-intro { margin-bottom: 2rem; }
  .proof-carousel { gap: 0; padding-bottom: .25rem; }
  .proof-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .proof-card-body {
    min-height: 15rem;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 1.5rem 1.25rem 1.6rem;
  }
  .proof-card + .proof-card .proof-card-body { border-left: 1px solid var(--line); }
  .proof-card-body strong { font-size: 1.14rem; letter-spacing: -.035em; }
  .proof-card-body p { color: #4f4c47; font-size: .82rem; line-height: 1.55; }
  .proof-card-body span { color: var(--muted); font-size: .64rem; }
  .proof-card-body .proof-metric {
    margin: .3rem 0 1rem;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    padding: 0;
    font-size: .6rem;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  section[aria-labelledby="problem-title"] {
    border-top: 0;
    background: var(--paper);
    color: var(--ink);
  }
  .problem-story { width: min(calc(100% - (2 * var(--page-margin))), 57rem); }
  .problem-story .display { color: var(--ink); }
  .problem-thesis { color: var(--ink); }
  .problem-narrative {
    border-top: 1px solid var(--line);
    padding-top: 2rem;
  }
  .problem-narrative > p,
  .problem-proof { color: #4f4c47 !important; }
  .problem-reveal,
  .problem-channels { color: var(--ink) !important; }
  .problem-outcome {
    max-width: 44rem !important;
    border-top: 1px solid var(--line);
    border-left: 0;
    background: transparent;
    padding: 1.5rem 0 0;
    color: var(--ink) !important;
  }

  #trial-challenges { background: var(--paper); }
  .trial-mobile-nav::before { background: var(--line); }
  .trial-mobile-nav button { color: var(--muted); }
  .trial-mobile-nav button::after { border-color: var(--ink); background: var(--paper); }
  .trial-mobile-nav button[aria-current="step"] { color: var(--ink); }
  .trial-mobile-nav button[aria-current="step"]::after { border-color: var(--accent); background: var(--accent); }
  .trial-mobile-card {
    border-color: var(--line);
    border-radius: .25rem;
    background: rgba(255,255,255,.18);
    box-shadow: none;
  }
  .trial-mobile-card--finish { border-color: var(--ink); background: var(--ink); color: var(--text-dark); }
  .trial-milestone-node { background: var(--paper); }
  .trial-milestone--finish .trial-milestone-node::after { background: var(--accent); }

  .outcomes-section { background: var(--dark); color: var(--text-dark); }
  .outcomes-lanes { border-color: var(--dark-line); }
  .outcomes-lane + .outcomes-lane { border-color: var(--dark-line); }
  .outcomes-eyebrow,
  .outcomes-number { color: var(--muted-dark); }
  .outcomes-intro h2,
  .outcomes-lane h2 { color: var(--text-dark); }
  .outcomes-intro-copy,
  .outcomes-topics { color: var(--muted-dark); }
  .outcomes-benefit { color: var(--text-dark); }

  #trailer {
    border-top: 1px solid var(--dark-line);
    background: var(--dark);
  }
  .video-frame {
    border-color: var(--dark-line);
    border-radius: 0;
    background: #151513;
    box-shadow: none;
  }
  .video-caption { color: var(--muted-dark); }

  #community { background: var(--paper); }
  .community-image { border-radius: 0; }
  .image-caption {
    right: auto;
    bottom: 0;
    left: 0;
    border-radius: 0;
    background: rgba(12,12,11,.88);
    color: var(--text-dark);
    padding: .55rem .75rem;
  }
  .steps { gap: 0; }
  .step {
    grid-template-columns: 2.25rem 1fr;
    gap: .9rem;
    border-top: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    padding: 1.25rem 0;
  }
  .step:last-child { border-bottom: 1px solid var(--line); }
  .step-number {
    width: auto;
    height: auto;
    display: block;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    font-size: .62rem;
    letter-spacing: .12em;
    line-height: 1.4;
  }
  .step-label { margin-top: 0; color: var(--muted); }

  section#pricing { background: var(--dark); color: var(--text-dark); }
  .pricing-card {
    border-color: var(--dark-line);
    border-radius: .3rem;
    background: transparent;
    box-shadow: none;
  }
  .pricing-benefits { gap: 0; }
  .pricing-benefits li {
    border-top: 1px solid var(--dark-line);
    padding: .85rem 0;
  }
  .pricing-benefits li:last-child { border-bottom: 1px solid var(--dark-line); }
  .pricing-benefits .check { color: var(--muted-dark); }
  .pricing-proof {
    border: 0;
    border-top: 1px solid var(--dark-line);
    border-radius: 0;
    background: transparent;
    padding: 1.25rem 0 0;
  }
  .pricing-after-cta,
  .pricing-proof cite { color: var(--muted-dark); }

  #meet-frederik { background: var(--paper); }
  .contact-sheet,
  .contact-frame { border-radius: 0; background: transparent; }
  .contact-frame img { filter: saturate(.72) contrast(1.03); }
  .credentials { gap: 0; border-top: 1px solid var(--line); }
  .credential {
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    padding: .9rem 0;
  }
  .credential:nth-child(odd) { padding-right: .75rem; }
  .credential:nth-child(even) { border-left: 1px solid var(--line); padding-left: .75rem; }
  .credential span { color: var(--muted); }

  .fit-grid { gap: 2.5rem; }
  .fit-list { gap: 0; }
  .fit-item {
    grid-template-columns: 1.25rem 1fr;
    gap: .65rem;
    border-top: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    padding: 1rem 0;
  }
  .fit-item:last-child { border-bottom: 1px solid var(--line); }
  .fit-item > span,
  .fit-list--negative .fit-item > span {
    width: auto;
    height: auto;
    display: block;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font-size: .78rem;
  }
  .not-for-you {
    border-top: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    padding: 1.5rem 0 0;
  }
  .fit-list--negative .fit-item { background: transparent; }

  .faq { background: var(--paper); }
  .faq details {
    margin: 0;
    border-top: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    padding-inline: 0;
  }
  .faq details:last-child { border-bottom: 1px solid var(--line); }
  .faq summary { min-height: 4.25rem; }
  .faq details p { color: var(--muted); }

  .final {
    border-top: 1px solid var(--dark-line);
    background: var(--dark);
    color: var(--text-dark);
  }
  .final-lead { color: var(--muted-dark); }
  .final .billing { color: var(--muted-dark); }
  .sticky { border-color: var(--dark-line); background: rgba(13,13,12,.98); }

  @media (min-width: 768px) {
    .hero { grid-template-rows: 34rem auto; }
    .hero > .hero-body { width: min(calc(100% - 4rem), 48rem); padding: 3rem 0 5.5rem; }
    .hero h1 { font-size: clamp(4rem, 8vw, 5.25rem); }
    .hero .button { width: auto; min-width: 20rem; }
    .proof-carousel { grid-auto-columns: min(66%, 39rem); }
  }

  @media (min-width: 1024px) {
    :root {
      --max: 82rem;
      --page-gutter: clamp(2rem, 5vw, 5rem);
      --content-edge: max(var(--page-gutter), calc((100vw - var(--max)) / 2 + var(--page-gutter)));
      --section-space: clamp(6rem, 7vw, 7.5rem);
    }
    .wrap,
    .narrow,
    .pricing-wrap {
      width: 100%;
      max-width: var(--max);
      padding-inline: var(--page-gutter);
    }
    .section { padding: var(--section-space) 0; }
    .section-title,
    .display--small { font-size: clamp(2.35rem, 3.35vw, 3.6rem); }

    .hero {
      min-height: min(88vh, 52rem);
      grid-template-columns: minmax(0, 46%) minmax(0, 54%);
      grid-template-rows: auto 1fr;
      background: var(--paper);
    }
    .hero-media {
      grid-column: 2;
      grid-row: 1 / 3;
      height: 100%;
    }
    .hero-media img { object-position: center 42%; }
    .hero > .hero-top {
      position: relative;
      grid-column: 1;
      grid-row: 1;
      padding: 2.25rem 0 0 var(--content-edge);
    }
    .hero-logo { width: 142px; filter: brightness(0); }
    .hero > .hero-body {
      grid-column: 1;
      grid-row: 2;
      width: auto;
      max-width: 42rem;
      align-self: end;
      margin: 0;
      padding: 4rem clamp(2.5rem, 4vw, 4.5rem) clamp(4.5rem, 7vh, 6rem) var(--content-edge);
    }
    .hero h1 {
      width: auto;
      max-width: 8.5em;
      font-size: clamp(3.4rem, 5vw, 5.25rem);
      line-height: .9;
    }
    .hero h1 span { white-space: normal; }
    .hero-lead { max-width: 31rem; font-size: 1.08rem; }
    .hero .button { min-width: 21rem; }

    .authority { padding: 2rem 0; }
    .proof-carousel { gap: 0; }
    .proof-card { border: 0; border-radius: 0; box-shadow: none; }
    .proof-card-body {
      min-height: 19rem;
      border-color: var(--line);
      padding: 2rem clamp(1.5rem, 2.5vw, 2.5rem);
    }
    .proof-card-body strong { font-size: clamp(1.45rem, 1.8vw, 1.85rem); }
    .proof-card-body .proof-metric { margin-bottom: 1.15rem; padding: 0; }

    .problem-story { width: min(calc(100% - (2 * var(--page-gutter))), 61rem); padding-block: .5rem; }
    .problem-story .display { max-width: 10.5em; font-size: clamp(3.5rem, 5vw, 5.1rem); }
    .problem-thesis { max-width: 28rem; font-size: clamp(1.45rem, 2.15vw, 2rem); }
    .problem-narrative { margin-top: 3rem; padding-top: 2.5rem; }
    .problem-narrative > p { max-width: 48rem; font-size: 1.08rem; line-height: 1.72; }
    .problem-outcome { max-width: 48rem !important; padding-top: 1.75rem; font-size: 1.35rem !important; }

    #trial-challenges { padding-bottom: 5rem; }
    .trial-desktop-track::before { background: var(--line); }
    .trial-milestone-node { background: var(--paper); }

    .outcomes-lanes,
    .outcomes-intro { max-width: var(--max); }
    .outcomes-lane { border-color: var(--dark-line); }

    #trailer { padding-top: 7rem; }
    .video-frame { box-shadow: none; }

    .doing-grid { gap: clamp(4rem, 7vw, 6.5rem); }
    .doing-grid .steps { gap: 0; }
    .doing-grid .steps .step {
      grid-template-columns: 2.5rem 1fr;
      border-radius: 0;
      background: transparent;
      padding: 1.35rem 0;
    }
    .doing-grid .steps .step-number { width: auto; height: auto; }

    section#pricing { padding: clamp(6.5rem, 8vw, 8rem) 0; }
    .pricing-wrap { grid-template-columns: minmax(0, 47rem); gap: 1.75rem; }
    .pricing-card { border-radius: .3rem; padding: clamp(2.75rem, 4vw, 3.75rem); }
    .pricing-benefits { gap: 0; }
    .pricing-benefits li { padding: 1rem 0; }
    .pricing-action { width: min(100%, 27rem); }
    .pricing-proof {
      width: min(100%, 42rem);
      grid-template-columns: 4rem 1fr;
      justify-self: center;
      padding: 1.5rem 0 0;
    }

    .credentials { margin-top: 1.75rem; }
    .credential { border-radius: 0; background: transparent; padding-block: 1rem; }
    .fit-grid { grid-template-columns: minmax(0, 1.15fr) minmax(21rem, .85fr); align-items: start; }
    .not-for-you {
      min-height: 0;
      border-top: 1px solid var(--line);
      border-left: 0;
      background: transparent;
      color: var(--ink);
      padding: 1.5rem 0 0;
    }
    .fit-list--negative .fit-item { background: transparent; }
    .fit-list--negative .fit-item > span { background: transparent; color: var(--ink); }

    .faq details { margin: 0; border-radius: 0; background: transparent; padding-inline: 0; }
    .faq summary { min-height: 4.75rem; }

    .final .button { width: min(100%, 27.5rem); }
  }

  /* Light-section restraint and monochrome editorial actions. */
  body.has-sticky { padding-bottom: calc(4.75rem + env(safe-area-inset-bottom)); }
  .button {
    width: fit-content;
    min-width: 0;
    min-height: 3.5rem;
    border: 0;
    border-radius: 7px;
    background: var(--ink);
    color: var(--text-dark);
    padding: 0 1.75rem;
    font-size: 1rem;
    font-weight: 680;
    box-shadow: none;
    transform: none;
    transition: background-color 170ms ease, color 170ms ease, opacity 170ms ease;
  }
  .button:hover { background: #242422; transform: none; }
  .button:active { opacity: .82; transform: none; }
  .button:focus-visible,
  summary:focus-visible,
  .text-link:focus-visible {
    outline: 2px solid var(--ink);
    outline-offset: 3px;
  }
  .button--full {
    width: min(100%, 21.25rem);
    margin-inline: auto;
  }
  .hero .button,
  .ink-section .button,
  section#pricing .button,
  .final .button {
    background: var(--text-dark);
    color: var(--ink);
  }
  .hero .button:hover,
  .ink-section .button:hover,
  section#pricing .button:hover,
  .final .button:hover { background: #fff; }
  .hero .button:focus-visible,
  .ink-section .button:focus-visible,
  section#pricing .button:focus-visible,
  .final .button:focus-visible { outline-color: var(--text-dark); }
  .billing,
  .hero-reassurance,
  .pricing-after-cta { font-size: .82rem; font-weight: 400; }

  .hero {
    min-height: 100vh;
    height: auto;
    max-height: none;
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--dark);
    color: var(--text-dark);
  }
  .hero::after {
    display: block;
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.05) 37%, rgba(0,0,0,.73) 70%, rgba(0,0,0,.94) 100%);
  }
  .hero-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
  }
  .hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    animation: none;
    transform: none;
  }
  .hero > .hero-top {
    position: relative;
    inset: auto;
    z-index: 2;
    padding: 1.5rem var(--page-margin) 0;
  }
  .hero-logo { width: 116px; filter: none; }
  .hero > .hero-body {
    position: relative;
    z-index: 2;
    width: min(calc(100% - (2 * var(--page-margin))), 44rem);
    max-width: none;
    margin: auto auto 0;
    padding: 2.5rem 0 2.75rem;
  }
  .hero h1 {
    width: auto;
    max-width: none;
    margin-bottom: 1rem;
    color: var(--text-dark);
    font-size: clamp(2.4rem, 10.2vw, 2.75rem);
    line-height: .9;
  }
  .hero h1.hero-headline--split { max-width: none; }
  .hero h1 span { display: block; white-space: nowrap; }
  .hero-lead {
    max-width: 33rem;
    margin-bottom: 1rem;
    color: rgba(242,240,234,.84);
    font-size: 1rem;
    line-height: 1.5;
  }
  .hero-lead strong { color: var(--text-dark); }
  .hero-proof {
    max-width: 33rem;
    margin: 0 0 1.4rem;
    color: rgba(242,240,234,.68);
    font-size: .875rem;
    line-height: 1.48;
  }
  .hero .button { width: min(100%, 21.25rem); margin-inline: auto; }
  .hero-body [data-major-cta] { display: flex; justify-content: center; }
  .hero-reassurance { margin-top: .72rem; color: rgba(242,240,234,.68); }

  .problem-story {
    --problem-text: #181510;
    width: min(calc(100% - (2 * var(--page-margin))), 72rem);
    color: var(--problem-text);
  }
  .problem-story header { max-width: 45rem; }
  .problem-story .display {
    max-width: 11em;
    margin-bottom: 1.35rem;
    font-size: clamp(2.45rem, 10.5vw, 3.6rem);
    line-height: .94;
  }
  .problem-thesis {
    max-width: 27rem;
    font-size: clamp(1.35rem, 6.3vw, 1.75rem);
    font-weight: 680;
    line-height: 1.16;
  }
  .problem-narrative {
    display: block;
    margin-top: 2.25rem;
    border-top: 1px solid var(--line);
    padding-top: 1.75rem;
  }
  .problem-plan > p,
  .problem-method > p,
  .problem-narrative > p {
    max-width: 62ch;
    margin: 0 0 1.15rem;
    color: var(--problem-text) !important;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.68;
  }
  .problem-audiences {
    display: grid;
    gap: .8rem;
    max-width: 62ch;
    margin: 1rem 0 0;
    padding: 0;
    color: var(--problem-text);
    list-style: none;
  }
  .problem-audiences > li {
    display: flex;
    gap: .65rem;
    align-items: flex-start;
    color: var(--problem-text);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.5;
  }
  .problem-check {
    flex: 0 0 auto;
    width: 1rem;
    color: var(--problem-text);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.5;
  }
  .problem-narrative .problem-reveal {
    max-width: 62ch;
    margin: 2.15rem 0 1rem;
    color: var(--problem-text) !important;
    font-size: 1.45rem;
    font-weight: 650;
    line-height: 1.22;
  }
  .problem-narrative .problem-channels {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    max-width: 62ch;
    margin: 1.25rem 0 0;
    padding: 0;
    color: var(--problem-text) !important;
    list-style: none;
  }
  .problem-channels > li {
    border: 1px solid var(--problem-text);
    border-radius: 999px;
    background: var(--problem-text);
    padding: .4rem .7rem;
    color: #fff;
    font-size: .78rem;
    font-weight: 650;
    line-height: 1;
  }
  .problem-narrative .problem-outcome {
    max-width: 39rem !important;
    margin-top: 2.35rem !important;
    border-top: 0;
    border-left: 4px solid var(--ink);
    background: rgba(12,12,11,.055);
    padding: 1.15rem 1rem 1.2rem;
    font-size: 1.18rem !important;
    color: var(--problem-text) !important;
    font-weight: 640;
    line-height: 1.45 !important;
  }

  .trial-mobile-nav button[aria-current="step"]::after,
  .trial-milestone--finish .trial-milestone-node { border-color: var(--ink); background: var(--ink); }
  .pricing-benefits .check { color: var(--muted-dark); }

  .sticky {
    min-height: auto;
    justify-content: center;
    border-top: 1px solid rgba(12,12,11,.14);
    background: rgb(242,239,231);
    color: var(--ink);
    padding: .5rem 1.5rem calc(.5rem + env(safe-area-inset-bottom));
    box-shadow: none;
  }
  .sticky .button {
    width: min(100%, 21.25rem);
    min-height: 3.5rem;
    margin-inline: auto;
    background: var(--ink);
    color: var(--text-dark);
    white-space: nowrap;
  }
  .sticky .button:hover { background: #242422; }
  .sticky .button:focus-visible { outline-color: var(--ink); }
  .final .button { width: min(100%, 21.25rem); min-width: 0; margin-inline: auto; }

  @media (min-width: 768px) {
    body.has-sticky { padding-bottom: 0; }
    .button--full { width: fit-content; min-width: 20rem; max-width: 25rem; margin-inline: 0; }
    .hero { min-height: min(88vh, 53.75rem); display: flex; }
    .hero > .hero-top { padding: 2.5rem 0 0 var(--content-edge); }
    .hero-logo { width: 142px; filter: none; }
    .hero > .hero-body {
      width: min(calc(100% - (2 * var(--page-gutter))), var(--max));
      max-width: none;
      margin: auto auto 0;
      padding: 4rem 0 clamp(4.5rem, 7vh, 6rem);
    }
    .hero h1 {
      max-width: 8.5em;
      font-size: clamp(3.25rem, 4.1vw, 4.5rem);
      line-height: .9;
    }
    .hero h1.hero-headline--split {
      max-width: 11em;
    }
    .hero h1.hero-headline--discovery {
      max-width: 15em;
      text-wrap: balance;
    }
    .hero h1.hero-headline--discovery span { white-space: normal; }
    .hero h1.hero-headline--split .hero-headline-lead { display: inline; }
    .hero h1.hero-headline--split .hero-headline-lead + .hero-headline-lead::before { content: " "; }
    .hero-lead { max-width: 31rem; font-size: 1.08rem; }
    .hero-proof { max-width: 31rem; font-size: .92rem; }
    .hero .button { width: fit-content; min-width: 21rem; margin-inline: 0; }
    .hero-body [data-major-cta] { justify-content: flex-start; }

    .problem-story { width: min(calc(100% - (2 * var(--page-gutter))), 72rem); }
    .problem-story header { max-width: 52rem; }
    .problem-story .display { max-width: 12em; font-size: clamp(3.25rem, 4.4vw, 4rem); }
    .problem-thesis { max-width: 34rem; font-size: clamp(1.45rem, 2vw, 1.75rem); }
    .problem-narrative {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      grid-template-rows: auto auto auto;
      column-gap: clamp(4rem, 8vw, 7rem);
      row-gap: 1.2rem;
      margin-top: 3rem;
      padding-top: 2.25rem;
    }
    .problem-plan > p,
    .problem-method > p,
    .problem-narrative > p { max-width: 62ch; margin: 0; font-size: 1.05rem; line-height: 1.7; }
    .problem-plan { grid-column: 1; grid-row: 1; }
    .problem-method { grid-column: 2; grid-row: 1; }
    .problem-method .problem-reveal { margin-top: 0; }
    .problem-method .problem-proof { margin-top: 1.2rem; }
    .problem-audiences { gap: .9rem; margin-top: 1.2rem; }
    .problem-audiences > li { font-size: 1.05rem; }
    .problem-narrative > .problem-channels { grid-column: 1; grid-row: 2; margin-top: .6rem; }
    .problem-narrative > .problem-outcome {
      grid-column: 1 / -1;
      grid-row: 3;
      max-width: 62ch !important;
      margin-top: 1.4rem !important;
      padding: 1.5rem 1.6rem 1.55rem;
    }

    .trial-cta .button { min-width: 21rem; margin-inline: auto; }
    .pricing-action { width: min(100%, 23rem); }
    .pricing-action .button { width: 100%; min-width: 0; }
    .final .button { width: fit-content; min-width: 21rem; }
  }

  @media (min-width: 1024px) {
    .hero::after {
      background:
        linear-gradient(90deg, rgba(9,9,9,.94) 0%, rgba(9,9,9,.82) 27%, rgba(9,9,9,.44) 49%, rgba(9,9,9,.12) 70%, rgba(9,9,9,.02) 100%),
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.08) 55%, rgba(0,0,0,.42) 100%);
    }
  }

  /* One editorial typography system, derived from the approved outcomes chapter. */
  :root {
    --type-display-xl-size: clamp(3.5rem, 15.3vw, 4rem);
    --type-display-size: clamp(2.75rem, 12vw, 3.125rem);
    --type-section-title-size: clamp(2.125rem, 9.6vw, 2.625rem);
    --type-subhead-size: clamp(1.45rem, 6.3vw, 1.75rem);
    --type-body-large-size: clamp(1.125rem, 5vw, 1.3rem);
    --type-body-size: clamp(1.0625rem, 4.8vw, 1.2rem);
    --type-metadata-size: clamp(.6875rem, 3.05vw, .8125rem);
    --type-detail-size: clamp(.9375rem, 4vw, 1.0625rem);
    --type-display-xl-weight: 890;
    --type-display-weight: 870;
    --type-section-title-weight: 760;
    --type-subhead-weight: 680;
    --type-body-weight: 400;
    --type-metadata-weight: 680;
    --type-detail-weight: 540;
    --type-display-xl-leading: .92;
    --type-display-leading: .99;
    --type-section-title-leading: 1.035;
    --type-subhead-leading: 1.18;
    --type-body-leading: 1.52;
    --type-metadata-leading: 1.1;
    --type-detail-leading: 1.46;
    --type-display-xl-tracking: -.065em;
    --type-display-tracking: -.047em;
    --type-section-title-tracking: -.036em;
    --type-subhead-tracking: -.018em;
    --type-metadata-tracking: .15em;
  }

  .display {
    font-size: var(--type-display-size);
    font-weight: var(--type-display-weight);
    letter-spacing: var(--type-display-tracking);
    line-height: var(--type-display-leading);
  }
  .section-title,
  .proof-intro .section-title,
  #trial-title {
    font-size: var(--type-section-title-size);
    font-weight: var(--type-section-title-weight);
    letter-spacing: var(--type-section-title-tracking);
    line-height: var(--type-section-title-leading);
  }
  .intro {
    font-size: var(--type-body-size);
    font-weight: var(--type-body-weight);
    line-height: var(--type-body-leading);
  }
  .step-label,
  .trial-mobile-day,
  .trial-milestone-day,
  .outcomes-eyebrow,
  .outcomes-number {
    font-size: var(--type-metadata-size);
    font-weight: var(--type-metadata-weight);
    letter-spacing: var(--type-metadata-tracking);
    line-height: var(--type-metadata-leading);
    text-transform: uppercase;
  }
  .outcomes-intro h2 {
    font-size: var(--type-display-size);
    font-weight: var(--type-display-weight);
    letter-spacing: var(--type-display-tracking);
    line-height: var(--type-display-leading);
  }
  .outcomes-lane h2 {
    font-size: var(--type-display-xl-size);
    font-weight: var(--type-display-xl-weight);
    letter-spacing: var(--type-display-xl-tracking);
    line-height: var(--type-display-xl-leading);
  }
  .outcomes-benefit {
    margin-top: 1.65rem;
    font-size: var(--type-body-large-size);
    font-weight: var(--type-body-weight);
    line-height: 1.4;
  }
  .outcomes-topics {
    margin-top: 1.05rem;
    font-size: var(--type-detail-size);
    font-weight: var(--type-detail-weight);
    letter-spacing: 0;
    line-height: var(--type-detail-leading);
  }
  .section-title--proof { max-width: 12em; margin-bottom: 0; }
  .proof-kicker {
    margin: 0 0 .7rem;
    color: #66635d;
    font-size: var(--type-metadata-size);
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1;
    text-transform: uppercase;
  }
  .section-title--trial { max-width: 10.5em; }
  .section-title-line { display: block; }
  .proof-title-line { display: block; white-space: normal; }

  @media (min-width: 768px) {
    :root {
      --type-display-xl-size: clamp(3rem, 4vw, 4.25rem);
      --type-display-size: clamp(2.75rem, 4vw, 4rem);
      --type-section-title-size: clamp(2.4rem, 3.35vw, 3.4rem);
      --type-body-large-size: clamp(1.125rem, 1.5vw, 1.3125rem);
      --type-body-size: clamp(1.0625rem, 1.28vw, 1.1875rem);
      --type-metadata-size: .75rem;
      --type-detail-size: clamp(.9375rem, 1.12vw, 1.0625rem);
    }
    .section-title--proof,
    .section-title--trial { max-width: none; }
    .section-title--trial .section-title-line,
    .proof-title-line { display: inline; }
    .section-title--trial .section-title-line + .section-title-line::before,
    .proof-title-line + .proof-title-line::before { content: " "; }
    .outcomes-benefit { margin-top: 2.1rem; line-height: 1.42; }
    .outcomes-topics { margin-top: 1.15rem; }
  }

  /* Compact proof cards: portrait is a corner signature, not a content column. */
  .proof-card-body {
    position: relative;
    min-height: 12.75rem;
    display: block;
    padding: 1.35rem 1.25rem 1.45rem;
  }
  .proof-card-body::after { content: ""; display: block; clear: both; }
  .proof-card-body > div { min-width: 0; }
  .proof-card-body img {
    position: static;
    float: right;
    width: 3.25rem;
    height: 3.25rem;
    margin: 0 0 .8rem 1.1rem;
  }
  .proof-card-body strong {
    width: auto;
    min-height: 0;
    margin: 0 0 .38rem;
    white-space: normal;
  }
  .proof-card-body .proof-metric {
    width: fit-content;
    margin: 0 0 1rem;
  }
  .proof-card-body p { width: auto; margin-top: 0; }
  .proof-card-body > div > span:last-child {
    display: block;
    margin-top: .75rem;
    padding-top: 0;
  }

  @media (min-width: 768px) {
    .proof-card-body {
      min-height: 16rem;
      display: block;
      padding: 2rem clamp(1.5rem, 2.5vw, 2.5rem);
    }
    .proof-card-body > div { display: block; }
    .proof-card-body img {
      width: 3.75rem;
      height: 3.75rem;
      margin: 0 0 1rem 1.35rem;
    }
    .proof-card-body strong,
    .proof-card-body .proof-metric { width: auto; }
    .proof-card-body p {
      display: block;
      overflow: visible;
      -webkit-line-clamp: unset;
    }
    .proof-card-body > div > span:last-child { margin-top: 1rem; }
  }

  /* Final system pass: chapter rhythm, hierarchy, and compact editorial spacing. */
  :root {
    --max: 75rem;
    --measure: 43rem;
    --section-space: clamp(3.75rem, 14vw, 4.5rem);
  }
  .wrap,
  .narrow,
  .pricing-wrap { max-width: var(--max); }
  .section { padding: var(--section-space) 0; }
  .intro {
    max-width: 39rem;
    color: #66635d;
    font-size: clamp(1.0625rem, 4.55vw, 1.125rem);
    line-height: 1.55;
  }
  .section-title {
    font-size: clamp(1.875rem, 8.2vw, 2.25rem);
    font-weight: 760;
    letter-spacing: -.042em;
    line-height: 1.04;
  }
  .section-title--proof { font-size: clamp(2rem, 8.8vw, 2.35rem); }
  .section-title--trial {
    max-width: 10.5em;
    font-size: clamp(2.125rem, 9.3vw, 2.5rem);
    font-weight: 790;
    line-height: 1;
  }
  .proof-intro { margin-bottom: 1.55rem; }
  .proof-carousel { grid-auto-columns: min(84%, 21rem); }
  .proof-card-body { min-height: 12.25rem; }
  .proof-card-body p { font-size: .9rem; line-height: 1.52; }
  .proof-card-body > div > span:last-child { font-size: .7rem; }

  section[aria-labelledby="proof-title"] { padding-bottom: 3.5rem; }
  section[aria-labelledby="problem-title"] { padding-top: 3.5rem; padding-bottom: 3.75rem; }
  #trial-challenges { padding-top: 3.75rem; padding-bottom: 3.5rem; }
  .problem-narrative > p { font-size: 1.0625rem; line-height: 1.58; }
  .problem-narrative .problem-reveal { font-size: 1.4rem; }
  .trial-head { margin-bottom: 1.65rem; }
  .trial-mobile-card { min-height: 17rem; }
  .trial-mobile-card p { font-size: .96rem; line-height: 1.5; }
  .trial-mobile-card strong { font-size: .84rem; }
  .trial-action { margin-top: 1.8rem; }

  .outcomes-intro { padding: 4rem 0 3rem; }
  .outcomes-intro h2 { font-size: clamp(2.6rem, 11vw, 3.125rem); }
  .outcomes-intro-copy {
    margin-top: 1.15rem;
    color: #b3b0a9;
    font-size: 1.0625rem;
    line-height: 1.52;
  }
  .outcomes-lane { padding: 2.85rem 0 3rem; }
  .outcomes-number { margin-bottom: 1.65rem; }
  .outcomes-lane h2 {
    font-size: clamp(3.25rem, 14.2vw, 3.75rem);
    letter-spacing: -.066em;
    line-height: .86;
  }
  .outcomes-benefit { margin-top: 1.55rem; }
  .outcomes-topics { margin-top: .9rem; color: #b7b4ad; }

  /* Product preview and support are one warm-light chapter after the black outcomes chapter. */
  #trailer {
    border-top: 0;
    background: var(--paper);
    color: var(--ink);
    padding-bottom: 3.25rem;
  }
  #trailer .section-title--light { color: var(--ink); }
  #trailer .intro--light { color: var(--muted); }
  #trailer .video-frame { border-color: var(--line); background: #151513; }
  #trailer .video-caption { color: var(--muted); }
  .course-depth {
    --course-accent: #d3b83e;
    overflow: hidden;
    background: var(--dark);
    color: var(--text-dark);
    padding: clamp(4rem, 14vw, 5rem) 0;
  }
  .course-depth-head {
    max-width: 46rem;
    margin-bottom: 1.8rem;
  }
  .course-depth-head--outcomes .outcomes-eyebrow { margin-bottom: 1rem; }
  .course-depth-head--outcomes .course-depth-title { max-width: 12em; }
  .course-depth-head--outcomes .course-depth-intro { max-width: 31rem; }
  .course-depth-title {
    max-width: 13em;
    margin: 0;
    color: var(--text-dark);
    font-size: clamp(2.4rem, 10.6vw, 3rem);
    font-weight: 790;
    letter-spacing: -.055em;
    line-height: .98;
    text-wrap: balance;
  }
  .course-depth-intro {
    max-width: 33rem;
    margin: 1rem 0 0;
    color: var(--muted-dark);
    font-size: 1.02rem;
    line-height: 1.5;
  }
  .course-chapters {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(82vw, 21rem);
    gap: .75rem;
    margin-right: calc(-1 * var(--page-margin));
    padding: 0 var(--page-margin) 1.05rem 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 0 var(--page-margin);
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .course-chapters::-webkit-scrollbar { display: none; }
  .course-chapter {
    position: relative;
    min-height: 20rem;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--dark-line);
    background: #151513;
    padding: 1.25rem;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }
  .course-chapter-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.6rem;
  }
  .course-chapter-label,
  .course-chapter-number {
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1;
    text-transform: uppercase;
  }
  .course-chapter-label { color: var(--course-accent); }
  .course-chapter-number { color: var(--muted-dark); }
  .course-chapter h3 {
    max-width: 11em;
    margin: 0;
    color: var(--text-dark);
    font-size: clamp(1.75rem, 7.8vw, 2.15rem);
    font-weight: 780;
    letter-spacing: -.045em;
    line-height: 1.02;
    text-wrap: balance;
  }
  .course-chapter p {
    margin: auto 0 0;
    padding-top: 1.75rem;
    color: #bbb8b0;
    font-size: .96rem;
    line-height: 1.5;
  }
  #community {
    --community-highlight: #d3b83e;
    padding-top: 3.75rem;
    background: var(--paper-light);
  }
  .community-showcase { max-width: 72rem; }
  .community-head {
    max-width: 51rem;
    margin: 0 auto 2.4rem;
    text-align: center;
  }
  .community-title {
    max-width: none;
    margin: 0;
    font-size: clamp(2rem, 8.8vw, 2.7rem);
    line-height: 1.05;
    text-wrap: balance;
  }
  .community-title > span { display: block; }
  .community-highlight {
    position: relative;
    z-index: 0;
    display: inline-block;
    margin-inline: .03em;
    background: transparent;
    color: inherit;
    padding-inline: .12em;
    isolation: isolate;
  }
  .community-highlight::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: .08em -.01em .02em;
    border-radius: .13em;
    background: var(--community-highlight);
    opacity: .82;
    transform: rotate(-.7deg);
  }
  .community-content { display: grid; gap: 2rem; align-items: center; }
  .community-image {
    width: min(100%, 35rem);
    aspect-ratio: 1;
    justify-self: center;
    overflow: hidden;
    background: transparent;
  }
  .community-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center top;
    mix-blend-mode: multiply;
  }
  .community-benefits.steps {
    grid-template-columns: 1fr;
    gap: .8rem;
  }
  .community-card.step {
    display: grid;
    grid-template-columns: 1.35rem 1fr;
    gap: .8rem;
    align-items: start;
    min-height: 0;
    border: 1px solid rgba(12,12,11,.09);
    border-radius: 7px;
    background: rgba(255,255,255,.5);
    padding: 1.2rem 1.15rem;
  }
  .community-check {
    color: var(--ink);
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.15;
  }
  .community-card h3 {
    margin: 0 0 .38rem;
    color: var(--ink);
    font-size: 1.12rem;
    font-weight: 760;
    letter-spacing: -.025em;
    line-height: 1.18;
  }
  .community-card p {
    margin: 0;
    color: #66635d;
    font-size: .94rem;
    line-height: 1.5;
  }

  /* Pricing is a decision spread, not a card. */
  section#pricing { padding: 4.5rem 0; }
  .pricing-wrap { width: min(calc(100% - (2 * var(--page-margin))), var(--max)); padding-inline: 0; }
  .pricing-card {
    display: block;
    border: 0;
    border-top: 0;
    border-bottom: 1px solid var(--dark-line);
    border-radius: 0;
    background: transparent;
    padding: 2rem 0;
  }
  .pricing-head { margin-bottom: 1.5rem; }
  .pricing-head .display {
    max-width: 10em;
    font-size: clamp(2.35rem, 10.3vw, 3rem);
    line-height: .98;
    white-space: normal;
  }
  .pricing-trust {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 1.6rem;
    color: var(--muted-dark);
    font-size: clamp(.68rem, 2.9vw, .74rem);
    font-weight: 550;
    line-height: 1.25;
  }
  .pricing-trust p { margin: 0; white-space: nowrap; }
  .pricing-avatars {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    padding-left: .05rem;
  }
  .pricing-avatar {
    display: block;
    width: clamp(1.55rem, 7vw, 1.75rem);
    height: clamp(1.55rem, 7vw, 1.75rem);
    margin-left: -.5rem;
    overflow: hidden;
    border: 2px solid var(--dark);
    border-radius: 50%;
    background: #282824;
  }
  .pricing-avatar:first-child { margin-left: 0; }
  .pricing-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .pricing-benefits {
    gap: .35rem;
    margin-bottom: 1.75rem;
    border-top: 0;
    padding-top: 0;
  }
  .pricing-benefits li {
    grid-template-columns: .9rem 1fr;
    gap: .65rem;
    border-top: 0;
    border-bottom: 0;
    padding: .85rem 0;
    font-size: 1rem;
    line-height: 1.48;
  }
  .pricing-benefits li:last-child { border-bottom: 0; }
  .pricing-benefits li strong {
    color: #c9c6bd;
    font-weight: 600;
  }
  .pricing-offer {
    border-top: 1px solid var(--dark-line);
    padding-top: 2rem;
  }
  .pricing-amount {
    display: grid;
    gap: .2rem;
    margin: 0 0 .9rem;
    color: var(--text-dark);
    letter-spacing: -.045em;
    line-height: 1;
  }
  .pricing-amount strong { font-size: clamp(2.55rem, 11vw, 3.25rem); font-weight: 820; }
  .pricing-billing {
    max-width: 30rem;
    margin: 0 0 1.35rem;
    color: var(--muted-dark);
    font-size: .95rem;
    line-height: 1.5;
  }
  .pricing-action { width: min(100%, 21.25rem); }
  .pricing-after-cta { display: none; }
  .pricing-proof {
    max-width: 39rem;
    margin-top: 1.5rem;
    border-top: 0;
    padding-top: 0;
  }
  .pricing-proof blockquote { font-size: .9rem; line-height: 1.5; }

  #meet-frederik { padding-top: 4.25rem; padding-bottom: 4.25rem; }
  .founder-copy .intro { font-size: 1.0625rem; }
  .credentials { margin-top: 1.35rem; }
  .credential strong { font-size: .88rem; }
  .credential span { font-size: .7rem; }
  .fit-grid { gap: 2.25rem; }
  .fit-item { padding: .9rem 0; }
  .fit-item,
  .fit-item:last-child,
  .not-for-you { border: 0; }
  .faq { padding-top: 3.75rem; padding-bottom: 4.25rem; }
  .faq summary { min-height: 4rem; font-size: 1rem; }
  .faq details p { font-size: 1rem; line-height: 1.55; }
  .final { padding: 4.5rem 0 5rem; }
  .final .display { font-size: clamp(2.5rem, 11vw, 3.25rem); }
  .final-lead { font-size: 1.0625rem; line-height: 1.52; }

  @media (min-width: 768px) {
    .credential strong { font-size: .99rem; }
    .credential span { font-size: .78rem; }
    :root {
      --section-space: clamp(5.5rem, 7vw, 6.75rem);
      --type-body-size: clamp(1.0625rem, 1.25vw, 1.1875rem);
    }
    .section-title { font-size: clamp(2rem, 2.5vw, 2.25rem); }
    .section-title--proof { font-size: clamp(2.35rem, 3vw, 2.75rem); }
    .section-title--trial { font-size: clamp(2.65rem, 3.6vw, 3rem); }
    section[aria-labelledby="proof-title"] { padding-bottom: 4.75rem; }
    section[aria-labelledby="problem-title"] { padding-top: 4.75rem; padding-bottom: 5rem; }
    #trial-challenges { padding-top: 5rem; padding-bottom: 4.5rem; }
    .proof-carousel { grid-auto-columns: min(66%, 39rem); }
    .trial-head { margin-bottom: 2.75rem; }
    .outcomes-intro { padding-top: 5.5rem; }
    .outcomes-intro h2 { font-size: clamp(2.75rem, 4vw, 3.6rem); }
    .outcomes-lanes { padding-bottom: 5.5rem; }
    .outcomes-lane {
      min-height: 0;
      padding-top: 3rem;
      padding-bottom: 3rem;
    }
    .outcomes-number { margin-bottom: 2.5rem; }
    .outcomes-lane h2 { font-size: clamp(2.75rem, 3.6vw, 3.25rem); }
    .outcomes-benefit { margin-top: 1.8rem; }
    .outcomes-topics { margin-top: 1rem; padding-top: 0; }
    #trailer { padding-top: 5.5rem; padding-bottom: 3.5rem; }
    #community { padding-top: 3.5rem; padding-bottom: 5.75rem; }
    .definition-grid { grid-template-columns: minmax(17rem, .42fr) minmax(0, .58fr); gap: clamp(3rem, 5vw, 5rem); }
    .definition-copy .section-title { max-width: 9em; color: var(--ink); font-size: clamp(2rem, 2.5vw, 2.25rem); }
    .definition-copy .intro { color: var(--muted); font-size: 1.125rem; }
    .video-frame { border-color: var(--line); box-shadow: none; }
    .community-head { margin-bottom: 3.25rem; }
    .community-title { font-size: clamp(2.55rem, 4.1vw, 3.75rem); }
    .community-content {
      grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr);
      gap: clamp(3rem, 6vw, 5.5rem);
    }
    .community-benefits.steps { grid-template-columns: 1fr; gap: .95rem; }
    .community-card.step { padding: 1.4rem 1.35rem; }
    .community-card h3 { font-size: 1.2rem; }
    .community-card p { font-size: .98rem; }

    section#pricing { padding: 6rem 0; }
    .pricing-wrap {
      width: 100%;
      display: block;
      grid-template-columns: none;
      padding-inline: var(--page-gutter);
    }
    .pricing-card {
      display: grid;
      grid-template-columns: minmax(0, 1.12fr) minmax(18rem, .88fr);
      column-gap: clamp(4rem, 8vw, 7rem);
      align-items: start;
      padding: 3.25rem 0;
    }
    .pricing-copy { min-width: 0; }
    .pricing-head .display { font-size: clamp(2.75rem, 4vw, 3.5rem); }
    .pricing-trust { gap: .8rem; font-size: .9rem; }
    .pricing-avatar { width: 2.2rem; height: 2.2rem; margin-left: -.62rem; }
    .pricing-avatar:first-child { margin-left: 0; }
    .pricing-benefits { margin-bottom: 0; }
    .pricing-offer { border-top: 0; padding-top: 1rem; }
    .pricing-amount strong { font-size: clamp(1.65rem, 2.2vw, 2rem); }
    .pricing-action { width: min(100%, 23rem); }
    .pricing-proof { margin-top: 1.75rem; margin-left: 0; justify-self: start; }
    .pricing-proof blockquote { font-size: 1rem; }
    #meet-frederik { padding-top: 5.75rem; padding-bottom: 5.75rem; }
    .founder-grid { gap: clamp(3.5rem, 6vw, 6rem); }
    .fit-grid { gap: clamp(3rem, 5vw, 5rem); }
    .faq { padding-top: 5rem; padding-bottom: 5.5rem; }
    .faq summary { min-height: 4.5rem; }
    .final { padding: 5.75rem 0; }
    .final .display { font-size: clamp(2.75rem, 4vw, 3.75rem); }
  }

  /* Keep the desktop community statement as two intentional lines. */
  @media (min-width: 1024px) {
    .community-head { max-width: 72rem; }
    .community-title { font-size: clamp(2.5rem, 3vw, 3.25rem); line-height: 1; }
    .community-title > span { white-space: nowrap; }
  }

  @media (max-width: 359px) {
    :root { --page-margin: 1.125rem; }
    .hero h1 { font-size: 2.3rem; }
    .outcomes-lane h2 { font-size: 3rem; }
    .button { padding-inline: 1rem; font-size: .94rem; }
    .pricing-amount strong { font-size: 2.4rem; }
    .pricing-trust { gap: .3rem; font-size: .65rem; }
    .pricing-avatar { width: 1.4rem; height: 1.4rem; margin-left: -.45rem; }
  }

  @media (min-width: 768px) and (max-width: 1023px) {
    .pricing-wrap { width: min(calc(100% - 4rem), var(--max)); padding-inline: 0; }
    .pricing-card { display: block; }
    .pricing-offer { border-top: 1px solid var(--dark-line); padding-top: 1.75rem; }
    .pricing-action { width: min(100%, 23rem); }
    .pricing-proof { margin-top: 1.75rem; }
  }

  /* Focused conversion polish: less mobile runway, stronger product evidence, no structural redesign. */
  .proof-intro .section-title--proof {
    max-width: none;
    font-size: clamp(1.45rem, 6.2vw, 1.6rem);
    white-space: nowrap;
  }
  .proof-subtitle {
    margin: .42rem 0 0;
    color: var(--muted);
    font-size: .8rem;
    font-weight: 500;
    line-height: 1.35;
  }
  .proof-intro { margin-bottom: 1.4rem; }
  .proof-results {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
  .proof-result {
    min-width: 0;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: .85rem;
    align-items: center;
    padding: 0;
    border: 0;
  }
  .proof-result h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0 0 .25rem;
    font-size: clamp(1.08rem, 4.5vw, 1.2rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.18;
  }
  .proof-avatar {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
  }
  .proof-byline {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0;
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.35;
  }
  .hero .button[data-cta-location="underexposed_trial_hero"] {
    flex-direction: column;
    gap: 3px;
  }
  .hero-cta-primary { line-height: 1.15; }
  .hero-cta-note {
    color: rgba(12,12,11,.62);
    font-size: .8125rem;
    font-weight: 450;
    line-height: 1.1;
  }
  .hero-reassurance {
    width: min(100%, 33rem);
    margin: .72rem 0 0;
    text-align: left;
  }

  @media (max-width: 767px) {
    .hero {
      min-height: calc(100vh - 4.75rem);
      height: auto;
      max-height: none;
    }
    @supports (height: 100svh) {
      .hero { min-height: calc(100svh - 4.75rem); }
    }
    .hero h1.hero-headline--split { font-size: clamp(2.2rem, 9.4vw, 2.55rem); }
    .hero h1.hero-headline--discovery span { white-space: normal; }
    section[aria-labelledby="problem-title"] { padding-top: 3rem; padding-bottom: 3.1rem; }
    .problem-story .display { margin-bottom: 1rem; font-size: clamp(2.3rem, 9.9vw, 2.7rem); }
    .problem-thesis { font-size: clamp(1.2rem, 5.6vw, 1.45rem); }
    .problem-narrative { margin-top: 1.7rem; padding-top: 1.35rem; }
    .problem-plan > p,
    .problem-audiences > li,
    .problem-method > p,
    .problem-narrative > p {
      margin-bottom: .82rem;
      font-size: .975rem;
      line-height: 1.5;
    }
    .problem-narrative .problem-reveal {
      margin-top: 1.35rem;
      font-size: 1.3rem;
      line-height: 1.18;
    }
    .problem-narrative .problem-proof { line-height: 1.54; }
    .problem-narrative .problem-channels {
      width: 100%;
      max-width: 100%;
      flex-wrap: nowrap;
      justify-content: center;
      gap: .25rem;
      line-height: 1.42;
    }
    .problem-channels > li {
      flex: 0 1 auto;
      padding: .36rem clamp(.35rem, 1.55vw, .5rem);
      font-size: clamp(.6rem, 2.75vw, .7rem);
      white-space: nowrap;
    }
    .problem-narrative .problem-outcome {
      margin-top: 1.4rem !important;
      padding-top: 1.05rem;
      font-size: 1.1rem !important;
      line-height: 1.38 !important;
    }
    #trial-challenges .trial-action,
    #trial-challenges .trial-action .billing {
      text-align: center;
    }

    .outcomes-intro { padding: 3.25rem 0 2.35rem; }
    .outcomes-eyebrow { margin-bottom: 1rem; }
    .outcomes-intro h2 { font-size: clamp(2.4rem, 10.4vw, 2.85rem); }
    .outcomes-highlight { display: inline-block; margin-top: .18em; line-height: .9; }
    .outcomes-intro-copy { margin-top: .95rem; font-size: 1rem; line-height: 1.45; }
    .outcomes-lane { padding: 2.2rem 0 2.35rem; }
    .outcomes-number { margin-bottom: 1.05rem; }
    .outcomes-lane h2 {
      font-size: clamp(3rem, 13.1vw, 3.45rem);
      line-height: .88;
    }
    .outcomes-benefit { margin-top: 1.15rem; font-size: 1.0625rem; line-height: 1.38; }
    .outcomes-topics { margin-top: .65rem; font-size: .96rem; line-height: 1.45; }

    #community { padding-top: 2.75rem; padding-bottom: 3.25rem; }
    .community-head { margin-bottom: 1.9rem; }
    .community-title {
      font-size: clamp(1rem, 5.35vw, 1.45rem);
      letter-spacing: -.045em;
      line-height: 1.08;
      text-wrap: nowrap;
    }
    .community-title > span { white-space: nowrap; }
    .community-content { gap: 1.6rem; }
    .community-card.step { padding: 1.05rem 1rem; }
    .community-card h3 { font-size: 1.05rem; }
    .community-card p { font-size: .875rem; line-height: 1.45; }

    section#pricing { padding: 3.75rem 0; }
    .pricing-card { padding: 1.55rem 0; }
    .pricing-head { margin-bottom: 1.15rem; }
    .pricing-head .display { font-size: clamp(2.15rem, 9.4vw, 2.65rem); }
    .pricing-benefits { margin-bottom: 1.35rem; }
    .pricing-benefits li { padding: .7rem 0; font-size: .94rem; line-height: 1.42; }
    .pricing-offer { padding-top: 1.75rem; }
    .pricing-amount { margin-bottom: .7rem; }
    .pricing-billing { margin-bottom: 1.1rem; font-size: .9rem; line-height: 1.45; }
    .pricing-proof { margin-top: 1.2rem; padding-top: 1rem; }
    .pricing-proof blockquote { font-size: .86rem; line-height: 1.42; }
  }

  @media (min-width: 768px) {
    .proof-intro .section-title--proof { font-size: clamp(2.15rem, 2.65vw, 2.45rem); }
    .proof-results {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: clamp(2.5rem, 5vw, 5rem);
    }
    .proof-result { grid-template-columns: 60px minmax(0, 1fr); }
    .proof-avatar { width: 60px; height: 60px; }
    .proof-result h3 { font-size: clamp(1.15rem, 1.45vw, 1.4rem); }
    .hero-reassurance { margin-inline: 0; }
    .course-depth { padding: 5.5rem 0; }
    .course-depth-head { margin-bottom: 3rem; }
    .course-depth-title { font-size: clamp(2.85rem, 5.4vw, 4rem); }
    .course-depth-intro { font-size: 1.1rem; }
    .course-chapters {
      grid-auto-flow: row;
      grid-auto-columns: auto;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
      margin-right: 0;
      padding: 0;
      overflow: visible;
      scroll-snap-type: none;
    }
    .course-chapter { min-height: 20rem; padding: 1.5rem; }
    .course-chapter h3 { font-size: clamp(1.8rem, 3.2vw, 2.3rem); }
  }

  @media (min-width: 1024px) {
    .course-depth { padding: 6.5rem 0; }
    .course-depth-head { margin-bottom: 3.5rem; }
    .course-depth-title { font-size: clamp(3.25rem, 4.4vw, 4.4rem); }
    .course-chapters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .course-chapter { min-height: 21rem; padding: 1.6rem; }
    .course-chapter h3 { font-size: clamp(1.85rem, 2.35vw, 2.4rem); }
  }

  @media (min-width: 768px) and (max-width: 1023px) {
    .outcomes-intro {
      width: min(calc(100% - 4rem), var(--max));
      padding: 4.25rem 0 2.75rem;
    }
    .outcomes-intro h2 { max-width: 12em; font-size: 3rem; }
    .outcomes-lanes {
      width: min(calc(100% - 4rem), var(--max));
      padding-bottom: 4rem;
    }
    .outcomes-lane {
      display: grid;
      grid-template-columns: minmax(0, 1.18fr) minmax(15rem, .82fr);
      grid-template-rows: auto auto;
      column-gap: 3rem;
      align-items: start;
      padding: 2.35rem 0;
    }
    .outcomes-number { grid-column: 1; grid-row: 1; margin-bottom: 1.2rem; }
    .outcomes-lane h2 { grid-column: 1; grid-row: 2; font-size: 3rem; }
    .outcomes-benefit { grid-column: 2; grid-row: 1; margin: 0; font-size: 1rem; }
    .outcomes-topics { grid-column: 2; grid-row: 2; align-self: end; margin: .9rem 0 0; }

    section#pricing { padding: 5rem 0; }
    .pricing-card { padding: 2.5rem 0; }
  }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
      scroll-behavior: auto !important;
      transition-duration: .01ms !important;
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
    }
    .hero-media img,
    .hero-body [data-major-cta] {
      animation: none !important;
      transform: none !important;
    }
    .trial-day-seven-sparks i { animation: none !important; }
    .trial-day-seven-sparks { display: none; }
  }

  /* Pricing decision hierarchy: compact, left-aligned copy with one wide action. */
  .pricing-offer { text-align: left; }
  .pricing-amount {
    gap: 0;
    margin: 0 0 1rem;
    text-align: left;
  }
  .pricing-amount strong {
    display: block;
    white-space: nowrap;
    line-height: .98;
  }
  .pricing-billing {
    margin: 0 0 1.625rem;
    text-align: left;
  }
  .pricing-action {
    width: 100%;
    margin-inline: auto;
  }
  .pricing-action .button {
    width: 100%;
    min-width: 0;
    min-height: 4.5rem;
    margin-inline: auto;
    padding: 1rem 1.15rem;
    font-weight: 720;
    text-align: center;
  }

  /* Mobile pricing compression: every fact remains visible in one phone viewport. */
  @media (max-width: 767px) {
    section#pricing {
      padding: 72px 24px 80px;
      scroll-margin-top: 0;
    }
    .pricing-wrap { width: 100%; }
    .pricing-card { padding: 0 0 32px; }
    .pricing-head { margin-bottom: 24px; }
    .pricing-head .display { font-size: clamp(2rem, 9vw, 2.35rem); }
    .pricing-trust {
      gap: .35rem;
      margin-bottom: 40px;
      color: #c9c6bd;
      font-size: clamp(.68rem, 2.9vw, .75rem);
      font-weight: 600;
      line-height: 1.15;
    }
    .pricing-avatar {
      width: clamp(1.2rem, 5.2vw, 1.35rem);
      height: clamp(1.2rem, 5.2vw, 1.35rem);
      margin-left: -.36rem;
      border-width: 1px;
    }
    .pricing-benefits { gap: 20px; margin-bottom: 40px; }
    .pricing-benefits li {
      grid-template-columns: .75rem minmax(0, 1fr);
      gap: .42rem;
      padding: 0;
      font-size: clamp(.75rem, 3.2vw, .82rem);
      line-height: 1.25;
      white-space: nowrap;
    }
    .pricing-offer { padding-top: 28px; }
    .pricing-amount { margin-bottom: 10px; }
    .pricing-amount strong {
      font-size: clamp(1.12rem, 4.7vw, 1.28rem);
      font-weight: 780;
      letter-spacing: -.035em;
    }
    .pricing-billing {
      margin-bottom: 32px;
      color: rgba(242,240,234,.9);
      font-size: clamp(.85rem, 3.6vw, .95rem);
      font-weight: 620;
      line-height: 1.35;
    }
    .pricing-action .button { min-height: 72px; }
    .pricing-proof { margin-top: 40px; }
  }

  /* Three-result mobile carousel: one readable card with a right-side swipe cue. */
  @media (max-width: 767px) {
    .proof-carousel {
      grid-auto-columns: min(92%, 22rem);
      gap: .75rem;
      margin-inline: 0;
      padding: .15rem 0 .9rem;
      scroll-padding-inline: 0;
      scroll-snap-type: x mandatory;
    }
    .proof-card {
      height: 100%;
      scroll-snap-align: start;
      scroll-snap-stop: always;
    }
    .proof-card-body {
      min-height: 16.75rem;
      padding: 1.5rem 1.35rem 1.6rem;
    }
    .proof-card-body img {
      width: 4rem;
      height: 4rem;
      margin: 0 0 1rem 1.1rem;
    }
    .proof-card-body strong {
      font-size: 1.2rem;
      line-height: 1.08;
    }
    .proof-card-body p {
      font-size: .94rem;
      line-height: 1.55;
    }
  }

  /* Uniform publication lockup: one baseline, one gap, one monochrome treatment. */
  .authority { background: #141414; }
  .authority .wrap {
    width: min(calc(100% - 2rem), var(--max));
  }
  .logo-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: max-content;
    max-width: 100%;
    gap: clamp(24px, 7vw, 40px);
  }
  .logo-cell {
    flex: 0 0 auto;
    min-width: 0;
    height: 18.5px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: visible;
  }
  .logo-row .logo-cell img {
    display: block;
    height: 16.5px;
    width: auto;
    max-width: none;
    max-height: none;
    object-fit: contain;
    filter: grayscale(100%) brightness(0) invert(1);
    opacity: .83;
  }
  .logo-cell:nth-child(1) img { height: 20.5px; }
  .logo-cell:nth-child(2) img { height: 16.5px; }
  .logo-cell:nth-child(3) img { height: 16.5px; }
  .logo-cell:nth-child(4) img { height: 17.3px; }
  .logo-cell:nth-child(1) {
    overflow: hidden;
  }
  .logo-cell:nth-child(1) img {
    clip-path: inset(0 0 0 22.15%);
    margin-left: -15.5px;
  }
  @media (max-width: 359px) {
    .logo-row { gap: 14px; }
  }
  @media (min-width: 768px) {
    .logo-cell { height: 27px; }
    .logo-row .logo-cell img { height: 24px; width: auto; }
    .logo-cell:nth-child(1) img { height: 29.5px; }
    .logo-cell:nth-child(2) img { height: 24px; }
    .logo-cell:nth-child(3) img { height: 24px; }
    .logo-cell:nth-child(4) img { height: 25.2px; }
    .logo-cell:nth-child(1) img { margin-left: -22.25px; }
  }

  /* One editorial promise between proof and the first-week plan. */
  .problem-section--condensed { padding-top: 3.25rem; padding-bottom: 3.5rem; }
  .problem-story--condensed {
    --problem-text: var(--text-dark);
    --problem-highlight: #d3b83e;
    width: min(calc(100% - (2 * var(--page-margin))), 52rem);
    color: var(--text-dark);
  }
  .problem-narrative--condensed {
    display: flex;
    justify-content: center;
    margin: 0;
    border-top: 0;
    padding: 0;
  }
  .problem-narrative--condensed .problem-proof {
    max-width: 62ch;
    margin: 0;
    color: #d8d5ce !important;
    font-size: 1rem;
    line-height: 1.62;
  }
  .problem-narrative--condensed .problem-outcome {
    max-width: 48rem !important;
    margin: 0 !important;
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--text-dark) !important;
    font-size: clamp(1.55rem, 6.4vw, 2.15rem) !important;
    font-weight: 760;
    letter-spacing: -.045em;
    line-height: 1.14 !important;
    text-align: center;
  }
  .problem-soul {
    display: inline-block;
    white-space: nowrap;
    text-decoration-line: underline;
    text-decoration-color: var(--problem-highlight);
    text-decoration-thickness: .15em;
    text-underline-offset: .14em;
    text-decoration-skip-ink: none;
  }
  @media (min-width: 768px) {
    .problem-section--condensed { padding-top: 4.25rem; padding-bottom: 4.5rem; }
    .problem-narrative--condensed .problem-proof { font-size: 1.0625rem; }
    .problem-narrative--condensed .problem-outcome { font-size: clamp(2.15rem, 3.2vw, 3rem) !important; }
  }

  /* Quiet handoff from the seven-day timeline into the post-trial chapter. */
  .trial-transition {
    width: min(100%, 12rem);
    display: grid;
    justify-items: center;
    gap: .55rem;
    margin: 2.25rem auto 0;
    border-top: 1px solid var(--line);
    padding-top: 1.1rem;
    color: var(--ink);
    text-align: center;
  }
  .trial-transition-label {
    font-size: .72rem;
    font-weight: 720;
    letter-spacing: .15em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  .trial-transition-arrow {
    font-size: 1.15rem;
    line-height: 1;
  }
  @media (min-width: 768px) {
    .trial-transition { margin-top: 2.75rem; }
  }

  /* Match the seven-day chapter to the dark lesson-library system. */
  #trial-challenges {
    --trial-accent: #d3b83e;
    background: var(--dark);
    color: var(--text-dark);
  }
  #trial-challenges #trial-title { color: var(--text-dark); }
  #trial-challenges .intro,
  #trial-challenges .trial-mobile-card p,
  #trial-challenges .trial-milestone p { color: var(--muted-dark); }
  #trial-challenges .trial-mobile-nav::before,
  #trial-challenges .trial-desktop-track::before { background: var(--dark-line); }
  #trial-challenges .trial-mobile-nav button,
  #trial-challenges .trial-mobile-day,
  #trial-challenges .trial-milestone-day { color: var(--muted-dark); }
  #trial-challenges .trial-mobile-nav button::after,
  #trial-challenges .trial-milestone-node {
    border-color: #d8d5cd;
    background: var(--dark);
  }
  #trial-challenges .trial-mobile-nav button[aria-current="step"] { color: var(--text-dark); }
  #trial-challenges .trial-mobile-nav button[aria-current="step"]::after,
  #trial-challenges .trial-milestone--finish .trial-milestone-node {
    border-color: var(--trial-accent);
    background: var(--trial-accent);
  }
  #trial-challenges .trial-mobile-card {
    border-color: var(--dark-line);
    background: #151513;
    color: var(--text-dark);
  }
  #trial-challenges .trial-mobile-card--finish { border-color: var(--trial-accent); }
  #trial-challenges .trial-milestone h3 { color: var(--text-dark); }
  #trial-challenges .trial-milestone--finish .trial-milestone-node::after { background: var(--dark); }
  #trial-challenges .trial-transition {
    width: min(100%, 12rem);
    justify-items: start;
    margin: 2.25rem 0 0;
    border-color: var(--dark-line);
    color: var(--text-dark);
    text-align: left;
  }
  #trial-challenges .trial-transition-arrow { margin-left: .15rem; }
  #trial-challenges { padding-bottom: 1.25rem; }
  .course-depth--outcomes { padding-top: 2.5rem; }
  @media (min-width: 768px) {
    #trial-challenges { padding-bottom: 1.75rem; }
    #trial-challenges .trial-transition { margin-top: 2.75rem; }
    .course-depth--outcomes { padding-top: 3rem; }
  }

  /* Make the exclusion state unmistakable without turning it into an alert. */
  .not-for-you {
    border: 0;
    border-left: 4px solid #b62c2c;
    border-radius: .4rem;
    background: #f0dfdc;
    color: var(--ink);
    padding: 1.5rem;
  }
  .not-for-you h3 { color: #9f2020; }
  .fit-list--negative .fit-item { background: transparent; }
  .fit-list--negative .fit-item > span {
    background: transparent;
    color: #b62c2c;
    font-size: 1rem;
    font-weight: 900;
  }

  /* Desktop pricing follows one stable editorial axis from heading through proof. */
  @media (min-width: 1024px) {
    section#pricing { text-align: left; }
    section#pricing .pricing-wrap {
      width: min(calc(100% - (2 * var(--page-gutter))), 50rem);
      padding-inline: 0;
    }
    section#pricing .pricing-card {
      display: block;
      max-width: 50rem;
      margin-inline: auto;
      padding: 3rem 0;
    }
    section#pricing .pricing-copy { width: min(100%, 40rem); margin-inline: auto; }
    section#pricing .pricing-head .display {
      max-width: none;
      margin-inline: 0;
      text-align: left;
    }
    section#pricing .pricing-trust { justify-content: flex-start; }
    section#pricing .pricing-benefits {
      width: 100%;
      margin: 0 0 2.25rem;
      text-align: left;
    }
    section#pricing .pricing-offer {
      width: min(100%, 40rem);
      margin-inline: auto;
      border-top: 1px solid var(--dark-line);
      padding-top: 2.25rem;
      text-align: left;
    }
    section#pricing .pricing-amount,
    section#pricing .pricing-billing { text-align: left; }
    section#pricing .pricing-billing { margin-inline: 0; }
    section#pricing .pricing-action { width: 100%; margin-inline: 0; }
    section#pricing .pricing-proof {
      width: min(100%, 40rem);
      max-width: none;
      margin: 2rem auto 0;
      justify-self: auto;
      text-align: left;
    }
  }
</style>
  <script>(function(){const context = {"page_type":"underexposed","content_slug":"underexposed","site_area":"underexposed"};

  (() => {
    window.__trovattenAnalyticsContext = context;
    window.posthog = window.posthog || [];
    if (typeof window.posthog.register === "function") {
      window.posthog.register(context);
    } else if (typeof window.posthog.push === "function") {
      window.posthog.push(["register", context]);
    }
  })();
})();</script> <script src="/analytics.js?v=20260809" defer></script><!--
  Advanced Consent Mode v2 (max practical measurement).

  - Tags always load (Stape Custom Loader). Denied users still send cookieless
    Google pings so GA can count traffic and model conversions.
  - Global default: granted (non-regulated regions get full cookies without a click).
  - EEA + UK + CH default: denied until Accept all (cookieless until then).
  - Stored v1.all / v1.necessary overrides defaults via consent update.
  - "Necessary only" is still respected (denied + no marketing cookies).

  Loader snippet regenerated from Stape Power-ups → Custom Loader with:
  Domain metrics.trovatten.com, Same Origin Path /metrics, GTM-P2SQXNC,
  Enhanced ad blocker protection, Cookie Keeper via external_id.
  Netlify edge proxy: netlify/edge-functions/stape-metrics.js
--> <script>
  (() => {
    // Reversible master switch. Keep the consent implementation in place so it
    // can be restored later by changing this one value back to true.
    const consentEnabled = false;
    const cookieName = "trovatten_consent";
    const match = document.cookie
      .split("; ")
      .find((cookie) => cookie.startsWith(`${cookieName}=`));
    let storedValue = "";
    if (match) {
      try {
        storedValue = decodeURIComponent(match.split("=").slice(1).join("="));
      } catch {
        storedValue = "";
      }
    }
    const preference = consentEnabled
      ? storedValue === "v1.all"
        ? "all"
        : storedValue === "v1.necessary"
          ? "necessary"
          : null
      : "all";

    window.dataLayer = window.dataLayer || [];
    window.gtag = window.gtag || function gtag() {
      window.dataLayer.push(arguments);
    };

    const denied = {
      ad_storage: "denied",
      ad_user_data: "denied",
      ad_personalization: "denied",
      analytics_storage: "denied",
      personalization_storage: "denied",
      functionality_storage: "denied",
      security_storage: "granted",
    };

    const granted = {
      ad_storage: "granted",
      ad_user_data: "granted",
      ad_personalization: "granted",
      analytics_storage: "granted",
      personalization_storage: "granted",
      functionality_storage: "granted",
      security_storage: "granted",
    };

    // GDPR/ePrivacy-heavy markets: start denied (cookieless pings only).
    // Google applies `region` from the request geo, not the browser locale.
    const regulatedRegions = [
      "AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR",
      "HU", "IS", "IE", "IT", "LV", "LI", "LT", "LU", "MT", "NL", "NO", "PL",
      "PT", "RO", "SK", "SI", "ES", "SE", "GB", "CH",
    ];

    if (consentEnabled) {
      // Global default first: full measurement outside regulated regions.
      window.gtag("consent", "default", { ...granted, wait_for_update: 500 });
      // Regulated regions override the global default until the user accepts.
      window.gtag("consent", "default", {
        ...denied,
        region: regulatedRegions,
        wait_for_update: 500,
      });
    } else {
      // Consent UI is temporarily off: grant every consent type everywhere.
      window.gtag("consent", "default", granted);
    }

    window.gtag("set", "ads_data_redaction", true);
    window.gtag("set", "url_passthrough", true);

    if (consentEnabled) {
      if (preference === "all") {
        window.gtag("consent", "update", granted);
      } else if (preference === "necessary") {
        window.gtag("consent", "update", denied);
      }
    }

    window.__trovattenConsentEnabled = consentEnabled;
    window.__trovattenConsentPreference = preference;

    /**
     * Stape Custom Loader (same-origin + Cookie Keeper).
     * Relative /metrics works on every host that runs the Netlify edge proxy.
     * On Safari 16.4+ with an external_id cookie, Stape switches to the kp*
     * Cookie Keeper path and appends &bi= for durable first-party cookies.
     */
    function loadMetrics() {
      if (window.__trovattenMetricsLoaded || document.getElementById("trovatten-metrics")) {
        return;
      }
      window.__trovattenMetricsLoaded = true;

      function readCookie(name) {
        const parts = document.cookie.split(";");
        for (let i = 0; i < parts.length; i++) {
          const pair = parts[i].split("=");
          if (pair[0].trim() === name) return pair[1];
        }
      }

      function readLocalStorage(key) {
        return localStorage.getItem(key);
      }

      function readJsVariable(key) {
        return window[key];
      }

      function readCssSelector(selector, attr) {
        const el = document.querySelector(selector);
        if (!el) return undefined;
        return attr ? el.getAttribute(attr) : el.textContent;
      }

      // Load from the Stape custom domain. Same-origin /metrics proxy is kept
      // in netlify.toml for future use, but Netlify blocks several GA collect
      // paths through force-proxies (403), so the loader must use the subdomain
      // until Same Origin Path is cleared in Stape or proxying is fixed.
      // Cookie Keeper (Safari 16.4+) still extends cookie lifetime via bi=.
      const loaderBase = "https://metrics.trovatten.com";
      const loaderId = "aahepwgjp";
      // Stape Custom Loader query (Cookie Keeper + enhanced adblock). After you
      // clear Same Origin Path in Stape and re-Generate, replace this if it changes.
      const loaderQuery =
        "o=GQ5aMCQoRTFCOTYvPiZOF01YSUZWAQZcBBgIARERHAQeRAQYHUMbDgBXSBoVERoIExk%3D";
      const uidSource = "cookie";
      const uidCookieName = "external_id";
      const uidCssAttr = "";

      let useCookieKeeper = false;
      let browserId;

      try {
        const ua = navigator.userAgent;
        const safariMatch = new RegExp(
          "Version/([0-9._]+)(.*Mobile)?.*Safari.*",
        ).exec(ua);
        const isModernSafari = !!(safariMatch && parseFloat(safariMatch[1]) >= 16.4);
        const isStapeUserId = uidSource === "stapeUserId";

        if (isModernSafari && !isStapeUserId) {
          const readers = {
            cookie: readCookie,
            localStorage: readLocalStorage,
            jsVariable: readJsVariable,
            cssSelector: readCssSelector,
          };
          const names = Array.isArray(uidCookieName) ? uidCookieName : [uidCookieName];
          const reader = readers[uidSource];
          if (uidSource && reader) {
            for (let i = 0; i < names.length; i++) {
              const value = uidCssAttr
                ? reader(names[i], uidCssAttr)
                : reader(names[i]);
              if (value) {
                browserId = value;
                break;
              }
            }
          } else {
            console.warn("invalid uid source", uidSource);
          }
        }

        useCookieKeeper = isModernSafari && (!!browserId || isStapeUserId);
      } catch (error) {
        console.error(error);
      }

      window.dataLayer = window.dataLayer || [];
      window.dataLayer.push({ "gtm.start": new Date().getTime(), event: "gtm.js" });

      let scriptId = loaderId;
      if (useCookieKeeper) {
        scriptId =
          scriptId.length > 8
            ? scriptId.replace(/([a-z]{8}$)/, "kp$1")
            : "kp" + scriptId;
      }

      const biParam = browserId ? "&bi=" + encodeURIComponent(browserId) : "";
      const script = document.createElement("script");
      script.id = "trovatten-metrics";
      script.async = true;
      script.src = loaderBase + "/" + scriptId + ".js?" + loaderQuery + biParam;
      document.head.appendChild(script);
    }

    window.__trovattenLoadMetrics = loadMetrics;

    /**
     * Keep consent defaults and dataLayer available immediately, but move the
     * expensive vendor chain outside the page's critical rendering window.
     * A real CTA/form interaction starts it straight away so queued conversion
     * events keep their attribution. Passive page views wait until the page has
     * been stable for long enough that vendor downloads cannot compete with LCP.
     */
    function scheduleMetrics() {
      if (window.__trovattenMetricsScheduled || window.__trovattenMetricsLoaded) {
        return;
      }
      window.__trovattenMetricsScheduled = true;

      const interactionEvents = ["pointerdown", "keydown"];
      let fallbackTimer;

      function cleanup() {
        interactionEvents.forEach((eventName) => {
          window.removeEventListener(eventName, startMetricsFromInteraction);
        });
        if (fallbackTimer) window.clearTimeout(fallbackTimer);
      }

      function startMetrics() {
        cleanup();
        loadMetrics();
      }

      function startMetricsFromInteraction(event) {
        if (event.type === "keydown") {
          if (event.key !== "Enter" && event.key !== " ") return;
        } else {
          const target = event.target;
          if (
            !(target instanceof Element) ||
            !target.closest("a[href],button,input,select,textarea,[role='button']")
          ) {
            return;
          }
        }
        startMetrics();
      }

      function startAfterCriticalWindow() {
        // GTM fans out into Google, Meta and PostHog bundles. A ten-second
        // passive delay keeps that non-visual work out of mobile LCP while the
        // interaction path above still starts measurement immediately.
        if (fallbackTimer) window.clearTimeout(fallbackTimer);
        fallbackTimer = window.setTimeout(startMetrics, 10000);
      }

      interactionEvents.forEach((eventName) => {
        window.addEventListener(eventName, startMetricsFromInteraction, {
          passive: true,
        });
      });

      if (document.readyState === "complete") startAfterCriticalWindow();
      else window.addEventListener("load", startAfterCriticalWindow, { once: true });

      // Do not lose measurement entirely when a resource prevents `load`.
      fallbackTimer = window.setTimeout(startMetrics, 12000);
    }

    window.__trovattenScheduleMetrics = scheduleMetrics;
    scheduleMetrics();

    /**
     * Google linker params (_gl / _ga*) may be needed for payment attribution on
     * community.trovatten.com, but they should not pollute main-site URLs.
     * Capture → keep main-site address bar clean → re-apply only on community hops.
     */
    (function scopeGoogleLinkerToCommunity() {
      const STORAGE_KEY = "trovatten_ga_linker";
      const COMMUNITY_HOST = "community.trovatten.com";

      function isLinkerKey(key) {
        return key === "_gl" || key === "_ga" || key.indexOf("_ga_") === 0;
      }

      function readStored() {
        try {
          return JSON.parse(sessionStorage.getItem(STORAGE_KEY) || "{}");
        } catch {
          return {};
        }
      }

      function writeStored(map) {
        try {
          sessionStorage.setItem(STORAGE_KEY, JSON.stringify(map));
        } catch {
          // Private mode / blocked storage — attribution still works via GTM when present.
        }
      }

      function captureFromParams(params) {
        const stored = readStored();
        let changed = false;
        params.forEach((value, key) => {
          if (isLinkerKey(key) && value) {
            stored[key] = value;
            changed = true;
          }
        });
        if (changed) writeStored(stored);
        return stored;
      }

      function cleanLocationBar() {
        const url = new URL(window.location.href);
        let dirty = false;
        Array.from(url.searchParams.keys()).forEach((key) => {
          if (isLinkerKey(key)) {
            url.searchParams.delete(key);
            dirty = true;
          }
        });
        if (dirty) {
          const next = url.pathname + url.search + url.hash;
          window.history.replaceState(window.history.state, "", next);
        }
      }

      function maintainCleanMainSiteUrl() {
        captureFromParams(new URLSearchParams(window.location.search));
        cleanLocationBar();
      }

      function isCommunityUrl(url) {
        return url.hostname === COMMUNITY_HOST;
      }

      function isMainSiteUrl(url) {
        const host = url.hostname;
        return host === "trovatten.com" || host === "www.trovatten.com" || host === window.location.hostname;
      }

      function applyStoredLinker(url) {
        const stored = readStored();
        Object.keys(stored).forEach((key) => {
          if (!url.searchParams.has(key) && stored[key]) {
            url.searchParams.set(key, stored[key]);
          }
        });
        return url;
      }

      function stripLinker(url) {
        Array.from(url.searchParams.keys()).forEach((key) => {
          if (isLinkerKey(key)) url.searchParams.delete(key);
        });
        return url;
      }

      window.__trovattenGetGaLinkerParams = function getGaLinkerParams() {
        maintainCleanMainSiteUrl();
        return readStored();
      };

      maintainCleanMainSiteUrl();
      // url_passthrough / GTM may re-append linker params after tags load.
      window.setTimeout(maintainCleanMainSiteUrl, 400);
      window.setTimeout(maintainCleanMainSiteUrl, 1500);
      window.setTimeout(maintainCleanMainSiteUrl, 4000);

      document.addEventListener(
        "click",
        (event) => {
          const target = event.target;
          if (!(target instanceof Element)) return;
          const anchor = target.closest("a[href]");
          if (!anchor || !(anchor instanceof HTMLAnchorElement)) return;
          if (anchor.target && anchor.target !== "_self") return;

          let url;
          try {
            url = new URL(anchor.href, window.location.href);
          } catch {
            return;
          }

          if (isCommunityUrl(url)) {
            // Payment / community hop: keep attribution linker params.
            captureFromParams(url.searchParams);
            applyStoredLinker(url);
            anchor.href = url.toString();
            return;
          }

          if (isMainSiteUrl(url) && url.origin === window.location.origin) {
            // Same-site navigation must stay clean (no _gl spam in the address bar).
            const cleaned = stripLinker(url);
            if (cleaned.toString() !== anchor.href) {
              anchor.href = cleaned.pathname + cleaned.search + cleaned.hash;
            }
          }
        },
        true,
      );
    })();
  })();
</script>
</head>
<body data-deployed-route="/underexposed" class="has-sticky">
  <main>
    <section class="hero" id="top" data-hero>
      <picture class="hero-media">
        <source media="(min-width: 768px)" srcset="/underexposed-assets/trovatten-hero-1280.jpeg">
        <source media="(max-width: 767px)" srcset="/images/frederik-trovatten-social-media-marketing-for-photographers.webp?w=800&amp;q=85&amp;fit=max" type="image/webp">
        <img src="/images/frederik-trovatten-social-media-marketing-for-photographers.webp?w=800&amp;q=85&amp;fit=max" alt="Photographer Frederik Trovatten holding a Rolleiflex camera" width="800" height="1200" loading="eager" fetchpriority="high" decoding="async">
      </picture>
      <header class="hero-top">
        <a href="#top" aria-label="Underexposed home"><img class="hero-logo" src="/underexposed-assets/full-white-220.png" alt="Underexposed" width="220" height="92"></a>
      </header>
      <div class="hero-body">
        <h1 class="hero-headline--split hero-headline--discovery"><span>Get your work in front of people who can hire you.</span></h1>
        <p class="hero-lead">Book more work, land better clients, and go after bigger commissions.</p>
        <div data-major-cta><a href="#pricing" class="button button--full" data-underexposed-cta data-cta-location="underexposed_trial_hero" data-cta-stage="pricing"><span class="hero-cta-primary">Try Underexposed for free</span></a></div>
        <p class="hero-reassurance">The strategy that built my six-figure photography career, museum exhibitions, Facebook commissions, and a 120K+ audience.</p>
      </div>
    </section>

    <section class="authority" aria-label="Frederik Trovatten publication features"><div class="wrap"><h2 class="authority-title">Frederik's work featured in</h2><div class="logo-row"><div class="logo-cell"><img src="/underexposed-assets/national-geographic-logo-140.png" alt="National Geographic" width="140" height="41" loading="lazy" decoding="async"></div><div class="logo-cell"><img src="/underexposed-assets/adage-logo.svg" alt="Ad Age" width="300" height="93" loading="lazy" decoding="async"></div><div class="logo-cell"><img src="/underexposed-assets/petapixel-logo-160.png" alt="PetaPixel" width="160" height="41" loading="lazy" decoding="async"></div><div class="logo-cell"><img src="/underexposed-assets/fstoppers-logo-160.png" alt="Fstoppers" width="160" height="43" loading="lazy" decoding="async"></div></div></div></section>

    <section class="section paper-light" aria-labelledby="proof-title">
      <div class="wrap">
        <header class="proof-intro"><h2 class="section-title section-title--proof" id="proof-title">Results within 30 days</h2><p class="proof-subtitle">after joining Underexposed</p></header>
        <div class="proof-results" aria-label="Member results">
          <article class="proof-result"><img class="proof-avatar" src="/underexposed-assets/rudi-64.jpg" alt="Rudi, fashion photographer" width="64" height="64" loading="lazy" decoding="async"><h3>Landed a Vogue feature</h3><p class="proof-byline">Rudi · Fashion photographer</p></article>
          <article class="proof-result"><img class="proof-avatar" src="/underexposed-assets/richard-avatar.jpg" alt="Richard, visual storyteller" width="192" height="192" loading="lazy" decoding="async"><h3>3K → 11K on Instagram</h3><p class="proof-byline">Richard · Visual storyteller</p></article>
          <article class="proof-result"><img class="proof-avatar" src="/underexposed-assets/underexposed-cristi-96.jpg" alt="Cristian Percu, photographer" width="96" height="91" loading="lazy" decoding="async"><h3>12× growth in new followers</h3><p class="proof-byline">Cristian Percu · Photographer</p></article>
        </div>
      </div>
    </section>

    <section class="section" id="trial-challenges" aria-labelledby="trial-title"><div class="wrap trial-layout"><header class="trial-head"><h2 class="section-title section-title--trial" id="trial-title" aria-label="Your first 7 days in Underexposed"><span class="section-title-line">Your first 7 days</span><span class="section-title-line">in Underexposed</span></h2><p class="intro">Three challenges. Six short videos. Feedback from Frederik while you work.</p></header><div class="trial-desktop" aria-label="Your first seven days in Underexposed"><div class="trial-desktop-track"><article class="trial-milestone"><span class="trial-milestone-day">Day 1</span><span class="trial-milestone-node" aria-hidden="true"></span><h3>MAKE YOUR POSITIONING OBVIOUS</h3><p>Clarify what you shoot, the work you want, and how someone can hire you.</p></article><article class="trial-milestone"><span class="trial-milestone-day">Day 2</span><span class="trial-milestone-node" aria-hidden="true"></span><h3>PUBLISH A FOCUSED PORTFOLIO</h3><p>Choose 5–10 images that make your direction clear. Publish it and get feedback.</p></article><article class="trial-milestone"><span class="trial-milestone-day">Day 3-6</span><span class="trial-milestone-node" aria-hidden="true"></span><h3>SHOW THE PERSON BEHIND THE WORK</h3><p>Create a short introduction that gives people a reason to remember the photographer, not only the photographs.</p></article><article class="trial-milestone trial-milestone--finish"><span class="trial-milestone-day">Day 7</span><span class="trial-milestone-node" aria-hidden="true"></span><h3>EXPOSURE-READY</h3><p>Clear positioning. Focused work. A visible person behind it. A clear way to hire you.</p></article></div></div><div class="trial-mobile" data-trial-mobile><nav class="trial-mobile-nav" aria-label="Choose a first-week milestone"><button type="button" data-trial-nav="0" aria-current="step">Day 1</button><button type="button" data-trial-nav="1">Day 2</button><button type="button" data-trial-nav="2">Day 3-6</button><button type="button" data-trial-nav="3">Day <span class="trial-day-seven" data-trial-day-seven><span class="trial-day-seven-number" data-trial-day-seven-number>7</span><span class="trial-day-seven-sparks" data-trial-day-seven-sparks aria-hidden="true"><i data-trial-spark></i><i data-trial-spark></i><i data-trial-spark></i><i data-trial-spark></i><i data-trial-spark></i><i data-trial-spark></i></span></span></button></nav><div class="trial-mobile-cards" data-trial-cards tabindex="0" aria-label="Swipe through your first seven days"><article class="trial-mobile-card" id="trial-day-1" data-trial-card="0"><span class="trial-mobile-day">Day 1</span><h3>MAKE YOUR POSITIONING OBVIOUS</h3><p>Clarify what you shoot, the work you want, and how someone can hire you.</p></article><article class="trial-mobile-card" id="trial-day-2" data-trial-card="1"><span class="trial-mobile-day">Day 2</span><h3>PUBLISH A FOCUSED PORTFOLIO</h3><p>Choose 5–10 images that make your direction clear. Publish it and get feedback.</p></article><article class="trial-mobile-card" id="trial-day-3" data-trial-card="2"><span class="trial-mobile-day">Day 3-6</span><h3>SHOW THE PERSON BEHIND THE WORK</h3><p>Create a short introduction that gives people a reason to remember the photographer, not only the photographs.</p></article><article class="trial-mobile-card trial-mobile-card--finish" id="trial-day-4" data-trial-card="3"><span class="trial-mobile-day">Day 7</span><h3 aria-label="EXPOSURE-READY"><span>EXPOSURE-</span><span>READY</span></h3><p>Clear positioning. Focused work. A visible person behind it. A clear way to hire you.</p></article></div></div><div class="trial-transition" aria-label="After your trial"><span class="trial-transition-label">After your trial</span><span class="trial-transition-arrow" aria-hidden="true">↓</span></div></div></section>



    <section class="course-depth course-depth--outcomes" id="course-depth" aria-labelledby="course-depth-title"><div class="wrap"><header class="course-depth-head course-depth-head--outcomes"><p class="outcomes-eyebrow">CHOOSE YOUR PATH</p><h2 class="course-depth-title" id="course-depth-title">Choose your <mark class="outcomes-highlight">next outcome.</mark></h2><p class="course-depth-intro">Use the 30+ short lessons as a library. Start with what matters to you now.</p></header><div class="course-chapters" aria-label="Underexposed course chapters"><article class="course-chapter"><div class="course-chapter-meta"><span class="course-chapter-label">Social</span><span class="course-chapter-number" aria-hidden="true">01</span></div><h3>Reach the right people on social</h3><p>Use Instagram, YouTube, LinkedIn and TikTok with a clear purpose: build recognition for the work you want to be hired for.</p></article><article class="course-chapter"><div class="course-chapter-meta"><span class="course-chapter-label">SEO</span><span class="course-chapter-number" aria-hidden="true">02</span></div><h3>Get found when clients search</h3><p>Show up for searches that lead to enquiries, commissions and licensing opportunities.</p></article><article class="course-chapter"><div class="course-chapter-meta"><span class="course-chapter-label">AI search</span><span class="course-chapter-number" aria-hidden="true">03</span></div><h3>Get recommended by ChatGPT</h3><p>Your next client is asking ChatGPT and Claude who to hire. If your name isn’t in the answer, the commission goes to someone else.</p></article><article class="course-chapter"><div class="course-chapter-meta"><span class="course-chapter-label">Video</span><span class="course-chapter-number" aria-hidden="true">04</span></div><h3>Make videos people remember</h3><p>Turn your photography and ideas into videos that hold attention, get shared and make people remember the photographer behind them.</p></article><article class="course-chapter"><div class="course-chapter-meta"><span class="course-chapter-label">Press</span><span class="course-chapter-number" aria-hidden="true">05</span></div><h3>Pitch work editors want to publish</h3><p>Find the right journalists, shape your project into a story and give editors a clear reason to cover it.</p></article><article class="course-chapter"><div class="course-chapter-meta"><span class="course-chapter-label">Portfolio</span><span class="course-chapter-number" aria-hidden="true">06</span></div><h3>Build a portfolio that gets you hired</h3><p>Structure your site so clients quickly understand what you do, why you’re right for the job and how to hire you.</p></article></div></div></section>
    <section class="section ink-section" id="trailer" aria-labelledby="definition-title"><div class="wrap definition-grid"><div class="definition-copy"><h2 class="section-title section-title--light" id="definition-title">Inside Underexposed</h2><p class="intro intro--light">A practical course and community for getting strong photography discovered, remembered, published, and hired.</p></div><div><div class="video-frame"><wistia-player data-wistia-lazy
  media-id="2guqxnfn4v"
  aspect="1.7777777777777777"
  preload="none">
</wistia-player></div><p class="video-caption"><span>Inside Underexposed</span><span>Watch · 02:09</span></p></div></div></section>



    <section class="section" id="community" aria-labelledby="doing-title"><div class="wrap community-showcase"><header class="community-head"><h2 class="section-title community-title" id="doing-title"><span>The course gives you structure.</span><span>The <mark class="community-highlight">community</mark> helps you execute.</span></h2></header><div class="community-content"><figure class="community-image"><img src="/underexposed-assets/course-hero-640.jpg" srcset="/underexposed-assets/course-hero-420.jpg 420w, /underexposed-assets/course-hero-640.jpg 640w, /underexposed-assets/course-hero.jpg 900w" sizes="(min-width: 768px) 52vw, calc(100vw - 2rem)" alt="Underexposed Circle community feed with photography strategy discussions" width="640" height="640" loading="lazy" decoding="async"></figure><div class="community-benefits steps"><article class="community-card step"><span class="community-check" aria-hidden="true">✓</span><div><h3>Personal feedback from Frederik</h3><p>Get eyes on your portfolio, content, positioning, and pitches.</p></div></article><article class="community-card step"><span class="community-check" aria-hidden="true">✓</span><div><h3>Live workshops + Q&A</h3><p>Deep dives into photography marketing and live questions.</p></div></article><article class="community-card step"><span class="community-check" aria-hidden="true">✓</span><div><h3>Focused strategy spaces</h3><p>Instagram, YouTube, SEO, press, portfolio, video, and more.</p></div></article></div></div></div></section>

    <section id="pricing" aria-labelledby="pricing-title"><div class="pricing-wrap"><article class="pricing-card"><div class="pricing-copy"><header class="pricing-head"><h2 class="display display--small" id="pricing-title">What you'll get</h2></header><div class="pricing-trust"><div class="pricing-avatars" aria-label="Underexposed community photographers"><span class="pricing-avatar"><img src="/underexposed-assets/avatar-1-48.jpg" alt="Underexposed community photographer holding a camera" width="48" height="48" loading="lazy" decoding="async"></span><span class="pricing-avatar"><img src="/underexposed-assets/avatar-2-48.jpg" alt="Underexposed community photographer with curly blonde hair" width="48" height="48" loading="lazy" decoding="async"></span><span class="pricing-avatar"><img src="/underexposed-assets/avatar-3-48.jpg" alt="Underexposed community photographer wearing a blue cap" width="48" height="48" loading="lazy" decoding="async"></span><span class="pricing-avatar"><img src="/underexposed-assets/avatar-4-48.jpg" alt="Underexposed community photographer outdoors" width="48" height="48" loading="lazy" decoding="async"></span><span class="pricing-avatar"><img src="/underexposed-assets/avatar-5-48.jpg" alt="Underexposed community photographer in colored studio lighting" width="48" height="48" loading="lazy" decoding="async"></span></div><p>Trusted by photographers worldwide</p></div><ul class="pricing-benefits"><li><span class="check" aria-hidden="true">✓</span><span>30+ lessons on marketing for photographers</span></li><li><span class="check" aria-hidden="true">✓</span><span>Press vault: 200+ journalists to pitch</span></li><li><span class="check" aria-hidden="true">✓</span><span>Private community of working photographers</span></li><li><span class="check" aria-hidden="true">✓</span><span>Monthly workshops with direct feedback</span></li></ul></div><div class="pricing-offer"><p class="pricing-amount"><strong>$199 to join, then $29/month</strong></p><p class="pricing-billing">$0 today. Cancel before day 7 and pay nothing.</p><div class="pricing-action" data-major-cta><a href="https://community.trovatten.com/checkout/start" class="button button--full" data-underexposed-cta data-cta-location="underexposed_trial_pricing" data-cta-stage="checkout">Start My 7-Day Free Trial</a></div></div></article><div class="pricing-proof"><img src="/underexposed-assets/instagram-founder.jpg" alt="Mike Krieger, co-founder of Instagram" width="750" height="750" loading="lazy" decoding="async"><blockquote>“Your advice was spot on, Frederik.<br>Let me know when you're in the Bay Area.”<cite>Mike Krieger · Co-founder of Instagram</cite></blockquote></div></div></section>

    <section class="section paper-light" id="meet-frederik" aria-labelledby="founder-title"><div class="wrap founder-grid"><div class="contact-sheet" aria-label="Street photograph by Frederik Trovatten"><figure class="contact-frame"><img src="/underexposed-assets/frederik-street-work.webp" alt="Street photograph by Frederik Trovatten" width="1200" height="675" loading="lazy" decoding="async"></figure></div><div class="founder-copy"><h2 class="section-title" id="founder-title">Why I built Underexposed</h2><p class="intro">I built Underexposed from the strategies and decisions I used to fast-forward my own photography career. The goal is to help you go from not being in the conversation to becoming the photographer people think of when the right project comes up.</p><div class="credentials"><div class="credential"><strong>3x Cannes Gold Lions</strong><span>Cannes Lions · Burger King Mexico</span></div><div class="credential"><strong>18 years</strong><span>Marketing and social media</span></div><div class="credential"><strong>180K+ followers</strong><span>Built across social media</span></div><div class="credential"><strong>Global brand work</strong><span>Coca-Cola, Burger King, Facebook</span></div></div></div></div></section>

    <section class="section" aria-labelledby="fit-title"><div class="wrap fit-grid"><div><h2 class="section-title" id="fit-title">Underexposed is for you, if...</h2><div class="fit-list"><div class="fit-item"><span>✓</span><div><strong>Your photography is better than the opportunities you are getting.</strong></div></div><div class="fit-item"><span>✓</span><div><strong>You want routes to discovery beyond Instagram.</strong></div></div><div class="fit-item"><span>✓</span><div><strong>You want the right people to remember your name.</strong></div></div><div class="fit-item"><span>✓</span><div><strong>You are willing to publish, test, pitch, and improve.</strong></div></div></div></div><aside class="not-for-you"><h3>It's not for you if...</h3><div class="fit-list fit-list--negative"><div class="fit-item"><span>×</span><div><strong>You're already fully booked, consistently turning down work, and don't need help getting seen, growing an audience, or booking more clients.</strong></div></div></div></aside></div></section>

    <section class="section paper-light faq" id="faq" aria-labelledby="faq-title"><div class="narrow"><header class="faq-head"><h2 class="section-title" id="faq-title">Straight answers</h2></header><div class="faq-list"><details><summary><span>When exactly will I be charged?</span><span class="faq-icon" aria-hidden="true"></span></summary><p>Today is $0. If you do not cancel, the $199 one-time enrollment fee is charged on Day 7. Your first $29 monthly payment begins about 30 days later. The $199 and first $29 are not charged together.</p></details><details><summary><span>What happens during the 7-day trial?</span><span class="faq-icon" aria-hidden="true"></span></summary><p>You get six guided videos, three practical challenges, and a private trial community with Frederik. You will clarify your profile, publish a portfolio carousel, and create an introduction Reel.</p></details><details><summary><span>Can I cancel during the trial?</span><span class="faq-icon" aria-hidden="true"></span></summary><p>Yes. You can self-cancel during the seven-day trial and pay nothing.</p></details><details><summary><span>What does the $199 enrollment unlock?</span><span class="faq-icon" aria-hidden="true"></span></summary><p>The one-time enrollment unlocks the complete Underexposed course material and member tools, including Press Vault.</p></details><details><summary><span>Is Underexposed mainly an Instagram course?</span><span class="faq-icon" aria-hidden="true"></span></summary><p>No. Instagram is one useful starting point for the trial. The complete course also covers Google, AI search, press, portfolio strategy, YouTube, video, outreach, and other routes to discovery.</p></details><details><summary><span>Why is Underexposed a membership?</span><span class="faq-icon" aria-hidden="true"></span></summary><p>Photography marketing keeps changing. The membership gives you an ongoing community, bi-weekly live workshops, and course material I update as the landscape changes. Cancel anytime.</p></details></div></div></section>

    <section class="final" id="final-cta" data-major-cta aria-labelledby="final-title"><div class="narrow"><h2 class="display display--small" id="final-title">Stop being photography's best-kept secret.</h2><p class="final-lead">Get your work in front of clients, editors, brands, and agencies who can hire, publish, or commission you.</p><a href="#pricing" class="button button--full" data-underexposed-cta data-cta-location="underexposed_trial_closing" data-cta-stage="pricing">Start My 7-Day Free Trial</a><p class="billing">7 days free. Cancel during your trial and pay nothing.</p></div></section>
  </main>

  <div class="sticky is-hidden" id="mobile-sticky-cta" aria-label="Start the Underexposed free trial"><a href="#pricing" class="button" data-underexposed-cta data-cta-location="underexposed_trial_sticky" data-cta-stage="pricing">Start My 7-Day Free Trial</a></div>

  <script>
    (() => {
      const checkoutBase = "https://community.trovatten.com/checkout/start";
      const keep = new Set(['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'utm_id', 'fbclid', 'gclid', 'gbraid', 'wbraid', 'affiliate_code', 'coupon_code']);
      const current = new URLSearchParams(location.search);
      const checkoutUrl = new URL(checkoutBase);
      current.forEach((value, key) => { if (keep.has(key)) checkoutUrl.searchParams.set(key, value); });
      let linker = {};
      try { if (typeof window.__trovattenGetGaLinkerParams === 'function') linker = window.__trovattenGetGaLinkerParams() || {}; } catch {}
      Object.entries(linker || {}).forEach(([key, value]) => {
        if ((key === '_gl' || key === '_ga' || key.startsWith('_ga_')) && value) checkoutUrl.searchParams.set(key, value);
      });
      document.querySelectorAll('[data-cta-stage="checkout"]').forEach((link) => { link.href = checkoutUrl.toString(); });

      const mobileTrial = document.querySelector('[data-trial-mobile]');
      if (mobileTrial) {
        const cardRail = mobileTrial.querySelector('[data-trial-cards]');
        const cards = [...mobileTrial.querySelectorAll('[data-trial-card]')];
        const navButtons = [...mobileTrial.querySelectorAll('[data-trial-nav]')];
        const daySeven = mobileTrial.querySelector('[data-trial-day-seven]');
        const daySevenBurst = mobileTrial.querySelector('[data-trial-day-seven-sparks]');
        const daySevenFirstSpark = daySevenBurst?.querySelector('[data-trial-spark]');
        const reducedMotion = matchMedia('(prefers-reduced-motion: reduce)');
        let daySevenCelebrated = false;
        const celebrateDaySeven = () => {
          if (daySevenCelebrated) return;
          daySevenCelebrated = true;
          if (reducedMotion.matches || !daySeven || !daySevenBurst || !daySevenFirstSpark) return;
          daySeven.classList.add('is-celebrating');
          daySevenFirstSpark.addEventListener('animationend', () => {
            daySeven.classList.remove('is-celebrating');
          }, { once: true });
        };
        const setActiveMilestone = (index) => {
          navButtons.forEach((button, buttonIndex) => {
            if (buttonIndex === index) button.setAttribute('aria-current', 'step');
            else button.removeAttribute('aria-current');
          });
          if (index === cards.length - 1) celebrateDaySeven();
        };
        const targetLeft = (card) => card.getBoundingClientRect().left - cardRail.getBoundingClientRect().left + cardRail.scrollLeft;
        navButtons.forEach((button, index) => {
          button.addEventListener('click', () => {
            const card = cards[index];
            if (!card || !cardRail) return;
            cardRail.scrollTo({
              left: targetLeft(card),
              behavior: matchMedia('(prefers-reduced-motion: reduce)').matches ? 'auto' : 'smooth'
            });
            setActiveMilestone(index);
          });
        });
      if (cardRail && cards.length) {
          let frame = 0;
          cardRail.addEventListener('scroll', () => {
            cancelAnimationFrame(frame);
            frame = requestAnimationFrame(() => {
              const activeIndex = cards.reduce((closest, card, index) => (
                Math.abs(targetLeft(card) - cardRail.scrollLeft) < Math.abs(targetLeft(cards[closest]) - cardRail.scrollLeft) ? index : closest
              ), 0);
              setActiveMilestone(activeIndex);
            });
          }, { passive: true });
          setActiveMilestone(0);
        }
      }

      const wistiaPlayer = document.querySelector('[data-wistia-lazy]');
      const loadWistia = () => {
        if (!wistiaPlayer || wistiaPlayer.dataset.wistiaLoaded === 'true') return;
        wistiaPlayer.dataset.wistiaLoaded = 'true';
        const addScript = (src, type = '') => {
          if (document.querySelector('script[src="' + src + '"]')) return;
          const script = document.createElement('script');
          script.src = src;
          script.async = true;
          if (type) script.type = type;
          document.head.append(script);
        };
        addScript('https://fast.wistia.com/embed/2guqxnfn4v.js', 'module');
        addScript('https://fast.wistia.com/player.js');
      };
      if (wistiaPlayer) {
        if ('IntersectionObserver' in window) {
          const wistiaObserver = new IntersectionObserver((entries) => {
            if (!entries.some((entry) => entry.isIntersecting)) return;
            wistiaObserver.disconnect();
            loadWistia();
          }, { rootMargin: '1200px 0px', threshold: .01 });
          wistiaObserver.observe(wistiaPlayer);
        } else {
          loadWistia();
        }
      }

      const sticky = document.getElementById('mobile-sticky-cta');
      const stickyLink = sticky?.querySelector('[data-underexposed-cta]');
      const majorCtas = [...document.querySelectorAll('[data-major-cta]')];
      if (!sticky || !stickyLink || !('IntersectionObserver' in window)) return;
      const visible = new Map(majorCtas.map((element) => [element, false]));
      const update = () => {
        sticky.classList.toggle('is-hidden', [...visible.values()].some(Boolean));
      };
      const observer = new IntersectionObserver((entries) => {
        entries.forEach((entry) => visible.set(entry.target, entry.isIntersecting));
        update();
      }, { threshold: .08 });
      visible.forEach((_, element) => observer.observe(element));
      update();
    })();
  </script>
</body>
</html>
