/* TableWeb adaptation of photo-business-cover-v3/src/immersive.css and cover.css. */
.tw-scroll-story { display:none; }
html.motion-ready .tw-scroll-story, html.motion-off .tw-scroll-story { display:block; }
.tw-scroll-story .story-track { position:relative; background:#fff; }
.tw-scroll-story .story-stage { position:relative; display:flex; flex-direction:column; isolation:isolate; padding-top:0; color:#182822; background:#fff; }
.tw-scroll-story .story-photo { position:relative; overflow:hidden; height:70svh; min-height:300px; flex-shrink:0; background:#182822; }
.tw-scroll-story .story-photo img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; }
.tw-scroll-story .photo-wash { position:absolute; inset:0; background:linear-gradient(90deg,#182822f0,#182822aa 48%,#18282250); opacity:0; }
.tw-scroll-story .photo-one { order:1; }
.tw-scroll-story .photo-two { order:4; }
.tw-scroll-story .photo-three { order:7; }
.tw-scroll-story .story-open { order:0; position:relative; min-height:calc(100svh - 80px); display:grid; place-items:center; text-align:center; padding:30px 6vw 65px; background:#fff; }
.tw-scroll-story .cover-body { width:100%; }
.tw-scroll-story .story-open .intro-label { margin-bottom:1rem; font-size:.8rem; letter-spacing:.12em; }
.tw-scroll-story .story-open h1 { max-width:14em; margin:24px auto 24px; font:inherit; font-size:clamp(1.1rem,5.9vw,4.4rem); font-weight:650; line-height:1.48; letter-spacing:-.02em; }
.tw-scroll-story .story-open .lead { max-width:37rem; margin-inline:auto; font-size:clamp(.95rem,1.15vw,1.08rem); line-height:2; }
.tw-scroll-story .story-open .hero-meta { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 20px; margin-top:24px; }
.tw-scroll-story .story-open .hero-price { margin:0; font-size:1rem; font-weight:650; }
.tw-scroll-story .story-open .action { display:inline-flex; align-items:center; min-height:44px; }
.tw-scroll-story .cover-scroll { display:flex; justify-content:space-between; align-items:center; gap:24px; width:100%; margin:48px 0 0; padding-top:1rem; border-top:1px solid #d8ded9; color:#5b655f; font-size:.72rem; letter-spacing:.08em; }
.tw-scroll-story .cover-scroll span:last-child { color:#215a43; }
.tw-scroll-story .story-cue { order:2; padding:54px 7vw; background:#fff; color:#182822; }
.tw-scroll-story .cue-a { order:2; }
.tw-scroll-story .cue-a-detail { order:3; }
.tw-scroll-story .cue-b { order:5; }
.tw-scroll-story .cue-b-detail { order:6; }
.tw-scroll-story .cue-c { order:8; }
.tw-scroll-story .story-label { display:block; margin:0 0 18px; color:#5b655f; font-size:.72rem; line-height:1.5; letter-spacing:.14em; }
.tw-scroll-story .story-cue h2, .tw-scroll-story .story-cue > h2 { max-width:14em; margin:0; font:inherit; font-size:clamp(2rem,5.2vw,4rem); font-weight:650; line-height:1.45; letter-spacing:-.02em; }
.tw-scroll-story .story-cue p:not(.story-label) { max-width:42rem; margin:1.2rem 0 0; font-size:clamp(1rem,1.5vw,1.3rem); line-height:1.95; }
.tw-scroll-story .story-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; width:max-content; max-width:100%; min-height:44px; margin-top:22px; padding:10px 0; border-bottom:1px solid currentColor; color:#215a43; font-size:.95rem; text-decoration:none; }
.tw-scroll-story .story-cta span { font-size:1.25rem; }
.tw-scroll-story .story-guide, .tw-scroll-story .story-skip { display:none; }
.tw-scroll-story .story-guide { color:#182822; }
.tw-scroll-story .story-guide.over-photo, .tw-scroll-story .story-skip.over-photo { color:#fff; }
.tw-scroll-story .guide-line { position:relative; flex:1; max-width:280px; height:1px; background:#18282250; }
.tw-scroll-story .guide-line i { position:absolute; inset:0; background:currentColor; transform-origin:left; transform:scaleX(0); }
.tw-scroll-story .guide-number { margin-left:auto; font-variant-numeric:tabular-nums; }
.tw-scroll-story .story-cue :focus-visible, .tw-scroll-story .story-skip:focus-visible, .tw-scroll-story .story-guide a:focus-visible { outline:3px solid #215a43; outline-offset:5px; }
.tw-scroll-story .story-arrival { padding:70px 7vw 30px; }
html.motion-ready .tw-scroll-story .story-track { height:calc(var(--story-height) * 14); }
html.motion-ready .tw-scroll-story .story-stage { position:sticky; top:0; height:var(--story-height); padding:0; display:block; overflow:hidden; }
html.motion-ready .tw-scroll-story .story-photo { position:absolute; inset:0; height:100%; min-height:0; transform-origin:center; will-change:transform,clip-path; }
html.motion-ready .tw-scroll-story .photo-one { z-index:1; }
html.motion-ready .tw-scroll-story .photo-two { z-index:2; clip-path:circle(0% at 67% 63%); }
html.motion-ready .tw-scroll-story .photo-three { z-index:3; clip-path:inset(100% 0 0); }
html.motion-ready .tw-scroll-story .story-photo img { will-change:transform; }
html.motion-ready .tw-scroll-story .story-open { position:absolute; inset:0; z-index:5; width:100%; height:100%; min-height:0; padding:110px 7vw 90px; background:transparent; transform-origin:50% 45%; }
html.motion-ready .tw-scroll-story .story-open h1 { max-width:14em; }
.tw-scroll-story .story-open h1 > span { display:block; white-space:normal; }
html.motion-ready .tw-scroll-story .cover-scroll { position:absolute; left:7vw; right:7vw; bottom:34px; width:auto; margin:0; }
html.motion-ready .tw-scroll-story .story-cue { position:absolute; top:30%; left:7vw; right:6vw; z-index:6; padding:0; background:none; color:#fff; opacity:0; visibility:hidden; will-change:transform,opacity; }
html.motion-ready .tw-scroll-story .detail-cue { top:39%; }
html.motion-ready .tw-scroll-story .cue-b { left:12vw; }
html.motion-ready .tw-scroll-story .cue-c { top:28%; }
html.motion-ready .tw-scroll-story .story-label { color:#fff; }
html.motion-ready .tw-scroll-story .story-cue p:not(.story-label) { font-size:clamp(1.1rem,2.1vw,1.8rem); }
html.motion-ready .tw-scroll-story .story-cta { color:#fff; border-color:#fff; }
html.motion-ready .tw-scroll-story .story-guide { position:absolute; bottom:30px; left:6vw; right:6vw; z-index:8; display:flex; align-items:center; gap:30px; color:#182822; font-size:.7rem; letter-spacing:.12em; }
html.motion-ready .tw-scroll-story .story-guide.over-photo { color:#fff; }
html.motion-ready .tw-scroll-story .guide-line { background:#ffffff75; }
html.motion-ready .tw-scroll-story .story-guide:not(.over-photo) { bottom:14px; padding:10px 12px; background:rgba(255,255,255,.88); }
html.motion-ready .tw-scroll-story .story-skip { position:absolute; right:6vw; bottom:70px; z-index:9; display:block; padding:12px 0; color:#182822; font-size:.75rem; text-decoration:none; }
html.motion-ready .tw-scroll-story .story-skip.over-photo { color:#fff; }
html.motion-ready .tw-scroll-story .story-skip:not(.over-photo) { padding:10px 12px; border-radius:2px; background:rgba(255,255,255,.88); }
html.motion-ready .tw-scroll-story .site-motion-control--story { position:absolute; top:14px; right:5vw; z-index:12; }
html.motion-ready .concept-hero, html.motion-off .concept-hero { display:none; }
html.motion-off .tw-scroll-story .story-track { height:auto; }
html.motion-off .tw-scroll-story .story-stage { position:relative; height:auto; overflow:visible; display:flex; padding-top:0; }
html.motion-off .tw-scroll-story .story-photo { position:relative; inset:auto; height:65svh; min-height:320px; opacity:1!important; visibility:visible!important; clip-path:none!important; transform:none!important; }
html.motion-off .tw-scroll-story .story-photo img { transform:none!important; }
html.motion-off .tw-scroll-story .story-open { position:relative; inset:auto; height:auto; min-height:calc(100svh - 80px); transform:none!important; opacity:1!important; visibility:visible!important; }
html.motion-off .tw-scroll-story .story-cue { position:relative; inset:auto; top:auto; left:auto; right:auto; z-index:auto; padding:54px 7vw; background:#fff; color:#182822; transform:none!important; opacity:1!important; visibility:visible!important; }
html.motion-off .tw-scroll-story .story-guide, html.motion-off .tw-scroll-story .story-skip { display:none; }
html.motion-off .tw-scroll-story .site-motion-control--story { position:absolute; top:14px; right:5vw; }
@media(max-width:759px) {
  .tw-scroll-story .story-open { min-height:calc(100svh - 75px); padding:22px 7vw 64px; }
  .tw-scroll-story .story-open h1 { font-size:clamp(1.1rem,5.9vw,2.75rem); line-height:1.48; }
  .tw-scroll-story .story-open .lead { font-size:.9rem; }
  .tw-scroll-story .story-open .hero-meta { gap:10px 14px; }
  .tw-scroll-story .cover-scroll { margin-top:30px; gap:12px; font-size:.64rem; }
  .tw-scroll-story .story-cue { padding:34px 7vw; }
  .tw-scroll-story .story-cue h2, .tw-scroll-story .story-cue > h2 { font-size:clamp(1.8rem,8vw,3rem); line-height:1.5; }
  .tw-scroll-story .story-cue p:not(.story-label) { font-size:1rem; line-height:1.9; }
  .tw-scroll-story .story-label { font-size:.62rem; margin-bottom:14px; }
  .tw-scroll-story .story-cta { margin-top:15px; font-size:.83rem; }
  html.motion-ready .tw-scroll-story .story-open { top:0; left:0; width:100%; padding:100px 7vw 92px; }
  html.motion-ready .tw-scroll-story .story-open h1 { max-width:100%; margin-top:20px; margin-bottom:18px; font-size:clamp(1.1rem,5.9vw,2.75rem); }
  html.motion-ready .tw-scroll-story .story-cue, html.motion-ready .tw-scroll-story .cue-b { left:7vw; right:7vw; top:33%; }
  html.motion-ready .tw-scroll-story .detail-cue { top:39%; }
  html.motion-ready .tw-scroll-story .cue-c { top:31%; }
  html.motion-ready .tw-scroll-story .story-guide { bottom:24px; left:7vw; right:7vw; gap:14px; font-size:.58rem; }
  html.motion-ready .tw-scroll-story .guide-line { max-width:100px; }
  html.motion-ready .tw-scroll-story .story-skip { bottom:57px; right:7vw; }
  html.motion-ready .tw-scroll-story .cover-scroll { bottom:34px; }
  html.motion-off .tw-scroll-story .story-photo { height:55svh; min-height:260px; }
  html.motion-off .tw-scroll-story .story-open { min-height:calc(100svh - 75px); padding:22px 7vw 56px; }
  html.motion-off .tw-scroll-story .story-cue { padding:34px 7vw; }
}
@media(max-width:360px) {
  .tw-scroll-story .story-open h1 { font-size:2.1rem; }
  .tw-scroll-story .story-open .lead { display:none; }
  .tw-scroll-story .story-cue h2, .tw-scroll-story .story-cue > h2 { font-size:1.8rem; }
}
@media(max-height:600px) and (min-width:760px) {
  html.motion-ready .tw-scroll-story .story-open { padding:100px 7vw 60px; }
  html.motion-ready .tw-scroll-story .story-open h1 { font-size:2.6rem; line-height:1.2; margin:10px auto 12px; }
  html.motion-ready .tw-scroll-story .story-cue { top:120px; }
  html.motion-ready .tw-scroll-story .story-cue h2, html.motion-ready .tw-scroll-story .story-cue > h2 { font-size:2.5rem; }
  html.motion-ready .tw-scroll-story .story-cue p:not(.story-label) { font-size:1.1rem; line-height:1.7; }
  html.motion-ready .tw-scroll-story .story-cta { margin-top:12px; font-size:.8rem; }
  html.motion-ready .tw-scroll-story .story-guide { bottom:16px; }
  html.motion-ready .tw-scroll-story .story-skip { bottom:43px; }
}


/* v12 targeted line-balance and cue/photo alignment fixes. */
.tw-scroll-story .cue-c > h2 { font-size:clamp(1.6rem,4.7vw,4rem); }
.tw-scroll-story .cue-c > h2 > span { display:block; white-space:normal; }
@media(max-width:759px) { .tw-scroll-story .cue-c > h2 { font-size:clamp(1.1rem,6.2vw,2.2rem); } }
@media(max-width:360px) { .tw-scroll-story .cue-a > h2 { max-width:100%; font-size:clamp(1.5rem,8vw,1.7rem); line-height:1.35; white-space:normal; overflow-wrap:anywhere; } .tw-scroll-story .cue-c > h2 { font-size:clamp(1rem,5vw,1.15rem); } }

/* v12 brand-led opening and restrained, legible photo captions. */
.tw-scroll-story .story-open .cover-body { display:flex; flex-direction:column; align-items:center; }
.tw-scroll-story .story-open .story-brand-title { width:min(88vw,1080px); aspect-ratio:4.35/1; margin:0 auto clamp(24px,5vh,52px); }
.tw-scroll-story .story-open .story-brand-artwork { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.tw-scroll-story .story-open .hero-meta { gap:8px 18px; margin-top:0; color:#5b655f; font-size:.88rem; }
.tw-scroll-story .story-open .hero-price { font-size:.9rem; }
.tw-scroll-story .story-open .action { min-height:40px; font-size:.88rem; }
.tw-scroll-story .cover-scroll { justify-content:flex-end; }
html.motion-ready .tw-scroll-story .story-cue {
  right:auto;
  width:min(76vw,820px);
  padding:clamp(18px,2.8vw,34px);
  border-left:2px solid #215a43;
  background:linear-gradient(100deg,rgba(24,40,34,.9),rgba(24,40,34,.78) 76%,rgba(24,40,34,.58));
  box-shadow:0 10px 38px rgba(0,0,0,.12);
}
html.motion-ready .tw-scroll-story .story-cue h2,
html.motion-ready .tw-scroll-story .story-cue > h2 { font-size:clamp(1.8rem,4.4vw,3.45rem); line-height:1.38; }
html.motion-ready .tw-scroll-story .story-cue .story-cta { margin-top:14px; font-size:.84rem; }
html.motion-ready .tw-scroll-story .cue-b { left:auto; right:7vw; }
html.motion-ready .tw-scroll-story .cue-b-detail { top:39%; left:7vw; }
html.motion-ready .tw-scroll-story .cue-c { top:29%; }
html.motion-ready .tw-scroll-story .cue-a-detail { left:auto; right:7vw; }
html.motion-ready .tw-scroll-story .cue-b { left:7vw; right:auto; }
html.motion-ready .tw-scroll-story .cue-b-detail { top:39%; left:auto; right:7vw; }
html.tableweb-intro .tw-scroll-story .story-brand-title {
  clip-path:inset(0 100% 0 0);
  animation:tableweb-brand-reveal 640ms cubic-bezier(.2,.72,.18,1) forwards;
}
html.tableweb-intro .tw-scroll-story .hero-meta {
  opacity:0;
  animation:tableweb-detail-reveal 360ms ease-out 180ms forwards;
}
@keyframes tableweb-brand-reveal {
  0% { clip-path:inset(0 100% 0 0); transform:translateY(12px); }
  100% { clip-path:inset(0); transform:translateY(0); }
}
@keyframes tableweb-detail-reveal {
  from { opacity:0; transform:translateY(5px); }
  to { opacity:1; transform:translateY(0); }
}
@media(max-width:759px) {
  .tw-scroll-story .story-open .story-brand-title { width:min(88vw,620px); aspect-ratio:3.8/1; margin-bottom:clamp(22px,5vh,42px); }
  .tw-scroll-story .story-open .hero-meta { gap:8px 12px; font-size:.8rem; }
  .tw-scroll-story .story-open .hero-price,.tw-scroll-story .story-open .action { font-size:.8rem; }
  html.motion-ready .tw-scroll-story .story-cue,
  html.motion-ready .tw-scroll-story .cue-b,
  html.motion-ready .tw-scroll-story .cue-b-detail { left:7vw; right:7vw; width:auto; padding:17px 18px; }
  html.motion-ready .tw-scroll-story .story-cue h2,
  html.motion-ready .tw-scroll-story .story-cue > h2 { font-size:clamp(1.35rem,6.2vw,2.15rem); line-height:1.4; }
  html.motion-ready .tw-scroll-story .cue-c > h2 { font-size:clamp(1.12rem,5.2vw,1.8rem); }
  html.motion-ready .tw-scroll-story .story-cue .story-cta { min-height:36px; margin-top:10px; font-size:.76rem; }
  html.motion-ready .tw-scroll-story .cue-b-detail { top:39%; }
  html.motion-ready .tw-scroll-story .cue-a-detail,
  html.motion-ready .tw-scroll-story .cue-b-detail { left:7vw; right:7vw; }
}
@media(prefers-reduced-motion:reduce) {
  html.tableweb-intro .tw-scroll-story .story-brand-title,
  html.tableweb-intro .tw-scroll-story .hero-meta { animation:none; opacity:1; clip-path:none; transform:none; }
}
