/* The content surface IS the photographed wall board. No separate reading plate. */
@font-face{font-family:BoardHand;src:url(assets/fonts/caveat-latin-variable.woff2) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
.studio .environment,.studio .hero-ui-layer{width:var(--camera-stage-width,100vw)!important;height:var(--camera-stage-height,100svh)!important;left:50%!important;top:var(--camera-base-top,0px)!important;transform-origin:0 0}
.studio .wall-board{position:absolute;z-index:2;left:12vw;top:86px;width:76vw;height:calc(100svh - 280px);pointer-events:none;isolation:isolate}
.wall-board canvas{display:block;width:100%;height:100%;position:absolute;inset:0;pointer-events:none}
.wall-board .inner-content{position:absolute!important;inset:var(--board-inset-top,30px) var(--board-inset-right,30px) var(--board-inset-bottom,30px) var(--board-inset-left,30px)!important;left:var(--board-inset-left,30px)!important;top:var(--board-inset-top,30px)!important;right:var(--board-inset-right,30px)!important;bottom:var(--board-inset-bottom,30px)!important;width:auto!important;height:auto!important;min-height:0!important;max-width:none!important;margin:0!important;padding:0!important;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;background:none!important;border:0!important;border-image:none!important;box-shadow:none!important;backdrop-filter:none!important;font:600 26px/1.28 BoardHand,Manrope,Arial,sans-serif;color:var(--study-ink);opacity:0;transition:opacity 220ms ease}
.board-ready .wall-board .inner-content{opacity:1}
.camera-transitioning .physical-copy,.camera-transitioning .wall-board .inner-content{opacity:0!important}
.home-view .wall-board{visibility:hidden}.home-view.camera-transitioning .wall-board{visibility:visible}
.studio .inner-stage>.desk-labels{display:none!important}
.wall-board .inner-content::before,.wall-board .inner-content::after,.wall-board .inner-content .material::before,.wall-board .inner-content .material::after{display:none!important}
.wall-board .inner-content .material{border:0!important;border-image:none!important;background:none!important;box-shadow:none!important;filter:none!important;transform:none!important}
.wall-board .inner-heading{min-height:54px;gap:16px;margin:0 0 9px!important;padding:0 0 6px!important;border:0;border-bottom:1px solid #49665255;align-items:center;flex:none}
.wall-board .inner-heading h1{font:700 42px/1.2 BoardHand,Arial,sans-serif!important;letter-spacing:0;margin:0!important;padding:2px 0 4px}
.wall-board .inner-heading a{font:600 24px/1.25 BoardHand,Arial,sans-serif;min-height:44px;padding:2px 4px;white-space:nowrap}
.wall-board .inner-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:12px;padding:2px 12px 20px 2px!important;scrollbar-color:#63807066 transparent;flex:1;outline-offset:-3px}
.wall-board .inner-content :is(p,li,summary){font:600 26px/1.28 BoardHand,Arial,sans-serif!important;letter-spacing:0}
.wall-board .inner-content p{margin-bottom:18px}
.wall-board .inner-content :is(h2,h3){font:700 36px/1.28 BoardHand,Arial,sans-serif!important;letter-spacing:0!important;margin:0 0 15px!important;padding:2px 0 8px!important;height:auto!important;max-height:none!important;overflow:visible!important;overflow-wrap:normal;word-break:normal}
.wall-board .inner-content :is(.eyebrow,.small-note){font-size:21px!important;line-height:1.3!important}
.wall-board .inner-content .offer-price{font-size:52px!important;line-height:1.15!important}
.wall-board .inner-content .offer-price span{font:600 24px/1.3 BoardHand,Arial,sans-serif!important}
.wall-board .inner-content :is(.info-panel,.reading-plate){padding:0!important;min-height:0!important;max-width:none!important}
.wall-board .inner-content .key{font:600 23px/1.2 BoardHand,Arial,sans-serif;min-width:44px;min-height:44px;padding:10px 18px}
.wall-board .inner-content .key span{font:inherit;transform:none!important}
.wall-board .inner-content .contact-email{font:700 29px/1.3 BoardHand,Arial,sans-serif;overflow-wrap:anywhere}
.wall-board .reading-hint{font:600 18px/1.2 BoardHand,Arial,sans-serif;color:var(--study-muted);margin-top:4px}
.wall-board .inner-content .process-steps li{padding:10px 0}
.wall-board .inner-content details{padding:12px 0;border-color:#49665255}
.wall-board .inner-content summary{min-height:44px;padding:5px 2px}
.wall-board .inner-content .document-controls,.wall-board .inner-content .leaf-controls,.wall-board .inner-content .exhibit-controls{gap:16px;min-height:48px;font:600 23px/1.2 BoardHand,Arial,sans-serif}
.wall-board .inner-content .exhibit-controls{position:static;width:auto;max-width:none;display:flex;margin:0 0 18px;justify-content:center;padding:0}
.wall-board .inner-content .project-selector{display:none!important}
.wall-board .inner-content .demo-exhibit{display:flex!important;flex-direction:column;gap:12px;padding:0!important;margin:0!important;min-width:0;overflow:visible}
.js .wall-board .inner-content .demo-exhibit[hidden]{display:none!important}
.wall-board .inner-content .exhibit-copy{order:0;width:100%;padding:0!important;overflow:visible;flex:none;min-height:min-content}
.wall-board .inner-content .preview-pair{order:1;width:100%;max-width:760px;padding:0 17% 4% 0;flex:none}
.wall-board .inner-content .demo-display{padding:0!important;border:0!important;border-image:none!important}
.wall-board .inner-content .demo-phone{padding:0;border:0;border-image:none}
.wall-board .inner-content .exhibit-copy h2{padding-bottom:10px!important}
.studio .nav-object[aria-current=page] .object-label{font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;outline:2px solid #65806c;outline-offset:2px;border-radius:10px}
.studio .slim-footer a[aria-current=page]{font-weight:800;text-decoration-thickness:2px}
@media(max-width:768px){
 .studio .wall-board{left:12px;top:76px;width:calc(100vw - 24px);height:calc(100svh - 310px)}
 .wall-board .inner-content{font-size:22px}
 .wall-board .inner-heading{min-height:47px;gap:8px;margin-bottom:7px!important;padding-bottom:4px!important}
 .wall-board .inner-heading h1{font-size:30px!important;line-height:1.18!important}
 .wall-board .inner-heading a{font-size:21px;min-height:44px}
 .wall-board .inner-scroll{padding:1px 7px 18px 1px!important}
 .wall-board .inner-content :is(p,li,summary){font-size:23px!important;line-height:1.28!important}
 .wall-board .inner-content :is(h2,h3){font-size:31px!important;line-height:1.3!important;padding-bottom:8px!important}
 .wall-board .inner-content :is(.eyebrow,.small-note){font-size:19px!important;line-height:1.3!important}
 .wall-board .inner-content .offer-price{font-size:40px!important}
 .wall-board .inner-content .offer-price span{font-size:21px!important}
 .wall-board .inner-content .contact-email{font-size:27px}
 .wall-board .inner-content .key{font-size:22px;min-height:44px;padding:8px 14px}
 .wall-board .reading-hint{font-size:17px}
 .studio .mobile-bar{display:none!important}
 .studio .object-dock{position:fixed!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:64px 64px;align-items:center;justify-content:center;gap:8px 10px!important;left:0!important;right:0!important;top:auto!important;bottom:calc(44px + env(safe-area-inset-bottom))!important;width:100%!important;height:148px!important;padding:6px 12px!important;transform:none!important;background:none!important;box-shadow:none!important}
 .studio .object-dock .nav-object{width:100%!important;min-height:64px;height:64px;gap:2px;justify-content:center}
 .studio .object-dock .nav-object>img{width:48px!important;height:30px!important;object-fit:contain;flex:none}
 .studio .object-dock .nav-object>.monitor-object{width:29px!important;height:auto!important;aspect-ratio:410/426;flex:none}
 .studio .object-dock .object-label{width:100%!important;min-height:28px!important;height:28px;padding:3px 4px;font-size:14px!important;line-height:1.2}
 .studio .object-dock .object-label::before{border-width:8px;border-image-width:8px}
 .studio>.slim-footer,.studio.home-view>.slim-footer{position:fixed!important;display:flex!important;left:0!important;bottom:0!important;right:0!important;width:100%!important;height:calc(44px + env(safe-area-inset-bottom))!important;min-height:0!important;margin:0!important;padding:0 5px env(safe-area-inset-bottom)!important;gap:0!important}
 .studio .slim-footer>span{display:none!important}.studio .slim-footer nav{gap:0 8px!important;flex-wrap:nowrap!important;align-items:center}
 .studio .slim-footer a{min-height:44px!important;font-size:12px;line-height:1.2}
}
@media(prefers-reduced-motion:reduce){.wall-board .inner-content{transition:none}}
.focus-cleanup{display:none}
@media(max-width:768px){
 :root{--board-clean-photo:url(assets/board-focus/portrait-light-780.webp)}
 :root[data-theme=dark]{--board-clean-photo:url(assets/board-focus/portrait-dark-780.webp)}
 .studio .focus-cleanup{display:block;position:absolute;inset:0;z-index:2;pointer-events:none;background-image:var(--board-clean-photo);background-size:100% 100%;background-repeat:no-repeat;mask-image:url(assets/board-focus/monitor-mask.svg);mask-size:100% 100%;mask-repeat:no-repeat;opacity:var(--camera-focus-progress,0)}
}

/* Carry the last photographed board frame across document navigation. */
.camera-arrival .studio .environment{transform:var(--camera-arrival-transform)!important;--camera-focus-progress:1}
.camera-arrival .studio .wall-board{left:var(--camera-arrival-x);top:var(--camera-arrival-y);width:var(--camera-arrival-w);height:var(--camera-arrival-h);background-image:var(--camera-arrival-image);background-size:100% 100%}
/* The six physical menu objects also provide the no-JS navigation. */
.studio .nojs-menu,.studio .nojs-choices{display:none!important}

/* Editor correction: desktop is one uniformly zoomed photograph, no focus patch. */
@media(min-width:769px){.wall-board canvas{display:none!important}.camera-arrival .studio .wall-board{background-image:none!important}}
/* Each board has three independent rows: heading, native scroll, reading cue. */
.wall-board .inner-content{display:grid!important;grid-template-rows:auto minmax(0,1fr) 26px;gap:8px}
.wall-board .inner-heading{margin:0!important}
.wall-board .inner-scroll{overflow-anchor:none;scroll-behavior:auto;padding:8px 12px 48px 2px!important;scroll-padding:20px;mask-image:linear-gradient(to bottom,transparent 0,#000 var(--scroll-fade-top,0px),#000 calc(100% - 28px),transparent 100%);mask-size:100% 100%;mask-repeat:no-repeat}
.wall-board .inner-scroll *{overflow-anchor:none}
.wall-board .reading-hint{position:static!important;display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:26px;height:26px;line-height:1.2;margin:0!important;padding:0!important;pointer-events:none}
.wall-board .inner-content .exhibit-controls{margin-top:0!important}
.wall-board .inner-content .exhibit-copy .eyebrow{margin-bottom:10px}
.wall-board .inner-content .exhibit-copy h2{margin-bottom:10px!important}
.wall-board .inner-content .exhibit-copy>p{margin-bottom:12px}
@media(max-width:768px){.wall-board .inner-content{grid-template-rows:auto minmax(0,1fr) 24px;gap:7px}.wall-board .inner-scroll{padding:8px 7px 44px 1px!important}.wall-board .reading-hint{height:24px;min-height:24px}}

@media(max-width:768px){.wall-board .inner-content .exhibit-copy .eyebrow{display:none}}

/* R4: the small physical board uses the complete demo link, without cropped prints. */
.wall-board .inner-content [data-leaf="0"] .offer-price{white-space:nowrap!important}
.wall-board .inner-content [data-leaf="0"] .offer-price span{display:inline!important;margin-left:.25em;white-space:nowrap;vertical-align:baseline}

/* Material controls never appear as half a button at a board boundary. */
.wall-board .inner-scroll .board-control-outside{opacity:0!important;pointer-events:none}

.wall-board .inner-scroll .key{scroll-margin-block:36px;transform:none!important}
