/* GCT quote pages. Isolated classes; existing weather, science and client pages are unaffected. */
body.gct-revenue{--quote-ink:#172b30;--quote-muted:#465c62;--quote-accent:#075d5a;--quote-line:#cddad8;--quote-paper:#f5f7f3}
.quote-hero,.quote-offers,.quote-process,.quote-contact,.quote-policy{max-width:1180px;margin-inline:auto;padding:clamp(2.2rem,5vw,4.5rem) clamp(1rem,4vw,2.5rem);color:var(--quote-ink);background:var(--quote-paper);border-radius:1.15rem}
.quote-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.quote-hero>*{min-width:0}.quote-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;font-weight:800;color:var(--quote-accent);margin:0 0 .85rem}
.quote-hero h1,.quote-contact h1,.quote-policy h1{font-size:clamp(2.3rem,4.8vw,4.2rem);letter-spacing:-.045em;line-height:1.08;margin:0;max-width:19ch;overflow-wrap:break-word}
.quote-lede{font-size:clamp(1.05rem,1.6vw,1.24rem);line-height:1.65;color:var(--quote-muted);max-width:67ch;margin:1.25rem 0}
.quote-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.5rem}
.quote-button,.quote-submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.2rem;border:2px solid var(--quote-accent);border-radius:.65rem;background:var(--quote-accent);color:#fff;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;line-height:1.35;text-align:center}
.quote-button:hover,.quote-submit:hover{background:#123e41;border-color:#123e41;color:#fff}.quote-button.secondary{background:#fff;color:var(--quote-accent)}
.quote-button:focus-visible,.quote-submit:focus-visible,.quote-contact input:focus-visible,.quote-contact textarea:focus-visible,.quote-contact a:focus-visible{outline:3px solid #08798a;outline-offset:4px}
.quote-board{background:#123e41;color:#fff;padding:clamp(1.3rem,3vw,2rem);border-radius:1.15rem;border:1px solid #235b5c;box-shadow:0 20px 44px #163d3915}
.quote-board h2{font-size:clamp(1.45rem,2.1vw,1.9rem);line-height:1.2;letter-spacing:-.025em;margin:0 0 1.1rem;color:#fff}.quote-board ol{list-style:none;padding:0;margin:0;counter-reset:quote-step}
.quote-board li{counter-increment:quote-step;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.6rem;border-top:1px solid #537779;padding:1rem 0;color:#f4f9f7;line-height:1.5}
.quote-board li::before{content:"0" counter(quote-step);font-weight:800;color:#c6eee5}.quote-board li strong{display:block;color:#fff;font-size:1rem}.quote-board p{font-size:.89rem;color:#dbeae7;margin:.8rem 0 0}
.quote-offers{padding-top:2.2rem}.quote-offers h2,.quote-process h2,.quote-policy h2,.quote-contact h2{font-size:clamp(1.65rem,3.1vw,2.5rem);line-height:1.2;letter-spacing:-.03em;margin:.4rem 0 1rem;color:var(--quote-ink)}
.quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.quote-card{min-width:0;background:#fff;border:1px solid var(--quote-line);border-radius:1rem;padding:1.3rem}
.quote-card h3{font-size:1.2rem;line-height:1.35;margin:0 0 .7rem;color:var(--quote-ink)}.quote-card p,.quote-process p,.quote-policy p{color:var(--quote-muted);font-size:1rem;line-height:1.65;margin:.5rem 0}
.quote-process{border-top:1px solid var(--quote-line);padding-top:2.2rem}.quote-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding-left:1.3rem}.quote-process li{padding-left:.25rem;color:var(--quote-muted)}.quote-process li strong{display:block;color:var(--quote-ink);margin-bottom:.4rem}
.quote-contact{max-width:1100px}.quote-contact h1{max-width:24ch}.quote-contact-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:1.5rem;margin-top:2rem;align-items:start}.quote-contact-layout>*{min-width:0}
.quote-form{background:#fff;border:1px solid var(--quote-line);padding:clamp(1rem,3vw,1.7rem);border-radius:1rem;scroll-margin-top:1rem}.quote-form h2{font-size:1.45rem;margin:0 0 .65rem}.quote-form p,.quote-help p,.quote-help li{color:var(--quote-muted);font-size:.96rem;line-height:1.6}
.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.quote-fields>div{min-width:0}.quote-fields .wide{grid-column:1/-1}.quote-contact label{display:block;font-weight:750;color:var(--quote-ink);margin:.35rem 0 .4rem}.quote-contact label span{font-weight:500;font-size:.87rem}
.quote-contact input,.quote-contact textarea{display:block;width:100%;min-width:0;max-width:100%;font:inherit;font-size:1rem;color:#172b30;background:#fff;border:1px solid #829a9f;border-radius:.45rem;padding:.72rem;line-height:1.45}
.quote-contact textarea{min-height:170px;resize:vertical}.quote-contact ::placeholder{color:#586e73;opacity:1}.quote-hint{font-size:.88rem!important;margin:.4rem 0 .8rem}.quote-notice{border-top:1px solid var(--quote-line);padding-top:1rem;margin-top:1.2rem}.quote-submit{margin-top:.4rem;width:100%}
.quote-help{background:#e8f0eb;border:1px solid var(--quote-line);border-radius:1rem;padding:1.3rem}.quote-help h2{font-size:1.3rem;margin-top:0}.quote-help a{overflow-wrap:anywhere;color:#075d5a;font-weight:700}.quote-help ul{padding-left:1.2rem}.quote-contact .quote-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.quote-short-note{font-size:.9rem;color:var(--quote-muted);line-height:1.55;max-width:70ch}.quote-links{display:flex;gap:1rem;flex-wrap:wrap;padding-top:.8rem}.quote-links a{font-weight:750;color:#075d5a}
body.gct-revenue .contact-band{max-width:1130px}body.gct-revenue .contact-band h2{font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.15}
@media(max-width:760px){.quote-hero,.quote-contact-layout{grid-template-columns:minmax(0,1fr)}.quote-hero{padding-top:2.2rem;gap:1.6rem}.quote-grid,.quote-process ol{grid-template-columns:minmax(0,1fr)}.quote-offers,.quote-process{padding-top:1.8rem;padding-bottom:2rem}.quote-hero h1,.quote-contact h1,.quote-policy h1{font-size:clamp(2.1rem,8.8vw,3.4rem)}.quote-board h2{font-size:1.5rem}.quote-process ol{gap:1rem}.quote-buttons{margin-top:1.1rem}.quote-button{flex-grow:1}}
@media(max-width:440px){.quote-fields{grid-template-columns:minmax(0,1fr)}.quote-fields .wide{grid-column:auto}.quote-button{width:100%}.quote-hero,.quote-contact,.quote-policy{padding-inline:1rem}.quote-hero h1,.quote-contact h1,.quote-policy h1{font-size:2.15rem;line-height:1.1}.quote-board{padding:1.2rem}}
@media(prefers-reduced-motion:reduce){body.gct-revenue,body.gct-revenue *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
