:root{--accent:#536d7b}*{box-sizing:border-box}body{font:16px/1.5 system-ui,Arial,sans-serif;margin:0;background:#f4f6f7;color:#253341}header{background:white;border-bottom:3px solid var(--accent);padding:22px max(20px,calc((100vw - 1000px)/2))}main{max-width:1000px;margin:25px auto;padding:0 20px 60px}h1{margin:0;font-size:1.8rem}h2{font-size:1.3rem}p{margin:10px 0}small,.muted{color:#566674}.panel{background:white;border:1px solid #d9e1e5;border-radius:12px;padding:24px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:block;font-weight:600;margin:10px 0 4px}input,select,textarea{width:100%;font:inherit;border:1px solid #aebdc7;border-radius:6px;padding:10px;background:white;color:#253341}button,.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:white;border-radius:7px;padding:10px 15px;cursor:pointer;display:inline-block;text-decoration:none;margin:8px 8px 0 0}button.secondary,.button.secondary{background:white;color:var(--accent)}.choice{display:block;width:100%;text-align:left;background:white;color:#253341;border:2px solid #d7e0e6;padding:16px}.choice.selected{border-color:var(--accent);background:#eef4f6}.choice strong{display:block}.notice{border-left:4px solid var(--accent);background:#eef4f6;padding:12px 16px;margin:16px 0}.hidden{display:none!important}table{width:100%;border-collapse:collapse}td,th{padding:10px 5px;text-align:left;border-bottom:1px solid #ddd}td:last-child,th:last-child{text-align:right}.total{text-align:right;font-weight:800;font-size:1.5rem}.logo{max-width:250px;max-height:110px;object-fit:contain}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.item{border:1px solid #dce3e7;padding:12px;margin:8px 0;border-radius:7px}a{color:#315d73}.error{color:#9c2832}.ok{color:#16653d}footer{font-size:.85rem;color:#5a6874}@media(max-width:700px){.grid,.three{grid-template-columns:1fr}.panel{padding:16px}}@media print{header,.noprint,#selection,#custom{display:none!important}body{background:white}main{margin:0}.panel{border:0;padding:0}#review{display:block!important}}

.demo-intro{border-top:4px solid var(--accent);padding:28px}.demo-intro h2{font-size:1.8rem;line-height:1.2;max-width:700px}.demo-intro .grid{margin-top:24px}.demo-intro .grid p{font-size:.95rem}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.12em;color:var(--accent)}button:focus-visible,a:focus-visible{outline:3px solid #b45c19;outline-offset:3px}@media print{#demoIntro{display:none!important}}

.optional-choice{display:flex;align-items:center;gap:12px;border:1px solid #d9e1e5;border-radius:7px;padding:14px;cursor:pointer}.optional-choice input{width:20px;height:20px;flex-shrink:0;accent-color:var(--accent)}
fieldset{border:1px solid #d9e1e5;border-radius:8px;padding:18px}fieldset:disabled{opacity:.65}legend{font-weight:650;padding:0 8px}.table-scroll{overflow-x:auto}caption{text-align:left;color:#566674;padding:10px 0}#customerCounts strong{font-size:2rem}#customerRows td{vertical-align:top;text-align:left}#customerRows button{white-space:nowrap}

.logo.sales-demo-logo{display:block;width:360px;max-width:100%;max-height:180px;height:auto;margin-bottom:16px}

.product-logo{display:block;width:480px;max-width:100%;height:auto;margin:0 0 18px;object-fit:contain}@media(max-width:700px){.product-logo{width:340px}}
/* Family arrangement builder; scoped so owner and customer administration stay familiar. */
.calculator{background:#f7f5f0;color:#283b42}.calculator main{max-width:1200px;margin:20px auto}.calculator .calc-header{max-width:1200px;margin:auto;padding:28px 20px;background:transparent;border-bottom:1px solid #dce1dd;display:flex;align-items:center;justify-content:space-between;gap:24px}.calc-brand{display:flex;align-items:center;gap:26px}.calculator .calc-brand .logo{width:260px;max-width:100%;height:auto;max-height:135px}.calculator h1{font-family:Georgia,serif;font-size:1.65rem;line-height:1.2}.calculator h2{font-family:Georgia,serif;font-size:1.65rem}.calculator .calc-hero h2{font-size:2.5rem;line-height:1.12;max-width:700px;margin:18px 0}.calc-hero{padding:8px 0 18px}.sales-intro{font-size:.9rem;color:#52646b;margin:16px 0}.sales-intro summary,.comparison-panel summary,.service-detail summary{cursor:pointer;font-weight:650;padding:12px 0}.calculator .running-total{position:sticky;top:0;z-index:20;background:#fffefa;border:1px solid #d6dfda;border-radius:12px;box-shadow:0 5px 20px #182e3820;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.running-total>div{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 20px}.running-total strong{font-size:1.8rem;color:var(--accent);font-variant-numeric:tabular-nums}.running-total small{grid-column:1/-1;font-size:.8rem}.running-total button{margin:0}.step-nav{display:flex;gap:10px;margin:22px 0}.step-nav button{flex:1;margin:0;background:white;color:var(--accent);border-color:#ccd6d3}.step-nav button[aria-current=step]{background:var(--accent);color:white}.calculator .panel{background:#fffefa;border-color:#dce2dc;padding:26px;border-radius:14px;scroll-margin-top:140px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.calculator .service-card{background:#fffefa;color:#283b42;border:1px solid #d4ddd8;border-radius:12px;text-align:left;padding:24px;width:100%;margin:0}.service-card.selected{border:2px solid var(--accent);background:#f0f5f1}.service-card h3{font:1.3rem Georgia,serif;margin:0 0 12px}.service-card .price,.product-card .price{font-size:1.6rem;font-weight:700;color:var(--accent);margin:14px 0}.service-card small{font-size:.78rem}.comparison-panel{margin:18px 0}.section-heading p{max-width:850px}.catalog-section{border-top:1px solid #dce2dc;margin-top:30px;padding-top:16px}.catalog-section h3{font:1.4rem Georgia,serif}.catalog-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:14px 0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{border:1px solid #dce2dc;background:white;border-radius:12px;padding:16px;display:flex;flex-direction:column}.product-card.chosen{border:2px solid var(--accent);background:#f3f7f4}.product-card h4{font-size:1.05rem;margin:12px 0 4px}.product-card .row{margin-top:auto;gap:6px}.product-card button{font-size:.85rem;padding:8px 12px}.calculator .product-image-button{padding:0;width:100%;border:0;background:#f5f5f0;display:block;border-radius:8px;margin:0;cursor:zoom-in}.product-image-button img{display:block;width:100%;height:155px;object-fit:contain}.product-placeholder{height:155px;display:grid;place-content:center;background:#f0f2ed;color:#66776d;border-radius:8px;font-size:.85rem}.selected-product{background:#eef4ef;border-left:3px solid var(--accent);padding:10px 14px}.extra-expenses{max-width:400px;margin:25px 0}.review-products{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0}.review-products figure{width:200px;margin:0}.review-products img{width:200px;height:130px;object-fit:contain;background:#f6f5ef;border-radius:9px}.review-products figcaption{font-size:.85rem;margin:8px 0}.calc-footer{padding:14px 0 30px}.calc-footer .row{align-items:center}.calculator dialog{width:min(900px,94vw);max-height:90vh;overflow:auto;border:1px solid #d2ddd5;border-radius:14px;padding:24px;background:#fffefa;color:#283b42}.calculator dialog::backdrop{background:#162e3980}.dialog-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.hero-product{width:100%;height:320px;object-fit:contain;background:#f5f5ef;border-radius:10px}.calculator #compareContent img{width:160px;height:120px;object-fit:contain}.calculator .toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:60;border-radius:30px;background:var(--accent);color:white;padding:12px 22px;box-shadow:0 4px 15px #0002;max-width:90vw}.calculator td,.calculator th{font-variant-numeric:tabular-nums}.calculator .service-detail{margin:15px 0}.calculator .notice{border-radius:9px}.calculator .optional-choice{background:white;font-size:.9rem}.calculator a:focus-visible,.calculator button:focus-visible{outline:3px solid #9b744b;outline-offset:3px}
@media(max-width:900px){.calc-brand{gap:14px}.calculator .calc-header{align-items:flex-start}.calculator .calc-brand .logo{width:200px}.calculator h1{font-size:1.35rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid{grid-template-columns:1fr}.service-card p{margin:8px 0}.service-card small{display:block}}
@media(max-width:650px){.calculator .calc-header{display:block;padding:20px}.calc-brand{display:block}.calculator .calc-brand .logo{width:240px;max-height:120px;margin-bottom:14px}.calculator .calc-hero h2{font-size:2rem}.calculator .running-total{padding:12px;gap:10px}.running-total>div{display:flex;flex-direction:column;align-items:flex-start}.running-total strong{font-size:1.55rem}.running-total small{font-size:.7rem;max-width:200px}.running-total button{font-size:.8rem;padding:10px}.step-nav{gap:5px}.step-nav button{font-size:.8rem;padding:10px 5px}.calculator .panel{padding:18px}.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters label:first-child{grid-column:1/-1}.product-grid{grid-template-columns:1fr}.product-image-button img{height:180px}.calculator .calc-brand .eyebrow{margin-top:14px}.calculator dialog{padding:16px}.dialog-heading h2{font-size:1.3rem}}
@media print{.calculator .calc-hero,.calculator .running-total,.calculator .step-nav,.calculator #priceLabel,.calculator .calc-footer,.calculator dialog,.calculator .toast{display:none!important}.calculator #selection,.calculator #custom{display:none!important}.calculator #review{display:block!important}.calculator .panel{background:white;border:0;padding:0}.calculator main{padding:0;margin:0}.calculator table{font-size:11px}.calculator tr{break-inside:avoid}.calculator .review-products figure{break-inside:avoid}.calculator thead{display:table-header-group}.calculator .notice{background:white;border:1px solid #aaa}}
.item input[type=checkbox]{width:20px;height:20px;margin-right:10px;vertical-align:middle}
/* Small-screen sizing for family and administrator controls. */
@media(max-width:700px){
 main{padding-left:14px;padding-right:14px}
 .grid>*,.row>*,.calc-brand,.running-total>div,.step-nav button{min-width:0}
 input,select,textarea{max-width:100%;min-height:44px;font-size:16px}
 input[type=checkbox]{min-height:20px}
 button,.button,.calculator .product-card button{min-height:44px;max-width:100%;overflow-wrap:anywhere}
 img.logo,.review-products figure,.review-products img{max-width:100%}
 label,p,h1,h2,h3,h4,td,th{overflow-wrap:anywhere}
 .calculator .running-total>div{flex:1;min-width:0}
 .calculator .running-total button{flex:0 0 auto;max-width:45%}
 .calculator .toast{width:max-content;max-width:calc(100vw - 24px);text-align:center}
}

/* Phone comparison: compact service totals, with individual breakdowns on demand. */
.comparison-mobile{display:none}
@media(max-width:700px){
 #serviceComparison{overflow:visible}
 .comparison-desktop{display:none}
 .comparison-mobile{display:block}
 .comparison-panel>summary{font-size:.95rem}
 .comparison-mobile details{border-bottom:1px solid #dce2dc}
 .comparison-mobile summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;min-height:44px;font-size:.9rem}
 .comparison-mobile summary span{min-width:0;font-weight:500}
 .comparison-mobile summary span::before{content:'+ ';color:var(--accent);font-weight:700}
 .comparison-mobile details[open] summary span::before{content:'− '}
 .comparison-mobile summary strong{flex-shrink:0;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--accent)}
 .comparison-mobile dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:0 0 14px;font-size:.8rem}
 .comparison-mobile dt{color:#566674}
 .comparison-mobile dd{margin:0;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
}

.ftc-disclosure{font-size:.94rem;line-height:1.6;text-align:left;white-space:normal}.calculator td .ftc-disclosure{font-size:.9rem;margin:4px 0 12px}.price-list-documents{margin:12px 0 18px;padding:12px;border:1px solid #dce2dc;border-radius:8px}.service-card .ftc-disclosure{font-size:.85rem;font-weight:400}.notice input[type=checkbox],#embalmingExceptions,#casketPricesInGpl,#vaultPricesInGpl,#includesOverhead{width:20px;min-height:20px;height:20px;margin-right:10px}@media print{.ftc-disclosure{font-size:10pt;color:black}.price-list-documents{break-inside:avoid}#consumerRights{display:none!important}#reviewRights{display:block!important}}
#customerManager{width:min(900px,94vw);max-height:90vh;overflow:auto;border:1px solid #bac9bf;border-radius:12px;background:#fffefa;color:#253341;padding:24px}#customerManager::backdrop{background:#173b4680}#customerManager input[type=checkbox]{width:auto;margin-right:8px}#customerManager h3{font-size:1.1rem}#customerManagerMessage{white-space:pre-line}.table-scroll td{vertical-align:top}#ownerContent details{margin-top:20px}#ownerContent summary{cursor:pointer;font-weight:600}#customerCounts strong{font-size:1.6rem}

.estimate-scope{font-size:.94rem;line-height:1.55;color:#334b56}.legal-copy{max-width:58rem}.legal-copy p,.legal-copy li{line-height:1.65}.legal-copy li{margin-bottom:.65rem}.legal-copy h3{margin-top:1.7rem}.legal-copy a{overflow-wrap:anywhere}.legal-copy code{overflow-wrap:anywhere}@media print{.legal-page main{display:block!important;max-width:none}.legal-page .panel{display:block!important;break-inside:auto}.legal-page h2,.legal-page h3{break-after:avoid}.legal-page p,.legal-page li{orphans:3;widows:3}.estimate-scope,#reviewScope,#reviewAllowances{display:block!important;font-size:10pt;color:black}#planningScope{display:none!important}}

@media print{.legal-page header{display:block!important;background:white;border:0;padding:0 0 12pt}.legal-page .panel{border:0;padding:0}.legal-page main{padding:0}}

.agreement-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.65}.agreement-editor{font:inherit;line-height:1.55}.agreement-check{display:flex;align-items:flex-start;gap:12px;font-weight:400;margin:20px 0}.agreement-check input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin:3px 0}.agreement-check span{flex:1}.legal-page input,.legal-page textarea,.legal-page select{max-width:100%}@media print{#signatureForm{display:none!important}.agreement-text{font-size:10pt;line-height:1.5}#agreementHash{font-size:9pt;overflow-wrap:anywhere}}

#customerManagement input[type=checkbox]{width:20px;height:20px;min-height:20px;margin-right:10px}#customerManagement .item{margin-top:24px}#accountLoadMessage{overflow-wrap:anywhere}#customerManagement input{max-width:100%}
#customerManagement #customerManagerMessage:not(:empty){position:sticky;top:8px;z-index:2;background:#fff;padding:12px;border:1px solid #bac9bf;border-radius:6px}#managedCustomerName{overflow-wrap:anywhere;min-width:0}
