/* Commercial & fire doors: on the Pro dark system (jms_pro.css) with a few extras */
.cd-hero{position:relative;overflow:hidden;background:#07050c;color:#f5f5f7;min-height:clamp(560px,84vh,900px);display:grid;align-items:center}
.cd-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:78% 50%}
.cd-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,5,12,.96) 0%,rgba(7,5,12,.86) 30%,rgba(7,5,12,.45) 52%,rgba(7,5,12,.08) 70%,transparent 82%),linear-gradient(180deg,rgba(7,5,12,.5) 0%,transparent 22%)}
.cd-hero-copy{position:relative;z-index:1;padding-block:clamp(48px,8vh,96px)}
.cd-hero .j2-name{font-size:1.1rem;font-weight:600;margin-bottom:.8rem;color:#c983bf}
.cd-hero h1{font-size:clamp(2.6rem,5.4vw,4.6rem);line-height:.98;font-weight:700!important;color:#fff;max-width:12ch;margin:0}
.cd-hero .j2-sub{margin:1.3rem 0 1.6rem;color:#c9c9ce;max-width:34ch;font-size:clamp(1.05rem,1.4vw,1.3rem)}
.cd-hero .j2-links a{color:#d69ccd}
.cd-badges{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:2rem;color:#a1a1a6;font-size:.9rem}
.cd-badges b{display:block;color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}
@media (max-width:900px){.cd-hero{min-height:0;display:block}.cd-hero-photo{position:relative;height:auto;aspect-ratio:3/2;display:block}.cd-hero-shade{display:none}.cd-hero-copy{padding-block:36px 28px;text-align:center}.cd-hero h1{max-width:none}.cd-hero .j2-sub{margin-inline:auto}.cd-hero .j2-links,.cd-badges{justify-content:center}}

/* chips: the questions the estimator is walked through */
.cd-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:clamp(24px,3vw,40px) auto 0;padding:0;list-style:none;max-width:900px}
.cd-chips li{padding:.45rem .85rem;border:1px solid #2c2c31;border-radius:999px;background:#151518;color:#e5e5ea;font-size:.9rem}
.cd-chips li.cd-warn{border-color:rgba(201,131,191,.6);color:#e3b8dc}
.cd-warnline{margin:1.4rem auto 0;max-width:56ch;color:#a1a1a6;font-size:.95rem;text-align:center}

/* workflow: six numbered steps in a row */
.cd-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:clamp(36px,5vw,64px);counter-reset:s}
.cd-steps>div{border-top:1px solid rgba(245,245,247,.16);padding-top:1rem}
.cd-steps>div::before{counter-increment:s;content:"0" counter(s);display:block;color:#c983bf;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-bottom:.5rem}
.cd-steps h3{font-size:1.05rem;margin-bottom:.35rem}
.cd-steps p{margin:0;color:#a1a1a6;font-size:.9rem;line-height:1.45}
@media (max-width:900px){.cd-steps{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.cd-steps{grid-template-columns:1fr 1fr}}

/* anatomy figures: sheet-style images */
.cd-anatomy{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:clamp(36px,5vw,64px)}
.cd-anatomy figure{margin:0;background:#fff;border-radius:16px;padding:14px;text-align:center}
.cd-anatomy .cd-fig{height:220px;display:flex;align-items:center;justify-content:center}
.cd-anatomy img{max-height:100%;max-width:100%;object-fit:contain}
.cd-anatomy figcaption{margin-top:.6rem;color:#1d1d1f;font-size:.9rem;font-weight:500}
@media (max-width:900px){.cd-anatomy{grid-template-columns:1fr 1fr}}

/* recognised by */
.cd-logos{display:flex;gap:clamp(24px,4vw,64px);justify-content:center;align-items:center;flex-wrap:wrap;margin-top:clamp(28px,4vw,48px)}
.cd-logos figure{margin:0;text-align:center;max-width:300px}
.cd-logos img{height:64px;width:auto;background:#fff;border-radius:10px;padding:8px}
.cd-logos figcaption{margin-top:.6rem;color:#a1a1a6;font-size:.9rem}

/* handoff */
.cd-handoff .j2-btn-outline{display:inline-block;border:1.5px solid #c983bf;color:#e3b8dc;border-radius:999px;padding:.9rem 1.6rem;font-weight:600;margin:1.6rem .4rem 0}
.cd-handoff .j2-btn-outline:hover{background:#c983bf;color:#0b0b0d;text-decoration:none}
.cd-handoff .j2-btn{margin-right:.4rem}

/* the standalone site's button on dark: the demo band is dark already, so keep the two buttons distinct */
.cd-handoff .j2-btn{background:#fff;color:#000}
.j2-pro .j2-demo .j2-btn{color:#000}

/* phone: the long page name and the pill were wrapping in the section nav */
@media (max-width:560px){.j2-pro .j2-lnav .j2-name{font-size:1.05rem;line-height:1.15}.j2-pro .j2-lnav .j2-pill{white-space:nowrap;flex:0 0 auto}.j2-pro .j2-lnav .j2-wrap{gap:1rem}}
