/* A reading route and distinct, lightweight ways to explore the company. */
.cp-photographic [id] { scroll-margin-top:76px; }
.smc-company-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:30px; border-top:1px solid #e5e9ec; border-bottom:1px solid #e5e9ec; }
.smc-company-path>a { position:relative; padding:28px 32px 28px 0; color:inherit; text-decoration:none; }
.smc-company-path>a+a { border-left:1px solid #e5e9ec; padding-left:32px; }
.smc-company-path>a>span { font-size:11px; color:#95754a; }
.smc-company-path h3 { font-weight:500; font-size:23px; letter-spacing:-.03em; margin:18px 0 12px; }
.smc-company-path p { font-size:14px; line-height:1.7; color:#7b8790; margin:0; max-width:325px; }
.smc-company-path b { position:absolute; right:18px; top:25px; font-weight:400; color:#9aabb3; transition:transform 200ms; }
.smc-company-path a:hover b { transform:translate(3px,-3px); color:#95754a; }
.smc-overview { margin-top:32px; }
.smc-overview-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0; border-top:1px solid #e3e7e9; }
.smc-overview-heading>.company-eyebrow { font-size:11px; }
.smc-overview-heading>span:last-child { font-size:12px; color:#86929b; }
.smc-overview-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.smc-overview-photos .smc-photo .smc-photo-frame { aspect-ratio:1.5; }
.smc-overview-photos .smc-photo figcaption { display:grid; gap:6px; margin:0; padding:20px 0; border-bottom:1px solid #e3e7e9; }
.smc-overview-photos figcaption>span { font-size:20px; font-weight:500; letter-spacing:-.025em; }
.smc-overview-photos figcaption>small { font-size:12px; }
/* Every chapter occupies real page space. Only photographs move within their frames. */
.smc-section-heading { margin-bottom:32px; max-width:100%; }
.smc-section-heading h2 { max-width:860px; margin:12px 0 18px; font-size:clamp(30px,3.4vw,46px); font-weight:550; letter-spacing:-.045em; line-height:1.12; }
.smc-section-heading p { max-width:680px; margin:0; color:#63717b; font-size:16px; line-height:1.75; }
.smc-heading-split { display:flex; justify-content:space-between; align-items:end; gap:48px; }
.smc-heading-split>div { max-width:720px; }
.smc-heading-split>p { flex:0 1 325px; padding-bottom:20px; }
.smc-film-number { color:#9e8057; font-size:11px; font-variant-numeric:tabular-nums; letter-spacing:.08em; white-space:nowrap; }
.smc-flow-line { position:relative; display:block; height:1px; overflow:hidden; background:#e2e6e8; }
.smc-flow-line::after { content:''; position:absolute; inset:0; background:#b38b51; transform:scaleX(var(--flow-progress,0)); transform-origin:left; }
.smc-section-link { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid #e1e5e7; padding:26px 0 4px; margin-top:52px; color:#826740; font-size:15px; text-decoration:none; }
.smc-section-link>span:last-child,.smc-branch-link>span { transition:transform 180ms ease; }
.smc-section-link:hover>span:last-child,.smc-branch-link:hover>span { transform:translate(3px,-3px); }

/* Production: alternating, open spreads follow the three physical operations. */
.smc-process-route { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin:40px 0 14px; }
.smc-process-route a { display:flex; align-items:center; gap:14px; padding:16px 0; border-top:1px solid #dfe5e8; color:#4d5c65; text-decoration:none; font-size:15px; }
.smc-process-route a>span { color:#987b53; font-size:11px; font-variant-numeric:tabular-nums; }
.smc-process-route i { margin-left:auto; font-style:normal; color:#a1a9ae; }
.smc-process-route a:hover { color:#89693d; }
.smc-process-sequence { display:grid; gap:72px; padding:22px 0 12px; }
.smc-process-step { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:clamp(32px,5.5vw,78px); align-items:center; min-width:0; }
.smc-process-step:nth-child(even) { grid-template-columns:minmax(0,1fr) minmax(0,1.55fr); }
.smc-process-step:nth-child(even)>.smc-photo { grid-column:2; grid-row:1; }
.smc-process-step:nth-child(even)>.smc-process-copy { grid-column:1; grid-row:1; padding-left:18px; }
.smc-process-step .smc-photo-frame { aspect-ratio:1.5; min-height:330px; border-radius:6px; }
.smc-process-copy { min-width:0; padding:6px 18px 6px 0; }
.smc-process-index { display:flex; align-items:center; gap:24px; margin-bottom:26px; }
.smc-process-index>span:first-child { font-size:62px; line-height:1; font-weight:400; letter-spacing:-.07em; color:#bead92; }
.smc-process-index .smc-flow-line { flex:1; }
.smc-process-copy>.company-eyebrow { font-size:11px; letter-spacing:.065em; }
.smc-process-copy h3 { margin:14px 0 18px; font-size:clamp(27px,2.7vw,37px); font-weight:500; letter-spacing:-.04em; line-height:1.12; }
.smc-process-copy>p { margin:0; max-width:420px; color:#63717b; font-size:15px; line-height:1.8; }
.smc-process-fact { display:grid; gap:7px; margin-top:28px; padding-top:22px; border-top:1px solid #e4e7e9; }
.smc-process-fact strong { color:#8b704c; font-size:26px; line-height:1.2; font-weight:500; letter-spacing:-.03em; }
.smc-process-fact>span { color:#7b8790; font-size:12px; line-height:1.5; }

/* Materials: two differently sized frames keep the next part of the story in sight. */
.smc-material-gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:clamp(28px,4vw,58px); row-gap:64px; align-items:start; margin-top:46px; }
.smc-material-card { grid-column:span 7; min-width:0; }
.smc-material-card:nth-child(2),.smc-material-card:nth-child(3),.smc-material-card:nth-child(6) { grid-column:span 5; padding-top:clamp(50px,8.5vw,120px); }
.smc-material-card .smc-photo-frame { aspect-ratio:1.5; border-radius:6px; }
.smc-material-card .smc-photo figcaption { display:none; }
.smc-material-caption { position:relative; display:grid; grid-template-columns:49px minmax(0,1fr); gap:18px; margin-top:22px; padding-top:18px; border-top:1px solid #dde3e6; }
.smc-material-caption::before { content:''; position:absolute; top:-1px; left:0; right:0; height:1px; background:#b38b51; transform:scaleX(var(--flow-progress,0)); transform-origin:left; }
.smc-material-caption>.smc-film-number { padding-top:5px; }
.smc-material-caption h3 { margin:0 0 12px; font-size:clamp(23px,2.15vw,31px); line-height:1.15; font-weight:500; letter-spacing:-.035em; }
.smc-material-caption p { margin:0; max-width:510px; font-size:15px; line-height:1.75; color:#63717b; }

/* Branches: a quiet geographic route and wide photographs, with useful contacts beside them. */
.smc-branch-route { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin:34px 0 42px; color:#c5b393; }
.smc-branch-route a { font-size:13px; color:#806b4d; text-decoration:none; }
.smc-branch-route a:hover { color:#272e32; }
.smc-branch-atlas { display:grid; gap:52px; }
.smc-branch-spread { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); gap:clamp(32px,5vw,72px); align-items:start; padding-top:38px; border-top:1px solid #e0e5e8; min-width:0; }
.smc-branch-intro { padding-top:8px; min-width:0; }
.smc-branch-intro>.company-eyebrow { font-size:11px; color:#806b4d; }
.smc-branch-intro h3 { margin:19px 0 23px; font-size:clamp(31px,3.4vw,48px); line-height:1.08; letter-spacing:-.045em; font-weight:500; }
.smc-branch-intro p { max-width:410px; color:#63717b; font-size:15px; line-height:1.8; margin:0; }
.smc-branch-intro .smc-branch-phone { display:block; margin:26px 0 18px; color:#39464f; font-size:17px; text-decoration:none; }
.smc-branch-link { display:inline-flex; align-items:center; gap:28px; padding:0 0 8px; border-bottom:1px solid #d8c9b1; color:#856b44; font-size:13px; text-decoration:none; }
.smc-branch-visual { min-width:0; }
.smc-branch-visual .smc-photo-frame { aspect-ratio:1.8; border-radius:6px; }
.smc-branch-visual .smc-photo figcaption { font-size:12px; margin-top:14px; }
.smc-branch-visual>.smc-flow-line { margin-top:20px; }
.smc-company-cover[data-opening-scene] { transform:scale(var(--opening-scale,1)); transform-origin:center; }
.smc-company-cover[data-opening-scene] .smc-photo-frame { border-radius:var(--opening-radius,8px); }
.smc-overview-photos { align-items:start; }
.cp-photographic #documents { border-top:0; }
.smc-document-reveal { opacity:1; transform:none; }

/* Quality reads vertically; the photographs open into one another alongside the text. */
.smc-quality-editorial { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:8%; align-items:start; }
.smc-quality-narrative { min-width:0; }
.smc-quality-chapter { position:relative; padding:40px 0 55px 38px; border-left:1px solid #e3e7e9; }
.smc-quality-chapter::before { content:''; position:absolute; left:-2px; top:0; bottom:0; width:3px; background:#b99259; transform:scaleY(var(--quality-line,0)); transform-origin:top; }
.smc-quality-chapter>.smc-film-number { display:block; margin-bottom:32px; font-size:15px; }
.smc-quality-chapter>.company-eyebrow { font-size:11px; }
.smc-quality-chapter h3 { margin:18px 0 24px; font-size:clamp(26px,3.2vw,42px); font-weight:500; letter-spacing:-.04em; line-height:1.1; }
.smc-quality-answer>p { color:#70818b; font-size:16px; line-height:1.8; margin:0; max-width:440px; }
.smc-quality-answer>div { margin-top:28px; border-top:1px solid #e2e6e9; padding-top:18px; }
.smc-quality-answer>div>span { font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#9a7b52; }
.smc-quality-answer>div>p { font-size:13px; line-height:1.65; color:#82909a; margin:9px 0 0; }
.smc-quality-visual { min-width:0; }
.smc-quality-photo-stack { display:grid; gap:30px; }
.smc-quality-visual .smc-photo-frame { aspect-ratio:1.25; min-height:0; }
.smc-quality-visual .smc-photo-frame img { top:0; height:100%; transform:scale(var(--quality-zoom,1)); }
.smc-quality-visual figcaption { display:flex; padding-top:10px; font-size:13px; }
.smc-quality-photo-note { margin:22px 0 0; color:#8a979f; font-size:12px; line-height:1.7; max-width:500px; }
.smc-quality-document-link { display:flex; justify-content:space-between; margin-top:30px; padding:24px 0; border-block:1px solid #e3e7e9; font-size:13px; }
.smc-quality.is-quality-active .smc-quality-chapter { min-height:var(--quality-step,640px); display:flex; flex-direction:column; justify-content:center; box-sizing:border-box; }
.smc-quality.is-quality-active .smc-quality-visual { position:sticky; top:var(--quality-top,110px); }
.is-quality-active .smc-quality-photo-stack { position:relative; height:var(--quality-photo-height,560px); }
.is-quality-active .smc-quality-photo-stack .smc-photo { position:absolute; inset:0; display:flex; flex-direction:column; background:white; }
.is-quality-active .smc-quality-photo-stack .smc-photo-frame { flex:1; height:100%; min-height:0; aspect-ratio:auto; }
.is-quality-active .smc-quality-photo-stack .smc-photo:not(:first-child) { clip-path:inset(var(--quality-inset,50%) round var(--quality-radius,90px)); z-index:var(--quality-layer,2); }


@media(max-width:1150px) {
 .smc-quality-editorial { gap:5%; }
 .smc-quality-answer>p { font-size:14px; }
 .smc-process-copy { padding-right:0; }
 .smc-process-copy>p,.smc-branch-intro p { font-size:14px; }
 .smc-process-index { margin-bottom:22px; }
 .smc-process-index>span:first-child { font-size:50px; }
 .smc-material-caption { grid-template-columns:1fr; gap:12px; }
}
@media(max-width:900px) {
 .smc-company-path>a { padding-right:18px; } .smc-company-path>a+a { padding-left:18px; }
 .smc-company-path h3 { font-size:20px; }
 .smc-section-heading h2 { font-size:34px; }
 .smc-heading-split { display:block; }
 .smc-heading-split>p { padding:0; max-width:580px; }
 .smc-process-step,.smc-process-step:nth-child(even) { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:28px; }
 .smc-process-step:nth-child(even) { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); }
 .smc-process-step .smc-photo-frame { aspect-ratio:1.1; min-height:320px; }
 .smc-process-copy h3 { font-size:28px; }
 .smc-process-index>span:first-child { font-size:40px; }
 .smc-process-fact { margin-top:22px; padding-top:18px; }
 .smc-material-gallery { gap:42px 28px; margin-top:30px; }
 .smc-material-card:nth-child(n) { grid-column:span 6; }
 .smc-material-card:nth-child(2),.smc-material-card:nth-child(3),.smc-material-card:nth-child(6) { padding-top:65px; }
 .smc-branch-spread { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:28px; }
 .smc-branch-visual .smc-photo-frame { aspect-ratio:1.1; }
 .smc-branch-visual .smc-photo figcaption { display:grid; gap:3px; }
 .smc-branch-intro h3 { font-size:33px; }
 .smc-quality-chapter { padding-left:24px; }
 .smc-quality-chapter h3 { font-size:29px; }
 .smc-quality-photo-note { font-size:11px; }
}
@media(max-width:600px) {
 .smc-company-path { grid-template-columns:1fr; } .smc-company-path>a,.smc-company-path>a+a { padding:23px 32px 23px 0; border-left:0; } .smc-company-path>a+a { border-top:1px solid #e5e9ec; }
 .smc-company-path h3 { margin-top:13px; font-size:24px; }
 .smc-overview { margin-top:24px; }
 .smc-overview-heading { display:grid; gap:8px; padding:18px 0; }
 .smc-overview-photos { grid-template-columns:1fr; gap:24px; }
 .smc-overview-photos .smc-photo .smc-photo-frame { aspect-ratio:1.4; }
 .smc-overview-photos .smc-photo figcaption { padding:16px 0; }
 .smc-overview-photos figcaption>span { font-size:20px; }
 .smc-section-heading { margin-bottom:24px; }
 .smc-section-heading h2 { font-size:31px; margin:12px 0 16px; }
 .smc-section-heading p { font-size:14px; line-height:1.75; }
 .smc-process-route { gap:15px; margin:28px 0 8px; }
 .smc-process-route a { flex-direction:column; align-items:flex-start; gap:8px; padding:14px 0; font-size:12px; }
 .smc-process-route i { display:none; }
 .smc-process-sequence { gap:44px; padding-top:16px; }
 .smc-process-step,.smc-process-step:nth-child(even) { grid-template-columns:1fr; gap:22px; }
 .smc-process-step:nth-child(even)>.smc-photo,.smc-process-step:nth-child(even)>.smc-process-copy { grid-column:auto; grid-row:auto; padding-left:0; }
 .smc-process-step .smc-photo-frame { aspect-ratio:1.35; min-height:0; }
 .smc-process-copy { padding:0; }
 .smc-process-index { margin-bottom:18px; }
 .smc-process-index>span:first-child { font-size:38px; }
 .smc-process-copy h3 { font-size:29px; margin:12px 0 16px; }
 .smc-process-copy>p { font-size:14px; }
 .smc-process-fact { margin-top:20px; padding-top:16px; }
 .smc-process-fact strong { font-size:24px; }
 .smc-material-gallery { display:block; margin-top:32px; }
 .smc-material-card:nth-child(n) { padding:0; margin:0 0 36px; }
 .smc-material-card:last-child { margin-bottom:0; }
 .smc-material-card .smc-photo-frame { aspect-ratio:1.35; }
 .smc-material-caption { grid-template-columns:43px minmax(0,1fr); gap:14px; margin-top:18px; padding-top:16px; }
 .smc-material-caption h3 { font-size:25px; }
 .smc-material-caption p { font-size:14px; line-height:1.75; }
 .smc-section-link { font-size:13px; margin-top:30px; padding-top:23px; }
 .smc-branch-route { gap:10px; margin:25px 0 30px; }
 .smc-branch-route a { font-size:11px; }
 .smc-branch-route>span { font-size:11px; }
 .smc-branch-atlas { gap:36px; }
 .smc-branch-spread { grid-template-columns:1fr; gap:25px; padding-top:28px; }
 .smc-branch-intro { padding:0; }
 .smc-branch-intro h3 { font-size:35px; margin:15px 0 18px; }
 .smc-branch-intro p { font-size:14px; }
 .smc-branch-intro .smc-branch-phone { margin:21px 0 15px; font-size:17px; }
 .smc-branch-visual .smc-photo-frame { aspect-ratio:1.45; }
 .smc-branch-visual .smc-photo figcaption { display:flex; font-size:11px; }
 .smc-branch-visual>.smc-flow-line { margin-top:15px; }
 .smc-quality-editorial { grid-template-columns:1fr; gap:30px; }
 .smc-quality-chapter { padding:30px 0 35px 24px; }
 .smc-quality-chapter>.smc-film-number { margin-bottom:22px; }
 .smc-quality-chapter h3 { font-size:31px; }
 .smc-quality-photo-note { font-size:12px; }
 .is-quality-mobile .smc-quality-chapter .smc-photo { margin-top:28px; }
 .is-quality-mobile .smc-quality-chapter .smc-photo-frame { aspect-ratio:1.15; }
 .is-quality-mobile .smc-quality-chapter .smc-photo-frame img { top:0; height:100%; }
}
@media(prefers-reduced-motion:reduce) {
 .smc-company-path b,.smc-section-link>span:last-child,.smc-branch-link>span { transition:none; }
 .smc-company-cover[data-opening-scene] { transform:none; }
 .smc-flow-line::after,.smc-material-caption::before { transform:none; }
}

/* Cinematic company story, 20260920.2. Motion belongs to images; reading never needs a click. */
.smc-cinematic { --scene-width:100%; --scene-height:820px; --scene-gutter:32px; }
.smc-cinematic .cp-hero { padding:28px 0 58px; grid-template-columns:1.8fr 1fr; }
.smc-cinematic .cp-hero h1 { font-size:clamp(46px,6.2vw,94px); line-height:.99; font-weight:550; letter-spacing:-.065em; margin:18px 0 30px; }
.smc-cinematic .cp-hero h1>span { color:#8b785c; }
.smc-cinematic .cp-hero>div>p { max-width:560px; font-size:16px; line-height:1.8; }
.smc-cinematic .cp-hero-facts { align-self:end; margin-bottom:5px; }
.smc-cinematic .smc-section-heading h2,.smc-cinematic .cp-section-title h2 { font-size:clamp(34px,4.3vw,60px); letter-spacing:-.055em; font-weight:500; line-height:1.06; }
.smc-cinematic .smc-section-heading { padding:20px 0 12px; }
.smc-cinematic .smc-heading-split>div { max-width:820px; }
.smc-cinematic .smc-section-heading p { font-size:16px; }
.smc-history-dates { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding:58px 0 35px; }
.smc-history-dates>div { border-top:1px solid #d7d9d6; padding-top:20px; }
.smc-history-dates span { font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#7a6a50; }
.smc-history-dates strong { display:block; font-size:clamp(75px,13vw,176px); font-weight:400; line-height:1.2; letter-spacing:-.075em; color:#b6a78d; transform:translateY(var(--exhibit-y,0px)); }
.smc-history-dates p { font-size:14px; line-height:1.65; color:#647079; max-width:330px; margin:0; }
.smc-cinematic .smc-overview { margin-top:62px; }
.smc-cinematic .smc-overview-photos { gap:4%; }
.smc-cinematic .smc-overview-photos>.smc-photo:nth-child(2) { padding-top:100px; }
.smc-cinematic .smc-overview-photos .smc-photo-frame { clip-path:inset(var(--exhibit-inset,0%) 0 round 5px); }
.smc-cinematic .smc-company-intro { padding-top:78px; }
.smc-cinematic .smc-bleed { width:var(--scene-width); margin-left:calc((100% - var(--scene-width)) / 2); }
.smc-cinema { position:relative; min-width:0; }
.smc-cinema .smc-cinema-stage { position:relative; height:var(--scene-height); min-height:650px; isolation:isolate; overflow:hidden; contain:layout paint; }
.has-cinema-motion .smc-cinema { height:calc(var(--scene-height) * 1.32); }
.has-cinema-motion .smc-cinema-stage { position:sticky; top:0; min-height:0; }
.smc-cinema-visual { position:absolute; inset:0; overflow:hidden; clip-path:inset(var(--scene-inset-y,0%) var(--scene-inset-right,0%) var(--scene-inset-y,0%) var(--scene-inset-left,0%) round var(--scene-radius,0px)); }
.smc-cinema .smc-photo { height:100%; }
.smc-cinema .smc-photo-frame,.smc-cinematic .smc-cinema .smc-photo-frame { width:100%; height:100%; min-height:0; max-height:none; aspect-ratio:auto; border-radius:0; }
.smc-cinema .smc-photo .smc-photo-frame img { height:calc(100% + var(--camera-travel,0px) * 2); top:calc(var(--camera-travel,0px) * -1); transform:translate3d(0,var(--camera-y,0px),0) scale(var(--camera-scale,1.04)); }
.smc-cinema.is-camera-active .smc-photo-frame img { will-change:transform; }
/* Prepare the aperture and lettering before the first scroll changes them.
   Only nearby scenes retain these compositor hints. */
.smc-cinema.is-camera-active .smc-cinema-visual { will-change:clip-path; }
.smc-cinema.is-camera-active .smc-scene-word { will-change:transform; }
.smc-cinema.is-camera-active .smc-glass { will-change:transform,opacity; }

.smc-cinematic [data-photo-motion] img { top:calc(var(--photo-overscan,56px) * -1); height:calc(100% + var(--photo-overscan,56px) * 2); }
.smc-cinema .smc-photo figcaption { display:none; }
.smc-cinema .smc-photo-frame::after { content:none; }
.smc-cinema .smc-photo-open { top:22px; right:max(24px,var(--scene-gutter)); z-index:4; }
.smc-cinema .smc-glass { position:absolute; z-index:2; left:max(32px,var(--scene-gutter)); bottom:76px; width:min(445px,40%); margin:0; padding:32px; transform:translate3d(var(--card-x,0px),var(--card-y,0px),0); }
.smc-glass { color:#273137; background:rgba(252,252,248,.86); border:1px solid rgba(255,255,255,.72); border-radius:3px; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.smc-glass .company-eyebrow { color:#6e614d; font-size:10px; letter-spacing:.095em; }
.smc-glass h2,.smc-glass h3 { color:#263037; }
.smc-glass p { color:#53616b; }
.smc-opening-copy h2 { margin:23px 0 18px; font-size:clamp(35px,3.8vw,55px); font-weight:500; line-height:1.04; letter-spacing:-.055em; }
.smc-opening-copy>p { max-width:310px; font-size:15px; line-height:1.75; margin:0; }
.smc-opening-fact { display:flex; align-items:end; gap:22px; padding-top:23px; margin-top:25px; border-top:1px solid #b7b6aa; }
.smc-opening-fact strong { white-space:nowrap; font-size:43px; font-weight:400; letter-spacing:-.06em; line-height:1; }
.smc-opening-fact strong small { font-size:18px; letter-spacing:0; }
.smc-opening-fact>span { font-size:11px; line-height:1.6; max-width:100px; }
.smc-scene-word { position:absolute; top:8%; left:max(28px,var(--scene-gutter)); z-index:1; font-size:clamp(90px,16vw,236px); line-height:.85; font-weight:500; letter-spacing:-.06em; color:rgba(255,255,255,.76); pointer-events:none; transform:translate3d(calc(var(--card-x,0px) * -.6),calc(var(--card-y,0px) * -.6),0); }
.smc-scene-cue { position:absolute; z-index:3; bottom:24px; left:max(32px,var(--scene-gutter)); right:max(32px,var(--scene-gutter)); display:flex; align-items:center; gap:24px; color:#fff; font-size:11px; letter-spacing:.02em; text-shadow:0 1px 5px #0009; }
.smc-scene-cue>span:last-child { white-space:nowrap; }
.smc-scene-cue b { font-size:18px; font-weight:400; margin-left:8px; }
.smc-cue-line { flex:1; height:1px; background:#ffffff50; position:relative; }
.smc-cue-line::after { content:''; position:absolute; inset:0; background:white; transform-origin:left; transform:scaleX(var(--scene-progress,1)); }
.smc-cinematic .smc-process-sequence { display:block; padding:0; }
.smc-cinematic .smc-process-step { display:block; padding:0; margin-bottom:64px; }
.smc-cinematic .smc-process-step:last-child { margin-bottom:0; }
.smc-cinematic .smc-process-step:nth-child(even)>.smc-process-copy { padding:32px; }
.smc-cinematic .smc-process-copy { min-width:0; }
.smc-cinematic .smc-process-copy h3 { font-size:clamp(30px,3.2vw,44px); margin:18px 0; line-height:1.06; }
.smc-cinematic .smc-process-copy>p { font-size:15px; line-height:1.75; }
.smc-cinematic .smc-process-index { margin-bottom:24px; }
.smc-cinematic .smc-process-index>span:first-child { font-size:36px; color:#897858; }
.smc-cinematic .smc-process-fact { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 20px; margin-top:22px; padding-top:18px; border-color:#b5b7af; }
.smc-cinematic .smc-process-fact strong { color:#6a5637; font-size:25px; }
.smc-cinematic .smc-process-fact>span { font-size:11px; color:#617079; }
.smc-cinematic [data-cinema="cut"] .smc-glass { left:auto; right:max(32px,var(--scene-gutter)); bottom:13%; }
.smc-cinematic [data-cinema="cut"] .smc-scene-word { font-size:clamp(80px,13vw,200px); top:10%; }
.smc-cinematic [data-cinema="precision"] .smc-glass { bottom:12%; }
.smc-cinematic [data-cinema="precision"] .smc-scene-word { font-size:clamp(60px,11vw,165px); }
.smc-cinematic #company-capabilities { padding-top:75px; }
.smc-cinematic .cp-industries { padding-bottom:72px; }
.smc-cinematic .cp-industry-list { gap:10px; }
.smc-cinematic .cp-industry-list span { background:none; border-width:0 0 1px; border-radius:0; padding:12px 0; margin-right:25px; font-size:15px; }
.smc-cinematic .smc-material-feature { display:block; padding:0; margin-top:24px; margin-bottom:64px; }
.smc-cinematic .smc-material-feature .smc-material-caption { display:block; }
.smc-material-feature .smc-material-caption h3 { font-size:clamp(32px,4vw,56px); margin-top:22px; line-height:1.03; }
.smc-material-feature .smc-material-caption p { font-size:15px; }
.smc-cinematic .smc-material-caption::before { content:none; }
.smc-cinematic .smc-material-gallery { gap:70px 40px; }
.smc-cinematic .smc-material-gallery>.smc-material-card { position:relative; padding:0; margin:0; grid-column:span 7; height:600px; transform:translateY(var(--exhibit-y,0px)) scale(var(--exhibit-scale,1)); transform-origin:center; }
.smc-cinematic .smc-material-gallery>.smc-material-card:nth-child(1),.smc-cinematic .smc-material-gallery>.smc-material-card:nth-child(4) { grid-column:span 5; margin-top:100px; }
.smc-cinematic .smc-material-gallery>.smc-material-card:last-child { grid-column:1/-1; height:620px; }
.smc-cinematic .smc-material-gallery .smc-photo,.smc-cinematic .smc-material-gallery .smc-photo-frame { height:100%; aspect-ratio:auto; border-radius:4px; }
.smc-cinematic .smc-material-gallery .smc-material-caption { position:absolute; bottom:24px; left:24px; right:24px; padding:24px; display:block; margin:0; width:auto; transform:translateY(calc(var(--exhibit-y,0px) * -.35)); }
.smc-cinematic .smc-material-gallery .smc-film-number { display:block; margin-bottom:14px; font-size:11px; color:#796342; }
.smc-cinematic .smc-material-gallery .smc-material-caption h3 { font-size:28px; line-height:1.1; }
.smc-cinematic .smc-material-gallery .smc-material-caption p { font-size:14px; line-height:1.7; }
.smc-cinematic .smc-material-gallery>.smc-material-card:last-child .smc-material-caption { width:390px; left:auto; }
.smc-cinematic .smc-material-gallery .smc-photo-open { z-index:3; }
.smc-cinematic .smc-section-link { margin-top:65px; padding:30px 0; }
.smc-cinematic .smc-branch-atlas { display:block; }
.smc-cinematic .smc-branch-spread { padding:0; border:0; display:block; margin-bottom:70px; }
.smc-cinematic .smc-branch-spread:last-child { margin-bottom:0; }
.smc-cinematic .smc-branch-spread .smc-glass { width:min(455px,43%); }
.smc-cinematic .smc-branch-spread h3 { font-size:clamp(32px,3.6vw,51px); }
.smc-cinematic .smc-branch-spread p { font-size:15px; }
.smc-cinematic .smc-branch-spread .smc-branch-phone { margin:24px 0 20px; font-size:20px; }
.smc-cinematic .smc-branch-spread .smc-scene-word { font-size:clamp(70px,13vw,180px); }
.smc-cinematic [data-city-index="1"] .smc-scene-word { font-size:clamp(35px,7.7vw,110px); }
.smc-cinematic [data-city-index="2"] .smc-glass { left:auto; right:max(32px,var(--scene-gutter)); }
.smc-cinematic .cp-bottom-cta { background:#f4f2ed; border:0; border-radius:0; padding:48px; }
.smc-cinematic .cp-bottom-cta h2 { font-size:clamp(28px,3.8vw,48px); letter-spacing:-.05em; }
.smc-cinematic .smc-glass:focus-within { background:rgba(252,252,248,.96); }
.smc-cinema-visual:focus-within { clip-path:none; }
@media(max-width:1100px) {
 .smc-cinema .smc-glass { width:430px; max-width:49%; padding:26px; }
 .smc-cinematic .smc-material-gallery { gap:44px 24px; }
 .smc-cinematic .smc-material-gallery>.smc-material-card { height:550px; }
 .smc-cinematic .smc-material-gallery .smc-material-caption { left:16px; right:16px; bottom:16px; padding:20px; }
 .smc-cinematic .smc-material-gallery .smc-material-caption h3 { font-size:25px; }
}
@media(max-width:900px) {
 .smc-cinematic .cp-hero { grid-template-columns:1fr; padding-top:16px; }
 .smc-cinematic .cp-hero-facts { margin-top:8px; }
 .smc-cinematic .cp-hero h1 { font-size:clamp(44px,8vw,70px); }
 .smc-cinematic .smc-branch-spread .smc-glass { width:430px; max-width:58%; }
 .smc-cinematic .smc-material-gallery>.smc-material-card:nth-child(n) { grid-column:span 6; }
 .smc-cinematic .smc-material-gallery>.smc-material-card:last-child { grid-column:1/-1; }
 .smc-cinematic .smc-material-gallery .smc-material-caption h3 { font-size:23px; }
 .smc-cinematic .smc-material-gallery .smc-material-caption p { font-size:13px; }
 .smc-scene-cue { gap:14px; font-size:10px; }
 .smc-cinematic .smc-process-copy>p { font-size:14px; }
}
@media(max-width:600px) {
 .smc-cinematic { --scene-height:740px; }
 .smc-cinematic .cp-hero { padding:8px 0 34px; gap:20px; }
 .smc-cinematic .cp-hero h1 { font-size:clamp(40px,10.5vw,60px); margin:14px 0 24px; }
 .smc-cinematic .cp-hero>div>p { font-size:15px; }
 .smc-cinematic .cp-hero-facts { padding-left:15px; }
 .smc-cinematic .smc-section-heading h2,.smc-cinematic .cp-section-title h2 { font-size:35px; }
 .smc-cinematic .smc-section-heading p { font-size:14px; }
 .smc-cinematic .smc-company-intro { padding-top:40px; }
 .smc-history-dates { gap:20px; padding:30px 0 20px; }
 .smc-history-dates strong { font-size:68px; margin:8px 0; }
 .smc-history-dates span { font-size:9px; letter-spacing:.03em; }
 .smc-history-dates p { font-size:12px; }
 .smc-cinematic .smc-overview { margin-top:38px; }
 .smc-cinematic .smc-overview-photos>.smc-photo:nth-child(2) { padding-top:0; }
 .smc-cinema .smc-cinema-stage { min-height:690px; }
 .has-cinema-motion .smc-cinema { height:calc(var(--scene-height) * 1.16); }
 .has-cinema-motion .smc-cinema-stage { min-height:0; }
 .smc-cinema .smc-glass,.smc-cinematic .smc-branch-spread .smc-glass { left:16px; right:16px; bottom:64px; width:auto; max-width:none; padding:22px; }
 .smc-opening-copy h2 { font-size:36px; margin:17px 0; }
 .smc-opening-copy>p { font-size:14px; }
 .smc-opening-fact { margin-top:19px; padding-top:18px; }
 .smc-opening-fact strong { font-size:38px; }
 .smc-scene-word { font-size:23vw; top:12%; left:18px; }
 .smc-cinema .smc-photo-open { top:18px; right:16px; }
 .smc-scene-cue { left:16px; right:16px; bottom:20px; font-size:9px; gap:12px; }
 .smc-scene-cue>span:first-child { max-width:46%; line-height:1.5; }
 .smc-scene-cue b { margin-left:3px; }
 .smc-cinematic .smc-process-step { margin-bottom:36px; }
 .smc-cinematic .smc-process-copy h3 { font-size:32px; margin:13px 0; }
 .smc-cinematic .smc-process-index { margin-bottom:15px; }
 .smc-cinematic .smc-process-index>span:first-child { font-size:29px; }
 .smc-cinematic .smc-process-fact { margin-top:18px; padding-top:14px; }
 .smc-cinematic [data-cinema="cut"] .smc-glass,.smc-cinematic [data-cinema="precision"] .smc-glass { left:16px; right:16px; bottom:64px; }
 .smc-cinematic [data-cinema="cut"] .smc-scene-word { font-size:19vw; }
 .smc-cinematic [data-cinema="precision"] .smc-scene-word { font-size:14vw; }
 .smc-cinematic .smc-material-feature { margin-bottom:34px; }
 .smc-material-feature .smc-material-caption h3 { font-size:37px; margin-top:17px; }
 .smc-material-feature .smc-material-caption p { font-size:14px; }
 .smc-cinematic .smc-material-gallery { display:block; margin:0; }
 .smc-cinematic .smc-material-gallery>.smc-material-card:nth-child(n) { height:550px; margin:0 0 30px; }
 .smc-cinematic .smc-material-gallery>.smc-material-card:last-child .smc-material-caption { width:auto; left:16px; }
 .smc-cinematic .smc-material-gallery .smc-material-caption h3 { font-size:27px; }
 .smc-cinematic .smc-material-gallery .smc-material-caption p { font-size:14px; }
 .smc-cinematic .smc-branch-spread { margin-bottom:36px; }
 .smc-cinematic .smc-branch-spread h3 { font-size:36px; }
 .smc-cinematic .smc-branch-spread p { font-size:14px; }
 .smc-cinematic .smc-branch-spread .smc-branch-phone { font-size:18px; margin:20px 0 16px; }
 .smc-cinematic .smc-branch-spread .smc-scene-word { font-size:15vw; }
 .smc-cinematic [data-city-index="1"] .smc-scene-word { font-size:7.8vw; }
 .smc-cinematic [data-city-index="2"] .smc-glass { left:16px; right:16px; }
 .smc-cinematic .cp-bottom-cta { padding:26px; }
}
@media(max-height:639px),(prefers-reduced-motion:reduce) {
 .smc-cinema .smc-cinema-stage { position:relative; min-height:650px; }
 .smc-cinema .smc-glass { transform:none; }
 .smc-cinema .smc-cinema-visual { clip-path:none; }
 .smc-cinema .smc-photo .smc-photo-frame img { transform:none; }
 .smc-scene-word,.smc-cinematic .smc-material-gallery>.smc-material-card,.smc-cinematic .smc-material-gallery .smc-material-caption,.smc-history-dates strong { transform:none; }
}
/* Keep measurements on stationary containers; only their children animate. */
.smc-cinema .smc-glass { opacity:var(--card-opacity,1); }
.smc-cinema.is-camera-active .smc-glass { opacity:max(.001,var(--card-opacity,1)); }
.smc-cinema .smc-scene-cue { right:max(94px,calc(var(--scene-gutter) + 62px)); }
.smc-cinema .smc-glass:focus-within { opacity:1; transform:none; }
.smc-cinematic .smc-material-gallery>.smc-material-card { transform:none; overflow:clip; }
.smc-cinematic .smc-material-gallery>.smc-material-card>.smc-photo { transform:translateY(var(--exhibit-y,0px)) scale(var(--exhibit-scale,1)); transform-origin:center; }
@media(prefers-reduced-motion:reduce),(max-height:639px) {
 .smc-cinema .smc-glass { opacity:1; }
 .smc-cinematic .smc-material-gallery>.smc-material-card>.smc-photo { transform:none; }
}
/* The catalogue's mobile filter offset does not apply to this standalone story. */
html:has(.smc-cinematic) { scroll-padding-top:0; }
html.smc-native-scroll,html.smc-native-scroll body { scroll-behavior:auto; }
html.smc-wheel-scrolling { scroll-behavior:auto; overflow-anchor:none; }
.smc-cinematic .smc-cinema[id] { scroll-margin-top:0; }
@media(max-width:600px) {
 .smc-cinema .smc-glass { transform:translateY(var(--card-y,0px)); }
 .smc-cinema .smc-glass:focus-within { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
 .smc-cinematic [data-photo-motion] img { top:0; height:100%; }
 .smc-cinema.is-camera-active .smc-photo-frame img { will-change:auto; }
 .smc-cinema .smc-glass,.smc-scene-word,.smc-history-dates strong,.smc-cinematic .smc-material-gallery .smc-material-caption { transform:none; }
 .smc-cinematic .smc-overview-photos .smc-photo-frame { clip-path:none; }
}
@media(max-width:600px) {
 .smc-cinema .smc-scene-cue { right:76px; }
 .smc-scene-cue>span:first-child { min-width:0; }
}
/* The large title stays inside the opening aperture, including its first visible frame. */
.smc-cinematic .smc-scene-word { left:calc(max(18px,var(--scene-gutter)) + var(--scene-inset-left,0%)); top:calc(8% + var(--scene-inset-y,0%)); transform:translateY(calc(var(--card-y,0px) * -.2)) scale(var(--word-scale,1)); transform-origin:left top; }
@media(prefers-reduced-motion:reduce),(max-height:639px) {
 .smc-cinematic .smc-scene-word { left:max(18px,var(--scene-gutter)); top:8%; transform:none; }
}

/* 20260920.3 — formal company masthead, continuous cards, shared scene aperture. */
/* The masthead uses the catalogue's surfaces, type scale and warm selection. */
.smc-masthead { padding:10px 0 30px; }
.smc-masthead-panel { border:1px solid var(--line); border-radius:var(--ui-radius); background:#fff; overflow:hidden; }





.smc-masthead-body { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:60px; padding:42px 46px; }
.smc-cinematic .smc-masthead h1 { position:relative; margin:0; line-height:1; }
.smc-masthead-name { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.smc-masthead h1 img { display:block; width:min(100%,430px); height:auto; }
.smc-masthead-brand>p { max-width:490px; margin:23px 0 0; color:var(--muted); font-size:15px; line-height:1.75; }
.smc-masthead-facts { margin:0; padding:0 0 0 40px; border-left:1px solid var(--line); }
.smc-masthead-facts>div { display:grid; grid-template-columns:116px minmax(0,1fr); align-items:center; gap:20px; padding:23px 0; }
.smc-masthead-facts>div+div { border-top:1px solid var(--line); }
.smc-masthead-facts dt { grid-column:2; grid-row:1; color:var(--ink); font-size:14px; line-height:1.5; }
.smc-masthead-facts dt>span { display:block; margin-top:5px; color:var(--muted); font-size:12px; line-height:1.7; }
.smc-masthead-facts dd { grid-column:1; grid-row:1; margin:0; font-size:46px; font-weight:500; letter-spacing:-.055em; line-height:1.1; color:var(--ink); font-variant-numeric:tabular-nums; }
.smc-masthead-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.smc-masthead-links>a { display:flex; align-items:center; gap:15px; min-width:0; padding:22px 28px; text-decoration:none; color:var(--ui-ink); transition:background-color 160ms ease,color 160ms ease; }
.smc-masthead-links>a+a { border-left:1px solid var(--line); }
.smc-masthead-links>a.smc-masthead-primary { background:var(--amber-soft); color:#6b583c; }
.smc-masthead-links svg { width:25px; height:25px; flex:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; color:#7a858d; }
.smc-masthead-primary svg { color:#9a7e50; }
.smc-masthead-links strong { display:block; font-size:14px; font-weight:550; line-height:1.4; }
.smc-masthead-links small { display:block; margin-top:4px; color:var(--muted); font-size:11px; line-height:1.5; }
.smc-masthead-links b { margin-left:auto; padding-left:6px; font-size:19px; font-weight:400; color:#8b7654; }
.smc-masthead-links>a:hover { background:#f6f7f8; }
.smc-masthead-links>a.smc-masthead-primary:hover { background:#fff1d9; }
.smc-masthead-links>a:focus-visible { outline:2px solid #947548; outline-offset:-4px; }
/* Service photographs are already present when entering the viewport. */
.smc-cinematic .cp-service-grid>a.smc-reveal { opacity:1; transform:none; transition:border-color 180ms,background 180ms; }
/* All foreground content is now a child of the photographed, clipped surface. */
.smc-cinematic .smc-cinema-visual:focus-within { clip-path:inset(var(--scene-inset-y,0%) var(--scene-inset-right,0%) var(--scene-inset-y,0%) var(--scene-inset-left,0%) round var(--scene-radius,0px)); }
.smc-cinematic .smc-cinema .smc-glass { left:calc(var(--scene-inset-left,0%) + max(32px,var(--scene-gutter))); right:auto; bottom:calc(var(--scene-inset-y,0%) + 76px); max-width:calc(100% - var(--scene-inset-left,0%) - var(--scene-inset-right,0%) - 64px); transform:translateY(var(--card-y,0px)); }
.smc-cinematic [data-cinema="opening"] .smc-glass,.smc-cinematic [data-cinema="cut"] .smc-glass,.smc-cinematic [data-city-index="2"] .smc-glass { left:auto; right:calc(var(--scene-inset-right,0%) + max(32px,var(--scene-gutter))); }
.smc-cinematic .smc-cinema .smc-photo-open { right:calc(var(--scene-inset-right,0%) + max(24px,var(--scene-gutter)) + var(--scene-radius,0px) * .45); top:calc(var(--scene-inset-y,0%) + 22px); }
.smc-cinematic .smc-cinema .smc-glass:focus-within { opacity:1; transform:none; }
/* The reminder uses the page's white surfaces and warm metal accent. */
.smc-idle-hint { --hint-size:52px; --hint-width:228px; --hint-bottom:calc(24px + env(safe-area-inset-bottom,0px)); position:fixed; contain:layout style; will-change:transform; z-index:80; left:50%; bottom:var(--hint-bottom); width:var(--hint-width); height:var(--hint-size); color:#39444c; font-size:17px; font-weight:500; line-height:1.3; white-space:nowrap; pointer-events:none; opacity:1; visibility:hidden; transform:translate(-50%,calc(100% + var(--hint-bottom) + 32px)); transition:transform 400ms cubic-bezier(.4,0,.7,.3),visibility 0s 400ms; }
/* Start with a centered square; compensate for the rightward reveal so the
   expanding surface stays centered throughout the whole entrance. */
.smc-idle-surface { position:relative; width:var(--hint-size); height:100%; transform:translateX(calc((var(--hint-width) - var(--hint-size)) / 2)); overflow:hidden; border:1px solid #d9c9ab; border-radius:4px; background:#fff; box-shadow:0 5px 24px #25313b26; }
.smc-idle-icon { position:absolute; inset:0 auto 0 0; width:calc(var(--hint-size) - 2px); display:grid; place-items:center; }
.smc-idle-hint svg { display:block; width:22px; height:26px; color:#a47b3c; }
.smc-idle-label { position:absolute; top:0; bottom:0; left:calc(var(--hint-size) + 6px); display:flex; align-items:center; opacity:0; }
.smc-idle-hint.is-visible { visibility:visible; transform:translate(-50%,0); transition:transform 650ms cubic-bezier(.16,1,.3,1),visibility 0s; }
.smc-idle-hint.is-revealing .smc-idle-surface { animation:smc-idle-expand 600ms cubic-bezier(.22,.65,.3,1) 1650ms both; }
.smc-idle-hint.is-revealing .smc-idle-label { animation:smc-idle-label 300ms ease 1870ms both; }
.smc-idle-hint.is-revealing svg { animation:smc-idle-arrow 1400ms ease-in-out infinite; }
.smc-idle-hint.is-revealing:not(.is-visible) .smc-idle-surface,.smc-idle-hint.is-revealing:not(.is-visible) .smc-idle-label { animation-play-state:paused; }
.smc-idle-visible .smc-scene-cue,.smc-guide-visible .smc-scene-cue { opacity:0; }
@keyframes smc-idle-expand { from { width:var(--hint-size); transform:translateX(calc((var(--hint-width) - var(--hint-size)) / 2)); } to { width:var(--hint-width); transform:translateX(0); } }
@keyframes smc-idle-label { from { opacity:0; transform:translateX(-4px); } to { opacity:1; transform:translateX(0); } }
@keyframes smc-idle-arrow { 0%,100% { transform:translateY(-3px); } 50% { transform:translateY(3px); } }
@media(max-width:900px) {
 .smc-masthead-body { gap:30px; padding:32px 28px; }
 .smc-masthead-facts { padding-left:26px; }
 .smc-masthead-facts>div { grid-template-columns:85px minmax(0,1fr); gap:14px; }
 .smc-masthead-facts dd { font-size:37px; }
 .smc-masthead-links>a { gap:10px; padding:19px 18px; }
 .smc-masthead-links strong { font-size:13px; }
 .smc-masthead-links svg { width:21px; height:21px; }
}
@media(max-width:700px) {
 .smc-masthead { padding:6px 0 18px; }

 .smc-masthead-body { grid-template-columns:1fr; padding:26px 22px 22px; gap:25px; }
 .smc-masthead h1 img { width:min(100%,350px); margin:auto; }
 .smc-masthead-brand>p { margin-top:20px; font-size:13px; line-height:1.75; }
 .smc-masthead-facts { display:grid; grid-template-columns:1fr 1.35fr; border-left:0; border-top:1px solid var(--line); padding:20px 0 0; gap:14px; }
 .smc-masthead-facts>div { display:flex; flex-direction:column; align-items:start; gap:8px; padding:0; }
 .smc-masthead-facts>div+div { border-top:0; border-left:1px solid var(--line); padding-left:14px; }
 .smc-masthead-facts dd { order:-1; font-size:34px; }
 .smc-masthead-facts dt { font-size:12px; }
 .smc-masthead-facts dt>span { font-size:11px; }
 .smc-masthead-links { grid-template-columns:1fr; }
 .smc-masthead-links>a { padding:15px 20px; gap:14px; }
 .smc-masthead-links>a+a { border-left:0; border-top:1px solid var(--line); }
 .smc-masthead-links strong { font-size:13px; }
}
@media(max-width:600px) {
 .smc-cinematic .smc-cinema .smc-glass { left:calc(var(--scene-inset-left,0%) + 16px); right:calc(var(--scene-inset-right,0%) + 16px); bottom:calc(var(--scene-inset-y,0%) + 64px); width:auto; max-width:none; padding:22px; }
 .smc-cinematic .smc-cinema .smc-photo-open { right:calc(var(--scene-inset-right,0%) + 16px + var(--scene-radius,0px) * .45); top:calc(var(--scene-inset-y,0%) + 18px); }
 .smc-idle-hint { --hint-size:48px; --hint-width:208px; --hint-bottom:max(8px,env(safe-area-inset-bottom)); font-size:15px; }
 .smc-idle-hint svg { width:20px; height:24px; }
}
@media(max-width:360px) {
 .smc-idle-hint { --hint-width:188px; font-size:14px; }
 .smc-idle-label { left:calc(var(--hint-size) + 2px); }
}
@media(prefers-reduced-motion:reduce),(max-height:639px) {
 .smc-cinematic .smc-cinema-visual:focus-within { clip-path:none; }
 .smc-cinematic .smc-cinema .smc-glass { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
 .smc-idle-hint { opacity:0; transform:translate(-50%,0); transition:opacity 180ms ease,visibility 0s 180ms; }
 .smc-idle-hint.is-visible { opacity:1; transition:opacity 180ms ease,visibility 0s; }
 .smc-idle-hint.is-revealing .smc-idle-surface { animation:none; width:var(--hint-width); transform:none; }
 .smc-idle-hint.is-revealing .smc-idle-label { animation:none; opacity:1; }
 .smc-idle-hint.is-revealing svg { animation:none; }
}

/* A single, non-blocking invitation after a longer pause. The frosted field
   contracts by clipping, so its blur is never scaled or stretched. The filter
   lives on the fading layer itself: an opacity ancestor would isolate its
   backdrop and make the blur disappear during compositing. */
.smc-idle-guide { --guide-half:48px; position:fixed; contain:layout style; inset:0; z-index:90; pointer-events:none; visibility:hidden; opacity:0; background:rgba(249,250,250,.56); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); clip-path:inset(0 round 0px); transition:opacity 700ms cubic-bezier(.22,.61,.36,1); }
.smc-idle-guide.is-active { visibility:visible; will-change:opacity,clip-path; animation:smc-guide-gather 1400ms cubic-bezier(.65,0,.2,1) 3100ms both; }
.smc-idle-guide.is-preparing { visibility:visible; opacity:.001; transition:none; will-change:opacity,clip-path; }
.smc-idle-guide.is-preparing .smc-idle-guide-arrow { opacity:1; }
.smc-idle-guide.is-preparing .smc-idle-guide-label { opacity:1; }
.smc-idle-guide.is-visible { opacity:1; }
.smc-idle-guide-arrow { position:absolute; left:50%; top:50%; width:40px; height:60px; transform:translate(-50%,-50%); color:#171a1d; opacity:0; }
.smc-idle-guide-arrow svg { display:block; width:100%; height:100%; overflow:visible; }
.smc-idle-guide-arrow path { stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.smc-idle-guide-label { position:absolute; left:20px; right:20px; top:calc(50% + 72px); text-align:center; font-size:clamp(18px,1.8vw,23px); font-weight:500; letter-spacing:-.025em; line-height:1.4; color:#29353e; opacity:0; transform:translateY(20px); }
.smc-idle-guide.is-active .smc-idle-guide-arrow { animation:smc-guide-arrow-in 750ms cubic-bezier(.22,.61,.36,1) 350ms both; }
.smc-idle-guide.is-active .smc-idle-guide-arrow svg { animation:smc-guide-arrow-float 1700ms ease-in-out infinite; }
.smc-idle-guide.is-active .smc-idle-guide-label { animation:smc-guide-copy 2300ms ease 800ms both; }
.smc-idle-guide.is-leaving,.smc-idle-guide.is-leaving * { animation-play-state:paused !important; }
@keyframes smc-guide-gather { from { clip-path:inset(0 round 0px); } to { clip-path:inset(calc(50% - var(--guide-half)) round 22px); } }
@keyframes smc-guide-arrow-in { from { opacity:0; transform:translate(-50%,calc(-50% + 12px)); } to { opacity:1; transform:translate(-50%,-50%); } }
@keyframes smc-guide-arrow-float { 0%,100% { transform:translateY(-4px); } 50% { transform:translateY(4px); } }
@keyframes smc-guide-copy { 0% { opacity:0; transform:translateY(20px); } 30%,73% { opacity:1; transform:translateY(0); } 100% { opacity:0; transform:translateY(-6px); } }
@media(max-width:600px) { .smc-idle-guide { --guide-half:42px; } .smc-idle-guide-arrow { width:34px; height:51px; } .smc-idle-guide-label { top:calc(50% + 66px); } }
@media(prefers-reduced-motion:reduce) { .smc-idle-guide { display:none; } }

@media (prefers-reduced-motion:reduce) {
 .smc-cinema.is-camera-active .smc-cinema-visual,
 .smc-cinema.is-camera-active .smc-scene-word,
 .smc-cinema.is-camera-active .smc-glass { will-change:auto; }
}
