/* /site-shell/enquiry.css */
/* Shared enquiry: one native dialog, finite entrances, no extra motion clock. */
html body #contact-dialog.shell-dialog{width:calc(100% - 48px);max-width:1160px;max-height:calc(100svh - 48px);padding:0;border:1px solid #385469;border-radius:4px;background:linear-gradient(128deg,#142534 0,#0d1722 40%,#080e17 100%);box-shadow:0 35px 120px #000b;color:var(--cf-ink);overflow:auto;scroll-behavior:auto}
#contact-dialog.shell-dialog::backdrop{background:#030710cf;backdrop-filter:blur(10px)}
#contact-dialog .enquiry-topline{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 32px;border-bottom:1px solid #294051;background:#111e2a}
#contact-dialog.shell-dialog .enquiry-topline .dialog-close{margin:0;flex:none;gap:14px}
#contact-dialog .enquiry-layout{display:grid;grid-template-columns:.86fr 1.14fr}
#contact-dialog .enquiry-intro{position:relative;padding:40px 38px 28px;overflow:hidden;border-right:1px solid #294051}
#contact-dialog.shell-dialog .enquiry-intro h2{font:500 clamp(50px,5.5vw,78px)/1.13 var(--cf-display);letter-spacing:-.02em;text-transform:uppercase;margin:0 0 24px;outline:none}
#contact-dialog.shell-dialog .enquiry-intro h2 em{color:var(--cf-light)}
#contact-dialog.shell-dialog .enquiry-intro>p{font:400 15px/1.65 var(--cf-body);color:#adbed0;max-width:35ch}
#contact-dialog.shell-dialog .enquiry-intro .enquiry-next{font-size:13px;color:#9babbb;margin-top:24px}
#contact-dialog.shell-dialog .enquiry-intro .contact-context{font:12px/1.6 var(--cf-mono);color:#b9eaff;border-left:2px solid var(--cf-blue);padding-left:14px;margin-top:20px}
#contact-dialog .enquiry-blueprint{position:relative;height:180px;margin:34px 0 20px;perspective:650px}
#contact-dialog .enquiry-blueprint-plane{position:absolute;left:10%;top:13%;width:68%;height:68%;border:1px solid #6393ad;background:linear-gradient(135deg,#153244dd,#0b1929dd);transform:rotateX(52deg) rotateZ(-27deg) translate3d(0,0,-38px);clip-path:polygon(0 0,90% 0,100% 18%,100% 100%,10% 100%,0 82%);box-shadow:inset 0 0 0 5px #13283a}
#contact-dialog .enquiry-blueprint-plane:nth-of-type(3){transform:rotateX(52deg) rotateZ(-27deg) translate3d(0,0,0);border-color:#99d2e8;background:linear-gradient(135deg,#244457e8,#101e2cef)}
#contact-dialog .enquiry-blueprint-plane:nth-of-type(4){transform:rotateX(52deg) rotateZ(-27deg) translate3d(0,0,38px);background:linear-gradient(135deg,#e1eff5,#9abed2);border-color:#d8f5ff;box-shadow:inset 0 0 0 7px #bbd0dd}
#contact-dialog .enquiry-blueprint-plane:after{content:'';position:absolute;width:33%;height:2px;left:7%;bottom:10%;background:var(--cf-light)}
#contact-dialog .enquiry-blueprint-rail{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,#019edb,transparent)}
#contact-dialog .enquiry-workspace{min-width:0;padding:32px 38px}
#contact-dialog .enquiry-progress{display:flex;gap:28px;padding:0 0 21px;margin:0 0 28px;list-style:none;border-bottom:1px solid #294051;font:11px/1.6 var(--cf-mono);color:#8497a9}
#contact-dialog .enquiry-progress li{display:flex;gap:9px;position:relative}
#contact-dialog .enquiry-progress li[aria-current]{color:#e0f7ff}
#contact-dialog .enquiry-progress li[aria-current]:after{position:absolute;content:'';height:2px;background:var(--cf-blue);bottom:-22px;left:0;right:0}
#contact-dialog .enquiry-progress li[aria-current] span:first-child{color:var(--cf-light)}
#contact-dialog .enquiry-form{margin:0;display:block;padding:0}
#contact-dialog .enquiry-step{min-width:0;border:0;padding:0;margin:0}
#contact-dialog .enquiry-step legend,#contact-dialog.shell-dialog .enquiry-step h3{padding:0;margin:0 0 20px;font:500 24px/1.3 var(--cf-body);letter-spacing:-.025em;color:var(--cf-ink)}
#contact-dialog .enquiry-step h3:focus{outline:none}
#contact-dialog .enquiry-choices{display:grid;gap:8px}
#contact-dialog .enquiry-choices label{position:relative;display:block;margin:0;cursor:pointer}
#contact-dialog .enquiry-choices input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
#contact-dialog .enquiry-choice{display:flex;align-items:center;gap:14px;min-height:73px;border:1px solid #304456;background:#101d2a;padding:13px 16px;transition:background .18s,border-color .18s;color:#ebf2f8}
#contact-dialog .enquiry-choice strong{display:block;font:500 16px/1.35 var(--cf-body);letter-spacing:-.01em}
#contact-dialog .enquiry-choice small{display:block;font:400 12px/1.5 var(--cf-body);color:#a5b7c9;margin-top:3px}
#contact-dialog .enquiry-choice-number{font:10px var(--cf-mono);color:#8dabc0;align-self:flex-start;padding-top:3px}
#contact-dialog .enquiry-choice-mark{margin-left:auto;color:#6793ab;font:22px var(--cf-body)}
#contact-dialog .enquiry-choices label:hover .enquiry-choice{background:#152b3c;border-color:#5d9bb9}
#contact-dialog .enquiry-choices input:checked+.enquiry-choice{border-color:var(--cf-light);background:linear-gradient(110deg,#17415a,#102535);box-shadow:inset 3px 0 var(--cf-blue)}
#contact-dialog .enquiry-choices input:checked+.enquiry-choice .enquiry-choice-mark{color:var(--cf-light)}
#contact-dialog .enquiry-choices input:focus-visible+.enquiry-choice{outline:2px solid var(--cf-light);outline-offset:3px}
#contact-dialog.shell-dialog .enquiry-error{font:12px/1.6 var(--cf-body);color:#b8e9ff;margin-top:10px}
#contact-dialog .enquiry-continue{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:49px;margin-top:16px;border:1px solid #7597ad;padding:12px 18px;font:500 14px var(--cf-body);background:#dfeaf2;color:#0b1a29}
#contact-dialog .enquiry-continue:hover{background:#fff}
#contact-dialog .enquiry-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;color:#a6e6fc;font:12px/1.6 var(--cf-mono)}
#contact-dialog .enquiry-selection button{min-height:44px;padding:0 0 0 10px;flex:none;text-decoration:underline;text-underline-offset:4px;color:#cad8e6;font:12px var(--cf-body)}
#contact-dialog .enquiry-field-label{display:block;font:400 14px/1.5 var(--cf-body);color:#d8e6f3;margin:22px 0 10px}
#contact-dialog .enquiry-field-label span{color:#98acbf;margin-left:7px;font-size:11px}
#contact-dialog .enquiry-form :is(textarea,select){display:block;box-sizing:border-box;width:100%;border:1px solid #4f6a7f;border-radius:0;background:#0a1420;color:#edf3fa;font:400 16px/1.65 var(--cf-body);padding:12px 14px;letter-spacing:normal;min-height:48px}
#contact-dialog .enquiry-form textarea{resize:vertical;max-height:300px}
#contact-dialog .enquiry-form select{color-scheme:dark;padding-right:30px}
#contact-dialog .enquiry-form textarea::placeholder{color:#8398ac}
#contact-dialog .enquiry-form :is(textarea,select):focus-visible{outline:2px solid var(--cf-light);outline-offset:3px}
#contact-dialog.shell-dialog .enquiry-field-help,#contact-dialog.shell-dialog .enquiry-help{font:400 12px/1.6 var(--cf-body);color:#a2b4c6;margin-top:9px}
#contact-dialog .enquiry-actions{display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap;margin-top:24px}
#contact-dialog .enquiry-actions button{min-height:48px;padding:12px 0;border-radius:0;font:500 13px var(--cf-body)}
#contact-dialog .enquiry-actions button[type=submit]{display:flex;align-items:center;justify-content:space-between;gap:26px;flex:1;background:#e3eef7;color:#091523;padding:13px 19px;min-width:190px;border:1px solid #c3e6f9}
#contact-dialog .enquiry-actions button[type=submit] span{font-size:23px}
#contact-dialog .enquiry-actions [data-copy-brief]{color:#c8d8e8;text-decoration:underline;text-underline-offset:4px}
#contact-dialog.shell-dialog .enquiry-status{font:12px/1.6 var(--cf-body);color:#b8e9ff;margin-top:12px}
#contact-dialog .enquiry-form .enquiry-copy{margin-top:16px;font-size:13px}
#contact-dialog .enquiry-direct{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:16px 32px;border-top:1px solid #35566b;background:#0c1722}
#contact-dialog.shell-dialog .enquiry-direct .micro{margin-right:auto}
#contact-dialog.shell-dialog .enquiry-direct .contact-email{font:400 14px var(--cf-body);border:0;min-height:44px;margin:0;padding:8px 0;gap:12px;white-space:nowrap}
#contact-dialog.shell-dialog .enquiry-direct .contact-phone{font:400 14px var(--cf-body);margin:0;padding:8px 0}
#contact-dialog.shell-dialog .enquiry-direct .copy-email{font-size:12px}
#contact-dialog .enquiry-bottom{padding:0 32px 16px;background:#0c1722}
#contact-dialog.shell-dialog .enquiry-bottom p{font:12px/1.6 var(--cf-body);color:#a1b4c6}
#contact-dialog.shell-dialog .enquiry-bottom .inline-link{margin-left:6px;color:#dbe9f5;min-height:44px}
#contact-dialog .enquiry-step:not([hidden]){animation:enquiry-step-in .36s cubic-bezier(.2,.7,.25,1) both}
#contact-dialog[open] .enquiry-blueprint-plane{animation:enquiry-plane-in .7s cubic-bezier(.2,.7,.25,1) both}
#contact-dialog[open] .enquiry-blueprint-plane:nth-of-type(3){animation-delay:.09s}
#contact-dialog[open] .enquiry-blueprint-plane:nth-of-type(4){animation-delay:.18s}
@keyframes enquiry-step-in{from{opacity:0;translate:0 9px}to{opacity:1;translate:0 0}}
@keyframes enquiry-plane-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
html[data-motion=off] #contact-dialog *,html[data-motion=off] #contact-dialog *:before,html[data-motion=off] #contact-dialog *:after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){#contact-dialog *,#contact-dialog *:before,#contact-dialog *:after{animation:none!important;transition:none!important}}
@media(max-width:860px){
 #contact-dialog .enquiry-layout{grid-template-columns:.8fr 1.2fr}
 #contact-dialog .enquiry-intro,#contact-dialog .enquiry-workspace{padding:28px 24px}
 #contact-dialog.shell-dialog .enquiry-intro h2{font-size:52px}
 #contact-dialog .enquiry-choice{gap:10px;padding:12px}
 #contact-dialog .enquiry-choice strong{font-size:15px}
 #contact-dialog .enquiry-direct>.micro{flex-basis:100%}
}
@media(max-width:680px),(horizontal-viewport-segments:2){
 html body #contact-dialog.shell-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px)}
 #contact-dialog .enquiry-topline{padding:10px 20px;gap:12px}
 #contact-dialog .enquiry-topline .micro{font-size:8px;max-width:24ch}
 #contact-dialog .enquiry-layout{display:block}
 #contact-dialog .enquiry-intro{padding:23px 20px 0;border:0}
 #contact-dialog.shell-dialog .enquiry-intro h2{font-size:42px;margin:0 0 13px;line-height:1.12}
 #contact-dialog.shell-dialog .enquiry-intro h2 br{display:none}
 #contact-dialog.shell-dialog .enquiry-intro h2 em{display:block}
 #contact-dialog.shell-dialog .enquiry-intro>p{font-size:13px;max-width:52ch}
 #contact-dialog .enquiry-blueprint,#contact-dialog.shell-dialog .enquiry-intro .enquiry-next{display:none}
 #contact-dialog .enquiry-workspace{padding:24px 20px}
 #contact-dialog .enquiry-progress{margin-bottom:22px;gap:24px}
 #contact-dialog .enquiry-step legend,#contact-dialog.shell-dialog .enquiry-step h3{font-size:21px}
 #contact-dialog .enquiry-choice{min-height:64px;padding:10px 12px}
 #contact-dialog .enquiry-choice-number{display:none}
 #contact-dialog .enquiry-choice strong{font-size:15px}
 #contact-dialog .enquiry-choice small{font-size:11px}
 #contact-dialog .enquiry-direct{padding:15px 20px;gap:2px 20px}
 #contact-dialog.shell-dialog .enquiry-direct .contact-email{font-size:13px}
 #contact-dialog .enquiry-bottom{padding:0 20px 16px}
 #contact-dialog .enquiry-actions{display:grid;gap:4px}
 #contact-dialog .enquiry-actions button[type=submit]{min-width:0;width:100%;text-align:left}
 #contact-dialog .enquiry-actions [data-copy-brief]{justify-self:start}
 #contact-dialog .enquiry-selection{font-size:11px}
 #contact-dialog .enquiry-selection button{font-size:11px}
}
@media(max-height:500px) and (min-width:681px){#contact-dialog .enquiry-intro{padding-top:24px}#contact-dialog .enquiry-blueprint{display:none}}
@media(horizontal-viewport-segments:2){
 html body #contact-dialog.shell-dialog{width:calc(env(viewport-segment-width 0 0) - 24px);max-width:calc(env(viewport-segment-width 0 0) - 24px);left:calc(env(viewport-segment-left 0 0) + 12px);right:auto;margin-inline:0}
}
@media(vertical-viewport-segments:2){
 html body #contact-dialog.shell-dialog{top:calc(env(viewport-segment-top 0 0) + 12px);bottom:auto;max-height:calc(env(viewport-segment-height 0 0) - 24px);margin-block:0}
}
/* Qualification uses the same quiet, finite shared-dialog motion. */
#contact-dialog .enquiry-guidance{border-left:2px solid var(--cf-blue);padding:16px 18px;background:#142c3b;margin-bottom:20px}
#contact-dialog .enquiry-guidance p{font:400 14px/1.6 var(--cf-body);margin:8px 0;color:#e2edf5}
#contact-dialog .enquiry-guidance small{display:block;color:#a7bacb;font:11px/1.6 var(--cf-body)}
#contact-dialog .enquiry-route{font:400 13px/1.6 var(--cf-body);color:#b7d9e8;border-left:1px solid #47758b;padding-left:14px;margin-top:20px}
#contact-dialog .enquiry-route:empty{display:none}
#contact-dialog .enquiry-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#contact-dialog .enquiry-field-pair>div{min-width:0}
#contact-dialog .enquiry-form input:not([type=radio]){display:block;box-sizing:border-box;width:100%;border:1px solid #4f6a7f;border-radius:0;background:#0a1420;color:#edf3fa;font:400 16px/1.65 var(--cf-body);padding:12px 14px;min-height:48px}
#contact-dialog .enquiry-form input:focus-visible{outline:2px solid var(--cf-light);outline-offset:3px}
#contact-dialog .enquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#contact-dialog .enquiry-continue:disabled{opacity:.45;cursor:not-allowed}
#contact-dialog .enquiry-actions button[type=submit] [data-submit-label]{font-size:14px}
#contact-dialog .enquiry-email-fallback{display:inline-block;margin-top:15px;color:var(--cf-light);font:14px/1.6 var(--cf-body);text-decoration:underline}
#contact-dialog .enquiry-reference{font:12px/1.6 var(--cf-mono);color:#9bcbdd;overflow-wrap:anywhere}
#contact-dialog [data-enquiry-panel="4"] h3{margin-top:20px}
#contact-dialog [data-enquiry-panel="4"] p{font:15px/1.7 var(--cf-body);color:#c8d8e8}
#contact-dialog .enquiry-form [hidden]{display:none!important}
#contact-dialog .enquiry-progress{gap:20px}
@media(max-width:680px){#contact-dialog .enquiry-progress{gap:14px;font-size:9px}#contact-dialog .enquiry-progress li{gap:5px}#contact-dialog .enquiry-field-pair{grid-template-columns:1fr;gap:0}#contact-dialog[data-enquiry-step="3"] .enquiry-intro>p{display:none}}

/* 217: a service intake alongside the qualified project route. */
#contact-dialog .enquiry-support{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;padding:14px 16px;border:1px solid #385469;background:#0b1722}
#contact-dialog .enquiry-support strong{display:block;font:500 13px/1.5 var(--cf-body);color:#dceaf4}
#contact-dialog .enquiry-support div>span{display:block;font:12px/1.5 var(--cf-body);color:#9eb3c5;margin-top:3px}
#contact-dialog .enquiry-support button{flex:none;min-height:44px;font:500 12px/1.5 var(--cf-body);color:var(--cf-light);text-decoration:underline;text-underline-offset:4px}
#contact-dialog .enquiry-support button>span{margin-left:8px}
#contact-dialog.shell-dialog .enquiry-service-intro{font:14px/1.65 var(--cf-body);color:#b7cadb;margin:0 0 18px;border-left:2px solid var(--cf-blue);padding-left:14px}
@media(max-width:860px){#contact-dialog .enquiry-support{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:680px){#contact-dialog .enquiry-progress{gap:12px;font-size:9px}#contact-dialog .enquiry-progress li{gap:4px}#contact-dialog .enquiry-support{padding:12px}}

@media(max-width:1100px){#contact-dialog .enquiry-service-pair{grid-template-columns:1fr;gap:0}}

/* 238: a brief built from the visitor's own choices. */
html body #contact-dialog.shell-dialog{max-width:1260px;background:linear-gradient(120deg,#132737 0,#0d1722 38%,#080e17 100%)}
#contact-dialog .enquiry-layout{grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);align-items:start}
#contact-dialog .enquiry-topline{z-index:5;padding:14px 28px}
#contact-dialog .enquiry-intro{position:sticky;top:71px;padding:32px 28px;border-right:0;overflow:visible}
#contact-dialog .enquiry-kicker{display:block;color:#8bafc4;margin-bottom:20px;font-size:10px}
#contact-dialog.shell-dialog .enquiry-intro h2{font-size:clamp(40px,4.7vw,64px);line-height:1.1;letter-spacing:0;margin-bottom:20px}
#contact-dialog.shell-dialog .enquiry-intro>p{font-size:13px;line-height:1.65;max-width:37ch}
#contact-dialog .enquiry-workspace{padding:28px 32px;border-left:1px solid #294051;min-height:580px;background:#09131bcc}
#contact-dialog .enquiry-progress{margin-bottom:24px;padding-bottom:17px;font-size:11px}
#contact-dialog .enquiry-progress li[aria-current]:after{bottom:-18px}
#contact-dialog .enquiry-step legend,#contact-dialog.shell-dialog .enquiry-step h3{font-size:25px;line-height:1.35;margin-bottom:12px}
#contact-dialog.shell-dialog .enquiry-step-intro{font:13px/1.65 var(--cf-body);color:#a6b9ca;margin:0 0 24px}
#contact-dialog .enquiry-choices{grid-template-columns:1fr 1fr;gap:10px}
#contact-dialog .enquiry-start{display:flex;align-items:flex-start;gap:12px;text-align:left;border:1px solid #344e61;padding:17px 15px;min-height:104px;background:linear-gradient(120deg,#132635,#0f1c27);border-radius:2px;color:#e1edf5;transition:border-color .18s,background .18s}
#contact-dialog .enquiry-start:hover{background:#183548;border-color:#67ddff}
#contact-dialog .enquiry-start:focus-visible{outline:2px solid var(--cf-light);outline-offset:3px}
#contact-dialog .enquiry-start strong{display:block;font:500 15px/1.4 var(--cf-body)}
#contact-dialog .enquiry-start small{display:block;font:12px/1.5 var(--cf-body);color:#9eafc0;margin-top:6px}
#contact-dialog .enquiry-start .enquiry-choice-number{padding-top:4px;font-size:9px}
#contact-dialog .enquiry-start .enquiry-choice-mark{font-size:20px;line-height:1.2;flex:none}
#contact-dialog .enquiry-start-range{display:block;font:10px/1.6 var(--cf-mono);color:#7ed1ef;margin-top:12px}
#contact-dialog .enquiry-start-range>span{color:#98afc2;white-space:nowrap}
#contact-dialog .enquiry-start:last-child:nth-child(odd){grid-column:1/-1;min-height:75px;align-items:center}
#contact-dialog .enquiry-start:last-child:nth-child(odd) small{margin-top:2px}
#contact-dialog .enquiry-support{margin:18px 0 0;padding:12px 0 0;border-width:1px 0 0;background:transparent;flex-direction:row;align-items:center}
#contact-dialog .enquiry-support strong{font-size:12px}
#contact-dialog .enquiry-support div>span{font-size:11px}
#contact-dialog .enquiry-live-brief{position:relative;margin-top:28px;background:linear-gradient(135deg,#e4eef4,#ccdde7);color:#132a3a;padding:18px 20px 12px;border:1px solid #aed8e9;box-shadow:5px 5px 0 #4c748b,6px 6px 0 #72abc3;clip-path:polygon(0 0,calc(100% - 17px) 0,100% 17px,100% 100%,0 100%)}
#contact-dialog .enquiry-brief-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #91adbd;padding-bottom:14px;gap:12px}
#contact-dialog .enquiry-brief-header .micro{font-size:9px;color:#3f667d}
#contact-dialog .enquiry-brief-dot{height:6px;width:6px;border-radius:50%;background:#019edb;box-shadow:0 0 0 4px #019edb14}
#contact-dialog.shell-dialog .enquiry-brief-empty{font:500 25px/1.5 var(--cf-body);color:#153446;margin:25px 0}
#contact-dialog .enquiry-brief-empty em{font-size:14px;line-height:1.6;display:block;font-style:normal;font-weight:400;color:#446c82;margin-top:20px}
#contact-dialog [data-brief-summary]{margin:0;display:block}
#contact-dialog [data-brief-summary]>div{padding:12px 0;border-bottom:1px solid #b1c7d3}
#contact-dialog [data-brief-summary] dt{font:9px/1.6 var(--cf-mono);text-transform:uppercase;letter-spacing:.05em;color:#4d7488}
#contact-dialog [data-brief-summary] dd{font:500 12px/1.6 var(--cf-body);margin:4px 0 0;overflow-wrap:anywhere;color:#14374b}
#contact-dialog .enquiry-brief-footer{display:flex;gap:12px;justify-content:space-between;padding-top:16px;font:10px/1.5 var(--cf-mono);color:#486b7f}
#contact-dialog .enquiry-brief-footer>span:last-child{font-size:13px;color:#00799f}
#contact-dialog [data-edit-brief]{display:flex;justify-content:space-between;width:100%;padding:12px 0 0;min-height:44px;font:500 12px var(--cf-body);color:#007ba3}
#contact-dialog [hidden]{display:none!important}
#contact-dialog .enquiry-question{border:0;padding:0;margin:22px 0;min-width:0}
#contact-dialog .enquiry-question>legend{font:500 15px/1.5 var(--cf-body);color:#d8e6f3;letter-spacing:0;margin-bottom:12px}
#contact-dialog .enquiry-picks{display:flex;flex-wrap:wrap;gap:8px}
#contact-dialog .enquiry-picks label{position:relative;display:block;margin:0;max-width:100%;cursor:pointer}
#contact-dialog .enquiry-picks input{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;opacity:0;padding:0!important;margin:0;border:0;cursor:pointer}
#contact-dialog .enquiry-picks label>span{display:flex;align-items:center;gap:9px;min-height:44px;box-sizing:border-box;padding:10px 13px;border:1px solid #375369;background:#101f2c;color:#cadbe8;font:400 12px/1.45 var(--cf-body);border-radius:3px;transition:background .15s,border-color .15s,color .15s}
#contact-dialog .enquiry-picks label>span:before{content:'+';font:15px/1 var(--cf-mono);color:#79adc7}
#contact-dialog .enquiry-picks input[type=radio]+span:before{content:'';width:7px;height:7px;flex:none;box-sizing:border-box;border:1px solid #6f9db5;border-radius:50%}
#contact-dialog .enquiry-picks label:hover>span{border-color:#7ebbd6;background:#183043}
#contact-dialog .enquiry-picks input:checked+span{color:#e5f7ff;background:#173e52;border-color:#67ddff}
#contact-dialog .enquiry-picks input:checked+span:before{content:'✓';color:#67ddff}
#contact-dialog .enquiry-picks input[type=radio]:checked+span:before{content:'';background:#67ddff;box-shadow:0 0 0 3px #67ddff15}
#contact-dialog .enquiry-picks input:focus-visible+span{outline:2px solid #e1f7ff;outline-offset:3px}
#contact-dialog .enquiry-extra{border-block:1px solid #2a4659;padding:3px 0;margin:24px 0}
#contact-dialog .enquiry-extra>summary{min-height:52px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 12px;font:500 13px/1.5 var(--cf-body);cursor:pointer;color:#dbeef7;list-style:none}
#contact-dialog .enquiry-extra>summary>span{font-size:11px;font-weight:400;color:#89adc4;margin-right:auto}
#contact-dialog .enquiry-extra>summary:after{content:'+';font:22px var(--cf-body);color:#67ddff}
#contact-dialog .enquiry-extra[open]>summary:after{content:'−'}
#contact-dialog .enquiry-extra>summary::-webkit-details-marker{display:none}
#contact-dialog .enquiry-extra[open]{padding-bottom:18px}
#contact-dialog .enquiry-guidance{background:#122936;margin:24px 0 20px;padding:13px 16px}
#contact-dialog .enquiry-guidance p{font-size:13px;line-height:1.6;margin:8px 0}
#contact-dialog .enquiry-guidance small{font-size:10px}
#contact-dialog .enquiry-field-label{font-size:14px;font-weight:500;margin-top:22px}
#contact-dialog .enquiry-service-pair{grid-template-columns:1fr;gap:0}
#contact-dialog .enquiry-review{border:1px solid #304f63;background:#102330;margin:20px 0;padding:14px 16px}
#contact-dialog .enquiry-review summary{font:500 13px/1.5 var(--cf-body);cursor:pointer;min-height:44px;align-content:center;color:#caf0ff}
#contact-dialog [data-final-summary]{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin-top:18px}
#contact-dialog [data-final-summary] p{margin:0;font:12px/1.6 var(--cf-body);overflow-wrap:anywhere}
#contact-dialog [data-final-summary] strong{display:block;font:10px/1.6 var(--cf-mono);color:#8aaac0;margin-bottom:3px}
#contact-dialog [data-final-summary] span{color:#d6e6f2}
#contact-dialog .enquiry-review>button{font:12px/1.5 var(--cf-body);color:#70d5fa;text-decoration:underline;min-height:44px;margin-top:10px}
#contact-dialog .enquiry-continue{margin-top:22px;position:sticky;bottom:0;z-index:1;box-shadow:0 -9px 20px #09131b88}
#contact-dialog .enquiry-selection{margin-bottom:14px}
#contact-dialog .enquiry-direct{padding:12px 28px;font-size:12px}
#contact-dialog.shell-dialog .enquiry-bottom p{font-size:11px}
#contact-dialog [data-enquiry-panel="3"]{border-top:1px solid #42647a;margin-top:26px;padding-top:24px}
#contact-dialog .enquiry-auto-progress{font:12px/1.7 var(--cf-body);color:#9cbbce;margin:22px 0 0;padding:12px 15px;border-left:2px solid #019edb;background:#122936}
#contact-dialog[data-enquiry-step="3"] .enquiry-auto-progress{color:#c3f1ff}
@media(max-width:980px){
 #contact-dialog .enquiry-layout{grid-template-columns:minmax(240px,.68fr) minmax(0,1.32fr)}
 #contact-dialog .enquiry-intro{padding:26px 22px}
 #contact-dialog .enquiry-workspace{padding:24px}
 #contact-dialog .enquiry-start{gap:8px;padding:15px 12px}
 #contact-dialog .enquiry-choice-number{display:none}
 #contact-dialog .enquiry-start strong{font-size:14px}
}
@media(max-width:760px){
 #contact-dialog.shell-dialog .enquiry-step h3,#contact-dialog .enquiry-step>legend{font-size:22px}
 #contact-dialog .enquiry-layout{display:block}
 #contact-dialog .enquiry-intro{position:relative;top:auto;padding:24px 24px 0}
 #contact-dialog .enquiry-kicker{display:none}
 #contact-dialog.shell-dialog .enquiry-intro h2{font-size:34px;margin-bottom:0}
 #contact-dialog.shell-dialog .enquiry-intro>p{display:none}
 #contact-dialog.shell-dialog .enquiry-intro h2 br{display:none}
 #contact-dialog.shell-dialog .enquiry-intro h2 em{display:block}
 #contact-dialog .enquiry-live-brief,#contact-dialog .enquiry-next{display:none!important}
 #contact-dialog .enquiry-workspace{border:0;padding:24px;min-height:0}
 #contact-dialog[data-enquiry-step="2"] .enquiry-intro,#contact-dialog[data-enquiry-step="3"] .enquiry-intro{display:none}
 #contact-dialog .enquiry-topline{padding:12px 20px}
 #contact-dialog .enquiry-topline .micro{font-size:8px}
 #contact-dialog .enquiry-progress{font-size:10px;gap:18px}
 #contact-dialog .enquiry-progress li{white-space:nowrap}
 #contact-dialog .enquiry-choice-number{display:none}
 #contact-dialog .enquiry-start{min-height:100px}
 #contact-dialog .enquiry-start strong{font-size:14px}
 #contact-dialog .enquiry-start small{font-size:11px}
 #contact-dialog .enquiry-start-range{font-size:9px}
 #contact-dialog .enquiry-start .enquiry-choice-mark{display:none}
 #contact-dialog .enquiry-start:last-child:nth-child(odd){min-height:70px}
 #contact-dialog .enquiry-support{align-items:flex-start;gap:10px}
 #contact-dialog .enquiry-support div>span{font-size:10px}
 #contact-dialog .enquiry-support button{font-size:11px}
 #contact-dialog .enquiry-direct{padding:12px 24px}
 #contact-dialog .enquiry-review{display:block}
 #contact-dialog .enquiry-picks label>span{font-size:12px;padding-inline:11px}
 #contact-dialog .enquiry-field-pair{grid-template-columns:1fr;gap:0}
}
@media(max-width:380px){#contact-dialog .enquiry-workspace,#contact-dialog .enquiry-intro{padding-inline:18px}#contact-dialog.shell-dialog .enquiry-intro h2{font-size:30px}#contact-dialog .enquiry-progress{font-size:9px;gap:14px}#contact-dialog .enquiry-start{padding:12px 10px}#contact-dialog .enquiry-start strong{font-size:13px}#contact-dialog .enquiry-start small{font-size:10px}#contact-dialog [data-final-summary]{grid-template-columns:1fr}}
@media(max-height:600px) and (min-width:761px){#contact-dialog .enquiry-intro{position:relative;top:auto}}

#contact-dialog .enquiry-field-label>[data-service-provider-label]{color:inherit;font:inherit;margin:0}
#contact-dialog .enquiry-software-link{font:12px/1.7 var(--cf-body);color:#a6bfd0;margin:0 0 22px}
#contact-dialog .enquiry-software-link a{color:#67ddff;text-decoration:underline;text-underline-offset:4px}

/* 239: one prominent next-step card, beside the brief on desktop. */
#contact-dialog .enquiry-intro{position:relative;top:auto;align-self:stretch}
#contact-dialog [data-guidance-sidebar]{position:sticky;top:88px}
#contact-dialog .enquiry-next-step{margin-top:24px;padding:22px;background:#16394b;border:1px solid #4d8aa4;border-left:3px solid #67ddff;border-radius:3px}
#contact-dialog .enquiry-next-step[data-state="review"]{background:linear-gradient(125deg,#1c465b,#132c3e);border-color:#67ddff}
#contact-dialog .enquiry-next-step-kicker{display:block;color:#91d9f2;font:10px/1.6 var(--cf-mono);letter-spacing:.08em;margin-bottom:12px}
#contact-dialog.shell-dialog .enquiry-next-step h3{font:500 24px/1.3 var(--cf-body);letter-spacing:-.02em;color:#f2f8fc;margin:0 0 14px}
#contact-dialog.shell-dialog .enquiry-next-step p{font:400 14px/1.7 var(--cf-body);color:#deedf6;margin:0 0 12px;max-width:none}
#contact-dialog.shell-dialog .enquiry-next-step [data-auto-progress]{font-weight:500;color:#fff;margin-bottom:0}
#contact-dialog .enquiry-next-step button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;margin-top:18px;padding:11px 13px;border:1px solid #b4e4f5;background:#dceef6;color:#102a3a;font:500 13px/1.5 var(--cf-body);text-align:left}
#contact-dialog .enquiry-next-step button:hover{background:#f4fbff}
#contact-dialog .enquiry-next-step button:focus-visible{outline:2px solid #fff;outline-offset:4px}
#contact-dialog[data-enquiry-step="2"] .enquiry-intro h2,#contact-dialog[data-enquiry-step="3"] .enquiry-intro h2{font-size:clamp(36px,3.6vw,50px)}
@media(max-width:760px){
 #contact-dialog .enquiry-next-step{margin-top:24px;padding:18px}
 #contact-dialog.shell-dialog .enquiry-next-step h3{font-size:22px}
 #contact-dialog.shell-dialog .enquiry-next-step p{font-size:14px}
}

/* 258: one question in view; the complete brief is revealed only for review. */
#contact-dialog[data-enquiry-journey] [data-enquiry-question]:not([data-question-current]){display:none}
#contact-dialog[data-enquiry-journey] [data-details-title],
#contact-dialog[data-enquiry-journey] [data-project-builder]>.enquiry-step-intro,
#contact-dialog[data-enquiry-journey] .enquiry-extra>summary,
#contact-dialog[data-enquiry-journey] .enquiry-service-intro{display:none}
#contact-dialog[data-enquiry-journey] .enquiry-extra{border:0;margin:0;padding:0}
#contact-dialog[data-enquiry-journey] .enquiry-field-pair{display:block}
#contact-dialog[data-enquiry-journey] [data-enquiry-panel="3"]{border:0;padding:0;margin:0}
#contact-dialog[data-enquiry-journey] .enquiry-step{animation:none}
#contact-dialog[data-enquiry-journey] .enquiry-selection{margin:0 0 30px;min-height:44px}
#contact-dialog[data-enquiry-journey] .enquiry-question-meta{display:flex;flex-direction:column;gap:9px;margin:0 0 20px}
#contact-dialog[data-enquiry-journey] [data-question-count]{color:var(--service-accent,#67ddff);font:10px/1.5 var(--cf-mono);letter-spacing:.09em}
#contact-dialog[data-enquiry-journey] [data-question-hint]{font:12px/1.6 var(--cf-body);color:#a8bfce;margin:0}
#contact-dialog[data-enquiry-journey] [data-enquiry-question]{animation:enquiry-step-in .2s ease-out both}
#contact-dialog[data-enquiry-journey] [data-enquiry-question] :is(legend,.enquiry-field-label),
#contact-dialog[data-enquiry-journey] [data-enquiry-question="review"]>h3{font:500 clamp(23px,2.5vw,30px)/1.3 var(--cf-body);color:#edf5fb;letter-spacing:-.025em;margin:0 0 24px;outline:none}
#contact-dialog[data-enquiry-journey] [data-enquiry-question] .enquiry-field-label>span{font-size:12px;letter-spacing:0;vertical-align:middle}
#contact-dialog[data-enquiry-journey] .enquiry-field-label>[data-service-provider-label]{font:inherit;color:inherit;margin:0}
#contact-dialog[data-enquiry-journey] .enquiry-question{margin:0}
#contact-dialog[data-enquiry-journey] .enquiry-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#contact-dialog[data-enquiry-journey] .enquiry-picks label>span{height:100%;min-height:60px;padding:15px;font-size:14px;line-height:1.45}
#contact-dialog[data-enquiry-journey] [data-enquiry-question="budget"]{display:flex;flex-direction:column}
#contact-dialog[data-enquiry-journey] [data-enquiry-question="budget"]>.enquiry-guidance{order:3;margin:22px 0 0;padding:14px 16px}
#contact-dialog[data-enquiry-journey] .enquiry-guidance p{font-size:13px}
#contact-dialog[data-enquiry-journey] .enquiry-guidance small{font-size:11px}
#contact-dialog[data-enquiry-journey] .enquiry-question-nav{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid #2a4659}
#contact-dialog[data-enquiry-journey] .enquiry-question-nav button{min-height:48px;padding:11px 15px;font:500 13px/1.5 var(--cf-body);border-radius:3px;color:#caddea}
#contact-dialog[data-enquiry-journey] .enquiry-question-nav [data-question-back]{margin-right:auto;padding-left:0}
#contact-dialog[data-enquiry-journey] .enquiry-question-nav [data-question-skip]{text-decoration:underline;text-underline-offset:4px}
#contact-dialog[data-enquiry-journey] .enquiry-question-nav [data-question-next]{min-width:110px;background:#e1edf5;border:1px solid #b2d4e4;color:#102434}
#contact-dialog[data-enquiry-journey] .enquiry-question-nav [data-question-next]:hover{background:#fff}
#contact-dialog[data-enquiry-journey] .enquiry-question-nav button:focus-visible,
#contact-dialog[data-enquiry-journey] .enquiry-own-answer:focus-visible,
#contact-dialog[data-enquiry-journey] [data-edit-question]:focus-visible{outline:2px solid #daf4ff;outline-offset:4px}
#contact-dialog[data-enquiry-journey] .enquiry-own-answer{font:13px/1.6 var(--cf-body);color:#b9e4f7;min-height:44px;margin-top:12px;text-decoration:underline;text-underline-offset:4px}
#contact-dialog[data-enquiry-journey] [data-question-error]:empty{display:none}
#contact-dialog[data-enquiry-journey] .enquiry-review{padding:0;margin:0;border:0;background:none}
#contact-dialog[data-enquiry-journey] .enquiry-review>summary,
#contact-dialog[data-enquiry-journey] .enquiry-review>[data-enquiry-back]{display:none}
#contact-dialog[data-enquiry-journey] [data-final-summary],
#contact-dialog[data-enquiry-journey] .enquiry-contact-review{display:grid;grid-template-columns:1fr;gap:0;margin:0}
#contact-dialog[data-enquiry-journey] :is([data-final-summary],.enquiry-contact-review)>p{position:relative;padding:14px 52px 14px 0;margin:0;border-bottom:1px solid #2a4659;font:13px/1.6 var(--cf-body);overflow-wrap:anywhere}
#contact-dialog[data-enquiry-journey] :is([data-final-summary],.enquiry-contact-review) strong{display:block;font:10px/1.6 var(--cf-mono);color:#99b6c9;margin:0 0 4px}
#contact-dialog[data-enquiry-journey] :is([data-final-summary],.enquiry-contact-review) span{color:#e0ecf4}
#contact-dialog[data-enquiry-journey] :is([data-final-summary],.enquiry-contact-review) button{position:absolute;right:0;top:10px;min-width:44px;min-height:44px;font:12px var(--cf-body);color:#84dcfa;text-decoration:underline;text-underline-offset:4px}
#contact-dialog[data-enquiry-journey] .enquiry-context-menu{margin-top:18px}
#contact-dialog[data-enquiry-journey] .enquiry-context-menu summary{cursor:pointer;min-height:44px;font:500 14px/1.6 var(--cf-body);align-content:center}
#contact-dialog[data-enquiry-journey] .enquiry-context-menu summary span{color:#9bb8c9;font-size:12px;margin-left:8px}
#contact-dialog[data-enquiry-journey] [data-context-options]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#contact-dialog[data-enquiry-journey] [data-context-options] button{padding:9px 12px;border:1px solid #416175;min-height:44px;color:#cce5f2;font:12px/1.5 var(--cf-body)}
#contact-dialog[data-enquiry-journey] .enquiry-actions [data-submit-label]{font-size:14px}
#contact-dialog[data-enquiry-journey] .enquiry-software-link{display:none}
#contact-dialog[data-enquiry-journey][data-question="serviceAction"] .enquiry-software-link:not([hidden]){display:block}
#contact-dialog[data-enquiry-journey]:is([data-enquiry-step="2"],[data-enquiry-step="3"]) .enquiry-intro{padding-top:32px}
#contact-dialog[data-enquiry-journey]:is([data-enquiry-step="2"],[data-enquiry-step="3"]) .enquiry-intro h2{font-size:40px;margin-bottom:18px}
#contact-dialog[data-enquiry-journey] .enquiry-live-brief{margin-top:24px;padding:20px}
#contact-dialog[data-enquiry-journey] .enquiry-live-brief dl>div{padding-block:10px}
#contact-dialog[data-enquiry-journey] .enquiry-live-brief dd{font-size:12px}
#contact-dialog[data-enquiry-journey] .enquiry-kicker{margin-bottom:18px}
@media(min-width:761px){
 #contact-dialog[data-enquiry-journey]:is([data-enquiry-step="2"],[data-enquiry-step="3"]) .enquiry-intro>p:not(.contact-context){font-size:13px}
 #contact-dialog[data-enquiry-journey] .enquiry-workspace{min-height:480px}
 #contact-dialog[data-enquiry-journey] .enquiry-intro .enquiry-next{font-size:11px;margin-top:16px}
}
@media(max-width:760px){
 #contact-dialog[data-enquiry-journey] .enquiry-workspace{padding:24px 20px}
 #contact-dialog[data-enquiry-journey] .enquiry-question-meta{gap:7px;margin-bottom:12px}
 #contact-dialog[data-enquiry-journey] .enquiry-selection{margin-bottom:22px;font-size:10px}
 #contact-dialog[data-enquiry-journey] .enquiry-picks{grid-template-columns:1fr;gap:8px}
 #contact-dialog[data-enquiry-journey] .enquiry-picks label>span{min-height:52px;font-size:14px;padding:13px 14px}
 #contact-dialog[data-enquiry-journey] [data-enquiry-question] :is(legend,.enquiry-field-label){font-size:24px;margin-bottom:20px}
 #contact-dialog[data-enquiry-journey] .enquiry-question-nav{gap:8px;margin-top:24px;padding-top:16px}
 #contact-dialog[data-enquiry-journey] .enquiry-question-nav button{padding-inline:8px;font-size:12px}
 #contact-dialog[data-enquiry-journey] .enquiry-question-nav [data-question-next]{min-width:84px}
}
#contact-dialog[data-enquiry-journey]:is([data-enquiry-step="2"],[data-enquiry-step="3"]) .enquiry-progress{display:none}
#contact-dialog[data-enquiry-journey] .enquiry-selection{margin-bottom:18px}
#contact-dialog[data-enquiry-journey] .enquiry-question-nav{position:sticky;bottom:0;z-index:1;background:#0b1721;box-shadow:0 -12px 18px #0b1721;padding-bottom:12px}
#contact-dialog[data-enquiry-journey] [hidden]{display:none!important}
#contact-dialog[data-enquiry-journey] .enquiry-question-nav button:disabled{opacity:.45;cursor:not-allowed}

/* 286: a visible memory cue, without returning to the full form. */
#contact-dialog .enquiry-answer-reminder{display:flex;align-items:center;gap:18px;margin:0 0 24px;padding:12px 14px;border-left:2px solid var(--service-accent,#67ddff);background:#14212d;overflow-wrap:anywhere}
#contact-dialog .enquiry-answer-reminder p{flex:1;min-width:0;margin:0;font:13px/1.5 var(--cf-body);color:#dbe8f2}
#contact-dialog .enquiry-answer-reminder p>span{display:block;margin-bottom:3px;color:#a8bfce;font:10px/1.5 var(--cf-mono)}
#contact-dialog .enquiry-answer-reminder strong{font-weight:400}
#contact-dialog .enquiry-answer-reminder button{flex-shrink:0;min-width:44px;min-height:44px;font:12px/1.5 var(--cf-body);color:#dbe8f2;text-decoration:underline;text-underline-offset:4px}
#contact-dialog .enquiry-answer-reminder button:focus-visible{outline:2px solid #daf4ff;outline-offset:2px}

/* 288: registration has a direct destination; assisted enquiries remain explicit. */
#contact-dialog .enquiry-domain-route{max-width:620px;padding:clamp(20px,3vw,36px);border:1px solid #6b5b41;background:linear-gradient(135deg,#1c252f,#0b1721)}
#contact-dialog .enquiry-domain-route>.micro{display:block;color:#f1c27d;margin-bottom:18px}
#contact-dialog[data-enquiry-journey] .enquiry-domain-route h3{font:500 clamp(26px,3vw,36px)/1.2 var(--cf-body);color:#edf3fa;margin:0 0 18px;letter-spacing:-.025em;outline:none}
#contact-dialog .enquiry-domain-route p{font:400 15px/1.7 var(--cf-body);color:#c6d5df;margin:0 0 24px;max-width:48ch}
#contact-dialog .enquiry-domain-primary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;padding:15px 20px;background:#e2ebf1;border:1px solid #b6cedb;color:#805d23;font:500 16px/1.5 var(--cf-body);text-decoration:none}
#contact-dialog .enquiry-domain-primary [data-route-arrow]{font-size:24px;line-height:1}
#contact-dialog .enquiry-domain-primary:hover{background:#fff}
#contact-dialog .enquiry-domain-help,#contact-dialog .enquiry-domain-instead{display:inline-flex;align-items:center;gap:16px;min-height:48px;padding:12px 0;font:500 14px/1.5 var(--cf-body);color:#edf3fa;text-decoration:underline;text-underline-offset:5px}
#contact-dialog .enquiry-domain-help{margin-top:12px}
#contact-dialog .enquiry-domain-route .enquiry-domain-note{margin:4px 0 0;color:#a8b6c9;font-size:13px}
#contact-dialog :is(.enquiry-domain-primary,.enquiry-domain-help,.enquiry-domain-instead):focus-visible{outline:3px solid #f1c27d;outline-offset:4px}
#contact-dialog .enquiry-domain-primary:focus-visible{outline-color:#805d23;outline-offset:-5px}

/* 289: one useful destination, with an explicit assisted path and local recovery. */
#contact-dialog .enquiry-route-options{border-top:1px solid #405266;margin-top:20px;padding-top:8px}
#contact-dialog .enquiry-route-options summary{min-height:48px;display:flex;align-items:center;gap:12px;cursor:pointer;color:#c6d5df;font:500 14px/1.5 var(--cf-body)}
#contact-dialog .enquiry-route-options summary::after{content:'+';color:#f1c27d;margin-left:auto}
#contact-dialog .enquiry-route-options[open] summary::after{content:'−'}
#contact-dialog .enquiry-route-options a,#contact-dialog .enquiry-client-route a{display:inline-flex;align-items:center;min-height:48px;color:#edf3fa;font:500 14px/1.5 var(--cf-body);text-underline-offset:5px}
#contact-dialog .enquiry-client-route{border-top:1px solid #405266;margin:24px 0 0;padding-top:12px;color:#c6d5df;font:400 14px/1.7 var(--cf-body)}
#contact-dialog .enquiry-client-route span{display:block;color:#a8b6c9;font-size:13px}
#contact-dialog :is(.enquiry-route-options summary,.enquiry-route-options a,.enquiry-client-route a):focus-visible{outline:3px solid #f1c27d;outline-offset:4px}
/* A short purpose notice belongs before the send action; it is not marketing consent. */
.enquiry-privacy{font-size:15px;line-height:1.7;color:var(--muted,#a8b6c9);margin:24px 0 16px;max-width:680px}
.enquiry-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* 370: conversation is a visible alternative throughout the guided enquiry. */
#contact-dialog .enquiry-header{position:sticky;top:0;z-index:5;background:#111e2a}
#contact-dialog .enquiry-header .enquiry-topline{position:static}
#contact-dialog .enquiry-header .enquiry-direct{border-top:0;border-bottom:1px solid #35566b;padding-block:6px;gap:4px 24px}
#contact-dialog .enquiry-header .enquiry-direct>.micro{margin:0;flex:1;font:400 12px/1.5 var(--cf-body);letter-spacing:0;color:#a8bfce}
#contact-dialog .enquiry-header .enquiry-direct>.email-contact{flex:0 1 auto}
#contact-dialog .enquiry-header .enquiry-direct .contact-email{white-space:normal;overflow-wrap:anywhere}
#contact-dialog .enquiry-header .contact-phone{min-height:44px;min-width:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){
 #contact-dialog .enquiry-header .enquiry-direct{padding-inline:20px;gap:4px 14px}
 #contact-dialog .enquiry-header .enquiry-direct>.micro{flex:1 1 70px;font-size:11px}
 #contact-dialog .enquiry-header .enquiry-direct>.email-contact{font-size:13px}
 #contact-dialog .enquiry-header .email-contact:has(.email-details:not([hidden])){flex:1 1 100%;order:2}
 #contact-dialog .enquiry-header .email-contact .email-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #contact-dialog .enquiry-header .email-contact .contact-email{font-size:13px}
}
@media(max-width:380px){#contact-dialog .enquiry-header .enquiry-direct{padding-inline:18px;gap:4px 10px}}
@media(forced-colors:active){#contact-dialog .enquiry-header{background:Canvas}#contact-dialog .enquiry-header .enquiry-direct{border-color:CanvasText}}

/* 373: one finite native-dialog arrival; the trace paints the scrolling frame. */
@property --enquiry-frame-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --enquiry-frame-colour{syntax:'<color>';inherits:false;initial-value:#385469}
html body #contact-dialog.shell-dialog[open]{animation:enquiry-arrive 460ms cubic-bezier(.16,1,.3,1) backwards,enquiry-frame-trace 800ms linear;transform-origin:50% 46%;--enquiry-arrival-lift:16px;--enquiry-arrival-scale:.99;border-image-slice:1}
#contact-dialog.shell-dialog[open]::backdrop{animation:enquiry-backdrop-arrive 360ms ease-out backwards}
@keyframes enquiry-arrive{from{opacity:0;transform:translateY(var(--enquiry-arrival-lift)) scale(var(--enquiry-arrival-scale))}to{opacity:1;transform:none}}
@keyframes enquiry-backdrop-arrive{from{opacity:0}to{opacity:1}}
@keyframes enquiry-frame-trace{
 0%,99.9%{border-image-source:conic-gradient(from var(--enquiry-frame-angle),#385469 0deg 275deg,var(--enquiry-frame-colour) 305deg,#385469 335deg 360deg)}
 0%{--enquiry-frame-angle:-60deg;--enquiry-frame-colour:#385469}
 15%{--enquiry-frame-angle:-6deg;--enquiry-frame-colour:#67ddff}
 65%{--enquiry-frame-angle:174deg;--enquiry-frame-colour:#67ddff}
 100%{--enquiry-frame-angle:300deg;--enquiry-frame-colour:#385469;border-image-source:none}
}
@media(max-width:760px){html body #contact-dialog.shell-dialog[open]{--enquiry-arrival-lift:7px;--enquiry-arrival-scale:1}}
html[data-motion=off] body #contact-dialog.shell-dialog[open],html[data-motion=off] body #contact-dialog.shell-dialog[open]::backdrop{animation:none!important;transform:none;opacity:1;border-image-source:none}
@media(prefers-reduced-motion:reduce),(forced-colors:active){
 html body #contact-dialog.shell-dialog[open],#contact-dialog.shell-dialog[open]::backdrop{animation:none!important;transform:none;opacity:1;border-image-source:none}
}

/* 388: readable enquiry typography; content scrolls at its natural size. */
html body #contact-dialog.shell-dialog{max-width:1440px}
#contact-dialog .enquiry-layout{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}
#contact-dialog.shell-dialog .enquiry-intro>p,
#contact-dialog.shell-dialog .enquiry-step-intro,
#contact-dialog.shell-dialog :is(.enquiry-field-help,.enquiry-help,.enquiry-error,.enquiry-status),
#contact-dialog .enquiry-start small,
#contact-dialog .enquiry-choice small,
#contact-dialog[data-enquiry-journey] [data-question-hint],
#contact-dialog[data-enquiry-journey] .enquiry-guidance p{font-size:16px;line-height:1.6;color:#b8c8d6}
#contact-dialog .enquiry-start strong,#contact-dialog .enquiry-choice strong{font-size:18px;line-height:1.45}
#contact-dialog .enquiry-start{min-width:0;min-height:128px;padding:20px 18px}
#contact-dialog .enquiry-start>span:not(.enquiry-choice-number):not(.enquiry-choice-mark){min-width:0}
#contact-dialog .enquiry-start-range{font-size:14px;line-height:1.6}
#contact-dialog.shell-dialog .enquiry-step h3,#contact-dialog .enquiry-step>legend{font-size:28px}
#contact-dialog .enquiry-progress{font-size:13px;gap:24px}
#contact-dialog .enquiry-topline .micro,#contact-dialog .enquiry-kicker{font-size:12px}
#contact-dialog.shell-dialog .enquiry-topline .dialog-close{font-size:16px;min-height:44px}
#contact-dialog .enquiry-header .enquiry-direct>.micro,
#contact-dialog.shell-dialog .enquiry-intro .enquiry-next,
#contact-dialog .enquiry-support div>span,
#contact-dialog.shell-dialog .enquiry-bottom p,
#contact-dialog .enquiry-field-label span,
#contact-dialog[data-enquiry-journey] .enquiry-guidance small{font-size:14px;line-height:1.65}
#contact-dialog.shell-dialog .enquiry-direct :is(.contact-email,.contact-phone),
#contact-dialog .enquiry-support :is(strong,button),
#contact-dialog .enquiry-selection button,
#contact-dialog .enquiry-field-label,
#contact-dialog .enquiry-actions button,
#contact-dialog .enquiry-actions button[type=submit] [data-submit-label],
#contact-dialog[data-enquiry-journey] .enquiry-question-nav button,
#contact-dialog[data-enquiry-journey] .enquiry-own-answer,
#contact-dialog[data-enquiry-journey] .enquiry-picks label>span{font-size:16px;line-height:1.5}
#contact-dialog .enquiry-form :is(input:not([type=radio]),textarea,select){font-size:18px}
#contact-dialog .enquiry-brief-header .micro,#contact-dialog [data-brief-summary] dt,
#contact-dialog .enquiry-brief-footer,#contact-dialog[data-enquiry-journey] [data-question-count]{font-size:12px}
#contact-dialog [data-brief-summary] dd,
#contact-dialog[data-enquiry-journey] :is([data-final-summary],.enquiry-contact-review)>p{font-size:16px}
@media(max-width:1100px){
 #contact-dialog .enquiry-layout{grid-template-columns:minmax(250px,.66fr) minmax(0,1.34fr)}
 #contact-dialog .enquiry-start{padding:16px 14px;gap:8px}
 #contact-dialog .enquiry-start .enquiry-choice-number{display:none}
}
@media(max-width:900px){
 #contact-dialog .enquiry-layout{display:block}
 #contact-dialog .enquiry-intro{padding:24px 24px 0;border:0}
 #contact-dialog .enquiry-kicker,#contact-dialog .enquiry-live-brief,#contact-dialog .enquiry-next{display:none!important}
 #contact-dialog.shell-dialog .enquiry-intro h2{font-size:40px;margin-bottom:0}
 #contact-dialog.shell-dialog .enquiry-intro h2 br{display:none}
 #contact-dialog.shell-dialog .enquiry-intro h2 em{display:block}
 #contact-dialog.shell-dialog .enquiry-intro>p{display:none}
 #contact-dialog[data-enquiry-step="2"] .enquiry-intro,#contact-dialog[data-enquiry-step="3"] .enquiry-intro{display:none}
 #contact-dialog .enquiry-workspace{border:0;min-height:0;padding:24px}
}
@media(max-width:600px){
 #contact-dialog .enquiry-choices,#contact-dialog[data-enquiry-journey] .enquiry-picks{grid-template-columns:minmax(0,1fr)}
 #contact-dialog .enquiry-start{min-height:104px}
 #contact-dialog .enquiry-start strong{font-size:18px}
 #contact-dialog .enquiry-start small{font-size:16px}
 #contact-dialog .enquiry-start-range{font-size:14px}
 #contact-dialog .enquiry-progress{font-size:12px;gap:18px}
 #contact-dialog.shell-dialog .enquiry-step h3,#contact-dialog .enquiry-step>legend{font-size:25px}
 #contact-dialog .enquiry-header .enquiry-direct>.micro{flex-basis:100%;font-size:14px}
 #contact-dialog .enquiry-topline .micro{font-size:11px;max-width:23ch}
 #contact-dialog .enquiry-support{align-items:flex-start;flex-direction:column;gap:3px}
 #contact-dialog .enquiry-workspace,#contact-dialog .enquiry-intro{padding-inline:18px}
 #contact-dialog .enquiry-topline{padding-inline:18px}
 #contact-dialog .enquiry-bottom{padding-inline:18px}
}
/* Override the legacy dialog's important 12px footer rule only in the enquiry. */
#contact-dialog.shell-dialog .existing-client{font-size:14px!important}
#contact-dialog .enquiry-header .enquiry-direct>.email-contact{font-size:16px}
#contact-dialog .enquiry-selection{font-size:14px}
#contact-dialog .enquiry-answer-reminder p,#contact-dialog .enquiry-answer-reminder button{font-size:16px}
#contact-dialog .enquiry-answer-reminder p>span{font-size:12px}
#contact-dialog[data-enquiry-journey] [data-enquiry-question] .enquiry-field-label>span{font-size:14px}
/* Keep readable step labels inside the narrowest phone dialog. */
@media(max-width:380px){
 #contact-dialog .enquiry-progress{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,.8fr);gap:8px}
 #contact-dialog .enquiry-progress li{min-width:0;flex-direction:column;align-items:flex-start;gap:4px}
}

/* /site-shell/menu-experience.css */
/* Shared Signal Architecture navigation. Finite entrances; no idle renderer. */
html body #site-menu.shell-dialog{inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:100dvh;padding:0;border:0;border-radius:0;background:#080d16;color:var(--cf-ink);overflow-x:hidden;overflow-y:auto;animation:none;transform:none;isolation:isolate;box-shadow:none;--menu-x:0;--menu-y:0}
#site-menu.shell-dialog::backdrop{background:#04070dec;backdrop-filter:none}
#site-menu .menu-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 88% 27%,#07598532,transparent 58%),linear-gradient(125deg,#121c29 0%,#080d16 52%);overflow:hidden}
#site-menu .menu-atmosphere:after{content:'';position:absolute;left:59%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#52677b44 15%,#019edb55 68%,transparent);transform:skewX(-12deg);transform-origin:top}
#site-menu .menu-shell{position:relative;display:flex;flex-direction:column;min-height:100%;max-width:1920px;margin:auto;padding:0 clamp(28px,4vw,80px) max(22px,env(safe-area-inset-bottom));gap:clamp(18px,3svh,34px)}
#site-menu .menu-top{display:flex;align-items:center;gap:24px;min-height:96px;padding-top:env(safe-area-inset-top);border-bottom:1px solid #6b8b9d36;flex:none}
#site-menu .menu-identity{display:flex;align-items:center;gap:12px}
#site-menu .menu-identity img:first-child{display:block;width:42px;height:30px;object-fit:contain}
#site-menu .menu-identity img:last-child{width:136px;height:auto;filter:brightness(0) invert(1)}
#site-menu .menu-top-note{margin-left:auto;font:10px/1.5 var(--cf-mono);letter-spacing:.1em;color:#8b9cab}
#site-menu.shell-dialog .menu-top .dialog-close{display:flex;align-items:center;gap:18px;margin:0 0 0 clamp(24px,5vw,90px);padding:0;min-height:48px;font:12px var(--cf-body);color:var(--cf-ink)}
#site-menu.shell-dialog .menu-top .menu-close-label{font:12px var(--cf-body)}
#site-menu.shell-dialog .menu-top .menu-close-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid #526477;border-radius:50%;background:#ffffff03;transition:border-color .2s,background-color .2s,color .2s}
#site-menu .menu-close-icon .shell-control-icon{width:20px;height:20px}
#site-menu .dialog-close:is(:hover,:focus-visible) .menu-close-icon{border-color:#619db9;background:#142b3b;color:var(--cf-light)}
#site-menu .menu-services-trigger .menu-link-arrow{display:grid;place-items:center}
#site-menu .menu-services-trigger .shell-control-icon{width:1em;height:1em}
#site-menu .menu-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:center;flex:1;min-height:0;padding:clamp(0px,1svh,18px) 0}
#site-menu .menu-navigation{min-width:0}
#site-menu .menu-eyebrow{display:flex;justify-content:space-between;font:10px/1.6 var(--cf-mono);letter-spacing:.07em;color:#8198ab}
#site-menu .menu-primary>.menu-eyebrow{margin-bottom:16px}
#site-menu.shell-dialog nav.menu-nav{display:flex;flex-direction:column;align-items:stretch;width:100%;margin:0;gap:0;font-family:var(--cf-display);text-transform:uppercase;letter-spacing:0;perspective:900px}
#site-menu.shell-dialog .menu-nav .menu-link{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 44px;align-items:center;gap:14px;padding:12px 0 18px;min-height:44px;margin:0;border:0;border-bottom:1px solid #7e98ab35;color:#edf3fa;text-align:left;font:500 clamp(54px,min(7.6vw,9svh),126px)/1.08 var(--cf-display);letter-spacing:0;overflow:hidden;transition:color .3s,background .3s}
#site-menu .menu-nav .menu-link:before{content:'';position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,#019edb,#8ee6ff,transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--cf-ease)}
#site-menu.shell-dialog .menu-nav .menu-number{align-self:center;transform:none;color:#7990a3;font:10px/1.5 var(--cf-mono);letter-spacing:0;transition:color .3s}
#site-menu .menu-label{display:block;transform-origin:left bottom;transition:transform .5s var(--cf-ease);white-space:nowrap}
#site-menu.shell-dialog .menu-nav .menu-link-arrow{font:300 clamp(30px,3vw,45px)/1 var(--cf-body);color:#67ddff;opacity:0;transform:translate(-12px,12px);transition:transform .45s var(--cf-ease),opacity .3s}
#site-menu.shell-dialog .menu-nav .menu-link:is(:hover,:focus-visible,[aria-current]){color:#67ddff;background:none;padding-left:0}
#site-menu .menu-nav .menu-link:is(:hover,:focus-visible):before{transform:scaleX(1)}
#site-menu .menu-link:is(:hover,:focus-visible) .menu-label{transform:translateX(8px)}
#site-menu.shell-dialog .menu-nav .menu-link:is(:hover,:focus-visible) .menu-link-arrow{opacity:1;transform:none}
#site-menu .menu-link:is(:hover,:focus-visible) .menu-number{color:#67ddff}
#site-menu.shell-dialog .menu-nav .menu-link:focus-visible{outline-offset:-3px}
#site-menu .menu-secondary{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:15px}
#site-menu .menu-secondary a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;font:12px/1.4 var(--cf-body);color:#b5c4d0}
#site-menu .menu-secondary a span{color:#67ddff}#site-menu .menu-secondary a:hover{color:#fff}
#site-menu .menu-preview{position:relative;min-width:0;align-self:center}
#site-menu .menu-stage{position:relative;aspect-ratio:600/540;max-height:48svh;margin:auto;perspective:1000px;transform:translate3d(calc(var(--menu-x)*8px),calc(var(--menu-y)*5px),0);transition:transform .8s var(--cf-ease)}
#site-menu .menu-architecture{position:absolute;inset:-4% -3%;width:106%;height:108%;overflow:visible;transform:rotateX(calc(var(--menu-y)*-3deg)) rotateY(calc(var(--menu-x)*5deg)) rotateZ(var(--menu-orbit,0deg));transition:transform .8s var(--cf-ease);pointer-events:none}
#site-menu .menu-contour{stroke:#376177;stroke-width:1;vector-effect:non-scaling-stroke}
#site-menu .menu-contour-back{stroke:#1b3b50}#site-menu .menu-contour-inner{stroke:#214656}
#site-menu .menu-light-cut{stroke:#019edb;stroke-width:2;filter:drop-shadow(0 0 5px #019edb88);vector-effect:non-scaling-stroke}
#site-menu .menu-scene{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(24px) scale(.94) rotateY(-8deg);transition:opacity .4s,transform .65s var(--cf-ease),visibility .65s;pointer-events:none;transform-style:flat}
#site-menu[data-menu-view=home] [data-menu-scene=home],#site-menu[data-menu-view=services] [data-menu-scene=services],#site-menu[data-menu-view=projects] [data-menu-scene=projects],#site-menu[data-menu-view=about] [data-menu-scene=about]{opacity:1;visibility:visible;transform:translateY(0) scale(1) rotateY(0)}
#site-menu .menu-glass{position:absolute;inset:16% 12%;border:1px solid #6eacc559;border-radius:2px;background:linear-gradient(128deg,#33556650,#0c1b2aaf 42%,#0a1425f5);box-shadow:inset 0 0 0 7px #20354a44,0 20px 60px #0003;transform:rotateX(8deg) rotateY(-22deg) rotateZ(-6deg);backface-visibility:hidden}
#site-menu .menu-glass-back{transform:translate(-38px,-29px) rotateX(8deg) rotateY(-22deg) rotateZ(-6deg);opacity:.5;border-color:#517286}
#site-menu .menu-glass-middle{transform:translate(-19px,-14px) rotateX(8deg) rotateY(-22deg) rotateZ(-6deg);opacity:.8}
#site-menu .menu-glass-front{display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:24px;transform:rotateX(calc(8deg + var(--menu-y)*-3deg)) rotateY(calc(-22deg + var(--menu-x)*6deg)) rotateZ(-6deg);transition:transform .8s var(--cf-ease);border-color:#71bbd6;background:linear-gradient(128deg,#5a809044,#0d1d2eda 42%,#0b1424f5);box-shadow:inset 0 0 0 7px #5488a018,2px 3px 0 #315871,4px 5px 0 #112637,0 25px 60px #0006}
#site-menu .menu-glass-front:after{content:'';position:absolute;inset:-60% -40%;background:linear-gradient(110deg,transparent 38%,#dff5ff18 49%,#dff5ff03 58%,transparent 64%);transform:translateX(calc(var(--menu-x)*25%));pointer-events:none;transition:transform .8s var(--cf-ease)}
#site-menu .menu-glass-index{font:8px/1.6 var(--cf-mono);letter-spacing:.035em;color:#a5c0d1}
#site-menu .menu-sculpture{display:block;width:90%;height:auto;margin:auto;filter:drop-shadow(0 6px 0 #142d43) drop-shadow(0 0 16px #019edb28)}
#site-menu .menu-glass-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #40768d;padding-top:15px;font:9px/1.5 var(--cf-mono);color:#9fc8de}
#site-menu .menu-glass-foot>span{font-size:24px;color:#67ddff}
#site-menu .menu-service-art{position:absolute;inset:5% -7%;transform:rotateY(-12deg) rotateZ(-4deg);filter:drop-shadow(0 20px 20px #0004)}
#site-menu .menu-service-art .cf-story-art{width:100%;height:100%;position:static!important;transform:none!important;opacity:1!important}
#site-menu .menu-service-art svg{display:block;width:100%;height:100%}
#site-menu .menu-work-plane{position:absolute;display:block;margin:0;width:65%;border:1px solid #6a9ab16e;border-radius:5px;background:#0a1422;box-shadow:0 24px 46px #0008;overflow:hidden}
#site-menu .menu-work-plane img{display:block;width:100%;height:auto;aspect-ratio:1745/1432;object-fit:cover}
#site-menu .menu-work-plane figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;font:11px/1.4 var(--cf-body);color:#edf3fa}
#site-menu .menu-work-plane figcaption span{font:7px var(--cf-mono);color:#8aa8bd}
#site-menu .menu-work-plane-1{top:4%;left:0;transform:rotateY(18deg) rotateZ(-8deg);opacity:.8}
#site-menu .menu-work-plane-2{right:0;bottom:4%;transform:rotateY(-12deg) rotateZ(5deg)}
#site-menu .menu-about-plane{position:absolute;inset:5% 6%;padding:25px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#1b3648,#0b1524 66%);border:1px solid #416b82;box-shadow:7px 8px 0 #203547,0 24px 50px #0006;transform:rotateY(-15deg) rotateZ(-5deg)}
#site-menu .menu-about-type{font:500 clamp(38px,4.5vw,78px)/1.05 var(--cf-display);letter-spacing:0;color:#edf3fa;text-transform:uppercase}
#site-menu .menu-about-type em{font:inherit;color:#67ddff}
#site-menu .menu-preview-copy{position:relative;border-top:1px solid #54718b55;margin:8px 5% 0;padding-top:20px}
#site-menu .menu-preview-index{display:block;font:9px/1.5 var(--cf-mono);letter-spacing:.035em;color:#67ddff}
#site-menu.shell-dialog .menu-preview-title{font:500 clamp(18px,1.7vw,27px)/1.35 var(--cf-body);margin:12px 0 8px;color:#edf3fa}
#site-menu.shell-dialog .menu-preview-description{font:400 13px/1.65 var(--cf-body);color:#8fa5b9;max-width:35ch}
#site-menu .menu-bottom{display:grid;grid-template-columns:minmax(210px,1fr) minmax(250px,1.45fr) minmax(130px,.6fr);align-items:center;gap:clamp(24px,4vw,65px);padding-top:24px;border-top:1px solid #6b8b9d36;flex:none}
#site-menu.shell-dialog .menu-bottom-info p{font:12px/1.7 var(--cf-body);color:#aabcc9;margin:9px 0 2px}
#site-menu .menu-client-links{display:flex;flex-wrap:wrap;gap:20px}#site-menu .menu-client-links a{display:flex;align-items:center;min-height:44px;font:11px var(--cf-body);color:#d5e1e9}
#site-menu .menu-engage{position:relative;width:100%;display:flex;flex-direction:column;justify-content:center;gap:12px;text-align:left;padding:22px 26px;border:1px solid #3d7d97;background:linear-gradient(115deg,#183348,#102337);border-radius:3px;color:#edf3fa;min-height:112px;transition:background .3s,border-color .3s}
#site-menu .menu-engage:hover{background:#163c52;border-color:#a1e8ff}
#site-menu .menu-engage-label{font:8px/1.5 var(--cf-mono);letter-spacing:.07em;color:#83bdd6}
#site-menu .menu-engage-title{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;font:500 clamp(20px,2vw,32px)/1.15 var(--cf-body)}
#site-menu .menu-engage-title>span{font:300 38px/1 var(--cf-body);color:#67ddff}
#site-menu .menu-preferences{display:flex;flex-direction:column;align-items:flex-end}
#site-menu .menu-preferences button{display:flex;align-items:center;gap:14px;padding:10px 0;min-height:44px;font:11px/1.5 var(--cf-body);color:#9bb0c2}
#site-menu .menu-preferences button:hover,#site-menu .menu-client-links a:hover{color:#67ddff}
#site-menu .menu-preferences button:disabled{opacity:.7}
/* Scene-specific assembly shares the same motion owner; quiet states stay complete. */
#site-menu[data-menu-view=services]{--menu-orbit:5deg}
#site-menu[data-menu-view=projects]{--menu-orbit:-5deg}
#site-menu[data-menu-view=about]{--menu-orbit:3deg}
#site-menu .menu-about-line{display:block;overflow:hidden;padding-bottom:.055em;margin-bottom:-.055em}
#site-menu .menu-about-line>span{display:block}
#site-menu .menu-service-art [data-signal-bar]{transform-box:fill-box;transform-origin:50% 100%}
#site-menu .menu-reveal-clip{position:absolute;inset:3% -3%;overflow:hidden;pointer-events:none;z-index:2;clip-path:polygon(12% 0,88% 0,100% 18%,100% 89%,88% 100%,5% 100%,0 90%,0 12%)}
#site-menu .menu-reveal-light{position:absolute;inset:0 auto 0 0;width:30%;opacity:0;background:linear-gradient(90deg,transparent,#019edb09 20%,#67ddff20 78%,#e3faff80 99%,transparent);transform:translateX(-105%) skewX(-15deg);pointer-events:none}
@keyframes menu-shell-reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes menu-type-reveal{from{opacity:0;transform:translate3d(0,110%,0) rotateX(-30deg)}to{opacity:1;transform:none}}
@keyframes menu-stage-reveal{from{opacity:0;transform:translate3d(35px,30px,0) scale(.9)}to{opacity:1;transform:none}}
@keyframes menu-line-reveal{from{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:1}}
#site-menu[open] .menu-top,#site-menu[open] .menu-bottom,#site-menu[open] .menu-secondary,#site-menu[open] .menu-preview-copy{animation:menu-shell-reveal .65s var(--cf-ease) both}
#site-menu[open] .menu-bottom{animation-delay:.22s}#site-menu[open] .menu-secondary{animation-delay:.24s}#site-menu[open] .menu-preview-copy{animation-delay:.3s}
#site-menu[open] .menu-label{animation:menu-type-reveal .75s cubic-bezier(.16,1,.3,1) backwards;animation-delay:.06s}
#site-menu[open] .menu-link:nth-child(2) .menu-label{animation-delay:.11s}#site-menu[open] .menu-link:nth-child(3) .menu-label{animation-delay:.16s}#site-menu[open] .menu-link:nth-child(4) .menu-label{animation-delay:.21s}
#site-menu[open] .menu-preview{animation:menu-stage-reveal .9s cubic-bezier(.16,1,.3,1) .12s both}
#site-menu[open] .menu-architecture path{stroke-dasharray:1;animation:menu-line-reveal 1.1s var(--cf-ease) .15s both}
#site-menu[open] .menu-architecture .menu-light-cut{animation-delay:.3s}
@media(min-width:901px) and (max-height:850px){#site-menu .menu-top{min-height:76px}#site-menu .menu-shell{gap:14px;padding-bottom:16px}#site-menu .menu-main{padding:0}#site-menu .menu-navigation>.menu-eyebrow{margin-bottom:6px}#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(46px,9.5svh,74px);padding:8px 0 10px}#site-menu .menu-stage{max-height:43svh}#site-menu .menu-bottom{padding-top:15px}#site-menu .menu-bottom-info p{display:none}#site-menu .menu-engage{min-height:90px;padding:15px 22px}#site-menu .menu-secondary{margin-top:5px}}
@media(max-width:1000px){#site-menu .menu-main{gap:24px}#site-menu.shell-dialog .menu-nav .menu-link{grid-template-columns:25px minmax(0,1fr) 32px;gap:9px}#site-menu .menu-bottom{grid-template-columns:1fr 1.4fr;gap:12px 26px}#site-menu .menu-preferences{grid-column:1/-1;flex-direction:row;gap:24px;justify-content:flex-end}#site-menu .menu-preview-description{font-size:12px}#site-menu .menu-glass-front{padding:15px}#site-menu .menu-glass-index{font-size:7px}}
@media(max-width:800px){html body #site-menu.shell-dialog{height:100dvh;max-height:100dvh}#site-menu .menu-shell{padding:0 max(22px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom));gap:20px}#site-menu .menu-top{min-height:80px}#site-menu .menu-top-note{display:none}#site-menu .menu-top .dialog-close{margin-left:auto!important}#site-menu .menu-main{display:block;flex:1;padding:0}#site-menu .menu-preview{display:none}#site-menu .menu-atmosphere:after{left:95%}#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(48px,10vw,80px);padding:9px 0 14px;grid-template-columns:25px minmax(0,1fr) 32px;gap:10px}#site-menu.shell-dialog .menu-nav .menu-link-arrow{opacity:.5;transform:none;font-size:28px}#site-menu .menu-secondary{gap:26px;margin-top:9px}#site-menu .menu-bottom{padding-top:18px;grid-template-columns:1fr;gap:16px}#site-menu .menu-engage{grid-row:1;min-height:90px;padding:18px 20px;gap:9px}#site-menu .menu-engage-title{font-size:23px}#site-menu .menu-bottom-info{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}#site-menu .menu-bottom-info>.menu-eyebrow{display:none}#site-menu.shell-dialog .menu-bottom-info p{margin:0;font-size:10px}#site-menu .menu-client-links{gap:16px}#site-menu .menu-client-links a{font-size:10px}#site-menu .menu-preferences{grid-column:1;justify-content:flex-start;gap:24px;border-top:1px solid #6b8b9d25;padding-top:2px}#site-menu .menu-preferences button{font-size:10px}}
@media(max-width:420px){#site-menu .menu-identity{gap:8px}#site-menu .menu-identity img:first-child{width:32px;height:24px}#site-menu .menu-identity img:last-child{width:112px}#site-menu .menu-top{gap:12px}#site-menu.shell-dialog .menu-top .menu-close-label{display:none}#site-menu .menu-top .dialog-close{gap:0}#site-menu.shell-dialog .menu-top .menu-close-icon{width:44px;height:44px}#site-menu .menu-shell{gap:16px}#site-menu .menu-engage-title{font-size:20px}#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(40px,12vw,50px)}#site-menu .menu-bottom-info{display:block}#site-menu .menu-client-links{margin-top:2px}}
@media(max-width:360px){#site-menu.shell-dialog .menu-nav .menu-link{font-size:36px;grid-template-columns:20px minmax(0,1fr) 24px;gap:8px}}
@media(max-height:500px) and (min-width:601px){#site-menu .menu-preview{display:none}#site-menu .menu-main{display:block}#site-menu .menu-shell{gap:14px}#site-menu .menu-top{min-height:68px}#site-menu.shell-dialog nav.menu-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}#site-menu.shell-dialog .menu-nav .menu-link{font-size:42px;padding:10px 0}#site-menu .menu-bottom{grid-template-columns:1fr 1fr;gap:12px}#site-menu .menu-preferences{grid-column:1/-1;justify-content:flex-start}#site-menu .menu-engage{grid-row:auto}#site-menu .menu-top-note{display:none}}
@media(horizontal-viewport-segments:2){html body #site-menu.shell-dialog{width:env(viewport-segment-width 0 0);max-width:env(viewport-segment-width 0 0);left:0;right:auto}#site-menu .menu-main{display:block}#site-menu .menu-preview{display:none}#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(38px,5vw,66px)}#site-menu .menu-bottom{grid-template-columns:1fr}#site-menu .menu-preferences{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html body #site-menu.shell-dialog *,html body #site-menu.shell-dialog *:before,html body #site-menu.shell-dialog *:after{animation:none!important;transition:none!important}#site-menu .menu-stage,#site-menu .menu-architecture{transform:none}}
html[data-motion=off] body #site-menu.shell-dialog *,html[data-motion=off] body #site-menu.shell-dialog *:before,html[data-motion=off] body #site-menu.shell-dialog *:after{animation:none!important;transition:none!important}
html[data-motion=off] #site-menu .menu-stage,html[data-motion=off] #site-menu .menu-architecture{transform:none}

/* 218: client routes live beside the main navigation, not below the footer. */
#site-menu .menu-client-area{margin-top:clamp(18px,3svh,32px);padding:16px 20px;border:1px solid #365268;background:#10213177}
#site-menu .menu-client-area>.menu-eyebrow{font-size:9px;color:#92b3c7}
#site-menu .menu-client-area .menu-client-links{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:6px}
#site-menu .menu-client-area .menu-client-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font:500 13px/1.4 var(--cf-body);color:#edf3fa}
#site-menu .menu-client-area .menu-client-links a>span:last-child{color:var(--cf-light);font-size:20px}
#site-menu .menu-client-area .menu-client-links a:hover{color:var(--cf-light)}
@media(max-height:850px) and (min-width:901px){#site-menu.shell-dialog .menu-nav .menu-link{font-size:clamp(42px,7.5svh,64px)}#site-menu .menu-client-area{margin-top:12px;padding:10px 16px}#site-menu .menu-client-area .menu-client-links{margin-top:0}}
@media(max-width:800px){#site-menu .menu-client-area{margin-top:18px;padding:12px 16px}#site-menu .menu-client-area .menu-client-links{gap:16px}}

/* 278: a complete service directory inside the existing full-screen menu. */
#site-menu [hidden]{display:none!important}
#site-menu .menu-top{position:sticky;top:0;z-index:5;background:#0b1520}
#site-menu.shell-dialog .menu-nav button.menu-link{width:100%;background:none;border-radius:0;text-transform:uppercase;cursor:pointer}
#site-menu.shell-dialog .menu-nav .menu-services-trigger .menu-link-arrow{opacity:1;transform:none;font-size:30px;font-weight:300}
#site-menu.shell-dialog .menu-nav .menu-services-trigger[data-current-service]{color:#67ddff}
#site-menu .menu-services-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
#site-menu .menu-back,#site-menu .menu-overview{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;font:500 12px/1.4 var(--cf-body);color:#b5c4d0;background:none;border:0;border-radius:0;text-decoration:none;cursor:pointer}
#site-menu .menu-back>span,#site-menu .menu-overview>span{font-size:20px;color:#67ddff}
#site-menu :is(.menu-back,.menu-overview):is(:hover,:focus-visible){color:#edf3fa}
#site-menu .menu-services-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0 20px;border-bottom:1px solid #6b8b9d60}
#site-menu.shell-dialog .menu-services-heading h2{font:500 clamp(40px,4.2vw,64px)/1.12 var(--cf-display);letter-spacing:0;margin:0}
#site-menu .menu-services-heading .menu-eyebrow{white-space:nowrap;color:#a8b6c9;font-size:9px}
#site-menu.shell-dialog nav.menu-service-nav{display:flex;align-items:stretch;gap:0;margin:0;padding:0;perspective:none;text-transform:none;letter-spacing:0}
#site-menu.shell-dialog .menu-service-nav .menu-service-link{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:16px;width:100%;min-height:72px;margin:0;padding:13px 0;border-bottom:1px solid #6b8b9d36;border-radius:0;background:none;font:400 16px/1.35 var(--cf-body);color:#edf3fa;text-decoration:none;transition:background .25s,color .25s}
#site-menu .menu-service-number{font:10px/1.5 var(--cf-mono);color:var(--service-accent)}
#site-menu .menu-service-copy{display:grid;gap:5px;min-width:0;transition:translate .35s var(--cf-ease)}
#site-menu .menu-service-name{font:500 clamp(17px,1.55vw,25px)/1.3 var(--cf-body);text-wrap:balance}
#site-menu .menu-service-summary{font:400 12px/1.5 var(--cf-body);color:#a8b6c9}
#site-menu .menu-service-arrow{font:300 23px/1 var(--cf-body);color:var(--service-accent);transition:translate .35s var(--cf-ease)}
#site-menu .menu-service-link:before{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--service-accent),transparent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--cf-ease)}
#site-menu.shell-dialog .menu-service-nav .menu-service-link:is(:hover,:focus-visible,[aria-current]){color:var(--service-accent);background:linear-gradient(90deg,var(--service-wash),transparent)}
#site-menu .menu-service-link:is(:hover,:focus-visible):before{transform:scaleX(1)}
#site-menu .menu-service-link:is(:hover,:focus-visible) .menu-service-copy{translate:4px 0}
#site-menu .menu-service-link:is(:hover,:focus-visible) .menu-service-arrow{translate:2px -2px}
#site-menu .menu-service-link:focus-visible{outline:2px solid var(--service-accent);outline-offset:3px;z-index:1}
#site-menu :is(.menu-back,.menu-overview):focus-visible{outline:2px solid #67ddff;outline-offset:4px}
#site-menu .menu-preview .menu-preview-index{color:var(--service-accent)}
#site-menu .menu-preview .menu-contour{stroke:color-mix(in srgb,var(--service-accent) 38%,#1b3045)}
#site-menu .menu-preview .menu-contour-back,#site-menu .menu-preview .menu-contour-inner{stroke:color-mix(in srgb,var(--service-accent) 20%,#142537)}
#site-menu .menu-preview .menu-light-cut{stroke:var(--service-accent);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--service-accent) 40%,transparent))}
#site-menu .menu-preview .menu-reveal-light{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--service-accent) 5%,transparent) 20%,color-mix(in srgb,var(--service-accent) 13%,transparent) 78%,#e3faff80 99%,transparent)}
/* Fragment destinations remain clear of the fixed shared header. */
.cf-service[id^="service-"],#business-services{scroll-margin-top:calc(var(--shell-height,96px) + 24px)}
@media(min-width:801px){
 #site-menu[data-menu-level=services] .menu-main{align-items:start}
 #site-menu[data-menu-level=services] .menu-preview{position:sticky;top:118px;align-self:start;margin-top:52px}
 #site-menu[data-menu-level=services] .menu-client-area{margin-top:12px;padding:10px 16px}
}
@media(min-width:901px) and (max-height:850px){
 #site-menu .menu-primary>.menu-eyebrow{margin-bottom:6px}
 #site-menu .menu-services-heading{padding:4px 0 12px}
 #site-menu.shell-dialog .menu-services-heading h2{font-size:40px}
 #site-menu.shell-dialog .menu-service-nav .menu-service-link{min-height:62px;padding:9px 0}
 #site-menu .menu-service-copy{gap:3px}
 #site-menu .menu-service-name{font-size:18px}
 #site-menu[data-menu-level=services] .menu-preview{top:96px;margin-top:40px}
}
@media(max-width:1000px){#site-menu .menu-service-name{font-size:17px}#site-menu.shell-dialog .menu-service-nav .menu-service-link{gap:12px}}
@media(max-width:800px){
 #site-menu .menu-services-top{gap:12px}
 #site-menu .menu-services-heading{padding:8px 0 18px}
 #site-menu .menu-primary>.menu-eyebrow{margin-bottom:10px}
 #site-menu .menu-service-name{font-size:19px}
 #site-menu.shell-dialog .menu-service-nav .menu-service-link{min-height:78px;padding:14px 0;grid-template-columns:22px minmax(0,1fr) 22px;gap:12px}
 #site-menu .menu-service-summary{font-size:12px}
}
@media(max-width:420px){
 #site-menu .menu-back,#site-menu .menu-overview{font-size:11px;gap:8px}
 #site-menu .menu-service-name{font-size:17px}
 #site-menu .menu-service-summary{font-size:11px}
 #site-menu.shell-dialog .menu-service-nav .menu-service-link{grid-template-columns:18px minmax(0,1fr) 18px;gap:10px}
 #site-menu .menu-service-arrow{font-size:20px}
}
@media(max-width:360px){
 #site-menu .menu-services-heading{gap:12px}
 #site-menu.shell-dialog .menu-services-heading h2{font-size:32px;white-space:nowrap}
 #site-menu .menu-services-heading .menu-eyebrow{font-size:8px}
}
@media(prefers-reduced-motion:reduce){#site-menu .menu-service-copy,#site-menu .menu-service-arrow{translate:none!important}}
html[data-motion=off] #site-menu .menu-service-copy,html[data-motion=off] #site-menu .menu-service-arrow{translate:none!important}
