.diagnostic-page{padding-bottom:32px}.diagnostic-header{padding:24px;text-align:center}.diagnostic-header img{display:block;width:190px;height:auto;margin:auto}.diagnostic-main{max-width:760px;margin:auto;padding:24px}.diagnostic-main h1{font-size:clamp(2rem,5vw,3.2rem);color:var(--brand-green)}.diagnostic-eyebrow{font-family:Montserrat,Arial,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.12em;color:var(--brand-green)}.diagnostic-note{font-size:.85rem;font-weight:400;line-height:1.6}.diagnostic-main fieldset{padding:24px 18px;margin:32px 0;border:1px solid var(--warm-gray)}.diagnostic-main legend{font-family:Montserrat,Arial,sans-serif;font-weight:600;color:var(--brand-green);padding:0 8px;font-size:1.05rem}.diagnostic-main label{display:block;margin:24px 0 10px;font-family:Lato,Arial,sans-serif;font-weight:400}.diagnostic-main input,.diagnostic-main select,.diagnostic-main textarea{font-family:Lato,Arial,sans-serif;font-size:18px;line-height:1.5;width:100%;max-width:100%;padding:12px;border:1px solid var(--brand-green);border-radius:4px;background:var(--white);color:var(--ink)}.diagnostic-main :focus-visible{outline:3px solid var(--brand-gold);outline-offset:3px}.diagnostic-button{display:block;padding:16px 22px;background:var(--brand-green);color:var(--white);font-family:Montserrat,Arial,sans-serif;font-size:.8rem;font-weight:700;text-align:center;text-decoration:none;border:1px solid var(--brand-green);border-radius:5px;width:100%;cursor:pointer;line-height:1.5}.booking-panel{border:1px solid var(--brand-gold);padding:24px;margin:32px 0}.booking-panel h3{margin-top:0;color:var(--brand-green)}#diagnostic-result{padding-top:28px}#diagnostic-result h2{color:var(--brand-green)}#answers-summary{margin:26px 0}#answers-summary dt{font-family:Montserrat,Arial,sans-serif;font-size:.8rem;font-weight:600;margin-top:20px;color:var(--brand-green)}#answers-summary dd{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.edit-answers{font:inherit;color:var(--brand-green);background:transparent;border:0;text-decoration:underline;cursor:pointer;min-height:44px}.diagnostic-return{margin-top:40px;text-align:center;font-size:.9rem}.diagnostic-return a{color:var(--brand-green)}[hidden]{display:none!important}

.contact-fields{display:grid;gap:0 20px}.project-route{margin:28px 0;padding:24px;background:var(--brand-green);color:var(--white);border:1px solid var(--brand-gold)}.project-route figcaption{font-family:Montserrat,Arial,sans-serif;font-weight:700;margin-bottom:20px}.project-route ol{display:grid;gap:22px;list-style:none;padding:0;margin:0}.project-route li{position:relative;min-width:0;padding:16px;border:1px solid var(--brand-gold)}.project-route li:not(:last-child)::after{content:"↓";position:absolute;bottom:-23px;left:50%;color:var(--gold-light);line-height:22px}.route-step{color:var(--gold-light);font-family:Montserrat,Arial,sans-serif;font-size:.7rem;font-weight:700}.project-route h3{font-size:1rem;margin:12px 0;color:var(--white)}.project-route p{margin:0;font-size:1rem;overflow-wrap:anywhere;white-space:pre-wrap}.diagnostic-main fieldset{min-inline-size:0}@media(min-width:680px){.contact-fields{grid-template-columns:1fr 1fr}.contact-fields>div:first-child{grid-column:1/-1}.project-route ol{grid-template-columns:repeat(3,minmax(0,1fr))}.project-route li:not(:last-child)::after{content:"→";bottom:auto;top:45%;left:auto;right:-20px}}

#email-result-panel{margin:32px 0;padding:24px;border:1px solid var(--warm-gray)}
#email-result-panel h3{margin-top:0;color:var(--brand-green)}
#email-result-panel label{display:flex;align-items:flex-start;gap:12px}
#email-result-panel input[type=checkbox]{width:1.2rem;height:1.2rem;flex:none;margin:4px 0 0;accent-color:var(--brand-green)}
#email-result-panel a{color:var(--brand-green)}
.diagnostic-button:disabled{opacity:.65;cursor:default}
#email-result-panel [role=status]:empty{margin:0}
