:root{--ink:#101d2a;--muted:#52616d;--line:#dfe4e8;--green:#101d2a;--cream:#f4f6f8;--gold:#a8752c;--olive-dark:#101d2a}
body{font:400 18px/1.6 'DM Sans',Arial,sans-serif;background:#f4f6f8;color:var(--ink)}
button,input,select,textarea{font-family:inherit;font-size:16px}button,a,input,select,textarea{touch-action:manipulation}button{min-height:48px}button:disabled{cursor:not-allowed}a{text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.product img:focus-visible{outline:3px solid #ac7948;outline-offset:4px}#chatForm:focus-within{outline:3px solid #ac7948;outline-offset:3px}
.skip-link{position:absolute;top:-100px;left:16px;z-index:100;background:#fff;padding:12px 20px}.skip-link:focus{top:12px}
header{height:auto;min-height:96px;padding:14px max(24px,calc((100% - 1200px)/2));border-top:6px solid var(--green);border-bottom:1px solid var(--line);background:#fff;gap:20px}.brand{min-width:0;gap:22px}.brand img{width:180px;max-height:64px}.brand span{font-size:17px;color:var(--olive-dark)}.brand b{color:var(--olive-dark);font-weight:700}.header-right{font-size:17px;gap:20px;flex-wrap:wrap}.header-right a{font-weight:700;color:var(--olive-dark);padding:10px 0}.review{font-size:14px;background:var(--cream);border:0;border-radius:4px;color:var(--muted);padding:5px 10px}.quiet{font-size:16px;padding:10px 8px;color:var(--olive-dark);text-decoration:underline}
main{max-width:1256px;padding:32px 28px 20px}.intro{margin-bottom:28px;gap:40px}.eyebrow{font-size:13px;letter-spacing:1.2px;color:var(--olive-dark)}h1{font:700 42px/1.16 'DM Sans',Arial,sans-serif;letter-spacing:-.8px;margin:12px 0 16px}h1 em{font-style:normal;color:var(--green);font-weight:700}.intro p{font-size:18px;line-height:1.6;max-width:620px;color:var(--muted)}.intro-note{padding-right:24px}.small-mark{font:700 30px 'DM Sans';color:var(--green);border-color:var(--green)}.intro-note p{font-size:16px}.layout{grid-template-columns:minmax(0,1fr) 370px;gap:28px}.planner,aside,.line>div,.modal-head>div{min-width:0}
.plan-tools{gap:10px;margin-bottom:8px}.plan-tools button{font-size:16px;padding:10px 16px;background:#fff;border-color:#a4aa98;color:var(--olive-dark)}.save-status{font-size:14px;color:var(--muted);margin-bottom:20px}#progress{gap:8px;margin-bottom:20px;border:0;overflow:visible}.phase{flex:1;white-space:normal;font-size:14px;line-height:1.35;color:var(--muted);padding:10px 2px;border-top:4px solid #dfe4e8}.phase.active{font-weight:900;color:var(--olive-dark);border-bottom:0;border-top-color:var(--green)}.phase.done{border-top-color:#c9955d;color:var(--olive-dark)}
.conversation,.estimate{border:1px solid #dfe4e8;border-radius:12px;box-shadow:0 4px 16px #101d2a08}.assistant-header{background:var(--green);color:#fff;padding:18px 24px;border:0;gap:13px}.avatar{background:#fff;color:var(--green);font:900 24px 'DM Sans';flex-shrink:0;width:44px;height:44px;border-radius:50%}.assistant-header b{font-size:21px}.assistant-header div>span{font-size:15px;color:#fff}.availability{font-size:14px;color:#fff}.availability:before{display:none}#messages{padding:24px;min-height:120px;max-height:360px;scrollbar-gutter:stable;scroll-behavior:auto}.bubble{background:#f4f6f8;color:var(--ink);font-size:18px;line-height:1.65;max-width:100%;padding:16px 18px;border-radius:0 10px 10px 10px}.bubble.user{background:var(--olive-dark);color:#fff;max-width:90%}.bubble small{color:var(--muted)}.bubble:last-child{margin-bottom:0}.choice-area{padding:0 24px 22px}#questionLabel{font:700 23px/1.35 'DM Sans',Arial,sans-serif;color:var(--olive-dark);letter-spacing:-.25px;margin:0 0 16px}#choices{grid-template-columns:1fr;gap:12px}.choice{display:block;min-width:0;border:1.5px solid #bcc8d2;border-radius:8px;padding:17px 20px;min-height:64px;transition:background-color .15s;text-align:left;overflow-wrap:anywhere}.choice strong{font-size:18px;font-weight:700;line-height:1.45}.choice span{font-size:16px;color:var(--muted);line-height:1.5;margin-top:5px}.choice .amount{font-size:18px;color:var(--olive-dark);font-weight:900}.choice:hover{background:#f4f6f8;border-color:var(--green);transform:none;box-shadow:inset 3px 0 var(--green)}.choice.feature{background:#f4f6f8;border-color:#c9955d}.back-row{align-items:center;flex-wrap:wrap;margin-top:16px}.back-row span{font-size:14px;color:var(--muted)}#chatForm{margin:0 24px 12px;padding:7px;border:1.5px solid #bcc8d2;border-radius:9px;gap:8px}#chatInput{font-size:18px;padding:8px 6px;line-height:1.4}#chatInput::placeholder{color:#52616d}#send{width:auto;min-width:64px;height:48px;border-radius:6px;font-size:16px;font-weight:700;padding:10px}.chat-note{font-size:14px;color:var(--muted);padding:0 24px 22px}
.primary,.outline{font-size:16px;font-weight:700;padding:12px 16px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.primary,#send{background:var(--green);border-color:var(--green);color:#fff}.primary:hover,#send:hover{background:var(--olive-dark)}.outline{border-color:#bcc8d2;color:var(--olive-dark);background:#fff}.outline:hover{background:#f4f6f8}.full{margin-bottom:12px}aside{padding-top:0;position:static}.estimate{padding:26px;border-top:5px solid var(--green)}.estimate-top{gap:12px;flex-wrap:wrap}.estimate-top>span{font-size:14px;color:var(--olive-dark);font-weight:700}#total{font:900 44px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:-1px;color:var(--olive-dark);margin:16px 0 8px}#total span{font:700 15px 'DM Sans';letter-spacing:0;color:var(--muted)}.estimate-desc{font-size:16px;color:var(--muted)}.empty{font-size:16px;color:var(--muted)}.completion-note{font-size:15px;background:#f4f6f8;color:var(--ink);padding:12px}.line{font-size:16px;padding:15px 0;border-color:#d8dccf;gap:12px}.line b{font-weight:700}.line button{font-size:15px;min-height:44px;padding:8px 0;color:var(--olive-dark)}.cost-detail{font-size:14px;color:var(--muted);margin:0}.cost-detail summary{padding:10px 0;min-height:44px}.cost-detail p{font-size:15px;max-width:none}.subtotal{font-size:18px;gap:12px}.subtotal b{color:var(--olive-dark)}.disclaimer,.private{font-size:14px;line-height:1.6;color:var(--muted)}.pending-fee{font-size:15px;background:#f5eee2;color:#634719;border:1px solid #d3bc95;padding:14px}.all-selections{font-size:16px}.all-selections summary{padding:12px 0;min-height:48px;color:var(--olive-dark)}.choice-link{font-size:16px;color:var(--olive-dark);padding:12px 0}.budget-panel label{font-size:16px}.budget-panel input{font-size:18px;padding:12px;border-color:#bcc8d2;min-height:48px}.budget-panel p{font-size:15px}.help{padding:25px 4px}.help p{font:400 20px/1.5 'DM Sans',Arial,sans-serif}.help a{font-size:18px;font-weight:700;text-decoration:underline;color:var(--olive-dark);display:inline-block;padding:10px 0}
.context-figure,.service-note{background:#f4f3ee;border-color:#d8dccf}.service-note{border-left-color:var(--green)}.service-note b{font-size:17px}.service-note p,.details{font-size:16px;color:var(--muted)}.details summary{min-height:48px;padding:12px 0}.context-figure figcaption{font-size:14px}.context-image{max-height:210px}.modal-head h2{font:700 28px/1.3 'DM Sans',Arial,sans-serif;color:var(--olive-dark)}dialog{width:calc(100% - 32px);padding:26px;border:1px solid var(--line);max-height:90dvh}dialog::backdrop{background:#101d2aaa}.modal-head{align-items:flex-start}.close{flex-shrink:0;width:48px;min-height:48px;color:var(--olive-dark)}.filters input,.filters select{font-size:16px;padding:12px;border-color:#bcc8d2;min-height:48px;max-width:100%}.filters>*{min-width:0}.filters select{flex:1 1 180px}#maxProductPrice{max-width:none;flex:1 1 140px}#similarProducts,#productCount{font-size:16px}#products{grid-template-columns:repeat(3,minmax(0,1fr))}.product{min-width:0;border-color:#dfe4e8;padding:16px}.product h3{font-size:18px;overflow-wrap:anywhere}.product p,.product details{font-size:16px}.product img{height:180px;background:#fafaf8}.product details summary{min-height:44px}.change-row{font-size:17px;overflow-wrap:anywhere}.price-change{font:700 32px/1.3 'DM Sans';color:var(--olive-dark)}#summaryBody{font-size:17px;overflow-wrap:anywhere}#handoffPanel label{font-size:16px}#handoffConsent{width:22px;height:22px;vertical-align:middle;accent-color:var(--green)}textarea{font-size:17px}.shared-banner{font-size:16px;flex-wrap:wrap}.shared-banner>*{min-width:0}footer{font-size:14px;color:var(--muted)}footer span{color:var(--muted)}
@media(min-width:1400px){main{padding-top:32px}}
@media(max-width:1050px){.layout{grid-template-columns:minmax(0,1fr) 330px;gap:20px}.estimate{padding:20px}.intro-note{display:none}.brand span{display:none}.header-right{gap:12px}}
@media(max-width:800px){header{padding:12px 20px;min-height:84px}.brand img{width:156px}.review{display:none}.header-right{gap:8px}.header-right a{font-size:16px;display:block}.header-right .quiet{font-size:15px}main{padding:24px 18px 20px}.layout{display:flex;flex-direction:column;gap:16px}.planner{width:100%}.intro{margin-bottom:22px}.intro h1{font-size:34px}.intro p{font-size:17px;max-width:620px}body{padding-bottom:90px}.plan-tools{display:flex;flex-wrap:wrap;gap:8px}.plan-tools button{flex:1;white-space:nowrap;padding:10px 8px;font-size:15px}.save-status{margin-bottom:14px}.phase{font-size:14px}.assistant-header{padding:16px 20px}.choice-area{padding:0 20px 20px}#messages{padding:20px;max-height:300px}#chatForm{margin:0 20px 12px}.chat-note{padding:0 20px 20px}.mobile-total{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:72px;padding:18px 20px calc(18px + env(safe-area-inset-bottom));border:0;background:var(--olive-dark);color:#fff;font-size:18px;box-shadow:0 -3px 15px #101d2a22}.mobile-total span{text-decoration:underline;text-underline-offset:4px}.mobile-total b{white-space:nowrap}.mobile-total[aria-expanded=true]{background:var(--green)}aside{display:none;width:100%}aside.mobile-open{display:block;position:fixed;z-index:19;inset:0 0 calc(72px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;background:var(--cream);padding:18px;border-radius:0;box-shadow:none}.help{display:block}.availability{display:none}#products{grid-template-columns:repeat(2,minmax(0,1fr))}.back-row span{flex-basis:100%}.intro-note{display:none}}
@media(max-width:480px){header{padding:10px 16px;gap:10px;align-items:center}.brand img{width:144px}.header-right{flex-direction:column;align-items:flex-end;gap:0}.header-right a{font-size:15px;padding:0;min-height:44px;display:flex;align-items:center}.header-right .quiet{font-size:14px;min-height:44px;padding:3px 0}main{padding:20px 14px}.intro .eyebrow{display:none}.intro h1{font-size:30px;margin:0 0 10px}.intro p{font-size:17px;line-height:1.5}.intro{margin-bottom:18px}.plan-tools button{font-size:14px;padding:10px 6px}.save-status{font-size:14px}#progress{display:block;margin-bottom:14px;padding:0;border:0}.phase{display:none}.phase.active{display:block;border:0;padding:0;font-size:16px}.phase.active::before{content:attr(data-mobile-label);font-size:16px}.phase.active{font-size:0}.assistant-header{padding:14px 16px}.assistant-header div>span{font-size:14px}#messages{padding:18px 16px;max-height:300px}.bubble{font-size:18px;padding:14px 15px}.choice-area{padding:0 16px 18px}#questionLabel{font-size:22px}.choice{display:block;padding:16px;min-height:64px}.choice strong{font-size:18px}.choice span{margin-top:5px;font-size:16px}#chatForm{margin:0 16px 12px}#chatInput{font-size:17px}.chat-note{padding:0 16px 18px}.mobile-total{font-size:17px;padding-left:16px;padding-right:16px}.estimate{padding:20px}.line{font-size:16px}dialog{width:calc(100% - 20px);padding:18px}.modal-head h2{font-size:24px}#products{grid-template-columns:1fr}.product img{height:210px}.filters input{flex-basis:100%}.filters select{flex-basis:100%;width:100%}.price-change{font-size:26px}.shared-banner{flex-direction:column;align-items:stretch}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff;padding:0}.skip-link{display:none}.estimate{box-shadow:none;border:0}#total{color:#000}aside{display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.mobile-total{display:none!important}}

/* Put the next decision ahead of secondary plan-management actions on phones. */
@media screen and (max-width:800px){.planner{display:flex;flex-direction:column}.planner>#progress{order:0}.planner>.conversation{order:1}.planner>.plan-tools{order:2;margin-top:18px}.planner>.save-status{order:3}.planner>.shared-banner{order:-1}}

/* Vera portrait, served at avatar size through Netlify Image CDN. */
.assistant-header .avatar{width:56px;height:56px;overflow:hidden;border:2px solid #fff;background:#f4f6f8;box-shadow:0 2px 8px #101d2a26}.avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* Compact desktop introduction keeps the first decision near the fold at display scaling. */
@media screen and (min-width:801px){
 header{min-height:76px;padding-top:8px;padding-bottom:8px}.brand img{max-height:52px;width:160px}
 main{padding-top:20px}.intro{margin-bottom:18px}.intro h1{font-size:34px;line-height:1.2;margin:6px 0 8px}.intro h1 br{display:none}.intro h1 em{margin-left:.2em}.intro p{max-width:none;font-size:18px}.intro .eyebrow{font-size:12px}
 .planner{display:flex;flex-direction:column}.planner>#progress{order:0;margin-bottom:12px}.planner>.conversation{order:1}.planner>.plan-tools{order:2;margin-top:16px}.planner>.save-status{order:3}.planner>.shared-banner{order:-1}
 .phase{padding-top:7px;padding-bottom:7px}.assistant-header{padding:12px 22px}#messages{padding:18px 22px;min-height:0;max-height:260px}.bubble{padding:12px 16px}.choice-area{padding:0 22px 18px}#questionLabel{margin-bottom:12px}.choice{padding:12px 18px;min-height:60px}#choices{gap:10px}
}

/* Conversation and reply stay together, before the guided choices. */
#messages{max-height:360px;padding-bottom:16px}
.ask-vera{padding:0 22px 18px;background:#fff}
.ask-label{display:block;font-size:17px;font-weight:700;color:var(--olive-dark);margin-bottom:8px}
.ask-vera #chatForm{margin:0 0 8px;border:2px solid var(--green);background:#fff}
.ask-vera .chat-note{padding:0;font-size:14px;line-height:1.5}
.choice-area{padding-top:18px;background:#f4f6f8;border-top:1px solid var(--line)}
.choice-intro{margin:0 0 8px;font-size:15px;color:var(--muted)}
#questionLabel{font-size:21px;margin-bottom:12px}
.choice{background:#fff;border-color:#ccd5dd;padding:12px 16px}
.choice span{margin-top:3px}
@media(max-width:800px){.ask-vera{padding:0 20px 18px}#messages{max-height:340px}}
@media(max-width:480px){.ask-vera{padding:0 16px 16px}#messages{max-height:340px}.choice-area{padding-top:16px}.choice{padding:14px 16px;min-height:64px}#questionLabel{font-size:21px}}
