/* Shared four-route contact rail; isolated from page and brochure styles. */
@font-face{font-family:ContactSans;src:url('/assets/source-sans-3-latin.woff2') format('woff2');font-weight:200 900;font-display:swap}
.edc-contact-dock{font:16px/1.5 ContactSans,Arial,sans-serif;color:#143e46}
.edc-contact-dock *{box-sizing:border-box}
.edc-contact-dock [hidden]{display:none!important}
.edc-contact-dock button,.edc-contact-dock input,.edc-contact-dock select,.edc-contact-dock textarea{font:inherit}
.edc-contact-dock a{color:inherit}
.edc-contact-dock :is(button,a,input,select,textarea):focus-visible{outline:3px solid #a77b2d;outline-offset:3px}
.edc-contact-dock-toggle,.edc-fallback{position:fixed;z-index:150;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:64px;min-height:192px;padding:22px 8px;color:#fff;border:1px solid #d7b56f;border-right:0;border-radius:24px 0 0 2px;background:linear-gradient(155deg,#103b43,#1b626b);box-shadow:-5px 8px 24px #062d3530;cursor:pointer;transition:background .2s,box-shadow .2s}
.edc-contact-dock-toggle:hover{background:linear-gradient(155deg,#15505a,#24727c);box-shadow:-6px 10px 28px #062d3540}
.edc-contact-dock-toggle strong{color:#fff;font:600 14px/1 ContactSans,Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.edc-contact-dock-toggle small{color:#e3eeed;font-size:11px;line-height:1.3;text-align:center}
.edc-contact-dock-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d7b56f;border-radius:50%;color:#e5c782}
.edc-contact-dock-icon svg,.edc-dock-calendar-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.edc-contact-dock-pulse{display:none}
.edc-contact-drawer{position:fixed;inset:0 0 0 auto;max-width:100vw;width:500px;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-left:1px solid #d7b56f65;border-radius:0;background:#f7f5ef;color:#143e46;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;box-shadow:-20px 0 60px #021c2538;font:16px/1.5 ContactSans,Arial,sans-serif}
.edc-contact-drawer[open]{animation:edc-enter .28s cubic-bezier(.2,.75,.25,1)}
.edc-contact-drawer::backdrop{background:#051e2acc}
@keyframes edc-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
html.edc-open{overflow:hidden}
.edc-contact-drawer-head{position:relative;padding:32px 32px 28px;background:linear-gradient(135deg,#0b323b,#15535c);color:#fff;border-bottom:2px solid #d7b56f}
.edc-contact-drawer-head>div>span{display:block;padding-right:28px;color:#e0c181;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
#edc-contact-drawer .edc-contact-drawer-head h2{max-width:300px;margin:16px 30px 18px 0;color:#fff;font:600 32px/1.12 ContactSans,Arial,sans-serif;letter-spacing:-.02em}
.edc-contact-drawer-head p{margin:0;color:#deebe9;font-size:15px;line-height:1.6}
.edc-contact-drawer-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:#ffffff09;color:#fff;font-size:28px!important;cursor:pointer}
.edc-contact-drawer-close:hover{background:#ffffff20}
.edc-contact-drawer-body{padding:0 28px 30px}
.edc-contact-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 -28px 28px;background:#103b43}
.edc-contact-quick a{display:flex;flex-direction:column;gap:4px;min-width:0;padding:18px 14px;color:#fff;text-decoration:none;transition:background .2s}
.edc-contact-quick a+a{border-left:1px solid #ffffff25}
.edc-contact-quick a:hover{background:#20535c}
.edc-contact-quick span{font-size:11px;color:#e0c181}
.edc-contact-quick strong{font-size:16px;font-weight:600;color:#fff}
.edc-contact-quick small{font-size:12px;color:#e0eceb;overflow-wrap:anywhere}
.edc-contact-drawer-form{margin:0;padding:0}
.edc-contact-drawer-form fieldset{min-width:0;margin:0 0 26px;padding:0;border:0}
.edc-contact-drawer-form legend{width:100%;margin:0 0 14px;padding:0;color:#143e46;font-size:13px;font-weight:650;letter-spacing:.045em;text-transform:uppercase}
.edc-contact-drawer-form legend>span{display:inline-grid;place-items:center;width:28px;height:28px;margin-right:8px;border:1px solid #b99148;border-radius:50%;color:#896322;font-size:11px}
.edc-dock-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #b9ccc8;border-left:1px solid #b9ccc8}
.edc-dock-choice-grid label{position:relative;min-width:0}
.edc-dock-choice-grid input{position:absolute;width:1px;height:1px;opacity:0}
.edc-dock-choice-grid span{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-right:1px solid #b9ccc8;border-bottom:1px solid #b9ccc8;background:#fff7;font-size:14px;cursor:pointer}
.edc-dock-choice-grid input:checked+span{background:#143e46;color:#fff;box-shadow:inset 3px 0 #d7b56f}
.edc-dock-choice-grid input:focus-visible+span{outline:2px solid #a77b2d;outline-offset:-3px}
.edc-dock-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.edc-dock-field-row label{min-width:0}
.edc-dock-field-row label>span,.edc-dock-full>span{display:block;margin-bottom:6px;color:#36555c;font-size:14px}
.edc-dock-full{display:block;margin-top:12px}
.edc-dock-full small{font-size:12px}
.edc-contact-drawer-form :is(input:not([type=radio],[type=checkbox],[type=file]),select,textarea){display:block;width:100%;min-height:44px;margin:0;padding:10px;color:#143e46;border:1px solid #9bb3b0;border-radius:2px;background:#fff;font-size:16px}
.edc-contact-drawer-form textarea{resize:vertical}
.edc-dock-upload{position:relative;display:grid;gap:5px;margin-top:18px;padding:14px;border:1px dashed #819e99;cursor:pointer;font-size:14px}
.edc-dock-upload input{width:100%;font-size:13px;cursor:pointer}
.edc-dock-upload b{font-weight:600;order:-1}
.edc-dock-upload small,.edc-dock-upload output{font-size:12px;overflow-wrap:anywhere}
.edc-contact-drawer-form .edc-hp{display:none!important}
.edc-dock-reachability{margin:0 0 14px;font-size:14px;color:#36555c}
.edc-dock-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#36555c}
.edc-dock-consent input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;accent-color:#143e46}
.edc-dock-consent a{text-decoration:underline;text-underline-offset:3px}
.edc-dock-submit{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:50px;margin:20px 0 0;padding:12px 18px;background:#143e46;color:#fff;border:1px solid #143e46;border-left:4px solid #d7b56f;cursor:pointer}
.edc-dock-submit:hover{background:#20535c}
.edc-dock-submit b{color:#e0c181}
.edc-dock-note{margin:9px 0 0;font-size:12px;text-align:center;color:#36555c}
.edc-dock-status:empty{display:none}
.edc-dock-status{margin:16px 0;padding:14px;border-left:3px solid #b99148;background:#eaf0ed;font-size:15px}
.edc-dock-calendar{display:grid;grid-template-columns:38px 1fr 16px;align-items:center;gap:12px;margin-top:26px;padding:16px 0;border-top:1px solid #b9ccc8;text-decoration:none}
.edc-dock-calendar-icon{display:grid;place-items:center;width:38px;height:38px;color:#a2782c;border:1px solid #b99148}
.edc-dock-calendar small,.edc-dock-calendar strong{display:block;font-weight:400}
.edc-dock-calendar small{font-size:12px;color:#6e551e}
.edc-dock-calendar strong{font-size:15px}
.edc-fallback{min-height:120px;text-decoration:none;writing-mode:vertical-rl}
@media(max-width:980px){.edc-contact-dock-toggle,.edc-fallback{top:auto;bottom:max(18px,env(safe-area-inset-bottom));right:14px;transform:none;flex-direction:row;gap:10px;width:auto;min-height:48px;padding:10px 16px;border:1px solid #d7b56f;border-radius:6px}.edc-contact-dock-toggle strong{writing-mode:initial;transform:none;font-size:14px;letter-spacing:.04em}.edc-contact-dock-toggle small{display:none}.edc-contact-dock-icon{width:28px;height:28px}.edc-fallback{writing-mode:initial}body:has(.edc-contact-dock){padding-bottom:76px}}
@media(max-width:520px){.edc-contact-drawer{width:100%;border:0}.edc-contact-drawer-head{padding:28px 22px 24px}#edc-contact-drawer .edc-contact-drawer-head h2{font-size:29px;margin-right:36px}.edc-contact-drawer-head>div>span{max-width:220px}.edc-contact-drawer-body{padding:0 20px 24px}.edc-contact-quick{margin-inline:-20px}.edc-contact-quick a{padding:16px 10px}.edc-dock-field-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.edc-contact-drawer[open]{animation:none}.edc-contact-dock *{transition:none!important}}
@media print{.edc-contact-dock{display:none!important}}
