
:root {
  --ink:#241818; --paper:#fbf6f4; --band:#5c2430; --accent:#9a3b4a; --soft:#f3e4e2;
  --line: color-mix(in srgb, #241818 16%, transparent);
  --radius:2px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Source Sans 3",sans-serif;line-height:1.55}
img{max-width:100%;height:auto}
a{color:inherit}
.site-header{ display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding:16px 8vw;background:var(--band);color:#fff; }
.brand img{height:42px;width:auto}
header nav{display:flex;flex-wrap:wrap;gap:14px 18px}header nav a{color:inherit;text-decoration:none;font-size:14px}
.head-call{text-decoration:none;background:var(--accent);color:#fff;padding:16px 18px;border-radius:0;font-weight:700}
.hero{position:relative;overflow:hidden;padding:10vw 8vw 6vw;text-align:left;background:var(--soft);}
.hero h1{font-family:"Literata",serif;font-weight:700;margin:0 0 12px;font-size:clamp(42px,6vw,76px);max-width:16ch;}
.kicker{letter-spacing:.16em;text-transform:uppercase;font-size:12px;margin:0 0 10px}
.lede{max-width:42rem;font-size:18px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.btn{display:inline-flex;align-items:center;text-decoration:none;background:var(--accent);color:#fff;padding:16px 18px;border-radius:0;font-weight:700}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}
.obj{position:absolute;pointer-events:none}
.obj-a{width:180px;height:180px;border:14px solid var(--accent);border-radius:50%;right:8%;top:18%;opacity:.8}
.obj-b{width:90px;height:90px;border:8px solid #fff;border-radius:50%;right:18%;bottom:16%}
.obj-bars{width:14px;height:140px;background:var(--accent);right:12%;top:20%}
.obj-bars.late{right:18%;height:90px;top:32%;opacity:.6}
.obj-gem{width:120px;height:120px;background:var(--accent);right:10%;top:20%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.obj-gem.small{width:48px;height:48px;top:48%;right:22%}
.obj-frame{width:200px;height:140px;right:8%;top:22%;outline:3px solid var(--accent);outline-offset:10px}
.obj-dot{width:18px;height:18px;border-radius:50%;background:var(--accent);right:14%;bottom:18%}
.strip{display:flex;flex-wrap:wrap;gap:18px 32px;padding:18px 6vw;background:var(--band);color:#fff;font-size:14px;letter-spacing:.04em}
.block,.steps,.page-head,.prose{padding:56px 6vw}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:0 6vw 64px}
.card{background:#fff;padding:18px;border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line)}
.card h3{font-family:"Literata",serif;margin:0 0 8px}
.card a{color:var(--accent);font-weight:700}
.steps ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:0;list-style:none}
.steps li{background:var(--soft);padding:18px;border-radius:var(--radius)}
.steps span{display:block;margin-top:6px}
.site-footer{display:grid;gap:10px;padding:28px 6vw;background:var(--band);color:#fff}
.site-footer a{color:#fff}
.site-footer img{height:36px;filter:brightness(10)}
.faqs{padding:0 6vw 64px;display:grid;gap:10px}
.faqs details{background:#fff;padding:12px 16px;border-radius:var(--radius)}
.sheet{margin:0 6vw 64px;background:#fff;padding:28px;box-shadow:inset 0 0 0 1px var(--line);max-width:720px}
.sheet header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--accent);margin-bottom:12px}
.sheet table{width:100%;border-collapse:collapse}
.sheet td,.sheet th{text-align:left;padding:8px 0;border-bottom:1px solid var(--line)}
h2{font-family:"Literata",serif;font-size:clamp(28px,4vw,48px)}
body{background-image:linear-gradient(120deg,var(--paper),var(--soft),var(--paper));background-size:200% 200%;animation:sweep 12s linear infinite}@keyframes sweep{50%{background-position:100% 0}}
@media (max-width:800px){
  .hero{display:block;min-height:0;margin-left:0}
  .site-header{position:static;width:auto;display:flex;flex-wrap:wrap}
  header nav{width:100%}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important}
}
