*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: clip; }
.wp-block-cover {
    position: relative;
    background-size: cover;
    background-position: 50%;
    min-height: 430px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    overflow: hidden;
    box-sizing: border-box;
}
.wp-block-cover__background,
.wp-block-cover__image-background,
.wp-block-cover__video-background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    max-width: none;
    max-height: none;
    object-fit: cover;
}
.wp-block-cover__inner-container {
    width: 100%;
    z-index: 1;
    color: #fff;
    box-sizing: border-box;
}
.wp-block-columns {
    display: flex;
    box-sizing: border-box;
    flex-wrap: wrap;
    align-items: stretch;
}
.wp-block-column {
    flex-grow: 1;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: break-word;
    box-sizing: border-box;
}
.wp-block-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75em;
    box-sizing: border-box;
}
.wp-block-button { box-sizing: border-box; }
.wp-block-button__link {
    display: inline-block;
    text-decoration: none;
    box-sizing: border-box;
    word-break: break-word;
}
.wp-block-group { box-sizing: border-box; }
.wp-block-image { box-sizing: border-box; }
.wp-block-image img { max-width: 100%; height: auto; }
.wp-block-media-text {
    display: grid;
    grid-template-columns: 50% 1fr;
    box-sizing: border-box;
}
.alignfull { width: 100%; max-width: none; }
.alignwide { max-width: 1200px; margin-left: auto; margin-right: auto; }
.has-text-align-center { text-align: center; }
.has-text-align-left { text-align: left; }
.has-text-align-right { text-align: right; }
.has-background { box-sizing: border-box; }
@media (max-width: 781px) {
    .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-direction: column; }
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; width: 100%; }
    .wp-block-media-text { grid-template-columns: 1fr !important; }
}
/* WordPress core cover stacking + default overlay (wp-block-library ships these; the
   copy above does not): photo 0, overlay 1, content on top. */
.wp-block-cover__image-background, .wp-block-cover__video-background { z-index: 0; }
.wp-block-cover__background { z-index: 1; }
.wp-block-cover__inner-container { position: relative; z-index: 1; }
.wp-block-cover .has-background-dim:not([class*="-background-color"]) { background-color: #000; }
.wp-block-cover .wp-block-cover__background.has-background-dim { opacity: .5; }

/* Layout safety net: nothing on the page is ever wider than the screen. :where() keeps these
   at the wrapper's own weight, so any rule of the site stylesheet still wins. clip, unlike
   hidden, does not turn the wrapper into a scroll box, so a sticky header keeps sticking. */
.uw-ai-page { overflow-x: clip; }
.uw-ai-page :where(figure.wp-block-image) { margin: 0; }
.uw-ai-page :where(img, video, iframe, embed, object, svg, canvas, table) { max-width: 100%; }
.uw-ai-page :where(pre, .wp-block-table, .wp-block-code) { max-width: 100%; overflow-x: auto; }
.uw-ai-page :where(h1, h2, h3, h4, h5, h6, p, li, a, td, th, figcaption, blockquote, summary) { overflow-wrap: break-word; }

.uw-ai-page{--uw-color-primary:#050505;--uw-color-secondary:#ffffff;--uw-color-accent:#c99a4b;--uw-color-neutral-dark:#1a1a1a;--uw-color-neutral-light:#f4f4f2;--uw-primary:#050505;--uw-primary-contrast:#ffffff;--uw-field:#ffffff;--uw-field-text:#1a1a1a;--uw-border:#d8d6d0;--uw-radius:6px;--uw-button-radius:999px;--uw-container:1200px;--uw-gutter:clamp(20px,4vw,40px);--uw-space:clamp(56px,7vw,104px);font-family:'Source Sans Pro',sans-serif;color:var(--uw-color-primary);background:var(--uw-color-secondary);line-height:1.65;-webkit-font-smoothing:antialiased;}
.uw-ai-page h1, .uw-ai-page h2, .uw-ai-page h3, .uw-ai-page h4, .uw-ai-page .wp-block-heading{font-family:'Poppins',sans-serif;color:var(--uw-color-primary);line-height:1.2;margin:0 0 16px;font-weight:700;}
.uw-ai-page h1{font-size:clamp(30px,4vw,44px);font-weight:700;letter-spacing:-0.01em;}
.uw-ai-page h2{font-size:clamp(24px,3vw,32px);font-weight:600;}
.uw-ai-page h3{font-size:22px;font-weight:500;}
.uw-ai-page p{margin:0 0 16px;font-size:17px;line-height:1.6;}
.uw-ai-page a{color:inherit;text-decoration:none;}
.uw-ai-page ul, .uw-ai-page ol{margin:0 0 16px;padding-left:1.2em;}
.uw-ai-page *{box-sizing:border-box;}
.uw-ai-page img{display:block;}

/* container & section rhythm */
.uw-ai-page .container{max-width:var(--uw-container);margin-inline:auto;padding-inline:var(--uw-gutter);width:100%;}
.uw-ai-page .section{width:100%;padding-block:var(--uw-space);background:var(--uw-color-secondary);position:relative;}
.uw-ai-page .section--alt{background:var(--uw-color-neutral-light);}
.uw-ai-page .section--dark{background:var(--uw-color-primary);color:var(--uw-color-secondary);}
.uw-ai-page .section--dark h1, .uw-ai-page .section--dark h2, .uw-ai-page .section--dark h3, .uw-ai-page .section--dark p{color:var(--uw-color-secondary);}
.uw-ai-page .section--accent{background:var(--uw-color-accent);color:var(--uw-color-primary);}
.uw-ai-page .section--accent h1, .uw-ai-page .section--accent h2, .uw-ai-page .section--accent h3{color:var(--uw-color-primary);}
.uw-ai-page .section + .section{border-top:1px solid #e4e2dc;}
.uw-ai-page .section--dark + .section, .uw-ai-page .section + .section--dark{border-top:none;}

/* section head */
.uw-ai-page .section-head{max-width:760px;margin:0 0 48px;}
.uw-ai-page .section-head.centered{margin-inline:auto;text-align:center;}
.uw-ai-page .eyebrow{display:inline-block;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--uw-color-accent);margin:0 0 14px;}
.uw-ai-page .section--dark .eyebrow, .uw-ai-page .section--accent .eyebrow{color:var(--uw-color-accent);}
.uw-ai-page .lead{font-size:19px;line-height:1.7;color:#3a3a3a;}
.uw-ai-page .section--dark .lead{color:#dcdcdc;}

/* HEADER */
.uw-ai-page .uw-header{background:var(--uw-color-primary);position:sticky;top:0;z-index:50;width:100%;}
.uw-ai-page .site-header__bar{background:#0f0f0f;padding:8px var(--uw-gutter);color:#cfcfcf;font-size:13px;border-bottom:1px solid #222;}
.uw-ai-page .site-header__bar p{margin:0;font-size:13px;}
.uw-ai-page .site-header__main{padding:0 var(--uw-gutter);min-height:72px;max-height:72px;display:flex;align-items:center;flex-wrap:nowrap;gap:24px;}
.uw-ai-page .site-logo{margin:0;flex:0 0 auto;white-space:nowrap;}
.uw-ai-page .site-logo a{display:inline-flex;align-items:center;justify-content:center;background:var(--uw-color-secondary);color:var(--uw-color-primary);font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;padding:10px 16px;}
.uw-ai-page .uw-nav{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;row-gap:8px;column-gap:0;}
.uw-ai-page .uw-nav > p, .uw-ai-page .uw-nav > .uw-svc-menu{margin:0;padding:0 14px;border-left:1px solid #333;white-space:nowrap;position:relative;}
.uw-ai-page .uw-nav > p:first-child, .uw-ai-page .uw-nav > .uw-svc-menu:first-child{border-left:none;}
.uw-ai-page .uw-nav a{color:#f1f1f1;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;transition:color .2s;}
.uw-ai-page .uw-nav a:hover, .uw-ai-page .uw-nav a:focus{color:var(--uw-color-accent);}
.uw-ai-page .uw-svc-menu{display:inline-block;}
.uw-ai-page .uw-svc-menu-trigger{margin:0;cursor:pointer;}
.uw-ai-page .uw-svc-menu-trigger a::after{content:'▾';display:inline-block;margin-left:6px;font-size:10px;color:var(--uw-color-accent);}
.uw-ai-page .uw-svc-menu-panel{display:none;position:absolute;top:100%;left:14px;min-width:220px;background:var(--uw-color-secondary);border-top:2px solid var(--uw-color-primary);box-shadow:none;padding:10px 0;z-index:60;}
.uw-ai-page .uw-svc-menu:hover .uw-svc-menu-panel, .uw-ai-page .uw-svc-menu:focus-within .uw-svc-menu-panel{display:block;}
.uw-ai-page .uw-svc-link{margin:0;padding:10px 20px;border-left:none;white-space:normal;}
.uw-ai-page .uw-svc-link a{color:var(--uw-color-primary);font-size:15px;text-transform:none;letter-spacing:0;font-weight:600;}
.uw-ai-page .uw-svc-link a:hover{color:var(--uw-color-accent);}
.uw-ai-page .uw-header .wp-block-button{flex:0 0 auto;margin-left:12px;}
.uw-ai-page .uw-header .wp-block-button > .wp-block-button__link{background:var(--uw-color-accent);color:var(--uw-color-primary);font-family:'Poppins',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;padding:12px 26px;border-radius:999px;white-space:nowrap;display:inline-block;transition:background .2s,color .2s;}
.uw-ai-page .uw-header .wp-block-button > .wp-block-button__link:hover{background:var(--uw-color-secondary);color:var(--uw-color-primary);}

/* HERO */
.uw-ai-page .hero{padding-block:var(--uw-space);}
.uw-ai-page .hero .section-head, .uw-ai-page .hero-content{max-width:780px;}
.uw-ai-page .hero--centered .container{text-align:center;max-width:820px;margin-inline:auto;}
.uw-ai-page .hero--split .wp-block-columns{align-items:center;}
.uw-ai-page .hero--image{min-height:0;padding:0;}
.uw-ai-page .hero--image.wp-block-cover{display:flex;align-items:center;}
.uw-ai-page .hero--image .wp-block-cover__background{background:linear-gradient(135deg,rgba(5,5,5,0.86),rgba(5,5,5,0.62));}
.uw-ai-page .hero--image .wp-block-cover__inner-container{width:100%;max-width:var(--uw-container);margin-inline:auto;padding:var(--uw-space) var(--uw-gutter);color:var(--uw-color-secondary);}
.uw-ai-page .hero--image .wp-block-cover__inner-container h1, .uw-ai-page .hero--image .wp-block-cover__inner-container p{color:var(--uw-color-secondary);}
.uw-ai-page .hero--image .wp-block-cover__inner-container>*{max-width:780px;}

/* columns / grid system */
.uw-ai-page .wp-block-columns{display:flex;flex-wrap:wrap;gap:40px;margin-bottom:0;}
.uw-ai-page .grid--2.wp-block-columns, .uw-ai-page .grid--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;}
.uw-ai-page .grid--3.wp-block-columns, .uw-ai-page .grid--3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.uw-ai-page .grid--4.wp-block-columns, .uw-ai-page .grid--4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;}
.uw-ai-page .wp-block-columns.grid--2>.wp-block-column, .uw-ai-page .wp-block-columns.grid--3>.wp-block-column, .uw-ai-page .wp-block-columns.grid--4>.wp-block-column{margin:0;width:auto;flex-basis:auto;}
.uw-ai-page .split.wp-block-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.uw-ai-page .split.wp-block-columns>.wp-block-column{width:auto;flex-basis:auto;}
.uw-ai-page .wp-block-media-text.split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.uw-ai-page .wp-block-media-text.split .wp-block-media-text__content{padding:0 0 0 48px;display:flex;flex-direction:column;justify-content:center;}
.uw-ai-page .wp-block-media-text.split .wp-block-media-text__media{margin:0;}
.uw-ai-page .wp-block-media-text.split .wp-block-media-text__media img{width:100%;height:100%;object-fit:cover;display:block;}

/* cards */
.uw-ai-page .card{background:var(--uw-color-secondary);border:1px solid #e4e2dc;border-top:3px solid var(--uw-color-primary);padding:28px 24px;display:flex;flex-direction:column;height:100%;transition:border-color .2s,transform .2s;}
.uw-ai-page .card:hover{border-top-color:var(--uw-color-accent);transform:translateY(-2px);}
.uw-ai-page .section--dark .card{background:#111;border-color:#2a2a2a;}
.uw-ai-page .card__title{font-size:20px;margin-bottom:10px;}
.uw-ai-page .card__text{font-size:16px;color:#4a4a4a;margin-bottom:0;flex:1 1 auto;}
.uw-ai-page .section--dark .card__text{color:#cfcfcf;}
.uw-ai-page .card .wp-block-buttons{margin-top:20px;}

/* media */
.uw-ai-page .media{margin:0;}
.uw-ai-page .media img{width:100%;aspect-ratio:4/3;object-fit:cover;max-height:460px;border-radius:2px;}

/* buttons */
.uw-ai-page .wp-block-buttons{gap:14px;flex-wrap:wrap;}
.uw-ai-page .btn--primary > .wp-block-button__link{background:var(--uw-color-primary);color:var(--uw-color-secondary);font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;padding:16px 34px;border-radius:999px;display:inline-block;transition:background .2s,color .2s,transform .2s;}
.uw-ai-page .btn--primary > .wp-block-button__link:hover{background:var(--uw-color-accent);color:var(--uw-color-primary);transform:translateY(-1px);}
.uw-ai-page .btn--secondary > .wp-block-button__link{background:transparent;color:var(--uw-color-primary);border:2px solid var(--uw-color-primary);font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;padding:14px 32px;border-radius:999px;display:inline-block;transition:background .2s,color .2s;}
.uw-ai-page .btn--secondary:hover > .wp-block-button__link{background:var(--uw-color-primary);color:var(--uw-color-secondary);}
.uw-ai-page .section--dark .btn--secondary > .wp-block-button__link{color:var(--uw-color-secondary);border-color:var(--uw-color-secondary);}
.uw-ai-page .section--dark .btn--secondary:hover > .wp-block-button__link{background:var(--uw-color-secondary);color:var(--uw-color-primary);}
.uw-ai-page .btn--light > .wp-block-button__link{background:var(--uw-color-secondary);color:var(--uw-color-primary);font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;padding:16px 34px;border-radius:999px;display:inline-block;transition:background .2s,color .2s;}
.uw-ai-page .btn--light > .wp-block-button__link:hover{background:var(--uw-color-accent);color:var(--uw-color-primary);}

/* steps */
.uw-ai-page .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;}
.uw-ai-page .step{padding:0 24px;border-left:1px solid #ddd;position:relative;}
.uw-ai-page .step:first-child{border-left:none;padding-left:0;}
.uw-ai-page .section--dark .step{border-left-color:#333;}
.uw-ai-page .step .step__num{font-family:'Poppins',sans-serif;font-weight:700;font-size:40px;color:var(--uw-color-accent);display:block;margin-bottom:16px;line-height:1;}
.uw-ai-page .step h3{font-size:18px;margin-bottom:8px;}
.uw-ai-page .step p{font-size:15px;color:#555;}
.uw-ai-page .section--dark .step p{color:#ccc;}

/* stats */
.uw-ai-page .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
.uw-ai-page .stat{text-align:center;border-top:3px solid var(--uw-color-accent);padding-top:18px;}
.uw-ai-page .stat strong{display:block;font-family:'Poppins',sans-serif;font-size:32px;font-weight:700;}

/* faq */
.uw-ai-page .faq{max-width:820px;margin:0 auto;}
.uw-ai-page .faq-item{border-top:1px solid #ddd;padding:20px 0;}
.uw-ai-page .faq-item:last-child{border-bottom:1px solid #ddd;}
.uw-ai-page .faq-item summary{font-family:'Poppins',sans-serif;font-weight:600;font-size:18px;cursor:pointer;list-style:none;position:relative;padding-right:30px;}
.uw-ai-page .faq-item summary::-webkit-details-marker{display:none;}
.uw-ai-page .faq-item summary::after{content:'+';position:absolute;right:0;top:0;font-size:22px;color:var(--uw-color-accent);transition:transform .2s;}
.uw-ai-page .faq-item[open] summary::after{transform:rotate(45deg);}
.uw-ai-page .faq-item p{margin-top:14px;color:#4a4a4a;}
.uw-ai-page .section--dark .faq-item{border-color:#333;}
.uw-ai-page .section--dark .faq-item p{color:#ccc;}

/* cta band */
.uw-ai-page .cta-band{background:var(--uw-color-primary);color:var(--uw-color-secondary);text-align:center;}
.uw-ai-page .cta-band h2, .uw-ai-page .cta-band p{color:var(--uw-color-secondary);}
.uw-ai-page .cta-band .container{max-width:760px;}

/* form panel */
.uw-ai-page .form-panel{background:var(--uw-color-secondary);color:var(--uw-color-primary);padding:40px;border:1px solid #e4e2dc;border-radius:8px;max-width:640px;margin:0 auto;}
.uw-ai-page .section--dark .form-panel, .uw-ai-page .section--accent .form-panel{background:var(--uw-color-secondary);color:var(--uw-color-primary);}
.uw-ai-page .form-panel h2, .uw-ai-page .form-panel h3{color:var(--uw-color-primary);}
.uw-ai-page .form-panel p{color:#4a4a4a;}
.uw-ai-page .uw-service-cf7{background:var(--uw-color-secondary);color:var(--uw-color-primary);padding:40px;border:1px solid #e4e2dc;border-radius:8px;}
.uw-ai-page .uw-contact-form-ajax-card{background:var(--uw-color-secondary);color:var(--uw-color-primary);padding:40px;border:1px solid #e4e2dc;border-radius:8px;}

/* footer */
.uw-ai-page .uw-footer{background:var(--uw-color-primary);color:#e8e8e8;width:100%;}
.uw-ai-page .uw-footer .container{padding-block:var(--uw-space);}
.uw-ai-page .uw-footer a{color:#e8e8e8;}
.uw-ai-page .uw-footer a:hover{color:var(--uw-color-accent);}
.uw-ai-page .site-footer__grid{display:grid;gap:40px;}
.uw-ai-page .site-footer__grid.cols-2{grid-template-columns:1.4fr 1fr;}
.uw-ai-page .site-footer__grid.cols-3{grid-template-columns:1.4fr 1fr 1fr;}
.uw-ai-page .site-footer__grid.cols-4{grid-template-columns:1.4fr repeat(3,1fr);}
.uw-ai-page .site-footer__grid>.wp-block-column{border-left:1px solid #2a2a2a;padding-left:40px;}
.uw-ai-page .site-footer__grid>.wp-block-column:first-child{border-left:none;padding-left:0;}
.uw-ai-page .uw-footer .site-logo a{background:transparent;color:var(--uw-color-secondary);padding:0;font-size:20px;}
.uw-ai-page .uw-footer .wp-block-button > .wp-block-button__link{background:var(--uw-color-accent);color:var(--uw-color-primary);font-family:'Poppins',sans-serif;font-weight:700;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;padding:12px 26px;border-radius:999px;display:inline-block;}
.uw-ai-page .uw-footer .wp-block-button > .wp-block-button__link:hover{background:var(--uw-color-secondary);}
.uw-ai-page .site-footer__bottom{border-top:1px solid #2a2a2a;margin-top:48px;padding-top:20px;font-size:14px;color:#999;}
.uw-ai-page .site-footer__bottom p{margin:0;font-size:14px;color:#999;}

/* responsive */
@media (max-width:1100px){
.uw-ai-page .grid--4.wp-block-columns, .uw-ai-page .grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}
.uw-ai-page .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}
.uw-ai-page .step{border-left:none;border-top:1px solid #ddd;padding:24px 0 0;}
.uw-ai-page .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
.uw-ai-page .site-header__main{flex-wrap:wrap;min-height:auto;max-height:none;padding-block:12px;}
.uw-ai-page .site-logo{order:1;}
.uw-ai-page .uw-header .wp-block-button{order:2;margin-left:auto;}
.uw-ai-page .uw-nav{order:3;flex:1 1 100%;justify-content:flex-start;margin-top:12px;gap:4px;}
.uw-ai-page .uw-nav>p, .uw-ai-page .uw-nav>.uw-svc-menu{border-left:none;padding:6px 0;width:100%;}
.uw-ai-page .uw-svc-menu-panel{position:static;border-top:none;border-left:2px solid var(--uw-color-accent);padding:4px 0 4px 16px;display:none;}
.uw-ai-page .uw-svc-menu:focus-within .uw-svc-menu-panel, .uw-ai-page .uw-svc-menu:hover .uw-svc-menu-panel{display:block;}
.uw-ai-page .grid--3.wp-block-columns, .uw-ai-page .grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
.uw-ai-page .split.wp-block-columns, .uw-ai-page .wp-block-media-text.split{grid-template-columns:1fr;gap:28px;}
.uw-ai-page .wp-block-media-text.split .wp-block-media-text__content{padding:0;}
.uw-ai-page .site-footer__grid.cols-2, .uw-ai-page .site-footer__grid.cols-3, .uw-ai-page .site-footer__grid.cols-4{grid-template-columns:1fr;}
.uw-ai-page .site-footer__grid>.wp-block-column{border-left:none;padding-left:0;border-top:1px solid #2a2a2a;padding-top:28px;}
.uw-ai-page .site-footer__grid>.wp-block-column:first-child{border-top:none;padding-top:0;}
}
@media (max-width:600px){
.uw-ai-page .grid--2.wp-block-columns, .uw-ai-page .grid--2, .uw-ai-page .grid--3.wp-block-columns, .uw-ai-page .grid--3, .uw-ai-page .grid--4.wp-block-columns, .uw-ai-page .grid--4{grid-template-columns:1fr;}
.uw-ai-page .steps{grid-template-columns:1fr;}
.uw-ai-page .stats{grid-template-columns:1fr;}
.uw-ai-page .hero--image .wp-block-cover__inner-container{padding:56px var(--uw-gutter);}
.uw-ai-page .form-panel, .uw-ai-page .uw-service-cf7{padding:26px;}
.uw-ai-page h1{font-size:28px;}
}
/* uw-contrast: text colours below 4.5:1 on their background, fixed by the builder */
.uw-ai-page .eyebrow:not(:where(.wp-block-cover, .section--alt, .section--dark, .section--accent, .uw-header, .site-header__bar, .uw-header .wp-block-button .wp-block-button__link, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer, .uw-footer .wp-block-button .wp-block-button__link) *) { color: #966e2d; }
.uw-ai-page .section--accent .eyebrow:not(:where(.section--accent:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #3f2f13; }
.uw-ai-page .uw-header:not(:where(.uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) { color: #ffffff; }
.uw-ai-page .step .step__num:not(:where(.wp-block-cover, .section--alt, .section--dark, .section--accent, .uw-header, .site-header__bar, .uw-header .wp-block-button .wp-block-button__link, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer, .uw-footer .wp-block-button .wp-block-button__link) *) { color: #966e2d; }
.uw-ai-page .site-footer__bottom:not(:where(.wp-block-cover, .section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *) { color: #111827; }
.uw-ai-page .site-footer__bottom p:not(:where(.wp-block-cover, .section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *) { color: #111827; }
.uw-ai-page .section--dark h4:not(:where(.section--dark) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section--dark:is(.section--accent, .uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .uw-header h1:not(:where(.uw-header) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.uw-header:is(.uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .uw-header h2:not(:where(.uw-header) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.uw-header:is(.uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .uw-header h3:not(:where(.uw-header) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.uw-header:is(.uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .uw-header h4:not(:where(.uw-header) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.uw-header:is(.uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .site-header__bar h1:not(:where(.site-header__bar) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.site-header__bar:is(.uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #cfcfcf; }
.uw-ai-page .site-header__bar h2:not(:where(.site-header__bar) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.site-header__bar:is(.uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #cfcfcf; }
.uw-ai-page .site-header__bar h3:not(:where(.site-header__bar) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.site-header__bar:is(.uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #cfcfcf; }
.uw-ai-page .site-header__bar h4:not(:where(.site-header__bar) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.site-header__bar:is(.uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #cfcfcf; }
.uw-ai-page .section--dark .card h1:not(:where(.section--dark .card) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section--dark:is(.section--accent, .uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .section--dark .card h2:not(:where(.section--dark .card) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section--dark:is(.section--accent, .uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .section--dark .card h3:not(:where(.section--dark .card) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section--dark:is(.section--accent, .uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .section--dark .card h4:not(:where(.section--dark .card) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section--dark:is(.section--accent, .uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .cta-band h1:not(:where(.cta-band) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.cta-band:is(.form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .cta-band h3:not(:where(.cta-band) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.cta-band:is(.form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .cta-band h4:not(:where(.cta-band) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.cta-band:is(.form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .section--dark .form-panel h1:not(:where(.section--dark .form-panel) :where(.section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *):not(:where(.section--dark:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #050505; }
.uw-ai-page .section--dark .form-panel h2:not(:where(.section--dark .form-panel) :where(.section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *):not(:where(.section--dark:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #050505; }
.uw-ai-page .section--dark .form-panel h3:not(:where(.section--dark .form-panel) :where(.section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *):not(:where(.section--dark:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #050505; }
.uw-ai-page .section--dark .form-panel p:not(:where(.section--dark .form-panel) :where(.section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *):not(:where(.section--dark:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #050505; }
.uw-ai-page .uw-footer h1:not(:where(.uw-footer) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *) { color: #e8e8e8; }
.uw-ai-page .uw-footer h2:not(:where(.uw-footer) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *) { color: #e8e8e8; }
.uw-ai-page .uw-footer h3:not(:where(.uw-footer) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *) { color: #e8e8e8; }
.uw-ai-page .uw-footer h4:not(:where(.uw-footer) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *) { color: #e8e8e8; }
.uw-ai-page .section--dark .wp-block-heading:not(:where(.section--dark) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section--dark:is(.section--accent, .uw-svc-menu-panel, .card, .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .cta-band .wp-block-heading:not(:where(.cta-band) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.cta-band:is(.form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .section .eyebrow:not(:where(.section) :where(.section--alt, .section--dark, .section--accent, .uw-header, .site-header__bar, .uw-header .wp-block-button .wp-block-button__link, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section:is(.section--alt, .section--dark, .section--accent, .uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #966e2d; }
.uw-ai-page .section--alt .eyebrow:not(:where(.section--alt) :where(.section--dark, .section--accent, .uw-header, .site-header__bar, .uw-header .wp-block-button .wp-block-button__link, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section--alt:is(.section--dark, .section--accent, .uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #866328; }
.uw-ai-page .section--accent .lead:not(:where(.section--accent) :where(.section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *):not(:where(.section--accent:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #111827; }
.uw-ai-page .cta-band .lead:not(:where(.cta-band) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.cta-band:is(.form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .section--accent .card__text:not(:where(.section--accent) :where(.section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *):not(:where(.section--accent:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #111827; }
.uw-ai-page .cta-band .card__text:not(:where(.cta-band) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.cta-band:is(.form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .section .step .step__num:not(:where(.section) :where(.section--alt, .section--dark, .section--accent, .uw-header, .site-header__bar, .uw-header .wp-block-button .wp-block-button__link, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section:is(.section--alt, .section--dark, .section--accent, .uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #966e2d; }
.uw-ai-page .section--alt .step .step__num:not(:where(.section--alt) :where(.section--dark, .section--accent, .uw-header, .site-header__bar, .uw-header .wp-block-button .wp-block-button__link, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.section--alt:is(.section--dark, .section--accent, .uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #866328; }
.uw-ai-page .section--accent .step .step__num:not(:where(.section--accent) :where(.section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *):not(:where(.section--accent:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #3f2f13; }
.uw-ai-page .section--accent .step p:not(:where(.section--accent) :where(.section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *):not(:where(.section--accent:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #111827; }
.uw-ai-page .cta-band .step p:not(:where(.cta-band) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.cta-band:is(.form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .section--accent .faq-item p:not(:where(.section--accent) :where(.section--dark, .uw-header, .site-header__bar, .section--dark .card, .btn--primary .wp-block-button__link, .cta-band, .uw-footer) *):not(:where(.section--accent:is(.uw-header, .site-header__bar, .cta-band, .uw-footer)) *) { color: #111827; }
.uw-ai-page .cta-band .faq-item p:not(:where(.cta-band) :where(.section, .section--alt, .section--accent, .uw-svc-menu-panel, .uw-header .wp-block-button .wp-block-button__link, .card, .btn--light .wp-block-button__link, .form-panel, .section--dark .form-panel, .section--accent .form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .uw-footer .wp-block-button .wp-block-button__link) *):not(:where(.cta-band:is(.form-panel, .uw-service-cf7, .uw-contact-form-ajax-card)) *) { color: #ffffff; }
.uw-ai-page .cta-band .btn--secondary .wp-block-button__link { background-color: #ffffff; }
/* Native rows restored from legacy regeneration markup. */
.uw-ai-page .wp-block-columns.uw-service-grid.cols-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; align-items:start; }
.uw-ai-page .wp-block-columns.uw-process-grid.cols-3:is(.grid--3) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; align-items:start; }
.uw-ai-page :is(.uw-service-grid,.uw-process-grid) > .wp-block-column { min-width:0; max-width:100%; margin:0; }
.uw-ai-page .uw-service-grid .wp-block-image { margin:0 0 20px; }
.uw-ai-page .uw-service-grid .wp-block-image img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.uw-ai-page .uw-service-grid h3 { margin:0 0 12px; }
.uw-ai-page .uw-service-grid h3 + p { margin:0; }
.uw-ai-page .uw-process-item > p:first-child { margin:0 0 16px; }
.uw-ai-page .uw-process-item > h3 { margin:0 0 12px; }
.uw-ai-page .uw-process-item > h3 + p { margin:0; }
@media(max-width:720px) {
    .uw-ai-page .wp-block-columns.uw-service-grid.cols-2,
    .uw-ai-page .wp-block-columns.uw-process-grid.cols-3:is(.grid--3) { grid-template-columns:minmax(0,1fr); gap:32px; }
}
/* ── Layout guard: full-width bands ── */
/* Prose lists inherit a centred hero's alignment unless explicitly reset. Keep the
   list itself centred, with markers beside start-aligned text and wrapped lines. */
.uw-ai-page :is(ul.wp-block-list, ol.wp-block-list, ul.card__text, ol.card__text) {
    width: fit-content; max-width: 100%; box-sizing: border-box;
    margin-inline: auto; padding-inline-start: 1.4em; text-align: start;
}
.uw-ai-page :is(ul.wp-block-list, ol.wp-block-list, ul.card__text, ol.card__text) > li { text-align: start; }
/* Numbered steps have a generated ::before marker, followed by heading and paragraph
   siblings. Auto-placement puts the paragraph under the marker in the narrow track. */
.uw-ai-page .steps .step:has(> h3 + p)::before { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
.uw-ai-page .steps .step:has(> h3 + p) > :is(h3, p) { grid-column: 2; min-width: 0; overflow-wrap: anywhere; }
/* The header, sections, cover heroes and footer are bands across the whole page; .container centres
   their content. A class meant for an inner group (".faq { max-width: 760px }") that lands on a
   whole section must not shrink the band to a strip at the left edge. */
.uw-ai-page > :is(.section, .wp-block-cover, .uw-header, .uw-footer) { max-width: none; }
/* ── Layout guard: rows come from wp:columns ── */
/* Pages build every row with a wp:columns block (.split, .grid--N). A stylesheet that also makes the
   surrounding .container a grid ("hero--split .container { grid-template-columns: 1fr 1fr }") puts
   that whole row into its first track: half-width columns and text one word per line. */
.uw-ai-page .container:has(> .wp-block-columns) { display: block; }
/* A layout class on a wrapper AND on its child ("steps" group around a "steps" list) nests one grid
   in a single track of the other. Only the inner element lays out the row. */
.uw-ai-page :is(.steps, .stats, .faq, .split, .grid--2, .grid--3, .grid--4):has(> :is(.steps, .stats, .faq, .split, .grid--2, .grid--3, .grid--4)) { display: block; }
/* "height: 100%" gives the cards of one row equal heights. A card stacked with other content in one
   column would take that whole column's height and run over the next section. */
.uw-ai-page .card:not(.wp-block-column):not(:only-child) { height: auto; }
/* ── Layout guard: no squeezed columns ── */
/* A row of 3+ items gives every item at least ~14rem and wraps when they do not fit, instead of
   squeezing them to a few letters per line. A row nested inside a column does the same at ~12rem. */
.uw-ai-page .wp-block-columns.wp-block-columns:is(.cols-3, .cols-4, .cols-5, .cols-6) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
    flex-wrap: wrap;
}
.uw-ai-page .wp-block-column .wp-block-columns.wp-block-columns.cols-2 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    flex-wrap: wrap;
}
.uw-ai-page .wp-block-columns:is(.cols-3, .cols-4, .cols-5, .cols-6) > .wp-block-column { flex: 1 1 14rem; min-width: min(100%, 14rem); }
.uw-ai-page .steps:not(.wp-block-columns) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }
/* A grid of items (steps, stats, a group-built grid) inside one column of a split row: it has half the
   width the stylesheet sized it for, so items keep a readable width and stack instead of squeezing. */
.uw-ai-page .wp-block-columns:has(> .wp-block-column + .wp-block-column) > .wp-block-column :is(.steps, .stats, .grid--2, .grid--3, .grid--4):not(.wp-block-columns) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); flex-wrap: wrap;
}
.uw-ai-page .wp-block-columns:has(> .wp-block-column + .wp-block-column) > .wp-block-column :is(.steps, .stats, .grid--2, .grid--3, .grid--4):not(.wp-block-columns) > * {
    flex: 1 1 15rem; min-width: min(100%, 15rem);
}
/* Four text items in a row leave ~150px of text each on a laptop or tablet: two rows of two instead. */
@media (min-width: 721px) and (max-width: 1100px) {
    .uw-ai-page :is(.steps, .grid--4):not(.wp-block-columns):has(> :nth-child(4):last-child),
    .uw-ai-page .wp-block-columns.wp-block-columns.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uw-ai-page .wp-block-columns.cols-4 > .wp-block-column { flex: 1 1 40%; min-width: 40%; }
}
@media (max-width: 720px) {
    /* Match generated .split.wp-block-columns.cols-2 specificity so its desktop rule cannot win. */
    .uw-ai-page .wp-block-columns.wp-block-columns,
    .uw-ai-page .wp-block-columns.wp-block-columns.cols-2 { grid-template-columns: minmax(0, 1fr); }
}
/* WordPress core sets word-break: break-word on columns, which lets the browser split any word
   ("Dakherst elling") and lets a column shrink below its longest word. */
.uw-ai-page .wp-block-column { word-break: normal; overflow-wrap: break-word; }
.uw-ai-page :is(h1, h2, h3, h4) { overflow-wrap: break-word; hyphens: auto; text-wrap: balance; }
.uw-ai-page :is(p, li) { hyphens: auto; text-wrap: pretty; }
.uw-ai-page .wp-block-button__link { overflow-wrap: normal; word-break: normal; }
/* ── Layout guard: one box per form ── */
/* A form panel, the builder's form wrapper, the payload's form card and Contact Form 7 itself sit
   inside each other; only the outermost draws a box. */
.uw-ai-page :is(.form-panel, .card, .uw-service-cf7, .uw-contact-form-ajax-card) :is(.form-panel, .uw-service-cf7, .uw-contact-form-ajax-card, .wpcf7) {
    border: 0; box-shadow: none; background: transparent; padding: 0; margin: 0;
}
/* Steps, FAQ items or cards inside a panel: one box only — the items lose theirs. */
.uw-ai-page :is(.form-panel, .card) :is(.step, .faq-item, .card, .stat) {
    border: 0; box-shadow: none; background: transparent; padding-inline: 0;
}
/* ── Mobile menu (builder: VakmangidsMobileNav) — a <details> disclosure, no JavaScript ── */
.uw-ai-page .uw-mobile-nav { display: none; }
@media (max-width: 900px) {
    .uw-ai-page .uw-header .uw-nav { display: none; }
    /* The row holding the menu: logo, then the menu button on the right, then the buttons. The panel
       opens under the whole row (containing block); :where() so a sticky row keeps its position. */
    :where(.uw-ai-page .uw-header :has(> .uw-mobile-nav)) { position: relative; }
    .uw-ai-page .uw-header :has(> .uw-mobile-nav) { display: flex; flex-wrap: wrap; align-items: center; column-gap: 12px; }
    .uw-ai-page .uw-header :has(> .uw-mobile-nav) > :not(.uw-mobile-nav, .wp-block-buttons, .uw-nav) { order: 0; flex: 0 1 auto; min-width: 0; }
    .uw-ai-page .uw-header :has(> .uw-mobile-nav) > .wp-block-buttons { order: 2; flex: 0 0 auto; width: auto; margin: 0; }
    .uw-ai-page .uw-header .uw-mobile-nav { display: block; position: static; order: 1; margin: 0 0 0 auto; }
    .uw-ai-page .uw-mobile-nav > summary {
        display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 14px;
        list-style: none; cursor: pointer; font-weight: 600; line-height: 1;
        border: 1px solid currentColor; border-radius: 6px;
    }
    .uw-ai-page .uw-mobile-nav > summary::-webkit-details-marker { display: none; }
    .uw-ai-page .uw-mobile-nav > summary::before {
        content: ""; width: 18px; height: 2px; background: currentColor;
        box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
    }
    .uw-ai-page .uw-mobile-nav[open] > summary::before {
        content: "×"; width: 18px; height: auto; background: none; box-shadow: none;
        font-size: 26px; line-height: 18px; text-align: center;
    }
    .uw-ai-page .uw-mobile-nav > summary:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
    .uw-ai-page .uw-mobile-nav .uw-mobile-nav__panel {
        position: absolute; left: 16px; right: 16px; top: calc(100% + 4px); z-index: 50;
        width: auto; max-width: 26rem; padding: 8px 0; margin: 0 0 0 auto;
        max-height: calc(100vh - 140px); overflow-y: auto;
        background: #ffffff; color: #1f2937; border-radius: 8px;
        box-shadow: 0 12px 32px rgba(15, 23, 42, .18);
    }
    .uw-ai-page .uw-mobile-nav .uw-mobile-nav__panel p { margin: 0; }
    .uw-ai-page .uw-mobile-nav .uw-mobile-nav__panel a {
        display: block; padding: 12px 20px; color: #1f2937; text-decoration: none; font-weight: 500;
    }
    .uw-ai-page .uw-mobile-nav .uw-mobile-nav__panel a:hover,
    .uw-ai-page .uw-mobile-nav .uw-mobile-nav__panel a:focus-visible { background: #f1f5f9; outline: none; }
    .uw-ai-page .uw-mobile-nav .uw-mobile-nav__sub a { padding-left: 36px; font-weight: 400; }
    .uw-ai-page .uw-mobile-nav .uw-mobile-nav__cta { padding: 8px 16px 4px; }
    .uw-ai-page .uw-mobile-nav .uw-mobile-nav__panel .uw-mobile-nav__cta a {
        text-align: center; font-weight: 700; border-radius: 6px;
        /* Not the brand pair: an orange with white text is often below 4.5:1. */
        background: #1f2937; color: #ffffff;
    }
}
@media (max-width: 600px) {
    /* Logo and menu button share the row; the header's buttons are the last items of the menu. */
    .uw-ai-page .uw-header :has(> .uw-mobile-nav):has(.uw-mobile-nav__cta) > .wp-block-buttons { display: none; }
    .uw-ai-page .uw-header :has(> .uw-mobile-nav):has(.uw-mobile-nav__cta) { flex-wrap: nowrap; }
    .uw-ai-page .uw-header :has(> .uw-mobile-nav) > :not(.uw-mobile-nav, .wp-block-buttons, .uw-nav),
    .uw-ai-page .uw-header :has(> .uw-mobile-nav) > :not(.uw-mobile-nav, .wp-block-buttons, .uw-nav) * { white-space: normal; overflow-wrap: break-word; }
    .uw-ai-page .uw-header .uw-mobile-nav { flex: 0 0 auto; }
}
/* ── Layout guard: header rows ── */
.uw-ai-page :where(.site-header__main:not(:has(> .container)), .site-header__bar:not(:has(> .container))) {
    padding-inline: max(20px, calc((100% - var(--uw-container, 1200px)) / 2));
}
@media (max-width: 900px) {
    .uw-ai-page .uw-header .site-header__main,
    .uw-ai-page .uw-header .site-header__main > .container { flex-wrap: wrap; }
    .uw-ai-page .uw-header .site-header__main .uw-nav { min-width: 0; max-width: 100%; flex-wrap: wrap; }
}
/* ── Forms: Contact Form 7 + the preview stand-in ── */
.uw-ai-page .wpcf7,
.uw-ai-page .uw-contact-form-ajax-card {
    --uwf-accent: var(--uw-primary, var(--primary, #1f2937));
    --uwf-on-accent: var(--uw-primary-contrast, #ffffff);
    --uwf-field-text: var(--uw-field-text, #1f2937);
    --uwf-field: var(--uw-field, #ffffff);
    --uwf-border: var(--uw-border, #cbd5e1);
    --uwf-radius: var(--uw-radius, var(--radius, 8px));
    --uwf-error: #c0262d;
    --uwf-gap: 16px;
}
/* Only Contact Form 7's own wrapper is sized here: a site may use .uw-contact-form-ajax-card for
   a plain call-to-action card too, so that class only carries the tokens. */
.uw-ai-page .wpcf7 { box-sizing: border-box; width: 100%; max-width: 100%; }
.uw-ai-page .wpcf7 form, .uw-ai-page .uw-contact-form-ajax-card form { display: flex; flex-direction: column; gap: var(--uwf-gap); margin: 0; font-style: normal; }
.uw-ai-page .wpcf7 form p, .uw-ai-page .uw-contact-form-ajax-card form p { margin: 0; }
.uw-ai-page .wpcf7 form br { display: none; }
/* Contact Form 7 puts consecutive lines of the form template into ONE <p>, fields separated by
   <br>. So inside a <p> every field takes a full line, and only the submit button keeps its width. */
.uw-ai-page .wpcf7 form p { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: var(--uwf-gap) 12px; }
.uw-ai-page .wpcf7 form p > * { flex: 1 1 100%; min-width: 0; }
.uw-ai-page .wpcf7 form p > :is(input[type="submit"], button[type="submit"], .wpcf7-submit) { flex: 0 0 auto; }
.uw-ai-page .wpcf7 form label, .uw-ai-page .uw-contact-form-ajax-card form label {
    display: block;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: inherit;
}
.uw-ai-page .wpcf7 form .wpcf7-form-control-wrap { display: block; position: relative; margin-top: 6px; }

/* Text fields, selects, textareas */
.uw-ai-page .wpcf7 form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea),
.uw-ai-page .uw-contact-form-ajax-card form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea) {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 12px 14px;
    font: inherit;
    font-size: 16px;
    line-height: 1.4;
    color: var(--uwf-field-text);
    background: var(--uwf-field);
    border: 1px solid var(--uwf-border);
    border-radius: var(--uwf-radius);
    box-shadow: none;
}
.uw-ai-page .wpcf7 form textarea, .uw-ai-page .uw-contact-form-ajax-card form textarea { min-height: 140px; resize: vertical; }
.uw-ai-page .wpcf7 form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea)::placeholder,
.uw-ai-page .uw-contact-form-ajax-card form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea)::placeholder { color: color-mix(in srgb, var(--uwf-field-text) 55%, transparent); }
.uw-ai-page .wpcf7 form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea):focus,
.uw-ai-page .uw-contact-form-ajax-card form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea):focus {
    outline: 2px solid var(--uwf-accent);
    outline-offset: 1px;
    border-color: var(--uwf-accent);
}

/* Checkboxes and radio buttons: the box at its own size, the label beside it */
.uw-ai-page .wpcf7 form :is(input[type="checkbox"], input[type="radio"]),
.uw-ai-page .uw-contact-form-ajax-card form :is(input[type="checkbox"], input[type="radio"]) {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    min-height: 0;
    margin: 0;
    padding: 0;
    accent-color: var(--uwf-accent);
}
.uw-ai-page .wpcf7 form :is(input[type="checkbox"], input[type="radio"]):focus-visible,
.uw-ai-page .uw-contact-form-ajax-card form :is(input[type="checkbox"], input[type="radio"]):focus-visible { outline: 2px solid var(--uwf-accent); outline-offset: 2px; }
.uw-ai-page .wpcf7 form :is(.wpcf7-checkbox, .wpcf7-radio, .wpcf7-acceptance) { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.uw-ai-page .wpcf7 form .wpcf7-list-item { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; }
.uw-ai-page .wpcf7 form .wpcf7-list-item-label { font-weight: 400; }
.uw-ai-page .wpcf7 form .wpcf7-list-item label,
.uw-ai-page .uw-contact-form-ajax-card form :is(.uw-lawn-radio, .uw-lawn-checkbox) {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: auto;
    font-weight: 400;
    cursor: pointer;
}
.uw-ai-page .uw-contact-form-ajax-card form :is(.uw-lawn-radio, .uw-lawn-checkbox) { display: flex; margin: 0 0 8px; }
.uw-ai-page .uw-contact-form-ajax-card form :is(.uw-lawn-radio, .uw-lawn-checkbox):last-child { margin-bottom: 0; }
.uw-ai-page .uw-contact-form-ajax-card form .uw-lawn-field-box {
    padding: 14px 16px;
    color: var(--uwf-field-text);
    background: var(--uwf-field);
    border: 1px solid var(--uwf-border);
    border-radius: var(--uwf-radius);
}
.uw-ai-page .uw-contact-form-ajax-card form .uw-lawn-field-box > .uw-lawn-field-label { display: block; margin-bottom: 10px; font-weight: 700; }

/* Submit button */
.uw-ai-page .wpcf7 form :is(input[type="submit"], button[type="submit"], .wpcf7-submit),
.uw-ai-page .uw-contact-form-ajax-card form :is(input[type="submit"], button[type="submit"], .wpcf7-submit) {
    display: inline-block;
    width: auto;
    min-height: 48px;
    margin: 0;
    padding: 12px 28px;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--uwf-on-accent);
    background: var(--uwf-accent);
    border: 0;
    border-radius: var(--uw-button-radius, var(--uwf-radius));
    cursor: pointer;
}
.uw-ai-page .wpcf7 form :is(input[type="submit"], button[type="submit"], .wpcf7-submit):hover, .uw-ai-page .uw-contact-form-ajax-card form :is(input[type="submit"], button[type="submit"], .wpcf7-submit):hover { filter: brightness(1.08); }
/* Contact Form 7 disables the button until a consent box is ticked: it must look disabled. */
.uw-ai-page .wpcf7 form :is(input[type="submit"], button[type="submit"], .wpcf7-submit):disabled { opacity: .5; cursor: not-allowed; filter: none; }
.uw-ai-page .wpcf7 form :is(input[type="submit"], button[type="submit"], .wpcf7-submit):focus-visible,
.uw-ai-page .uw-contact-form-ajax-card form :is(input[type="submit"], button[type="submit"], .wpcf7-submit):focus-visible { outline: 2px solid var(--uwf-accent); outline-offset: 3px; }
/* Contact Form 7's spinner sits over the end of the button row: shown while sending, it never
   moves the button or pushes the fields below it. */
.uw-ai-page .wpcf7 form .wpcf7-spinner { position: absolute; right: 12px; bottom: 12px; flex: none; margin: 0; }
.uw-ai-page .uw-contact-form-ajax-card form { align-items: stretch; }
.uw-ai-page .uw-contact-form-ajax-card form :is(input[type="submit"], button[type="submit"], .wpcf7-submit) { align-self: flex-start; }

/* Two fields side by side: <div class="uw-form-row"> in the form template. The <p> Contact
   Form 7 puts around them steps out of the way, so the fields themselves are the columns. */
.uw-ai-page .wpcf7 form .uw-form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: var(--uwf-gap);
}
.uw-ai-page .wpcf7 form .uw-form-row > p { display: contents; }

/* Validation: messages in the flow, below their field, never on top of the next one */
.uw-ai-page .wpcf7 form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="password"], input[type="search"], select, textarea).wpcf7-not-valid { border-color: var(--uwf-error); }
.uw-ai-page .wpcf7 .wpcf7-not-valid-tip {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--uwf-error);
}
/* Contact Form 7 6.x adds the browser-side and the server-side message for the same field;
   one per field is enough (also with CF7 loaded the standard way on a theme page). */
.uw-ai-page .wpcf7 .wpcf7-not-valid-tip ~ .wpcf7-not-valid-tip { display: none; }
.uw-ai-page .wpcf7 form .wpcf7-response-output {
    margin: 4px 0 0;
    padding: 12px 16px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--uwf-field-text);
    background: var(--uwf-field);
    border: 2px solid var(--uwf-border);
    border-radius: var(--uwf-radius);
}
.uw-ai-page .wpcf7 form.init .wpcf7-response-output,
.uw-ai-page .wpcf7 form.resetting .wpcf7-response-output,
.uw-ai-page .wpcf7 form.submitting .wpcf7-response-output,
.uw-ai-page .wpcf7 form .wpcf7-response-output:empty { display: none; }
.uw-ai-page .wpcf7 form.sent .wpcf7-response-output { border-color: #2e9e4f; }
.uw-ai-page .wpcf7 form:is(.failed, .aborted) .wpcf7-response-output { border-color: var(--uwf-error); }
.uw-ai-page .wpcf7 form.spam .wpcf7-response-output { border-color: #e8772e; }
.uw-ai-page .wpcf7 form:is(.invalid, .unaccepted, .payment-required) .wpcf7-response-output { border-color: #e0a800; }

/* What Contact Form 7's own stylesheet hides (the canvas may not load it) */
.uw-ai-page .wpcf7 .hidden-fields-container { display: none; }
.uw-ai-page .wpcf7 .screen-reader-response {
    position: absolute;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    word-wrap: normal;
}

@media (max-width: 600px) {
    .uw-ai-page .wpcf7 form :is(input[type="submit"], button[type="submit"], .wpcf7-submit), .uw-ai-page .uw-contact-form-ajax-card form :is(input[type="submit"], button[type="submit"], .wpcf7-submit) { width: 100%; }
    .uw-ai-page .uw-contact-form-ajax-card form :is(input[type="submit"], button[type="submit"], .wpcf7-submit) { align-self: stretch; }
    .uw-ai-page .wpcf7 form .uw-form-row { grid-template-columns: 1fr; }
}
/* Only repaired request sections: preserve the site's palette, type and section rhythm. */
.uw-ai-page .uw-request-cta { display: flex; justify-content: center; gap: 16px; margin: clamp(28px,4vw,48px) auto 0; }
.uw-ai-page .uw-request-cta .wp-block-button { max-width: 100%; text-align: center; }
.uw-ai-page .uw-request-section .container > .wp-block-columns + .media { margin-top: clamp(24px,3vw,40px); }
.uw-ai-page .uw-request-section .container > .media + .form-panel { margin-top: clamp(24px,3vw,40px); }
.uw-ai-page .uw-request-section .form-panel { padding: clamp(24px,4vw,48px); }
.uw-ai-page .uw-request-section .form-panel :is(.uw-service-cf7,.uw-contact-form-ajax-card) {
    width: 100%; max-width: none; margin: 0; padding: 0; border: 0; box-shadow: none; background: transparent;
}
.uw-ai-page .uw-request-section .uw-lawn-contact-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.uw-ai-page .uw-request-section .uw-lawn-contact-form > :is(input[name="phone"],.uw-lawn-field-box:last-of-type,button) { grid-column: 1 / -1; }
.uw-ai-page .uw-request-section .uw-lawn-contact-form > button { justify-self: start; }
@media (max-width: 600px) {
    .uw-ai-page .uw-request-section .uw-lawn-contact-form { grid-template-columns: 1fr; }
    .uw-ai-page .uw-request-section .uw-lawn-contact-form > button { justify-self: stretch; }
}