/* Policy reading uses the site's own palette and typography. Wording stays in CMS data. */
.legal-layout{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,760px);gap:clamp(32px,6vw,100px);align-items:start;max-width:1180px;padding-top:24px}
.legal-layout .legal-body{width:100%;min-width:0;max-width:760px;padding:0;margin:0;font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.legal-layout .legal-body p{margin:20px 0}.legal-layout .legal-body ul{margin:18px 0 30px;padding-left:24px}.legal-layout .legal-body li{margin-block:10px}
.legal-layout .legal-body h2{font-size:clamp(29px,3.3vw,43px);line-height:1.22;margin:0 0 28px;letter-spacing:-.035em}
.legal-layout .legal-body h2:not(:first-of-type){border-top:1px solid var(--line);padding-top:42px;margin-top:50px}
.legal-layout .legal-body h3,.legal-layout .legal-body h4{font-family:Manrope,'Segoe UI',sans-serif;font-size:20px;line-height:1.5;letter-spacing:-.015em;margin:38px 0 16px;padding-top:18px;border-top:1px solid var(--line)}
.legal-heading,.legal-layout{scroll-margin-top:115px}
.legal-updated{font-size:13px;line-height:1.6!important;margin:0 0 36px!important;color:var(--brand-muted,var(--brand-ink));border-bottom:1px solid var(--line);padding-bottom:20px}
.legal-updated time,.legal-updated span{font-weight:600}.legal-toc{position:sticky;top:115px;max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain;padding:4px 14px 16px 0}
.legal-toc-title{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 20px}
.legal-layout nav ol{list-style:none;margin:0;padding:0}.legal-layout nav li{margin:0 0 4px;font-size:12px;line-height:1.6}.legal-layout nav a{display:block;padding:8px 0;border-bottom:1px solid transparent;text-decoration:none;opacity:.82}.legal-layout nav a:hover,.legal-layout nav a:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:4px}.legal-layout nav .legal-toc-major{font-weight:600;font-size:13px;margin-top:18px}
.legal-layout nav .legal-toc-major:first-child{margin-top:0}.legal-mobile-toc{display:none}.legal-back-top{display:inline-flex;gap:20px;align-items:center;border:1px solid var(--line);border-radius:var(--brand-radius,12px);padding:12px 18px;margin-top:35px;font-size:13px}
/* The selected preparation always drives one table; visual order adapts without duplicate tables. */
.product-page .product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'visual copy' 'specifications copy';gap:28px clamp(30px,5vw,76px);align-items:start}
.product-detail>.product-visual{grid-area:visual;min-width:0}.product-detail>.product-copy{grid-area:copy;min-width:0}.product-detail>.product-specifications{grid-area:specifications;min-width:0;display:block;padding:22px 0 0;border-top:1px solid var(--line)}
.product-detail>.product-specifications h2{font-size:32px;line-height:1.2;margin-bottom:14px}.product-detail>.product-specifications>div>p:not(.eyebrow){font-size:13px;line-height:1.75;margin-bottom:22px}.product-specifications .spec-table-wrap{max-width:100%;overflow:auto}.product-specifications .spec-table{width:100%;table-layout:fixed}.product-specifications .spec-table th,.product-specifications .spec-table td{overflow-wrap:anywhere}
.product-detail .product-reference-note{margin-top:22px}.product-detail .product-facts{margin-top:24px}
/* Loading surfaces are transparent; failure messages remain textual and usable. */
.loading,.boot,.film-notice,.about-media-notice{background:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important}
@media(max-width:760px){
 .legal-layout{display:block;padding-top:10px}.legal-layout .legal-body{font-size:15px;line-height:1.8}.legal-layout .legal-body h2{font-size:30px}.legal-layout .legal-body h3,.legal-layout .legal-body h4{font-size:19px;margin-top:32px}.legal-toc{display:none}.legal-mobile-toc{display:block;border:1px solid var(--line);border-radius:var(--brand-radius,12px);padding:15px 18px;margin-bottom:28px}.legal-mobile-toc summary{font-size:14px;font-weight:600;cursor:pointer;min-height:24px}.legal-mobile-toc nav{max-height:45dvh;overflow:auto;overscroll-behavior:contain;padding:14px 4px 0 0}.legal-back-top{min-height:44px}
 .product-page .product-detail{display:flex;flex-direction:column;gap:0}.product-detail>.product-visual{order:1;width:100%;margin-bottom:30px}.product-detail>.product-copy{display:contents}.product-detail>.product-copy>*{order:2;min-width:0;max-width:100%;width:100%}.product-detail>.product-copy>.product-reference-note{order:3;margin-top:22px;margin-bottom:20px}.product-detail>.product-specifications{order:4;width:100%;margin:0 0 28px;padding-top:22px}.product-detail>.product-copy>.product-facts{order:5;display:grid;width:100%;margin:0 0 25px}.product-detail>.product-copy>.eyebrow{margin-bottom:14px}.product-detail>.product-copy>h1{margin-bottom:20px}.product-detail>.product-copy>.lead{margin-bottom:20px}
}
@media(prefers-reduced-motion:reduce){.legal-layout{scroll-behavior:auto}.legal-layout a{transition:none}}
html[data-motion=reduced] .legal-layout{scroll-behavior:auto}

.legal-editor-preview .legal-layout{display:block;width:100%;padding:20px 0;max-width:100%}.legal-editor-preview .legal-toc{display:none}.legal-editor-preview .legal-mobile-toc{display:block;margin-bottom:24px}.legal-editor-preview .legal-body{max-width:100%}
