*{box-sizing:border-box}body{margin:0;background:#EDEDEB;color:#3A3A3A;font:400 16px/1.5 Montserrat,Arial,sans-serif}
header{background:#F7F7F5;border-bottom:1px solid #D6D6D3;text-align:center;padding:40px 16px 32px}.logo{width:150px;height:auto;display:block;margin:0 auto 24px}
h1,h2{color:#181818;font-weight:600;text-transform:uppercase;letter-spacing:.18em}h1{font-size:18px;margin:0 0 8px}h2{font-size:14px;margin:0 0 16px}
h2 span{display:inline-block;width:26px;height:26px;line-height:24px;border:1px solid #181818;border-radius:50%;text-align:center;font-size:13px;letter-spacing:0;margin-right:8px}
h2 em{font-style:normal}.lede{color:#6E6E6E;font-size:14px;max-width:520px;margin:0 auto}
a{color:#181818;text-decoration:underline;text-decoration-style:solid;text-decoration-thickness:1px;text-underline-offset:2px}
.photo{margin:0;background:#fff;padding:12px;box-shadow:rgba(0,0,0,.08) 0 2px 10px}.photo img{display:block;width:100%;height:auto}
.hero{max-width:828px;margin:28px auto 0}
main{max-width:860px;margin:0 auto;padding:24px 16px 40px}
.step{background:#fff;border:1px solid #D6D6D3;padding:24px 20px;margin:0 0 16px}
.cards{display:grid;grid-template-columns:1fr;gap:12px}
.card{position:relative;font:inherit;color:#3A3A3A;background:#fff;border:1px solid #D6D6D3;border-radius:0;padding:18px 16px;min-height:72px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.card:hover:not(:disabled){border-color:#888}
.card b{color:#181818;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:14px;padding-right:22px}.card small{color:#6E6E6E;font-size:13px}
.card .p{color:#181818;font-size:14px}
.card[aria-pressed=true],.card.locked{border:2px solid #181818;padding:17px 15px}
.card[aria-pressed=true]::after,.card.locked::after{content:"";position:absolute;top:8px;right:8px;width:18px;height:18px;background:#181818 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4 4 10-10' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") center/12px no-repeat}
.card:disabled{opacity:.45;cursor:not-allowed}.card.locked{cursor:default;opacity:1}.lock{display:flex;align-items:center;gap:6px;color:#3A3A3A}
.row{display:grid;gap:16px}label{display:block;font-size:13px;color:#6E6E6E;text-transform:uppercase;letter-spacing:.12em}
input,textarea,select{display:block;width:100%;margin-top:6px;font:inherit;font-size:16px;color:#181818;background:#fff;border:1px solid #D6D6D3;border-radius:0;padding:14px}
select{padding:14px 10px}input:focus,textarea:focus,select:focus{outline:2px solid #181818;outline-offset:-1px}
.stepper{display:flex;align-items:center;gap:12px;margin-top:6px}.stepper button{width:52px;height:52px;font:inherit;font-size:22px;color:#181818;background:transparent;border:1px solid #181818;border-radius:0;cursor:pointer}
.stepper button:hover{background:#F7F7F5}.stepper output{font-size:20px;color:#181818;min-width:28px;text-align:center}
.note{color:#6E6E6E;font-size:13px}
.estwrap{display:grid;gap:16px;margin:0 0 16px}.estwrap:has(#est[hidden]) .side{display:none}
.side img{max-height:520px;object-fit:cover;object-position:50% 30%}
.estimate{background:#181818;color:#fff;border:1px solid #181818;padding:24px 20px}.estimate h2{color:#fff}.estimate .note{color:#a8a8a8}.estimate a{color:#fff}
.total{font-size:15px;color:#a8a8a8;text-transform:uppercase;letter-spacing:.12em;margin:0 0 12px}.total strong{display:block;color:#fff;font-weight:600;font-size:32px;letter-spacing:.04em}
.total s{display:block;color:#888;font-size:16px;letter-spacing:.04em;margin-top:4px}
#lines{list-style:none;padding:0;margin:0 0 12px}#lines li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #333;font-size:14px}#lines li span:last-child{white-space:nowrap}
.btn{display:inline-block;font:inherit;font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:13px;background:#181818;color:#fff;border:1px solid #181818;border-radius:0;padding:16px 24px;text-decoration:none;cursor:pointer;width:100%;text-align:center;margin-top:8px}
.btn:hover{background:#3A3A3A}.estimate .btn{background:#fff;color:#181818;border-color:#fff}.estimate .btn:hover{background:#EDEDEB}
.code{margin:0 0 12px}.link{font:inherit;font-size:13px;color:#a8a8a8;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px}
.estimate input{background:#080808;color:#fff;border-color:#444}#codebox label{margin-top:8px;color:#a8a8a8}.coderow{display:flex;gap:8px;margin-top:6px;max-width:360px}.coderow input{margin:0;text-transform:uppercase}
.coderow button{font:inherit;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:#fff;background:transparent;border:1px solid #fff;border-radius:0;padding:0 16px;cursor:pointer}
form label{margin-bottom:16px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
fieldset.date{border:0;padding:0;margin:0 0 16px;display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:8px}fieldset.date legend{font-size:13px;color:#6E6E6E;text-transform:uppercase;letter-spacing:.12em;padding:0;margin-bottom:6px}
.addon .ah{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding-right:22px}.addon .ah b{flex:1;min-width:0;letter-spacing:.06em;font-size:13px;padding-right:0}.addon .p{white-space:nowrap;text-align:right}.addon{padding:16px 14px}
footer{text-align:center;color:#CFCFCF;font-size:13px;padding:28px 16px;background:#2A2A2A}footer p{margin:8px 0 0}.flogo{width:120px;height:auto}footer a{color:#CFCFCF}
[hidden]{display:none!important}
@media(max-width:719px){.hero img{aspect-ratio:3/2;object-fit:cover;object-position:80% 60%}}
@media(min-width:720px){.logo{width:180px}.cards.two,.cards{grid-template-columns:1fr 1fr}.cards.three{grid-template-columns:repeat(3,1fr)}.row{grid-template-columns:1fr 1fr}.btn{width:auto}
.card small,label,fieldset.date legend{font-size:12px}.addon .ah b{letter-spacing:.12em;font-size:14px}
.estwrap{grid-template-columns:35% 1fr;align-items:start}.side img{max-height:none}}
