/* Product content only. Shared navigation, footer and enquiry handlers retain their owners. */
main[data-product-unified] { --pu-ink:#292723; --pu-muted:#69645e; --pu-line:#e3ded7; --pu-paper:#f5f2ed; --pu-accent:#a51c68; color:var(--pu-ink); }
main[data-product-unified] :is(h1,h2,h3) { color:var(--pu-ink); text-wrap:balance; }
main[data-product-unified] h1 { font-size:clamp(34px,4.2vw,60px)!important; line-height:1.08!important; letter-spacing:-.045em!important; font-weight:500!important; max-width:19ch; }
main[data-product-unified] h2 { font-size:clamp(26px,2.65vw,38px)!important; line-height:1.18!important; letter-spacing:-.035em!important; font-weight:500!important; }
main[data-product-unified] h3 { line-height:1.3!important; letter-spacing:-.02em!important; }
main[data-product-unified] [data-pu-hero-copy] > p:not([class*="eyebrow"]):not([class*="kicker"]) { max-width:55ch; font-size:17px!important; line-height:1.7!important; color:var(--pu-muted)!important; }
main[data-product-unified] [data-pu-hero] { margin-bottom:48px; }
main[data-product-unified] :is(a,button,summary,input,select,textarea):focus-visible { outline:2px solid var(--pu-accent); outline-offset:5px; }
main[data-product-unified] [data-pu-disclosure] { border:0!important; border-top:1px solid var(--pu-line)!important; border-bottom:1px solid var(--pu-line)!important; border-radius:0!important; box-shadow:none!important; background:transparent!important; margin-top:24px; margin-bottom:24px; }
main[data-product-unified] [data-pu-disclosure] > summary { padding:20px 0!important; font-size:16px!important; font-weight:500!important; line-height:1.5!important; color:var(--pu-ink)!important; cursor:pointer; }
main[data-product-unified] [data-pu-spec] { max-width:1200px!important; width:calc(100% - 80px)!important; margin:56px auto!important; padding:28px 0!important; border-top:1px solid var(--pu-line)!important; background:transparent!important; }
main[data-product-unified] [data-pu-spec] > h2 { font-size:26px!important; }
main[data-product-unified] [data-pu-spec] > p { max-width:70ch; color:var(--pu-muted); font-size:15px; line-height:1.65; }
main[data-product-unified] [data-pu-related] { max-width:1200px!important; width:calc(100% - 80px)!important; margin:48px auto!important; padding:26px 0!important; border-top:1px solid var(--pu-line)!important; background:transparent!important; }
main[data-product-unified] [data-pu-related] h2 { font-size:25px!important; }
main[data-product-unified] [data-pu-related] a { line-height:1.5; }
main[data-product-unified] .pu-anchor { display:block; height:0; scroll-margin-top:120px; }
main[data-product-unified] .pu-wrap { width:min(1200px,calc(100% - 80px)); margin-inline:auto; }
main[data-product-unified="overview"] .pu-hero { display:grid; grid-template-columns:1fr 1.12fr; align-items:center; gap:64px; padding-block:56px 72px; }
main[data-product-unified="overview"] .pu-hero h1 { margin:18px 0 24px; max-width:14ch; }
main[data-product-unified="overview"] .pu-hero p { color:var(--pu-muted); line-height:1.7; font-size:17px; max-width:46ch; }
main[data-product-unified] .pu-kicker { font-size:11px!important; letter-spacing:.13em!important; text-transform:uppercase; color:var(--pu-accent)!important; font-weight:600; }
main[data-product-unified="overview"] .pu-hero figure { margin:0; overflow:hidden; }
main[data-product-unified="overview"] .pu-hero img { display:block; width:100%; height:560px; object-fit:cover; object-position:67% center; }
main[data-product-unified] .pu-actions { display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; margin-top:28px; }
main[data-product-unified] .pu-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:13px 22px; border:1px solid var(--pu-accent); background:var(--pu-accent); color:#fff; font-size:14px; font-weight:500; text-decoration:none; }
main[data-product-unified] .pu-link { color:var(--pu-accent); font-size:14px; line-height:1.6; text-underline-offset:5px; }
main[data-product-unified] .pu-section { padding-block:48px 24px; scroll-margin-top:100px; }
main[data-product-unified] .pu-heading { display:flex; gap:24px; justify-content:space-between; align-items:end; margin-bottom:30px; }
main[data-product-unified] .pu-heading h2 { margin:10px 0 0; }
main[data-product-unified] .pu-heading > p { max-width:42ch; color:var(--pu-muted); font-size:15px; line-height:1.7; margin:0; }
main[data-product-unified] .pu-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px; }
main[data-product-unified] .pu-card { min-width:0; }
main[data-product-unified] .pu-card > a { display:block; color:var(--pu-ink); text-decoration:none; }
main[data-product-unified] .pu-card figure { margin:0 0 17px; overflow:hidden; background:var(--pu-paper); }
main[data-product-unified] .pu-card img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform .25s ease; }
main[data-product-unified] .pu-card a:hover img { transform:scale(1.025); }
main[data-product-unified] .pu-card h3 { display:flex; justify-content:space-between; gap:16px; font-size:22px!important; font-weight:500; margin:0 0 9px; }
main[data-product-unified] .pu-card h3 span { color:var(--pu-accent); font-size:19px; }
main[data-product-unified] .pu-card p { font-size:14px; line-height:1.65; color:var(--pu-muted); margin:0; }
main[data-product-unified] .pu-subcollections { margin-top:14px; border-top:1px solid var(--pu-line); }
main[data-product-unified] .pu-subcollections summary { cursor:pointer; padding:12px 0; color:var(--pu-accent); font-size:13px; }
main[data-product-unified] .pu-subcollections nav { display:grid; gap:0; padding-bottom:12px; }
main[data-product-unified] .pu-subcollections nav a { padding:8px 0; color:var(--pu-muted); font-size:14px; line-height:1.45; text-decoration:none; }
main[data-product-unified] .pu-subcollections nav a:hover { color:var(--pu-accent); text-decoration:underline; }
main[data-product-unified] .pu-note { font-size:13px; line-height:1.65; color:var(--pu-muted); margin:28px 0 0; }
main[data-product-unified] .pu-next { margin-top:64px; padding:48px; background:var(--pu-paper); display:grid; grid-template-columns:1.25fr 1fr; gap:60px; }
main[data-product-unified] .pu-next h2 { margin:12px 0 18px; }
main[data-product-unified] .pu-next p { color:var(--pu-muted); line-height:1.7; font-size:16px; }
main[data-product-unified] .pu-next ul { padding-left:20px; color:var(--pu-muted); font-size:15px; line-height:1.8; }
main[data-product-unified] .pu-next aside { border-left:1px solid var(--pu-line); padding-left:40px; align-self:center; }
main[data-product-unified] .pu-next aside h3 { font-size:23px; font-weight:500; margin:0 0 16px; }
main[data-product-unified="overview"] { padding-bottom:72px; }
@media(max-width:900px) {
 main[data-product-unified="overview"] .pu-hero { gap:30px; padding-block:32px 40px; }
 main[data-product-unified="overview"] .pu-hero img { height:440px; }
 main[data-product-unified] .pu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 main[data-product-unified] .pu-heading { display:block; }
 main[data-product-unified] .pu-heading > p { margin-top:16px; }
 main[data-product-unified] .pu-next { gap:30px; padding:32px; }
}
@media(max-width:600px) {
 main[data-product-unified] .pu-wrap,main[data-product-unified] [data-pu-spec],main[data-product-unified] [data-pu-related] { width:calc(100% - 40px)!important; }
 main[data-product-unified="overview"] .pu-hero { grid-template-columns:1fr; gap:28px; }
 main[data-product-unified="overview"] .pu-hero h1 { font-size:42px!important; max-width:15ch; }
 main[data-product-unified="overview"] .pu-hero img { height:auto; aspect-ratio:4/3; }
 main[data-product-unified] .pu-section { padding-block:32px 16px; }
 main[data-product-unified] .pu-grid { grid-template-columns:1fr; gap:30px; }
 main[data-product-unified] .pu-next { grid-template-columns:1fr; margin-top:36px; padding:28px 22px; gap:24px; }
 main[data-product-unified] .pu-next aside { border-left:0; border-top:1px solid var(--pu-line); padding:24px 0 0; }
 main[data-product-unified] [data-pu-hero-copy] > p:not([class*="eyebrow"]):not([class*="kicker"]) { font-size:16px!important; }
 main[data-product-unified] [data-pu-spec] { margin-block:32px!important; }
}
@media(prefers-reduced-motion:reduce) { main[data-product-unified] .pu-card img { transition:none; } }
