/* Shared rhythm. Font scaling remains rem-based and respects the A+ preference. */
.hero-actions,.closing-actions,.question-actions,.guide-step-actions,.campaign-actions,.purchase-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.related { display:grid; gap:12px; }
.related h2 { margin-bottom:8px; }
.sources { display:flex; flex-wrap:wrap; gap:12px; }
.sources h2 { flex-basis:100%; }
.article-copy> .text-link { margin:0 10px 12px 0; }
.page-hero h1 { font-size:clamp(2.2rem,5vw,4.4rem); line-height:1.08; }
.page-hero>div>p,.listing-heading>p,.contact-heading>p { font-size:1rem; line-height:1.7; }
.article-copy p,.question-answer p,.campaign-section p { font-size:.9375rem; line-height:1.75; }
.button,.text-link,.chat-popover .chat-actions a { font-size:.9rem; }
.chat-popover .chat-questions button,.chat-popover .chat-user { font-size:.9375rem; }
[hidden] { display:none!important; }

/* Image-led, category-based navigation, sharing the same panel on mobile. */
.desktop-nav button { display:flex; align-items:center; gap:8px; border:0; padding:12px 4px; background:none; color:var(--ink); font-family:inherit; font-size:.875rem; font-weight:600; line-height:1.4; cursor:pointer; }
.desktop-nav button:hover { color:var(--green); }
.mega-menu { width:min(1140px,calc(100vw - 40px)); max-height:calc(100dvh - 115px); margin:92px auto auto; padding:0; overflow:auto; border-radius:24px; border:1px solid var(--line); background:var(--paper); color:var(--ink); box-shadow:0 24px 80px #09241b30; }
.mega-menu .dialog-top { padding:18px 24px; margin:0; border-bottom:1px solid var(--line); }
.mega-menu .dialog-top>span { font-size:.9375rem; font-weight:600; }
.mega-layout { display:grid; grid-template-columns:260px minmax(0,1fr); }
.mega-tabs { display:flex; flex-direction:column; gap:8px; padding:20px 16px; background:color-mix(in srgb,var(--leaf) 48%,var(--paper)); border-right:1px solid var(--line); }
.mega-tabs button { display:flex; align-items:center; gap:10px; width:100%; padding:16px 12px; border:1px solid transparent; border-radius:14px; background:none; color:var(--ink); text-align:left; font-size:.9375rem; line-height:1.45; cursor:pointer; }
.mega-tabs button>span:nth-child(2) { flex:1; }
.mega-tabs button[aria-selected=true] { background:var(--paper); border-color:var(--line); box-shadow:0 6px 16px #112e1808; font-weight:700; }
.menu-symbol { display:grid; place-items:center; width:32px; height:32px; flex:0 0 32px; border-radius:10px; background:#d8ebe3; color:#166044; }
.mega-tabs button:nth-child(2) .menu-symbol { background:#f2e8cf; color:#765617; }
.mega-tabs button:nth-child(3) .menu-symbol { background:#e4e2f2; color:#605185; }
.mega-tabs button:nth-child(4) .menu-symbol { background:#f4e3dc; color:#96573a; }
.mega-tabs .site-icon { width:20px; height:20px; }
.mega-panel { min-width:0; padding:28px; }
.mega-panel-heading h2 { font-size:1.35rem; line-height:1.2; margin:0 0 8px; }
.mega-panel-heading p { font-size:.9rem; line-height:1.6; color:var(--muted); }
.mega-content { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:28px; margin-top:20px; }
.mega-menu .mega-content nav { display:grid; gap:4px; margin:0; grid-template-columns:1fr; }
.mega-menu .mega-link { display:flex; align-items:center; justify-content:space-between; gap:14px; border:0; padding:11px 10px; border-radius:10px; min-height:66px; font-size:.95rem; }
.mega-link:hover { background:var(--soft); }
.mega-link span { min-width:0; }
.mega-link strong,.mega-link small { display:block; }
.mega-link strong { font-weight:650; }
.mega-link small { font-size:.8125rem; line-height:1.5; color:var(--muted); margin-top:4px; }
.mega-picture { align-self:start; margin:0; padding:16px; background:var(--soft); border-radius:18px; }
.mega-picture img { display:block; width:100%; height:190px; object-fit:contain; }
.menu-tone-2 .mega-picture img { object-fit:cover; border-radius:12px; }
.mega-picture figcaption { font-size:.8125rem; line-height:1.6; color:var(--muted); margin-top:16px; }
.mega-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; border-top:1px solid var(--line); background:var(--soft); }
.mega-bottom a { display:inline-flex; align-items:center; gap:12px; font-size:.9rem; font-weight:600; }
.mega-bottom .whatsapp-action { padding:12px 16px; border-radius:12px; }

/* Clear offer hierarchy, with supporting details behind the checklist. */
.campaign-section { padding:64px 0; }
.campaign-section .campaign-topline { margin-bottom:22px; font-size:.875rem; flex-wrap:wrap; gap:10px; }
.offer-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:clamp(24px,5vw,70px); align-items:center; }
.offer-copy h2 { font-size:clamp(2rem,3.8vw,3.5rem); max-width:18ch; line-height:1.12; margin:0 0 16px; }
.offer-copy>p { max-width:55ch; color:#c4d7cc; }
.offer-finance { display:flex; flex-wrap:wrap; align-items:flex-end; gap:24px; margin:28px 0; }
.offer-finance>div { display:flex; flex-direction:column; gap:5px; }
.offer-finance span { font-size:.875rem; color:#b7d3c3; }
.offer-finance strong { font-size:clamp(1.7rem,3.2vw,2.7rem); line-height:1.15; font-weight:600; letter-spacing:-.035em; }
.offer-finance .offer-installment { padding-left:24px; border-left:1px solid #ffffff35; color:#ccebc7; }
.offer-installment strong { white-space:normal; }
.campaign-actions { margin-top:24px; align-items:stretch; }
.campaign-actions>a { justify-content:center; flex:1 1 200px; }
.campaign-actions .whatsapp-action { display:inline-flex; gap:10px; align-items:center; padding:14px 18px; min-height:52px; border-radius:14px; }
.offer-visual { position:relative; padding:24px; border:1px solid #ffffff28; border-radius:26px; background:#ffffff0a; }
.offer-visual>img { display:block; width:100%; height:220px; object-fit:contain; filter:drop-shadow(0 12px 18px #0003); }
.offer-visual .offer-name { display:block; margin:14px 0 12px; color:#dceee3; font-size:1rem; }
.offer-price { display:flex; flex-wrap:wrap; gap:12px; align-items:baseline; }
.offer-price strong { font-size:clamp(2.4rem,5vw,3.6rem); letter-spacing:-.04em; color:#d4efc8; line-height:1; }
.offer-price del { color:#b7c7bf; font-size:1rem; }
.offer-visual .offer-price-label { margin:10px 0 0; color:#d7e6dc; font-size:.875rem; }
.offer-visual .offer-caution { font-size:.8125rem; color:#cfdfd5; margin:12px 0 0; }
.campaign-details { margin-top:28px; }
.campaign-details summary { min-height:52px; font-size:.9375rem; display:flex; align-items:center; justify-content:space-between; cursor:pointer; }
.campaign-details summary::after { content:'+'; }
.campaign-details[open] summary::after { content:'−'; }
.campaign-details .campaign-terms { display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; padding:16px 0; }
.campaign-terms p { margin:0; }
.campaign-terms strong { display:block; margin-bottom:4px; }
.campaign-details .campaign-clarification { margin:16px 0; padding:16px; border:1px solid #ffffff30; border-radius:12px; color:#e0ebe4; }
.campaign-details ol { padding-left:22px; font-size:.9rem; }
.campaign-details li { margin-bottom:12px; }
.campaign-section.is-expired .offer-layout { display:none; }

/* Single visible purchase step, retaining seven genuine screenshots. */
.purchase-wizard { padding-top:56px; padding-bottom:56px; }
.purchase-progress { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:24px 0; }
.purchase-progress>span { font-size:.9375rem; color:var(--muted); font-variant-numeric:tabular-nums; }
.purchase-progress>div { display:flex; flex-wrap:wrap; gap:8px; }
.purchase-progress button { width:40px; min-height:40px; border:1px solid var(--line); border-radius:50%; background:var(--soft); color:var(--ink); font-size:.875rem; cursor:pointer; }
.purchase-progress button[aria-pressed=true] { background:var(--green); color:var(--on-green); border-color:var(--green); }
.purchase-step { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:32px; padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--soft); }
.purchase-step figure { margin:0; min-width:0; }
.purchase-step { scroll-margin-top:100px; }
.purchase-step img { display:block; width:100%; height:280px; object-fit:contain; border-radius:12px; background:white; }
.purchase-step figcaption { font-size:.75rem; line-height:1.6; color:var(--muted); margin-top:12px; }
.purchase-copy h3 { font-size:1.65rem; line-height:1.2; margin:10px 0 16px; }
.purchase-copy p { font-size:.9375rem; line-height:1.7; }
.purchase-copy .guide-check { font-size:.875rem; padding:14px; margin:16px 0; }
.purchase-controls { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:18px; }
.purchase-controls>a { font-size:.875rem; text-decoration:underline; text-underline-offset:4px; }
.purchase-controls button:disabled { opacity:.4; cursor:default; transform:none; }
.purchase-wizard .guide-advisor { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:18px 0 0; font-size:.8125rem; }

/* Structured chat without allowing arbitrary authored HTML. */
.rich-answer { overflow-wrap:anywhere; }
.rich-answer p { font-size:.9375rem; line-height:1.7; margin:0 0 14px; }
.rich-answer h4 { font-size:1rem; line-height:1.4; margin:20px 0 10px; }
.rich-answer h4:first-child { margin-top:8px; }
.rich-answer strong { font-weight:750; }
.rich-answer mark { background:var(--leaf,#e0eee5); color:var(--ink,#173c2b); padding:2px 5px; border-radius:4px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.rich-answer ul { padding-left:20px; margin:12px 0; }
.rich-answer li { font-size:.9375rem; line-height:1.7; margin:7px 0; }
.reply-image { display:block; max-width:100%; height:170px; object-fit:contain; margin:16px auto; }
.reply-accessories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.reply-accessories button { min-width:0; display:flex; flex-direction:column; align-items:center; gap:10px; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--paper); color:var(--ink); text-align:center; cursor:pointer; font-size:.8125rem; line-height:1.4; }
.reply-accessories button[aria-pressed=true] { border-color:var(--green); box-shadow:0 0 0 1px var(--green); background:var(--leaf); }
.reply-accessories img { width:100%; height:84px; object-fit:contain; }
.reply-accessory-detail { margin-top:14px; padding:16px 0; border-top:1px solid var(--line); }
.reply-accessory-detail h4 { margin-top:0; }
.chat-popover .chat-response { padding:18px; }
.chat-popover .chat-actions { gap:10px; margin-top:16px; }

/* Full-width cookie actions with a distinct primary choice. */
.cookie-dialog { width:min(580px,calc(100vw - 24px)); padding:28px; }
.cookie-dialog h2 { font-size:1.45rem; margin-bottom:14px; }
.cookie-dialog h2:focus { outline:none; }
.cookie-dialog>p { font-size:.9375rem; line-height:1.65; }
.cookie-links { gap:16px; margin:12px 0 18px; }
.cookie-links a { min-height:44px; padding:0; border:0; border-radius:0; background:none; font-size:.8125rem; text-decoration:underline; text-underline-offset:4px; box-shadow:none; }
.cookie-actions { grid-template-columns:minmax(0,1fr); grid-auto-rows:1fr; gap:10px; }
.cookie-actions button { min-height:52px; padding:12px 16px; font-size:.9375rem; line-height:1.4; overflow-wrap:anywhere; }
.cookie-category { padding:16px 0; }
.privacy-settings { min-height:36px; padding:0; background:none; border:0; border-radius:0; text-decoration:underline; font-size:.8125rem; font-weight:500; }

/* Footer navigation stays discoverable without a long two-column mobile list. */
.site-footer .footer-main { grid-template-columns:1fr 2fr; gap:36px; }
.footer-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.footer-group summary { display:flex; align-items:center; justify-content:space-between; font-size:.875rem; font-weight:700; cursor:pointer; list-style:none; margin-bottom:12px; }
.footer-group summary::-webkit-details-marker { display:none; }
.footer-group summary>span { display:none; }
.site-footer .footer-group nav { display:flex; flex-direction:column; gap:4px; }
.site-footer .footer-group a { font-size:.875rem; padding:8px 0; line-height:1.5; color:#c4d4ca; }
.site-footer .footer-contact { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.site-footer .theme-field { margin:0; font-size:.8125rem; }
.site-footer .theme-field .select-trigger { min-height:42px; padding:9px 12px; font-size:.875rem; }
.site-footer .footer-main>div:first-child p { font-size:.875rem; line-height:1.75; margin:20px 0; }
.site-footer .preview-note { margin-top:20px; }
.site-footer .footer-bottom { font-size:.75rem; }
.site-footer .privacy-settings { color:#c4d4ca; }

/* Film labels occupy a distinct band, never the video's caption region. */
.film-motion { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; border:1px solid #ffffff70; border-radius:50%; background:#102b24aa; color:white; flex:0 0 44px; }
.film-motion span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.film-motion .site-icon { width:20px; height:20px; }
.film-motion[aria-pressed=false] svg path { d:path('m8 5 11 7-11 7Z'); }
.real-films .kitchen-window { height:auto; min-height:0; overflow:hidden; border-radius:24px; background:#10271e; }
.film-scene { position:relative; inset:auto; }
.film-scene video { display:block; height:auto; width:100%; aspect-ratio:16/9; object-fit:contain; }
.film-copy { position:relative; inset:auto; background:none; padding:24px 32px 20px; color:white; }
.film-copy h2 { font-size:clamp(1.7rem,3.3vw,2.8rem); }
.film-copy h2 br { display:none; }
.film-copy p { margin-top:10px; max-width:65ch; font-size:.9375rem; }
.film-controls { position:relative; left:auto; right:auto; bottom:auto; padding:0 32px 24px; gap:12px; }
.film-tabs { flex:1; width:100%; justify-content:space-between; }
.film-tabs button { flex:1; padding:10px 8px; font-size:.8125rem; }
.film-credit { justify-content:flex-end; padding:14px 0 0; }
.film-scene video::cue { font-size:.9375rem; }

@media(max-width:1040px) {
  .mega-layout { grid-template-columns:220px minmax(0,1fr); }
  .mega-content { grid-template-columns:minmax(0,1fr) 150px; gap:16px; }
  .mega-panel { padding:22px; }
  .mega-picture img { height:150px; }
}
@media(max-width:760px) {
  :root { --gutter:14px; }
  .wrap { padding-left:14px; padding-right:14px; }
  .wrap .wrap { padding-left:0; padding-right:0; }
  .contact-section,.purchase-wizard,.product-stories,.showroom,.instagram-section { width:100%; }
  .contact-grid,.contact-panel,.question-list,.offer-layout>* { min-width:0; }
  .contact-panel { padding:20px 16px; border-radius:20px; }
  .contact-grid { gap:20px; }
  .contact-heading h2 { font-size:2rem; }
  .contact-heading { gap:16px; }
  .page-hero { gap:24px; padding-top:30px; padding-bottom:32px; }
  .page-hero h1 { font-size:2.15rem; }
  .listing-heading h1 { font-size:2.2rem; }
  .page-hero figure { margin:0; }
  .question summary { padding:16px 0; font-size:.9375rem; }
  .real-films { padding:14px; }
  .film-copy { padding:20px 18px 18px; }
  .film-copy h2 { font-size:1.7rem; }
  .film-controls { padding:0 14px 18px; gap:8px; }
  .film-tabs { padding:4px; gap:0; min-width:0; }
  .film-tabs button { font-size:.75rem; padding:8px 4px; }
  .film-credit a { font-size:.875rem; }
  .campaign-section { padding:38px 0; }
  .offer-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
  .offer-copy h2 { font-size:2.1rem; max-width:22ch; }
  .offer-finance { margin:20px 0; gap:20px; }
  .offer-finance strong { font-size:1.8rem; }
  .offer-visual { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); padding:18px; border-radius:20px; }
  .offer-visual>img { grid-column:2; grid-row:1/5; height:170px; align-self:center; }
  .offer-visual .offer-name { grid-column:1; font-size:.9375rem; }
  .offer-price { grid-column:1; gap:8px; }
  .offer-price strong { font-size:2.4rem; }
  .offer-price-label { grid-column:1; }
  .offer-visual .offer-caution { grid-column:1/-1; }
  .campaign-actions>a { flex-basis:100%; }
  .campaign-details .campaign-terms { grid-template-columns:1fr; }
  .purchase-wizard { padding-top:36px; padding-bottom:36px; }
  .purchase-wizard .section-heading { gap:16px; }
  .purchase-wizard h2 { font-size:2rem; }
  .purchase-step { display:flex; flex-direction:column; gap:20px; padding:16px; }
  .purchase-step figure { width:100%; }
  .purchase-step img { height:200px; }
  .purchase-copy h3 { font-size:1.4rem; }
  .purchase-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .purchase-progress { gap:10px; }
  .purchase-progress>div { gap:5px; }
  .purchase-progress button { width:32px; min-height:36px; border-radius:10px; }
  .purchase-progress>span { font-size:.8125rem; }
  .purchase-controls { display:grid; grid-template-columns:1fr 1fr; }
  .purchase-controls>a { grid-row:2; grid-column:1/-1; text-align:center; padding:10px; }
  .purchase-controls button { padding:12px; }
  .mega-menu { width:calc(100vw - 20px); max-height:calc(100dvh - 24px); margin:12px auto; border-radius:22px; }
  .mega-menu .dialog-top { padding:12px 16px; }
  .mega-layout { display:block; }
  .mega-tabs { display:grid; grid-template-columns:1fr 1fr; padding:12px; gap:8px; border:0; border-bottom:1px solid var(--line); }
  .mega-tabs button { padding:10px 8px; font-size:.8125rem; gap:8px; border-radius:12px; }
  .mega-tabs button>.site-icon { display:none; }
  .menu-symbol { width:28px; height:28px; flex-basis:28px; border-radius:8px; }
  .mega-panel { padding:18px 14px; }
  .mega-panel-heading h2 { font-size:1.15rem; }
  .mega-panel-heading p { font-size:.8125rem; }
  .mega-content { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:12px; }
  .mega-menu .mega-link { padding:10px 4px; min-height:62px; font-size:.9375rem; }
  .mega-picture { display:flex; align-items:center; gap:16px; padding:12px; border-radius:14px; }
  .mega-picture img { width:82px; height:82px; flex:0 0 82px; }
  .mega-picture figcaption { margin:0; }
  .mega-bottom { padding:14px; gap:12px; flex-wrap:wrap; }
  .mega-bottom>a { min-height:44px; font-size:.8125rem; }
  .mega-bottom .whatsapp-action { flex:1 1 100%; justify-content:center; }
  .site-footer { padding:36px 14px calc(40px + var(--campaign-bar-height)); }
  .footer-heading { padding:0 0 28px; gap:20px; }
  .footer-heading h2 { font-size:2rem; }
  .site-footer .footer-main { display:flex; flex-direction:column; gap:22px; padding:24px 0; }
  .footer-groups { display:block; width:100%; }
  .footer-group { border-bottom:1px solid #ffffff26; }
  .footer-group summary { padding:18px 0; margin:0; font-size:.9375rem; min-height:52px; }
  .footer-group summary>span { display:inline; }
  .footer-group[open] summary>span { transform:rotate(45deg); }
  .site-footer .footer-group nav { padding:0 0 14px; }
  .site-footer .footer-contact { align-items:flex-start; flex-wrap:wrap; gap:22px; }
  .footer-bottom { display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding-top:22px; }
  .cookie-dialog { padding:22px; }
  .chat-popover .chat-turn { padding:0 12px 18px; }
  .chat-popover .chat-response { padding:16px; }
}
@media(max-width:380px) {
  .offer-visual { grid-template-columns:minmax(0,1fr) 120px; }
  .offer-visual>img { height:140px; }
  .offer-price strong { font-size:2rem; }
  .purchase-progress>div { gap:4px; }
  .purchase-progress button { width:29px; }
  .mega-tabs { gap:6px; padding:10px; }
  .mega-tabs .menu-symbol { display:none; }
}
html:not([data-text-scale="100"]) .offer-layout,html:not([data-text-scale="100"]) .mega-content,html[data-text-scale="200"] .mega-layout { grid-template-columns:minmax(0,1fr); }
html[data-text-scale="200"] .offer-visual { display:block; }
html[data-text-scale="200"] .purchase-step { display:flex; flex-direction:column; }
html[data-text-scale="200"] .purchase-progress { align-items:flex-start; flex-direction:column; }
html[data-text-scale="200"] .reply-accessories { grid-template-columns:1fr; }
html[data-text-scale="200"] .mega-tabs { grid-template-columns:1fr; }
@media(prefers-reduced-motion:no-preference) {
  .mega-menu[open] { animation:menu-in .22s ease-out; }
  .purchase-step:not([hidden]) { animation:menu-in .2s ease-out; }
  @keyframes menu-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
