/* Etsy's world, read off etsy.com on 2026-10-20: cream ground, plum-black text, their orange as the one accent,
   the pastel "expressive" tiles, a soft serif over a grotesque, pill buttons, 8 px rounded photographs.
   Fonts are the nearest free faces to ABC Otto and ABC Diatype: Fraunces (soft serif) and Inter. */
:root{
  --cream:#FAF8F5;            /* body ground, etsy.com */
  --ink:#312B36;              /* body text, etsy.com */
  --ink-soft:#595959;
  --orange:#F1641E;           /* pal-orange-700 / new-orange-500 */
  --orange-deep:#CF4018;      /* pal-orange-900 */
  --orange-pale:#F8EBE6;      /* pal-orange-100 */
  --plum:#2F203C;             /* expressive purple darker (the dark act) */
  --t-yellow:#F1E8C8; --t-blue:#D2DFF2; --t-green:#D2DBBD; --t-purple:#DED3E8; --t-teal:#CADADE; --t-red:#F7D5DA;
  --line:#E5E1E5;
  --serif:'Fraunces', 'Charter', Georgia, serif;
  --sans:'Inter', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  /* motion, set once */
  --ease:cubic-bezier(.22,1,.36,1);
  --dur:.6s; --dur-slow:1.2s; --lead:.17s; --stagger:90ms;
  --rise:28px; --rise-sm:14px;
  --gutter:max(20px, calc(50vw - 640px));
  --radius:8px; --pill:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;background:var(--orange);color:#fff;padding:10px 16px;border-radius:var(--pill);z-index:50}
.skip:focus{left:12px}

/* ---------- type ---------- */
.eyebrow{font:500 14px/1.4 var(--sans);letter-spacing:.01em;color:var(--orange-deep);margin:0 0 22px}
.q-num{font:600 15px/1.4 var(--sans);color:var(--orange-deep);margin:0 0 12px}
.q{font:400 clamp(34px,4.4vw,58px)/1.06 var(--serif);font-variation-settings:'SOFT' 100,'opsz' 144;letter-spacing:-.025em;margin:0 0 26px;max-width:16ch}
.wordmark{font:500 clamp(104px,18vw,240px)/.9 var(--serif);font-variation-settings:'SOFT' 100,'opsz' 144;letter-spacing:-.05em;margin:0 0 28px;color:var(--orange);display:flex}
.wordmark .w{display:inline-block}
.wordmark .dot{color:var(--ink)}
.cover-line{font-size:clamp(19px,1.6vw,23px);line-height:1.45;max-width:46ch;margin:0 0 22px}
.cover-by{font-size:15px;color:var(--ink-soft);max-width:48ch;margin:0 0 28px}
.answer{font-size:clamp(18px,1.45vw,21px);line-height:1.55;max-width:52ch}
.answer ul{padding-left:1.1em;margin:0}
.answer li{margin:0 0 .55em}
.answer li::marker{color:var(--orange)}
.answer p{margin:0 0 .7em}
.answer .placeholder{color:var(--ink-soft);font-style:italic}
.pill{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;text-decoration:none;font:600 16px/1 var(--sans);padding:16px 24px;border-radius:var(--pill);min-height:48px;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}
.pill:hover{background:var(--orange-deep);transform:translateY(-2px)}
.huge{font:500 clamp(64px,11vw,150px)/.95 var(--serif);font-variation-settings:'SOFT' 100,'opsz' 144;letter-spacing:-.04em;margin:8px 0 10px;color:var(--ink)}
.huge-cap{font-size:17px;color:var(--ink-soft);max-width:40ch;margin:0 0 30px}
.pull p{font:italic 400 clamp(30px,3.6vw,54px)/1.12 var(--serif);font-variation-settings:'SOFT' 100,'opsz' 144;letter-spacing:-.02em;margin:0 0 16px;max-width:18ch}
.pull cite{font:500 15px/1.4 var(--sans);font-style:normal;color:var(--ink-soft)}
.source{font-size:14px;color:var(--ink-soft);margin-top:40px;max-width:70ch;border-top:1px solid var(--line);padding-top:16px}

/* ---------- chapters ---------- */
.chapter{min-height:100vh;padding:clamp(72px,12vh,120px) var(--gutter);display:grid;align-content:center;gap:40px;position:relative}
.words{max-width:620px}
.words.wide{max-width:900px}
.ph{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--t-yellow)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph.small{max-width:420px;aspect-ratio:4/3}
.ph.strip{aspect-ratio:21/9}
.ph.strip img{aspect-ratio:21/9}

/* cover */
.cover{padding-top:clamp(48px,9vh,96px)}
.cover-grid{display:grid;gap:40px;position:relative}
.cover-photo{margin:0;border-radius:var(--radius);overflow:hidden;position:relative}
.cover-photo img{aspect-ratio:3/2;object-fit:cover}
.cover-photo figcaption{position:absolute;left:14px;bottom:12px;background:rgba(250,248,245,.92);color:var(--ink);font-size:14px;padding:8px 14px;border-radius:var(--pill)}
.tiles{position:absolute;right:-6%;top:-6%;width:46%;height:46%;pointer-events:none;z-index:-1}
.tile{position:absolute;border-radius:16px}
.t-blue{background:var(--t-blue)}.t-yellow{background:var(--t-yellow)}.t-green{background:var(--t-green)}.t-purple{background:var(--t-purple)}.t-teal{background:var(--t-teal)}
.tiles .t-blue{right:0;top:0;width:62%;height:70%}
.tiles .t-yellow{right:40%;top:50%;width:44%;height:46%}
.tiles .t-green{right:8%;top:76%;width:30%;height:34%}
/* the opening arrives on a timer, in order; nothing waits on the scroll */
.open-1,.open-2 .w,.open-3,.open-4,.open-5,.open-6,.open-7,.open-8{opacity:0;transform:translateY(var(--rise));animation:rise var(--dur-slow) var(--ease) both}
.open-1{animation-delay:var(--lead)}
.open-2 .w{animation-delay:calc(var(--lead) + .25s + var(--i,0)*var(--stagger))}
.open-3{animation-delay:calc(var(--lead) + .9s)}
.open-4{animation-delay:calc(var(--lead) + 1.05s)}
.open-5{animation:wipe var(--dur-slow) var(--ease) both;animation-delay:calc(var(--lead) + .5s);transform:none;opacity:1}
.open-6,.open-7,.open-8{animation-name:tile-in;animation-duration:var(--dur-slow)}
.open-6{animation-delay:calc(var(--lead) + .35s)}.open-7{animation-delay:calc(var(--lead) + .5s)}.open-8{animation-delay:calc(var(--lead) + .65s)}
@keyframes rise{from{opacity:0;transform:translateY(var(--rise))}to{opacity:1;transform:none}}
@keyframes wipe{from{clip-path:inset(0 0 100% 0 round 8px)}to{clip-path:inset(0 0 0 0 round 8px)}}
@keyframes tile-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}

/* split chapters */
.split{grid-template-columns:1fr}
.split .ph{aspect-ratio:4/5;max-height:70vh}
/* big number */
.big-number .ph.small{justify-self:start}
/* listings: Etsy's product grid */
.listings{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.listings li{border-radius:var(--radius);padding:22px 20px 20px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px}
.listings strong{font:500 24px/1.1 var(--serif);font-variation-settings:'SOFT' 100;letter-spacing:-.02em}
.listings span{font-size:15px;color:var(--ink-soft)}
/* dark act */
.dark{background:var(--plum);color:#F3EEF6}
.dark .q-num{color:#F7A277}
.dark .answer .placeholder,.dark .huge-cap{color:#C9BFD1}
.dark .answer li::marker{color:#F7A277}
/* money */
.counts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:22px 32px;align-content:start}
.counts b{display:block;font:500 clamp(44px,6vw,84px)/1 var(--serif);font-variation-settings:'SOFT' 100,'opsz' 144;letter-spacing:-.04em;color:var(--orange);font-variant-numeric:tabular-nums}
.counts span{display:block;font-size:15px;color:var(--ink-soft);margin-top:8px;max-width:28ch}
/* quote led */
.quote-led .pull{margin:0;padding:34px 0 10px;border-top:3px solid var(--orange);max-width:760px}
/* tile led */
.tile-block{border-radius:16px;padding:clamp(28px,4vw,56px);max-width:760px}
/* close */
.close{background:var(--orange-pale)}

/* ---------- the rail ---------- */
.rail{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(250,248,245,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.rail-home{text-decoration:none;display:flex;align-items:center;min-height:44px;padding:0 6px}
.rail-logo{font:600 26px/1 var(--serif);font-variation-settings:'SOFT' 100,'opsz' 144;letter-spacing:-.04em;color:var(--orange)}
.rail ol{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex:1;overflow-x:auto;scrollbar-width:none}
.rail ol::-webkit-scrollbar{display:none}
.rail li a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background-image:var(--img);background-size:cover;background-position:center;text-decoration:none;position:relative;flex:none;filter:grayscale(1);opacity:.55;transition:filter var(--dur) var(--ease),opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.rail li a span{position:absolute;right:-4px;bottom:-4px;width:22px;height:22px;border-radius:50%;background:var(--cream);color:var(--ink);font:600 14px/22px var(--sans);text-align:center;border:1px solid var(--line)}
.rail li a.seen{filter:none;opacity:1}
.rail li a.now{filter:none;opacity:1;transform:scale(1.14);outline:3px solid var(--orange);outline-offset:2px}
.rail li a:hover{filter:none;opacity:1}
.rail-fill{position:absolute;left:0;top:-1px;height:3px;width:0;background:var(--orange);transition:width .3s linear}

/* ---------- scroll reveals: the system ---------- */
[data-rise]{opacity:0;transform:translateY(var(--rise))}
.chapter .q-num,.chapter .q,.chapter .answer,.chapter .huge,.chapter .huge-cap,.chapter .counts li{opacity:0;transform:translateY(var(--rise-sm))}
.chapter.in .q-num,.chapter.in .q,.chapter.in .answer,.chapter.in .huge,.chapter.in .huge-cap,.chapter.in .counts li,.chapter.in [data-rise]{opacity:1;transform:none;transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease)}
.chapter.in .q{transition-delay:var(--lead)}
.chapter.in .answer{transition-delay:calc(var(--lead) + var(--stagger)*2)}
.chapter.in .huge{transition-delay:calc(var(--lead) + var(--stagger))}
.chapter.in .counts li:nth-child(1){transition-delay:calc(var(--stagger)*1)}
.chapter.in .counts li:nth-child(2){transition-delay:calc(var(--stagger)*2)}
.chapter.in .counts li:nth-child(3){transition-delay:calc(var(--stagger)*3)}
.chapter.in .counts li:nth-child(4){transition-delay:calc(var(--stagger)*4)}
.chapter.in .listings li:nth-child(1){transition-delay:calc(var(--stagger)*1)}
.chapter.in .listings li:nth-child(2){transition-delay:calc(var(--stagger)*2)}
.chapter.in .listings li:nth-child(3){transition-delay:calc(var(--stagger)*3)}
.chapter.in .listings li:nth-child(4){transition-delay:calc(var(--stagger)*4)}
/* every photograph enters the same way: a wipe from the top, then it settles */
[data-wipe] img{clip-path:inset(0 0 100% 0 round 8px);transform:scale(1.06);transition:clip-path var(--dur-slow) var(--ease),transform 1.8s var(--ease)}
.chapter.in [data-wipe] img{clip-path:inset(0 0 0 0 round 8px);transform:none}

@media (min-width:860px){
  .cover-grid{grid-template-columns:1.05fr .95fr;align-items:center}
  .split{grid-template-columns:1fr 1fr;align-items:center}
  .split.photo-right .ph{order:2}
  .big-number{grid-template-columns:1.2fr .8fr;align-items:end}
  .listing{grid-template-columns:1fr 1fr;align-items:center}
  .money{grid-template-columns:1fr 1fr;align-items:center}
  .quote-led{grid-template-columns:1fr 1fr;align-items:center}
  .tile-led{grid-template-columns:1.2fr .8fr;align-items:center}
  .three{grid-template-columns:1fr;}
  .dark{grid-template-columns:1fr 1fr;align-items:center}
  .rail{left:auto;right:18px;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;border:0;background:transparent;backdrop-filter:none;padding:0;gap:14px}
  .rail ol{flex-direction:column;overflow:visible}
  .rail-fill{display:none}
  .rail-home{padding:0}
}
@media (max-width:859px){
  .q{max-width:none}
  .chapter{padding-bottom:110px}
  .tiles{right:-8%;top:auto;bottom:-6%;width:70%;height:34%}
}
@media (prefers-reduced-motion:reduce){
  .open-1,.open-2 .w,.open-3,.open-4,.open-5,.open-6,.open-7,.open-8{animation:none;opacity:1;transform:none;clip-path:none}
  [data-rise],.chapter .q-num,.chapter .q,.chapter .answer,.chapter .huge,.chapter .huge-cap,.chapter .counts li,[data-wipe] img{opacity:1;transform:none;clip-path:none;transition:none}
  html{scroll-behavior:auto}
}

/* ---------- print: one chapter per 16:9 page, for the Canvas upload ---------- */
@page{size:13.33in 7.5in;margin:0}
@media print{
  html{scroll-behavior:auto}
  body{background:var(--cream)}
  .rail,.skip,.pill{display:none}
  .chapter{min-height:7.5in;height:7.5in;page-break-after:always;break-after:page;padding:.7in .9in;overflow:hidden}
  .chapter:last-child{page-break-after:auto}
  .open-1,.open-2 .w,.open-3,.open-4,.open-5,.open-6,.open-7,.open-8,[data-rise],.chapter .q-num,.chapter .q,.chapter .answer,.chapter .huge,.chapter .huge-cap,.chapter .counts li,[data-wipe] img{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .cover-grid{grid-template-columns:1.05fr .95fr;align-items:center}
  .split{grid-template-columns:1fr 1fr;align-items:center}
  .split.photo-right .ph{order:2}
  .split .ph{max-height:5.6in}
  .big-number{grid-template-columns:1.2fr .8fr;align-items:end}
  .listing,.money,.quote-led,.dark{grid-template-columns:1fr 1fr;align-items:center}
  .tile-led{grid-template-columns:1.2fr .8fr;align-items:center}
  .ph.strip{max-height:2.4in}
  .dark{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
