/* Tech with Patience — paper cut-out style. Tokens first, then components. */
@font-face{font-family:Nunito;font-weight:700;font-display:swap;src:url(fonts/nunito-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Nunito;font-weight:800;font-display:swap;src:url(fonts/nunito-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-weight:700;font-display:swap;src:url(fonts/fraunces-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Caveat;font-weight:700;font-display:swap;src:url(fonts/caveat-latin-700-normal.woff2) format("woff2")}

:root{
  --ink:#173f45; --ink-2:#2c5257; --teal:#1f6f7c; --or:#d9622b; --or-dark:#a8461a; --or-text:#b8501f;
  --cream:#fffaf0; --paper:#ece3d0; --card:#ffffff; --yel:#ffe58f; --mint:#cfe7df; --pink:#f6d1c1; --sky:#d6e8ef;
  --red:#b8342a; --rule:rgba(23,63,69,.18);
  --shadow:1px 2px 1px rgba(60,40,10,.14),6px 12px 22px rgba(60,40,10,.18);
  --shadow-sm:1px 2px 1px rgba(60,40,10,.12),3px 6px 12px rgba(60,40,10,.14);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .4 0 0 0 0 .25 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  --torn:polygon(0 3%,8% 0,20% 4%,34% 1%,50% 3%,66% 0,82% 3%,100% 1%,99% 50%,100% 98%,86% 96%,70% 100%,52% 97%,36% 100%,18% 96%,2% 100%,1% 50%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--paper) var(--grain);color:var(--ink);font:700 1.3125rem/1.55 Nunito,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--ink);text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--or)}
a:hover{color:var(--or-text)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 7px var(--yel);border-radius:3px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:700;letter-spacing:-.02em;line-height:1.08;text-wrap:balance;margin:0 0 .45em}
h2{font-size:clamp(2.1rem,4.4vw,3.2rem)}
h3{font-size:1.6rem}
p{margin:0 0 1em;max-width:62ch}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:12px 18px;z-index:100;border-radius:4px}
.skip:focus{top:12px}
.ph{text-decoration:underline dotted var(--or);text-decoration-thickness:2px}
.preview-strip{background:var(--or);color:#fff;text-align:center;font-size:16px;padding:6px 12px;letter-spacing:.5px}
.paper{box-shadow:var(--shadow);position:relative}
.tape{position:absolute;height:38px;width:126px;background:rgba(255,236,170,.82);box-shadow:0 1px 2px rgba(0,0,0,.1);z-index:2;pointer-events:none}
.hand{font-family:Caveat,cursive;font-weight:700}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px}
.brand{display:flex;align-items:center;gap:12px;font-family:Fraunces;font-size:1.75rem;text-decoration:none;letter-spacing:-.5px;white-space:nowrap}
.brand img{width:50px;height:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center}
.nav a{text-decoration:none;font-size:1.1875rem;border-bottom:3px solid transparent;padding:4px 0}
.nav a:hover,.nav a[aria-current=page]{border-color:var(--or);color:var(--ink)}
.nav a.urgent{background:var(--ink);color:#fff;padding:12px 20px;border-radius:5px;border:0;box-shadow:3px 4px 0 rgba(23,63,69,.25)}
.nav a.urgent:hover{background:var(--teal);color:#fff}
.nav-toggle{display:none;font:800 1.0625rem Nunito;background:var(--cream);color:var(--ink);border:2px solid var(--ink);border-radius:5px;padding:10px 16px;min-height:48px;cursor:pointer}

/* buttons */
.btn{display:inline-block;font:800 1.3125rem/1.2 Nunito;padding:18px 28px;border-radius:5px;text-decoration:none;border:0;cursor:pointer;min-height:56px;transition:transform .12s}
.btn:hover{transform:translate(-1px,-1px)}
.btn-or{background:var(--or);color:#fff;box-shadow:4px 5px 0 var(--or-dark)}
.btn-or:hover{color:#fff}
.btn-cream{background:var(--cream);color:var(--ink);box-shadow:4px 5px 0 rgba(23,63,69,.25)}
.btn-ink{background:var(--ink);color:#fff;box-shadow:4px 5px 0 rgba(23,63,69,.3)}
.btn-ink:hover{color:#fff}

/* torn strips (headlines) */
.strip{display:inline-block;background:var(--cream);padding:.2em .42em .3em;clip-path:var(--torn);transform:rotate(-1.2deg)}
.strip em{font-style:normal;color:var(--or-text)}
.strips{margin:0 0 6px;font-size:clamp(3rem,7vw,5.5rem);letter-spacing:-.035em;line-height:1.02}
.strips .strip{filter:drop-shadow(5px 9px 10px rgba(60,40,10,.18))}
.strips .s2{display:table;margin-top:-4px;transform:rotate(.8deg);font-size:.86em}
.section-title{display:inline-block;background:var(--cream);padding:.18em .5em .26em;clip-path:var(--torn);transform:rotate(-1deg);margin-bottom:28px}

/* hero */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;padding:44px 0 72px}
.lede{max-width:30ch;font-size:1.5625rem;margin:30px 0 32px 6px;color:var(--ink-2)}
.ctas{display:flex;gap:18px;flex-wrap:wrap;margin-left:6px}
.pin{display:block;justify-self:center;width:100%;max-width:470px;background:#fff;padding:16px 16px 0;transform:rotate(3deg);text-decoration:none;transition:transform .15s}
.pin:hover{transform:rotate(1.5deg) translateY(-3px)}
.pin img{display:block;width:100%}
.pin .cap{display:block;font-family:Caveat;font-size:2.1rem;text-align:center;padding:8px 6px 14px;line-height:1.1;color:var(--ink)}
.pin .new{position:absolute;right:-22px;top:-22px;background:var(--or);color:#fff;font:800 1rem Nunito;letter-spacing:2px;padding:10px 16px;transform:rotate(8deg);text-transform:uppercase;z-index:3}
.sticker{filter:drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(5px 9px 9px rgba(60,40,10,.3))}
.pin .sticker{position:absolute;left:-104px;bottom:-104px;width:160px;transform:rotate(-6deg)}

/* clipping band */
.clip{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;background:#f6f2e8;padding:28px 36px;transform:rotate(-.5deg);text-decoration:none;margin:10px 0 90px}
.clip:hover{color:var(--ink)}
.kick{display:block;font:800 1rem Nunito;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);margin-bottom:4px}
.clip h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin:0 0 4px}
.clip p{margin:0;color:var(--ink-2)}
.stampbox{border:5px solid var(--red);color:var(--red);font:800 1.375rem Nunito;letter-spacing:2px;padding:6px 14px;border-radius:8px;transform:rotate(-8deg);text-transform:uppercase;display:inline-block}
.clip .go{font-weight:800;border-bottom:3px solid var(--or);white-space:nowrap}

/* video board */
.board{padding:10px 0 90px}
.board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.polaroids{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:56px 44px;margin-top:20px}
.polaroid{background:#fff;padding:14px 14px 18px;text-decoration:none;display:block;transition:transform .15s}
.polaroids .polaroid:nth-child(odd){transform:rotate(-1.6deg)}
.polaroids .polaroid:nth-child(even){transform:rotate(1.4deg)}
.polaroid:hover{transform:rotate(0) translateY(-4px)!important;color:var(--ink)}
.polaroid img{display:block;width:100%}
.polaroid h3{font-size:1.45rem;margin:14px 4px 6px}
.polaroid p{font-size:1.0625rem;margin:0 4px;color:var(--ink-2)}
.polaroid .meta{display:block;font-family:Caveat;font-size:1.6rem;margin:6px 4px 0;color:var(--or-text)}

/* newspaper clipping (scam alert) */
.news{background:#f4f0e6;padding:44px 52px 40px;transform:rotate(.4deg);margin-bottom:96px;font-family:Fraunces,Georgia,serif;font-weight:700}
.news .mast{display:flex;justify-content:space-between;border-bottom:3px double var(--ink);padding-bottom:10px;margin-bottom:22px;font:800 1rem Nunito;letter-spacing:2.5px;text-transform:uppercase}
.news h2{font-size:clamp(2.2rem,4.6vw,3.6rem);max-width:20ch}
.news .dek{font-family:Nunito;font-size:1.375rem;color:var(--ink-2);max-width:60ch}
.news .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:26px;border-top:1px solid var(--rule)}
.news .cols>div{padding:22px 26px 6px;border-left:1px solid var(--rule);font-family:Nunito}
.news .cols>div:first-child{border-left:0;padding-left:0}
.news .cols h3{font-size:1.4rem}
.news ul{margin:0;padding-left:1.1em}
.news li{margin-bottom:.5em}
.news .sources{font-family:Nunito;font-size:1rem;color:var(--ink-2);margin-top:16px}

/* topics index card */
.topics-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start;margin-bottom:96px}
.index-card{background:#fff;padding:30px 36px 18px;transform:rotate(-.8deg);
  background-image:linear-gradient(transparent 0 58px,rgba(200,52,43,.35) 58px 60px,transparent 60px),repeating-linear-gradient(transparent 0 47px,rgba(31,111,124,.16) 47px 48px);background-position:0 0,0 60px}
.index-card ul{list-style:none;margin:0;padding:0}
.index-card li{display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding:14px 0;border-bottom:1px solid var(--rule)}
.index-card li:last-child{border:0}
.index-card strong{font-family:Fraunces;font-size:1.45rem}
.index-card span.d{grid-column:1/-1;color:var(--ink-2);font-size:1.125rem}
.index-card .n{font-family:Caveat;font-size:1.6rem;color:var(--or-text)}
.index-card .soon{color:#6b7a7c}
.families{background:var(--teal);color:#fff;padding:40px 44px;transform:rotate(1deg)}
.families h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.6rem)}
.families a{color:#fff}

/* promise letter */
.letter{max-width:900px;margin:0 auto 96px;background:var(--cream);padding:56px 64px 44px;transform:rotate(-.4deg)}
.letter .stampbox{position:absolute;right:40px;top:-26px;background:var(--cream);transform:rotate(7deg)}
.never{list-style:none;padding:0;margin:20px 0 26px}
.never li{position:relative;padding:12px 0 12px 56px;border-bottom:1px dashed var(--rule)}
.never li::before{content:"";position:absolute;left:6px;top:15px;width:30px;height:30px;
  background:linear-gradient(45deg,transparent 44%,var(--red) 44% 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,var(--red) 44% 56%,transparent 56%)}
.note{background:var(--yel);padding:22px 26px;transform:rotate(-1deg);box-shadow:var(--shadow-sm);max-width:none}
.sign{font-family:Caveat;font-size:2.4rem;margin:18px 0 0}

/* about */
.about{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:center;margin-bottom:96px}
.about .sticker{width:240px;transform:rotate(-4deg)}

/* signup */
.signup{background:var(--mint);padding:48px 56px;transform:rotate(.5deg);margin-bottom:80px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.signup h2{font-size:clamp(2rem,4vw,2.9rem)}
.signup label{display:block;font-weight:800;margin-bottom:8px}
.signup .row{display:flex;gap:12px;flex-wrap:wrap}
.signup input{flex:1 1 260px;font:700 1.3125rem Nunito;padding:15px 16px;border:3px solid var(--ink);border-radius:5px;background:#fff;color:var(--ink);min-height:58px}
.form-note{font-size:1rem;margin-top:14px}
.form-status{font-weight:800;min-height:1.5em;margin:10px 0 0}
.cf-turnstile{margin-top:14px}

/* footer */
.site-footer{background:var(--ink);color:#e9f1f0;padding:44px 0 50px;font-size:1.0625rem}
.site-footer .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:40px}
.site-footer a{color:#fff}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.site-footer p{max-width:56ch}

/* video page */
.crumbs{font-size:1.0625rem;margin:10px 0 18px}
.crumbs a{color:var(--ink-2)}
.vhead{max-width:900px}
.vhead h1{font-size:clamp(2.3rem,5vw,3.8rem)}
.player{position:relative;background:#000;aspect-ratio:16/9;max-width:980px;margin:26px 0 22px;box-shadow:var(--shadow)}
.player a,.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.player img{width:100%;height:100%;object-fit:cover;display:block}
.player .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--or);color:#fff;font:800 1.375rem Nunito;padding:18px 28px 18px 24px;border-radius:6px;box-shadow:4px 5px 0 var(--or-dark);display:flex;align-items:center;gap:12px}
.player .play::before{content:"";border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent}
.vmeta{display:flex;gap:22px;flex-wrap:wrap;font-size:1.0625rem;color:var(--ink-2);margin-bottom:40px}
.vgrid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:start;padding-bottom:80px}
.steps{list-style:none;counter-reset:s;padding:0;margin:0 0 30px}
.steps>li{counter-increment:s;background:#fff;padding:24px 28px 10px 92px;margin-bottom:22px;position:relative;box-shadow:var(--shadow-sm)}
.steps>li:nth-child(odd){transform:rotate(-.4deg)}
.steps>li:nth-child(even){transform:rotate(.4deg)}
.steps>li::before{content:counter(s);position:absolute;left:24px;top:20px;width:48px;height:48px;border-radius:50%;background:var(--or);color:#fff;font:800 1.5rem/48px Nunito;text-align:center}
.steps h2,.steps h3{font-size:1.55rem;margin-bottom:.3em}
.aside-card{background:var(--cream);padding:28px 30px 12px;box-shadow:var(--shadow-sm);margin-bottom:28px;transform:rotate(.6deg)}
.aside-card h2{font-size:1.6rem}
details.transcript{background:#fff;padding:22px 28px;box-shadow:var(--shadow-sm);margin-bottom:30px}
details.transcript summary{cursor:pointer;font:800 1.3125rem Nunito;min-height:44px;display:flex;align-items:center}
details.transcript p{font-size:1.1875rem}
.disclose{font-size:1rem;color:var(--ink-2)}

/* calm pages (got scammed, privacy, 404) */
.calm-hero{display:grid;grid-template-columns:1fr 240px;gap:40px;align-items:center;padding:30px 0 30px}
.calm-hero h1{font-size:clamp(2.4rem,5.4vw,4rem)}
.danger{background:var(--red);color:#fff;padding:14px 22px;font-weight:800;margin:0 0 40px;transform:rotate(-.3deg)}
.danger a{color:#fff}
.country{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.country>div{background:var(--sky);padding:18px 22px 4px}
.callout{background:var(--yel);padding:18px 22px;margin:10px 0 16px}
.sources-list{font-size:1.0625rem;background:var(--cream);padding:22px 28px;margin:10px 0 80px}
.print-row{margin-top:10px}
.prose{max-width:780px;padding:20px 0 80px}
.prose h2{font-size:2rem;margin-top:1.2em}
.notfound{text-align:center;padding:60px 0 100px}
.notfound .sticker{width:220px}
.notfound p{margin-left:auto;margin-right:auto}

/* mobile */
@media (max-width:900px){
  .hero,.topics-row,.vgrid,.signup,.about{grid-template-columns:1fr}
  .hero{gap:60px;padding:20px 0 60px}
  .news .cols{grid-template-columns:1fr}
  .news .cols>div{border-left:0;padding-left:0;border-top:1px solid var(--rule)}
  .about .sticker{width:180px}
}
@media (max-width:760px){
  body{font-size:1.25rem}
  .wrap{padding:0 18px}
  .brand{font-size:1.3rem}.brand img{width:40px}
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:18px;right:18px;top:84px;background:var(--cream);box-shadow:var(--shadow);padding:18px 22px;z-index:50}
  .nav.open{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:6px}
  .nav a{display:block;padding:12px 4px;font-size:1.25rem}
  .nav a.urgent{text-align:center;margin-top:6px}
  .site-header{position:relative}
  .strips .strip{padding:.16em .36em .24em}
  .lede{font-size:1.3125rem;margin:24px 0}
  .ctas .btn{width:100%;text-align:center}
  .pin{max-width:330px}.pin .new{right:-6px}.pin .sticker{width:110px;left:-26px;bottom:-84px}
  .clip{grid-template-columns:1fr;gap:12px;padding:24px;margin-top:40px}
  .clip .stampbox{justify-self:start}
  .news,.letter,.signup,.families{padding:30px 22px}
  .letter .stampbox{right:14px}
  .polaroids{grid-template-columns:1fr;gap:40px}
  .steps>li{padding:70px 20px 6px}
  .steps>li::before{left:20px;top:16px}
  .country{grid-template-columns:1fr}
  .calm-hero{grid-template-columns:1fr}
  .calm-hero .sticker{width:150px}
  .site-footer .wrap{grid-template-columns:1fr}
}
@media print{
  body{background:#fff;font-size:12pt}
  .site-header,.site-footer,.preview-strip,.print-row,.skip,.sticker,.tape{display:none!important}
  .paper,.steps>li,.aside-card{box-shadow:none!important;transform:none!important;border:1px solid #999}
  a{text-decoration:none}
}
.t-pin{left:38%;top:-20px;transform:rotate(-4deg)}
.page-title{font-size:clamp(2.6rem,6vw,4.4rem);margin-top:10px}
.vlede{max-width:52ch;margin-left:0}
.aside-card.yel{background:var(--yel)}
.aside-card.white{background:#fff}
.strip.s-tilt{transform:rotate(.8deg)}
.country>div{min-width:0}
.steps a,.country a,.prose a,.aside-card a{overflow-wrap:anywhere}
.index-card ul{padding-top:34px}
.pin .sticker{width:140px;left:-92px;bottom:-78px}
@media (max-width:760px){.pin .sticker{width:105px;left:-24px;bottom:-80px}}
/* compact menu on tablets and narrow windows too */
@media (max-width:1000px){
  .nav-toggle{display:block}
  .site-header{position:relative}
  .nav{display:none;position:absolute;right:18px;left:auto;width:min(360px,calc(100% - 36px));top:84px;background:var(--cream);box-shadow:var(--shadow);padding:18px 22px;z-index:50}
  .nav.open{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:6px}
  .nav a{display:block;padding:12px 4px;font-size:1.25rem}
  .nav a.urgent{text-align:center;margin-top:6px}
}

/* ---- calmer layout (Nov 8): straight cards, fewer effects, more space ---- */
.polaroid,.news,.index-card,.families,.letter,.signup,.steps>li,.steps>li:nth-child(odd),.steps>li:nth-child(even),.aside-card,.clip,.sources-list,.danger{transform:none!important}
.narrow{max-width:960px}
.page-h{font-size:clamp(2.6rem,6vw,4.2rem);margin:20px 0 8px}
.page-h .strip{filter:drop-shadow(5px 9px 10px rgba(60,40,10,.18))}
.hero{padding:40px 0 64px}
.hero .btn{margin-left:6px}
.help-band{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--yel);padding:22px 30px;border-radius:6px;text-decoration:none;font-size:1.375rem;margin:0 0 80px;box-shadow:var(--shadow-sm)}
.help-band:hover{color:var(--ink);background:#ffdd6e}
.help-band .go{font-weight:800;border-bottom:3px solid var(--ink);white-space:nowrap}
.block{margin-bottom:80px}
.block-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.block-head h2{margin:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:36px}
.polaroid{background:#fff;padding:12px 12px 18px;border-radius:4px;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}
.polaroid:hover{transform:translateY(-3px)!important;box-shadow:var(--shadow)}
.polaroid h3{font-size:1.4rem;margin:14px 6px 6px}
.polaroid .meta{font-family:Nunito;font-size:1.0625rem;color:var(--ink-2);margin:0 6px}
.signup{background:var(--mint);border-radius:6px;box-shadow:none}
.news{background:#fff;font-family:Nunito;padding:36px 40px;border-radius:6px;box-shadow:var(--shadow-sm);margin:30px 0 60px}
.news .mast{display:block;border-bottom:2px solid var(--ink);font:800 1rem Nunito;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin:0 0 16px;padding-bottom:8px;max-width:none}
.news h2{font-family:Fraunces}
.letter{background:var(--cream);border-radius:6px;box-shadow:var(--shadow-sm);padding:40px 44px;margin:50px 0 70px;max-width:none}
.topic-list{list-style:none;padding:0;margin:0}
.topic-list li{padding:16px 0;border-bottom:1px solid var(--rule)}
.topic-list strong{font-family:Fraunces;font-size:1.4rem;display:block}
.families{border-radius:6px;margin-bottom:80px}
.about{margin:30px 0 0}
.steps>li{box-shadow:var(--shadow-sm);border-radius:4px}
@media (max-width:760px){.help-band{padding:20px;font-size:1.25rem}.news,.letter{padding:26px 20px}.cards{grid-template-columns:1fr}}
