:root{
  --paper:#14120D;
  --paper-soft:#1E1B14;
  --ink:#F3EEE3;
  --ink-dim:#B9AF9C;
  --brass:#C9A227;
  --brass-deep:#9C7D1E;
  --line: rgba(243,238,227,0.14);
  --shadow-soft: 0 16px 40px -18px rgba(0,0,0,0.5);
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}
*{ box-sizing:border-box; margin:0; padding:0; }
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter', sans-serif;
  line-height:1.65;
}
h1,h2{
  font-family:'Fraunces', serif;
  font-weight:500;
  letter-spacing:-0.01em;
  line-height:1.08;
}
a{ color:var(--brass); }
a:focus-visible, button:focus-visible{ outline:2px solid var(--brass); outline-offset:3px; }
::selection{ background:var(--brass); color:var(--paper); }

.wrap{ max-width:760px; margin:0 auto; padding:4.5rem 6vw 5rem; }

a.back{
  font-family:'Inter', sans-serif;
  font-size:0.78rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  text-decoration:none;
  color:var(--ink-dim);
  display:inline-block;
  margin-bottom:2.5rem;
}
a.back:hover{ color:var(--brass); }

.eyebrow{
  font-family:'Inter', sans-serif;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--brass);
  display:block;
  margin-bottom:0.9rem;
}

h1{ font-size:clamp(2.2rem, 6vw, 3.4rem); margin-bottom:1rem; }

.lede{
  font-size:1.05rem;
  color:var(--ink-dim);
  max-width:56ch;
  margin-bottom:2.2rem;
}

.cta-row{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:3rem;
}
.btn{
  font-family:'Inter', sans-serif;
  font-size:0.78rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  text-decoration:none;
  padding:0.9rem 1.6rem;
  display:inline-flex;
  align-items:center;
  gap:0.6em;
  border:1px solid transparent;
  transition:transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.3s ease, color 0.3s ease, background 0.3s ease;
}
.btn-solid{
  background:linear-gradient(155deg, var(--brass), var(--brass-deep));
  color:var(--paper);
  box-shadow:0 1px 0 rgba(255,255,255,0.5) inset, 0 12px 28px -14px rgba(201,162,39,0.45);
}
.btn-solid:hover{
  transform:translateY(-2px);
  box-shadow:0 1px 0 rgba(255,255,255,0.55) inset, 0 18px 36px -14px rgba(201,162,39,0.6);
}
.btn-ghost{ border-color:var(--line); color:var(--ink-dim); background:rgba(243,238,227,0.03); }
.btn-ghost:hover{ border-color:var(--brass); color:var(--brass); background:rgba(201,162,39,0.08); transform:translateY(-2px); }

h2{
  font-size:1.15rem;
  margin-top:2.4rem;
  margin-bottom:0.9rem;
}
p, li{ color:var(--ink-dim); font-size:0.98rem; }
ul{ padding-left:1.2rem; }
li{ margin-bottom:0.5rem; }

.cross-links{
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:0.7rem;
}
.cross-label{
  font-family:'Inter', sans-serif;
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--brass);
  margin-bottom:0.3rem;
}
.cross-links a{
  font-family:'Inter', sans-serif;
  font-size:0.88rem;
  text-decoration:none;
  color:var(--ink-dim);
  width:fit-content;
  transition:color 0.3s ease, transform 0.3s var(--ease);
}
.cross-links a:hover{ color:var(--brass); transform:translateX(3px); }

footer{
  border-top:1px solid var(--line);
  padding:2rem 6vw;
  font-family:'Inter', sans-serif;
  font-size:0.72rem;
  color:var(--ink-dim);
  text-align:center;
}

.btn-call{
  background:linear-gradient(155deg, var(--brass), var(--brass-deep));
  color:var(--paper);
  box-shadow:0 1px 0 rgba(255,255,255,0.5) inset, 0 12px 28px -14px rgba(201,162,39,0.45);
  border-color:transparent;
}
.btn-call:hover{ transform:translateY(-2px); }
.btn svg{ flex-shrink:0; }

#backToTop{
  position:fixed;
  right:1.4rem;
  bottom:1.4rem;
  z-index:200;
  width:46px;
  height:46px;
  background:var(--paper);
  border:1px solid var(--line);
  color:var(--brass);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
#backToTop.visible{ opacity:1; visibility:visible; transform:translateY(0); }
#backToTop:hover{ border-color:var(--brass); }
#backToTop:focus-visible{ outline:2px solid var(--brass); outline-offset:2px; }
@media (max-width: 860px){
  #backToTop{ right:1rem; bottom:1rem; width:42px; height:42px; }
}

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important; }
  #backToTop{ transition:none; }
}
