*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-height:100vh;color:var(--text);
  font-family:var(--font-ui);font-size:1rem;line-height:1.55;
  background:var(--bg);
  background-image:
    radial-gradient(circle at 50% 0,rgba(100,31,27,.1),transparent 32rem),
    repeating-linear-gradient(135deg,rgba(255,255,255,.008) 0 1px,transparent 1px 7px),
    linear-gradient(180deg,#0b0b0a 0%,var(--bg) 42%,#050505 100%);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--text)}
h1,h2,h3{margin:0 0 .55rem;line-height:1.15;font-weight:600;color:var(--text)}
p{margin:0 0 .8rem;color:var(--text-2)}
.wrap{width:min(100% - 2.2rem,var(--max));margin-inline:auto}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  min-height:2.6rem;padding:.55rem 1.25rem;border-radius:2px;border:1px solid transparent;
  font-family:var(--font-ui);font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;
  transition:transform .22s var(--ease),background .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease);
}
.btn-primary{color:#17120a;background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:#d4b66d;box-shadow:0 8px 22px rgba(112,78,25,.2)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(112,78,25,.3);filter:brightness(1.06)}
.btn-ghost,.btn-secondary{color:var(--text);background:rgba(12,12,11,.68);border-color:var(--line-2)}
.btn-ghost:hover,.btn-secondary:hover{border-color:var(--line-strong);background:rgba(185,150,78,.07)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

.tag{
  display:inline-block;padding:.1rem .4rem;border:1px solid var(--line);border-radius:2px;
  font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);
}
.section{padding:2.4rem 0}
.section-label{
  display:block;margin-bottom:.4rem;font-size:.7rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
}
.section-title{font-family:var(--font-brand);font-size:clamp(1.35rem,2.4vw,1.8rem);letter-spacing:.06em;margin-bottom:.45rem}
.section-lead{margin:0;color:var(--text-2);font-size:.95rem}

.reveal{opacity:1;transform:none}
.js .reveal{opacity:1;transform:none;animation:section-in .48s var(--ease) both}
.js .reveal.is-visible{opacity:1;transform:none}
@keyframes section-in{from{opacity:.01;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none;animation:none}
  .btn-primary:hover{transform:none}
}
