
@font-face{font-family:"Bodoni Moda";src:url(/fonts/bodoni-moda-1.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(/fonts/bodoni-moda-2.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(/fonts/eb-garamond-3.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(/fonts/eb-garamond-4.woff2) format("woff2");font-weight:400 800;font-style:italic;font-display:swap}
:root{
  --paper:#E9E3D7; --card:#F3EFE6; --ink:#1D1B18; --graphite:#6D665B; --rule:#CBC2B2;
  --kraft:#DDD5C6; --kraft-deep:#D3CABA; --night:#DDD5C6; --on-night:#1D1B18; --on-night-soft:#5F584E;
  --vellum:rgba(245,242,235,.6);
  --display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --text:"EB Garamond","Garamond","Times New Roman",serif;
  --measure:34rem;
}
/* Always the beige paper look, also in dark mode */
/* Declaring an own dark-scheme rule tells browsers like Samsung Internet that the site handles dark mode itself, so they do not force-darken it. It intentionally keeps the same paper colours. */
@media (prefers-color-scheme: dark){
  :root{
    --paper:#E9E3D7; --card:#F3EFE6; --ink:#1D1B18; --graphite:#6D665B; --rule:#CBC2B2;
    --kraft:#DDD5C6; --kraft-deep:#D3CABA; --night:#DDD5C6; --on-night:#1D1B18; --on-night-soft:#5F584E;
    --vellum:rgba(245,242,235,.6);
    color-scheme:light;
  }
  html,body{background:#E9E3D7;color:#1D1B18}
}

:root{color-scheme:light only}
html,body{background:#E9E3D7}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px);background:var(--paper)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:1.125rem;line-height:1.62;
  -webkit-font-smoothing:antialiased;font-feature-settings:"onum" 1,"liga" 1}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{text-decoration-color:var(--graphite)}
:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:var(--card);padding:.5rem 1rem;z-index:10}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;letter-spacing:-.005em}
p{margin:0 0 1em}
.wrap{max-width:84rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,3.5rem)}

/* Header */
.site-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:1.75rem 0 1.25rem}
.site-head nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;font-size:.98rem}
.site-head nav a{text-decoration:none}
.site-head nav a[aria-current="page"]{text-decoration:underline}
.mark{text-align:center;text-decoration:none;line-height:1}
@font-face{font-family:"PPS Script";src:url(/fonts/pps-script-5.woff2) format("woff2");font-display:block}
.mark{display:block;color:var(--ink)}
.mark .script{display:block;font-family:"PPS Script","Homemade Apple",cursive;font-size:3rem;line-height:1.1;padding:0 .15em;
  transition:font-size .6s cubic-bezier(.19,1,.22,1)}
.mark i{display:block;font-family:"PPS Type","Courier Prime","Courier New",monospace;font-style:normal;font-size:.74rem;color:var(--graphite);margin-top:.45rem;letter-spacing:.14em;max-height:2em;overflow:hidden;
  transition:opacity .4s,max-height .6s,margin .6s}
.head-right{display:flex;justify-content:flex-end;gap:1.6rem;font-size:.98rem}
.head-right a{text-decoration:none}
.menu-btn{display:none;background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:.25rem 0;justify-self:start}
@media (max-width:820px){
  .site-head{grid-template-columns:auto 1fr auto}
  .menu-btn{display:block}
  .site-head nav{grid-column:1/-1;grid-row:2;display:none;padding-top:1.25rem}
  .site-head nav.open{display:block}
  .site-head nav ul{flex-direction:column;gap:.7rem;font-size:1.2rem}
  .mark{grid-column:2}
  .head-right .hide-sm{display:none}
}

/* Buttons */
.btn{display:inline-block;font-family:var(--text);font-size:1rem;padding:.75rem 1.6rem;border:1px solid var(--ink);
  color:var(--ink);background:transparent;text-decoration:none;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:transparent;color:var(--ink)}
.on-dark .btn{border-color:var(--on-night);color:var(--on-night)}
.on-dark .btn:hover{background:var(--on-night);color:var(--night)}
.textlink{font-size:1rem}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:end;
  padding:clamp(2.5rem,7vw,6rem) 0 clamp(4rem,9vw,8rem)}
.hero h1{font-size:clamp(2.7rem,6.2vw,5.4rem);line-height:1.02;max-width:9.5em}
.hand{font-family:"PPS Script","Homemade Apple",cursive!important;font-weight:400;font-style:normal!important;letter-spacing:0}
.hero h1.hand{font-size:clamp(1.9rem,3.3vw,3.1rem);line-height:1.55;max-width:none}
@media (min-width:821px){.hero h1.hand > span > span{white-space:nowrap}}
.letter-grid h2.hand{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.6}
.closing p.hand{font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.7}
.page-head h1.hand{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.55}
.hero .lede{font-size:1.3rem;max-width:22em;margin:1.8rem 0 2.2rem;color:var(--graphite)}
.hero .actions{display:flex;gap:1.8rem;align-items:center;flex-wrap:wrap}
.mat{background:var(--card);padding:clamp(.9rem,2.2vw,1.8rem);position:relative;box-shadow:0 30px 60px -40px rgba(0,0,0,.45)}
.hero-print{margin:0;position:relative}
.hero-print .mat{overflow:visible}
.vellum{position:absolute;left:-1.6rem;right:-1.6rem;top:47%;padding:1.5rem 2rem;background:var(--vellum);
  -webkit-backdrop-filter:blur(7px) saturate(.6);backdrop-filter:blur(7px) saturate(.6);
  border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35)}
.vellum p{margin:0;font-style:italic;text-align:center;font-size:1.08rem;line-height:1.45}
.vellum small{display:block;text-align:center;font-family:var(--display);font-style:normal;font-size:.85rem;margin-bottom:.4rem;letter-spacing:.06em}
.hero-print figcaption,.cap{font-size:.92rem;font-style:italic;color:var(--graphite);margin-top:1rem}
@media (prefers-reduced-motion:no-preference){
  .hero-print .vellum{animation:slide 1.6s cubic-bezier(.2,.7,.1,1) .5s both}
  @keyframes slide{from{transform:translateX(115%);opacity:0}to{transform:none;opacity:1}}
}
@media (max-width:820px){
  .hero{grid-template-columns:1fr;align-items:start}
  .vellum{left:-.75rem;right:-.75rem;padding:1rem 1.2rem}
}

/* Prose */
.prose{max-width:var(--measure)}
.centered{margin-left:auto;margin-right:auto}
.opening{padding:0 0 clamp(4rem,9vw,8rem)}
.opening p{font-size:clamp(1.3rem,2.1vw,1.6rem);line-height:1.55;text-align:center}
.section{padding:clamp(4rem,9vw,8rem) 0}
.section h2{font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.08;margin-bottom:1.5rem}

/* Night letter */
.on-dark{background:var(--night);color:var(--on-night)}
.letter-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.letter-grid .intro{color:var(--graphite);max-width:24em}
.letter-grid h2{color:var(--ink)}
.on-dark .letter-grid .intro{color:var(--on-night-soft)}
.on-dark .letter-grid h2{color:var(--on-night)}
.letter{background:#F4F0E8;color:#1D1B18;padding:clamp(1.8rem,4vw,3.4rem);font-size:1.12rem;box-shadow:0 30px 60px -34px rgba(60,45,30,.35)}
.letter .sig{font-family:var(--display);font-style:italic;font-size:1.9rem;margin:.6rem 0 2rem}
.letter .ps{border-top:1px solid #CBC2B2;padding-top:1.1rem;margin-top:1.1rem}
.letter .ps b{font-family:var(--display);font-weight:500;margin-right:.5rem}
.letter em{font-style:italic}
@media (max-width:820px){.letter-grid{grid-template-columns:1fr}.letter{transform:none}}

/* Moodboard */
.board{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(.8rem,2vw,1.6rem);row-gap:clamp(2rem,5vw,4rem)}
.board figure{margin:0}
.board a{text-decoration:none;display:block}
.board .cap{margin-top:.6rem}
.board .b1{grid-column:1/5}.board .b2{grid-column:6/9;margin-top:7rem}.board .b3{grid-column:10/13;margin-top:2.5rem}
.board .b4{grid-column:2/6}.board .b5{grid-column:7/11;margin-top:-6rem}.board .b6{grid-column:1/4;margin-top:2rem}.board .b7{grid-column:5/9;margin-top:6rem}.board .b8{grid-column:10/13;margin-top:-2rem}
.board-head{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:clamp(2.5rem,5vw,4rem);flex-wrap:wrap}
@media (max-width:820px){
  .board{grid-template-columns:repeat(2,minmax(0,1fr))}
  .board figure{grid-column:auto!important;margin-top:0!important}
}

/* Collections index */
.collections{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.collections li{border-bottom:1px solid var(--rule)}
.collections a{display:grid;grid-template-columns:5.5rem minmax(0,3fr) minmax(0,5fr) auto;gap:clamp(1rem,3vw,2.5rem);
  align-items:center;padding:1.4rem 0;text-decoration:none}
.collections img{width:5.5rem;aspect-ratio:4/5;object-fit:cover}
.collections h3{font-size:clamp(1.7rem,3vw,2.5rem)}
.collections p{margin:0;color:var(--graphite)}
.collections .count{font-style:italic;color:var(--graphite);font-size:.95rem;white-space:nowrap}
.collections a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
@media (max-width:820px){.collections a{grid-template-columns:4.5rem 1fr}.collections img{width:4.5rem}.collections p,.collections .count{grid-column:2}}

/* Correspondence block */
.kraft{background:var(--kraft);color:var(--on-night)}
.kraft-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,5fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.envelope{position:relative;max-width:30rem}
.postcard{background:#F4F0E8;padding:.9rem;position:relative;z-index:1;box-shadow:0 40px 70px -36px rgba(60,45,30,.45)}
.postcard span{position:absolute;bottom:.8rem;left:0;right:0;text-align:center;font-family:var(--display);letter-spacing:.3em;font-size:.78rem;color:#9C9385}
.kraft h2{color:var(--on-night)}
.kraft p{color:var(--on-night-soft);max-width:26em}
.kraft .btn{border-color:var(--on-night);color:var(--on-night)}
.kraft .btn:hover{background:var(--on-night);color:var(--kraft)}
@media (max-width:820px){.kraft-grid{grid-template-columns:1fr}}

/* Craft + closing */
.craft{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem)}
.craft p{color:var(--graphite);max-width:30em}
.closing{text-align:center;padding:clamp(4rem,10vw,9rem) 0}
.closing p{font-family:var(--display);font-style:italic;font-size:clamp(1.9rem,4.2vw,3.4rem);line-height:1.15;margin:0}
@media (max-width:820px){.craft{grid-template-columns:1fr}}

/* Page heads */
.page-head{padding:clamp(2.5rem,6vw,5rem) 0 clamp(2rem,5vw,3.5rem);max-width:42rem}
.page-head h1{font-size:clamp(2.5rem,5.4vw,4.4rem);line-height:1.05;margin-bottom:1.3rem}
.page-head p{font-size:1.22rem;color:var(--graphite)}

/* Filter */
.filter{display:flex;gap:1.4rem;flex-wrap:wrap;margin-bottom:2.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--rule)}
.filter button{background:none;border:0;padding:0;font:inherit;font-size:1.02rem;color:var(--graphite);cursor:pointer}
.filter button[aria-pressed="true"]{color:var(--ink);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}
.coll-text{max-width:var(--measure);margin:0 0 3rem;font-size:1.12rem}
.coll-text h2{font-size:2rem;margin-bottom:1rem}

/* Catalogue grid */
.catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,3vw,2.4rem);padding-bottom:6rem}
.card{background:var(--card);padding:clamp(.8rem,1.6vw,1.2rem) clamp(.8rem,1.6vw,1.2rem) 1.4rem;text-decoration:none;display:flex;flex-direction:column}
.card img{aspect-ratio:992/1200;object-fit:cover;width:100%;filter:grayscale(1)}
.card .meta{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:baseline;margin-top:1.1rem}
.card .no{font-size:.88rem;color:var(--graphite)}
.card h3{font-size:1.32rem;text-align:center}
.card .coll{font-style:italic;font-size:.88rem;color:var(--graphite)}
.card .pps{font-style:italic;font-size:.98rem;color:var(--graphite);text-align:center;margin:.8rem .4rem 0;line-height:1.45}
.card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
@media (max-width:900px){.catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.catalogue{grid-template-columns:1fr}}

/* Print detail */
.detail{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,6vw,6rem);padding:clamp(2rem,5vw,4rem) 0 5rem;align-items:start}
.detail .info{position:sticky;top:2rem}
.detail .no{color:var(--graphite);font-size:1rem}
.detail h1{font-size:clamp(2.4rem,4.6vw,3.8rem);line-height:1.05;margin:.3rem 0 1.4rem}
.ppscard{background:var(--card);padding:1.6rem 1.8rem;margin:2rem 0;border-left:1px solid var(--ink)}
.ppscard b{font-family:var(--display);font-weight:500;display:block;margin-bottom:.5rem}
.ppscard p{font-style:italic;font-size:1.22rem;margin:0;line-height:1.5}
dl.specs{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.6rem;margin:0 0 2rem;font-size:1rem}
dl.specs dt{color:var(--graphite)}
dl.specs dd{margin:0}
.pager{display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding-top:1.2rem;margin-top:2.4rem;font-size:1rem}
@media (max-width:820px){.detail{grid-template-columns:1fr}.detail .info{position:static}}

/* Correspondence page */
ol.steps{padding:0;margin:0 0 2rem;list-style:none;counter-reset:s}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:2.6rem 1fr;padding:.85rem 0;border-bottom:1px solid var(--rule)}
ol.steps li::before{content:counter(s);font-family:var(--display);font-size:1.3rem;line-height:1.3}
.twocol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem)}
.twocol h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:1.2rem}
ul.plain{padding-left:1.1rem;margin:0}
ul.plain li{margin-bottom:.6rem}
@media (max-width:820px){.twocol{grid-template-columns:1fr}}

/* About / Notes */
.manifesto{max-width:var(--measure);margin:0 auto;padding-bottom:4rem}
.manifesto p{font-size:1.22rem;line-height:1.7}
.manifesto p.first{font-family:var(--display);font-style:italic;font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.25;margin-bottom:2rem}
.manifesto .sig{font-family:var(--display);font-style:italic;font-size:1.3rem;margin-top:2.5rem}
.about-img{max-width:24rem;margin:0 auto 4rem}
.notes-list{list-style:none;padding:0;margin:0 0 5rem;border-top:1px solid var(--rule)}
.notes-list li{border-bottom:1px solid var(--rule);padding:1.6rem 0}
.notes-list h2{font-size:1.9rem;margin-bottom:.4rem}
.notes-list a{text-decoration:none}
.is-one{max-width:46rem;margin:0 auto clamp(4rem,9vw,7rem)}.is-one button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.is-one img{width:100%;height:auto;display:block;box-shadow:0 30px 60px -34px rgba(60,45,30,.4)}.is-one figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.9rem;color:var(--graphite)}.is-one .h{font-family:var(--display);font-size:1.25rem;color:var(--ink)}
.notes-list .nl-k{display:block;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--graphite);margin-bottom:.5rem}
.notes-list .nl-more{display:inline-block;margin-top:.6rem;text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px}
.note-head{max-width:46rem}
.note-letter{max-width:44rem;margin:0 0 clamp(4rem,8vw,6rem);line-height:1.75}
.note-letter p{margin:0 0 1.15rem}
.note-letter .nl-dear{font-size:2rem;margin-bottom:1.4rem}
.note-letter .nl-close{margin-top:2rem;margin-bottom:0;font-style:italic}
.note-letter .sig{font-size:2.6rem;margin:.2rem 0 0}
.note-prints{margin-bottom:clamp(3rem,7vw,5rem)}
.note-more{padding-bottom:5rem}.note-more>h2{font-size:1.6rem;margin-bottom:1rem}
.notes-list p{color:var(--graphite);margin:0}

/* FAQ */
.faq{max-width:46rem;padding-bottom:6rem}
.faq details{border-bottom:1px solid var(--rule)}
.faq details:first-child{border-top:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:1.3rem 2rem 1.3rem 0;font-family:var(--display);font-size:1.35rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:1.2rem;font-family:var(--text);font-size:1.4rem;color:var(--graphite)}
.faq details[open] summary::after{content:"\2212"}
.faq .ans{padding:0 0 1.4rem;max-width:var(--measure)}

/* Footer */
.site-foot{border-top:1px solid var(--rule);padding:3.5rem 0 2.5rem;margin-top:0}
.foot-grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(2,minmax(0,2fr));gap:2rem;font-size:.98rem}
.foot-grid ul{list-style:none;padding:0;margin:0}
.foot-grid li{margin-bottom:.45rem}
.foot-grid a{text-decoration:none}
.foot-grid .mark{text-align:left}
.foot-grid .mark .script{font-size:2.6rem;padding-left:0}
.foot-small{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:3rem;font-size:.88rem;color:var(--graphite)}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid > :first-child{grid-column:1/-1}}

main{min-height:60vh}
.forthcoming{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.4rem,3vw,2.6rem);border-top:1px solid var(--rule);padding-top:2rem}
.forthcoming h3{font-family:"PPS Script","Homemade Apple",cursive;font-size:1.5rem;line-height:1.6;margin-bottom:.6rem}
.forthcoming p{color:var(--graphite);margin:0}
@media (max-width:900px){.forthcoming{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.forthcoming{grid-template-columns:1fr;gap:2rem}}
/* Mobile breathing room */
@media (max-width:820px){
  .wrap{padding-left:1.75rem;padding-right:1.75rem}
  .site-head{padding:1.4rem 0 1.2rem}
  .hero{padding:2.6rem 0 4.5rem;gap:3.2rem}
  .hero .lede{margin:1.6rem 0 2.2rem;line-height:1.6}
  .hero .actions{gap:1.8rem}
  .hero-print .vellum{left:-.6rem;right:-.6rem}
  .hero-print figcaption{margin-top:1.2rem}
  .opening{padding-bottom:5rem}
  .opening p{font-size:1.24rem;line-height:1.65}
  .section{padding:5rem 0}
  .section h2{margin-bottom:1.8rem}
  .letter-grid{gap:3rem}
  .letter{padding:2rem 1.7rem}
  .letter .ps{padding-top:1.3rem;margin-top:1.3rem}
  .board{column-gap:1.2rem;row-gap:2.8rem}
  .board-head{margin-bottom:2.6rem;gap:1rem}
  .collections a{padding:1.7rem 0;gap:1.1rem 1.3rem}
  .collections p{margin-top:.2rem}
  .kraft-grid{gap:3rem}
  .craft{gap:1.4rem}
  .closing{padding:5rem 0}
  .page-head{padding:2.8rem 0 2.4rem}
  .page-head h1{margin-bottom:1.1rem}
  .filter{gap:1.1rem 1.5rem;margin-bottom:2.6rem;padding-bottom:1.4rem}
  .coll-text{margin-bottom:3.2rem}
  .catalogue{gap:2.6rem 1.2rem;padding-bottom:5rem}
  .card{padding:.9rem .9rem 1.5rem}
  .card .pps{margin-top:1rem}
  .detail{gap:2.6rem;padding:2rem 0 4rem}
  .detail h1{margin:.4rem 0 1.2rem}
  .ppscard{padding:1.4rem 1.5rem;margin:2.2rem 0}
  dl.specs{gap:.7rem 1.4rem}
  .opts{gap:.7rem}
  .buy,.buy-corr{margin-top:2.4rem;padding-top:2rem}
  .buy .enq{display:inline-block;margin:1.2rem 0 0 0}
  .pager{margin-top:2.8rem;padding-top:1.4rem;gap:1rem}
  ol.steps li{padding:1rem 0}
  ul.plain li{margin-bottom:.9rem}
  .twocol{gap:3.2rem}
  .manifesto p{line-height:1.75}
  .faq summary{padding:1.4rem 2.2rem 1.4rem 0}
  .checkout{gap:2.6rem;padding-bottom:5rem}
  .checkout h2{margin:2.2rem 0 1.1rem}
  .co-sum{padding:1.5rem 1.4rem}
  .fld{margin-bottom:1.3rem}
  .legal h2{margin-top:2.4rem}
  .site-foot{padding:4rem 0 3rem}
  .foot-grid{gap:2.8rem 1.6rem}
  .foot-grid li{margin-bottom:.75rem}
  .foot-small{margin-top:3.4rem;flex-direction:column;gap:.6rem}
  .bag-in{padding-left:1.4rem;padding-right:1.4rem}
}
@media (max-width:520px){
  .board{row-gap:2.4rem}
  .catalogue{gap:2.8rem}
}
/* Shop */
.card .from{font-size:.95rem;text-align:center;margin:.6rem 0 0;color:var(--ink)}
.opts label span em{font-style:normal;color:var(--graphite);margin-left:.6rem;font-size:.92rem}
.buy,.buy-corr{margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--rule)}
.buy-corr h2{font-size:1.9rem;margin-bottom:.6rem}
.buy-price{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin:0 0 1.4rem}
.buy-price .price{font-family:var(--display);font-size:1.8rem}
.buy-price .vat,.small{font-size:.92rem;color:var(--graphite)}
.buy .enq{margin-left:1.4rem}
.added{font-size:.95rem;color:var(--graphite);margin-top:.8rem;min-height:1.2em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
dialog.bag{margin:0 0 0 auto;height:100%;max-height:100%;width:min(28rem,100vw);max-width:100vw;padding:0;border:0;background:var(--paper);color:var(--ink);
  box-shadow:-30px 0 60px -30px rgba(0,0,0,.4)}
dialog.bag::backdrop{background:rgba(20,18,16,.45)}
@media (prefers-reduced-motion:no-preference){dialog.bag[open]{animation:bagin .5s cubic-bezier(.19,1,.22,1)}@keyframes bagin{from{transform:translateX(100%)}to{transform:none}}}
.bag-in{display:flex;flex-direction:column;height:100%;padding:calc(env(safe-area-inset-top,0px) + 1.6rem) 1.6rem calc(env(safe-area-inset-bottom,0px) + 1.6rem)}
.bag-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--rule);padding-bottom:1rem}
.bag-head h2{font-size:1.8rem}
.bag-close{background:none;border:0;font:inherit;color:var(--graphite);cursor:pointer}
.bag-items{flex:1;overflow:auto;padding:1rem 0}
.bag-empty{color:var(--graphite)}
.line{display:grid;grid-template-columns:4.2rem 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule);align-items:start}
.line img{width:4.2rem;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}
.line h3{font-size:1.1rem;margin-bottom:.15rem}
.line p{margin:0;font-size:.92rem;color:var(--graphite)}
.qty{display:inline-flex;align-items:center;gap:.6rem;margin-top:.5rem;font-size:.95rem}
.qty button,.line .rm{background:none;border:1px solid var(--rule);color:var(--ink);font:inherit;width:1.8rem;height:1.8rem;line-height:1;cursor:pointer}
.line .rm{border:0;width:auto;height:auto;color:var(--graphite);font-size:.88rem;text-decoration:underline;text-underline-offset:.2em;margin-top:.5rem}
.line .lp{font-size:1rem;white-space:nowrap}
.bag-foot{border-top:1px solid var(--rule);padding-top:1.2rem}
.sumrow{display:flex;justify-content:space-between;gap:1rem;margin:.35rem 0;font-size:1rem}
.sumrow.total{font-family:var(--display);font-size:1.35rem;margin-top:.8rem}
.bag-foot .btn{width:100%;text-align:center;margin-top:1.2rem}
.checkout{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);gap:clamp(2rem,6vw,5rem);padding-bottom:6rem;align-items:start}
.checkout h2{font-size:1.6rem;margin:1.8rem 0 1rem}
.checkout h2:first-child{margin-top:0}
.fld select{width:100%;font:inherit;font-size:1.1rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--rule);padding:.45rem 0;border-radius:0}
.fld select:focus{outline:none;border-bottom-color:var(--ink)}
.ship-note{font-size:.92rem;color:var(--graphite)}
.co-sum{background:var(--card);padding:1.6rem;position:sticky;top:7rem}
.co-sum .line{grid-template-columns:3.4rem 1fr auto}
.co-sum .line img{width:3.4rem}
.co-submit{margin:.4rem 0 1rem}
.legal{max-width:var(--measure);padding-bottom:6rem}
.legal h2{font-size:1.45rem;margin:2.2rem 0 .7rem}
.legal p{font-size:1.06rem}
.formbox{border:1px solid var(--rule);padding:1.4rem 1.6rem;background:var(--card)}
.tablewrap{overflow-x:auto;margin:1.4rem 0}
.ship-table{border-collapse:collapse;width:100%;font-size:1rem}
.ship-table th,.ship-table td{text-align:left;padding:.6rem .8rem .6rem 0;border-bottom:1px solid var(--rule);vertical-align:top}
.ship-table th{font-weight:400;color:var(--graphite)}
@media (max-width:820px){.checkout{grid-template-columns:1fr}.co-sum{position:static;order:-1}}
/* Sticky header */
.head-bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in srgb,var(--paper) 90%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:box-shadow .6s}
.head-bar.scrolled{box-shadow:0 1px 0 var(--rule)}
.site-head{transition:padding .6s cubic-bezier(.19,1,.22,1)}
.scrolled .site-head{padding:.85rem 0 .75rem}
.scrolled .site-head .mark .script{font-size:2.1rem}
.scrolled .site-head .mark i{opacity:0;max-height:0;margin-top:0}
.detail .info{position:static}
.detail > .mat{position:sticky;top:7rem}
@media (max-width:820px){.detail > .mat{position:static}}
.hero h1.lines > span{display:block;overflow:hidden;padding:.1em 0 .25em;margin:-.1em 0 -.25em}
.hero h1.lines > span > span{display:block}

/* Forms */
.order{margin-top:2.4rem;padding-top:2rem;border-top:1px solid var(--rule)}
.order h2{font-size:1.9rem;margin-bottom:.6rem}
.order-note{color:var(--graphite);font-size:1rem}
.opts{border:0;padding:0;margin:1.4rem 0 1.6rem;display:flex;flex-wrap:wrap;gap:.6rem}
.opts legend{font-size:.95rem;color:var(--graphite);margin-bottom:.6rem;padding:0}
.opts label{cursor:pointer;position:relative}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts label span{display:inline-block;padding:.55rem 1.1rem;border:1px solid var(--rule);font-size:1rem;transition:border-color .3s,background .3s}
.opts input:checked + span{border-color:var(--ink);background:var(--card)}
.opts input:focus-visible + span{outline:1px solid var(--ink);outline-offset:3px}
.fld{display:block;margin-bottom:1.1rem}
.fld > span:first-child{display:block;font-size:.95rem;color:var(--graphite);margin-bottom:.3rem}
.fld input{width:100%;font:inherit;font-size:1.1rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--rule);
  padding:.45rem 0;border-radius:0;transition:border-color .3s}
.fld input:focus{outline:none;border-bottom-color:var(--ink)}
.fld input::placeholder{color:var(--graphite);opacity:.7}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.check{display:flex;gap:.7rem;align-items:flex-start;font-size:.98rem;margin:.6rem 0 1.2rem;cursor:pointer}
.check input{margin-top:.38rem;accent-color:var(--ink)}
.form-err{color:var(--ink);font-style:italic;font-size:.98rem;min-height:1.2em;margin:0 0 .8rem}
.order .enq{margin-left:1.4rem}
.thanks h2{font-size:2rem;margin-bottom:.6rem}
.mini{margin-top:1.6rem;padding-top:0;border-top:0;max-width:26rem}
.mini .inline{display:flex;gap:.8rem;align-items:flex-end}
.mini .inline input{flex:1}
.mini .btn{padding:.55rem 1.1rem}
.dlg-sum{white-space:pre-wrap;font-family:var(--text);font-size:1rem;background:var(--paper);padding:1rem 1.1rem;margin:1rem 0 0}
.dlg-sum:empty{display:none}
@media (max-width:520px){.row2{grid-template-columns:1fr;gap:0}}

/* Motion: only when the visitor allows it */
.unveil{overflow:hidden}
.card .unveil img{transition:transform 1.6s cubic-bezier(.19,1,.22,1)}
@media (prefers-reduced-motion:no-preference){
  .js-motion .unveil{clip-path:inset(0 0 100% 0);transition:clip-path 1.6s cubic-bezier(.19,1,.22,1) var(--d,0ms)}
  .js-motion .unveil img{transform:scale(1.12);transition:transform 2.4s cubic-bezier(.19,1,.22,1) var(--d,0ms)}
  .js-motion .unveil.in{clip-path:inset(0 0 0 0)}
  .js-motion .unveil.in img{transform:scale(1)}
  .js-motion .card:hover .unveil.in img{transform:scale(1.035);transition-delay:0ms}
  .js-motion .rise{opacity:0;transform:translateY(32px);transition:opacity 1.2s ease,transform 1.4s cubic-bezier(.19,1,.22,1)}
  .js-motion .rise.in{opacity:1;transform:none}
  .js-motion .letter.rise{transform:translateY(80px) rotate(-1.5deg)}
  .js-motion .letter.rise.in{transform:none}
  .js-motion .collections li.rise:nth-child(2){transition-delay:.08s}
  .js-motion .collections li.rise:nth-child(3){transition-delay:.16s}
  .js-motion .collections li.rise:nth-child(4){transition-delay:.24s}
  .js-motion .collections li.rise:nth-child(5){transition-delay:.32s}
  .js-motion .words span{display:inline-block;opacity:0;transform:translateY(.45em);
    transition:opacity 1s ease calc(var(--i)*80ms),transform 1.2s cubic-bezier(.19,1,.22,1) calc(var(--i)*80ms)}
  .js-motion .words.in span{opacity:1;transform:none}
  .js-motion .hero h1.lines > span > span{transform:translateY(110%);animation:lineup 1.4s cubic-bezier(.19,1,.22,1) .15s forwards}
  .js-motion .hero h1.lines > span:nth-child(2) > span{animation-delay:.3s}
  .js-motion .load-rise{opacity:0;animation:loadrise 1.3s cubic-bezier(.19,1,.22,1) var(--ld,.6s) forwards}
  .js-motion [data-speed],.js-motion [data-slide]{will-change:transform}
  @keyframes lineup{to{transform:none}}
  @keyframes loadrise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}
dialog#contact{border:0;padding:0;background:var(--card);color:var(--ink);max-width:min(30rem,92vw);width:100%;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
dialog#contact::backdrop{background:rgba(20,18,16,.55)}
.dlg{padding:2.4rem 2.2rem 2rem;position:relative}
.dlg h2{font-size:2rem;margin-bottom:.8rem}
.dlg-subj{font-style:italic;color:var(--graphite)}
.dlg-mail{font-family:var(--display);font-size:1.35rem;word-break:break-all}
.dlg-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.6rem}
.dlg-close{position:absolute;top:1rem;right:1.2rem;background:none;border:0;font:inherit;color:var(--graphite);cursor:pointer}
.fade{animation:none}
@media (prefers-reduced-motion:no-preference){.fade{animation:fadein .5s ease both}@keyframes fadein{from{opacity:0}to{opacity:1}}}

/* Envelope scroll story */
.story{position:relative;height:620vh;background:#E9E3D7;color:#1D1B18}
.story-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.story canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.st-cap{position:absolute;left:clamp(1.25rem,6vw,5rem);width:min(34vw,27rem);top:50%;transform:translateY(-50%);z-index:6;opacity:0}
.st-cap.first{opacity:1}
.st-cap h2,.st-cap h1{font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.08;margin-bottom:1.3rem;color:#1D1B18}
.st-cap h1.hand{font-size:clamp(1.9rem,3.3vw,3.1rem);line-height:1.55}
.st-cap .actions{display:flex;gap:1.8rem;align-items:center;flex-wrap:wrap;margin-top:2rem}
.st-cap h2.hand{font-size:clamp(1.8rem,3.1vw,2.7rem);line-height:1.6}
.st-cap p{color:#6D665B;max-width:24em}
.st-cap .no{font-style:italic;font-size:.95rem;margin-bottom:.9rem}
.st-cap .btn{margin-top:1rem;border-color:#1D1B18;color:#1D1B18}
.st-cap .btn:hover{background:#1D1B18;color:#E9E3D7}
.st-cap .btn.solid{background:#1D1B18;color:#E9E3D7;margin-top:0}
.st-cap .btn.solid:hover{background:transparent;color:#1D1B18}
.st-cap .textlink{color:#1D1B18}
.st-card,.st-ghost{position:absolute;left:0;top:0;width:10px;height:10px}
.st-card{z-index:5;opacity:0;perspective:1800px}
.st-ghost{z-index:4;opacity:0;background:#F4F0E8;padding:4%;box-shadow:0 34px 60px -34px rgba(60,45,30,.45)}
.st-ghost img,.st-front img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.st-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;will-change:transform}
.st-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 34px 60px -34px rgba(60,45,30,.45)}
.st-front{background:#F4F0E8;padding:4%}
.st-back{transform:rotateY(180deg);background:#F4F0E8;color:#1D1B18;container-type:inline-size;padding:10cqi 9cqi 9cqi;display:flex;flex-direction:column;gap:6cqi}
.st-back .no{font-family:var(--display);font-size:4.2cqi;letter-spacing:.08em;color:#6D665B;border-bottom:1px solid #CBC2B2;padding-bottom:4cqi;margin:0}
.st-back .d{font-style:italic;font-size:4.8cqi;line-height:1.45;color:#6D665B;margin:0}
.st-back .pp{margin:auto 0 0;clip-path:inset(0 100% 0 0)}
.st-back .pp b{display:block;font-family:var(--display);font-weight:500;font-size:4.4cqi;margin-bottom:1.5cqi}
.st-back .pp span{font-family:"PPS Script","Homemade Apple",cursive;font-size:6cqi;line-height:1.75}
.st-back .sig{font-family:"PPS Script","Homemade Apple",cursive;font-size:8cqi;text-align:right;margin:0;line-height:1}
.st-progress{position:absolute;left:clamp(1.25rem,4vw,3.5rem);right:clamp(1.25rem,4vw,3.5rem);bottom:calc(env(safe-area-inset-bottom,0px) + 1.4rem);height:1px;background:#CBC2B2;z-index:6}
.st-progress span{position:absolute;left:0;top:0;bottom:0;width:0;background:#1D1B18}
@media (max-width:820px){
  .st-cap{left:1.75rem;right:1.75rem;width:auto;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 3rem);transform:none}
  .st-cap .actions{margin-top:1.4rem}
  .st-cap h2{font-size:clamp(1.7rem,7vw,2.4rem);margin-bottom:.8rem}
  .st-cap h2.hand{font-size:clamp(1.5rem,6.4vw,2rem);line-height:1.5}
  .st-cap p{font-size:1.05rem;line-height:1.5}
}

/* Menu icon */
.menu-btn{width:2rem;height:1.6rem;position:relative;align-self:center;padding:0}
.menu-btn span{position:absolute;left:0;height:1px;background:currentColor;transition:top .4s cubic-bezier(.19,1,.22,1),transform .4s cubic-bezier(.19,1,.22,1),width .4s cubic-bezier(.19,1,.22,1)}
.menu-btn span:first-child{top:.55rem;width:1.75rem}
.menu-btn span:last-child{top:1.05rem;width:1.1rem}
.menu-btn[aria-expanded="true"] span{top:.8rem;width:1.5rem}
.menu-btn[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
.menu-btn:hover span:last-child{width:1.75rem}

/* Launch popup */
dialog#launch{border:0;padding:0;background:#F4F0E8;color:#1D1B18;width:min(56rem,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);overflow:auto;
  box-shadow:0 50px 100px -40px rgba(40,30,20,.55)}
dialog#launch::backdrop{background:rgba(29,27,24,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
@media (prefers-reduced-motion:no-preference){dialog#launch[open]{animation:lin .9s cubic-bezier(.19,1,.22,1)}@keyframes lin{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}}
.ln{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ln-img{margin:0;background:#E9E3D7;padding:1.4rem;display:flex;align-items:center}
.ln-img img{width:100%;aspect-ratio:992/1200;object-fit:cover;filter:grayscale(1);box-shadow:0 24px 40px -28px rgba(40,30,20,.6)}
.ln-body{padding:clamp(1.8rem,4vw,3.2rem);position:relative}
.ln-eyebrow{font-family:var(--display);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:#6D665B;margin:0 0 1.1rem}
.ln-body h2{font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.02;margin:0 0 1.2rem;color:#1D1B18}
.ln-body h2 em{font-style:italic}
.ln-story{font-family:"PPS Script","Homemade Apple",cursive;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.6;margin:0 0 .6rem}
.ln-copy{color:#4E483F;font-size:1.08rem;line-height:1.55;margin:0 0 1.6rem;max-width:30em}
.ln-form.order{margin:0;padding:0;border:0}
#ln-title:focus{outline:none}
.ln-x:focus:not(:focus-visible){outline:none}
.ln-form .inline{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap}
.ln-form .fld{flex:1 1 14rem;margin:0}
.ln-form input{width:100%;font:inherit;font-size:1.15rem;color:#1D1B18;background:transparent;border:0;border-bottom:1px solid #1D1B18;padding:.55rem 0;border-radius:0}
.ln-form input:focus{outline:none;border-bottom-width:2px}
.ln-form .btn.solid{background:#1D1B18;color:#F4F0E8;border-color:#1D1B18;padding:.8rem 1.6rem}
.ln-form .btn.solid:hover{background:transparent;color:#1D1B18}
.ln-legal{font-size:.86rem;line-height:1.5;color:#6D665B;margin:1rem 0 0}
.ln-legal a{color:inherit}
.ln-form .form-err{min-height:1.2em;margin:.5rem 0 0;font-size:.95rem}
.ln-not{background:none;border:0;font:inherit;font-size:.95rem;color:#6D665B;text-decoration:underline;text-underline-offset:.22em;cursor:pointer;padding:0;margin-top:1.2rem}
.ln-x{position:absolute;top:.9rem;right:1rem;background:none;border:0;width:2.2rem;height:2.2rem;cursor:pointer;color:#1D1B18}
.ln-x::before,.ln-x::after{content:"";position:absolute;left:.35rem;right:.35rem;top:50%;height:1px;background:currentColor;transform:rotate(45deg)}
.ln-x::after{transform:rotate(-45deg)}
.ln-done h3{font-size:2rem;margin:0 0 .6rem}
.ln-done p{color:#4E483F}
@media (max-width:700px){
  .ln{grid-template-columns:1fr}
  .ln-img{padding:1.1rem 1.1rem 0;background:#F4F0E8}
  .ln-img img{aspect-ratio:16/8;object-position:50% 70%}
  .ln-body h2{font-size:2.1rem;margin-bottom:.8rem}
  .ln-copy{font-size:1rem;margin-bottom:1.2rem}
  .ln-body{padding:1.4rem 1.4rem 1.6rem}
  .ln-x{top:.4rem;right:.4rem;background:#F4F0E8;border-radius:50%}
}

/* PayPal checkout */
.pp-wrap{max-width:26rem;margin:.4rem 0 1rem}
#pp-buttons{min-height:3rem}
.pp-msg:empty{display:none}

/* Logo: "pps" with a clearer s (Rock Salt, Apache 2.0) */
@font-face{font-family:"PPS Logo S";src:url(/fonts/pps-logo-s-6.woff2) format("woff2");font-display:block}
.mark .script .s2{font-family:"PPS Logo S","PPS Script",cursive;font-size:.8em;-webkit-text-stroke:.018em currentColor;margin-left:-.02em}

/* Made to be framed */
.framing{position:relative;height:280vh}
.fr-sticky{position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden}
.fr-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,6rem);align-items:center;width:100%}
.fr-text h2{font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.08;margin-bottom:1.2rem}
.fr-text p{color:var(--graphite);max-width:26em}
.fr-steps{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--rule)}
.fr-steps li{display:grid;grid-template-columns:2.4rem 1fr;padding:.85rem 0;border-bottom:1px solid var(--rule);color:var(--graphite);transition:color .4s}
.fr-steps li b{font-family:var(--display);font-weight:400}
.fr-steps li.on{color:var(--ink)}
.fr-stage{position:relative;aspect-ratio:3/4;height:min(80vh,46rem);max-width:100%;justify-self:center;overflow:hidden;background:var(--paper)}
.fr-stage img.l{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.fr-hole,.fr-framed{opacity:0}
.fr-card{position:absolute;left:27.92%;top:34.44%;width:43.27%;height:32.62%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .35 0 0 0 0 .3 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(155deg,#E1D5C8 0%,#D3C5B8 55%,#C9BBAE 100%);will-change:transform;
  box-shadow:0 30px 50px -20px rgba(40,30,20,.55)}
.fr-card img{position:absolute;left:7.63%;top:7.59%;width:84.74%;height:84.82%;object-fit:cover;display:block}
.fr-card::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(120,100,80,.08)}
@media (max-width:820px){
  .fr-sticky{align-items:flex-start;padding-top:5.5rem}
  .fr-grid{grid-template-columns:1fr;gap:1.4rem}
  .fr-stage{height:min(54vh,30rem);order:-1}
  .fr-text h2{font-size:1.9rem;margin-bottom:.6rem}
  .fr-text p{font-size:1rem}
  .fr-steps{margin-top:1rem}
  .fr-steps li{padding:.5rem 0}
}

/* Scroll cue */
.st-cue{position:absolute;left:64%;bottom:calc(env(safe-area-inset-bottom,0px) + 2.6rem);transform:translateX(-50%);z-index:7;
  display:flex;flex-direction:column;align-items:center;gap:.7rem;background:none;border:0;padding:.4rem .8rem;cursor:pointer;color:#1D1B18;
  font-family:var(--display);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;transition:opacity .5s}
.st-cue .ln{position:relative;width:1px;height:3.2rem;background:rgba(29,27,24,.18);overflow:hidden}
.st-cue .ln::after{content:"";position:absolute;left:0;top:0;width:1px;height:45%;background:#1D1B18;animation:cuedrop 2.2s cubic-bezier(.65,0,.35,1) infinite}
.st-cue svg{width:12px;height:8px;margin-top:-.55rem;animation:cuebob 2.2s cubic-bezier(.65,0,.35,1) infinite}
.st-cue:focus-visible{outline:1px solid #1D1B18;outline-offset:4px}
@keyframes cuedrop{0%{transform:translateY(-100%)}60%,100%{transform:translateY(230%)}}
@keyframes cuebob{0%,40%{transform:translateY(-2px);opacity:.5}60%{transform:translateY(2px);opacity:1}100%{transform:translateY(-2px);opacity:.5}}
@media (prefers-reduced-motion:reduce){.st-cue .ln::after,.st-cue svg{animation:none}.st-cue .ln::after{height:100%}}
@media (max-width:820px){.st-cue{left:auto;right:.6rem;transform:none;padding:.4rem;bottom:auto;top:calc(var(--cue-top,52%));gap:.5rem;font-size:.66rem}.st-cue .ln{height:2.4rem}}

/* Launch popup: compact */
dialog#launch{width:min(44rem,calc(100vw - 2rem))}
.ln{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
.ln-img{padding:1.1rem}
.ln-body{padding:clamp(1.4rem,3vw,2.2rem)}
.ln-eyebrow{font-size:.7rem;margin-bottom:.8rem}
.ln-body h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:.8rem}
.ln-story{font-size:clamp(1.15rem,1.9vw,1.4rem);margin-bottom:.4rem}
.ln-copy{font-size:.98rem;margin-bottom:1.1rem}
.ln-form input{font-size:1.02rem;padding:.45rem 0}
.ln-form .btn.solid{padding:.65rem 1.3rem;font-size:.95rem}
.ln-legal{font-size:.78rem;margin-top:.7rem}
.ln-not{font-size:.88rem;margin-top:.8rem}
@media (max-width:700px){
  dialog#launch{width:calc(100vw - 2.4rem);max-height:calc(100dvh - 3rem)}
  .ln{grid-template-columns:1fr}
  .ln-img{padding:.8rem .8rem 0;background:#F4F0E8}
  .ln-img img{aspect-ratio:16/6;object-position:50% 70%}
  .ln-body{padding:1rem 1.15rem 1.15rem}
  .ln-eyebrow{font-size:.62rem;margin-bottom:.5rem}
  .ln-body h2{font-size:1.6rem;margin-bottom:.5rem}
  .ln-story{font-size:1.05rem;margin-bottom:.3rem}
  .ln-copy{font-size:.92rem;line-height:1.45;margin-bottom:.9rem}
  .ln-form .btn.solid{padding:.6rem 1.1rem}
  .ln-legal{font-size:.72rem}
  .ln-x{width:1.9rem;height:1.9rem}
}

/* ===== Up close: scroll zoom into the print ===== */
.upclose{position:relative;height:560vh;background:#E9E3D7;color:#1D1B18}
.uc-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.uc-img{position:absolute;left:0;top:0;width:1744px;height:2336px;max-width:none;transform-origin:0 0;will-change:transform;user-select:none;-webkit-user-drag:none}
.uc-cap{position:absolute;left:clamp(1.5rem,6vw,6rem);top:50%;width:min(24rem,34vw);translate:0 -50%}
.uc-c{position:absolute;left:0;top:0;width:100%;translate:0 -50%;opacity:0;transition:none;background:rgba(233,227,215,.9);padding:1.4rem 1.6rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.uc-c .k{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#6D665B;margin:0 0 .7rem}
.uc-c h2,.uc-c h3{font-family:var(--display);font-weight:400;line-height:1.06;margin:0 0 .7rem}
.uc-c h2{font-size:clamp(2rem,3.6vw,3rem)} .uc-c h3{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.uc-c p{margin:0;color:#4E483F;font-size:1.02rem;line-height:1.55}
.uc-c a{color:#1D1B18}
.uc-map{position:absolute;right:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2.5rem);width:84px;opacity:0;transition:opacity .5s}
.uc-map img{display:block;width:100%;height:auto;opacity:.9;box-shadow:0 10px 24px -14px rgba(40,30,20,.6)}
.uc-map i{position:absolute;left:0;top:0;border:1px solid #1D1B18;box-shadow:0 0 0 999px rgba(233,227,215,.45);transform-origin:50% 50%}
.uc-map .m{position:relative;overflow:hidden}
.uc-map span{display:block;margin-top:.4rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#6D665B;text-align:right}
.uc-bar{position:absolute;left:0;bottom:0;height:2px;background:#1D1B18;opacity:.5;width:0}
@media (max-width:820px){
  .uc-cap{left:1rem;right:1rem;width:auto;top:auto;bottom:1rem;translate:none}
  .uc-c{top:auto;bottom:0;translate:none;padding:1rem 1.15rem}
  .uc-c h2{font-size:1.8rem} .uc-c h3{font-size:1.45rem}
  .uc-c p{font-size:.95rem}
  .uc-map{top:5rem;bottom:auto;right:1rem;width:58px}
}

/* ===== In Situ gallery ===== */
.is-head{max-width:40rem}
.is-head .hand{font-family:"PPS Script",cursive;font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--graphite);margin:.2rem 0 0}
.salon{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.5vw,2.4rem);row-gap:clamp(2.5rem,5vw,4.5rem);padding:1rem 0 clamp(5rem,9vw,8rem);align-items:start}
.sl{margin:0;position:relative;grid-column:var(--c);margin-top:var(--mt,0);translate:0 var(--py,0px)}
.sl button{all:unset;display:block;cursor:zoom-in;width:100%;transform:rotate(var(--r,0deg));transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s;box-shadow:0 30px 50px -36px rgba(40,30,20,.65)}
.sl button:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.sl img{display:block;width:100%;height:auto}
.sl:hover button,.sl button:focus-visible{transform:rotate(0deg) scale(1.025);box-shadow:0 40px 70px -40px rgba(40,30,20,.75)}
.sl figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1rem;transform:rotate(calc(var(--r,0deg) * .5))}
.sl .h{font-family:"PPS Script",cursive;font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.3}
.sl .n{font-size:.8rem;color:var(--graphite);white-space:nowrap}
.sl .n a{color:inherit}
.sl.tape button::before{content:"";position:absolute;left:50%;top:-12px;width:84px;height:24px;translate:-50% 0;rotate:-3deg;background:rgba(244,240,232,.75);box-shadow:0 1px 2px rgba(0,0,0,.08);z-index:1}
.sl-yours{border:1px dashed var(--rule);padding:clamp(1.6rem,3vw,2.6rem);transform:rotate(var(--r,0deg));text-align:center}
.sl-yours .h{display:block;font-size:clamp(1.4rem,2.2vw,1.9rem);margin-bottom:.6rem}
.sl-yours p{color:var(--graphite);margin:0 0 1.2rem;font-size:1rem}
@media (max-width:820px){
  .salon{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:2.2rem}
  .sl{grid-column:var(--cm,span 1);margin-top:var(--mtm,0);translate:none}
  .sl figcaption{display:block;margin-top:.6rem}
  .sl .n{display:block;margin-top:.15rem;white-space:normal}
}
dialog#lb{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0}
dialog#lb::backdrop{background:rgba(233,227,215,.96)}
#lb .lb-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4.5rem 1rem 2rem;gap:1rem}
#lb img{max-width:min(92vw,70rem);max-height:calc(100dvh - 9rem);width:auto;height:auto;box-shadow:0 40px 80px -40px rgba(40,30,20,.6)}
#lb p{margin:0;color:#1D1B18;font-family:"PPS Script",cursive;font-size:1.25rem}
#lb .lb-x,#lb .lb-nav{all:unset;cursor:pointer;position:absolute;color:#1D1B18;font-size:1.6rem;line-height:1;padding:.8rem}
#lb .lb-x{top:.8rem;right:1rem}
#lb .lb-nav{top:50%;translate:0 -50%;font-family:var(--display);font-size:2.2rem}
#lb .lb-p{left:.5rem} #lb .lb-n{right:.5rem}

.po-tag{display:inline-block;margin-left:.5rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--rule);padding:.12rem .45rem;vertical-align:middle;color:var(--graphite)}
.po-note{font-size:.92rem;color:var(--graphite);border-left:2px solid var(--ink);padding:.2rem 0 .2rem .9rem;margin:1.2rem 0;max-width:32em}
.po-note b{color:var(--ink);font-weight:500}

.pack{padding:0 0 clamp(2rem,5vw,4rem);overflow:hidden}
.pack-fig{margin:0 auto;max-width:min(1150px,100%);text-align:center}
.pack-fig img{display:block;width:100%;height:auto}
.pack-fig figcaption{margin-top:-2%;color:var(--graphite);font-size:1rem;padding:0 1.2rem}
.pack-fig .hand{font-family:"PPS Script",cursive;color:var(--ink);font-size:1.35rem;margin-right:.4rem}
@media (max-width:700px){.pack-fig img{width:124%;max-width:none;margin-left:-12%}}

/* ===== Home: unwrapping hero ===== */
.unwrap{position:relative;height:460vh;background:#E9E3D7;color:#1D1B18}
.unwrap canvas{position:absolute;inset:0;width:100%;height:100%;display:block}

.why-taube{padding:clamp(3rem,6vw,5rem) 0 0}
.why-taube h2.hand{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.6;margin-bottom:1rem}
.why-taube p{color:var(--graphite)}

/* Script font always in lowercase, like a word written mid-sentence */
.soon-box .hand,.hand,.mark .script,.ln-story,.st-back .pp span,.st-back .sig,.forthcoming h3,.is-head .hand,.sl .h,#lb p,.pack-fig .hand{text-transform:lowercase}

/* Header logo: a bit smaller and lower */
.site-head .mark .script{font-size:2.35rem;padding-top:.45rem}
.scrolled .site-head .mark .script{font-size:1.85rem;padding-top:.35rem}
@media (max-width:820px){.site-head .mark .script{font-size:2rem;padding-top:.3rem}.scrolled .site-head .mark .script{font-size:1.7rem}}

/* ===== Flying dove (ink line) ===== */
.flight{position:relative;height:0;z-index:3;pointer-events:none}
.flight .fl-trail{position:absolute;left:0;top:-4vh;width:100%;height:30vh;overflow:visible}
.fl-path{opacity:.55}
.fl-bird{position:absolute;left:0;top:0;width:clamp(84px,9vw,140px);height:auto;overflow:visible;will-change:transform}
.fl-wing{transform-box:view-box;transform-origin:73px 57px}
@media (prefers-reduced-motion:reduce){.flight{display:none}}
@media (max-width:820px){.flight .fl-trail{top:0;height:20vh}}

/* ===== Series (sets) ===== */
.sets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);max-width:56rem;gap:clamp(2.5rem,5vw,4.5rem) clamp(2rem,4vw,4rem);border-top:1px solid var(--rule);padding-top:clamp(2rem,4vw,3rem)}
.set{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.2rem,2.5vw,2rem);align-items:center}
.set-stack{position:relative;display:block;aspect-ratio:1/1;text-decoration:none}
.set-stack .sp{position:absolute;width:52%;aspect-ratio:992/1200;background:#F4F0E8;padding:4%;box-shadow:0 22px 40px -26px rgba(40,30,20,.55);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.set-stack .sp img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1)}
.set-stack .sp0{left:0;top:14%;transform:rotate(-6deg)}
.set-stack .sp1{left:24%;top:2%;z-index:2;transform:rotate(1deg)}
.set-stack .sp2{left:47%;top:16%;transform:rotate(6deg)}
.set-stack:hover .sp0{transform:rotate(-9deg) translateX(-6%)} .set-stack:hover .sp2{transform:rotate(9deg) translateX(6%)}
.set .k,.in-set .k{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--graphite);margin:0 0 .5rem}
.set h3{font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 .6rem}
.set p{color:var(--graphite);margin:0 0 .8rem;font-size:1rem}
.set .set-nos{font-size:.88rem;line-height:1.6} .set .set-nos a{color:var(--ink)}
.set .set-price{color:var(--ink)} .set .set-price s{color:var(--graphite);margin-left:.4rem}
.sets-wrap{padding:clamp(4rem,8vw,7rem) 0 2rem}
.in-set{border:1px solid var(--rule);padding:1.2rem 1.3rem;margin:1.4rem 0}
.in-set h3{font-size:1.5rem;margin:0 0 .8rem}
.in-set-row{display:flex;gap:.6rem;margin-bottom:1rem}
.in-set-row a{width:4.2rem;aspect-ratio:4/5;display:block;opacity:.65;outline-offset:3px;transition:opacity .3s}
.in-set-row a.on{opacity:1;outline:1px solid var(--ink)}
.in-set-row img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.coll-soon{display:block;width:5.5rem;aspect-ratio:4/5;border:1px dashed var(--rule)}
.soon-box{border:1px dashed var(--rule);padding:clamp(2rem,5vw,4rem);text-align:center;margin-bottom:5rem}
.soon-box .hand{font-size:clamp(1.8rem,3vw,2.4rem);margin:0 0 .6rem}
.soon-box p{color:var(--graphite)}
@media (max-width:900px){.sets{grid-template-columns:1fr}}
@media (max-width:520px){.set{grid-template-columns:1fr}.set-stack{max-width:20rem;margin:0 auto;width:100%}.coll-soon{width:4.5rem}}

/* ===== Seal intro: rotating dove seal ===== */
.seal-intro{position:relative;z-index:4;height:max(100vh,46rem);height:max(100svh,46rem);background:transparent;color:#1D1B18;pointer-events:none}
.seal-intro .si-word{pointer-events:auto}
.seal-intro ~ .unwrap .st-cue{display:none}
.si-stage{position:relative;height:100%;padding-top:7rem;padding-bottom:var(--si-pb,6vh);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.si-seal{width:min(48vh,64vw);height:auto;display:block;will-change:transform,opacity}
.si-word{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;margin:2.6rem 0 .5rem;color:#1D1B18}
.si-word span{font-family:"PPS Script",cursive;text-transform:lowercase;font-size:1.35rem;line-height:1.2;margin-bottom:.2rem}
.si-word svg{width:34px;height:68px;overflow:visible;animation:sibob 2.4s cubic-bezier(.65,0,.35,1) infinite}
.si-word:focus-visible{outline:1px solid #1D1B18;outline-offset:6px}
@keyframes sibob{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@media (prefers-reduced-motion:reduce){.si-word svg{animation:none}}
.si-tag{margin:0;color:#6D665B;font-size:1rem;letter-spacing:.02em;text-align:center;padding:0 1.5rem}
@media (max-width:820px){.si-seal{width:min(42vh,74vw)}}

/* ===== Header: more items, earlier burger ===== */
@media (min-width:821px) and (max-width:1060px){
  .site-head{grid-template-columns:auto 1fr auto}
  .menu-btn{display:block}
  .site-head nav{grid-column:1/-1;grid-row:2;display:none;padding-top:1.25rem}
  .site-head nav.open{display:block}
  .site-head nav ul{flex-direction:column;gap:.7rem;font-size:1.2rem}
}

/* ===== Add-to-wall plus on cards ===== */
.card-w{position:relative;display:flex}
.card-w>.card{flex:1;min-width:0}
.wall-add{position:absolute;top:clamp(1.3rem,2.4vw,1.8rem);right:clamp(1.3rem,2.4vw,1.8rem);width:2.4rem;height:2.4rem;border-radius:50%;border:0;padding:0;
  background:rgba(243,239,230,.94);color:var(--ink);font-family:var(--display);font-size:1.5rem;line-height:1;cursor:pointer;display:grid;place-items:center;
  box-shadow:0 2px 10px rgba(0,0,0,.14);opacity:0;transform:scale(.85);transition:opacity .3s,transform .3s,background .2s,color .2s;z-index:2}
.wall-add::before{content:"+";margin-top:-.08em}
.wall-add.on::before{content:"✓";font-size:.95rem;margin:0}
.card-w:hover .wall-add,.wall-add:focus-visible,.wall-add.on{opacity:1;transform:none}
.wall-add:hover,.wall-add.on{background:var(--ink);color:var(--paper)}
@media (hover:none){.wall-add{opacity:1;transform:none}}
.wall-link{background:none;border:0;padding:0;font:inherit;font-size:1rem;color:var(--ink);text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px;cursor:pointer;margin:1.2rem 0 0 1.4rem}
.wall-link.on{text-decoration:none}

/* ===== Toast ===== */
.toast{position:fixed;left:50%;bottom:calc(1.4rem + env(safe-area-inset-bottom,0px));transform:translate(-50%,1rem);background:var(--ink);color:var(--paper);
  padding:.85rem 1.4rem;font-size:.98rem;z-index:300;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s;max-width:calc(100% - 2rem);text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast a{color:var(--paper);margin-left:.2rem}

/* ===== Collections page ===== */
.k-line{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--graphite);margin:0 0 .8rem}
.cp-sec{margin-bottom:clamp(4rem,8vw,6.5rem)}
.coll-big{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.4vw,2rem)}
.cb{background:var(--card);padding:clamp(.8rem,1.4vw,1.1rem) clamp(.8rem,1.4vw,1.1rem) 1.5rem;text-decoration:none;display:flex;flex-direction:column}
.cb-mosaic{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:1fr 1fr;gap:.35rem;aspect-ratio:5/6;overflow:hidden}
.cb-mosaic img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform 1.4s cubic-bezier(.19,1,.22,1)}
.cb-mosaic img:first-child{grid-row:1/3}
.cb:hover .cb-mosaic img{transform:scale(1.035)}
.cb-soon{aspect-ratio:5/6;display:grid;place-items:center;border:1px dashed var(--rule);font-size:1.5rem;color:var(--graphite)}
.cb h2{font-size:clamp(1.7rem,2.6vw,2.2rem);margin:1.1rem 0 .5rem}
.cb p{margin:0;color:var(--graphite);font-size:1.02rem;line-height:1.45}
.cb .count{margin-top:auto;padding-top:1.1rem;font-style:italic;color:var(--ink)}
.cb:hover h2,.ed:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.edits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.4rem,4vw,3.6rem) clamp(1.2rem,3vw,2.4rem)}
.ed{text-decoration:none;display:flex;flex-direction:column}
.ed-fan{position:relative;aspect-ratio:4/3;margin-bottom:1.1rem}
.ef{position:absolute;top:9%;width:38%;background:#F6F3EC;padding:3%;box-shadow:0 8px 22px rgba(0,0,0,.13);transition:transform .9s cubic-bezier(.19,1,.22,1)}
.ef img{width:100%;aspect-ratio:992/1200;object-fit:cover;filter:grayscale(1);display:block}
.ef0{left:7%;transform:rotate(-6deg)}
.ef1{left:31%;top:4%;z-index:2;transform:rotate(1deg)}
.ef2{left:55%;transform:rotate(6deg)}
.ed:hover .ef0{transform:rotate(-9deg) translateX(-7%)}
.ed:hover .ef1{transform:translateY(-4%) rotate(0)}
.ed:hover .ef2{transform:rotate(9deg) translateX(7%)}
.ed h3{font-size:clamp(1.5rem,2.2vw,1.9rem);margin-bottom:.4rem}
.ed p{margin:0;color:var(--graphite)}
.ed .count{font-style:italic;font-size:.95rem;margin-top:.6rem;color:var(--ink)}
.wall-teaser{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;background:var(--kraft);padding:clamp(1.4rem,4vw,3.4rem);margin-bottom:6rem}
.wtz-wall{display:flex;justify-content:center;align-items:center;gap:6%;padding:11% 5% 15%;background:linear-gradient(180deg,#E6DFD2 0 84%,#F0EAE0 84% 86%,#C9B395 86%)}
.wtz-f{width:23%;background:#1b1a18;padding:2.2%;box-shadow:0 10px 22px rgba(0,0,0,.2)}
.wtz-f img{display:block;width:100%;aspect-ratio:992/1200;object-fit:cover;filter:grayscale(1);border:clamp(4px,.9vw,11px) solid #F6F3EC}
.wall-teaser h2{font-size:clamp(2rem,3.4vw,2.9rem);margin:0 0 .9rem}
.wall-teaser p{color:var(--graphite);margin:0 0 1.6rem}
.edit-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:1.6rem}
@media (max-width:1000px){.coll-big,.edits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.wall-teaser{grid-template-columns:1fr}}
@media (max-width:560px){.edits{grid-template-columns:1fr}.coll-big{gap:.8rem}.cb h2{font-size:1.45rem;margin:.8rem 0 .35rem}.cb p{font-size:.92rem}}

/* ===== Your wall ===== */
.wall-tools{display:flex;flex-wrap:wrap;gap:1.2rem 2.6rem;align-items:flex-start;margin-bottom:1.4rem}
.wt{display:flex;flex-direction:column;gap:.55rem}
.wt-l{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--graphite)}
.wt-opts{display:flex;flex-wrap:wrap;gap:.4rem}
.wt-opts button{display:flex;align-items:center;gap:.5rem;background:none;border:1px solid var(--rule);padding:.45rem .7rem;font:inherit;font-size:.92rem;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s;min-height:2.4rem}
.wt-opts button:hover{border-color:var(--graphite)}
.wt-opts button[aria-pressed="true"]{border-color:var(--ink);background:var(--card)}
.lay{display:grid;grid-template-columns:repeat(var(--c),5px);grid-auto-rows:7px;gap:2px}
.lay b{background:currentColor;opacity:.8}

.slot{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none;color:var(--wall-ink);font:inherit;
  cursor:grab;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;
  transition:transform .4s cubic-bezier(.19,1,.22,1),opacity .2s}
.slot:focus-visible{outline:2px solid var(--wall-ink);outline-offset:4px}
.slot.empty{cursor:pointer;border:1.5px dashed currentColor;opacity:.42;display:grid;place-items:center;transition:opacity .25s,background .25s}
.slot.empty:hover,.slot.empty.sel,.slot.empty.over{opacity:1;background:rgba(255,255,255,.22)}
.slot .plus{position:relative;width:calc(var(--fw) * .2);height:calc(var(--fw) * .2)}
.slot .plus::before,.slot .plus::after{content:"";position:absolute;left:50%;top:50%;width:100%;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.slot .plus::after{transform:translate(-50%,-50%) rotate(90deg)}
  box-shadow:0 calc(var(--fw) * .035) calc(var(--fw) * .08) rgba(0,0,0,.24),0 1px 2px rgba(0,0,0,.2)}
.slot.full.sel{transform:translateY(-3%)}
.slot.dragging{opacity:.3}
.slot-x{position:absolute;top:calc(var(--fw) * -.1);right:calc(var(--fw) * -.1);width:1.8rem;height:1.8rem;border-radius:50%;padding:0;border:1px solid #1D1B18;background:#F3EFE6;color:#1D1B18;
  font-size:1.05rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s;z-index:3;display:grid;place-items:center}
.slot:hover .slot-x,.slot.sel .slot-x,.slot-x:focus-visible{opacity:1}
@media (hover:none){.slot-x{opacity:0;pointer-events:none}.slot.sel .slot-x{opacity:1;pointer-events:auto}}
.slot-cap{position:absolute;left:0;right:0;top:calc(100% + var(--fw) * .05);text-align:center;font-size:.78rem;opacity:.65;white-space:nowrap;pointer-events:none}
.wall-ghost{position:fixed;left:0;top:0;width:92px;z-index:400;pointer-events:none;background:#F6F3EC;padding:7px;box-shadow:0 14px 34px rgba(0,0,0,.32)}
.wall-ghost img{display:block;width:100%;aspect-ratio:992/1200;object-fit:cover;filter:grayscale(1)}

.wall-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;padding:1.3rem 0 2.6rem}
.wb-sum{font-size:1.08rem}
.wb-sum b{font-weight:500}
.wb-sum s{color:var(--graphite);margin-left:.35rem}
.wb-sum .small{display:block;margin-top:.25rem}
.wb-act{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}
.wb-act .tl{background:none;border:0;padding:0;font:inherit;font-size:1rem;color:var(--ink);text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px;cursor:pointer}
.wb-act .btn[disabled]{opacity:.4;pointer-events:none}

.wall-tray{border-top:1px solid var(--rule);padding:2.2rem 0 6rem}
.tray-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.2rem}
.tray-h{font-size:clamp(1.5rem,2.4vw,2rem);margin:0}
.tray-q{font:inherit;font-size:1rem;padding:.6rem .85rem;border:1px solid var(--rule);background:var(--card);color:var(--ink);width:min(20rem,100%);border-radius:0;-webkit-appearance:none;appearance:none}
.tray-q:focus{outline:none;border-color:var(--ink)}
.tray-f{display:flex;gap:.6rem 1.3rem;flex-wrap:wrap;margin-bottom:1.4rem}
.tray-f button{background:none;border:0;padding:0;font:inherit;font-size:1rem;color:var(--graphite);cursor:pointer}
.tray-f button[aria-pressed="true"]{color:var(--ink);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:1px}
.tray{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem .8rem;max-height:36rem;overflow:auto;padding:.3rem .3rem 1rem;overscroll-behavior:contain}
.tray-it{position:relative;background:var(--card);border:0;padding:.45rem .45rem .55rem;text-align:left;font:inherit;color:var(--ink);cursor:grab;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:outline-color .2s}
.tray-it:hover{outline:1px solid var(--ink)}
.tray-it img{width:100%;aspect-ratio:992/1200;object-fit:cover;filter:grayscale(1);pointer-events:none;display:block}
.tray-it span{display:block;font-size:.76rem;color:var(--graphite);margin-top:.35rem}
.tray-it em{display:block;font-style:normal;font-size:.88rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tray-it::after{content:"+";position:absolute;top:.75rem;right:.75rem;width:1.55rem;height:1.55rem;border-radius:50%;background:rgba(243,239,230,.95);display:grid;place-items:center;
  font-family:var(--display);font-size:1.1rem;line-height:1;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.tray-it.on::after{content:"✓";background:var(--ink);color:var(--paper);font-family:var(--text);font-size:.8rem}
@media (max-width:720px){
  .wt-opts button{padding:.45rem .6rem}
  .wall-tools{gap:1rem 1.6rem}
  .tray{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));max-height:28rem}
  .wb-act{gap:.9rem 1.2rem}
  .wb-act .btn{width:100%;text-align:center}
}

.wall-page{scroll-margin-top:5.5rem}
.wall-intro{max-width:var(--measure);color:var(--graphite);margin:-1.4rem 0 2rem;font-size:1.1rem}
.wall-room{--fw:150px;--wall-ink:#1D1B18;position:relative;background:var(--paper);padding:clamp(2.4rem,5vw,4.2rem) 0 1.2rem}
.wall-grid{display:grid;grid-template-columns:repeat(var(--c),var(--fw));grid-auto-rows:calc(var(--fw) * 1.5);gap:calc(var(--fw) * .28);justify-content:center}
.wf-print{position:absolute;inset:0;background-color:#EFEBE2;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .27 0 0 0 0 .2 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");padding:21.4% 5.7%;
  box-shadow:0 1px 1px rgba(70,55,35,.14),0 calc(var(--fw) * .05) calc(var(--fw) * .12) calc(var(--fw) * -.03) rgba(70,55,35,.34);transition:box-shadow .4s}
.wf-print img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;mix-blend-mode:multiply;filter:grayscale(1) contrast(.9) brightness(1.04) sepia(.12)}
.wf-print::after{content:"";position:absolute;inset:0;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .27 0 0 0 0 .2 0 0 0 .13 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply;pointer-events:none}
.slot.full.sel .wf-print,.slot.full.over .wf-print{outline:1.5px solid var(--ink);outline-offset:calc(var(--fw) * .07)}
.slot.full.sel .wf-print{box-shadow:0 1px 1px rgba(70,55,35,.14),0 calc(var(--fw) * .09) calc(var(--fw) * .18) calc(var(--fw) * -.04) rgba(70,55,35,.4)}
.wall-hint{margin:2.2rem 0 0;min-height:1.5em;text-align:center;font-style:italic;font-size:.98rem;color:var(--graphite)}
.wall-ghost{background:#EFEBE2;padding:6px 5px 10px}
@media (max-width:720px){.wall-intro{margin-top:-1rem}}
.sets{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}
.set .set-wall{display:block;margin-top:1rem;background:none;border:0;padding:0;font:inherit;font-size:.98rem;color:var(--ink);text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px;cursor:pointer}
@media (max-width:900px){.sets{grid-template-columns:1fr}}
.foot-seal{display:block;width:clamp(4.2rem,7vw,5.4rem);margin:clamp(2.6rem,5vw,3.6rem) auto 0;opacity:.92;transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
.foot-seal img{display:block;width:100%;height:auto}
.foot-seal:hover{transform:rotate(-20deg)}
.foot-seal + .foot-small{margin-top:1.6rem}
.st-cue{display:none!important}
.scue{all:unset;position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 1.8rem);z-index:8;cursor:pointer;padding:.4rem .8rem;
  transform:translate(-50%,.6rem);opacity:0;pointer-events:none;transition:opacity .6s,transform .6s cubic-bezier(.19,1,.22,1)}
.scue.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.scue svg{display:block;width:32px;height:64px;overflow:visible;animation:sibob 2.4s cubic-bezier(.65,0,.35,1) infinite}
.scue:focus-visible{outline:1px solid #1D1B18;outline-offset:4px}
.fr-sticky{position:sticky}
@media (max-width:820px){.scue{bottom:calc(env(safe-area-inset-bottom,0px) + 1.1rem)}.scue svg{width:26px;height:52px}}
@media (prefers-reduced-motion:reduce){.scue svg{animation:none}}
.founder{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,5.5rem);align-items:center;max-width:64rem;margin:clamp(4rem,9vw,7rem) auto clamp(5rem,9vw,7rem);padding-top:clamp(3rem,7vw,5rem);border-top:1px solid var(--rule)}
.fd-img{margin:0;background:var(--card);padding:clamp(.7rem,1.6vw,1.1rem);box-shadow:0 30px 60px -40px rgba(40,30,20,.5)}
.fd-img img{display:block;width:100%;height:auto}
.fd-note p{font-size:1.15rem;line-height:1.65;max-width:30em}
.fd-note .k-line{font-size:.74rem;line-height:1.4}
.fd-sign{margin:1.8rem 0 .4rem;min-height:4.5rem;display:flex;align-items:flex-end}
.fd-sign img{display:block;height:clamp(3.6rem,7vw,4.8rem);width:auto;max-width:100%}
.fd-sign .hand{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.3}
.fd-name{font-size:.95rem!important;color:var(--graphite);margin:0}
@media (max-width:820px){.founder{grid-template-columns:1fr}.fd-img{max-width:26rem;margin:0 auto;width:100%}}
/* The ink dove trail is the only element wider than a phone screen: keep it inside */
.flight{overflow:hidden}
/* Compact launch pop-up */
#launch.ln-compact{width:min(30rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem)}
#launch.ln-compact .ln{display:block}
#launch.ln-compact .ln-body{padding:clamp(1.4rem,4vw,2rem);text-align:center}
#launch.ln-compact .ln-seal{width:3.4rem;height:auto;margin:0 auto .8rem;display:block}
#launch.ln-compact .ln-eyebrow{font-size:.68rem;margin:0 0 .6rem}
#launch.ln-compact h2{font-size:clamp(1.6rem,4.6vw,2.05rem);line-height:1.1;margin:0 0 .7rem}
#launch.ln-compact .ln-copy{font-size:.98rem;line-height:1.5;margin:0 auto 1.1rem;max-width:24em}
#launch.ln-compact .ln-form .inline{justify-content:center}
#launch.ln-compact .ln-form input{font-size:1rem;padding:.45rem 0;text-align:left}
#launch.ln-compact .ln-form .btn.solid{padding:.62rem 1.2rem;font-size:.95rem}
#launch.ln-compact .ln-legal{font-size:.76rem;margin-top:.6rem}
#launch.ln-compact .ln-x{top:.55rem;right:.6rem;background:none}
/* Newsletter on the start page */
.nl-home{padding:clamp(3.5rem,8vw,6rem) 0;border-top:1px solid var(--rule)}
.nl-in{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:clamp(1.4rem,4vw,3.5rem);align-items:center}
.nl-seal{width:clamp(4rem,7vw,5.6rem);height:auto}
.nl-text h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1;margin:0 0 .6rem}
.nl-text p:not(.k-line){color:var(--graphite);margin:0;max-width:30em}
.nl-form.order{margin:0;padding:0;border:0}
.nl-form .inline{display:flex;gap:.8rem;align-items:flex-end;flex-wrap:wrap}
.nl-form .fld{flex:1 1 13rem;margin:0}
.nl-form input{width:100%;font:inherit;font-size:1.08rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:.55rem 0;border-radius:0}
.nl-form input:focus{outline:none;border-bottom-width:2px}
.nl-form .form-err{min-height:1.2em;margin:.5rem 0 0;font-size:.92rem}
.nl-legal{font-size:.82rem;color:var(--graphite);margin:.2rem 0 0}
.nl-legal a{color:inherit}
@media (max-width:900px){.nl-in{grid-template-columns:auto minmax(0,1fr)}.nl-form{grid-column:1/-1}}
@media (max-width:520px){.nl-in{grid-template-columns:1fr;text-align:center}.nl-seal{margin:0 auto}.nl-form .inline{justify-content:center}.nl-text p:not(.k-line){margin:0 auto}}
/* Zoom section: keep the caption above the scroll arrow on phones */
@media (max-width:820px){.upclose .uc-cap{bottom:calc(env(safe-area-inset-bottom,0px) + 5.6rem)}}
.upclose .scue{background:rgba(233,227,215,.88);border-radius:999px;padding:.55rem .75rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
@media (max-width:820px){.upclose .uc-map{top:calc(env(safe-area-inset-top,0px) + 7rem)}}
.upclose .uc-map{background:rgba(233,227,215,.92);padding:5px 5px 3px;box-sizing:content-box}
.upclose .uc-map span{margin-top:.3rem;text-align:center;color:#4E483F}
.uc-c.uc-dark{background:rgba(50,49,54,.94)}
.uc-c.uc-dark .k{color:#B4B2B8}
.uc-c.uc-dark h3{color:#F2F1F3}
.uc-c.uc-dark p{color:#DDDBE0}
