/* Shared accessibility, navigation and small-screen fixes. */
[hidden]{display:none!important}
.skip-link{position:fixed;left:12px;top:-100px;z-index:1000;padding:12px 18px;background:#000426;color:#fff;border-radius:6px}.skip-link:focus{top:12px}
.rental-location{font-size:16px;line-height:1.6;max-width:600px;margin:-18px 0 28px;color:#526174}
.rental-footer-nav{display:flex;flex-wrap:wrap;gap:12px 24px;width:100%;font-size:13px;line-height:1.5}.rental-footer-nav a{padding:7px 0;text-decoration:underline;text-underline-offset:4px}
footer{flex-wrap:wrap;gap:22px}footer .rental-footer-nav{flex-basis:100%}
.breadcrumbs{display:block;font-size:13px;line-height:1.7;padding:16px 4% 0}.equipment-detail>.breadcrumbs{padding-left:0;padding-top:0}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.related-equipment{padding:40px 4%;border-top:1px solid var(--line);margin-top:36px}.equipment-detail>.related-equipment{padding-left:0;padding-right:0}.related-equipment h2{font-size:32px;letter-spacing:-1px}.related-equipment ul{display:flex;flex-wrap:wrap;gap:16px 30px;padding:0;list-style:none}.related-equipment a{color:#0054d6;text-decoration:underline;text-underline-offset:4px}.related-equipment p{line-height:1.7}
.product-no-photo span{color:#526174}.hotspot{width:44px;height:44px}.filters button{min-height:44px}.close{width:44px;height:44px}.add{min-height:44px}.card-image .num{background:#e9ecf1e8;color:#000426;padding:3px 6px;border-radius:3px}.card[hidden]{display:none}
.view-switch{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.view-switch button{min-height:44px;border:1px solid #abb7c8;background:transparent;color:#000426;border-radius:24px;padding:10px 17px;font:inherit;font-size:13px}.view-switch button[aria-pressed=true]{background:#000426;color:#fff}.interactive-booth #boothStill{height:650px;width:100%;object-fit:contain;background:#e7e9ed}.interactive-booth model-viewer{height:650px;width:100%}
img{max-width:100%}.equipment-layout>* , .photo-layout>* , .details>*{min-width:0}.equipment-heading{overflow-wrap:normal;text-wrap:balance}input,select,textarea{max-width:100%}.model-note{color:#46556b}.download-links a{padding:8px 0}
@media(max-width:760px){header{height:auto!important;min-height:90px;flex-wrap:wrap;gap:14px;padding:18px 0}header nav{display:flex!important;flex-wrap:wrap;gap:16px;font-size:13px}header .logo img{max-width:132px}header .brief{margin-left:auto;min-height:44px}.rental-footer-nav{display:flex!important}.hero h1{font-size:clamp(48px,12vw,74px)}.rental-location{font-size:15px;margin-top:-10px}.photo-hero h1{font-size:clamp(44px,11vw,68px)}.equipment-heading{font-size:clamp(40px,10.5vw,56px);line-height:1.06}.ribbon{flex-wrap:wrap;gap:14px;font-size:11px}.section-head{flex-wrap:wrap;gap:12px}.section-head p{max-width:none}.interactive-booth #boothStill,.interactive-booth model-viewer{height:460px!important}.related-equipment h2{font-size:28px}.related-equipment ul{display:grid;gap:16px}.form-row{grid-template-columns:1fr}.toolbar{max-width:100%}.search input{max-width:100%}.equipment-info dl div{flex-wrap:wrap;gap:10px}.equipment-info dd{max-width:100%;text-align:left}.photo-info dl div{gap:14px}footer{align-items:flex-start}.view-switch button{flex:1}input,select,textarea{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep source photographs in their original colours and show the full equipment. */
.event-photo-stage>img{mix-blend-mode:normal;object-fit:cover;object-position:center}
.event-photo-stage .stage-top,.event-photo-stage .stage-bottom{color:#fff;text-shadow:0 1px 4px #000;background:#0009;padding:10px 12px;border-radius:4px}
.event-photo-stage .stage-top{top:12px;left:12px;right:12px}.event-photo-stage .stage-bottom{bottom:12px;left:12px;right:12px}
.event-photo-stage .tag{border-color:#ffffff80;margin-top:0}.event-photo-stage .hotspot{right:8%;top:36%}
.card .photo-caption{font-size:11px;line-height:1.5;color:#46556b;margin:10px 0 0}
.card-product-photo .card-image img{mix-blend-mode:normal;object-fit:contain}
.product-reference-photo{background:#fff!important}.photo-hero figure img{object-fit:contain;mix-blend-mode:normal;background:#fff}
.photo-event-gallery{padding:60px 4%;border-top:1px solid var(--line)}.photo-event-gallery h2{font-size:clamp(32px,5vw,58px);letter-spacing:-.04em;line-height:1.1;margin:18px 0}.photo-event-gallery>p{max-width:640px;line-height:1.7;color:#526174}.photo-event-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.photo-event-grid img{height:auto;aspect-ratio:3/4;object-fit:contain;background:#e7e9ed}.photo-event-grid a{display:block}.photo-event-grid figcaption{margin-top:12px}.card[data-product="stick"] .card-image img{object-fit:contain}
@media(max-width:760px){.photo-event-gallery{padding:45px 5%}.photo-event-grid{grid-template-columns:1fr;gap:30px}}
.real-event-grid img{aspect-ratio:auto;width:100%;height:auto;object-fit:contain}.photo-event-grid figure{margin:0;min-width:0}.photo-event-grid figcaption small{display:block;font-size:12px;line-height:1.65;color:#526174;margin-top:7px}.photo-event-grid figcaption a{display:inline;text-decoration:underline;text-underline-offset:3px}.home-event-grid figure:first-child{grid-column:1/-1;max-width:100%}.original-event-photos{margin-top:32px}.original-event-photos summary{cursor:pointer;min-height:44px;padding:12px 0;text-decoration:underline;text-underline-offset:4px}
.rental-service-link,.rental-answers{padding:60px 4%;border-top:1px solid var(--line)}.equipment-detail>.rental-answers{padding-left:0;padding-right:0}.rental-service-link h2,.rental-answers h2{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-.035em;margin:18px 0}.rental-service-link p,.rental-answer-intro{max-width:760px;line-height:1.75;color:#46556b}.rental-service-link .primary{display:inline-flex;min-height:48px;align-items:center;margin-top:16px}.rental-answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 48px;margin-top:24px}.rental-answer-grid article{min-width:0;border-top:1px solid var(--line);padding:22px 0 8px}.rental-answer-grid h3{font-size:21px;line-height:1.35;font-weight:600;letter-spacing:-.015em;margin:0 0 12px}.rental-answer-grid p{font-size:16px;line-height:1.75;color:#46556b;margin:0}.rental-content-owner{font-size:12px;line-height:1.8;color:#526174;margin:30px 0 0}.rental-answers a,.rental-ai-link a{color:#0054d6;text-decoration:underline;text-underline-offset:4px}.rental-ai-link{line-height:1.65;margin:0 0 30px;max-width:760px}.rental-ai-link a{display:inline-block;padding:5px 0}
@media(max-width:760px){.rental-service-link,.rental-answers{padding:44px 5%}.rental-answer-grid{grid-template-columns:1fr;gap:12px}.home-event-grid figure:first-child{grid-column:auto}.rental-answer-grid h3{font-size:20px}}

/* Enquiry actions retain the approved catalogue styling. */
.enquiry-send{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-top:16px;gap:16px}.enquiry-send[aria-disabled=true]{opacity:.5;cursor:not-allowed}#enquiryNotes{display:block;width:100%;margin:8px 0 18px;padding:13px;border:1px solid var(--line);background:white;border-radius:8px;font:inherit;resize:vertical}.enquiry-preview{margin-top:16px;font-size:13px}.enquiry-preview summary{cursor:pointer;padding:10px 0}.enquiry-preview pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;background:#eef2f7;padding:16px;border-radius:6px}textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}#shortlist{max-height:90dvh;overflow-y:auto}.photo-hero .primary{min-height:48px}

.real-event-grid{align-items:start}.equipment-detail>.photo-event-gallery{padding-left:0;padding-right:0}.real-event-grid img{display:block;border-radius:8px}.photo-hero figure img{max-height:680px}
.card h3 a{display:block}

/* Photo links remain useful without JavaScript; the enhanced view stays in-page. */
.photo-event-grid figure>a:has(img){cursor:zoom-in;border-radius:8px}
.rental-photo-lightbox{position:fixed;inset:0;margin:auto;padding:0;border:0;width:calc(100% - 48px);max-width:1280px;height:min(92dvh,980px);max-height:calc(100dvh - 24px);overflow:visible;background:transparent;color:#fff;box-shadow:none;border-radius:12px}
.rental-photo-lightbox::backdrop{background:rgb(4 9 18 / 92%)}
.rental-photo-panel{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#10151e;border:1px solid #ffffff20;border-radius:12px;overflow:hidden}
.rental-photo-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;gap:16px}
.rental-photo-position{font-size:13px;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:#d2d9e5}
.rental-photo-lightbox button{display:grid;place-items:center;width:48px;height:48px;min-width:48px;padding:0;border:1px solid #ffffff40;border-radius:50%;background:transparent;color:#fff;font:inherit;font-size:25px;line-height:1;cursor:pointer;touch-action:manipulation}
.rental-photo-lightbox button:hover{background:#ffffff15}.rental-photo-lightbox button:disabled{opacity:.25;cursor:default;background:transparent}
.rental-photo-lightbox button:focus-visible{outline:3px solid #8cbaff;outline-offset:3px}
.rental-photo-track{min-height:0;min-width:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pinch-zoom;cursor:grab}
.rental-photo-track::-webkit-scrollbar{display:none}.rental-photo-track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.rental-photo-slide{position:relative;flex:0 0 100%;width:100%;height:100%;min-width:0;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}
.rental-photo-slide img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.rental-photo-error{padding:24px;color:#d2d9e5;text-align:center;font-size:15px}
.rental-photo-footer{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:16px;align-items:center;padding:16px}
.rental-photo-caption{margin:0;color:#edf2fa;font-size:14px;line-height:1.5;text-align:center}
@media(max-width:760px){.rental-photo-lightbox{width:calc(100% - 16px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.rental-photo-toolbar{padding:8px 12px}.rental-photo-footer{gap:10px;padding:14px 10px max(14px,env(safe-area-inset-bottom))}.rental-photo-caption{font-size:13px}}

/* Photo-led rental pages keep original proportions and an easy route to enquiry. */
.photo-led-detail .equipment-media img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;object-position:top;background:#e7e9ed;border-radius:8px}.photo-led-detail .equipment-media figcaption{font-size:13px;line-height:1.6;margin-top:14px;color:#526174}.photo-led-detail .equipment-info h2{margin-top:16px}.photo-gallery-jump{display:inline-block;padding:18px 0;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.photo-led-detail .equipment-info dd{max-width:62%}@media(max-width:760px){.photo-led-detail .equipment-media img{max-height:640px}.photo-led-detail .equipment-info dd{max-width:100%}}

/* Campaign stories sit alongside their original event photographs. */
.photobooth-story{padding-top:36px;margin-top:36px;border-top:1px solid var(--line);scroll-margin-top:28px}.photobooth-story h3{font-size:clamp(30px,4.4vw,58px);font-weight:500;line-height:1.08;letter-spacing:-.035em;max-width:800px;margin:18px 0}.photobooth-story .story-lead{font-size:22px;line-height:1.5;color:var(--ink);margin:0 0 20px}.photobooth-story p{line-height:1.75;color:#46556b;max-width:760px}.story-copy{display:grid;grid-template-columns:1fr 1fr;gap:28px}.story-copy p{margin:0}.story-booking{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:28px}.story-booking p{max-width:650px}.story-booking .primary{flex-shrink:0;width:fit-content}.photo-hero .textlink{display:inline-block;margin-bottom:16px}@media(max-width:760px){.story-copy{grid-template-columns:1fr;gap:12px}.story-booking{display:block}.photobooth-story{padding-top:26px;margin-top:28px}.photobooth-story .story-lead{font-size:20px}.story-booking .primary{max-width:100%;margin-top:20px}.photo-hero .textlink{margin-left:0}}

/* Main photos join each equipment gallery; technical downloads stay optional. */
.photo-gallery-trigger{position:relative;display:block;cursor:zoom-in;border-radius:8px}.photo-gallery-trigger[hidden]{display:none!important}.photo-gallery-trigger img{display:block}.photo-view-hint{position:absolute;right:14px;bottom:14px;background:#000426e8;color:#fff;border:1px solid #ffffff35;border-radius:24px;padding:9px 14px;font-size:12px;line-height:1.4;pointer-events:none}.photo-gallery-trigger:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.equipment-model-details{margin-top:26px;border-top:1px solid var(--line)}.equipment-model-details>summary{min-height:44px;padding:16px 0;cursor:pointer;font-size:14px}.equipment-model-details .model-note{margin-top:6px}.equipment-model-details .download-links{display:flex;flex-wrap:wrap;gap:8px 22px}.equipment-model-details details>summary{padding:10px 0;min-height:44px;cursor:pointer}
.equipment-next-step{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;padding:46px 0;border-top:1px solid var(--line)}.equipment-next-step h2{font-size:clamp(28px,3.4vw,44px);font-weight:500;line-height:1.15;letter-spacing:-.03em;margin:16px 0}.equipment-next-step p{max-width:620px;font-size:16px;line-height:1.75;color:#46556b;margin:0}.equipment-next-step .primary{display:inline-flex;align-items:center;min-height:48px;white-space:nowrap}
@media(max-width:760px){.equipment-next-step{grid-template-columns:1fr;gap:22px;padding:36px 0}.equipment-next-step .primary{width:fit-content;max-width:100%;white-space:normal}.photo-view-hint{right:10px;bottom:10px}}
.photobooth-set figure{margin:0;min-width:0}.photobooth-set figure img{display:block;width:100%;max-height:620px;height:auto;object-fit:contain;background:#fff;border-radius:8px}.photobooth-set figcaption{font-size:13px;line-height:1.6;color:#526174;margin-top:12px}.photobooth-set .primary{display:inline-flex;min-height:48px;align-items:center;margin-top:14px}.photobooth-set .photo-gallery-trigger{background:#fff}

/* Find equipment by familiar names and specify quantities in the rental brief. */
.catalogue-results{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-10px 0 24px;min-height:44px}.catalogue-results p{font-size:13px;color:#46556b;margin:0}.catalogue-results button{background:transparent;border:0;color:var(--blue);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px 0}.catalogue-results button[hidden]{display:none}.search input{max-width:220px}.quantity-help{font-size:13px;line-height:1.6;color:#46556b;margin:0 0 8px}
#shortlist .brief-row{display:grid;grid-template-columns:minmax(0,1fr) 82px auto;gap:12px;align-items:center}.brief-product{font-size:15px;line-height:1.4}.brief-quantity{font-size:11px;color:#46556b}.brief-quantity>input[type=number]{width:82px;min-height:44px;margin:6px 0 0;padding:10px;font-size:16px;text-align:center}.brief-quantity>input[aria-invalid=true]{border:2px solid #a41e2b}#shortlist .brief-remove{min-height:44px;padding:10px 0;font-size:12px}.quantity-error{grid-column:1/-1;margin:0;color:#a41e2b;font-size:12px;line-height:1.5}.quantity-error[hidden]{display:none}#rental-list-heading:focus{outline:none}.brief-quantity input:focus-visible,.catalogue-results button:focus-visible,.brief-remove:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:420px){#shortlist .brief-row{grid-template-columns:minmax(0,1fr) 70px;gap:10px}.brief-quantity>input[type=number]{width:70px}#shortlist .brief-remove{grid-column:1/-1;justify-self:start;padding:5px 0}.catalogue-results{align-items:center;gap:12px}.catalogue-results p{font-size:12px}.catalogue-results button{font-size:12px;max-width:140px;text-align:right}}
