/* Accessible guided inquiry and compact mobile identity. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-identity{display:none}html{scrollbar-color:var(--rose) var(--ink);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:#977174;border:3px solid var(--ink);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--rose)}::selection{background:var(--rose);color:var(--ink)}
@media(hover:hover) and (pointer:fine){body{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='28' viewBox='0 0 24 28'%3E%3Cpath d='M3 2v21l5-6 4 9 4-2-4-8h8Z' fill='%23bd8e91' stroke='%23131210' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 3 2,auto}a,button,summary,label:has(input[type=radio]){cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='14' cy='14' r='9' fill='%23131210' stroke='%23bd8e91' stroke-width='1.5'/%3E%3Ccircle cx='14' cy='14' r='3' fill='%23ecdfcd'/%3E%3C/svg%3E") 14 14,pointer}input,textarea{cursor:text}}
.quote-flow{margin-top:35px;padding:35px;background:var(--panel);border:1px solid var(--line)}.quote-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.quote-top .eyebrow{margin:0}.quote-count{font-size:11px;color:var(--muted);white-space:nowrap}.quote-progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:30px 0 40px;gap:10px}.quote-progress li{border-top:1px solid var(--line);padding-top:14px;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px}.quote-progress li>span{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--line);border-radius:50%;font-size:10px}.quote-progress .current{border-color:var(--rose);color:var(--cream)}.quote-progress .current>span,.quote-progress .complete>span{background:var(--rose);color:var(--ink);border-color:var(--rose)}.quote-step[hidden],.quote-flow [hidden]{display:none!important}.quote-step{min-height:300px}.quote-step h3{font-family:var(--serif);font-size:40px;outline:none;margin-bottom:15px}.quote-step p{font-size:13px}.quote-step fieldset{margin-top:30px}.quote-step legend{font-size:13px;color:var(--cream)}.quote-options{display:flex;flex-wrap:wrap;gap:10px}.quote-options label{position:relative;flex:1;min-width:120px}.quote-options input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.quote-options span{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px 18px;border:1px solid var(--line);font-size:12px;line-height:1.5;transition:background .2s,border .2s;cursor:inherit}.quote-options input:checked+span{border-color:var(--rose);background:#bd8e9118;box-shadow:inset 0 0 0 1px var(--rose)}.quote-options input:focus-visible+span{outline:2px solid var(--cream);outline-offset:4px}.quote-options label:hover span{border-color:var(--rose)}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.service-options label{min-width:0}.service-options span{display:flex;flex-direction:column;align-items:start;text-align:left;padding:24px;min-height:170px}.service-options b{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--rose);margin-bottom:14px}.service-options strong{font-size:17px;font-weight:500;margin-bottom:8px}.service-options small{font-size:11px;color:var(--muted)}.quote-nav{border-top:1px solid var(--line);padding-top:25px;margin-top:35px;display:flex;justify-content:space-between;gap:15px}.quote-next{margin-left:auto;min-width:150px}.quote-back{border:1px solid var(--line);padding:12px 24px;font-size:12px;min-height:48px}.quote-callout{border-left:2px solid var(--rose);padding:12px 18px;font-size:12px;color:var(--muted);margin-top:30px;background:#bd8e9108}.quote-flow .form-grid [data-quote-for]{display:contents}.quote-flow label{font-size:12px;color:var(--muted)}.quote-review{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line);margin:30px 0}.quote-review dt,.quote-review dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;overflow-wrap:anywhere}.quote-review dt{color:var(--muted)}.quote-status{margin-top:18px}.quote-message .text-link{margin-top:20px}
@media(max-width:960px){.info-strip{display:none}.header-call{display:none}.nav-wrap{display:grid;grid-template-columns:78px 1fr 44px;gap:18px;padding:8px 26px;min-height:92px}.nav-wrap .brand{margin:0}.mobile-identity{display:flex;justify-content:center;gap:28px;align-items:center}.mobile-identity>span{display:flex;align-items:center;gap:8px;font-size:10px;line-height:1.3;letter-spacing:.03em}.mobile-identity svg{width:24px;height:24px;stroke:var(--rose);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.nav-wrap .menu-toggle{margin:0;justify-content:center;min-width:44px;min-height:44px;padding:10px;font-size:0}.menu-lines{width:21px;height:12px}.nav-wrap nav{top:100%;max-height:calc(100dvh - 95px)}.scrolled .nav-wrap{padding:5px 26px;min-height:82px}.scrolled .logo{width:70px;height:70px}}
@media(max-width:640px){.nav-wrap{grid-template-columns:68px 1fr 44px;gap:12px;padding:7px 18px;min-height:84px}.scrolled .nav-wrap{padding:5px 18px;min-height:78px}.mobile-identity{gap:18px}.mobile-identity>span{flex-direction:column;gap:5px;text-align:center;font-size:9px;line-height:1.2}.mobile-identity svg{width:23px;height:23px}.nav-wrap nav{max-height:calc(100dvh - 84px)}.quote-flow{padding:24px 18px;margin-top:25px}.quote-top{gap:10px}.quote-top .eyebrow{font-size:8px;letter-spacing:.1em}.quote-count{font-size:10px}.quote-progress{gap:8px;margin:25px 0 30px}.quote-progress li{flex-direction:column;align-items:start;gap:7px;font-size:10px;padding-top:12px}.quote-step h3{font-size:34px}.quote-step{min-height:300px}.quote-step p{font-size:12px}.service-options{gap:10px}.service-options span{padding:17px 13px;min-height:185px}.service-options strong{font-size:14px}.service-options small{font-size:10px}.quote-options:not(.service-options){display:grid;grid-template-columns:1fr}.quote-options label{min-width:0}.quote-options span{font-size:12px}.quote-nav{padding-top:20px;margin-top:25px}.quote-next{min-width:135px}.quote-review{grid-template-columns:1fr 1.5fr;gap:0 15px}.quote-review dt,.quote-review dd{font-size:12px}.hero-copy{padding-top:42px}.quote-message textarea{font-size:13px}}
.quote-flow{scroll-margin-top:150px}@media(max-width:960px){.quote-flow{scroll-margin-top:105px}}
