:root{--paper:#fff;--ink:#272723;--muted:#77776d;--accent:#8b221b;--rail-x:clamp(80px,7.35vw,116px);--rail-center:45vh;font-family:Helvetica,'Helvetica Neue',Arial,sans-serif;color-scheme:light;font-size:12px}
:root[data-background="beige"]{--paper:#eeece6}
*{box-sizing:border-box}
html{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--paper)}
body{position:fixed;left:0;top:0;margin:0;width:var(--viewport-width,100%);height:var(--viewport-height,100dvh);min-width:0;min-height:0;overflow:hidden;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior:none}
[hidden]{display:none!important}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{appearance:none;-webkit-appearance:none;font:inherit;color:inherit;border:0;background:none;box-shadow:none;border-radius:0;margin:0;padding:0;cursor:pointer}
button:disabled{cursor:default;opacity:.22}
a{color:inherit;text-decoration:none}
button:not(:disabled):hover,a:hover{color:var(--accent)}
button:focus-visible,a:focus-visible{outline:none;text-decoration:underline;text-underline-offset:4px}
.icon-button:focus-visible .icon{stroke-width:2;color:var(--accent)}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-90px;left:16px;z-index:1000;background:var(--paper);padding:12px}
.skip-link:focus{top:12px}
.left-rail{position:absolute;inset:0;pointer-events:none;z-index:10}
.wordmark{position:absolute;left:var(--rail-x);top:36px;transform:translateX(-50%);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300;font-size:17px;letter-spacing:-.6px;line-height:1;white-space:nowrap;text-align:center;pointer-events:auto}
.wordmark-caption{display:block;font-size:10px;letter-spacing:-.2px;margin-top:1px}
.rail-controls{position:absolute;left:var(--rail-x);top:var(--rail-center);transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:4px;pointer-events:auto}
.rail-button{position:relative;color:#5c5d54}
.rail-button .icon{width:18px;height:18px}
.rail-button[aria-pressed=true]{color:var(--accent)}
.rail-button[aria-pressed=true]::after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor;left:1px;top:21px}
.rail-tooltip{position:absolute;left:45px;top:50%;transform:translateY(-50%);padding:7px 10px;background:var(--paper);font-size:10px;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;text-transform:uppercase;letter-spacing:.02em}
.rail-button:hover .rail-tooltip,.rail-button:focus-visible .rail-tooltip{opacity:1}
.reader{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;outline:none}
.stage{position:absolute;inset:18px max(160px,9vw) 70px;min-width:0;min-height:0;isolation:isolate}
.book-positioner{position:absolute;left:0;top:0;width:0;height:0;transform:none;z-index:2;contain:layout style;touch-action:none}
.book{position:absolute;inset:0;width:100%;height:100%;min-width:0!important;min-height:0!important;touch-action:none}
.book .stf__wrapper{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;padding-bottom:0!important}
.book .stf__block{height:100%!important;width:100%!important}
.page{overflow:hidden;background:#fff;box-shadow:0 1px 1px #25221b12}
.page img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}
.page::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#110f0d2d 0,#1a171511 2px,#29231509 11px,transparent 8%,transparent calc(100% - 1px),#29231516)}
.page.--left::after{background:linear-gradient(270deg,#110f0d2d 0,#1a171511 2px,#29231509 11px,transparent 8%,transparent calc(100% - 1px),#29231516)}
.page.cover{background:#fff}
.page.cover::after{background:linear-gradient(90deg,#2923150b,transparent 5%,transparent 98%,#29231504)}
.cover-collage{position:absolute;inset:0;overflow:hidden;background:#fff;transform:scale(1.116);transform-origin:50% 100%}
.cover-piece{position:absolute;display:block;overflow:hidden;transform-origin:50% 50%;pointer-events:none}
.cover-cutout{position:absolute;inset:0;display:block}
.cover-piece img{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:fill;pointer-events:none}
.cover-open{position:absolute;z-index:8;display:block;touch-action:manipulation;cursor:pointer}
.cover-open:focus-visible{outline:1px solid var(--ink);outline-offset:5px}
.cover-flight{position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none;contain:strict;perspective:900px}
.cover-fragment{position:absolute;display:block;background-repeat:no-repeat;will-change:transform,opacity;backface-visibility:hidden;transform-origin:50% 50%;pointer-events:none}
.cover-opening .stage{cursor:progress}
.book-binding{position:absolute;top:0;z-index:-1;pointer-events:none;overflow:visible;filter:drop-shadow(-1px 2px 1.2px #211b1730) drop-shadow(-2px 11px 9px #211b172e) drop-shadow(0 24px 20px #211b1717)}
.book-binding svg{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.is-cover .book-binding{display:none}
.page-navigation{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);height:44px;display:flex;align-items:center;justify-content:center;gap:13px}
.page-location{font-size:10px;line-height:16px;min-width:65px;text-align:center;font-weight:400;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
.turn-button .icon{width:20px;height:20px}
.prev .icon{transform:rotate(180deg)}
.load-error{position:absolute;bottom:0;left:0;font-size:12px;line-height:18px;background:var(--paper);padding:10px;z-index:4}
.noscript-cover{display:block;max-width:100%;max-height:100%;margin:auto}
dialog{border:0;padding:0;margin:0;color:var(--ink);background:var(--paper);max-width:none;max-height:none;box-shadow:none;border-radius:0}
dialog::backdrop{background:#29282232;backdrop-filter:blur(2px)}
.close-button{background:none!important;border:0!important;outline:none!important;box-shadow:none!important;border-radius:0!important}
.close-button .icon{width:18px;height:18px;stroke-width:1.2}
.close-button:focus-visible .icon{stroke-width:1.9;color:var(--accent)}
.menu-drawer{position:fixed;inset:0 auto 0 0;width:350px;height:100%;height:100dvh;padding:22px 28px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.menu-drawer[open]{animation:drawer-in .2s ease-out}
@keyframes drawer-in{from{transform:translateX(-20px);opacity:0}to{transform:translateX(0);opacity:1}}
.drawer-header{display:flex;align-items:center;justify-content:space-between;height:34px;font-size:11px;text-transform:uppercase;font-weight:400;letter-spacing:.025em}
.drawer-header .close-button{margin-right:-12px}
.drawer-navigation{display:flex;flex-direction:column;align-items:flex-start;margin-top:24px;gap:4px}
.drawer-link{font-size:12px;line-height:18px;min-height:30px;letter-spacing:.025em;text-transform:uppercase;font-weight:400;text-align:left}
.drawer-link[aria-expanded=true]{text-decoration:underline;text-underline-offset:4px}
.drawer-section{margin-top:25px;max-width:294px}
.drawer-section h2{font:400 12px/18px Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.025em;margin:0 0 17px}
.about-section p{font:400 12px/1.7 Helvetica,Arial,sans-serif;margin:0;letter-spacing:.01em}
.contact-row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:21px}
.contact-row>span{font-size:11px;line-height:16px;text-transform:uppercase;letter-spacing:.025em}
.contact-row a{font-size:12px;line-height:18px;min-height:24px;letter-spacing:.01em}
.text-button{font-size:11px;line-height:18px;letter-spacing:.025em;text-transform:uppercase;min-height:36px}
.spreads-dialog{position:fixed;inset:26px 32px;margin:auto;width:min(1100px,calc(100% - 64px));height:calc(100% - 52px);height:calc(100dvh - 52px);overflow-y:auto;overscroll-behavior:contain;padding:18px 26px 26px}
.spreads-header{display:flex;align-items:center;gap:24px;position:sticky;top:-18px;z-index:2;background:var(--paper);padding:0 0 14px;min-height:55px}
.spreads-header h2{font:400 12px/18px Helvetica,Arial,sans-serif;letter-spacing:.025em;text-transform:uppercase;margin:0 auto 0 0}
.spreads-header .close-button{margin-right:-11px}
.mobile-identity{display:none}
.spreads-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.spread-item{display:block;min-width:0;text-align:left}
.spread-preview{display:block;aspect-ratio:3508/2480;background:#e6e2db}
.spread-item img{display:block;width:100%;height:100%;object-fit:contain}
.spread-caption{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font:400 10px/16px Helvetica,Arial,sans-serif;letter-spacing:.025em;text-transform:uppercase}
.spread-item[aria-current=true] .spread-preview{outline:1px solid #8d887d;outline-offset:3px}
.spread-item:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1100px){:root{--rail-x:72px}.stage{left:125px;right:125px}.wordmark{font-size:15px}.wordmark-caption{font-size:9px}}
@media(max-width:700px) and (orientation:portrait){
  .wordmark{left:50%;top:calc(20px + env(safe-area-inset-top));font-size:clamp(14px,4.1vw,16px)}
  .wordmark-caption{font-size:10px;line-height:1.1}
  .rail-controls{position:static;display:contents;transform:none;pointer-events:none}
  .rail-button{position:absolute;top:calc(10px + env(safe-area-inset-top));pointer-events:auto}
  #menu-open{left:12px}#view-toggle{left:61px}#gallery-mode-open{right:61px}#spreads-open{right:12px}
  .rail-button[aria-pressed=true]::after{left:21px;top:39px}
  .rail-tooltip{display:none}
  .stage{inset:calc(70px + env(safe-area-inset-top)) 18px calc(66px + env(safe-area-inset-bottom))}
  .page-navigation{bottom:calc(8px + env(safe-area-inset-bottom));gap:18px}
  .page-location{font-size:10px;min-width:62px}
  .menu-drawer{width:min(350px,100%);padding:calc(18px + env(safe-area-inset-top)) 25px calc(22px + env(safe-area-inset-bottom))}
  .drawer-link{min-height:40px}
  .drawer-navigation{margin-top:18px;gap:0}
  .drawer-section{margin-top:22px}
  .spreads-dialog{inset:0;width:100%;height:100%;height:100dvh;padding:calc(17px + env(safe-area-inset-top)) 18px calc(22px + env(safe-area-inset-bottom))}
  .spreads-header{display:grid;grid-template-columns:1fr auto 34px;gap:5px 13px;top:calc(-17px - env(safe-area-inset-top));padding:calc(2px + env(safe-area-inset-top)) 0 12px}
  .mobile-identity{display:block;grid-column:1/3;grid-row:1;font-size:10px;letter-spacing:.025em;text-transform:uppercase;line-height:23px}
  .spreads-header h2{grid-column:1;grid-row:2;font-size:12px}
  .spreads-header #back-to-cover{grid-column:2;grid-row:2;font-size:10px}
  .spreads-header .close-button{grid-column:3;grid-row:1/3;align-self:start;justify-self:end;width:34px;margin:0 -9px 0 0}
  .spreads-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
}
@media(orientation:landscape) and (max-height:600px){
  .left-rail{display:none}
  .stage{inset:max(8px,env(safe-area-inset-top)) calc(50px + env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) calc(50px + env(safe-area-inset-left))}
  .page-navigation{position:absolute;inset:0;display:block;transform:none;width:100%;height:100%;pointer-events:none}
  .page-location{display:none}
  .turn-button{position:absolute;top:50%;transform:translateY(-50%);pointer-events:auto;width:44px;height:52px}
  .turn-button.prev{left:calc(4px + env(safe-area-inset-left))}.turn-button.next{right:calc(4px + env(safe-area-inset-right))}
  .turn-button .icon{width:20px;height:20px}
  .menu-drawer{width:350px;padding:12px 25px}.drawer-navigation{margin-top:10px;gap:0}.drawer-link{min-height:27px}.drawer-section{margin-top:12px}.drawer-section h2{margin-bottom:10px}.contact-row{margin-bottom:12px}
  .spreads-dialog{inset:0;height:100%;height:100dvh;width:100%;padding:8px calc(25px + env(safe-area-inset-right)) 18px calc(25px + env(safe-area-inset-left))}
  .spreads-header{top:-8px;min-height:45px;padding-bottom:8px}
  .spreads-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
