:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}


.site-header{background:var(--paper)}.hero{padding-top:28px}.hero-grid{align-items:center;gap:48px 68px}.hero-copy{position:relative;padding-top:0}.hero h1{font-size:calc(58px * var(--lexx-text-scale, 1));line-height:1.15}.hero-description{font-size:calc(19px * var(--lexx-text-scale, 1));max-width:650px}.hero-enquiry{border:0;border-radius:18px;padding:30px;background:#fff;box-shadow:0 14px 44px #17283d08}.hero-enquiry input{border-radius:8px!important}.hero-enquiry h2{font-size:calc(29px * var(--lexx-text-scale, 1))}.hero-enquiry>p{margin-block:13px 25px}.hero-enquiry .privacy-note{margin-block:20px!important}.button{border-radius:999px;padding:16px 27px;min-height:54px;justify-content:center;transition:transform 160ms var(--ease-out),background 200ms ease,box-shadow 200ms ease}.button:active{transform:scale(.97)}.hero .actions{gap:24px}.price-ribbon{margin-top:0}.section{padding-block:95px}.hero-grid>.price-ribbon{grid-column:1/-1}.hero .eyebrow{margin-top:0}.process .wrap{position:relative}.process .section-heading,.process-intro{max-width:850px}.process-steps{gap:30px}.process-steps li{transition:opacity 350ms ease,transform 650ms var(--ease-out)}.contact-grid{align-items:center}.contact-panel{border-radius:18px}.contact-panel input,.contact-panel textarea{border-radius:8px!important}.section-heading h2{max-width:850px}.scope-column,.price-component{transition:transform 650ms var(--ease-out),opacity 650ms var(--ease-out)}.work-list li{transition:transform 250ms var(--ease-out),background 200ms ease}.faq-list summary:after{transition:transform 200ms var(--ease-out)}.faq-list details[open] summary:after{transform:rotate(180deg)}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-3px);background:#263e5b;box-shadow:0 7px 0 #17283d10}.contact-panel .button:hover{background:#f18b6b}.text-link:hover{transform:translateX(-4px)}.text-link{transition:transform 200ms var(--ease-out)}.work-list li:hover{transform:translateX(-5px);background:#f6f5f055}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .process-steps li{transform:none}
@media(max-width:1150px){.hero h1{font-size:calc(49px * var(--lexx-text-scale, 1))}.hero-grid{gap:35px}.hero-description{font-size:calc(18px * var(--lexx-text-scale, 1))}}
@media(max-width:820px){.hero-grid{align-items:start}.hero h1{max-width:650px;font-size:calc(51px * var(--lexx-text-scale, 1))}.hero-copy{padding-top:0}.hero-enquiry{padding:28px}.hero-grid>.price-ribbon{margin-bottom:0}.process .section-heading,.process-intro{max-width:850px}.process-steps{gap:25px}.section{padding-block:65px}}
@media(max-width:540px){.site-header .nav-row{min-height:72px}.site-header .nav-cta{margin:0}.hero{padding-top:30px}.hero h1{font-size:calc(41px * var(--lexx-text-scale, 1))}.hero-copy{padding-top:0}.hero .eyebrow{font-size:calc(12px * var(--lexx-text-scale, 1));margin-bottom:21px}.hero-description{font-size:calc(18px * var(--lexx-text-scale, 1))}.hero-enquiry{border-radius:15px;padding:23px 18px}.hero .actions .button{width:100%}.hero-grid{row-gap:28px}.section{padding-block:55px}.process .section-heading,.process-intro{max-width:100%}.contact-panel{border-radius:15px}.contact-panel .form-fields{grid-template-columns:1fr}.hero-enquiry .form-fields{gap:12px}.section-heading h2{font-size:calc(32px * var(--lexx-text-scale, 1))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.scope-column,.price-component,.text-link,.work-list li,.process-steps li{transition:none!important;transform:none!important}}

.menu-toggle{border-radius:999px}
/* Existing content provides the motion: no decorative object or canvas. */
.hero-copy{padding-top:0}.hero{padding-top:54px}.hero-grid{align-items:start}.hero-enquiry{margin-top:8px}
.process-steps li{position:relative;border-top-color:#536377}
.process-steps li:after{content:'';position:absolute;right:0;left:0;top:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform 650ms var(--ease-out)}
.process-steps li.step-reached:after{transform:scaleX(1)}
.process-steps li:before{transition:box-shadow 240ms ease,background 240ms ease}
.process-steps li.step-current:before{box-shadow:0 0 0 7px #ee754f30;background:#ffb89f}
.process-steps .step-number{transition:transform 350ms var(--ease-out),color 240ms ease}
.process-steps li.step-current .step-number{transform:translateY(-5px);color:#fff}
.price-component{position:relative}.price-component:before{content:'';position:absolute;right:0;top:-1px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform 900ms var(--ease-out)}
.price-component.is-visible:before{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-4px) scale(1.015)}.scope-column .work-list li:hover{transform:translateX(-7px)}}
@media(max-width:540px){.hero{padding-top:30px}.process-steps li:after{top:0;bottom:0;right:0;left:auto;width:2px;height:auto;transform:scaleY(0);transform-origin:top}.process-steps li.step-reached:after{transform:scaleY(1)}.process-steps li.step-current .step-number{transform:translateX(-4px)}}
.motion-paused .process-steps *,.motion-paused .process-steps li:after{transition:none!important}
@media(prefers-reduced-motion:reduce){.process-steps li:after,.process-steps .step-number,.price-component:before{transition:none!important;transform:none!important}.button:hover{transform:none}}

.operator-intro{font-size:calc(16px * var(--lexx-text-scale, 1));color:var(--slate);margin-top:18px;max-width:620px}
@media(max-width:820px){.hero-enquiry{display:none}.operator-intro{font-size:calc(15px * var(--lexx-text-scale, 1))}.hero-description{max-width:580px}}

@media(max-width:540px){.hero h1{font-size:calc(39px * var(--lexx-text-scale, 1))}}
.motion-control{border:1px solid #b4bfc9;background:transparent;border-radius:999px;padding:8px 14px;color:var(--ink);font:inherit;font-size:calc(12px * var(--lexx-text-scale, 1));min-height:40px}

.hero,.section{overflow-x:clip}
