:root{color-scheme:dark;--bg:#070910;--surface:#10131e;--ink:#f6f7fc;--muted:#b2b8c8;--blue:#35d4ff;--pink:#ff65c5;--line:#2b3040;font-family:Arial,Helvetica,sans-serif;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--pink);color:var(--bg)}.skip-link{position:fixed;top:-100px;left:20px;z-index:99;background:var(--blue);color:var(--bg);padding:14px}.skip-link:focus{top:10px}
.site-header{min-height:100px;display:flex;align-items:center;justify-content:space-between;padding:5px 5vw;border-bottom:1px solid var(--line);background:#070910}.logo-link{display:inline-flex;align-items:center}.brand-logo{--scale:.285;position:relative;display:block;width:90px;height:90px;overflow:hidden;border-radius:50%}.brand-logo img{position:absolute;width:204.06px;height:437.76px;max-width:none;left:-56.43px;top:-63.84px}.site-header nav{display:flex;align-items:center;gap:35px;font-size:.875rem}nav a:hover,.text-link:hover{color:var(--blue)}.nav-contact{border:1px solid var(--blue);padding:14px 22px;border-radius:3px}
.hero{border-bottom:1px solid var(--line)}.hero-image{width:100%;height:auto;aspect-ratio:1536/585;object-fit:contain}.hero-copy{padding:34px 5vw 38px;display:flex;align-items:center;justify-content:space-between;gap:40px;background:linear-gradient(110deg,#0b1520,#160e20)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;line-height:1.6;margin:0 0 20px}.hero-copy .eyebrow{margin-bottom:10px}h1{font-size:clamp(1.8rem,2.8vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-.035em;margin:0 0 15px}h2{font-size:clamp(2rem,3vw,3.35rem);font-weight:600;letter-spacing:-.045em;line-height:1.15;margin-bottom:0}h3{font-size:1.5rem;letter-spacing:-.025em;line-height:1.2;font-weight:600}.blue-text{color:var(--blue)}.pink-text{color:var(--pink)}.muted{color:var(--muted)}.hero-description{font-size:1rem;line-height:1.6;color:var(--muted);margin:0;max-width:510px}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:15px;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:16px 25px;font-size:.875rem;font-weight:700;border-radius:3px;border:1px solid transparent;transition:background .2s}.button-pink{background:var(--pink);color:#180b19}.button-pink:hover{background:#ff8ed5}.text-link{font-size:.875rem;display:inline-block;padding:5px 0;border-bottom:1px solid #717a90}.section-pad{padding:76px 5vw}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:0 80px;padding-bottom:25px;max-width:1600px;margin:auto}.intro .eyebrow{grid-column:1/-1}.intro>p:last-child{margin:4px 0 0;font-size:1.0625rem;line-height:1.75;color:var(--muted);max-width:490px}
.services{padding-top:28px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-card{position:relative;padding:30px 26px;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card:nth-child(odd){border-top:2px solid var(--blue)}.service-card:nth-child(even){border-top:2px solid var(--pink)}.service-number{font-size:.75rem;letter-spacing:.12em;font-weight:700;display:block;margin-bottom:30px}.service-card h3{font-size:1.8rem;margin-bottom:20px}.service-card p{font-size:1rem;line-height:1.7;color:var(--muted);margin:0 0 26px;flex-grow:1}.service-tags{display:block;font-size:.75rem;line-height:1.8;color:#c8ccda;border-top:1px solid var(--line);padding-top:19px}.services-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:25px}.services-bottom p{color:var(--muted);margin:0;font-size:.875rem}.protection{margin-top:28px;padding:25px 28px;border:1px solid var(--line);background:linear-gradient(90deg,#102331,#11131d);display:flex;align-items:center;justify-content:space-between;gap:24px}.protection h3{font-size:1.125rem;margin-bottom:8px}.protection p{font-size:.875rem;line-height:1.6;margin:0;color:var(--muted)}.protection a{flex-shrink:0}
.brand-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0c101a}.brand-heading{padding:56px 5vw 36px;display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.brand-heading .eyebrow{margin-bottom:15px}.brand-heading>p{font-size:1rem;line-height:1.75;color:var(--muted);margin:0}.art-gallery{width:100%;overflow:hidden}.art-slide img{width:100%;height:auto}.gallery-footer{display:flex;justify-content:space-between;padding:23px 5vw;gap:25px;font-size:.75rem;letter-spacing:.12em;line-height:1.7;color:var(--muted)}.gallery-caption{color:var(--blue)}
.workshop{display:grid;grid-template-columns:1fr 1fr;gap:90px;max-width:1600px;margin:auto}.workshop-summary{max-width:460px;font-size:1.0625rem;line-height:1.75;color:var(--muted);margin:26px 0}.workshop-details>div{position:relative;padding:0 0 25px 52px;margin-bottom:25px;border-bottom:1px solid var(--line)}.workshop-details>div:last-child{margin:0}.detail-index{position:absolute;left:0;top:3px;color:var(--blue);font-size:.75rem;font-weight:700;letter-spacing:.08em}.workshop-details h3{font-size:1.25rem;margin-bottom:13px}.workshop-details p{font-size:1rem;line-height:1.7;color:var(--muted);margin:0}
.process{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:45px}.process-heading .eyebrow{margin-top:8px}.process-steps{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process-steps li{padding-top:24px;border-top:1px solid #4a5266}.process-steps span{font-size:.75rem;letter-spacing:.1em;color:var(--pink);display:block;margin-bottom:20px}.process-steps h3{font-size:1.25rem;margin-bottom:15px}.process-steps p{font-size:1rem;line-height:1.7;color:var(--muted);margin:0;max-width:350px}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:1600px;margin:auto}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:1rem;line-height:1.6;padding:21px 30px 21px 0;cursor:pointer;position:relative;list-style:none;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:1px;top:17px;font-size:1.5rem;color:var(--blue);font-weight:400}.faq-list details[open] summary:after{content:'−';color:var(--pink)}.faq-list details p{font-size:1rem;line-height:1.7;color:var(--muted);padding-right:30px;margin:0 0 23px}
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;background:radial-gradient(ellipse at 88% 90%,#291128,transparent 60%),linear-gradient(120deg,#082532,#0b111d 60%);border-top:1px solid #355067;border-bottom:1px solid var(--line)}.contact .eyebrow{color:var(--blue)}.contact h2{font-size:clamp(2.6rem,4.8vw,5rem);line-height:1.04}.contact h2 span{color:var(--pink)}.contact>div>p:not(.eyebrow){font-size:1.0625rem;line-height:1.7;color:var(--muted);margin:25px 0 30px}.contact-info{padding-top:22px}.contact-info .contact-label{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--blue);margin:0 0 16px}.phone{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.03em;font-weight:600}.phone:hover{color:var(--pink)}.contact-info .location-label{margin-top:36px}.contact-info .contact-location{font-size:1.0625rem;line-height:1.7;margin:0 0 25px;color:var(--ink)}.contact-location span{font-size:.875rem;color:var(--muted)}.social-links{display:flex;gap:28px}.social-links a{font-size:.875rem;border-bottom:1px solid #77758e;padding:6px 0}.social-links a:hover{color:var(--blue)}.site-footer{padding:22px 5vw;display:flex;align-items:center;justify-content:space-between;gap:28px}.site-footer>span{font-size:.75rem;line-height:1.7;color:var(--muted)}
@media(min-width:1800px){.hero-image{max-height:660px;object-fit:cover}.hero-copy{padding-left:max(5vw,calc((100vw - 1600px)/2));padding-right:max(5vw,calc((100vw - 1600px)/2))}}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,1fr)}.workshop{gap:45px}.faq{gap:40px}.brand-heading{align-items:flex-start}.brand-heading>p{max-width:310px}.process-steps{gap:28px}.hero-copy{gap:28px}.contact{gap:35px}}
@media(max-width:700px){.site-header{min-height:88px;padding:3px 22px}.brand-logo{width:78px;height:78px}.brand-logo img{width:177.21px;height:380.16px;left:-49px;top:-55.44px}.site-header nav{gap:20px}.site-header nav a:not(.nav-contact){display:none}.nav-contact{font-size:.8125rem;padding:12px 16px}.hero-copy{padding:28px 22px 34px;display:block}.hero-copy h1{font-size:2rem}.hero-actions{margin-top:22px;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;gap:20px}.hero-description{font-size:1rem}.section-pad{padding:52px 22px}.intro{grid-template-columns:1fr;gap:22px;padding-bottom:15px}.intro .eyebrow{margin:0}.intro>p:last-child{font-size:1rem;margin:0}.services{padding-top:20px}.service-card{padding:25px 21px}.service-card h3{font-size:1.6rem}.service-number{margin-bottom:24px}.service-card p{font-size:.9375rem}.service-tags{font-size:.75rem}.services-bottom{align-items:flex-start}.services-bottom p{max-width:200px;line-height:1.6}.services-bottom a{text-align:right}.protection{display:block;padding:24px}.protection a{margin-top:15px}.brand-heading{padding:42px 22px 28px;display:block}.brand-heading>p{margin-top:20px;max-width:none}.gallery-footer{padding:20px 22px}.gallery-footer>span:last-child{display:none}.workshop,.faq{grid-template-columns:1fr;gap:35px}.workshop-summary{font-size:1rem}.workshop-details>div{padding-left:40px}.process-heading{display:block;margin-bottom:30px}.process-heading .eyebrow{margin-top:0}.process-steps{grid-template-columns:1fr;gap:25px}.process-steps li{position:relative;padding:22px 0 0 44px}.process-steps span{position:absolute;left:0;top:25px}.process-steps p{max-width:none}.contact{grid-template-columns:1fr;gap:25px}.contact-info{padding-top:0}.contact>div>p:not(.eyebrow){font-size:1rem}.contact-info .contact-label{font-size:.75rem}.site-footer{padding:20px 22px;flex-wrap:wrap}.site-footer .logo-link{margin-right:auto}.site-footer>span:nth-child(2){max-width:155px;text-align:right}.site-footer>span:last-child{width:100%;text-align:center;padding-top:10px;border-top:1px solid var(--line)}}
@media(max-width:430px){.service-grid{grid-template-columns:1fr}.service-card h3 br{display:none}.service-card h3 br:after{content:' '}.service-card h3{font-size:1.6rem}.hero-actions{gap:17px}.hero-actions .button{padding:16px 20px}.hero-actions .text-link{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.finish-strip{display:flex;justify-content:space-between;gap:28px;padding:22px 5vw;border-bottom:1px solid var(--line);background:#101722;font-size:.8125rem;font-weight:700;letter-spacing:.12em;line-height:1.7}.finish-strip span:first-child{color:var(--blue)}.finish-strip span:last-child{color:var(--pink)}.workshop{max-width:none;background:radial-gradient(ellipse at 3% 60%,#082838,transparent 70%),linear-gradient(115deg,#0b1423,#180e20);border-top:1px solid #2f5264;border-bottom:1px solid #47344b;padding-top:90px;padding-bottom:90px}.workshop-title h2{font-size:clamp(3rem,5.5vw,6rem);letter-spacing:-.045em;line-height:1.02}.workshop-summary+.workshop-summary{margin-top:-10px;font-size:1rem}.workshop-details{padding-top:45px}.workshop-details>div:last-of-type{margin-bottom:22px}.workshop-details>a{margin-left:52px}@media(max-width:700px){.finish-strip{padding:20px 22px;flex-wrap:wrap;justify-content:flex-start;gap:9px 22px;font-size:.75rem}.workshop{padding-top:58px;padding-bottom:58px}.workshop-details{padding-top:0}.workshop-details>a{margin-left:40px}}
@media(max-width:700px){.service-card p{font-size:1rem}.nav-contact{font-size:.875rem}}@media(max-width:430px){.service-card h3 br{display:initial}.hero-actions .text-link{font-size:.875rem}}
.work-gallery{background:#0c1019;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.work-gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:36px}.work-gallery-heading>p{max-width:430px;color:var(--muted);font-size:1.0625rem;line-height:1.75;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px 22px}.photo-card{margin:0;grid-column:span 4;min-width:0}.photo-featured{grid-column:span 6}.photo-open{position:relative;display:block;width:100%;padding:0;border:1px solid #3b4355;border-radius:3px;overflow:hidden;background:#080b13;cursor:zoom-in;color:var(--ink)}.photo-open img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.photo-open:hover{border-color:var(--blue)}.photo-enlarge{position:absolute;bottom:12px;right:12px;padding:9px 13px;background:#080b13ed;border:1px solid #8b91a1;border-radius:3px;font-size:.875rem;line-height:1.3}.photo-card figcaption{padding-top:17px}.photo-category{display:block;color:var(--blue);font-size:.75rem;letter-spacing:.12em;font-weight:700;margin-bottom:10px;line-height:1.5}.photo-card:nth-child(even) .photo-category{color:var(--pink)}.photo-card h3{font-size:1.25rem;margin:0;line-height:1.35}.work-gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:32px}.work-gallery-bottom p{font-size:1rem;line-height:1.6;color:var(--muted);margin:0}.photo-viewer-open{overflow:hidden}.photo-dialog{padding:0;border:1px solid #444d62;border-radius:5px;background:#0b0e17;color:var(--ink);width:min(94vw,1080px);max-width:94vw;max-height:95vh;max-height:95dvh;overflow:auto}.photo-dialog::backdrop{background:#03050bea;backdrop-filter:blur(5px)}.photo-dialog-toolbar,.photo-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;background:#101724}.photo-dialog-toolbar p{font-size:1rem;line-height:1.4;margin:0;font-weight:600}.photo-dialog button{min-height:44px;padding:10px 17px;border:1px solid #626a80;border-radius:3px;background:#111827;color:var(--ink);font-size:.875rem;cursor:pointer}.photo-dialog button:hover{background:#273349;border-color:var(--blue)}.photo-dialog-image{width:100%;height:min(74vh,800px);height:min(74dvh,800px);object-fit:contain;background:#030408}.photo-counter{font-size:.875rem;color:var(--muted)}@media(max-width:900px){.photo-card{grid-column:span 6}.work-gallery-heading{align-items:flex-start;gap:35px}.work-gallery-heading>p{max-width:340px}}@media(max-width:600px){.work-gallery-heading{display:block;margin-bottom:28px}.work-gallery-heading>p{font-size:1rem;margin-top:22px;max-width:none}.photo-card{grid-column:span 12}.photo-grid{gap:28px}.work-gallery-bottom{align-items:flex-start;flex-direction:column;gap:12px}.photo-dialog-toolbar,.photo-dialog-footer{padding:12px 14px;gap:12px}.photo-dialog-toolbar p{font-size:.875rem}.photo-dialog-image{height:auto;max-height:70vh;max-height:70dvh;aspect-ratio:1;object-fit:contain}.photo-dialog button{padding:10px 13px}}@media(prefers-reduced-motion:reduce){.photo-dialog::backdrop{backdrop-filter:none}}
[hidden]{display:none!important}.gallery-controls{margin-bottom:28px}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px}.gallery-filter{min-height:44px;border:1px solid #49536a;border-radius:3px;padding:12px 17px;background:#101724;color:var(--ink);font:inherit;font-size:.875rem;cursor:pointer}.gallery-filter:hover{border-color:var(--blue)}.gallery-filter[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#071019;font-weight:700}.gallery-status{font-size:.875rem;color:var(--muted);margin:18px 0 0}.gallery-more-wrap{text-align:center;margin-top:36px}.gallery-more{background:transparent;color:var(--blue);border:1px solid var(--blue);font:inherit;font-weight:700;cursor:pointer}.gallery-more:hover{background:#0d2e3d}.workshop-photo{margin:0 0 32px}.workshop-photo .photo-open img{aspect-ratio:4/3;object-fit:contain}.workshop-photo figcaption{padding-top:12px}.workshop-photo h3{margin:8px 0 0}.workshop .workshop-details{padding-top:0}@media(max-width:600px){.gallery-filters{gap:8px}.gallery-filter{padding:10px 12px}.photo-enlarge{bottom:8px;right:8px}.gallery-more-wrap{margin-top:28px}}

/* Supplier logos retain the supplied brand artwork and colours. */
.supplier-logos{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:18px}
.supplier-raptor{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:3px;padding:10px 14px}
.supplier-raptor img{display:block;width:180px;height:auto}
.supplier-upol{display:block;width:126px;height:auto}
/* Clip only the white margin around NOVOL's original square avatar. */
.supplier-novol{position:relative;display:block;width:170px;aspect-ratio:1705/601;overflow:hidden;margin-bottom:18px}
.supplier-novol img{position:absolute;display:block;width:183.284457%;max-width:none;height:auto;left:-41.818182%;top:-187.520799%}
.workshop-details .supplier-logos{gap:16px}
.workshop-details .supplier-raptor{padding:9px 12px}
.workshop-details .supplier-raptor img{width:150px}
.workshop-details .supplier-upol{width:108px}
@media(max-width:400px){.supplier-logos{gap:14px}.supplier-raptor img{width:145px}.supplier-upol{width:100px}.workshop-details .supplier-raptor img{width:125px}.workshop-details .supplier-upol{width:90px}}

/* Larger main logo and gallery navigation */
.site-header{min-height:176px;padding-top:8px;padding-bottom:8px;gap:28px}
.site-header .logo-link{flex-shrink:0}
.site-header .brand-logo{width:160px;height:160px}
.site-header .brand-logo img{width:226.733333%;height:486.4%;left:-62.7%;top:-70.933333%}
@media(max-width:900px){.site-header nav{gap:20px}.site-header nav a[href="#services"],.site-header nav a[href="#workshop"]{display:none}}
@media(max-width:700px){.site-header{min-height:144px;gap:16px}.site-header .brand-logo{width:128px;height:128px}.site-header nav{flex-direction:column;align-items:flex-end;gap:8px}.site-header nav a[href="#our-work"]{display:block;padding:5px 0}}
@media(max-width:600px){.photo-card{grid-column:span 6}.photo-grid{gap:24px 14px}.photo-card h3{font-size:1rem}.photo-card figcaption{padding-top:12px}.photo-enlarge{padding:7px 9px;font-size:.8125rem}.photo-category{letter-spacing:.06em}}
@media(max-width:360px){.site-header{padding-left:18px;padding-right:18px}.site-header .brand-logo{width:112px;height:112px}.nav-contact{padding:11px 12px}}
