:root{--paper:#f8f5ef;--ink:#242320;--muted:#5e5a54;--line:#d7d1c8;--accent:#71876a}
.services-page{background:var(--paper)}
.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 24px;color:#50614d}
.ruled{position:relative;border-top:1px solid var(--line);padding:70px var(--gutter)}
.ruled:before,.ruled:after{content:'+';position:absolute;top:-9px;font:16px monospace;color:#889080}.ruled:before{left:22px}.ruled:after{right:22px}
.workflow-heading h2{font:700 clamp(44px,4.6vw,74px)/1.02 BigShoulders,sans-serif;letter-spacing:-.025em;margin:0 0 20px}
.workflow-heading>p:last-child{font-size:16px;line-height:1.6;color:var(--muted)}
.workflow-track{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin:56px 0 40px;padding:0 0 20px;isolation:isolate}
.workflow-track:before{content:'';position:absolute;left:10%;right:10%;height:1px;background:#9ca494;top:103px;z-index:-1}
.workflow-track:after{content:'';position:absolute;left:10%;width:calc(var(--active-step,0)*20%);height:2px;top:103px;background:#71876a;z-index:-1;transition:width .6s ease}
.workflow-step{appearance:none;background:transparent;border:0;color:var(--ink);cursor:pointer;display:flex;align-items:center;flex-direction:column;padding:0 10px;min-width:0;gap:10px;perspective:600px}
.step-number{font:10px monospace;color:#7a8073}.step-label{font-size:13px;min-height:34px;text-align:center;line-height:1.3}
.step-block{width:54px;height:54px;display:grid;place-items:center;background:linear-gradient(135deg,#fffefa,#e0ddd4);border:1px solid #c4c2b8;box-shadow:2px 5px 0 #b4b5a8,4px 10px 12px #30372520;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;transform:rotateX(12deg)}
.step-block>span{width:28px;height:28px;background:#e9e7df;border:1px solid #b2b4a6;box-shadow:inset 1px 2px 3px #3332;transition:background .4s}
.workflow-step[aria-expanded=true] .step-block{transform:translateY(-8px) rotateX(12deg);box-shadow:2px 7px 0 #a4ac98,4px 18px 15px #30372528}
.workflow-step[aria-expanded=true] .step-block>span{background:#71876a}
.workflow-step:focus-visible{outline:2px solid #71876a;outline-offset:6px}
.workflow-bottom{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.workflow-explanation{max-width:480px}.step-detail{padding:22px 0;border-top:1px solid var(--line)}.step-detail[hidden]{display:none}.has-workflow .step-detail{min-height:204px}
.step-detail .eyebrow{margin-bottom:14px}.step-detail h3{font-size:22px;font-weight:500;letter-spacing:-.025em;margin:0 0 12px}.step-detail>p:last-child{font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.workflow-note{font-size:11px;line-height:1.6;color:var(--muted);max-width:48ch;margin:26px 0 0}
.workflow-photo{margin:0}.workflow-photo img{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;display:block}.workflow-photo figcaption{display:flex;justify-content:space-between;gap:20px;font-size:11px;margin-top:12px}.workflow-photo a{padding:10px 0;text-underline-offset:5px}.workflow-photo a:last-child{font-size:9px;color:var(--muted)}
@media(max-width:760px){.ruled{padding:48px var(--gutter)}.workflow-track{grid-template-columns:1fr;margin:32px 0;gap:24px;padding:0}.workflow-track:before{left:26px;top:26px;bottom:26px;width:1px;height:auto;right:auto}.workflow-track:after{left:26px;top:26px;width:2px;height:calc(var(--active-step,0)*78px)}.workflow-step{display:grid;grid-template-columns:54px 22px 1fr;text-align:left;gap:16px;padding:0;min-height:54px}.step-block{grid-column:1;grid-row:1}.step-number{grid-column:2;grid-row:1}.step-label{grid-column:3;grid-row:1;text-align:left;min-height:0;font-size:15px}.workflow-step[aria-expanded=true] .step-block{transform:translateX(4px) rotateX(12deg)}.workflow-bottom{grid-template-columns:1fr;gap:30px}.has-workflow .step-detail{min-height:0}.workflow-photo figcaption{flex-wrap:wrap;gap:0}.workflow-photo a{min-height:44px;display:flex;align-items:center}}
@media(prefers-reduced-motion:reduce){.workflow-track:after,.step-block,.step-block>span{transition:none}}
html:has(.motion-toggle[aria-pressed=true]) .workflow-track:after,html:has(.motion-toggle[aria-pressed=true]) .step-block,html:has(.motion-toggle[aria-pressed=true]) .step-block>span{transition:none}
.services-page .site-header{border-bottom:1px solid var(--line);margin:0 24px;padding-inline:calc(var(--gutter) - 24px)}
.services-hero{min-height:610px;position:relative;isolation:isolate;overflow:hidden;padding:62px var(--gutter) 54px}
.services-hero-copy{position:relative;z-index:1;max-width:790px;pointer-events:none}.services-hero-copy a{pointer-events:auto}
.services-hero h1{font:700 clamp(68px,7vw,112px)/.98 BigShoulders,sans-serif;letter-spacing:-.035em;margin:0 0 30px}
.services-hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.65;color:var(--muted);margin:0;max-width:440px}
.hero-scroll{display:inline-flex;align-items:center;gap:16px;font-size:28px;margin-top:50px;min-height:44px}.hero-scroll span{font:10px Satoshi,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.service-grid-art{position:absolute;inset:0 0 0 42%;z-index:-1;background:var(--paper) url("/_rebuild/assets/imagery/home-optimised/grid-first-frame.webp") center/cover;mask-image:linear-gradient(to right,transparent,#000 40%);pointer-events:none}
.service-grid-art[data-ready=true]{background:none}.service-grid-art canvas{opacity:1}
.services-page .services{padding:50px var(--gutter) 64px;border-top:1px solid var(--line)}
.services-page .service-heading{display:block;margin-bottom:32px}.services-page .service-heading h2{font:500 clamp(28px,2.8vw,40px)/1.2 Satoshi,sans-serif;letter-spacing:-.04em}.services-page .service-heading>p{display:none}
.services-page .service-index h3{font-family:BigShoulders,sans-serif;font-size:36px;font-weight:700;margin:0}
.services-page .service-index details[open]{background:#e1e7da}.services-page .service-body{padding-bottom:28px;gap:50px}.services-page .service-body>p{margin:0}
.delivery h2{font-size:32px;font-weight:500;letter-spacing:-.035em;margin:0 0 38px}.delivery-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.delivery-steps article+article{padding-left:35px;border-left:1px solid var(--line)}.delivery-steps h3{font-size:20px;font-weight:500;letter-spacing:-.02em;margin:0 0 16px}.delivery-steps .eyebrow{margin-bottom:20px}.delivery-steps p:not(.eyebrow){font-size:15px;line-height:1.7;color:var(--muted)}.delivery-steps a{display:inline-flex;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}
.services-page .home-faq{padding:60px var(--gutter)}.services-page .home-faq h2{font-size:36px}.services-page .home-faq details{padding:0}.services-page .home-faq summary{padding:24px 0;min-height:48px}.services-page .home-faq details p{margin:0 0 24px}
.services-preview{position:fixed;bottom:16px;right:16px;z-index:15;font-size:11px}.services-preview details{background:var(--paper);border:1px solid var(--line);box-shadow:0 3px 15px #24232010}.services-preview summary{cursor:pointer;min-height:44px;padding:14px;list-style:none}.services-preview a,.services-preview button{display:flex;min-height:44px;padding:12px 14px}
@media(max-width:760px){.services-page .site-header{margin:0 16px;padding:0 8px}.services-page .brand{font-size:22px;gap:12px}.services-page .site-header nav{gap:12px;font-size:12px}.services-page .site-header nav a:nth-child(2){display:inline-flex}.services-page .site-header nav a{min-height:44px;gap:5px}.services-hero{min-height:540px;padding:48px var(--gutter) 35px}.services-hero h1{font-size:clamp(54px,9.8vw,74px);line-height:1.03}.services-hero-copy>p:not(.eyebrow){font-size:16px;max-width:30ch}.desktop-break{display:none}.service-grid-art{inset:0 0 0 32%;opacity:.35;mask-image:linear-gradient(to right,transparent,#000)}.hero-scroll{margin-top:30px}.services-page .services{padding:38px var(--gutter) 48px}.services-page .service-index h3{font-size:28px}.services-page .service-body{padding-left:38px}.services-page .service-body>div{margin-top:20px}.delivery-steps{grid-template-columns:1fr;gap:28px}.delivery-steps article+article{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.services-page .home-faq{padding:48px var(--gutter)}.services-page .footer-links nav{gap:0 24px}.services-page .footer-links a,.services-page .footer-fine a,.services-page .cta-baseline a{min-height:44px;display:inline-flex;align-items:center}}

/* Header and opening share one uninterrupted animated surface. */
.services-opening{position:relative;isolation:isolate;overflow:hidden}
.services-opening .site-header{border-bottom:0}
.services-opening .services-hero{isolation:auto;overflow:visible}
.delivery h2{font-family:BigShoulders,sans-serif;font-weight:700;font-size:clamp(36px,3.5vw,52px);line-height:1.1;margin-bottom:40px}
.delivery-steps{counter-reset:delivery}
.delivery-steps article{counter-increment:delivery;position:relative;padding-top:44px}
.delivery-steps article:before{content:counter(delivery,decimal-leading-zero);position:absolute;top:0;left:0;font:700 28px/1 BigShoulders,sans-serif;color:#71876a}
.delivery-steps article+article:before{left:35px}
.delivery-steps .eyebrow{font-size:10px;margin-bottom:16px}
@media(max-width:760px){.delivery-steps article+article{padding-top:64px}.delivery-steps article+article:before{left:0;top:26px}}
