/* SaturnShop legal pages — terms + privacy.
   Same slip-on-the-plate idiom as /privacy/ (paper stock, ink rule, mint
   sticker offset, plate reading in the margins). Shared rather than inlined
   per page so the two documents cannot drift apart visually. */

@font-face { font-family:"Anton"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/anton-latin.woff2") format("woff2"); }
@font-face { font-family:"Archivo"; font-style:normal; font-weight:100 900; font-display:swap;
  src:url("/assets/fonts/archivo-latin.woff2") format("woff2"); }

:root {
  --paper:#ece7db; --paper-deep:#e0dac9; --ink:#141312; --mint:#d9e8cf; --muted:#57534b;
  --font:"Archivo","Helvetica Neue",Arial,sans-serif;
  --display:"Anton",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

* { margin:0; padding:0; box-sizing:border-box; }

body { background:var(--paper); color:var(--ink); font-family:var(--font); font-weight:500;
  line-height:1.6; -webkit-font-smoothing:antialiased; -webkit-text-size-adjust:100%; }

.grain { position:fixed; inset:0; z-index:100; pointer-events:none; opacity:.5; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.10'/%3E%3C/svg%3E"); }

.wrap { max-width:760px; margin:clamp(28px,5vh,64px) auto clamp(40px,7vh,88px);
  padding:clamp(28px,4vw,44px) clamp(20px,3.5vw,36px) clamp(36px,5vw,56px);
  background:var(--paper); border:2px solid var(--ink);
  box-shadow:0 0 0 4px var(--mint), 8px 8px 0 var(--ink); position:relative; z-index:10; }

.top { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:26px; }
.brand { font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.08em;
  border:1px solid var(--ink); padding:5px 9px; text-decoration:none; color:inherit; }
.brand:hover { box-shadow:3px 3px 0 rgba(20,19,18,.9); }
.brand:focus-visible, a:focus-visible { outline:2px solid var(--ink); outline-offset:3px; box-shadow:3px 3px 0 var(--ink); }
.brand:focus:not(:focus-visible), a:focus:not(:focus-visible) { outline:none; }

h1 { font-family:var(--display); font-size:clamp(28px,7vw,38px); line-height:1; letter-spacing:.02em;
  background:var(--ink); color:var(--paper); padding:5px 14px 8px; display:inline-block;
  transform:rotate(-.5deg); margin-bottom:8px; }
.stamp { font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:.16em;
  color:var(--muted); display:block; margin-bottom:26px; }
h2 { font-family:var(--mono); font-size:12px; font-weight:800; letter-spacing:.14em;
  margin:30px 0 8px; padding-bottom:5px; border-bottom:2px solid var(--ink); }
h3 { font-family:var(--mono); font-size:11px; font-weight:800; letter-spacing:.12em;
  margin:18px 0 6px; color:var(--muted); }

p { margin-bottom:12px; font-size:15px; }
ul { margin:0 0 14px 18px; }
li { margin-bottom:7px; font-size:15px; }
strong { font-weight:800; }

.lede { font-size:17px; border-left:4px solid var(--ink); padding-left:14px; margin-bottom:8px; }
.note { background:var(--paper-deep); border:1px solid var(--ink); padding:12px 14px;
  font-size:14px; margin:16px 0; }
/* the one loud box on the page — an unreviewed legal document has to say so */
.warn { background:var(--paper-deep); border:2px solid var(--ink); box-shadow:4px 4px 0 var(--ink);
  padding:14px 16px; font-size:14px; margin:20px 0; }
.warn strong { display:block; font-family:var(--mono); font-size:10px; letter-spacing:.14em;
  margin-bottom:6px; }

code { font-family:var(--mono); font-size:13px; background:var(--paper-deep); padding:1px 4px; }
a { color:inherit; text-decoration:underline; text-underline-offset:3px; }

/* the goods lists are the part a human actually checks an application against,
   so they get columns on desktop and stay scannable on a phone */
.goods { columns:2; column-gap:26px; margin-left:18px; }
.goods li { break-inside:avoid; font-size:14px; margin-bottom:5px; }
@media (max-width:640px) { .goods { columns:1; } }

.foot { margin-top:40px; padding-top:16px; border-top:1px dashed var(--muted);
  font-family:var(--mono); font-size:10px; letter-spacing:.06em; color:var(--muted); }
.foot a { margin-right:14px; }
