:root{--paper:#fcfaf7;--ink:#151815;--muted:#626b70;--line:#e6e0d9;--green:#315b47;--sage:#e5eee6;--soft:#efebe5;--serif:Georgia,'Times New Roman',serif;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#e9e5df;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6b927e;outline-offset:4px}button{touch-action:manipulation}img{display:block;max-width:100%}[hidden]{display:none!important}.quiz{max-width:470px;min-height:100vh;margin:0 auto;background:var(--paper);box-shadow:0 0 45px #302a2210}.content{padding:0 18px 22px}.brand{display:flex;align-items:center;gap:13px;padding:14px 23px 16px;font-size:12px;letter-spacing:2px}.brand img{width:29px;height:31px;mix-blend-mode:multiply}.nav{display:flex;align-items:center;justify-content:space-between;color:var(--muted);padding:0 3px;margin:0 0 10px;font-size:14px}.back{display:flex;align-items:center;gap:12px;border:0;padding:10px 3px;background:none;min-height:44px;color:var(--muted)}.back img{width:10px;transform:rotate(180deg);mix-blend-mode:multiply}.progress{height:4px;border-radius:4px;overflow:hidden;background:#eae7e3;margin:0 4px 16px}.progress-fill{height:100%;background:#9ab8a3;border-radius:4px}.intro{text-align:center;margin:0 0 19px}.badge{display:inline-block;padding:5px 12px;border-radius:30px;background:var(--sage);font-size:13px;margin:0 0 12px}.context{font-size:14px;color:var(--muted);margin:-5px 0 11px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-1px}h1{font-size:35px;line-height:1.04;margin:0 0 12px}h2{font-size:24px;line-height:1.1}h3{font-size:22px;line-height:1.13}.intro>p:last-child{font-size:15px;line-height:1.35;color:var(--muted)}.cards{display:grid;gap:7px}.photo-card{width:100%;display:grid;grid-template-columns:42% 1fr 34px;align-items:center;gap:14px;padding:5px 10px 5px 5px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left;min-height:92px}.photo-card>.card-image{width:100%;height:99px;object-fit:cover;border-radius:6px}.photo-card .card-copy{min-width:0;padding:5px 0}.photo-card h2{font-size:23px;line-height:1.1;margin-bottom:6px;letter-spacing:-.85px}.photo-card p{font-size:14px;line-height:1.23;color:var(--muted)}.arrow{width:33px;height:33px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ece7df;border-radius:50%}.arrow img{width:10px;height:16px;mix-blend-mode:multiply}.photo-card:hover{border-color:#a6b7a7;background:#fafcf9}.photo-card[aria-pressed=true]{border:2px solid var(--green);background:#edf4ee;padding:4px 9px 4px 4px}.photo-card.unknown-card{grid-template-columns:59px 1fr 34px;min-height:62px;padding:8px 10px}.unknown-card>.card-image{width:38px;height:38px;margin:auto;object-fit:contain;mix-blend-mode:multiply}.unknown-card h2{font-size:22px;margin:0}.layout-cards .card-image{height:139px;object-fit:contain}.scope-cards .card-image{height:118px}.helper{display:flex;align-items:center;gap:17px;background:var(--sage);padding:11px 13px;border-radius:11px;margin-top:14px}.helper img{width:76px;height:76px;object-fit:cover;border-radius:50%;flex-shrink:0}.helper p{font-size:15px;line-height:1.32}.footnote{color:#848781;font-size:12px;line-height:1.4;text-align:center;margin:9px 0 0}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 12px;margin-bottom:10px;min-width:0}.panel h2{margin-bottom:11px}.panel .hint{font-size:14px;color:var(--muted);line-height:1.4;margin-top:8px}.panel-heading{display:flex;align-items:center;gap:13px;margin:0 0 10px}.panel-heading h2{margin:0}.panel-heading img{width:37px;height:39px;object-fit:contain;mix-blend-mode:multiply}.choices{display:grid;gap:6px}.choice{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:8px;min-height:42px;padding:10px 12px;font-size:15px;line-height:1.25;cursor:pointer;background:#fff}.choice:has(input:checked){background:#edf3ee;border-color:#85aa91}.choice input{width:21px;height:21px;flex-shrink:0;margin:0;accent-color:var(--green)}.choice:has(input:focus-visible){outline:3px solid #6b927e;outline-offset:2px}.choice input:focus-visible{outline:none}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips .choice{position:relative;display:flex;justify-content:center;border:0;border-radius:30px;background:#f0f0ed;padding:9px 14px;min-height:36px;font-size:14px}.chips .choice input,.tiles .choice input{position:absolute;opacity:0;width:1px;height:1px}.chips .choice:has(input:checked){background:#bcd4b6;color:#142219;box-shadow:inset 0 0 0 1px #8daf8b}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tiles .choice{position:relative;justify-content:center;padding:9px 6px;text-align:center;min-height:41px}.tiles .choice:has(input:checked){background:#73917b;color:white;border-color:#73917b}.room-count{grid-template-columns:repeat(3,minmax(0,1fr))}.area-label{display:block;font-family:var(--serif);font-size:24px;margin:0 0 10px;letter-spacing:-.6px}.area-input{display:flex;border:1px solid #cfcfcb;border-radius:8px;background:white;align-items:center;overflow:hidden}.area-input input{border:0;border-radius:8px;width:100%;min-width:0;padding:9px 14px;font-family:var(--serif);font-size:39px;background:transparent;outline-offset:-4px}.area-input span{padding:7px 14px;border-left:1px solid #d6d5ce;color:#4e5d65;font-size:22px}.area-input:has(input:disabled){background:#f2f1ee}.area-input input:disabled{color:#7e837d}.check-inline{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-top:10px;cursor:pointer}.check-inline input{accent-color:var(--green);width:17px;height:17px}.text-field,textarea,select{display:block;width:100%;min-height:44px;border:1px solid #cfd3d0;background:#fff;border-radius:7px;padding:10px;color:var(--ink);margin-top:8px}textarea{resize:vertical;min-height:100px;line-height:1.5}.upload-grid{display:grid;grid-template-columns:36% 1fr;gap:12px;align-items:center}.upload-grid>img{border-radius:5px;width:100%}.upload-button{position:relative;display:flex;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:12px 8px;border-radius:10px;background:var(--soft);font-size:15px;cursor:pointer}.upload-button img{width:19px;height:24px;object-fit:contain;mix-blend-mode:multiply}.upload-button input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer}.upload-button:has(input:focus-visible){outline:3px solid #6b927e;outline-offset:3px}.upload-caption{font-size:11px;color:var(--muted);line-height:1.4;margin:8px 0;text-align:center}.file-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:13px}.filename{overflow-wrap:anywhere}.text-button{border:0;background:none;color:var(--green);text-decoration:underline;text-underline-offset:3px;padding:8px 3px;min-height:40px;font-size:13px}.continue{display:flex;justify-content:center;align-items:center;position:relative;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:12px;min-height:54px;width:100%;padding:12px 35px;margin-top:15px;font:500 25px/1.2 var(--serif);letter-spacing:-.6px}.continue:hover{background:#264b3a}.continue .arrow{position:absolute;right:14px;background:transparent;width:23px}.continue .arrow img{filter:invert(1);mix-blend-mode:screen}.error{border-left:3px solid #b48848;color:#745223;background:#f8efe1;padding:12px;line-height:1.45;font-size:14px;border-radius:4px;margin:12px 0}.photo-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-option{position:relative;border:1px solid var(--line);border-radius:8px;overflow:hidden;cursor:pointer;font-size:13px;text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1.25;background:#fff}.photo-option img{width:100%;height:79px;object-fit:cover}.photo-option input{position:absolute;right:6px;top:6px;width:21px;height:21px;accent-color:var(--green);margin:0}.photo-option span{padding:7px;min-height:32px}.photo-option:has(input:checked){outline:2px solid var(--green);outline-offset:-1px;background:#edf3ee}.photo-option:has(input:focus-visible){outline:3px solid #6b927e;outline-offset:3px}.photo-option.unknown-photo img{object-fit:contain;padding:17px;background:#f0efeb}.finish-panel{display:grid;grid-template-columns:36% 1fr;gap:16px;align-items:center;padding:11px 10px}.finish-panel>img{width:100%;height:132px;object-fit:cover;border-radius:8px}.finish-panel h2{font-size:22px}.finish-panel .chips{gap:5px}.finish-panel .choice{font-size:13px;padding:8px 11px}.hero{position:relative;isolation:isolate;padding:0 25px 22px;min-height:338px;color:#fff;background:#29251b url('../assets/hero.png') center/cover no-repeat}.hero .brand{padding:19px 0 30px;font-size:10px;letter-spacing:1.8px}.hero .brand img{filter:invert(1);mix-blend-mode:screen;width:26px;height:28px}.hero h1{font-size:34px;line-height:.99;max-width:310px;margin-bottom:16px;letter-spacing:-.9px;text-shadow:0 2px 7px #0004}.hero>.hero-description{font-size:15px;line-height:1.23;max-width:227px;text-shadow:0 1px 4px #0008}.hero-helper{display:flex;align-items:center;gap:10px;margin-top:19px;font-size:13px;line-height:1.25}.hero-helper img{width:59px;height:59px;border-radius:50%}.hero-helper p{max-width:126px}.start .content{padding:15px 14px 12px}.time{font-size:13px;color:var(--muted);margin:0 10px 16px}.time strong{font-weight:400;color:var(--ink);margin-left:12px;padding-left:12px;border-left:1px solid #797d77}.start .intro{margin-bottom:12px}.start h1{font-size:30px;letter-spacing:-1px;margin-bottom:6px}.start .intro>p:last-child{font-size:13px}.start .photo-card{grid-template-columns:42% 1fr 32px;gap:14px}.start .photo-card h2{font-size:21px}.start .photo-card p{font-size:13px}.start .photo-card .card-image{height:97px}.benefits{background:#e2ebe0;border-radius:9px;margin-top:13px;overflow:hidden}.benefit-hero{position:relative;min-height:216px;padding:21px 15px 0;overflow:hidden}.benefit-hero h2{font-size:29px;max-width:295px;position:relative;z-index:1;line-height:1.02}.benefit-hero p{font-size:14px;line-height:1.25;max-width:186px;margin-top:13px;position:relative;z-index:1}.benefit-hero>img{position:absolute;width:59%;right:0;bottom:0;mix-blend-mode:multiply}.benefit-list{padding:3px 16px 0}.benefit-item{display:grid;grid-template-columns:25px 33px 1fr;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #bfc9bc;font-size:14px}.benefit-item:last-child{border:0}.benefit-item img{max-width:25px;max-height:29px;object-fit:contain;mix-blend-mode:multiply}.benefit-item strong{font-size:14px}.benefit-item p{font-size:11px;color:#646e65;line-height:1.35;margin-top:3px}.messenger-strip{background:#fff;border-radius:8px;padding:9px;margin:3px 12px 10px;text-align:center}.messenger-buttons{display:flex;justify-content:center;gap:14px;align-items:center}.messenger-small{display:flex;align-items:center;gap:7px;border:0;background:transparent;font-weight:600;font-size:13px;padding:3px 6px;min-height:40px}.messenger-small img{width:28px;height:28px}.messenger-strip p{font-size:11px;color:var(--muted);margin-top:5px}.review-intro .eyebrow{font:26px var(--serif);color:var(--ink)!important;margin:3px 0 13px}.review-intro h1{font-size:39px}.review-card{padding:10px}.review-cover{display:flex;align-items:center;gap:15px;margin-bottom:10px}.review-cover img{width:44%;height:103px;object-fit:cover;border-radius:7px}.review-cover h2{font-size:25px;margin-bottom:8px}.review-cover p{color:var(--muted);font-size:14px;line-height:1.4}.summary{margin:0}.summary-row{display:grid;grid-template-columns:37% minmax(0,1fr) 28px;align-items:center;gap:8px;padding:7px 2px;border-bottom:1px solid #e9e9e5;font-size:13px;line-height:1.35}.summary-row:last-child{border:0}.summary-row dt{color:var(--muted)}.summary-row dd{margin:0;overflow-wrap:anywhere}.edit{border:0;background:none;padding:9px 4px;min-height:36px;width:28px}.edit img{width:15px;mix-blend-mode:multiply}.summary-note{padding:16px;display:flex;gap:15px;align-items:center;background:var(--sage);border-radius:11px;margin-top:11px}.summary-note>img{width:34px;mix-blend-mode:multiply}.summary-note h2{font-size:22px;margin-bottom:6px}.summary-note p{font-size:14px;line-height:1.4;color:var(--muted)}.review-actions{text-align:center}.secondary{background:transparent;border:1px solid #aebfaf;border-radius:9px;width:100%;padding:12px;min-height:45px;color:var(--green);margin-top:10px}.messenger-image{width:calc(100% + 36px);max-width:none;margin:8px -18px 0}.messenger-card{grid-template-columns:60px 1fr 33px;margin:8px 0;padding:8px 12px}.messenger-card>.card-image{width:52px;height:52px;object-fit:contain}.messenger-card h2{font-size:24px}.notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 28px));background:#223e31;color:#fff;padding:16px 18px;border-radius:10px;z-index:20;box-shadow:0 5px 30px #0003;font-size:14px;line-height:1.5}.demo-footer{border-top:1px solid var(--line);padding-top:13px;margin-top:17px;color:#777e78;text-align:center;font-size:11px;line-height:1.45}.editing-note{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#edf2e9;padding:8px 10px;border-radius:7px;font-size:12px;margin-bottom:14px}.room-detail h2{margin-bottom:14px}.room-detail label.field-label{display:block;font-size:14px;margin-top:14px}.reset-box{background:var(--sage);padding:14px;border-radius:10px;margin-top:12px;text-align:left;font-size:14px;line-height:1.4}.reset-box .secondary{background:white}.step-count{font-size:12px}.no-js{padding:20px}
@media(max-width:380px){.content{padding-left:14px;padding-right:14px}h1{font-size:31px}.photo-card{gap:10px;grid-template-columns:39% 1fr 28px}.photo-card h2{font-size:20px}.photo-card p{font-size:12px}.arrow{width:28px;height:28px}.start .photo-card{gap:10px;grid-template-columns:40% 1fr 28px}.start .photo-card h2{font-size:19px}.start .photo-card p{font-size:12px}.hero{padding-left:21px;min-height:315px}.hero h1{font-size:30px;max-width:265px}.hero .brand{padding-bottom:23px}.hero>.hero-description{font-size:14px;max-width:205px}.hero-helper{margin-top:15px}.hero-helper img{width:50px;height:50px}.finish-panel{grid-template-columns:30% 1fr;gap:10px}.finish-panel .choice{font-size:12px;padding:8px}.benefit-hero h2{font-size:26px}.benefit-hero p{max-width:160px;font-size:13px}.helper{gap:12px}.helper img{width:64px;height:64px}.helper p{font-size:14px}.summary-row{font-size:12px}.panel h2{font-size:22px}.messenger-image{width:calc(100% + 28px);margin-left:-14px;margin-right:-14px}.nav{font-size:13px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,border-color .15s}.progress-fill{transition:width .2s}}
.hero{background-image:url('../assets/hero.jpg')}
.consent-box{border:1px solid var(--line);border-radius:11px;background:#fff;padding:14px;margin:12px 0}.consent-label{display:flex;align-items:flex-start;gap:10px;line-height:1.38;font-size:14px;cursor:pointer}.consent-label input{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:var(--green)}.consent-box p{color:var(--muted);font-size:12px;line-height:1.4;margin:10px 0 0}.consent-box a{color:var(--green)}.messenger-card:disabled{cursor:not-allowed;opacity:.55}.messenger-card:disabled:hover{border-color:var(--line);background:#fff}
/* First-screen proportions follow the 802 px reference at half scale. */
.hero{min-height:0;aspect-ratio:802/577;padding-bottom:19px}
.hero .brand{padding-top:18px;padding-bottom:28px}
.hero h1{font-size:30px;max-width:290px;margin-bottom:14px}
.hero>.hero-description{font-size:13px;max-width:208px}
.hero-helper{margin-top:17px;font-size:12px}
.hero-helper img{width:52px;height:52px}
.start .photo-card{grid-template-columns:42% 1fr;position:relative;gap:13px;padding-right:9px}
.start .photo-card h2{font-size:19px;letter-spacing:-.75px}
.start .photo-card p{padding-right:30px}
.start .photo-card>.arrow{position:absolute;right:9px;top:50%;transform:translateY(-50%)}
.benefit-hero>img{width:55%;mix-blend-mode:normal}
.benefit-hero h2{font-size:27px}
.benefit-hero p{max-width:49%;font-size:13px}
@media(min-width:430px){.hero h1{font-size:34px;max-width:325px}.hero>.hero-description{font-size:15px;max-width:242px}.hero-helper{margin-top:21px}.hero-helper img{width:59px;height:59px}.hero{min-height:338px}}
@media(max-width:380px){.hero h1{font-size:28px}.hero .brand{padding-bottom:22px}.hero>.hero-description{font-size:12px;max-width:195px}.hero-helper{margin-top:15px;font-size:11px}.hero-helper img{width:47px;height:47px}.start .photo-card h2{font-size:18px}.start .photo-card p{font-size:12px;padding-right:23px}.benefit-hero h2{font-size:25px}}
/* Give card titles the same generous line width as the reference. */
.photo-card{position:relative;grid-template-columns:42% 1fr;padding-right:10px}
.photo-card>.arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%)}
.photo-card h2{font-size:clamp(19px,4.4vw,22px)}
.photo-card p{padding-right:35px}
.photo-card.unknown-card{grid-template-columns:59px 1fr;padding-right:49px}
.photo-card.unknown-card h2{font-size:21px}
.photo-card.messenger-card{grid-template-columns:60px 1fr;padding-right:45px}
.photo-card.messenger-card h2{font-size:24px}
h1{font-size:clamp(31px,7.8vw,35px)}
.helper img{width:70px;height:70px}
@media(max-width:380px){.photo-card{grid-template-columns:39% 1fr}.photo-card p{padding-right:29px}.photo-card.unknown-card h2{font-size:19px}.photo-card.messenger-card h2{font-size:21px}}
/* Final density pass against the normalized mobile reference. */
h1:focus{outline:none}
.brand{padding:10px 22px 8px}.brand img{width:26px;height:27px}
.nav{margin-bottom:7px}.back{min-height:30px;padding:4px 3px}
.progress{margin-bottom:13px}
.badge{font-size:12px;padding:4px 12px;margin-bottom:10px}
h1{font-size:clamp(28px,7.04vw,33px)}
.intro{margin-bottom:16px}.intro>p:last-child{font-size:14px;line-height:1.3}
.photo-card{min-height:88px}.photo-card>.card-image{height:clamp(78px,19.5vw,92px)}
.layout-cards .card-image{height:125px}.scope-cards .card-image{height:102px}
.photo-card.unknown-card>.card-image{width:38px;height:38px}
.photo-card.messenger-card>.card-image{width:52px;height:52px}
.helper img{width:62px;height:62px}.helper p{font-size:14px}
.hero-helper p{text-shadow:0 1px 4px #000,0 1px 8px #0008}
.start h1{font-size:28px}.start .hero h1{font-size:30px}
.start .intro>p:last-child{font-size:12px}.start .time{margin-bottom:12px}
.start .photo-card .card-image{height:84px}.start .photo-card p{font-size:12px}
.benefit-hero{min-height:201px}.benefit-hero h2{font-size:26px}
.benefit-item{padding:7px 0}.benefit-item strong{font-size:13px}.benefit-item p{font-size:10.5px}
@media(min-width:430px){.start .hero h1{font-size:34px}.start .photo-card .card-image{height:97px}.start .photo-card p{font-size:13px}.benefit-hero{min-height:225px}}
@media(max-width:380px){.start .hero h1{font-size:28px}.start h1{font-size:26px}.photo-card p{font-size:12px}}
.hero{min-height:300px;aspect-ratio:auto;padding-bottom:15px}
.hero .brand{padding-top:18px;padding-bottom:16px}
.start .hero h1{font-size:29px;margin-bottom:12px}
.hero>.hero-description{font-size:12px;max-width:205px}
.hero-helper{margin-top:15px}
.intro>p:last-child{font-size:13px}.photo-card p{font-size:13px}.helper p{font-size:13px}
.photo-card.unknown-card{min-height:54px}.photo-card.unknown-card h2{font-size:18px}
@media(min-width:430px){.hero{min-height:350px}.start .hero h1{font-size:34px}.hero>.hero-description{font-size:15px;max-width:242px}.hero .brand{padding-bottom:26px}.hero-helper{margin-top:21px}}
@media(max-width:380px){.start .hero h1{font-size:28px}.photo-card p{font-size:12px}.hero>.hero-description{font-size:12px}}
.benefit-hero>img{inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.benefit-hero h2{font-size:23px;max-width:80%}
.benefit-hero p{max-width:47%;font-size:12px}
@media(min-width:430px){.benefit-hero h2{font-size:27px}.benefit-hero p{font-size:14px}}
@media(max-width:380px){.benefit-hero h2{font-size:21px}.benefit-hero p{font-size:11px}}
@media(max-width:380px){.benefit-hero{min-height:250px}.benefit-hero>img{top:auto;bottom:0;height:158px;object-fit:cover}.benefit-hero h2{max-width:100%}.benefit-hero p{max-width:49%}}
.summary-row{padding:2px;font-size:13px}
.edit{min-height:30px;padding:6px 4px}
.review-intro h1{font-size:36px}
.project-cards .photo-card{grid-template-columns:34% minmax(0,1fr)}
.project-cards .card-copy{padding-right:32px}
.project-cards .photo-card p{padding-right:0}
