/* Summit Roofing refinement layer — new content sections + type/hover polish. Existing summit.css untouched. */
.eyebrow{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#56735a;margin-bottom:22px}
.hero-kicker{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#b7c9b2;margin-bottom:26px}
.section-heading{align-items:flex-start;flex-wrap:wrap}
.section-heading>div{max-width:640px}
.section-heading>p{max-width:300px;font-size:14px;line-height:1.6;color:#496253}
em{transition:color .3s}
.intro:hover em,.section-heading:hover em{color:#3f6256}
.text-link{transition:gap .25s,border-color .25s}
.text-link:hover{border-color:#173e34}
.text-link:hover span{transform:translate(4px,-4px)}
.text-link span{display:inline-block;transition:transform .25s}
.button{position:relative;overflow:hidden}
.button:hover{box-shadow:0 10px 24px -12px rgba(23,62,52,.5)}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#c3d2c0;border:1px solid #c3d2c0;margin-top:10px}
.service-grid article{background:#f4f5ef;padding:38px 34px 32px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.service-index{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#56735a}
.service-grid svg{width:64px;height:45px;fill:none;stroke:#56735a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;margin:6px 0 14px;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.service-grid article:hover svg{transform:translateY(-4px)}
.service-grid h3{font-size:24px;letter-spacing:-.02em}
.service-grid p{font-size:15px;color:#35563e;margin:10px 0 16px;flex-grow:1}
.service-grid ul{margin:0 0 18px;padding:0;list-style:none;font-size:13px;color:#496253}
.service-grid li{padding:9px 0;border-top:1px solid #dde5d8}
.roof-guide{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;background:#183f35;color:#f4f5ef}
.roof-guide h2 em{color:#d3dfa6}
.roof-guide .eyebrow{color:#9db894}
.roof-guide p{font-size:16px;color:#d8e4d7;margin-top:18px}
.guide-safety{font-size:13px!important;border-left:2px solid #728975;padding-left:14px;color:#c9d8c6!important}
.guide-options{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.guide-options button{border:1px solid #728975;background:none;color:#f4f5ef;padding:12px 18px;font-size:14px;transition:background .25s,color .25s,border-color .25s}
.guide-options button:hover{border-color:#e4efad;color:#e4efad}
.guide-options button[aria-pressed=true]{background:#e4efad;color:#173e34;border-color:#e4efad}
.guide-answer{border-top:1px solid #5e7c69;padding-top:30px;min-height:280px}
.guide-answer .eyebrow{color:#9db894;margin-bottom:14px}
.guide-answer h3{font-size:clamp(26px,2.6vw,38px);line-height:1.12;margin-bottom:16px}
.guide-qualification{font-size:13px!important;color:#b9cbba!important;border-left:2px solid #728975;padding-left:14px}
.guide-answer .text-link{border-color:#728975;margin-top:22px}
#concern-status{display:block;font-size:12px;color:#a7c39c;margin-top:14px;min-height:18px}
.roof-details .detail-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:start;margin-top:14px}
.detail-drawing svg{width:100%;height:auto}
.detail-drawing p{font-size:12px;color:#496253;margin-top:14px}
.detail-list{list-style:none;margin:0;padding:0}
.detail-list li{display:flex;gap:22px;padding:22px 0;border-top:1px solid #c9d5c5}
.detail-list>li>span{flex:none;width:34px;height:34px;border:1px solid #183f35;border-radius:50%;display:grid;place-items:center;font-size:13px}
.detail-list h3{font-size:21px;letter-spacing:-.02em;margin-bottom:8px}
.detail-list p{font-size:14px;color:#486251}
.roof-faq{display:grid;grid-template-columns:1fr 1.25fr;gap:9%;align-items:start}
.roof-faq h2 em{color:#56735a}
.roof-faq>p{margin-top:24px;color:#486251;max-width:380px}
.faq-items details{border-top:1px solid #bac7b6}
.faq-items details:last-child{border-bottom:1px solid #bac7b6}
.faq-items summary{list-style:none;display:flex;align-items:center;gap:18px;padding:22px 0;cursor:pointer}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary h3{font-size:19px;letter-spacing:-.02em;line-height:1.3}
.faq-items .step-body{padding:0 26px 26px 0}
.faq-items .step-body p{font-size:15px;color:#486251}
.faq-items details[open] .step-body{animation:guide-fade .35s cubic-bezier(.16,1,.3,1)}
@keyframes guide-fade{from{opacity:.3;transform:translateY(-6px)}to{opacity:1;transform:none}}
.study-note{font-size:13px;color:#496253;margin-top:14px;max-width:520px}
@media(max-width:1050px){.service-grid{grid-template-columns:1fr 1fr}.roof-guide,.roof-details .detail-layout,.roof-faq{grid-template-columns:1fr;gap:34px}}
@media(max-width:760px){.service-grid{grid-template-columns:1fr}.service-grid article{padding:28px 22px}.guide-options button{flex:1 1 44%;padding:11px 12px;font-size:13px}.guide-answer{min-height:0}.detail-list li{gap:14px}.roof-faq summary{padding:18px 0}.roof-faq summary h3{font-size:17px}}
/* Explicit chapter boundaries, without adding empty spacer sections. */
.services{background:#e7ece2;border-top:1px solid #b8c8b3;border-bottom:1px solid #b8c8b3;padding-top:76px;padding-bottom:80px}
.services .section-heading{margin-bottom:36px;align-items:flex-end}
.service-grid{gap:24px;background:transparent;border:0}
.service-grid article{padding:28px 30px;gap:10px;border-top:3px solid #56735a}
.service-grid svg{margin:0 0 8px}
.service-grid p{margin:4px 0 10px;flex-grow:0}
.service-grid ul{width:100%;margin-bottom:6px}
.service-grid .text-link{margin-top:auto;padding-top:16px}
.roof-guide{border-bottom:6px solid #c1d2a6;padding-top:80px;padding-bottom:80px}
.roof-details{border-bottom:1px solid #b8c8b3;padding-top:80px;padding-bottom:80px}
.process{background:#e7ece2;border-bottom:1px solid #b8c8b3;padding-top:80px;padding-bottom:80px}
.roof-faq{background:#f4f5ef;border-bottom:6px solid #c1d2a6;padding-top:80px;padding-bottom:80px}
.roof-faq>div:first-child>p{margin-top:24px;color:#486251;max-width:400px}
.survey-context:empty{display:none}.survey-context{margin-top:20px;padding-left:14px;border-left:2px solid #d3dfa6;font-size:14px;color:#d8e4d7}
@media(max-width:760px){.services,.roof-guide,.roof-details,.process,.roof-faq{padding:56px 6%}.service-grid{gap:18px}.service-grid article{padding:24px 22px}.services .section-heading{margin-bottom:28px}.roof-faq>div:first-child>p{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.service-grid svg,.text-link span,.button{transition:none!important}}
