body{font-family:Arial,Helvetica,sans-serif}button,a,select{touch-action:manipulation;outline-offset:5px}:focus-visible{outline:2px solid var(--accent)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;padding:14px;background:var(--accent);color:#111;z-index:1000}.skip-link:focus{top:12px}.shop-header{padding:24px clamp(20px,5vw,80px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.shop-header nav{display:flex;gap:32px;font-size:12px;letter-spacing:.03em;text-transform:none}.shop-header>a:not(.brand){font-size:13px;color:var(--muted)}.shop-hero{max-width:1440px;margin:auto;padding:100px clamp(20px,5vw,80px) 80px}.shop-hero h1{font-size:clamp(40px,5.8vw,84px);line-height:1.03;letter-spacing:-.055em;margin:24px 0;max-width:1040px}.shop-hero>p{max-width:650px;font-size:18px;line-height:1.7;color:#aeb4b9}.car-search{margin-top:64px;padding:32px;border:1px solid var(--line);background:var(--panel);scroll-margin-top:30px}.search-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:20px}.step{color:var(--accent);font:11px/1.5 ui-monospace,monospace;letter-spacing:.1em}.search-heading h2{font-size:22px;margin:0;letter-spacing:-.03em}.search-fields{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:16px;align-items:end}.search-fields>.btn{min-height:48px}.field label{font-size:12px;letter-spacing:.03em;color:#c5c9cd;text-transform:none}.field select{min-height:48px}.field select:disabled{opacity:.4}.search-note{font-size:12px;color:var(--muted);line-height:1.7;margin:20px 0 0}.shop-lines{border-top:1px solid var(--line);padding:72px clamp(20px,5vw,80px) 96px;max-width:1440px;margin:auto}.line-heading{max-width:650px}.line-heading h2{font-size:40px;letter-spacing:-.04em;margin:20px 0}.line-heading p{color:var(--muted);font-size:14px;line-height:1.8}.line-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:48px}.line-grid article{border-top:1px solid #5b6268;padding-top:25px}.line-grid h3{font-size:24px;letter-spacing:-.03em;margin:20px 0 16px}.line-grid p{color:#a4abb1;font-size:14px;line-height:1.85}.shop-footer{border-top:1px solid var(--line);padding:36px clamp(20px,5vw,80px);display:flex;justify-content:space-between;gap:30px;align-items:start}.shop-footer p,.shop-footer>a:last-child{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.shop-page{max-width:1360px;margin:auto;padding:48px clamp(20px,5vw,60px) 90px}.breadcrumbs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:36px}.breadcrumbs a{color:#dce0e2}.shop-page h1{font-size:clamp(32px,4vw,56px);line-height:1.1;letter-spacing:-.045em;margin:16px 0}.page-intro{color:var(--muted);line-height:1.7;max-width:680px}.fitment-caution{border-left:2px solid var(--accent);padding:12px 16px;margin:26px 0;color:#b9c0c5;font-size:13px;line-height:1.7}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:40px 0}.choice-card{border:1px solid var(--line);background:var(--panel);padding:24px;min-width:0}.choice-card h2{font-size:25px;letter-spacing:-.03em;margin:24px 0 12px}.choice-card p{font-size:14px;line-height:1.7;color:var(--muted)}.choice-card .btn{width:100%;margin-top:16px}.shop-image{margin:0;background:#111416}.shop-image .wheel-photo-crop{width:100%}.shop-image figcaption{font-size:10px;color:var(--muted);padding:12px 0 0;background:var(--bg);line-height:1.5}.choice-card .shop-image figcaption{background:var(--panel)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:start}.detail-grid>*{min-width:0}.detail-grid .shop-image{position:sticky;top:24px}.detail-grid h1{font-size:clamp(30px,3.5vw,48px)}.detail-summary{margin-bottom:24px}.dimensions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:28px 0}.dimensions div{padding:20px 12px 20px 0;border-bottom:1px solid var(--line)}.dimensions dt{font-size:11px;color:var(--muted);line-height:1.5}.dimensions dd{margin:8px 0 0;font-size:17px;line-height:1.4}.detail-actions{display:flex;gap:14px;flex-wrap:wrap}.detail-actions a{font-size:13px;color:var(--accent)}.wheel-more{border-top:1px solid var(--line);padding:22px 0;margin-top:28px;font-size:13px;line-height:1.9;color:var(--muted)}.wheel-more summary{cursor:pointer;color:#eee;font-size:14px}.wheel-more a{color:var(--accent)}.tyre-section{margin-top:64px;padding-top:40px;border-top:1px solid var(--line);scroll-margin-top:28px}.tyre-section h2{font-size:34px;letter-spacing:-.04em;margin:14px 0 24px}.tyre-card{border:1px solid var(--line);padding:28px;max-width:840px}.tyre-card h3{font-size:23px;margin:14px 0}.tyre-card p{font-size:14px;line-height:1.85;color:#b9bec3}.tyre-card strong{color:var(--ink)}.tyre-card a{color:var(--accent);font-size:13px}.tyre-status{font:11px/1.5 ui-monospace,monospace;color:var(--accent)}.no-options{padding:28px;border:1px solid var(--line);margin:35px 0;color:#b9bec3;line-height:1.8}#evidenceSelect{width:100%;min-height:48px;background:var(--panel);color:var(--ink);padding:12px;border:1px solid var(--line)}.shop-page details{overflow-wrap:anywhere}
.hub-scope{margin:22px 0 30px;min-width:0}.hub-scope h4{font-size:15px;color:var(--ink);margin:16px 0}.hub-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px}.hub-fields dt,.hub-comparison dt{font-size:12px;color:var(--muted)}.hub-fields dd,.hub-comparison dd{margin:8px 0;font-size:14px;line-height:1.7;color:var(--ink)}.hub-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hub-published{min-width:0}.hub-published p,.hub-limit{font-size:11px!important;line-height:1.7!important;margin:8px 0;color:var(--muted)}.hub-published small{font-size:11px;color:var(--muted)}.hub-published a{font-size:11px}.hub-reference-note{grid-column:1/-1;font-size:11px;margin-top:12px}.line-heading p strong{color:var(--ink);font-weight:400}@media(max-width:600px){.hub-fields{grid-template-columns:1fr;gap:12px}.hub-comparison{grid-template-columns:1fr;gap:14px}}
@media(max-width:850px){.search-fields{grid-template-columns:1fr 1fr}.line-grid{gap:24px}.detail-grid{gap:28px}.shop-footer{flex-wrap:wrap}}@media(max-width:600px){.shop-header{padding:20px;gap:16px}.shop-header .brand{font-size:18px}.shop-header nav{gap:18px;font-size:11px}.shop-header .brand small{font-size:6px}.shop-hero{padding-top:56px;padding-bottom:48px}.shop-hero h1{font-size:40px}.shop-hero>p{font-size:16px}.car-search{padding:22px 18px;margin-top:40px}.search-heading{display:block}.search-heading h2{margin-top:12px;font-size:24px}.search-fields{grid-template-columns:minmax(0,1fr);gap:18px}.search-fields>.btn{margin-top:4px}.shop-lines{padding-top:48px;padding-bottom:56px}.line-heading h2{font-size:32px}.line-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.line-grid h3{margin:12px 0}.shop-footer{display:grid;gap:24px}.shop-page{padding-top:28px}.breadcrumbs{margin-bottom:28px}.choice-grid,.detail-grid{grid-template-columns:minmax(0,1fr);gap:24px}.choice-card{padding:20px}.detail-grid .shop-image{position:static}.dimensions{margin-top:22px}.tyre-section{margin-top:38px}.tyre-card{padding:22px}.shop-page h1{overflow-wrap:anywhere}.shop-page .fitment-caution{font-size:12px}.detail-summary{margin:0}}

/* Full mockup presentation; original wheel geometry is never cropped or stretched. */
.mockup-open{display:block;width:100%;padding:0;border:0;background:#141414;color:var(--ink);cursor:zoom-in;text-align:left;font:inherit}
.mockup-board{display:block;position:relative;width:100%;container-type:inline-size;background:#141414;line-height:1.2}
.mockup-board>img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.mockup-title{position:absolute;inset:0 0 auto;height:var(--title-band);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:1cqi;padding:1cqi 3.6cqi;background:#141414;color:#f0f1ed;overflow:hidden}
.mockup-title>span{font:700 clamp(5px,1.15cqi,13px)/1.15 Arial,sans-serif;letter-spacing:.12em;color:#d9ff43}
.mockup-title>strong{font:700 clamp(12px,4cqi,42px)/1.1 Arial,sans-serif;letter-spacing:-.035em}
.mockup-footer{position:absolute;inset:auto 0 0;height:10%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:1cqi 3.6cqi;background:#141414;color:#aeb4b9;font:clamp(5px,1.1cqi,12px)/1.5 Arial,sans-serif;letter-spacing:.06em;text-align:center}
.mockup-expand{display:block;padding:14px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--accent)}
.orientation-hint{display:none;color:var(--ink);font-size:12px;margin-bottom:8px}
.detail-grid{grid-template-columns:minmax(0,1fr);gap:32px}
.detail-grid>.shop-image{position:static;width:100%;max-width:1000px;margin-inline:auto}
.detail-summary{width:100%;max-width:1000px;margin-inline:auto}
.bmw-target-scope{font-size:13px;line-height:1.8;color:var(--muted)}
.bmw-target-scope>.wheel-more{margin-top:14px}
.mockup-dialog{box-sizing:border-box;width:min(1200px,96vw);height:90dvh;max-width:none;max-height:96dvh;padding:20px;border:1px solid #535b60;background:#111416;color:#f0f1ed;overflow:hidden}
.mockup-dialog[open]{display:flex;flex-direction:column;gap:14px}
.mockup-dialog::backdrop{background:rgba(0,0,0,.88)}
.mockup-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.mockup-dialog h2{font-size:clamp(17px,2.5vw,25px);margin:0;letter-spacing:-.03em}
.mockup-dialog button{border:1px solid #535b60;background:#1b2024;color:#f0f1ed;min-width:44px;min-height:44px;padding:8px 14px;font:inherit;cursor:pointer}
.mockup-dialog button:disabled{opacity:.4;cursor:default}
.mockup-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mockup-tools output{min-width:48px;text-align:center;font:14px ui-monospace,monospace}
.mockup-dialog p{margin:0;color:#b9c0c5;font-size:12px;line-height:1.5}
.mockup-viewport{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;border:1px solid #30373b;background:#141414}
.mockup-zoom-board{margin-inline:auto}
@media(max-width:600px) and (orientation:portrait){.orientation-hint{display:block}}
@media(max-width:600px){.mockup-dialog{padding:14px;gap:12px}.mockup-dialog-heading{gap:12px}.mockup-dialog-heading h2{max-width:65%}.mockup-tools{gap:8px}}
@media(max-height:450px) and (orientation:landscape){.mockup-dialog{height:96dvh;padding:10px;gap:6px}.mockup-dialog p{font-size:10px}.mockup-dialog button{min-height:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Local manufacturer references retain their own photos, labels and limitations. */
.reference-discovery{max-width:1440px;margin:auto;padding:0 clamp(20px,5vw,80px) 72px}
.reference-discovery h2{font-size:clamp(28px,3.2vw,42px);letter-spacing:-.04em;margin:16px 0}
.reference-discovery>p{color:var(--muted);font-size:15px;line-height:1.7}
.reference-brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}
.reference-brand-grid article{min-width:0;border-top:1px solid #5b6268}
.reference-brand-grid h3{font-size:22px;margin:22px 0 16px}
.reference-brand-grid ul{list-style:none;padding:0;margin:0}
.reference-brand-grid a{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-bottom:1px solid var(--line);min-height:60px;justify-content:center}
.reference-brand-grid a span{font-size:16px;color:var(--ink)}
.reference-brand-grid a small{font-size:12px;color:var(--accent);line-height:1.5}
.reference-brand-grid a:hover span{text-decoration:underline;text-underline-offset:4px}
.reference-photo .mockup-board{background:#fff}
.reference-photo .mockup-board>img{height:clamp(230px,35vw,400px);width:100%;object-fit:contain;max-width:100%;background:#fff}
.reference-photo figcaption{padding:14px 0;max-width:70ch;font-size:12px;line-height:1.65}
.reference-photo figcaption a{display:inline-block;color:var(--accent);padding:6px 0}
.detail-grid>.reference-photo{max-width:760px}
.reference-evidence{padding:20px 0 28px;border-bottom:1px solid var(--line);line-height:1.8;color:var(--muted)}
.reference-evidence h2{font-size:23px;color:var(--ink);margin:14px 0}
.reference-evidence strong{font-weight:500;color:var(--ink)}
.reference-label{font:11px/1.6 ui-monospace,monospace;color:var(--accent);letter-spacing:.06em}
.reference-evidence .wheel-more{padding:18px 0 0;margin-top:18px}
.reference-evidence li{margin:10px 0}
.reference-links{padding-left:20px;overflow-wrap:anywhere}
.choice-card .reference-photo .mockup-board>img{height:280px}
@media(max-width:760px){.reference-brand-grid{grid-template-columns:1fr;gap:32px}.reference-discovery{padding-bottom:48px}.reference-brand-grid h3{margin-bottom:8px}.reference-photo .mockup-board>img{height:280px}.dimensions dd{overflow-wrap:anywhere}}


/* Reference pending: no invented wheel photo or variant. */
.reference-awaiting{padding:clamp(1.5rem,5vw,3rem);min-height:260px;display:flex;flex-direction:column;justify-content:center;gap:1rem;text-align:left}.reference-awaiting strong{font-size:clamp(1.5rem,4vw,2.8rem);line-height:1.1}.reference-awaiting p{margin:0}.catalogue-selection{font-size:.9rem;line-height:1.6;margin-top:1rem}

/* Special Series: source wheel stays next to the HardSpec family name. */
.wheel-reference-label{display:inline-block;vertical-align:middle;margin:.3em 0 .3em .7em;font:400 clamp(.72rem,1.15vw,.95rem)/1.5 ui-sans-serif,system-ui,sans-serif;color:var(--muted);letter-spacing:0;text-transform:none}.reference-render .mockup-board{background:#101010}.reference-render figcaption{font-size:12px;line-height:1.65}.detail-grid>.reference-render{max-width:1024px}.choice-card h2 .wheel-reference-label{margin:.45rem 0 0;display:block}@media(max-width:760px){#detailTitle .wheel-reference-label{display:block;margin:.5rem 0 0}}

/* Size proposals use the same editorial hierarchy without inventing a wheel render. */
.size-board{min-height:270px;background:#111414;border:1px solid #343a36;display:flex;flex-direction:column;justify-content:center;padding:32px}.size-board>strong{font-size:clamp(80px,12vw,148px);line-height:1;letter-spacing:-.06em;color:#d2d6cd}.size-board>strong span{color:#b3d82f}.size-board p{font-size:20px;margin:20px 0 6px}.size-board small,.size-separate,.size-price small{color:#afb4ac}.size-price{display:flex;flex-direction:column;gap:5px;font-size:15px;padding:16px 0;border-block:1px solid #343a36}.size-price strong{color:#d5ed8f;font-size:19px}.size-price small{font-size:13px;line-height:1.5}.size-switch{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.size-switch a{padding:12px 16px;border:1px solid #596250;color:inherit;text-decoration:none;font-weight:700}.size-switch a[aria-current]{background:#c4e83c;color:#141711;border-color:#c4e83c}.size-switch a:focus-visible{outline:3px solid #e8ff90;outline-offset:3px}.size-separate{font-size:14px;line-height:1.5}

/* Direct owner contact; stack actions on narrow screens. */
.owner-contact{margin:32px 0;padding:28px 0;border-top:1px solid var(--line,#3b3b3b)}.owner-contact h2{margin:12px 0;font-size:clamp(1.6rem,3vw,2.2rem)}.owner-contact p{max-width:65ch;line-height:1.6}.owner-contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.owner-contact-address{overflow-wrap:anywhere;font-size:.9rem;opacity:.8}.owner-contact .btn{min-height:48px;white-space:normal;text-align:center}@media(max-width:540px){.owner-contact-actions{flex-direction:column}.owner-contact .btn{width:100%;box-sizing:border-box}}
