/*
Theme Name: Ascent Orange
Template: premium-commercial
Version: 0.1.2
Text Domain: ascent-orange
Description: Ascent Cleaning's native WordPress presentation.
Requires PHP: 8.0
License: GNU General Public License v2 or later
*/
:root{--pc-ink:#242424;--pc-paper:#fff;--pc-accent:#ff5308;--pc-muted:#555;--pc-line:#dedbd8;--pc-serif:Roboto,Arial,sans-serif;--pc-sans:Roboto,Arial,sans-serif;--pc-gutter:clamp(24px,4vw,64px);--pcq-focus:#b83b00;--pcq-button-hover:#ad3300;--pcq-heading-weight:700;--pc-submenu-symbol:"+";--pc-submenu-open-symbol:"−"}
body{font-family:Roboto,Arial,sans-serif;font-size:17px;color:#242424;background:#fff}h1,h2,h3,h4{font-family:inherit;font-weight:700;letter-spacing:-.025em}h1{font-size:clamp(36px,4.5vw,62px);line-height:1.1}h2{font-size:clamp(28px,3vw,42px)}h3{font-size:24px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b83b00;outline-offset:4px}.pc-button,.wp-block-button__link,.ascent-main .pcq-submit{background:#d74100;color:#fff;border:0;border-radius:4px;font:700 16px/1.25 Roboto,Arial,sans-serif;min-height:48px;padding:14px 22px}.pc-button:hover,.pc-nav .pc-nav-cta:hover,.wp-block-button__link:hover,.ascent-main .pcq-submit:hover{background:#ad3300;color:#fff}.pc-header{background:#fff;border-bottom:3px solid #ff5308}.pc-header>.pc-wrap{min-height:96px}.ascent-brand{display:block;flex:none;width:230px;max-width:52vw}.ascent-brand img{width:100%;height:auto;object-fit:contain}.pc-nav a{font-family:inherit;font-size:15px;font-weight:600}.pc-nav a:hover,.pc-nav a:focus-visible{color:#b83b00;text-decoration:underline}.pc-nav .pc-nav-cta{font-size:16px}.pc-nav .pc-submenu-toggle{min-width:44px;min-height:44px;color:#242424}.pc-js .pc-nav li:hover>.sub-menu[hidden]{display:none!important}
.ascent-hero{position:relative;isolation:isolate;color:white;background:#242424;padding:clamp(48px,6vw,88px) 0}.ascent-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.ascent-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#161616df 0%,#161616a3 58%,#16161666 100%)}.ascent-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:clamp(48px,7vw,112px);align-items:center}.ascent-hero-copy{max-width:660px;min-width:0}.ascent-hero h1{color:#fff;margin-bottom:24px}.ascent-hero-copy>p{font-size:18px;line-height:1.65;max-width:570px}.ascent-hero-copy .ascent-eyebrow{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.ascent-quote{padding:26px;background:white;color:#242424;border-top:4px solid #ff5308;border-radius:4px;width:100%;max-width:400px;justify-self:end;scroll-margin-top:24px}.ascent-quote h2,.ascent-quote .pcq-heading{font-size:24px;font-weight:700;line-height:1.2;margin:0 0 18px}.ascent-quote .pcq-form{margin:0;max-width:none;font-family:inherit}.ascent-quote .pcq-grid{gap:12px}.ascent-quote .pcq-field label{font-size:13px;font-weight:600}.ascent-quote .pcq-field input:not([type=checkbox]):not([type=radio]),.ascent-quote .pcq-field select,.ascent-quote .pcq-field textarea{font-family:inherit;font-size:15px;min-height:44px;padding:9px 10px;border:1px solid #a7a7a7;border-radius:3px;color:#242424;background:white}.ascent-quote .pcq-field textarea{min-height:76px}.ascent-quote .pcq-submit{width:100%}.ascent-section{padding-block:clamp(48px,6vw,80px)}.ascent-section:nth-child(even){background:#f7f5f3}.ascent-section p{max-width:75ch}.ascent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.ascent-card{padding:28px;background:#fff;border:1px solid #e4dfdb;border-top:3px solid #ff5308}.ascent-card h3{margin-bottom:16px}.ascent-card a{color:#a83400;font-weight:700}.ascent-reading{max-width:860px;margin-inline:auto;padding-block:64px}.ascent-reading h2{margin-top:40px}.ascent-footer{padding-block:60px;background:#242424;color:#fff}.ascent-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:56px}.ascent-footer .ascent-brand{background:white;padding:12px;margin-bottom:24px}.ascent-footer h2{font-size:18px;letter-spacing:0;margin-bottom:16px}.ascent-footer p{font-size:15px;max-width:30ch}.ascent-footer ul{list-style:none;padding:0;margin:0}.ascent-footer a{display:inline-flex;align-items:center;min-height:44px;color:white;font-size:15px}.ascent-footer .ascent-brand{display:block}.ascent-footer a:hover{text-decoration:underline;text-decoration-color:#ff5308}
@media(max-width:1279px){.pc-header>.pc-wrap{min-height:88px;flex-wrap:wrap;gap:18px;padding-block:16px}.pc-js .pc-header .pc-menu-toggle{display:inline-flex}.pc-js .pc-nav-panel{display:none}.pc-js .pc-nav-panel.is-open{display:flex;position:fixed;inset:0 0 0 auto;width:min(440px,100%);height:100dvh;background:#fff;padding:28px;flex-direction:column;align-items:stretch;gap:20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:1001;box-shadow:-20px 0 0 100vmax #16161670}.pc-js .pc-header .pc-menu-close{display:inline-flex;align-self:flex-end}.pc-nav-panel .pc-menu{display:block;width:100%}.pc-nav li{display:block}.pc-nav .menu-item-has-children{display:flex;flex-wrap:wrap}.pc-nav .menu-item-has-children>a{flex:1}.pc-nav a{min-height:48px;padding:10px 0;font-size:18px;white-space:normal}.pc-nav .sub-menu{position:static;flex-basis:100%;width:100%;box-shadow:none;border:0;border-left:1px solid #ddd;padding:4px 14px;margin:0}.pc-nav .sub-menu a{font-size:16px}.pc-nav-panel>.pc-nav-cta{width:100%;margin-top:12px}.pc-nav-panel[hidden]{display:none!important}}
@media(max-width:959px){.ascent-hero-grid{grid-template-columns:1fr;gap:36px}.ascent-hero-copy{max-width:660px}.ascent-quote{justify-self:start;max-width:450px}.ascent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ascent-footer-grid{gap:32px;grid-template-columns:1fr 1fr}.ascent-footer-grid>div{grid-column:1/-1}}
@media(max-width:600px){:root{--pc-gutter:24px}.ascent-hero{padding-block:40px}.ascent-hero>.pc-wrap{padding-inline:15px}.ascent-hero-copy{padding-inline:9px}.ascent-hero-copy>p{font-size:17px}.ascent-hero h1{font-size:36px}.ascent-quote{padding:22px;max-width:none}.ascent-quote .pcq-field input:not([type=checkbox]):not([type=radio]),.ascent-quote .pcq-field select,.ascent-quote .pcq-field textarea{font-size:16px}.ascent-grid,.ascent-footer-grid{grid-template-columns:1fr}.ascent-brand{width:195px}.ascent-footer-grid{gap:28px}.ascent-reading{padding-block:44px}.ascent-card{padding:24px}}
.ascent-editorial{padding:64px var(--pc-gutter)}.ascent-editorial-inner{max-width:1280px;margin:auto}.ascent-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.ascent-editorial-card{padding-top:24px;border-top:3px solid #ff5308}.ascent-editorial-card h2{font-size:28px}.ascent-editorial-faqs{max-width:880px;margin:64px auto}.ascent-editorial-faqs summary{font-weight:700;cursor:pointer;min-height:48px;padding:14px 0}.ascent-editorial-faqs details{border-block:1px solid #ddd;padding-block:10px}.ascent-editorial-links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 36px}.ascent-editorial-links a{display:flex;align-items:center;min-height:48px;color:#a83400}.ascent-editorial-cta{margin-top:64px;padding:36px;background:#f7f5f3;display:flex;align-items:center;justify-content:space-between;gap:32px}.ascent-editorial-cta h2{font-size:30px}.ascent-editorial-quote{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:#d74100;color:#fff;border-radius:4px;padding:14px 22px;font-weight:700;text-decoration:none;flex:none}.ascent-editorial-quote:hover{background:#ad3300}.ascent-quote{--pcq-button-background:#d74100;--pcq-button-radius:4px;--pcq-button-weight:700;--pcq-button-size:16px;--pcq-heading-size:24px}
@media(max-width:959px){.ascent-editorial-grid{grid-template-columns:1fr}.ascent-editorial-card{max-width:75ch}.ascent-editorial-cta{display:block}.ascent-editorial-quote{margin-top:24px}}
@media(max-width:600px){.ascent-editorial{padding-block:48px}.ascent-editorial-links{grid-template-columns:1fr}.ascent-editorial-cta{padding:24px}.ascent-editorial-faqs{margin-block:48px}}
.ascent-hero h1>span{display:block;font-size:.6em;line-height:1.3;margin-top:18px;color:#ffb38f!important}.ascent-hero-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:0;list-style:none;margin:28px 0}.ascent-hero-facts li{font-size:14px;line-height:1.5;padding-left:15px;border-left:2px solid #ff5308}.ascent-editorial-city-image{margin:0 0 48px}.ascent-editorial-city-image img{width:100%;max-height:420px;object-fit:cover}.ascent-contact-copy h2{font-size:26px;margin-top:28px}.ascent-contact-copy a{color:white}.ascent-contact-copy li{margin-block:8px}
@media(min-width:1280px){.pc-nav .sub-menu .sub-menu{left:auto;right:100%;top:0}.pc-nav .sub-menu .menu-item-has-children{position:relative;flex-wrap:nowrap}.pc-nav .sub-menu .menu-item-has-children>a{flex:1;min-width:0;width:auto}.pc-nav .sub-menu a{white-space:normal}}
.ascent-hub-body{padding-block:56px}.ascent-hub__section{padding-block:32px}.ascent-hub__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}.ascent-hub__links a{min-height:48px;display:flex;align-items:center;color:#a83400}.ascent-hub__eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ascent-hub__cta{margin-top:32px;padding:32px;background:#f7f5f3}.ascent-hub__button{display:inline-flex;align-items:center;min-height:48px;background:#d74100;color:white;padding:12px 20px;border-radius:4px;font-weight:700;text-decoration:none}
@media(max-width:767px){.ascent-hub__links{grid-template-columns:1fr}.ascent-hub__section{padding-block:24px}}
/* Pair contact fields so the compact form leaves the photograph visible. */
.ascent-quote .pcq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.ascent-quote .pcq-form .pcq-required{margin-bottom:14px}.ascent-quote .pcq-form .pcq-submit{margin-top:16px}
@media(max-width:359px){.ascent-quote .pcq-grid{grid-template-columns:1fr}}
/* Two-section city pages fill the row; adjacent conversion links stay distinct. */
.ascent-editorial-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.ascent-editorial-cta>div:has(>a){display:flex;flex-wrap:wrap;gap:12px}.ascent-editorial-cta>div:has(>a) .ascent-editorial-quote{margin-top:0}
@media(max-width:959px){.ascent-editorial-grid{grid-template-columns:1fr}.ascent-editorial-cta>div:has(>a){margin-top:24px}}
/* Retained hub styles use dark orange on white; hero labels need light text. */
.ascent-hero .ascent-hub__eyebrow{color:#fff}.pc-header .pc-nav .current-menu-item>a,.pc-header .pc-nav .current-menu-ancestor>a{color:#b83b00!important}

/* The native hub uses a pale CTA panel; retained hub rules assume a dark panel. */
.ascent-main .ascent-hub__cta,.ascent-main .ascent-hub__cta h2,.ascent-main .ascent-hub__cta p{color:#242424}

.ascent-editorial-grid + .ascent-editorial-directory{margin-top:40px}

@media(min-width:1280px){.pc-header .pc-nav .pc-menu{gap:20px}}
/* Keep navigation text readable on orange and honor Contact form-first mobile ordering. */
.pc-header #pc-nav-panel .pc-menu a:hover,.pc-header #pc-nav-panel .pc-menu a:focus-visible{color:#242424!important}
@media(max-width:1000px){.ascent-contact .ascent-quote{order:-1}}

/* Parent labels stay links; the adjacent 44px control owns disclosure state. */
.pc-js header.pc-header .pc-nav .menu-item-has-children{display:flex;align-items:center;flex-wrap:wrap}
.pc-js header.pc-header .pc-nav .menu-item-has-children>a{flex:1 1 auto;min-width:0;width:auto}
.pc-js header.pc-header .pc-nav .pc-submenu-toggle{display:inline-flex;flex:0 0 44px;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:4px;background:transparent;color:#242424;font:inherit;font-size:18px;line-height:1;text-decoration:none;cursor:pointer}
.pc-js header.pc-header .pc-nav .pc-submenu-toggle:hover,.pc-js header.pc-header .pc-nav .pc-submenu-toggle[aria-expanded="true"]{background:#f7f5f3;color:#242424;text-decoration:none}
.pc-js header.pc-header .pc-nav .pc-submenu-toggle-icon{display:block;line-height:1;font-size:20px}
.pc-js header.pc-header .pc-nav .sub-menu{min-width:0;width:360px;max-width:calc(100vw - 32px);padding:12px;}
.pc-js header.pc-header .pc-nav .sub-menu a{display:flex;min-height:48px;padding:10px 12px;white-space:normal;font-size:14px;line-height:1.4}
.pc-js header.pc-header .pc-nav .sub-menu .sub-menu{display:block;position:static;inset:auto;flex:0 0 100%;width:100%;min-width:0;max-width:100%;margin:0 0 8px 0;padding:0 0 0 10px;border:0;border-left:1px solid var(--pc-line);border-radius:0;box-shadow:none;overflow:visible;max-height:none}
.pc-js header.pc-header .pc-nav [hidden]{display:none!important}

.pc-js header.pc-header .pc-nav .pc-menu>li>a{min-width:44px}
@media(min-width:1280px){.pc-js header.pc-header .pc-nav .pc-menu>li>.sub-menu{max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:1279px){.pc-js header.pc-header .pc-nav .pc-menu>li.menu-item-has-children{width:100%}.pc-js header.pc-header .pc-nav .pc-menu>li>.pc-submenu-toggle{flex-basis:44px;width:44px;height:44px;min-height:44px;padding:0}.pc-js header.pc-header .pc-nav .sub-menu{width:100%;max-width:100%}}

/* Keep top-level submenus in the mobile drawer below the desktop rule's specificity. */
@media(max-width:1279px){.pc-js header.pc-header .pc-nav .pc-menu>li>.sub-menu{position:static;inset:auto;flex-basis:100%;width:100%;min-width:0;max-width:100%;max-height:none;margin:0;overflow:visible;box-shadow:none}}

@media(max-width:959px){
  .ascent-hero>.ascent-hero-image{
    height:min(100%,941px);
    object-fit:cover;
    object-position:center top;
    -webkit-mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%);
    mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%);
  }
}
