/* Approved PowerShift reference; scoped to its CMS header. Regenerate with scripts/powershift-reference-styles.mjs. */
body:has(.ps-header){--black:#07080a;--panel:#0d1014;--white:#f4f5f6;--muted:#9aa0a8;--line:#272c33;--blue:#0878c9;--navy:#092c55;--red:#df1f32;--radius:2px;--max:1440px}
body:has(.ps-header) *{box-sizing:border-box}html:has(.ps-header){scroll-behavior:smooth}body:has(.ps-header){margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif;line-height:1.5;overflow-x:hidden}body:has(.ps-header) .noise{display:none}body:has(.ps-header) a{color:inherit;text-decoration:none}body:has(.ps-header) button,body:has(.ps-header) input,body:has(.ps-header) textarea{font:inherit}body:has(.ps-header) img{display:block;max-width:100%}body:has(.ps-header) svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.7}
body:has(.ps-header) .site-header{height:86px;padding:0 max(28px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:48px;position:fixed;inset:0 0 auto;z-index:40;background:rgba(7,8,10,.9);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(18px)}body:has(.ps-header) .brand{display:flex;align-items:center;gap:12px}body:has(.ps-header) .brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}body:has(.ps-header) .brand>span{font-family:'Barlow Condensed',sans-serif;font-size:20px;font-weight:600;line-height:.82;letter-spacing:.04em}body:has(.ps-header) .brand small{display:block;color:#9aa0a8;font-family:Inter,sans-serif;font-size:7px;letter-spacing:.22em;margin-top:7px}body:has(.ps-header) .site-header nav{display:flex;justify-content:center;gap:32px;height:100%}body:has(.ps-header) .site-header nav a{height:100%;display:flex;align-items:center;color:#b7bbc1;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;position:relative}body:has(.ps-header) .site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:var(--blue);transition:right .3s}body:has(.ps-header) .site-header nav a.active,body:has(.ps-header) .site-header nav a:hover{color:#fff}body:has(.ps-header) .site-header nav a.active:after{right:0}body:has(.ps-header) .header-cta,body:has(.ps-header) .button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:0 25px;border:1px solid transparent;border-radius:var(--radius);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:.25s}body:has(.ps-header) .header-cta{background:#fff;color:#08090a}body:has(.ps-header) .header-cta:hover,body:has(.ps-header) .button.primary:hover{background:#dfe3e7;transform:translateY(-2px)}body:has(.ps-header) .menu-button{display:none}
body:has(.ps-header) .hero{min-height:100svh;padding:86px max(28px,calc((100vw - var(--max))/2)) 0;display:grid;grid-template-columns:minmax(380px,.77fr) 1.23fr;position:relative;background:#08090b}body:has(.ps-header) .hero:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:linear-gradient(90deg,var(--blue) 0 12%,var(--navy) 12% 20%,var(--red) 20% 26%,transparent 26%)}body:has(.ps-header) .hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 58px 80px 0;position:relative;z-index:2}body:has(.ps-header) .eyebrow{display:flex;align-items:center;gap:12px;color:#a9afb7;font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}body:has(.ps-header) .eyebrow i{display:inline-block;width:32px;height:2px;background:linear-gradient(90deg,var(--blue) 0 45%,var(--navy) 45% 70%,var(--red) 70%)}body:has(.ps-header) h1,body:has(.ps-header) h2,body:has(.ps-header) h3{font-family:'Barlow Condensed',sans-serif;margin:0;line-height:.9;text-transform:uppercase}body:has(.ps-header) h1{font-size:clamp(64px,6.5vw,112px);font-weight:600;letter-spacing:-.025em;margin:30px 0}body:has(.ps-header) h1 em,body:has(.ps-header) h2 em{font-style:italic;color:#aeb3ba;font-weight:500}body:has(.ps-header) .lead,body:has(.ps-header) .page-hero>p{color:#b3b8c0;font-size:16px;max-width:570px;line-height:1.75}body:has(.ps-header) .hero-actions{display:flex;gap:12px;margin-top:33px}body:has(.ps-header) .button.primary{background:#fff;color:#08090a}body:has(.ps-header) .button.ghost{border-color:#40464e;color:#fff;background:rgba(0,0,0,.2)}body:has(.ps-header) .button.light{background:#fff;color:#08090a}body:has(.ps-header) .trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:48px;color:#888f98;font-size:10px;text-transform:uppercase;letter-spacing:.07em}body:has(.ps-header) .trust-row span{display:flex;align-items:center;gap:7px}body:has(.ps-header) .trust-row svg{width:13px;color:var(--blue)}
body:has(.ps-header) .hero-visual{position:relative;min-height:calc(100svh - 86px);background:linear-gradient(90deg,#08090b 0,transparent 22%),linear-gradient(0deg,rgba(7,8,10,.65),transparent 40%),var(--ps-image) 62% center/cover no-repeat}body:has(.ps-header) .hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,78,130,.12),transparent 50%)}body:has(.ps-header) .hero-spec{position:absolute;right:22px;top:28px;width:240px;border-top:1px solid rgba(255,255,255,.42);padding-top:10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}body:has(.ps-header) .hero-spec>span{display:block;color:#bac0c7;margin-bottom:18px}body:has(.ps-header) .hero-spec>div{display:grid;grid-template-columns:70px 1fr;padding:10px 0;border-top:1px solid rgba(255,255,255,.14)}body:has(.ps-header) .hero-spec small{color:#858b93}body:has(.ps-header) .hero-spec b{font-weight:500}body:has(.ps-header) .hero-caption{position:absolute;right:20px;bottom:25px;display:flex;gap:10px;align-items:center;font-size:9px;letter-spacing:.14em;text-transform:uppercase}body:has(.ps-header) .hero-caption i{width:3px;height:28px;background:linear-gradient(var(--blue) 0 34%,var(--navy) 34% 67%,var(--red) 67%)}
body:has(.ps-header) .proof-strip{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.25fr repeat(3,1fr);padding:0 28px;border-left:1px solid var(--line);border-right:1px solid var(--line)}body:has(.ps-header) .proof-strip>*{padding:28px 22px;border-right:1px solid var(--line);font-size:11px;letter-spacing:.09em;text-transform:uppercase}body:has(.ps-header) .proof-strip>*:last-child{border:0}body:has(.ps-header) .proof-strip span{color:#6f7680}body:has(.ps-header) .proof-strip b{font-weight:500}body:has(.ps-header) .section{max-width:var(--max);margin:auto;padding:130px 54px;border-left:1px solid var(--line);border-right:1px solid var(--line)}body:has(.ps-header) .section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:68px}body:has(.ps-header) .section-head h2,body:has(.ps-header) .story-copy h2,body:has(.ps-header) .standards-head h2,body:has(.ps-header) .compare h2,body:has(.ps-header) .cta-band h2{font-size:clamp(48px,5vw,78px);margin-top:22px;letter-spacing:-.025em}body:has(.ps-header) .text-link{display:inline-flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #59606a;padding-bottom:8px}
body:has(.ps-header) .card-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}body:has(.ps-header) .service-card{min-height:390px;padding:28px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,#111419,#0a0c0f);transition:.35s}body:has(.ps-header) .service-card:hover{background:#151920;transform:translateY(-4px)}body:has(.ps-header) .service-top{display:flex;justify-content:space-between}body:has(.ps-header) .service-number{font-family:'Barlow Condensed';font-size:28px;color:#6b727c}body:has(.ps-header) .pill{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#9da3aa;border:1px solid #353a41;padding:6px 9px}body:has(.ps-header) .service-card h3{font-size:33px;line-height:1;margin-top:64px}body:has(.ps-header) .service-card p{color:#8e959e;font-size:13px;max-width:300px}body:has(.ps-header) .service-metric{margin:auto 0 28px;display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}body:has(.ps-header) .service-metric b{font-family:'Barlow Condensed';font-size:28px}body:has(.ps-header) .service-metric span{color:#858b94;font-size:10px}body:has(.ps-header) .process,body:has(.ps-header) .performance-group,body:has(.ps-header) .standards{background:#0b0d10}body:has(.ps-header) .steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}body:has(.ps-header) .steps article{padding:35px 35px 35px 0;border-right:1px solid var(--line);margin-right:35px}body:has(.ps-header) .steps article:last-child{border:0}body:has(.ps-header) .steps article>span{color:var(--blue);font-family:'Barlow Condensed';font-size:18px}body:has(.ps-header) .steps h3{font-size:32px;margin:50px 0 15px}body:has(.ps-header) .steps p{color:#8e949d;font-size:13px}body:has(.ps-header) .cta-band{max-width:var(--max);margin:auto;padding:90px 54px;display:flex;align-items:center;justify-content:space-between;background:#0d2235;border-left:1px solid #24425c;border-right:1px solid #24425c}
body:has(.ps-header) .page-hero{max-width:var(--max);min-height:70vh;margin:auto;padding:190px 54px 100px;border-left:1px solid var(--line);border-right:1px solid var(--line);background:radial-gradient(circle at 82% 30%,rgba(0,102,175,.16),transparent 28%),#090b0e}body:has(.ps-header) .page-hero h1{max-width:1000px}body:has(.ps-header) .service-group{padding-top:110px}body:has(.ps-header) .all-services{grid-template-columns:repeat(3,1fr)}body:has(.ps-header) .compare{text-align:center;background:#101419}body:has(.ps-header) .compare .eyebrow{justify-content:center}body:has(.ps-header) .compare .button{margin-top:45px}body:has(.ps-header) .about-hero{background:linear-gradient(90deg,rgba(7,8,10,.97) 0 44%,rgba(7,8,10,.25)),var(--ps-image) right center/60% cover no-repeat}body:has(.ps-header) .about-signature{display:flex;align-items:center;gap:15px;color:#858b94;font-size:10px;letter-spacing:.13em;text-transform:uppercase}body:has(.ps-header) .about-signature i{width:70px;height:1px;background:#424850}body:has(.ps-header) .story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px}body:has(.ps-header) .story-image{min-height:620px;overflow:hidden}body:has(.ps-header) .story-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(1.08)}body:has(.ps-header) .story-copy{padding-top:30px}body:has(.ps-header) .story-copy p{color:#9da3ab;line-height:1.8}body:has(.ps-header) .check-list{list-style:none;padding:0;margin-top:40px}body:has(.ps-header) .check-list li{display:flex;gap:16px;padding:20px 0;border-top:1px solid var(--line)}body:has(.ps-header) .check-list svg{color:var(--blue)}body:has(.ps-header) .check-list span{display:flex;flex-direction:column}body:has(.ps-header) .check-list small{color:#7d848d;margin-top:5px}body:has(.ps-header) .standards-list{margin-top:60px}body:has(.ps-header) .standards-list article{display:grid;grid-template-columns:80px 1fr 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--line);align-items:start}body:has(.ps-header) .standards-list span{color:var(--blue)}body:has(.ps-header) .standards-list h3{font-size:28px}body:has(.ps-header) .standards-list p{color:#899099;margin:0}
body:has(.ps-header) .contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}body:has(.ps-header) .contact-panel>a{display:grid;grid-template-columns:1fr auto;gap:4px;padding:25px 0;border-top:1px solid var(--line)}body:has(.ps-header) .contact-panel>a small{grid-column:1/-1;color:#777e87;text-transform:uppercase;font-size:9px;letter-spacing:.13em}body:has(.ps-header) .contact-panel>a b{font-family:'Barlow Condensed';font-size:28px;text-transform:uppercase}body:has(.ps-header) .hours{margin-top:45px;color:#9da3ab}body:has(.ps-header) .hours small{color:#69717b;text-transform:uppercase;font-size:9px;letter-spacing:.13em}body:has(.ps-header) .enquiry-form,body:has(.ps-header) .booking-card{background:#111419;border:1px solid #2d333b;padding:48px}body:has(.ps-header) .enquiry-form h2,body:has(.ps-header) .booking-step h2,body:has(.ps-header) .success h2{font-size:48px;margin:20px 0 35px}body:has(.ps-header) .enquiry-form label,body:has(.ps-header) #booking-form label{display:block;color:#8f969f;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin:18px 0}body:has(.ps-header) .enquiry-form input,body:has(.ps-header) .enquiry-form textarea,body:has(.ps-header) #booking-form input{width:100%;margin-top:8px;border:0;border-bottom:1px solid #3a4048;background:#0a0c0f;color:#fff;padding:15px 2px;outline:none}body:has(.ps-header) .enquiry-form input:focus,body:has(.ps-header) .enquiry-form textarea:focus,body:has(.ps-header) #booking-form input:focus{border-color:var(--blue)}
body:has(.ps-header) .booking-shell{max-width:var(--max);margin:auto;padding:165px 54px 100px;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;border-left:1px solid var(--line);border-right:1px solid var(--line);min-height:90vh}body:has(.ps-header) .booking-intro h1{font-size:clamp(60px,6vw,90px)}body:has(.ps-header) .booking-intro>p{color:#9198a1}body:has(.ps-header) .booking-note{display:flex;gap:15px;margin-top:45px;border-top:1px solid var(--line);padding-top:25px}body:has(.ps-header) .booking-note svg{color:var(--blue)}body:has(.ps-header) .booking-note p{margin:0;color:#8f969e;font-size:12px}body:has(.ps-header) .progress{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#676e77}body:has(.ps-header) .progress i{height:1px;flex:1;background:#30353c}body:has(.ps-header) .progress .active{color:#fff}body:has(.ps-header) .step-label{display:block;color:var(--blue);font-size:9px;letter-spacing:.12em;text-transform:uppercase}body:has(.ps-header) .service-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}body:has(.ps-header) .service-option{display:flex;justify-content:space-between;text-align:left;background:#0b0d10;color:#fff;border:1px solid #2a2f36;padding:18px;cursor:pointer}body:has(.ps-header) .service-option span{display:flex;flex-direction:column}body:has(.ps-header) .service-option small{color:#7f8690;margin-top:4px}body:has(.ps-header) .service-option.selected,body:has(.ps-header) .service-option:hover{border-color:var(--blue);background:#101d28}body:has(.ps-header) .service-option i{width:10px;height:10px;border:1px solid #555;border-radius:50%}body:has(.ps-header) .service-option.selected i{background:var(--blue);border-color:var(--blue)}body:has(.ps-header) .button.full{width:100%;margin-top:20px}body:has(.ps-header) .button:disabled{opacity:.35}body:has(.ps-header) .date-scroller{display:flex;gap:7px;overflow:auto}body:has(.ps-header) .date-option,body:has(.ps-header) .slot-grid button{background:#0a0c0f;color:#fff;border:1px solid #2b3037;padding:12px;cursor:pointer}body:has(.ps-header) .date-option{min-width:70px;display:flex;flex-direction:column;align-items:center}body:has(.ps-header) .date-option b{font-family:'Barlow Condensed';font-size:28px}body:has(.ps-header) .date-option.selected,body:has(.ps-header) .slot-grid button:hover{border-color:var(--blue)}body:has(.ps-header) .slots-wrap{margin-top:24px}body:has(.ps-header) .slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}body:has(.ps-header) .slot-grid button{display:flex;flex-direction:column}body:has(.ps-header) .slot-grid small{color:#777}body:has(.ps-header) .back{border:0;background:none;color:#9aa1aa;padding:0;margin:20px 0;cursor:pointer}body:has(.ps-header) .booking-summary,body:has(.ps-header) .success-details{border-left:3px solid var(--blue);background:#0a0c0f;padding:20px;display:flex;flex-direction:column;margin-bottom:25px}body:has(.ps-header) .booking-summary small,body:has(.ps-header) .success-details small{color:#7f8690}body:has(.ps-header) .success{text-align:center}body:has(.ps-header) .success-icon{width:54px;height:54px;margin:0 auto 20px;display:grid;place-items:center;border:1px solid var(--blue);color:var(--blue);border-radius:50%}
body:has(.ps-header) .premium-footer{border-top:1px solid var(--line);background:#050608}body:has(.ps-header) .footer-directory{max-width:var(--max);margin:auto;padding:85px 54px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:60px}body:has(.ps-header) .footer-identity p{max-width:370px;color:#767d86;font-size:12px;margin-top:28px}body:has(.ps-header) .footer-column{display:flex;flex-direction:column;gap:12px}body:has(.ps-header) .footer-column>small{color:#636a73;font-size:9px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px}body:has(.ps-header) .footer-column a{font-size:12px;color:#b8bdc3}body:has(.ps-header) .footer-column p{font-size:11px;color:#737a83}body:has(.ps-header) .footer-bottom{max-width:var(--max);margin:auto;border-top:1px solid var(--line);padding:22px 54px;display:flex;justify-content:space-between;color:#636a73;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
body:has(.ps-header) .page-enter{animation:pageIn .55s ease both}@keyframes pageIn{from{opacity:0;transform:translateY(8px)}}body:has(.ps-header) .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s ease var(--reveal-delay,0ms)}body:has(.ps-header) .revealed{opacity:1;transform:none}body:has(.ps-header) .loader{width:24px;height:24px;border:2px solid #2e343b;border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}body:has(.ps-header) #toast{position:fixed;right:24px;bottom:24px;z-index:50;background:#fff;color:#090a0c;padding:16px 22px;transform:translateY(100px);opacity:0;transition:.3s;font-size:12px}body:has(.ps-header) #toast.show{transform:none;opacity:1}body:has(.ps-header) .page-loader{min-height:60vh;display:grid;place-items:center}
@media(max-width:1000px){body:has(.ps-header) .site-header{grid-template-columns:auto auto;justify-content:space-between;padding:0 22px}body:has(.ps-header) .site-header nav,body:has(.ps-header) .header-cta{display:none}body:has(.ps-header) .menu-button{display:flex;width:42px;height:42px;background:none;border:1px solid #333;flex-direction:column;justify-content:center;gap:6px;padding:10px}body:has(.ps-header) .menu-button span{height:1px;background:#fff;width:100%}body:has(.ps-header).ps-menu-open .site-header nav{display:flex;position:absolute;top:85px;left:0;right:0;height:auto;flex-direction:column;background:#090b0e;padding:28px}body:has(.ps-header).ps-menu-open .site-header nav a{height:40px}body:has(.ps-header) .hero{grid-template-columns:1fr;padding-right:0}body:has(.ps-header) .hero-copy{padding-left:24px;max-width:650px}body:has(.ps-header) .hero-visual{min-height:58vh}body:has(.ps-header) .proof-strip{grid-template-columns:1fr 1fr}body:has(.ps-header) .card-grid,body:has(.ps-header) .all-services{grid-template-columns:1fr 1fr}body:has(.ps-header) .section{padding:90px 30px}body:has(.ps-header) .story-grid,body:has(.ps-header) .booking-shell,body:has(.ps-header) .contact-grid{grid-template-columns:1fr}body:has(.ps-header) .footer-directory{grid-template-columns:2fr 1fr 1fr}body:has(.ps-header) .footer-column:last-child{grid-column:2/4}body:has(.ps-header) .slot-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){body:has(.ps-header) h1{font-size:58px}body:has(.ps-header) .hero{padding-top:86px}body:has(.ps-header) .hero-copy{padding:70px 22px 55px}body:has(.ps-header) .hero-visual{min-height:44vh;background-position:68% center}body:has(.ps-header) .hero-actions{flex-direction:column}body:has(.ps-header) .trust-row{display:none}body:has(.ps-header) .hero-spec{display:none}body:has(.ps-header) .proof-strip{grid-template-columns:1fr}body:has(.ps-header) .proof-strip>*{border-right:0;border-bottom:1px solid var(--line)}body:has(.ps-header) .section,body:has(.ps-header) .page-hero,body:has(.ps-header) .booking-shell{padding-left:22px;padding-right:22px}body:has(.ps-header) .section-head{align-items:start;flex-direction:column}body:has(.ps-header) .section-head h2,body:has(.ps-header) .story-copy h2,body:has(.ps-header) .standards-head h2,body:has(.ps-header) .compare h2,body:has(.ps-header) .cta-band h2{font-size:47px}body:has(.ps-header) .card-grid,body:has(.ps-header) .all-services{grid-template-columns:1fr}body:has(.ps-header) .service-card{min-height:330px}body:has(.ps-header) .steps{grid-template-columns:1fr}body:has(.ps-header) .steps article{border-right:0;border-bottom:1px solid var(--line);margin:0}body:has(.ps-header) .cta-band{padding:65px 22px;flex-direction:column;align-items:start;gap:35px}body:has(.ps-header) .page-hero{padding-top:150px;min-height:62vh}body:has(.ps-header) .about-hero{background-position:70% center}body:has(.ps-header) .story-image{min-height:400px}body:has(.ps-header) .standards-list article{grid-template-columns:45px 1fr}body:has(.ps-header) .standards-list p{grid-column:2}body:has(.ps-header) .enquiry-form,body:has(.ps-header) .booking-card{padding:25px}body:has(.ps-header) .service-options{grid-template-columns:1fr}body:has(.ps-header) .footer-directory{padding:65px 22px;grid-template-columns:1fr}body:has(.ps-header) .footer-column:last-child{grid-column:auto}body:has(.ps-header) .footer-bottom{padding:20px 22px;flex-direction:column;gap:8px}body:has(.ps-header) .slot-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){body:has(.ps-header) *,body:has(.ps-header) *:before,body:has(.ps-header) *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}body:has(.ps-header) .reveal{opacity:1;transform:none}}
body:has(.ps-header) .services-hero{min-height:82vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(90deg,rgba(6,8,10,.98) 0%,rgba(6,8,10,.8) 36%,rgba(6,8,10,.08) 76%),linear-gradient(0deg,rgba(6,8,10,.92) 0%,transparent 58%),var(--ps-image) 70% 48%/cover no-repeat}body:has(.ps-header) .services-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--blue) 0 13%,var(--navy) 13% 21%,var(--red) 21% 27%,transparent 27%)}body:has(.ps-header) .services-hero-copy{position:relative;z-index:1;max-width:880px}body:has(.ps-header) .services-hero-copy p{color:#bec3c9;max-width:560px}body:has(.ps-header) .services-hero-mark{position:absolute;z-index:1;right:46px;bottom:42px;width:210px;padding:18px 0;border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid rgba(255,255,255,.22);display:flex;flex-direction:column;text-transform:uppercase}body:has(.ps-header) .services-hero-mark span,body:has(.ps-header) .services-hero-mark small{color:#9299a2;font-size:9px;letter-spacing:.15em}body:has(.ps-header) .services-hero-mark b{font-family:'Barlow Condensed';font-size:24px;line-height:1;margin:20px 0}@media(max-width:640px){body:has(.ps-header) .services-hero{min-height:72vh;background-position:65% center}body:has(.ps-header) .services-hero-mark{display:none}}

/* Umbraco/Tailwind integration and accessibility; all rules remain tenant-scoped. */
body:has(.ps-header) .umb-block-grid__layout-container{gap:0}
body:has(.ps-header) .umb-block-grid__layout-item{min-width:0}
body:has(.ps-header) h2{font-weight:600}
body:has(.ps-header) h3{font-weight:700}
body:has(.ps-header) h2,body:has(.ps-header) h3{line-height:1.05}
body:has(.ps-header) p{margin:1em 0}
body:has(.ps-header) b,body:has(.ps-header) strong{font-weight:700}
body:has(.ps-header) .hero-spec b{font-weight:500}
body:has(.ps-header) .hero-spec>div{grid-template-columns:88px 1fr}
body:has(.ps-header) .proof-strip b{font-weight:500}
body:has(.ps-header) .page-hero-copy>p{color:#b3b8c0;font-size:16px;max-width:570px;line-height:1.75}
body:has(.ps-header) .service-metric{margin-top:auto}
body:has(.ps-header) .service-card p{margin-bottom:30px}
body:has(.ps-header) .card-grid:has(>.service-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
body:has(.ps-header) .card-grid:has(>.service-card:only-child){grid-template-columns:minmax(0,1fr)}
body:has(.ps-header) .service-card:only-child{display:grid;grid-template-columns:1.2fr 1fr;column-gap:64px;min-height:300px}
body:has(.ps-header) .service-card:only-child .service-top{grid-column:1/-1}
body:has(.ps-header) .service-card:only-child h3{margin-top:32px}
body:has(.ps-header) .service-card:only-child p{grid-column:1;max-width:520px}
body:has(.ps-header) .service-card:only-child .service-metric{grid-column:2;grid-row:2/4;align-self:center;margin:32px 0}
body:has(.ps-header) .service-card:only-child .text-link{grid-column:1/-1}
body:has(.ps-header) .brand img{object-fit:contain;border-radius:0}
body:has(.ps-header) .ps-multiline{white-space:pre-line}
body:has(.ps-header) .ps-check{color:var(--blue)}
body:has(.ps-header) .story-image img{min-height:620px}
body:has(.ps-header) .ps-skip{position:fixed;top:8px;left:8px;z-index:60;transform:translateY(-200%);background:#fff;color:#08090a;padding:12px}
body:has(.ps-header) .ps-skip:focus{transform:none}
body:has(.ps-header) :focus-visible{outline:2px solid #55b9ff;outline-offset:5px}
body:has(.ps-header) [id]{scroll-margin-top:100px}
body:has(.ps-header) .ps-booking-fallback{margin-top:36px}
body:has(.ps-header) .ps-booking-fallback h2{font-size:42px;margin:22px 0}
body:has(.ps-header) .ps-booking-fallback p{color:#9aa0a8;font-size:14px}
body:has(.ps-header) .ps-service-summary{padding:20px 0;border-bottom:1px solid var(--line)}
body:has(.ps-header) .ps-service-summary h3{font-size:24px;line-height:1.1}
body:has(.ps-header) .ps-service-summary p{font-size:11px;color:#9aa0a8;margin:8px 0 0}
body:has(.ps-header) .enquiry-form .ucrm-form-block{width:100%;max-width:none}
body:has(.ps-header) .contact-grid>*{min-width:0}
/* The website container sets page width. Its children own their rendering states. */
body:has(.ps-header) .container{width:calc(100% - 56px);max-width:var(--max);margin:48px auto}
body:has(.ps-header) .enquiry-form ucrm-marketing-form-renderer{display:block;min-width:0;width:100%}
body:has(.ps-header) .enquiry-form .ucrm-form-block h2{font-family:'Barlow Condensed',sans-serif}
@media(max-width:1024px){
  body:has(.ps-header) .services-hero-mark{display:none}
}
@media(max-width:640px){
  body:has(.ps-header) .hero{padding-left:0}
  body:has(.ps-header) .story-image img{min-height:400px}
  body:has(.ps-header) .contact-panel>a b{font-size:25px;overflow-wrap:anywhere}
  body:has(.ps-header) .booking-shell{gap:40px}
  body:has(.ps-header) .hero-copy{min-width:0}
  body:has(.ps-header) .card-grid:has(>.service-card:nth-child(2):last-child){grid-template-columns:1fr}
  body:has(.ps-header) .service-card:only-child{display:flex;min-height:330px}
}
