/* Closing section and enquiry */





#enquiry input,#enquiry textarea{font:inherit}








#contact.zignite-closing{position:relative;overflow:hidden;min-height:650px;padding:88px max(5vw,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}
#contact.zignite-closing>div{min-width:0}
#contact.zignite-closing h1,#contact.zignite-closing h2{font-size:clamp(46px,5.3vw,80px);line-height:1.02;letter-spacing:-.05em;margin:0 0 28px}
#contact.zignite-closing p{font-size:18px;line-height:1.55;max-width:480px;color:#aaa;margin:0 0 28px}
#contact .eyebrow,#enquiry .eyebrow{font-size:11px!important;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:24px!important}
#contact .cta,#enquiry .cta{border:1px solid var(--red);background:var(--red);color:#fff;padding:16px 24px;font-weight:700;font-size:14px;border-radius:2px}
#contact .cta:hover,#enquiry .cta:hover{background:#ff2840}
#contact .direct{margin-top:26px;font-size:13px;line-height:1.8;color:#aaa}
#contact .direct a{margin-right:18px}
#contact .visual{height:370px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}

























#contact.zignite-closing{background:var(--paper);color:var(--ink)}
#contact.zignite-closing p,#contact.zignite-closing .direct{color:#666}
#contact.zignite-closing .domain{color:var(--ink)}
#contact .particle-field{position:relative;width:min(460px,100%);flex:none}
#contact.zignite-closing canvas{width:100%;height:auto;aspect-ratio:1;display:block;cursor:crosshair}
#contact.zignite-closing .visual{height:510px}
#contact.zignite-closing .domain{transform:scale(.72);transform-origin:center top;margin-top:-14px}
#contact.zignite-closing .suffix{opacity:1}



#enquiry{border:1px solid #ffffff24;border-radius:24px;background:#101012;color:#f2f2ef;width:min(660px,calc(100vw - 32px));padding:32px;max-height:88dvh;overflow:auto}
#enquiry::backdrop{background:#000b;backdrop-filter:blur(16px)}
#enquiry h2{font-size:30px;line-height:1.1;letter-spacing:-.04em;margin:15px 0 18px}
#enquiry p{color:#aaa;font-size:15px;line-height:1.5}
#enquiry .close{float:right;border:0;background:none;color:#aaa;font-size:26px}
#enquiry .services{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}
#enquiry .services button{background:#1b1b1e;border:1px solid #ffffff24;border-radius:10px;padding:12px;color:#eee;text-align:left;font-size:13px}
#enquiry .services button.selected{background:#301219;border-color:var(--red)}
#enquiry label{font-size:12px;color:#aaa;display:block;margin:18px 0}
#enquiry input,#enquiry textarea{display:block;width:100%;border:1px solid #ffffff24;background:#1d1d21;color:#fff;border-radius:10px;padding:14px;margin-top:8px}
#enquiry textarea{min-height:95px;resize:vertical}
#enquiry .dialog-foot{border-top:1px solid #ffffff24;padding-top:24px;margin-top:26px;display:flex;justify-content:space-between;align-items:center}
#enquiry .back{border:0;background:none;color:#aaa}
#enquiry .step-label{font-size:11px;letter-spacing:.12em;color:#aaa}
#enquiry .progress{height:3px;background:#ffffff20;margin-top:24px}
#enquiry .progress span{display:block;background:var(--red);height:100%;width:50%;transition:width .3s}
#enquiry [hidden]{display:none!important}

@media(max-width:639px){
#contact.zignite-closing{grid-template-columns:minmax(0,1fr);gap:25px;padding:64px 24px}
#contact.zignite-closing h1,#contact.zignite-closing h2{font-size:52px}
#contact .visual{height:290px}


#contact.zignite-closing .visual{height:380px}
#contact .direct a{display:block}


}
@media(prefers-reduced-motion:reduce){



}
#contact.zignite-closing{align-items:stretch}
#contact.zignite-closing .visual{height:auto;min-height:0;display:block}
#contact.zignite-closing .particle-field{position:absolute;width:var(--z-size,580px);left:50%;bottom:calc(var(--z-size,580px) * -.122 + var(--z-baseline,0px));transform:translateX(-50%)}
#contact .particle-headline{--brand-width:3.48em}
#contact .headline-first{display:block}
#contact .headline-second{position:relative;display:flex;align-items:baseline;width:max-content;white-space:nowrap}
#contact .headline-is{flex:none}
#contact .headline-prefix{display:block;position:relative;width:0;flex:none}
#contact .headline-brand{display:block;width:max-content}
#contact .brand-char{display:inline-block;opacity:0}
#contact .brand-i{position:relative;color:var(--ink)}
#contact .letter-glyph{display:inline-block}
#contact .brand-char.is-scrambling,#contact .suffix-char.is-scrambling{text-shadow:-3px 0 #00bbff,3px 0 #ff174c}
#contact .is-scrambling .letter-glyph{transform:translate(var(--glitch-x,0px),var(--glitch-y,0px))}
#contact .suffix-char.is-scrambling{transform:translate(var(--glitch-x,0px),var(--glitch-y,0px))}
#contact .headline-now{flex:none}
#contact .headline-period,#contact .suffix-char{display:inline-block}
#contact .headline-period{color:var(--red)}
#contact .headline-leading-dot{display:none;vertical-align:baseline}
#contact .typing-caret{position:absolute;top:50%;left:0;width:0;opacity:0}
#contact .typing-caret:after{content:'';position:absolute;left:.025em;top:-.38em;height:.78em;width:4px;background:#737378;z-index:2}
#contact .typing-caret:before,#contact .cursor-red-layer{content:'';position:absolute;left:.025em;top:-.38em;height:.78em;width:4px;pointer-events:none}
#contact .typing-caret:before{background:#00bfe8;opacity:.7;z-index:0;animation:cursor-cyan-shift 1.1s ease-in-out infinite}
#contact .cursor-red-layer{background:#ff174c;opacity:.65;z-index:1;animation:cursor-red-shift 1.35s ease-in-out infinite}
@keyframes cursor-cyan-shift{0%,100%{transform:translate(-2px,0)}30%{transform:translate(1px,-1px)}55%{transform:translate(-3px,1px)}80%{transform:translate(0,-1px)}}
@keyframes cursor-red-shift{0%,100%{transform:translate(2px,0)}25%{transform:translate(-1px,1px)}55%{transform:translate(3px,-1px)}80%{transform:translate(1px,1px)}}
#contact .particle-headline[data-caret="true"] .typing-caret{opacity:1;animation:typing-blink .325s steps(1,end) infinite}
#contact .particle-headline[data-writing="true"] .typing-caret{opacity:1;animation:none}
@keyframes typing-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@media(max-width:639px){#contact.zignite-closing .visual{height:auto;min-height:0}
#contact.zignite-closing .particle-field{position:relative;width:min(440px,100%);left:auto;bottom:auto;transform:none;margin:-20px auto -35px}
#contact.zignite-closing .particle-headline{font-size:clamp(40px,10.8vw,52px)}}
@media(prefers-reduced-motion:reduce){#contact .particle-headline .headline-prefix{width:var(--brand-width)}
#contact .particle-headline .brand-char{opacity:1}
#contact .particle-headline .typing-caret{display:none}
#contact .particle-headline .headline-now{color:var(--red)}}
#contact.zignite-closing .closing-copy>.cta{display:inline-flex;align-items:center;gap:16px;min-height:54px;transition:background .22s,box-shadow .3s,transform .22s;box-shadow:0 0 0 5px rgba(247,6,30,calc(var(--cta-response,0)*.045))}
#contact.zignite-closing .closing-copy>.cta:hover,#contact.zignite-closing .closing-copy>.cta:focus-visible{background:#db0019;transform:translateY(-1px);box-shadow:0 5px 18px #f7061e24}
#contact .cta-arrow{display:inline-block;transition:transform .25s}
#contact .cta:hover .cta-arrow,#enquiry .cta:hover .cta-arrow,#contact .cta:focus-visible .cta-arrow,#enquiry .cta:focus-visible .cta-arrow{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){#contact.zignite-closing .closing-copy>.cta,#contact .cta-arrow{transition:none!important;transform:none!important}}
#enquiry{position:fixed;width:min(660px,calc(100vw - 32px));height:min(740px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:32px;overflow:hidden}
#enquiry[open]{display:flex;flex-direction:column}
#enquiry .close{position:absolute;top:20px;right:20px;display:grid;place-items:center;width:38px;height:38px;padding:0;line-height:1;float:none;border-radius:50%;transition:background .2s,color .2s}
#enquiry .close:hover{background:#ffffff12;color:white}
#enquiry .close svg{display:block;transform-origin:50% 50%;transition:transform .2s}
#enquiry .close:hover svg{transform:rotate(90deg)}
#enquiry .preview-tag{padding-right:36px;margin-bottom:18px;flex:none}
#enquiry .step-label,#enquiry .progress{flex:none}
#enquiry .progress{margin-bottom:4px}
#enquiry-form{display:flex;flex:1;min-height:0}
#enquiry .form-step{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}
#enquiry .step-body{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;padding-right:8px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent}
#enquiry .dialog-foot{flex:none;margin-top:20px;padding-top:20px;min-height:74px}
#enquiry .cta{min-height:48px;transition:background .2s,box-shadow .2s,transform .2s}
#enquiry .cta:hover{background:#db0019;box-shadow:0 4px 16px #f7061e24;transform:translateY(-1px)}
#enquiry .cta:active{transform:translateY(0)}
#enquiry .services button{transition:background .18s,border-color .18s,box-shadow .18s}
#enquiry .services button:hover{background:#28282d;border-color:#ffffff66}
#enquiry .services button.selected:hover{background:#46131e;border-color:#ff4355}
#enquiry input,#enquiry textarea{transition:background .18s,border-color .18s,box-shadow .18s}
#enquiry textarea{resize:none;min-height:95px}
#enquiry input:hover,#enquiry textarea:hover{background:#24242a;border-color:#ffffff60}
#enquiry input:focus,#enquiry textarea:focus{outline:none;border-color:var(--red);background:#222226;box-shadow:0 0 0 3px #f7061e20}
#enquiry label:focus-within{color:#eee}
#enquiry .back{padding:12px 10px;margin-left:-10px;border-radius:6px;transition:color .18s,background .18s}
#enquiry .back:hover{color:white;background:#ffffff0d}
#enquiry button:focus-visible{outline:2px solid #f2f2ef;outline-offset:3px}
#enquiry h2:focus{outline:none}
#enquiry .confirmation-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
#enquiry .confirmation-body h2{font-size:clamp(32px,4vw,42px);margin-top:0}
#enquiry .confirmation-body p{max-width:410px}
#enquiry .confirmation-body .eyebrow{color:#aaa;margin:26px 0 16px!important}
#enquiry .confirmation-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;color:var(--red);border:1px solid #f7061e66;background:#f7061e10;font-size:30px}
#enquiry .form-step:not([hidden]) .step-body{animation:enquiry-enter .22s ease-out}
@keyframes enquiry-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:520px){#enquiry{padding:24px 20px;border-radius:18px}
#enquiry .close{top:12px;right:12px}
#enquiry .services{gap:8px;margin:20px 0}
#enquiry .services button{padding:11px 9px;min-height:44px;font-size:12px}
#enquiry .dialog-foot{margin-top:14px;padding-top:16px}
#enquiry h2{font-size:28px}
#enquiry .step-body{padding-right:6px}}
@media(prefers-reduced-motion:reduce){#enquiry *,#enquiry *:before,#enquiry *:after{animation:none!important;transition:none!important}}
#enquiry .services button{position:relative;padding-right:32px;min-height:48px;line-height:1.35}
#enquiry .services .choice-mark:after{content:'+';position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#888;font-size:17px}
#enquiry .services button.selected .choice-mark:after{content:'✓';color:#ff4355;font-size:14px}
#enquiry .confirmation-body .confirmation-preview{font-size:12px;color:#777;margin-top:6px}
#enquiry .field-help{font-size:12px;line-height:1.5;color:#999;margin:-8px 0 16px;max-width:520px}
#contact.zignite-closing .direct a:hover{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
@media(max-width:639px){#contact.zignite-closing .visual{width:calc(100% + 32px);margin:16px -16px 0}
#contact.zignite-closing .particle-field{position:relative;width:100%;max-width:none;aspect-ratio:493 / 531;left:auto;bottom:auto;transform:none;margin:0}
#contact.zignite-closing canvas{position:absolute;width:142.42%;max-width:none;height:auto;aspect-ratio:1;left:-21.21%;top:-16.114%}}
#contact.zignite-closing,#enquiry{--red:#f7061e;--ink:#101012;--paper:#f2f2ef;font-family:'Inter Tight',Arial,sans-serif;line-height:normal}#contact.zignite-closing{padding:88px max(var(--pad),calc((100vw - clamp(1040px,66.666667vw,1600px))/2))}#contact .eyebrow:before,#enquiry .eyebrow:before{display:none}#contact .direct{display:flex;flex-wrap:wrap;gap:3px 18px}#contact .direct a{margin:0}#enquiry .services{background:transparent;color:inherit;padding:0}#enquiry .preview-tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#888}#enquiry .form-status{font-size:13px;line-height:1.5;margin:14px 0 0}#enquiry .form-status[data-state=error]{color:#ffabb4}#enquiry .cta:disabled{cursor:wait;opacity:.7;transform:none}#enquiry button:focus-visible,#contact button:focus-visible,#contact a:focus-visible{outline:2px solid currentColor;outline-offset:4px}#enquiry .enquiry-submit-spinner{display:inline-block;width:13px;height:13px;margin-right:8px;border:2px solid #ffffff55;border-top-color:white;border-radius:50%;animation:enquiry-spin .8s linear infinite}@keyframes enquiry-spin{to{transform:rotate(360deg)}}#enquiry .spam-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#contact .no-script-contact{grid-column:1/-1;font-size:14px;margin-top:24px}@media(min-width:640px) and (max-width:1279px){#contact.zignite-closing{padding:80px var(--pad);gap:36px}#contact.zignite-closing h2{font-size:clamp(32px,4.4vw,58px)}#contact.zignite-closing .closing-copy{align-self:center}#contact.zignite-closing .visual{display:flex;align-items:center;justify-content:center}#contact.zignite-closing .particle-field{position:relative;width:100%;max-width:none;aspect-ratio:493 / 531;left:auto;bottom:auto;transform:none;margin:0}#contact.zignite-closing canvas{position:absolute;width:142.42%;height:auto;aspect-ratio:1;left:-21.21%;top:-16.114%}}@media(max-width:639px){#contact.zignite-closing{padding:64px 24px;gap:25px}#contact .direct{display:grid;gap:0}#contact .direct a{min-height:28px;display:flex;align-items:center}#contact .visual{width:calc(100% + 32px);margin:16px -16px 0}}@media(prefers-reduced-motion:reduce){#enquiry .enquiry-submit-spinner{animation:none}}

/* Service enquiry context */
#enquiry .service-context{flex:none;margin:14px 0 4px;padding:12px 14px;border:1px solid #f7061e40;border-radius:10px;background:#f7061e0a}#enquiry .service-context-row{display:flex;align-items:center;justify-content:space-between;gap:16px}#enquiry .service-context-label{display:block;color:#aaa;font-size:11px;margin-bottom:4px}#enquiry .service-context strong{display:block;font-size:15px;line-height:1.3;color:#f2f2ef}#change-enquiry-service{flex:none;padding:8px 4px;border:0;background:transparent;color:#ddd;font-size:12px;text-decoration:underline;text-underline-offset:4px}#change-enquiry-service:hover{color:#ff5368}#enquiry-service-editor label{margin:14px 0 7px}#enquiry-service-select{display:block;width:100%;min-height:44px;border:1px solid #ffffff38;border-radius:8px;background:#1d1d21;color:#f2f2ef;padding:10px 12px;font:inherit;font-size:14px}#enquiry-service-select:hover{border-color:#ffffff70}#enquiry-service-select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #f7061e20}#enquiry-service-select:disabled,#change-enquiry-service:disabled{opacity:.6;cursor:wait}

/* Mobile keyboard viewport */
#enquiry[data-viewport=true]{top:var(--enquiry-visible-top);bottom:auto;left:0;right:0;margin:0 auto;height:min(740px,var(--enquiry-visible-height));max-height:var(--enquiry-visible-height)}
#enquiry[data-keyboard=true]{display:block;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:16px}
#enquiry[data-keyboard=true] #enquiry-form,#enquiry[data-keyboard=true] .form-step{display:block}
#enquiry[data-keyboard=true] .step-body{overflow:visible;scrollbar-gutter:auto;padding-right:0}
#enquiry[data-keyboard=true] .preview-tag{margin-bottom:10px}
#enquiry[data-keyboard=true] .progress{margin-top:14px}
#enquiry input,#enquiry textarea,#enquiry select{scroll-margin-block:16px}
@media(max-width:900px),(pointer:coarse){#enquiry input,#enquiry textarea,#enquiry select{font-size:16px}}

/* Optional phone number */
#enquiry .phone-group{min-width:0;margin:18px 0;padding:0;border:0}#enquiry .phone-group legend{padding:0;color:#aaa;font-size:12px}#enquiry .phone-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10px;margin-top:8px}#enquiry .phone-row label{margin:0;min-width:0}#enquiry .phone-row input{margin:0}#enquiry .phone-row select{width:100%;min-height:49px;margin:0;border:1px solid #ffffff38;border-radius:10px;background:#1d1d21;color:#fff;padding:12px 8px;font:inherit;font-size:14px}#enquiry .phone-row select:hover{border-color:#ffffff70}#enquiry .phone-row select:focus{outline:2px solid var(--red);outline-offset:2px}#enquiry .phone-group .field-help{margin:8px 0 0;font-size:12px}#enquiry .field-error{margin:8px 0 0;color:#ffabb4;font-size:12px}#enquiry .phone-row input[aria-invalid=true]{border-color:#ffabb4}#enquiry .phone-group .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:900px),(pointer:coarse){#enquiry .phone-row select{font-size:16px}}@media(max-width:360px){#enquiry .phone-row{grid-template-columns:1fr}}
@media(max-width:520px){#enquiry .phone-row{grid-template-columns:1fr}}
