.cover-workshop{padding-top:32px;padding-bottom:44px}
.cover-workshop [hidden],.cover-viewer [hidden]{display:none!important}
.cover-workshop-intro{max-width:900px;margin-bottom:32px}
.cover-workshop-intro .eyebrow{display:block;margin:24px 0 16px}
.cover-workshop-intro h1{font-size:clamp(42px,6vw,78px);line-height:1.07;margin:0 0 22px;letter-spacing:-1.5px}
.cover-workshop-intro h1 em{font-weight:400;color:var(--gold)}
.cover-workshop-intro p{max-width:690px;font-size:18px;line-height:1.65;margin:0 0 12px}
.cover-workshop-intro .workshop-caption{font-size:14px;max-width:680px}
.cover-models-section{padding:0 0 40px}
.cover-models-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px}
.cover-models-heading h2,.cover-process h2,.cover-workshop-contact h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:0;letter-spacing:-.5px}
.cover-models-heading p{white-space:nowrap;font-size:14px;margin:0}
.cover-toolbar{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(160px,1fr) auto;gap:16px;align-items:end;padding:20px;background:#f0efe6;border:1px solid var(--line);margin-bottom:28px}
.cover-toolbar label{display:grid;gap:8px;font-size:12px;letter-spacing:.4px;color:var(--ink)}
.cover-toolbar input,.cover-toolbar select{font:inherit;font-size:15px;min-height:46px;width:100%;padding:10px 12px;border:1px solid #bfc5b7;border-radius:0;background:#fffefa;color:var(--ink)}
.workshop-control,.viewer-controls button,.viewer-navigation button,.viewer-controls a{font:500 13px/1.3 var(--sans,Arial,sans-serif);min-height:42px;padding:10px 14px;border:1px solid #bbc4b8;border-radius:2px;color:var(--ink);background:#fffefa;cursor:pointer;text-decoration:none}
.workshop-control{min-height:46px}
.workshop-control:hover,.viewer-controls button:hover,.viewer-navigation button:hover,.viewer-controls a:hover{background:#e9eddf;border-color:var(--ink)}
.cover-workshop :is(a,button,input,select):focus-visible,.cover-viewer :is(a,button,input):focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.cover-models-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.cover-model{margin:0;min-width:0;scroll-margin-top:110px}
.cover-model-art{display:block;position:relative;text-decoration:none;color:var(--ink);background:radial-gradient(ellipse at 50% 35%,#fffef9,#efeee5);border:1px solid #e3e3d7;overflow:hidden}
.model-number{position:absolute;left:12px;top:10px;color:#697769;font:11px/1.3 var(--sans,Arial,sans-serif);letter-spacing:1px}
.model-explore{display:flex;justify-content:space-between;padding:12px 14px;font-size:12px;border-top:1px solid #e1e3d8;background:#f8f8f0}
.cover-model figcaption{padding-top:12px}
.cover-model .eyebrow{font-size:10px;letter-spacing:1px}
.cover-model h3{font-size:23px;line-height:1.2;margin:6px 0 0;overflow-wrap:anywhere;hyphens:auto;letter-spacing:-.3px}
.book-scene{position:relative;display:grid;place-items:center;aspect-ratio:2/3;perspective:1200px;padding:14% 10%;isolation:isolate}
.book-scene:before{content:'';position:absolute;bottom:6%;left:15%;right:15%;height:7%;border-radius:50%;background:radial-gradient(ellipse,#253a3040,transparent 70%);filter:blur(5px)}
.book-turn{width:100%;transform-style:preserve-3d;transform:rotateX(-4deg) rotateY(-23deg)}
.book-solid{--book-depth:18px;--book-half:9px;position:relative;width:100%;aspect-ratio:2/3;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--zoom,1));user-select:none}
.book-face,.book-spine,.book-pages,.book-top,.book-bottom{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.book-face{inset:0;background:var(--cover-color);border-radius:1px}
.book-front{transform:translateZ(var(--book-half));overflow:hidden}
.front-art{position:absolute;inset:0;overflow:hidden;background:var(--cover-color)}
.front-art img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transform-origin:0 0;pointer-events:none}
.front-art.is-projected img{position:absolute;left:0;top:0;width:1024px;height:1536px;max-width:none;object-fit:fill}
.book-front:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 3px 0 5px #0003,inset -1px 0 2px #fff4}
.book-back{transform:rotateY(180deg) translateZ(var(--book-half));display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:14% 10%;text-align:center;color:#fff3d6;background:linear-gradient(120deg,#ffffff10,transparent 65%),var(--cover-color);border:1px solid #ffffff20}
.back-kicker{font:8px/1.4 var(--sans,Arial,sans-serif);letter-spacing:1.5px}
.book-back strong{font:normal clamp(15px,2vw,24px)/1.25 Georgia,serif;max-width:100%}
.back-ornament{font-size:25px;color:#e5c991}
.back-imprint{font:9px/1.6 var(--sans,Arial,sans-serif);letter-spacing:2px}
.book-spine{left:calc(-1 * var(--book-half));top:0;width:var(--book-depth);height:100%;transform:rotateY(-90deg);background:linear-gradient(90deg,#0005,transparent 45%,#fff2),var(--cover-color);color:#fff3d6;display:flex;justify-content:space-between;align-items:center;padding:12px 2px;writing-mode:vertical-rl;gap:12px;overflow:hidden}
.book-spine span{font:12px/1 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:77%}
.book-spine small{font:6px/1 Arial,sans-serif;letter-spacing:1px;white-space:nowrap}
.book-pages{right:calc(-1 * var(--book-half));top:1%;height:98%;width:var(--book-depth);transform:rotateY(90deg);background:repeating-linear-gradient(90deg,#fff9e9 0 1px,#cbc6b4 1px 2px,#f0e8d7 2px 3px)}
.book-top,.book-bottom{left:0;width:100%;height:var(--book-depth);background:repeating-linear-gradient(#fff9e9 0 1px,#c8c2b0 1px 2px,#eee5d2 2px 3px)}
.book-top{top:calc(-1 * var(--book-half));transform:rotateX(90deg)}
.book-bottom{bottom:calc(-1 * var(--book-half));transform:rotateX(-90deg)}
.motion-enabled .cover-model .book-turn{animation:book-sway 12s ease-in-out infinite alternate;animation-play-state:paused}
.motion-enabled .cover-model.is-visible .book-turn{animation-play-state:running}
.motion-enabled.viewer-open .cover-model .book-turn{animation-play-state:paused}
.motion-enabled .cover-model:hover .book-turn,.motion-enabled .cover-model:focus-within .book-turn,.viewer-open .cover-model .book-turn{animation-play-state:paused}
.cover-model:nth-child(3n+2) .book-turn{animation-delay:-4s}.cover-model:nth-child(3n) .book-turn{animation-delay:-8s}
@keyframes book-sway{from{transform:rotateX(-4deg) rotateY(-28deg)}to{transform:rotateX(3deg) rotateY(25deg)}}
.cover-empty{text-align:center;padding:40px 20px}
.cover-process{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cover-process .eyebrow{display:block;margin-bottom:12px}
.cover-process h2{margin-bottom:18px}
.cover-process p,.cover-workshop-contact p{font-size:15px;line-height:1.75;margin:0}
.cover-process ol{list-style:none;counter-reset:cover-step;padding:0;margin:0;display:grid;gap:20px}
.cover-process li{counter-increment:cover-step;position:relative;padding-left:42px}
.cover-process li:before{content:counter(cover-step,decimal-leading-zero);position:absolute;top:3px;left:0;font-size:12px;color:var(--gold);letter-spacing:1px}
.cover-process h3{font:600 17px/1.35 var(--sans,Arial,sans-serif);margin:0 0 7px;letter-spacing:0}
.cover-workshop-contact{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding-top:30px}
.cover-workshop-contact>div{flex:1 1 440px}.cover-workshop-contact h2{margin-bottom:12px}
dialog.cover-viewer{width:min(1000px,96vw);max-width:1000px;max-height:96dvh;margin:auto;padding:0;border:1px solid #d8ddcf;border-radius:5px;background:#faf9f2;color:var(--ink);overflow:auto;box-shadow:0 20px 80px #00191066}
.cover-viewer::backdrop{background:#0a231de0;backdrop-filter:blur(6px)}
.viewer-header{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:22px 26px 10px}
.viewer-header .eyebrow{font-size:10px}.viewer-header h2{font:normal clamp(22px,3vw,34px)/1.15 Georgia,serif;margin:5px 0 0;letter-spacing:-.4px}
.viewer-close{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;font:30px/1 Arial;border:1px solid #bbc4b8;border-radius:50%;background:#fffdf5;color:var(--ink);cursor:pointer}
.viewer-stage{height:52vh;min-height:240px;max-height:590px;display:grid;place-items:center;perspective:1500px;touch-action:none;cursor:grab;overflow:hidden;background:radial-gradient(ellipse,#fffefb,#efeee5);outline-offset:-4px}
.viewer-stage:focus-visible{outline:2px solid var(--ink)}
.viewer-stage.is-dragging{cursor:grabbing}
.viewer-stage .book-turn{width:min(330px,29vh,62vw);transform:none;animation:none}
.viewer-stage .book-solid{--book-depth:28px;--book-half:14px}
.viewer-stage .book-back strong{font-size:clamp(22px,3vw,34px)}
.viewer-stage .back-kicker{font-size:10px}.viewer-stage .back-imprint{font-size:11px}.viewer-stage .book-spine span{font-size:15px}.viewer-stage .book-spine small{font-size:8px}
.viewer-help{text-align:center;font-size:12px;line-height:1.5;padding:0 12px;margin:10px 0 14px;color:#536758}
.viewer-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;padding:0 20px 18px}
.viewer-angle-controls,.viewer-options{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.viewer-angle-controls button[aria-pressed=true]{color:#fffefa;background:var(--ink);border-color:var(--ink)}
.viewer-zoom{display:flex;align-items:center;gap:10px;font:12px/1.5 var(--sans,Arial,sans-serif)}
.viewer-zoom input{width:115px;accent-color:var(--ink)}.viewer-zoom output{min-width:42px}
.viewer-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:14px 22px}
.viewer-navigation span{font-size:12px;white-space:nowrap}
.viewer-status{font-size:12px;text-align:center;margin:0;padding:0 16px 8px}.viewer-status:empty{display:none}
.cover-viewer:fullscreen{width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0}
.cover-viewer:fullscreen .viewer-stage{height:60vh;max-height:none}.cover-viewer:fullscreen .viewer-stage .book-turn{width:min(400px,34vh,66vw)}
@media(max-width:1000px){.cover-models-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cover-process{gap:28px}.cover-toolbar{grid-template-columns:1.3fr 1fr auto}}
@media(max-width:760px){.cover-workshop{padding-top:24px;padding-bottom:30px}.cover-workshop-intro{margin-bottom:26px}.cover-workshop-intro p{font-size:16px}.cover-models-heading{display:block}.cover-models-heading p{margin-top:10px}.cover-toolbar{grid-template-columns:1fr 1fr;gap:12px;padding:14px}.cover-search{grid-column:1/-1}.cover-models-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.cover-model h3{font-size:19px}.cover-model .eyebrow{font-size:9px}.model-explore{font-size:10px;padding:10px}.book-scene{padding:17% 13%}.book-solid{--book-depth:12px;--book-half:6px}.book-spine span{font-size:9px}.book-spine small{font-size:5px}.cover-models-section{padding-bottom:30px}.cover-process{grid-template-columns:1fr;gap:24px;padding:26px 0}.cover-workshop-contact .btn{width:100%;text-align:center}.cover-viewer{width:98vw}.viewer-header{padding:16px 16px 10px}.viewer-header h2{font-size:23px}.viewer-stage{height:48svh;min-height:220px}.viewer-stage .book-turn{width:min(260px,28svh,62vw)}.viewer-controls{gap:12px;padding:0 10px 14px}.viewer-controls button,.viewer-controls a{font-size:12px;padding:9px 11px;min-height:40px}.viewer-angle-controls{width:100%}.viewer-navigation{padding:12px}.viewer-navigation button{font-size:11px;padding:10px}.viewer-help{font-size:11px}.viewer-close{width:38px;height:38px;flex-basis:38px}.viewer-options{width:100%}}
@media(prefers-reduced-motion:reduce){.cover-model .book-turn{animation:none!important}}
