/* Shared marketing-page styles, extracted from public/landing/index.html (2026-10-19).
   New pages (e.g. /virtual-staging-cost) link this file; the landing page still
   inlines its own copy, so mirror visual changes in both until it switches over. */

  :root{
    color-scheme:light;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    --bg:#FFFFFF;
    --bg-soft:#F8F8FC;
    --bg-callout:#F3EFFC;
    --card-bg:#FFFFFF;
    --border:#E9E7F1;
    --border-strong:#DAD7E8;
    --text:#171425;
    --text-body:#5C5871;
    --text-muted:#8D89A0;
    --blue:#3D6FF0;
    --blue-deep:#2F57D6;
    --purple:#7C4DFF;
    --pink:#C837E8;
    --gradient:linear-gradient(90deg,var(--blue) 0%,var(--purple) 100%);
    --gradient-3:linear-gradient(90deg,var(--blue) 0%,var(--purple) 55%,var(--pink) 100%);
  }
  html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px);}
  *{box-sizing:border-box;}
  [hidden]:not([hidden=until-found i]){display:none!important;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    font-size:16px;
    line-height:1.6;
    margin:0;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  h1,h2,h3{margin:0;text-wrap:balance;font-weight:800;letter-spacing:-0.02em;color:var(--text);}
  p{margin:0;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;}

  @media (prefers-reduced-motion:reduce){
    *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  }

  .wrap{max-width:1160px;margin:0 auto;padding-inline:24px;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--purple);
  }
  .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gradient);flex-shrink:0;}
  .eyebrow.center{justify-content:center;}

  .grad-text{background:var(--gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
  .grad-text.three{background:var(--gradient-3);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}

  .btn-primary{
    color:#fff;cursor:pointer;text-align:center;background:var(--gradient);
    border:none;border-radius:100px;padding:14px 26px;font-size:.95rem;font-weight:700;
    transition:opacity .2s,transform .15s;display:inline-flex;align-items:center;gap:8px;
    box-shadow:0 14px 30px -10px rgba(76,58,220,.45);
  }
  .btn-primary:hover{opacity:.92;transform:translateY(-1px);}
  .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;}
  .btn-secondary{
    color:var(--text);cursor:pointer;text-align:center;background:#fff;
    border:1px solid var(--border-strong);border-radius:100px;padding:14px 26px;
    font-size:.95rem;font-weight:600;transition:background .2s,border-color .2s;display:inline-block;
  }
  .btn-secondary:hover{background:var(--bg-soft);border-color:var(--purple);}

  .card{
    background:var(--card-bg);border:1px solid var(--border);border-radius:22px;padding:32px;
    box-shadow:0 24px 48px -28px rgba(30,20,90,.14);
  }
  .input{
    color:var(--text);background:#fff;border:1px solid var(--border-strong);
    border-radius:10px;outline:none;width:100%;padding:13px 16px;font-size:.95rem;
    transition:border-color .2s,box-shadow .2s;font-family:inherit;
  }
  .input::placeholder{color:var(--text-muted);}
  .input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(61,111,240,.14);}
  textarea.input{resize:vertical;min-height:96px;}
  .field label{color:var(--text);margin-bottom:8px;font-size:.85rem;font-weight:600;display:block;}

  .badge-circle{
    width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    color:#fff;flex-shrink:0;font-weight:800;font-size:1.1rem;
  }
  .badge-circle svg{width:23px;height:23px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .badge-circle.blue{background:linear-gradient(135deg,#6B94F5,var(--blue-deep));}
  .badge-circle.purple{background:linear-gradient(135deg,#A98BFF,var(--purple));}
  .badge-circle.pink{background:linear-gradient(135deg,#EA80E0,var(--pink));}

  /* ---------- nav ---------- */
  .nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:14px;gap:20px;}
  .brand{display:flex;align-items:center;gap:10px;}
  .brand img{width:38px;height:38px;border-radius:10px;flex-shrink:0;}
  .brand .word{font-weight:800;font-size:1.2rem;line-height:1.1;}
  .brand .tagline{font-size:9.5px;font-weight:700;letter-spacing:.09em;color:var(--text-muted);text-transform:uppercase;}
  .nav-links{display:flex;align-items:center;gap:30px;font-size:.92rem;font-weight:600;color:var(--text-body);}
  .nav-links a:hover{color:var(--purple);}
  .nav .btn-primary{padding:11px 20px;font-size:.86rem;box-shadow:none;}

  /* ---------- hero ---------- */
  .hero{padding-block:64px 76px;position:relative;}
  .hero-blobs{position:absolute;inset:0;overflow:hidden;z-index:0;}
  .hero-blob{position:absolute;border-radius:50%;filter:blur(6px);}
  .hero-blob.b1{width:520px;height:520px;top:-140px;right:-60px;background:radial-gradient(circle,rgba(61,111,240,.14),transparent 70%);}
  .hero-blob.b2{width:420px;height:420px;top:220px;right:180px;background:radial-gradient(circle,rgba(124,77,255,.12),transparent 70%);}
  .hero .wrap{display:grid;grid-template-columns:1fr .95fr;gap:56px;align-items:center;position:relative;z-index:1;}
  /* The H1 is the keyword eyebrow ("Virtual Staging Made Simple"); the big slogan is .hero-title, styled as the visual headline. */
  .hero-copy h1.eyebrow{margin:0;}
  .hero-copy .hero-title{font-size:clamp(2.2rem,4.2vw,3.15rem);line-height:1.05em;margin-block:16px 18px;text-wrap:wrap;font-weight:800;letter-spacing:-0.02em;color:var(--text);}
  .hero-copy p.sub{font-size:1.1rem;color:var(--text-body);max-width:46ch;}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
  .hero-caption{margin-top:16px;font-size:.88rem;color:var(--text-muted);}

  .compare-stage{position:relative;}
  .compare-card{
    background:#fff;border:1px solid var(--border);border-radius:24px;padding:14px;
    box-shadow:0 40px 80px -30px rgba(30,20,90,.24);position:relative;
  }
  .compare-chrome{display:flex;align-items:center;gap:6px;padding:4px 6px 12px;}
  .compare-chrome i{width:8px;height:8px;border-radius:50%;background:var(--border-strong);}

  .ba-slider{
    position:relative;border-radius:14px;overflow:hidden;aspect-ratio:996/668;
    user-select:none;-webkit-user-select:none;touch-action:none;cursor:ew-resize;
    --pos:45%;
  }
  .ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
  .ba-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0);}
  .ba-tag{
    position:absolute;top:14px;padding:6px 12px;border-radius:8px;background:rgba(15,12,25,.62);
    color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;
  }
  .ba-tag-before{left:14px;}
  .ba-tag-after{right:14px;}
  .ba-handle{
    position:absolute;top:0;bottom:0;left:var(--pos);transform:translateX(-50%);
    display:flex;align-items:center;justify-content:center;width:36px;
  }
  .ba-handle-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.14);transform:translateX(-50%);}
  .ba-handle-grip{
    position:relative;width:36px;height:36px;border-radius:50%;background:#fff;
    box-shadow:0 4px 14px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;color:var(--text);
  }
  .ba-handle-grip svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  .ba-handle:focus-visible .ba-handle-grip{outline:2px solid var(--blue);outline-offset:2px;}

  .style-row{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
  .style-pill{
    font-size:.76rem;font-weight:600;padding:7px 13px;border-radius:100px;border:1px solid var(--border-strong);
    color:var(--text-muted);
  }
  .style-pill.active{color:var(--blue-deep);border-color:var(--blue);background:rgba(61,111,240,.08);font-weight:700;}

  .annotate{position:absolute;font-family:'Caveat',cursive;color:var(--purple);font-weight:700;line-height:1.15;z-index:2;}
  .annotate.a1{top:-34px;left:-58px;font-size:1.35rem;text-align:right;}
  .annotate.a2{bottom:-72px;right:-8px;font-size:1.3rem;display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
  .annotate svg{stroke:var(--purple);fill:none;stroke-width:2;stroke-linecap:round;}
  .annotate.a2 svg{width:44px;height:64px;}

  /* ---------- problem band ---------- */
  .problem{padding-block:64px 88px;}
  .problem-card{
    background:var(--bg-callout);border-radius:24px;padding:40px 44px;
    display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:flex-start;
  }
  .problem-card .icon-wrap{flex-shrink:0;}
  .problem-card .icon-wrap img{width:150px;height:auto;display:block;}
  .problem-card h2{font-size:1.5rem;margin-bottom:14px;}
  .problem-card p{color:var(--text-body);font-size:1.02rem;margin-bottom:10px;}
  .problem-card p:last-child{margin-bottom:0;}

  /* ---------- section heading ---------- */
  .section{padding-block:88px;}
  .section-head{text-align:center;max-width:640px;margin:0 auto 52px;}
  .section-head h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin-top:14px;}
  .section-head p{color:var(--text-body);font-size:1.05rem;margin-top:12px;}
  .section-head.left{text-align:left;margin:0 0 48px;}

  /* ---------- products ---------- */
  .products-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:stretch;}
  .connector{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);}
  .connector svg{width:24px;height:24px;stroke:var(--purple);}
  .connector span{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
  .product-card{display:flex;flex-direction:column;gap:16px;}
  .product-card .head-row{display:flex;align-items:center;gap:14px;}
  .product-card h3{font-size:1.32rem;}
  .product-card h3 .role{color:var(--blue-deep);}
  .product-card .body-copy{color:var(--text-body);font-size:.98rem;}
  .product-card .clincher{margin-top:auto;padding-top:16px;border-top:1px solid var(--border);font-weight:700;font-size:.92rem;color:var(--text);}

  .browser-mock{border-radius:14px;overflow:hidden;border:1px solid var(--border);background:#fff;max-width:85%;margin-inline:auto;}
  .browser-mock .chrome{display:flex;align-items:center;gap:6px;padding:10px 12px;background:#fff;border-bottom:1px solid var(--border);}
  .browser-mock .chrome i{width:9px;height:9px;border-radius:50%;background:var(--border-strong);}
  .browser-mock .chrome .url{margin-left:8px;font-size:.72rem;color:var(--text-muted);background:var(--bg-soft);padding:4px 10px;border-radius:6px;flex:1;}
  .browser-mock img{width:100%;display:block;}

  .sales-visual{max-width:400px;margin-inline:auto;}

  .store-buttons{
    margin-top:auto;padding-top:16px;border-top:1px solid var(--border);
    display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;
  }
  .store-buttons a{display:inline-block;transition:opacity .2s,transform .15s;}
  .store-buttons a:hover{opacity:.88;transform:translateY(-1px);}
  .store-buttons img{height:42px;width:auto;display:block;}

  .synthesis{margin-top:44px;background:var(--bg-callout);border-radius:20px;padding:26px 32px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
  .synthesis .icon-wrap{width:44px;height:44px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 18px -8px rgba(30,20,90,.15);}
  .synthesis .icon-wrap svg{width:22px;height:22px;stroke:var(--purple);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .synthesis .label{font-weight:700;font-size:.95rem;color:var(--text-body);flex-shrink:0;}
  .synthesis .divider{width:1px;align-self:stretch;background:var(--border-strong);}
  .synthesis .quote{font-weight:700;font-size:1.08rem;color:var(--text);flex:1;min-width:220px;}

  /* ---------- partner models ---------- */
  .models-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .model-card{display:flex;flex-direction:column;gap:14px;}
  .model-card h3{font-size:1.28rem;}
  .model-card .mechanism{font-size:.92rem;font-weight:700;}
  .model-card.refer .mechanism{color:var(--blue-deep);}
  .model-card.resell .mechanism{color:var(--purple);}
  .model-card.label .mechanism{color:var(--pink);}
  .model-card .body-copy{color:var(--text-body);font-size:.96rem;}
  .model-card .body-copy strong{color:var(--text);}
  .model-card .pull{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);font-weight:800;font-size:1rem;}
  .model-card.refer .pull{color:var(--blue-deep);}
  .model-card.resell .pull{color:var(--purple);}
  .model-card.label .pull{color:var(--pink);}

  /* ---------- benefits ---------- */
  .benefits-row{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
  .benefit{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;}
  .benefit h4{font-size:1.02rem;font-weight:700;}
  .benefit p{color:var(--text-body);font-size:.92rem;}

  /* ---------- bonus ---------- */
  .bonus{background:linear-gradient(90deg,#2871FA 0%,#2871FA 12%,#4F17D8 88%,#4F17D8 100%);padding-block:80px;position:relative;overflow:hidden;}
  .bonus .wrap{display:grid;grid-template-columns:.85fr 1fr;gap:56px;align-items:center;}
  .bonus h2{color:#fff;font-size:clamp(2.4rem,5vw,3.4rem);letter-spacing:-0.02em;}
  .bonus .lead{color:rgba(255,255,255,.92);font-size:1.08rem;margin-top:22px;max-width:44ch;}
  .bonus .demo-link{color:#fff;text-decoration:underline;font-weight:700;margin-top:26px;display:inline-block;}

  .bonus-media{display:flex;flex-direction:column;gap:34px;}
  .bonus-group-label{color:rgba(255,255,255,.85);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center;margin-bottom:14px;}
  .bonus-banners{display:flex;flex-direction:column;gap:14px;}
  .bonus-banners img{width:100%;border-radius:10px;box-shadow:0 20px 40px -18px rgba(0,0,0,.4);display:block;}

  .bonus-socials{display:flex;justify-content:center;align-items:flex-start;padding-block:8px 4px;}
  .bonus-socials img{width:170px;border-radius:10px;box-shadow:0 20px 36px -16px rgba(0,0,0,.45);border:4px solid #fff;display:block;}
  .bonus-socials .s1{transform:rotate(-8deg) translateY(14px);margin-right:-34px;z-index:1;}
  .bonus-socials .s2{width:190px;z-index:3;}
  .bonus-socials .s3{transform:rotate(8deg) translateY(14px);margin-left:-34px;z-index:2;}

  @media (max-width:860px){
    .bonus .wrap{grid-template-columns:1fr;gap:40px;text-align:center;}
    .bonus .lead{margin-inline:auto;}
  }
  @media (max-width:560px){
    .bonus-socials{padding-inline:20px;}
    .bonus-socials img{width:30%;}
    .bonus-socials .s2{width:36%;}
  }

  /* ---------- faq ---------- */
  .faq-list{display:flex;flex-direction:column;max-width:760px;margin:0 auto;}
  .faq-item{border-top:1px solid var(--border);}
  .faq-item:last-child{border-bottom:1px solid var(--border);}
  .faq-item summary{cursor:pointer;list-style:none;padding-block:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;font-size:1.02rem;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary .plus{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;position:relative;}
  .faq-item summary .plus::before,.faq-item summary .plus::after{content:"";position:absolute;background:var(--purple);transition:transform .2s;}
  .faq-item summary .plus::before{width:10px;height:1.6px;}
  .faq-item summary .plus::after{width:1.6px;height:10px;}
  .faq-item[open] summary .plus::after{transform:rotate(90deg) scaleY(0);}
  .faq-item p{color:var(--text-body);padding-bottom:22px;max-width:68ch;font-size:.98rem;}
  .faq-item summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:6px;}

  /* ---------- final CTA / apply ---------- */
  .cta-final{border-radius:28px;padding:56px;background:var(--bg-callout);border:1px solid var(--border);}
  .cta-final .head{text-align:center;max-width:600px;margin:0 auto 40px;}
  .cta-final h2{font-size:clamp(1.7rem,3vw,2.15rem);}
  .cta-final .head p{color:var(--text-body);margin-top:12px;font-size:1.03rem;}
  .apply-form{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
  .apply-form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .apply-form .actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:6px;}
  .apply-form .actions p{font-size:.82rem;color:var(--text-muted);text-align:center;max-width:40ch;}
  .apply-status{max-width:640px;margin:0 auto;padding:16px 20px;border-radius:12px;font-size:.95rem;font-weight:600;text-align:center;}
  .apply-status.success{background:#fff;border:1px solid var(--blue);color:var(--blue-deep);}
  .apply-status.error{background:#fff;border:1px solid var(--pink);color:var(--pink);}

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--border);padding-block:40px;}
  footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center;}
  footer .brand-line{font-weight:800;font-size:.98rem;}
  footer .meta{color:var(--text-muted);font-size:.85rem;display:flex;gap:18px;flex-wrap:wrap;}
  footer .meta a:hover{color:var(--purple);}

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    .nav-links{display:none;}
  }
  @media (max-width:500px){
    .nav .wrap{gap:10px;padding-inline:16px;}
    .brand{gap:8px;}
    .brand img{width:30px;height:30px;}
    .brand .word{font-size:.95rem;}
    .brand .tagline{display:none;}
    .nav .btn-primary{padding:9px 14px;font-size:.8rem;white-space:nowrap;}
  }
  @media (max-width:860px){
    .hero .wrap{grid-template-columns:1fr;gap:48px;}
    .compare-stage{order:-1;max-width:420px;margin-inline:auto;}
    .annotate{display:none;}
    .products-grid{grid-template-columns:1fr;}
    .connector{flex-direction:row;padding-block:4px;}
    .connector svg{transform:rotate(90deg);}
    .models-grid{grid-template-columns:1fr;}
    .benefits-row{grid-template-columns:1fr 1fr;}
    .apply-form .row{grid-template-columns:1fr;}
    .cta-final{padding:36px 22px;}
    .problem-card{grid-template-columns:minmax(0,1fr);}
  }
  @media (max-width:600px){
    .benefits-row{grid-template-columns:1fr;}
    .hero{padding-block:40px 52px;}
    .section{padding-block:60px;}
    .synthesis{flex-direction:column;align-items:flex-start;}
    .synthesis .divider{display:none;}
  }

  /* ================= realtor landing additions ================= */
  html{scroll-padding-top:84px;}
  .nav-right{display:flex;align-items:center;gap:18px;}
  .nav-signin{font-weight:600;font-size:.92rem;color:var(--text-body);}
  .nav-signin:hover{color:var(--purple);}
  .hero{padding-block:56px 64px;}
  .hero-copy p.sub{max-width:48ch;}

  /* ---------- email signup ---------- */
  .signup-form{display:flex;gap:10px;margin-top:28px;max-width:500px;background:#fff;border:1px solid var(--border-strong);border-radius:100px;padding:6px;box-shadow:0 18px 40px -22px rgba(30,20,90,.25);}
  .signup-form input{flex:1;min-width:0;border:none;outline:none;background:transparent;padding:10px 16px;font-size:1rem;font-family:inherit;color:var(--text);}
  .signup-form .btn-primary{white-space:nowrap;box-shadow:none;padding:12px 22px;}
  .signup-form:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(61,111,240,.14),0 18px 40px -22px rgba(30,20,90,.25);}
  .signup-note{margin-top:12px;font-size:.88rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:6px 16px;}
  .signup-note span{display:inline-flex;align-items:center;gap:6px;}
  .signup-note svg{width:15px;height:15px;stroke:var(--purple);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
  .signup-status{margin-top:14px;padding:14px 18px;border-radius:14px;font-weight:600;font-size:.95rem;max-width:500px;}
  .signup-status.ok{background:#E9F8F0;color:#11663F;}
  .signup-status.err{background:#FDECF0;color:#B4233F;}
  .signup-status small{display:block;font-weight:500;color:inherit;opacity:.85;margin-top:4px;}
  .cta-final .signup-form{margin-inline:auto;}
  .cta-final .signup-note{justify-content:center;}
  .cta-final .signup-status{margin-inline:auto;}

  /* ---------- auto-wipe before/after ---------- */
  .aw{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:var(--bg-callout);cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none;}
  .aw img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
  .aw .aw-after{clip-path:inset(0 0 0 50%);animation:awWipe 7s cubic-bezier(.5,0,.5,1) infinite;}
  .aw .aw-div{position:absolute;top:0;bottom:0;left:50%;width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 .5px rgba(0,0,0,.1),0 0 8px rgba(0,0,0,.2);z-index:2;animation:awDiv 7s cubic-bezier(.5,0,.5,1) infinite;}
  .aw .aw-div::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C4DFF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E") center/18px no-repeat;box-shadow:0 3px 10px rgba(0,0,0,.25);}
  .aw-tag{position:absolute;top:12px;z-index:3;padding:5px 11px;border-radius:8px;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;pointer-events:none;}
  .aw-tag.b{left:12px;background:rgba(15,12,25,.66);}
  .aw-tag.a{right:12px;background:var(--purple);}
  .aw.paused .aw-after,.aw.paused .aw-div{animation-play-state:paused;}
  .aw.manual .aw-after{animation:none;clip-path:inset(0 0 0 var(--pos,50%));}
  .aw.manual .aw-div{animation:none;left:var(--pos,50%);}
  @keyframes awWipe{0%,6%{clip-path:inset(0 0 0 8%);}44%,56%{clip-path:inset(0 0 0 92%);}94%,100%{clip-path:inset(0 0 0 8%);}}
  @keyframes awDiv{0%,6%{left:8%;}44%,56%{left:92%;}94%,100%{left:8%;}}
  @media (prefers-reduced-motion:reduce){
    .aw .aw-after{animation:none;clip-path:inset(0 0 0 50%);}
    .aw .aw-div{animation:none;left:50%;}
  }

  /* hero slider rotates through rooms */
  .hero .aw{border-radius:14px;}
  .hero .aw.swap img{opacity:0;}
  .hero .aw img{transition:opacity .35s ease;}
  .hero-room{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;margin-top:12px;padding-inline:4px;}
  .hero-room .room-name{font-weight:700;font-size:.9rem;}
  .hero-room .room-name small{display:block;font-weight:600;font-size:.76rem;color:var(--text-muted);}
  .locked-chip{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;color:var(--blue-deep);background:rgba(61,111,240,.08);border:1px solid rgba(61,111,240,.25);padding:6px 11px;border-radius:100px;white-space:nowrap;}
  .locked-chip svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
  .room-dots{display:flex;gap:6px;}
  .room-dots i{width:7px;height:7px;border-radius:50%;background:var(--border-strong);transition:background .3s,width .3s;}
  .room-dots i.on{background:var(--purple);width:18px;border-radius:4px;}

  /* ---------- proof strip ---------- */
  .proof{padding-block:0 8px;}
  .proof-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .proof-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 18px;}
  .proof-item svg{width:26px;height:26px;flex-shrink:0;stroke:var(--purple);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
  .proof-item strong{display:block;font-size:.92rem;line-height:1.3;}
  .proof-item span{font-size:.8rem;color:var(--text-muted);}

  .problem{padding-block:72px 24px;}
  .problem-card{align-items:center;}
  /* fanned group of three photos: outer two tilt out from behind the centre one */
  .photo-fan{position:relative;width:380px;max-width:100%;aspect-ratio:380/280;margin-inline:auto;}
  .photo-fan img{
    position:absolute;top:50%;width:56%;aspect-ratio:1;object-fit:cover;
    border:6px solid #fff;border-radius:14px;
    box-shadow:0 18px 36px -14px rgba(30,20,90,.32),0 4px 10px -4px rgba(30,20,90,.14);
    transition:transform .35s ease;
  }
  .photo-fan img:nth-child(1){left:0;transform:translateY(-50%) rotate(-9deg);z-index:1;}
  .photo-fan img:nth-child(2){left:22%;transform:translateY(-54%);z-index:3;}
  .photo-fan img:nth-child(3){right:0;transform:translateY(-50%) rotate(9deg);z-index:2;}
  .photo-fan:hover img:nth-child(1){transform:translate(-6%,-50%) rotate(-12deg);}
  .photo-fan:hover img:nth-child(3){transform:translate(6%,-50%) rotate(12deg);}
  @media (prefers-reduced-motion:reduce){.photo-fan img{transition:none;}}
  .problem-card p.kicker{color:var(--text);font-weight:700;}

  /* ---------- showcase grid ---------- */
  .show-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .show-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:10px;box-shadow:0 24px 48px -30px rgba(30,20,90,.2);}
  .show-card .cap{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 8px 6px;}
  .show-card .cap strong{font-size:.95rem;}
  .show-card .cap span{font-size:.78rem;color:var(--text-muted);font-weight:600;}
  .show-grid .show-card:nth-child(2) .aw-after,.show-grid .show-card:nth-child(2) .aw-div{animation-delay:-1.2s;}
  .show-grid .show-card:nth-child(3) .aw-after,.show-grid .show-card:nth-child(3) .aw-div{animation-delay:-2.4s;}
  .show-grid .show-card:nth-child(4) .aw-after,.show-grid .show-card:nth-child(4) .aw-div{animation-delay:-3.6s;}
  .show-grid .show-card:nth-child(5) .aw-after,.show-grid .show-card:nth-child(5) .aw-div{animation-delay:-4.8s;}
  .show-grid .show-card:nth-child(6) .aw-after,.show-grid .show-card:nth-child(6) .aw-div{animation-delay:-6s;}
  .show-foot{text-align:center;margin-top:30px;color:var(--text-body);font-size:.95rem;}
  .show-foot strong{color:var(--text);}

  /* ---------- one room, many styles ---------- */
  .styles-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:center;}
  .styles-stage{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--bg-callout);box-shadow:0 40px 80px -36px rgba(30,20,90,.3);}
  .styles-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease;}
  .styles-stage img.on{opacity:1;}
  .styles-stage .now{position:absolute;left:14px;bottom:14px;z-index:2;background:rgba(15,12,25,.66);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 12px;border-radius:8px;}
  .style-list{display:flex;flex-direction:column;gap:8px;margin-top:22px;}
  .style-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:13px 18px;border-radius:14px;border:1px solid var(--border);background:#fff;font-family:inherit;font-size:.98rem;font-weight:700;color:var(--text-body);cursor:pointer;position:relative;overflow:hidden;transition:border-color .2s,color .2s;}
  .style-btn:hover{border-color:var(--purple);}
  .style-btn.on{color:var(--text);border-color:var(--purple);background:var(--bg-callout);}
  .style-btn .bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--gradient);}
  .style-btn.on .bar{animation:styleBar var(--style-ms,3000ms) linear forwards;}
  .style-list.held .style-btn.on .bar{animation:none;width:100%;}
  @keyframes styleBar{to{width:100%;}}
  .style-btn small{font-weight:600;color:var(--text-muted);font-size:.8rem;}

  /* ---------- solution / features / steps / econ / pricing / who / why (from earlier draft) ---------- */
  .no-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
  .no-list li{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:14px;padding:14px 18px;}
  .no-list li svg{width:20px;height:20px;flex-shrink:0;stroke:var(--purple);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
  .no-list li.yes{background:var(--bg-callout);border-color:transparent;}
  .solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .solution-grid h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin-top:14px;}
  .solution-grid p{color:var(--text-body);font-size:1.05rem;margin-top:14px;}
  .center-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:40px;text-align:center;}
  .center-cta p{color:var(--text-muted);font-size:.88rem;}

  .features-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;}
  .feature-card{grid-column:span 2;display:flex;flex-direction:column;gap:14px;}
  .feature-card:nth-child(4){grid-column:2 / span 2;}
  .feature-card h3{font-size:1.16rem;line-height:1.3;}
  .feature-card p{color:var(--text-body);font-size:.96rem;}

  .steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .step-card{display:flex;flex-direction:column;gap:14px;}
  .step-card h3{font-size:1.2rem;}
  .step-card p{color:var(--text-body);font-size:.96rem;}
  .steps-close{text-align:center;font-weight:700;margin-top:36px;color:var(--text);}

  .econ{background:linear-gradient(90deg,#2871FA 0%,#2871FA 12%,#4F17D8 88%,#4F17D8 100%);padding-block:84px;}
  .econ .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
  .econ h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.6rem);}
  .econ p{color:rgba(255,255,255,.9);font-size:1.05rem;margin-top:16px;max-width:52ch;}
  .econ-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
  .econ-list li{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:18px 20px;color:#fff;font-weight:700;font-size:1.05rem;}
  .econ-list li svg{width:22px;height:22px;flex-shrink:0;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}

  .pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
  .price-card{display:flex;flex-direction:column;gap:10px;position:relative;text-align:center;}
  .price-card .tier-tag{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);min-height:1.2em;}
  .price-card h3{font-size:1.1rem;letter-spacing:.14em;}
  .price-card .price{font-size:3rem;font-weight:800;letter-spacing:-0.03em;line-height:1;margin-top:6px;}
  .price-card .credits{font-weight:700;color:var(--blue-deep);}
  .price-card .desc{color:var(--text-body);font-size:.95rem;flex:1;}
  .price-card .per{font-size:.84rem;color:var(--text-muted);padding-top:14px;border-top:1px solid var(--border);}
  .price-card .per strong{color:var(--purple);}
  .price-card.featured{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--gradient) border-box;box-shadow:0 30px 60px -28px rgba(76,58,220,.4);}
  .price-card.featured .tier-tag{color:var(--purple);}
  .price-perks{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 26px;margin-top:32px;font-weight:600;color:var(--text);font-size:.95rem;}
  .price-perks span{display:inline-flex;align-items:center;gap:8px;}
  .price-perks svg{width:18px;height:18px;stroke:var(--purple);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
  .price-note{text-align:center;color:var(--text-muted);font-size:.84rem;margin-top:12px;}

  .who-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;}
  .who-card{grid-column:span 2;display:flex;gap:16px;align-items:flex-start;padding:26px;}
  .who-card:nth-child(4){grid-column:2 / span 2;}
  .who-card h3{font-size:1.05rem;margin-bottom:6px;}
  .who-card p{color:var(--text-body);font-size:.93rem;}
  .who-card .badge-circle{width:44px;height:44px;}
  .who-card .badge-circle svg{width:20px;height:20px;}

  /* "Why RoomVizzion" benefits as outlined cards (mockup: Less Staging Hassle cards.png).
     h4 margins reset here: the shared base never zeroed them, which spread the
     icon, title and text ~22px further apart than intended. */
  #why .benefits-row{gap:22px;align-items:stretch;}
  #why .benefit{background:#fff;border:1.5px solid rgba(61,111,240,.55);border-radius:20px;padding:30px 24px 32px;gap:0;justify-content:flex-start;}
  #why .benefit h4{margin:16px 0 10px;font-size:1.22rem;font-weight:800;letter-spacing:-0.01em;}
  #why .benefit p{font-size:.96rem;line-height:1.6;max-width:24ch;}
  .why-intro{text-align:center;max-width:620px;margin:-28px auto 48px;color:var(--text-body);font-size:1.03rem;}
  .why-close{text-align:center;font-weight:700;margin-top:44px;}

  .cta-final .head{margin-bottom:8px;}
  .cta-final .signoff{text-align:center;margin-top:34px;font-weight:800;font-size:1.05rem;}

  /* ---------- mobile sticky CTA ---------- */
  .sticky-cta{display:none;}
  @media (max-width:700px){
    .sticky-cta{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:30;justify-content:center;transform:translateY(140%);transition:transform .3s ease;}
    .sticky-cta.show{transform:none;}
    .sticky-cta .btn-primary{width:100%;justify-content:center;padding:15px;}
    footer{padding-bottom:96px;}
  }

  @media (max-width:980px){
    .proof-row{grid-template-columns:1fr 1fr;}
    .show-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:860px){
    .solution-grid,.econ .wrap,.styles-wrap{grid-template-columns:1fr;gap:32px;}
    .features-grid,.who-grid{grid-template-columns:1fr;}
    .feature-card,.feature-card:nth-child(4),.who-card,.who-card:nth-child(4){grid-column:auto;}
    .steps-grid,.pricing-grid{grid-template-columns:1fr;}
    .pricing-grid{max-width:420px;margin-inline:auto;}
    .compare-stage{max-width:560px;width:100%;min-width:0;margin-inline:auto;order:0;}
    .hero .wrap > *{min-width:0;}
  }
  @media (max-width:600px){
    .show-grid{grid-template-columns:1fr;}
    .proof-row{grid-template-columns:1fr;}
    .signup-form{flex-direction:column;border-radius:18px;padding:8px;}
    .signup-form input{padding:12px 12px;}
    .signup-form .btn-primary{width:100%;justify-content:center;}
    .style-list{flex-direction:row;flex-wrap:wrap;}
    .style-btn{width:auto;padding:9px 14px;font-size:.88rem;}
    .style-btn small{display:none;}
  }
  @media (max-width:500px){
    .hero-room .room-dots{display:none;}
    .wrap{padding-inline:16px;}
    .card{padding:24px;}
    .nav-signin{display:none;}
  }
