/*
Theme Name: Vita Digital Child
Template: kadence
Description: Custom child theme for Vita Digital
*/

/* ===========================================
   0. KADENCE PALETTE OVERRIDE
   Kadence sets --global-palette1 to #D17049.
   Squarespace uses #d06f48 as the primary
   orange. Override the CSS variable so any
   Kadence inline style that references
   var(--global-palette1) matches exactly.
   =========================================== */
:root {
    --global-palette1: #d06f48 !important;
    --global-palette2: #b85d3a !important;
}

/* ===========================================
   1. BASE RESETS
   Kadence already provides: Poppins font,
   heading weight 500, body weight 300,
   colors via --global-palette vars.
   We only override what Kadence gets wrong.
   =========================================== */

/* Prevent horizontal overflow from any full-width elements */
html, body {
    overflow-x: hidden;
}

/* Kadence sets .content-bg to palette9 (#C1C1C1) — override to white */
.content-bg,
body.content-style-unboxed .site {
    background: #ffffff;
}
body {
    background: #ffffff;
}

/* Remove Kadence content-area margins and entry padding on pages */
.page .content-area {
    margin: 0;
}
.page .entry-content-wrap {
    padding: 0;
}
.page .entry.single-entry {
    box-shadow: none;
}
.page .entry-header {
    display: none;
}

/* ===========================================
   2. IMAGE CONTAINMENT
   Ensure ALL images respect their container.
   =========================================== */
.entry-content img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ===========================================
   3. FULL-WIDTH SECTIONS
   content-width-fullwidth is already set.
   wp-block-group sections need to fill width
   without the broken 100vw hack.
   =========================================== */
.entry-content .wp-block-group {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

/* No gap between adjacent sections */
.entry-content > .wp-block-group + .wp-block-group {
    margin-top: 0;
}

/* ===========================================
   4. HEADER — INNER PAGES
   Kadence nav is set to white text (for
   transparent header). On inner pages we
   need cream bg + dark text.
   =========================================== */
body:not(.home) #masthead {
    background: #dbd8cf;
    border-bottom: none;
    box-shadow: none;
}
body:not(.home) .site-branding .site-title,
body:not(.home) .site-branding a,
body:not(.home) .site-branding p {
    color: #3e4948;
}
body:not(.home) .main-navigation .primary-menu-container > ul li.menu-item > a {
    color: #3e4948;
}
body:not(.home) .main-navigation .primary-menu-container > ul li.menu-item > a:hover {
    color: #d06f48;
}
body:not(.home) .site-main {
    padding-top: 100px;
}

/* ===========================================
   5. HEADER — HOMEPAGE (Transparent)
   Overlay the header on top of the hero.
   Kadence nav text is already white.
   =========================================== */
body.home #masthead {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: transparent;
    border-bottom: none;
    box-shadow: none;
}
body.home .site-branding .site-title,
body.home .site-branding a,
body.home .site-branding p {
    color: #ffffff;
}
body.home .site-main {
    padding-top: 0;
}

/* Header "get started" button */
#main-header .header-button .button,
#main-header .header-button a {
    background: #d06f48;
    color: #ffffff;
    border: none;
    border-radius: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 14px 28px;
}
#main-header .header-button .button:hover,
#main-header .header-button a:hover {
    background: #b85d3a;
}

/* Dropdown menus */
.header-navigation .header-menu-container ul ul.sub-menu {
    background: #fff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    border-radius: 0;
}
.header-navigation .header-menu-container ul ul li.menu-item > a {
    color: #3e4948;
    font-size: 13px;
}
.header-navigation .header-menu-container ul ul li.menu-item > a:hover {
    color: #d06f48;
    background: #f9f9f9;
}

/* ===========================================
   6. HERO SECTION
   Custom HTML: bg image + overlay + centered text
   =========================================== */
.hero-section {
    padding: 0 !important;
    overflow: hidden;
    background: transparent !important;
}

.hero-bg-wrapper {
    position: relative;
    width: 100%;
    min-height: 85vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.hero-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    object-position: 70.14% 47.21% !important;
    z-index: 1;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #3e4948;
    opacity: 0.46;
    z-index: 2;
}

.hero-content {
    position: relative;
    z-index: 3;
    text-align: left;
    max-width: 600px;
    padding: 80px 40px 80px 60px;
    margin: 0;
}

.hero-content h1 {
    color: #ffffff;
    font-size: 52px;
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.hero-content h4 {
    color: rgba(255,255,255,0.9);
    font-size: 16px;
    font-weight: 300;
    line-height: 1.7;
    margin-bottom: 32px;
}

/* ===========================================
   7. HOMEPAGE SECTIONS
   Most styling is inline on the HTML.
   Only need layout helpers here.
   =========================================== */

/* Idea Catalyst — center content, constrain width */
.idea-catalyst-section > .wp-block-group__inner-container > * {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
.idea-catalyst-section .wp-block-buttons {
    max-width: 100%;
}

/* SEO Quote + About — constrain columns, align items */
.seo-quote-section .wp-block-columns,
.about-section .wp-block-columns {
    max-width: 1100px;
    margin: 0 auto;
    align-items: center;
}

/* Services — centered icons + text */
.services-section .wp-block-columns {
    max-width: 1100px;
    margin: 0 auto;
    justify-content: center;
}
.services-section .wp-block-column {
    text-align: center;
}
/* Service icons are sized via inline styles in the block HTML */
.services-section .wp-block-image img {
    margin: 0 auto;
    max-height: 200px;
    width: auto !important;
    object-fit: contain;
}

/* Twin Cities — center content */
.twin-cities-section > .wp-block-group__inner-container > * {
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
}
.twin-cities-section .wp-block-buttons {
    max-width: 100%;
}

/* Testimonial — center content */
.testimonial-section > .wp-block-group__inner-container > * {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* CTA section */
.cta-section {
    text-align: center;
}

/* ===========================================
   8. INNER PAGES — SERVICES
   =========================================== */
.services-hero-section {
    background-image: url(/wp-content/uploads/vita-migration/services-hero-bg.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    padding: 100px 40px !important;
    text-align: center;
}
.services-hero-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(62,73,72,0.15);
    z-index: 0;
}
.services-hero-section > * { position: relative; z-index: 1; }
.services-hero-section h2 {
    color: #ffffff;
    font-weight: 300;
    font-size: 2.2rem;
    letter-spacing: 2px;
}

.services-intro-section {
    padding: 80px 40px !important;
}

.services-overview-section {
    padding: 60px 40px !important;
    background: #dbd8cf;
}

.services-cards-section {
    padding: 60px 20px !important;
}
.services-cards-section .wp-block-columns {
    gap: 30px;
}
.services-cards-section .wp-block-column {
    border: 1px solid #eee;
    overflow: hidden;
}
.service-card-image img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    display: block;
}
.services-cards-section h3 {
    padding: 20px 25px 0;
    font-size: 1.4rem;
}
.services-cards-section p {
    padding: 0 25px;
    font-size: 0.95rem;
}
.services-cards-section .wp-block-buttons {
    padding: 10px 25px 25px;
}

.services-testimonial-section {
    padding: 80px 40px !important;
    background: #dbd8cf;
}
.testimonial-quote {
    font-size: 1.3rem;
    font-style: italic;
    line-height: 1.8;
}
.testimonial-attribution {
    font-size: 0.85rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #888;
    margin-top: 1rem;
}

.services-cta-section {
    background-image: url(/wp-content/uploads/vita-migration/services-cta-bg.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    padding: 80px 40px !important;
    text-align: center;
}
.services-cta-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(62,73,72,0.46);
    z-index: 0;
}
.services-cta-section > * { position: relative; z-index: 1; }
.services-cta-section h2 {
    color: #ffffff;
    font-weight: 300;
    font-size: 2rem;
}

/* ===========================================
   9. INNER PAGES — ABOUT
   =========================================== */
.about-hero-section {
    background-image: url(/wp-content/uploads/vita-migration/about-hero.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    padding: 100px 40px !important;
    text-align: center;
}
.about-hero-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(62,73,72,0.18);
    z-index: 0;
}
.about-hero-section > * { position: relative; z-index: 1; }
.about-hero-section h1 {
    color: #ffffff;
    font-weight: 300;
    font-size: 2.5rem;
    letter-spacing: 2px;
}

.about-mission-section {
    padding: 80px 40px !important;
}

.about-me-section {
    padding: 60px 40px !important;
    background: #dbd8cf;
}

.about-contact-section {
    padding: 80px 40px !important;
}

.about-cta-section {
    background: #3e4948;
    padding: 80px 40px !important;
    text-align: center;
}
.about-cta-section h2 {
    color: #ffffff;
    font-weight: 300;
    font-size: 2rem;
}

/* ===========================================
   10. INNER PAGES — CONTACT
   =========================================== */
.contact-hero-section {
    padding: 100px 40px !important;
    background: #dbd8cf;
    text-align: center;
}
.contact-hero-section h1 {
    font-weight: 300;
    font-size: 2.5rem;
    letter-spacing: 2px;
}
.contact-email a {
    color: #d06f48;
    text-decoration: none;
}
.contact-email a:hover { text-decoration: underline; }

/* Contact form */
.vita-contact-form input[type="text"],
.vita-contact-form input[type="email"],
.vita-contact-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #ccc;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 300;
    color: #3e4948;
    background: #fff;
    box-sizing: border-box;
    outline: none;
}
.vita-contact-form input:focus,
.vita-contact-form textarea:focus {
    border-color: #d06f48;
}
.vita-contact-form textarea {
    resize: vertical;
    min-height: 120px;
}

/* ===========================================
   11. BUTTONS — CTA OUTLINE STYLE
   Most button styles are inline on the HTML.
   Only override for dark-bg outline buttons.
   =========================================== */
.services-cta-section .wp-block-button__link,
.about-cta-section .wp-block-button__link {
    background: transparent;
    border: 2px solid #ffffff;
    color: #ffffff;
}
.services-cta-section .wp-block-button__link:hover,
.about-cta-section .wp-block-button__link:hover {
    background: #ffffff;
    color: #3e4948;
}

.wp-block-button__link {
    transition: all 0.3s ease;
}

/* ===========================================
   12. CASE STUDY PAGES
   =========================================== */
.case-study-page {
    padding: 80px 20px 60px;
}
.case-study-page h1 {
    font-size: 48px;
    margin-bottom: 30px;
}
.case-study-page p {
    font-size: 17px;
    line-height: 1.8;
}
.case-study-graph img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

/* ===========================================
   13. LIST YOUR SITE PAGE
   =========================================== */
.list-your-site-page {
    padding: 80px 20px 60px;
}
.list-your-site-page h1 {
    font-size: 54px;
    margin-bottom: 10px;
}
.list-subtitle {
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 30px;
}

/* ===========================================
   14. NEWSLETTER FORM
   =========================================== */
.vita-newsletter-form {
    max-width: 500px;
    margin: 30px auto;
}
.newsletter-form {
    display: flex;
    gap: 0;
    border: 1px solid #ccc;
    overflow: hidden;
}
.newsletter-form input[type="email"] {
    flex: 1;
    padding: 14px 18px;
    border: none;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 300;
    color: #3e4948;
    background: #fff;
    outline: none;
}
.newsletter-form input[type="email"]::placeholder {
    color: #999;
    font-weight: 300;
}
.vita-btn-submit {
    padding: 14px 28px;
    background: #3e4948;
    color: #fff;
    border: none;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s ease;
}
.vita-btn-submit:hover {
    background: #d06f48;
}

/* ===========================================
   15. GET STARTED PAGE
   =========================================== */
.get-started-page {
    padding: 80px 20px 60px;
    text-align: center;
}
.get-started-page h1 {
    font-size: 54px;
    margin-bottom: 30px;
}
.zcal-inline-widget {
    margin: 40px auto;
    max-width: 700px;
}

/* ================================================
   16. FOOTER — see STAGE Z21 at end of file
   ================================================ */

/* ===========================================
   17. BLOG
   =========================================== */
body.blog .site-main,
body.archive .site-main,
body.search .site-main {
    padding-top: 120px;
}
body.blog .entry-taxonomies,
body.blog .cat-links,
body.archive .entry-taxonomies,
body.archive .cat-links {
    display: none;
}
body.blog .loop-entry h2.entry-title a {
    color: #3e4948;
    text-decoration: none;
}
body.blog .loop-entry h2.entry-title a:hover {
    color: #d06f48;
}

/* ===========================================
   18. LINKS
   =========================================== */
a {
    color: #d06f48;
    text-decoration: none;
}
a:hover {
    color: #b85d3a;
}

/* ===========================================
   19. RESPONSIVE
   =========================================== */
@media (max-width: 1024px) {
    .hero-content h1 {
        font-size: 42px;
    }
    .hero-bg-wrapper {
        min-height: 70vh;
    }
}

@media (max-width: 768px) {
    .hero-bg-wrapper { min-height: 60vh; }
    .hero-content { padding: 60px 24px; }
    .hero-content h1 { font-size: 32px; letter-spacing: 2px; }
    .hero-content h4 { font-size: 14px; }

    .seo-quote-section .wp-block-columns,
    .about-section .wp-block-columns {
        flex-direction: column;
    }
    .seo-quote-section .wp-block-column,
    .about-section .wp-block-column {
        flex-basis: 100% !important;
    }

    .services-hero-section,
    .about-hero-section,
    .contact-hero-section { padding: 60px 20px !important; }

    .services-cards-section .wp-block-columns,
    .about-me-section .wp-block-columns { flex-direction: column; }

    .case-study-page { padding: 40px 15px 30px; }
    .case-study-page h1 { font-size: 32px; }
    .list-your-site-page { padding: 40px 15px 30px; }
    .list-your-site-page h1 { font-size: 36px; }
    .get-started-page { padding: 40px 15px 30px; }
    .get-started-page h1 { font-size: 36px; }

    .newsletter-form { flex-direction: column; }
    .vita-btn-submit { width: 100%; }

    .vita-footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .hero-bg-wrapper { min-height: 50vh; }
    .hero-content { padding: 40px 16px; }
    .hero-content h1 { font-size: 26px; letter-spacing: 1px; }

    .services-section .wp-block-column { flex-basis: 100% !important; }
}


/* === SQUARESPACE PARITY FIXES === */

/* --- Global Heading Sizes (match Squarespace) --- */
.entry-content h2 { font-size: 45.75px !important; font-weight: 500 !important; color: rgb(63, 74, 73); line-height: 1.35; }
.entry-content h3 { font-size: 35.5px !important; font-weight: 500 !important; color: rgb(63, 74, 73); line-height: 1.39; }
.entry-content h4 { font-size: 26.6px !important; font-weight: 500 !important; color: rgb(63, 74, 73); line-height: 1.43; }

/* --- Hero Section (already partially done) --- */
.hero-bg-wrapper { min-height: 80vh !important; }
.hero-content h1 { font-size: 63.5px !important; font-weight: 500 !important; letter-spacing: -0.5px; line-height: 1.28; color: #fff !important; }
.hero-content h4 { font-size: 26.6px !important; font-weight: 500 !important; color: rgb(255, 255, 255) !important; line-height: 1.43; }
.hero-content a { display: inline-block !important; background-color: rgb(209, 112, 73) !important; color: rgb(255, 255, 255) !important; padding: 24.8px 41.4px !important; font-size: 17.7px !important; font-weight: 500 !important; text-decoration: none !important; border-radius: 0 !important; margin-top: 20px; transition: opacity 0.3s ease; }
.hero-content a:hover { opacity: 0.85; }

/* --- Idea Catalyst Section --- */
.idea-catalyst-section { background: #fff !important; }
.idea-catalyst-section p { font-size: 24.4px !important; font-weight: 300 !important; color: rgb(63, 74, 73) !important; line-height: 44.84px !important; }

/* --- SEO Quote Section --- */
.seo-quote-section { background: #fff !important; }
.seo-quote-section p { font-size: 17.7px !important; font-weight: 300 !important; color: rgb(63, 74, 73) !important; line-height: 1.87 !important; }

/* --- Services Section --- */
.services-section { background-color: rgb(78, 101, 86) !important; padding: 80px 40px !important; }
.services-section h2 { font-size: 27px !important; color: #fff !important; }
.services-section p { color: #fff !important; font-size: 17.7px !important; font-weight: 300 !important; line-height: 1.87 !important; }
.services-section .services-intro { font-size: 45.75px !important; font-weight: 500 !important; color: #fff !important; line-height: 1.35; }
.services-section img { width: 250px !important; height: auto !important; }
.services-section a,
.services-section .wp-block-button__link { 
  background-color: rgb(209, 112, 73) !important; 
  color: #fff !important; 
  padding: 27px 45px !important; 
  font-size: 19.2px !important; 
  font-weight: 500 !important;
  border-radius: 0 !important; 
  text-decoration: none !important; 
  display: inline-block !important;
}

/* --- About Section --- */
.about-section { background: #fff !important; }
.about-section h4 { font-size: 26.6px !important; color: rgb(63, 74, 73) !important; }
.about-section p { font-size: 17.7px !important; font-weight: 300 !important; color: rgb(63, 74, 73) !important; line-height: 1.87 !important; }

/* --- Twin Cities Section --- */
.twin-cities-section { background: #fff !important; }
.twin-cities-section h2, .twin-cities-section h3 { font-size: 45.75px !important; color: rgb(63, 74, 73) !important; font-weight: 500 !important; }
.twin-cities-section p { font-size: 17.7px !important; font-weight: 300 !important; color: rgb(63, 74, 73) !important; line-height: 1.87 !important; }

/* --- Testimonial Section --- */
.testimonial-section { background: rgb(219, 216, 207) !important; padding: 80px 40px !important; }
.testimonial-section h3, .testimonial-section blockquote, .testimonial-section p { font-size: 35.5px !important; font-weight: 500 !important; color: rgb(63, 74, 73) !important; line-height: 1.39 !important; }

/* --- CTA Section --- */
.cta-section { background-color: rgb(209, 112, 73) !important; padding: 80px 40px !important; }
.cta-section h2 { font-size: 45.75px !important; font-weight: 500 !important; color: #fff !important; }
.cta-section a,
.cta-section .wp-block-button__link {
  background-color: rgb(78, 101, 86) !important;
  color: #fff !important;
  padding: 27px 45px !important;
  font-size: 19.2px !important;
  font-weight: 500 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  display: inline-block !important;
}
.cta-section a:hover,
.cta-section .wp-block-button__link:hover { opacity: 0.85; }

/* --- Global Button Styles (non-hero, non-service, non-cta) --- */
.idea-catalyst-section a,
.about-section a,
.twin-cities-section a {
  background-color: rgb(209, 112, 73) !important;
  color: #fff !important;
  padding: 0 45px !important;
  font-size: 19.2px !important;
  font-weight: 500 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  display: inline-block !important;
  line-height: 3.4 !important;
}

/* --- Global Body Font --- */
body, .entry-content, .site-main { font-family: "Poppins", sans-serif; }


/* --- Blog Listing --- */
.site-main .entry-header h2.entry-title, .site-main h2.entry-title { font-size: 36.74px !important; font-weight: 500 !important; color: rgb(63, 74, 73) !important; line-height: 51.15px !important; }
h2.entry-title a, .entry-title a { color: rgb(63, 74, 73) !important; text-decoration: none !important; }
h2.entry-title a:hover, .entry-title a:hover { color: rgb(209, 112, 73) !important; }

/* --- Services Page Sections --- */
.services-testimonial-section { background-color: rgb(209, 112, 73) !important; }
.services-testimonial-section h3, .services-testimonial-section p, .services-testimonial-section blockquote { color: #fff !important; }
.services-cta-section { background-color: rgb(78, 101, 86) !important; }
.services-cta-section h2, .services-cta-section p { color: #fff !important; }
.services-cta-section a, .services-cta-section .wp-block-button__link {
  background-color: rgb(209, 112, 73) !important;
  color: #fff !important;
  padding: 27px 45px !important;
  font-size: 19.2px !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  display: inline-block !important;
}

/* --- Global H2/H3 for non-entry-content contexts --- */
.site-main h2 { font-size: 45.75px !important; font-weight: 500 !important; }
.site-main h3 { font-size: 35.5px !important; font-weight: 500 !important; }
.site-main h4 { font-size: 26.6px !important; font-weight: 500 !important; }

/* --- Override for custom footer h4 (keep small) --- */
.vita-custom-footer h4, .site-footer h4 { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; }

/* --- Body text global --- */
.site-main p, .entry-content p { font-size: 17.7px; font-weight: 300; color: rgb(63, 74, 73); line-height: 1.87; }

/* --- Page title banner (Kadence) --- */
.page-title, .entry-title.post-home-title { font-weight: 500 !important; }

/* --- Section-Specific Overrides (must come after global rules) --- */
.site-main .services-section h2, .entry-content .services-section h2 { font-size: 27px !important; color: #fff !important; }
.site-main .services-section .services-intro, .entry-content .services-section .services-intro { font-size: 45.75px !important; color: #fff !important; }
.site-main .vita-custom-footer h4, .site-main .site-footer h4 { font-size: 13px !important; font-weight: 600 !important; }
/* === END SQUARESPACE PARITY FIXES === */

/* === CORRECTED SQUARESPACE PARITY v8 === */
.site-main .hero-section h1{font-size:66.78px!important;line-height:85.72px!important;font-weight:500!important;letter-spacing:-0.5px!important;text-transform:none!important;text-align:left!important;color:#fff!important}
.site-main .hero-section h4{font-size:26.58px!important;line-height:38.02px!important;font-weight:500!important;text-align:left!important;color:#fff!important}
.site-main .idea-catalyst-section,
.site-main .idea-catalyst-section .wp-block-group,
.site-main .idea-catalyst-section h2,
.site-main .idea-catalyst-section h3,
.site-main .idea-catalyst-section p,
.site-main .idea-catalyst-section .wp-block-buttons,
.site-main .idea-catalyst-section .wp-block-button{text-align:center!important;justify-content:center!important}
.site-main .idea-catalyst-section h2{font-size:49.8px!important;font-weight:500!important}
.site-main .idea-catalyst-section h3{font-size:38px!important;font-weight:500!important}
.site-main .idea-catalyst-section p{font-size:24.4px!important;font-weight:300!important;line-height:44.84px!important}
.site-main .seo-quote-section,
.site-main .seo-quote-section h3,
.site-main .seo-quote-section p{text-align:center!important}
.site-main .seo-quote-section h3{font-size:38px!important;font-weight:500!important}
.site-main .seo-quote-section p{font-size:17.7px!important;font-weight:300!important}
.site-main .services-section h2{font-size:28.4px!important;font-weight:500!important;color:#fff!important;text-align:center!important}
.site-main .about-section h2{font-size:49.8px!important;font-weight:500!important;text-align:left!important}
.site-main .about-section h4{font-size:27.8px!important;font-weight:500!important;text-align:left!important}
.site-main .about-section p{font-size:24.4px!important;font-weight:300!important;line-height:1.5!important;text-align:left!important}
.site-main .twin-cities-section,
.site-main .twin-cities-section h2,
.site-main .twin-cities-section h3,
.site-main .twin-cities-section p{text-align:center!important}
.site-main .twin-cities-section h2{font-size:49.8px!important;font-weight:500!important}
.site-main .twin-cities-section h3{font-size:38px!important;font-weight:500!important}
.site-main .twin-cities-section p{font-size:24.4px!important;font-weight:300!important;line-height:1.5!important}
.site-main .testimonial-section p,
.site-main .services-testimonial-section p{font-size:17.7px!important;font-weight:300!important;text-align:center!important;line-height:1.5!important}
.site-main .cta-section h2{font-size:49.8px!important;font-weight:500!important;text-align:center!important;color:#fff!important}
.site-main .entry-content h1{font-size:66.78px!important;line-height:85.72px!important;font-weight:500!important;letter-spacing:-0.5px!important;text-transform:none!important}
.site-main .entry-content h2{font-size:47.72px!important;line-height:64.54px!important;font-weight:500!important}
.site-main .entry-content h3{font-size:36.74px!important;line-height:51.15px!important;font-weight:500!important}
.site-main .entry-content h4{font-size:26.58px!important;line-height:38.02px!important;font-weight:500!important}
.site-main .entry-content p{font-size:24.4px;font-weight:300;line-height:44.84px}
.site-main .entry-header h2.entry-title,
.site-main h2.entry-title{font-size:36.74px!important;line-height:51.15px!important;font-weight:500!important}
/* === END CORRECTED PARITY === */


/* Services H2 override - higher specificity */
.site-main .entry-content .services-section h2,
body .site-main .services-section h2,
.site-main .wp-block-group.services-section h2{font-size:28.4px!important;font-weight:500!important;color:#fff!important;text-align:center!important}

/* === HERO FULL BLEED v11 === */
/* Hero is already full-width at 1440px; fix overlay color, text width, and button */
.hero-section{min-height:810px!important;height:810px!important}
.hero-section > .wp-block-group__inner-container,
.hero-bg-wrapper{height:100%!important;min-height:810px!important}
.hero-bg-image{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center right!important}
/* SQ overlay color: sage rgb(78,101,86) @ 0.46 opacity */
.hero-overlay{background-color:rgb(78,101,86)!important;opacity:0.46!important}
/* Hero content: wider text column matching SQ */
.hero-content{max-width:1100px!important;width:100%!important;padding:120px 60px 120px 110px!important}

/* "Get Started" header button - match SQ exactly */
.site-header .button.header-button,
.site-header a.header-button,
.header-button-inner-wrap a.button{
  padding:24.7162px 41.276px!important;
  border-radius:0!important;
  font-size:17.6544px!important;
  font-weight:500!important;
  background-color:rgb(209,112,73)!important;
  color:#fff!important;
  margin:0!important;
  line-height:1!important;
  text-transform:lowercase!important;
}
/* === END HERO v11 === */

/* === SQUARESPACE PARITY v12 === */
/* Services: images 331x249, title styling */
.site-main .services-section{padding-top:80px!important;padding-bottom:80px!important;background-color:rgb(78,101,86)!important}
.site-main .services-section .services-title{font-size:49.8px!important;font-weight:400!important;color:#fff!important;text-align:center!important;margin-bottom:60px!important}
.site-main .services-section .wp-block-image img{width:331px!important;height:249px!important;object-fit:contain!important;max-width:100%!important}
.site-main .services-section h2{font-size:28.4px!important;color:#fff!important;text-align:center!important;margin-top:20px!important}

/* Twin Cities map & title */
.site-main .twin-cities-section{padding-top:80px!important;padding-bottom:80px!important}
.site-main .twin-cities-section h2{font-size:49.8px!important;font-weight:400!important;color:#3e4948!important;text-align:center!important;text-transform:none!important;letter-spacing:normal!important}
.site-main .twin-cities-map{max-width:900px;margin:40px auto!important}
.site-main .twin-cities-map iframe{display:block;width:100%;height:340px;border:0}

/* Testimonial H3 quote styling */
.site-main .testimonial-section{padding:100px 80px!important;background-color:rgb(220,217,208)!important}
.site-main .testimonial-section h3{font-size:28px!important;font-weight:400!important;font-style:italic!important;color:#3e4948!important;text-align:center!important;line-height:1.7!important;max-width:900px!important;margin:0 auto!important}
.site-main .testimonial-section p{font-size:14px!important;letter-spacing:2px!important;text-transform:uppercase!important;color:#888!important;text-align:center!important;margin-top:30px!important}

/* CTA sage background */
.site-main .cta-section{background-color:rgb(78,101,86)!important;padding-top:140px!important;padding-bottom:140px!important}
.site-main .cta-section h2{font-size:49.8px!important;font-weight:400!important;color:#fff!important;text-align:center!important}

/* SEO quote section proper sizing */
.site-main .seo-quote-section{padding-top:160px!important;padding-bottom:160px!important}
.site-main .seo-quote-section .wp-block-columns{align-items:center!important}
.site-main .seo-quote-section .wp-block-column:first-child{flex-basis:50%!important;max-width:620px!important}
.site-main .seo-quote-section .wp-block-image img{max-width:581px!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important}
.site-main img.emoji,.site-main img.wp-smiley{width:1em!important;height:1em!important;max-width:1em!important;max-height:1em!important;aspect-ratio:auto!important;display:inline-block!important;vertical-align:-0.1em!important;margin:0 .07em!important;padding:0!important}

/* About section spacing */
.site-main .about-section{padding-top:100px!important;padding-bottom:100px!important}

/* Idea catalyst adequate height */
.site-main .idea-catalyst-section{padding-top:140px!important;padding-bottom:140px!important}
/* === END v12 === */


/* === VITA MIGRATION FIXES 2026-04-06 === */
/* Arachne: Squarespace parity fixes. Mirrors cranberry-mayflower-nwm9.squarespace.com exactly. */
/* All values computed from live SS DOM inspection. */

/* 1. Global heading-scale fix: WP headings were 3-5% larger than SS */
body h1, .entry-title, .kadence-hero-title, .wp-block-post-title, .site-branding h1 { font-size: 66.78px !important; line-height: 85.72px !important; }
body h2, .wp-block-heading.has-h-2 { font-size: 47.72px !important; line-height: 64.54px !important; }
body h3 { font-size: 36.74px !important; line-height: 51.15px !important; }
body h4 { font-size: 27.21px !important; }

/* 2. Global heading letter-spacing + text-transform reset (SS uses normal/none everywhere) */
body h1, body h2, body h3, body h4, body h5, body h6 { letter-spacing: normal !important; text-transform: none !important; }

/* 3. Paragraph line-height: WP was cramped at 36.6, SS uses 44.84 */
body p, .entry-content p, .wp-block-paragraph { line-height: 44.84px !important; }

/* 4. Body font-weight 300 -> 400 (matches SS inherit) */
body, .entry-content, .site-content { font-weight: 400; }
body p, .wp-block-paragraph { font-weight: 300; } /* SS paragraph is explicit 300 */

/* 5. About page paragraph font-size was 24.4px on WP, SS is 17.68px */
body.page-id-about .entry-content p,
body.page-about .entry-content p,
body[class*="about"] .site-main p { font-size: 17.68px !important; }

/* 6. About page hero: brand green, not beige */
body[class*="about"] .entry-header,
body[class*="about"] .wp-block-cover.is-page-header,
body[class*="about"] .page-title-wrap,
body[class*="about"] .entry-hero { background-color: #4E6556 !important; }

/* 7. Button style reset: SS uses sentence case, no tracking, 17.68px */
.wp-block-button__link,
.kb-button,
.kadence-blocks-btn-link,
button.kb-button,
.button,
input[type="submit"],
.wp-element-button,
.entry-content .wp-block-button .wp-block-button__link {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 17.68px !important;
  line-height: normal !important;
  font-weight: 500 !important;
  padding: 24.75px 41.33px !important;
  border-radius: 0 !important;
  background-color: #D17049 !important;
  color: #ffffff !important;
}

/* 8. Header "get started" CTA button: also normalize (was lowercase on WP) */
.site-header .kb-button,
.header-navigation .button,
.header-cta-button { text-transform: none !important; }

/* 9. Homepage hero H1: remove uppercase, remove -0.5px tracking (brought by heading rules above) */
body.home h1,
body.home .entry-title,
body.home .wp-block-cover__inner-container h1 { 
  color: #ffffff !important;
}

/* 10. Contact form input style: SS uses filled #fafafa boxes with 10px padding */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea,
form.wpforms-form input[type="text"],
form.wpforms-form input[type="email"],
form.wpforms-form textarea,
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper textarea,
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform textarea,
.kb-form-input,
.kadence-blocks-form-field input,
.kadence-blocks-form-field textarea {
  background-color: #fafafa !important;
  border: 1px solid #a9a9a9 !important;
  border-radius: 0 !important;
  padding: 10px !important;
  color: #3F4A49 !important;
}

/* 11. Homepage plant and service icon size fixes (from SS computed dimensions) */
body.home img[alt*="SEO Growth"],
body.home .wp-block-image img[src*="plant"],
body.home .wp-block-image img[src*="unsplash"] { max-width: 553px !important; width: 553px !important; height: 553px !important; object-fit: cover; }
body.home img[alt*="SEO Diagnostics"],
body.home img[alt*="SEO Content"],
body.home img[alt*="SEO Consulting"],
body.home .wp-block-image img[src*="desktop-icon"],
body.home .wp-block-image img[src*="content-icon"],
body.home .wp-block-image img[src*="teacomputer-icon"] { max-width: 310px !important; width: 310px !important; height: 233px !important; object-fit: contain; }/* REMOVED: body.home img[alt*="Victoria Temiz"] 458x458 clamp — was colliding with .hero-bg-image. See STAGE Z17 at end of file. */

/* 13. Section padding trim: WP homepage has 441px extra vertical whitespace */
body.home .wp-block-group, body.home .kb-row-layout-wrap { padding-top: 48px; padding-bottom: 48px; }
body.home .entry-hero, body.home .wp-block-cover.is-page-header { min-height: 767px !important; height: 767px !important; }

/* === END VITA MIGRATION FIXES === */

/* ================================================================
   20. SQUARESPACE PARITY — STAGE X CONSOLIDATION (2026-04-07)
   Merges Stages 2/3/4 from functions.php wp_head blocks,
   plus new header layout fix to match Squarespace source.
   ================================================================ */
/* 20.1 Header geometry & breathing room */
html body:not(.home) #masthead.site-header,html body.home #masthead.site-header,html body:not(.home) header#masthead,html body.home header#masthead{position:absolute!important;top:0!important;left:0!important;right:0!important;width:100%!important;background:transparent!important;padding-top:22px!important;padding-bottom:22px!important;height:auto!important;min-height:119px!important;z-index:50!important;}
html body #masthead .site-header-wrap{display:flex!important;align-items:center!important;min-height:75px!important;}
html body:not(.home) .site-container>.content-container,html body:not(.home) .content-container,html body:not(.home) .entry-content-wrap,html body:not(.home) main#main,html body:not(.home) article{padding-top:0!important;margin-top:0!important;}
/* 20.2 Header content layout — match SS */
html body #masthead .site-container,html body #masthead .site-header-row-container-inner{max-width:1378px!important;width:100%!important;padding-left:57px!important;padding-right:57px!important;margin:0 auto!important;}
html body #masthead .site-main-header-inner-wrap{grid-template-columns:auto 1fr auto!important;align-items:center!important;column-gap:43px!important;}
html body #masthead .site-header-main-section-left{justify-self:start!important;}
html body #masthead .site-header-main-section-center{justify-self:start!important;justify-content:flex-start!important;}
html body #masthead .site-header-main-section-right{justify-self:end!important;}
html body #masthead .header-navigation .menu>li,html body #masthead nav.main-navigation .menu>li{margin-right:26px!important;}
html body #masthead .header-navigation .menu>li:last-child,html body #masthead nav.main-navigation .menu>li:last-child{margin-right:0!important;}
html body #masthead .header-navigation .menu>li>a,html body #masthead nav.main-navigation .menu>li>a{padding-left:0!important;padding-right:0!important;}
/* 20.3 Hero section typography */
html body .about-hero-section,html body .services-hero-section,html body .contact-hero-section,html body .lys-hero-section,html body .case-studies-hero-section,html body .blog-hero-section,html body .get-started-hero-section,html body .hero-section{padding-top:119px!important;padding-bottom:60px!important;min-height:622px!important;}
html body .about-hero-section h2,html body .services-hero-section h2,html body .contact-hero-section h2,html body .lys-hero-section h2,html body .case-studies-hero-section h2,html body .blog-hero-section h2,html body .get-started-hero-section h2,html body .hero-section h2{font-size:49.6848px!important;font-weight:500!important;line-height:67.2px!important;letter-spacing:0!important;color:#fff!important;}
html body .about-hero-section p,html body .services-hero-section p,html body .contact-hero-section p,html body .lys-hero-section p,html body .case-studies-hero-section p,html body .blog-hero-section p,html body .get-started-hero-section p,html body .hero-section p,html body .about-hero-section .wp-block-group__inner-container p,html body .services-hero-section .wp-block-group__inner-container p,html body .lys-hero-section .wp-block-group__inner-container p,html body .case-studies-hero-section .wp-block-group__inner-container p,html body .blog-hero-section .wp-block-group__inner-container p,html body .get-started-hero-section .wp-block-group__inner-container p,html body .about-hero-section .wp-block-group__inner-container p,html body .hero-section .wp-block-group__inner-container p{font-size:17.6556px!important;font-weight:300!important;line-height:33px!important;color:#fff!important;}
html body .site-branding p.site-title,html body .site-branding a.brand,html body #masthead .site-title{color:#fff!important;font-size:34.5312px!important;font-weight:500!important;letter-spacing:0!important;}
/* 20.4 Per-page hero background images */
html body.page-id-191 .services-hero-section,html body.page-id-191 .hero-section{background-image:linear-gradient(rgba(0,0,0,0.35),rgba(0,0,0,0.35)),url(https://images.squarespace-cdn.com/content/v1/63be3d95b92fa5097d71eab9/1696129750383-6WPQWVHA39S16NZ7PO0N/image-asset.jpeg)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}
html body.page-id-187 .about-hero-section,html body.page-id-187 .hero-section{background-image:linear-gradient(rgba(0,0,0,0.35),rgba(0,0,0,0.35)),url(https://images.squarespace-cdn.com/content/v1/63be3d95b92fa5097d71eab9/1673838375607-UQTLZSRL3E3GM3ECPMFX/unsplash-image-S7viz8JWxwY.jpg)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}
html body.page-id-262 .lys-hero-section,html body.page-id-262 .hero-section{background-image:linear-gradient(rgba(0,0,0,0.35),rgba(0,0,0,0.35)),url(https://images.squarespace-cdn.com/content/v1/63be3d95b92fa5097d71eab9/668bc88a-95a1-4d0b-a2e0-eebecfb02930/unsplash-image-T0inbt7nRME.jpg)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}
/* 20.5 Nav links white on hero pages */
html body #masthead a,html body #masthead .header-navigation-wrap a,html body #masthead .menu-item a,html body #masthead .header-navigation a,html body #masthead nav a,html body .site-header .header-main a{color:#fff!important;font-size:17.6556px!important;font-weight:500!important;}
html body #masthead a:hover,html body #masthead .header-navigation a:hover,html body #masthead nav a:hover{color:#f5e6d3!important;opacity:.85;}
html body #masthead ul.sub-menu{background:rgba(30,46,44,.95)!important;}
html body #masthead ul.sub-menu a{color:#fff!important;}
/* 20.6 /services white-gap fix */
html body.page-id-191 .services-testimonial-section,html body .wp-block-group.services-testimonial-section{margin-bottom:0!important;}
/* 20.7 /contact layout + dark text override */
html body.page-id-188 .entry-content{display:block!important;grid-template-columns:none!important;width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:160px 60px 80px!important;}
html body.page-id-188 .entry-content-wrap{padding:0!important;background:#fff!important;}
html body.page-id-188 .vita-contact-columns{display:flex!important;width:100%!important;max-width:1200px!important;gap:60px!important;flex-direction:row!important;flex-wrap:nowrap!important;}
html body.page-id-188 .vita-contact-columns > .wp-block-column{flex:1 1 50%!important;max-width:50%!important;width:50%!important;}
html body.page-id-188 h1.vita-contact-heading,html body.page-id-188 .vita-contact-heading{color:#3F4A49!important;font-size:49.6848px!important;font-weight:500!important;line-height:1.15!important;}
html body.page-id-188 .vita-contact-columns p,html body.page-id-188 .vita-contact-columns p strong{color:#3F4A49!important;font-size:17.6556px!important;line-height:33px!important;}
html body.page-id-188 .contact-hero-section,html body.page-id-188 .hero-section,html body.page-id-188{background:#fff!important;}
html body.page-id-188 #masthead a,html body.page-id-188 #masthead .site-branding a,html body.page-id-188 #masthead .header-navigation a,html body.page-id-188 #masthead .main-navigation a,html body.page-id-188 #masthead .menu-item a,html body.page-id-188 #masthead nav a,html body.page-id-188 #masthead p.site-title,html body.page-id-188 .site-header .header-main a{color:#3F4A49!important;}
html body.page-id-188 #masthead a.button,html body.page-id-188 #masthead .wp-block-button a,html body.page-id-188 #masthead a.kadence-button{color:#fff!important;}


/* ================================================================
   20.8 INNER-PAGE WHITE BAR FIX (2026-04-07)
   Squarespace overlays the transparent header on top of the
   first hero section. The Kadence .entry-content-wrap on
   inner pages had padding-top:32px which created a white
   strip between the admin bar and the hero. Zero it out and
   pull the hero flush to top:0.
   ================================================================ */
html body:not(.home) .entry-content-wrap,
html body:not(.home) article.entry,
html body:not(.home) #main.site-main,
html body:not(.home) .content-wrap,
html body:not(.home) #primary.content-area,
html body:not(.home) #inner-wrap{
  padding-top:0!important;margin-top:0!important;
}
html body:not(.home) .entry-content,
html body:not(.home) .entry-content > .wp-block-cover:first-child,
html body:not(.home) .entry-content > .wp-block-group:first-child{
  margin-top:0!important;padding-top:0!important;
}
/* Inner-page hero needs internal top padding so its content
   clears the absolute-positioned transparent header (~119px). */
html body.page-id-191 .entry-content > .wp-block-cover:first-child,
html body.page-id-191 .entry-content > .wp-block-group:first-child,
html body.page-id-187 .entry-content > .wp-block-cover:first-child,
html body.page-id-187 .entry-content > .wp-block-group:first-child,
html body.page-id-262 .entry-content > .wp-block-cover:first-child,
html body.page-id-262 .entry-content > .wp-block-group:first-child{
  padding-top:140px!important;
}
/* Make sure inner-page masthead stays absolute/transparent
   like the homepage instead of being a solid white bar. */
html body:not(.home) #masthead.site-header,
html body:not(.home) header#masthead{
  position:absolute!important;top:0!important;left:0!important;right:0!important;
  background:transparent!important;background-color:transparent!important;
  box-shadow:none!important;border-bottom:0!important;
  z-index:100!important;
}


/* ================================================================
   20.9 HERO PARAGRAPH CONSTRAINT (2026-04-07)
   Restores SS hero paragraph max-width that was lost when
   the vita-punch wp_head block was deleted.
   ================================================================ */
html body:not(.home) .services-hero-section p,
html body:not(.home) .about-hero-section p,
html body:not(.home) .lys-hero-section p,
html body:not(.home) .hero-section p,
html body.page-id-191 .wp-block-group:first-child p,
html body.page-id-187 .wp-block-group:first-child p,
html body.page-id-262 .wp-block-group:first-child p{
  max-width:655px!important;margin-left:auto!important;margin-right:auto!important;
}

/* 20.8b CONTACT PAGE TOP PADDING (no hero) */
html body.page-id-188 .entry-content{padding-top:140px!important;}


/* ============================================================ */
/* 20.10 HERO PAGE OVERLAY (REWRITES :not(.home) RULES IN 20.8) */
/* Only services(191), about(187), list-your-site(262) get the  */
/* transparent absolute header. All other non-home pages get a  */
/* normal solid header with dark text.                           */
/* ============================================================ */

/* Reset transparent treatment on non-hero pages */
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead.site-header,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) header#masthead{
  position:relative!important;
  background:#ffffff!important;background-color:#ffffff!important;
  box-shadow:0 1px 0 rgba(0,0,0,0.05)!important;
}

/* Force dark nav text on non-hero pages */
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead a,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead .header-navigation a,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead .menu-item a,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead .header-navigation-wrap a,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead nav a,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) .site-header a{
  color:#3F4A49!important;
}

/* Site logo dark on non-hero pages */
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) .site-branding .site-title,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) .site-branding a{
  color:#3F4A49!important;
}

/* Reset content padding on non-hero pages (no overlap to compensate for) */
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) .entry-content > .wp-block-cover:first-child,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) .entry-content > .wp-block-group:first-child{
  padding-top:0!important;
}
html body.page-id-188 .entry-content{padding-top:0!important;}

/* ============================================================ */
/* 20.11 NAV TOP SPACING — push CTA/brand down on every page    */
/* ============================================================ */
html body #masthead .site-main-header-inner-wrap{
  padding-top:28px!important;
  padding-bottom:8px!important;
}
/* On hero pages, bump hero content padding to clear the now-taller header */
html body.page-id-191 .entry-content > .wp-block-cover:first-child,
html body.page-id-191 .entry-content > .wp-block-group:first-child,
html body.page-id-187 .entry-content > .wp-block-cover:first-child,
html body.page-id-187 .entry-content > .wp-block-group:first-child,
html body.page-id-262 .entry-content > .wp-block-cover:first-child,
html body.page-id-262 .entry-content > .wp-block-group:first-child{
  padding-top:170px!important;
}

/* ============================================================ */
/* 20.12 BLOG INDEX THUMBNAIL FIX — vita-injected aspect-ratio  */
/* The injected wrapper has aspect-ratio:16/9 but img height:0  */
/* because % heights don't resolve in aspect-ratio containers.  */
/* Fix: position the img absolutely to fill the wrapper.        */
/* ============================================================ */
html body a.post-thumbnail.vita-injected,
html body .vita-injected{
  position:relative!important;
  display:block!important;
}
html body a.post-thumbnail.vita-injected img,
html body .vita-injected img,
html body .vita-injected img.wp-post-image{
  position:absolute!important;
  top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:100%!important;
  object-fit:cover!important;
  display:block!important;
}

/* ============================================================ */
/* 20.13 SINGLE POST DUPLICATE IMAGE REMOVAL                    */
/* AI-generated post bodies include an inline photograph that   */
/* duplicates the featured image. Hide it; keep the featured.   */
/* ============================================================ */
html body.single .entry-content .image-block-wrapper,
html body.single-post .entry-content .image-block-wrapper{
  display:none!important;
}


/* 20.14 NON-HERO LOGO COLOR — beat 20.8 white !important rules */
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) .site-branding p.site-title,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) .site-branding a.brand,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) .site-branding .site-title,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead .site-title,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) header .brand,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) .kadence-header-brand a{
  color:#3F4A49!important;
}


/* 20.15 NON-HERO PAGE TOP WHITESPACE — match SS breathing room */
html body.page-id-257 .entry-content,
html body.page-id-258 .entry-content,
html body.blog .entry-content,
html body.archive .entry-content{
  padding-top:90px!important;
}


/* 20.16 NON-HERO DROPDOWN — light bg + dark text for readability */
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead .sub-menu,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead ul ul{
  background-color:#ffffff!important;
  background:#ffffff!important;
  box-shadow:0 4px 12px rgba(0,0,0,0.1)!important;
}
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead .sub-menu a,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead ul ul a{
  color:#3F4A49!important;
  background-color:transparent!important;
}
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead .sub-menu a:hover,
html body:not(.home):not(.page-id-191):not(.page-id-187):not(.page-id-262) #masthead ul ul a:hover{
  color:#D87B4A!important;
  background-color:rgba(0,0,0,0.03)!important;
}


/* ============================================================
   STAGE Z RESPONSIVE FIX
   21.A kill mobile horizontal scroll
   21.B tame section padding tablet+mobile
   21.C neutralize legacy inline widths on mobile
   ============================================================ */

/* 21.A KILL MOBILE HORIZONTAL SCROLL */
@media (max-width:767px){
  html body .entry-content .wp-block-columns,
  html body .entry-content .wp-block-columns.is-layout-flex{
    flex-wrap:wrap!important;
    gap:24px!important;
  }
  html body .entry-content .wp-block-columns > .wp-block-column,
  html body .entry-content .wp-block-column{
    width:100%!important;
    max-width:100%!important;
    flex-basis:100%!important;
    flex:1 1 100%!important;
  }
  html,body{ overflow-x:hidden!important; }
}

/* 21.B TAME SECTION PADDING */
@media (max-width:1023px){
  html body .entry-content .idea-catalyst-section,
  html body .entry-content .seo-quote-section,
  html body .entry-content .services-section,
  html body .entry-content .about-section,
  html body .entry-content .twin-cities-section,
  html body .entry-content .testimonial-section,
  html body .entry-content .cta-section{
    padding-top:80px!important;
    padding-bottom:80px!important;
    padding-left:48px!important;
    padding-right:48px!important;
  }
}
@media (max-width:767px){
  html body .entry-content .idea-catalyst-section,
  html body .entry-content .seo-quote-section,
  html body .entry-content .services-section,
  html body .entry-content .about-section,
  html body .entry-content .twin-cities-section,
  html body .entry-content .testimonial-section,
  html body .entry-content .cta-section{
    padding-top:56px!important;
    padding-bottom:56px!important;
    padding-left:24px!important;
    padding-right:24px!important;
  }
}

/* 21.C NEUTRALIZE LEGACY INLINE WIDTHS ON MOBILE */
@media (max-width:767px){
  html body .entry-content [style*="width:900px"],
  html body .entry-content [style*="width: 900px"],
  html body .entry-content [style*="width:684px"],
  html body .entry-content [style*="width: 684px"],
  html body .entry-content [style*="width:553px"],
  html body .entry-content [style*="width: 553px"],
  html body .entry-content [style*="width:500px"],
  html body .entry-content [style*="width: 500px"],
  html body .entry-content [style*="width:400px"],
  html body .entry-content [style*="width: 400px"],
  html body .entry-content [style*="width:306px"],
  html body .entry-content [style*="width: 306px"],
  html body .entry-content [style*="width:250px"],
  html body .entry-content [style*="width: 250px"]{
    width:auto!important;
    max-width:100%!important;
  }
  html body .entry-content img{
    max-width:100%!important;
    height:auto!important;
  }
}


/* 21.D MOBILE HEADER SWAP — hide desktop wrap only, show mobile wrap. NOTE: both wraps contain their own .site-header-upper-wrap, so we MUST scope to .site-header-wrap (the desktop root) and NOT blanket-hide .site-header-upper-wrap. */
@media (max-width:1023px){
  html body #masthead.site-header > .site-header-wrap,
  html body header#masthead > .site-header-wrap{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    overflow:hidden!important;
  }
  html body header.site-header > .site-mobile-header-wrap{
    display:block!important;
    visibility:visible!important;
  }
  html body header.site-header > .site-mobile-header-wrap .site-header-upper-wrap,
  html body header.site-header > .site-mobile-header-wrap .site-header-inner-wrap{
    display:block!important;
    visibility:visible!important;
    height:auto!important;
    overflow:visible!important;
  }
}

/* 21.E DEFENSIVE OVERFLOW LOCK — prevent any leftover overflow at mobile */
@media (max-width:767px){
  html,body,#wrapper,.site,.site-container,.site-content,.entry-content{
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
}


/* 21.F BEAT LEGACY HARDCODED IMG MAX-WIDTH RULES (553px / 581px) */
@media (max-width:767px){
  html body.home img[alt*="SEO Growth"],
  html body.home .wp-block-image img[src*="plant"],
  html body.home .wp-block-image img[src*="unsplash"],
  html body .site-main .seo-quote-section .wp-block-image img,
  html body .entry-content figure.wp-block-image img,
  html body .entry-content .wp-block-image img,
  html body .entry-content figure img,
  html body .entry-content img{
    max-width:100%!important;
    width:100%!important;
    height:auto!important;
  }
}


/* 21.G MOBILE HEADER PADDING — kill nested 57px gutters that crush logo+CTA into 118px on iPhone. */
@media (max-width:1023px){
  html body #masthead .site-mobile-header-wrap .site-header-row-container-inner{
    padding-left:0!important;
    padding-right:0!important;
    max-width:100%!important;
    width:100%!important;
  }
  html body #masthead .site-mobile-header-wrap .site-container{
    padding-left:16px!important;
    padding-right:16px!important;
    max-width:100%!important;
    width:100%!important;
  }
  html body #masthead .site-mobile-header-wrap .site-main-header-inner-wrap{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
}

/* 21.H MOBILE HEADER VISIBILITY — solid bar with dark text on mobile (override .home transparent overlay so iPhone users can see logo + hamburger). */
@media (max-width:1023px){
  html body.home #masthead.site-header,
  html body #masthead.site-header,
  html body header#masthead.site-header{
    background:#FAF9F5!important;
  }
  html body #masthead .site-mobile-header-wrap,
  html body #masthead .site-mobile-header-wrap .site-header-upper-wrap,
  html body #masthead .site-mobile-header-wrap .site-header-inner-wrap{
    background:#FAF9F5!important;
  }
  html body #masthead .site-mobile-header-wrap .site-branding .site-title,
  html body #masthead .site-mobile-header-wrap .site-branding .site-title a,
  html body #masthead .site-mobile-header-wrap .site-branding a.brand,
  html body #masthead .site-mobile-header-wrap .site-branding a{
    color:#3F4A49!important;
  }
  html body #masthead .site-mobile-header-wrap #mobile-toggle,
  html body #masthead .site-mobile-header-wrap .menu-toggle-open,
  html body #masthead .site-mobile-header-wrap .drawer-toggle{
    color:#3F4A49!important;
  }
  html body #masthead .site-mobile-header-wrap #mobile-toggle svg,
  html body #masthead .site-mobile-header-wrap .menu-toggle-open svg,
  html body #masthead .site-mobile-header-wrap .drawer-toggle svg{
    fill:#3F4A49!important;
    stroke:#3F4A49!important;
  }
  html body.home .entry-hero,
  html body.home .site-content > .hero-section{
    margin-top:0!important;
  }
}

/* 21.I MOBILE DRAWER READABILITY — match header palette: light bg, dark links, terracotta current-item. Default Kadence drawer is near-black with near-black links on this site, which reads as an unreadable wall. */
@media (max-width:1023px){
  html body #mobile-drawer .drawer-inner,
  html body #mobile-drawer.popup-drawer .drawer-inner,
  html body .popup-drawer#mobile-drawer .drawer-inner{
    background:#FAF9F5!important;
    color:#3F4A49!important;
  }
  html body #mobile-drawer .drawer-header,
  html body #mobile-drawer .drawer-content{
    background:#FAF9F5!important;
  }
  html body #mobile-drawer .menu-item > a,
  html body #mobile-drawer nav.drawer-navigation a,
  html body #mobile-drawer .drawer-content a,
  html body #mobile-drawer .menu-item a{
    color:#3F4A49!important;
    background:transparent!important;
  }
  html body #mobile-drawer .menu-item.current-menu-item > a,
  html body #mobile-drawer .menu-item.current_page_item > a,
  html body #mobile-drawer li.current-menu-item > a,
  html body #mobile-drawer .menu-item > a[aria-current="page"]{
    color:#C8553D!important;
    font-weight:600!important;
  }
  html body #mobile-drawer .menu-item > a:hover,
  html body #mobile-drawer .menu-item > a:focus{
    color:#C8553D!important;
  }
  /* Drawer close (X) button: make it dark on light */
  html body #mobile-drawer .drawer-toggle.menu-toggle-close,
  html body #mobile-drawer .menu-toggle-close{
    color:#3F4A49!important;
  }
  html body #mobile-drawer .drawer-toggle.menu-toggle-close svg,
  html body #mobile-drawer .menu-toggle-close svg{
    fill:#3F4A49!important;
    stroke:#3F4A49!important;
  }
  /* Submenu toggle arrows */
  html body #mobile-drawer .drawer-sub-toggle,
  html body #mobile-drawer .drawer-sub-toggle svg{
    color:#3F4A49!important;
    fill:#3F4A49!important;
  }
  /* Separator borders between menu items */
  html body #mobile-drawer .menu-item{
    border-color:rgba(63,74,73,0.12)!important;
  }
}


/* ============================================================ */
/* STAGE Z14 — BLOG INDEX (replicate SS blog page exactly)      */
/* SS blog: no hero header, 2-col grid, large image, small      */
/* centered date above big centered title, no excerpt, no       */
/* author/category/morelink, white bg, generous vertical gaps.  */
/* ============================================================ */

body.blog .entry-hero.post-archive-hero-section,
body.blog header.entry-hero,
body.archive .entry-hero.post-archive-hero-section{
  display:none!important;
}

/* Force 2 columns on all viewports >= 768px (override Kadence grid-lg-col-3) */
body.blog #archive-container.grid-cols,
body.blog .post-archive.grid-cols{
  grid-template-columns:1fr!important;
  gap:120px 80px!important;
  max-width:1280px!important;
  margin:80px auto 120px!important;
  padding:0 40px!important;
  background:#FAF9F5!important;
}
@media (min-width:768px){
  body.blog #archive-container.grid-cols,
  body.blog .post-archive.grid-cols{
    grid-template-columns:1fr 1fr!important;
  }
}

/* Article container — clean, centered, no boxed background */
body.blog #archive-container article.entry.loop-entry{
  background:transparent!important;
  box-shadow:none!important;
  border:none!important;
  padding:0!important;
  margin:0!important;
  text-align:center!important;
}
body.blog #archive-container article.entry .entry-content-wrap{
  background:transparent!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}

/* Featured image — large, dominant, full card width */
body.blog #archive-container article a.post-thumbnail{
  display:block!important;
  width:100%!important;
  margin:0 0 32px 0!important;
  overflow:hidden!important;
  background:transparent!important;
}
body.blog #archive-container article a.post-thumbnail img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:cover!important;
  aspect-ratio:3/2!important;
}

/* Header layout: use flex order so date appears ABOVE title */
body.blog #archive-container article header.entry-header{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:none!important;
}

/* Hide taxonomies (category badges) */
body.blog #archive-container article .entry-taxonomies,
body.blog #archive-container article .category-links{
  display:none!important;
}

/* Date row — small, centered, ABOVE title via flex order */
body.blog #archive-container article .entry-meta{
  order:1!important;
  margin:0 0 16px 0!important;
  padding:0!important;
  border:none!important;
  display:flex!important;
  justify-content:center!important;
  font-size:14px!important;
  color:#6a7271!important;
  font-family:inherit!important;
}
body.blog #archive-container article .entry-meta .posted-by,
body.blog #archive-container article .entry-meta .meta-label,
body.blog #archive-container article .entry-meta .author,
body.blog #archive-container article .entry-meta .vcard,
body.blog #archive-container article .entry-meta .entry-meta-divider-dot::before{
  display:none!important;
}
body.blog #archive-container article .entry-meta .posted-on{
  display:inline!important;
  margin:0!important;
  padding:0!important;
}
body.blog #archive-container article .entry-meta time.updated{
  display:none!important;
}
body.blog #archive-container article .entry-meta time.entry-date{
  font-size:14px!important;
  color:#6a7271!important;
  font-weight:400!important;
}

/* Title — large, bold, centered, BELOW date via flex order */
body.blog #archive-container article h2.entry-title{
  order:2!important;
  margin:0 0 0 0!important;
  padding:0 20px!important;
  font-size:28px!important;
  line-height:1.25!important;
  font-weight:700!important;
  color:#3F4A49!important;
  text-align:center!important;
  max-width:520px!important;
}
body.blog #archive-container article h2.entry-title a{
  color:#3F4A49!important;
  text-decoration:none!important;
  background:none!important;
  border:none!important;
}
body.blog #archive-container article h2.entry-title a:hover{
  color:#C8553D!important;
}

/* Hide the excerpt — SS has none */
body.blog #archive-container article .entry-summary,
body.blog #archive-container article .entry-summary p{
  display:none!important;
}

/* Hide the read-more footer */
body.blog #archive-container article footer.entry-footer,
body.blog #archive-container article .entry-actions,
body.blog #archive-container article .more-link-wrap,
body.blog #archive-container article a.post-more-link{
  display:none!important;
}

/* Sidebar — SS blog has no sidebar; hide it on the blog index */
body.blog #secondary.widget-area,
body.blog .has-sidebar #primary{
  width:100%!important;
  flex:1 1 100%!important;
  max-width:100%!important;
}
body.blog #secondary.widget-area{
  display:none!important;
}

/* Page background — pure SS cream */
body.blog,
body.blog .site,
body.blog #wrapper,
body.blog #primary,
body.blog .site-content,
body.blog .content-area{
  background:#FAF9F5!important;
}

/* Mobile: 1 column, smaller gaps */
@media (max-width:767px){
  body.blog #archive-container.grid-cols,
  body.blog .post-archive.grid-cols{
    grid-template-columns:1fr!important;
    gap:80px 0!important;
    margin:40px auto 80px!important;
    padding:0 24px!important;
  }
  body.blog #archive-container article h2.entry-title{
    font-size:24px!important;
  }
}

/* END STAGE Z14 BLOG */


/* ============================================================ */
/* STAGE Z14b — BLOG MOBILE CENTERING FIX                       */
/* Defensive: force the entire chain of Kadence wrappers to     */
/* full-width with no padding, then center the article column   */
/* explicitly via flex+max-width. Solves the off-center read    */
/* on real iPhone Safari that the iframe could not reproduce.   */
/* ============================================================ */

@media (max-width:767px){
  body.blog #inner-wrap,
  body.blog #wrapper,
  body.blog .site,
  body.blog #primary,
  body.blog .content-area,
  body.blog #main,
  body.blog .site-main{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  body.blog #archive-container.grid-cols.post-archive{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    margin:32px auto 64px!important;
    padding:0 20px!important;
    gap:64px!important;
  }
  body.blog #archive-container article.entry.loop-entry{
    width:100%!important;
    max-width:340px!important;
    margin:0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  body.blog #archive-container article .entry-content-wrap{
    width:100%!important;
    margin:0 auto!important;
    align-items:center!important;
  }
  body.blog #archive-container article a.post-thumbnail{
    width:100%!important;
    margin:0 auto 24px!important;
  }
  body.blog #archive-container article h2.entry-title{
    max-width:280px!important;
    margin:0 auto!important;
    padding:0!important;
    font-size:22px!important;
    line-height:1.3!important;
  }
  body.blog #archive-container article .entry-meta{
    width:100%!important;
    margin:0 auto 12px!important;
  }
}

/* END STAGE Z14b */


/* STAGE Z15 — replicate SS hero uppercase (specificity bumped above 0,3,3) */
html body.home.page-id-186 .site-main .hero-bg-wrapper .hero-content h1,
html body.home.page-id-186 .hero-bg-wrapper .hero-content h1{
  text-transform:uppercase!important;
}
/* END STAGE Z15 */


/* STAGE Z16 — fix dark-on-dark about-cta-section text */
html body .about-cta-section,
html body .about-cta-section h1,
html body .about-cta-section h2,
html body .about-cta-section h3,
html body .about-cta-section p,
html body .about-cta-section .wp-block-button__link{
  color:#fff!important;
}
/* END STAGE Z16 */


/* ============================================================ */
/* STAGE Z17 — EMERGENCY FIX                                    */
/* 1) Restore site background (was grey from Kadence palette-9) */
/* 2) Fix hero image collision with greedy Victoria Temiz rule  */
/* ============================================================ */
html body.content-style-unboxed .site,
html body .content-bg{
  background:#FAF9F5 !important;
}
html body.home .hero-bg-wrapper .hero-bg-image{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center right !important;
  position:absolute !important;
  top:0 !important; left:0 !important;
}
/* END STAGE Z17 */


/* ============================================================ */
/* STAGE Z18 — Header nav text: dark on off-white                */
/* Was white (readable on prior grey); now dark brand color      */
/* ============================================================ */
html body .site-header .header-navigation a,
html body .site-header .site-main-navigation a,
html body .site-header #primary-menu a,
html body .site-header .main-navigation a,
html body .site-header .site-branding a{
  color:#3F4A49 !important;
}
html body .site-header .header-navigation a:hover,
html body .site-header .site-main-navigation a:hover,
html body .site-header #primary-menu a:hover,
html body .site-header .main-navigation a:hover{
  color:#D17049 !important;
}
/* END STAGE Z18 */


/* ============================================================ */
/* STAGE Z19 — Site title (logo text) color on off-white header */
/* ============================================================ */
html body .site-header .site-branding .site-title,
html body .site-header .site-branding a.brand,
html body .site-header .site-branding a.brand .site-title{
  color:#3F4A49 !important;
}
html body .site-header .site-branding a.brand:hover .site-title{
  color:#D17049 !important;
}
/* END STAGE Z19 */


/* ============================================================ */
/* STAGE Z20 — Logo + nav on home: beat #masthead ID specificity */
/* Previous rules set these white to be readable on grey bg.    */
/* Bg is now off-white, so logo/nav must be dark on ALL pages.   */
/* ============================================================ */
html body.home #masthead .site-branding .site-title,
html body.home #masthead .site-branding a.brand,
html body.home #masthead .site-branding a.brand .site-title,
html body.home #masthead .site-branding p.site-title,
html body #masthead .site-branding .site-title,
html body #masthead .site-branding a.brand,
html body #masthead .site-branding a.brand .site-title,
html body #masthead .site-branding p.site-title,
html body #masthead .header-navigation a,
html body #masthead #primary-menu a,
html body #masthead .main-navigation a{
  color:#3F4A49 !important;
}
html body #masthead .site-branding a.brand:hover .site-title,
html body #masthead .header-navigation a:hover,
html body #masthead #primary-menu a:hover,
html body #masthead .main-navigation a:hover{
  color:#D17049 !important;
}
/* END STAGE Z20 */


/* STAGE Z21 — Footer restore + brand styling | 2026-04-09 | Arachne */
/* Kadence native footer: top row 3-col widget layout */
html body #colophon.site-footer {
  background: #DCD9D0 !important;
  color: #3F4A49 !important;
}
html body #colophon .site-top-footer-inner-wrap,
html body .site-footer .site-top-footer-inner-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 48px !important;
  padding: 64px 0 48px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
html body #colophon .site-footer-top-section,
html body #colophon .site-footer-section {
  display: block !important;
}
html body #colophon.site-footer,
html body #colophon.site-footer * {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: #3F4A49 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
html body #colophon.site-footer h1,
html body #colophon.site-footer h2,
html body #colophon.site-footer h3,
html body #colophon.site-footer h4,
html body #colophon.site-footer .wp-block-heading,
html body #colophon.site-footer .wp-block-kadence-advancedheading {
  font-weight: 500 !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
  margin: 0 0 20px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
html body #colophon.site-footer p,
html body #colophon.site-footer li,
html body #colophon.site-footer a {
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}
html body #colophon.site-footer a {
  color: #D17049 !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}
html body #colophon.site-footer a:hover {
  color: #B55A35 !important;
  text-decoration: underline !important;
}
html body #colophon.site-footer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body #colophon.site-footer li {
  margin-bottom: 8px !important;
}
html body #colophon.site-footer .ml-form-embedContainer input[type="email"],
html body #colophon.site-footer input[type="email"] {
  border-radius: 0 !important;
  border: 1px solid #3F4A49 !important;
  background: #FFFFFF !important;
  color: #3F4A49 !important;
  padding: 10px 12px !important;
}
html body #colophon.site-footer .ml-form-embedContainer button[type="submit"],
html body #colophon.site-footer button[type="submit"] {
  background: #D17049 !important;
  color: #FFFFFF !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 10px 18px !important;
  text-transform: none !important;
  font-weight: 500 !important;
}
@media (max-width: 900px) {
  html body #colophon .site-top-footer-inner-wrap,
  html body .site-footer .site-top-footer-inner-wrap {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 40px 20px 32px !important;
  }
}


/* ============================================================
   STAGE Z21 POLISH — MailerLite + vita-footer square corners
   Arachne — 2026-04-09
   ============================================================ */
.vita-footer-newsletter .ml-form-embedWrapper,
.vita-footer-newsletter .ml-form-embedBody,
.vita-footer-newsletter .ml-form-embedContent,
.vita-footer-newsletter .ml-form-embedSubmit,
.vita-footer-newsletter .ml-form-embedSubmit button,
.vita-footer-newsletter .ml-form-embedSubmit button.primary,
.vita-footer-newsletter input[type="email"],
.vita-footer-newsletter input[type="text"] {
  border-radius: 0 !important;
}
.vita-footer-newsletter .ml-form-embedSubmit button,
.vita-footer-newsletter .ml-form-embedSubmit button.primary {
  background-color: #D17049 !important;
  border-color: #D17049 !important;
  color: #ffffff !important;
  font-family: Poppins, -apple-system, system-ui, sans-serif !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.vita-footer-newsletter .ml-form-embedSubmit button:hover,
.vita-footer-newsletter .ml-form-embedSubmit button.primary:hover {
  background-color: #B85A36 !important;
  border-color: #B85A36 !important;
}
.vita-footer-newsletter h4.ml-form-embedSubmitLoad,
.vita-footer-newsletter .ml-form-embedContent h4,
.vita-footer-newsletter .ml-form-embedContent p {
  font-family: Poppins, -apple-system, system-ui, sans-serif !important;
  color: #3F4A49 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.vita-footer-newsletter .ml-form-embedContent h4 { font-weight: 500 !important; }
.vita-footer-newsletter .ml-form-embedContent p { font-weight: 400 !important; }
/* Keep a cream-on-cream newsletter card (no white inset box) */
.vita-footer-newsletter .ml-form-embedWrapper {
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}
.vita-footer-newsletter .ml-form-embedBody {
  padding: 0 !important;
}
.vita-footer-newsletter .ml-form-embedContent {
  margin-bottom: 16px !important;
}
/* Z21-POLISH END */


/* ============================================================
   STAGE Z22: Homepage hero mobile rendering fix (2026-04-09)
   Target: Squarespace reference at 390px viewport.
   Desktop is untouched; rules only fire at <=767px and <=480px.
   ============================================================ */
@media (max-width: 767px) {
  html body.home .hero-bg-wrapper .hero-content {
    padding: 72px 24px 72px 24px !important;
    max-width: 100% !important;
  }
  html body.home .wp-block-group.hero-section {
    padding-top: 80px !important;
    padding-bottom: 48px !important;
  }
  html body.home .hero-bg-wrapper .hero-content h1 {
    font-size: 44px !important;
    line-height: 1.18 !important;
    letter-spacing: normal !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }
  html body.home .hero-bg-wrapper .hero-content h4 {
    font-size: 22px !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
    max-width: 100% !important;
    margin-top: 0 !important;
  }
}
@media (max-width: 480px) {
  html body.home .hero-bg-wrapper .hero-content {
    padding: 64px 20px 56px 20px !important;
  }
  html body.home .hero-bg-wrapper .hero-content h1 {
    font-size: 40px !important;
    line-height: 1.15 !important;
    margin-bottom: 18px !important;
  }
  html body.home .hero-bg-wrapper .hero-content h4 {
    font-size: 20px !important;
    line-height: 1.4 !important;
  }
}
/* STAGE Z22 END */

/* STAGE Z23: Homepage hero mobile layout restructure (2026-04-09) */
@media (max-width: 767px) {
  html body.home .wp-block-group.hero-section {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  html body.home .wp-block-group.hero-section > .wp-block-group__inner-container {
    min-height: 0 !important;
    height: auto !important;
  }
  html body.home .hero-bg-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 0 !important;
    height: auto !important;
  }
  html body.home .hero-bg-wrapper .hero-bg-image {
    position: relative !important;
    width: 100% !important;
    height: 440px !important;
    min-height: 440px !important;
    max-height: 440px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: 78% 38% !important;
    z-index: 1 !important;
  }
  html body.home .hero-bg-wrapper .hero-overlay {
    display: none !important;
  }
  html body.home .hero-bg-wrapper .hero-content {
    position: relative !important;
    background: #4E6556 !important;
    padding: 56px 24px 56px 24px !important;
    max-width: 100% !important;
    margin: 0 !important;
    z-index: 3 !important;
  }
}
/* STAGE Z23 END */
