/* start-a-project button + inquiry drawer */
/* start-a-project */
.cta{display:block;position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:150;border:0;border-radius:40px;background:#345dae;color:#fff;font:800 17px/1 "Proxima Nova",Helvetica,Arial,sans-serif;letter-spacing:.03em;padding:17px 26px;cursor:pointer;box-shadow:0 8px 26px rgba(19,33,105,.45);transition:transform .25s,background .25s}
.cta:hover{background:#132169;transform:translateY(-3px)}
.cta:focus-visible{outline:3px solid #6fd0ee;outline-offset:3px}
.cta svg{vertical-align:-3px;margin-right:9px}
.cta{display:block}
.dlg .cta{display:none}
.scrim{position:fixed;inset:0;background:rgba(3,0,1,.55);z-index:400;opacity:0;pointer-events:none;transition:opacity .3s}
.dlg .scrim{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);background:#fff;z-index:410;transform:translateX(105%);transition:transform .45s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;visibility:hidden;font:300 17px/1.5 "Proxima Nova",Helvetica,Arial,sans-serif;color:#030001}
.dlg .drawer{transform:none;visibility:visible}
.drawer header{background:#132169;color:#fff;padding:26px 28px 22px;position:relative}
.drawer h2{margin:0 0 6px;font:700 32px/1.15 "Playfair Display",serif;letter-spacing:.02em}
.drawer header p{margin:0;font-size:16px;opacity:.9}
.drawer .x{position:absolute;right:14px;top:12px;width:44px;height:44px;border:0;background:transparent;color:#fff;font:300 34px/1 sans-serif;cursor:pointer;border-radius:50%}
.drawer .x:focus-visible,.drawer input:focus-visible,.drawer textarea:focus-visible,.drawer select:focus-visible,.chip input:focus-visible+span{outline:3px solid #6fd0ee;outline-offset:2px}
.drawer form{padding:22px 28px 30px;overflow:auto;flex:1;display:grid;gap:16px;align-content:start}
.drawer fieldset{border:0;margin:0;padding:0}
.drawer legend,.drawer label.l{display:block;font:800 13px/1.2 "Proxima Nova",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#345dae;margin-bottom:8px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.chip span{display:block;border:1.5px solid #345dae;color:#345dae;border-radius:30px;padding:8px 15px;font:600 15px/1.1 "Proxima Nova",sans-serif;transition:.2s}
.chip input:checked+span{background:#345dae;color:#fff}
.drawer input[type=text],.drawer input[type=email],.drawer input[type=tel],.drawer textarea,.drawer select{width:100%;border:1.5px solid #b9c4e0;border-radius:6px;padding:13px 14px;font:400 17px/1.3 "Proxima Nova",sans-serif;color:#030001;background:#fff;box-sizing:border-box}
.drawer textarea{min-height:120px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.drawer .go{border:0;border-radius:40px;background:#345dae;color:#fff;font:800 18px/1 "Proxima Nova",sans-serif;letter-spacing:.03em;padding:18px;cursor:pointer}
.drawer .go:hover{background:#132169}
.err{color:#b3123a;font:600 14px/1.3 "Proxima Nova",sans-serif;min-height:0;margin:-8px 0 0}
.direct{display:flex;align-items:center;gap:18px;background:#eaf6fc;border-radius:14px;padding:16px 18px;margin-top:8px;font-size:16px;line-height:1.55}
.direct .who{width:112px;height:auto;flex:none;display:block;border-radius:12px}
.direct .dtx{min-width:0}
.direct b{font-weight:800;color:#132169}
.thanks{display:none;padding:40px 28px;text-align:left}
.sent .thanks{display:block}.sent form{display:none}
.thanks h3{font:700 30px/1.2 "Playfair Display",serif;color:#345dae;margin:0 0 12px}

@media(max-width:820px){.drawer{top:auto;left:0;width:100%;height:92%;border-radius:18px 18px 0 0;transform:translateY(105%)}.dlg .drawer{transform:none}.row2{grid-template-columns:1fr}.drawer h2{font-size:27px}.cta{padding:15px 22px;font-size:16px}}

.band{background:#132169;color:#fff;text-align:center;padding:64px 20px;font:300 18px/1.5 "Proxima Nova",Helvetica,Arial,sans-serif;clear:both}
.band h2{margin:0 0 10px;font:700 clamp(28px,4.5vw,46px)/1.15 "Playfair Display",serif;letter-spacing:.02em}
.band p{margin:0 auto 26px;max-width:640px;opacity:.9}
.band button,.inqbtn{border:0;border-radius:40px;background:#fff;color:#132169;font:800 18px/1 "Proxima Nova",sans-serif;letter-spacing:.03em;padding:18px 34px;cursor:pointer}
.inqbtn{background:#345dae;color:#fff;margin-top:8px}
.band small{display:block;margin-top:20px;font-size:16px;opacity:.85}
.band a{color:#fff}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
