.elementor-60 .elementor-element.elementor-element-bc75773{--display:flex;}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}/* Start custom CSS *//* ==========================================================================
   SERVICE PAGE TEMPLATE — added for /services/[name]/ pages
   Reuses shared components above (d100x-wrap, d100x-btn*, d100x-eyebrow,
   d100x-hero-grid, d100x-hero-visual, d100x-hero-visual-badge, d100x-hero-ctas,
   d100x-svc-included-badge, d100x-faq-list/item/q/a/plus, d100x-final-cta)
   rather than duplicating them. Only genuinely new rules below.
   ========================================================================== */

/* Shared across all interior pages (Service/Industry/Area), not just SEO */
.d100x-breadcrumb-section{padding-top:20px;}
.d100x-breadcrumb{font-size:14px;color:var(--soft);}
.d100x-breadcrumb a{color:var(--soft);text-decoration:none;}
.d100x-current{color:var(--ink);font-weight:600;}
.d100x-tag{background:var(--tint);border:1px solid var(--line);padding:8px 15px;border-radius:999px;font-size:14px;font-weight:600;color:var(--accent-dark);text-decoration:none;display:inline-block;}
.d100x-tag:hover{background:var(--accent-tint);}

/* Service page hero — reuses d100x-hero-grid/d100x-hero-visual/d100x-hero-ctas,
   but no forced min-height like the homepage hero (that was a 100vh-fit rule
   specific to the homepage, not appropriate for interior pages). */
.d100x-svc-hero{padding-top:36px;padding-bottom:48px;border-bottom:1px solid var(--line);}
.d100x-svc-def-block{background:var(--accent-tint);border-left:4px solid var(--accent);border-radius:0 14px 14px 0;padding:24px 28px;margin-bottom:24px;}
.d100x-svc-def-block p{color:var(--ink);font-size:1.15rem;font-weight:500;line-height:1.6;margin:0;}
.d100x-svc-visual-sub{font-weight:400 !important;font-size:13.5px;}

/* Two-column sticky body */
.d100x-svc-body-section{padding-top:48px;padding-bottom:48px;}
.d100x-svc-body{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start;}
@media(max-width:860px){.d100x-svc-body{grid-template-columns:1fr;}}
.d100x-svc-main section{margin-bottom:48px;}
.d100x-svc-main h2{font-size:1.6rem;margin-bottom:16px;}
.d100x-svc-main p{font-size:16px;margin-bottom:12px;}

/* Types of [Service] sub-discipline cards — link to future dedicated sub-pages */
.d100x-svc-subtype-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px;}
@media(max-width:900px){.d100x-svc-subtype-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.d100x-svc-subtype-grid{grid-template-columns:1fr;}}
.d100x-svc-subtype-card{display:block;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow-sm);text-decoration:none;transition:border-color .15s;}
.d100x-svc-subtype-card:hover{border-color:var(--accent);}
.d100x-svc-subtype-icon{display:flex !important;align-items:center !important;justify-content:center !important;width:48px;height:48px;border-radius:12px;background:var(--accent-tint);margin-bottom:14px;}
.d100x-svc-subtype-icon i{color:var(--accent);font-size:24px;}
.d100x-svc-subtype-card h3{font-size:17px;font-weight:800;margin-bottom:8px;color:var(--ink);}
.d100x-svc-subtype-card p{font-size:14.5px;margin:0;color:var(--soft);}
.d100x-svc-subtype-learn{font-size:13px;font-weight:700;color:var(--accent);margin-top:10px;display:block;}

/* Common Problems — scannable icon + bold label grid */
.d100x-svc-problem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px;}
@media(max-width:700px){.d100x-svc-problem-grid{grid-template-columns:1fr;}}
.d100x-svc-problem-card{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--offwhite);}
.d100x-svc-problem-icon{display:flex !important;align-items:center !important;justify-content:center !important;flex:none;width:40px;height:40px;border-radius:11px;background:var(--warm-tint);}
.d100x-svc-problem-icon i{color:var(--warm-dark);font-size:20px;}
.d100x-svc-problem-card h3{font-size:15.5px;font-weight:800;margin-bottom:4px;}
.d100x-svc-problem-card p{font-size:13.5px;margin:0;}

/* What's Included — highlighted panel */
.d100x-svc-includes-panel{background:var(--good-tint);border:2px solid var(--good);border-radius:16px;padding:8px 24px 8px;margin-top:20px;}
.d100x-svc-includes-panel-head{display:flex;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid rgba(30,158,90,.25);}
.d100x-svc-includes-panel-head i{color:var(--good);font-size:22px;}
.d100x-svc-includes-panel-head span{font-weight:800;font-size:15px;color:#0F6E3F;text-transform:uppercase;letter-spacing:.03em;}
.d100x-svc-includes-list{display:flex;flex-direction:column;gap:0;}
.d100x-svc-includes-list li{list-style:none;display:flex;gap:14px;padding:16px 0;border-bottom:1px solid rgba(30,158,90,.18);align-items:flex-start;}
.d100x-svc-includes-list li:last-child{border-bottom:none;}
.d100x-svc-includes-list li i{display:flex !important;align-items:center !important;justify-content:center !important;color:#fff;background:var(--good);border-radius:50%;width:24px;height:24px;flex:none;font-size:14px;margin-top:1px;}
.d100x-svc-includes-list li div strong{display:block;font-size:16px;font-weight:800;color:var(--ink);}
.d100x-svc-includes-list li div span{font-size:14px;color:var(--soft);}

/* How We Do It — numbered steps */
.d100x-svc-steps-list{counter-reset:step;display:flex;flex-direction:column;gap:18px;margin-top:16px;}
.d100x-svc-steps-list li{list-style:none;counter-increment:step;display:flex;gap:16px;font-size:16px;color:var(--ink);}
.d100x-svc-steps-list li::before{content:counter(step);flex:none;width:32px;height:32px;border-radius:9px;background:var(--ink);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;}

/* Month-by-month timeline */
.d100x-svc-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;}
@media(max-width:700px){.d100x-svc-timeline{grid-template-columns:1fr;}}
.d100x-svc-timeline > div{border:1px solid var(--line);border-radius:12px;padding:18px;}
.d100x-svc-timeline-m{font-size:12.5px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;}
.d100x-svc-timeline p{font-size:14.5px;margin:8px 0 0;}

/* Recent work placeholder */
.d100x-svc-work-placeholder{display:flex !important;align-items:center !important;justify-content:center !important;flex-direction:column;gap:8px;aspect-ratio:16/8;background:var(--offwhite);border:1.5px dashed var(--line);border-radius:14px;color:var(--faint);margin-top:16px;}
.d100x-svc-work-placeholder i{font-size:28px;}

/* Who This Is For / Areas We Serve tag rows */
.d100x-svc-tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}

/* Sticky sidebar */
.d100x-svc-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;gap:20px;}
.d100x-svc-sidebar-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--shadow-sm);}
.d100x-svc-sidebar-card h3{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);margin-bottom:14px;}
.d100x-svc-price-mini{display:flex;align-items:baseline;gap:6px;margin-bottom:6px;}
.d100x-svc-price-num{font-size:1.9rem;font-weight:800;color:var(--ink);}
.d100x-svc-price-per{font-size:13.5px;color:var(--soft);}
.d100x-svc-price-note{font-size:14px;margin:0 0 8px;color:var(--soft);}
.d100x-svc-related-list{display:flex;flex-direction:column;gap:2px;}
.d100x-svc-related-list a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;}
.d100x-svc-related-list a:first-child{border-top:none;}
.d100x-svc-related-list a i{color:var(--faint);font-size:16px;}

/* FAQ section wrapper (reuses d100x-faq-list/item/q/a/plus for the actual accordion) */
.d100x-svc-faq{background:var(--offwhite);padding-top:56px;padding-bottom:56px;border-top:1px solid var(--line);}






/* ==========================================================================
   AREA PAGE TEMPLATE — added for /area/[name]/ pages
   Reuses Service/Industry page components (d100x-svc-hero, d100x-svc-body,
   d100x-svc-includes-panel, d100x-tag, etc). Only the Google Map embed
   wrapper below is genuinely new.
   ========================================================================== */
.d100x-area-map-hero{position:relative;width:100%;}
.d100x-area-map-badge{position:absolute;top:16px;left:16px;z-index:2;background:var(--warm);color:#fff;font-size:12.5px;font-weight:700;padding:7px 13px;border-radius:999px;box-shadow:var(--shadow-sm);}
.d100x-area-map-wrap{position:relative;width:100%;aspect-ratio:4/3.5;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);}
.d100x-area-map-wrap iframe{width:100%;height:100%;border:0;display:block;}
@media(max-width:960px){.d100x-area-map-wrap{aspect-ratio:16/9;}}/* End custom CSS */