/* Photographic opening, enhanced only after its local image has loaded. */
.photographic-opening{display:none;position:absolute;inset:0;pointer-events:none;z-index:1}
.menu-preview,.menu-preview-caption,.menu-food-bridge{display:none}
.photo-ready .menu-preview{display:block;position:absolute;left:70px;top:135px;width:300px;height:300px;overflow:hidden}
.menu-preview img,.menu-food-bridge img{width:100%;height:100%;object-fit:cover;object-position:55% 55%;max-width:none}
.photo-ready .menu-preview-caption{display:block;position:absolute;left:70px;top:448px;font:9px/1.6 var(--body);letter-spacing:.06em;color:#675b46}
.photo-ready .menu-back .printed-row{display:none}
.photo-ready .menu-food-bridge{display:block;position:absolute;left:0;top:0;width:600px;height:600px;z-index:6;visibility:hidden;transform-origin:0 0;overflow:hidden;pointer-events:none;will-change:transform,border-radius}
.photo-ready .photographic-opening{display:block;will-change:opacity}
.photographic-frame{position:absolute;right:-28px;bottom:-36px;transform-origin:72% 65%;will-change:transform;isolation:isolate}
.photographic-scene{position:absolute;inset:0;width:100%;height:100%;max-width:none;mask-image:linear-gradient(to right,transparent,#000 14%),linear-gradient(to bottom,transparent,#000 4%,#000 97%,transparent);mask-composite:intersect}
.photo-menu-anchor{position:absolute;left:0;top:0;width:440px;height:520px;transform-origin:0 0;transform-style:preserve-3d;scale:var(--photo-scale);isolation:auto}
.photo-leaf-shadow{position:absolute;inset:0;background:#392d21;filter:blur(10px);border-radius:4px;transform-origin:0 50%;opacity:0;will-change:transform,opacity;pointer-events:none}
.photo-ready .photographic-frame .menu-book{left:0;top:0;width:440px;height:520px;transform:none;transform-style:preserve-3d;will-change:auto}
.photo-ready .photographic-frame .menu-cover{transform-origin:0 50%;will-change:transform}
.photo-ready .photographic-frame .menu-back{padding:44px 42px 35px;background:linear-gradient(90deg,#d4c3a4,#f7efdf 5%,#faf3e7 80%,#eadcc6);border-radius:3px 5px 5px 3px;box-shadow:0 2px 0 #c6b390,0 4px 0 #ece1cf,0 6px 0 #b2a082,8px 10px 8px #49372335;opacity:1}
.photo-ready .photographic-frame .cover-front{padding:19px 22px;background:linear-gradient(100deg,#e1d4bb,#faf3e7 5%,#fcf6eb 70%,#f2e7d6);border-radius:3px 5px 5px 3px;box-shadow:1px 0 0 #c9b899,0 2px 0 #d9c7ad,inset 2px 0 7px #a3977f29}
.photo-ready .photographic-frame .cover-border{padding:36px 14px 42px;border:1px solid #a98954;box-shadow:none;justify-content:flex-start}
.photo-ready .photographic-frame .cover-border img{width:91%;height:auto;margin:5px 0 14px;mix-blend-mode:multiply}
.photo-ready .photographic-frame .cover-rule{width:42px;height:1px;margin:12px 0 24px}
.photo-ready .photographic-frame .cover-border p{font:30px/1.18 var(--serif);color:#272c2d;letter-spacing:-.015em}
.photo-ready .photographic-frame .cover-bottom{display:none}
.photo-ready .photographic-frame .cover-inside{padding:42px;background:linear-gradient(270deg,#c5b293,#f4e9d6 5%,#faf2e3 80%,#ebdec9);border-radius:3px 5px 5px 3px}
.photo-ready .photographic-frame .page-kicker{font:9px/1.6 var(--body);letter-spacing:.14em}
.photo-ready .photographic-frame .menu-back strong{font:italic 28px/1.2 var(--serif);margin:18px 0 0}
.photo-ready .photographic-frame .printed-row{margin-bottom:31px}
.photo-ready .photographic-frame .printed-row>span{font:17px/1.3 var(--serif)}
.photo-ready .photographic-frame .page-number{font:8px/1.6 var(--body);letter-spacing:.14em;padding-top:30px}
.photo-ready .photographic-frame .inside-flourish{font:42px/1 var(--serif);margin:72px 0 35px}
.photo-ready .photographic-frame .cover-inside strong{font:italic 32px/1.2 var(--serif)}
.photo-ready .photographic-frame .cover-inside p{font:15px/1.7 var(--body);margin-top:43px}
.photo-ready .table-world{pointer-events:none;perspective:none}
.photo-ready .photo-window{will-change:opacity}
.photo-ready .photo-window img{will-change:transform}
.photo-ready .table-world .paper-napkin,.photo-ready .table-world .table-coaster,.photo-ready .menu-cast-shadow,.photo-ready .table-tag,.photo-ready .orbital-note{display:none}
.photo-ready .table-rig{opacity:0;visibility:hidden}
.photo-ready .table-rig .table-depth,.photo-ready .table-rig .table-edge,.photo-ready .table-rig .stone-texture,.photo-ready .table-rig .table-rim{display:none}
.photo-ready .table-surface{background:transparent;border:0;box-shadow:none}
.photo-ready .scene-heading{z-index:8}
.photo-ready .stage-bottom{background:none;border-color:#292e2e32;padding-left:0;padding-right:0}
.photo-ready .table-stage::after{content:'';position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(to bottom,#f4efe600,#f4efe6ed 62%,var(--paper));z-index:5;pointer-events:none}
.photo-ready .scene-heading span:last-child{display:none}
.photo-ready .stage-grid{opacity:.1}
@media(min-width:741px){
  .photo-ready .table-copy{width:38%}
  .photo-ready .story-copy h1,.photo-ready .story-copy h2{font-size:clamp(75px,8vw,130px)}
}
@media(max-width:740px){
  .photographic-frame{right:-16px;bottom:55px;transform-origin:75% 70%}
  .photographic-scene{mask-image:linear-gradient(to right,transparent,#000 17%),linear-gradient(to bottom,transparent,#000 5%,#000 97%,transparent)}
  .photo-ready .table-stage::after{height:88px}
}

/* Quiet, useful owner-review context, available from the footer. */
#concept-notes-open{border-bottom:1px solid #b8a58b;min-height:44px;font-size:12px;padding:8px 0}
#concept-dialog{width:min(650px,calc(100% - 40px));max-height:88svh}
.concept-shell{padding:32px 40px 36px}
.concept-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.concept-top .eyebrow{font-size:10px;color:#805b37}
.concept-shell h2{font-size:48px;line-height:1.05;letter-spacing:-.05em}
.concept-intro{font-size:16px;line-height:1.7;margin-top:22px;max-width:48ch}
.concept-details{margin:27px 0 0}
.concept-details>div{padding:20px 0;border-top:1px solid var(--line)}
.concept-details dt{font-size:14px;font-weight:650;margin-bottom:8px}
.concept-details dd{font-size:14px;line-height:1.75;color:#565d56;margin:0}
.concept-footnote{font-size:12px;line-height:1.7;border-top:1px solid var(--line);padding-top:20px;color:#62675e}
/* Keep useful text readable from its first visible frame. The slower motion
   comes from a small positional reveal, not prolonged low-contrast copy. */
.motion-ready:not(.still) .reveal{opacity:1;translate:0 22px;transition:translate .75s cubic-bezier(.2,.65,.2,1)}
.motion-ready:not(.still) .reveal.is-visible{translate:0 0}
.close-button{min-width:44px;min-height:44px}
@media(max-width:740px){
  .concept-shell{padding:23px 24px 28px}.concept-shell h2{font-size:38px}
  .concept-top{gap:14px}.concept-top .eyebrow{font-size:9px;max-width:25ch}
  .concept-intro{font-size:14px}.concept-details dd{font-size:13px}
  .footer-bottom{gap:10px 18px}.footer-bottom>span{flex-basis:100%}
  #concept-notes-open{font-size:11px}.footer-bottom a,.footer-bottom [data-motion]{display:flex;align-items:center;min-height:44px;font-size:11px}
  .concept-top{position:sticky;top:-23px;background:var(--paper);z-index:1;padding:7px 0}
  .scene-nav button{width:44px;min-height:44px}.motion-toggle{min-width:44px;min-height:44px}
  .story-copy .text-button{min-height:44px}.header nav a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .header nav a:first-child,.header nav a:nth-child(2){display:none}
  .header-menu{min-height:44px}.mobile-dock>a,.mobile-dock>button{min-height:44px}
  .table-stage,.patio-stage{height:calc(100svh - var(--head) - 60px)}
  .scroll-invite{font-size:9px}.daylight-control{font-size:11px}
  .feature-caption .eyebrow{font-size:10px}.feature-caption small,.food-footnote{font-size:12px;line-height:1.7}
  .hours-note{font-size:12px;line-height:1.7}
}
