/* Inside the Repair: scoped photographic explorer; no global component overrides. */
.repair-explorer-page { background:#0b0f14; color:#edf1f5; }
.rx-main { --rx-text:#edf1f5; --rx-soft:#a2aebd; --rx-accent:#94b8e3; --rx-line:#ffffff20; max-width:1520px; margin:auto; padding:44px 40px 0; font-family:Inter,sans-serif; }
.rx-main *, .rx-invitation * { box-sizing:border-box; }
.rx-main button, .rx-main input { font:inherit; }
.rx-main button { cursor:pointer; }
.rx-main [hidden] { display:none !important; }
.rx-main a { color:inherit; }
.rx-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:20px; animation:rx-enter .65s both; }
.rx-eyebrow { display:block; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.17em; color:var(--rx-accent) !important; line-height:1.6; }
.rx-heading h1 { font:400 clamp(36px,3.8vw,54px)/1.15 MuseoModerno,Inter,sans-serif; letter-spacing:-.055em; margin:10px 0 10px; }
.rx-heading h1 span { color:var(--rx-accent); }
.rx-heading p { font-size:14px; color:var(--rx-soft); }
.rx-heading-note { display:flex; gap:16px; align-items:center; padding-bottom:4px; }
.rx-heading-note>span { font-size:36px; font-weight:400; color:var(--rx-accent); }
.rx-heading-note p { font-size:12px; line-height:1.6; }
.rx-toolbar { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--rx-line); margin-bottom:24px; gap:16px; }
.rx-scene-switch { display:flex; gap:28px; }
.rx-scene-switch button { min-height:56px; padding:0; border:0; border-bottom:2px solid transparent; background:none; color:var(--rx-soft); font-size:14px; transition:color .2s,border-color .2s; }
.rx-scene-switch button span { color:#788a9f; font-size:10px; margin-right:9px; }
.rx-scene-switch button[aria-pressed="true"] { color:var(--rx-text); border-bottom-color:var(--rx-accent); }
.rx-share { min-height:44px; padding:8px 0 8px 12px; background:none; border:0; color:var(--rx-soft); font-size:11px !important; }
.rx-share:hover { color:var(--rx-text); }
.rx-share span { margin-left:12px; color:var(--rx-accent); }
.rx-announcement { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#rx-copy-fallback { margin:0 0 20px; }
#rx-copy-fallback label { font-size:12px; display:block; }
#rx-copy-fallback input { width:100%; padding:12px; background:#17212d; border:1px solid var(--rx-line); color:var(--rx-text); }
.rx-scene { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:34px; align-items:start; }
.rx-workbench { min-width:0; position:sticky; top:88px; }
.rx-photo { display:flex; align-items:center; justify-content:center; position:relative; height:clamp(360px,calc(100svh - 300px),660px); overflow:hidden; background:#141b23; border-radius:3px; isolation:isolate; }
.rx-plane { position:relative; width:min(100%,calc(clamp(360px,calc(100svh - 300px),660px) * 1.333333)); aspect-ratio:4/3; flex:none; overflow:hidden; }
.rx-photo img { display:block; width:100%; height:100%; max-width:none; object-fit:contain; transform-origin:0 0; transition:transform .65s cubic-bezier(.22,.68,0,1); }
.rx-photo-corner { position:absolute; bottom:17px; left:20px; color:#fff; text-shadow:0 1px 6px #000; font-size:9px; font-weight:600; letter-spacing:.18em; pointer-events:none; }
.rx-pins { position:absolute; inset:0; }
.rx-pin { position:absolute; left:var(--pin-x); top:var(--pin-y); transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid #ffffffad; background:#0b101ddc; color:white; border-radius:50%; font-size:11px !important; box-shadow:0 2px 14px #0004; transition:left .65s cubic-bezier(.22,.68,0,1),top .65s cubic-bezier(.22,.68,0,1),background .2s,color .2s; }
.rx-pin[aria-pressed="true"] { background:#c6dafa; color:#0b1424; border-color:#c6dafa; }
.rx-pin-name { position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%) translateY(3px); background:#0b101dec; color:white; padding:6px 10px; border-radius:3px; font-size:11px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .2s,transform .2s; }
.rx-pin:hover .rx-pin-name { opacity:1; transform:translateX(-50%) translateY(0); }
.rx-photo-bar { display:flex; align-items:center; justify-content:space-between; min-height:55px; gap:10px; }
.rx-photo-bar>span { color:var(--rx-soft); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.rx-zoom { display:flex; gap:8px; align-items:center; padding:10px 0 10px 14px; min-height:44px; background:none; border:0; color:var(--rx-text); font-size:11px !important; white-space:nowrap; }
.rx-zoom>span { color:var(--rx-accent); font-size:20px; }
.rx-inspector { display:flex; flex-direction:column; min-width:0; }
.rx-parts { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--rx-line); border-bottom:1px solid var(--rx-line); padding:10px 0; margin-bottom:25px; gap:4px 6px; }
.rx-parts button { display:flex; align-items:center; gap:10px; min-height:40px; padding:7px 5px; background:transparent; border:0; text-align:left; color:var(--rx-soft); font-size:11px !important; border-radius:3px; transition:background .2s,color .2s; }
.rx-parts button>span { color:#718398; font-size:9px; }
.rx-parts button[aria-pressed="true"] { color:var(--rx-text); background:#94b8e312; }
.rx-parts button[aria-pressed="true"]>span { color:var(--rx-accent); }
.rx-parts button:hover { background:#94b8e30c; color:var(--rx-text); }
.rx-story { scroll-margin-top:100px; }
.rx-story h2 { font-family:Inter,sans-serif !important; font-weight:500 !important; font:500 clamp(25px,2.5vw,35px)/1.17 Inter,sans-serif; letter-spacing:-.045em; margin:10px 0 18px; color:var(--rx-text); }
.rx-story p { font-size:13px; line-height:1.8; color:var(--rx-soft); }
.rx-story .rx-eyebrow { font-size:9px; }
.rx-detail { margin-top:23px; padding-top:19px; border-top:1px solid var(--rx-line); }
.rx-detail h3 { font-size:11px; font-weight:600; margin-bottom:7px; }
.rx-story .rx-fact { display:flex; gap:10px; margin-top:20px; color:#c7d9ef; font-size:11px; }
.rx-fact>span { color:var(--rx-accent); }
.rx-pagination { display:flex; align-items:center; justify-content:space-between; padding:16px 0 12px; margin-top:8px; }
.rx-pagination>span { font-size:10px; letter-spacing:.13em; color:var(--rx-soft); }
.rx-pagination>div { display:flex; gap:8px; }
.rx-pagination button { width:44px; height:40px; background:none; border:1px solid var(--rx-line); color:var(--rx-text); border-radius:3px; transition:background .2s; }
.rx-pagination button:hover { background:#94b8e315; }
.rx-service { display:flex; justify-content:space-between; gap:15px; padding:18px 0; border-top:1px solid var(--rx-line); font-size:12px; color:var(--rx-accent) !important; }
.rx-footnote { display:flex; justify-content:space-between; align-items:baseline; gap:30px; margin:26px 0 0; border-top:1px solid var(--rx-line); padding:18px 0; color:var(--rx-soft); font-size:10px; }
.rx-footnote>a { white-space:nowrap; }
.rx-footnote>a>span { margin-left:14px; }
.rx-end { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:100px 0; scroll-margin-top:85px; }
.rx-end h2 { font:400 clamp(28px,3vw,43px)/1.25 MuseoModerno,Inter,sans-serif; letter-spacing:-.04em; margin-top:15px; }
.rx-end>div>p:not(.rx-eyebrow) { color:var(--rx-soft); font-size:14px; line-height:1.85; margin-bottom:16px; }
.rx-contact { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--rx-line); padding:14px 0; font-size:13px; }
.rx-contact>span { color:var(--rx-accent); }
.rx-sources { margin-top:22px; color:var(--rx-soft); font-size:11px; }
.rx-sources summary { cursor:pointer; padding:6px 0; }
.rx-sources p { margin-top:8px; }
.rx-sources a { text-decoration:underline; text-underline-offset:3px; }
/* All editorial content stays readable when scripting is unavailable. */
.rx-main:not(.rx-ready) .rx-toolbar, .rx-main:not(.rx-ready) .rx-pins, .rx-main:not(.rx-ready) .rx-parts, .rx-main:not(.rx-ready) .rx-pagination, .rx-main:not(.rx-ready) .rx-zoom { display:none; }
.rx-main:not(.rx-ready) .rx-scene { margin-bottom:60px; }
.rx-main:not(.rx-ready) .rx-story { margin-bottom:30px; }
.rx-ready .rx-story { animation:rx-enter .35s both; }
@keyframes rx-enter { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
/* A compact entrance to the tour, shared by the homepage and About page. */
.rx-invitation { display:grid; grid-template-columns:240px 1fr auto; align-items:center; gap:30px; width:min(1152px,calc(100% - 48px)); margin:40px auto 65px; border-block:1px solid var(--border-default,#ffffff20); text-decoration:none; color:var(--text-primary,#edf1f5); overflow:hidden; }
.rx-invitation-media { display:block; height:180px; overflow:hidden; }
.rx-invitation img { width:100%; height:100%; object-fit:cover; object-position:45% 45%; transition:transform .6s cubic-bezier(.22,.68,0,1); }
.rx-invitation:hover img { transform:scale(1.055); }
.rx-invitation-copy { padding:25px 0; }
.rx-invitation small { display:block; margin-bottom:8px; color:var(--accent,#94b8e3); text-transform:uppercase; letter-spacing:.13em; font-size:10px; }
.rx-invitation strong { display:block; font:400 clamp(22px,2.3vw,32px)/1.2 MuseoModerno,Inter,sans-serif; letter-spacing:-.04em; }
.rx-invitation p { color:var(--text-secondary,#a2aebd); font-size:13px; line-height:1.7; margin-top:8px; }
.rx-invitation-action { padding-right:28px; white-space:nowrap; font-size:12px; }
.rx-invitation-action span { display:inline-block; margin-left:14px; transition:transform .2s; }
.rx-invitation:hover .rx-invitation-action span { transform:translate(3px,-3px); }
@media(min-width:1450px) { .rx-scene { grid-template-columns:minmax(0,1fr) 355px; gap:44px; } .rx-story p { font-size:14px; } }
@media(max-width:1000px) { .rx-main { padding:36px 24px 0; } .rx-scene { grid-template-columns:minmax(0,1fr) 280px; gap:24px; } .rx-heading-note { display:none; } .rx-invitation { grid-template-columns:180px 1fr; gap:24px; } .rx-invitation-action { display:none; } }
@media(max-width:760px) {
  .rx-main { padding:28px 20px 0; }
  .rx-heading { margin-bottom:25px; }
  .rx-heading h1 { margin-top:12px; font-size:clamp(30px,7.5vw,48px); }
  .rx-heading p { font-size:12px; max-width:320px; }
  .rx-eyebrow { font-size:8px; }
  .rx-toolbar { gap:12px; margin-bottom:18px; }
  .rx-scene-switch { gap:22px; }
  .rx-scene-switch button { min-height:58px; font-size:12px; }
  .rx-scene-switch button span { display:none; }
  .rx-share { max-width:110px; font-size:10px !important; text-align:right; line-height:1.5; }
  .rx-share span { display:none; }
  .rx-scene { grid-template-columns:1fr; gap:8px; }
  .rx-workbench { position:static; }
  .rx-photo { height:auto; aspect-ratio:4/3; }
  .rx-plane { width:100%; height:100%; }
  .rx-photo-corner { font-size:7px; left:12px; bottom:12px; }
  .rx-photo-bar>span { font-size:8px; letter-spacing:.06em; }
  .rx-photo-bar { min-height:48px; }
  .rx-pin { width:44px; height:44px; font-size:10px !important; }
  .rx-zoom { font-size:10px !important; }
  .rx-parts { grid-template-columns:repeat(4,1fr); margin-bottom:24px; gap:4px; padding:7px 0; }
  .rx-parts button { flex-direction:column; align-items:flex-start; gap:3px; font-size:10px !important; min-height:48px; padding:6px; }
  .rx-story h2 { font-size:30px; max-width:330px; margin-bottom:14px; }
  .rx-story p { font-size:13px; }
  .rx-detail { margin-top:18px; padding-top:16px; }
  .rx-story .rx-fact { margin-top:16px; }
  .rx-pagination { margin:0; }
  .rx-footnote { flex-direction:column; gap:12px; font-size:10px; margin-top:15px; }
  .rx-end { grid-template-columns:1fr; gap:28px; padding:56px 0; }
  .rx-end h2 { font-size:30px; }
  .rx-invitation { width:calc(100% - 40px); grid-template-columns:100px 1fr; gap:20px; margin:24px auto 48px; }
  .rx-invitation { row-gap:0; }
  .rx-invitation-media { height:100%; min-height:180px; grid-row:span 2; }
  .rx-invitation-copy { padding:22px 0 0; }
  .rx-invitation-action { display:block; grid-column:2; padding:10px 0 22px; font-size:11px; }
  .rx-invitation img { object-position:57% 50%; }
  .rx-invitation strong { font-size:22px; }
  .rx-invitation p { font-size:11px; padding-right:4px; }
}
@media(prefers-reduced-motion:reduce) { .rx-main *, .rx-invitation * { animation:none !important; transition:none !important; } }
@media print {
 .repair-explorer-page .nav, .repair-explorer-page .footer, .repair-explorer-page .cookie-banner, .rx-toolbar, .rx-pins, .rx-parts, .rx-pagination, .rx-zoom, .rx-service, .rx-end, .rx-footnote { display:none !important; }
 .rx-main { padding:0; color:#111; --rx-text:#111; --rx-soft:#444; --rx-accent:#234e80; --rx-line:#bbb; }
 .rx-main .rx-scene[hidden], .rx-main .rx-story[hidden] { display:block !important; }
 .rx-scene { display:block; break-before:page; }
 .rx-photo { max-width:400px; }
 .rx-photo img { transform:none !important; }
 .rx-workbench { position:static; }
 .rx-story { break-inside:avoid; padding-top:20px; }
}
