@font-face{font-family:"Literata";src:url("/assets/fonts/specimen/literata-var.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Literata";src:url("/assets/fonts/specimen/literata-var-italic.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:"Nanum Pen Script";src:url("/assets/fonts/specimen/nanum-pen-script-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

body.spec-kettlestitch{margin:0;background:#FAF8F2}
.spec-kettlestitch .ks-page{
  --ks-paper:#FAF8F2;--ks-ink:#141414;--ks-violet:#5B3CF0;--ks-board:#E9E4D6;--ks-card:#FFFDF7;--ks-ink-2:#4A4843;
  --ks-carbon:#3A24B8;--ks-rule:rgb(20 20 20 / .14);--ks-cork:#CDB894;
  --ks-serif:"Literata","Iowan Old Style",Georgia,serif;--ks-pen:"Nanum Pen Script","Segoe Print","Bradley Hand",cursive;
  --ks-g:clamp(16px,4vw,40px);--ks-navh:56px;
  position:relative;background:var(--ks-paper);color:var(--ks-ink);font:400 1.0625rem/1.62 var(--ks-serif);
  font-variant-numeric:oldstyle-nums proportional-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}
@media (max-height:600px){.spec-kettlestitch .ks-page{--ks-navh:48px}}
.ks-page *,.ks-page *::before,.ks-page *::after{box-sizing:border-box}
.ks-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ks-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
.ks-page a{color:var(--ks-violet);text-decoration:underline 1px;text-underline-offset:.3em}
.ks-page a:hover{text-decoration-thickness:2px}
.ks-page :focus-visible{outline:2px solid var(--ks-violet);outline-offset:3px}
.ks-page cite{font-style:italic}
.ks-pen{font-family:var(--ks-pen);font-size:clamp(1.5rem,1.25rem + .6vw,1.875rem);line-height:1.08;font-weight:400;font-variant-numeric:normal}
.ks-page h1,.ks-page h2,.ks-page h3{margin:0;font-weight:400}

/* nav */
.ks-nav{position:sticky;top:var(--bar-h,40px);z-index:50;height:var(--ks-navh);display:flex;align-items:center;gap:clamp(12px,2.4vw,32px);padding:0 0 0 var(--ks-g);background:var(--ks-paper);border-bottom:1px solid var(--ks-rule)}
.ks-brand{display:flex;align-items:center;gap:10px;color:var(--ks-ink)!important;text-decoration:none!important;font-weight:560;font-size:1.0625rem;letter-spacing:.005em;white-space:nowrap}
.ks-mark{display:block;flex:none}
.ks-navlinks{display:flex;gap:clamp(14px,2.2vw,34px);margin:0 auto;padding:0;list-style:none}
.ks-navlinks a,.ks-menu a{color:var(--ks-ink);text-decoration:none;font-size:.9375rem;font-weight:430}
.ks-navlinks a:hover,.ks-menu a:hover{color:var(--ks-violet);text-decoration:underline 1px;text-underline-offset:.3em}
.ks-menu{display:none;position:relative;margin-left:auto}
.ks-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:4px;min-height:44px;padding:0 6px;font-size:.9375rem;font-weight:480}
.ks-menu summary::-webkit-details-marker{display:none}
.ks-menu[open] summary svg{transform:rotate(180deg)}
.ks-menu ul{position:absolute;right:0;top:calc(100% + 6px);margin:0;padding:10px 0;list-style:none;min-width:210px;background:var(--ks-card);border:1px solid rgb(20 20 20/.9);border-radius:2px;box-shadow:0 1px 10px rgb(20 20 20/.12)}
.ks-menu li a{display:block;padding:10px 18px}
.ks-tab{align-self:flex-start;position:relative;display:flex;align-items:center;height:calc(var(--ks-navh) + 14px);padding:0 22px 10px;margin-right:clamp(12px,3vw,56px);background:var(--ks-violet);color:#fff!important;text-decoration:none!important;font-size:.9375rem;font-weight:520;letter-spacing:.01em;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 11px),0 100%);white-space:nowrap}
.ks-tab:hover{background:#4B2DE0}
.ks-tab-s{display:none}
@media (max-width:899px){.ks-navlinks{display:none}.ks-menu{display:block}.ks-tab{margin-right:var(--ks-g)}}
@media (max-width:420px){.ks-brand span{display:none}.ks-tab{padding:0 16px 10px}.ks-tab-l{display:none}.ks-tab-s{display:inline}}
@media (max-width:360px){.ks-nav{gap:6px}}

/* the page ribbon */
.ks-ribbon{display:none}
@media (min-width:1024px){
  .ks-ribbon{display:block;position:absolute;z-index:6;right:20px;width:12px;top:calc(var(--ks-navh) + 8px);bottom:24vh;background:linear-gradient(90deg,#4B2FD6,var(--ks-violet) 30%,#6E52F4 55%,var(--ks-violet) 80%,#4B2FD6);clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 14px),0 100%);pointer-events:none}
}

/* hero: the front wall */
.ks-hero{position:relative;overflow:clip}
.ks-wall{position:relative;height:clamp(560px,calc(100svh - var(--bar-h,40px) - var(--ks-navh)),980px);overflow:clip;background:#E9E3D2;outline-offset:-4px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ks-wall:active{cursor:grabbing}
.ks-poster,.ks-poster img{position:absolute;inset:0;width:100%;height:100%;display:block}
.ks-poster img{object-fit:cover;object-position:18% 50%}
.ks-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0}
.ks-live .ks-canvas{opacity:1}
.ks-live .ks-poster{visibility:hidden}
.ks-proxy{position:absolute;left:0;top:0;width:1px;height:1px;anchor-name:--ks-pulled;pointer-events:none}

.ks-enamel{display:inline-flex;align-items:center;gap:.5em;position:relative;padding:7px 20px 6px;background:var(--ks-card);color:var(--ks-ink);border:1.5px solid var(--ks-ink);border-radius:4px;box-shadow:inset 0 0 0 2px var(--ks-card),inset 0 0 0 3px var(--ks-violet),0 2px 3px rgb(20 20 20/.18);font:640 .8125rem/1 var(--ks-serif);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-style:normal;font-variant-numeric:lining-nums}
.ks-enamel::before,.ks-enamel::after{content:"";position:absolute;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:linear-gradient(135deg,transparent 42%,#141414 42% 58%,transparent 58%),radial-gradient(circle,#D8D2C2 55%,#8D877A 60%)}
.ks-enamel::before{left:6px}.ks-enamel::after{right:6px}
.ks-dot{color:var(--ks-violet)}
.ks-name{position:absolute;z-index:8;margin:0;left:40px;top:var(--ks-lip0,calc(100% - 58px));transform:translateY(-3px)}
.ks-wall:not(.ks-ready) .ks-name{top:auto;bottom:22px;transform:none}

.ks-clip{position:absolute;left:26px;top:-17px;width:40px;height:30px;filter:drop-shadow(0 1px 1px rgb(20 20 20/.3))}

.ks-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,35%);column-gap:clamp(28px,4vw,72px);align-items:end;padding:clamp(24px,4vh,52px) var(--ks-g) clamp(18px,2.6vh,30px)}
.ks-head h1{margin:0;font:380 clamp(2.5rem,.9rem + 4.6vw,6.5rem)/.98 var(--ks-serif);letter-spacing:-.022em;font-optical-sizing:auto}
.ks-head h1 .ks-h1a,.ks-head h1 em{display:block;text-wrap:balance}
.ks-head h1 em{font-style:italic;font-weight:360;padding-left:.5em}
.ks-aside{padding-bottom:.35em}
.ks-hint-arrow{display:inline-block;vertical-align:-18px;margin-left:8px;width:34px;height:40px;color:var(--ks-violet)}
.ks-sub{margin:0 0 14px;font-size:1.0625rem;line-height:1.5;color:var(--ks-ink-2)}
.ks-sub-s{display:none}
.ks-hint{margin:0 0 18px;color:var(--ks-ink-2);font-size:1.625rem;text-wrap:balance}
.ks-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin:0}
.ks-btn{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;background:var(--ks-violet);color:#fff!important;text-decoration:none!important;border:0;border-radius:2px;font:500 1rem/1 var(--ks-serif);cursor:pointer}
.ks-btn:hover{background:#4B2DE0}
.ks-link{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}

/* the pulled book's shelf-talker */
.ks-pulled{position:absolute;z-index:9;margin:0;font-family:var(--ks-serif);width:min(340px,26vw);padding:26px 24px 18px;background:var(--ks-card);border:1px solid rgb(20 20 20/.9);border-radius:2px;box-shadow:0 1px 10px rgb(20 20 20/.14),0 18px 30px -18px rgb(20 20 20/.4);cursor:auto;transform:rotate(.6deg);transform-origin:30px 0;transition:transform .5s cubic-bezier(.3,1.6,.5,1),opacity .2s}
.ks-pulled[hidden]{display:none}
@starting-style{.ks-pulled{transform:rotate(3deg);opacity:0}}
.ks-pulled p{margin:0}
.ks-t-shelf{font:480 .8125rem/1.3 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.06em;color:var(--ks-ink-2);font-size:.9375rem}
.ks-t-title{font:italic 460 clamp(1.125rem,1rem + .4vw,1.375rem)/1.2 var(--ks-serif);margin:4px 0 2px!important}
.ks-t-by{font-size:.9375rem;color:var(--ks-ink-2);margin-bottom:12px!important}
.ks-t-note{color:var(--ks-ink)}
.ks-t-note{font-size:clamp(1.5rem,1.3rem + .4vw,1.75rem)}
.ks-t-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.ks-t-sign{color:var(--ks-violet);white-space:nowrap}
.ks-putback{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 4px;background:none;border:0;border-bottom:1px solid var(--ks-rule);color:var(--ks-ink);font:450 .9375rem/1 var(--ks-serif);cursor:pointer}
.ks-putback:hover{color:var(--ks-violet);border-color:currentColor}
@supports (anchor-name:--a){
  .ks-pulled{position-anchor:--ks-pulled;position-area:right center;margin-inline-start:26px;position-try-fallbacks:flip-inline,--ks-below}
}
@position-try --ks-below{position-area:bottom center;margin:14px 0 0;width:min(calc(100vw - 32px),380px)}
@supports not (anchor-name:--a){.ks-pulled{left:37%;top:28%}}

/* the list of wall picks: hidden while the wall is live, cards on a paper band otherwise */
.ks-wp-wrap{position:relative;z-index:7;margin-top:-34px;padding:20px 0 26px;background:var(--ks-paper);border-top:1px solid var(--ks-ink);box-shadow:0 -6px 12px -8px rgb(20 20 20/.2)}
.ks-wp-head{margin:0 var(--ks-g) 12px;font:480 .9375rem/1 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.06em;color:var(--ks-ink-2)}
.ks-wall-picks{display:flex;gap:16px;margin:0;padding:10px var(--ks-g) 18px;list-style:none;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
.ks-wall-picks li{flex:none;width:250px;scroll-snap-align:start;padding:18px 18px 14px;background:var(--ks-card);border:1px solid rgb(20 20 20/.9);border-radius:2px;box-shadow:0 1px 10px rgb(20 20 20/.1)}
.ks-wall-picks li:nth-child(odd){transform:rotate(-.6deg)}.ks-wall-picks li:nth-child(even){transform:rotate(.5deg)}
.ks-wp{display:block;width:100%;padding:0;background:none;border:0;text-align:left;color:var(--ks-ink);font:inherit;cursor:pointer}
.ks-wp-s{display:block;font:480 .9375rem/1.3 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.06em;color:var(--ks-ink-2)}
.ks-wp-t{display:block;font:italic 460 1.1875rem/1.2 var(--ks-serif);margin:2px 0}
.ks-wp-a{display:block;font-size:.9375rem;color:var(--ks-ink-2)}
.ks-wp-n{margin:10px 0 0;font-size:1.5rem}
.ks-live .ks-wp-wrap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0;padding:0}
.ks-board-hero{display:none}

/* hero layouts: the headline on the page, the wall below it as an inset window */
.ks-wall{margin:0 var(--ks-g)}
@media (min-width:1024px) and (max-width:1280px),(min-width:1024px) and (max-height:820px){.ks-sub-l{display:none}.ks-sub-s{display:inline}}
@media (min-width:1024px){
  .ks-hero{display:flex;flex-direction:column;min-height:calc(100svh - var(--bar-h,40px) - var(--ks-navh))}
  .ks-head{padding-right:calc(var(--ks-g) + 16px)}
  .ks-wall{flex:1 0 auto;height:auto;min-height:380px;max-height:860px;margin-right:calc(var(--ks-g) + 16px)}
}
@media (min-width:1024px) and (max-height:820px){.ks-head h1{font-size:clamp(2.5rem,.4rem + 4.2vw,4.75rem)}.ks-hint{margin-bottom:10px}}
@media (max-width:1180px){.ks-pulled{width:min(330px,38vw)}}
@media (max-width:1023px){
  .ks-name,.ks-wall:not(.ks-ready) .ks-name{left:var(--ks-g);top:var(--ks-lip3,14px);bottom:auto}
  .ks-wall{height:min(64svh,620px)}
  .ks-wp-wrap{margin-top:28px}
}
@media (min-width:701px) and (max-width:1023px){
  .ks-head{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .ks-head h1{font-size:clamp(2.5rem,.6rem + 5.4vw,4.25rem)}
  .ks-head h1 em{padding-left:0}
}
@media (max-width:700px){
  .ks-hero{display:flex;flex-direction:column}
  .ks-head{display:contents}
  .ks-head h1{order:1;padding:26px var(--ks-g) 18px;font-size:clamp(2.35rem,1.2rem + 5.6vw,3rem)}
  .ks-head h1 em{padding-left:0}
  .ks-wall{order:2;height:58svh;min-height:360px;margin:0}
  .ks-aside{order:3;padding:22px var(--ks-g) 0}
  .ks-wp-wrap{order:4}
  .ks-live .ks-aside{padding-bottom:clamp(40px,6vw,72px)}
  .ks-sub{font-size:1rem}
  .ks-pulled{width:min(calc(100vw - 32px),380px);padding:20px 18px 6px;transform:rotate(-.4deg)}
  .ks-t-shelf{display:none}.ks-t-by{margin-bottom:6px!important}.ks-t-note{font-size:1.5rem}
  @supports (anchor-name:--a){.ks-pulled{position-area:bottom center;margin:14px 0 0;position-try-fallbacks:none}}
  @supports not (anchor-name:--a){.ks-pulled{left:16px;right:16px;top:auto;bottom:10px;width:auto}}
  .ks-wall-picks li{width:230px}
}
@media (max-width:700px) and (max-height:600px){
  .ks-wall{height:max(300px,56svh);min-height:0}
  .ks-head h1{font-size:2.1rem}
  .ks-sub-l,.ks-hint{display:none}.ks-sub-s{display:inline}
  .ks-t-shelf,.ks-t-by{display:none}
  .ks-t-note{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  @supports (anchor-name:--a){.ks-pulled{position-area:none;position-anchor:auto;left:12px;right:12px;bottom:8px;top:auto;margin:0;width:auto}}
}

/* sections: the shelves */
.ks-sec{position:relative;padding-top:clamp(72px,10vw,160px);overflow:clip}
.ks-in{max-width:1360px;margin:0 auto;padding:0 var(--ks-g)}
.ks-sec h2{margin:0 0 28px}
.ks-sec h2 .ks-enamel{position:absolute;left:max(var(--ks-g),calc((100% - 1360px) / 2 + var(--ks-g)));bottom:-9px;z-index:3}
.ks-hl{position:relative;display:block;font:italic 330 clamp(2rem,1.2rem + 3vw,4rem)/1.04 var(--ks-serif);letter-spacing:-.012em;max-width:19ch;text-wrap:balance;transform-origin:0 100%}
.ks-lede{max-width:44ch;margin:0 0 40px;font-size:clamp(1.125rem,1rem + .5vw,1.375rem);line-height:1.45}
.ks-body{max-width:62ch;margin:0}
.ks-sign{color:var(--ks-violet);white-space:nowrap}
.ks-board{position:relative;z-index:2;height:15px;margin-top:48px;background:var(--ks-board);box-shadow:0 6px 6px -2px rgb(20 20 20/.08)}
.ks-board::before,.ks-shelfboard::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--ks-ink);transform-origin:0 0}
.ks-textbtn{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;border:0;color:var(--ks-violet);font:400 1rem/1 var(--ks-serif);text-decoration:underline 1px;text-underline-offset:.3em;cursor:pointer}
.ks-textbtn:hover{text-decoration-thickness:2px}
.ks-card,.ks-talker{background:var(--ks-card);border:1px solid rgb(20 20 20/.9);border-radius:2px;box-shadow:0 1px 10px rgb(20 20 20/.1)}

/* the spine turn and the lip lines, where scroll timelines exist */
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .ks-hl{animation:ks-spine linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
    .ks-hl::before{content:"";position:absolute;left:-.42em;top:.08em;bottom:.08em;width:.3em;background:var(--ks-violet);border-radius:1px;animation:ks-cloth linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
    .ks-order .ks-hl::before{background:#fff}
    .ks-board::before,.ks-shelfboard::before{animation:ks-lip linear both;animation-timeline:view();animation-range:entry 0% cover 25%}
  }
}
@keyframes ks-spine{from{transform:rotate(90deg) scale(.28);font-variation-settings:"wght" 720}to{transform:none;font-variation-settings:"wght" 330}}
@keyframes ks-cloth{from{opacity:1}60%{opacity:.6}to{opacity:0}}
@keyframes ks-lip{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* new this week: the day book */
.ks-new-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,24px)}
.ks-new .ks-lede{grid-column:1 / span 7}
.ks-daybook{grid-column:2 / span 10;position:relative;padding:22px clamp(18px,3vw,40px) 30px clamp(26px,4vw,56px);background:var(--ks-card);border:1px solid var(--ks-rule);box-shadow:0 1px 2px rgb(20 20 20/.06),0 24px 40px -30px rgb(20 20 20/.4);background-image:linear-gradient(90deg,rgb(20 20 20/.1),rgb(20 20 20/0) 22px)}
.ks-db-head,.ks-ledger li{display:grid;grid-template-columns:62px minmax(0,1fr) 110px 300px;column-gap:28px;align-items:baseline}
.ks-db-head{margin:0;padding:0 0 10px;border-bottom:1.5px solid var(--ks-ink);font:480 .9375rem/1 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.06em;color:var(--ks-ink-2)}
.ks-db-head span:last-child,.ks-l-note{padding-left:16px}
.ks-ledger{list-style:none;margin:0;padding:0;background:linear-gradient(var(--ks-violet),var(--ks-violet)) no-repeat calc(100% - 313px) 0 / 1.5px 100%}
.ks-db-head{background:linear-gradient(var(--ks-violet),var(--ks-violet)) no-repeat calc(100% - 313px) 0 / 1.5px 100%}
.ks-ledger li{padding:14px 0 12px;border-bottom:1px solid rgb(20 20 20/.12)}
.ks-l-day,.ks-l-shelf{font:480 1rem/1.45 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.05em;color:var(--ks-ink-2)}
.ks-l-book cite{font:italic 460 clamp(1.125rem,1rem + .4vw,1.375rem)/1.2 var(--ks-serif);margin-right:.35em}
.ks-l-by{color:var(--ks-ink-2);white-space:nowrap}
.ks-l-note{color:#2F2D2A;line-height:1}
.ks-l-note s{text-decoration-thickness:2px;color:var(--ks-ink-2)}
.ks-l-fix{display:block}
@media (max-width:1180px){.ks-new .ks-lede,.ks-daybook{grid-column:1 / -1}.ks-db-head,.ks-ledger li{grid-template-columns:56px minmax(0,1fr) 96px 250px;column-gap:20px}.ks-ledger,.ks-db-head{background-position:calc(100% - 259px) 0}}
@media (max-width:760px){
  .ks-daybook{padding:16px 16px 20px 24px}
  .ks-db-head{display:none}
  .ks-ledger{background:none;border-top:1.5px solid var(--ks-ink)}
  .ks-ledger li{grid-template-columns:44px minmax(0,1fr);row-gap:4px;column-gap:12px}
  .ks-l-shelf{grid-column:2}
  .ks-l-note{grid-column:2;border-left:1.5px solid var(--ks-violet);padding-left:12px;margin-top:4px}
}

/* our picks: two boards, face-out covers, anchored shelf-talkers */
.ks-page .ks-whose{margin:56px 0 12px}
.ks-whose .ks-pen{color:var(--ks-ink-2);font-size:clamp(1.625rem,1.3rem + .6vw,2rem)}
.ks-picks .ks-lede{margin-bottom:8px}
.ks-picks-list{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px clamp(12px,2vw,24px);align-items:end}
.ks-pick{--cw:180px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ks-cover{position:relative;display:flex;flex-direction:column;width:var(--cw);aspect-ratio:2/3;padding:22px 16px 0;border:0;border-radius:1px 3px 3px 1px;text-align:left;font:inherit;cursor:pointer;box-shadow:inset 7px 0 6px -5px rgb(0 0 0/.35),inset -1px 0 0 rgb(255 255 255/.12),0 1px 0 rgb(20 20 20/.2),6px 10px 16px -10px rgb(20 20 20/.55);background-image:repeating-linear-gradient(0deg,rgb(255 255 255/.035) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgb(0 0 0/.04) 0 1px,transparent 1px 3px);transition:transform .42s linear(0,.3 12%,.72 28%,1.04 48%,1.02 62%,1 100%)}
.ks-cover cite{font:italic 460 clamp(1.125rem,1rem + .4vw,1.3rem)/1.18 var(--ks-serif);text-wrap:balance}
.ks-c-rule{display:block;width:34px;height:1px;margin:14px 0 10px;background:currentColor;opacity:.7}
.ks-c-by{font:480 .9375rem/1.3 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.07em}
.ks-fleuron{display:block;margin:auto 0 52px;opacity:.75}
.ks-this{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:center;padding:7px 8px 6px;background:var(--ks-card);color:var(--ks-ink);border:1px solid var(--ks-ink);border-radius:2px;font:480 .9375rem/1 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.06em}
.ks-cover:hover .ks-this,.ks-cover:focus-visible .ks-this{border-color:var(--ks-violet);color:var(--ks-violet)}
.ks-cover[aria-pressed="true"] .ks-this{background:var(--ks-violet);border-color:var(--ks-violet);color:#fff}
.ks-cover:hover,.ks-cover:focus-visible{transform:translateY(-6px)}
.ks-c-charcoal{background-color:#2B2B2E;color:#E9E4D6}
.ks-c-blue{background-color:#7D8FA3;color:#141414}
.ks-c-biscuit{background-color:#C9A67A;color:#141414}
.ks-c-ochre{background-color:#B98B35;color:#141414}
.ks-c-teal{background-color:#4F7471;color:#F1ECDD}
.ks-c-sage{background-color:#8C9A7E;color:#141414}
.ks-c-bone{background-color:#E6DFCC;color:#141414}
.ks-c-slate{background-color:#4E5661;color:#F1ECDD}
.ks-c-madder{background-color:#8E3B34;color:#F1ECDD}
.ks-c-violet{background-color:#5B3CF0;color:#fff}
.ks-pick .ks-talker{margin:0;width:100%;max-width:300px;padding:16px 16px 12px;font-size:clamp(1.5rem,1.3rem + .35vw,1.75rem);line-height:1.02;transform:rotate(-1.5deg);transition:transform .42s linear(0,.3 12%,.72 28%,1.04 48%,1.02 62%,1 100%),box-shadow .42s;z-index:1}
.ks-pick:nth-child(2) .ks-talker{transform:rotate(1.2deg)}
.ks-pick:hover .ks-talker,.ks-pick:focus-within .ks-talker{transform:rotate(0) translateY(-3px);box-shadow:0 2px 6px rgb(20 20 20/.12),0 22px 30px -16px rgb(20 20 20/.45);z-index:4}
.ks-talker .ks-sign{display:inline-block}
.ks-shelfboard{position:relative;height:15px;margin-top:0;background:var(--ks-board);box-shadow:0 7px 7px -3px rgb(20 20 20/.12)}
@supports (anchor-name:--a) and (anchor-scope:all){
  .ks-pick{anchor-scope:--ks-cover;padding-right:calc(100% - var(--cw));display:block}
  .ks-cover{anchor-name:--ks-cover}
  .ks-pick .ks-talker{position:absolute;position-anchor:--ks-cover;left:anchor(right);top:anchor(top);width:min(220px,calc(100% / 3 - var(--cw) - 40px));margin:34px 0 0 16px;position-try-fallbacks:flip-inline}
}
@media (max-width:1180px){.ks-picks-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ks-pick{--cw:170px}
  @supports (anchor-name:--a) and (anchor-scope:all){.ks-pick .ks-talker{width:min(240px,calc(50% - var(--cw) - 40px))}}}
@media (max-width:700px){.ks-picks-list{grid-template-columns:1fr;gap:44px}.ks-pick{--cw:42vw}
  .ks-cover{padding:16px 12px 0}.ks-cover cite{font-size:1.0625rem}.ks-c-rule{margin:10px 0 8px}.ks-c-by{font-size:.875rem}
  @supports (anchor-name:--a) and (anchor-scope:all){.ks-pick .ks-talker{width:calc(100% - var(--cw) - 16px);margin:8px 0 0 14px;font-size:1.5rem;padding:12px 12px 10px}}}
@media (max-width:370px){
  .ks-pick{padding-right:0!important;display:flex!important}
  .ks-pick .ks-talker{position:static!important;width:100%!important;margin:12px 0 0!important}
}

/* your book */
.ks-yours-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,24px);align-items:center}
.ks-blotter{grid-column:1 / span 5;position:relative;display:flex;align-items:flex-start;min-height:420px;padding:48px 28px 40px 44px;background:var(--ks-board);border-radius:2px;box-shadow:inset 0 0 0 1px rgb(20 20 20/.06)}
.ks-blotter::before,.ks-blotter::after{content:"";position:absolute;width:64px;height:64px;background:#141414}
.ks-blotter::before{left:0;top:0;clip-path:polygon(0 0,100% 0,0 100%)}
.ks-blotter::after{right:0;bottom:0;clip-path:polygon(100% 0,100% 100%,0 100%)}
.ks-yb{position:relative;z-index:1;display:flex;flex-direction:column;flex:none;width:200px;aspect-ratio:2/3;margin:0;padding:24px 18px 0;border-radius:1px 3px 3px 1px;transform:rotate(-5deg);box-shadow:inset 7px 0 6px -5px rgb(0 0 0/.35),10px 16px 22px -12px rgb(20 20 20/.55);background-image:repeating-linear-gradient(0deg,rgb(255 255 255/.035) 0 1px,transparent 1px 3px)}
.ks-yb cite{font:italic 460 1.375rem/1.18 var(--ks-serif);text-wrap:balance}
.ks-yours-card{position:relative;z-index:2;flex:1;min-width:0;margin:70px 0 0 -18px;padding:26px 20px 14px;background:var(--ks-card);border:1px solid rgb(20 20 20/.9);border-radius:2px;box-shadow:0 1px 10px rgb(20 20 20/.14);transform:rotate(1.4deg)}
.ks-yours-card p{margin:0}
.ks-your-note{font-size:clamp(1.5rem,1.3rem + .35vw,1.75rem);line-height:1.04}
.ks-your-by{text-align:right;margin-top:6px!important}
.ks-yours-text{grid-column:7 / span 6}
.ks-yours-text p{max-width:46ch}
.ks-yours-lede{margin-bottom:18px}
.ks-yours-lede cite{font-weight:460}
.ks-yours-text .ks-cta{margin-top:28px}
@media (max-width:1180px){.ks-blotter{grid-column:1 / span 7}.ks-yours-text{grid-column:8 / span 5}}
@media (max-width:1023px){.ks-blotter,.ks-yours-text{grid-column:1 / -1}.ks-blotter{max-width:620px;margin-bottom:40px}}
@media (max-width:520px){.ks-blotter{flex-direction:column;align-items:center;padding:36px 18px 28px;min-height:0}.ks-yb{width:50%}.ks-yours-card{margin:-24px 0 0;width:100%}}

/* evenings */
.ks-photo{margin:0;position:relative}
.ks-photo img{display:block;width:100%;height:auto}
.ks-photo figcaption{margin-top:10px;color:var(--ks-ink-2);font-size:clamp(1.5rem,1.3rem + .4vw,1.875rem)}
.ks-backroom img{aspect-ratio:16/9;max-height:720px;object-fit:cover}
.ks-backroom figcaption{position:absolute;right:clamp(12px,3vw,40px);top:clamp(12px,3vw,40px);margin:0;padding:8px 16px 6px;background:var(--ks-card);color:var(--ks-ink);border-radius:2px;transform:rotate(1.5deg);box-shadow:0 2px 8px rgb(20 20 20/.25)}
.ks-cork{position:relative;z-index:2;list-style:none;margin:-96px 4% 0;padding:26px 24px 30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;background-color:var(--ks-cork);background-image:radial-gradient(rgb(90 62 30/.22) 1px,transparent 1.4px),radial-gradient(rgb(255 250 235/.25) 1px,transparent 1.4px);background-size:7px 9px,11px 7px;background-position:0 0,3px 4px;border:1px solid rgb(20 20 20/.35);box-shadow:inset 0 0 0 5px #B99E74,0 18px 34px -22px rgb(20 20 20/.6)}
.ks-cork li{position:relative;padding:22px 18px 18px;background:var(--ks-card);border-radius:1px;box-shadow:0 2px 5px rgb(20 20 20/.2);background-image:linear-gradient(transparent 2.6em,rgb(91 60 240/.0) 2.6em);}
.ks-cork li::before{content:"";position:absolute;left:50%;top:8px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#6a6a6a,#141414 60%);box-shadow:1px 2px 2px rgb(20 20 20/.4)}
.ks-cork li:nth-child(1){transform:rotate(-2deg)}.ks-cork li:nth-child(2){transform:rotate(1.2deg)}.ks-cork li:nth-child(3){transform:rotate(-.8deg)}.ks-cork li:nth-child(4){transform:rotate(2deg)}
.ks-cork h3{font:italic 460 1.3rem/1.15 var(--ks-serif);margin:4px 0 8px;padding-bottom:8px;border-bottom:1px solid rgb(20 20 20/.2)}
.ks-cork p{margin:0;font-size:1rem;line-height:1.5}
.ks-ev-foot{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,24px);margin-top:48px;align-items:start}
.ks-ev-foot .ks-body{grid-column:1 / span 7;font-size:clamp(1.0625rem,1rem + .3vw,1.25rem)}
.ks-ev-note{grid-column:9 / span 4;margin:0;color:var(--ks-ink-2)}
@media (max-width:1023px){.ks-cork{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:-64px}.ks-ev-foot .ks-body,.ks-ev-note{grid-column:1 / -1}.ks-ev-note{margin-top:18px}}
@media (max-width:700px){
  .ks-backroom img{aspect-ratio:3/4;max-height:none}
  .ks-cork{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:-48px 0 0;padding:24px 16px 26px;gap:16px;scrollbar-width:thin}
  .ks-cork li{flex:none;width:min(240px,72vw);scroll-snap-align:start}
}

/* special orders: the violet field and the life of a slip */
.ks-order{background:var(--ks-violet);color:#fff;overflow:clip}
.ks-order a{color:#fff}
.ks-order :focus-visible{outline-color:#fff}
.ks-order h2 .ks-enamel{position:relative;left:auto;bottom:auto;margin-bottom:22px}
.ks-order .ks-hl{max-width:16ch}
.ks-order .ks-lede{max-width:34ch}
.ks-order-note{margin:0;color:#fff;font-size:clamp(1.625rem,1.3rem + .6vw,2rem)}
.ks-slip{--cwid:250px;--chei:370px;list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px}
.ks-copy{position:relative;display:flex;flex-direction:column;min-height:var(--chei);padding:16px 18px 18px;background:#FFFDF7;color:var(--ks-carbon);border-radius:2px;box-shadow:0 1px 2px rgb(10 0 60/.3),0 22px 34px -20px rgb(10 0 60/.7)}
.ks-copy-b{background:#F4EFE3}.ks-copy-c{background:#EDE7D8}.ks-copy-d{background:#FAF8F2}
.ks-copy p{margin:0}
.ks-cp-top{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:8px;margin-bottom:6px!important;border-bottom:1.5px solid var(--ks-violet)}
.ks-cp-shop{font:640 .6875rem/1 var(--ks-serif);letter-spacing:.1em;text-transform:uppercase;color:var(--ks-violet)}
.ks-cp-k{font:italic 460 1.15rem/1 var(--ks-serif);color:var(--ks-ink)}
.ks-cp-f{display:flex;align-items:baseline;gap:8px;padding:6px 0 3px;border-bottom:1px solid rgb(20 20 20/.18)}
.ks-cp-l{flex:none;width:3.7em;font:480 .875rem/1 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.06em;color:var(--ks-ink-2)}
.ks-cp-pen{font-family:var(--ks-pen);font-size:1.5rem;line-height:1.05;color:var(--ks-carbon)}
.ks-cp-f .ks-cp-pen{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ks-cp-write{display:inline-block}
.ks-carb{filter:url(#ks-carbon)}
.ks-copy .ks-cp-note{margin:14px 0 auto!important;font-size:1.625rem;padding-right:6px}
.ks-cp-boxes{display:grid;grid-template-columns:repeat(2,auto);gap:4px 10px;justify-content:start;margin-top:16px!important;font:480 .875rem/1 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.05em;color:var(--ks-ink-2)}
.ks-cp-boxes span{position:relative;padding-left:22px;line-height:18px}
.ks-cp-boxes span::before{content:"";position:absolute;left:0;top:1px;width:14px;height:14px;border:1px solid var(--ks-ink-2);border-radius:1px}
.ks-cp-boxes .ks-on::after{content:"";position:absolute;left:4px;top:-2px;width:6px;height:13px;border:solid var(--ks-carbon);border-width:0 2.5px 2.5px 0;transform:rotate(40deg)}
.ks-stamp{position:absolute;right:54px;bottom:66px;display:grid;place-items:center;align-content:center;width:98px;height:98px;border:2.5px solid var(--ks-carbon);border-radius:50%;box-shadow:inset 0 0 0 4px #EDE7D8,inset 0 0 0 5px var(--ks-carbon);color:var(--ks-carbon);transform:rotate(-14deg);opacity:.92;font-variant-numeric:lining-nums tabular-nums;text-align:center}
.ks-stamp-k{font:640 .625rem/1.2 var(--ks-serif);letter-spacing:.16em;text-transform:uppercase}
.ks-stamp-d{font:700 1.25rem/1.1 var(--ks-serif);letter-spacing:.02em;text-transform:uppercase;margin:2px 0}
.ks-copy-d{padding-bottom:78px}
.ks-stub{position:absolute;left:0;right:0;bottom:0;height:62px;display:flex;justify-content:space-between;align-items:center;padding:6px 18px 0;background:#FAF8F2;border-top:2px dashed rgb(20 20 20/.35);border-radius:0 0 2px 2px;clip-path:polygon(0 0,4% 5%,9% 0,15% 6%,21% 1%,28% 5%,34% 0,41% 6%,47% 1%,54% 5%,60% 0,67% 6%,73% 1%,80% 5%,86% 0,93% 6%,100% 1%,100% 100%,0 100%);transform:translateY(24px) rotate(1.5deg);transform-origin:100% 0;box-shadow:0 10px 16px -10px rgb(10 0 60/.6)}
.ks-stub span:first-child{font:640 .75rem/1 var(--ks-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--ks-violet)}
.ks-swatch{display:none;width:60px;height:36px;margin-top:10px;border:1px solid rgb(20 20 20/.3);border-radius:1px}
.ks-has-sheet .ks-swatch{display:block}

/* the sticky deal, on wide screens with scroll timelines */
@media (min-width:1181px) and (min-height:700px){
  .ks-stick{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
  .ks-order-text{grid-column:1 / span 4}
  .ks-slip{grid-column:5 / span 8;position:relative;display:block;container-type:inline-size;height:calc(var(--chei) + 70px);margin:0}
  .ks-copy{position:absolute;top:10px;left:calc(var(--i) * (100% - var(--cwid)) / 3);width:var(--cwid);height:var(--chei);transform:rotate(var(--r));z-index:var(--z)}
  .ks-copy-a{--i:0;--r:-3deg;--z:1}.ks-copy-b{--i:1;--r:-1deg;--z:2;top:22px}.ks-copy-c{--i:2;--r:1deg;--z:3}.ks-copy-d{--i:3;--r:3deg;--z:4;top:18px}
  .ks-copy-a,.ks-copy-b,.ks-copy-c{padding-right:44px}
  @supports (animation-timeline:view()){
    @media (prefers-reduced-motion:no-preference){
      .ks-slipstage{height:220vh;view-timeline-name:--ks-slip}
      .ks-stick{position:sticky;top:calc(var(--bar-h,40px) + var(--ks-navh) + 24px);min-height:calc(100vh - var(--bar-h,40px) - var(--ks-navh) - 48px)}
      .ks-copy{animation:ks-deal linear both;animation-timeline:--ks-slip}
      .ks-copy-a{animation-name:ks-lift;animation-range:contain 0% contain 20%}
      .ks-copy-b{animation-range:contain 20% contain 38%}
      .ks-copy-c{animation-range:contain 38% contain 56%}
      .ks-copy-d{animation-range:contain 56% contain 74%}
      .ks-copy-a .ks-cp-write{animation:ks-write linear both;animation-timeline:--ks-slip;animation-range:contain 4% contain 18%}
      .ks-copy-b .ks-tick::after{animation:ks-tick linear both;animation-timeline:--ks-slip;animation-range:contain 30% contain 37%}
      .ks-stamp{animation:ks-stamp linear both;animation-timeline:--ks-slip;animation-range:contain 47% contain 56%}
      .ks-stub{animation:ks-tear linear both;animation-timeline:--ks-slip;animation-range:contain 66% contain 76%}
      .ks-copy-d .ks-tick::after{animation:ks-tick linear both;animation-timeline:--ks-slip;animation-range:contain 62% contain 68%}
    }
  }
}
@keyframes ks-deal{from{transform:translateX(calc(var(--i) * ((var(--cwid) - 100cqw) / 3 + 16px))) rotate(0deg)}to{transform:rotate(var(--r))}}
@keyframes ks-lift{from{transform:translateY(12px) rotate(0deg)}to{transform:rotate(var(--r))}}
@keyframes ks-write{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes ks-tick{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes ks-stamp{0%{opacity:0;transform:rotate(-14deg) scale(1.5)}55%{opacity:.7;transform:rotate(-14deg) scale(1.06)}100%{opacity:.92;transform:rotate(-14deg) scale(1)}}
@keyframes ks-tear{0%,40%{transform:none;box-shadow:none}100%{transform:translateY(24px) rotate(1.5deg)}}

/* narrower screens: each copy plays as it enters */
@media (max-width:1180px),(max-height:699px){
  .ks-slip{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .ks-copy-a{transform:rotate(-1.5deg)}.ks-copy-b{transform:rotate(1deg)}.ks-copy-c{transform:rotate(-.8deg)}.ks-copy-d{transform:rotate(1.4deg)}
  @supports (animation-timeline:view()){
    @media (prefers-reduced-motion:no-preference){
      .ks-copy{animation:ks-drop linear both;animation-timeline:view();animation-range:entry 10% cover 40%}
      .ks-stamp{animation:ks-stamp linear both;animation-timeline:view();animation-range:cover 30% cover 50%}
      .ks-stub{animation:ks-tear linear both;animation-timeline:view();animation-range:cover 30% cover 55%}
    }
  }
}
@keyframes ks-drop{from{translate:0 -40px}to{translate:0 0}}
@media (max-width:700px){.ks-slip{grid-template-columns:1fr;gap:20px}.ks-copy{min-height:320px}.ks-copy-d{padding-bottom:96px;margin-bottom:24px}.ks-stamp{bottom:70px}.ks-copy-a{z-index:1}.ks-copy-b{z-index:2}.ks-copy-c{z-index:3}.ks-copy-d{z-index:4}}

/* the blank slip: the form */
.ks-slip-form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px 32px;max-width:760px;margin:clamp(72px,8vw,120px) auto 0;padding:26px clamp(20px,4vw,44px) 30px;background:var(--ks-card);color:var(--ks-ink);border-radius:2px;box-shadow:0 1px 2px rgb(10 0 60/.3),0 26px 40px -24px rgb(10 0 60/.75)}
.ks-slip-form::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px;background:radial-gradient(circle at 7px 0,transparent 5px,var(--ks-card) 5.5px) 0 0 / 14px 14px repeat-x}
.ks-form-top{grid-column:1 / -1}
.ks-slip-form a{color:var(--ks-violet)}
.ks-slip-form :focus-visible{outline-color:var(--ks-violet)}
.ks-f{position:relative;margin:0;border:0;padding:0;min-width:0}
.ks-f-wide{grid-column:1 / -1}
.ks-f>label,.ks-f legend{display:block;padding:0;font:480 1rem/1.3 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.05em;color:var(--ks-ink-2)}
.ks-f input[type=text],.ks-f textarea{display:block;width:100%;min-height:44px;border:0;border-bottom:1px solid var(--ks-ink);background:transparent;font:400 1.125rem/1.4 var(--ks-serif);color:var(--ks-carbon);padding:8px 0;border-radius:0;resize:vertical}
.ks-f textarea{background:repeating-linear-gradient(transparent 0 calc(1.4em + 7px),rgb(20 20 20/.18) calc(1.4em + 7px) calc(1.4em + 8px));line-height:calc(1.4em + 8px);padding:0}
.ks-f input::placeholder,.ks-f textarea::placeholder{color:#76736B;font-style:italic}
.ks-f input:focus,.ks-f textarea:focus{outline:none;border-bottom:2px solid var(--ks-violet)}
.ks-chips label{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:6px 8px 0 0;padding:0 14px;border:1px solid rgb(20 20 20/.35);border-radius:22px;cursor:pointer;font-size:1rem}
.ks-chips label:has(:checked){border-color:var(--ks-violet);box-shadow:inset 0 0 0 1px var(--ks-violet)}
.ks-chips input,.ks-f-check input{accent-color:var(--ks-violet);width:18px;height:18px;margin:0}
.ks-f-check label{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.ks-f-go{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:6px}
.ks-status{color:var(--ks-carbon);font-style:italic}
.ks-uline{position:absolute;left:0;bottom:-6px;height:6px;width:90%;background:radial-gradient(ellipse at 50% 100%,transparent 60%,var(--ks-carbon) 62%,var(--ks-carbon) 75%,transparent 77%) 0 0 / 22px 12px repeat-x;clip-path:inset(0 100% 0 0);transition:clip-path .6s ease-out}
.ks-wrote .ks-uline{clip-path:inset(0)}
@media (prefers-reduced-motion:reduce){.ks-uline{transition:none}}
@media (max-width:700px){.ks-slip-form{grid-template-columns:1fr;padding:22px 18px 26px}}

/* wrapping: the bath */
.ks-bathwrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"bath ctl" "bath parcel";gap:28px clamp(24px,3vw,48px);align-items:start}
.ks-tray{grid-area:bath;position:relative;aspect-ratio:4/3;margin:0;border:10px solid var(--ks-board);border-radius:6px;box-shadow:0 0 0 2px var(--ks-ink),0 24px 40px -26px rgb(20 20 20/.6);background:#F3EEE2;overflow:hidden;touch-action:none;cursor:crosshair}
.ks-tray:focus-visible{outline:3px solid var(--ks-violet);outline-offset:4px}
.ks-bath-photo,.ks-bath-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ks-bath-cv{position:absolute;inset:0;width:100%;height:100%;display:none}
.ks-bath-cap{position:absolute;left:14px;bottom:10px;margin:0;padding:4px 12px 2px;background:var(--ks-card);border-radius:2px;color:var(--ks-ink-2)}
.ks-bath-full{position:absolute;left:14px;right:14px;top:12px;margin:0;padding:6px 14px 4px;background:var(--ks-card);border-radius:2px;color:var(--ks-ink);box-shadow:0 2px 8px rgb(20 20 20/.25)}
.ks-bath-full[hidden]{display:none}
.ks-bath-on .ks-bath-cv{display:block}
.ks-bath-on .ks-bath-photo,.ks-bath-on .ks-bath-cap{display:none}
.ks-bathctl{grid-area:ctl;display:grid;gap:18px}
.ks-ctl{margin:0;padding:0;border:0;min-width:0}
.ks-ctl legend,.ks-ctl-k{display:block;margin:0 0 8px;padding:0;font:480 1rem/1.3 var(--ks-serif);font-variant-caps:all-small-caps;letter-spacing:.05em;color:var(--ks-ink-2)}
.ks-pots,.ks-combs{display:flex;flex-wrap:wrap;gap:8px}
.ks-pot,.ks-comb{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:4px 14px 4px 6px;border:1px solid rgb(20 20 20/.25);border-radius:26px;cursor:pointer;font-size:.9375rem;background:var(--ks-card)}
.ks-comb{padding:4px 14px 4px 8px;border-radius:4px}
.ks-pot input,.ks-comb input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ks-pot:has(:checked),.ks-comb:has(:checked){border-color:var(--ks-ink);box-shadow:inset 0 0 0 1px var(--ks-ink)}
.ks-pot:has(:focus-visible),.ks-comb:has(:focus-visible){outline:2px solid var(--ks-violet);outline-offset:2px}
.ks-pot-i{width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--ink) 0 11px,#2a2a2a 11.5px 12.5px,#F1ECDD 13px 15px,#B7AF9C 16px 17px,transparent 17.5px)}
.ks-pot-violet{--ink:#5B3CF0}.ks-pot-black{--ink:#141414}.ks-pot-bone{--ink:#E9E4D6}.ks-pot-stone{--ink:#8E8A80}
.ks-recipes{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.ks-recipes button{min-height:44px;padding:0 16px;background:var(--ks-card);border:1px solid rgb(20 20 20/.35);border-radius:2px;font:italic 460 1.0625rem/1 var(--ks-serif);color:var(--ks-ink);cursor:pointer}
.ks-recipes button:hover{border-color:var(--ks-ink)}
.ks-recipes button[aria-pressed="true"]{background:var(--ks-ink);color:var(--ks-paper);border-color:var(--ks-ink)}
.ks-bath-hint{margin:0;color:var(--ks-ink-2)}
.ks-bath-go{gap:12px 24px}
.ks-bath-go:not(.ks-on){display:none}

/* the parcel */
.ks-parcelfig{grid-area:parcel;margin:0;display:grid;justify-items:center}
.ks-parcel{position:relative;width:100%;max-width:460px;height:360px;perspective:1100px;perspective-origin:50% 20%}
.ks-box{position:absolute;left:calc(50% - 40px);top:40px;width:200px;height:300px;transform-style:preserve-3d;transform:rotateX(52deg) rotateZ(-16deg)}
.ks-pf{position:absolute;display:block;backface-visibility:hidden}
.ks-pf-back{left:0;top:0;width:200px;height:300px;transform:translateZ(-20px) rotateY(180deg)}
.ks-pf-l{left:80px;top:0;width:40px;height:300px;transform:rotateY(-90deg) translateZ(100px)}
.ks-pf-r{left:80px;top:0;width:40px;height:300px;transform:rotateY(90deg) translateZ(100px)}
.ks-pf-t{left:0;top:130px;width:200px;height:40px;transform:rotateX(90deg) translateZ(150px)}
.ks-pf-b{left:0;top:130px;width:200px;height:40px;transform:rotateX(-90deg) translateZ(150px)}
.ks-pf-front{left:0;top:0;width:200px;height:300px;transform:translateZ(20px);padding:28px 18px;font:italic 460 1.25rem/1.2 var(--ks-serif);box-shadow:inset 7px 0 6px -5px rgb(0 0 0/.35)}
.ks-flap{position:absolute;left:0;top:0;width:200px;height:300px;transform-origin:0 50%;transform:translateZ(20.6px) rotateY(-162deg);transform-style:preserve-3d;transition:transform .52s cubic-bezier(.45,.05,.25,1)}
.ks-pf-flap{position:absolute;inset:0;width:100%;height:100%;display:block}
.ks-wrapped-now .ks-flap{transform:translateZ(20.6px) rotateY(0deg)}
.ks-rib{position:absolute;background:var(--ks-violet);opacity:0;transition:opacity .2s .5s;box-shadow:0 0 0 .5px rgb(20 20 20/.3)}
.ks-rib-v{left:132px;top:0;bottom:0;width:12px}
.ks-rib-h{top:196px;left:0;right:0;height:12px}
.ks-wrapped-now .ks-rib{opacity:1}
.ks-parcelfig figcaption{position:relative;z-index:1;margin-top:-10px;text-align:center;color:var(--ks-ink-2);font-size:clamp(1.5rem,1.3rem + .4vw,1.75rem);max-width:26ch}
.ks-parcelfig figcaption .ks-your-title{color:var(--ks-ink)}
@media (prefers-reduced-motion:reduce){.ks-flap,.ks-rib{transition:none}}
@media (max-width:1180px){.ks-bathwrap{grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-template-areas:"bath ctl" "parcel ctl"}}
@media (max-width:760px){.ks-bathwrap{grid-template-columns:1fr;grid-template-areas:"bath" "ctl" "parcel"}.ks-tray{aspect-ratio:1/1}.ks-parcel{height:380px;max-width:360px}.ks-parcelfig figcaption{margin-top:0}.ks-box{left:calc(50% + 10px)}}
@media (max-width:760px) and (max-height:600px){.ks-tray{aspect-ratio:343/300}}
@media (max-width:360px){.ks-parcel{transform:scale(.86);transform-origin:50% 0;height:290px}}

/* the shop */
.ks-shop-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(12px,2vw,24px);align-items:start}
.ks-window{grid-column:1 / span 7;grid-row:1}
.ks-window figcaption{text-align:right}
.ks-window img{aspect-ratio:3/2;object-fit:cover}
.ks-wrapph{grid-column:9 / span 4;grid-row:1 / span 2;margin-top:72px}
.ks-card{position:relative;padding:26px 22px 18px;z-index:7}
.ks-card h3{font:italic 460 1.35rem/1.15 var(--ks-serif);margin:0 0 8px}
.ks-card p{margin:0}
.ks-card .ks-sign{margin-top:8px}
.ks-card .ks-clip{left:22px}
.ks-card-who{grid-column:1 / span 4;grid-row:2;margin:-70px 0 0 24px;transform:rotate(-1deg)}
.ks-card-what{grid-column:5 / span 4;grid-row:2;margin:28px 0 0;transform:rotate(.8deg)}
.ks-door{grid-column:9 / span 4;grid-row:3;margin:20px 0 0;padding:22px 24px 18px;background:#fff;transform:rotate(-1.6deg)}
.ks-door::before,.ks-door::after{content:"";position:absolute;top:-10px;width:62px;height:22px;background:rgb(233 228 214/.82);box-shadow:0 1px 2px rgb(20 20 20/.12)}
.ks-door::before{left:-14px;transform:rotate(-24deg)}.ks-door::after{right:-14px;transform:rotate(22deg)}
.ks-door h3{font-size:2.25rem;line-height:1;margin-bottom:10px}
.ks-hours{list-style:none;margin:0;padding:0}
.ks-hours li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 16px;padding:4px 0;border-bottom:1px dashed rgb(20 20 20/.2)}
.ks-hours li:last-child{border:0}
.ks-hours .ks-pen{font-size:clamp(1.5rem,1.3rem + .4vw,1.75rem)}
.ks-hours .ks-pen:first-child{color:var(--ks-ink)}.ks-hours .ks-pen:last-child{color:var(--ks-violet)}
@media (max-width:1023px){
  .ks-window{grid-column:1 / -1}
  .ks-wrapph{grid-column:7 / -1;grid-row:2 / span 2;margin-top:40px}
  .ks-card-who{grid-column:1 / span 6;grid-row:2;margin:-40px 0 0 12px}
  .ks-card-what{grid-column:1 / span 6;grid-row:3;margin:24px 0 0}
  .ks-door{grid-column:1 / span 7;grid-row:4;margin:28px 0 0}
}
@media (max-width:700px){
  .ks-shop-grid{display:flex;flex-direction:column;gap:24px}
  .ks-window figcaption{text-align:left}
  .ks-card-who{margin:0 8px 0 16px}.ks-card-what,.ks-door{margin:0 4px}
  .ks-wrapph{margin:16px 0 0}
  .ks-window{order:1}.ks-card-who{order:2}.ks-card-what{order:3}.ks-wrapph{order:4}.ks-door{order:5;margin-top:-56px;margin-inline:16px}
}

/* the colophon: a bookplate on your endpaper */
.ks-colophon{position:relative;display:grid;place-items:center;min-height:max(70vh,640px);padding:clamp(72px,10vw,140px) var(--ks-g);background:#DCD5C3;overflow:clip;border-top:1px solid var(--ks-ink)}
.ks-endpaper-ph,.ks-endpaper-ph img,.ks-endpaper{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ks-endpaper{display:none}
.ks-endpaper-on .ks-endpaper{display:block}
.ks-endpaper-on .ks-endpaper-ph{display:none}
.ks-plate{position:relative;z-index:1;width:min(480px,90%);padding:44px clamp(34px,7vw,56px) 30px;background:var(--ks-card);border:1px solid var(--ks-ink);outline:1px solid var(--ks-ink);outline-offset:-9px;text-align:center;box-shadow:0 30px 60px -30px rgb(20 20 20/.6)}
.ks-plate-rib{position:absolute;right:18px;top:-1px;width:14px;height:calc(100% + 64px);background:var(--ks-violet);clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 16px),0 100%);box-shadow:0 0 0 1px rgb(20 20 20/.2)}
.ks-plate .ks-mark{margin:0 auto 10px}
.ks-exlib{margin:0 0 18px;font:italic 400 1rem/1 var(--ks-serif);color:var(--ks-ink-2);letter-spacing:.04em}
.ks-plate h2{margin:0}
.ks-plate h2 .ks-enamel{display:inline-flex;margin-bottom:18px}
.ks-plate .ks-hl{animation-range:entry 0% entry 90%!important;font-size:clamp(1.625rem,1.1rem + 1.4vw,2.375rem);margin:0 auto;max-width:15ch}
.ks-colo{margin:18px auto 0;max-width:38ch;font:italic 360 1rem/1.62 var(--ks-serif)}
.ks-plate-note{margin:14px 0 0;color:var(--ks-ink-2)}
.ks-foot-links{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--ks-rule);display:flex;flex-wrap:wrap;justify-content:center;gap:0 20px}
.ks-foot-links a{display:inline-flex;min-height:44px;align-items:center}


@media (prefers-reduced-motion:reduce){.ks-pulled,.ks-cover,.ks-pick .ks-talker{transition:none}}
.ks-page:not(.ks-js) .ks-bathctl,.ks-page:not(.ks-js) .ks-parcelfig,.ks-page:not(.ks-js) .ks-hint,.ks-nogl .ks-hint{display:none}
.ks-page:not(.ks-js) .ks-bathwrap{grid-template-columns:minmax(0,1fr);max-width:820px}
