/* Shared styles for inner pages (contact, legal, accessibility, 404).
   Tokens and type match the inline styles in index.html. */
:root{
  --black:#080505;
  --black-soft:#120c0c;
  --panel:#170f0f;
  --crimson:#7c0f18;
  --crimson-bright:#a91620;
  --ember:#d13a2e;
  --gold:#c6a144;
  --gold-light:#e8d6a0;
  --cream:#f2e6cd;
  --cream-dim:#cbb996;
  --line:rgba(198,161,68,0.28);
  --field-line:rgba(198,161,68,0.6);
  --error:#e5645a;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}
body{
  margin:0;
  background:
    radial-gradient(ellipse 900px 420px at 50% 0%, rgba(124,15,24,0.32), transparent 60%),
    var(--black);
  color:var(--cream);
  font-family:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  font-size:19px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
a{color:var(--gold-light);text-underline-offset:3px;}
a:hover{color:var(--cream);}
a:focus-visible, button:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;}
h1,h2,h3{
  font-family:'Cinzel', Georgia, serif;
  font-weight:600;
  letter-spacing:.015em;
  line-height:1.2;
  color:var(--gold-light);
  text-wrap:balance;
}
h1{font-size:clamp(1.9rem,5vw,2.8rem);margin:0 0 10px;}
h2{font-size:1.3rem;margin:44px 0 10px;}
h3{font-size:1.05rem;margin:28px 0 8px;color:var(--cream);}
p,li{color:var(--cream-dim);text-wrap:pretty;}
p{margin:0 0 14px;}
ul{padding-left:1.2em;margin:0 0 14px;}
li{margin-bottom:6px;}
strong{color:var(--cream);font-weight:600;}

.skip-link{
  position:absolute;left:-9999px;top:auto;
  background:var(--gold);color:var(--black);
  padding:14px 22px;z-index:300;
  font-family:'Cinzel',serif;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;
}
.skip-link:focus{left:16px;top:16px;}

/* header */
.site-header{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 36px;
}
.brandmark{
  display:flex;align-items:center;gap:10px;
  font-family:'Cinzel Decorative','Cinzel',serif;font-weight:700;font-size:1rem;letter-spacing:.12em;
  color:var(--cream);text-decoration:none;
}
.brandmark svg{width:28px;height:28px;flex-shrink:0;}
.btn{
  display:inline-block;
  font-family:'Cinzel',serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
  color:var(--gold-light);border:1px solid var(--gold);padding:12px 22px;background:transparent;cursor:pointer;
  transition:background .25s,color .25s;
}
.btn:hover{background:var(--gold);color:var(--black);}
.btn.solid{background:var(--crimson);border-color:var(--crimson-bright);color:var(--cream);}
.btn.solid:hover{background:var(--crimson-bright);}
.btn:disabled{opacity:.6;cursor:wait;}

/* page body */
main{flex:1;}
.page{max-width:720px;margin:0 auto;padding:48px 28px 96px;}
.eyebrow{
  font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;
  color:var(--gold);display:inline-block;margin-bottom:14px;
}
.updated{font-style:italic;font-size:1rem;}
.lede{font-size:1.15rem;}

/* forms */
.form{margin-top:32px;}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;}
.field label{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);}
.field input,.field textarea,.field select{
  font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--cream);
  background:rgba(0,0,0,.3);border:1px solid var(--field-line);padding:11px 14px;width:100%;border-radius:0;
}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px;}
.field select option{background:var(--black-soft);color:var(--cream);}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px;border-color:var(--gold);}
.field textarea{resize:vertical;min-height:140px;}
.hint{font-size:.95rem;margin:-2px 0 0;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.cf-turnstile{margin-bottom:18px;}
.status{margin-top:16px;font-family:'Cinzel',serif;font-size:.8rem;letter-spacing:.05em;min-height:1.2em;}
.status.ok{color:var(--gold-light);}
.status.err{color:var(--error);}

/* footer (matches index.html) */
footer{padding:48px 28px 40px;text-align:center;border-top:1px solid var(--line);}
footer .flinks{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;}
footer .flinks a{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--cream-dim);display:inline-block;padding:6px 2px;margin:-6px -2px;}
footer .flinks a:hover{color:var(--gold-light);}
footer .flinks a[aria-current="page"]{color:var(--gold-light);text-decoration:underline;}
footer .fine{margin:22px 0 0;font-size:.85rem;color:var(--cream-dim);opacity:.75;}

@media(max-width:560px){
  body{font-size:17px;}
  .site-header{padding:16px 16px;}
  .brandmark{font-size:.85rem;letter-spacing:.08em;}
  .site-header .btn{padding:10px 14px;}
  .page{padding:32px 16px 72px;}
}
