
  :root{
    --bg:#f1f4ff;
    --ink:#1d2640;
    --ink-soft:#4a5578;
    --ink-faint:#6b7593;
    --gold:#b98a3e;
    --gold-soft:#d9b979;
    --red:#a9443a;
    --card:#ffffff;
    --line:#dbe1f7;
    --line-strong:#c7d0f0;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  /* subtle atmosphere over the fixed #f1f4ff base */
  body::before{
    content:"";
    position:fixed;inset:0;z-index:-1;
    background:
      radial-gradient(1200px 600px at 15% -5%, rgba(185,138,62,.10), transparent 60%),
      radial-gradient(1000px 700px at 100% 10%, rgba(120,140,220,.14), transparent 55%),
      radial-gradient(900px 600px at 50% 110%, rgba(185,138,62,.08), transparent 60%);
    pointer-events:none;
  }
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

  /* ---------- animations ---------- */
  @keyframes rise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
  .reveal{animation:rise .8s cubic-bezier(.2,.7,.2,1) both;}
  .d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.25s}
  .d4{animation-delay:.35s}.d5{animation-delay:.45s}

  /* ---------- hero ---------- */
  header.hero{padding:72px 0 40px;text-align:center;}
  .eyebrow{
    display:inline-block;letter-spacing:.28em;text-transform:uppercase;
    font-size:12px;font-weight:600;color:var(--gold);
    border:1px solid var(--gold-soft);border-radius:999px;
    padding:7px 18px;background:rgba(255,255,255,.55);
  }
  h1{
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;font-size:clamp(34px,6vw,62px);
    line-height:1.08;margin:22px auto 20px;max-width:820px;color:var(--ink);
  }
  h1 em{font-style:italic;color:var(--red);}
  .lead{
    max-width:720px;margin:0 auto;font-size:clamp(16px,2.2vw,19px);
    color:var(--ink-soft);
  }
  .hero-img{
    margin:44px auto 0;max-width:760px;
    border-radius:24px;overflow:hidden;
    box-shadow:0 30px 70px -30px rgba(29,38,64,.45);
    border:1px solid var(--line);
  }
  .hero-img img{display:block;width:100%;height:auto;}

  /* ---------- sections ---------- */
  section{padding:64px 0;}
  .sec-head{text-align:center;max-width:760px;margin:0 auto 42px;}
  .kicker{
    letter-spacing:.22em;text-transform:uppercase;font-size:12px;
    font-weight:700;color:var(--gold);margin-bottom:12px;
  }
  h2{
    font-family:Georgia,"Times New Roman",serif;font-weight:400;
    font-size:clamp(26px,4vw,40px);line-height:1.15;color:var(--ink);
  }
  .sec-head p{margin-top:16px;color:var(--ink-soft);font-size:17px;}

  .gold-rule{width:64px;height:3px;background:var(--gold);border-radius:2px;margin:18px auto 0;}

  /* prose */
  .prose{max-width:760px;margin:0 auto;color:var(--ink-soft);font-size:17px;}
  .prose p{margin-bottom:18px;}
  .prose p:last-child{margin-bottom:0;}
  .prose strong{color:var(--ink);font-weight:600;}

  /* ---------- feature cards ---------- */
  .grid{display:grid;gap:22px;}
  .g3{grid-template-columns:repeat(3,1fr);}
  .g2{grid-template-columns:repeat(2,1fr);}
  .card{
    background:var(--card);border:1px solid var(--line);border-radius:18px;
    padding:28px;box-shadow:0 14px 34px -26px rgba(29,38,64,.5);
  }
  .card h3{
    font-family:Georgia,"Times New Roman",serif;font-weight:400;
    font-size:21px;color:var(--ink);margin-bottom:10px;
  }
  .card .num{
    font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--gold);
    text-transform:uppercase;display:block;margin-bottom:8px;
  }
  .card p{color:var(--ink-soft);font-size:15.5px;}

  /* ---------- figures ---------- */
  figure{margin:0;}
  figure img{
    display:block;width:100%;height:100%;object-fit:cover;
  }
  .shot{border-radius:18px;overflow:hidden;border:1px solid var(--line);
    box-shadow:0 18px 44px -28px rgba(29,38,64,.5);background:var(--card);}
  .shot img{transition:transform .6s cubic-bezier(.2,.7,.2,1);}
  .shot:hover img{transform:scale(1.04);}
  figcaption{
    font-size:13px;color:var(--ink-faint);text-align:center;
    padding:12px 6px 2px;letter-spacing:.02em;
  }
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
  .duo .caption{color:var(--ink-soft);font-size:16px;}

  .feature-row{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;}
  .feature-row.rev{grid-template-columns:1fr 1.05fr;}
  .feature-row .txt h3{
    font-family:Georgia,"Times New Roman",serif;font-weight:400;
    font-size:clamp(22px,3vw,30px);color:var(--ink);line-height:1.2;margin-bottom:14px;
  }
  .feature-row .txt p{color:var(--ink-soft);font-size:16.5px;margin-bottom:14px;}
  .feature-row .txt p:last-child{margin-bottom:0;}
  .feature-row .txt .tag{
    display:inline-block;font-size:11px;font-weight:700;letter-spacing:.2em;
    text-transform:uppercase;color:var(--red);margin-bottom:10px;
  }

  /* ---------- included list ---------- */
  .included{background:var(--card);border:1px solid var(--line);border-radius:20px;
    padding:40px;box-shadow:0 18px 44px -30px rgba(29,38,64,.5);}
  .included h2{margin-bottom:24px;text-align:center;}
  .included ul{list-style:none;display:grid;gap:14px;max-width:720px;margin:0 auto;}
  .included li{
    position:relative;padding-left:34px;color:var(--ink-soft);font-size:16.5px;
  }
  .included li::before{
    content:"";position:absolute;left:0;top:7px;width:14px;height:14px;
    border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(185,138,62,.16);
  }

  /* ---------- FAQ ---------- */
  .faq-item{
    background:var(--card);border:1px solid var(--line);border-radius:16px;
    padding:26px 30px;margin-bottom:16px;
  }
  .faq-item h3{
    font-size:18px;font-weight:600;color:var(--ink);margin-bottom:10px;
    font-family:Georgia,"Times New Roman",serif;font-weight:400;
  }
  .faq-item p{color:var(--ink-soft);font-size:16px;}

  /* ---------- closing ---------- */
  .closing{text-align:center;padding:70px 0 50px;}
  .closing h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;
    font-size:clamp(28px,4.5vw,42px);font-style:italic;color:var(--ink);}
  .closing p{margin-top:16px;color:var(--ink-soft);font-size:17px;}

  footer{border-top:1px solid var(--line);padding:34px 0 46px;text-align:center;}
  footer p{color:var(--ink-faint);font-size:13.5px;letter-spacing:.05em;}

  /* ---------- responsive ---------- */
  @media (max-width:860px){
    .g3{grid-template-columns:1fr 1fr;}
    .feature-row,.feature-row.rev{grid-template-columns:1fr;gap:22px;}
    .feature-row.rev .txt{order:1;}
    .duo{grid-template-columns:1fr;}
  }
  @media (max-width:560px){
    .g3,.g2{grid-template-columns:1fr;}
    header.hero{padding:48px 0 28px;}
    section{padding:46px 0;}
    .included{padding:28px 22px;}
    .faq-item{padding:22px 20px;}
    .wrap{padding:0 18px;}
  }
