```css
/* ================================
   OAK CREEK CLEAN GLOBAL CSS
================================ */

html,
body {
  max-width: 100%;
  overflow-x: hidden !important;
}

* {
  box-sizing: border-box;
}

.entry-content,
.wp-block-post-content,
.site-main,
.content-area,
.ast-container,
.site-content {
  overflow: visible !important;
}

/* Full-width custom pages */
.oc-about-page,
.oc-services-page,
.oc-lawn-page,
.oc-landscaping-page,
.oc-hardscape-page,
.oc-portfolio-page,
.oc-contact-v2,
.oak-estimate-page {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  overflow-x: hidden !important;
}

/* Standard wrapper */
.oc-wrap,
.oak-estimate-wrap {
  width: min(1120px, calc(100% - 40px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Header + submenu */
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-builder-grid-row,
.ast-builder-menu,
.main-navigation,
.primary-menu,
.nav-wrap {
  overflow: visible !important;
  position: relative !important;
  z-index: 999999 !important;
}

.site-content,
#content,
.entry-content,
.wp-block-post-content,
.site-main {
  position: relative !important;
  z-index: 1 !important;
}

.primary-menu .menu-item-has-children {
  position: relative !important;
}

.primary-menu .sub-menu,
.main-navigation .sub-menu,
.ast-builder-menu .sub-menu {
  display: block !important;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(10px) !important;
  min-width: 250px !important;
  background: #fffaf0 !important;
  border: 1px solid rgba(18,61,36,.12) !important;
  border-radius: 16px !important;
  padding: 10px !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.16) !important;
  list-style: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: .2s ease !important;
  z-index: 1000000 !important;
}

.primary-menu .menu-item-has-children:hover > .sub-menu,
.primary-menu .menu-item-has-children:focus-within > .sub-menu,
.main-navigation .menu-item-has-children:hover > .sub-menu,
.main-navigation .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

.primary-menu .sub-menu a,
.main-navigation .sub-menu a {
  display: block !important;
  padding: 11px 14px !important;
  border-radius: 11px !important;
  font-size: 14px !important;
  color: #123d24 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.primary-menu .sub-menu a:hover,
.main-navigation .sub-menu a:hover {
  background: #123d24 !important;
  color: #fff !important;
}

/* Header buttons */
.header-actions .btn-phone,
.header-actions .btn-owner,
.header-actions .btn-office {
  background: #123d24 !important;
  color: #fff !important;
  border: 2px solid #c89b3c !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

@media(max-width: 1100px) {
  .header-actions .btn-phone,
  .header-actions .btn-owner,
  .header-actions .btn-office {
    display: none !important;
  }
}

/* Remove default Astra/page title banner */
.entry-header,
.ast-single-entry-banner,
.page-hero,
.premium-page-hero {
  display: none !important;
}

/* Custom section spacing */
.oc-section {
  padding-top: clamp(50px, 6vw, 82px) !important;
  padding-bottom: clamp(50px, 6vw, 82px) !important;
}

/* Hero cleanup */
.oc-hero,
.oc-contact-hero,
.oc-portfolio-hero {
  min-height: auto !important;
  padding-top: clamp(64px, 8vw, 96px) !important;
  padding-bottom: clamp(64px, 8vw, 96px) !important;
  overflow: hidden !important;
}

.oc-hero h1,
.oc-contact-hero h1,
.oc-portfolio-hero h1 {
  font-size: clamp(38px, 5vw, 64px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
  color: #fff !important;
}

.oc-hero p,
.oc-contact-hero p,
.oc-portfolio-hero p {
  color: rgba(255,255,255,.92) !important;
  opacity: 1 !important;
}

/* Headings — stop oversized text */
.oc-heading,
.oak-heading {
  font-size: clamp(30px, 3.5vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

.entry-content h1 {
  font-size: clamp(38px, 5vw, 64px) !important;
  line-height: 1.05 !important;
}

.entry-content h2 {
  font-size: clamp(30px, 3.5vw, 48px) !important;
  line-height: 1.1 !important;
}

/* Dark sections readable */
.oc-dark,
.oc-cta,
.oc-form-shell {
  background-color: #123d24 !important;
}

.oc-dark h1,
.oc-dark h2,
.oc-dark h3,
.oc-dark h4,
.oc-dark p,
.oc-dark span,
.oc-dark li,
.oc-cta h1,
.oc-cta h2,
.oc-cta h3,
.oc-cta p,
.oc-cta span,
.oc-cta li,
.oc-form-shell h1,
.oc-form-shell h2,
.oc-form-shell h3,
.oc-form-shell p {
  color: #fff !important;
  opacity: 1 !important;
}

.oc-dark .oc-text,
.oc-cta .oc-text,
.oc-form-shell .oc-text,
.oc-service-card p,
.oc-feature p {
  color: rgba(255,255,255,.84) !important;
}

/* Buttons */
.oc-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}

.oc-btn {
  white-space: normal !important;
  text-align: center !important;
  max-width: 100% !important;
}

/* Contact form */
.oc-form input,
.oc-form select,
.oc-form textarea {
  color: #fff !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
}

.oc-form input::placeholder,
.oc-form textarea::placeholder {
  color: rgba(255,255,255,.75) !important;
}

/* Mobile */
@media(max-width: 900px) {
  .oc-wrap,
  .oak-estimate-wrap {
    width: calc(100% - 32px) !important;
    max-width: 100% !important;
  }

  .oc-card-grid,
  .oc-contact-grid,
  .oc-intro-grid,
  .oc-service-grid,
  .oc-feature-grid,
  .oc-process-grid,
  .oc-split,
  .oc-area-grid,
  .oc-services,
  .oak-contact-strip,
  .oak-service-grid,
  .oak-field-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .oc-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .oc-hero,
  .oc-contact-hero,
  .oc-portfolio-hero {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .oc-hero h1,
  .oc-contact-hero h1,
  .oc-portfolio-hero h1,
  .entry-content h1 {
    font-size: 36px !important;
    line-height: 1.08 !important;
  }

  .oc-heading,
  .oak-heading,
  .entry-content h2 {
    font-size: 30px !important;
    line-height: 1.12 !important;
  }

  .oc-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .oc-btn {
    width: 100% !important;
  }
}
```
