:root{--ink:#263b3c;--muted:#697778;--line:#dce2dd;--green:#101d2a;--cream:#f7f7f2;--gold:#a07a50}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}a{color:inherit}header{height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);gap:16px}.brand{display:flex;align-items:center;gap:20px;text-decoration:none}.brand img{width:172px;max-height:60px;object-fit:contain}.brand span{border-left:1px solid var(--line);padding-left:20px;font-size:15px}.brand b{font-weight:400;color:var(--muted)}.header-right{display:flex;align-items:center;gap:24px;font-size:13px}.header-right a{text-decoration:none}.review{border:1px solid #dbd9c8;color:#80724e;padding:5px 12px;border-radius:30px;font-size:11px}.quiet{border:0;background:none;color:var(--muted);padding:4px;font-size:12px}.quiet:hover{color:var(--green);text-decoration:underline}main{max-width:1250px;margin:auto;padding:46px 28px 15px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;color:var(--gold)}h1{font:52px/1.04 'Libre Caslon Display',Georgia,serif;margin:13px 0 17px;letter-spacing:-.8px}h1 em{font-weight:400;color:#956337}.intro p{font-size:14px;color:var(--muted);max-width:530px;line-height:1.7;margin:0}.intro-note{text-align:center;padding-right:38px;color:var(--muted)}.small-mark{font:30px Georgia;border:1px solid #b7c5b8;border-radius:50%;display:flex;align-items:center;justify-content:center;width:70px;height:70px;margin:0 auto 10px}.intro-note p{font-size:12px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px;align-items:start}#progress{display:flex;gap:0;justify-content:space-between;margin:0 0 20px;border-bottom:1px solid var(--line)}.phase{font-size:11px;color:#8a9692;padding:0 5px 12px;white-space:nowrap}.phase.active{color:var(--green);border-bottom:2px solid var(--green)}.phase.done{color:var(--green)}.conversation{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 8px 35px #20352b05;overflow:hidden}.assistant-header{display:flex;align-items:center;gap:11px;padding:19px 24px;border-bottom:1px solid #edf0eb}.avatar{height:40px;width:40px;border-radius:50%;background:#f4f6f8;color:var(--green);font:24px Georgia;display:grid;place-items:center}.assistant-header b{font-size:14px}.assistant-header div>span{display:block;font-size:11px;color:var(--muted)}.availability{margin-left:auto;color:#52616d;font-size:10px}.availability:before{content:'';display:inline-block;width:5px;height:5px;background:#c9955d;border-radius:50%;margin-right:6px}#messages{max-height:330px;min-height:140px;overflow:auto;padding:24px;scroll-behavior:smooth}.bubble{max-width:95%;margin:0 0 14px;padding:14px 17px;border-radius:0 13px 13px 13px;background:#f4f6f8;font-size:14px;line-height:1.7;white-space:pre-wrap}.bubble.user{background:#101d2a;color:#fff;margin-left:auto;max-width:82%;border-radius:13px 0 13px 13px}.bubble small{display:block;color:var(--muted)}.choice-area{padding:0 24px 18px}#questionLabel{margin-bottom:13px}#choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{text-align:left;background:#fff;border:1px solid #dce3da;border-radius:8px;padding:15px;min-height:72px;color:var(--ink);transition:.16s}.choice:hover{border-color:#c9955d;background:#faf5ef;transform:translateY(-1px)}.choice strong{display:block;font-size:13px;font-weight:500;line-height:1.5}.choice span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.choice .amount{color:var(--green);font-weight:600}.choice.feature{grid-column:1/-1;background:#faf5ef;border-color:#dfe4e8}.back-row{display:flex;justify-content:space-between;gap:10px;margin-top:15px}.back-row span{font-size:11px;color:#8c9690}.context-image{height:130px;width:100%;object-fit:cover;border-radius:8px;margin-top:17px}.details{margin-top:14px;color:var(--muted);font-size:12px}.details summary{cursor:pointer;color:var(--green)}#chatForm{display:flex;margin:0 24px 10px;border:1px solid var(--line);border-radius:30px;padding:5px 6px 5px 16px;gap:10px}#chatInput{width:100%;min-width:0;border:0;outline:none;background:transparent;font-size:12px}#send{border:0;border-radius:50%;height:34px;width:34px;flex-shrink:0;background:var(--green);color:#fff;font-size:22px}.chat-note{font-size:10px;color:#91978e;padding:0 24px 18px;line-height:1.5}aside{padding-top:36px;position:sticky;top:18px}.estimate{background:#fff;border:1px solid var(--line);padding:25px;border-radius:12px}.estimate-top{display:flex;align-items:center;justify-content:space-between}.estimate-top>span{font-size:10px;color:var(--muted)}#total{font:44px/1.2 'Libre Caslon Display',Georgia;margin:18px 0 3px;font-variant-numeric:tabular-nums}#total span{font:10px 'DM Sans';color:var(--muted);margin-left:7px}.estimate-desc{font-size:11px;color:var(--muted);margin:0 0 18px}.empty{font-size:12px;color:#97a099;text-align:center;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.line{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #edf0eb;padding:10px 0;font-size:11px}.line b{white-space:nowrap;font-weight:500}.line button{display:block;border:0;background:none;color:var(--green);padding:0;font-size:10px;text-decoration:underline}.subtotal{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;margin-top:10px;font-size:12px}.disclaimer{font-size:10px;line-height:1.7;color:var(--muted);margin:15px 0 19px}.primary,.outline{border-radius:6px;padding:11px 14px;font-size:12px;border:1px solid var(--green);font-weight:500}.primary{background:var(--green);color:#fff}.outline{color:var(--green);background:#fff}.full{width:100%;margin-bottom:9px}.private{color:var(--muted);font-size:10px;text-align:center;margin:6px 0 0}.help{padding:24px 12px}.help p{font:21px/1.25 'Libre Caslon Display',Georgia;margin:10px 0}.help a{font-size:12px;text-decoration:none;color:var(--green)}footer{text-align:center;margin:42px 0 15px;font-size:10px;color:var(--muted);line-height:1.8}footer span{color:#92998d}dialog{border:0;border-radius:13px;padding:26px;max-width:1050px;width:92vw;max-height:85vh;color:var(--ink)}dialog::backdrop{background:#122a2466;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.modal-head h2{font:32px 'Libre Caslon Display',Georgia;margin:8px 0 20px}.close{font:30px Arial;border:0;background:none;color:var(--ink)}.filters{display:flex;gap:10px}.filters input,.filters select{border:1px solid var(--line);border-radius:5px;padding:9px;font-size:12px;min-width:0}.filters input{flex:1}#productCount{font-size:12px;color:var(--muted)}#products{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.product{border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:8px}.product img{width:100%;height:125px;object-fit:contain}.product h3{font-size:12px;margin:0}.product p{font-size:11px;color:var(--muted);margin:0}.product button{margin-top:auto}.product details{font-size:11px;color:var(--muted)}.product details p{white-space:pre-line;margin-top:8px}#summaryBody{white-space:pre-wrap;margin-bottom:20px;font-size:14px;line-height:1.8}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}button:disabled{opacity:.5;cursor:wait}@media(min-width:1400px){main{padding-top:52px}}@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr) 295px;gap:18px}main{padding:30px 20px}.estimate{padding:20px}.phase{font-size:10px}.intro-note{display:none}.header-right{gap:12px}.brand span{display:none}}@media(max-width:680px){header{height:72px;padding:0 18px}.brand img{width:140px}.header-right a{display:none}.review{padding:4px 8px;font-size:10px}.header-right{gap:8px}main{padding:25px 16px}h1{font-size:41px}.intro{margin-bottom:25px}.intro p{font-size:13px}.layout{display:flex;flex-direction:column;gap:10px}.planner,aside{width:100%}aside{position:static;padding-top:10px}#progress{overflow-x:auto;gap:12px}.phase{padding-bottom:9px}.assistant-header{padding:16px}#messages{padding:18px;max-height:300px}.choice-area{padding:0 16px 16px}#choices{gap:8px}.choice{padding:12px}.choice strong{font-size:12px}#chatForm{margin:0 16px 9px}.chat-note{padding:0 16px 16px}.estimate{padding:22px}.help{display:none}#products{grid-template-columns:1fr 1fr}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.filters select{flex:1}dialog{padding:18px}.product{padding:10px}.product img{height:95px}.availability{font-size:9px}}@media print{header,.intro,.planner,.help,footer,dialog,#print,#summary{display:none!important}main{max-width:none;padding:0}.layout{display:block}aside{position:static;padding:0;width:100%}.estimate{border:0;padding:20px}#lineItems button{display:none}.private{display:block}body{background:#fff}.estimate:before{content:'Mortem AI | Planning estimate';font:24px Georgia}.estimate-top{margin-top:20px}}

/* Review improvements: preserve authentic images without stretching or crops. */
.context-figure{margin:18px 0 0;background:#f6f7f3;border:1px solid var(--line);border-radius:10px;padding:15px;text-align:center}.context-image{display:block;width:auto;max-width:100%;height:auto;max-height:220px;object-fit:contain;margin:0 auto;border-radius:5px}.context-figure figcaption{font-size:10px;color:var(--muted);margin-top:9px}.service-note{border-left:3px solid #a9bbaa;background:#f5f7f0;padding:15px 18px;margin-top:18px;border-radius:0 8px 8px 0}.service-note b{font-size:12px}.service-note p{margin:4px 0 0;color:var(--muted);font-size:12px}.product img{height:175px;padding:14px;background:#f7f8f4;border-radius:7px;cursor:zoom-in}.product{gap:10px}.product h3{font-size:13px;line-height:1.5}#largeProductImage{display:block;max-width:100%;max-height:65vh;width:auto;height:auto;margin:0 auto;object-fit:contain}.pending-fee{font-size:10px;background:#f5f1e6;color:#73603b;padding:12px;line-height:1.6;border-radius:6px;margin:12px 0}@media(max-width:680px){.product img{height:140px;padding:8px}.context-image{max-height:180px}.product h3{font-size:12px}}@media print{.pending-fee{color:#333;border:1px solid #aaa}}
/* Vera planning workspace */
.plan-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.plan-tools button{min-height:42px}.save-status{font-size:11px;color:var(--muted);margin:0 0 18px}.completion-note{font-size:11px;line-height:1.6;background:#f4f6f8;padding:10px;border-radius:6px}.budget-panel{border-top:1px solid var(--line);padding-top:18px;margin-top:16px}.budget-panel label{font-size:12px;font-weight:600}.budget-panel input{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;margin:8px 0}.budget-panel p{font-size:11px}.all-selections{margin-top:12px;font-size:12px}.all-selections summary,.cost-detail summary{cursor:pointer}.choice-link{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:10px 0;color:var(--green);font-size:11px}.cost-detail{font-size:10px;color:var(--muted);margin-top:5px}.cost-detail p{max-width:235px;font-size:11px}.change-row{display:flex;flex-direction:column;gap:5px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.change-row span{color:var(--muted)}.price-change{font:36px Georgia;color:var(--green);margin:22px 0 8px}#changeDialog,#budgetDialog,#compareDialog,#shareDialog{max-width:650px}textarea{font:inherit;width:100%;min-height:90px;padding:12px;border:1px solid var(--line);border-radius:7px;resize:vertical;margin:10px 0}#handoffPanel label{display:block;margin:14px 0;font-size:12px}#handoffConsent{margin-right:8px}.shared-banner{background:#f4f6f8;padding:15px;border-radius:8px;display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:15px}.mobile-total{display:none}.filters{flex-wrap:wrap}#maxProductPrice{max-width:150px}#similarProducts{font-size:11px}.product img:focus-visible{outline:3px solid var(--green)}button:focus-visible{outline:3px solid #a07a50;outline-offset:3px}button{touch-action:manipulation}#summaryDialog{max-width:720px}
@media(max-width:680px){body{padding-bottom:84px}h1{font-size:36px}.intro{margin-bottom:18px}.plan-tools{display:grid;grid-template-columns:repeat(3,1fr)}.plan-tools button{font-size:11px;padding:9px 5px}#choices{grid-template-columns:1fr}.choice{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px}.choice strong{font-size:14px}.choice span{margin:0}.choice.feature{display:block}.choice.feature span{margin-top:5px}#chatInput{font-size:16px}#chatForm{padding-top:8px;padding-bottom:8px}#messages{max-height:240px;min-height:90px}.mobile-total{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;width:100%;padding:17px 22px calc(17px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);background:var(--green);color:#fff;box-shadow:0 -5px 25px #1232;font-size:14px}aside{display:none}aside.mobile-open{display:block;position:fixed;z-index:19;left:0;right:0;top:8vh;bottom:70px;background:var(--cream);overflow:auto;padding:16px;border-radius:16px 16px 0 0;box-shadow:0 -20px 100px #1235}.product img{height:155px}.product button{min-height:44px}.close{min-width:44px;min-height:44px}.filters input,.filters select{font-size:16px}.price-change{font-size:29px}.shared-banner{flex-direction:column;align-items:flex-start}dialog{max-height:88dvh}.intro-note{display:none}}
@media print{.plan-tools,.save-status,.mobile-total,.budget-panel button,.cost-detail,.all-selections,#handoffPanel{display:none!important}aside{display:block!important;position:static!important}.budget-panel{break-inside:avoid}body{padding:0}}
[hidden]{display:none!important}
