:root{
    --ivory:#F8F5F0;
    --cream:#F5F0E8;
    --cream-2:#EFE8DC;
    --ink:#1A1A2E;
    --ink-soft:#2A2F45;
    --body:#2C3245;
    --graphite:#4A4A4A;
    --muted:#6B6660;
    --line:#D9D2C5;
    --line-soft:#E7E0D2;
    --gold:#A08050;
    --gold-soft:#C4A87A;
  }
  *{box-sizing:border-box}
  body{
    background:var(--ivory);
    color:var(--body);
    font-family:'Inter', system-ui, sans-serif;
    font-weight:400;
    font-size:18px;
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  ::selection{ background:var(--ink); color:var(--cream); }
  .topbar{
    padding:28px 48px;
    display:flex; justify-content:space-between; align-items:center;
    border-bottom:1px solid var(--line-soft);
    background:var(--ivory);
  }
  .topbar .mark{
    font-family:'Cormorant Garamond', serif;
    font-size:20px; font-style:italic;
    letter-spacing:0.02em;
    color:var(--ink);
  }
  .topbar .role{
    font-size:11px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--muted);
  }
  .longread{
    max-width:680px;
    margin:0 auto;
    padding:96px 32px 160px;
  }
  .hero-head{
    margin-bottom:40px;
    padding-bottom:0;
    border-bottom:0;
  }
  .hero-head .eyebrow{
    font-size:11px; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--gold);
    margin-bottom:32px;
  }
  .hero-head h1{
    font-family:'Cormorant Garamond', serif;
    font-weight:400;
    font-size:46px;
    line-height:1.2;
    letter-spacing:-0.01em;
    margin:0 0 36px;
    color:var(--ink);
    text-wrap:pretty;
  }
  .hero-head .subtitle{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:400;
    font-size:24px;
    line-height:1.55;
    color:var(--ink-soft);
    margin:0;
    text-wrap:pretty;
  }
  .longread p{
    font-size:18px;
    line-height:1.85;
    color:var(--body);
    margin:0 0 22px;
  }
  .longread p.short{ margin-bottom:8px; }
  .longread p.solo{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:24px;
    color:var(--ink);
    margin:14px 0 26px;
    line-height:1.4;
  }
  .essay-letter{
    margin:8px 0 8px;
    padding:0;
    border-top:0;
    border-bottom:0;
  }
  .essay-letter .ts{
    font-size:11px; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--muted);
    margin-bottom:32px;
  }
  .essay-letter p{
    font-size:18px;
    line-height:1.85;
    color:var(--body);
  }
  .essay-letter .pull{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:26px;
    line-height:1.45;
    color:var(--ink);
    margin:36px 0;
  }
  .essay-letter .last-line{
    font-family:'Cormorant Garamond', serif;
    font-size:22px;
    line-height:1.5;
    color:var(--ink);
    margin:32px 0 8px;
    font-style:italic;
  }
  .essay-letter .signature{
    font-size:13px;
    color:var(--muted);
    letter-spacing:0.02em;
    font-style:italic;
    margin-top:40px;
  }
  .longread h2{
    font-family:'Cormorant Garamond', serif;
    font-weight:400;
    font-size:32px;
    line-height:1.3;
    color:var(--ink);
    margin:80px 0 28px;
    letter-spacing:-0.005em;
    text-wrap:pretty;
  }
  .longread h3{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    font-size:24px;
    line-height:1.35;
    color:var(--ink);
    margin:48px 0 18px;
    letter-spacing:-0.005em;
    text-wrap:pretty;
  }
  .longread em.serif{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    color:var(--ink);
    font-size:1.08em;
  }
  .longread strong{ font-weight:500; color:var(--ink); }
  .name-intro{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:26px;
    color:var(--ink);
    margin:64px 0 8px;
    line-height:1.3;
  }
  .step-block{
    margin-top:48px;
  }
  .step-block .step-label{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:18px;
    color:var(--gold);
    letter-spacing:0.02em;
    margin-bottom:6px;
  }
  .step-block h3{ margin-top:0; }
  .pull-quote{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:24px;
    line-height:1.5;
    color:var(--ink);
    margin:36px 0;
    padding:0 0 0 24px;
    border-left:1px solid var(--gold);
  }
  .price-line{
    margin:48px 0;
    padding:48px 0;
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    text-align:center;
  }
  .price-line .was{
    font-size:14px; color:var(--muted);
    margin-bottom:14px;
    letter-spacing:0.02em;
  }
  .price-line .was s{ color:var(--graphite); text-decoration-thickness:1px; }
  .price-line .now{
    font-family:'Cormorant Garamond', serif;
    font-size:88px; line-height:1; font-weight:300;
    color:var(--ink);
    letter-spacing:-0.02em;
    font-feature-settings:"tnum";
  }
  .price-line .now sup{
    font-size:30px; vertical-align:super; margin-left:4px; color:var(--ink-soft);
  }
  .price-line .label-this{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:20px;
    color:var(--ink-soft);
    margin-bottom:18px;
  }
  .bonus{
    margin-top:40px;
    padding-top:32px;
    border-top:1px solid var(--line-soft);
  }
  .bonus .bonus-tag{
    font-size:11px; letter-spacing:0.24em; text-transform:uppercase;
    color:var(--gold);
    margin-bottom:12px;
  }
  .bonus h3{ margin-top:0; margin-bottom:14px; }
  .testi-carousel{
    position:relative;
    margin:40px -32px 16px;
  }
  .testi-track{
    display:flex;
    gap:20px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:8px 32px 24px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .testi-track::-webkit-scrollbar{ display:none; }
  .testi-card{
    flex:0 0 auto;
    width:360px;
    height:360px;
    scroll-snap-align:center;
    background:var(--cream);
    border:1px solid var(--line-soft);
    padding:14px;
    box-shadow:0 1px 0 rgba(26,26,46,0.04), 0 12px 32px -16px rgba(26,26,46,0.18);
    overflow:hidden;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .testi-card:hover{ transform:translateY(-2px); box-shadow:0 1px 0 rgba(26,26,46,0.04), 0 18px 40px -18px rgba(26,26,46,0.24); }
  .testi-card img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:top center;
    background:var(--ivory);
  }
  .testi-card .meta{
    display:flex; align-items:center; justify-content:space-between;
    padding:4px 6px 0;
    font-size:11px;
    color:var(--muted);
    letter-spacing:0.04em;
  }
  .testi-card .meta .who{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:15px;
    color:var(--ink);
    letter-spacing:0;
  }
  .testi-nav{
    display:flex; justify-content:center; align-items:center; gap:24px;
    margin-top:20px;
  }
  .testi-arrow{
    width:44px; height:44px;
    border:1px solid var(--ink);
    background:transparent;
    color:var(--ink);
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:22px;
    cursor:pointer;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    transition:background .2s ease, color .2s ease;
    padding:0;
  }
  .testi-arrow:hover{ background:var(--ink); color:var(--cream); }
  .testi-counter{
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--muted);
    font-feature-settings:"tnum";
    min-width:64px;
    text-align:center;
  }
  .cta-inline{
    margin:56px 0;
    text-align:center;
  }
  .btn{
    display:inline-block;
    padding:20px 48px;
    background:var(--ink);
    color:var(--cream);
    font-family:'Inter', sans-serif;
    font-weight:500;
    font-size:13px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    text-decoration:none;
    border:1px solid var(--ink);
    transition:background .25s ease, color .25s ease;
  }
  .btn:hover{ background:transparent; color:var(--ink); }
  .ps{
    margin-top:64px;
    padding-top:40px;
    border-top:1px solid var(--line-soft);
  }
  .ps .tag{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:30px;
    color:var(--gold);
    margin-bottom:20px;
    line-height:1;
  }
  .ps .quoted{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:22px;
    line-height:1.55;
    color:var(--ink);
    margin:0 0 24px;
    padding-left:22px;
    border-left:1px solid var(--gold);
  }
  .ps .turn{
    font-family:'Cormorant Garamond', serif;
    font-size:24px;
    font-style:italic;
    color:var(--ink);
    margin:24px 0 8px;
  }
  footer{
    border-top:1px solid var(--line-soft);
    padding:40px 48px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px;
    font-size:12px; color:var(--muted);
    background:var(--ivory);
  }
  footer .mark{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-size:16px;
    color:var(--ink);
  }
  @media (max-width: 720px){
    .longread{ padding:64px 24px 120px; }
    .topbar{ padding:20px 24px; }
    .topbar .role{ display:none; }
    .hero-head h1{ font-size:32px; }
    .hero-head .subtitle{ font-size:20px; }
    .longread h2{ font-size:26px; }
    .longread h3{ font-size:21px; }
    .longread p, .essay-letter p{ font-size:17px; line-height:1.8; }
    .essay-letter .pull, .pull-quote{ font-size:21px; }
    .price-line .now{ font-size:64px; }
    .testi-carousel{ margin-left:-24px; margin-right:-24px; }
    .testi-track{ padding-left:24px; padding-right:24px; }
    .testi-card{ width:82vw; max-width:340px; height:82vw; max-height:340px; }
  }
