/* Bring route-specific child-theme layouts in line with the Next page modules. */
.acorn-service-list { position:relative; isolation:isolate; overflow:hidden; background:#f7f6f2; }
.acorn-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.acorn-service-card { display:flex; min-height:390px; flex-direction:column; align-items:center; padding:48px 34px 36px; border:1px solid #fff; border-radius:10px; background:#fff; box-shadow:0 12px 36px #1830400a; text-align:center; }
.acorn-service-icon { display:grid; width:78px; height:78px; place-items:center; margin-bottom:26px; border-radius:50%; background:radial-gradient(circle,#edf3f8 0 36%,#fff0 37%); color:var(--blue); }
.acorn-service-card h2 { margin:0 0 18px; color:var(--ink); font-size:24px; line-height:1.25; }
.acorn-service-card p { flex:1; margin:0 0 22px; line-height:1.8; }
.acorn-service-read-more { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:10px; padding:10px 22px; border:1px solid var(--border); border-radius:4px; color:var(--blue); font-size:14px; font-weight:600; text-transform:uppercase; }
.acorn-service-band { padding:86px 0; background:var(--pale); }
.acorn-service-callout { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.acorn-service-callout h2 { margin:4px 0 14px; }
.acorn-service-callout p { max-width:700px; }
.acorn-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin:0; padding:0; list-style:none; }
.acorn-steps li { padding:24px; border-radius:6px; background:var(--pale); }
.acorn-steps li span { display:block; color:var(--blue); font-size:24px; font-weight:700; }
.acorn-steps li strong { display:block; color:var(--ink); }
.acorn-services-cta { text-align:center; }
.acorn-services-cta h2 { margin-bottom:14px; }
.acorn-services-cta p { max-width:660px; margin:0 auto 24px; }
.acorn-offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.acorn-offer { padding:32px; border:1px solid var(--border); border-radius:8px; background:#fff; box-shadow:0 12px 36px #1830400a; }
.acorn-offer h3 { margin:14px 0; }
.acorn-offer > p:not(.offer-price) { min-height:72px; }
.acorn-offer ul { display:grid; gap:12px; margin:24px 0; }
.acorn-offer li { display:flex; align-items:flex-start; gap:10px; }
.acorn-offer li svg { flex:none; margin-top:5px; color:var(--blue); }
.acorn-capabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:0; padding:0; list-style:none; }
.acorn-capabilities li { padding:14px 18px; border-radius:5px; background:#fff; font-weight:600; }
.acorn-demo-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:30px 0; padding:0; list-style:none; }
.acorn-demo-steps li { min-height:90px; padding:16px; border:1px solid var(--border); border-radius:5px; background:white; }
.acorn-demo-steps span { display:block; color:var(--blue); font-weight:700; }
.policy-copy { max-width:850px; }
.policy-copy h2 { margin:32px 0 12px; font-size:28px; }
.policy-copy p { margin-bottom:18px; }
.cal-booking-frame { position:relative; }
.cal-loading { position:absolute; inset:0; display:grid; place-items:center; padding:20px; background:#fafbfc; text-align:center; }
.cal-loading.is-hidden { display:none; }
.cal-direct-link { display:inline-block; margin-top:10px; color:var(--blue); font-size:14px; font-weight:600; }
@media(max-width:850px) { .acorn-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .acorn-service-card { min-height:360px; padding:38px 26px 30px; } .acorn-service-card:last-child { grid-column:1/-1; width:calc(50% - 14px); justify-self:center; } .acorn-service-callout { align-items:flex-start; flex-direction:column; } .acorn-steps,.acorn-capabilities { grid-template-columns:repeat(2,1fr); } .acorn-offer-grid { grid-template-columns:1fr; } .acorn-offer > p:not(.offer-price) { min-height:0; } }
@media(max-width:767px) { .acorn-service-grid,.acorn-steps,.acorn-capabilities,.acorn-demo-steps { grid-template-columns:1fr; } .acorn-service-card { min-height:340px; padding:34px 26px 28px; } .acorn-service-card:last-child { grid-column:auto; width:auto; } }
.acorn-demo-promise{margin:8px 0 34px;padding:28px 30px;border:1px solid #d9e7f2;border-left:4px solid var(--blue);border-radius:7px;background:#f3f8fc}
.acorn-demo-promise h3{margin:0 0 12px;color:var(--ink);font-size:22px;line-height:1.35}
.acorn-demo-promise p{margin:0 0 12px;line-height:1.75}
.acorn-demo-promise p:last-child{margin-bottom:0;font-size:15px}
@media(max-width:560px){.acorn-demo-promise{padding:24px 20px}}
.contact-form-section .section-heading{margin-bottom:28px}
.contact-form-section .section-heading h2{margin-bottom:14px}
.contact-form-section .quick-inquiry-form{margin:0 auto;text-align:left}
.contact-booking-alternative{margin-top:28px}
.contact-booking-alternative a{color:var(--blue);font-weight:700;text-decoration:underline}
.blog-discussion{max-width:850px;margin:56px auto 80px;padding:38px 42px;border:1px solid var(--border);border-radius:8px;background:#f7f9fb}
.blog-discussion h2{margin:0 0 20px;color:var(--ink);font-size:28px}
.blog-discussion-prompt{margin-top:42px;padding:24px;border-left:4px solid var(--blue);background:#f3f8fc}
.blog-discussion-prompt h2{margin:0 0 10px;font-size:22px}
.blog-comment-list{margin:0 0 30px;padding-left:24px}
.blog-comment-list .comment{margin:16px 0;padding:18px;border-radius:6px;background:#fff}
.blog-discussion .comment-respond{margin-top:26px}
.blog-comment-form p{margin:0 0 18px}
.blog-comment-form label{display:block;margin:0 0 7px;font-weight:600}
.blog-comment-form input[type="text"],.blog-comment-form input[type="email"],.blog-comment-form input[type="url"],.blog-comment-form textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;padding:12px;border:1px solid var(--border);border-radius:4px;background:#fff}
.blog-comment-form textarea{min-height:150px;resize:vertical}
.blog-comment-form .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:10px}
.blog-comment-form .comment-form-cookies-consent input{margin-top:5px}
.blog-comment-form .comment-form-cookies-consent label{margin:0;font-weight:400}
.blog-comment-form input[type="submit"]{min-height:48px;margin-top:4px;padding:10px 22px;border:0;border-radius:4px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer}
@media(max-width:767px){.blog-discussion{margin:40px 20px 60px;padding:28px 22px}}
