/* The film fills a bounded stage while captions stay above the editorial copy. */
.real-films { width:min(1188px,100%); margin-inline:auto; padding:24px 14px; }
.real-films .kitchen-window { position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; width:100%; min-height:500px; height:auto; max-height:none; overflow:hidden; border-radius:24px; }
.real-films .kitchen-window::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,#06170e08 15%,#06170e15 35%,#06170ec4 78%,#06170ef2); }
.real-films .film-scene { position:static; inset:auto; height:auto; flex:1 0 auto; display:flex; flex-direction:column; justify-content:flex-end; }
.real-films .film-scene[hidden] { display:none; }
.real-films .film-scene video { position:absolute; inset:0; display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:50% 42%; }
.real-films .film-copy { position:relative; inset:auto; z-index:2; flex:0 0 auto; padding:180px 34px 24px; background:none; display:block; }
.real-films .film-copy h2 { max-width:19ch; font-size:clamp(1.85rem,3.4vw,2.7rem); line-height:1.08; letter-spacing:-.045em; }
.real-films .film-copy h2 br { display:initial; }
.real-films .film-copy p { max-width:48ch; margin-top:14px; font-size:.9375rem; line-height:1.65; }
.real-films .film-controls { position:relative; inset:auto; z-index:3; padding:0 34px 28px; display:flex; flex-wrap:nowrap; align-items:center; gap:12px; }
.real-films .film-tabs { flex:0 1 550px; width:auto; min-width:0; }
.real-films .film-tabs button { padding:10px 14px; font-size:.8125rem; line-height:1.35; }
.real-films .film-motion { margin-left:auto; }
.real-films video::cue { font-size:.875rem; background:#06170ea6; color:white; }
.desktop-nav button>.site-icon { display:block; flex:0 0 16px; width:16px; height:16px; align-self:center; margin:0; vertical-align:middle; }
.consultant-id { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; width:fit-content; max-width:100%; padding:12px 14px; border:1px solid color-mix(in srgb,var(--green) 38%,var(--line)); border-radius:12px; background:var(--leaf); color:var(--ink); }
.consultant-id>span { font-size:.8125rem; }
.consultant-id>strong { font-size:1.25rem; line-height:1.2; letter-spacing:.04em; font-weight:750; }
.consultant-id button { padding:7px 9px; min-height:36px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--paper); font-size:.75rem; cursor:pointer; }
.contact-panel>.consultant-id { margin:18px 0 24px; }
.advisor-copy .consultant-id { margin:24px 0; }
.menu-advisor-id { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:14px 24px; background:var(--paper); border-top:1px solid var(--line); font-size:.8125rem; }
.menu-advisor-id strong { font-size:1.125rem; letter-spacing:.035em; color:var(--green); }
.menu-advisor-id>a { margin-left:auto; padding:9px 12px; border-radius:10px; background:var(--soft); font-weight:600; }
.mega-menu .menu-guide { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:13px 18px; background:var(--ink); color:var(--paper); border:1px solid var(--ink); border-radius:12px; box-shadow:0 3px 0 color-mix(in srgb,var(--ink) 70%,transparent); text-decoration:none; }
.mega-bottom .whatsapp-action { min-height:50px; justify-content:center; }

/* Keep the supplied portrait intact, with a simple editorial caption. */
.home-advisor .advisor-photo { position:relative; background:transparent; box-shadow:none; border:0; border-radius:0; overflow:visible; max-height:none; }
.home-advisor .advisor-photo::before,.home-advisor .advisor-photo::after { content:none; }
.home-advisor .advisor-photo>img { height:auto; max-height:510px; width:100%; object-fit:contain; object-position:bottom; border-radius:0; filter:none; }
.home-advisor .advisor-name { position:static; inset:auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:14px 0; text-align:center; background:none; border:0; border-radius:0; backdrop-filter:none; box-shadow:none; color:var(--ink); }
.advisor-name span { color:var(--muted); }
.contact-person img,.chat-launcher img,.chat-popover-heading img,.studio-advisor img { border-radius:0; background:transparent; object-fit:contain; object-position:bottom; }
.contact-person img { width:62px; height:74px; }
.menu-tone-3 .mega-picture { background:transparent; border-radius:0; }
.kind-person>figure { background:transparent; border-radius:0; }
.kind-person>figure img { object-fit:contain; max-height:550px; border-radius:0; }

.accessory-categories { display:inline-flex; flex-wrap:wrap; gap:8px; padding:5px; border:1px solid var(--line); border-radius:15px; background:var(--soft); margin-block:24px 16px; max-width:100%; }
.accessory-categories button { display:flex; align-items:center; gap:10px; padding:12px 18px; min-height:48px; background:transparent; color:var(--ink); border:0; border-radius:11px; font-size:.9375rem; font-weight:650; cursor:pointer; }
.accessory-categories button[aria-pressed=true] { background:var(--ink); color:var(--paper); }
.accessory-categories button span { display:grid; place-items:center; width:24px; height:24px; border-radius:7px; font-size:.75rem; background:color-mix(in srgb,currentColor 12%,transparent); }
.accessory-category-description { color:var(--muted); font-size:.875rem; line-height:1.65; margin:0 0 20px; }
.accessory-inclusion { position:absolute; z-index:1; top:20px; left:20px; padding:8px 12px; border-radius:8px; background:var(--paper); color:var(--ink); border:1px solid var(--line); font-size:.8125rem; }
.accessory-inclusion.extra { background:#f6e9ce; color:#6b4d16; }
.accessory-context { border-left:3px solid var(--green); padding:2px 0 2px 16px; margin:20px 0; }
.accessory-context strong { font-size:.875rem; }
.accessory-context p { font-size:.875rem; line-height:1.65; margin:6px 0 0; }
.accessory-cta { display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; }
.accessory-cta>a { flex:1 1 160px; justify-content:center; }
.reply-accessory-group { margin-top:20px; }
.reply-accessory-group h4 { margin-bottom:8px; font-size:.9375rem; }
.reply-accessory-group .reply-accessories { margin-top:8px; }
.reply-inclusion { display:block; padding:8px 10px; border-radius:8px; background:var(--leaf); color:var(--ink); font-size:.8125rem; line-height:1.5; margin:10px 0 14px; }

.guide-intro { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; padding:20px; border-radius:16px; background:var(--soft); border:1px solid var(--line); margin-bottom:20px; }
.guide-intro>div { flex:1 1 280px; }
.guide-intro strong { font-size:1rem; }
.guide-intro p { font-size:.875rem; line-height:1.7; margin:8px 0 0; }
.guide-intro>a { margin:0; font-size:.8125rem; flex:0 1 auto; }
.guide-navigation { border:1px solid var(--line); border-radius:14px; background:var(--paper); margin:20px 0; }
.guide-navigation summary { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; padding:16px 18px; cursor:pointer; list-style:none; font-size:.9375rem; font-weight:650; }
.guide-navigation summary::-webkit-details-marker { display:none; }
.guide-navigation summary>span:last-child { display:inline-flex; align-items:center; gap:8px; color:var(--green); font-size:.8125rem; }
.guide-navigation .purchase-progress { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:8px; padding:0 12px 12px; margin:0; }
.guide-navigation .purchase-progress button { display:flex; align-items:center; gap:12px; text-align:left; width:100%; min-height:58px; padding:12px; border-radius:10px; font-size:.875rem; line-height:1.5; }
.guide-navigation .step-number { font-size:.8125rem; opacity:.72; flex:0 0 auto; font-variant-numeric:tabular-nums; }
.purchase-wizard .purchase-step { margin:0; }
.purchase-wizard .purchase-actions { display:flex; flex-wrap:wrap; gap:12px; }
.purchase-wizard .purchase-actions>a { flex:1 1 150px; justify-content:center; text-align:center; }
.purchase-wizard .guide-advisor { align-items:center; padding-top:16px; font-size:.875rem; }
.purchase-wizard .guide-advisor .consultant-id { margin:0; }
.purchase-wizard .purchase-controls>a { text-decoration:none; }
.showroom-actions { display:flex; flex-direction:row; flex-wrap:wrap; gap:12px; align-items:stretch; width:100%; }
.showroom-actions>a,.showroom-actions>button { flex:1 1 150px; justify-content:center; min-width:0; text-align:center; padding:12px 14px; font-size:.8125rem; }
.showroom-actions .text-link { background:var(--soft); }
.advisor-copy>.button,.advisor-copy>.text-link { display:inline-flex; margin:0 12px 14px 0; }

.campaign-bar { display:grid; grid-template-columns:minmax(220px,1fr) auto auto; gap:20px; align-items:center; width:min(1080px,calc(100% - 32px)); padding:12px 16px; border:1px solid #a8d3b84d; border-radius:18px; background:#103d2e; color:#fff; box-shadow:0 10px 45px #061e1938,0 0 0 1px #fff1 inset; backdrop-filter:blur(22px); }
.campaign-bar .campaign-bar-offer { display:grid; grid-template-columns:54px minmax(0,1fr); column-gap:12px; align-items:center; min-width:0; color:#fff; }
.campaign-bar-offer::before { content:''; grid-column:1; grid-row:1/3; display:block; width:54px; height:56px; border-radius:12px; background:#e4eee5 url('assets/mixing-bowl.webp') center/88% no-repeat; }
.campaign-bar .campaign-bar-title { grid-column:2; font-size:.9375rem; font-weight:750; line-height:1.4; color:#fff; }
.campaign-bar .campaign-bar-benefit { grid-column:2; margin-top:4px; color:#c6e8d1; font-size:.8125rem; line-height:1.5; }
.campaign-bar-timer { display:flex; flex-direction:column; gap:5px; }
.campaign-bar .campaign-bar-timer>span { font-size:.6875rem; color:#d5e9dc; }
.campaign-bar [data-countdown-value] { display:flex; align-items:center; gap:5px; font-weight:500; }
.campaign-bar .clock-unit { display:flex; flex-direction:column; align-items:center; gap:2px; min-width:34px; border:1px solid #ffffff24; background:#ffffff0d; padding:5px 6px; border-radius:7px; }
.campaign-bar .clock-unit b { font-size:1.0625rem; font-weight:650; line-height:1.05; color:#f5e9bd; font-variant-numeric:tabular-nums; }
.campaign-bar .clock-unit small { font-size:.625rem; line-height:1.1; color:#dae9dd; }
.campaign-bar>.whatsapp-action { min-height:50px; padding:13px 17px; font-size:.875rem; gap:8px; background:#087d4f; border-color:#60c18c; box-shadow:0 3px 0 #052a1d; justify-content:center; flex-direction:row; color:white; white-space:normal; }
.campaign-bar.is-expired .campaign-bar-timer { display:none; }

.client-portal { max-width:1000px; padding-block:40px 70px; }
.client-portal-heading { margin-bottom:32px; }
.client-portal-heading h1 { font-size:clamp(2.2rem,5vw,3.8rem); line-height:1.12; margin:10px 0 16px; }
.client-portal-heading p { font-size:1rem; line-height:1.7; color:var(--muted); }
.client-login { max-width:700px; padding:28px; background:var(--soft); border:1px solid var(--line); border-radius:20px; }
.client-login-intro { display:grid; grid-template-columns:140px minmax(0,1fr); gap:26px; align-items:center; margin-bottom:26px; }
.client-login-intro>img { width:140px; height:180px; object-fit:contain; object-position:bottom; }
.client-login-intro h2 { font-size:1.7rem; line-height:1.15; }
.client-login-intro p { font-size:.9375rem; line-height:1.7; color:var(--muted); margin:10px 0 18px; }
.client-login form { display:grid; gap:12px; }
.client-login label { font-size:.9375rem; font-weight:650; }
.client-login input { width:100%; min-width:0; min-height:52px; border:1px solid var(--line); border-radius:10px; padding:12px 14px; font:inherit; background:var(--paper); color:var(--ink); }
.client-login input[name=code] { letter-spacing:.35em; font-variant-numeric:tabular-nums; font-size:1.4rem; }
.client-login-actions { display:flex; flex-wrap:wrap; gap:10px; }
.client-login-actions>* { flex:1 1 150px; justify-content:center; }
.client-login form>p,.client-login-help { font-size:.8125rem; line-height:1.6; color:var(--muted); margin:16px 0; }
.client-status { font-size:.9375rem; line-height:1.7; margin:18px 0; }
.client-status.is-error { color:#af3c35; }
[data-theme=dark] .client-status.is-error { color:#ffb9b4; }
.client-member-header { display:flex; align-items:center; flex-wrap:wrap; gap:20px; justify-content:space-between; margin-bottom:26px; }
.client-member-header h2 { font-size:1.8rem; margin-bottom:10px; }
.client-member-header p { line-height:1.65; }
.client-raffles { display:grid; gap:20px; }
.client-raffles .raffle-public { border:1px solid var(--line); border-radius:16px; padding:24px; background:var(--soft); }
@media(max-width:760px) {
  .real-films { padding:14px 12px; }
  .real-films .kitchen-window { min-height:560px; border-radius:22px; }
  .real-films .film-scene video { object-position:54% center; }
  .real-films .film-copy { padding:245px 20px 22px; }
  .real-films .film-copy h2 { font-size:2rem; max-width:18ch; }
  .real-films .film-copy p { font-size:.9375rem; }
  .real-films .film-controls { padding:0 14px 20px; gap:8px; }
  .real-films .film-tabs { width:auto; flex:1; }
  .real-films .film-tabs button { padding:10px 6px; font-size:.75rem; }
  .real-films .film-motion { width:40px; height:44px; flex-basis:40px; }
  .menu-advisor-id { padding:12px 14px; }
  .mega-menu[open] { display:flex; flex-direction:column; max-height:calc(100dvh - 24px); overflow:hidden; }
  .mega-menu>.dialog-top,.mega-menu>.menu-advisor-id,.mega-menu>.mega-bottom { flex:0 0 auto; }
  .mega-menu>.mega-layout { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
  .mega-menu .mega-bottom { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-rows:1fr; align-items:stretch; gap:10px; padding:12px; }
  .mega-menu .mega-bottom>a { min-width:0; min-height:50px; justify-content:center; font-size:.8125rem; padding:12px 8px; text-align:center; }
  .mega-menu .mega-bottom>.whatsapp-action { flex-wrap:nowrap; gap:6px; }
  .home-advisor .advisor-photo>img { max-height:400px; height:auto; }
  .home-advisor .advisor-name { font-size:.875rem; }
  .accessory-categories { display:flex; }
  .accessory-categories button { flex:1 1 130px; justify-content:center; padding:12px 8px; font-size:.875rem; }
  .accessory-inclusion { top:12px; left:12px; }
  .accessory-context { margin:16px 0; }
  .guide-intro { padding:16px; gap:14px; }
  .guide-navigation summary { padding:14px; font-size:.875rem; }
  .guide-navigation .purchase-progress { grid-template-columns:1fr; }
  .guide-navigation .purchase-progress button { min-height:50px; }
  .purchase-wizard .purchase-step { padding:16px; }
  .purchase-wizard .purchase-step img { height:auto; max-height:300px; }
  .purchase-wizard .purchase-actions { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-rows:1fr; align-items:stretch; }
  .purchase-wizard .purchase-actions>a { padding:12px; font-size:.8125rem; }
  .purchase-wizard .guide-advisor { gap:14px; }
  .campaign-actions>a { flex-basis:140px; font-size:.8125rem; padding:12px; }
  .campaign-bar { width:calc(100% - 16px); bottom:8px; padding:10px 12px; gap:10px 12px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-radius:16px; }
  .campaign-bar .campaign-bar-offer { grid-column:1/-1; grid-row:1; grid-template-columns:42px minmax(0,1fr); column-gap:10px; }
  .campaign-bar-offer::before { width:42px; height:44px; border-radius:10px; }
  .campaign-bar .campaign-bar-title { font-size:.875rem; }
  .campaign-bar .campaign-bar-benefit { font-size:.75rem; margin-top:2px; }
  .campaign-bar .campaign-bar-timer { min-width:0; grid-column:1; grid-row:2; }
  .campaign-bar .clock-unit { min-width:0; flex:1; padding:4px; }
  .campaign-bar [data-countdown-value] { gap:4px; }
  .campaign-bar .clock-unit b { font-size:.9375rem; }
  .campaign-bar .clock-unit small { font-size:.625rem; }
  .campaign-bar .campaign-bar-timer>span { font-size:.625rem; }
  .campaign-bar>.whatsapp-action { grid-column:2; grid-row:2; align-self:end; min-height:45px; padding:10px; font-size:.8125rem; }
  .campaign-bar.is-expired>.whatsapp-action { grid-column:1/-1; }
  .client-portal { padding-block:28px 40px; }
  .client-login { padding:20px 16px; }
  .client-login-intro { grid-template-columns:82px minmax(0,1fr); gap:16px; }
  .client-login-intro>img { width:82px; height:135px; }
  .client-login-intro h2 { font-size:1.4rem; }
  .client-login-intro .consultant-id { grid-column:1/-1; padding:9px; }
  .client-login-intro .consultant-id>span { font-size:.75rem; }
}
@media(max-width:360px) {
  .real-films .film-controls { flex-wrap:wrap; }
  .real-films .film-tabs { flex-basis:100%; }
  .real-films .film-motion { margin-left:0; }
  .client-login-intro { grid-template-columns:1fr; }
  .client-login-intro>img { display:none; }
}
html[data-text-scale="150"] .campaign-bar,html[data-text-scale="200"] .campaign-bar { grid-template-columns:minmax(0,1fr); }
html[data-text-scale="150"] .campaign-bar>*,html[data-text-scale="200"] .campaign-bar>* { grid-column:1; grid-row:auto; }
html:is([data-text-scale="150"],[data-text-scale="200"]) .campaign-bar>.whatsapp-action { grid-column:1; grid-row:auto; }
html:is([data-text-scale="150"],[data-text-scale="200"]) .mega-menu .mega-bottom { grid-template-columns:minmax(0,1fr); }
@media(prefers-reduced-motion:reduce) { .campaign-bar,.consultant-id,.accessory-categories * { transition:none; animation:none; } }
