/* Enquiry workspace and mascot: scoped, shared desktop/mobile components. */
.studio-brief{padding-block:45px 90px}.brief-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:55px;align-items:start}.brief-workspace{min-width:0}.brief-progress{list-style:none;display:flex;gap:20px;padding:0;margin:0 0 42px;border-bottom:1px solid #ad91c93d}.brief-progress li{font:12px Inter,sans-serif;color:#82778b;flex:1;padding:0 0 16px}.brief-progress li[aria-current]{color:#624881;border-bottom:2px solid #9068bc}.brief-progress span{margin-left:6px}.studio-kicker{font:10px/1.5 Inter,sans-serif;letter-spacing:.15em;color:#876597}.studio-brief h2{font:400 clamp(32px,4vw,54px)/1.1 Inter,sans-serif;margin:10px 0 20px;color:#21182c}.studio-brief h2 em,.brief-companion h3 em{font-family:Zodiak,Georgia,serif;font-weight:300;color:#9273ab}.studio-brief p{line-height:1.7}.brief-services{border:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:28px 0 0}.brief-services legend{font:500 13px Inter,sans-serif;margin-bottom:12px}.brief-services label{position:relative;cursor:pointer}.brief-services input{position:absolute;opacity:0;width:1px;height:1px}.brief-services label>span{display:flex;align-items:center;min-height:52px;padding:12px;border:1px solid #c7b2d8;border-radius:12px;font:12px/1.4 Inter,sans-serif;background:linear-gradient(135deg,#fcfaff,#f0ebf8);transition:background .2s,translate .2s}.brief-services input:checked+span{background:linear-gradient(120deg,#362442,#4a3260);color:#fff;border-color:#8c68b1;box-shadow:0 4px 16px #46305822}.brief-services input:focus-visible+span{outline:2px solid #695088;outline-offset:3px}.brief-field{display:flex;flex-direction:column;gap:9px;font:500 13px Inter,sans-serif;margin:22px 0 0}.brief-field small,.field-hint{font:12px/1.5 Inter,sans-serif;color:#74677d}.brief-field input,.brief-field textarea,.brief-field select{width:100%;min-width:0;padding:14px;border:1px solid #bcaccb;border-radius:10px;background:#fdfbff;color:#24162e;font:15px/1.6 Inter,sans-serif;box-sizing:border-box}.brief-field textarea{resize:vertical}.brief-field [aria-invalid=true]{border-color:#a13052;box-shadow:0 0 0 1px #a13052}.brief-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.brief-error{font:12px/1.5 Inter,sans-serif;color:#a13052;margin:5px 0;min-height:0}.brief-error:empty{display:none}.studio-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:13px 19px;border:1px solid #6c5187;border-radius:24px;background:linear-gradient(120deg,#33213e,#4a3263);color:#fff;cursor:pointer;text-decoration:none;font:500 13px/1.4 Inter,sans-serif;transition:translate .2s,box-shadow .2s}.studio-button:hover:not(:disabled){translate:0 -2px;box-shadow:0 8px 20px #45295d30}.studio-button.secondary{background:linear-gradient(120deg,#f7f0ff,#e9f6f8);color:#493455;border-color:#c1accf}.studio-button:disabled{opacity:.5;cursor:not-allowed}.brief-workspace [data-brief-next]{margin-top:26px}.studio-text-button{border:0;background:transparent;color:#694a84;text-decoration:underline;text-underline-offset:5px;font:13px/1.5 Inter,sans-serif;padding:10px 0;cursor:pointer}.brief-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:25px}.brief-actions [data-brief-next]{margin-top:0}.brief-review{border:1px solid #cab6dd;border-radius:18px;padding:25px;background:linear-gradient(135deg,#f7f1ff,#edf6f7);white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.85 Inter,sans-serif}.brief-companion{position:sticky;top:115px;overflow:hidden;border-radius:22px;padding:25px;background:radial-gradient(ellipse at 20% 10%,#8660c647,transparent 65%),linear-gradient(150deg,#171121,#12202b);border:1px solid #bda0d851;color:#e8dff1;box-shadow:0 25px 60px #2111361c}.brief-companion .brief-orbit{height:260px;position:relative;background:radial-gradient(ellipse,#8163a43b,transparent 65%)}.brief-orbit img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 20px #b28ee329)}.brief-companion h3{font:300 30px/1.25 Inter,sans-serif;margin:20px 0}.brief-companion h3 em{color:#d3b8eb}.brief-companion p{font-size:13px;color:#cbbbd8}.brief-companion .studio-kicker{color:#c2a5dc}.brief-companion .studio-text-button{color:#95e3e8}.brief-companion .brief-local-note{font-size:11px;border-top:1px solid #c4a0db35;padding-top:18px}.brief-connection{padding:15px;border-left:3px solid #af8aff;background:#f3edf8;font-size:13px}.brief-privacy{font-size:12px;color:#73637d}.brief-announcement{font:13px/1.6 Inter,sans-serif;color:#665176}.brief-reset{margin-top:15px}.brief-discard{max-width:420px;padding:28px;background:#f8f4fc;border:1px solid #cbb2de;border-radius:18px;color:#271a32}.brief-discard::backdrop{background:#0c081ab0;backdrop-filter:blur(8px)}
.studio-assistant{--chat-bottom:22px;position:fixed;z-index:850;right:22px;bottom:var(--chat-bottom);font-family:Inter,sans-serif}.assistant-launcher{position:relative;display:flex;flex-direction:column;align-items:flex-end}.assistant-greeting{display:flex;align-items:center;gap:12px;border:1px solid #dab9ef66;border-radius:14px 14px 2px 14px;padding:10px 12px;background:linear-gradient(130deg,#291c39eb,#142b36ed);backdrop-filter:blur(16px);color:#f9f1ff;font:12px/1.4 Inter,sans-serif;box-shadow:0 8px 25px #14082030}.assistant-greeting button,.assistant-hide{color:inherit;background:transparent;border:0;font:22px Inter,sans-serif;cursor:pointer;min-width:32px;min-height:32px}.assistant-mascot{display:flex;flex-direction:column;align-items:center;border:0;background:transparent;cursor:pointer;padding:4px 8px;color:#fff;filter:drop-shadow(0 7px 15px #08041455)}.assistant-mascot img{width:80px;height:107px;object-fit:contain;animation:mascot-welcome .6s both}.assistant-mascot>span{border:1px solid #c6a8e35c;background:linear-gradient(110deg,#392448,#12313b);border-radius:20px;padding:6px 13px;font:11px/1.4 Inter,sans-serif;box-shadow:0 3px 15px #170b2430}.assistant-launcher>.assistant-hide{position:absolute;right:-10px;top:48px;border:1px solid #c4a0e051;border-radius:50%;background:#24182eea;color:#e5d4f3;min-width:30px;min-height:30px;font-size:17px}.assistant-restore{border:1px solid #cdb6dd;border-radius:22px;padding:12px 15px;background:#241a30ed;color:#f5eaff;backdrop-filter:blur(12px);font:12px Inter,sans-serif;cursor:pointer}.assistant-panel{position:fixed;inset:auto 22px 22px auto;box-sizing:border-box;width:min(420px,calc(100vw - 32px));height:min(650px,calc(100dvh - 100px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #cfb2eb68;border-radius:22px;color:#f0e7f8;background:radial-gradient(ellipse at 10% 0,#7950a63d,transparent 70%),linear-gradient(145deg,#1b1326f5,#12202bf7);box-shadow:0 22px 80px #08031375;backdrop-filter:blur(22px);overflow:hidden;z-index:851}.assistant-panel[open]{display:flex;flex-direction:column}.assistant-panel::backdrop{background:#09051455;backdrop-filter:blur(3px)}.assistant-panel>header{display:flex;align-items:center;gap:11px;padding:16px;border-bottom:1px solid #d0b3e329;flex-shrink:0}.assistant-panel header img{width:40px;height:54px;object-fit:contain}.assistant-panel header div{flex:1;min-width:0}.assistant-panel h2{font:500 17px Inter,sans-serif;margin:0;color:#f7efff}.assistant-panel header p{font:10px/1.5 Inter,sans-serif;margin:5px 0 0;color:#b8a8ce}.assistant-panel header button{background:#ffffff0c;border:1px solid #c4a0df30;border-radius:8px;color:#f1e2ff;font-size:21px;min-width:36px;min-height:36px;cursor:pointer}.assistant-messages{flex:1;min-height:80px;overflow-y:auto;padding:16px;overscroll-behavior:contain}.assistant-message{width:fit-content;max-width:92%;border:1px solid #d1b4e329;background:#ffffff08;border-radius:14px 14px 14px 3px;padding:12px 14px;margin:0 0 13px;font:13px/1.7 Inter,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-message.user{margin-left:auto;background:linear-gradient(130deg,#6e438d57,#25536745);border-radius:14px 14px 3px 14px}.assistant-message a{color:#92e0eb;display:block;margin-top:9px}.assistant-suggestions{display:flex;gap:6px;padding:0 14px 12px;overflow-x:auto;flex-shrink:0}.assistant-suggestions button{white-space:nowrap;border:1px solid #c7abe044;border-radius:20px;background:#af8aff14;color:#ded0ed;padding:8px 10px;font:10px Inter,sans-serif;cursor:pointer}.assistant-composer{padding:0 14px}.assistant-composer label{display:block;font-size:10px;color:#c5b4d6;margin:0 0 6px}.assistant-composer>div{display:flex;align-items:center;gap:7px}.assistant-composer textarea{flex:1;width:100%;min-width:0;resize:none;border:1px solid #cfb3e344;border-radius:12px;color:#f6eeff;background:#080c164f;font:13px/1.5 Inter,sans-serif;padding:10px;box-sizing:border-box}.assistant-composer .studio-button{min-width:42px;min-height:42px;padding:9px 13px}.assistant-status{font:11px/1.4 Inter,sans-serif;color:#bfadd1;margin:7px 15px;min-height:15px}.assistant-panel>footer{display:flex;justify-content:space-between;padding:0 14px;gap:12px}.assistant-panel footer button{border:0;background:none;color:#a3e2ec;font:11px Inter,sans-serif;padding:9px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.assistant-panel .assistant-privacy{font:10px/1.5 Inter,sans-serif;color:#a99ab9;padding:0 14px 12px;margin:4px 0 0}.studio-assistant [hidden],.studio-brief [hidden]{display:none!important}body:has(.recovery-notice) .studio-assistant{--chat-bottom:200px}body.menu-open .studio-assistant{visibility:hidden}.studio-assistant :focus-visible,.studio-brief :focus-visible{outline:2px solid #69dce8;outline-offset:3px}
@keyframes mascot-welcome{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:767px){.studio-brief{padding:20px 16px 55px}.brief-layout{grid-template-columns:1fr;gap:25px}.brief-progress{gap:9px;margin-bottom:25px}.brief-progress li{font-size:10px;padding-bottom:12px}.brief-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.brief-services label>span{font-size:11px;min-height:46px;padding:10px}.brief-field-pair{gap:10px}.brief-field{font-size:12px}.brief-field input,.brief-field textarea,.brief-field select{font-size:16px;padding:11px}.brief-actions{gap:10px}.brief-actions .studio-button{font-size:12px;flex:1}.brief-review{padding:18px;font-size:13px}.brief-companion{position:static;padding:20px;display:grid;grid-template-columns:82px 1fr;column-gap:15px}.brief-companion .brief-orbit{grid-row:1/5;height:125px}.brief-companion .studio-kicker{margin-top:0;font-size:8px}.brief-companion h3{font-size:23px;margin:6px 0}.brief-companion p{font-size:11px}.brief-companion .brief-local-note{grid-column:1/-1}.studio-assistant{right:12px;--chat-bottom:14px}.assistant-mascot img{width:58px;height:78px}.assistant-greeting{font-size:10px;padding:7px 9px}.assistant-mascot>span{font-size:10px}.assistant-launcher>.assistant-hide{top:38px;right:-4px}.assistant-panel{width:calc(100vw - 20px);right:10px;bottom:10px;height:min(650px,calc(100dvh - 30px));border-radius:18px}.assistant-panel>header{padding:11px}.assistant-message{font-size:13px}.assistant-panel .assistant-privacy{font-size:10px}.assistant-restore{font-size:10px;padding:11px}body:has(.recovery-notice) .studio-assistant{--chat-bottom:200px}}
@media(prefers-reduced-motion:reduce){.assistant-mascot img{animation:none}.studio-button,.brief-services label>span{transition:none}}
.studio-assistant .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Empty space around the floating character must not intercept page controls. */
.studio-assistant,.assistant-launcher{pointer-events:none}
.studio-assistant button,.assistant-greeting,.assistant-panel{pointer-events:auto}
body[data-page="/contact/"] .route-hero{padding-block:35px 25px}body[data-page="/contact/"] .route-hero-art{display:none}body[data-page="/contact/"] .route-hero-details{display:block}body[data-page="/contact/"] .route-hero-intro{max-width:720px}body[data-page="/contact/"] .route-hero h1{font-size:clamp(35px,5vw,66px)}body[data-page="/contact/"] .route-final{display:none}
@media(max-width:767px){body[data-page="/contact/"] .route-hero{padding-block:24px 15px}body[data-page="/contact/"] .route-hero h1{font-size:36px}.brief-workspace h2{font-size:30px}.brief-field-pair{grid-template-columns:1fr}}
@media(min-width:768px){body:has([data-studio-assistant]) .xp-search-launch{left:24px;right:auto}}
.studio-assistant:not([data-ready]){display:none}.assistant-panel{margin:0;max-width:calc(100vw - 32px)}
@media(max-width:767px){.assistant-panel{max-width:calc(100vw - 20px)}}
@media(min-width:768px){body:has([data-studio-assistant]) .xp-search-launch{left:auto;right:88px;top:24px;bottom:auto;z-index:105;width:40px;height:40px;padding:10px;justify-content:center}body:has([data-studio-assistant]) .xp-search-launch>span,body:has([data-studio-assistant]) .xp-search-launch>kbd{display:none}.site-header .header-hello{margin-right:48px}}

/* Keep the phone launcher one row high so it leaves the page readable. */
@media (max-width:600px){
 .assistant-launcher{padding-inline-end:38px}
 .assistant-mascot{flex-direction:row;gap:6px;min-height:44px;padding:0}
 .assistant-mascot img{width:32px;height:43px}
 .assistant-mascot>span{padding:6px 9px;font-size:11px}
 .assistant-launcher>.assistant-hide{top:auto;bottom:4px;right:-4px;min-width:36px;min-height:36px}
}

/* The mobile footer has its own assistant action so the floating launcher cannot cover links. */
.assistant-footer-action{display:none}
@media(max-width:767px){
 .studio-assistant[data-footer-visible]:not(:focus-within) :is(.assistant-launcher,.assistant-restore){visibility:hidden}
 .assistant-footer-action{
  display:inline-block;min-height:44px;margin-block-end:14px;padding:8px 16px;
  border:1px solid #d6bfed85;border-radius:18px;background:#fff1;color:#f9f4ff;
  font:600 .9rem/1.35 Inter,sans-serif;cursor:pointer;
 }
 .assistant-footer-action:focus-visible{outline:2px solid #b7fff4;outline-offset:3px}
}

/* Keep the composer inside the visible screen when a phone keyboard opens. */
.assistant-panel {overflow:hidden;overscroll-behavior:contain;box-sizing:border-box;}
.assistant-panel > header,.assistant-composer,.assistant-status,.assistant-panel > footer,.assistant-privacy {flex-shrink:0;}
.assistant-panel .assistant-messages {min-height:0;overflow-anchor:none;}
.assistant-panel .assistant-composer textarea {font-size:16px;line-height:1.5;scroll-margin:0;}
.assistant-panel[data-compact-viewport] .assistant-suggestions,
.assistant-panel[data-compact-viewport] .assistant-privacy {display:none;}
.assistant-panel[data-compact-viewport] > header {padding-block:6px;}
