/* Sticky navigation and conversion-focused quick contact panel. */
.header{position:sticky;top:0;z-index:900;background:#ffffffdf;border-bottom-color:#15223810;backdrop-filter:blur(18px) saturate(1.25);-webkit-backdrop-filter:blur(18px) saturate(1.25);transition:box-shadow .25s ease,background .25s ease}.header__inner{transition:min-height .25s ease}
.header::after{content:"";position:absolute;right:0;bottom:-1px;width:0;height:1px;background:linear-gradient(90deg,var(--color-bordeaux),var(--color-orange));transition:width .5s var(--ease)}
.header--scrolled{background:#fffffff2;box-shadow:0 14px 36px -28px #07162f99}
.header--scrolled::after{width:100%}
.header--scrolled .header__inner{min-height:76px}
.quick-contact-open{overflow:hidden}
.quick-contact__trigger{position:fixed;z-index:880;right:0;top:50%;display:flex;align-items:center;gap:12px;padding:18px 12px 18px 10px;color:#fff;background:linear-gradient(180deg,#781f38,#5d142a);border:1px solid #ffffff26;border-right:0;border-radius:18px 0 0 18px;box-shadow:0 18px 38px -16px #1522388c;font:500 .75rem/1.1 var(--font-sans);letter-spacing:.055em;writing-mode:vertical-rl;transform:translateY(-50%);cursor:pointer;transition:padding .25s ease,box-shadow .25s ease,background .25s ease}
.quick-contact__trigger:hover{padding-right:16px;background:linear-gradient(180deg,#8a2844,#68162f);box-shadow:0 22px 45px -13px #152238a6}
.quick-contact__trigger:focus-visible{outline:3px solid #ffb17f;outline-offset:4px}
.quick-contact__trigger-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#6d1931;background:#ffb17f;writing-mode:horizontal-tb}
.quick-contact__trigger-dot svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.quick-contact{position:fixed;inset:0;z-index:1200;visibility:hidden;pointer-events:none}
.quick-contact[aria-hidden="false"]{visibility:visible;pointer-events:auto}
.quick-contact__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:#071426a3;opacity:0;backdrop-filter:blur(4px);transition:opacity .35s ease;cursor:default}
.quick-contact[aria-hidden="false"] .quick-contact__backdrop{opacity:1}
.quick-contact__panel{position:absolute;top:0;right:0;width:min(100%,680px);height:100dvh;overflow:auto;padding:clamp(28px,4vw,48px) clamp(24px,4vw,46px) 26px;color:#152238;background:linear-gradient(145deg,#fff 0%,#fbf8f7 55%,#f3f5f8 100%);box-shadow:-30px 0 80px -45px #071426;transform:translateX(104%);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.quick-contact[aria-hidden="false"] .quick-contact__panel{transform:translateX(0)}
.quick-contact__accent{position:absolute;inset:0 0 auto;height:7px;display:grid;grid-template-columns:1.2fr .75fr .45fr;overflow:hidden}
.quick-contact__accent span:nth-child(1){background:var(--color-navy)}.quick-contact__accent span:nth-child(2){background:var(--color-bordeaux)}.quick-contact__accent span:nth-child(3){background:var(--color-orange)}
.quick-contact__close{position:absolute;top:24px;right:24px;display:grid;place-items:center;width:48px;height:48px;border:1px solid #1522381f;border-radius:50%;background:#ffffffc9;color:#152238;font:300 2rem/1 var(--font-sans);transition:transform .3s var(--ease),background .25s}
.quick-contact__close:hover{transform:rotate(8deg);background:#fff}
.quick-contact__heading{padding-right:52px}
.quick-contact__eyebrow{display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--color-bordeaux);font-size:.72rem;font-weight:800;letter-spacing:.11em}
.quick-contact__eyebrow span{color:#7b8493;font-weight:500}
.quick-contact__heading h2{max-width:500px;margin-top:13px;font-size:clamp(2rem,4vw,2.8rem);font-weight:800;line-height:1.06;letter-spacing:-.055em}
.quick-contact__heading>p:last-child{max-width:520px;margin-top:12px;color:#5b6574;font-size:.95rem;line-height:1.55}
.quick-contact__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-top:24px}
.quick-contact__field{position:relative;display:grid;gap:8px}
.quick-contact__field label{font-size:.78rem;font-weight:800;letter-spacing:.025em}
.quick-contact__field label span{font-weight:400;color:#737d8b}
.quick-contact__field input,.quick-contact__field select,.quick-contact__field textarea{width:100%;min-height:52px;padding:13px 15px;border:1px solid #15223824;border-radius:11px;outline:0;color:#152238;background:#ffffffc7;font:400 1rem/1.45 var(--font-sans);transition:border-color .2s,box-shadow .2s,background .2s}
.quick-contact__field textarea{min-height:52px;height:52px;resize:vertical}
.quick-contact__field input:focus,.quick-contact__field select:focus,.quick-contact__field textarea:focus{border-color:#781f3873;background:#fff;box-shadow:0 0 0 4px #781f380c}
.quick-contact__field input:user-invalid,.quick-contact__field select:user-invalid,.quick-contact__privacy input:user-invalid{border-color:#a61f38}
.quick-contact__privacy{grid-column:1/-1;display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:#596473;font-size:.75rem;line-height:1.55;cursor:pointer}
.quick-contact__privacy input{width:18px;height:18px;margin-top:1px;accent-color:var(--color-bordeaux)}
.quick-contact__privacy a{color:var(--color-bordeaux);text-decoration:underline;text-underline-offset:3px}
.quick-contact__submit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:56px;padding:14px 19px;border:0;border-radius:999px;color:#fff;background:var(--color-orange);font:500 1rem/1.2 var(--font-sans);box-shadow:0 14px 28px -18px #c94716;cursor:pointer;transition:transform .25s var(--ease),background .25s,box-shadow .25s}
.quick-contact__submit:hover{transform:translateY(-2px);background:var(--color-orange-hover);box-shadow:0 18px 34px -16px #c94716}
.quick-contact__submit .icon{width:20px;height:20px}
.quick-contact__status{grid-column:1/-1;min-height:1.4em;color:#34465e;font-size:.82rem;line-height:1.5}
.quick-contact__status[data-state="success"]{color:#17613b}.quick-contact__status[data-state="error"]{color:#9b243c}
.quick-contact__direct{display:flex;justify-content:space-between;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #15223817;font-size:.78rem;color:#667181}
.quick-contact__direct a{width:max-content;color:#152238;font-weight:800;border-bottom:1px solid #15223866}
.quick-contact__honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.admin-bar .header{top:32px}
@media(max-width:782px){.admin-bar .header{top:46px}}
@media(max-width:599px){.header__inner{min-height:76px}.header--scrolled .header__inner{min-height:68px}.quick-contact__trigger{top:auto;right:14px;bottom:14px;padding:10px 14px 10px 10px;border:1px solid #ffffff2e;border-radius:999px;writing-mode:horizontal-tb;transform:none;font-size:.72rem;box-shadow:0 15px 30px -12px #071426c2}.quick-contact__trigger:hover{padding-right:14px}.quick-contact__trigger-dot{width:31px;height:31px}.quick-contact__panel{top:auto;bottom:0;width:100%;height:min(92svh,800px);border-radius:24px 24px 0 0;padding:38px 22px 24px;transform:translateY(104%)}.quick-contact[aria-hidden="false"] .quick-contact__panel{transform:translateY(0)}.quick-contact__close{top:20px;right:20px;width:43px;height:43px}.quick-contact__heading{padding-right:42px}.quick-contact__heading h2{font-size:2.1rem}.quick-contact__heading>p:last-child{font-size:.88rem}.quick-contact__form{grid-template-columns:1fr;margin-top:20px;gap:12px}.quick-contact__privacy,.quick-contact__submit,.quick-contact__status{grid-column:1}.quick-contact__direct{align-items:flex-start;flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){.header,.header::after,.quick-contact__trigger,.quick-contact__backdrop,.quick-contact__panel,.quick-contact__close,.quick-contact__submit{transition:none}}
