:root{
    --ink:#191320;
    --plum:#241a2d;
    --plum-line:#3a2c44;
    --palatine:#8a4d96;
    --palatine-deep:#68246d;
    --gilt:#c8a468;
    --gilt-soft:#a98a54;
    --ivory:#f2ebdf;
    --muted:#b6a6b6;
    --measure:34rem;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

  body{
    margin:0;background:var(--ink);color:var(--ivory);
    font-family:"EB Garamond",Georgia,serif;font-size:1.08rem;line-height:1.7;
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  }
  ::selection{background:var(--palatine);color:var(--ivory);}
  a{color:inherit;}
  .wrap{max-width:64rem;margin:0 auto;padding:0 2rem;}

  h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1.04;margin:0;letter-spacing:.005em;}
  .mark{font-variant:small-caps;letter-spacing:.28em;font-size:.82rem;color:var(--gilt);font-family:"EB Garamond",serif;}

  /* ---- top bar ---- */
  header{position:absolute;top:0;left:0;right:0;z-index:10;}
  .bar{display:flex;align-items:baseline;justify-content:space-between;padding:2rem;max-width:64rem;margin:0 auto;}
  .bar .logo{font-variant:small-caps;letter-spacing:.34em;font-size:1rem;color:var(--ivory);text-decoration:none;}
  nav a{font-variant:small-caps;letter-spacing:.16em;font-size:.9rem;color:var(--muted);text-decoration:none;margin-left:1.6rem;transition:color .3s ease;}
  nav a:hover{color:var(--gilt);}
  @media (max-width:640px){ nav{display:none;} }

  /* ---- hero ---- */
  .hero{
    min-height:100svh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;
    background:
      radial-gradient(120% 90% at 50% -10%, rgba(138,77,150,.22), transparent 60%),
      radial-gradient(80% 60% at 50% 120%, rgba(200,164,104,.10), transparent 60%),
      var(--ink);
  }
  .hero .wrap{width:100%;}
  .curtain-rule{width:0;height:1px;background:var(--gilt);margin-bottom:2.2rem;animation:draw 1.6s cubic-bezier(.2,.8,.2,1) .2s forwards;}
  .hero h1{font-size:clamp(3.4rem,11vw,8.5rem);letter-spacing:.02em;opacity:0;animation:rise 1.1s ease .5s forwards;}
  .hero h1 em{font-style:italic;color:var(--gilt);font-weight:400;}
  .hero .lede{font-size:clamp(1.15rem,2.4vw,1.5rem);color:var(--ivory);max-width:35rem;margin:1.6rem 0 0;opacity:0;animation:rise 1.1s ease .8s forwards;}
  .hero .fine{color:var(--muted);font-style:italic;margin-top:.9rem;opacity:0;animation:rise 1.1s ease 1s forwards;}
  .hero .cta-row{margin-top:2.6rem;opacity:0;animation:rise 1.1s ease 1.2s forwards;}

  @keyframes draw{to{width:6.5rem;}}
  @keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
  @media (prefers-reduced-motion:reduce){
    .curtain-rule{animation:none;width:6.5rem;}
    .hero h1,.hero .lede,.hero .fine,.hero .cta-row{animation:none;opacity:1;transform:none;}
  }

  .btn{
    display:inline-block;text-decoration:none;font-variant:small-caps;letter-spacing:.18em;font-size:1rem;
    color:var(--ink);background:var(--gilt);padding:.75rem 1.9rem;border:1px solid var(--gilt);cursor:pointer;
    font-family:"EB Garamond",serif;transition:background .3s ease,color .3s ease;
  }
  .btn:hover{background:transparent;color:var(--gilt);}
  .btn.ghost{background:transparent;color:var(--ivory);border-color:var(--plum-line);margin-left:1rem;}
  .btn.ghost:hover{border-color:var(--gilt);color:var(--gilt);}
  @media (max-width:480px){.btn.ghost{margin-left:0;margin-top:.8rem;}}

  /* ---- sections ---- */
  section{padding:7rem 0;}
  .idea .wrap{max-width:var(--measure);}
  .idea h2{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:1.6rem;}
  .idea h2 em,.idea p em{font-style:italic;color:var(--gilt);font-weight:400;}
  .idea p{margin:0 0 1.2rem;}
  .idea p:last-child{margin-bottom:0;}
  .idea .drop::first-letter{font-family:"Cormorant Garamond",serif;font-size:3.6rem;line-height:.8;float:left;padding:.15rem .5rem .1rem 0;color:var(--gilt);font-weight:500;}

  .rule-heading{display:flex;align-items:baseline;gap:1.4rem;margin-bottom:1.2rem;}
  .rule-heading h2{font-size:clamp(2rem,5vw,3.2rem);white-space:nowrap;}
  .rule-heading .line{flex:1;height:1px;background:var(--plum-line);}
  .section-note{color:var(--muted);font-style:italic;margin:0 0 3rem;max-width:var(--measure);}

  /* ---- the two tables ---- */
  .tables{background:linear-gradient(180deg,var(--ink),var(--plum) 50%,var(--ink));}
  .tables-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;}
  @media (max-width:720px){.tables-grid{grid-template-columns:1fr;gap:3rem;}}
  .table-block{border-top:1px solid var(--gilt-soft);padding-top:1.6rem;}
  .table-block .mark{display:block;margin-bottom:.9rem;}
  .table-block h3{font-size:clamp(1.9rem,4.2vw,2.6rem);margin-bottom:1rem;}
  .table-block p{color:var(--muted);margin:0;}
  .table-block p em{color:var(--ivory);font-style:italic;}
  .incl{list-style:none;margin:1.6rem 0 0;padding:0;}
  .incl li{padding:.6rem 0;border-top:1px solid var(--plum-line);color:var(--ivory);font-size:1rem;}
  .incl li::before{content:"—";color:var(--gilt);margin-right:.7rem;}

  /* ---- apply ---- */
  .apply .wrap{max-width:40rem;}
  .apply h2{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:.8rem;}
  .apply h2 em{font-style:italic;color:var(--gilt);font-weight:400;}
  .apply .sub{color:var(--muted);margin:0 0 2.6rem;}
  .field{margin-bottom:1.6rem;}
  .field label{display:block;font-variant:small-caps;letter-spacing:.12em;font-size:.9rem;color:var(--gilt);margin-bottom:.4rem;}
  .field input,.field select,.field textarea{
    width:100%;background:transparent;border:none;border-bottom:1px solid var(--plum-line);
    color:var(--ivory);font-family:"EB Garamond",serif;font-size:1.1rem;padding:.5rem 0;transition:border-color .3s ease;
  }
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gilt);}
  .field select{appearance:none;cursor:pointer;}
  .field select option{background:var(--ink);color:var(--ivory);}
  .row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
  @media (max-width:480px){.row{grid-template-columns:1fr;}}
  .apply .note{color:var(--muted);font-style:italic;font-size:.95rem;margin-top:1.4rem;}
  .thanks{display:none;border:1px solid var(--gilt-soft);padding:1.8rem;margin-top:1rem;color:var(--ivory);font-style:italic;font-size:1.2rem;font-family:"Cormorant Garamond",serif;}
  .thanks.show{display:block;animation:rise .6s ease;}
  .thanks strong{color:var(--gilt);font-style:normal;}

  /* ---- footer ---- */
  footer{padding:4rem 0 3rem;border-top:1px solid var(--plum-line);text-align:center;}
  footer .logo{font-variant:small-caps;letter-spacing:.34em;font-size:1.1rem;color:var(--ivory);}
  footer .say{color:var(--muted);font-style:italic;margin:.8rem 0 1.4rem;}
  footer a.mail{color:var(--gilt);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s;}
  footer a.mail:hover{border-color:var(--gilt);}
  footer .fine{color:var(--plum-line);font-size:.85rem;margin-top:2rem;letter-spacing:.04em;}
