/*
Theme Name: Broke But Boarding
Theme URI: https://broke-but-boarding.com/
Author: Broke But Boarding
Description: Scrapbook travel journal theme made for Broke But Boarding: boarding-pass hero, vintage-map continents, polaroid photo layouts.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bbb
*/

/* Layout: an open travel journal — a boarding pass hero, pinned polaroids, a passport page of 7 stamps, then journal spreads. Single paper look by choice. */
:root{
  --paper:#F7F5F0;      /* journal page */
  --paper-2:#ECE7DC;    /* kraft insert */
  --ink:#1E2B3C;        /* fountain-pen navy */
  --ink-soft:#56606E;
  --airmail:#C8402F;    /* par avion red */
  --sky:#3E6E9C;        /* par avion blue */
  --tape-a:rgba(214,170,160,.72);
  --tape-b:rgba(160,184,163,.72);
  --tape-c:rgba(232,205,140,.75);
  --white:#FFFFFF;
  --f-display:"Special Elite", "Courier New", Courier, monospace;
  --globe:#3B8A5E;      /* logo green */
  --f-body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --f-hand:"Reenie Beanie", "Segoe Print", "Bradley Hand", cursive;
  --shadow:0 1px 2px rgba(30,43,60,.10), 0 10px 24px -8px rgba(30,43,60,.22);
  --shadow-lift:0 2px 4px rgba(30,43,60,.10), 0 22px 40px -12px rgba(30,43,60,.30);
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .17 0 0 0 0 .24 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;
  overflow-x:hidden;
}
a{color:inherit}
:focus-visible{outline:2px dashed var(--airmail);outline-offset:3px}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.05;text-wrap:balance;margin:0}
.eyebrow{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.hand{font-family:var(--f-hand);font-weight:400;line-height:1}

/* Airmail stripe */
.airmail{height:8px;background:repeating-linear-gradient(135deg,var(--airmail) 0 18px,var(--paper) 18px 30px,var(--sky) 30px 48px,var(--paper) 48px 60px)}

/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(247,245,240,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(30,43,60,.08)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--paper)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:48px;height:48px;flex:none}
.logo-mark .plane-g{transform-origin:24px 24px;animation:orbit 10s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.logo-text{font-family:var(--f-display);font-size:1.3rem}
.logo-text em{font-style:normal;color:var(--airmail)}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;font-weight:500;font-size:.95rem;position:relative}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--airmail);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav ul a:hover::after{transform:scaleX(1)}
.menu-btn{display:none;background:none;border:1.5px solid var(--ink);border-radius:999px;padding:6px 14px;font:600 .85rem var(--f-body);color:var(--ink)}

/* Hero */
.hero{padding-block:64px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(2.7rem,6.4vw,5.6rem);letter-spacing:-.01em}
.hero h1 .scribble{position:relative;display:inline-block}
.hero h1 .scribble svg{position:absolute;left:-4%;bottom:-.08em;width:108%;height:.32em;overflow:visible}
.hero h1 .scribble path{stroke:var(--airmail);stroke-width:5;fill:none;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:0;animation:draw 1.2s .6s ease-out both}
@keyframes draw{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}
.hero p.lede{font-size:1.18rem;max-width:30ch;color:var(--ink-soft);margin:22px 0 30px}
.hero .note{font-size:1.9rem;color:var(--sky);transform:rotate(-4deg);display:inline-block;margin-left:6px}
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.98rem;transition:transform .25s ease, box-shadow .25s ease, background .25s}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-line{border:1.5px solid var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(4px)}

/* Collage */
.collage{position:relative;height:540px}
.pol{position:absolute;background:var(--white);padding:12px 12px 46px;box-shadow:var(--shadow);transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s;animation:drop .9s cubic-bezier(.2,.8,.2,1) both}
.pol:hover{transform:rotate(0deg) scale(1.04) !important;box-shadow:var(--shadow-lift);z-index:5}
.pol .ph{aspect-ratio:4/5;width:100%;overflow:hidden;position:relative}
.pol figcaption{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-family:var(--f-hand);font-size:1.6rem;color:var(--ink)}
@keyframes drop{from{opacity:0;translate:0 -40px;rotate:6deg}to{opacity:1;translate:0 0;rotate:0deg}}
.tape{position:absolute;width:92px;height:28px;top:-13px;left:50%;margin-left:-46px;background:var(--tape-a);transform:rotate(-4deg);box-shadow:0 1px 2px rgba(0,0,0,.06);
  -webkit-mask:linear-gradient(90deg,transparent 0 3px,#000 3px calc(100% - 3px),transparent calc(100% - 3px)), repeating-linear-gradient(0deg,#000 0 3px,transparent 3px 5px);
  -webkit-mask-composite:source-over}
.tape.b{background:var(--tape-b)} .tape.c{background:var(--tape-c)}
.tape::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 6px,transparent 6px 12px)}
.p1{width:250px;left:4%;top:36px;transform:rotate(-6deg);animation-delay:.15s}
.p2{width:230px;right:2%;top:0;transform:rotate(5deg);animation-delay:.3s}
.p3{width:220px;left:30%;top:250px;transform:rotate(2deg);animation-delay:.45s}

/* Illustrated photo placeholders */
.scene{position:absolute;inset:0}
.s-sunset{background:linear-gradient(180deg,#F2B880 0%,#E8826B 42%,#9C5A72 66%,#2F4A6D 66.5%,#25395A 100%)}
.s-sunset::before{content:"";position:absolute;width:38%;aspect-ratio:1;border-radius:50%;background:#FBE3B4;left:31%;top:44%}
.s-sunset::after{content:"";position:absolute;left:0;right:0;top:66%;bottom:0;background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(251,227,180,.28) 8px 10px)}
.s-mount{background:linear-gradient(180deg,#BFD6E3,#E9EEF0 55%)}
.s-mount::before{content:"";position:absolute;inset:auto 0 0 0;height:70%;background:#5B7B8F;clip-path:polygon(0 100%,0 60%,22% 20%,38% 48%,58% 6%,80% 44%,100% 26%,100% 100%)}
.s-mount::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:#2F4A3E;clip-path:polygon(0 100%,0 40%,18% 60%,40% 22%,62% 58%,84% 30%,100% 50%,100% 100%)}
.s-city{background:linear-gradient(180deg,#2D3D5C,#5A5374 70%,#D98C70)}
.s-city::before{content:"";position:absolute;inset:auto 0 0 0;height:60%;background:#1A2234;clip-path:polygon(0 100%,0 50%,8% 50%,8% 30%,16% 30%,16% 55%,24% 55%,24% 12%,32% 12%,32% 45%,42% 45%,42% 25%,50% 25%,50% 0,56% 0,56% 40%,66% 40%,66% 20%,76% 20%,76% 50%,86% 50%,86% 35%,100% 35%,100% 100%)}
.s-city::after{content:"";position:absolute;left:24%;right:14%;bottom:12%;height:40%;background:radial-gradient(circle,#F4C77A 1.2px,transparent 1.6px) 0 0/9px 11px;opacity:.8}
.s-sea{background:linear-gradient(180deg,#9CC9D9,#5FA3B8 50%,#E9D7B4 50.5%,#DCC69B)}
.s-sea::before{content:"";position:absolute;left:0;right:0;top:50%;height:16%;background:linear-gradient(180deg,#3F8CA6,#7CC0CF);clip-path:polygon(0 0,100% 0,100% 60%,85% 100%,70% 55%,50% 100%,30% 60%,12% 100%,0 70%)}
.s-forest{background:linear-gradient(180deg,#D8E1C9,#AFC39A)}
.s-forest::before{content:"";position:absolute;inset:auto 0 0 0;height:75%;background:#3E5A3A;clip-path:polygon(0 100%,0 40%,6% 70%,12% 20%,18% 65%,26% 10%,34% 60%,42% 25%,50% 70%,58% 15%,66% 62%,74% 30%,82% 68%,90% 22%,100% 58%,100% 100%)}
.s-ice{background:linear-gradient(180deg,#DCE8F0,#F7FAFC 60%,#B7CFDF 60.5%,#8FB2C9)}
.s-ice::before{content:"";position:absolute;inset:auto 0 40% 0;height:34%;background:#FFFFFF;clip-path:polygon(0 100%,10% 40%,22% 70%,36% 10%,52% 60%,64% 30%,80% 75%,92% 45%,100% 100%)}
.slot-label{position:absolute;right:8px;top:8px;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.82);padding:3px 6px;color:var(--ink)}

/* Boarding pass */
.pass{position:absolute;left:0;right:6%;bottom:6px;display:grid;grid-template-columns:1fr 132px;background:var(--white);box-shadow:var(--shadow-lift);transform:rotate(-2.5deg);animation:slidein 1s .7s cubic-bezier(.2,.8,.2,1) both;border-radius:10px;overflow:hidden;z-index:4}
@keyframes slidein{from{opacity:0;translate:-30px 30px}to{opacity:1;translate:0 0}}
.pass-main{padding:16px 20px;border-right:2px dashed var(--paper-2);position:relative}
.pass-top{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--paper);margin:-16px -20px 14px;padding:9px 20px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.route{display:flex;align-items:center;gap:12px}
.route b{font-family:var(--f-display);font-size:2.4rem;font-weight:400;line-height:1}
.route .plane{flex:1;height:1px;border-top:1.5px dashed var(--ink-soft);position:relative}
.route .plane span{position:absolute;left:50%;top:-12px;transform:translateX(-50%);background:var(--white);padding:0 6px;font-size:1.05rem}
.route small{display:block;font-family:var(--f-mono);font-size:.62rem;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase}
.pass-grid{display:grid;grid-template-columns:repeat(4,auto);gap:4px 16px;margin-top:12px;font-family:var(--f-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.pass-grid b{display:block;font-size:.88rem;color:var(--ink);font-weight:500;letter-spacing:.02em}
.pass-stub{padding:14px;display:flex;flex-direction:column;justify-content:space-between;background:var(--paper-2)}
.barcode{height:54px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 11px,transparent 11px 12px)}
.pass-stub .eyebrow{font-size:.58rem}
.pass-stub .seat{font-family:var(--f-display);font-size:1.6rem}

/* Torn paper edges */
.torn{position:relative;--torn-c:var(--paper-2)}
.torn::before,.torn::after{content:"";position:absolute;left:0;right:0;height:22px;background:var(--torn-c);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M0 30 L0.0 8.2 L12.2 4.2 L21.2 3.9 L26.6 15.9 L32.6 9.8 L39.0 6.6 L54.4 12.2 L70.1 3.7 L78.3 11.3 L86.7 16.1 L98.1 13.2 L109.1 10.0 L116.4 13.9 L124.8 12.4 L133.1 15.7 L140.8 12.2 L155.5 14.7 L171.2 4.9 L184.6 5.4 L190.0 13.7 L201.3 17.0 L213.9 12.5 L224.0 16.4 L234.2 19.6 L246.9 13.4 L260.9 7.6 L273.3 3.4 L280.1 10.9 L293.6 5.1 L302.9 22.9 L312.8 11.8 L326.8 16.8 L336.4 8.7 L351.9 5.4 L359.5 6.7 L371.0 13.2 L380.6 8.9 L396.1 14.0 L407.9 19.8 L422.8 15.5 L436.5 9.3 L442.7 19.1 L448.4 6.3 L457.2 9.8 L463.8 4.6 L469.1 17.0 L475.7 7.0 L484.7 5.0 L500.7 10.5 L506.6 4.6 L514.5 16.3 L519.8 18.2 L526.4 17.7 L537.2 18.7 L549.9 7.2 L556.7 15.4 L570.3 8.3 L584.2 18.8 L598.1 16.1 L605.5 11.3 L610.9 3.4 L618.7 14.1 L628.6 18.0 L644.1 8.8 L651.6 6.1 L663.5 17.4 L673.8 13.4 L679.7 13.6 L693.3 15.0 L700.3 15.6 L714.1 18.5 L723.5 18.1 L730.4 5.0 L745.3 21.9 L759.4 18.7 L768.3 17.8 L773.4 18.5 L784.2 17.9 L798.8 16.2 L806.6 7.7 L818.0 7.1 L824.5 17.6 L834.5 12.3 L844.1 17.7 L855.0 17.4 L864.8 11.9 L878.6 5.8 L891.6 11.9 L902.3 11.9 L908.5 12.0 L916.5 15.4 L927.7 15.2 L937.6 12.8 L948.2 14.1 L959.1 10.6 L971.8 17.0 L979.6 12.0 L993.9 11.2 L1003.7 4.2 L1009.5 13.7 L1024.4 5.5 L1036.7 5.3 L1052.3 6.5 L1061.7 10.8 L1075.8 5.6 L1086.5 8.4 L1095.0 20.6 L1106.1 16.0 L1114.8 13.0 L1120.5 18.8 L1136.1 4.7 L1141.6 15.5 L1148.0 9.8 L1162.0 13.1 L1177.1 12.1 L1183.1 3.9 L1192.8 4.2 L1200.0 10 L1200 30 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M0 30 L0.0 8.2 L12.2 4.2 L21.2 3.9 L26.6 15.9 L32.6 9.8 L39.0 6.6 L54.4 12.2 L70.1 3.7 L78.3 11.3 L86.7 16.1 L98.1 13.2 L109.1 10.0 L116.4 13.9 L124.8 12.4 L133.1 15.7 L140.8 12.2 L155.5 14.7 L171.2 4.9 L184.6 5.4 L190.0 13.7 L201.3 17.0 L213.9 12.5 L224.0 16.4 L234.2 19.6 L246.9 13.4 L260.9 7.6 L273.3 3.4 L280.1 10.9 L293.6 5.1 L302.9 22.9 L312.8 11.8 L326.8 16.8 L336.4 8.7 L351.9 5.4 L359.5 6.7 L371.0 13.2 L380.6 8.9 L396.1 14.0 L407.9 19.8 L422.8 15.5 L436.5 9.3 L442.7 19.1 L448.4 6.3 L457.2 9.8 L463.8 4.6 L469.1 17.0 L475.7 7.0 L484.7 5.0 L500.7 10.5 L506.6 4.6 L514.5 16.3 L519.8 18.2 L526.4 17.7 L537.2 18.7 L549.9 7.2 L556.7 15.4 L570.3 8.3 L584.2 18.8 L598.1 16.1 L605.5 11.3 L610.9 3.4 L618.7 14.1 L628.6 18.0 L644.1 8.8 L651.6 6.1 L663.5 17.4 L673.8 13.4 L679.7 13.6 L693.3 15.0 L700.3 15.6 L714.1 18.5 L723.5 18.1 L730.4 5.0 L745.3 21.9 L759.4 18.7 L768.3 17.8 L773.4 18.5 L784.2 17.9 L798.8 16.2 L806.6 7.7 L818.0 7.1 L824.5 17.6 L834.5 12.3 L844.1 17.7 L855.0 17.4 L864.8 11.9 L878.6 5.8 L891.6 11.9 L902.3 11.9 L908.5 12.0 L916.5 15.4 L927.7 15.2 L937.6 12.8 L948.2 14.1 L959.1 10.6 L971.8 17.0 L979.6 12.0 L993.9 11.2 L1003.7 4.2 L1009.5 13.7 L1024.4 5.5 L1036.7 5.3 L1052.3 6.5 L1061.7 10.8 L1075.8 5.6 L1086.5 8.4 L1095.0 20.6 L1106.1 16.0 L1114.8 13.0 L1120.5 18.8 L1136.1 4.7 L1141.6 15.5 L1148.0 9.8 L1162.0 13.1 L1177.1 12.1 L1183.1 3.9 L1192.8 4.2 L1200.0 10 L1200 30 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;pointer-events:none;filter:drop-shadow(0 -2px 1px rgba(30,43,60,.07))}
.torn::before{top:-21px}
.torn::after{bottom:-21px;transform:scaleY(-1) scaleX(-1)}
.torn.top-only::after{display:none}

/* Marquee */
.marquee{background:var(--paper-2);margin-top:44px;margin-bottom:22px}
.marquee .clip{overflow:hidden;padding-block:6px}
.marquee-track{display:flex;width:max-content;animation:scroll 38s linear infinite}
.marquee span{font-family:var(--f-display);font-size:1.5rem;padding:12px 22px;white-space:nowrap;display:flex;align-items:center;gap:22px}
.marquee span::after{content:"✈";font-size:.9rem;color:var(--airmail)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* Sections */
section.block{padding-block:96px}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:44px}
.sec-head h2{font-size:clamp(2.3rem,4.6vw,3.8rem);letter-spacing:-.005em}
.sec-head .hand{font-size:1.9rem;color:var(--sky);transform:rotate(-3deg)}
.sec-head p{max-width:42ch;color:var(--ink-soft);margin:10px 0 0}

/* Passport */
.passport{background:var(--paper-2);border-radius:18px;padding:44px clamp(18px,4vw,48px);position:relative;box-shadow:inset 0 0 0 1px rgba(30,43,60,.06)}
.passport::before{content:"";position:absolute;inset:0;border-radius:18px;background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(62,110,156,.10) 31px 32px);pointer-events:none}
.passport-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:30px;position:relative}
.stamps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 22px;position:relative}
.stamp{--c:var(--airmail);text-decoration:none;color:var(--c);display:grid;place-items:center;text-align:center;aspect-ratio:1;border:2.5px solid var(--c);border-radius:50%;padding:14%;position:relative;transform:rotate(var(--r,-6deg));transition:transform .35s cubic-bezier(.3,1.6,.5,1), background .3s;mix-blend-mode:multiply;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.6 1.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1.6 1.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}
.stamp::before{content:"";position:absolute;inset:6px;border:1px dashed var(--c);border-radius:50%}
.stamp.rect{border-radius:10px}.stamp.rect::before{border-radius:6px}
.stamp:hover{transform:rotate(0deg) scale(1.08);background:rgba(255,255,255,.4)}
.stamp .code{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.2em}
.stamp .name{font-family:var(--f-display);font-size:clamp(1.15rem,2.2vw,1.65rem);line-height:1;margin:6px 0}
.stamp .count{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.stamp.blue{--c:var(--sky)} .stamp.ink{--c:var(--ink)} .stamp.green{--c:#4F7A57}
.passport-note{display:grid;place-items:center;text-align:center;font-family:var(--f-hand);font-size:2rem;color:var(--ink-soft);transform:rotate(3deg);line-height:1.05}

/* Continent map cards */
.continents{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 26px;position:relative}
.cont{text-decoration:none;position:relative;display:flex;flex-direction:column;gap:12px;transform:rotate(var(--r,-1.5deg));transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.cont:hover{transform:rotate(0) translateY(-6px)}
.cont .frame{background:var(--white);padding:9px;box-shadow:var(--shadow);position:relative;transition:box-shadow .45s}
.cont:hover .frame{box-shadow:var(--shadow-lift)}
.cont .map{aspect-ratio:4/5;overflow:hidden;position:relative;background:var(--paper-2)}
.cont .map img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:sepia(.12) saturate(.95);transition:transform .9s cubic-bezier(.2,.8,.2,1), filter .5s}
.cont:hover .map img{transform:scale(1.07);filter:none}
.cont h3{font-size:1.35rem;line-height:1.1}
.cont .meta{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.cont .stamp{position:absolute;right:-12px;bottom:58px;width:84px;padding:10px;z-index:2;background:rgba(247,245,240,.0)}
.cont:hover .stamp{transform:rotate(0) scale(1.12)}
.cont .stamp .code{font-size:.56rem;letter-spacing:.14em}
.cont .stamp .name{font-size:1.05rem;margin:3px 0}
.cont .stamp .count{font-size:.5rem}

/* Montreal spread */
.spread{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.spread-visual{position:relative;min-height:520px}
.spread-visual .pol{animation:none}
.m1{width:62%;left:0;top:20px;transform:rotate(-4deg)}
.m2{width:48%;right:0;top:150px;transform:rotate(5deg)}
.ticket{position:absolute;left:12%;bottom:0;background:var(--airmail);color:var(--paper);padding:14px 22px 14px 18px;transform:rotate(-8deg);box-shadow:var(--shadow);font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;z-index:3;
  -webkit-mask:radial-gradient(circle 7px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat, radial-gradient(circle 7px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat}
.ticket b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.5rem;letter-spacing:0;text-transform:none}
.sticky{position:absolute;right:6%;bottom:30px;width:170px;background:#F4E3A1;padding:16px 16px 20px;transform:rotate(4deg);box-shadow:var(--shadow);font-family:var(--f-hand);font-size:1.55rem;line-height:1.05;z-index:3}
.spread-copy h2{font-size:clamp(2.4rem,4.8vw,4rem);letter-spacing:-.005em;margin:12px 0 18px}
.spread-copy h2 em{font-style:italic;color:var(--airmail)}
.spread-copy p{color:var(--ink-soft);max-width:46ch}
.checklist{list-style:none;padding:0;margin:26px 0 32px;display:grid;gap:12px}
.checklist li{display:flex;gap:14px;align-items:baseline;border-bottom:1px dashed rgba(30,43,60,.2);padding-bottom:10px}
.checklist .n{font-family:var(--f-mono);font-size:.72rem;color:var(--airmail);letter-spacing:.1em}
.checklist .tag{margin-left:auto;font-family:var(--f-mono);font-size:.66rem;color:var(--ink-soft);white-space:nowrap}

/* Stories */
.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.story{text-decoration:none;display:flex;flex-direction:column;gap:16px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.story:nth-child(1){transform:rotate(-1.2deg)}.story:nth-child(2){transform:rotate(.8deg) translateY(24px)}.story:nth-child(3){transform:rotate(-.6deg)}
.story:hover{transform:rotate(0) translateY(-6px)}
.story .frame{background:var(--white);padding:10px;box-shadow:var(--shadow);position:relative;transition:box-shadow .35s}
.story:hover .frame{box-shadow:var(--shadow-lift)}
.story .ph{aspect-ratio:4/3;position:relative;overflow:hidden}
.story .ph .scene{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.story:hover .ph .scene{transform:scale(1.06)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:3px 10px;color:var(--ink-soft)}
.chip.budget{color:var(--airmail)}
.story h3{font-size:1.7rem;letter-spacing:-.01em}
.story p{margin:0;color:var(--ink-soft);font-size:.98rem}
.story .more{font-family:var(--f-hand);font-size:1.6rem;color:var(--sky)}

/* About */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.about-photo{position:relative;justify-self:center;width:min(360px,100%)}
.about-photo .pol{position:relative;animation:none;transform:rotate(-3deg);width:100%}
.about-photo .pol .ph{aspect-ratio:1}
.letter{background:var(--white);padding:clamp(26px,4vw,48px);box-shadow:var(--shadow);position:relative;clip-path:polygon(0 0,100% 0,100% 100%,96% 98.6%,92% 100%,87% 98.4%,82% 100%,76% 98.8%,70% 100%,64% 98.3%,58% 100%,52% 98.7%,46% 100%,40% 98.4%,34% 100%,28% 98.8%,22% 100%,16% 98.4%,10% 100%,5% 98.6%,0 100%)}
.letter .hand.hi{font-size:3rem;color:var(--sky);display:block;margin-bottom:6px}
.letter p{max-width:58ch;margin:0 0 14px}
.letter .goal{font-family:var(--f-display);font-size:1.45rem;line-height:1.25;margin-top:20px;color:var(--ink)}
.sign{font-family:var(--f-hand);font-size:2.4rem;color:var(--airmail);margin-top:12px;display:block}

/* Non-travel strip */
.notes{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.note-card{background:var(--white);padding:22px 20px 26px;box-shadow:var(--shadow);text-decoration:none;display:flex;flex-direction:column;gap:10px;position:relative;transition:transform .3s, box-shadow .3s}
.note-card:nth-child(odd){transform:rotate(-1.5deg)}.note-card:nth-child(even){transform:rotate(1.2deg)}
.note-card:hover{transform:rotate(0) translateY(-4px);box-shadow:var(--shadow-lift)}
.note-card h3{font-size:1.35rem}
.note-card p{margin:0;font-size:.92rem;color:var(--ink-soft)}
.note-card .pin{position:absolute;top:-8px;left:50%;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#E77C6E,var(--airmail) 60%,#8C2A1F);box-shadow:0 3px 4px rgba(0,0,0,.25)}

/* Postcard newsletter */
.postcard{background:var(--white);box-shadow:var(--shadow-lift);display:grid;grid-template-columns:1fr 1px 1fr;gap:40px;padding:clamp(26px,4vw,52px);position:relative;transform:rotate(-.6deg);max-width:1000px;margin:0 auto}
.postcard::before{content:"";position:absolute;inset:0;border:10px solid transparent;border-image:repeating-linear-gradient(135deg,var(--airmail) 0 14px,var(--white) 14px 22px,var(--sky) 22px 36px,var(--white) 36px 44px) 10;pointer-events:none}
.postcard .divider{background:var(--paper-2)}
.postcard h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.005em;margin-bottom:12px}
.postcard p{color:var(--ink-soft);margin:0}
.pc-right{display:flex;flex-direction:column;gap:18px;position:relative}
.pc-stamp{align-self:flex-end;width:84px;height:100px;background:var(--paper-2);border:3px dotted var(--white);outline:1.5px solid var(--ink-soft);display:grid;place-items:center;text-align:center;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);transform:rotate(4deg)}
.pc-stamp b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.6rem;letter-spacing:0;color:var(--airmail)}
.pc-right label{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.pc-right input{width:100%;border:none;border-bottom:1.5px solid var(--ink);background:transparent;font:400 1.9rem var(--f-hand);color:var(--ink);padding:6px 2px}
.pc-right input:focus{outline:none;border-bottom-color:var(--airmail)}
.pc-right button{align-self:flex-start;border:none;cursor:pointer;font-family:var(--f-body)}
.sent{font-family:var(--f-hand);font-size:1.8rem;color:#4F7A57}

/* Footer */
footer{padding-block:60px 40px;margin-top:100px;background:var(--ink);color:var(--paper)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;align-items:end}
.foot .big{font-family:var(--f-display);font-size:clamp(2.2rem,6vw,4.6rem);line-height:.95;letter-spacing:-.005em}
.foot .big em{font-style:normal;color:#E7907F}
.foot ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:22px;font-size:.95rem}
.foot ul a{text-decoration:none;opacity:.85}.foot ul a:hover{opacity:1;text-decoration:underline}
.copy{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6;margin-top:40px}

/* Reveal: visible at rest, only a gentle lift when it enters */
.reveal.in{animation:lift .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes lift{from{translate:0 26px}to{translate:0 0}}

/* Responsive */
@media (max-width:980px){
  .hero,.spread,.about{grid-template-columns:1fr}
  .collage{height:520px;max-width:560px;width:100%;margin:0 auto}
  .continents{grid-template-columns:repeat(3,1fr)}
  .stories{grid-template-columns:1fr 1fr}
  .notes{grid-template-columns:1fr 1fr}
  .spread-visual{order:-1;max-width:560px;width:100%;margin:0 auto}
  .nav ul{display:none}
  .menu-btn{display:inline-block}
  .nav ul.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px max(20px,env(safe-area-inset-left,0px));gap:16px;border-bottom:1px solid rgba(30,43,60,.1)}
}
@media (max-width:620px){
  body{font-size:16px}
  .hero{padding-block:36px 20px}
  .collage{height:460px}
  .p1{width:58%;left:0;top:20px}.p2{width:52%;right:0;top:0}.p3{display:none}
  .pass{right:0;grid-template-columns:1fr 96px}
  .route b{font-size:1.9rem}
  .pass-grid{grid-template-columns:repeat(2,auto)}
  .continents{grid-template-columns:repeat(2,1fr);gap:34px 18px}
  .cont .stamp{width:66px;right:-6px}
  .cont h3{font-size:1.1rem}
  .cont .meta{display:none}
  .stories,.notes{grid-template-columns:1fr}
  .story:nth-child(2){transform:rotate(.8deg)}
  .postcard{grid-template-columns:1fr;transform:none;gap:26px}
  .postcard .divider{height:1px}
  section.block{padding-block:64px}
  .spread-visual{min-height:440px}
  .sticky{width:140px;font-size:1.35rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}

/* =====================================================================
   WordPress-specific
   ===================================================================== */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--paper);padding:8px 14px;border-radius:6px}
.skip-link:focus{left:12px}
.admin-bar header.site{top:32px}
@media (max-width:782px){.admin-bar header.site{top:0}}
.logo-img{width:48px;height:48px;object-fit:contain}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.nav ul li{list-style:none}
.nav ul .current-menu-item > a::after{transform:scaleX(1)}
.pol .ph img.scene,.story .ph img.scene{width:100%;height:100%;object-fit:cover;display:block}
.stamp .name{display:block}
#pc-form{display:flex;flex-direction:column;gap:18px}
.pc-form-plugin input[type=email],.pc-form-plugin input[type=text]{width:100%;border:none;border-bottom:1.5px solid var(--ink);background:transparent;font:400 1.6rem var(--f-hand);color:var(--ink);padding:6px 2px}
.pc-form-plugin input[type=submit],.pc-form-plugin button{background:var(--ink);color:var(--paper);border:none;border-radius:999px;padding:12px 22px;font:600 .95rem var(--f-body);cursor:pointer}

/* Article header */
.article-head{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding-block:56px 40px}
.article-head h1{font-size:clamp(2.2rem,5vw,4rem);margin:14px 0 18px}
.article-head .lede{font-size:1.15rem;color:var(--ink-soft);max-width:44ch;margin:0 0 18px}
.article-head .eyebrow a{text-decoration:none;color:var(--airmail)}
.article-cover{position:relative;transform:rotate(2deg);animation:drop .9s cubic-bezier(.2,.8,.2,1) both}
.article-cover .ph{aspect-ratio:4/3}
.article-head:not(:has(.article-cover)){grid-template-columns:1fr;max-width:860px}
.page-head{padding-block:56px 20px;max-width:860px}
.page-head h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-top:12px}

/* Article body */
.entry{max-width:720px;margin:0 auto;font-size:1.08rem;line-height:1.75}
.entry > *{margin-block:0 1.2em}
.entry h2{font-size:clamp(1.7rem,3.2vw,2.3rem);margin:2.2em 0 .7em}
.entry h3{font-size:1.4rem;margin:1.8em 0 .5em}
.entry a{color:var(--sky);text-decoration-thickness:1px;text-underline-offset:3px}
.entry a:hover{color:var(--airmail)}
.entry ul,.entry ol{padding-left:1.3em}
.entry li{margin-bottom:.4em}
.entry li::marker{color:var(--airmail)}
.entry img{height:auto}
.entry blockquote:not(.bbb-quote){border-left:3px solid var(--airmail);margin-left:0;padding-left:20px;font-style:italic;color:var(--ink-soft)}
.entry hr{border:none;height:8px;background:repeating-linear-gradient(135deg,var(--airmail) 0 12px,transparent 12px 20px,var(--sky) 20px 32px,transparent 32px 40px);opacity:.6;margin-block:3em}
.entry .wp-block-image img,.entry > p > img{background:var(--white);padding:10px 10px 10px;box-shadow:var(--shadow)}
.entry-foot{max-width:720px;margin:40px auto 0;padding-top:24px;border-top:1px dashed rgba(30,43,60,.25);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.entry-foot .chip{text-decoration:none}
.entry-foot .chip:hover{color:var(--airmail)}

/* ---------------------------------------------------------------------
   LAYOUT LIBRARY — classes used in the article HTML Claude writes
   --------------------------------------------------------------------- */
.bbb-wide,.bbb-trio,.bbb-mosaic,.bbb-duo.wide{width:min(1080px,calc(100vw - 40px));margin-left:calc((100% - min(1080px,calc(100vw - 40px)))/2)}
/* Polaroid photo */
.bbb-photo{background:var(--white);padding:10px 10px 0;box-shadow:var(--shadow);position:relative;margin-block:2em;transform:rotate(-1deg);transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s}
.bbb-photo:nth-of-type(even){transform:rotate(1deg)}
.bbb-photo:hover{transform:rotate(0) scale(1.015);box-shadow:var(--shadow-lift)}
.bbb-photo img{display:block;width:100%;height:auto}
.bbb-photo figcaption{font-family:var(--f-hand);font-size:1.6rem;line-height:1.1;text-align:center;padding:10px 6px 12px;color:var(--ink)}
.bbb-photo:not(:has(figcaption)){padding-bottom:10px}
.bbb-photo::before{content:"";position:absolute;width:92px;height:26px;top:-12px;left:50%;margin-left:-46px;background:var(--tape-a);transform:rotate(-3deg);z-index:2}
.bbb-photo.tape-b::before{background:var(--tape-b)} .bbb-photo.tape-c::before{background:var(--tape-c)}
.bbb-photo.no-tape::before{display:none}
.bbb-photo.plain{padding:0;background:none;box-shadow:none;transform:none}
.bbb-photo.plain::before{display:none}
.bbb-photo.plain figcaption{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-align:left;padding-inline:0}
.bbb-wide.bbb-photo{transform:none}
/* Grids */
.bbb-duo,.bbb-trio{display:grid;gap:26px;margin-block:2.4em;align-items:start}
.bbb-duo{grid-template-columns:1fr 1fr}
.bbb-trio{grid-template-columns:repeat(3,1fr)}
.bbb-duo .bbb-photo,.bbb-trio .bbb-photo,.bbb-mosaic .bbb-photo{margin:0}
.bbb-duo .bbb-photo:nth-child(2){transform:rotate(1.5deg) translateY(18px)}
.bbb-trio .bbb-photo:nth-child(2){transform:rotate(1.2deg) translateY(22px)}
.bbb-trio .bbb-photo:nth-child(3){transform:rotate(-.8deg)}
.bbb-duo .bbb-photo:hover,.bbb-trio .bbb-photo:hover{transform:rotate(0) translateY(-4px)}
.bbb-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:16px;margin-block:2.4em}
.bbb-mosaic > *{margin:0;overflow:hidden;position:relative}
.bbb-mosaic > :first-child{grid-row:span 2}
.bbb-mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.bbb-mosaic > *:hover img{transform:scale(1.05)}
.bbb-mosaic figcaption{position:absolute;left:10px;bottom:10px;background:var(--white);font-family:var(--f-hand);font-size:1.3rem;padding:2px 10px;transform:rotate(-2deg)}
/* Photo + text */
.bbb-side{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin-block:2.6em}
.bbb-side.reverse > :first-child{order:2}
.bbb-side > div > *:last-child{margin-bottom:0}
.bbb-side .bbb-photo{margin:0}
/* Sticky-note tip */
.bbb-tip{background:#F4E3A1;padding:22px 24px 24px;box-shadow:var(--shadow);transform:rotate(-1deg);margin:2.4em 0;position:relative;font-size:1rem}
.bbb-tip::before{content:"";position:absolute;top:-8px;left:28px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#E77C6E,var(--airmail) 60%,#8C2A1F);box-shadow:0 3px 4px rgba(0,0,0,.25)}
.bbb-tip-title{font-family:var(--f-hand);font-size:1.9rem;line-height:1;display:block;margin-bottom:6px;color:var(--ink)}
.bbb-tip p:last-child{margin:0}
.bbb-tip.blue{background:#D6E4EF}.bbb-tip.pink{background:#F2D3CC}
/* Budget ticket */
.bbb-budget{background:var(--white);box-shadow:var(--shadow);margin:2.6em 0;overflow:hidden;border-radius:10px;font-size:.95rem}
.bbb-budget-head{background:var(--ink);color:var(--paper);padding:10px 20px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px}
.bbb-budget table{width:100%;border-collapse:collapse}
.bbb-budget td{padding:11px 20px;border-bottom:1px dashed rgba(30,43,60,.18)}
.bbb-budget td:last-child{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.bbb-budget tr.total td{border-bottom:none;font-weight:700;background:var(--paper-2)}
.bbb-budget tr.total td:last-child{color:var(--airmail);font-size:1.1rem}
/* Handwritten quote */
.bbb-quote{font-family:var(--f-hand);font-size:clamp(2rem,4vw,2.8rem);line-height:1.05;color:var(--sky);text-align:center;margin:1.6em auto;max-width:28ch;transform:rotate(-2deg);border:none;padding:0}
.bbb-quote cite{display:block;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-style:normal;margin-top:12px}
/* Day header */
.entry h2.bbb-day{display:flex;align-items:center;gap:16px}
.entry h2.bbb-day span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--airmail);border:2px solid var(--airmail);border-radius:50%;width:62px;height:62px;flex:none;display:grid;place-items:center;text-align:center;line-height:1.1;transform:rotate(-10deg)}
/* Checklist */
.entry ul.bbb-checklist{list-style:none;padding:0;display:grid;gap:10px}
.entry ul.bbb-checklist li{display:flex;gap:14px;align-items:baseline;border-bottom:1px dashed rgba(30,43,60,.2);padding-bottom:10px;margin:0}
.entry ul.bbb-checklist li::before{content:"✓";color:var(--airmail);font-weight:700}
.entry ul.bbb-checklist .tag{margin-left:auto;font-family:var(--f-mono);font-size:.7rem;color:var(--ink-soft);white-space:nowrap}

/* Post navigation */
.post-nav{max-width:720px;margin:48px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pn{background:var(--white);padding:18px 20px;box-shadow:var(--shadow);text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:transform .3s, box-shadow .3s}
.pn:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.pn.next{text-align:right;grid-column:2}
.pn .t{font-family:var(--f-display);font-size:1.15rem;line-height:1.2}

/* Comments */
.comments{max-width:720px;margin:64px auto 0}
.comments-title,.comment-reply-title{font-family:var(--f-display);font-weight:400;font-size:1.8rem}
.comment-list{list-style:none;padding:0}
.comment-list .comment{background:var(--white);padding:18px 20px;margin-bottom:14px;box-shadow:var(--shadow)}
.comment-list .children{list-style:none;padding-left:24px;margin-top:14px}
.comment-meta{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;color:var(--ink-soft)}
.comment-meta img{border-radius:50%;vertical-align:middle;margin-right:8px}
.comment-form label{display:block;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}
.comment-form textarea,.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url]{width:100%;border:1.5px solid rgba(30,43,60,.25);background:var(--white);padding:10px 12px;font:inherit;border-radius:6px}
.comment-form input[type=submit]{border:none;cursor:pointer}

/* Archives */
.archive-head{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding-block:56px 10px}
.archive-head:not(.has-map){grid-template-columns:1fr}
.archive-head h1{font-size:clamp(2.6rem,6vw,4.8rem);margin:12px 0 14px}
.archive-head .lede{color:var(--ink-soft);max-width:48ch;font-size:1.12rem;margin:0 0 10px}
.archive-head .note{font-size:1.8rem;color:var(--sky);display:inline-block;transform:rotate(-3deg)}
.archive-map{position:relative;transform:rotate(2deg);max-width:420px;justify-self:center;width:100%;animation:drop .9s cubic-bezier(.2,.8,.2,1) both}
.archive-map .ph{aspect-ratio:4/5}
.archive-map img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.archive-map .stamp{position:absolute;right:-18px;bottom:20px;width:100px}
.archive-map .stamp .name{font-size:1.4rem}
.cat-strip{display:flex;flex-wrap:wrap;gap:10px;padding-block:20px 0}
.cat-strip .chip{text-decoration:none;font-size:.72rem;padding:6px 14px;transition:background .2s,color .2s}
.cat-strip .chip:hover,.cat-strip .chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.grid-list{row-gap:56px}
.grid-list .story:nth-child(3n+2){transform:rotate(.8deg)}
.pagination{margin-top:56px;display:flex;justify-content:center}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pagination .page-numbers{font-family:var(--f-mono);font-size:.85rem;text-decoration:none;min-width:40px;height:40px;padding:0 12px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:999px}
.pagination .page-numbers.current,.pagination a.page-numbers:hover{background:var(--ink);color:var(--paper)}
.pagination .dots{border:none}
.empty,.lost{text-align:center;padding-block:40px;display:flex;flex-direction:column;align-items:center;gap:14px}
.empty .hand{font-size:2.6rem;color:var(--sky);margin:0}
.lost h1{font-size:clamp(2.4rem,6vw,4.6rem);margin:10px 0}
.lost .lede{color:var(--ink-soft)}
.search-form{display:flex;gap:8px;margin-top:20px}
.search-form input[type=search]{border:1.5px solid rgba(30,43,60,.3);border-radius:999px;padding:10px 16px;font:inherit;background:var(--white)}
.search-form input[type=submit]{border:none;background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 18px;font:600 .9rem var(--f-body);cursor:pointer}

@media (max-width:980px){
  .article-head,.archive-head{grid-template-columns:1fr}
  .article-cover,.archive-map{max-width:520px;width:100%;justify-self:center}
}
@media (max-width:620px){
  .bbb-duo,.bbb-trio,.bbb-side{grid-template-columns:1fr}
  .bbb-side.reverse > :first-child{order:0}
  .bbb-duo .bbb-photo:nth-child(2),.bbb-trio .bbb-photo:nth-child(2){transform:rotate(1deg)}
  .bbb-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .bbb-mosaic > :first-child{grid-column:span 2;grid-row:span 2}
  .post-nav{grid-template-columns:1fr}
  .pn.next{grid-column:1}
  .archive-map .stamp{right:-6px;width:78px}
  .entry{font-size:1.02rem}
}
