.contact-dialog{box-sizing:border-box;width:min(610px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #617b9766;border-radius:24px;padding:38px;background:linear-gradient(135deg,#17283e,#0b1421);color:#edf2fa;box-shadow:0 35px 100px #0009;font-family:"Helvetica Neue",Arial,sans-serif}.contact-dialog::backdrop{background:#03080ec9;backdrop-filter:blur(9px)}.contact-dialog *{box-sizing:border-box}.contact-close{position:absolute;top:13px;right:16px;width:44px;height:44px;border:0;background:transparent;color:#bdd0e8;font-size:30px;cursor:pointer}.contact-dialog .contact-eyebrow{font-size:10px;letter-spacing:2px;color:#d6bd96;margin:0 0 18px}.contact-dialog h2{font-size:42px;font-weight:450;letter-spacing:-1.6px;line-height:1.05;margin:0 0 20px}.contact-dialog h2 em{font-family:Georgia,serif;font-weight:400;color:#c2d1e7}.contact-dialog #contact-intro{font-size:14px;line-height:1.6;color:#aebed2;margin:0 0 25px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-dialog label{display:block;font-size:12px;color:#e4d2b5;margin-bottom:18px}.contact-dialog label>span{color:#94a9c0}.contact-dialog input,.contact-dialog textarea{display:block;width:100%;border:1px solid #829cb64d;background:#07121f80;color:#f0f3f9;border-radius:9px;padding:12px;margin-top:8px;font:16px "Helvetica Neue",Arial,sans-serif}.contact-dialog textarea{resize:vertical;min-height:105px}.contact-dialog input:focus,.contact-dialog textarea:focus{outline:2px solid #a4bedf;outline-offset:2px}.contact-dialog textarea::placeholder{color:#7e94ad}.contact-dialog .contact-privacy{font-size:11px;line-height:1.5;color:#99afc7;margin:0 0 20px}.contact-send{width:100%;padding:14px 20px;border-radius:28px;border:1px solid #f4e7ce;background:linear-gradient(110deg,#eee0c5,#bbcee6);color:#14243d;font:15px "Helvetica Neue",Arial,sans-serif;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.contact-send>span{font-size:25px}.contact-send:disabled{opacity:.6;cursor:wait}.contact-dialog button:focus-visible{outline:2px solid #a4bedf;outline-offset:4px}.contact-status{color:#d7c4a6;font-size:12px;line-height:1.5;margin:15px 0 0}.contact-status:empty{display:none}.contact-dialog-open{overflow:hidden}.conversation .contact-open{display:inline-flex;align-items:center;gap:35px;padding:15px 20px 15px 30px;margin:30px auto 0;border:1px solid #f4e7ce;border-radius:99px;background:linear-gradient(110deg,#eee0c5,#bbcee6);color:#14243d;font:16px "Helvetica Neue",Arial,sans-serif;cursor:pointer}.contact-open>span{font-size:30px}@media(max-width:520px){.contact-dialog{padding:30px 23px;border-radius:18px}.contact-dialog h2{font-size:36px}.contact-fields{grid-template-columns:1fr;gap:0}.conversation .contact-open{font-size:13px;gap:20px}}

/* A floating conversation, with the same cream and ink palette as the site. */
.contact-dialog{position:fixed;inset:0;margin:auto;width:min(900px,calc(100% - 48px));padding:0;border-radius:26px;max-height:calc(100dvh - 48px);background:#101b2a;box-shadow:0 45px 120px #000b,0 0 0 1px #a8bed414}
.contact-dialog[open]{animation:contact-arrive .3s cubic-bezier(.2,.8,.2,1) both}
.contact-dialog::backdrop{background:#03080ec9;backdrop-filter:blur(12px)}
.contact-layout{display:grid;grid-template-columns: .8fr 1.2fr;min-height:630px}
.contact-welcome{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:38px 32px;background:linear-gradient(145deg,#f4ead4,#ddc79e);color:#24425a}
.contact-brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:650;letter-spacing:-1px}
.contact-brand svg{width:29px;height:29px;fill:currentColor}
.contact-welcome .contact-eyebrow{color:#456074;font-size:9px;letter-spacing:1.6px;margin-bottom:22px}
.contact-invitation{font-size:clamp(30px,3.1vw,42px);font-weight:450;line-height:1.1;letter-spacing:-1.4px;margin:0}
.contact-invitation em{font-family:Georgia,serif;font-weight:400}
.contact-welcome-note{font-size:12px;line-height:1.7;margin:35px 0 0;color:#486073}
.contact-orbit{position:absolute;z-index:-1;width:460px;height:460px;border:1px solid #35577020;border-radius:50%;top:180px;left:-275px;box-shadow:0 0 0 45px #35577007,0 0 0 90px #35577005}
.contact-main{padding:38px 38px 30px;min-width:0;background:radial-gradient(ellipse at top right,#263a5140,transparent 70%)}
.contact-close{z-index:2;top:12px;right:12px;border-radius:50%;font-size:25px;width:36px;height:36px;background:#d8e7ff0a;transition:background .18s,color .18s}
.contact-close:hover{background:#d8e7ff1c;color:#fff}
.contact-main h2{font-size:37px;line-height:1.08;margin-bottom:13px;letter-spacing:-1.3px}
.contact-dialog #contact-intro{font-size:13px;margin-bottom:22px;max-width:330px}
.contact-dialog label{font-size:12px;margin-bottom:15px;color:#c7d4e4}
.contact-fields{gap:14px}
.contact-dialog input,.contact-dialog textarea{padding:11px 12px;margin-top:7px;background:#08111b55;border-color:#7e98b43d;transition:border-color .18s,background .18s}
.contact-dialog input:hover,.contact-dialog textarea:hover{border-color:#9bb4cc80}
.contact-dialog input:focus,.contact-dialog textarea:focus{outline:2px solid #adc8e7;outline-offset:2px;background:#0c1826}
.contact-dialog textarea{min-height:95px}
.contact-dialog .contact-privacy{margin-bottom:16px;font-size:10px}
.contact-send{padding:10px 12px 10px 22px;min-height:52px;transition:box-shadow .2s}
.contact-send:hover{box-shadow:0 0 24px #aec8e41a}
.contact-send>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#1a3045;color:#ead7b4;font-size:23px}
.contact-status{font-size:11px;margin-top:12px}
@keyframes contact-arrive{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:700px){.contact-dialog{width:min(490px,calc(100% - 24px));max-height:calc(100dvh - 24px);border-radius:20px}.contact-layout{grid-template-columns:1fr;min-height:0}.contact-welcome{display:none}.contact-main{padding:32px 24px 24px}.contact-main h2{font-size:35px}.contact-fields{grid-template-columns:1fr 1fr}.contact-close{top:9px;right:9px}}
@media(max-width:380px){.contact-main{padding:30px 20px 20px}.contact-fields{grid-template-columns:1fr;gap:0}.contact-main h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.contact-dialog[open]{animation:none}.contact-dialog *{transition:none}}
