/* Styles for CMS-only detail/optional sections; preserve the supplied homepage. */
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #168dc0;outline-offset:4px}
.details-link{color:#147cac;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.full{grid-column:1/-1}
#form-status{margin:0;padding:14px;border-radius:10px;background:#e7f7ef;color:#155e3d}
#form-status.error{background:#fff0f0;color:#942020}
.submit-btn:disabled{opacity:.7;cursor:default;transform:none}
.cms-dropdown{position:relative}
.cms-dropdown>div:first-child{display:flex;gap:5px;align-items:center}
.cms-sub-toggle{background:none;border:0;cursor:pointer;font-size:18px;color:var(--navy)}
.cms-submenu{position:absolute;top:100%;inset-inline-start:0;min-width:200px;padding:20px;background:white;box-shadow:var(--shadow);border-radius:12px;z-index:55}
.cms-submenu a{display:block;padding:8px}
.website-detail{max-width:900px;min-height:50vh}
.website-detail h1{font-size:clamp(30px,5vw,52px);line-height:1.3}
.website-detail>img{width:100%;max-height:480px;object-fit:cover;border-radius:24px;margin:24px 0}
.cms-prose{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.9;margin:24px 0}
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.article-grid article{padding:24px;border:1px solid var(--line);border-radius:var(--radius)}
.article-grid img{width:100%;height:200px;object-fit:cover;border-radius:12px}
.app-block{display:flex;gap:40px;align-items:center}
.app-block>img{width:min(40%,300px);border-radius:24px}
#faq details{border-bottom:1px solid var(--line);padding:18px 0}
#faq summary{cursor:pointer;font-weight:700}
@media(max-width:980px){.cms-submenu{position:static;box-shadow:none}.article-grid{grid-template-columns:1fr}}
@media(max-width:640px){.app-block{flex-direction:column}.app-block>img{width:min(80%,280px)}}

/* Separate service departments, using the existing website palette. */
.service-section-nav{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding-block:0 28px}
.service-section-nav:empty{display:none}
.service-section-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 22px;border:1px solid var(--line);border-radius:12px;color:var(--navy);background:#f7fbfe;font-weight:800}
.service-section-nav a:hover{background:var(--navy);color:#fff}
#services,#maintenance,#extras{scroll-margin-top:100px}
.maintenance-services{background:#fff;border-top:1px solid var(--line)}
.maintenance-services .service-row{background:#f7fbfe}
.service-copy,.service-image,.extra-card>div{min-width:0}
.service-copy h3,.service-copy p,.extra-card h3,.extra-card p{overflow-wrap:anywhere}
@media(max-width:480px){.service-section-nav{gap:8px}.service-section-nav a{flex:1 1 130px;padding-inline:12px}}

.maintenance-services .service-no{position:static;margin-block-end:14px;font-size:32px;line-height:1}
.service-row.no-image{grid-template-columns:1fr;min-height:220px}
.service-row.no-image .service-image{display:none}
.partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.partner{min-width:0;height:auto;min-height:132px;text-align:center}
.partner strong,.partner span{max-width:100%;overflow-wrap:anywhere}
@media(max-width:980px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.partner{min-height:110px}}
