/* A quiet, tactile interface. Content never waits for decorative animation. */
[hidden]{display:none!important}
html{scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body{accent-color:#e6c578}
:where(a,button,input,select,textarea){-webkit-tap-highlight-color:transparent}
:where(a,button):focus-visible{outline:2px solid #f3d796;outline-offset:5px}
button,a,input,select,textarea{touch-action:manipulation}
:where(h1,h2,h3){text-wrap:balance}
p{overflow-wrap:break-word;text-wrap:pretty}
.button{min-height:48px;line-height:1.3;border-radius:14px;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s;white-space:normal}
.button:active{box-shadow:inset 0 2px 5px #0003}
.button>span[aria-hidden]{transition:translate .18s}
@media(hover:hover) and (pointer:fine){.button:hover>span[aria-hidden]{translate:3px 0}.studio-credit:hover strong{filter:brightness(1.25)}.mobile-choice:hover{border-color:#e6c57880;background:#282723}}
.answer-guide{margin-bottom:48px}
.answer-guide-intro{max-width:640px;margin-bottom:28px}
.answer-guide-intro h2{font-size:clamp(34px,4vw,58px);line-height:1.1;margin:18px 0;letter-spacing:-.045em}
.answer-guide-intro h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#e5c680;letter-spacing:-.035em}
.answer-guide-intro>p:last-child{font-size:1rem;color:#b7b7b2;line-height:1.7;max-width:48ch}
.answer-card-grid{display:grid;gap:12px}
.answer-block{position:relative;padding:26px 28px 26px 70px;border:1px solid #ffffff16;border-radius:18px;background:linear-gradient(130deg,#17191a,#111314);scroll-margin-top:108px}
.answer-block::before{content:attr(data-answer-number);position:absolute;left:25px;top:28px;font:500 12px/1.5 ui-monospace,SFMono-Regular,monospace;color:#d9bd7b}
.answer-block h3{font-size:clamp(19px,1.7vw,23px);font-weight:650;letter-spacing:-.025em;line-height:1.35;margin:0 0 12px}
.answer-block .direct-answer{line-height:1.75;color:#c8cac6;font-size:16px}
.answer-block:target{border-color:#d9bd7b;background:#1b1c18}
.answer-evidence{font-size:12px;padding-top:14px;border-top:1px solid #ffffff12;color:#aeb1ac}
.answer-reading{border-radius:18px;padding:26px;background:#161819;gap:0}
.answer-reading h3{margin-bottom:14px}
.answer-reading a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-top:1px solid #ffffff12;text-decoration:none;font-size:14px}
.answer-reading a::after{content:'↗';color:#e5c680;flex-shrink:0}
.collection-summary{padding:26px;border:1px solid #ffffff20;border-radius:22px;background:#141617;align-self:start}
.collection-summary>h2{font-size:clamp(27px,2.7vw,38px);line-height:1.2}
.collection-summary .editorial-media{border-radius:14px;overflow:hidden}
.collection-summary .editorial-list{padding:0;list-style:none}
.collection-summary .editorial-list li{padding:12px 0 12px 24px;border-bottom:1px solid #ffffff12;position:relative;font-size:14px;line-height:1.6}
.collection-summary .editorial-list li::before{content:'✓';position:absolute;left:0;color:#e5c680}
.page-context{display:grid;grid-template-columns:155px repeat(3,1fr);gap:12px;padding-block:24px}
.page-context a{display:flex;justify-content:space-between;align-items:center;min-height:54px;border-radius:14px;padding:14px 18px;background:#141617;border-color:#ffffff18;font-weight:600}
.page-context a::after{content:'↗';font-size:18px;margin-left:10px;color:#e5c680}
.page-jump{display:grid;grid-template-columns:155px repeat(3,1fr);align-items:stretch;gap:12px;counter-reset:jump}
.page-jump a{counter-increment:jump;display:flex;align-items:flex-start;gap:10px;padding:12px;font-size:13px;line-height:1.55;border-radius:12px;background:#ffffff04}
.page-jump a::before{content:'0' counter(jump);color:#e5c680;font:11px/1.8 ui-monospace,monospace}
.page-jump>span{align-self:center}
.studio-credit-row{padding:24px 0 6px;border-top:1px solid #ffffff12;display:flex;justify-content:flex-end}
.studio-credit{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:44px;font-size:12px;color:#b7b7b2}
.studio-credit strong{font-size:14px;font-weight:700;background:linear-gradient(100deg,#ffda8b,#f8a7dd,#aadfff,#ffda8b);background-size:200%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 18px #d0aeeb40;animation:studio-spectrum 8s ease-in-out infinite alternate}
.studio-heart{color:#eda4c6;font-size:12px}
@keyframes studio-spectrum{to{background-position:100%}}
/* Logo-backed media skeleton: the real image paints above it immediately. */
:where(.card-media,.editorial-media,.service-photo,.hero-media,.page-hero-media,.mega-preview-image){background:#151718 url('/assets/shift-it-surrey-logo-small.webp') center/56px 56px no-repeat}
.media-pending{position:relative}
.media-pending::after{content:'';position:absolute;z-index:0;left:calc(50% - 22px);top:calc(50% + 36px);width:44px;height:2px;background:linear-gradient(90deg,#8b743d,#f8d783,#8b743d);border-radius:2px;pointer-events:none}
.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}
.quote-main{background:#151819;color:#f2f3eb;border:1px solid #ffffff20;border-radius:22px;padding:34px;scroll-margin-top:100px}
.quote-main :is(h2,h3){color:#f2f3eb}
.quote-title-row .eyebrow{color:#e5c680}
.quote-main .step-badge{color:#e5c680;border-color:#e5c68055;background:#e5c68008}
.quote-main .field label,.quote-main .load-field legend{color:#dedfd7}
.quote-main .field :is(input,select,textarea){background:#222627;color:#f4f4eb;border-color:#ffffff25;color-scheme:dark}
.quote-main .field :is(input,textarea)::placeholder{color:#aeb5ad}
.quote-main .load-choice label{background:#222627;color:#dfe3da;border-color:#ffffff25}
.quote-main .button--gold{background:#e5c680;color:#141613}
.quote-main .button--gold:hover{background:#f1d898}
.quote-main .button--light{background:#232727;color:#f2f3eb;border:1px solid #ffffff30}
.quote-main .quote-note{color:#b8bcb3}
.quote-main .copy-button{color:#e5c680}
.quote-main .form-error{color:#ffb9a3}
.wizard-progress span{padding:12px 0;border-bottom:2px solid #ffffff20;color:#a7aaa5;font-size:11px;display:flex;gap:8px;align-items:center}
.wizard-progress b{font-weight:600;font-size:13px}
.wizard-progress [aria-current]{color:#f2d78e;border-color:#e5c680}
.wizard-progress .is-complete{color:#c3d7bc;border-color:#94ae88}
.wizard-step>h3{font-size:clamp(25px,2.7vw,34px);letter-spacing:-.035em;line-height:1.2;margin:0 0 12px;outline:none}
.wizard-intro{font-size:14px!important;line-height:1.7;color:#bfc2ba;margin:0 0 24px}
.wizard-controls{display:flex;gap:14px;align-items:center;margin-top:28px;justify-content:space-between}
.wizard-controls .button{margin-left:auto;padding:14px 20px;font-size:14px;gap:14px}
.wizard-back{background:transparent;color:#ddd;border:0;min-height:48px;padding:10px 8px;font-size:14px;cursor:pointer}
.wizard-reassurance{font-size:12px!important;line-height:1.6;color:#b8bcb3;margin:22px 0 0}
.wizard-reassurance span{color:#e5c680;margin-right:5px}
.wizard-step .form-grid{margin:0 0 22px}
.wizard-step .load-field{margin-top:24px}
.wizard-step .load-choice label{border-radius:12px;min-height:50px;padding:12px;font-size:14px}
.wizard-step .load-choice input:checked+label{background:#2e2a1e;color:#f8df9b;border-color:#d2b36d;box-shadow:inset 0 0 0 1px #d2b36d}
.field input,.field select,.field textarea{border-radius:12px;min-height:50px;padding:13px 15px;font-size:16px;line-height:1.5;transition:border-color .18s,box-shadow .18s}
.field :is(input,select,textarea):focus{border-color:#e5c680;box-shadow:0 0 0 3px #e5c68020;outline:none}
.field input[aria-invalid=true]{border-color:#ffb9a3}
.field input#postcode{text-transform:uppercase;letter-spacing:.07em}
.field textarea{resize:vertical;min-height:96px}
.photo-picker{display:grid;justify-items:center;gap:7px;border:1px dashed #e5c68066;border-radius:18px;padding:24px 18px;background:#e5c68006;cursor:pointer;text-align:center}
.photo-picker strong{font-size:15px;color:#eee}
.photo-picker small{font-size:12px;color:#b8bcb3}
.photo-picker-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid #e5c68044;color:#efd58e;font-size:24px;margin-bottom:4px}
.photo-picker:focus-within,.photo-picker:has(+input:focus-visible){outline:2px solid #e5c680;outline-offset:4px}
.photo-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.photo-preview{position:relative;aspect-ratio:1;border:1px solid #ffffff20;border-radius:12px;overflow:hidden;background:#202221}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-preview button{position:absolute;top:0;right:0;width:44px;height:44px;background:#111e;border:0;color:#fff;font-size:22px;cursor:pointer;border-radius:0 0 0 12px}
.photo-status{font-size:12px!important;line-height:1.6;color:#b8bcb3;margin:12px 0 0}
.wizard-finish{text-align:left;padding-top:12px}
.ready-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#a0b28c18;border:1px solid #b1c79755;color:#d6eac0;font-size:24px;margin-bottom:20px}
.wizard-finish .quote-result{display:block;background:transparent;padding:0;border:0;opacity:1;transform:none}
.wizard-finish .result-actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
.wizard-finish .result-actions .button{justify-content:center;min-height:50px;font-size:15px}
.wizard-finish .copy-button{min-height:44px;font-size:13px}
.wizard-finish .quote-note{font-size:12px;line-height:1.7;margin:20px 0}
.share-photos{margin-top:12px;width:100%;font-size:14px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){
 .nav-ready .mobile-menu,.nav-ready .mobile-menu.is-open{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:16px;position:fixed;inset:0 auto auto 0;width:100%;height:100svh;max-height:100svh;box-sizing:border-box;overflow:hidden;padding:92px max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#101213;backdrop-filter:none;overscroll-behavior:none}
 .mobile-menu-toolbar{display:flex;align-items:center;gap:16px;min-height:36px;border-bottom:1px solid #ffffff12;padding-bottom:10px}
 .mobile-menu-toolbar a,.mobile-menu-toolbar button{color:#e2c778;font-size:13px;min-height:36px;display:flex;align-items:center;background:none;border:0;cursor:pointer;padding:4px 0}
 .mobile-position{margin-left:auto;color:#999f97;font-size:11px;max-width:48%;text-align:right;line-height:1.3}
 .mobile-screen-stage{min-height:0;overflow:hidden}
 .mobile-screen{height:100%;display:flex;flex-direction:column;gap:14px}
 .mobile-screen-heading h2{font-size:clamp(25px,7vw,34px);line-height:1.15;letter-spacing:-.045em;margin:7px 0 0;max-width:420px}
 .mobile-screen-heading .eyebrow{font-size:10px;letter-spacing:.13em;margin:0;color:#c6ad77}
 .mobile-choices{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-height:0}
 .mobile-choices--root{grid-template-columns:1fr}
 .mobile-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;border:1px solid #ffffff15;border-radius:13px;background:#1b1e1f;padding:12px 14px;box-sizing:border-box;color:#f2f1ed;transition:background-color .16s,border-color .16s}
 .mobile-choice strong{font-size:14px;font-weight:600;line-height:1.4;display:block;text-wrap:balance}
 .mobile-choice small{display:block;color:#aeb4ac;font-size:11px;line-height:1.5;margin-top:3px}
 .mobile-choices--root .mobile-choice strong{font-size:17px}
 .choice-arrow{flex-shrink:0;color:#e5c680;font-size:17px}
 .mobile-choice:active{background:#2c2b23;border-color:#d1b773}
 .mobile-overview{display:flex;align-items:center;justify-content:space-between;color:#e5c680;font-size:13px!important;min-height:44px;padding:8px 2px;margin-top:0}
 .mobile-menu-signature{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #ffffff12}
 .mobile-menu-signature img{width:54px;height:54px;object-fit:contain;border-radius:12px}
 .mobile-menu-signature p{color:#f0efe9;font-size:15px;line-height:1.5;margin:0}
 .mobile-menu-signature span{color:#aeb4ac;font-size:12px}
 .mobile-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .mobile-menu-actions a{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:12px 14px;border:1px solid #ffffff25;border-radius:13px;font-size:13px;font-weight:600}
 .mobile-menu-actions a:last-child{background:#e5c680;color:#151613;border-color:#e5c680}
 .menu-open .site-header{background:#101213;border-color:#ffffff16;box-shadow:none}
 .menu-open{overflow:hidden;overscroll-behavior:none}
 .page-context,.page-jump{grid-template-columns:repeat(3,1fr);gap:9px}
 .page-context>span,.page-jump>span{grid-column:1/-1}
 .page-context a{font-size:12px;padding:12px;line-height:1.5;min-height:58px;gap:6px}
 .page-jump a{font-size:12px;padding:10px}
}
@media(max-width:700px){
 .shell{max-width:calc(100% - 40px)}
 .hero-actions{gap:12px!important;align-items:center}
 .hero-actions .button{padding:14px 18px;font-size:14px;gap:14px}
 .page-hero h1{font-size:clamp(28px,8.2vw,36px);line-height:1.1;letter-spacing:-.04em;min-height:105px;margin-bottom:20px}
 .hero-line{font-size:clamp(44px,12vw,74px);line-height:1.05}
 .page-hero{min-height:0;padding:128px 0 56px}
 .page-intro{font-size:16px;line-height:1.75;max-width:44ch}
 .section{padding:56px 0}
 .section-head{gap:20px;margin-bottom:28px}
 .section-head h2,.copy-block h2,.split-feature h2,.compact-cta h2,.faq-intro h2{font-size:clamp(28px,8vw,36px);line-height:1.15;letter-spacing:-.04em}
 .answer-guide-intro h2{font-size:36px;line-height:1.1}
 .answer-guide-intro>p:last-child{font-size:14px}
 .answer-block{padding:23px 20px 23px 48px;border-radius:16px}
 .answer-block::before{left:17px;top:25px;font-size:10px}
 .answer-block h3{font-size:18px;line-height:1.4}
 .answer-block .direct-answer{font-size:16px;line-height:1.75}
 .answer-evidence{font-size:12px}
 .page-context{grid-template-columns:1fr 1fr 1fr;padding:20px 0}
 .page-context a{display:block;border-radius:12px;font-size:11px;min-height:58px}
 .page-context a::after{display:block;margin:4px 0 0;font-size:16px;line-height:1}
 .page-jump{grid-template-columns:1fr;padding:16px 0;gap:6px}
 .page-jump a{align-items:center;min-height:44px;padding:10px 13px;font-size:12px}
 .page-jump a::before{margin-right:3px}
 .editorial-layout,.split-feature{gap:30px}
 .collection-summary{padding:24px;border-radius:18px}
 .quote-app{border-radius:22px;overflow:hidden}
 .quote-main{padding:26px 22px}
 .quote-title-row{align-items:flex-start;gap:12px;margin-bottom:24px}
 #quote-title{font-size:30px;line-height:1.15;letter-spacing:-.045em}
 .quote-title-row .eyebrow{font-size:10px}
 .step-badge{font-size:10px;padding:7px 10px;white-space:nowrap}
 .quote-aside{display:none}
 .wizard-progress{margin-bottom:24px;gap:8px}
 .wizard-progress span{gap:5px;font-size:10px}
 .wizard-progress b{font-size:12px}
 .wizard-step>h3{font-size:25px;line-height:1.25}
 .wizard-step .form-grid{grid-template-columns:1fr;gap:18px}
 .wizard-controls{gap:8px}
 .wizard-controls .button{font-size:13px;padding:13px 16px;gap:10px}
 .load-choices{gap:9px}
 .field label{font-size:13px}
 .photo-picker{padding:20px 12px}
 .photo-picker small{font-size:11px}
 .footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px}
 .footer-brand{grid-column:1/-1;display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:center;padding-bottom:22px;border-bottom:1px solid #ffffff15}
 .footer-brand img{width:64px;height:64px;margin:0}
 .footer-brand p{font-size:13px;line-height:1.7;margin:0}
 .footer-col h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#d9bd7b;margin-bottom:12px}
 .footer-col a{font-size:13px;min-height:40px;display:flex;align-items:center;padding-block:7px;line-height:1.5;overflow-wrap:anywhere}
 .footer-col:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:22px;border:1px solid #ffffff15;border-radius:18px;background:#141617}
 .footer-col:last-child h3,.footer-col:last-child p{grid-column:1/-1}
 .footer-col:last-child p{font-size:12px;color:#b7bcb3;margin:8px 0}
 .footer-col:last-child a[href^="mailto:"]{grid-column:1/-1;overflow-wrap:normal;word-break:normal}
 .footer-col:last-child a[href^="mailto:"]:has(+a[href^="mailto:"]){display:none}
 .footer-bottom{display:grid;grid-template-columns:1fr;gap:13px;font-size:11px;line-height:1.7;padding:24px 0}
 .footer-bottom>span,.footer-bottom>a{max-width:none}
 .footer-bottom button{justify-self:start;min-height:44px;padding:10px 0}
 .studio-credit-row{justify-content:center;padding-top:14px}
 .studio-credit{justify-content:center;font-size:11px;gap:6px}
 .studio-credit strong{font-size:13px;animation:none}
 .mobile-bar{padding:10px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom));gap:10px}
 .mobile-bar a{min-height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:13px}
 .faq-list details{border-radius:14px;margin-bottom:9px;background:#151718;border:1px solid #ffffff15}
 .faq-list summary{padding:20px 45px 20px 18px;font-size:15px;line-height:1.5;min-height:60px}
 .faq-list .faq-content{padding-inline:18px}
 .breadcrumbs{font-size:11px;line-height:1.7;gap:6px}
 .breadcrumbs [aria-current]{overflow-wrap:anywhere}
}
@media(max-height:700px) and (max-width:980px){.mobile-menu-signature{display:none}.nav-ready .mobile-menu,.nav-ready .mobile-menu.is-open{gap:10px}.mobile-screen{gap:10px}.mobile-choice{min-height:50px;padding:10px 12px}.mobile-choices--root{grid-template-columns:1fr 1fr}.mobile-choices--root .mobile-choice:first-child{grid-column:1/-1}.mobile-choices--root .mobile-choice small{display:none}.mobile-choices--root .mobile-choice strong{font-size:16px}.mobile-screen-heading h2{font-size:26px}.mobile-menu-toolbar{padding-bottom:6px}}
@media(max-height:480px) and (max-width:980px){.nav-ready .mobile-menu,.nav-ready .mobile-menu.is-open{padding-top:76px;padding-bottom:10px;gap:6px;grid-template-rows:auto minmax(0,1fr) auto}.mobile-menu-toolbar{display:none}.mobile-screen-heading .eyebrow{display:none}.mobile-screen-heading h2{font-size:20px;margin:0}.mobile-screen{gap:7px}.mobile-choices,.mobile-choices--root{grid-template-columns:repeat(3,1fr);gap:6px}.mobile-choice{min-height:44px;padding:6px 10px}.mobile-choice strong,.mobile-choices--root .mobile-choice strong{font-size:11px}.mobile-choice small{display:none}.mobile-overview{min-height:24px;font-size:11px!important;padding:0}.mobile-menu-actions a{min-height:44px;padding:8px 12px}.mobile-back[hidden]{display:none!important}.mobile-screen-stage{position:relative}.mobile-menu[data-screen]:not([data-screen=root]) .mobile-screen-heading{padding-right:76px}.mobile-menu[data-screen]:not([data-screen=root]) .mobile-menu-toolbar{display:flex;position:absolute;right:22px;top:73px;z-index:2;border:0;padding:0}.mobile-menu[data-screen]:not([data-screen=root]) .mobile-home,.mobile-menu[data-screen]:not([data-screen=root]) .mobile-position{display:none}.mobile-back{min-height:28px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.studio-credit strong{animation:none}:where(.button,.button>span,.mobile-choice,.field input,.field select,.field textarea){transition:none!important}}
@media(max-height:480px) and (max-width:980px){.mobile-choices--root .mobile-choice:first-child{grid-column:auto}}
