:root {
  --paper:#ece9e2;
  --cream:#f6f4ef;
  --white:#fbfaf7;
  --ink:#171715;
  --muted:#6b6964;
  --line:rgba(23,23,21,.17);
  --accent:#807c75;
  --display:"EB Garamond",Garamond,"Times New Roman",serif;
  --body:"Manrope",Arial,sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; min-width:320px; background:var(--paper); color:var(--ink); font-family:var(--body); }
a { color:inherit; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:200; padding:.75rem 1rem; background:var(--ink); color:var(--white); }
.skip-link:focus { top:1rem; }

.rights-header {
  position:fixed; inset:0 0 auto; z-index:100; min-height:4.8rem;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem;
  padding:1rem 2rem; border-bottom:1px solid var(--line); background:rgba(236,233,226,.94); backdrop-filter:blur(14px);
}
.rights-header a,.rights-header span { font-size:.5rem; font-weight:600; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
.rights-header .brand { font:500 1rem/1 var(--display); letter-spacing:.105em; }
.rights-header span { color:var(--accent); }
.rights-header a:last-child { justify-self:end; }

.rights-layout { display:grid; grid-template-columns:42% 58%; padding-top:4.8rem; }
.rights-intro {
  position:sticky; top:4.8rem; height:calc(100svh - 4.8rem); overflow:hidden;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:clamp(3rem,7vh,6rem) 5vw 2rem; border-right:1px solid var(--line); background:var(--cream);
}
.kicker { margin:0; color:var(--accent); font-size:.5rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase; }
.rights-intro h1 { margin:1rem 0 0; font:400 clamp(4.5rem,7.7vw,9rem)/.83 var(--display); letter-spacing:-.045em; }
.dek { max-width:32rem; margin:2.5rem 0 0; color:var(--muted); font:400 clamp(1.1rem,1.45vw,1.5rem)/1.55 var(--display); }
.rights-intro footer { display:flex; justify-content:space-between; gap:1rem; padding-top:1rem; border-top:1px solid var(--line); }
.rights-intro footer span { font-size:.43rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.rights-seal { position:absolute; right:-5rem; bottom:5rem; width:min(23vw,20rem); aspect-ratio:1; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--accent); }
.rights-seal::before,.rights-seal::after { content:""; position:absolute; border:1px solid var(--line); border-radius:50%; }
.rights-seal::before { inset:16%; }
.rights-seal::after { inset:37%; }
.rights-seal span { font:500 1.1rem var(--display); letter-spacing:.18em; }
.rights-seal i { position:absolute; width:1px; height:100%; background:var(--line); transform:rotate(31deg); }
.rights-seal small { position:absolute; bottom:10%; font-size:.4rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }

.rights-record { background:var(--paper); }
.record-lead { min-height:68svh; display:flex; flex-direction:column; justify-content:flex-end; padding:8rem 6vw 5rem; border-bottom:1px solid var(--ink); }
.record-lead h2 { margin:1rem 0 2.5rem; font:400 clamp(4rem,6.5vw,7.5rem)/.87 var(--display); letter-spacing:-.045em; }
.record-lead>p:last-child { max-width:45rem; margin:0; color:var(--muted); font:400 1.2rem/1.6 var(--display); }
.rights-record>section { display:grid; grid-template-columns:9rem 1fr; gap:3rem; padding:5rem 6vw; border-bottom:1px solid var(--line); }
.rights-record>section:nth-of-type(even) { background:var(--cream); }
.clause { padding-top:.35rem; color:var(--accent); font-size:.47rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.rights-record h3 { max-width:19ch; margin:0 0 1.6rem; font:400 clamp(2rem,3vw,3.5rem)/1 var(--display); letter-spacing:-.025em; }
.rights-record section p { max-width:48rem; margin:0 0 1.2rem; color:var(--muted); font:400 1rem/1.75 var(--display); }
.permission-link { display:inline-block; margin-top:1.3rem; padding-bottom:.35rem; border-bottom:1px solid var(--ink); font-size:.5rem; font-weight:600; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
.record-footer { padding:6rem 6vw; background:var(--ink); color:var(--white); }
.record-footer>p { max-width:43rem; margin:0 0 1rem; color:rgba(255,255,255,.57); font:400 1.1rem/1.65 var(--display); }
.record-footer>a { font:400 clamp(1.7rem,3vw,3.2rem) var(--display); text-decoration-thickness:1px; text-underline-offset:.2em; }
.legal-sources { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:5rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.2); }
.legal-sources span,.legal-sources a { font-size:.45rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.legal-sources span { margin-right:auto; color:rgba(255,255,255,.45); }
.legal-sources a { text-decoration:none; }

@media (max-width:900px) {
  .rights-header { grid-template-columns:1fr auto; }
  .rights-header span { display:none; }
  .rights-layout { grid-template-columns:1fr; }
  .rights-intro { position:relative; top:auto; height:auto; min-height:calc(100svh - 4.8rem); padding:5rem 1.3rem 2rem; }
  .rights-intro h1 { font-size:clamp(4.7rem,18vw,8rem); }
  .rights-seal { width:18rem; right:-6rem; bottom:5rem; }
  .record-lead { min-height:65svh; padding:6rem 1.3rem 4rem; }
  .rights-record>section { grid-template-columns:1fr; gap:1.5rem; padding:4rem 1.3rem; }
  .record-footer { padding:5rem 1.3rem; }
}

@media (max-width:520px) {
  .rights-header { padding-inline:1rem; }
  .rights-header .brand { font-size:.76rem; }
  .rights-header a:last-child { max-width:8rem; text-align:right; }
  .rights-intro footer { display:grid; }
  .rights-intro h1 { font-size:4.7rem; }
  .record-lead h2 { font-size:3.8rem; }
  .record-footer>a { font-size:1.45rem; overflow-wrap:anywhere; }
  .legal-sources { display:grid; }
}
