/* DWELLIVRA branded loading experience.
   Scoped to loading screens only: no global workspace, billing or authentication overrides. */
.dw-loading.dw-loading--premium{
  position:relative;isolation:isolate;box-sizing:border-box;display:flex;align-items:center;
  justify-content:center;width:100%;min-height:100vh;min-height:100dvh;overflow:hidden;
  padding:48px 28px;background:radial-gradient(ellipse 76% 72% at 50% 38%,#fff 28%,#f5faff 74%,#eaf5ff 100%);
  color:#0b2341;font-family:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.dw-loading--premium::before,.dw-loading--premium::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;width:155%;left:-27%;height:32%;
  border-radius:50% 50% 0 0 / 75% 75% 0 0;
}
.dw-loading--premium::before{
  bottom:-19%;transform:rotate(7deg);
  background:linear-gradient(110deg,rgba(150,212,255,.52),rgba(225,241,255,.73) 55%,rgba(101,183,245,.30));
}
.dw-loading--premium::after{
  bottom:-24%;transform:rotate(-7deg);
  background:linear-gradient(90deg,rgba(93,183,250,.54),rgba(193,228,255,.54) 46%,rgba(58,153,229,.48));
}
.dw-loading--premium .dw-loading-card{width:min(100%,720px);text-align:center;position:relative;z-index:1;margin:-12px auto 18px}
.dw-loading--premium .dw-loading-brand{margin:0 auto clamp(34px,5vh,60px);display:inline-flex;align-items:center;
  justify-content:center;gap:16px;text-decoration:none;color:#0b2341}
.dw-loading--premium .dw-loading-brand img{height:56px;width:56px;object-fit:contain;display:block;filter:drop-shadow(0 3px 6px rgba(8,81,135,.08))}
.dw-loading--premium .dw-loading-brand .dw-loading-wordmark{
  font-size:clamp(23px,2.7vw,32px);font-weight:800;letter-spacing:.025em;white-space:nowrap;line-height:1
}
.dw-loading--premium .dw-loading-brand .dw-loading-divider{height:35px;border-left:2px solid #17365b;opacity:.7}
.dw-loading--premium .dw-loading-orbit{
  position:relative;width:200px;height:200px;margin:0 auto 34px;display:grid;place-items:center;
}
.dw-loading--premium .dw-loading-orbit::before{
  content:"";position:absolute;inset:28px;border-radius:50%;
  background:radial-gradient(circle,#e5fafc 0%,rgba(212,237,253,.28) 65%,transparent 75%);
}
.dw-loading--premium .dw-orbit-dots{
  position:absolute;inset:0;border-radius:50%;
  animation:dw-orbit-spin 5.4s linear infinite;transform-origin:center;
}
.dw-loading--premium .dw-orbit-dot{
  position:absolute;left:calc(50% - 5px);top:calc(50% - 5px);height:10px;width:10px;border-radius:50%;
  background:#0c83c5;transform:rotate(calc(var(--point) * 22.5deg)) translateY(-88px);
}
.dw-loading--premium .dw-orbit-dot:nth-child(-n+8){background:#12d0bd}
.dw-loading--premium .dw-orbit-dot:nth-child(2n){opacity:.76}
.dw-loading--premium .dw-loading-center-logo{width:104px;height:104px;display:grid;place-items:center;position:relative;z-index:1}
.dw-loading--premium .dw-loading-center-logo img{width:96px;height:96px;object-fit:contain;display:block;filter:drop-shadow(0 8px 17px rgba(5,75,137,.13))}
.dw-loading--premium h1{font-size:clamp(27px,3.5vw,43px);line-height:1.16;font-weight:800;letter-spacing:-.045em;
  color:#0b2341;margin:0 0 16px}
.dw-loading--premium p{font-size:clamp(14px,1.6vw,17px);line-height:1.65;color:#506884;max-width:520px;margin:0 auto 33px}
.dw-loading--premium .dw-loading-progress-wrap{display:flex;align-items:center;gap:18px;width:min(100%,485px);margin:0 auto}
.dw-loading--premium .dw-loading-progress-track{flex:1;height:11px;background:#dfebf8;border-radius:999px;overflow:hidden}
.dw-loading--premium .dw-loading-progress-fill{height:100%;width:1%;background:linear-gradient(90deg,#0fd1bf,#0084ec,#075cda);border-radius:inherit;
 transition:width .32s ease-out}
.dw-loading--premium .dw-loading-percent{font-size:21px;line-height:1;font-weight:800;color:#0b2341;min-width:60px;text-align:right;font-variant-numeric:tabular-nums}
.dw-loading--premium .dw-loading-caption{margin:36px 0 0;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#788da6;font-weight:650}
.dw-loading--premium .dw-loading-retry{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;
  border-radius:12px;background:#0b2341;color:#fff;border:0;font-family:inherit;font-size:15px;line-height:1.2;font-weight:600;cursor:pointer}
.dw-loading--premium .dw-loading-retry:hover{background:#0875be}
.dw-loading--premium .dw-loading-retry:focus-visible{outline:3px solid #15d5c5;outline-offset:4px}
.dw-loading--premium.dw-loading--failed .dw-orbit-dots{animation:none;opacity:.45}
@keyframes dw-orbit-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){
  .dw-loading.dw-loading--premium{padding:48px 22px;align-items:center}
  .dw-loading--premium .dw-loading-card{margin:0}
  .dw-loading--premium .dw-loading-brand{gap:11px;margin-bottom:28px}
  .dw-loading--premium .dw-loading-brand img{width:43px;height:43px}
  .dw-loading--premium .dw-loading-brand .dw-loading-divider{height:29px}
  .dw-loading--premium .dw-loading-brand .dw-loading-wordmark{font-size:22px}
  .dw-loading--premium .dw-loading-orbit{width:168px;height:168px;margin-bottom:28px}
  .dw-loading--premium .dw-orbit-dot{transform:rotate(calc(var(--point) * 22.5deg)) translateY(-74px);width:8px;height:8px;left:calc(50% - 4px);top:calc(50% - 4px)}
  .dw-loading--premium .dw-loading-center-logo img{width:76px;height:76px}
  .dw-loading--premium h1{font-size:29px}
  .dw-loading--premium p{margin-bottom:27px}
  .dw-loading--premium .dw-loading-percent{font-size:17px;min-width:48px}
}
@media(prefers-reduced-motion:reduce){
  .dw-loading--premium .dw-orbit-dots{animation:none}
  .dw-loading--premium .dw-loading-progress-fill{transition:none}
}
/* Compact branded pending state for real form submissions; never blocks the whole workspace. */
.dw-loading-inline{
  display:flex;align-items:center;justify-content:flex-start;gap:12px;
  margin:12px 0 6px;padding:10px 14px;width:fit-content;max-width:100%;
  box-sizing:border-box;border:1px solid #d6e7f8;border-radius:12px;
  background:linear-gradient(100deg,#f6fbff,#eaf7ff);color:#143454;
  font:600 13px/1.5 Inter,Manrope,system-ui,sans-serif;
}
.dw-loading-inline .dw-inline-brand{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;position:relative}
.dw-loading-inline .dw-inline-brand::after{content:"";position:absolute;inset:1px;border:3px dotted #0fa8c7;
  border-radius:50%;animation:dw-orbit-spin 2.6s linear infinite}
.dw-loading-inline .dw-inline-brand img{width:25px;height:25px;object-fit:contain}
@media(prefers-reduced-motion:reduce){.dw-loading-inline .dw-inline-brand::after{animation:none}}
