.home-mosaic-stack{min-width:0;display:flex;flex-direction:column;gap:18px}
.home-configurator-launch{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;width:100%;padding:21px 23px;border:1px solid #526d7a;background:#204070;color:#fff;text-align:left;cursor:pointer;box-shadow:0 8px 24px #20407018;transition:background .18s,box-shadow .18s}
.home-configurator-launch:hover{background:#294f80;box-shadow:0 10px 28px #20407030}
.home-configurator-launch:focus-visible,.home-configurator-close:focus-visible{outline:3px solid #ba865b;outline-offset:4px}
.home-configurator-new{padding:6px 8px;background:#ba865b;color:#fff;font:700 11px/1.2 Arial,sans-serif;letter-spacing:.1em}
.home-configurator-copy{display:grid;gap:5px;min-width:0}
.home-configurator-title{font:500 clamp(20px,1.5vw,27px)/1.25 var(--font-heading,Oswald,sans-serif)}
.home-configurator-line{font-size:12px;line-height:1.5;font-weight:400;color:#e0e9ee}
.home-configurator-arrow{font-size:27px;line-height:1}
/* A restrained candy-colour sheen, clipped to the lettering only. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 @media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (forced-colors:none){
  .home-configurator-launch:is(:hover,:focus-visible) :is(.home-configurator-title,.home-configurator-line){
   background-image:linear-gradient(135deg,#fff 20%,#ffd8eb 34%,#decfff 42%,#b8edff 50%,#c9f4df 58%,#fff0bd 66%,#fff 80%);
   background-size:300% 300%;background-clip:text;-webkit-background-clip:text;color:transparent;
   animation:configurator-text-sheen 3.6s ease-in-out infinite;
  }
 }
}
@keyframes configurator-text-sheen{0%{background-position:100% 100%}100%{background-position:0% 0%}}
.home-configurator-dialog{box-sizing:border-box;width:100%;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;padding:0;border:0;border-radius:0;background:#f7f9fa;color:#204070;box-shadow:0 20px 90px #0d203c50;overflow:hidden}
.home-configurator-dialog:not([open]){display:none}
.home-configurator-dialog[open]{display:flex;flex-direction:column}
.home-configurator-dialog::backdrop{background:#10243edb;backdrop-filter:blur(4px)}
.home-configurator-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-bottom:1px solid #cbd2d6;background:white}
.home-configurator-header h2{margin:0;font:500 20px/1.3 var(--font-heading,Oswald,sans-serif)}
.home-configurator-close{display:flex;align-items:center;gap:8px;flex:none;border:1px solid #cbd2d6;border-radius:5px;padding:9px 12px;color:#204070;background:white;font:600 13px/1.3 Arial,sans-serif;cursor:pointer}
.home-configurator-close:hover{background:#edf2f5}
.home-configurator-frame{flex:1;min-height:0;min-width:0;display:flex}
.home-configurator-frame iframe{display:block;width:100%;height:100%;min-width:0;border:0;background:#f7f9fa}
@media(max-width:600px){.home-configurator-launch{gap:10px;padding:17px 14px}.home-configurator-title{font-size:20px}.home-configurator-line{font-size:11px}.home-configurator-new{font-size:9px;padding:5px 6px}.home-configurator-dialog{width:100%;height:100dvh;border:0;border-radius:0}.home-configurator-header{padding:10px 12px;gap:8px}.home-configurator-header h2{font-size:17px}.home-configurator-close{padding:8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.home-configurator-launch{transition:none}}

.home-configurator-credit{margin:0 0 0 auto;font:11px/1.4 Arial,sans-serif;color:#526579}.home-configurator-credit button{border:0;padding:2px 0;background:none;color:#204070;text-decoration:underline;font:700 11px Arial,sans-serif;cursor:pointer}
.home-owner-card{position:fixed;inset:auto;left:16px;top:80px;margin:0;padding:28px;width:min(440px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;border:1px solid #d4dfe6;border-radius:8px;background:white;color:#23364d;box-shadow:0 10px 36px #17335324;font-family:Arial,sans-serif}.home-owner-card::backdrop{background:transparent}.home-owner-card h2{font:700 27px/1.15 Arial,sans-serif;margin:0 0 10px}.home-owner-title{font-size:17px;color:#64788b;margin:0 0 22px}.home-owner-card>a{display:flex;gap:13px;align-items:center;font-size:17px;line-height:1.4;color:#23364d;text-decoration:none;margin:13px 0;overflow-wrap:anywhere}.home-owner-card>a span{font-size:26px;color:#275c95}.home-owner-close{position:absolute;top:8px;right:10px;border:0;background:none;font-size:26px;color:#526579;cursor:pointer}.home-owner-brand{text-align:center;margin-top:25px}.home-owner-brand strong{display:block;font:900 clamp(23px,3vw,36px)/1 Arial,sans-serif;letter-spacing:-1px;color:#606668}.home-owner-brand strong span{color:#275c95}.home-owner-brand small{display:block;color:#275c95;font-weight:700;letter-spacing:6px;margin-top:4px}
@media(max-width:600px){.home-configurator-header{flex-wrap:wrap;gap:3px 8px}.home-configurator-header h2{flex:1}.home-configurator-credit{order:3;width:100%;margin:0;font-size:10px}.home-configurator-credit button{font-size:10px}.home-owner-card{padding:22px 16px}.home-owner-card h2{font-size:24px}.home-owner-card>a{font-size:14px}}
.home-owner-card::backdrop{background:transparent!important;backdrop-filter:none!important}
.home-configurator-dialog .configurator-owner-card{z-index:10;padding:24px;overflow:auto;overscroll-behavior:contain;animation:configurator-owner-enter .22s ease-out both}
.home-configurator-dialog .configurator-owner-card:not([open]){display:none}
.home-configurator-dialog .configurator-owner-card h2{font-size:27px}
@keyframes configurator-owner-enter{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:600px){.home-configurator-dialog .configurator-owner-card{padding:22px 18px}.home-configurator-dialog .configurator-owner-card h2{font-size:25px}.home-configurator-dialog .configurator-owner-card>a{font-size:15px}}
@media(prefers-reduced-motion:reduce){.home-configurator-dialog .configurator-owner-card{animation:none}}
