/* shipsnever.com — single stylesheet. ink on paper, one shout of orange. */

/* ---------- fonts ---------- */
@font-face{font-family:'Archivo';src:url('fonts/Archivo-VF.ttf') format('truetype-variations');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;}
@font-face{font-family:'Archivo';src:url('fonts/Archivo-Italic-VF.ttf') format('truetype-variations');font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap;}
@font-face{font-family:'Newsreader';src:url('fonts/Newsreader-VF.ttf') format('truetype-variations');font-weight:200 800;font-style:normal;font-display:swap;}
@font-face{font-family:'Newsreader';src:url('fonts/Newsreader-Italic-VF.ttf') format('truetype-variations');font-weight:200 800;font-style:italic;font-display:swap;}
@font-face{font-family:'Space Mono';src:url('fonts/SpaceMono-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Space Mono';src:url('fonts/SpaceMono-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}

/* ---------- tokens ---------- */
:root{
  --ink-1000:#000000;--ink-900:#111112;--ink-700:#3D3D40;--ink-500:#6F6F74;--ink-400:#8E8E93;--ink-300:#B4B4B9;--ink-200:#D6D6DA;--ink-100:#EAEAEC;--ink-50:#F5F5F6;--paper:#FFFFFF;
  --orange-500:#FF8904;--orange-600:#E67300;--orange-700:#C05E00;--orange-100:#FFE9CC;--orange-50:#FFF6EA;
  --text-primary:var(--ink-1000);--text-secondary:var(--ink-500);--text-tertiary:var(--ink-400);
  --status-shipping:var(--orange-500);--status-wip:var(--ink-500);
  --border-subtle:var(--ink-100);
  --font-display:'Archivo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-body:'Archivo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --font-mono:'Space Mono','Inconsolata','Courier New',monospace;
  --font-editorial:'Newsreader',Georgia,'Times New Roman',serif;
  --tracking-display:-0.035em;--tracking-tight:-0.02em;--tracking-label:0.08em;
  --shadow-hard:4px 4px 0 var(--ink-1000);--shadow-hard-accent:4px 4px 0 var(--orange-500);
  --ease-out:cubic-bezier(0.2,0,0,1);--duration-fast:120ms;
}

/* ---------- base ---------- */
*{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--text-primary);background:var(--paper);}
::selection{background:var(--orange-500);color:var(--ink-1000);}
a{color:var(--text-primary);}
a:hover{color:var(--orange-600);}
:focus-visible{outline:2px solid var(--orange-500);outline-offset:2px;}
h1,h2,h3{font-family:var(--font-display);letter-spacing:var(--tracking-display);line-height:1.05;margin:0;}
img{max-width:100%;}

/* ---------- utilities ---------- */
.fx{display:flex;}.ac{align-items:center;}.jb{justify-content:space-between;}.wrap{flex-wrap:wrap;}.grid{display:grid;}.noshrink{flex-shrink:0;}
.gap8{gap:8px;}.gap12{gap:12px;}.gap16{gap:16px;}.gap24{gap:24px;}
.fw6{font-weight:620;}.fs13{font-size:13px;}.fs14{font-size:14px;}

/* ---------- page ---------- */
.page{max-width:1140px;margin:0 auto;padding:0 40px;}
.nav{padding:20px 0;border-bottom:3px solid var(--ink-1000);gap:16px;}
.lockup{position:relative;display:block;}
.lockup .wm{width:100%;display:block;}
.lockup .astimg{position:absolute;left:79.8%;top:-46.5%;width:26.3%;aspect-ratio:1;transform:rotate(8deg);}
.navlockup{width:150px;}
.ast{color:var(--orange-500);}
.navlink{font-size:14px;font-weight:500;text-decoration:none;}
.meta{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);}
.kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);}
.hero{font-family:var(--font-display);font-weight:900;font-size:clamp(52px,8.5vw,96px);line-height:0.94;letter-spacing:var(--tracking-display);}
.fnote{border-top:1px solid var(--ink-1000);padding-top:10px;max-width:380px;}
.fnsym{font-family:var(--font-display);font-weight:800;margin-right:6px;}
.fnote-t{font-family:var(--font-editorial);font-style:italic;font-size:15px;color:var(--text-secondary);}
.statv{font-family:var(--font-display);font-weight:800;font-size:clamp(40px,5vw,57px);letter-spacing:var(--tracking-display);line-height:1;}
.statl{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);margin-top:8px;}
.statc{border-left:1px solid var(--ink-1000);padding:0 24px;}
.sech{border-top:3px solid var(--ink-1000);padding-top:14px;}
.secttl{font-family:var(--font-display);font-weight:800;font-size:clamp(32px,4vw,43px);letter-spacing:var(--tracking-display);line-height:1.05;}
.aside{font-family:var(--font-editorial);font-style:italic;font-size:16px;color:var(--text-secondary);}
.tagline{font-family:var(--font-editorial);font-style:italic;font-size:clamp(23px,3vw,29px);line-height:1.3;}
.feat{border:1px solid var(--ink-1000);padding:34px 38px 30px;margin-top:26px;}
.oneliner{font-size:16px;color:var(--text-secondary);line-height:1.5;max-width:560px;margin:0;}
.appgrid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));margin-top:26px;}
.card{border:1px solid var(--ink-1000);background:var(--paper);padding:22px 24px 20px;text-decoration:none;display:block;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);}
.card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-hard-accent);color:var(--text-primary);}
.cardname{font-family:var(--font-display);font-weight:800;font-size:24px;letter-spacing:var(--tracking-tight);line-height:1.05;}
.cardp{font-size:14px;color:var(--text-secondary);line-height:1.3;margin-top:8px;}
.track{height:8px;border:1px solid var(--ink-1000);margin-top:16px;}
.fill{height:100%;background:var(--ink-1000);}
.fillo{background:var(--orange-500);}
.cardfoot{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle);}
.badge{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-label);text-transform:uppercase;border:1px solid var(--ink-1000);padding:5px 10px;white-space:nowrap;}
.dot{width:8px;height:8px;border-radius:999px;background:var(--status-shipping);display:inline-block;}
.dotw{background:var(--status-wip);}
.btn{font-family:var(--font-display);font-weight:620;font-size:15px;background:var(--ink-1000);color:var(--paper);border:1px solid var(--ink-1000);padding:0 20px;height:52px;display:inline-flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);}
.btn:hover{transform:translate(-2px,-2px);box-shadow:var(--shadow-hard-accent);color:var(--paper);}
.btn2{background:var(--paper);color:var(--ink-1000);}
.btn2:hover{box-shadow:var(--shadow-hard);color:var(--ink-1000);}
.storelink{display:inline-flex;text-decoration:none;}
.badge-apple{height:52px;display:block;}
.badge-google{height:78px;display:block;margin:-13px;}
.prose{font-family:var(--font-editorial);font-size:22px;line-height:1.55;max-width:720px;margin:24px 0 0;}
.footer{background:var(--ink-1000);color:var(--paper);padding:76px 0 36px;}
.footlockup{width:min(380px,64vw);}
.legal{font-family:var(--font-mono);font-size:12px;color:var(--ink-300);}
.frule{border-top:1px solid var(--ink-700);margin-top:44px;padding-top:18px;gap:12px;}
a.plain{text-decoration:none;}

@media (max-width:720px){
  .page{padding:0 24px;}
  .nav{flex-wrap:wrap;}
  .statc{padding:0 16px;}
  .feat{padding:26px 22px 24px;}
}
