.contact-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; padding-block:0 94px; color:#625f59; font-size:12px; }
.contact-footer address,.contact-address address { font-style:normal; overflow-wrap:anywhere; }
.contact-footer a { color:inherit; }
.contact-launcher { position:fixed; z-index:35; right:max(24px,env(safe-area-inset-right)); bottom:calc(24px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:9px; min-height:50px; border:1px solid #ffffff40; border-radius:999px; padding:12px 20px; background:var(--blue); color:#fff; box-shadow:0 6px 24px #512b2430; font-family:inherit; font-size:14px; font-weight:600; line-height:1.4; cursor:pointer; }
.contact-launcher[hidden] { display:none; }
.contact-launcher:hover { background:var(--blue-dark); }
.contact-dialog { width:min(900px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); margin:auto; padding:28px; border:1px solid var(--border); border-radius:24px; background:var(--paper); color:var(--ink); box-shadow:0 24px 100px #24232145; overflow:auto; overscroll-behavior:contain; }
.contact-dialog::backdrop { background:#24232199; backdrop-filter:blur(4px); }
.contact-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.contact-heading h2 { margin:7px 0 0; font-size:26px; letter-spacing:-.5px; }
.contact-heading .eyebrow { font-size:11px; }
.contact-close { flex-shrink:0; align-self:flex-start; width:44px; height:44px; border:1px solid var(--border); border-radius:50%; background:#fff; color:var(--ink); font-size:28px; cursor:pointer; }
#contact-intro { margin:12px 0 22px; color:#625f59; font-size:14px; line-height:1.7; }
.contact-layout { display:grid; grid-template-columns:minmax(0,330px) minmax(0,1fr); gap:28px; align-items:start; }
.contact-card { padding:20px; border:1px solid var(--border); border-radius:18px; background:#fff; }
.contact-card h3,.contact-guide h3 { font-size:17px; margin:0 0 8px; }
.contact-card>p { font-size:12px; line-height:1.65; color:#625f59; margin:8px 0; }
.contact-qr { display:block; width:100%; max-width:250px; aspect-ratio:1; height:auto; object-fit:cover; object-position:center 62%; margin:4px auto; }
.contact-save { display:block; text-align:center; font-size:13px; padding:10px 0; }
.contact-card .contact-tip { font-size:11px; }
.contact-number-label { display:block; font-size:12px; margin-top:16px; margin-bottom:8px; }
.contact-number { display:flex; gap:8px; align-items:center; }
.contact-number input { min-width:0; width:100%; padding:10px 8px; font:600 16px/1.5 system-ui,sans-serif; color:var(--ink); border:1px solid var(--border); border-radius:8px; background:var(--paper); }
.contact-number button { flex-shrink:0; min-height:44px; padding:8px; font-size:12px; color:var(--blue); background:#fbf2ee; border:1px solid #edc8ba; border-radius:8px; cursor:pointer; }
.contact-card .contact-feedback { min-height:18px; color:var(--blue); font-size:11px; }
.contact-call { width:100%; font-size:12px; }
.contact-address { margin-top:18px; padding-top:16px; border-top:1px solid var(--border); font-size:12px; line-height:1.8; }
.contact-address>span { display:block; color:#77736e; margin-bottom:4px; }
.contact-guide { padding-top:4px; }
.contact-guide details { border-bottom:1px solid var(--border); }
.contact-guide summary { cursor:pointer; padding:18px 0; font-size:14px; font-weight:600; line-height:1.6; }
.contact-answer { padding-bottom:18px; font-size:13px; line-height:1.9; color:#625f59; }
.contact-answer p { margin:0 0 12px; }
.contact-answer ol { padding-left:20px; margin:0; }
.contact-answer li+li { margin-top:12px; }
.contact-answer strong { color:var(--ink); }
.contact-links { display:flex; flex-wrap:wrap; gap:10px 18px; }
.contact-guide-note { margin-top:20px; color:#77736e; font-size:12px; }
.contact-dialog :focus-visible,.contact-launcher:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
@media(max-width:640px) {
  .contact-launcher { right:14px; bottom:calc(14px + env(safe-area-inset-bottom)); min-height:46px; padding:10px 16px; font-size:13px; }
  .contact-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); padding:18px; border-radius:18px; }
  .contact-heading { position:sticky; top:-18px; z-index:1; background:var(--paper); padding:12px 0; }
  .contact-heading h2 { font-size:22px; }
  .contact-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .contact-card { padding:16px; }
  .contact-qr { max-width:230px; }
  .contact-footer { flex-direction:column; font-size:11px; line-height:1.7; }
}
/* Compact studio consultation panel. QR content stays untouched and scannable. */
#contact-dialog{width:min(960px,calc(100vw - 32px));padding:32px;max-height:calc(100dvh - 40px);border:1px solid #ffffffdf;background:#f6f8fbeF;border-radius:30px;color:#202936;box-shadow:0 28px 100px #142a4540;scrollbar-width:thin}
#contact-dialog::backdrop{background:#13203988;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#contact-dialog .contact-heading{align-items:center;margin:0;position:static;background:transparent;padding:0}
#contact-dialog .contact-heading .eyebrow{font-size:10px;letter-spacing:1.5px;color:#63738c}
#contact-dialog .contact-heading h2{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:9px 0 0;color:#16253a}
#contact-dialog .contact-close{width:40px;height:40px;display:grid;place-items:center;padding:0;line-height:1;background:#ffffffb8;border:1px solid #cad5e3;color:#263a53;font-size:25px;align-self:center}
#contact-dialog #contact-intro{font-size:13px;color:#627084;margin:12px 0 25px;max-width:600px}
#contact-dialog .contact-layout{grid-template-columns:300px minmax(0,1fr);gap:26px;align-items:start}
#contact-dialog .contact-card{padding:22px;border-radius:22px;border:1px solid #fff;background:linear-gradient(150deg,#fff,#edf3ffb3);box-shadow:0 8px 30px #38517108}
#contact-dialog .contact-card h3{font-size:18px;color:#1d314c;margin-bottom:6px}
#contact-dialog .contact-card>p{color:#647286;line-height:1.7}
#contact-dialog .contact-qr{width:176px;height:176px;max-width:100%;margin:16px auto 6px;border:8px solid #fff;border-radius:16px;box-shadow:0 6px 20px #31466c0a}
#contact-dialog .contact-save{font-size:12px;color:#0866cf;padding:8px}
#contact-dialog .contact-tip{font-size:10px;margin:8px 0 18px}
#contact-dialog .contact-number-label{font-size:10px;letter-spacing:.6px;color:#63738b;margin:15px 0 8px}
#contact-dialog .contact-number{gap:6px;background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:5px}
#contact-dialog .contact-number input{width:100%;border:0;border-radius:8px;padding:6px 8px;min-height:36px;background:transparent;color:#1d314c;font-size:16px}
#contact-dialog .contact-number button{flex-shrink:0;min-height:36px;padding:8px 11px;border:0;border-radius:8px;background:#e9f2ff;color:#075bbc;font-size:11px;font-weight:600;white-space:nowrap}
#contact-dialog .contact-feedback{min-height:16px;font-size:10px;margin:5px 0;color:#0866cf}
#contact-dialog .contact-call{min-height:42px;padding:12px 16px;font-size:12px;background:#176fe5;color:#fff;border:0;border-radius:12px;display:block;text-align:center;text-decoration:none}
#contact-dialog .contact-address{margin-top:16px;padding-top:12px;border-color:#dbe3ef;font-size:10px;color:#63738b}
#contact-dialog .contact-guide{background:transparent;padding:8px 0}
#contact-dialog .contact-guide h3{font-size:12px;color:#718098;font-weight:500;margin:0 0 14px}
#contact-dialog .contact-guide details{border:1px solid #dce4ef;border-radius:16px;background:#ffffff80;margin-bottom:10px;padding:0 18px;overflow:hidden}
#contact-dialog .contact-guide summary{list-style:none;padding:18px 28px 18px 0;font-size:13px;color:#253650;font-weight:500;position:relative}
#contact-dialog .contact-guide summary::-webkit-details-marker{display:none}
#contact-dialog .contact-guide summary:after{content:'+';position:absolute;right:0;top:14px;font-size:22px;font-weight:300;color:#778ba5}
#contact-dialog .contact-guide details[open] summary:after{content:'−';color:#176fe5}
#contact-dialog .contact-guide details[open]{background:#ffffffcf;border-color:#b6cff0}
#contact-dialog .contact-answer{font-size:12px;line-height:1.9;color:#647286;padding-bottom:18px}
#contact-dialog .contact-answer p{margin-bottom:10px}
#contact-dialog .contact-links{gap:8px;display:flex;flex-wrap:wrap;margin-top:16px}
#contact-dialog .contact-links a{font-size:10px;padding:7px 10px;background:#edf4ff;border-radius:8px;color:#075bbc;text-decoration:none}
#contact-dialog .contact-guide-note{font-size:10px;color:#7f8ba0;margin-top:16px;padding-left:4px}
@media(max-width:640px){#contact-dialog{padding:22px 18px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:24px}#contact-dialog .contact-heading h2{font-size:24px;letter-spacing:-.6px}#contact-dialog .contact-layout{grid-template-columns:minmax(0,1fr);gap:20px}#contact-dialog .contact-card{padding:20px}#contact-dialog .contact-qr{width:160px;height:160px}#contact-dialog .contact-card>.contact-tip{max-width:280px;margin:10px auto 18px;text-align:center}#contact-dialog .contact-address{font-size:10px}#contact-dialog .contact-guide summary{font-size:12px;padding-block:16px}#contact-dialog .contact-guide details{padding-inline:15px}#contact-dialog #contact-intro{font-size:12px;margin-bottom:20px}}
