/* Shared header: retains its layout space, becomes white after 48px of scroll. */
.site-header{position:sticky;top:0;z-index:1000;background:#101010;color:#fff;transition:background-color .25s,color .25s,box-shadow .25s}
.site-header.is-scrolled{background:#fff;color:#161616;box-shadow:0 3px 22px #0000000d}
.site-header .brand{color:inherit}.site-header .menu-toggle{color:inherit}.site-header .pill,.site-header.is-scrolled .pill{color:#fff}.site-header.is-scrolled .nav-links>a:not(.pill):hover{color:var(--accent)}
.service-page{font-family:Arial,Helvetica,sans-serif}.service-hero{background:#101010;color:white;padding:25px 0 90px;overflow:hidden}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;color:#aaa;font-size:12px;margin:0 0 65px}.breadcrumbs a:hover{color:white}.service-eyebrow{font-size:11px;color:#a72dff;letter-spacing:2px;font-weight:600;margin-bottom:18px}.service-hero h1{font-size:clamp(38px,4.4vw,68px);line-height:1.12;letter-spacing:-2px;max-width:780px;margin:0 0 26px;font-weight:600}.service-hero h1>span{color:#b65bff}.service-intro{font-size:16px;line-height:1.8;color:#b3b3b3;max-width:590px;margin-bottom:30px}.service-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.service-visual{position:relative;background:#202020;border:1px solid #3a3a3a;border-radius:14px;transform:rotate(-4deg);box-shadow:0 25px 90px #8f00ff20;margin:20px 0 35px}.visual-top{display:flex;align-items:center;gap:5px;border-bottom:1px solid #363636;padding:15px}.visual-top i{width:6px;height:6px;background:#8f00ff;border-radius:50%}.visual-top span{font-size:10px;margin-left:15px;color:#aaa}.visual-content{display:flex;min-height:310px}.visual-sidebar{width:45px;border-right:1px solid #363636;background:repeating-linear-gradient(to bottom,transparent 0 22px,#343434 23px 26px,transparent 27px 43px);margin:20px 15px}.visual-panel{padding:35px 20px}.visual-panel>span{color:#b971ee;font-size:9px;letter-spacing:2px}.visual-panel strong{display:block;font-size:clamp(30px,3.4vw,52px);line-height:1.08;margin-top:18px;font-weight:500}.visual-panel strong span{color:#a72dff}.visual-bars{display:flex;gap:8px;margin-top:24px}.visual-bars i{height:7px;width:45px;background:#9132ce;border-radius:10px}.visual-bars i:nth-child(2){width:70px;background:#564361}.visual-bars i:nth-child(3){width:25px;background:#38303e}.visual-tag{position:absolute;bottom:-22px;right:-15px;padding:17px 22px;border-radius:8px;background:#8e00f6;font-size:12px;transform:rotate(4deg)}.deliverables{display:grid;grid-template-columns:1fr 1.6fr;gap:90px;padding-bottom:75px}.deliverables>div>p:not(.service-eyebrow){max-width:330px;font-size:14px;color:#777;line-height:1.8}.deliverable-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.deliverable-grid article{padding:25px;border:1px solid #eee;border-radius:8px}.deliverable-grid article>span,.process-grid article>span{color:var(--accent);font-size:13px}.deliverable-grid h3{font-size:20px;line-height:1.4;margin:20px 0 12px}.deliverable-grid p,.process-grid p{font-size:13px;color:#777;line-height:1.8;margin:0}.process-section{background:#f9f4ff;padding-bottom:70px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:45px}.process-grid article{border-top:1px solid #ddc5ed;padding-top:22px}.process-grid h3{font-size:23px;margin:22px 0 14px}.faq-section{display:grid;grid-template-columns:1fr 1.6fr;gap:90px}.faq-section details{border-bottom:1px solid #eaeaea;padding:23px 0}.faq-section details:first-child{padding-top:0}.faq-section summary{font-size:16px;cursor:pointer}.faq-section details p{font-size:14px;color:#777;line-height:1.8;margin:18px 0 0}.related-services,.all-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-overview-card{border:1px solid #eaeaea;padding:28px;border-radius:8px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s;color:#171717}.service-overview-card:hover{border-color:#be7af0;transform:translateY(-4px);color:#171717}.service-card-label{font-size:9px;letter-spacing:1px;color:#999}.service-overview-card h3{font-size:22px;line-height:1.4;margin:22px 0 18px}.service-overview-card p{font-size:13px;line-height:1.8;color:#777;margin-bottom:25px}.service-card-link{color:var(--accent);font-size:13px;margin-top:auto}.all-services-grid{margin-top:40px}
@media(max-width:991px){.service-hero-grid{gap:35px}.deliverables,.faq-section{gap:35px}.related-services,.all-services-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:1fr 1fr}.visual-tag{font-size:10px;right:0}.visual-content{min-height:280px}}
@media(max-width:640px){.site-header.is-scrolled .nav-links{background:#fff;color:#171717;border-bottom:1px solid #eee}.service-hero{padding-bottom:55px}.breadcrumbs{font-size:10px;margin-bottom:38px;gap:8px}.service-hero h1{font-size:40px;letter-spacing:-1px}.service-intro{font-size:14px}.service-hero-grid,.deliverables,.faq-section{grid-template-columns:1fr;gap:30px}.service-visual{max-width:420px;width:95%;margin:10px auto 20px}.visual-panel strong{font-size:40px}.visual-content{min-height:280px}.deliverable-grid{gap:12px}.deliverable-grid article{padding:18px}.deliverable-grid h3{font-size:17px}.deliverable-grid p{font-size:12px}.related-services,.all-services-grid{grid-template-columns:1fr}.process-grid{gap:25px}.process-grid h3{font-size:20px}.process-section{padding-bottom:45px}.service-page .section-heading{align-items:flex-start}.service-page .section-heading h2{font-size:24px}.service-overview-card{padding:24px}}
@media(prefers-reduced-motion:reduce){.site-header,.service-overview-card{transition:none}.service-overview-card:hover{transform:none}}
/* Services disclosure: shared by every page, dark and white header states. */
.services-dropdown{position:relative;align-self:stretch;display:flex;align-items:center}
.services-trigger{display:flex;align-items:center;gap:8px;border:0;background:none;color:inherit;font:inherit;padding:22px 0;position:relative;cursor:pointer}
.dropdown-chevron{transition:transform .2s}
.services-trigger[aria-expanded=true]{color:#00b9f1}
.services-trigger[aria-expanded=true]::after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:#00b9f1;right:-7px;top:12px}
.services-trigger[aria-expanded=true] .dropdown-chevron{transform:rotate(180deg)}
.services-panel{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);width:470px;max-width:calc(100vw - 32px);border:1px solid #e7e7e7;border-radius:25px;padding:22px 24px 13px;background:white;color:#111;box-shadow:0 18px 45px #00000018;z-index:1100}
.services-panel[hidden]{display:none!important}
.services-panel::before{content:'';position:absolute;top:-9px;left:calc(50% - 9px);width:18px;height:18px;background:white;border-top:1px solid #e7e7e7;border-left:1px solid #e7e7e7;transform:rotate(45deg)}
.services-dropdown::after{content:'';position:absolute;top:100%;left:-30px;right:-30px;height:17px}
.services-panel ul{list-style:none;padding:0;margin:0}
.services-panel .dropdown-service{display:grid;grid-template-columns:56px 1fr;gap:15px;padding:12px 8px;border-radius:12px;color:#111;transition:background-color .15s}
.services-panel .dropdown-service:hover,.services-panel .dropdown-service:focus-visible{background:#f7f4fa;color:#111}
.dropdown-icon{width:56px;height:56px;border-radius:14px;background:#f2f2f2;color:#555;display:grid;place-items:center}
.dropdown-icon svg{width:38px;height:38px}
.dropdown-service strong{display:block;font-size:19px;line-height:1.35;font-weight:600;letter-spacing:-.3px;margin:1px 0 3px}
.dropdown-description{display:block;font-size:15px;line-height:1.5;color:#777;font-weight:400}
.services-panel .dropdown-all{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #eee;margin-top:12px;padding:16px 8px 5px;font-size:13px;color:var(--accent)}
@media(max-width:991px) and (min-width:641px){.services-panel{left:35%;width:420px}}
@media(max-width:640px){.services-dropdown{display:block;width:100%}.services-trigger{padding:0;width:100%;justify-content:space-between}.services-trigger[aria-expanded=true]::after{display:none}.services-panel{position:static;transform:none;width:100%;max-width:none;margin-top:17px;border-radius:17px;padding:10px 9px;box-shadow:none}.services-panel::before,.services-dropdown::after{display:none}.services-panel .dropdown-service{grid-template-columns:43px 1fr;gap:11px;padding:11px 6px}.dropdown-icon{width:43px;height:43px;border-radius:11px}.dropdown-icon svg{width:31px;height:31px}.dropdown-service strong{font-size:15px}.dropdown-description{font-size:12px}.nav-links.open{max-height:calc(100dvh - 75px);overflow-y:auto;overscroll-behavior:contain}.services-panel .dropdown-all{font-size:12px;padding:13px 6px 5px}}
/* Contact page: details left, enquiry form right. */
.contact-hero{padding-bottom:65px}.contact-hero .breadcrumbs{margin-bottom:40px}.contact-hero h1{font-size:clamp(38px,4.2vw,62px);max-width:900px}.contact-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:85px;padding-bottom:75px;align-items:start}.contact-info>p:not(.service-eyebrow){font-size:14px;line-height:1.8;color:#777;max-width:320px}.contact-info h2{line-height:1.25}.contact-info-item{display:flex;gap:18px;margin-top:30px;align-items:flex-start}.contact-info-item>span{width:46px;height:46px;border-radius:12px;background:#f8f0ff;color:var(--accent);display:grid;place-items:center;font-size:24px;flex-shrink:0}.contact-info-item h3{font-size:13px;color:#888;margin:1px 0 8px;font-weight:400}.contact-info-item p{font-size:16px;margin:0;overflow-wrap:anywhere}.contact-info .contact-placeholder-note{font-size:11px!important;margin-top:30px}.contact-form-card{border:1px solid #eee;border-radius:18px;padding:38px;background:#fff;box-shadow:0 15px 50px #00000004}.contact-form-card h2{font-size:27px;margin-bottom:12px}.form-intro{font-size:12px;color:#999;margin-bottom:28px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.form-field{min-width:0}.form-field label{display:block;font-size:13px;margin-bottom:10px;color:#333}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:1px solid #e2e2e2;background:#fcfcfc;padding:14px 15px;border-radius:8px;font:inherit;font-size:13px;color:#222;min-height:49px}.form-field textarea{resize:vertical;min-height:145px}.form-field input::placeholder,.form-field textarea::placeholder{color:#aaa}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #d4a1fb;outline-offset:2px;border-color:var(--accent);background:white}.full-width{grid-column:1/-1}.send-button{border:0;gap:25px;padding:15px 26px}.form-status{font-size:13px;color:#76508c;line-height:1.6;margin:22px 0 18px}.form-status:empty{display:none}.form-delivery-note{font-size:11px;line-height:1.7;color:#999;max-width:460px;margin:15px 0 0}.send-button{margin-top:20px}
@media(max-width:991px){.contact-layout{gap:35px;grid-template-columns:.8fr 1.3fr}.contact-form-card{padding:25px}.contact-fields{gap:20px 14px}}
@media(max-width:640px){.contact-layout{grid-template-columns:1fr;gap:35px;padding-bottom:40px}.contact-hero{padding-bottom:40px}.contact-hero h1{font-size:36px}.contact-form-card{padding:24px 19px}.contact-form-card h2{font-size:24px}.contact-fields{grid-template-columns:1fr}.contact-info-item{margin-top:22px}.contact-info h2{margin-bottom:18px}.send-button{width:100%}}
