/*
Theme Name: The Case File Press
Theme URI: https://thecasefilepress.com
Author: The Case File Press
Description: Block theme reproducing the validated "prototype B": a stone shelf with five 3D worlds under glass domes. Editions and products are custom post types rendered on the server; everything is editable in the WordPress editor.
Version: 0.5.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: Proprietary
Text Domain: thecasefilepress
*/

/* S7 (performance): fallback faces sized like the web fonts (size-adjust and line metrics measured from the woff2 files
   against Liberation Sans / Serif, metric twins of Arial / Times New Roman), so the swap to the web font moves nothing. */
@font-face{font-family:'Instrument Sans Fallback';src:local('Arial'),local('Liberation Sans'),local('Helvetica'),local('Arimo');size-adjust:103.1%;ascent-override:94.08%;descent-override:24.25%;line-gap-override:0%}
@font-face{font-family:'Instrument Serif Fallback';src:local('Times New Roman'),local('Liberation Serif'),local('Times'),local('Tinos');size-adjust:83.28%;ascent-override:118.88%;descent-override:37.22%;line-gap-override:0%}
@font-face{font-family:'Instrument Serif Fallback';font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Liberation Serif Italic'),local('Times Italic'),local('Tinos Italic');size-adjust:87.4%;ascent-override:113.27%;descent-override:35.47%;line-gap-override:0%}
/* ===== Prototype B CSS (verbatim, selectors adapted: #mini→.mini, #fb→.fb, stage hooks scoped to .stage) ===== */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:#F7F3EC;font-family:'Instrument Sans','Instrument Sans Fallback',system-ui,sans-serif;color:#14181F}
a{color:#14181F;text-decoration:none}
a:hover .u,a.u:hover{text-decoration:underline;text-underline-offset:4px}
::selection{background:#14181F;color:#F7F3EC}
:focus-visible{outline:2px solid #14181F;outline-offset:3px}
button{font-family:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.cap{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#4B4F56}
.serif{font-family:'Instrument Serif','Instrument Serif Fallback',serif}
/* en-tête */
.top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid #14181F;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#4B4F56}
.brand{text-align:center;padding:14px 0 2px}
.brand a{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:clamp(40px,6vw,68px);line-height:1;letter-spacing:-.01em}
.nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 40px;padding:0 0 8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.nav a{min-height:40px;display:flex;align-items:center}
.bar{display:flex;flex-wrap:wrap;border-top:1px solid #14181F;border-bottom:1px solid #14181F}
.chip{flex:1 1 200px;display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 16px;border-right:1px solid #8A857A}
.chip:last-child{border-right:0}
.chip.on{background:#FFFFFF;box-shadow:inset 0 -3px 0 #14181F}
.chip .nm{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:21px;line-height:1.05}
.sw{flex:none;border-radius:50%;border:1px solid #14181F;display:flex;align-items:center;justify-content:center}
/* titres */
h1.big{margin:0;max-width:11em;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-weight:400;font-size:clamp(46px,7vw,96px);line-height:.98;letter-spacing:-.015em}
h2.sec{margin:0;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-weight:400;font-size:clamp(36px,4.6vw,60px);line-height:1}
.lead{margin:28px 0 0;max-width:36em;font-size:18px;line-height:1.65;color:#3B4048}
section.blk{padding:72px 0;border-top:1px solid #14181F}
/* index */
.idx{margin-top:56px;border-top:1px solid #14181F}
.idx label{display:block;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:26px;margin-bottom:6px}
.idx .in{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}
.idx input{flex:1 1 420px;min-height:72px;padding:0;font:400 clamp(30px,4.2vw,52px) 'Instrument Serif','Instrument Serif Fallback',serif;border:0;border-bottom:2px solid #14181F;background:transparent;color:#14181F;border-radius:0}
.idx input::placeholder{color:#8A857A;font-style:italic}
.lnk{min-height:44px;padding:0 4px;font:500 12px 'Instrument Sans','Instrument Sans Fallback',sans-serif;letter-spacing:.16em;text-transform:uppercase;border:0;border-bottom:1px solid #14181F;background:transparent;color:#14181F;border-radius:0;cursor:pointer}
.ex{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:16px}
.ex button{min-height:44px;padding:0 8px;font:italic 400 19px 'Instrument Serif','Instrument Serif Fallback',serif;border:0;background:transparent;color:#14181F;text-decoration:underline;text-decoration-color:#B9B2A3;text-underline-offset:5px;cursor:pointer}
.row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:18px 0;border-bottom:1px solid #CFC8BA}
.row .n{width:34px;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:20px;color:#5B5F66}
.row .t{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:clamp(24px,2.8vw,34px);line-height:1.1}
.row .dots{flex:1 1 30px;min-width:24px;border-bottom:1px dotted #8A857A;transform:translateY(-6px)}
.row .ed{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.row .pr{min-width:64px;text-align:right;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:22px}
.row .why{flex-basis:100%;padding-left:48px;font-size:13px;color:#5B5F66;font-style:italic}
/* scène 3D */
.st3d{position:relative;height:470px;border:1px solid #14181F;background:radial-gradient(ellipse at 50% 30%,#FBF8F2 0%,#EFE8DB 58%,#DDD4C2 100%);overflow:hidden}
.st3d canvas{display:block;width:100%;height:100%}
.st3d:not(.ready) canvas{visibility:hidden}
.st3d.ready .fb{display:none}
.st3d:not(.ready) .lab{display:none}
.lab{position:absolute;transform:translateX(-50%);text-align:center;color:#14181F;width:190px;transition:opacity .3s,transform .3s}
.lab .n{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#4B4F56}
.lab .t{display:block;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:24px;line-height:1.05;margin:2px 0 2px}
.lab .m{font-size:13px;color:#3B4048}
.mini{position:fixed;left:0;right:0;top:0;z-index:50;background:rgba(247,243,236,.96);backdrop-filter:blur(6px);border-bottom:1px solid #14181F;transform:translateY(-110%);transition:transform .3s}
.mini.show{transform:none}
.mini .in{max-width:1240px;margin:0 auto;padding:6px 40px;display:flex;align-items:center;gap:18px}
.mini .mb{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:24px;line-height:1;white-space:nowrap}
.mini .mc{display:flex;gap:8px;margin-left:auto;align-items:center}
.mini .mchip{display:flex;border-radius:50%;padding:2px;border:2px solid transparent}
.mini .mchip.on{border-color:#14181F}
.mini .mh{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;min-height:44px;display:flex;align-items:center;padding:0 6px}
.tap{position:absolute;left:12px;bottom:10px;font:italic 15px 'Instrument Serif','Instrument Serif Fallback',serif;background:rgba(247,243,236,.88);padding:2px 8px;pointer-events:none}
.backrow{padding:16px 0 0}
@media (max-width:760px){.mini .in{padding:6px 16px;gap:10px}.mini .mb{font-size:19px}}
.lab .hint{display:block;margin-top:6px;font:italic 14px 'Instrument Serif','Instrument Serif Fallback',serif;color:#4B4F56}
.lab .hB{display:none;color:#14181F}
.lab.sel .hA{display:none}.lab.sel .hB{display:block}
.lab.sel .t{text-decoration:underline;text-underline-offset:5px}
.cvr.sm .tt{font-size:17px;margin:auto 10px 0}.cvr.sm .sub{display:none}.cvr.sm .mk{width:24px;height:24px;margin:8px 0 0 10px}
.lab.hot{transform:translateX(-50%) translateY(-6px)}
.lab.hot .t{text-decoration:underline;text-underline-offset:5px}
.nogl .lab{position:static;transform:none;display:block;width:auto;text-align:left;padding:10px 12px}
.nogl .fb{display:block}
/* pages d'édition */
.zone{transition:background-color .4s}
.band{height:12px;border-bottom:1px solid #14181F}
.crumb{padding:22px 0;display:flex;flex-wrap:wrap;gap:6px;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:19px;color:#4B4F56}
.crumb a{min-height:32px;display:flex;align-items:center;color:#14181F;text-decoration:underline;text-decoration-color:#8A857A;text-underline-offset:4px}
.hero{display:flex;flex-wrap:wrap;border:1px solid #14181F;background:#fff}
.hero .l{flex:1 1 380px;min-height:500px}
.hero .l .st3d{height:100%;min-height:500px;border:0;border-right:1px solid #14181F}
.hero .r{flex:2 1 460px;padding:44px 48px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.facts{display:flex;flex-wrap:wrap;gap:6px 32px;font-size:14px;color:#3B4048;padding-top:14px;border-top:1px solid #CFC8BA}
.tabs{display:flex;flex-wrap:wrap;gap:0 28px;margin:20px 0 36px;border-bottom:1px solid #14181F}
.tabs button{min-height:48px;padding:0;margin-bottom:-1px;font:400 22px 'Instrument Serif','Instrument Serif Fallback',serif;border:0;border-bottom:2px solid transparent;background:transparent;color:#4B4F56;border-radius:0;cursor:pointer}
.tabs button.on{font-style:italic;color:#14181F;border-bottom-color:#14181F}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:36px 28px}
.card{display:flex;flex-direction:column;gap:14px}
.card .cv{aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;border:1px solid #14181F;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#4B4F56;text-align:center;padding:16px;line-height:1.8;transition:transform .3s}
.card:hover .cv{transform:translateY(-6px)}
.card .nm{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:30px;line-height:1.08}
.card .ft{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding-top:10px;border-top:1px solid #8A857A}
.back{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;padding:22px 0;border-top:1px solid #8A857A;border-bottom:1px solid #14181F;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:clamp(28px,3.4vw,44px)}
/* produit */
.prod{display:flex;flex-wrap:wrap;gap:48px;padding:12px 0 64px}
.prod .l{flex:1 1 440px;min-width:0}
.prod .r{flex:1 1 400px;min-width:0}
.buy{display:flex;align-items:center;justify-content:center;min-height:62px;background:#14181F;color:#F7F3EC;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:26px;border:1px solid #14181F}
.buy:hover{background:#2a2f38}
.dl{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #8A857A;font-size:16px}
/* pied */
footer{border-top:1px solid #14181F;padding:36px 0 56px;margin-top:0}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px 32px;font-size:14px;line-height:1.7;color:#3B4048}
.fgrid .cap{margin-bottom:6px}
.facts4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 32px;font-size:15px;line-height:1.55;padding:36px 0 56px;border-top:1px solid #14181F}
/* couvertures maquettées */
.cvr{position:relative;aspect-ratio:4/5;border:1px solid #14181F;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 1px 0 #14181F,0 14px 24px -14px rgba(20,24,31,.45);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.cvr .bandc{height:15%;border-bottom:1px solid #14181F;flex:none}
.cvr .mk{margin:14px 0 0 16px}
.cvr .tt{margin:auto 16px 0;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:clamp(24px,2.4vw,34px);line-height:1}
.cvr .sub{margin:10px 16px 16px;padding-top:8px;border-top:1px solid rgba(20,24,31,.4);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#14181F}
.card:hover .cvr{transform:translateY(-6px) rotateX(2deg)}
.cvr.big .tt{font-size:clamp(34px,4vw,54px)}
.cvr.tilt{transform:perspective(1100px) rotateY(-9deg) rotateX(2deg)}
.cvr.tilt:hover{transform:perspective(1100px) rotateY(0) rotateX(0)}
.pages{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.pages i{aspect-ratio:3/4;border:1px solid #14181F;background:#fff repeating-linear-gradient(180deg,transparent 0 13px,#E4DED2 13px 14px);display:flex;align-items:flex-end;padding:6px;font:normal 10px 'Instrument Sans','Instrument Sans Fallback',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#4B4F56}
/* vraies images */
.pic{position:relative;border:1px solid #14181F;background:#fff;overflow:hidden;box-shadow:0 1px 0 #14181F,0 14px 24px -14px rgba(20,24,31,.45);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.pic img{display:block;width:100%;height:auto}
.pic.soon img{opacity:.78}
.pic.sq{aspect-ratio:1/1;background:#fff}.pic.sq img{height:100%;object-fit:contain}
.pic.bk{aspect-ratio:7/9}.pic.bk img{height:100%;object-fit:cover}
.tagc{position:absolute;left:10px;top:10px;background:#14181F;color:#F7F3EC;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:4px 8px}
.card:hover .pic,.card:hover .cvr{transform:translateY(-6px)}
.cvw .cvr{aspect-ratio:4/5}
.card .ln{margin:8px 0 0;font-size:15px;line-height:1.5;color:#3B4048}
.card .spec{margin-top:8px;font-size:12px;letter-spacing:.04em;color:#5B5F66}
.pic.bigp,.cvr.bigp{box-shadow:0 1px 0 #14181F,0 22px 34px -18px rgba(20,24,31,.5)}
.pagepic{margin-top:18px;display:flex;flex-direction:column;gap:6px}
.pagepic img{width:100%;border:1px solid #14181F;background:#fff}
.buy.off{background:transparent;color:#4B4F56;border:1px dashed #14181F}
.bn{margin-top:12px;font-size:14px;color:#3B4048}
.pic.sm .tagc{display:none}
/* téléphone */
.car{display:none}
@media (max-width:760px){
 .wrap{padding:0 20px}
 .bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .chip{flex:0 0 auto;min-height:56px;padding:8px 14px}
 .chip .nm{font-size:18px;white-space:nowrap}
 .hero .r{padding:28px 22px}
 .car{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
 .car button{flex:none;width:48px;height:48px;border:1px solid #14181F;background:#fff;font:400 28px 'Instrument Serif','Instrument Serif Fallback',serif;cursor:pointer;border-radius:0}
 .car a{flex:1;text-align:center;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:24px;line-height:1.1;text-decoration:none}.car a span{text-decoration:underline;text-underline-offset:5px}
 .car small{display:block;font:12px 'Instrument Sans','Instrument Sans Fallback',sans-serif;color:#4B4F56;text-decoration:none;margin-top:4px}
 .st3d.mob{height:400px}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.card .cvr,.cvr{transition:none}}

.stage *{animation-play-state:inherit}
.stage .scene{position:absolute;inset:0;padding:28px 32px;opacity:0}
.sc1{animation:s1 42s linear infinite}
.sc2{animation:s2 42s linear infinite}
.sc3{animation:s3 42s linear infinite}
.sc4{animation:s4 42s linear infinite}
.sc5{animation:s5 42s linear infinite}
.sc6{animation:s6 42s linear infinite}
.sc7{animation:s7 42s linear infinite}
.stage .b7{animation:b7 42s linear infinite}
.stage .pp{animation:pp 42s ease-out infinite}
.st7{animation:st7 42s linear infinite}
.stage .reveal{display:inline-block;animation:reveal 42s steps(26,end) infinite}
.stage .caret{animation:blink 1s steps(1) infinite}
.stage .hit{animation:hit 42s linear infinite}
.stage .dim{animation:dim 42s linear infinite}
.stage .w{opacity:0}
.stage .w1{animation:w1 42s linear infinite}
.stage .w2{animation:w2 42s linear infinite}
.stage .w3{animation:w3 42s linear infinite}
.stage .w4{animation:w4 42s linear infinite}
.stage .w5{animation:w5 42s linear infinite}
.stage .u1{animation:u1 42s linear infinite}
.stage .u2{animation:u2 42s linear infinite}
.stage .u3{animation:u3 42s linear infinite}
.stage .fa{animation:fa 42s linear infinite}
.stage .fc{animation:fc 42s linear infinite}
.stage .pick{animation:pick 42s ease-in-out infinite}
.stage .buy{animation:buy 42s linear infinite}
.stage .cursor{position:absolute;opacity:0;animation:cur 42s ease-in-out infinite}
.stage .k1{animation:k1 42s linear infinite}
.stage .k2{animation:k2 42s linear infinite}
.stage .k3{animation:k3 42s linear infinite}
.stage .a1{animation:a1 42s ease-out infinite}
.stage .a2{animation:a2 42s ease-out infinite}
.stage .a3{animation:a3 42s ease-out infinite}
.st1{animation:st1 42s linear infinite}
.st2{animation:st2 42s linear infinite}
.st3{animation:st3 42s linear infinite}
.st4{animation:st4 42s linear infinite}
.st5{animation:st5 42s linear infinite}
.st6{animation:st6 42s linear infinite}
@keyframes s1{0%{opacity:0}0.86%,13.29%{opacity:1}14.29%,100%{opacity:0}}
@keyframes s2{0%,14.29%{opacity:0}15.17%,27.43%{opacity:1}28.57%,100%{opacity:0}}
@keyframes s3{0%,28.57%{opacity:0}29.49%,41.66%{opacity:1}42.86%,100%{opacity:0}}
@keyframes s4{0%,42.86%{opacity:0}43.71%,55.89%{opacity:1}57.15%,100%{opacity:0}}
@keyframes s5{0%,57.15%{opacity:0}58.03%,70.2%{opacity:1}71.43%,100%{opacity:0}}
@keyframes s6{0%,71.43%{opacity:0}72.34%,84.34%{opacity:1}85.71%,100%{opacity:0}}
@keyframes s7{0%,85.71%{opacity:0}86.8%,98.6%{opacity:1}100%{opacity:0}}
@keyframes b7{0%,87%{opacity:0}87.8%,89.8%{opacity:1}90.4%,100%{opacity:0}}
@keyframes pp{0%,89.6%{opacity:0;transform:translateX(-22px)}91.4%,100%{opacity:1;transform:none}}
@keyframes st7{0%,85.2%{opacity:.35}86.5%,99.5%{opacity:1}100%{opacity:.35}}
@keyframes reveal{0%,1.29%{clip-path:inset(0 100% 0 0)}6.43%,100%{clip-path:inset(0 0 0 0)}}
@keyframes blink{50%{opacity:0}}
@keyframes hit{0%,6.86%{background:transparent}7.71%,13.11%{background:#FFFFFF}14.29%,100%{background:transparent}}
@keyframes dim{0%,6.86%{opacity:1}8.57%,13.11%{opacity:.28}14.29%,100%{opacity:1}}
@keyframes w1{0%,15.26%{opacity:0}15.77%,17.66%{opacity:1}18.17%,100%{opacity:0}}
@keyframes w2{0%,17.83%{opacity:0}18.34%,20.23%{opacity:1}20.74%,100%{opacity:0}}
@keyframes w3{0%,20.4%{opacity:0}20.91%,22.8%{opacity:1}23.31%,100%{opacity:0}}
@keyframes w4{0%,22.97%{opacity:0}23.49%,25.37%{opacity:1}25.89%,100%{opacity:0}}
@keyframes w5{0%,25.54%{opacity:0}26.06%,27.6%{opacity:1}28.2%,100%{opacity:0}}
@keyframes u1{0%,29.14%{opacity:0}29.66%,33.09%{opacity:1}33.6%,100%{opacity:0}}
@keyframes u2{0%,33.26%{opacity:0}33.77%,37.2%{opacity:1}37.71%,100%{opacity:0}}
@keyframes u3{0%,37.37%{opacity:0}37.89%,41.49%{opacity:1}42%,100%{opacity:0}}
@keyframes fa{0%,37.37%{opacity:1}37.89%,41.83%{opacity:.15}42.34%,100%{opacity:1}}
@keyframes fc{0%,33.26%{opacity:1}33.77%,37.2%{opacity:.15}37.71%,100%{opacity:1}}
@keyframes pick{0%,45%{transform:none;outline:1px solid #14181F}45.86%,52.71%{transform:translateY(-8px);outline:3px solid #14181F}54%,100%{transform:none;outline:1px solid #14181F}}
@keyframes buy{0%,53.14%{background:#14181F}54%,55.71%{background:#4F2176}56.57%,100%{background:#14181F}}
@keyframes cur{0%,43.29%{left:5.14%;top:78.86%;opacity:0}44.14%{left:5.14%;top:75.43%;opacity:1}46.29%,52.29%{left:25.71%;top:48%;opacity:1}54.43%,55.71%{left:61.71%;top:72%;opacity:1}56.83%,100%{left:61.71%;top:72%;opacity:0}}
@keyframes k1{0%,58.11%{opacity:0}58.63%,62.06%{opacity:1}62.57%,100%{opacity:0}}
@keyframes k2{0%,62.4%{opacity:0}62.91%,66.34%{opacity:1}66.86%,100%{opacity:0}}
@keyframes k3{0%,66.69%{opacity:0}67.2%,70.29%{opacity:1}70.97%,100%{opacity:0}}
@keyframes a1{0%,72.51%{opacity:0;transform:translateY(14px)}73.71%,100%{opacity:1;transform:none}}
@keyframes a2{0%,76.63%{opacity:0;transform:translateY(14px)}77.83%,100%{opacity:1;transform:none}}
@keyframes a3{0%,80.74%{opacity:0;transform:translateY(14px)}81.94%,100%{opacity:1;transform:none}}
@keyframes st1{0%,13.29%{opacity:1}14.57%,99.2%{opacity:.35}100%{opacity:1}}
@keyframes st2{0%,13.71%{opacity:.35}14.74%,27.86%{opacity:1}28.97%,100%{opacity:.35}}
@keyframes st3{0%,28.11%{opacity:.35}29.14%,42%{opacity:1}43.11%,100%{opacity:.35}}
@keyframes st4{0%,42.43%{opacity:.35}43.46%,56.57%{opacity:1}57.69%,100%{opacity:.35}}
@keyframes st5{0%,56.83%{opacity:.35}57.86%,70.71%{opacity:1}71.83%,100%{opacity:.35}}
@keyframes st6{0%,71.14%{opacity:.35}72.17%,84.86%{opacity:1}86%,100%{opacity:.35}}
@media (prefers-reduced-motion: reduce){
  .ctl{display:none !important}
  .stage{display:none}
  .stage *{animation:none !important}
  .ex-steps *{animation:none !important}
  .ex-steps .stp{opacity:1 !important}
}
@media (max-width:760px){
  .ctl{display:none !important}
  .stage{display:none}
  .ex-steps .stp{animation:none !important;opacity:1 !important}
}


/* ===== Edition identity: pattern + mark per edition (colours come from the Edition posts via --ed-solid / --ed-ink / --ed-tint) ===== */
.edition-key-MG{--pat:radial-gradient(circle,rgba(255,255,255,.5) 0 .9px,transparent 1.3px) 0 0/5px 5px,var(--ed-solid);--mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.1 12.9A4.4 4.4 0 1 1 13.9 12.9L15.6 20.5H8.4Z' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E")}
.edition-key-DL{--pat:repeating-linear-gradient(180deg,transparent 0 4px,rgba(16,19,20,.4) 4px 5px),var(--ed-solid);--mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 6.5H15L20.5 12L15 17.5H3.5Z' fill='none' stroke='%23000' stroke-width='1'/%3E%3Ccircle cx='14.4' cy='12' r='1.5' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E")}
.edition-key-CC{--pat:linear-gradient(rgba(16,19,20,.22) 1px,transparent 1px) 0 0/5px 5px,linear-gradient(90deg,rgba(16,19,20,.22) 1px,transparent 1px) 0 0/5px 5px,var(--ed-solid);--mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .6V2.4M11 6.4L6 21M13 6.4L18 21' fill='none' stroke='%23000' stroke-width='1'/%3E%3Ccircle cx='12' cy='4.4' r='2' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E")}
.edition-key-FK{--pat:repeating-linear-gradient(45deg,rgba(255,255,255,.45) 0 1px,transparent 1px 4px),var(--ed-solid);--mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.5 3H16.5V21L12 16.6L7.5 21Z' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E")}
.edition-key-VP{--pat:repeating-radial-gradient(circle at 50% 50%,transparent 0 3px,rgba(16,19,20,.3) 3px 4px),var(--ed-solid);--mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 3V21M6.5 4H19L14.8 8.5L19 13H6.5' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E")}

/* ===== WordPress adaptation layer ===== */
.wp-site-blocks{padding:0}
.wp-site-blocks > *{margin-block-start:0}
:where(.wp-block-group,.wp-block-query,.wp-block-buttons,.wp-block-button){margin:0}
.wp-block-post-template{list-style:none;margin:0;padding:0;max-width:none}
.wp-block-post-title,.wp-block-heading,.wp-block-site-title{margin:0;padding:0}
p{margin:0}
h1,h2,h3{font-weight:400}
figure{margin:0}
.wp-block-buttons{gap:0}
.inl{display:flex;gap:.3em;align-items:baseline}
.js [hidden]{display:none}
.sr a{position:static}
.sr{font-size:0;line-height:0}
.sr a::after{content:"";position:absolute;inset:0}
.num::before,.lab .n::before{content:"N° "}
.cap.inl{gap:.3em}

/* header */
.top p{margin:0}
.brand .wp-block-site-title{font-size:clamp(40px,6vw,68px);line-height:1;letter-spacing:-.01em;font-family:'Instrument Serif','Instrument Serif Fallback',serif}
.brand .wp-block-site-title a{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:inherit;line-height:1;letter-spacing:-.01em}
.nav{display:block;padding:0 0 8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.nav .wp-block-navigation__container{display:flex;flex-wrap:wrap;justify-content:center;gap:0 40px;padding:0}
.nav .wp-block-navigation-item__content{min-height:40px;display:flex;align-items:center;padding:0}
.bar .wp-block-query{width:100%}
.bar .chips{display:flex;flex-wrap:wrap;width:100%}
.bar .chips > li{flex:1 1 200px;border-right:1px solid #8A857A;position:relative}
.bar .chips > li:last-child{border-right:0}
.chip{display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 16px}
.chip .wp-block-post-title{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:21px;line-height:1.05}
.chip .wp-block-post-title a::after{content:"";position:absolute;inset:0}
.bar .chips > li.is-current,.bar .chips > li.is-picked{background:#fff;box-shadow:inset 0 -3px 0 #14181F}
.sw{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid #14181F;background:var(--pat);position:relative;display:block}
.sw::after{content:"";position:absolute;left:22%;top:22%;width:56%;height:56%;background:var(--ed-ink);-webkit-mask:var(--mark) center/contain no-repeat;mask:var(--mark) center/contain no-repeat}
.mini .in{position:relative}
.mini .mc{display:block}
.mini .mchips{display:flex;gap:8px;align-items:center}
.mini .mchips > li{position:relative;display:flex;border-radius:50%;padding:2px;border:2px solid transparent}
.mini .mchips > li.is-current,.mini .mchips > li.is-picked{border-color:#14181F}
.mini .mchip{display:flex}
.mini .sw{width:30px;height:30px}
.mini .mh{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;min-height:44px;display:flex;align-items:center;padding:0 6px}
.mini .wp-block-site-title{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:24px;line-height:1;white-space:nowrap}
@media (max-width:760px){.mini .wp-block-site-title{font-size:19px}.bar .chips{flex-wrap:nowrap;overflow-x:auto}.bar .chips > li{flex:0 0 auto}.chip{min-height:56px;padding:8px 14px}.chip .wp-block-post-title{font-size:18px;white-space:nowrap}}

/* shelf */
.shelf-sec{padding:22px 0 48px}
.shelf-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 24px;margin-bottom:18px}
.shelf-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px}
.shelf-title h2.sec{font-size:clamp(34px,4vw,50px)}
.shelf-intro{margin:0;max-width:30em;font-size:14px;line-height:1.55;color:#3B4048}
h2.sec em,h1.big em{font-style:italic}
.wp-block-button.lnk .wp-block-button__link,.wp-block-button.lnk .wp-block-button__link:hover{min-height:44px;padding:0 4px;font:500 12px 'Instrument Sans','Instrument Sans Fallback',sans-serif;letter-spacing:.16em;text-transform:uppercase;border:0;border-bottom:1px solid #14181F;background:transparent;color:#14181F;border-radius:0;display:inline-flex;align-items:center;text-decoration:none}
.st3d .fb{position:absolute;left:0;top:0;width:100%;height:100%;margin:0}
.st3d .fb img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 38%}
.st3d .labs{display:contents}
.lab > .lab-top,.lab-top{display:block}
.lab .inl{justify-content:center}
.lab .n{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#4B4F56}
.lab .t{display:block;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:24px;line-height:1.05;margin:2px 0}
.lab .m{display:flex;justify-content:center;gap:.3em;font-size:13px;color:#3B4048}
.lab .m-fromwrap{display:flex;gap:.3em}
.lab .m-fromwrap::before{content:"·"}
.lab .hint{display:block;margin-top:6px;font:italic 14px 'Instrument Serif','Instrument Serif Fallback',serif;color:#4B4F56}
.lab .hB{display:none}
.nogl .labs{display:block}
.nogl .lab .wp-block-post-title a{text-decoration:underline}
.st3d:not(.ready):not(.nogl) .lab .hint{display:none}
.lab.sel .hA{display:none}
.lab.sel .hB{display:block;color:#14181F}
.panel-default{margin:18px 0 0;font-size:14px;color:#4B4F56}
.js .panels > li{display:none}
.js .panels > li.open{display:block}
.panel-in{margin-top:22px;border:1px solid #14181F;background:var(--ed-tint);padding:26px 28px;display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center}
.pcol{flex:1 1 360px}
.pcol .pname{font-size:clamp(34px,4vw,52px);line-height:1;margin:6px 0 10px;font-family:'Instrument Serif','Instrument Serif Fallback',serif}
.pblurb{margin:0 0 14px;max-width:34em;font-size:16px;line-height:1.6;color:#3B4048}
.panel-in .facts{border-top:1px solid rgba(20,24,31,.25)}
.pcovers{flex:0 1 330px}
.pcov{display:flex;gap:10px}
.pcov > li{flex:1;min-width:0}
.pact{display:flex;flex-direction:column;gap:10px;flex:0 0 auto}
.wp-block-read-more.buy{padding:0 26px;font-size:22px;width:auto}

/* covers */
.pic figure,.pic .wp-block-post-featured-image{margin:0}
.pic{position:relative;border:1px solid #14181F;background:#fff;overflow:hidden;box-shadow:0 1px 0 #14181F,0 14px 24px -14px rgba(20,24,31,.45);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.pic img{display:block;width:100%;height:auto}
.is-soon .pic img{opacity:.78}
.edition-key-DL .pic:not(.bigp){aspect-ratio:1/1}.edition-key-DL .pic:not(.bigp) img{height:100%;object-fit:contain}
.edition-key-CC .pic:not(.bigp),.edition-key-VP .pic:not(.bigp){aspect-ratio:7/9}.edition-key-CC .pic:not(.bigp) img,.edition-key-VP .pic:not(.bigp) img{height:100%;object-fit:cover}
.tagc{display:none;position:absolute;left:10px;top:10px;background:#14181F;color:#F7F3EC;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:4px 8px;z-index:2}
.is-soon .tagc{display:block}
.pic.sm .tagc{display:none}
.pr-soon{display:none}
.is-soon .pr-soon{display:block}
.is-soon .pr-live{display:none}
.pic.bigp{box-shadow:0 1px 0 #14181F,0 22px 34px -18px rgba(20,24,31,.5)}
.wp-block-post:not(.lab){position:relative}
.wp-block-post.lab{position:absolute}

/* edition page */
.zone{background:var(--ed-tint)}
.band{background:var(--pat)}
.crumb p,.crumb .wp-block-post-title{margin:0}
.crumb .here{color:#14181F;font-family:inherit;font-size:inherit;font-weight:400}
.crumb .wp-block-button__link{background:transparent;padding:0;min-height:32px;display:flex;align-items:center;color:#14181F;font:inherit;text-decoration:underline;text-decoration-color:#8A857A;text-underline-offset:4px;border-radius:0}
.backrow .wp-block-buttons{display:inline-flex;gap:0 18px}
.backrow{display:flex;flex-wrap:wrap;gap:0 18px}
.hero .l{display:flex;flex-direction:column}
.hero .l .st3d{flex:1}
.hero h1.big{max-width:none;font-size:clamp(46px,6vw,84px)}
.hero-lead{margin:0;max-width:32em;font-size:18px;line-height:1.65;color:#3B4048}
.sit-sec{padding:64px 0 24px}
.sit-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px}
.sit-head h2.sec{font-size:clamp(34px,4vw,52px)}
.edition-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:36px 28px}
.edition-grid > li[hidden]{display:none}
.card .cap{margin-bottom:6px}
.card .nm{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:30px;line-height:1.08}
.card .nm a::after{content:"";position:absolute;inset:0;z-index:1}
.edition-grid > li:hover .pic{transform:translateY(-6px)}
.card .ft{align-items:baseline}
.card .ft .u{font-style:italic;font-size:20px}
.card .ft .wp-block-read-more{text-decoration:underline;text-underline-offset:4px}
.soon-note{margin:36px 0 0;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:22px;color:#3B4048}
.soon-note:empty{display:none}
.back-sec{padding:48px 0 72px;margin-top:32px;border-top:1px solid #14181F}
.back{position:relative}
.back p{margin:0}
.back a::after{content:"";position:absolute;inset:0}

/* product page */
.ptitle{margin:16px 0 14px;max-width:none;font-size:clamp(38px,4.4vw,64px)}
.pline{margin:0 0 26px;font-size:18px;line-height:1.65;color:#3B4048}
.pcap{display:flex;align-items:center;gap:12px}
.pcap .sw{width:28px;height:28px}
.pcap .num::before{content:"N° "}
.pricerow{display:flex;align-items:baseline;gap:16px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid #14181F}
.pbig{font-size:48px;line-height:1;font-family:'Instrument Serif','Instrument Serif Fallback',serif}
.pnote{font-size:14px;color:#3B4048}
.buywrap,.buywrap .wp-block-button{width:100%;display:block}
.buywrap .buy{width:100%;text-decoration:none}
.wp-block-button__link.buy,.wp-block-button__link.buy:hover{border-radius:0;color:#F7F3EC;background:#14181F;border:1px solid #14181F;padding:0 26px}
.wp-block-button__link.buy.off,.wp-block-button__link.buy.off:hover{background:transparent;color:#4B4F56;border:1px dashed #14181F}
.bn{margin-top:12px;font-size:14px;color:#3B4048}
.dls{margin-top:36px;border-top:1px solid #14181F}
.dl .dk{color:#4B4F56}
.dl .dv{font-weight:500}
.dl .dv-r{text-align:right}
.prod .l .pic{width:100%}
.pagepic img{width:100%;border:1px solid #14181F;background:#fff}
.more-sec{padding:48px 0 72px;border-top:1px solid #14181F}
.more-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:22px}
.more-head h2.sec,.more-head .sec{font-size:clamp(34px,4vw,48px);font-family:'Instrument Serif','Instrument Serif Fallback',serif;line-height:1}
.serif-i{font-style:italic}
.more-head .wp-block-button.u .wp-block-button__link{background:transparent;color:#14181F;padding:0;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:22px;text-decoration:underline;text-underline-offset:5px;border-radius:0}
.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.more-card{display:flex;gap:16px;align-items:center;padding:14px;border:1px solid #14181F;background:#fff}
.more-card .thumb{flex:none;width:64px;height:80px;border:1px solid #14181F;overflow:hidden}
.more-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.more-card .wp-block-post-title{font-size:22px;line-height:1.1}
.more-card .wp-block-post-title a::after{content:"";position:absolute;inset:0}
.more-price{display:block;font-family:'Instrument Sans','Instrument Sans Fallback',sans-serif;font-size:14px;color:#4B4F56;margin-top:4px}
.more-card.is-soon .more-price.pr-live{display:none}

/* home: intro, index, how it works, publisher */
.top-sec{padding:64px 0 56px;border-top:1px solid #14181F}
.idx-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px 0 28px}
.idx-head p{margin:0}
.idx .wp-block-search__label{display:block;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:26px;margin-bottom:6px}
.idx .wp-block-search__inside-wrapper{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;border:0;padding:0}
.idx .wp-block-search__input{flex:1 1 420px;min-height:72px;padding:0;font:400 clamp(30px,4.2vw,52px) 'Instrument Serif','Instrument Serif Fallback',serif;border:0;border-bottom:2px solid #14181F;background:transparent;color:#14181F;border-radius:0}
.idx .wp-block-search__button{min-height:44px;padding:0 4px;font:500 12px 'Instrument Sans','Instrument Sans Fallback',sans-serif;letter-spacing:.16em;text-transform:uppercase;border:0;border-bottom:1px solid #14181F;background:transparent;color:#14181F;border-radius:0;cursor:pointer;margin:0}
.idx-ex{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:16px}
.idx-ex .cap{margin-right:8px}
.idx-ex .wp-block-buttons{display:contents}
.idx-ex .wp-block-button__link{min-height:44px;padding:0 8px;font:italic 400 19px 'Instrument Serif','Instrument Serif Fallback',serif;border:0;background:transparent;color:#14181F;text-decoration:underline;text-decoration-color:#B9B2A3;text-underline-offset:5px;border-radius:0;display:inline-flex;align-items:center}
.idx-sum{margin:20px 0 28px;font-size:15px;color:#5B5F66;min-height:22px}
.tcfp-index-rows{border-top:1px solid #14181F}
.row .sw{width:26px;height:26px}
.row .ed{display:flex;align-items:center;gap:10px}
.how-sec{padding:56px 0 64px;border-top:1px solid #14181F}
.how-in{max-width:1160px;margin:0 auto;padding:0 0 8px}
.how-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:16px}
.how-h{margin:0;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-weight:400;font-size:clamp(32px,3.6vw,46px);line-height:1}
.how-head .ex-len{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#4B4F56}
.ex-steps{margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px 24px}
.stp{border-top:1px solid #14181F;padding-top:12px}
.stt{font:400 28px/1.1 'Instrument Serif','Instrument Serif Fallback',serif;margin:4px 0 6px}
.std{font-size:15px;line-height:1.55;color:#3B4048}
.pub{display:flex;flex-wrap:wrap;gap:40px 80px}
.pub-cap{flex:1 1 220px}
.pub-body{flex:3 1 480px}
.pub-quote{margin:0 0 28px;font-size:clamp(28px,3.4vw,44px);line-height:1.18}
.pub-name{font-size:15px;font-weight:600}
.pub-role{font-size:14px;color:#5B5F66}
.facts4 p{margin:0}
.facts4 .cap{margin-bottom:0}
.fgrid p{margin:0}
.fbrand{font-size:24px;color:#14181F;margin-bottom:6px}
.copy{margin-top:32px;text-align:center;font-size:12px;color:#4B4F56}
footer.wp-block-group{margin-top:0}
.plain-list .nm{font-size:30px}
.st3d .tap{pointer-events:none}

.product-soon .pricerow .pr-live{display:none}
.product-soon .pricerow .pr-soon{display:block}
.dl .dv-link .wp-block-button__link{background:transparent;color:#14181F;padding:0;font:500 16px 'Instrument Sans','Instrument Sans Fallback',sans-serif;text-decoration:underline;text-underline-offset:4px;border-radius:0}
.dl .dvb{margin:0}
.dl p{margin:0}
.more-card .pr-soon{display:none}
.more-card.is-soon .pr-soon{display:block}

/* ===== S2: pages and product content converted from direction-A (class prefix a-), drawn with prototype-B tokens only ===== */
.a-content{padding:0 0 72px;color:#14181F}
.a-content p,.a-content ul,.a-content ol,.a-content h1,.a-content h2,.a-content h3,.a-content h4{margin:0}
.a-content > * + *{margin-top:0}
.a-content a:not(.wp-block-button__link){text-decoration:underline;text-decoration-color:#8A857A;text-underline-offset:4px}
.a-content h1.wp-block-heading{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-weight:400;font-size:clamp(40px,5.6vw,72px);line-height:1;letter-spacing:-.01em;max-width:16em;margin-top:10px}
.a-content h2.wp-block-heading{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-weight:400;font-size:clamp(30px,3.6vw,46px);line-height:1.05;margin-top:48px}
.a-content h3.wp-block-heading{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-weight:400;font-size:clamp(22px,2.2vw,28px);line-height:1.1}
.a-content h4.wp-block-heading{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#4B4F56;font-weight:500;margin-bottom:10px}
.a-content p{font-size:17px;line-height:1.65;color:#3B4048}
.a-content h2 + p,.a-content h2 + .wp-block-group,.a-content p + p{margin-top:14px}
.a-content .crumb{align-items:center}
.a-content .crumb p{font-size:inherit;line-height:32px;color:inherit}
.a-content .crumb p:last-child{color:#14181F}
.a-meta,.a-k,.a-kicker,.a-cap,.a-tab,.a-stamp,.a-badge,.a-mono,.a-date,.a-ed,.a-it,.a-v,.a-d,.a-tag,.a-no{font-family:'Instrument Sans','Instrument Sans Fallback',sans-serif;font-size:11px!important;letter-spacing:.16em;text-transform:uppercase;color:#4B4F56!important;font-style:normal}
.a-meta .a-no{margin-right:10px}
.a-content .a-lede{font-size:clamp(18px,1.8vw,21px);line-height:1.6;max-width:36em;margin-top:18px}
.a-measure,.a-article > .wp-block-group{max-width:44em}
.a-num{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;color:#5B5F66;margin-right:14px}
.a-section,.a-pblock{padding:56px 0 0;margin-top:56px;border-top:1px solid #14181F}
.a-sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 32px;margin-bottom:28px}
.a-content .a-sec-head h2.wp-block-heading{margin:0}
.a-content .a-sec-head .a-lead{margin:0;max-width:34em;font-size:16px}
/* placeholders (kept verbatim, visibly marked) */
.a-ph-photo{display:flex;align-items:center;justify-content:center;min-height:180px;padding:20px;border:1px dashed #8A857A;background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(20,24,31,.03) 10px 20px);text-align:center}
.a-content .a-ph-photo p,.a-hand-ph{font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;color:#5B5F66!important;line-height:1.8}
.a-ph{color:#8A857A;font-style:italic}
.a-content .a-ph-photo{margin-top:28px}
/* cards: how-to-shop spines, read next, complete the night */
.a-spines,.a-notices,.a-cross{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:28px}
.a-card{border:1px solid #14181F;background:#fff;display:flex;flex-direction:column}
.a-card .a-band{height:12px;border-bottom:1px solid #14181F;background:var(--ed-solid,#14181F)}
.a-card > .wp-block-group:not(.a-band):not(.a-pic):not(.a-ph-photo){padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.a-card h3 a{text-decoration:none!important}
.a-card h3 a::after{content:"";position:absolute;inset:0}
.a-card{position:relative}
.a-card:hover h3{text-decoration:underline;text-underline-offset:5px}
.a-card .a-foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:auto;padding-top:10px;border-top:1px solid #8A857A}
.a-content .a-card .a-foot p{font-size:14px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex:1}
.a-content .a-card .a-foot b{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-weight:400;font-size:20px;color:#14181F}
.a-card .a-pic{position:relative;border-bottom:1px solid #14181F}
.a-card .a-pic .wp-block-image,.a-card .a-pic img{margin:0;display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.a-card .a-pic .a-badge{position:absolute;left:10px;top:10px;z-index:1;background:#F7F3EC;border:1px solid #14181F;padding:3px 8px}
.a-card .a-ph-photo{margin:0;min-height:140px;border:0;border-bottom:1px dashed #8A857A}
.a-content .a-price{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:22px;color:#14181F}
/* index rows (how-to-shop) */
.a-index{border-top:1px solid #14181F}
.a-index p{margin:0}
.a-index p > a{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:16px 0;border-bottom:1px solid #CFC8BA;text-decoration:none!important;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:clamp(22px,2.6vw,30px);line-height:1.15;color:#14181F}
.a-index .a-n{width:34px;font-style:italic;font-size:19px;color:#5B5F66}
.a-index .a-dots{flex:1 1 30px;min-width:24px;border-bottom:1px dotted #8A857A;transform:translateY(-6px)}
.a-index .a-badge{display:inline-flex;align-items:center;gap:8px}
.a-index .a-badge::before{content:"";width:12px;height:12px;border-radius:50%;border:1px solid #14181F;background:var(--ed-solid,#fff)}
/* FAQ (core/details) */
.a-content .wp-block-details{border-top:1px solid #8A857A;padding:16px 0;margin:0}
.a-content .wp-block-details:last-child{border-bottom:1px solid #8A857A}
.a-content .wp-block-details summary{cursor:pointer;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:clamp(20px,2vw,24px);line-height:1.25;list-style-position:outside}
.a-content .wp-block-details p{margin-top:10px;max-width:44em}
/* subscription box (text only: the e-mail form has no backend) */
.a-lead-box{margin-top:56px;border:1px solid #14181F;background:#fff;padding:28px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px 40px;align-items:start}
.a-content .a-lead-box h2.wp-block-heading{margin-top:8px;font-size:clamp(26px,2.8vw,34px)}
.a-choices{list-style:none;padding:0!important}
.a-choices li{padding:8px 0;border-bottom:1px solid #CFC8BA;font-size:16px}
.a-choices li::before{content:"";display:inline-block;width:10px;height:10px;border:1px solid #14181F;border-radius:50%;margin-right:10px}
.a-content .a-fine{font-size:13px;margin-top:12px;font-style:italic}
/* buttons inside the converted content: prototype-B underlined links */
.a-content .wp-block-buttons{margin-top:14px}
.a-content .wp-block-button__link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font:500 12px 'Instrument Sans','Instrument Sans Fallback',sans-serif;letter-spacing:.16em;text-transform:uppercase;border:0;border-bottom:1px solid #14181F;background:transparent;color:#14181F;border-radius:0;cursor:pointer}
.a-content .a-btn-edition .wp-block-button__link{padding:0 18px;background:#14181F;color:#F7F3EC;border:1px solid #14181F}
.a-content .a-btn-edition .wp-block-button__link:hover{background:transparent;color:#14181F}
/* product: facts from the direction-A buy box */
.a-product > .a-product:first-child{margin-top:0}
.a-product .a-grid{display:flex;flex-wrap:wrap;gap:40px;padding:40px 0 0;border-top:1px solid #14181F}
.a-gallery{flex:1 1 380px;min-width:0}
.a-buy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:14px}
.a-gallery .a-main > p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.a-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:12px}
.a-thumbs .wp-block-image{margin:0}.a-thumbs img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #14181F}
.a-thumbs > p{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:1px dashed #8A857A;text-align:center;padding:6px;font-size:10px!important}
.a-content .a-figcaption{font-size:14px;font-style:italic;margin-top:12px}
.a-file{display:flex;flex-wrap:wrap;gap:6px 18px}
.a-content .a-promise{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:clamp(20px,2vw,24px);line-height:1.35;color:#14181F}
.a-specs{display:flex;flex-wrap:wrap;gap:8px}
.a-specs span{border:1px solid #14181F;padding:4px 10px;font-size:13px;color:#14181F;background:#fff}
.a-specs span.a-h{flex-basis:100%;border:0;background:transparent;padding:0;color:#3B4048;font-style:italic}
.a-pricebox{border-top:1px solid #14181F;border-bottom:1px solid #14181F;padding:18px 0;display:flex;flex-direction:column;gap:10px}
.a-formats > p{padding:12px 14px;border:1px solid #14181F;background:#fff}
.a-formats > p > span{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.a-formats > p + p{margin-top:8px}
.a-formats .a-f{font-weight:500;color:#14181F}
.a-formats .a-pr{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:28px;color:#14181F}
.a-formats .a-pr s{font-family:'Instrument Sans','Instrument Sans Fallback',sans-serif;font-size:13px;color:#5B5F66;margin-left:10px}
.a-formats .a-m{flex-basis:100%;font-size:13px}
.a-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px}
.a-ctas .wp-block-buttons{margin:0}
.a-content .a-ctas > p{margin:0}
.a-content .a-ctas > p{font-size:14px}
.a-content .a-deliv,.a-content .a-signed{font-size:14px}
.a-content .a-guarantee{display:flex;gap:16px;align-items:center;font-size:15px}
.a-seal{flex:none;display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;border:1px solid #14181F;text-align:center;font-size:10px;letter-spacing:.12em;line-height:1.3;color:#14181F}
.a-content .a-signed{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:17px}
/* product sections */
.a-figure .wp-block-image{margin:0}.a-figure img{display:block;width:100%;height:auto;border:1px solid #14181F}
.a-video{position:relative;max-width:900px}
.a-video .a-play{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);background:#F7F3EC;border:1px solid #14181F;padding:10px 18px;font-size:12px!important;letter-spacing:.16em;color:#14181F!important}
.a-flip{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;align-items:start}
.a-flip .wp-block-image{margin:0}.a-flip img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid #14181F}
.a-flip .a-ph-photo{margin:0;aspect-ratio:3/4;min-height:0}
.a-flip > p,.a-flip .a-more{grid-column:1/-1;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:20px}
.a-printing{display:flex;flex-wrap:wrap;gap:32px}
.a-printing > *{flex:1 1 360px;min-width:0}
.a-printing .a-ph-photo,.a-planche .a-ph-photo{margin:0;aspect-ratio:4/3}
.a-planche .wp-block-image{margin:0}.a-planche img{display:block;width:100%;height:auto;border:1px solid #14181F}
.a-items{list-style:none;padding:0!important;border-top:1px solid #14181F}
.a-items li{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;padding:12px 0;border-bottom:1px solid #CFC8BA;font-size:16px}
.a-items li > span:nth-child(2){flex:1;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:21px}
.a-items li > span:last-child{color:#4B4F56;font-size:14px}
.a-content .a-total{font-size:14px;margin-top:14px;font-style:italic}
.a-printtest{margin-top:24px;padding:18px;border:1px solid #14181F;background:#fff}
.a-content .wp-block-table{margin:0;overflow-x:auto}
.a-content .wp-block-table table{width:100%;border-collapse:collapse;font-size:14px}
.a-content .wp-block-table th,.a-content .wp-block-table td{border:0;border-bottom:1px solid #CFC8BA;padding:8px 10px 8px 0;text-align:left;vertical-align:top}
.a-content .wp-block-table th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#4B4F56;font-weight:500;border-bottom-color:#14181F}
.a-content .a-note{font-size:13px;margin-top:10px}
.a-how3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.a-how3 .a-ph-photo{margin:0 0 14px;aspect-ratio:3/2;min-height:0}
.a-how3 h3 em,.a-how3 h3 i{font-size:15px;margin-right:10px;color:#5B5F66}
.a-fornot{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:40px}
.a-col{border-top:1px solid #14181F;padding-top:14px}
.a-col ul{padding-left:20px;margin-top:10px!important}
.a-col li{font-size:16px;line-height:1.55;color:#3B4048;padding:4px 0}
.a-colo{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.a-c{border-top:1px solid #14181F;padding-top:12px}
.a-dlrow{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #CFC8BA}
.a-content .a-dt{font-size:13px;color:#4B4F56}
.a-content .a-dd{font-size:14px;color:#14181F;text-align:right}
.a-register,.a-versions{list-style:none;padding:0!important}
.a-register li,.a-versions li{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:space-between;padding:9px 0;border-bottom:1px solid #CFC8BA;font-size:14px;color:#3B4048}
.a-register b{font-weight:500;color:#14181F}
.a-versions .a-v{min-width:44px;color:#14181F!important}
.a-versions li > span:last-child{flex:1 1 260px}
.a-pblock > .a-c{margin-top:28px}
.a-content .a-free{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:19px;margin-top:14px}
.a-empty{border:1px dashed #8A857A;padding:28px;text-align:center}
.a-content .a-empty p{margin-top:8px}
/* host checklist: the printable sheet */
.a-page-host-checklist .a-screen-note{font-size:14px;font-style:italic;margin:6px 0 24px}
.a-page-host-checklist .a-page{max-width:8.5in;margin:0 auto;border:1px solid #14181F;background:#fff}
.a-page-host-checklist .a-band{height:auto;border:0;border-bottom:1px solid #14181F;padding:32px 36px 22px;background:#14181F}
.a-page-host-checklist .a-band p,.a-page-host-checklist .a-band h1{color:#F7F3EC!important}
.a-page-host-checklist .a-rule{height:4px;background:var(--ed-solid,#14181F)}
.a-page-host-checklist .a-body{padding:24px 36px}
.a-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 36px}
.a-sec{margin-bottom:18px}
.a-content .a-sec h2.wp-block-heading{margin:0 0 8px;font-size:20px;padding-bottom:4px;border-bottom:1px solid #CFC8BA}
.a-sec ul{list-style:none;padding:0!important}
.a-sec li{display:flex;gap:8px;font-size:14px;line-height:1.45;color:#3B4048;margin-bottom:6px}
.a-box{flex:none;display:inline-block;width:12px;height:12px;border:1px solid #14181F;margin-top:3px}
.a-page-host-checklist .a-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:14px 36px 24px;border-top:1px solid #CFC8BA}
.a-page-host-checklist .a-foot p{font-size:13px}
.a-page-host-checklist .a-stamp{border:1px solid #14181F;padding:2px 8px}
/* sample pages */
.a-sample-wrap{max-width:820px}
.a-sample-intro h1.wp-block-heading{font-size:clamp(34px,4.4vw,56px)}
.a-sample-intro p:last-child{margin-top:16px}
.a-sample-field{margin:32px 0;padding:20px 0;border-top:1px solid #14181F;border-bottom:1px solid #14181F;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 24px}
.a-namefield{display:flex;flex-direction:column;gap:6px;flex:1 1 300px;margin:0}
.a-namefield label{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:22px;color:#14181F}
.a-namefield input{min-height:52px;padding:0;font:400 28px 'Instrument Serif','Instrument Serif Fallback',serif;border:0;border-bottom:2px solid #14181F;background:transparent;color:#14181F;border-radius:0;width:100%}
.a-namefield input::placeholder{color:#8A857A;font-style:italic}
.a-sample-field .wp-block-buttons{margin:0}
.a-content .a-hint{flex-basis:100%;font-size:13px;font-style:italic}
.a-sample-wrap .a-card{background:#fff;padding:0}
.a-sample-wrap .a-card > .a-top{padding:14px 24px;border-bottom:1px solid #14181F;background:#F7F3EC}
.a-sample-wrap .a-card > p.a-top,.a-sample-wrap .a-card > .a-top p{font-size:12px;letter-spacing:.08em;color:#4B4F56}
.a-content .a-sample-wrap .a-card > .a-body{padding:22px 24px 26px;display:block}
.a-sample-wrap .a-card h2.wp-block-heading{margin-top:6px}
.a-sample-wrap .a-card h3.wp-block-heading{margin-top:20px;font-size:21px}
.a-role > p{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px}
.a-role .a-suspect{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:18px;color:#14181F}
.a-content .a-mask-box{margin-top:14px;padding:12px 14px;border:1px solid #CFC8BA;font-size:15px}
.a-content .a-quote{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:21px;color:#14181F}
.a-sample-wrap ol{padding-left:20px;margin-top:8px!important}
.a-sample-wrap ol li{font-size:16px;line-height:1.6;color:#3B4048;padding:4px 0}
.a-notes .a-line,.a-prompt .a-line{height:28px;border-bottom:1px solid #8A857A}
.a-prompt{margin-top:6px}
.a-example-tag{display:inline-block;margin-left:8px;font-size:10px!important;letter-spacing:.12em;text-transform:uppercase;color:#4B4F56;border:1px solid #CFC8BA;padding:1px 6px;font-family:'Instrument Sans','Instrument Sans Fallback',sans-serif;font-style:normal;vertical-align:middle}
.a-content .a-example-line{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-style:italic;font-size:19px;color:#14181F;margin-top:6px}
.a-content .a-sub,.a-content .a-role-note{font-size:14px;margin-top:12px}
.a-content .a-blank{color:#8A857A}
.a-sample-foot{margin-top:28px;display:flex;flex-direction:column;gap:6px}
@media (max-width:760px){
  .a-content h2.wp-block-heading{margin-top:36px}
  .a-section,.a-pblock{padding-top:40px;margin-top:40px}
  .a-lead-box{padding:20px}
  .a-page-host-checklist .a-band,.a-page-host-checklist .a-body,.a-page-host-checklist .a-foot{padding-left:18px;padding-right:18px}
  .a-dlrow{flex-direction:column;gap:2px}.a-content .a-dd{text-align:left}
}
@media print{
  .tcfp-header,header,footer,.mini,.a-sample-field,.a-sample-intro,.a-sample-foot,.crumb,.a-screen-note{display:none!important}
  body{background:#fff}
}

/* ===== S3 ===== */
/* A product without a cover image yet (The Self-Worth Workbook for Teen Girls): a blank cover, same proportions as a book cover. */
.card .pic:not(:has(img)),.prod .bigp:not(:has(img)),.more-card .thumb:not(:has(img)){aspect-ratio:7/9;background:#fff}
/* Owner decision 37: a shelf label can read “2 titles · 1 coming soon · from $14.99”; wrap between the count and the price, never inside them. */
.lab .m{flex-wrap:wrap;row-gap:0}
.lab .m-count,.lab .m-fromwrap{white-space:nowrap}
/* S4: the currency line under the buy note of an Etsy product (prices in US dollars, Etsy converts at checkout). */
.bn.cnote{margin-top:4px}

/* ===== S5 (owner brief of 30/10/2026) ===== */
/* (B) Cream on every page. The edition colour stays on the band under the menu, the chips, the domes and the active tab underline. */
.zone{background:transparent}
.panel-in{background:#fff}
.tabs button.on{border-bottom-color:var(--ed-solid,#14181F);border-bottom-width:3px}
.bar .chips > li.is-current,.bar .chips > li.is-picked{box-shadow:inset 0 -3px 0 var(--ed-solid,#14181F)}
.mini .mchips > li.is-current,.mini .mchips > li.is-picked{border-color:var(--ed-solid,#14181F)}
/* (5) One bar: the top meta line is gone; five entries. On a phone the entries stay on one line (swipe if needed). */
.brand{padding-top:18px}
@media (max-width:760px){
  .brand{padding:12px 0 2px}
  .brand .wp-block-site-title{font-size:34px}
  .nav{padding:0 0 4px;font-size:11px;letter-spacing:.12em}
  .nav .wp-block-navigation__container{flex-wrap:nowrap;justify-content:flex-start;gap:0 18px;overflow-x:auto;scrollbar-width:none;padding:0 2px}
  .nav .wp-block-navigation__container::-webkit-scrollbar{display:none}
  .nav .wp-block-navigation-item{flex:none}
  .nav .wp-block-navigation-item__content{min-height:44px;white-space:nowrap}
  .wrap{padding:0 16px}
}

/* (1) First screen: promise, one button, guest chips, “This season”. */
.hero-sec{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"l s";gap:28px 48px;align-items:start;padding:32px 0 36px}
.hero-l{grid-area:l;display:flex;flex-direction:column;gap:16px}
.hero-h{margin:0;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-weight:400;font-size:clamp(38px,4.4vw,60px);line-height:1;letter-spacing:-.01em;max-width:12em}
.hero-h em{font-style:italic}
.hero-sub{margin:0;max-width:34em;font-size:16px;line-height:1.6;color:#3B4048}
.hero-cta .wp-block-button__link,.hero-cta .wp-block-button__link:hover{display:inline-flex;align-items:center;min-height:56px;padding:0 28px;border-radius:0;background:#14181F;color:#F7F3EC;font:400 24px 'Instrument Serif','Instrument Serif Fallback',serif;border:1px solid #14181F}
.hero-cta .wp-block-button__link:hover{background:#2a2f38}
.season{grid-area:s;border:1px solid #14181F;background:#fff;padding:16px 18px 18px}
.season-head{margin-bottom:12px;align-items:center}
.season-head .tcfp-season-name{color:#14181F;font-weight:600}
.season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.scard{display:flex;flex-direction:column;gap:8px;height:100%}
.spic{aspect-ratio:4/3;box-shadow:none}
.spic img{width:100%;height:100%;object-fit:cover}
.snm{font-size:19px;line-height:1.1}
.snm a::after{content:"";position:absolute;inset:0;z-index:1}
.sft{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid #CFC8BA}
.sprice{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:22px}
.sft .wp-block-read-more{font-style:italic;font-size:17px;text-decoration:underline;text-underline-offset:4px;position:relative;z-index:2}
/* (4) Guest chips (home and Mysteries & Games). */
.guests{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.guests .gq{margin:0 4px 0 0}
.gchips{display:flex;flex-wrap:wrap;gap:8px}
.gchip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid #14181F;border-radius:999px;background:#fff;font-size:15px;font-weight:500;color:#14181F}
.gchip:hover{background:#F7F3EC}
.gchip.on{background:#14181F;color:#F7F3EC}
.sit-sec .guests{margin:22px 0 0}
.edition-grid > li.is-off{display:none}
.guest-none{margin:8px 0 0;font-size:15px;color:#3B4048}
@media (max-width:760px){
  /* On a phone: the promise, the season pick and the button first, then the guest chips; the shelf comes after. */
  .hero-sec{display:flex;flex-direction:column;gap:18px;padding:20px 0 28px}
  .hero-l{display:contents}
  .hero-h{order:1;font-size:36px}
  .hero-sub{order:2;font-size:15px}
  .season{order:3;padding:12px}
  .hero-cta{order:4}
  .hero-cta .wp-block-button,.hero-cta .wp-block-button__link{width:100%;justify-content:center}
  .guests{order:5}
  .season-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:42%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
  .scard{scroll-snap-align:start}
  .snm{font-size:16px}
  .sprice{font-size:18px}
  .sft .wp-block-read-more{font-size:15px}
}

/* (7) How it works: three static steps. */
.how3{grid-template-columns:repeat(3,minmax(0,1fr))}
.how3 .stt{color:#14181F}
@media (max-width:760px){.how3{grid-template-columns:none}}

/* (A, 2, 6) Product page: spec table next to the price, one buy button, the promise under it. */
.spec-t{margin:0 0 22px}
.st{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid #14181F;border-left:1px solid #CFC8BA}
.st-r{padding:10px 12px;border-right:1px solid #CFC8BA;border-bottom:1px solid #CFC8BA;background:#fff}
.st dt{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#4B4F56}
.st dd{margin:2px 0 0;font-size:15px;font-weight:500;line-height:1.35}
.buybox{background:#F7F3EC}
.buywrap .buy{font-size:26px}
.promise{color:#14181F}
.bn{line-height:1.5}
.prod .dls{margin-top:28px}
/* (3) Phone: the price and the one button stay at the bottom of the screen while the product is on screen. */
@media (max-width:760px){
  .prod{flex-direction:column;gap:0}
  .prod .r{display:contents}
  .prod .l{margin-bottom:22px}
  .st{grid-template-columns:repeat(2,minmax(0,1fr))}
  .buybox{position:sticky;bottom:0;z-index:30;display:flex;align-items:center;gap:12px;margin:0 -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #14181F;box-shadow:0 -8px 18px -12px rgba(20,24,31,.45)}
  .buybox .pricerow{margin:0;padding:0;border:0;flex:none}
  .buybox .pbig{font-size:32px}
  .buybox .pnote{display:none}
  .buybox .buywrap{flex:1;min-width:0}
  .buywrap .buy{min-height:52px;font-size:19px;padding:0 10px;white-space:nowrap}
  .prod .pcap,.prod .ptitle,.prod .pline,.prod .spec-t,.prod .bn,.prod .dls{order:0}
  .prod .ptitle{font-size:36px;margin:10px 0}
  .prod .pline{margin-bottom:18px}
}

/* (A) Gallery: the Etsy photos and the video (second), swiped on a phone, thumbnails under. */
.gal{border:1px solid #14181F;background:#fff}
.gal-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;aspect-ratio:4/3;background:#fff}
.gal-track::-webkit-scrollbar{display:none}
.gal-s{flex:0 0 100%;scroll-snap-align:start;margin:0;display:flex;align-items:center;justify-content:center;background:#fff}
.gal-s img,.gal-s video{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.gal-thumbs{display:flex;gap:8px;list-style:none;margin:0;padding:10px;border-top:1px solid #14181F;overflow-x:auto}
.gal-t{display:block;position:relative;width:64px;height:64px;border:1px solid #CFC8BA;background:#F7F3EC;overflow:hidden}
.gal-t.on{border:2px solid #14181F}
.gal-t img{width:100%;height:100%;object-fit:cover;display:block}
.gal-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.gal-play::before{content:"";width:0;height:0;border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;filter:drop-shadow(0 0 3px rgba(0,0,0,.6));margin-left:4px}

/* (8) E-mail capture, inline (no pop-up); shown only when the MailerLite address is set. */
.signup{display:grid;gap:8px;max-width:560px}
.signup .cap{margin:0}
.signup-t{margin:0;font-size:15px;color:#3B4048}
.signup-in{display:flex;flex-wrap:wrap;gap:8px}
.signup input[type=email]{flex:1 1 240px;min-height:48px;padding:0 14px;border:1px solid #14181F;border-radius:0;background:#fff;font:400 16px 'Instrument Sans','Instrument Sans Fallback',sans-serif;color:#14181F}
.signup button{min-height:48px;padding:0 22px;border:1px solid #14181F;border-radius:0;background:#14181F;color:#F7F3EC;font:400 20px 'Instrument Serif','Instrument Serif Fallback',serif;cursor:pointer}
.foot-signup{margin:32px 0 0;padding-top:28px;border-top:1px solid #CFC8BA}
.signup-sec{margin:48px 0 24px;padding:32px 0 0;border-top:1px solid #14181F}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
/* S5 fit: the prototype's product title size (its inline style), cards with aligned prices, phone header on one line. */
h1.big.ptitle{font-size:clamp(38px,4.4vw,64px);margin:14px 0 12px}
.sbody{flex:1;display:flex;flex-direction:column;gap:6px}
.st-r{padding:8px 12px}
@media (max-width:760px){
  .nav{font-size:10px;letter-spacing:.06em}
  .nav .wp-block-navigation__container{justify-content:space-between;gap:0 10px}
  .single-product .backrow{display:none}
  .single-product .crumb{padding:14px 0 16px;font-size:17px}
  .buybox .pricerow{display:none}
  .gchip{padding:0 13px;font-size:14px}
}
@media (max-width:760px){
  .prod{flex-wrap:nowrap}
  .prod .l{flex:none;width:100%}
  .mini .mh{display:none}
  .mini .mchips{gap:4px}
  .mini .sw{width:26px;height:26px}
}
.spec-t{margin-bottom:16px}
.prod .pricerow{margin-bottom:16px;padding-bottom:16px}
/* S5: the three static steps take no part in the old animation (.st1–.st7 keyframes). */
.how3 .stp{animation:none;opacity:1;color:#14181F;border-top-color:#14181F}
.how3 .std{color:#3B4048}
/* The brand line keeps the prototype's headline size now that the promise is the page's h1. */
h2.big{margin:0;max-width:11em;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-weight:400;font-size:clamp(46px,7vw,96px);line-height:.98;letter-spacing:-.015em}
/* S5 (3): on a phone the one buy box is the last item of the page's main column, so its bottom-sticky position holds
   from the top of the product down to the end of “More in” (a sticky box only stays put above its own place). */
@media (max-width:760px){
  .single-product .zone > main.wrap{display:flex;flex-direction:column}
  .single-product .prod{display:contents}
  .single-product .prod > *{min-width:0}
  .single-product .buybox{order:99;margin-top:0}
  .single-product .bn{margin-top:10px}
}
/* S5 fit: promise and season strip compact enough that the domes still show in a 1280 × 900 first screen. */
@media (min-width:761px){
  .hero-sec{padding:22px 0 6px;gap:20px 48px}
  .hero-l{gap:12px}
  .hero-sub{font-size:15px}
  .shelf-sec{padding-top:10px}
  .shelf-head{margin-bottom:12px}
}
.gal-s noscript{display:contents}
.js .gal-s noscript{display:none}
/* ===== S6 (owner review of 30/10/2026) ===== */
/* (2) Product page: the spec figures are fact rows of the prototype (Format … Situation); long values align right. */
.spec-rows{display:contents}
.prod .dls .dv{text-align:right}
/* (3) Phone sticky bar: one short line of text under the one button (hidden on a computer: the notes are under it). */
.bline{display:none}
@media (max-width:760px){
  .buybox{flex-direction:column;align-items:stretch;gap:4px;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
  .buybox .bline{display:block;margin:0;text-align:center;font-size:13px;line-height:1.3;color:#3B4048}
}
/* (4) Phone first screen: header (brand, menu, edition chips) ≤ 120 px at 390 px; the product crumb on one line;
   smaller gallery thumbnails so the product title starts in the first screen (image first, as in the prototype). */
@media (max-width:760px){
  .brand{padding:6px 0 0}
  .brand .wp-block-site-title{font-size:30px}
  .nav{padding:0;font-size:11px;letter-spacing:.01em}
  .nav .wp-block-navigation__container{justify-content:space-between;gap:0 6px}
  .nav .wp-block-navigation-item__content{min-height:36px}
  .chip{min-height:44px;padding:4px 12px;gap:8px}
  .chip .sw{width:28px;height:28px}
  .chip .wp-block-post-title{font-size:17px}
  .single-product .crumb{flex-wrap:nowrap;align-items:center;gap:5px;padding:4px 0;font-size:15px;white-space:nowrap;overflow:hidden}
  .single-product .crumb > *{flex:none;margin:0}
  .single-product .crumb .here{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
  .single-product .crumb a,.single-product .crumb .wp-block-button__link{min-height:28px}
  .gal-thumbs{padding:6px;gap:6px}
  .gal-t{width:44px;height:44px}
  .prod .l{margin-bottom:12px}
  .prod .ptitle{margin:6px 0 10px}
}
/* (1, 5) By guests page and tag pages: the kits as cards (photo, title, price). */
.gp-head{display:grid;gap:14px;padding:32px 0 8px}
.gp-head h1.big{margin:0}
.gp-lead p{margin:0;max-width:40em;font-size:16px;line-height:1.6;color:#3B4048}
.gp-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.gsec{margin-top:28px;padding:28px 0 8px;border-top:1px solid #14181F;scroll-margin-top:72px}
.gsec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;margin-bottom:18px}
.gsec-head .cap{margin:0}
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
main > .wp-block-query > .gcards{margin-top:24px;margin-bottom:56px}
.gcard{position:relative;display:flex;flex-direction:column;height:100%;border:1px solid #14181F;background:#fff}
.gpic{aspect-ratio:4/3;border:0;border-bottom:1px solid #14181F;box-shadow:none}
.gpic img{width:100%;height:100%;object-fit:cover}
.gbody{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px 14px 14px}
.gnm{margin:0;font-size:21px;line-height:1.1}
.gnm a::after{content:"";position:absolute;inset:0;z-index:1}
.gprice{margin:auto 0 0;padding-top:8px;border-top:1px solid #CFC8BA;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:22px}
@media (max-width:760px){
  .gp-head{padding-top:20px}
  .gcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .gbody{padding:10px}
  .gnm{font-size:17px}
  .gprice{font-size:19px}
}
@media (max-width:760px){
  /* A book has its cover only: the cover box takes the gallery's height (cover whole, centred), and the sample page
     (“A real page from the book”) follows the fact rows, so the title is in the first screen on every product. */
  .single-product .prod .l{display:contents}
  .single-product .pic.bigp{height:326px;width:fit-content;max-width:100%;margin:0 auto 12px}
  .single-product .pic.bigp figure{height:100%;margin:0}
  .single-product .pic.bigp img{height:100%;width:auto;max-width:100%;object-fit:contain}
  .single-product .gal{margin-bottom:12px}
  .single-product .pagepic{order:1;margin:24px 0 0}
  .single-product .zone > main.wrap > .wp-block-post-content,.single-product .more-sec{order:2}
}
/* (7) Legibility: no visible text under 12 px, except uppercase labels of 11 px or more. */
.lab .n,.tagc,.a-example-tag,.cvr .sub,.pages i,.a-seal{font-size:11px!important}
.a-thumbs > p{font-size:12px!important}
.gsec:last-of-type{padding-bottom:64px}
/* (8) One buy button on the season, By guests and tag cards: price inside, straight to the listing; above the card's
   own link (the photo and the title still open the product page). */
.cbuywrap{margin:auto 0 0;padding-top:10px;position:relative;z-index:2}
.cbuywrap .cbuy,.cbuywrap .cbuy .buy{width:100%}
.cbuy .buy{min-height:44px;padding:6px 10px;font-size:18px;line-height:1.15;text-align:center}
.sprice,.gprice{margin-top:auto}
.sprice + .cbuywrap,.gprice + .cbuywrap{margin-top:0}
@media (max-width:760px){
  .cbuy .buy{min-height:44px;padding:6px 8px;font-size:15px}
}
/* ===== S7 (owner review of S6, 30/10/2026; additions 6–10; Safari check) ===== */
/* (1) Width and type: the column up to 1240 px; body text 17 px; the menu 15 px in plain case, dark; labels ≥ 12 px. */
body{font-size:17px;line-height:1.6}
.wrap,.mini .in{max-width:1320px}
.how-in{max-width:none}
.cap,.gq,.season-head .cap{font-size:12px;color:#3B4048}
.nav,.nav .wp-block-navigation__container{font-size:15px;letter-spacing:.01em;text-transform:none;font-weight:500;color:#14181F}
.nav .wp-block-navigation__container{gap:0 36px}
.nav a{color:#14181F}
.nav a:hover{text-decoration:underline;text-underline-offset:5px}
.hero-sub,.gp-lead p,.shelf-intro,.pblurb,.std,.card .ln,.lead,.hero-lead{font-size:17px;line-height:1.6;color:#3B4048}
.dl,.prod .dls .dl{font-size:17px}
.bn,.pnote,.facts,.fgrid,.panel-default,.signup-t,.idx-sum,.facts4{font-size:16px}
.card .spec,.lab .m,.more-price,.copy,.row .why{font-size:14px}
.lab .n,.tagc,.a-example-tag,.cvr .sub,.pages i,.a-seal,.a-meta,.a-k,.a-kicker,.a-cap,.a-tab,.a-stamp,.a-badge,.a-mono,.a-date,.a-ed,.a-it,.a-v,.a-d,.a-tag,.a-no{font-size:12px!important}
.mini .mh{font-size:15px;letter-spacing:.01em;text-transform:none}
.mini .mh a{text-decoration:underline;text-underline-offset:4px}
.wp-block-post-featured-image img,.gal-s img,.etile-pic img{max-width:100%;height:auto}
@media (max-width:760px){
  .nav,.nav .wp-block-navigation__container{font-size:13px;letter-spacing:0}
  .nav .wp-block-navigation__container{gap:0 4px}
}
/* (2) Way-finding: one breadcrumb from Home; the brand is the Home link; “Back to the shelf” at the end of every page. */
.crumb{font-size:18px}
.crumb a,.crumb .wp-block-button__link{color:#14181F}
@media (min-width:761px){.zone > main > .crumb,main > .crumb{padding:18px 0 6px}}
.shelfback{margin:0 0 40px;padding:28px 0 32px;border-top:1px solid #14181F;border-bottom:1px solid #CFC8BA}
.sb-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:16px}
.sb-h{margin:0;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:clamp(30px,3.4vw,44px);line-height:1}
.sb-h em{font-style:italic}
.sb-links{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:16px;font-weight:500}
.sb-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.bchips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.bchips > li{position:relative;border:1px solid #14181F;background:#fff;transition:transform .25s,box-shadow .25s}
.bchips > li:hover{transform:translateY(-3px);box-shadow:0 8px 16px -10px rgba(20,24,31,.5)}
.bchip{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px}
.bchip .wp-block-post-title{font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:20px;line-height:1.05}
.bchip .wp-block-post-title a::after{content:"";position:absolute;inset:0}
@media (max-width:1000px){.bchips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.bchips{grid-template-columns:none}.shelfback{margin-bottom:28px}}
/* phone bottom bar: Home · By guests · Editions (on a product page the one buy button sits in the same bar) */
.bbar,.bbar-in{display:none}
@media (max-width:760px){
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
  .bbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;height:calc(58px + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);background:#F7F3EC;border-top:1px solid #14181F}
  .bbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:44px;font-size:13px;font-weight:500;color:#14181F;line-height:1.1}
  .bbar a:focus-visible{outline-offset:-3px}
  .single-product .bbar{display:none}
  .single-product{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .single-product .buybox{position:fixed!important;left:0;right:0;bottom:0;z-index:55;margin:0!important;display:grid!important;grid-template-columns:186px minmax(0,1fr);grid-template-areas:"nav buy" "line line";align-items:center;gap:2px 0;padding:6px 10px calc(4px + env(safe-area-inset-bottom)) 0!important;border-top:1px solid #14181F;background:#F7F3EC}
  .single-product .buybox .bline{grid-area:line;padding-left:10px}
  .single-product .buybox .buywrap{grid-area:buy;min-width:0}
  .single-product .bbar-in{grid-area:nav;display:flex}
  .single-product .bbar-in a{flex:0 0 62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px;font-size:13px;font-weight:500;color:#14181F;line-height:1.1}
  .single-product .buywrap .buy{min-height:50px;font-size:18px;padding:0 8px}
}
/* (3) Page transitions: cross-document View Transitions (no plugin). The card photo morphs into the product photo, the
   edition chip or dome name into the edition title; a short fade elsewhere. Off under reduced motion; browsers without
   support (Safari before 18.2, Firefox) navigate plainly. */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
}
::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
::view-transition-group(tcfp-photo),::view-transition-group(tcfp-ed){animation-duration:.38s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
::view-transition-group(tcfp-head){animation-duration:.18s}
header.wp-block-group:has(> .brand){view-transition-name:tcfp-head}
.single-product .prod .gal .gal-s:first-child img,.single-product .prod .pic.bigp img{view-transition-name:tcfp-photo}
.single-edition .zone .hero h1.big{view-transition-name:tcfp-ed}
.vt-swap-p .single-product .prod .gal .gal-s:first-child img,.vt-swap-p .single-product .prod .pic.bigp img,.vt-swap-e .single-edition .zone .hero h1.big{view-transition-name:none}
/* (4) Explainer next to the promise; the “This season” strip under them, full width (space reserved: no shift). */
.xpl{margin:0;border:0;max-width:520px;width:100%;justify-self:end}
.xpl-svg{aspect-ratio:480/300}
@media (min-width:761px){
  .hero-sec{grid-template-columns:minmax(0,1fr) minmax(0,520px);grid-template-areas:"l x" "s s";gap:22px 56px;padding:28px 0 10px}
  .hero-sec .hero-x{grid-area:x;align-self:center}
  .hero-sub{font-size:17px}
  .season{padding:14px 18px}
  .season-grid{gap:18px}
  .scard{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:start}
  .scard .spic{aspect-ratio:4/3}
  .snm{font-size:21px}
}
@media (max-width:760px){
  .hero-x{order:2;width:100%}
  .xpl{max-width:none}
  .hero-sub{order:2;font-size:17px}
}
/* dome hint: a hand over the first dome, a large caption; gone after the first interaction (site.js) */
.dhint{position:absolute;z-index:5;left:0;right:0;top:0;bottom:0;pointer-events:none}
.dhint .dcap{position:absolute;left:50%;top:22px;transform:translateX(-50%);margin:0;padding:8px 20px;background:#F7F3EC;border:1px solid #14181F;font:400 clamp(24px,2.4vw,32px)/1.15 'Instrument Serif','Instrument Serif Fallback',serif;color:#14181F;white-space:nowrap}
.dhint .dhand{position:absolute;left:calc(12.2% - 4px);top:44%;width:56px;height:auto;filter:drop-shadow(0 3px 4px rgba(20,24,31,.35));animation:tcfp-tap 1.6s ease-in-out infinite}
@keyframes tcfp-tap{0%,100%{transform:translate(0,0)}45%{transform:translate(-6px,-14px)}60%{transform:translate(-6px,-10px) scale(.94)}}
.st3d.ready .dhint .dhand{left:calc(12.2% - 4px)}
@media (max-width:760px){.dhint{display:none}}
@media (prefers-reduced-motion:reduce){.dhint .dhand{animation:none}}
/* before the 3D scene starts: the edition names are links over the names of the still picture (placed by site.js) */
@media (min-width:761px){
  .st3d:not(.ready):not(.nogl) .labs > li{display:block;position:absolute;transform:translateX(-50%);width:190px;text-align:center;opacity:0;z-index:3}
  .st3d:not(.ready):not(.nogl) .labs > li:focus-within{opacity:1;background:#F7F3EC;outline:3px solid #14181F;outline-offset:2px}
  .st3d:not(.ready) .labs > li .hint{display:none}
}
@media (max-width:760px){.st3d:not(.ready):not(.nogl):not(.mob) .labs > li{display:none}}
.st3d img.fb{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover}
.hero .l .st3d img.dome-fb{object-fit:cover;object-position:50% 60%}
/* (5) By guests: each card says its exact player count. */
.gpl{margin:0;font-size:15px;color:#3B4048}
/* Board home: promise and explainer, then three steps on one screen; the editions as photo tiles; the shelf lower. */
.board-sec{padding:20px 0 30px}
.board-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:12px 48px;align-items:center;margin-bottom:14px}
.board-top .hero-h{max-width:15em}
.board-l{display:grid;gap:10px}
.board-h{font-size:clamp(36px,4vw,58px)}
.board-steps{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"s1 s3" "s2 s3";gap:18px 36px;align-items:start;padding-top:16px;border-top:1px solid #14181F}
.bstep-1{grid-area:s1}.bstep-2{grid-area:s2}.bstep-3{grid-area:s3}
.bstep-head{align-items:center;gap:12px;margin-bottom:12px}
.bnum{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#14181F;color:#F7F3EC;font:400 20px/1 'Instrument Serif','Instrument Serif Fallback',serif;flex:none}
.bq{margin:0;font-family:'Instrument Serif','Instrument Serif Fallback',serif;font-size:clamp(26px,2.4vw,34px);line-height:1}
.bstep .gchips{gap:10px}
.bstep .gchip{min-height:48px;font-size:16px;padding:0 18px}
.gchip[aria-current]{background:#14181F;color:#F7F3EC}
.bstep-3 .cap{margin:0 0 10px}
.pcards{grid-template-columns:repeat(auto-fill,minmax(186px,1fr));gap:14px}
.pcards > li.is-off{display:none}
.pcards .gnm{font-size:19px}
.pick-none{margin:6px 0 0;font-size:17px}
.pick-none a{text-decoration:underline;text-underline-offset:4px}
.tiles-sec{padding:34px 0 18px;border-top:1px solid #14181F}
.tiles-h{margin:0 0 24px}
.etiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.etiles > li{position:relative;border:1px solid #14181F;background:#fff;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.etiles > li:hover,.etiles > li:focus-within{transform:translateY(-10px);box-shadow:0 18px 26px -16px rgba(20,24,31,.55)}
.etile-pic{aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid #14181F;background:#EFE8DB}
.etile-pic img{display:block;width:100%;height:100%;object-fit:cover}
.etile-body{padding:12px 14px 14px;display:grid;gap:8px}
.etile-top{align-items:center;gap:10px}
.etile-t{margin:0;font-size:23px;line-height:1.05}
.etile-t a::after{content:"";position:absolute;inset:0}
.etile-s{margin:0;font-size:15px;line-height:1.5;color:#3B4048;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.etile-m{gap:.3em;font-size:14px;color:#3B4048}
.post-type-archive-edition main > h1.big{margin:6px 0 24px}
.post-type-archive-edition .etiles{margin-bottom:48px}
@media (max-width:1100px){.etiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .board-top{grid-template-columns:none}
  .board-h{font-size:36px}
  .board-steps{grid-template-columns:none;grid-template-areas:"s1" "s2" "s3"}
  .pcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .etiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .etile-t{font-size:19px}
  .etile-s{display:none}
}
@media (prefers-reduced-motion:reduce){.etiles > li,.bchips > li{transition:none}.etiles > li:hover,.bchips > li:hover{transform:none}}
/* (9) 404 */
.nf{padding:10px 0 40px;display:grid;gap:18px}
.nf-h{max-width:14em}
.nf-chips{margin-top:8px}
.nf-links{display:flex;flex-wrap:wrap;gap:6px 28px;font-size:18px;font-weight:500}
.nf-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
/* (7) Accessibility: a visible focus on every link and button; the skip link. */
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #14181F;outline-offset:3px;box-shadow:0 0 0 6px #F7F3EC}
.wp-element-button:focus-visible,.buy:focus-visible,.gchip:focus-visible{outline:3px solid #14181F;outline-offset:3px}
.skip-link.screen-reader-text:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:100;padding:12px 18px;background:#14181F;color:#F7F3EC;font-size:17px;white-space:normal}
/* Safari check: on a phone the first screen of every product shows the photo (≤ 42 % of the screen height, whole), the
   title and the bar with the one buy button. The thumbnails become small dots over the photo. */
@media (max-width:760px){
  .single-product .gal{position:relative;border:0;background:transparent}
  .single-product .gal-track{aspect-ratio:4/3;height:auto;max-height:min(42vh,330px);max-height:min(42svh,330px)}
  .single-product .gal-s img{object-fit:contain;height:100%}
  .single-product .gal-thumbs{position:absolute;left:0;right:0;bottom:0;justify-content:center;gap:0;padding:0;border:0;background:transparent;overflow:visible}
  .single-product .gal-t{width:26px;height:26px;border:0;background:transparent;display:flex;align-items:center;justify-content:center}
  .single-product .gal-t img,.single-product .gal-t .gal-play{display:none}
  .single-product .gal-t::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;border:1px solid #14181F}
  .single-product .gal-t.on::before{background:#14181F}
  .single-product .pic.bigp{height:min(42vh,326px);height:min(42svh,326px)}
  .single-product .crumb{padding:2px 0}
  .prod .ptitle,h1.big.ptitle{font-size:30px;line-height:1.02;margin:4px 0 8px}
  .single-product .pcap{margin-top:0}
}
/* (7) links inside text are underlined (footer); the season card titles are h2 (heading order) */
.fgrid a,.copy a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#8A857A}
.etile-pic noscript{display:contents}
.js .etile-pic noscript{display:none}
/* Phone menu: “By guests” is in the bottom bar, so the top menu keeps the four other entries, with room between them. */
@media (max-width:760px){
  .nav .wp-block-navigation__container > .wp-block-navigation-item:first-child{display:none}
  .nav .wp-block-navigation__container{justify-content:space-around;gap:0 12px}
}
/* The menu without core's navigation stylesheet (not loaded since S7): a plain row of links. */
.nav ul,.nav .wp-block-navigation__container{list-style:none;margin:0;padding:0}
.nav .wp-block-navigation-item{list-style:none;margin:0}
/* Owner fix 2: the explainer is an illustration (labelled “How it works”, muted frame), not a control. */
.xpl{cursor:default}
.xpl-cap{margin:0 0 6px;color:#3B4048}
.panel-default{display:none!important}
/* Owner fix 3: the caption is the single hint on the home shelf (the small “Click the lid to lift it” lines go). */
.home .lab .hint,.labs .hint{display:none!important}
.board-top{margin-bottom:8px}.board-top .xpl-cap{margin-bottom:4px}
/* Owner fix 6: the Board home has no explainer; the promise takes the full width, the steps come up. */
.board-top{display:block;margin-bottom:12px}
.board-top .hero-h{max-width:none}
/* Owner fix 5: the phone's first screen sells. Shelf: promise, “This season” cards (price in the buy button), the
   button, then the text and the guest chips; the explainer last. Board: compact steps (one row of chips each, swipe)
   and horizontal result cards, so step 1 and a first kit with its buy button are in the first screen. */
@media (max-width:767px){
  .hero-h{order:1}
  .season{order:2}
  .hero-cta{order:3}
  .hero-sub{order:4}
  .guests{order:5}
  .hero-sec .hero-x{order:6}
  .hero-sec{gap:14px;padding-top:14px}
  .season{padding:10px}
  .season-head{margin-bottom:8px}
  .season-grid{grid-auto-columns:44%}
  .scard .spic{aspect-ratio:3/2}
  .snm{font-size:16px;line-height:1.15}
  .board-sec{padding-top:12px}
  .board-h{font-size:30px}
  .board-sub{display:none}
  .board-steps{gap:12px;padding-top:12px}
  .bstep-head{margin-bottom:6px;gap:10px}
  .bnum{width:28px;height:28px;font-size:16px}
  .bq{font-size:22px}
  .bstep .gchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:8px;padding-bottom:2px}
  .bstep .gchips::-webkit-scrollbar{display:none}
  .bstep .gchip{flex:none;min-height:44px;font-size:15px;padding:0 14px;white-space:nowrap}
  .bstep-3 .cap{margin-bottom:6px}
  .pcards{grid-template-columns:none;gap:10px}
  .pcards .gcard{display:grid;grid-template-columns:112px minmax(0,1fr);flex-direction:row}
  .pcards .gpic{aspect-ratio:auto;height:100%;border-bottom:0;border-right:1px solid #14181F}
  .pcards .gbody{padding:8px 10px;gap:4px}
  .pcards .gnm{font-size:17px}
  .pcards .gpl{font-size:14px}
  .pcards .cbuywrap{padding-top:6px}
}
/* Owner fix 7: on a computer the product photo stays in view (sticky, under the mini bar) while the facts run on. */
@media (min-width:1024px){
  .single-product .prod{align-items:flex-start}
  .single-product .prod > .l{position:sticky;top:76px;align-self:flex-start}
}
.st3d .fb noscript{display:contents}
.js .st3d .fb noscript{display:none}
/* Owner fix 11a: rows that scroll sideways on a phone say so: snap, a fade at the right edge (gone at the end), the
   next item peeking by 24 px or more, dots under the season strip, an arrow on the edition chips. */
.swipe-dots{display:none}
@media (max-width:767px){
  .bar .chips,.season-grid,.bstep .gchips{scroll-snap-type:x mandatory;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent)}
  .bar .chips.at-end,.season-grid.at-end,.bstep .gchips.at-end{-webkit-mask-image:none;mask-image:none}
  .bar .chips > li,.season-grid > li,.bstep .gchip{scroll-snap-align:start}
  .season-grid{grid-auto-columns:40%}
  .swipe-dots{display:flex;justify-content:center;gap:8px;margin-top:8px}
  .swipe-dots i{width:8px;height:8px;border-radius:50%;background:#CFC8BA}
  .swipe-dots i.on{background:#14181F}
  .bar{position:relative}
  .bar::after{content:"›";position:absolute;right:2px;top:50%;transform:translateY(-55%);font:400 30px/1 'Instrument Serif','Instrument Serif Fallback',serif;color:#14181F;pointer-events:none}
  .bar.at-end::after{display:none}
}
/* Batch 3 (10): the proof that exists, under the button; real buyer quotes only when the owner has pasted some. */
.proof{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #CFC8BA;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:16px;font-weight:500;color:#14181F}
.proof li{display:flex;align-items:center;gap:6px;min-height:32px}
.proof a{text-decoration:underline;text-underline-offset:4px}
.pf-i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#14181F;color:#F7F3EC;font-size:13px}
.rv{margin:40px 0 8px;padding:28px 0 8px;border-top:1px solid #14181F}
.rv-list{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.rv-q{margin:0;font:400 22px/1.3 'Instrument Serif','Instrument Serif Fallback',serif}
.rv-by{margin:8px 0 0;font-size:15px;color:#3B4048}
.rv-by a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.proof{font-size:15px}}
/* Batch 4 (owner decision 31/10): the explainer is back on the Board home, inside the steps: under step 2 on a computer
   (the kits keep their place on the right), after the kits on a phone. */
/* Batch 5 (owner, replaces the batch 4 desktop placement): the Board first row looks like the Shelf's: the promise on the
   left, the explainer on the right; steps 1 and 2 under the promise; step 3 full width under both, its kits as
   horizontal cards (photo the full height of the card). One grid: .board-top and .board-steps are display: contents. */
@media (min-width:768px){
  .board-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);grid-template-areas:"l x" "s1 x" "s2 x" "s3 s3";gap:8px 56px;padding-top:8px}
  .board-top,.board-steps{display:contents}
  .board-l{grid-area:l}
  .bstep-1{grid-area:s1}.bstep-2{grid-area:s2}
  .board-x{grid-area:x;align-self:start;margin-top:0}
  .board-x .xpl{max-width:440px}
  .bstep-3{grid-area:s3;border-top:1px solid #14181F;padding-top:10px}
  .pcards{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}
  .pcards .gcard{display:grid;grid-template-columns:130px minmax(0,1fr)}
  .pcards .gpic{aspect-ratio:auto;height:100%;border-bottom:0;border-right:1px solid #14181F}
  /* the first buy button kept high in the first screen: tighter vertical spacing only (no text smaller than in S7) */
  .board-l{gap:4px}
  .board-sub{max-width:none}
  .bstep-head{margin-bottom:6px}
  .bstep-3 .cap{margin:0 0 6px}
  .pcards .gbody{padding:10px 14px 12px;gap:4px}
  .pcards .cbuywrap{padding-top:6px}
}
/* the photo fills the whole height of a horizontal card (no empty band under it) */
.pcards .gpic figure,.pcards .gpic a{display:block;height:100%;margin:0}
.pcards .gpic img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:767px){
  .board-steps{grid-template-columns:none;grid-template-rows:none;grid-template-areas:"s1" "s2" "s3" "x"}
  .board-x{grid-area:x;order:9}
  .board-x .xpl{max-width:none}
}
/* the steps never widen the page on a small phone (the chip rows scroll inside their own width) */
@media (max-width:767px){.board-steps > *{min-width:0}}
/* small phones (≤ 400 px): the three step-1 chips fit in the width (same 15 px text, less side padding) */
@media (max-width:400px){.bstep .gchips{gap:5px}.bstep .gchip{padding:0 9px}}
/* Batch 6: the kit covers in the horizontal cards are shown whole (their printed title is never cut): contained on the
   cream, which fills the rest of the photo column. */
.pcards .gpic{background:#EFE8DB}
.pcards .gpic img{object-fit:contain}
/* Batch 7 (owner, 31/10). Computer: the still is anchored to its bottom, so its printed names and prices are never cut
   (before the 3D starts; once it runs, shelf.js keeps each label inside the box). */
.st3d .fb img{object-position:50% 100%}
.dome-names{display:none}
/* Board home: less space between the shelf, the tiles and the picker (the first buy button within 2 screens) */
.home-layout-board .shelf-sec{padding-bottom:14px}
.home-layout-board .tiles-sec{padding:20px 0 6px}
.home-layout-board .tiles-h{margin-bottom:12px}
.home-layout-board .etile-pic{aspect-ratio:3/2}
/* Phone (both layouts): the whole shelf still (5 domes), the box cut just under the plinths, the 5 names under it */
@media (max-width:767px){
  .home .st3d:not(.ready):not(.mob){height:auto;aspect-ratio:1600/505}
  .home .st3d:not(.ready):not(.mob) .fb img{object-fit:cover;object-position:50% 0}
  .dome-names{display:block;margin:8px 0 0}
  .dnames{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;list-style:none;margin:0;padding:0}
  .dnames > li{text-align:center}
  .dname{margin:0;font-size:14px;line-height:1.15}
  .dname a{display:block;min-height:44px;padding-top:4px;text-decoration:underline;text-decoration-color:#8A857A;text-underline-offset:3px}
  .home-layout-board .shelf-sec{padding-bottom:14px}
  .home-layout-board .etile-pic{aspect-ratio:16/9}
  .home-layout-board .tiles-sec{padding:16px 0 8px}
  .home-layout-board .tiles-h{margin-bottom:12px}
}
/* S7 batch 7: a label is wide enough for “2 titles · 1 coming soon · from $14.99” on one line (no line starting with “·”) */
@media (min-width:1180px){.st3d .lab{width:270px}.st3d .lab .m{flex-wrap:nowrap;white-space:nowrap}}
