/* Coastal Snow & Ice - residential FAQ */
.ccsf{--ccsf-navy:#0F3A6B;--ccsf-sky:#2E9BD6;--ccsf-orange:#E8732B;--ccsf-ink:#1E2430;--ccsf-muted:#5d6676;--ccsf-line:#d6e3ef;
  max-width:1100px;margin:32px auto;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#e6f0f9 0%,#f5f9fc 70%,#ffffff 100%);color:var(--ccsf-ink);font-family:inherit;line-height:1.55;text-align:left;border:1px solid var(--ccsf-line)}
.ccsf *{box-sizing:border-box}
[data-ccs-snow]{position:relative;isolation:isolate}
.ccs-snowcanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.ccs-wait{opacity:0;transform:translateY(22px)}
.ccs-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.ccsf-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:36px;padding:48px 40px}
.ccsf-kicker{margin:0 0 6px;color:var(--ccsf-orange);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.ccsf-title{margin:0 0 12px;font-family:"Playfair Display",Lora,Georgia,serif;font-size:clamp(28px,3.6vw,40px);line-height:1.12;color:var(--ccsf-navy);text-wrap:balance}
.ccsf-sub{margin:0;color:var(--ccsf-muted);font-size:16px}
.ccsf-sub a,.ccsf-a a{color:var(--ccsf-navy);font-weight:700;text-decoration:underline;text-decoration-color:var(--ccsf-orange);text-underline-offset:3px}
.ccsf-list{display:flex;flex-direction:column;gap:12px;min-width:0}
.ccsf-q{background:rgba(255,255,255,.92);border:1px solid var(--ccsf-line);border-radius:14px;box-shadow:0 2px 10px rgba(15,58,107,.06);transition:box-shadow .2s,border-color .2s}
.ccsf-q:hover{border-color:#b9cfe3;box-shadow:0 6px 18px rgba(15,58,107,.1)}
.ccsf-q[open]{border-color:var(--ccsf-sky);box-shadow:0 8px 22px rgba(46,155,214,.18)}
.ccsf-q summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;font-weight:700;font-size:18px;color:var(--ccsf-navy)}
.ccsf-q summary::-webkit-details-marker{display:none}
.ccsf-q summary:focus-visible{outline:3px solid var(--ccsf-sky);outline-offset:2px;border-radius:12px}
.ccsf-ic{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e7f1fb;color:var(--ccsf-sky);transition:background .2s,color .2s,transform .4s}
.ccsf-ic svg{width:20px;height:20px}
.ccsf-q[open] .ccsf-ic{background:var(--ccsf-navy);color:#fff;transform:rotate(-12deg)}
.ccsf-qt{flex:1;min-width:0}
.ccsf-pm{position:relative;flex:0 0 22px;height:22px}
.ccsf-pm::before,.ccsf-pm::after{content:"";position:absolute;left:3px;right:3px;top:10px;height:2.5px;border-radius:2px;background:var(--ccsf-orange);transition:transform .3s}
.ccsf-pm::after{transform:rotate(90deg)}
.ccsf-q[open] .ccsf-pm::after{transform:rotate(0)}
.ccsf-a{overflow:hidden}
.ccsf-a p{margin:0;padding:0 18px 18px 70px;font-size:16.5px;color:var(--ccsf-ink)}
@media (max-width:820px){.ccsf-inner{grid-template-columns:1fr;gap:20px;padding:32px 18px}.ccsf-head{text-align:left}}
@media (max-width:520px){.ccsf{margin:20px auto;border-radius:14px}.ccsf-q summary{font-size:17px;padding:14px;gap:12px}.ccsf-ic{flex-basis:34px;height:34px}.ccsf-a p{padding:0 14px 16px 14px}}
@media (prefers-reduced-motion:reduce){.ccsf *{transition:none !important}}
