/* Direction C: Colour Blocks. Big bold type, warm colour blocks, mixed picture sizes, pill buttons. Per-site tweak: */
:root{--ink:#1d1c1a;--paper:#fbf7ee;--mustard:#e2b13c;--teal:#2b7a74;--orange:#d2602e;--cream:#f1e6cf}
body{background:var(--paper);color:var(--ink);font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif}
h1,h2,h3{line-height:1.05;font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(30px,6vw,52px);margin:0 0 10px}
.kick{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}
.goat-lane{background:var(--mustard);height:62px}
.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding:14px 0;font-size:15px;font-weight:600}
.topbar .socials{font-weight:400;opacity:.75}
.giant{display:block;text-decoration:none;font-weight:900;font-size:clamp(46px,11.6vw,150px);line-height:.88;letter-spacing:-.045em;margin-top:6px}
.giant.small{font-size:clamp(34px,7vw,64px)}
.sub{display:inline-block;margin:12px 0 0;padding:4px 12px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
section{padding:52px 0}
/* opener: mixed sizes */
.opener{padding-top:26px}
.op-grid{display:grid;gap:18px}
.op-main{margin:0}
.op-main img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px}
.op-side{display:grid;gap:14px;align-content:start}
.op-line{margin:0;background:var(--mustard);border-radius:22px;padding:22px;font-size:clamp(24px,3.6vw,34px);font-weight:800;line-height:1.1}
.op-ff{display:block;text-decoration:none;background:var(--teal);color:#fff;border-radius:22px;overflow:hidden}
.op-ff img{width:100%}
.op-ff span{display:block;padding:12px 16px;font-weight:700}
@media (min-width:900px){.op-grid{grid-template-columns:2fr 1fr}}
/* intro: two coloured cards, not the same size */
.intro-grid{display:grid;gap:18px}
.who{border-radius:22px;padding:26px}
.who-john{background:var(--teal);color:#fff}
.who-mel{background:var(--orange);color:#fff}
.who .pic{color:#fff}
.who-john .pic svg{width:min(260px,70%)}
.who-john .pic .note{color:#fff}
.who-mel .pic svg{width:100px}
.who blockquote{margin:0 0 12px;font-size:clamp(20px,2.8vw,26px);font-weight:700;line-height:1.25}
.who blockquote p{margin:0 0 8px}
.who cite{font-size:13px;font-weight:400;opacity:.9}
.mel-line{font-size:24px;font-weight:800;line-height:1.15;margin:0 0 14px}
.who a{display:inline-block;background:#fff;color:var(--ink);text-decoration:none;font-weight:700;font-size:14px;padding:9px 16px;border-radius:999px}
@media (min-width:820px){.intro-grid{grid-template-columns:1.7fr 1fr;align-items:stretch}}
/* Story card grid (used under Clips in black FF; was Creative Life) */
.sec-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:22px}
.sec-head h2{margin:0}
.sec-head p{margin:0;flex:1 1 220px}
.pill{background:var(--ink);color:var(--paper);text-decoration:none;font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px}
.four{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
.four li:first-child{grid-column:1/-1}
.four a{text-decoration:none;display:block}
.four img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;margin-bottom:10px}
.four li:first-child img{aspect-ratio:16/9}
.four .kick{display:block;color:var(--orange)}
.four .h{display:block;font-size:19px;font-weight:800;line-height:1.15}
.four li:first-child .h{font-size:clamp(24px,3vw,32px)}
.four p{margin:6px 0 0;font-size:14px;opacity:.85}
@media (min-width:900px){.four{grid-template-columns:2fr 1fr 1fr 1fr;align-items:start}.four li:first-child{grid-column:auto}.four li:first-child img{aspect-ratio:4/3}.four li:nth-child(3) img{aspect-ratio:3/4}}
.more a{font-weight:700}
/* Finally Friday: compact black block, live-capable in-page player */
.ff{background:var(--ink);color:var(--paper);padding:36px 0}
.ff .kick{color:var(--mustard)}
.ff h2{font-size:clamp(28px,4.2vw,44px);margin:4px 0 6px}
.ff .lede{font-size:19px;font-weight:700;color:var(--mustard);margin:0 0 8px}
.ff-text>p{margin:0 0 8px;font-size:16px}
.ff .ffs{margin-top:14px}
.ff-grid{display:grid;gap:20px}
@media (min-width:900px){.ff-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:32px}}
.ffp{max-width:560px;width:100%;justify-self:center}
.ffp-live{display:flex;align-items:center;gap:12px;margin:0 0 10px;padding:10px 16px;border-radius:16px;background:var(--mustard);color:var(--ink);text-decoration:none}
.ffp-live:hover,.ffp-live:focus-visible{background:var(--paper)}
.ffp-live b{display:block;font-size:17px;line-height:1.15}
.ffp-live small{display:block;font-size:13px;font-weight:600}
.ffp-dot{flex:none;width:12px;height:12px;border-radius:50%;background:#c4302b;box-shadow:0 0 0 4px rgba(196,48,43,.25)}
.ffp-box{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#2c2a27}
.ffp-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ffp-now{margin:8px 0 4px;font-size:13px;opacity:.9}
.ffp-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:0;font-size:13px}
.ffp-links a{color:var(--paper);font-weight:700}
.ffp-links button{font:inherit;font-weight:700;padding:4px 12px;border:0;border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer}
.reels-h{margin:28px 0 10px;font-size:18px}
.ff-clips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.ff-clips a{display:block;text-decoration:none;color:var(--paper)}
.ff-clips img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 30%;border-radius:10px;margin-bottom:6px}
.ff-clips .kick{display:block;font-size:11px;margin:0}
.ff-clips .h{display:block;font-size:14px;font-weight:700;line-height:1.2}
.ff-clips a:hover .h,.ff-clips a:focus-visible .h{text-decoration:underline}
@media (min-width:900px){.ff-clips{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}
.reel{display:block;position:relative;width:160px;text-decoration:none}
.reel img{width:160px;height:256px;object-fit:cover;border-radius:16px}
.play{position:absolute;top:106px;left:58px;width:44px;height:44px;border-radius:50%;background:var(--mustard);color:var(--ink);display:flex;align-items:center;justify-content:center}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.pills a{text-decoration:none;font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px;background:var(--paper);color:var(--ink)}
.pills a:nth-child(2){background:var(--mustard)}
.pills a:nth-child(3){background:var(--teal);color:#fff}
.rt{display:block;font-size:13px;font-weight:600;margin-top:6px}
/* paintings carousel */
.paintings{background:var(--cream)}
.rail{margin-top:18px}
.slide{width:min(78vw,280px);margin:0}
.slide.paint img{width:100%;height:280px;object-fit:cover;border-radius:16px}
.slide figcaption{display:grid;gap:2px;font-size:14px;padding-top:10px}
.slide figcaption b{font-size:20px;font-weight:800}
.slide .story{opacity:.85}
.slide figcaption a{font-weight:700;color:var(--orange)}
.slide.quote{align-self:start;min-height:280px;height:auto;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:22px;border-radius:16px;background:var(--teal);color:#fff}
.slide.quote:nth-of-type(4n){background:var(--orange)}
.slide.quote p{font-size:20px;font-weight:700;line-height:1.25;margin:0}
.slide.quote cite{font-size:12px;font-style:normal;opacity:.9}
.slide.quote a{font-weight:700;font-size:13px;color:#fff;text-decoration:underline;text-underline-offset:2px;margin-top:4px}
.endcard{align-self:start;min-height:280px;height:auto;width:200px;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;text-align:center;padding:22px 16px;border-radius:16px;background:var(--ink);box-sizing:border-box}.endcard a{color:var(--paper);text-decoration:none;font-weight:800;font-size:17px;line-height:1.25}.endcard a:hover{text-decoration:underline}
.band{background:var(--mustard);padding:40px 0}
.signup h2{font-size:clamp(24px,4vw,36px)}
.signup button{background:var(--ink);color:var(--paper);border-radius:999px}
.signup input{border-radius:999px;border-color:var(--ink)}
/* library */
.library ol{list-style:none;margin:16px 0;padding:0;display:grid;gap:10px}
.library li{background:#fff;border-radius:14px;padding:14px 18px;display:grid;gap:2px}
.library li a{text-decoration:none;font-weight:800;font-size:18px;line-height:1.25}
.library li span{font-size:13px;opacity:.7}
@media (min-width:820px){.library ol{grid-template-columns:1fr 1fr}}
/* cities: tiles in our colours (not Creative Boom's) */
.lang{margin-top:22px}
.lang h3{font-size:20px;margin:0 0 10px}
.lang h3 small{font-weight:500;font-size:14px;opacity:.7;margin-left:8px}
.lang ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.lang a{display:flex;flex-direction:column;justify-content:flex-end;min-height:92px;padding:12px 14px;border-radius:14px;text-decoration:none;background:var(--teal);color:#fff}
.lang a b{font-size:19px;font-weight:800;line-height:1.1}
.lang a span{font-size:12px;opacity:.85}
.lang li:nth-child(3n+2) a{background:var(--mustard);color:var(--ink)}
.lang li:nth-child(3n) a{background:var(--orange)}
/* footer */
.foot{background:var(--ink);color:var(--paper);padding:46px 0 24px}
.foot-grid{display:grid;gap:30px}
@media (min-width:820px){.foot-grid{grid-template-columns:1.3fr 1fr}}
.foot .signup button{background:var(--mustard);color:var(--ink)}
.fname{font-size:30px;font-weight:900;letter-spacing:-.03em;margin:0}
.res{font-size:14px}
/* article page */
.is-article .crumb{font-size:13px;opacity:.7;margin-top:24px}
.is-article h1{font-size:clamp(32px,6.6vw,54px)}
.textpic{background:var(--mustard);border-radius:22px}
.textpic span{font-weight:800}
.answer{background:var(--cream);border-radius:16px}
.answer b{color:var(--orange)}
.body{font-family:Georgia,"Noto Serif",serif}
.body h2,.body h3{font-family:system-ui,sans-serif;font-weight:800}
.body h2{font-size:26px}
.author{border-color:#d8cfbd}
.cta{background:var(--teal);color:#fff;border-radius:22px}
.cta .kick{color:var(--mustard)}
.cta .btn{background:var(--mustard);color:var(--ink)}
.cta-book{display:grid;grid-template-columns:110px 1fr;gap:18px}
.cta-book img{width:110px;border-radius:8px}
.related a{background:#fff;border-radius:14px;padding:14px;font-weight:800}
@media (min-width:900px){.cities .wrap{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.cities h2,.cities .wrap>.note,.lang-en{grid-column:1/-1}}
.reel-empty{border-radius:16px;min-height:256px}
/* Melissa's goat, Direction C only (2 Oct, John): walks slowly, stops and blinks twice, walks to the grass
   in the right corner, bends its head and nibbles. CSS only; animates transform only.
   Reduced motion: standing still at the grass, head down. */
.cg-lane{position:relative}
.cg-move{position:absolute;left:-62px;right:12px;bottom:0;height:60px;transform:translateX(0)}
.cg-goat{position:absolute;right:0;bottom:0;width:62px;height:60px}
.cg-bob,.cg-head,.cg-nib{position:absolute;inset:0}
.cg-bob img,.cg-nib img{position:absolute;left:0;top:0;width:62px;height:auto;max-width:none}
.cg-leg-0{transform-origin:16.7% 76%}.cg-leg-1{transform-origin:26.6% 76%}
.cg-leg-2{transform-origin:56.3% 76%}.cg-leg-3{transform-origin:65.6% 76%}
.cg-head,.cg-nib{transform-origin:73% 25%}
.cg-head{transform:translate(1px,4px) rotate(20deg)}
.cg-lid{position:absolute;border-radius:50%;background:#b51c35;box-shadow:inset 0 -.8px 0 rgba(60,8,20,.7);transform:scaleY(0);transform-origin:50% 0}
.cg-lid-l{left:70%;top:29.6%;width:12%;height:8.2%}
.cg-lid-r{left:89.6%;top:29%;width:9.4%;height:9.2%}
.cg-grass{position:absolute;right:15px;bottom:0;z-index:3;display:block}
@media (prefers-reduced-motion:no-preference){
  .cg-move{animation:cg-walk 24s .3s 1 both}
  .cg-leg-0,.cg-leg-3{animation:cg-step .88s ease-in-out .3s 6,cg-step .92s ease-in-out 8.22s 6,cg-step .89s ease-in-out 16.38s 7}
  .cg-leg-1,.cg-leg-2{animation:cg-step2 .88s ease-in-out .3s 6,cg-step2 .92s ease-in-out 8.22s 6,cg-step2 .89s ease-in-out 16.38s 7}
  .cg-bob{animation:cg-bob .88s ease-in-out .3s 6,cg-bob .92s ease-in-out 8.22s 6,cg-bob .89s ease-in-out 16.38s 7}
  .cg-lid{animation:cg-blink 24s ease-in-out .3s 1 both,cg-blink-idle 7s ease-in-out 27s infinite}
  .cg-head{animation:cg-bend 1.8s ease-in-out 23s both}
  .cg-nib{animation:cg-nib 2.6s ease-in-out 24.9s infinite}
}
@keyframes cg-walk{
  0%{transform:translateX(-100%);animation-timing-function:cubic-bezier(.35,0,.65,1)}
  22%{transform:translateX(-64%)}
  33%{transform:translateX(-64%);animation-timing-function:cubic-bezier(.35,0,.65,1)}
  56%{transform:translateX(-30%)}
  67%{transform:translateX(-30%);animation-timing-function:cubic-bezier(.35,0,.65,1)}
  93%,100%{transform:translateX(0)}}
@keyframes cg-step{0%,100%{transform:rotate(0)}25%{transform:rotate(9deg)}75%{transform:rotate(-9deg)}}
@keyframes cg-step2{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}
@keyframes cg-bob{0%,50%,100%{transform:translateY(0)}25%,75%{transform:translateY(-1.5px)}}
@keyframes cg-blink{0%,26.6%,27.9%,61%,62.3%,100%{transform:scaleY(0)}27.1%,61.5%{transform:scaleY(1)}}
@keyframes cg-blink-idle{0%,94%,100%{transform:scaleY(0)}96%{transform:scaleY(1)}}
@keyframes cg-bend{from{transform:translate(0,0) rotate(0)}to{transform:translate(1px,4px) rotate(20deg)}}
@keyframes cg-nib{0%,100%{transform:rotate(0)}30%{transform:rotate(4deg)}45%{transform:rotate(1.5deg)}60%{transform:rotate(4deg)}80%{transform:rotate(0)}}
/* 3 Oct: keep the top menu above the big title link so menu clicks land on the menu */
.topbar{position:relative;z-index:1}

/* rail arrows — John 5 Oct teach: bigger/bolder */
.arrows button{width:52px;height:52px;border:2.5px solid currentColor;font-size:24px;font-weight:700}

.foot .legal{margin:10px 0 0;font-size:14px}.foot .legal a{text-decoration:underline;text-underline-offset:2px}

/* 0.1.32 city front page H1: the giant name plus the city on its own line */
.giant-h1{margin:0;font:inherit}.giant-city{display:block;font-weight:900;font-size:clamp(30px,6vw,72px);line-height:1;letter-spacing:-.03em;margin-top:8px}
