/* Page-specific extracted styles */
:root{
    --parchment:#F2EDE4;
    --ivory:#EDE6D8;
    --ink:#1A1A1A;
    --grey:#4D4D4D;
    --umber:#8B4A2E;
    --frame:rgba(26,26,26,0.82);
    --field:rgba(255,255,255,0.34);
  }
  *{box-sizing:border-box}
  html,body{margin:0;min-height:100%}
  body{
    min-height:100vh;
    background:var(--parchment);
    color:var(--ink);
    font-family:'Inter',Helvetica,Arial,sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  body::before{
    content:'';
    position:fixed;
    inset:0;
    background:
      linear-gradient(90deg, rgba(26,26,26,0.035) 1px, transparent 1px),
      linear-gradient(0deg, rgba(26,26,26,0.025) 1px, transparent 1px);
    background-size:44px 44px;
    pointer-events:none;
  }
  a{color:inherit}
  .gate{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:42px 24px;
  }
  .frame{
    width:min(100%, 520px);
    border:1px solid var(--frame);
    padding:42px;
    position:relative;
    background:rgba(242,237,228,0.72);
  }
  .corner{
    position:absolute;
    width:10px;
    height:10px;
    border:1px solid var(--frame);
    background:var(--parchment);
  }
  .corner.tl{top:-5px;left:-5px}
  .corner.tr{top:-5px;right:-5px}
  .corner.bl{bottom:-5px;left:-5px}
  .corner.br{bottom:-5px;right:-5px}
  .caps{
    margin:0 0 16px;
    font-size:12px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    color:var(--grey);
  }
  h1{
    margin:0 0 8px;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:clamp(42px, 8vw, 64px);
    line-height:0.98;
    font-weight:300;
  }
  .lede{
    margin:0 0 32px;
    max-width:34ch;
    font-family:'Cormorant Garamond',Georgia,serif;
    font-size:22px;
    line-height:1.45;
  }
  form{display:grid;gap:14px;margin:0}
  form + form{margin-top:18px}
  label{
    display:grid;
    gap:7px;
    font-size:12px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--grey);
  }
  input{
    width:100%;
    min-height:48px;
    border:1px solid rgba(26,26,26,0.46);
    border-radius:0;
    background:var(--field);
    color:var(--ink);
    font:400 17px 'Inter',Helvetica,Arial,sans-serif;
    letter-spacing:0;
    padding:11px 13px;
    outline:none;
  }
  input:focus{border-color:var(--umber);box-shadow:0 0 0 1px var(--umber)}
  button{
    min-height:48px;
    border:1px solid var(--ink);
    border-radius:0;
    background:var(--ink);
    color:var(--parchment);
    font:400 12px 'Inter',Helvetica,Arial,sans-serif;
    letter-spacing:0.22em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background 140ms ease,color 140ms ease,opacity 140ms ease;
  }
  button:hover{background:var(--umber);border-color:var(--umber)}
  button:disabled{cursor:wait;opacity:0.58}
  .split{
    display:flex;
    align-items:center;
    gap:14px;
    margin:24px 0 18px;
    color:var(--grey);
    font-size:12px;
    letter-spacing:0.22em;
    text-transform:uppercase;
  }
  .split::before,.split::after{content:'';height:1px;flex:1;background:rgba(26,26,26,0.28)}
  .status{
    min-height:24px;
    margin:18px 0 0;
    color:var(--grey);
    font-size:14px;
  }
  .status.error{color:#8B2E2E}
  .pending-panel{
    margin-top:16px;
    padding:16px;
    border:1px solid rgba(26,26,26,0.28);
    background:rgba(255,255,255,0.18);
  }
  .pending-panel p{margin:0 0 12px;color:var(--grey);font-size:14px}
  .pending-panel button{width:100%}
  [hidden]{display:none!important}
  @media (max-width: 560px){
    .gate{padding:20px 16px}
    .frame{padding:30px 22px}
  }
