.pq-launcher{position:fixed;left:24px;bottom:24px;z-index:1040;display:inline-flex;align-items:center;gap:12px;padding:15px 22px;border:1px solid #f8b331;border-radius:50px;background:#24275f;color:#fff!important;font:600 14px/1.3 var(--font-dm-sans,sans-serif);box-shadow:0 8px 30px #24275f30;transition:transform .2s,box-shadow .2s}.pq-launcher:hover{transform:translateY(-3px);box-shadow:0 12px 34px #24275f40}.pq-launcher>span:last-child{font-size:23px;color:#f8b331}.pq-launcher-dot{width:7px;height:7px;border-radius:50%;background:#f8b331;box-shadow:0 0 0 5px #f8b3311a}
body.pq-open{overflow:hidden}.pq-dialog{--pq-navy:#24275f;--pq-gold:#f8b331;box-sizing:border-box;width:min(1080px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #ffffff35;border-radius:26px;background:#fff;color:#24275f;box-shadow:0 32px 100px #0a0b2355;overflow:auto;overscroll-behavior:contain;font-family:inherit}.pq-dialog::backdrop{background:#10122caa;backdrop-filter:blur(9px)}.pq-dialog[open]{animation:pq-arrive .25s ease-out}.pq-dialog [hidden]{display:none!important}.pq-shell{display:grid;grid-template-columns:.78fr 1.22fr;position:relative;min-height:690px}.pq-close{position:absolute;top:16px;right:16px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:1px solid #24275f20;border-radius:50%;background:#fff;color:#24275f;font:18px/1 sans-serif;cursor:pointer}.pq-close:hover{background:#f8b331}.pq-dialog :focus-visible,.pq-launcher:focus-visible{outline:3px solid #b57a11;outline-offset:4px}.pq-story{display:flex;flex-direction:column;justify-content:space-between;position:relative;isolation:isolate;overflow:hidden;padding:40px 34px 28px;background:#24275f;color:#fff}.pq-story:before{content:"";position:absolute;width:390px;height:390px;border:1px solid #ffffff15;border-radius:50%;bottom:-160px;right:-210px;box-shadow:0 0 0 40px #ffffff03,0 0 0 80px #ffffff03;z-index:-1}.pq-story:after{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#f8b331,transparent)}.pq-wordmark{font-size:19px;font-weight:700;letter-spacing:5px;color:#fff}.pq-wordmark>span{display:block;margin-top:8px;font-size:8px;font-weight:500;letter-spacing:3px;color:#c3c5e0}.pq-story-main{padding:42px 0 24px}.pq-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.6}.pq-story .pq-eyebrow{color:#f8b331}.pq-story h2{margin:20px 0;font-size:clamp(34px,3.2vw,46px);font-weight:500;line-height:1.14;letter-spacing:-1.8px;color:#fff}.pq-story h2 em{font-family:Georgia,serif;color:#f8b331;font-weight:400;letter-spacing:-1px}.pq-story p{max-width:280px;color:#c7c9e0;font-size:13px;line-height:1.9;margin:0}.pq-orbit{position:relative;width:94px;height:94px;margin-top:30px;border:1px solid #ffffff30;border-radius:50%;display:grid;place-items:center}.pq-orbit>span{font:48px/1 Georgia,serif;color:#f8b331}.pq-orbit i{position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:50%;background:#f8b331}.pq-story-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:22px;font-size:9px;line-height:1.8;letter-spacing:2px;color:#c7c9e0}.pq-story-foot>span:last-child{font-size:30px;color:#f8b331}.pq-workspace{padding:40px 42px 24px;background:radial-gradient(ellipse at right top,#f8b3310c,transparent 60%),#fff}.pq-form-heading{margin-bottom:24px;padding-right:10px}.pq-form-heading>.pq-eyebrow{color:#8c6a25}.pq-form-heading h3{font-size:27px;font-weight:600;line-height:1.2;letter-spacing:-1px;color:#24275f;margin:10px 0}.pq-form-heading h3>span{font-family:Georgia,serif;font-style:italic;font-weight:400}.pq-form-heading p{font-size:12px;color:#73758e;margin:0}.pq-services{border:0;padding:0;margin:0 0 20px;min-width:0}.pq-services legend,.pq-details-heading{float:none;width:auto;font-size:12px;font-weight:600;color:#24275f;margin-bottom:12px}.pq-services legend>span,.pq-details-heading>span{font-size:10px;color:#a08b64;margin-right:10px}.pq-chips{display:flex;flex-wrap:wrap;gap:7px}.pq-chips label{position:relative;margin:0;cursor:pointer}.pq-chips input{position:absolute;opacity:0;width:1px;height:1px;inset:50%}.pq-chips label>span{display:flex;align-items:center;gap:12px;padding:9px 11px;border:1px solid #e5e5ed;border-radius:7px;background:#fff;color:#666983;font-size:11px;font-weight:500;transition:background .15s,border-color .15s}.pq-chips b{font-size:14px;font-weight:400;color:#a7a8b6}.pq-chips input:checked+span{background:#24275f;color:#fff;border-color:#24275f}.pq-chips input:checked+span b{color:#f8b331}.pq-chips input:focus-visible+span{outline:3px solid #f8b331;outline-offset:2px}.pq-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.pq-fields label{display:block;margin:0;color:#494c71;font-size:11px;font-weight:600}.pq-fields label>span{color:#a8791f}.pq-fields label>.pq-optional{font-weight:400;color:#8b8da2}.pq-fields input,.pq-fields select,.pq-fields textarea{box-sizing:border-box;display:block;width:100%;height:auto;margin-top:6px;padding:10px 11px;background:#f8f8fb;border:1px solid #e8e8ef;border-radius:7px;font:400 12px/1.4 inherit;font-family:inherit;font-size:12px;line-height:1.4;color:#24275f;outline:none;transition:border-color .15s,background .15s}.pq-fields input::placeholder,.pq-fields textarea::placeholder{color:#9495a5}.pq-fields input:focus,.pq-fields select:focus,.pq-fields textarea:focus{background:#fff;border-color:#c4973a;box-shadow:0 0 0 3px #f8b33113}.pq-fields textarea{min-height:80px;resize:vertical}.pq-fields [aria-invalid=true]{border-color:#b34343}.pq-full{grid-column:1/-1}.pq-error{display:block;margin-top:4px;color:#a63136;font-size:11px;font-weight:400;line-height:1.5}.pq-error:empty{display:none}.pq-status{font-size:12px;color:#a63136;line-height:1.5;margin:10px 0 0;white-space:pre-line}.pq-status:empty{display:none}.pq-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:18px;padding:14px 18px;border:0;border-radius:8px;background:#24275f;color:#fff!important;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s}.pq-submit>span:last-child{color:#f8b331;font-size:23px;line-height:1}.pq-submit:hover{background:#343878}.pq-submit:disabled{opacity:.65;cursor:wait}.pq-note{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;margin:11px 0 0;font-size:9px;line-height:1.6;color:#85869a}.pq-note a{color:#666983;text-decoration:underline}.pq-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pq-success{display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:45px 0;text-align:left}.pq-success-icon{display:grid;place-items:center;width:62px;height:62px;margin-bottom:28px;border-radius:50%;background:#f8b33126;color:#8c691e;font-size:28px}.pq-success h3{font-size:40px;line-height:1.15;letter-spacing:-1.5px;color:#24275f;margin:20px 0}.pq-success h3 em{font-family:Georgia,serif;font-weight:400}.pq-success p{color:#73758e;font-size:14px;line-height:1.8}.pq-again{background:none;border:0;padding:0;margin:20px 0 0;color:#24275f;font-family:inherit;font-size:12px;text-align:left;text-decoration:underline;cursor:pointer}
@keyframes pq-arrive{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:767px){.pq-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:18px}.pq-shell{grid-template-columns:1fr;min-height:0}.pq-story{padding:22px 24px}.pq-story-main{padding:20px 0 0}.pq-story h2{font-size:32px;margin:8px 0;letter-spacing:-1px}.pq-story h2 br{display:none}.pq-story h2 em{display:block}.pq-story p,.pq-orbit,.pq-story-foot{display:none}.pq-story .pq-eyebrow{font-size:9px}.pq-wordmark{font-size:13px;letter-spacing:4px}.pq-wordmark>span{display:none}.pq-workspace{padding:25px 24px}.pq-form-heading h3{font-size:24px}.pq-form-heading>.pq-eyebrow{font-size:9px}.pq-close{top:13px;right:13px;width:30px;height:30px}.pq-launcher{left:14px;bottom:calc(16px + env(safe-area-inset-bottom));padding:12px 17px;font-size:12px}.pq-fields input,.pq-fields select,.pq-fields textarea{font-size:16px}.pq-fields{gap:12px}.pq-success{padding:20px 0}.pq-success h3{font-size:34px}}@media(max-width:380px){.pq-fields{grid-template-columns:1fr}.pq-chips label>span{font-size:10px}.pq-workspace{padding:24px 18px}}@media(prefers-reduced-motion:reduce){.pq-dialog[open]{animation:none}.pq-launcher,.pq-submit,.pq-chips label>span{transition:none}}

/* Keep scrolling inside the rounded popup and its close control accessible. */
.pq-dialog { overflow: hidden; }
.pq-shell {
    min-height: 0;
    max-height: calc(100dvh - 42px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #a3a4be transparent;
}
.pq-shell::-webkit-scrollbar { width: 6px; }
.pq-shell::-webkit-scrollbar-track { background: transparent; margin-block: 20px; }
.pq-shell::-webkit-scrollbar-thumb { background: #a3a4be; border-radius: 20px; }
.pq-shell::-webkit-scrollbar-thumb:hover { background: #777aa3; }
.pq-shell::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
.pq-close { z-index: 3; }
@media (max-width: 767px) {
    .pq-shell { max-height: calc(100dvh - 26px); }
}
/* Moving three-colour border for the floating enquiry button. */
@property --pq-border-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}
.pq-launcher {
    border: 2px solid transparent;
    background: linear-gradient(165deg, #414581 0%, #2d316c 38%, #24275f 65%, #1c1f50 100%) padding-box,
        conic-gradient(from var(--pq-border-angle), #8b1425 0deg, #142b77 120deg, #ffd23f 240deg, #8b1425 360deg) border-box;
    box-shadow: inset 0 2px 2px #ffffff30, inset 0 -3px 4px #080c354d,
        0 5px 0 #171a43, 0 7px 0 #10132e, 0 13px 24px #16193638;
    text-shadow: 0 1px 2px #080c3570;
    animation: pq-border-orbit 4s linear infinite;
}
.pq-launcher:hover {
    transform: translateY(-3px);
    box-shadow: inset 0 2px 2px #ffffff38, inset 0 -3px 4px #080c354d,
        0 6px 0 #171a43, 0 8px 0 #10132e, 0 17px 28px #16193645;
}
.pq-launcher:active {
    transform: translateY(4px);
    box-shadow: inset 0 2px 5px #080c3550, 0 1px 0 #171a43, 0 5px 12px #16193630;
}
@keyframes pq-border-orbit {
    to { --pq-border-angle: 360deg; }
}
@media (prefers-reduced-motion: reduce) {
    .pq-launcher { animation: none; }
    .pq-launcher:hover, .pq-launcher:active { transform: none; }
}
