:root{font-family:Helvetica,"Helvetica Neue",Arial,sans-serif;font-weight:400;color:#252622;background:#e9e7e2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid #ff1429;outline-offset:5px}.masthead{display:flex;align-items:center;justify-content:space-between;padding:28px 4vw 22px;border-bottom:1px solid #cbc9c2;gap:20px}.masthead a{color:inherit;text-decoration:none;font-size:17px;font-weight:700;letter-spacing:.04em}.masthead a span{display:block;font-size:9px;font-weight:400;letter-spacing:.16em;margin-top:7px}.edition{font-size:10px;letter-spacing:.15em}main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 20px 24px}.book-wrap{width:min(100%,calc((100svh - 260px)*1.414),1120px);position:relative}.book{position:relative;width:100%;aspect-ratio:1.414;perspective:2200px;touch-action:pan-y}.spread{position:absolute;inset:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#f9f8f3}.spread>.page{width:100%}.page{width:50%;height:100%;position:relative;overflow:hidden;background:#fff;flex-shrink:0}.page-art{position:absolute;height:100%;width:100%;object-fit:fill;display:block;max-width:none;user-select:none;pointer-events:none}.page.half .page-art{width:200%}.page.half.right .page-art{left:-100%}.intro{background:#f7f6f1;padding:9%;display:flex;flex-direction:column;justify-content:space-between}.intro .eyebrow{font-size:clamp(7px,.75vw,11px);letter-spacing:.15em}.intro-art{position:relative;height:39%;width:74%;overflow:hidden;margin:6% auto}.intro-art img{width:100%;height:100%;object-fit:cover;object-position:50% 43%;mix-blend-mode:multiply}.intro h1{font-size:clamp(22px,3.2vw,48px);font-weight:400;letter-spacing:-.065em;line-height:1.02;margin:0 0 5%}.intro p{font-size:clamp(9px,1vw,14px);line-height:1.6;max-width:27em;margin:0}.intro .signoff{font-size:clamp(7px,.7vw,10px);letter-spacing:.12em;margin-top:7%}.closing{display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f7f6f1;gap:12px}.closing p{font-size:clamp(20px,3vw,42px);letter-spacing:-.05em;margin:0}.closing small{font-size:10px;letter-spacing:.12em}.spine{position:absolute;left:calc(50% - 14px);width:28px;top:0;bottom:0;background:transparent;pointer-events:none;z-index:3}.turn-zone{position:absolute;top:0;bottom:0;width:30%;background:transparent;border:0;z-index:4;cursor:pointer}.turn-zone.previous{left:0;cursor:w-resize}.turn-zone.next{right:0;cursor:e-resize}.turn-zone:disabled{cursor:default}.reader-controls{display:flex;align-items:center;gap:24px;margin-top:25px}.reader-controls button{height:36px;width:36px;border:1px solid #bbb9b0;background:transparent;border-radius:50%;font-size:20px;cursor:pointer;transition:background .2s}.reader-controls button:hover:enabled{background:#fff8}.reader-controls button:disabled{opacity:.25;cursor:default}.position{min-width:130px;text-align:center;font-size:10px;letter-spacing:.12em}.track{height:2px;background:#cbc9c0;margin-top:9px}.track div{height:100%;background:#f51b30;transition:width .35s}.hint{font-size:8px;letter-spacing:.14em;margin:16px 0 0;color:#77766f}.hint span{padding:0 8px}footer{display:flex;justify-content:space-between;gap:20px;margin:0 4vw;padding:18px 0;border-top:1px solid #cbc9c2;font-size:10px;color:#77766f}footer span:last-child{font-size:8px;letter-spacing:.12em}.leaf{position:absolute;top:0;width:50%;height:100%;z-index:6;transform-style:preserve-3d;pointer-events:none}.leaf.forward{left:50%;transform-origin:left center}.leaf.backward{left:0;transform-origin:right center}.leaf-face{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;background:white}.leaf-face>.page{width:100%}.leaf-face.back{transform:rotateY(180deg)}.leaf.single{width:100%;left:0;transform-origin:left center}.leaf.single.backward{transform-origin:right center}
@media(orientation:portrait){.masthead{padding:22px 6vw}.edition{font-size:8px}.masthead a{font-size:14px}.masthead a span{font-size:8px}main{padding:26px 22px 20px}.book-wrap{width:min(100%,calc((100svh - 265px)*.707),600px)}.book{aspect-ratio:.707;perspective:1600px}.spread{grid-template-columns:minmax(0,1fr)}.spread>.page{width:100%}.spine{display:none}.intro{padding:10%}.intro h1{font-size:clamp(26px,7vw,48px)}.intro p{font-size:clamp(11px,2.6vw,16px)}.intro .eyebrow,.intro .signoff{font-size:9px}.hint{font-size:7px}footer{margin:0 6vw}footer span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.stationary{position:absolute;top:0;width:50%;height:100%;z-index:2;pointer-events:none}.stationary.left{left:0}.stationary.right{left:50%}.stationary>.page{width:100%}

/* The closed magazine sits to the right of the spine. */
.book.cover-only .spread{background:transparent}
.book.cover-only .spread>.page{grid-column:2}
.book.cover-only .spine{display:none}
.book.cover-only .turn-zone.next{left:auto;right:0;width:50%;cursor:e-resize}
.book.cover-only .turn-zone.previous{display:none}
.leaf-face{ -webkit-backface-visibility:hidden; }
.leaf{will-change:transform}

/* Keep every rotating face in the same unflattened 3D context. */
.leaf-face{transform:translateZ(.01px)}
.leaf-face.back{transform:rotateY(180deg) translateZ(.01px)}



/* A quiet center crease on resting, two-page spreads. */
.spine {
  left: calc(50% - 9px);
  width: 18px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(0, 0, 0, .025) 30%,
    rgba(0, 0, 0, .12) 50%,
    rgba(0, 0, 0, .035) 65%,
    transparent 100%);
}


/* Keep the fold visible above the turning sheet. */
.spine { z-index: 7; }
