/* Supplied RGBA recording: no matte, clipping, mask or opaque product panel. */
.travelling-product { aspect-ratio:720/794; }
.travel-still,.travel-sequence { filter:none; border-radius:0; background:transparent; }
.product-tilt { border-radius:0; background:transparent; box-shadow:none; }
.motion-story .product-track { z-index:3; }
.compact-caption { color:var(--ink); }
.compact-caption span { color:var(--muted); }
.compact-caption small { color:var(--green); }
.js .accessories-section .rail-controls { display:none !important; }
.showroom { padding-block:92px; }
.showroom-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:35px; }
.showroom-heading h1,.showroom-heading h2 { font-size:clamp(2.5rem,5.7vw,4.875rem); line-height:1.08; }
.showroom-heading p { color:var(--muted); font-size:0.875rem; line-height:1.8; padding-bottom:6px; }
.showroom-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr); gap:0; border:1px solid var(--line); border-radius:28px; overflow:hidden; background:var(--soft); }
.model-studio { position:relative; min-height:560px; background:#eef2ef; isolation:isolate; }
[data-theme="dark"] .model-studio { background:#25392e; }
.model-mount { position:absolute; inset:0 0 105px; }
.model-poster { width:100%; height:100%; padding:30px 65px 10px; object-fit:contain; }
.js [data-showroom]:not([data-room-active="true"]) .model-poster { filter:blur(7px); opacity:.56; }
.model-mount model-viewer { position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; --poster-color:transparent; --progress-bar-color:#13734d; --progress-bar-height:3px; }
[data-model-ready="true"] .model-mount model-viewer { opacity:1; pointer-events:auto; }
.model-mount model-viewer::part(default-progress-bar) { top:0; }
.model-load { position:absolute; z-index:2; left:50%; bottom:60px; transform:translateX(-50%); white-space:nowrap; }
.model-load:hover { transform:translate(-50%,-3px); }
.model-load:active { transform:translate(-50%,2px); }
.model-load:disabled { opacity:.7; cursor:progress; }
.model-loading {
  position:absolute; z-index:2; top:44%; left:50%; transform:translate(-50%,-50%);
  display:flex; align-items:center; justify-content:center; gap:12px;
  width:max-content; max-width:calc(100% - 32px); padding:13px 16px;
  border:1px solid var(--line); border-radius:16px; background:var(--paper); color:var(--ink);
  box-shadow:0 8px 28px #0002; font-size:.875rem; pointer-events:none;
}
.model-spinner {
  flex:0 0 auto; width:21px; height:21px; border:2px solid var(--line);
  border-top-color:var(--green); border-radius:50%; animation:model-spin .8s linear infinite;
}
@keyframes model-spin { to { transform:rotate(360deg); } }
.model-toolbar {
  grid-column:1 / -1; min-width:0; display:grid; gap:8px; padding:18px clamp(14px,3vw,28px);
  background:var(--paper); border-bottom:1px solid var(--line);
}
.model-primary-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%, 9rem),1fr)); gap:8px; }
.model-primary-actions .button {
  position:static; transform:none; white-space:normal; min-width:0; min-height:54px;
  gap:8px; padding:10px 12px; justify-content:center; text-align:center;
  font-size:.875rem; line-height:1.35;
}
.model-primary-actions .button:is(:hover,:active) { transform:none; }
.model-primary-actions .button .site-icon { flex:none; }
.model-primary-actions [data-native-ar] { background:var(--soft); color:var(--ink); border:1px solid var(--line); box-shadow:none; }
[data-model-ready="true"] .model-primary-actions [data-native-ar] { background:var(--green); color:var(--paper); }
[data-model-ready="true"] .model-primary-actions [data-native-ar]:disabled { cursor:progress; }
.model-secondary-actions { display:flex; flex-wrap:wrap; gap:0 18px; }
.model-secondary-actions :is(a,button) {
  display:inline-flex; align-items:center; min-height:44px; padding:4px 0;
  color:var(--ink); background:transparent; border:0; font:inherit; font-size:.875rem;
  text-decoration:underline; text-underline-offset:.2em; text-align:left;
}
.model-toolbar .model-status { color:var(--muted); font-size:.8125rem; line-height:1.5; margin:0; }
.model-toolbar .model-status:empty, .model-primary-actions:empty { display:none; }
.model-toolbar [data-model-share-link] { min-width:0; width:100%; }
@media(min-width:761px) {
  .model-primary-actions { display:flex; flex-wrap:wrap; }
  .model-primary-actions .button { min-width:13rem; }
}
.model-views { position:absolute; z-index:2; bottom:56px; left:50%; transform:translateX(-50%); display:flex; gap:3px; padding:5px; border:1px solid var(--glass-edge); border-radius:16px; background:var(--glass); box-shadow:var(--glass-shadow); backdrop-filter:blur(18px); }
.model-views button { min-width:63px; min-height:42px; padding:9px 13px; font-size:0.6875rem; border-radius:11px; background:transparent; color:var(--ink); }
.model-views button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.model-views button[data-model-reset] { min-width:40px; width:40px; padding:8px; }
.model-hint { position:absolute; bottom:24px; width:100%; text-align:center; padding:0 15px; color:var(--muted); font-size:0.625rem; pointer-events:none; }
.showroom-copy { padding:46px 34px; background:var(--paper); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.showroom-copy h3 { font-size:clamp(1.875rem,3.4vw,2.875rem); line-height:1.1; font-weight:500; margin:15px 0 22px; letter-spacing:-.055em; }
.showroom-copy p:not(.section-label) { font-size:0.8125rem; line-height:1.8; color:var(--muted); }
.showroom-actions { display:flex; flex-direction:column; gap:20px; align-items:flex-start; margin:28px 0 22px; }
.showroom-actions .button { font-size:0.75rem; gap:12px; }
.showroom-copy .model-status { font-size:0.6875rem; line-height:1.8; }
.ar-help { width:100%; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:20px 0 14px; padding:14px 0; }
.ar-help summary { font-size:0.75rem; font-weight:600; cursor:pointer; }
.ar-help p { margin:14px 0; }
.model-origin { color:var(--muted); font-size:0.5625rem; line-height:1.7; }
.showroom [hidden], .real-films [hidden] { display:none !important; }
body[data-page="explorer"] .showroom { padding-top:30px; }
.real-films { padding:25px 24px; }
.real-films .kitchen-window { min-height:480px; height:min(64vw,720px); }
.film-scene { position:absolute; inset:0; }
.film-scene video { width:100%; height:100%; object-fit:cover; }
.film-copy { position:absolute; inset:0; padding:48px; color:white; display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:142px; background:linear-gradient(0deg,#06180dbe 0%,transparent 70%); pointer-events:none; }
.film-copy h2 { font-size:clamp(2.625rem,6vw,5.25rem); line-height:1.05; color:white; }
.film-copy p { font-size:0.8125rem; line-height:1.7; color:#f0f6f1; margin-top:18px; max-width:440px; }
.film-controls { position:absolute; bottom:35px; left:48px; right:48px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.film-tabs { display:flex; padding:5px; gap:3px; background:#18382bd9; backdrop-filter:blur(16px); border:1px solid #ffffff35; border-radius:17px; }
.film-tabs button { border:0; background:transparent; color:#fff; padding:12px 20px; border-radius:12px; font-size:0.75rem; min-height:44px; }
.film-tabs button[aria-selected="true"] { background:#f7faf8; color:#143927; }
.film-play { background:#ffffffed; color:#193d2b; border:1px solid white; border-radius:50px; min-height:50px; padding:10px 20px 10px 14px; display:flex; align-items:center; gap:10px; font-size:0.75rem; font-weight:700; }
.film-play .site-icon { width:22px; height:22px; }
.film-play[aria-pressed="true"] svg path { d:path('M9 5v14M15 5v14'); }
.film-credit { display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:0.625rem; color:var(--muted); padding:15px 18px 0; }
.film-credit a { color:var(--green); min-height:32px; display:flex; align-items:center; }
.product-stories { padding-block:65px 95px; }
.story-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:40px; }
.story-intro p { font-size:0.875rem; color:var(--muted); line-height:1.8; }
.product-story-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:6%; align-items:start; }
.product-story picture { display:block; border-radius:22px; overflow:hidden; background:var(--soft); }
.product-story img { width:100%; height:auto; aspect-ratio:1.15; object-fit:cover; transition:transform .6s; }
.product-story:hover img { transform:scale(1.025); }
.story-layers { padding-top:110px; }
.story-layers img { aspect-ratio:1; }
.product-story>div { padding:25px 0 0; }
.product-story h3 { font-size:clamp(1.8125rem,3.5vw,2.75rem); line-height:1.1; font-weight:500; }
.product-story p { font-size:0.8125rem; line-height:1.8; max-width:390px; color:var(--muted); margin:17px 0; }
.product-story a { color:var(--green); }
.media-credit { font-size:0.5625rem; color:var(--muted); margin-top:30px; }
.campaign-payment { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:28px 0 10px; padding:22px 0; border-block:1px solid #ffffff30; }
.campaign-payment>div { display:flex; flex-direction:column; gap:8px; }
.campaign-payment strong { font-size:1.875rem; line-height:1.2; letter-spacing:-.04em; }
.campaign-payment small { font-size:0.8125rem; }
.campaign-payment span { font-size:0.6875rem; line-height:1.7; color:#d8e8dd; }
.campaign-payment .campaign-installments { font-size:1.375rem; }
.campaign-amount del { display:block; margin-bottom:7px; font-size:1.125rem; color:#cfddd4; }
.campaign-offer .campaign-clarification { font-size:0.6875rem; line-height:1.7; color:#d8e8dd; margin:18px 0 0; }
@media(max-width:900px) {
  .showroom-layout { grid-template-columns:minmax(0,1.1fr) minmax(260px,1fr); }
  .showroom-copy { padding:32px 24px; }
  .model-poster { padding-inline:20px; }
  .film-copy { padding:30px 30px 140px; }
  .film-controls { left:30px; right:30px; }
}
@media(max-width:760px) {
  body[data-page="explorer"] .chat-launcher { display:flex; }
  body[data-page="explorer"] .chat-nudge { display:none; }
  .travel-still,.travel-sequence,.product-tilt { border-radius:0; }
  .showroom { padding-block:55px; }
  .showroom-heading { display:block; margin-bottom:24px; }
  .showroom-heading h1,.showroom-heading h2 { font-size:2.6875rem; }
  .showroom-heading p { margin-top:18px; font-size:0.8125rem; }
  .showroom-layout { grid-template-columns:1fr; border-radius:22px; }
  .model-studio { min-height:400px; }
  [data-ar-page="true"] .model-studio { min-height:clamp(280px, 84vw, 400px); }
  [data-ar-page="true"] .showroom-heading { margin-bottom:16px; }
  [data-ar-page="true"] .showroom-heading h1 { font-size:2.25rem; }
  [data-ar-page="true"] .showroom-heading p { margin-top:10px; }
  .model-poster { padding:18px 30px 8px; }
  .model-load { font-size:0.75rem; }
  .showroom-copy { padding:30px 23px; }
  .showroom-copy h3 { font-size:2.0625rem; }
  .showroom-copy h3 br { display:initial; }
  .showroom-actions { margin-top:24px; }
  .real-films { padding:12px; }
  .real-films .kitchen-window { min-height:540px; height:140vw; max-height:660px; border-radius:23px; }
  .film-scene video { object-position:56% center; }
  .film-copy { padding:24px 24px 170px; }
  .film-copy h2 { font-size:2.75rem; }
  .film-copy p { font-size:0.75rem; max-width:280px; }
  .film-controls { left:20px; right:20px; bottom:23px; flex-wrap:wrap; gap:12px; }
  .film-tabs { width:100%; justify-content:space-between; border-radius:14px; }
  .film-tabs button { padding:10px 10px; font-size:0.625rem; flex:1; }
  .film-play { min-height:44px; font-size:0.6875rem; padding:8px 14px; }
  .film-credit { padding-inline:5px; font-size:0.5625rem; gap:12px; }
  .product-stories { padding-block:45px 55px; }
  .story-intro { display:block; }
  .story-intro p { margin-top:20px; font-size:0.8125rem; }
  .product-story-grid { grid-template-columns:1fr; gap:40px; }
  .story-layers { padding-top:0; }
  .product-story img,.story-layers img { aspect-ratio:1.2; }
  .product-story h3 { font-size:2.0625rem; }
  .product-story h3 br { display:initial; }
}
@media(prefers-reduced-motion:reduce) {
  .model-spinner { animation:none; }
  .product-story img { transition:none; }
  .product-story:hover img { transform:none; }
}
