:root{--paper:#f3ead9;--paper-2:#fbf5e8;--ink:#34251a;--ink-soft:#5d4a39;--umber:#6b4f2e;--sienna:#9a4a22;--line:#8b7a66;--ochre:#c0913a;--wash:#3f5a8c;--hand:"Caveat","Segoe Print",cursive;--book:"Alegreya",Georgia,serif;--wobble:255px 18px 225px 18px/18px 225px 18px 255px;--wobble-2:18px 240px 22px 200px/210px 20px 240px 18px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .36 0 0 0 0 .27 0 0 0 0 .17 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23g)'/%3E%3C/svg%3E");color:var(--ink);font:400 1.14rem/1.62 var(--book);overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--sienna);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink);text-decoration-style:wavy}
a:focus-visible,summary:focus-visible,.flip:focus-visible+.flip-label{outline:2px dashed var(--wash);outline-offset:3px}
.jump{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper-2);padding:.5rem 1rem;z-index:9}
.jump:focus{left:8px}
h1,h2,h3{font-family:var(--book);line-height:1.14;font-weight:800;color:var(--ink);overflow-wrap:break-word}
h1{font-size:clamp(2.15rem,5.4vw,3.5rem);margin:.2em 0 .35em;letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,3vw,1.95rem);margin:1.9em 0 .5em}
h3{font-size:1.2rem;margin:0 0 .3em}
.hand{font-family:var(--hand);font-weight:600;font-size:1.42em;line-height:1.15;color:var(--umber)}

/* wire binding + masthead */
.binding{height:20px;background-image:radial-gradient(circle at 50% 12px,#2b1e14 4px,transparent 4.6px),linear-gradient(90deg,transparent 42%,#8b7a66 42%,#8b7a66 58%,transparent 58%);background-size:30px 20px,30px 12px;background-repeat:repeat-x;background-position:0 0,0 0}
.mast{max-width:1120px;margin:0 auto;padding:.7rem 20px .4rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem 1.5rem}
.sig{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}
.sig svg{width:54px;height:54px;flex:none}
.sig b{font:700 2.3rem/1 var(--hand);color:var(--umber);white-space:nowrap}
.sig:hover{color:var(--ink)}
.flip{position:absolute;opacity:0;width:44px;height:44px;right:20px;margin:0}
.flip-label{display:none;font:600 1.4rem/1 var(--hand);color:var(--umber);border:1.5px solid var(--line);border-radius:var(--wobble);padding:.45rem .9rem;cursor:pointer}
.tabs ul{list-style:none;display:flex;flex-wrap:wrap;gap:.1rem 1.25rem;margin:0;padding:0}
.tabs a{display:inline-block;padding:.3rem .1rem;font:600 1.42rem/1.1 var(--hand);color:var(--ink);text-decoration:none;background:linear-gradient(var(--line),var(--line)) 0 92%/0 1.5px no-repeat;transition:background-size .2s}
.tabs a:hover,.tabs a[aria-current]{background-size:100% 1.5px;color:var(--sienna)}

/* pencil divider */
.pencil,hr.pencil{border:0;height:9px;margin:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='9'%3E%3Cpath d='M0 5c28-3 52 2 83 0s49-3 82 0 56 2 88-1 57 3 86 1 53-2 81 0' fill='none' stroke='%238b7a66' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x}
hr.pencil{margin:2.6rem 0}

/* home spread */
.spread{max-width:1120px;margin:1rem auto 0;padding:0 20px;display:grid;grid-template-columns:1fr 1.08fr;gap:2.5rem;align-items:center}
.spread h1{font-size:clamp(2.5rem,5.6vw,4.2rem)}
.spread .lede{font-size:1.24rem;max-width:30em}
.onward{display:inline-block;font:600 1.5rem/1.1 var(--hand);padding:.5rem 1.15rem;border:2px solid var(--umber);border-radius:var(--wobble);color:var(--umber);text-decoration:none;transform:rotate(-1deg)}
.onward:hover{background:var(--umber);color:var(--paper-2)}
.taped{position:relative;margin:0;background:var(--paper-2);padding:10px 10px 8px;box-shadow:0 2px 10px rgba(52,37,26,.2);transform:rotate(1.1deg)}
.taped::before,.taped::after{content:"";position:absolute;width:88px;height:24px;background:rgba(214,190,136,.72);top:-10px;box-shadow:0 1px 2px rgba(52,37,26,.15)}
.taped::before{left:-14px;transform:rotate(-24deg)}
.taped::after{right:-14px;transform:rotate(22deg)}
.taped img{width:100%}
.credit{font-size:.84rem;line-height:1.35;color:var(--ink-soft);margin:.45rem .1rem .1rem}
.credit a{color:inherit}

/* the path */
.trail-wrap{max-width:1120px;margin:3.2rem auto 0;padding:0 20px}
.trail-head{max-width:36em}
.trail-head h2{margin:0 0 .2em;font-size:clamp(1.8rem,4vw,2.5rem)}
.trail-box{position:relative;margin-top:2rem}
.trail{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2.6rem 5.5rem}
.trail-line{position:absolute;left:50%;top:0;width:90px;height:100%;margin-left:-45px;pointer-events:none}
.stop{position:relative;background:var(--paper-2);border:1.6px solid var(--ink-soft);border-radius:var(--wobble);padding:1rem 1.15rem 1.15rem}
.stop:nth-child(even){border-radius:var(--wobble-2);transform:rotate(.7deg);margin-top:3.6rem}
.stop:nth-child(3n+1){transform:rotate(-.8deg)}
.stop:hover{box-shadow:4px 5px 0 rgba(107,79,46,.3)}
.stop img{border-radius:var(--wobble-2);width:100%}
.stop h3{font-size:1.38rem;margin:.65rem 0 .25rem}
.stop h3 a{color:var(--ink);text-decoration:none}
.stop h3 a:hover{color:var(--sienna)}
.stop p{margin:0;font-size:1.02rem;line-height:1.45}
.tagline{display:flex;align-items:center;gap:.55rem;font:600 1.3rem/1.1 var(--hand);color:var(--ink-soft)}
.daub{display:inline-block;flex:none;width:2.1em;height:1.75em;border-radius:47% 53% 62% 38%/54% 42% 58% 46%;background:radial-gradient(closest-side,color-mix(in srgb,var(--pig) 62%,#fff) 40%,var(--pig) 88%,color-mix(in srgb,var(--pig) 82%,#000) 100%);transform:rotate(-8deg)}

/* mix demo on home */
.mixbook{max-width:1120px;margin:3.6rem auto 0;padding:0 20px;display:grid;grid-template-columns:1.25fr 1fr;gap:2rem;align-items:center}
.mixbook h2{margin:0 0 .35em}
.scrap{max-width:820px;margin:3.2rem auto 0;padding:1.3rem 1.6rem;background:var(--paper-2);border:1.5px dashed var(--line);border-radius:var(--wobble);transform:rotate(-.5deg)}
.scrap p{margin:0}
.scrap .hand{display:block}
.leaf>.taped{margin:.4rem 0 2rem}
.stops{display:none}
.stops ol{list-style:none;margin:.3rem 0 0;padding:0}
.stops li{display:flex;align-items:center;gap:.5rem;margin:.45rem 0;font-size:1rem;line-height:1.2}
.stops .daub{font-size:.72rem}
.stops [aria-current]{font-weight:700}

/* article */
.leaf{max-width:1120px;margin:0 auto;padding:.4rem 20px 0;display:grid;grid-template-columns:minmax(0,41rem) minmax(0,1fr);column-gap:3rem}
.leaf>*{grid-column:1}
.trailmark{font:600 1.22rem/1.2 var(--hand);color:var(--ink-soft);margin:.5rem 0 1rem}
.trailmark a{color:inherit}
.leaf-head .tagline{margin-bottom:.1rem}
.stand{font-size:1.3rem;line-height:1.45;font-style:italic;color:var(--ink-soft);margin:.2em 0 .7em}
.dateline{font:600 1.22rem/1.2 var(--hand);color:var(--ink-soft);margin:0 0 1.5rem}
.prose p,.prose li,.prose dd{hyphens:manual}
.prose>p:first-of-type::first-letter{font-weight:800;font-size:3.4em;float:left;line-height:.82;padding:.08em .08em 0 0;color:var(--umber)}
.margin-note{font:600 1.36rem/1.2 var(--hand);color:var(--sienna);border-left:2px solid var(--ochre);padding:.2rem 0 .2rem .85rem;margin:1.5rem 0;transform:rotate(-.7deg)}
.prose .plate{margin:1.8rem 0;background:var(--paper-2);padding:.9rem 1.1rem .8rem;border-radius:var(--wobble);border:1.5px solid var(--line)}
.prose .plate figcaption,.prose figcaption{font-size:.92rem;line-height:1.4;color:var(--ink-soft);margin-top:.45rem}
.prose .taped{margin:2rem 0}
.sheet-wrap{overflow-x:auto;margin:1.2rem 0}
.ruled{border-collapse:collapse;width:100%;font-size:1.01rem;line-height:1.38}
.ruled th{font:600 1.3rem/1.1 var(--hand);color:var(--umber);text-align:left;padding:.3rem .55rem;border-bottom:2px solid var(--umber)}
.ruled td{padding:.5rem .55rem;border-bottom:1px solid var(--line);vertical-align:top}
.pencil-list{list-style:none;padding:0}
.pencil-list li{padding-left:1.5rem;margin:.55rem 0;position:relative}
.pencil-list li::before{content:"";position:absolute;left:0;top:.5em;width:.9rem;height:.6rem;border-radius:47% 53% 62% 38%/54% 42% 58% 46%;background:var(--ochre)}
.pencil-steps{counter-reset:s;list-style:none;padding:0}
.pencil-steps li{counter-increment:s;position:relative;padding-left:2.4rem;margin:.8rem 0}
.pencil-steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;font:700 1.7rem/1.2 var(--hand);color:var(--paper-2);background:var(--umber);width:1.75rem;height:1.75rem;line-height:1.7rem;text-align:center;font-size:1.25rem;border-radius:47% 53% 62% 38%/54% 42% 58% 46%}
.note-defs dt{font:700 1.45rem/1.1 var(--hand);color:var(--umber);margin-top:1rem}
.note-defs dd{margin:.1rem 0 0}
.recipe-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0}
.recipe{background:var(--paper-2);border:1.5px solid var(--line);border-radius:var(--wobble);padding:.85rem 1rem}
.recipe:nth-child(even){border-radius:var(--wobble-2)}
.recipe p{margin:0;font-size:1.01rem;line-height:1.42}
.further{margin-top:3rem;padding:1.1rem 1.25rem;background:var(--paper-2);border-radius:var(--wobble);border:1.5px solid var(--line)}
.further h2{margin:0 0 .3rem;font-size:1.3rem}
.further a{font-weight:700}
.further p{margin:0}
.lookedup{font-size:1rem;margin-top:2rem}
.lookedup h2{font:700 1.5rem/1.1 var(--hand);color:var(--umber);margin:0 0 .3rem}
.lookedup ul{margin:0;padding-left:1.1rem}

/* contents list */
.contents{list-style:none;padding:0;margin:1.5rem 0 0}
.contents li{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;padding:1.15rem 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='9'%3E%3Cpath d='M0 5c28-3 52 2 83 0s49-3 82 0 56 2 88-1 57 3 86 1 53-2 81 0' fill='none' stroke='%238b7a66' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x 0 100%}
.contents img{width:150px;height:auto;border-radius:var(--wobble-2)}
.contents h2{margin:.2rem 0 .2rem;font-size:1.42rem}
.contents h2 a{color:var(--ink);text-decoration:none}
.contents h2 a:hover{color:var(--sienna)}
.contents p{margin:.1rem 0;font-size:1.03rem;line-height:1.42}
.page{max-width:44rem;margin:0 auto;padding:.5rem 20px 0}
.colophon-list{list-style:none;padding:0;font-size:1rem}
.colophon-list li{margin:.55rem 0}

/* foot */
.foot{margin-top:4rem}
.foot-in{max-width:1120px;margin:0 auto;padding:1.3rem 20px 2.2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;align-items:baseline}
.foot-in p{margin:0;font-size:1rem}
.foot-in .sign{font:600 1.5rem/1.2 var(--hand);color:var(--umber)}
.foot-links{display:flex;flex-wrap:wrap;gap:.1rem 1rem;font:600 1.26rem/1.3 var(--hand)}
.foot-links a{color:var(--ink)}

@media (max-width:860px){
 .spread,.mixbook{grid-template-columns:1fr;gap:1.6rem}
 .trail{grid-template-columns:1fr;gap:1.6rem;padding-left:0}
 .trail-line{display:none}
 .stop,.stop:nth-child(even),.stop:nth-child(3n+1){margin-top:0;transform:none}
 .leaf{grid-template-columns:minmax(0,1fr)}
 .flip-label{display:inline-block}
 .tabs{display:none;width:100%;order:3}
 .flip:checked~.tabs{display:block}
 .tabs ul{flex-direction:column;gap:0}
 .tabs a{display:block;padding:.55rem .1rem;background:none;border-bottom:1px solid var(--line)}
 .mast{position:relative}
 .flip{top:.8rem}
 body{font-size:1.08rem}
 .recipe-cards{grid-template-columns:1fr}
 .contents li{grid-template-columns:96px 1fr;gap:.85rem}
 .contents img{width:96px}
 .sig svg{width:46px;height:46px}
 .sig b{font-size:2rem}
 .taped::before,.taped::after{width:64px;height:20px}
 .taped::before{left:-6px}.taped::after{right:-6px}
}
@media (min-width:861px){
 .stops{display:block;grid-column:2;align-self:start;max-width:16rem;padding-top:.3rem}
 .prose{display:contents}
 .prose>*{grid-column:1}
 .prose>.margin-note{grid-column:2;margin:.3rem 0 0;align-self:start;max-width:15rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.binding,.tabs,.flip,.flip-label,.foot{display:none}}
@media (min-width:861px){.prose>p,.prose>ul,.prose>ol,.prose>dl{margin-top:0;margin-bottom:1em}.prose>h2{margin-top:1.5em}}
@media (max-width:860px){.prose .plate{padding:.6rem .55rem .6rem}}
