:root{
    --paper:#faf6ee;
    --ink:#211d18;
    --ink-soft:#4a4438;
    --burgundy:#7a2e2e;
    --gold:#a9803e;
    --rule:#d8cfbb;
  }
  
  *{box-sizing:border-box;}
  body{
    margin:0;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--paper);
    color:var(--ink);
    font-family:'Source Serif 4', Georgia, serif;
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    padding:24px;
  }
  
  .wrap{
    max-width:560px;
    text-align:center;
    opacity:0;
    transform:translateY(8px);
    animation:fadeUp .7s ease forwards;
  }
  @keyframes fadeUp{to{opacity:1;transform:translateY(0);}}
  @media (prefers-reduced-motion: reduce){
    .wrap{animation:none;opacity:1;transform:none;}
  }
  
  .mark{
    font-size:50px;
    color:var(--burgundy);
    margin-bottom:18px;
  }
  
  .logo{
    font-family:'Fraunces', Georgia, serif;
    font-weight:500;
    font-size:22px;
    letter-spacing:.01em;
    margin-bottom:38px;
  }
  .logo em{color:var(--burgundy);font-style:italic;}
  
  h1{
    font-family:'Fraunces', Georgia, serif;
    font-weight:500;
    font-size:clamp(26px,4vw,34px);
    line-height:1.2;
    margin:0 0 20px;
  }
  
  .lead{
    color:var(--ink-soft);
    font-size:17px;
    margin:0 auto;
    max-width:42ch;
  }
  
  .rule{
    width:64px;
    height:1px;
    background:var(--rule);
    margin:36px auto;
  }
  
  .contact{
    font-size:14.5px;
    color:var(--ink-soft);
  }
  .contact a{
    color:var(--burgundy);
    text-decoration:none;
    border-bottom:1px solid var(--rule);
  }
  .contact a:hover{border-color:var(--burgundy);}