:root{--red:#a32427;--dark:#651d1f;--ink:#272c27;--muted:#62675e;--cream:#f5f1e7;--paper:#fffefa;--line:#e1ded1;--green:#244b3d}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b97c37;outline-offset:3px}.ribbon{background:var(--red);color:#fff6e8;text-align:center;font-size:12px;letter-spacing:.04em;padding:8px}.ribbon strong{margin-left:12px}.top{max-width:1220px;margin:auto;padding:25px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font:bold 35px/.95 Georgia,serif;letter-spacing:-1.7px;color:var(--red);text-decoration:none}.brand span{display:block;font:700 9px/1.5 system-ui,sans-serif;letter-spacing:2.3px;margin-top:10px;color:var(--ink)}.phone{text-decoration:none;font-size:11px;color:var(--muted);text-align:right}.phone b{display:block;font-size:14px;color:var(--ink)}main{max-width:1220px;padding:0 28px;margin:auto}.hero{padding:48px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.7px;margin:0 0 9px;color:var(--red)}h1{font:400 clamp(38px,4.4vw,59px)/1.05 Georgia,serif;letter-spacing:-1.9px;margin:0 0 18px}h1 em{color:var(--red);font-weight:400}h2{font:400 27px/1.15 Georgia,serif;letter-spacing:-.7px;margin:0}.intro{font-size:15px;color:var(--muted);margin:0;line-height:1.7}.stamp{width:156px;height:156px;flex-shrink:0;border:1.5px solid #ac4b4b;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--red);transform:rotate(9deg);margin-right:35px;outline:1px solid #ac4b4b;outline-offset:-8px}.stamp span{font-size:9px;font-weight:700;letter-spacing:2px}.stamp strong{font:italic 42px Georgia,serif;margin:1px 0 9px}.layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.16fr);gap:25px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:30px}.choices{position:sticky;top:20px}.section-title{display:flex;gap:13px;align-items:center;margin-bottom:25px}.step{color:var(--red);font:italic 29px Georgia,serif;border-right:1px solid var(--line);padding-right:15px}.section-title .eyebrow{margin-bottom:6px;font-size:9px}.section-title h2{font-size:24px}label,legend{font-size:12px;font-weight:750;display:block;margin:19px 0 7px}input,select{border:1px solid #cacdc2;background:#fffefa;color:var(--ink);width:100%;height:47px;padding:10px 12px;border-radius:4px;font-size:14px;min-width:0}input[type=number]{appearance:textfield}select{padding-right:22px}#guests{font-size:23px;font-weight:650}fieldset{margin:5px 0 0;border:0;padding:0}legend{padding:0;padding-top:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.two>div{min-width:0}.two label{margin-top:10px}.hint{font-size:11px;color:var(--muted);display:block;margin:6px 0 0;line-height:1.5}.error{color:#9a2023;font-size:12px}.style-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.style-switch label{position:relative;margin:0;cursor:pointer}.style-switch input{position:absolute;inset:0;opacity:0}.style-switch span{display:block;border:1px solid #cacdc2;border-radius:4px;padding:13px 10px}.style-switch b{display:block;font-size:13px}.style-switch small{font-size:10px;font-weight:400;color:var(--muted)}.style-switch input:checked+span{border:1.5px solid var(--red);background:#fcf0e9;color:var(--red)}.style-switch input:focus-visible+span{outline:3px solid #b97c37}.optional{font-size:10px;color:var(--muted);font-weight:400;margin-left:5px}.options{border-top:1px solid var(--line);margin-top:24px;padding-top:15px}.options summary,.assumptions summary{font-size:12px;font-weight:650;cursor:pointer}.options summary{display:flex;justify-content:space-between}.options[open] summary{margin-bottom:12px}.money-input{position:relative}.money-input>span{position:absolute;top:12px;left:12px;color:var(--muted)}.money-input input{padding-left:26px}.button{border:0;border-radius:4px;min-height:47px;padding:12px 16px;font-size:12px;font-weight:750;text-decoration:none;display:flex;justify-content:center;align-items:center;gap:16px}.primary{background:var(--red);color:#fff9eb}.primary:hover{background:var(--dark)}.secondary{border:1px solid #c8cbbb;background:transparent;color:var(--ink)}.secondary:hover{background:#eeeadd}form>.primary{width:100%;margin-top:23px;justify-content:space-between}.centered{text-align:center}.mini-note{border-top:1px solid var(--line);padding-top:19px;margin-top:23px;font-size:11px;color:var(--muted)}.mini-note b{color:var(--green)}.mini-note p{margin-bottom:0}.result{padding:0;overflow:hidden;box-shadow:0 10px 30px #282c2710}.result-header{background:var(--green);color:#fff9eb;padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:12px}.result-header .eyebrow{color:#c8d2b9;font-size:9px}.result-header h2{font-size:29px}.result-header p:last-child{font-size:11px;margin:8px 0 0;color:#d5ddcb}.badge{font-size:12px;border:1px solid #718a75;border-radius:50%;height:66px;min-width:66px;line-height:1.3;display:flex;flex-direction:column;align-items:center;justify-content:center}#resultBody{padding:25px 28px}.estimate{display:flex;align-items:end;justify-content:space-between;gap:12px}.estimate span{display:block;font-size:11px;color:var(--muted)}.estimate>div>strong{font:400 48px/1.15 Georgia,serif;color:var(--ink);display:block;margin-top:3px}.estimate .per-person{text-align:right;padding-bottom:6px}.estimate .per-person strong{font:500 22px system-ui,sans-serif;color:var(--red)}.budget-status{font-size:11px;padding:8px 10px;background:#f4eddd;color:#755124;border-radius:3px;margin:15px 0 0}.budget-status.good{background:#eaf0e5;color:var(--green)}.tax-note{font-size:10px;color:var(--muted);margin:8px 0 22px}.list-header{font-size:9px;font-weight:800;letter-spacing:1px;display:flex;justify-content:space-between;gap:8px;color:var(--muted);padding-bottom:8px;border-bottom:1px solid var(--line)}.list-header span:last-child{font-size:8px;letter-spacing:.4px}.item{padding:18px 0 15px;border-bottom:1px solid var(--line)}.item-head{display:flex;justify-content:space-between;gap:12px}.item h3{font-size:14px;margin:0;line-height:1.35}.item-head strong{font-size:14px;white-space:nowrap}.item p{font-size:10px;color:var(--muted);margin:5px 0 11px}.item-controls{display:flex;gap:10px;align-items:end}.quantity{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:3px;padding:3px 7px;flex:1;max-width:180px}.quantity label{font-size:10px;font-weight:500;margin:0;flex:1}.quantity input{height:28px;width:43px;padding:2px 3px;border:0;background:#f4f2e9;text-align:center;font-size:13px}.remove{border:0;background:none;color:#777b70;font-size:17px;padding:3px 7px;height:34px;margin-left:auto}.add-on{padding:5px 0 20px}.add-on>label{font:italic 18px Georgia,serif;color:var(--red)}.add-row{display:flex;gap:8px}.add-row select{flex:1;font-size:12px}.add-row button{white-space:nowrap}.coverage{background:#f0f2e9;padding:15px;border-radius:3px}.coverage h3{font-size:12px;margin:0 0 10px;color:var(--green)}#coverage{display:flex;gap:7px;flex-wrap:wrap}#coverage span{font-size:10px;border:1px solid #d2d8c5;padding:4px 7px;background:#fbfcf6}.coverage p{font-size:10px;margin:10px 0 0;color:var(--muted)}.coverage .error{color:#9a2023}.result-actions{display:flex;gap:10px;margin-top:23px}.result-actions .primary{flex:1}.result-actions .secondary{font-size:11px}.request-note{font-size:11px;color:var(--muted);line-height:1.6;margin:14px 0}.request-note a{color:var(--red);font-weight:750;white-space:nowrap}.assumptions{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.assumptions p{font-size:11px;color:var(--muted)}footer{margin:46px 0 30px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}footer .brand{font-size:26px}footer p,footer>a{font-size:11px;color:var(--muted)}dialog{max-width:520px;width:calc(100% - 30px);padding:25px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}dialog::backdrop{background:#0007}dialog p{font-size:12px}dialog textarea{width:100%;height:300px;resize:vertical;font:13px/1.5 system-ui,sans-serif;padding:12px;border:1px solid var(--line)}dialog .button{margin-top:12px;width:100%}[hidden]{display:none!important}@media(max-width:900px){.layout{grid-template-columns:1fr 1.1fr;gap:15px}.panel{padding:22px}.result{padding:0}.result-header,#resultBody{padding:22px}.stamp{margin-right:0;width:125px;height:125px}.stamp strong{font-size:35px}.result-actions{flex-direction:column}}@media(max-width:700px){.top{padding:22px 18px}.brand{font-size:29px}.brand span{font-size:8px;letter-spacing:1.5px}.phone{font-size:10px}.phone b{font-size:11px}main{padding:0 16px}.hero{padding:32px 0 27px}.hero .eyebrow{font-size:8px}h1{font-size:39px;letter-spacing:-1.8px}.intro{font-size:13px}.stamp{display:none}.layout{display:block}.choices{position:static;margin-bottom:20px}.result-header h2{font-size:26px}.panel{padding:22px}.result{padding:0}.result-actions{flex-direction:column}.ribbon{font-size:9px}.ribbon strong{margin-left:6px}footer{flex-wrap:wrap}footer .brand{font-size:26px}footer>p{font-size:10px}footer>a{flex-basis:100%}.desktop{display:none}}@media print{body{background:#fff;font-size:12px}.ribbon,.phone,.hero,.choices,.add-on,.result-actions,.request-note,.assumptions,footer,button,.hint{display:none!important}.top{padding:0 0 15px}.layout{display:block}main{padding:0}.result{box-shadow:none;border:0}.result-header{background:#fff;color:#000;padding:20px 0}.result-header .eyebrow,.result-header p:last-child{color:#333}#resultBody{padding:0}.item{break-inside:avoid}.quantity input{border:0}.coverage{break-inside:avoid}.estimate>div>strong{font-size:34px}.budget-status{background:none;padding:0}a{text-decoration:none}}

.print-note{display:none}@media print{.print-note{display:block;font-size:10px;color:#444;margin-top:20px}}
