/* Shared NotaryNow-inspired experience, adapted to roofing. */
.btn,.nav a.cta,.sticky a{background:#e7c458!important;color:#0f2540!important}.top{background:#0f2540!important}.badge{color:#69510d!important}
:root{--roof-navy:#0f2540;--roof-gold:#e7c458;--roof-cream:#f8f5ec;--roof-ink:#172d46;--roof-muted:#526275}
body{color:var(--roof-ink);background:#fff;line-height:1.65}h1,h2,h3{letter-spacing:-.025em}h1{font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.1}.top{background:var(--roof-navy);color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.025em}.hero{background:var(--roof-navy);color:#fff}.hero .grid{padding-top:66px;padding-bottom:66px}.hero h1 em,.brand span{color:var(--roof-gold)}.nav .brand span{color:#785b0e}.nav .wrap{gap:16px}.roof-network-link{margin-left:auto;font-size:.9rem;font-weight:700;white-space:nowrap}.nav a.cta,.btn,.sticky a{background:var(--roof-gold);color:var(--roof-navy);border:1px solid transparent;box-shadow:none}.btn:hover,.nav a.cta:hover{background:#f3d67b}.eyebrow{color:#f5df99;background:#ffffff0a;border-color:#ffffff35}.sub{color:#e1e7ee}.trust{gap:8px}.trust b{font-size:.85rem;font-weight:600;color:#f6f7f9}.card{border:1px solid #dce2e9;box-shadow:0 14px 44px #00000016;border-radius:20px}.card h2,.section-title,.mini h3{color:var(--roof-navy)}.badge{color:#69510d;background:#fbf3d8}.soft{background:var(--roof-cream)}.notice{background:#f8f5ec;color:#4b4535;border-color:var(--roof-gold)}.muted,.mini p{color:var(--roof-muted)}.field label{font-size:.88rem}.field input,.field select,.field textarea{border-color:#aeb9c6;color:var(--roof-ink)}.field select{min-height:50px}.field textarea{resize:vertical}.audit-consent{line-height:1.6}.audit-consent a{text-decoration:underline}.roof-help-button{border:1px solid #b5c1d0;padding:12px 18px;border-radius:100px;min-height:46px;font:inherit;font-weight:700;cursor:pointer;background:#fff;color:var(--roof-navy);margin:10px 0}.hero .roof-help-button{margin-left:8px;background:transparent;color:#fff;border-color:#ffffff80}.roof-kicker{text-transform:uppercase;font-size:.78rem;letter-spacing:.15em;font-weight:800;color:#705810}.roof-footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:36px}.roof-footer-grid h2{font-size:1rem;color:#fff;margin:0 0 14px}.roof-footer-grid a{display:block;padding:5px 0;min-height:36px}.roof-footer-cities{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.roof-footer-bottom{margin-top:24px;padding-top:22px;border-top:1px solid #ffffff26}.roof-footer-grid b{color:#fff}footer{background:var(--roof-navy);color:#d6dee9}.final{background:var(--roof-navy)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #3469a0;outline-offset:4px}.hero a:focus-visible,.hero button:focus-visible,footer a:focus-visible{outline-color:var(--roof-gold)}section[id],form[id]{scroll-margin-top:100px}summary{min-height:44px;padding:4px 0}.roof-chat-launcher{position:fixed;right:22px;bottom:24px;z-index:40;border:1px solid #fff;background:var(--roof-navy);color:#fff;border-radius:50px;padding:14px 20px;min-height:50px;font:inherit;font-weight:700;box-shadow:0 6px 24px #0003;cursor:pointer}.roof-chat-launcher small{display:block;font-size:.68rem;color:#f3d679;font-weight:600}.roof-chat{position:fixed;inset:auto 20px 20px auto;margin:0;width:min(480px,calc(100vw - 32px));height:min(740px,calc(var(--roof-viewport,100dvh) - 40px));max-height:calc(var(--roof-viewport,100dvh) - 40px);max-width:none;border:1px solid #dce2e9;border-radius:20px;padding:0;background:#fff;color:var(--roof-ink);box-shadow:0 24px 80px #0005;overflow:hidden}.roof-chat[open]{display:flex;flex-direction:column}.roof-chat::backdrop{background:#081d3290}.roof-chat-head{background:var(--roof-navy);color:#fff;padding:20px;display:flex;gap:12px;align-items:start;flex-shrink:0}.roof-chat-head h2{font-size:1.15rem;margin:0;color:#fff}.roof-chat-head p{margin:4px 0 0;font-size:.8rem;color:#dce5ef}.roof-chat-close{margin-left:auto;border:1px solid #ffffff60;color:#fff;background:none;border-radius:50%;width:44px;height:44px;flex-shrink:0;font-size:1.4rem;cursor:pointer}.roof-chat-body{padding:22px;overflow:auto;overscroll-behavior:contain;flex:1}.roof-chat-body h3{font-size:1.3rem;line-height:1.3;margin:6px 0 14px}.roof-chat-body p{margin:0 0 18px;font-size:.95rem}.roof-chat-progress{font-size:.75rem!important;font-weight:800;color:#6a530f;text-transform:uppercase;letter-spacing:.06em}.roof-chat-options{display:grid;gap:10px}.roof-chat-options button{font:inherit;text-align:left;background:#fff;border:1px solid #b6c1cd;border-radius:12px;padding:13px 14px;cursor:pointer;min-height:48px;color:var(--roof-ink)}.roof-chat-options button:hover{background:var(--roof-cream);border-color:#8a7131}.roof-chat-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.roof-chat-actions button{font:inherit;padding:12px 16px;min-height:46px;border:1px solid #b6c1cd;border-radius:12px;cursor:pointer;color:var(--roof-navy);background:var(--roof-gold);font-weight:700}.roof-chat-actions button.secondary{background:#fff}.roof-chat-label{display:block;font-weight:700;margin-bottom:6px}.roof-chat-input{width:100%;min-height:50px;border:1px solid #9baabb;border-radius:10px;padding:12px;font:inherit;color:var(--roof-ink)}.roof-chat-foot{padding:12px 20px;border-top:1px solid #dce2e9;background:var(--roof-cream);font-size:.74rem;flex-shrink:0}.roof-chat-foot a{text-decoration:underline}.roof-chat-error{color:#a32119;font-weight:700;margin-top:10px!important}.roof-chat-summary{margin:0;display:grid;grid-template-columns:100px 1fr;gap:10px;font-size:.9rem}.roof-chat-summary dt{font-weight:700}.roof-chat-summary dd{margin:0;overflow-wrap:anywhere}.roof-review-notice{padding:14px;background:var(--roof-cream);border-left:4px solid var(--roof-gold);font-weight:600}.roof-chat-body :focus{scroll-margin:16px}
@media(max-width:850px){.hero .grid{padding-top:38px;padding-bottom:38px;gap:32px}.roof-footer-grid{grid-template-columns:1fr}.roof-chat-launcher{bottom:96px;right:12px;font-size:.85rem;padding:10px 16px}.roof-chat{inset:auto 8px 8px auto;width:calc(100vw - 16px);height:calc(var(--roof-viewport,100dvh) - 16px);max-height:calc(var(--roof-viewport,100dvh) - 16px);border-radius:16px}.nav .wrap{flex-wrap:wrap;padding:12px 16px}.roof-network-link{font-size:.82rem}.hero .roof-help-button{margin-left:0;display:block}.card{padding:20px}.roof-chat-head{padding:16px}.roof-chat-body{padding:20px}.roof-chat-foot{padding:10px 16px}.roof-footer-grid a{min-height:44px}.sticky{z-index:20;padding-bottom:max(12px,env(safe-area-inset-bottom))}.brand{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.rv{opacity:1!important;transform:none!important}}

/* 2026-10-15 chat-height hotfix: use the whole visible viewport, including iOS keyboard resizing. */
dialog.roof-chat{inset:auto;top:calc(var(--roof-viewport-top,0px) + 12px);right:12px;bottom:auto;left:auto;width:min(520px,calc(100vw - 24px));height:calc(var(--roof-viewport,100dvh) - 24px);max-height:none;min-height:0;margin:0;box-sizing:border-box;overflow:hidden}
dialog.roof-chat[open]{display:flex;flex-direction:column}
.roof-chat-head{padding:14px 18px;min-height:0;flex:0 0 auto}
.roof-chat-body{flex:1 1 0%;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:18px 20px;scroll-padding-block:16px}
.roof-chat-body h3{font-size:1.2rem}
.roof-chat-body p{margin-bottom:14px}
.roof-chat-input{display:block;margin-bottom:16px;font-size:16px;min-height:48px;scroll-margin-block:18px}
.roof-chat-foot{padding:9px 18px;line-height:1.4;flex:0 0 auto}
.roof-chat-actions{margin-top:12px;padding-bottom:4px}
@media(max-width:850px){dialog.roof-chat{top:var(--roof-viewport-top,0px);left:0;right:0;bottom:auto;width:100%;height:var(--roof-viewport,100dvh);max-height:none;border:0;border-radius:0}.roof-chat-head{padding-top:max(12px,env(safe-area-inset-top));padding-inline:16px;padding-bottom:10px}.roof-chat-body{padding:16px}.roof-chat-foot{padding:8px 16px max(8px,env(safe-area-inset-bottom))}.roof-chat-head p{margin:2px 0 0;font-size:.75rem}.roof-chat-head h2{font-size:1rem}.roof-chat-summary{grid-template-columns:80px minmax(0,1fr)}}
.roof-chat.roof-keyboard .roof-chat-head{padding-block:8px}.roof-chat.roof-keyboard .roof-chat-head p{display:none}.roof-chat.roof-keyboard .roof-chat-foot{display:none}.roof-chat.roof-keyboard .roof-chat-body{padding-block:12px}
/* One continuous homeowner request, with a quiet editorial homepage. */
[hidden]{display:none!important}.roof-premium .hero .grid{grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding-block:76px}.roof-premium h1{font-size:clamp(2.15rem,3.7vw,3.65rem);line-height:1.12;letter-spacing:-.045em}.roof-premium .sub{font-size:1.05rem;line-height:1.8;max-width:610px}.roof-premium .card{padding:30px}.roof-premium .card h2{font-size:1.6rem;line-height:1.25}.roof-kicker{margin-bottom:12px}.roof-assurance{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.82rem;font-weight:700;margin:26px 0}.roof-assurance span:before{content:'✓';color:#e7c458;margin-right:7px}.roof-hero-note{font-size:.85rem;color:#cbd5e1;max-width:510px}.roof-text-link{display:inline-block;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding-block:10px;font-weight:600}.roof-start-options{display:grid;gap:10px;margin:22px 0 16px}.roof-start-options button{display:flex;justify-content:space-between;gap:14px;text-align:left;align-items:center;padding:16px;border:1px solid #b5c0cc;border-radius:12px;background:#fff;font:inherit;font-size:.94rem;font-weight:600;cursor:pointer;color:#0f2540;min-height:54px}.roof-start-options button:hover{background:#f8f5ec;border-color:#846a22}.roof-start-options span{color:#866b1d}.roof-entry-note{font-size:.78rem!important;color:#526275!important;line-height:1.6}.roof-care-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.roof-care-grid p{color:#526275;line-height:1.8}.roof-care-list article{border-top:1px solid #d7d5cb;padding:18px 0}.roof-care-list h3{margin:0 0 8px}.roof-care-list p{margin:0}.roof-step-number{display:block;font-size:.85rem;font-weight:800;color:#7b6015;margin-bottom:18px}.roof-premium .mini{padding:28px}.roof-premium section:not(.hero){padding-block:72px}.roof-request-form{margin:0}.roof-request-step{padding:0!important;margin:0;border:0}.roof-request-form .field{margin:14px 0}.roof-request-form .field label{display:block;color:#172d46;font-weight:700;font-size:.88rem;margin-bottom:6px}.roof-request-form input:not([type=checkbox]):not([type=hidden]),.roof-request-form select,.roof-request-form textarea{display:block;width:100%;box-sizing:border-box;min-height:48px;border:1px solid #aeb9c6;border-radius:10px;padding:12px;font:inherit;font-size:16px;background:#fff;color:#172d46;scroll-margin-block:18px}.roof-request-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.roof-request-form .roof-next{width:100%;margin-top:12px}.roof-request-form .roof-chat-actions .roof-next{width:auto;margin:0}.roof-request-form .roof-request-summary{grid-template-columns:90px minmax(0,1fr);padding:16px;background:#f8f5ec;border-radius:12px}.roof-review-expectation{font-size:.85rem!important;margin-top:18px!important}.roof-request-form details{padding:12px;background:#f8f5ec;border:1px solid #d5dce4;border-radius:12px}.roof-request-form .form-status{font-size:.9rem;color:#172d46}.roof-request-form .audit-consent{font-size:.85rem;display:block;line-height:1.6}.roof-request-form .g-recaptcha{overflow-x:auto}.roof-request-form [type=submit]{background:#e7c458;color:#0f2540;min-height:50px}.roof-premium .nav .wrap{max-width:1120px}.roof-premium .final p{color:#e0e7ef}.roof-premium .topbar{background:#0f2540;color:#fff;text-align:center;padding:9px 16px;font-size:.8rem}
@media(max-width:850px){.roof-premium .hero .grid{grid-template-columns:1fr;padding-block:36px;gap:28px}.roof-care-grid{grid-template-columns:1fr;gap:24px}.roof-premium section:not(.hero){padding-block:44px}.roof-premium .card{padding:22px}.roof-premium h1{font-size:2.3rem}.roof-premium .sub{font-size:1rem}.roof-assurance{gap:10px 15px;font-size:.76rem}.roof-request-form .row{grid-template-columns:1fr;gap:0}.roof-request-form .roof-chat-actions{position:static}.roof-start-options button{font-size:.9rem}.roof-request-form .roof-request-summary{grid-template-columns:80px minmax(0,1fr)}}

.roof-decision-note{max-width:760px;margin:28px 0 18px;color:#526275}.roof-decision .mini h3{font-size:1.15rem;line-height:1.4}

/* Callback request: only name and phone at the contact step. */
.roof-request-recap{background:#f8f5ec;border-left:3px solid #e7c458;padding:10px 12px;font-weight:700}.roof-optional-details{margin:16px 0}.roof-optional-details summary{font-weight:600}.roof-request-form .audit-consent{margin:16px 0}.roof-premium .hero{padding:0}.roof-premium .hero .grid{padding-block:48px}.roof-premium h1{font-size:clamp(2rem,3.4vw,3.3rem)}
