/*
Theme Name: Bricks Child Theme
Template: bricks
*/

/* === Fonts === */
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap");
body { font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }

/* Hide WP-injected page title above legacy content */
#brx-content > h1:first-child,
#brx-content > article > h1:first-child { display: none; }

/* === Top primary-blue bar === */
.asp-top-bar { font-size: 13px; }
.asp-top-flex { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100%; flex-direction: row !important; }
@media (max-width: 768px) { .asp-top-bar { display: none; } }

/* === Main header (white, sticky) === */
.asp-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid transparent; transition: all .3s ease; }
.asp-header.scrolled { background: rgba(255,255,255,0.95) !important; backdrop-filter: blur(10px); box-shadow: 0 4px 12px rgba(15,23,41,0.08); padding-top: 12px !important; padding-bottom: 12px !important; border-bottom-color: rgba(226,232,240,0.5); }

/* Header layout: logo left, [nav + CTA] grouped right */
.asp-header-flex { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; width: 100%; gap: 24px; }
.asp-header-flex > :first-child { flex: 0 0 auto; }
.asp-header-flex > :first-child img { display: block !important; }
.asp-header-right { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 16px; flex: 0 0 auto; margin-left: auto; }

/* Nav menu — tight horizontal spacing matching prod */

/* Dropdowns */

/* Hide redundant tel: menu item; hide nav on mobile (use offcanvas later) */
@media (max-width: 980px) { .asp-nav { display: none !important; } }

/* CTA button — rounded pill, contained */
.asp-cta-btn {
  display: inline-flex; align-items: center;
  padding: 11px 22px; background: #2563eb; color: #fff !important;
  text-decoration: none !important; border-radius: 999px;
  font-weight: 600; font-size: 14px; line-height: 1;
  box-shadow: 0 6px 14px rgba(37,99,235,.25);
  transition: all .2s; white-space: nowrap;
  flex: 0 0 auto;
}
.asp-cta-btn:hover { background: #1d4ed8; transform: translateY(-1px); box-shadow: 0 10px 22px rgba(37,99,235,.4); }

/* === Footer === */
.asp-footer { border-top: 4px solid #2563eb; color: #cbd5e1; }
.asp-footer a { color: #cbd5e1; text-decoration: none; transition: color .2s; }
.asp-footer a:hover { color: #60a5fa; }
.asp-footer-grid { display: grid !important; grid-template-columns: 1.2fr 1fr 1fr 1.3fr !important; gap: 48px !important; width: 100%; }
@media (max-width: 980px) { .asp-footer-grid { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 600px) { .asp-footer-grid { grid-template-columns: 1fr !important; } }
.asp-footer-h { color: #fff !important; font-size: 14px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 16px 0 !important; }
.asp-footer-list { list-style: none; padding: 0; margin: 0; }
.asp-footer-list li { padding: 4px 0; font-size: 14px; }
.asp-footer-contact { list-style: none; padding: 0; margin: 0; }
.asp-footer-contact li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; padding: 4px 0; color: #cbd5e1; }

/* Tighter dropdown spacing */

/* Force nav items to share the same baseline regardless of carets / icons */

/* Re-hide the legacy phone tel: menu item with stronger specificity */

/* === Re-do nav alignment: padding on LI, not A === */

/* Tighten chevron up against menu label (match prod) */

/* Real chevron spacing fix — button lives INSIDE .brx-submenu-toggle wrapper alongside the <a> */
/* =================================================================
 * Aspendora home (StoryBrand) - element styles
 * Pairs with bricks-build-home.php
 * ================================================================= */

/* ---------- HERO ---------- */
.asp-hero{position:relative;color:#fff;background:#0f172a;overflow:hidden}
.asp-hero::before,.asp-hero::after{content:"";position:absolute;inset:0;pointer-events:none}
.asp-hero::before{background:radial-gradient(ellipse at top right,rgba(37,99,235,.15),transparent 60%)}
.asp-hero::after{background:radial-gradient(ellipse at bottom left,rgba(37,99,235,.08),transparent 50%)}
.asp-hero > .brxe-container{position:relative;z-index:1}
.asp-hero-grid{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
@media(min-width:1024px){.asp-hero-grid{grid-template-columns:7fr 5fr;gap:48px}}
.asp-hero-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.2);margin-bottom:28px;font-size:13px;font-weight:500;color:#93c5fd}
.asp-pulse-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:asp-pulse 2s ease-in-out infinite}
@keyframes asp-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.asp-hero-h1{font-size:clamp(40px,6vw,80px);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:#fff;margin:0 0 28px}
.asp-hero-gradient{background:linear-gradient(90deg,#60a5fa,#2563eb,#93c5fd);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-top:8px}
.asp-hero-p{font-size:clamp(18px,2vw,22px);line-height:1.6;color:#cbd5e1;font-weight:300;max-width:640px;margin:0 0 40px}
.asp-hero-emph{color:#fff;font-weight:400}
.asp-hero-ctas{display:flex;flex-direction:column;gap:16px;margin-bottom:48px}
@media(min-width:640px){.asp-hero-ctas{flex-direction:row}}
.asp-btn-primary{display:inline-flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;padding:0 32px;height:64px;border-radius:12px;font-size:17px;font-weight:600;text-decoration:none;box-shadow:0 10px 30px rgba(37,99,235,.3);transition:all .3s}
.asp-btn-primary:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 14px 40px rgba(37,99,235,.5);color:#fff}
.asp-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 32px;height:64px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#fff;font-size:17px;font-weight:500;text-decoration:none;transition:all .3s}
.asp-btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.asp-btn-ghost svg{color:#60a5fa}
.asp-hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:32px;font-size:14px;color:#cbd5e1}
.asp-hero-trust span{display:inline-flex;align-items:center;gap:8px}
.asp-hero-right{display:none}
@media(min-width:1024px){.asp-hero-right{display:block}}
.asp-hero-img-wrap{position:relative;max-width:480px;margin:0 auto}
.asp-hero-img-wrap::before{content:"";position:absolute;inset:-32px;background:linear-gradient(45deg,rgba(37,99,235,.2),transparent,rgba(59,130,246,.1));border-radius:24px;filter:blur(40px)}
.asp-hero-img-wrap img{position:relative;width:100%;border-radius:16px;filter:drop-shadow(0 0 80px rgba(37,99,235,.15))}

/* ---------- SECTIONS / TYPOGRAPHY ---------- */
.asp-section-white{background:#fff;color:#0f1729}
.asp-section-slate{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}
.asp-section-slate-2{background:#f8fafc;border-top:1px solid #f1f5f9}
.asp-section-dark{background:#0f172a;color:#fff;position:relative;overflow:hidden}
.asp-section-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at bottom right,rgba(220,38,38,.08),transparent 60%);pointer-events:none}
.asp-section-dark > .brxe-container{position:relative}

.asp-h2{font-size:clamp(32px,4vw,52px);font-weight:700;line-height:1.15;color:#0f1729;margin:0 0 24px;letter-spacing:-.01em}
.asp-text-white{color:#fff !important}
.asp-text-red{color:#ef4444}
.asp-text-red-light{color:#f87171}
.asp-text-blue{color:#2563eb}
.asp-text-green-light{color:#4ade80}
.asp-text-center{text-align:center}
.asp-mb-xl{margin-bottom:64px}
.asp-lead{font-size:clamp(17px,1.6vw,21px);color:#64748b;line-height:1.6}
.asp-prose p{font-size:18px;color:#475569;line-height:1.7;margin:0 0 16px}
.asp-prose strong{color:#0f1729}

.asp-eyebrow{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;padding:8px 16px;border-radius:9999px;margin-bottom:24px}
.asp-eyebrow-red{color:#ef4444;background:#fee2e2}
.asp-eyebrow-blue{color:#2563eb;background:rgba(37,99,235,.06)}
.asp-eyebrow-red-dark{color:#f87171;background:rgba(248,113,113,.1)}
.asp-eyebrow-green-dark{color:#4ade80;background:rgba(74,222,128,.1)}

.asp-text-center .asp-eyebrow,.asp-eyebrow{display:inline-block}
section > .brxe-container > .brxe-code:first-child + .brxe-heading,
section > .brxe-container > .brxe-code:first-child{text-align:center}
.asp-section-white > .brxe-container,
.asp-section-slate > .brxe-container,
.asp-section-slate-2 > .brxe-container{text-align:center}
.asp-section-white > .brxe-container > *,
.asp-section-slate > .brxe-container > *,
.asp-section-slate-2 > .brxe-container > *{text-align:left}
.asp-section-white > .brxe-container > .brxe-code:first-of-type,
.asp-section-slate > .brxe-container > .brxe-code:first-of-type{text-align:center}

/* PROBLEM */
.asp-problem-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:24px}
@media(min-width:768px){.asp-problem-grid{grid-template-columns:repeat(3,1fr)}}
.asp-problem-card{border:2px solid;border-radius:16px;padding:40px;text-align:center;transition:all .3s}
.asp-problem-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(0,0,0,.1)}
.asp-card-red{background:#fef2f2;border-color:#fee2e2}.asp-card-red:hover{border-color:#fecaca}
.asp-card-amber{background:#fffbeb;border-color:#fef3c7}.asp-card-amber:hover{border-color:#fde68a}
.asp-card-orange{background:#fff7ed;border-color:#ffedd5}.asp-card-orange:hover{border-color:#fed7aa}
.asp-problem-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
.asp-card-red .asp-problem-icon{background:#fee2e2;color:#dc2626}
.asp-card-amber .asp-problem-icon{background:#fef3c7;color:#d97706}
.asp-card-orange .asp-problem-icon{background:#ffedd5;color:#ea580c}
.asp-problem-card h3{font-size:20px;font-weight:700;color:#0f1729;margin:0 0 12px}
.asp-problem-card p{color:#475569;line-height:1.65;margin:0}
.asp-quote-wrap{margin-top:64px;text-align:center}
.asp-quote{display:inline-block;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:24px 40px;font-size:20px;color:#334155;font-style:italic;font-family:Georgia,serif;max-width:720px}
.asp-quote strong{font-style:normal;color:#0f1729}

/* GUIDE */
.asp-guide-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:1024px){.asp-guide-grid{grid-template-columns:7fr 5fr;gap:64px}}
.asp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.asp-stat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px 12px;text-align:center;transition:all .3s}
.asp-stat:hover{border-color:rgba(37,99,235,.3);box-shadow:0 4px 12px rgba(0,0,0,.05)}
.asp-stat-value{font-size:28px;font-weight:800;color:#2563eb;margin-bottom:4px}
.asp-stat-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8}
.asp-guide-right{order:-1}
@media(min-width:1024px){.asp-guide-right{order:0}}
.asp-guide-card{position:relative;max-width:360px;margin:0 auto;background:#fff;border-radius:16px;padding:12px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border:1px solid #f1f5f9}
.asp-guide-card img{width:100%;border-radius:12px;display:block}
.asp-guide-card-meta{padding:16px;text-align:center}
.asp-guide-card-name{font-weight:700;font-size:18px;color:#0f1729}
.asp-guide-card-title{font-size:14px;color:#64748b;margin-top:4px}

/* PLAN */
.asp-plan-wrap{position:relative;margin-top:32px}
.asp-plan-line{display:none}
@media(min-width:768px){.asp-plan-line{display:block;position:absolute;top:64px;left:16.6%;right:16.6%;height:2px;background:linear-gradient(90deg,rgba(37,99,235,.2),rgba(37,99,235,.4),rgba(37,99,235,.2))}}
.asp-plan-grid{display:grid;grid-template-columns:1fr;gap:32px;position:relative}
@media(min-width:768px){.asp-plan-grid{grid-template-columns:repeat(3,1fr)}}
.asp-plan-card{background:#fff;border-radius:16px;padding:40px;border:1px solid #e2e8f0;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:all .3s}
.asp-plan-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(0,0,0,.1)}
.asp-plan-step{width:56px;height:56px;background:#2563eb;color:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:14px;font-weight:700;box-shadow:0 10px 25px rgba(37,99,235,.3)}
.asp-plan-card h3{font-size:20px;font-weight:700;color:#0f1729;margin:0 0 16px}
.asp-plan-card p{color:#475569;line-height:1.65;margin:0}

/* CTA BAND */
.asp-cta-band{background:linear-gradient(90deg,#2563eb 0%,#1d4ed8 50%,#2563eb 100%);position:relative;overflow:hidden}
.asp-cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(255,255,255,.08),transparent 70%);pointer-events:none}
.asp-cta-band > .brxe-container{position:relative;text-align:center}
.asp-band-h2{font-size:clamp(28px,4vw,48px);font-weight:700;color:#fff;line-height:1.2;margin:0 0 24px}
.asp-band-p{font-size:clamp(17px,1.6vw,21px);color:#dbeafe;font-weight:300;max-width:600px;margin:0 auto 40px}
.asp-btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#2563eb;font-weight:700;font-size:17px;height:64px;padding:0 48px;border-radius:12px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);text-decoration:none;transition:transform .3s}
.asp-btn-secondary:hover{transform:scale(1.05);color:#2563eb}
.asp-btn-center{margin:0 auto}

/* STAKES + TRANSFORMATION */
.asp-stakes-grid{display:grid;grid-template-columns:1fr;gap:64px;align-items:start}
@media(min-width:1024px){.asp-stakes-grid{grid-template-columns:1fr 1fr}}
.asp-stakes-col .asp-h2{margin-bottom:32px}
.asp-list-x,.asp-list-check{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:20px}
.asp-list-x li,.asp-list-check li{display:flex;align-items:flex-start;gap:16px;color:#cbd5e1;font-size:17px;line-height:1.5;transition:color .2s}
.asp-list-x li:hover,.asp-list-check li:hover{color:#fff}
.asp-x,.asp-check{flex-shrink:0;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-top:2px}
.asp-x{background:rgba(239,68,68,.15);color:#f87171}
.asp-check{background:rgba(34,197,94,.15);color:#4ade80}

/* SERVICES */
.asp-svc-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:24px}
@media(min-width:768px){.asp-svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.asp-svc-grid{grid-template-columns:repeat(3,1fr)}}
.asp-svc-card{display:block;background:#fff;border-radius:16px;padding:32px;border:1px solid #e2e8f0;text-decoration:none;color:inherit;transition:all .3s}
.asp-svc-card:hover{border-color:rgba(37,99,235,.3);transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(0,0,0,.1);color:inherit}
.asp-svc-icon{width:56px;height:56px;background:rgba(37,99,235,.05);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:#2563eb;transition:all .3s}
.asp-svc-card:hover .asp-svc-icon{background:#2563eb;color:#fff}
.asp-svc-card h3{font-size:20px;font-weight:700;color:#0f1729;margin:0 0 12px}
.asp-svc-card p{color:#475569;line-height:1.65;margin:0 0 24px}
.asp-svc-more{display:inline-flex;align-items:center;font-weight:500;color:#2563eb;font-size:14px;transition:transform .3s}
.asp-svc-card:hover .asp-svc-more{transform:translateX(4px)}

/* SCHEDULE */
.asp-sched-card{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.15);border:1px solid #e2e8f0;padding:24px;max-width:720px;margin:0 auto}
@media(min-width:768px){.asp-sched-card{padding:40px}}

/* Calendly widget — force full container width */
.asp-sched-card .calendly-inline-widget,
.calendly-inline-widget{width:100% !important;min-width:0 !important}
.asp-sched-card{max-width:760px}

/* Schedule section: center the content card */
.asp-section-slate-2 > .brxe-container{text-align:center}
.asp-section-slate-2 .asp-sched-card{margin-left:auto;margin-right:auto;text-align:left}

/* Force schedule card to fill width, then iframe inside fills card */
.asp-section-slate-2{text-align:center}
.asp-section-slate-2 .brxe-container{max-width:780px;margin-left:auto;margin-right:auto}
.asp-sched-card{display:block;width:100%;max-width:760px;margin-left:auto !important;margin-right:auto !important;box-sizing:border-box}
.calendly-inline-widget{display:block !important;width:100% !important;min-width:0 !important;height:760px !important}
.calendly-inline-widget iframe{width:100% !important;height:100% !important}

/* ==================== Aspendora page-wrap template ==================== */
.asp-page-hero{background:linear-gradient(180deg,#0f172a 0%,#142850 100%);color:#fff;position:relative;overflow:hidden}
.asp-page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(37,99,235,.18),transparent 60%);pointer-events:none}
.asp-page-hero > .brxe-container{position:relative;text-align:center}
.asp-eyebrow-blue-dark{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;padding:8px 16px;border-radius:9999px;color:#93c5fd;background:rgba(37,99,235,.15);margin-bottom:18px}
.asp-page-h1{font-size:clamp(36px,5vw,60px);font-weight:800;line-height:1.1;color:#fff;margin:0 0 18px;letter-spacing:-.01em}
.asp-page-sub{font-size:18px;color:#cbd5e1;margin:0}
.asp-page-sub a{color:#60a5fa;text-decoration:none;font-weight:600}
.asp-page-sub a:hover{color:#93c5fd}

.asp-page-body{background:#fff}
.asp-page-body > .brxe-container{max-width:880px;margin:0 auto}
.asp-page-prose{color:#334155;font-size:17px;line-height:1.7}
.asp-page-prose h2,.asp-page-prose h3,.asp-page-prose h4{color:#0f1729;line-height:1.25;margin:2em 0 .6em}
.asp-page-prose h2{font-size:32px;font-weight:700}
.asp-page-prose h3{font-size:24px;font-weight:700}
.asp-page-prose h4{font-size:20px;font-weight:600}
.asp-page-prose p{margin:0 0 1.2em}
.asp-page-prose a{color:#2563eb;text-decoration:underline}
.asp-page-prose a:hover{color:#1d4ed8}
.asp-page-prose ul,.asp-page-prose ol{padding-left:1.5em;margin:1em 0}
.asp-page-prose li{margin:0.4em 0}
.asp-page-prose img{max-width:100%;height:auto;border-radius:8px;margin:1em 0}
.asp-page-prose blockquote{border-left:4px solid #2563eb;padding:8px 0 8px 20px;margin:1.5em 0;font-style:italic;color:#475569}
.asp-page-prose .vc_btn3,.asp-page-prose .wpb_button{display:inline-block;background:#2563eb;color:#fff !important;padding:12px 28px;border-radius:8px;font-weight:600;text-decoration:none;border:0}
.asp-page-prose .vc_btn3:hover,.asp-page-prose .wpb_button:hover{background:#1d4ed8;color:#fff !important}
.asp-page-prose .vc_row,.asp-page-prose .wpb_row{margin:0 0 1em}

/* ==================== Blog (single + archive) ==================== */
.asp-post-hero{padding-bottom:50px}
.asp-post-meta{color:#94a3b8;font-size:14px;margin:0}
.asp-post-thumb{margin:0 0 30px;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.asp-post-thumb img{display:block;width:100%;height:auto}

/* Archive grid */
.asp-blog-grid{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:640px){.asp-blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.asp-blog-grid{grid-template-columns:repeat(3,1fr)}}
.asp-blog-card{display:block;background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:all .3s}
.asp-blog-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(0,0,0,.1);border-color:rgba(37,99,235,.3);color:inherit}
.asp-blog-thumb{aspect-ratio:16/9;background:#f1f5f9 center/cover no-repeat}
.asp-blog-thumb-placeholder{background:linear-gradient(135deg,#0f172a,#142850)}
.asp-blog-body{padding:24px}
.asp-blog-cat{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:#2563eb;background:rgba(37,99,235,.08);padding:4px 10px;border-radius:9999px;margin-bottom:12px}
.asp-blog-title{font-size:18px;font-weight:700;color:#0f1729;margin:0 0 8px;line-height:1.35;letter-spacing:-.01em}
.asp-blog-meta{font-size:12px;color:#94a3b8;margin-bottom:12px}
.asp-blog-excerpt{font-size:15px;color:#64748b;line-height:1.6;margin:0 0 16px}
.asp-blog-more{font-size:14px;font-weight:600;color:#2563eb}
.asp-blog-card:hover .asp-blog-more{text-decoration:underline}

.asp-blog-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin:48px 0 0;flex-wrap:wrap}
.asp-blog-pagination a,.asp-blog-pagination span{display:inline-block;min-width:38px;padding:8px 12px;text-align:center;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#475569;text-decoration:none;background:#fff}
.asp-blog-pagination a:hover{border-color:#2563eb;color:#2563eb}
.asp-blog-pagination span.current{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:600}
.asp-blog-pagination .dots{border:none;background:transparent}

/* Blog archive uses page-body class — widen its container to fit 3-col grid */
body.blog .asp-page-body > .brxe-container,
body.archive .asp-page-body > .brxe-container,
body.search .asp-page-body > .brxe-container{max-width:1180px}

/* =================================================================
 * Interior page hero — maroon #660000 (matches prod)
 * Excludes: home (.home), blog archive (.blog), single posts (.single-post)
 * ================================================================= */
body.page:not(.home) .asp-page-hero{
  background: #660000 !important;
  background-image: none !important;
}
body.page:not(.home) .asp-page-hero::before,
body.page:not(.home) .asp-page-hero::after{
  display: none !important;
}
body.page:not(.home) .asp-page-hero .asp-eyebrow-blue-dark{
  background: rgba(255,255,255,.15);
  color: #fff;
}
body.page:not(.home) .asp-page-hero .asp-page-sub a{
  color: #ffd6d6;
}

/* Body prose text — bump to 17px (was inheriting Bricks default 15px) */
.asp-page-prose-block,
.asp-page-prose-block p,
.asp-page-prose-block li{
  font-size: 17px;
  line-height: 1.7;
  color: #334155;
}
.asp-page-prose-block strong{ color: #0f1729; }
.asp-page-prose-block h2{ font-size: 30px; font-weight: 700; color: #0f1729; line-height: 1.25; margin: 1.8em 0 .5em; }
.asp-page-prose-block h3{ font-size: 22px; font-weight: 700; color: #0f1729; line-height: 1.3; margin: 1.6em 0 .5em; }
.asp-page-prose-block h4{ font-size: 19px; font-weight: 600; color: #0f1729; margin: 1.4em 0 .4em; }
.asp-page-prose-block a{ color: #2563eb; text-decoration: underline; }
.asp-page-prose-block a:hover{ color: #1d4ed8; }
.asp-page-prose-block ul,
.asp-page-prose-block ol{ padding-left: 1.5em; margin: 1em 0; }
.asp-page-prose-block li{ margin: 0.35em 0; }

/* Nav alignment v3: force fixed-height flex so chevron items and bare <a> items share exact baseline */

/* =================================================================
 * Interior page 2-column layout: main + Free Report sidebar
 * ================================================================= */
.asp-2col-wrap{
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: start;
}
@media (min-width: 880px) {
  .asp-2col-wrap{ grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; }
}
.asp-2col-main{ min-width: 0; }
.asp-2col-side{ min-width: 0; }

/* Free Report card */
.asp-free-report{
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 22px 22px 18px;
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
  position: sticky;
  top: 100px;
}
.asp-free-report-eyebrow{
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: #660000;
  background: rgba(102, 0, 0, .08);
  padding: 5px 12px;
  border-radius: 9999px;
  margin-bottom: 16px;
}
.asp-free-report-head{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}
.asp-free-report-cover{
  width: 78px;
  height: auto;
  flex-shrink: 0;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.asp-free-report-title{
  font-size: 16px;
  font-weight: 700;
  color: #0f1729;
  line-height: 1.3;
  margin: 0;
}
.asp-free-report-desc{
  font-size: 14px;
  color: #475569;
  line-height: 1.55;
  margin: 0 0 14px;
}
.asp-free-report-cta{
  font-size: 15px;
  font-weight: 700;
  color: #0f1729;
  margin: 0 0 12px;
  line-height: 1.3;
}
.asp-free-report .gform_wrapper{ margin: 0 !important; }
.asp-free-report .gform_wrapper .gform_fields{ display: flex !important; flex-direction: column; gap: 10px !important; }
.asp-free-report .gform_wrapper input[type=text],
.asp-free-report .gform_wrapper input[type=email],
.asp-free-report .gform_wrapper input[type=tel]{
  width: 100% !important;
  padding: 10px 12px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  font-size: 14px !important;
}
.asp-free-report .gform_wrapper .gform_button{
  display: block;
  width: 100%;
  background: #660000;
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s;
}
.asp-free-report .gform_wrapper .gform_button:hover{ background: #800000; }
.asp-free-report .gfield_label{ font-size: 12px; font-weight: 600; color: #475569; margin-bottom: 4px; display: block; }

/* When a 2-col body exists, widen the body container */
.asp-page-body > .brxe-container:has(.asp-2col-wrap){
  max-width: 1180px !important;
}
/* Fallback for browsers without :has() — apply to any page-body with a 2-col wrap descendant */
body.page:not(.home):not(.blog):not(.single-post) .asp-page-body > .brxe-container{
  max-width: 1180px;
}


/* ==================================================================
 * NAV MENU — single source of truth. Do not duplicate this block.
 * All rules use !important + high specificity to survive later edits.
 * ================================================================== */
header#brx-header .asp-nav,
.asp-nav { margin: 0 !important; padding: 0 !important; }

header#brx-header .asp-nav .bricks-nav-menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 4px !important;
  line-height: 1 !important;
}

header#brx-header .asp-nav .bricks-nav-menu > li {
  position: relative !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  margin: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

header#brx-header .asp-nav .bricks-nav-menu > li > a,
header#brx-header .asp-nav .bricks-nav-menu > li > .brx-submenu-toggle,
header#brx-header .asp-nav .bricks-nav-menu > li > .brx-submenu-toggle > a,
header#brx-header .asp-nav .bricks-nav-menu > li > .brx-submenu-toggle > button {
  display: inline-flex !important;
  align-items: center !important;
  height: 100% !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0f1729 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
}

header#brx-header .asp-nav .bricks-nav-menu > li > .brx-submenu-toggle > button {
  margin-left: 2px !important;
  color: inherit !important;
  cursor: pointer !important;
}

header#brx-header .asp-nav .bricks-nav-menu > li:hover > a,
header#brx-header .asp-nav .bricks-nav-menu > li:hover > .brx-submenu-toggle > a {
  color: #2563eb !important;
}

/* Sub-menu (dropdown) */
header#brx-header .asp-nav .bricks-nav-menu .sub-menu {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  min-width: 220px !important;
  padding: 6px 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.08) !important;
  list-style: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(4px) !important;
  transition: opacity .15s, transform .15s, visibility .15s !important;
  z-index: 100 !important;
}
header#brx-header .asp-nav .bricks-nav-menu > li:hover > .sub-menu,
header#brx-header .asp-nav .bricks-nav-menu > li:hover .brx-submenu-positioned {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}
header#brx-header .asp-nav .bricks-nav-menu .sub-menu li {
  display: block !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
header#brx-header .asp-nav .bricks-nav-menu .sub-menu li a {
  display: block !important;
  padding: 7px 14px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: #334155 !important;
  white-space: nowrap !important;
}
header#brx-header .asp-nav .bricks-nav-menu .sub-menu li a:hover {
  background: #f8fafc !important;
  color: #2563eb !important;
}

/* Hide stray phone-number menu item */
header#brx-header .asp-nav .bricks-nav-menu > li.menu-item-15319,
header#brx-header .asp-nav .bricks-nav-menu > li.menu-item-15319 a { display: none !important; }

@media (max-width: 980px) {
  header#brx-header .asp-nav { display: none !important; }
}

/* ==================================================================
 * STORYBRAND SERVICE PAGE SECTIONS (asp-sb-*)
 * Rendered inside the left column of service pages
 * ================================================================== */
.asp-sb { margin: 56px 0; }
.asp-sb:first-child { margin-top: 0; }

.asp-sb-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .2em;
  padding: 6px 14px;
  border-radius: 9999px;
  margin-bottom: 18px;
}
.asp-sb-eyebrow-red   { color: #ef4444; background: #fee2e2; }
.asp-sb-eyebrow-blue  { color: #2563eb; background: rgba(37,99,235,.08); }
.asp-sb-eyebrow-green { color: #16a34a; background: #dcfce7; }

.asp-sb-h2 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  color: #0f1729;
  margin: 0 0 28px;
  letter-spacing: -.01em;
}

.asp-sb-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
@media (min-width: 720px) {
  .asp-sb-grid-3 { grid-template-columns: repeat(3, 1fr); }
}

/* Problem cards */
.asp-sb-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 24px 22px;
  text-align: center;
  transition: all .3s;
}
.asp-sb-card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px -10px rgba(0,0,0,.10); }
.asp-sb-card-problem { background: #fef2f2; border-color: #fee2e2; }
.asp-sb-card-problem:hover { border-color: #fecaca; }
.asp-sb-card h3 {
  font-size: 17px;
  font-weight: 700;
  color: #0f1729;
  margin: 0 0 8px;
  line-height: 1.3;
}
.asp-sb-card p {
  font-size: 14px;
  color: #475569;
  line-height: 1.55;
  margin: 0;
}
.asp-sb-icon {
  width: 48px;
  height: 48px;
  background: #fee2e2;
  color: #dc2626;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
  font-size: 22px;
}

/* Plan step number badges */
.asp-sb-card-plan { background: #fff; border-color: #e2e8f0; }
.asp-sb-step {
  width: 44px;
  height: 44px;
  background: #2563eb;
  color: #fff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  margin: 0 auto 16px;
  box-shadow: 0 8px 20px rgba(37,99,235,.30);
}

/* Transformation checklist */
.asp-sb-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.asp-sb-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  font-size: 16px;
  color: #334155;
  line-height: 1.5;
}
.asp-sb-check {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  background: #dcfce7;
  color: #16a34a;
  border-radius: 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  margin-top: 1px;
}

/* FAQ accordion */
.asp-sb-faq-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.asp-sb-faq-item {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.asp-sb-faq-item summary {
  padding: 16px 20px;
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
  color: #0f1729;
  list-style: none;
  position: relative;
  padding-right: 44px;
}
.asp-sb-faq-item summary::-webkit-details-marker { display: none; }
.asp-sb-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  color: #2563eb;
  font-weight: 400;
  transition: transform .2s;
}
.asp-sb-faq-item[open] summary::after { content: "–"; }
.asp-sb-faq-item[open] summary { border-bottom: 1px solid #e2e8f0; }
.asp-sb-faq-answer {
  padding: 16px 20px 18px;
}
.asp-sb-faq-answer p {
  margin: 0;
  font-size: 15px;
  color: #475569;
  line-height: 1.6;
}

/* ==================================================================
 * MOBILE SAFETY PADDING — single source of truth for side gutters
 * Containers max-width is 1180px, but they go edge-to-edge below that.
 * Add side padding from the global breakpoint and down.
 * ================================================================== */

/* Site-wide container padding kicks in below the max-width breakpoint */
@media (max-width: 1220px) {
  .brxe-container { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (max-width: 640px) {
  .brxe-container { padding-left: 16px !important; padding-right: 16px !important; }
}

/* StoryBrand sections (problem cards, plan, etc.) collapse to single column on mobile */
@media (max-width: 720px) {
  .asp-sb-grid-3 { grid-template-columns: 1fr !important; }
  .asp-sb { margin: 36px 0 !important; }
  .asp-sb-h2 { font-size: 24px !important; }
}

/* Home page hero and other custom layouts also need mobile breathing room */
@media (max-width: 980px) {
  .asp-hero-grid,
  .asp-guide-grid,
  .asp-plan-grid,
  .asp-stakes-grid,
  .asp-svc-grid,
  .asp-problem-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .asp-hero-right { display: none !important; }
}
@media (max-width: 640px) {
  .asp-hero-h1 { font-size: 38px !important; line-height: 1.1 !important; }
  .asp-hero-p { font-size: 17px !important; }
  .asp-hero-ctas { flex-direction: column !important; gap: 12px !important; }
  .asp-btn-primary,
  .asp-btn-ghost { width: 100% !important; padding: 0 20px !important; height: 56px !important; }
  .asp-hero-trust { gap: 16px !important; flex-wrap: wrap !important; font-size: 13px !important; }
  .asp-h2,
  .asp-band-h2 { font-size: 30px !important; line-height: 1.15 !important; }
  .asp-lead, .asp-band-p { font-size: 17px !important; }
  .asp-page-h1 { font-size: 32px !important; line-height: 1.1 !important; padding: 0 16px !important; }
  .asp-page-prose-block,
  .asp-page-prose-block p,
  .asp-page-prose-block li { font-size: 16px !important; }
  .asp-page-prose-block h2 { font-size: 24px !important; }
  .asp-page-prose-block h3 { font-size: 20px !important; }
}

/* Two-column body collapses on tablet and below — sidebar moves under main */
@media (max-width: 879px) {
  .asp-2col-wrap { grid-template-columns: 1fr !important; gap: 28px !important; }
  .asp-free-report { position: static !important; }
}

/* Blog archive grid */
@media (max-width: 960px) {
  .asp-blog-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  .asp-blog-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
}

/* Top utility bar — stack phone/email/login on small screens */
@media (max-width: 640px) {
  .asp-top-flex { flex-direction: column !important; gap: 6px !important; padding: 8px 16px !important; text-align: center !important; }
}

/* Footer */
@media (max-width: 880px) {
  .asp-footer-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 32px !important; }
}
@media (max-width: 480px) {
  .asp-footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
}

/* Sections — reduce vertical padding on phones */
@media (max-width: 640px) {
  section.brxe-section { padding-top: 48px !important; padding-bottom: 48px !important; }
  .asp-page-hero { padding-top: 50px !important; padding-bottom: 40px !important; }
}

/* Prevent any element from forcing horizontal scroll */
html, body { overflow-x: hidden; }
img, iframe, video, svg, table { max-width: 100%; height: auto; }
table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Calendly widget on mobile */
@media (max-width: 640px) {
  .asp-sched-card { padding: 14px !important; }
  .calendly-inline-widget { height: 1000px !important; }
}

/* CTA band */
@media (max-width: 640px) {
  .asp-cta-band { padding-top: 50px !important; padding-bottom: 50px !important; }
  .asp-btn-secondary { width: 100% !important; padding: 0 20px !important; height: 56px !important; font-size: 16px !important; }
}

/* FAQ items */
@media (max-width: 640px) {
  .asp-sb-faq-item summary { font-size: 15px !important; padding: 14px 16px !important; padding-right: 40px !important; }
  .asp-sb-faq-answer { padding: 12px 16px 14px !important; }
}

/* ==================================================================
 * MOBILE HAMBURGER + DRAWER
 * ================================================================== */
.asp-hamburger {
  display: none;
  background: transparent;
  border: 0;
  padding: 8px;
  margin: 0;
  cursor: pointer;
  color: #0f1729;
  position: relative;
  z-index: 1001;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.asp-hamburger:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.asp-hamburger-icon,
.asp-hamburger-icon::before,
.asp-hamburger-icon::after {
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  position: relative;
  transition: transform .2s ease, opacity .2s ease, background .2s ease;
}
.asp-hamburger-icon::before,
.asp-hamburger-icon::after {
  content: "";
  position: absolute;
  left: 0;
}
.asp-hamburger-icon::before { top: -8px; }
.asp-hamburger-icon::after  { top:  8px; }
body.asp-menu-open .asp-hamburger-icon { background: transparent; }
body.asp-menu-open .asp-hamburger-icon::before { transform: translateY(8px) rotate(45deg); }
body.asp-menu-open .asp-hamburger-icon::after  { transform: translateY(-8px) rotate(-45deg); }

@media (max-width: 980px) {
  .asp-hamburger { display: inline-flex; }
  /* Hide the desktop CTA on mobile — replaced by hamburger menu */
  header#brx-header .asp-header .brxe-button { display: none !important; }

  /* Mobile drawer container — slides in from right */
  .asp-mobile-drawer {
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    max-width: 85vw;
    height: 100vh;
    background: #fff;
    box-shadow: -10px 0 30px rgba(0,0,0,.15);
    z-index: 1000;
    padding: 80px 24px 32px;
    overflow-y: auto;
    transition: right .25s ease;
    -webkit-overflow-scrolling: touch;
  }
  body.asp-menu-open .asp-mobile-drawer { right: 0; }

  .asp-mobile-drawer ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .asp-mobile-drawer > ul > li {
    border-bottom: 1px solid #f1f5f9;
  }
  .asp-mobile-drawer a {
    display: block;
    padding: 14px 0;
    font-size: 17px;
    font-weight: 500;
    color: #0f1729;
    text-decoration: none;
  }
  .asp-mobile-drawer a:hover { color: #2563eb; }
  .asp-mobile-drawer .sub-menu {
    margin-left: 12px;
    border-left: 2px solid #e2e8f0;
    padding-left: 12px;
  }
  .asp-mobile-drawer .sub-menu a { font-size: 15px; padding: 10px 0; color: #475569; }
  .asp-mobile-drawer .asp-mobile-cta {
    display: block;
    margin-top: 18px;
    background: #2563eb;
    color: #fff;
    text-align: center;
    padding: 14px 18px;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
  }
  .asp-mobile-drawer .asp-mobile-cta:hover { background: #1d4ed8; color: #fff; }
  .asp-mobile-drawer .asp-mobile-tel {
    display: block;
    margin-top: 10px;
    text-align: center;
    padding: 12px 18px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    color: #0f1729;
    text-decoration: none;
    font-weight: 600;
  }

  /* Backdrop */
  .asp-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15,23,42,.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease;
    z-index: 999;
  }
  body.asp-menu-open .asp-drawer-backdrop { opacity: 1; visibility: visible; }
  body.asp-menu-open { overflow: hidden; }
}

/* Top utility bar — keep visible on mobile, just smaller text + stacked */
@media (max-width: 640px) {
  .asp-top-bar { display: block !important; }
  .asp-top-flex {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px 16px !important;
    padding: 8px 16px !important;
    text-align: center !important;
    font-size: 13px !important;
  }
  .asp-top-flex a { font-size: 13px !important; }
}

/* Guide section — Lacy photo card size cap on mobile */
@media (max-width: 980px) {
  .asp-guide-right { display: block !important; }
  .asp-guide-card { max-width: 280px !important; margin: 0 auto !important; }
  .asp-guide-card img { max-width: 100% !important; height: auto !important; }
}

/* Hide the desktop Schedule CTA on mobile — hamburger drawer has its own CTA */
@media (max-width: 980px) {
  header#brx-header .asp-header .brxe-button,
  header#brx-header .asp-header a.brxe-button,
  header#brx-header .brxe-button.asp-cta-btn { display: none !important; }
  /* Make sure hamburger sits on the right next to logo */
  header#brx-header .asp-header-right { margin-left: auto !important; gap: 0 !important; }
  header#brx-header .asp-header-flex { padding: 12px 16px !important; }
}

/* Hide the desktop Schedule CTA on mobile (correct selector — it is a brxe-text div, not button) */
@media (max-width: 980px) {
  header#brx-header #brxe-hdrcta,
  header#brx-header .asp-cta-btn,
  header#brx-header .asp-header-right > .brxe-text { display: none !important; }
}

/* Hamburger drawer open-state — force right:0 with !important */
@media (max-width: 980px) {
  body.asp-menu-open .asp-mobile-drawer { right: 0 !important; }
  body.asp-menu-open .asp-drawer-backdrop { opacity: 1 !important; visibility: visible !important; }
  /* Ensure hamburger sits flush to the right on the header bar */
  header#brx-header .asp-header-right { 
    display: flex !important; 
    justify-content: flex-end !important; 
    align-items: center !important; 
    margin-left: auto !important;
  }
}

/* Mobile header: keep logo + hamburger on the same row */
@media (max-width: 980px) {
  header#brx-header .asp-header-flex {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
  }
  header#brx-header .asp-header-flex > .brxe-text:first-child img,
  header#brx-header .asp-header-flex .brxe-text img { max-width: 160px !important; height: auto !important; }
  header#brx-header .asp-header-right { 
    margin-left: auto !important; 
    flex-shrink: 0 !important; 
  }
}

/* asp-header-right should only be as wide as its visible content (the hamburger) on mobile */
@media (max-width: 980px) {
  header#brx-header .asp-header-right {
    width: auto !important;
    flex: 0 0 auto !important;
    max-width: none !important;
  }
}

/* Force every brxe-container to honor parent width on mobile/tablet */
@media (max-width: 1220px) {
  .brxe-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

/* Prevent 2-col blocks from forcing parent wider than viewport */
@media (max-width: 879px) {
  .asp-2col-wrap,
  .asp-2col-main,
  .asp-2col-side {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  /* Long unbreakable strings (URLs in body content) shouldn't blow out the layout */
  .asp-page-prose-block,
  .asp-page-prose-block * { 
    word-wrap: break-word !important; 
    overflow-wrap: break-word !important; 
    max-width: 100% !important; 
  }
  .asp-page-prose-block pre,
  .asp-page-prose-block code { 
    white-space: pre-wrap !important; 
    word-break: break-word !important;
  }
}

/* StoryBrand sections inherit the same constraints */
@media (max-width: 879px) {
  .asp-sb,
  .asp-sb-grid,
  .asp-sb-card,
  .asp-sb-faq-item,
  .asp-sb-faq-list { width: auto !important; max-width: 100% !important; min-width: 0 !important; }
}

/* Tighten media constraints inside converted body content (prevents overflow) */
.asp-page-prose-block img,
.asp-page-prose-block video,
.asp-page-prose-block iframe,
.brxe-code img,
.brxe-code video,
.brxe-code iframe { 
  max-width: 100% !important; 
  height: auto !important; 
  display: inline-block;
}
.brxe-code { max-width: 100% !important; overflow: hidden !important; }

/* Mobile drawer + hamburger — hidden on desktop */
@media (min-width: 981px) {
  .asp-mobile-drawer,
  .asp-drawer-backdrop,
  .asp-hamburger { display: none !important; }
}
/* Hide by default before media queries kick in (prevents flash on initial paint) */
.asp-mobile-drawer { display: none; }
@media (max-width: 980px) {
  .asp-mobile-drawer { display: block; }
}

/* Stats grid (15+ years / 1hr / 24/7 / 0 contracts) — 2x2 on mobile */
@media (max-width: 640px) {
  .asp-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
