.sfm{max-width:640px;margin-top:0;color:var(--bone)}
.sfm *{box-sizing:border-box}
.sfm .sfm-ask{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-left:2px solid var(--bronze2);padding:16px 18px;margin-bottom:34px;background:linear-gradient(90deg,rgba(217,184,143,.08),rgba(217,184,143,0))}
.sfm .sfm-ask .m{font:400 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}
.sfm .sfm-ask .v{font:500 italic 26px/1.1 Corm,Bodoni,serif;color:var(--bone)}
.sfm .sfm-ask a{margin-left:auto;font:300 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.sfm .sfm-f{display:block;margin:0 0 30px;border:0;padding:0}
.sfm .sfm-l{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:300 13px/1.4 Hanken,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--bone);margin:0 0 12px;padding:0}
.sfm .sfm-l .q{color:var(--bronze);letter-spacing:.2em;font-size:13px;white-space:nowrap}
.sfm .sfm-l .q.o{color:var(--mute)}
.sfm input[type=text],.sfm input[type=email],.sfm input[type=tel],.sfm textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(236,228,214,.32);color:var(--bone);font:400 19px/1.3 Hanken,system-ui,sans-serif;padding:8px 0 12px;border-radius:0;outline:none}
.sfm textarea{border:1px solid rgba(236,228,214,.22);padding:14px;min-height:120px;resize:vertical;font-size:17px;line-height:1.5}
.sfm input::placeholder,.sfm textarea::placeholder{color:rgba(236,228,214,.32)}
.sfm input:focus,.sfm textarea:focus{border-color:var(--bronze2)}
.sfm .sfm-ch{display:flex;flex-wrap:wrap;gap:8px}
.sfm .sfm-ch label{position:relative;cursor:pointer}
.sfm .sfm-ch input{position:absolute;opacity:0;inset:0;margin:0;pointer-events:none}
.sfm .sfm-ch span{display:inline-block;padding:11px 15px;border:1px solid rgba(236,228,214,.24);font:400 15px/1.1 Hanken,system-ui,sans-serif;color:var(--bone);transition:all .25s;border-radius:999px}
.sfm .sfm-ch input:checked+span{border-color:var(--bronze2);background:rgba(217,184,143,.16);color:#fff;box-shadow:inset 0 0 0 1px var(--bronze2)}
.sfm .sfm-ch input:focus-visible+span{outline:2px solid var(--bronze2);outline-offset:2px}
.sfm .sfm-sel{position:relative}
.sfm .sfm-sel select{-webkit-appearance:none;appearance:none;width:100%;background:transparent;border:0;border-bottom:1px solid rgba(236,228,214,.32);border-radius:0;color:var(--bone);font:400 19px/1.3 Hanken,system-ui,sans-serif;padding:8px 32px 12px 0;outline:none}
.sfm .sfm-sel select:invalid{color:rgba(236,228,214,.38)}
.sfm .sfm-sel select option{color:#0a0908;background:#ece4d6}
.sfm .sfm-sel:after{content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;border:solid var(--bronze2);border-width:0 1px 1px 0;transform:translateY(-75%) rotate(45deg);pointer-events:none}
.sfm .sfm-int{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sfm .sfm-int label:first-child{grid-column:1/-1}
.sfm .sfm-int span{display:block;text-align:center;border-radius:999px}
.sfm .sfm-int label:first-child span{padding:20px 18px;font:500 italic 28px/1 Corm,Bodoni,serif;letter-spacing:.01em}
.sfm .sfm-int label:first-child span small{display:block;margin-top:6px;font:300 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:var(--mute)}
.sfm .sfm-cond{margin-top:16px;display:none}
.sfm .sfm-cond.on{display:block}
.sfm details.sfm-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0 34px}
.sfm details.sfm-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:22px 0}
.sfm details.sfm-more>summary::-webkit-details-marker{display:none}
.sfm summary .t{font:500 italic 30px/1 Corm,Bodoni,serif;color:var(--bone)}
.sfm summary .t small{font:300 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);font-style:normal;margin-left:10px;vertical-align:middle}
.sfm summary .pl{display:block;width:38px!important;height:38px!important;min-width:38px;padding:0!important;box-sizing:border-box;border:1px solid rgba(236,228,214,.4);border-radius:50%;position:relative;flex:none}
.sfm summary .pl{background:linear-gradient(var(--bronze2),var(--bronze2)) center/12px 1px no-repeat,linear-gradient(var(--bronze2),var(--bronze2)) center/1px 12px no-repeat}
.sfm details[open] summary .pl{background:linear-gradient(var(--bronze2),var(--bronze2)) center/12px 1px no-repeat}
.sfm .sfm-sub-h{font:400 13px/1.5 Hanken,system-ui,sans-serif;color:var(--mute);margin:-6px 0 26px}
.sfm .sfm-up{display:flex;align-items:center;gap:14px;border:1px dashed rgba(217,184,143,.45);padding:18px;cursor:pointer}
.sfm .sfm-up input{position:absolute;opacity:0;width:1px;height:1px}
.sfm .sfm-up b{width:40px;height:40px;border-radius:50%;border:1px solid var(--bronze2);display:grid;place-items:center;flex:none;color:var(--bronze2);font:300 22px/1 Hanken,sans-serif}
.sfm .sfm-up span{font:400 15px/1.35 Hanken,system-ui,sans-serif;color:var(--bone)}
.sfm .sfm-up small{display:block;color:var(--mute);font-size:13px;margin-top:3px}
.sfm .sfm-cb{display:flex;gap:14px;align-items:center;cursor:pointer;font:400 16px/1.35 Hanken,system-ui,sans-serif;color:var(--bone)}
.sfm .sfm-cb input{appearance:none;-webkit-appearance:none;width:24px;height:24px;border:1px solid rgba(236,228,214,.45);margin:0;flex:none;display:grid;place-items:center}
.sfm .sfm-cb input:checked{background:var(--bronze2);border-color:var(--bronze2)}
.sfm .sfm-cb input:checked:after{content:"";width:6px;height:11px;border:solid #0a0908;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.sfm .sfm-go{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--bone);color:#0a0908;border:0;padding:22px 24px;font:300 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
.sfm .sfm-go i{font-style:normal;font-size:18px;letter-spacing:0}
.sfm .sfm-note{font:300 13px/1.7 Hanken,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-top:18px}
.sfm .sfm-note a{color:var(--bronze2)}
/* Inquiry page (batch 10/28): split layout on desktop, photo band on phones. Form styles from the approved mockups (review-shots/form/). */
.dq{position:relative;color:var(--bone)}
.dq .dq-k{display:block;font:400 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);margin-bottom:22px}
.dq h1{font:400 clamp(48px,5.2vw,84px)/.95 Bodoni,Didot,serif;letter-spacing:-.025em;margin:0}
.dq .dq-sub{font:500 italic clamp(22px,2vw,27px)/1.3 Corm,Bodoni,serif;color:var(--bone);opacity:.86;margin:20px 0 0}
.dq .sfm{margin-top:52px}
.dq .crumbs{margin-bottom:28px}
.dq-ph{position:relative;overflow:hidden;background:#0a0908}
.dq-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;filter:saturate(.9) contrast(1.04)}
.dq-ph .sh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,5,4,.6) 0,rgba(6,5,4,0) 30%,rgba(6,5,4,0) 60%,rgba(6,5,4,.92) 100%)}
.dq-ph .cap{position:absolute;left:var(--pad);bottom:20px;font:300 13px/1 Hanken,system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--bone);opacity:.8}
.dq-ph{height:46vh;min-height:300px}
.dq-body{padding:28px var(--pad) 90px}
@media (min-width:1000px){
 .dq{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr)}
 .dq-ph{position:sticky;top:0;align-self:start;height:100vh;min-height:0}
 .dq-ph .sh{background:linear-gradient(90deg,rgba(6,5,4,0) 55%,rgba(6,5,4,.85) 100%),linear-gradient(180deg,rgba(6,5,4,.55) 0,rgba(6,5,4,0) 22%,rgba(6,5,4,0) 70%,rgba(6,5,4,.6) 100%)}
 .dq-ph .cap{left:40px;bottom:36px}
 .dq-body{padding:150px clamp(48px,6vw,104px) 110px clamp(48px,5vw,88px)}
 .dq-body .sfm{max-width:600px}
}
.sfm .sfm-ask[hidden]{display:none}
.sfm .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.sfm .sfm-err{display:none;font:400 13px/1.4 Hanken,system-ui,sans-serif;color:#e8a48a;margin-top:10px}
.sfm.tried .sfm-f.bad .sfm-err{display:block}
.sfm.tried .sfm-f.bad .sfm-l{color:#e8a48a}
.sfm.tried .sfm-f.bad input[type=text],.sfm.tried .sfm-f.bad input[type=email],.sfm.tried .sfm-f.bad input[type=tel],.sfm.tried .sfm-f.bad select{border-bottom-color:#e8a48a}
.sfm .sfm-status{font:400 15px/1.5 Hanken,system-ui,sans-serif;color:var(--bone);margin:0 0 18px}
.sfm .sfm-status:empty{display:none}
.sfm .sfm-status.warn{border:1px solid rgba(217,184,143,.5);padding:14px 16px;background:rgba(217,184,143,.08)}
.sfm .sfm-status a{color:var(--bronze2)}
.sfm .sfm-files{font:400 13px/1.5 Hanken,system-ui,sans-serif;color:var(--mute);margin-top:8px}
.sfm .sfm-go[disabled]{opacity:.6;cursor:progress}
.sfm .sfm-up:focus-within{outline:2px solid var(--bronze2);outline-offset:2px}
@media (max-width:420px){.sfm .sfm-ask a{margin-left:0}}
/* Option A (10/29): Buildertrend's lead form framed in our page. BT's own custom CSS (notes/bt-form-custom.css) styles inside the frame. */
.dq .iq-bt{margin-top:52px}
.iq-bt #btIframe{display:block;min-height:560px;border:0;background:transparent;color-scheme:normal}
.iq-bt .sfm-ask{flex-wrap:wrap}
.iq-bt .iq-hint{flex-basis:100%;margin:6px 0 0;font:500 italic 18px/1.35 Corm,Bodoni,serif;color:var(--mute)}
.iq-bt .sfm-note{margin-top:18px}
