
:root{--purple:#79538e;--navy:#1b1a3b;--sage:#829b85;--cream:#fffcf8;--muted:#73758b;--line:#e4dce6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eee7ee;color:var(--navy);font-family:'DM Sans',Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b18bc3;outline-offset:3px}[hidden]{display:none!important}.shell{position:relative;isolation:isolate;overflow:hidden;max-width:720px;min-height:100dvh;margin:0 auto;background:radial-gradient(ellipse at 50% 20%,#fff 0%,#fffcf8 65%,#faf5ef 100%);box-shadow:0 0 70px #60496718}.inner{position:relative;z-index:1;max-width:570px;margin:auto;padding:18px clamp(22px,5vw,38px) 55px}.botanical{position:absolute;z-index:0;pointer-events:none;background:url('assets/botanical-watercolor.svg') no-repeat center/contain;opacity:.82;width:150px;height:260px}.botanical-tl{top:-35px;left:-42px}.botanical-tr{top:-35px;right:-42px;transform:scaleX(-1)}.botanical-bl{bottom:-90px;left:-42px;transform:rotate(180deg)}.botanical-br{bottom:-90px;right:-42px;transform:scaleY(-1)}header{text-align:center;position:relative}.logo{display:block;width:min(340px,78%);height:185px;object-fit:contain;margin:0 auto -10px}.step-indicator{text-align:left;font-size:12px;font-weight:600;letter-spacing:.09em;margin:0 0 28px}.progress{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin-top:10px}.progress i{height:8px;border-radius:5px;background:#e5dfe7}.progress i.active{background:#80509d}h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.025em;line-height:1.12;margin:6px 0 12px}h1{font-size:clamp(36px,7vw,51px)}h2{font-size:clamp(30px,6vw,42px)}.script{font-family:'Great Vibes','Z003',cursive;font-size:1.26em;color:var(--purple);font-weight:400;letter-spacing:0}.intro{color:#747a94;font-size:16px;line-height:1.55;margin:0 0 23px}.center{text-align:center}.tagline{font:clamp(30px,6vw,41px)/1.2 'DM Serif Display',serif;letter-spacing:.14em;text-align:center;margin:4px 0 22px}.welcome h1{font-size:clamp(48px,11vw,76px);line-height:1.15;margin:0}.welcome-copy{text-align:center;line-height:1.62;font-size:18px;margin:0 auto 32px;max-width:430px}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0 28px}.trust>div{text-align:center;font-size:13px;line-height:1.45}.trust .bubble{display:grid;place-items:center;width:84px;height:84px;border:1px solid #e5dce6;border-radius:50%;background:#fff;margin:0 auto 9px}.card{display:flex;align-items:center;gap:17px;text-align:left;width:100%;border:1px solid var(--line);background:#fffefa;border-radius:13px;padding:16px 17px;margin:11px 0;color:var(--navy);box-shadow:0 3px 13px #48314e0b;min-height:85px;transition:background .15s,border .15s,transform .15s}.card:hover{border-color:#bba5c5}.card.selected{background:#f8f0f8;border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--purple)}.card strong{font-size:17px;font-weight:600}.card small{display:block;color:#747991;line-height:1.45;margin-top:5px;font-size:13px}.art{flex:0 0 65px;text-align:center;display:flex;align-items:center;justify-content:center}.icon-art{display:block;width:58px;height:58px;object-fit:contain}.card .copy{flex:1;min-width:0}.mark{width:26px;height:26px;border:2px solid #c9c4d0;border-radius:50%;flex-shrink:0;display:grid;place-items:center}.selected .mark{background:var(--purple);border-color:var(--purple);color:white}.selected .mark:after{content:'✓';font-weight:700}.check .mark{border-radius:6px}.room{display:flex;align-items:center;gap:13px;background:#fffefa;border:1px solid var(--line);border-radius:11px;padding:10px 12px;margin:10px 0;min-height:69px}.room .art{flex-basis:48px}.room .icon-art{width:44px;height:44px}.room .copy{flex:1;font-size:15px;font-weight:600}.counter{display:flex;align-items:center;gap:8px}.counter button{width:37px;height:37px;border:1px solid #d7ccda;background:#fff;color:var(--purple);font-size:23px;border-radius:50%;line-height:1}.counter button:last-child{background:var(--purple);border-color:var(--purple);color:#fff}.counter output{min-width:28px;text-align:center;font-weight:700;background:#f7f4f8;padding:8px 5px;border-radius:6px}.subhead{font-size:13px;letter-spacing:.08em;color:var(--purple);font-weight:700;margin:24px 0 12px;text-transform:uppercase}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:11px}.two-col .card{display:block;position:relative;margin:0;min-height:175px;padding:15px}.two-col .art{justify-content:flex-start;margin-bottom:6px}.two-col .mark{position:absolute;right:12px;top:12px}.two-col .card strong{font-size:15px}.two-col .card small{font-size:12px}.price-pill{display:inline-block;margin-top:7px;border-radius:30px;padding:4px 10px;background:#efe2f4;color:var(--purple);font-size:12px;font-weight:700}.actions{display:flex;gap:10px;margin-top:26px}.next{width:100%;border:0;border-radius:9px;padding:17px;background:linear-gradient(100deg,#765084,#855b96);color:white;font-size:18px;box-shadow:0 3px 8px #5e3c6a1b}.next:hover{background:#694078}.next:disabled{opacity:.65}.back{background:#fff9;border:1px solid #d6c9d9;color:var(--purple);border-radius:9px;padding:0 17px}.message{color:#a23650;font-size:14px;margin:12px 0}.field{display:block;margin:12px 0;color:var(--navy);font-weight:600;font-size:14px}.field input,.field textarea{display:block;width:100%;padding:17px;border:1px solid #dcd5e1;background:#fffefa;border-radius:10px;margin-top:7px;font-weight:400;min-height:58px}.field textarea{min-height:90px}.fields2{display:grid;grid-template-columns:1fr 1fr;gap:11px}.estimate{padding:19px;border-radius:13px;border:1px solid #cdb5d5;background:#f6eaf7;text-align:center;margin:12px 0}.estimate.green{background:#eaf1e7;border-color:#c9d8c4}.estimate small{font-weight:700;font-size:14px}.estimate strong{display:block;font:45px 'DM Serif Display',serif;margin:7px}.summary{border:1px solid var(--line);background:#fffefa;border-radius:12px;padding:20px;line-height:1.95;font-size:14px}.summary strong{font:23px 'DM Serif Display',serif}.note{background:#f5edf5;padding:16px;border-radius:10px;font-size:14px;line-height:1.6;color:#675771;margin-top:17px}.edit{border:1px solid #ae8bbd;color:var(--purple);background:#fff;border-radius:8px;padding:7px 10px;float:right}.done{text-align:center;padding:60px 0}.done .art{font-size:65px;margin:auto}.welcome .intro{margin-top:24px}.welcome .trust .icon-art{width:52px;height:52px}@media(min-width:760px){.shell{margin:28px auto;min-height:850px;border-radius:24px}.inner{padding-top:30px}}@media(max-width:420px){.inner{padding-left:22px;padding-right:22px}.logo{height:150px;width:80%}.botanical{width:110px;height:200px;opacity:.58}.botanical-tl,.botanical-tr{top:-36px}.card{gap:10px;padding:12px}.art{flex-basis:50px}.icon-art{width:48px;height:48px}.card strong{font-size:15px}.card small{font-size:12px}.fields2{grid-template-columns:1fr}.room .art{flex-basis:38px}.room .icon-art{width:38px;height:38px}.room{gap:7px}.room .copy{font-size:13px}.counter{gap:4px}.counter button{width:32px;height:32px}.counter output{min-width:22px}.two-col .card{min-height:175px}.trust .bubble{width:65px;height:65px}.trust>div{font-size:11px}.welcome-copy{font-size:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Final editorial refinement */
.shell{background:radial-gradient(ellipse at 50% 30%,#fffefa 0%,#fffaf5 72%,#f8f1eb 100%)}
.card{border-color:#e6d9e5;box-shadow:0 6px 22px #5038540d;background:linear-gradient(130deg,#fffefa,#fffaf8)}
.card.selected{background:linear-gradient(120deg,#f8eff8,#fef9fc)}
.art{flex-basis:105px}.icon-art{width:103px;height:86px;filter:drop-shadow(0 3px 3px #6153681b)}
.room .art{flex-basis:73px}.room .icon-art{width:72px;height:65px}
.two-col .art{min-height:96px}.two-col .icon-art{width:100%;height:96px}
.summary h2{font-size:26px;margin:0 0 18px}.detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:15px;border-bottom:1px solid #eee5ed;padding:9px 0;line-height:1.45}.detail-row span{color:#5c5970;flex:1}.detail-row strong{font:600 14px 'DM Sans',sans-serif;text-align:right;max-width:60%;overflow-wrap:anywhere}.summary hr{border:0;border-top:1px solid #d8c6db;margin:13px 0}
@media(max-width:420px){.art{flex-basis:77px}.icon-art{width:78px;height:70px}.room .art{flex-basis:54px}.room .icon-art{width:54px;height:50px}.two-col .art{min-height:85px}.two-col .icon-art{height:85px}.detail-row{font-size:12px}.detail-row strong{font-size:12px}}

/* Phase 1 accessibility improvements */
.skip-link{position:absolute;left:12px;top:-100px;z-index:100;background:#fff;color:#332247;border:3px solid #79538e;border-radius:8px;padding:12px 16px;font-weight:700}.skip-link:focus{top:12px}#content h1:focus{outline:none}#content h1:focus-visible{outline:3px solid #b18bc3;outline-offset:5px}.progress[role="progressbar"]{position:relative}

/* Phase 3: individual illustration presentation and responsive layout hardening */
.welcome-scene{position:relative;isolation:isolate;width:min(100%,420px);height:225px;margin:-12px auto 12px;display:grid;place-items:center;overflow:visible}
.welcome-scene-halo{position:absolute;z-index:-1;inset:15px 24px 5px;border-radius:50%;background:radial-gradient(ellipse,#e6e6d7a6 0%,#e9dff2a3 38%,#fffaf500 75%);filter:blur(14px)}
.welcome-house{display:block;max-width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 11px #6e5c5c23)}
.card .icon-art,.room .icon-art{max-width:100%;object-fit:contain}
.card,.room,.two-col .card{min-width:0}
.card .copy,.room .copy{overflow-wrap:anywhere}
.counter button{min-width:44px;min-height:44px;display:grid;place-items:center;touch-action:manipulation}
.card{touch-action:manipulation}
@media(max-width:420px){.welcome-scene{height:175px;margin:-4px auto 8px}.inner{padding-left:clamp(14px,4.5vw,22px);padding-right:clamp(14px,4.5vw,22px)}.counter button{width:44px;height:44px}.counter output{min-width:22px}.room{padding:10px 8px;gap:5px}.room .art{flex-basis:44px}.room .icon-art{width:44px;height:45px}.two-col{gap:8px}.two-col .card{padding:12px 9px}}
@media(min-width:760px){.shell{max-width:850px}.inner{max-width:640px}.welcome-scene{height:260px}}
@media(prefers-reduced-motion:reduce){.card{transition:none}}

/* Phase 3 individual transparent watercolor illustrations */
.icon-art,.welcome-house{image-rendering:auto;object-fit:contain}
.card:focus-visible{outline:3px solid #9165a4;outline-offset:3px}
@media(max-width:390px){.two-col .card{min-height:180px}.two-col .card strong{font-size:14px}.two-col .icon-art{height:76px}.card{gap:8px}.card .copy{min-width:0}.actions{position:relative}}
@media(min-width:760px){.welcome-scene{height:275px}.card{padding:19px}.two-col .card{min-height:190px}}

/* Phase 3 visual-polish: shared art and card rhythm */
.botanical{opacity:.56;filter:saturate(.78);width:125px;height:220px}
.card{align-items:center;gap:15px}
.card .art{flex:0 0 72px;min-width:0}
.card .icon-art{width:68px;height:62px;object-fit:contain}
.card .copy{min-width:0}
.card small{font-size:13px;line-height:1.5}
.two-col{align-items:stretch}
.two-col .card{display:flex;flex-direction:column;align-items:stretch;min-height:214px;padding:15px 13px 13px;gap:5px}
.two-col .card .art{flex:0 0 79px;height:79px;align-self:center;justify-content:center;margin:0}
.two-col .card .icon-art{width:102px;height:78px}
.two-col .card .copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;width:100%}
.two-col .card strong{font-size:14px;line-height:1.35;padding-right:12px}
.two-col .card small{font-size:12px;line-height:1.45}
.two-col .price-pill{margin-top:auto;align-self:flex-start}
.two-col .card .mark{top:10px;right:10px}
.room .art{flex:0 0 54px}.room .icon-art{width:52px;height:52px}
@media(max-width:420px){.botanical{width:105px;height:190px;opacity:.56}.card .art{flex-basis:52px}.card .icon-art{width:52px;height:52px}.two-col .card{min-height:228px;padding:12px 10px}.two-col .card .art{flex-basis:75px;height:75px}.two-col .card .icon-art{width:90px;height:74px}.two-col .card strong{font-size:13px}.two-col .card small{font-size:12px}.room .art{flex-basis:40px}.room .icon-art{width:40px;height:40px}}
/* Consistent final-pass spacing and decorative treatment */
.botanical{opacity:.46;filter:saturate(.75) contrast(.96)}
.card .art,.room .art{align-self:center;overflow:visible}
.card .icon-art,.room .icon-art{object-position:center;filter:drop-shadow(0 2px 3px rgba(77,65,71,.10))}
.two-col .card{justify-content:flex-start}
.two-col .card .copy{align-items:flex-start;justify-content:flex-start}
.two-col .card strong{min-height:2.6em}
.two-col .card .price-pill{line-height:1.4}
.field input,.field textarea{line-height:1.45}
@media(max-width:420px){.botanical{opacity:.38}.two-col .card{min-height:224px}.two-col .card .art{flex-shrink:0}}

/* October 20 verified-release presentation. Pricing and flow are unchanged. */
:root{--muted:#635e73;--navy:#29233c}
body{line-height:1.5}.shell{background:#fffcf8}.inner{padding-bottom:36px}
.logo{width:270px;max-width:85%;height:142px;margin:0 auto 10px}
.botanical{background-image:url('assets/botanical-watercolor.webp');width:140px;height:140px;opacity:.28;filter:none}
.botanical-tl{top:0;left:-90px;transform:scaleY(-1)}.botanical-tr{top:0;right:-90px;transform:rotate(180deg)}.botanical-bl{bottom:0;left:-90px;transform:none}.botanical-br{bottom:0;right:-90px;transform:scaleX(-1)}
h1{font-size:42px;line-height:1.2;margin:0 0 14px}h2{line-height:1.25}.script{font-size:1.2em}.intro{color:var(--muted);line-height:1.6}.step-indicator{color:var(--purple);margin:8px 0 26px}.progress i{height:6px}
.welcome h1{font-size:64px;line-height:1.2}.tagline{font-size:34px;line-height:1.25;letter-spacing:.12em}.welcome-copy{font-size:17px;margin-bottom:20px}.welcome-scene{height:260px;margin:0 auto 18px}.welcome .intro{font-size:14px;margin:0}.trust{margin:18px 0 22px}.trust>div{font-size:13px}.trust .bubble{width:76px;height:76px}.welcome .trust .icon-art{width:60px;height:60px}
.card,.room,.estimate,.summary{border-radius:14px}.card{min-height:104px;padding:16px;gap:16px;margin:12px 0;box-shadow:0 4px 14px #48314e08;background:#fffefa}.card.selected{background:#f6eef8}.card .art{flex-basis:78px}.card .icon-art{width:76px;height:76px;filter:none}.card strong{font-size:17px;line-height:1.4}.card small{color:var(--muted);font-size:14px;line-height:1.5}.mark{border-color:#b9b0c0}
.room{min-height:78px;padding:12px;gap:10px}.room .copy{font-size:15px;line-height:1.4}.room .art{flex-basis:52px}.room .icon-art{width:52px;height:52px;filter:none}.counter button{width:44px;height:44px}.counter output{min-width:24px}
.two-col{gap:12px}.two-col .card{min-height:218px;padding:16px 14px 14px;gap:10px}.two-col .card .art{flex-basis:88px;height:88px;min-height:0}.two-col .card .icon-art{width:104px;height:88px}.two-col .card .copy{gap:10px}.two-col .card strong{font-size:15px;line-height:1.4;min-height:2.8em;padding-right:0}.two-col .mark{width:22px;height:22px}.price-pill{padding:5px 10px;font-size:12px;line-height:1.4;color:#68427b;background:#eee1f3}
.actions{gap:12px}.next{background:var(--purple);min-height:54px;font-size:17px;font-weight:600;border-radius:11px}.back{min-height:54px;white-space:nowrap;border-radius:11px}.field{margin:16px 0}.field input,.field textarea{font-size:16px;line-height:1.5;min-height:56px;padding:15px;border-color:#cfc4d5}.field textarea{min-height:110px}.message:empty{display:none}.note{display:flow-root;color:#61516c;line-height:1.65}.edit{min-height:44px}.summary .edit{float:none;display:block;margin:0 0 18px auto}.summary h2{line-height:1.3}.detail-row{padding:10px 0;line-height:1.5}.detail-row strong{line-height:1.5}.estimate strong{font-size:44px;line-height:1.2}.estimate span,.estimate p{font-size:14px;line-height:1.5}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #79538e;outline-offset:4px}
@media(min-width:760px){.logo{height:155px}.botanical-tl,.botanical-bl{left:-55px}.botanical-tr,.botanical-br{right:-55px}}
@media(max-width:420px){.inner{padding:14px 20px 30px}.logo{height:125px;width:250px;margin-bottom:6px}h1{font-size:34px}.intro{font-size:15px}.welcome h1{font-size:48px}.tagline{font-size:29px;letter-spacing:.1em}.welcome-copy{font-size:16px}.welcome-scene{height:220px}.trust{gap:8px}.trust>div{font-size:12px}.trust .bubble{width:68px;height:68px}.welcome .trust .icon-art{width:54px;height:54px}.card{gap:10px;padding:13px 12px;min-height:96px}.card .art{flex-basis:58px}.card .icon-art{width:58px;height:64px}.card strong{font-size:15px}.card small{font-size:13px}.room{padding:10px 8px;gap:7px}.room .art{flex-basis:36px}.room .icon-art{width:36px;height:42px}.room .copy{font-size:14px}.counter{gap:4px}.counter output{min-width:20px}.two-col{gap:10px}.two-col .card{min-height:218px;padding:14px 10px 12px}.two-col .card .art{flex-basis:80px;height:80px}.two-col .card .icon-art{width:94px;height:80px}.two-col .card strong{font-size:14px}.price-pill{padding:5px 8px}.detail-row,.detail-row strong{font-size:13px}.summary{padding:16px}.estimate strong{font-size:40px}.botanical{width:140px;height:140px;opacity:.28}.fields2{gap:0}}

/* Botanical refinement: retain subtle decoration with clearer detail. */
.shell .botanical{opacity:.36}
/* V4: constrain the hero image to its scene; grid intrinsic sizing otherwise overlaps trust icons. */
.welcome-house{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}

/* Approved October 23 logo retains its native 3:2 aspect ratio. */
.logo{width:270px;max-width:85%;height:auto;aspect-ratio:3/2;margin:0 auto 14px;mix-blend-mode:normal}
@media(max-width:420px){.logo{width:240px;height:auto;margin-bottom:12px}}

/* Image review: compensate for transparent margins without cropping artwork. */
.icon-art{transform:scale(var(--art-scale,1));transform-origin:center}
.icon-art[src="assets/house-0.webp"],.icon-art[src="assets/house-2.webp"],.icon-art[src="assets/house-4.webp"],.icon-art[src="assets/house-5.webp"],.icon-art[src="assets/kitchen.webp"],.icon-art[src="assets/sofa.webp"],.icon-art[src="assets/well.webp"],.icon-art[src="assets/condition.webp"]{--art-scale:1.2}
.icon-art[src="assets/clipboard.webp"],.icon-art[src="assets/standard.webp"],.icon-art[src="assets/fan.webp"]{--art-scale:1.15}
.room .copy{min-width:0;overflow-wrap:break-word}
.room .counter{flex-shrink:0}
@media(max-width:420px){
  .card:not(.two-col .card) .art{flex-basis:68px}
  .card:not(.two-col .card) .icon-art{width:68px;height:68px}
  .room .art{flex-basis:48px}
  .room .icon-art{width:48px;height:48px}
}
