/*
 * HousingShield storefront styles
 *
 * THIS FILE IS THE SOURCE OF TRUTH. Edit it here.
 * Loaded by wp-content/mu-plugins/hs-support-menu-styles.php.
 * Edit in WP Admin: Appearance > Theme File Editor > Beaver Builder Child Theme > housingshield.css
 * Sections below are commented with what each block fixes and why.
 */

.hsx{--ink:#041020;--bd:#3A4C61;--mt:#5C6E82;--gold:#E3B23C;--blue:#0E6BA8;--ocean:#0B203B;--line:#E3E9F0} .hsx *{box-sizing:border-box} .hsx .eb{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--blue);display:block;margin-bottom:10px} .hsx .eb.d{color:var(--gold)} .hsx h1,.hsx h2,.hsx h3,.hsx h4{color:var(--ink);margin:0 0 12px;line-height:1.15} .hsx h1{font-size:clamp(30px,4.4vw,50px)} .hsx h2{font-size:clamp(24px,3vw,36px)} .hsx h3{font-size:21px} .hsx h4{font-size:18px} .hsx p{margin:0 0 14px;color:var(--bd);line-height:1.7} .hsx .lead{font-size:17.5px;max-width:64ch} .hsx.on-dark h1,.hsx.on-dark h2,.hsx.on-dark h3,.hsx.on-dark h4,.hsx .on-dark h1,.hsx .on-dark h2,.hsx .on-dark h3,.hsx .on-dark h4{color:#fff} .hsx.on-dark p,.hsx .on-dark p{color:#A8C7DE} .hsx.on-dark ul,.hsx.on-dark li{color:#A8C7DE} .hsx .grid{display:grid;gap:18px} .hsx .g2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))} .hsx .g4{grid-template-columns:repeat(auto-fit,minmax(238px,1fr))} .hsx .card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:0 1px 2px rgba(4,16,32,.06),0 2px 8px rgba(4,16,32,.05);display:flex;flex-direction:column} .hsx .card.top{border-top:3px solid var(--ac,var(--blue))} .hsx .tag{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--ac,var(--blue))} .hsx .cost{font-size:15px;color:var(--mt);letter-spacing:.12em} .hsx .amt{font-size:31px;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums} .hsx .note{background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:0 10px 10px 0;padding:20px 24px} .hsx a.btn{display:inline-flex;align-items:center;gap:8px;border-radius:6px;padding:12px 22px;font-size:14.5px;font-weight:600;text-decoration:none;transition:all .16s ease;line-height:1.2} .hsx a.btn-gold{background:var(--gold);color:#2A1F04} .hsx a.btn-gold:hover{background:#C99B2E;color:#2A1F04} .hsx a.btn-out{border:1.5px solid var(--ocean);color:var(--ocean);background:#fff} .hsx a.btn-out:hover{background:var(--ocean);color:#fff} .hsx a.btn-ghost{border:1.5px solid rgba(255,255,255,.45);color:#fff} .hsx a.btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff} .hsx .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px} .hsx a.issue{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:all .18s ease;box-shadow:0 1px 2px rgba(4,16,32,.06)} .hsx a.issue:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(4,16,32,.1);border-color:#65A0C7} .hsx .issue .cap{height:72px;background:linear-gradient(150deg,#123A5E,#041020);display:flex;align-items:flex-end;padding:12px 18px} .hsx .issue .cap span{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#A8C7DE} .hsx .issue .bd{display:block;padding:18px 20px 20px} .hsx .issue h3{font-size:19px;margin-bottom:8px} .hsx .issue p{font-size:14px;margin:0} .hsx .issue .go{color:var(--blue);font-weight:600;font-size:13.5px;display:block;margin-top:14px} .hsx .rungs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end} .hsx .rung{background:#fff;border:1px solid var(--line);border-top:3px solid var(--ac);border-radius:10px;padding:20px;box-shadow:0 1px 2px rgba(4,16,32,.06)} .hsx .rung .st{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--ac);margin-bottom:9px} .hsx .rung .st:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ac)} .hsx .rung .fr{font-size:13px;color:var(--mt)} .hsx .rung p{font-size:13.5px;margin:10px 0 0} .hsx .quote{background:#EFF3F8;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:24px 26px} .hsx .quote .q{font-size:19px;line-height:1.55;color:var(--ink);font-style:italic} .hsx .quote .c{font-size:12.5px;color:var(--mt);margin-top:12px} .hsx ul{color:var(--bd)} @media(max-width:820px){.hsx .rungs{grid-template-columns:1fr}.hsx .rung{margin-bottom:0 !important}} .fl-col.hs-flush-card > .fl-col-content{overflow:hidden} .fl-col.hs-flush-card .fl-module-photo img{display:block;width:100%} .fl-col.hs-lvl-card > .fl-col-content,.fl-col.hs-flush-card > .fl-col-content{box-shadow:0 1px 2px rgba(4,16,32,.06),0 2px 10px rgba(4,16,32,.05);transition:transform .18s ease,box-shadow .18s ease} .fl-col.hs-flush-card > .fl-col-content:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(4,16,32,.12)} @media(prefers-reduced-motion:reduce){.fl-col.hs-flush-card > .fl-col-content:hover{transform:none}} .fl-col.hs-flush-card .fl-module-photo .fl-module-content{margin:0} .fl-col.hs-flush-card .fl-module-photo .fl-photo,.fl-col.hs-flush-card .fl-module-photo .fl-photo-content{display:block;width:100%} .fl-col.hs-flush-card .fl-module-photo img{width:100%;height:auto;display:block} /* hs-archive-header : WooCommerce templates have no dark builder hero for the transparent overlay header to sit on, so give the header row a solid ground on those views. */ .post-type-archive-product .fl-builder-content-1616 .fl-row-content-wrap,.tax-product_cat .fl-builder-content-1616 .fl-row-content-wrap,.tax-product_tag .fl-builder-content-1616 .fl-row-content-wrap,.woocommerce-cart .fl-builder-content-1616 .fl-row-content-wrap,.woocommerce-checkout .fl-builder-content-1616 .fl-row-content-wrap,.woocommerce-account .fl-builder-content-1616 .fl-row-content-wrap{background-color:#0B203B !important} .post-type-archive-product .fl-builder-content-1616 .fl-row,.tax-product_cat .fl-builder-content-1616 .fl-row,.tax-product_tag .fl-builder-content-1616 .fl-row,.woocommerce-cart .fl-builder-content-1616 .fl-row,.woocommerce-checkout .fl-builder-content-1616 .fl-row,.woocommerce-account .fl-builder-content-1616 .fl-row{background-color:#0B203B !important} /* /shop/ runs the Themer archive layout, which supplies its own 200px hero - only the templates WITHOUT a builder layout need the nav clearance here. */ .tax-product_cat .fl-page-content,.tax-product_tag .fl-page-content,.woocommerce-account .fl-page-content{padding-top:200px} .post-type-archive-product .woocommerce-products-header__title,.tax-product_cat .woocommerce-products-header__title{font-family:"EB Garamond",Georgia,serif;font-size:46px;line-height:1.12;color:#041020;margin-bottom:6px} .woocommerce .woocommerce-result-count{color:#5C6E82;font-size:14px} /* hs-card-flex : equal_height makes the boxes match, but not the content inside; flex + margin-top:auto pushes each card's last element to the bottom so CTAs line up. */ .fl-col.hs-flush-card > .fl-col-content,.fl-col.hs-lvl-card > .fl-col-content{display:flex;flex-direction:column;height:100%} .fl-col.hs-flush-card > .fl-col-content > .fl-module:last-child, .fl-col.hs-lvl-card > .fl-col-content > .fl-module:last-child{margin-top:auto} /* hs-ladder : connecting spine beneath the ascension rungs, running from entry-level blue through to package gold. Decorative, hidden once the rungs stack. */ .fl-row.hs-ladder .fl-col-group{position:relative} .fl-row.hs-ladder .fl-col-group + .fl-col-group::before{content:"";position:absolute;left:10px;right:10px;bottom:26px;height:2px;background:linear-gradient(90deg,#1B4A73,#0E6BA8,#0B203B,#E3B23C);opacity:.3;z-index:0} .fl-row.hs-ladder .fl-col{position:relative;z-index:1} @media(max-width:768px){.fl-row.hs-ladder .fl-col-group + .fl-col-group::before{display:none}} /* hs-offer-bits : status pills, savings line, includes checklist, spec table, stat strip. All design-system colours only. */ .hs-pill{display:inline-flex;align-items:center;gap:6px;font-family:Poppins,sans-serif;font-size:11px;letter-spacing:1.76px;text-transform:uppercase;font-weight:700;padding:4px 10px;border-radius:999px} .hs-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor} .hs-pill.ok{background:#E4F2EC;color:#1E7A5A} .hs-pill.wait{background:#FBF1D8;color:#8A6A18} .hs-save{font-family:Poppins,sans-serif;font-size:15px;font-weight:700;color:#1E7A5A} .hs-was{color:#5C6E82;text-decoration:line-through;font-weight:400;margin-left:6px} ul.hs-inc{list-style:none;margin:0;padding:0} ul.hs-inc li{position:relative;padding:5px 0 5px 24px;font-size:14px;line-height:1.5;color:#3A4C61} ul.hs-inc li:before{content:"";position:absolute;left:2px;top:11px;width:11px;height:6px;border-left:2px solid #0E6BA8;border-bottom:2px solid #0E6BA8;transform:rotate(-45deg)} ul.hs-inc li.pro{color:#041020;font-weight:600} ul.hs-inc li.pro:before{border:0;top:9px;left:1px;width:9px;height:9px;transform:none;border-radius:2px;background:#E3B23C} ul.hs-inc li.soon{color:#5C6E82} ul.hs-inc li.soon:before{border:0;top:12px;left:1px;width:9px;height:2px;background:#5C6E82;transform:none} .hs-specs{border-top:1px solid #E3E9F0;margin-top:4px} .hs-spec-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #E3E9F0} .hs-spec-k{font-family:Poppins,sans-serif;font-size:13px;color:#5C6E82} .hs-spec-v{font-family:Poppins,sans-serif;font-size:13px;color:#041020;font-weight:600;text-align:right} .hs-stat-v{font-family:"EB Garamond",Georgia,serif;font-size:40px;line-height:1.05;color:#E3B23C;font-variant-numeric:tabular-nums} .hs-stat-l{font-family:Poppins,sans-serif;font-size:13px;color:#A8C7DE;margin-top:4px} /* hs-card overlay : fixed image height gives the icon and priority pill a known anchor, so they can sit on the photo while staying separate editable modules. */ .fl-col.hs-flush-card > .fl-col-content{position:relative} .fl-col.hs-flush-card .fl-module-photo{position:relative;z-index:1} .fl-col.hs-flush-card .fl-module-photo img{height:172px;width:100%;object-fit:cover;display:block} .fl-col.hs-flush-card .fl-module-photo .fl-photo-content:after{content:"";position:absolute;left:0;right:0;bottom:0;height:96px;background:linear-gradient(180deg,rgba(4,16,32,0) 0%,rgba(4,16,32,.72) 100%);pointer-events:none} .fl-col.hs-flush-card .fl-module-photo .fl-photo-content{position:relative;display:block} .fl-col.hs-flush-card .fl-module.hs-card-icon{position:absolute;top:157px;left:21px;transform:translateY(-100%);margin-bottom:0;z-index:3} .fl-col.hs-flush-card .fl-module.hs-card-icon .fl-icon{line-height:0} .fl-col.hs-flush-card .fl-module.hs-card-rank{position:absolute;top:14px;right:14px;z-index:3} .fl-col.hs-flush-card .fl-module.hs-card-rank .fl-heading{background:rgba(4,16,32,.62);padding:5px 10px;border-radius:999px;backdrop-filter:blur(4px);display:inline-block} .fl-col.hs-flush-card .hs-card-link a.fl-button{border:0 !important;box-shadow:none !important;background:transparent !important;transition:transform .16s ease} .fl-col.hs-flush-card .hs-card-link a.fl-button:hover{transform:translateX(3px)} .fl-col.hs-flush-card .fl-module-separator .fl-separator{margin:0} .fl-col.hs-flush-card .fl-col-group{width:auto} /* hs-loop-card : WooCommerce tiles restyled to the artifact card. Hooks in the mu-plugin supply the kind eyebrow, snippet, status pill and Details link. */ .woocommerce ul.products li.product{text-align:left;background:#fff;border:1px solid #E3E9F0;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(4,16,32,.06),0 2px 8px rgba(4,16,32,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;padding:0 !important} .woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(4,16,32,.06),0 12px 28px rgba(4,16,32,.09);border-color:#65A0C7} .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{display:flow-root !important;position:relative;padding-bottom:12px} .woocommerce ul.products li.product img{width:100% !important;height:150px !important;max-height:150px !important;object-fit:cover !important;border-radius:0 !important;margin:0 !important;display:block} .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link:after{content:"";position:absolute;left:0;right:0;top:0;height:150px;background:linear-gradient(180deg,rgba(4,16,32,0) 45%,rgba(4,16,32,.62) 100%);pointer-events:none} .hs-loop-icon{position:absolute;left:12px;top:118px;z-index:2;color:#fff;font-size:19px;filter:drop-shadow(0 1px 3px rgba(4,16,32,.6))} .hs-loop-fmt{position:absolute;right:12px;top:120px;z-index:2;color:#fff;font-family:Poppins,sans-serif;font-size:11px;letter-spacing:1.1px;text-transform:uppercase;font-weight:700} .hs-loop-kind{display:block;font-family:Poppins,sans-serif;font-size:11px;letter-spacing:1.43px;text-transform:uppercase;font-weight:800;color:#0E6BA8;padding:16px 17px 0} .woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:"EB Garamond",Georgia,serif !important;font-size:22px !important;line-height:1.25 !important;font-weight:700;color:#041020 !important;padding:8px 17px 0 !important;margin:0 !important;min-height:0 !important} .hs-loop-snip{font-family:Poppins,sans-serif;font-size:15px;line-height:1.6;color:#5C6E82;margin:10px 0 0;padding:0 17px} .woocommerce ul.products li.product .price{font-family:"EB Garamond",Georgia,serif !important;font-size:19px !important;color:#041020 !important;font-weight:700;padding:16px 17px 0;margin:0 !important;display:inline-block} .hs-loop-pill{float:right;margin:20px 17px 0 0} .woocommerce ul.products li.product .price{float:left} .woocommerce ul.products li.product a.button.hs-loop-details{clear:both} .woocommerce ul.products li.product a.button.hs-loop-details{display:inline-block;width:calc(60% - 20px);margin:14px 6px 17px 17px;background:#fff !important;color:#0B203B !important;border:1.5px solid #0B203B !important;border-radius:8px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;padding:10px 16px;text-align:center} .woocommerce ul.products li.product a.button.hs-loop-details:hover{background:#0B203B !important;color:#fff !important} .woocommerce ul.products li.product .woosc-btn{display:inline-block;width:calc(40% - 26px);margin:14px 17px 17px 0;background:#EFF3F8 !important;color:#5C6E82 !important;border:1px solid #E3E9F0 !important;border-radius:8px;font-family:Poppins,sans-serif;font-size:13px;font-weight:600;padding:10px 8px;text-align:center;box-shadow:none !important} .woocommerce ul.products li.product .woosc-btn:hover{border-color:#0E6BA8 !important;color:#0E6BA8 !important}  /* hs-cardrow-gap : module margin-bottom collapses out of the column box, so the space that separates copy from a grid has to live on the group. First grid after copy gets more air than the gap between wrapped rows of the same grid. */ .fl-col-group:not(:has(.hs-lvl-card)):not(:has(.hs-flush-card)) + .fl-col-group:has(.hs-lvl-card), .fl-col-group:not(:has(.hs-lvl-card)):not(:has(.hs-flush-card)) + .fl-col-group:has(.hs-flush-card){margin-top:44px} .fl-col-group:has(.hs-lvl-card) + .fl-col-group:has(.hs-lvl-card), .fl-col-group:has(.hs-flush-card) + .fl-col-group:has(.hs-flush-card){margin-top:28px} .fl-module-woocommerce{margin-top:16px} .fl-module-woocommerce ul.products{margin-top:0 !important;padding-top:0 !important} /* hs-loop-vgap */ .woocommerce ul.products li.product{margin-bottom:28px !important}  /* hs-loop-even : clamp title to 3 lines and snippet to 3 so every tile in a row is the same height and the Details buttons line up. Reserving without clamping is not enough - long titles simply overflow the reserved box. */ .woocommerce ul.products li.product .woocommerce-loop-product__title{display:-webkit-box !important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.9em !important} .hs-loop-snip{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.5em !important} /* hs-loop-btnrow : keep Details and Compare on one line under the price row */ .woocommerce ul.products li.product a.button.hs-loop-details{display:inline-block !important;vertical-align:top;width:52% !important;margin:14px 2% 17px 17px !important} .woocommerce ul.products li.product .woosc-btn{display:inline-block !important;vertical-align:top;width:30% !important;margin:14px 17px 17px 0 !important;float:none !important;clear:none !important} /* hs-loop-left : the theme centres WooCommerce loop items; every storefront card is left aligned, so force it on the item and its children. */ .woocommerce ul.products li.product, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .hs-loop-kind, .woocommerce ul.products li.product .hs-loop-snip, .woocommerce ul.products li.product .star-rating, .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{text-align:left !important} .woocommerce ul.products li.product .star-rating{margin-left:17px} .woocommerce ul.products li.product a.button.hs-loop-details{width:48% !important} .woocommerce ul.products li.product .woosc-btn{width:36% !important;white-space:nowrap !important;padding-left:6px !important;padding-right:6px !important} /* hs-card-foot : align the footer row with the card body text */ .fl-col.hs-flush-card .fl-col-group{width:auto} .fl-col.hs-flush-card .fl-col-group .fl-col-content{padding:0 !important;margin:0 !important} .fl-col.hs-flush-card .fl-col-group .fl-module{margin-left:0 !important;margin-right:0 !important} /* hs-loop-pill-color */ .hs-loop-pill{background:#E4F2EC !important;color:#1E7A5A !important} /* hs-offer-toprow : level label and status pill share the card top row, as in the artifact */ .fl-col.hs-lvl-card .fl-col-group{width:auto;margin-bottom:12px} .fl-col.hs-lvl-card .fl-col-group .fl-col-content{padding:0 !important;margin:0 !important;background:none;border:0;box-shadow:none} /* hs-mobile-inset : keep card text inset on phones; BB drops column side padding at the mobile breakpoint. */ @media(max-width:768px){ .fl-col.hs-flush-card .fl-module:not(.fl-module-photo):not(.hs-card-rank):not(.hs-card-icon) > .fl-module-content{margin-left:20px;margin-right:20px} .fl-col.hs-flush-card .fl-col-group .fl-module > .fl-module-content{margin-left:0;margin-right:0} .fl-col.hs-flush-card .fl-col-group > .fl-col:first-child .fl-module > .fl-module-content{margin-left:20px} .fl-col.hs-flush-card .fl-col-group > .fl-col:last-child .fl-module > .fl-module-content{margin-right:20px} } /* hs-archive-title-mobile : the archive title is plain CSS (not a BB module), so it has no responsive typography - drop it to --text-h2-mobile by hand. */ @media(max-width:768px){.post-type-archive-product .woocommerce-products-header__title, .tax-product_cat .woocommerce-products-header__title{font-size:30px !important;line-height:1.15 !important}} /* hs-mobile-loop : single column on phones, so the 3-line title/snippet reservation that keeps desktop rows aligned just leaves a hole. Drop it. Also stack the result count above the sorting dropdown instead of colliding with it. */ @media(max-width:768px){ .woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:0 !important;-webkit-line-clamp:unset} .hs-loop-snip{min-height:0 !important;-webkit-line-clamp:3} .woocommerce .woocommerce-result-count{display:block;float:none;width:100%;margin:0 0 10px} .woocommerce .woocommerce-ordering{display:block;float:none;width:100%;margin:0 0 18px} .woocommerce .woocommerce-ordering select{width:100%;max-width:100%} } /* hs-compact-compare: below a 260px card container (the related/upsell grids run 4-across at ~236px) the "Compare" label no longer fits beside "Details" and wraps to its own line. Collapse it to the icon only and give Details the slack. The label stays in the accessibility tree via the sr-only clip. Main loop (~330px) and mobile (~278px) sit above the threshold and keep the full label. */ .woocommerce ul.products li.product{container-type:inline-size} @container (max-width:260px){ .woocommerce ul.products li.product a.button.hs-loop-details{width:calc(100% - 78px) !important;margin-right:6px !important;padding-left:10px !important;padding-right:10px !important} .woocommerce ul.products li.product .woosc-btn{position:relative;width:38px !important;min-width:38px !important;padding-left:0 !important;padding-right:0 !important;text-align:center !important} .woocommerce ul.products li.product .woosc-btn .woosc-btn-icon{margin:0 !important} .woocommerce ul.products li.product .woosc-btn .woosc-btn-text{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:0 !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important} } /* ---- single product: two-column layout, sticky buy card ---- */ .hs-buyrow .hs-prodmain > .fl-col-content{padding-left:0;padding-right:0} @media(min-width:993px){.hs-buyrow .hs-prodmain > .fl-col-content{padding-left:20px;padding-right:26px}} @media(min-width:993px){ .hs-buyrow .fl-col-group{display:flex;align-items:stretch} .hs-buyrow .fl-col{float:none} .hs-buybox > .fl-col-content{position:sticky;top:var(--hs-sticky-top,96px);max-height:calc(100vh - var(--hs-sticky-top,96px) - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin} } .hs-buybox > .fl-col-content{border:1px solid #E3E9F0;border-radius:18px;box-shadow:0 6px 24px rgba(4,16,32,.06)} .hs-prodmain .woocommerce-product-gallery img,.hs-prodmain .fl-woo-product-images img{border-radius:16px} .hs-pillrow{margin-bottom:10px} .hs-eyebrow{margin-bottom:4px}  /* what is included checklist */ .hs-included{list-style:none;margin:0;padding:0} .hs-included li{position:relative;padding-left:30px;margin:0 0 13px;font-family:Poppins,sans-serif;font-size:17px;line-height:1.6;color:#3A4C61} .hs-included li:before{content:"";position:absolute;left:2px;top:6px;width:13px;height:7px;border-left:2.5px solid #0E6BA8;border-bottom:2.5px solid #0E6BA8;transform:rotate(-45deg)}  /* case story quote */ .hs-quote blockquote{margin:0;background:#EFF3F8;border-left:4px solid #E3B23C;border-radius:0 12px 12px 0;padding:26px 30px} .hs-quote blockquote p{font-family:"EB Garamond",Georgia,serif;font-style:italic;font-size:19px;line-height:1.62;color:#0B203B;margin:0 0 14px} .hs-quote blockquote cite{display:block;font-family:Poppins,sans-serif;font-style:normal;font-size:14px;color:#5C6E82}  /* compare button under add to cart, and the format badge over the image */ .hs-comparerow{margin-top:10px} .hs-comparerow .woosc-btn{display:inline-flex !important;align-items:center;gap:9px;width:auto !important;background:#EFF3F8;border:1px solid #E3E9F0;border-radius:10px;padding:11px 18px !important;margin:0 !important;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;color:#3A4C61;cursor:pointer} .hs-comparerow .woosc-btn:hover{background:#E3E9F0} .hs-comparerow .woosc-btn-text{position:static !important;width:auto !important;height:auto !important;clip:auto !important;clip-path:none !important} .hs-badgewrap{position:relative;z-index:2;margin-top:-58px;margin-bottom:22px;padding-left:20px;pointer-events:none} .hs-fmt-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.92);color:#0B203B;font-size:15px;box-shadow:0 2px 8px rgba(4,16,32,.14)}  /* BB writes per-node rules at .fl-builder-content .fl-node-X .fl-rich-text * (0,3,0), which outranks plain class selectors here, so these overrides need !important. */ .hs-quote blockquote p{font-family:"EB Garamond",Georgia,serif !important;font-style:italic !important;font-size:19px !important;line-height:1.62 !important;color:#0B203B !important} .hs-quote blockquote cite{font-family:Poppins,sans-serif !important;font-style:normal !important;font-size:14px !important;color:#5C6E82 !important} .hs-pillrow .hs-pill{font-size:11px !important;letter-spacing:1.76px !important;line-height:1.2 !important} .hs-pillrow .hs-pill.ok{color:#1E7A5A !important} .hs-buybox .price{font-family:"EB Garamond",Georgia,serif !important;font-size:46px !important;font-weight:700 !important;color:#041020 !important;line-height:1.1 !important;margin:0 !important} .hs-buybox .quantity{display:none !important} .hs-buybox form.cart{margin:0 !important} .hs-buybox .single_add_to_cart_button{display:block !important;float:none !important;width:100% !important;padding:17px 24px !important;font-family:Poppins,sans-serif !important;font-size:17px !important;font-weight:600 !important;line-height:1.2 !important;border:0 !important;border-radius:12px !important;background:#E3B23C !important;color:#041020 !important;text-align:center} .hs-buybox .single_add_to_cart_button:hover{background:#C99B2E !important}  /* theme h2/description colours outrank the module settings here */ .hs-prodmain .fl-heading,.hs-prodmain .fl-heading .fl-heading-text{color:#041020 !important} .hs-prodmain .woocommerce-product-details__short-description p{font-family:Poppins,sans-serif !important;font-size:19px !important;line-height:1.66 !important;color:#3A4C61 !important;margin:0 0 14px} .hs-prodmain .woocommerce-product-details__short-description p:last-child{margin-bottom:0}  /* single product, small screens: the 46px display size is too large at 375px */ @media(max-width:768px){ .hs-prodmain h1,.hs-prodmain .product_title{font-size:34px !important;line-height:1.14 !important} .hs-prodmain h2,.hs-prodmain .fl-heading .fl-heading-text{font-size:26px !important} .hs-prodmain .woocommerce-product-details__short-description p{font-size:17px !important} .hs-buybox .price{font-size:40px !important} .hs-quote blockquote{padding:22px 22px 22px 24px} }  /* mobile pinned price + add to cart; only shown while the real card is off screen */ .hs-buybar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:none;align-items:center;gap:14px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #E3E9F0;box-shadow:0 -4px 18px rgba(4,16,32,.10)} @media(max-width:992px){ .hs-buybar.is-on{display:flex} body.single-product{padding-bottom:84px} } .hs-buybar-price,.hs-buybar-price .amount,.hs-buybar-price bdi{font-family:"EB Garamond",Georgia,serif !important;font-size:28px !important;font-weight:700 !important;color:#041020 !important;line-height:1 !important;white-space:nowrap} .hs-buybar-price del{display:none} .hs-buybar-btn{flex:1;text-align:center;padding:15px 20px;border-radius:12px;background:#E3B23C;color:#041020;font-family:Poppins,sans-serif;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none} .hs-buybar-btn:hover,.hs-buybar-btn:focus{background:#C99B2E;color:#041020}  /* hs-leading-fix: display type ran at 1.4 from the theme; large sizes need tighter leading */ .hs-prodmain h1,.hs-prodmain .product_title{line-height:1.06 !important;margin-bottom:14px !important} .hs-buybox .price,.hs-buybox .price .amount,.hs-buybox .price bdi{line-height:1 !important} .hs-prodmain .woocommerce-product-details__short-description p{line-height:1.55 !important} .hs-included li{line-height:1.5} .hs-quote blockquote p{line-height:1.55 !important}  /* hs-mobile-tile-width: the theme skin sets an unmediated max-width:280px with auto side margins on li.product. Below 768px the skin also sets width:100%, but the 280px cap still wins, so tiles sat 280px wide inside a 335px container - 96px of dead space. Only the cap needs lifting; the auto margins then resolve to 0. */ @media(max-width:767px){ .woocommerce ul.products li.product,.woocommerce-page ul.products li.product{max-width:none !important} }  /* hs-mobile-heading-cap: same theme-skin pattern as the tiles - related/upsell headings carry max-width:280px + auto margins below 768px, leaving them narrower than the tiles under them. */ @media(max-width:767px){ .woocommerce .related h2,.woocommerce-page .related h2,.woocommerce .up-sells h2,.woocommerce-page .up-sells h2,.woocommerce .upsells h2{max-width:none !important;margin-left:0 !important;margin-right:0 !important} } 

/* ---- success story (matched to the product's issue) + bundle value ---- */
.hs-story{margin:0;background:#EFF3F8;border-left:4px solid #E3B23C;border-radius:0 12px 12px 0;padding:26px 30px}
.hs-story-eyebrow{font-family:Poppins,sans-serif;font-size:12px;font-weight:700;letter-spacing:2.16px;text-transform:uppercase;color:#0E6BA8;margin:0 0 8px}
.hs-story-title{font-family:"EB Garamond",Georgia,serif;font-size:22px;font-weight:700;line-height:1.2;color:#041020;margin:0 0 12px}
.hs-story blockquote{margin:0;padding:0;border:0;background:none}
.hs-story blockquote p{font-family:"EB Garamond",Georgia,serif !important;font-style:italic !important;font-size:19px !important;line-height:1.55 !important;color:#0B203B !important;margin:0}
.hs-story-steps{list-style:none;margin:18px 0 0;padding:18px 0 0;border-top:1px solid #D8E1EC}
.hs-story-steps li{position:relative;padding-left:18px;margin:0 0 10px;font-family:Poppins,sans-serif;font-size:15px;line-height:1.55;color:#3A4C61}
.hs-story-steps li:last-child{margin-bottom:0}
.hs-story-steps li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:#0E6BA8}
.hs-story-step{font-weight:600;color:#0E6BA8}
.hs-value{margin:12px 0 0}
.hs-value-save{display:inline-block;background:#E4F2EC;color:#1E7A5A;font-family:Poppins,sans-serif;font-size:13px;font-weight:700;letter-spacing:.4px;padding:5px 12px;border-radius:999px}
.hs-value-detail{display:block;margin-top:9px;font-family:Poppins,sans-serif;font-size:14px;line-height:1.5;color:#5C6E82}
@media(max-width:768px){ .hs-story{padding:22px 22px 22px 24px} .hs-story blockquote p{font-size:17px !important} .hs-story-title{font-size:20px} }


/* ---- ascension ladder: each tier gets its own background ----
 * Products stay white, then the tiers deepen as support increases.
 * Colours are existing design tokens. Tier is set by a class on the card
 * column (hs-tier-bundle / hs-tier-package / hs-tier-service) so Alec can
 * move a card between tiers just by editing that class. */
.hs-lvl-card.hs-tier-bundle > .fl-col-content{background:#EFF3F8 !important;border:1px solid #D8E1EC !important} 
.hs-lvl-card.hs-tier-package > .fl-col-content{background:#FBF1D8 !important;border:1px solid #E9DAAE !important} 
.hs-lvl-card.hs-tier-service > .fl-col-content{background:#0B203B !important;border:1px solid #0B203B !important} 
 /* service tier is dark, so lift the type off it */ 
.hs-tier-service .fl-heading,.hs-tier-service .fl-heading .fl-heading-text,.hs-tier-service h2,.hs-tier-service h3,.hs-tier-service h4{color:#FFFFFF !important} 
.hs-tier-service .fl-rich-text,.hs-tier-service .fl-rich-text p,.hs-tier-service .fl-rich-text li,.hs-tier-service .fl-rich-text span{color:#A8C7DE !important} 
.hs-tier-service .fl-rich-text strong{color:#FFFFFF !important} 
.hs-tier-service .hs-spec-row,.hs-tier-service .hs-specs{border-color:rgba(168,199,222,.28) !important} 
.hs-tier-service .fl-button-wrap a.fl-button{background:#E3B23C !important;border-color:#E3B23C !important} 
.hs-tier-service .fl-button-wrap a.fl-button *{color:#041020 !important} 
 /* packages run full width, so let the detail breathe */ 
.hs-lvl-card.hs-tier-package > .fl-col-content{padding:34px 38px !important} 
@media(max-width:768px){ .hs-lvl-card.hs-tier-package > .fl-col-content{padding:26px 24px !important} } 


/* ---- success story, as rendered by the Beaver Builder Posts module ----
 * The story is now a real post shown by post-grid (feed layout), so the
 * markup is BB's, not ours. Style the module wrapper .hs-storywrap. */
.hs-storywrap .fl-post-feed{background:#EFF3F8;border-left:4px solid #E3B23C;border-radius:0 12px 12px 0;padding:26px 30px} 
.hs-storywrap ul,.hs-storywrap .fl-post-feed-post{list-style:none;margin:0;padding:0;border:0 !important} 
.hs-storywrap .fl-post-feed-header{margin:0 0 12px} 
.hs-storywrap .fl-post-feed-title,.hs-storywrap .fl-post-feed-title a{font-family:"EB Garamond",Georgia,serif !important;font-size:22px !important;font-weight:700 !important;line-height:1.2 !important;color:#041020 !important;text-decoration:none} 
.hs-storywrap .fl-post-feed-content p{font-family:"EB Garamond",Georgia,serif !important;font-style:italic !important;font-size:19px !important;line-height:1.55 !important;color:#0B203B !important;margin:0 0 16px} 
.hs-storywrap .fl-post-feed-content ul{list-style:none;margin:16px 0 0;padding:16px 0 0;border-top:1px solid #D8E1EC} 
.hs-storywrap .fl-post-feed-content li{position:relative;padding-left:18px;margin:0 0 10px;font-family:Poppins,sans-serif;font-size:15px;line-height:1.55;color:#3A4C61;font-style:normal} 
.hs-storywrap .fl-post-feed-content li:last-child{margin-bottom:0} 
.hs-storywrap .fl-post-feed-content li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:#0E6BA8} 
.hs-storywrap .fl-post-feed-content li strong{font-weight:600;color:#0E6BA8} 
.hs-storywrap .fl-post-feed-meta,.hs-storywrap .fl-post-feed-comments{display:none !important} 
@media(max-width:768px){ .hs-storywrap .fl-post-feed{padding:22px 22px 22px 24px} .hs-storywrap .fl-post-feed-content p{font-size:17px !important} .hs-storywrap .fl-post-feed-title{font-size:20px !important} } 


/* The story column kept its old quote-box styling from when the story was a
 * hardcoded module. The Posts module now draws its own box, so the column
 * must not draw a second one around it. */
.hs-story-col > .fl-col-content{background:transparent !important;border:0 !important;border-radius:0 !important;padding:0 !important} 


/* ---- WooCommerce notices ----
 * Themer prints notices as the first thing in .fl-page-content, but the site
 * header is position:absolute over the top 185px, so the notice landed behind
 * the menu. Float it clear of the header as a toast: no layout shift, and it
 * scrolls away with the page. */
.fl-theme-builder-woo-notices{position:absolute !important;top:200px;left:50%;transform:translateX(-50%);width:100%;max-width:1100px;z-index:130;padding:0 20px;pointer-events:none} 
.fl-theme-builder-woo-notices .woocommerce-error,.fl-theme-builder-woo-notices .woocommerce-message,.fl-theme-builder-woo-notices .woocommerce-info{pointer-events:auto;margin:0 0 12px !important;border:1px solid #E3E9F0;border-top:3px solid #0E6BA8;border-radius:12px;background:#FFFFFF;box-shadow:0 10px 30px rgba(4,16,32,.16);padding:16px 20px !important;font-family:Poppins,sans-serif;font-size:15px;line-height:1.5;color:#041020;list-style:none} 
.fl-theme-builder-woo-notices .woocommerce-error{border-top-color:#B3261E} 
.fl-theme-builder-woo-notices .woocommerce-message{border-top-color:#1E7A5A} 
.fl-theme-builder-woo-notices .woocommerce-error:before,.fl-theme-builder-woo-notices .woocommerce-message:before,.fl-theme-builder-woo-notices .woocommerce-info:before{display:none} 
.fl-theme-builder-woo-notices .button{float:right;margin-left:14px;background:#E3B23C !important;color:#041020 !important;border-radius:9px;padding:8px 16px !important;font-weight:600;font-size:14px} 
@media(max-width:992px){ .fl-theme-builder-woo-notices{top:176px} } 
@media(max-width:768px){ .fl-theme-builder-woo-notices{top:172px;padding:0 20px} .fl-theme-builder-woo-notices .button{float:none;display:block;margin:12px 0 0;text-align:center} } 


/* ---- header cart link (menu item lives in Appearance > Menus) ---- */
.hs-cart-link > a{display:inline-flex !important;align-items:center;gap:8px} 
.hs-cart-link > a:before{content:"\f07a";font-family:"Font Awesome 5 Free";font-weight:900;font-size:15px;line-height:1} 
.hs-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#E3E9F0;color:#3A4C61;font-family:Poppins,sans-serif;font-size:12px;font-weight:700;line-height:1} 
.hs-cart-count.has-items{background:#E3B23C;color:#041020} 


/* ---- hs-gold-ink: contrast fix ----
 * Brand gold #E3B23C works as a BACKGROUND behind dark text, but as small
 * text on light it measures 1.96:1 on white and 1.75:1 on the gold tint -
 * effectively unreadable. #7A5E15 is the same hue darkened until it clears
 * WCAG AA everywhere it is used: 6.11 on white, 5.43 on #FBF1D8,
 * 5.48 on #EFF3F8. Gold stays gold anywhere it is a background. */
.hs-lvl-card .fl-rich-text p[style*="E3B23C"],.hs-tier-package .fl-rich-text p{color:#7A5E15 !important} 
.hs-pill.wait{color:#7A5E15 !important} 


/* hs-loop-fmt-scrim: the format badge is white text laid straight on the
 * product photo. Every product now has its own image, so brightness varies
 * and white can land on a pale area. Give it its own dark pill. */
.woocommerce ul.products li.product .hs-loop-fmt{background:rgba(4,16,32,.74);padding:3px 9px;border-radius:999px;top:114px;right:10px} 


/* ---- hs-overlay-legibility ----
 * Priority labels and the card icon are white/gold laid straight on the card
 * photo, with nothing behind them. Now that every card has its own image the
 * brightness varies, so light text can land on a pale area and vanish.
 * A soft gradient scrim across the top and bottom of the image keeps them
 * readable on any photo without darkening the whole picture. */
.fl-col.hs-flush-card .fl-module-photo{position:relative} 
.fl-col.hs-flush-card .fl-module-photo:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(to bottom,rgba(4,16,32,.55) 0,rgba(4,16,32,0) 32%,rgba(4,16,32,0) 62%,rgba(4,16,32,.5) 100%)} 
.fl-col.hs-flush-card .fl-module.hs-card-rank,.fl-col.hs-flush-card .fl-module.hs-card-icon{z-index:3} 
.fl-col.hs-flush-card .hs-card-rank p{text-shadow:0 1px 3px rgba(4,16,32,.55)} 


/* ---- ladder rungs jump to their section ----
 * The rung TITLE is a real link (set in the heading module), and this
 * stretches its hit area over the whole card. No JavaScript, and it stays
 * keyboard accessible because the anchor is real. Change where a rung points
 * in Beaver Builder: the heading module's Link field.
 * scroll-margin-top clears the header, which overlays the top of the page. */
html{scroll-behavior:smooth} 
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto} } 
#products,#services,#bundles,#packages{scroll-margin-top:var(--hs-sticky-top,96px)} 
@media(max-width:992px){ #products,#services,#bundles,#packages{scroll-margin-top:var(--hs-sticky-top,96px)} } 
.fl-col.hs-rung{position:relative;transition:transform .18s ease,box-shadow .18s ease} 
.fl-col.hs-rung .fl-heading a{text-decoration:none;color:inherit} 
.fl-col.hs-rung .fl-heading a:after{content:"";position:absolute;inset:0;z-index:4;border-radius:14px} 
.fl-col.hs-rung:hover{transform:translateY(-3px)} 
.fl-col.hs-rung:hover > .fl-col-content{box-shadow:0 14px 34px rgba(4,16,32,.14)} 
.fl-col.hs-rung .fl-heading a:focus-visible:after{outline:3px solid #0E6BA8;outline-offset:3px} 
.fl-col.hs-rung .fl-heading:after{content:"\2192";margin-left:8px;color:#0E6BA8;font-family:Poppins,sans-serif;font-size:.72em;vertical-align:middle} 


/* ---- hs-empty-upsell ----
 * Every product is wired to its bundle, but most bundles are still drafts
 * while Alec finishes the source documents. That left 6 products showing
 * the heading 'Need more support than this?' with nothing underneath.
 * Hide the whole section until it has something in it; it reappears by
 * itself the moment the bundle is published. Same for related products. */



.fl-row:has(.fl-module-fl-woo-product-upsells):not(:has(.fl-module-fl-woo-product-upsells li.product)){display:none} 
.fl-row:has(.fl-module-fl-woo-related-products):not(:has(.fl-module-fl-woo-related-products li.product)){display:none} 


/* ---- Meet your mediator ----
 * Sits straight after the hero on the storefront landing page: you meet the
 * person before you are asked to choose a level of support. */
.hs-mediator .hs-mediator-video > .fl-col-content{padding-right:44px} 
.hs-mediator .hs-mediator-copy > .fl-col-content{display:flex;flex-direction:column;justify-content:center;height:100%} 
.hs-mediator .fl-video,.hs-mediator .fl-video-inner{border-radius:16px;overflow:hidden} 
.hs-mediator video{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 18px 44px rgba(4,16,32,.18)} 
@media(max-width:992px){ .hs-mediator .hs-mediator-video > .fl-col-content{padding-right:0;margin-bottom:28px} } 
 /* WordPress hands the video to MediaElement.js, which wraps it in
  * .wp-video / .mejs-container with an inline pixel width. Round and shadow
  * the container, not the raw <video>, and let it size to the column. */
.hs-mediator .wp-video,.hs-mediator .mejs-container{width:100% !important;max-width:100%;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(4,16,32,.18)} 
.hs-mediator .mejs-container,.hs-mediator .mejs-overlay,.hs-mediator .mejs-poster{background:#0B203B} 
.hs-mediator video{border-radius:0;box-shadow:none;width:100% !important;height:auto !important} 
.hs-mediator .mejs-controls{border-bottom-left-radius:16px;border-bottom-right-radius:16px} 
 /* hs-mediator-mobile: BB drops column side padding at the mobile breakpoint,
  * so the video ran edge to edge instead of sitting on the 20px page gutter. */
@media(max-width:768px){ .hs-mediator .hs-mediator-video > .fl-col-content,.hs-mediator .hs-mediator-copy > .fl-col-content{padding-left:20px !important;padding-right:20px !important} .hs-mediator h2,.hs-mediator .fl-heading .fl-heading-text{font-size:30px !important} .hs-mediator .fl-rich-text p{font-size:17px !important} } 


/* issue cards: make the whole card the tap target. On mobile the title link was 29px tall and See options only 21px, well under a comfortable 44px touch target. All three links in each card share one destination, so stretching the title anchor over the card loses nothing. Same pattern as the ladder rungs: no JavaScript, still keyboard reachable. */
.fl-col.hs-flush-card{position:relative;transition:transform .18s ease,box-shadow .18s ease}
.fl-col.hs-flush-card .fl-heading a{text-decoration:none;color:inherit}
.fl-col.hs-flush-card .fl-heading a:after{content:"";position:absolute;inset:0;z-index:5;border-radius:14px}
.fl-col.hs-flush-card:hover{transform:translateY(-3px)}
.fl-col.hs-flush-card:hover > .fl-col-content{box-shadow:0 14px 34px rgba(4,16,32,.14)}
.fl-col.hs-flush-card .fl-heading a:focus-visible:after{outline:3px solid #0E6BA8;outline-offset:3px}
.fl-col.hs-flush-card .fl-button-wrap a.fl-button{padding-top:9px;padding-bottom:9px}


/* ---- cart + checkout ----
 * The pages are the WooCommerce BLOCK cart/checkout, which Beaver Builder
 * cannot edit. Themer layout 2273 wraps them (hero + reassurance strip are
 * editable BB rows); this styles the form itself to the design system. */
.hs-cart-body .wc-block-cart-items,.hs-cart-body .wc-block-components-sidebar,.hs-cart-body .wc-block-checkout__main,.hs-cart-body .wc-block-components-order-summary{background:#fff;border:1px solid #E3E9F0;border-radius:16px;padding:24px}
.hs-cart-body .wc-block-cart__submit-button,.hs-cart-body .wc-block-components-checkout-place-order-button{background:#E3B23C !important;color:#041020 !important;border:0 !important;border-radius:12px !important;font-family:Poppins,sans-serif !important;font-size:17px !important;font-weight:600 !important;min-height:56px;padding:16px 24px !important}
.hs-cart-body .wc-block-cart__submit-button:hover,.hs-cart-body .wc-block-components-checkout-place-order-button:hover{background:#C99B2E !important}
.hs-cart-body .wc-block-components-product-name{font-family:Poppins,sans-serif;font-size:17px !important;font-weight:600;color:#041020 !important;text-decoration:none}
.hs-cart-body .wc-block-cart__totals-title,.hs-cart-body .wc-block-components-title{font-family:Poppins,sans-serif !important;font-size:13px !important;letter-spacing:1.6px;text-transform:uppercase;color:#5C6E82 !important;font-weight:700 !important}
.hs-cart-body .wc-block-components-totals-item__value,.hs-cart-body .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:"EB Garamond",Georgia,serif !important;color:#041020 !important}
.hs-cart-body .wc-block-components-text-input input,.hs-cart-body .wc-block-components-select__container,.hs-cart-body .wc-block-components-combobox-control input{border:1px solid #E3E9F0 !important;border-radius:10px !important;font-family:Poppins,sans-serif;font-size:16px}
.hs-cart-body .wc-block-components-text-input input:focus{border-color:#0E6BA8 !important;box-shadow:0 0 0 3px rgba(14,107,168,.16) !important}
.hs-cart-body .wc-block-components-notice-banner{border-radius:12px;font-family:Poppins,sans-serif}
 /* hs-cart-mobile: BB drops column side padding at the mobile breakpoint, so
  * the cart panel and buttons ran edge to edge instead of the 20px gutter. */
@media(max-width:768px){.hs-cart-body > .fl-row-content-wrap > .fl-row-content{padding-left:20px !important;padding-right:20px !important}.hs-cart-body .wc-block-cart-items,.hs-cart-body .wc-block-components-sidebar,.hs-cart-body .wc-block-checkout__main,.hs-cart-body .wc-block-components-order-summary{padding:20px}.hs-cart-hero h1,.hs-cart-hero .fl-heading .fl-heading-text{font-size:34px !important}.hs-cart-trust > .fl-row-content-wrap > .fl-row-content{padding-left:20px !important;padding-right:20px !important}.hs-trust-item{margin-bottom:22px}}


/* Cart and checkout now run Themer layout 2273, whose own navy hero carries the header clearance. Leaving the page-content padding on as well produced a 39px white strip between the header and the hero, plus 400px of dead navy. */
.woocommerce-cart .fl-page-content,.woocommerce-checkout .fl-page-content{padding-top:0}


/* ---- hs-empty-cart: the empty cart state ----
 * Pure WooCommerce default: a grey sad-face heading at 14px, a dotted rule,
 * and a 'New in store' product grid with 10.5px buttons. Bring it onto the
 * design system so an empty cart still looks like the rest of the store. */
.hs-cart-body .wp-block-woocommerce-empty-cart-block > h2.with-empty-cart-icon{font-family:"EB Garamond",Georgia,serif !important;font-size:30px !important;font-weight:700 !important;color:#041020 !important;line-height:1.15 !important;margin:0 0 10px}
.hs-cart-body .wp-block-woocommerce-empty-cart-block > h2.with-empty-cart-icon:before{filter:grayscale(1) opacity(.35)}
.hs-cart-body .wp-block-woocommerce-empty-cart-block hr.wp-block-separator{border:0;border-top:1px solid #E3E9F0;max-width:1100px;margin:34px auto}
.hs-cart-body .wp-block-woocommerce-empty-cart-block hr.is-style-dots:before{content:none}
.hs-cart-body .wp-block-woocommerce-empty-cart-block > h2:not(.with-empty-cart-icon){font-family:"EB Garamond",Georgia,serif !important;font-size:30px !important;font-weight:700 !important;color:#041020 !important;margin:0 0 24px}
.hs-cart-body .wc-block-grid__product{background:#fff;border:1px solid #E3E9F0;border-radius:14px;padding:0 0 20px;overflow:hidden;text-align:left}
.hs-cart-body .wc-block-grid__product-image img{border-radius:0;width:100%}
.hs-cart-body .wc-block-grid__product-title{font-family:Poppins,sans-serif !important;font-size:17px !important;font-weight:600 !important;color:#041020 !important;padding:16px 18px 0;text-align:left}
.hs-cart-body .wc-block-grid__product-price{font-family:"EB Garamond",Georgia,serif !important;font-size:22px !important;font-weight:700 !important;color:#041020 !important;padding:6px 18px 12px;text-align:left;display:block}
.hs-cart-body .wc-block-grid__product .wp-block-button__link{background:#E3B23C !important;color:#041020 !important;border:0 !important;border-radius:10px !important;font-family:Poppins,sans-serif !important;font-size:15px !important;font-weight:600 !important;padding:11px 18px !important;margin:0 18px;display:inline-block}
.hs-cart-body .wc-block-grid__product .wp-block-button__link:hover{background:#C99B2E !important}
@media(max-width:768px){.hs-cart-body .wp-block-woocommerce-empty-cart-block > h2.with-empty-cart-icon,.hs-cart-body .wp-block-woocommerce-empty-cart-block > h2:not(.with-empty-cart-icon){font-size:26px !important}.hs-cart-body .wc-block-grid__products{padding-left:8px;padding-right:8px}}
 /* the empty cart now routes to the Support Menu first, then entry products */
.hs-cart-body .hs-empty-cta .wp-block-button__link{background:#E3B23C !important;color:#041020 !important;border:0 !important;border-radius:12px !important;font-family:Poppins,sans-serif !important;font-size:17px !important;font-weight:600 !important;padding:15px 30px !important}
.hs-cart-body .hs-empty-cta .wp-block-button__link:hover{background:#C99B2E !important}
.hs-cart-body .wp-block-woocommerce-empty-cart-block p.has-text-align-center{font-family:Poppins,sans-serif;font-size:19px;line-height:1.55;color:#3A4C61;margin:0 0 22px}
.hs-cart-body .wp-block-buttons{margin-bottom:8px}
 /* hs-emptycart-gap: the block grid butts its tiles together with zero margin.
  * Percentage margins rounded past 100% and dropped a card to the next row, so
  * use flex gap and subtract it from the width - exact at any container size.
  * 28px matches the storefront loop card spacing. */
.hs-cart-body .wc-block-grid__products{display:flex;flex-wrap:wrap;gap:28px;margin:0;padding:0;list-style:none}
.hs-cart-body .wc-block-grid__product{flex:0 0 calc(25% - 21px) !important;width:calc(25% - 21px) !important;max-width:calc(25% - 21px) !important;margin:0 !important}
@media(max-width:992px){ .hs-cart-body .wc-block-grid__product{flex:0 0 calc(50% - 14px) !important;width:calc(50% - 14px) !important;max-width:calc(50% - 14px) !important} }
@media(max-width:768px){ .hs-cart-body .wc-block-grid__products{display:block;gap:0} .hs-cart-body .wc-block-grid__product{flex:0 0 100% !important;width:100% !important;max-width:100% !important;margin:0 0 22px !important} .hs-cart-body .wc-block-grid__product:last-child{margin-bottom:0 !important} }
 /* Both mediator columns ended up with the same class after a manual edit, so
  * the gutter rule matched neither and the video butted against the copy.
  * Target by position instead - survives whichever class each column carries. */
@media(min-width:993px){ .hs-mediator .fl-col:first-child > .fl-col-content{padding-right:44px} }


/* ---- hs-order-received: the thank-you page ----
 * Renders inside Themer layout 2273 (the hero shows), but the order detail
 * itself is WooCommerce's default template. Covers both the classic and the
 * block confirmation markup. The download is what they just paid for, so it
 * leads rather than sitting below the order summary. */
.hs-cart-body .woocommerce-thankyou-order-received,.hs-cart-body .wc-block-order-confirmation-status{font-family:"EB Garamond",Georgia,serif !important;font-size:30px !important;font-weight:700 !important;color:#041020 !important;line-height:1.2;margin:0 0 26px;display:block}
.hs-cart-body ul.woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0 0 34px;padding:0;background:#fff;border:1px solid #E3E9F0;border-radius:14px;overflow:hidden}
.hs-cart-body ul.woocommerce-order-overview li{flex:1 1 auto;margin:0;padding:18px 22px;border:0;border-right:1px solid #E3E9F0;font-family:Poppins,sans-serif;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#5C6E82}
.hs-cart-body ul.woocommerce-order-overview li:last-child{border-right:0}
.hs-cart-body ul.woocommerce-order-overview li strong{display:block;margin-top:6px;font-family:Poppins,sans-serif;font-size:16px;letter-spacing:0;text-transform:none;color:#041020;font-weight:600}
.hs-cart-body .woocommerce-order h2,.hs-cart-body .woocommerce-order h3{font-family:"EB Garamond",Georgia,serif !important;font-size:26px !important;font-weight:700 !important;color:#041020 !important;margin:0 0 16px}
.hs-cart-body .woocommerce-order table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #E3E9F0;border-radius:14px;overflow:hidden;margin:0 0 34px}
.hs-cart-body .woocommerce-order table th{font-family:Poppins,sans-serif;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#5C6E82;font-weight:700;padding:14px 20px;border-bottom:1px solid #E3E9F0;text-align:left}
.hs-cart-body .woocommerce-order table td{font-family:Poppins,sans-serif;font-size:16px;color:#041020;padding:16px 20px;border-bottom:1px solid #F0F3F7}
.hs-cart-body .woocommerce-order table tr:last-child td{border-bottom:0}
.hs-cart-body .woocommerce-order table a{color:#0E6BA8;text-decoration:none;font-weight:600}
.hs-cart-body .woocommerce-order td.download-file a,.hs-cart-body .woocommerce-MyAccount-downloads-file,.hs-cart-body .woocommerce-MyAccount-downloads a.button{display:inline-block;background:#E3B23C !important;color:#041020 !important;border:0 !important;border-radius:10px !important;font-family:Poppins,sans-serif !important;font-size:15px !important;font-weight:600 !important;padding:12px 20px !important;text-decoration:none}
.hs-cart-body .woocommerce-order td.download-product a{background:none !important;color:#0E6BA8 !important;padding:0 !important;font-weight:600;text-decoration:none;border-radius:0 !important}
.hs-cart-body .woocommerce-order td.download-product a:hover{text-decoration:underline}
.hs-cart-body .woocommerce-order td.download-file a:before{content:"\f019";font-family:"Font Awesome 5 Free";font-weight:900;margin-right:9px;font-size:13px}
.hs-cart-body .woocommerce-order td.download-file a:hover{background:#C99B2E !important}
.hs-cart-body .woocommerce-customer-details address{font-family:Poppins,sans-serif;font-size:16px;line-height:1.7;color:#3A4C61;background:#fff;border:1px solid #E3E9F0;border-radius:14px;padding:20px 22px;font-style:normal}
@media(max-width:768px){ .hs-cart-body ul.woocommerce-order-overview li{flex:1 1 100%;border-right:0;border-bottom:1px solid #E3E9F0} .hs-cart-body .woocommerce-order h2{font-size:22px !important} }


/* reassurance strip: was three bare text blocks with a ragged third column. Give it a top rule, an outline icon per item and even column heights. */
.hs-cart-trust > .fl-row-content-wrap{border-top:1px solid #E3E9F0}
.hs-cart-trust .hs-trust-item > .fl-col-content{padding-right:28px}
.hs-cart-trust .hs-trust-item:last-child > .fl-col-content{padding-right:0}
.hs-cart-trust .fl-heading,.hs-cart-trust .fl-heading .fl-heading-text{font-family:Poppins,sans-serif !important;font-size:17px !important;font-weight:600 !important;color:#041020 !important;letter-spacing:0 !important}
.hs-cart-trust .fl-rich-text p{font-family:Poppins,sans-serif !important;font-size:15px !important;line-height:1.55 !important;color:#5C6E82 !important}
.hs-cart-trust .fl-icon i{color:#0E6BA8 !important}
@media(max-width:768px){ .hs-cart-trust .hs-trust-item > .fl-col-content{padding-right:0} .hs-cart-trust .hs-trust-item{margin-bottom:26px} .hs-cart-trust .hs-trust-item:last-child{margin-bottom:0} }

/* hs-bnpl-swap */
.hs-when-bnpl{display:none}
body.hs-bnpl-live .hs-when-bnpl{display:block}
body.hs-bnpl-live .hs-when-no-bnpl{display:none}
.fl-builder-edit .hs-when-bnpl,.fl-builder-edit .hs-when-no-bnpl{display:block !important}
/* end hs-bnpl-swap */

/* hs-sticky-offset: the Themer header is sticky+shrink and goes position:fixed on scroll,
   so anything sticky must clear it. One variable drives it. */
:root{--hs-sticky-top:96px}
@media(max-width:1200px){:root{--hs-sticky-top:88px}}

/* hs-compare-table -------------------------------------------------------
   Brands the WPC compare table and fixes three problems: 600px-tall images
   pushing the comparison below the fold, the Add-to-cart button rendering
   unstyled/invisible, and the last column's title running under the modal's
   close button. Rollback: option hs_css_bkp_compare.
   ---------------------------------------------------------------------- */
.woosc-area .woosc-table table td.td-label,table.woosc_table td.td-label,.woosc-area .woosc-table table th.th-label,table.woosc_table th.th-label{font-family:Poppins,sans-serif !important;font-size:12px !important;letter-spacing:.05em;text-transform:uppercase;color:#5C6E82 !important;font-weight:600 !important;background:#F8F9FB;white-space:nowrap;vertical-align:middle}
.woosc-area .woosc-table table .tr-name td.col a,table.woosc_table .tr-name td.col a,.woosc-area .woosc-table table thead th.col a,table.woosc_table thead th.col a{font-family:'EB Garamond',Georgia,serif !important;font-size:19px !important;line-height:1.25 !important;color:#0B203B !important;text-transform:none !important;font-weight:700 !important;text-decoration:none !important;letter-spacing:0 !important}
.woosc-area .woosc-table table .tr-image td.col img,table.woosc_table .tr-image td.col img{height:170px !important;width:100% !important;object-fit:cover !important;border-radius:10px !important;display:block}
.woosc-area .woosc-table table .tr-price td.col,table.woosc_table .tr-price td.col{font-family:'EB Garamond',Georgia,serif !important;font-size:24px !important;color:#041020 !important;font-weight:700}
.woosc-area .woosc-table table .tr-price td.col del,table.woosc_table .tr-price td.col del{color:#5C6E82 !important;font-size:17px !important}
.woosc-area .woosc-table table .tr-add_to_cart td.col a.button,table.woosc_table .tr-add_to_cart td.col a.button{display:inline-block !important;background:#E3B23C !important;color:#041020 !important;border:0 !important;border-radius:10px !important;padding:11px 20px !important;font-family:Poppins,sans-serif !important;font-size:14px !important;font-weight:600 !important;text-decoration:none !important;line-height:1.2 !important;visibility:visible !important;opacity:1 !important}
.woosc-area .woosc-table table .tr-add_to_cart td.col a.button:hover,table.woosc_table .tr-add_to_cart td.col a.button:hover{background:#c99b2e !important}
.woosc-area .woosc-table table .tr-add_to_cart td.col p,table.woosc_table .tr-add_to_cart td.col p{margin:0 !important}
.woosc-area .woosc-table table tr.tr-default td.col,table.woosc_table tr.tr-default td.col{border-bottom:1px solid #E3E9F0;padding:14px 16px;vertical-align:middle;color:#041020;font-family:Poppins,sans-serif;font-size:14px;line-height:1.5}
.woosc-area .woosc-table table tr.tr-default td.td-label,table.woosc_table tr.tr-default td.td-label{border-bottom:1px solid #E3E9F0;padding:14px 16px}
.woosc-area .woosc-table table .tr-description td.col,table.woosc_table .tr-description td.col{color:#5C6E82 !important;font-size:14px !important;line-height:1.55 !important}
.woosc-remove,.woosc-remove-all{font-family:Poppins,sans-serif !important;font-size:12px !important;color:#5C6E82 !important;text-transform:none !important;font-weight:500 !important}
.woosc-remove:hover,.woosc-remove-all:hover{color:#0E6BA8 !important}
.woosc-area thead th.col:last-child,.woosc-area .tr-name td.col:last-child{padding-right:58px !important}
/* end hs-compare-table */

/* hs-plain-page : Terms, Privacy and any other non-builder page. The header is a
   transparent overlay, so these need a solid ground plus nav clearance. */
.hs-plain-page .fl-builder-content-1616 .fl-row-content-wrap,.hs-plain-page .fl-builder-content-1616 .fl-row{background-color:#0B203B !important}
.hs-plain-page .fl-page-content{padding-top:200px;padding-bottom:96px;background:#F8F9FB}
.hs-plain-page .fl-post-header,.hs-plain-page .fl-post-content{max-width:820px;margin-left:auto;margin-right:auto}
.hs-plain-page .fl-post-title,.hs-plain-page h1.fl-post-title{font-family:'EB Garamond',Georgia,serif !important;font-size:46px !important;line-height:1.1 !important;color:#041020 !important;margin:0 0 8px}
.hs-plain-page .fl-post-content h2{font-family:'EB Garamond',Georgia,serif !important;font-size:30px !important;line-height:1.15 !important;color:#0B203B !important;margin:40px 0 12px}
.hs-plain-page .fl-post-content p,.hs-plain-page .fl-post-content li{font-family:Poppins,sans-serif;font-size:17px;line-height:1.7;color:#3A4C61}
.hs-plain-page .fl-post-content ul{margin:0 0 18px 20px;padding-left:8px}
.hs-plain-page .fl-post-content li{margin-bottom:8px}
.hs-plain-page .fl-post-content p.hs-legal-date{font-size:14px;color:#5C6E82;letter-spacing:.02em;margin-bottom:28px}
.hs-plain-page .fl-post-content a:not(.hs-triage-card){color:#0E6BA8;text-decoration:underline}
@media(max-width:768px){.hs-plain-page .fl-page-content{padding-top:150px}.hs-plain-page .fl-post-title{font-size:34px !important}.hs-plain-page .fl-post-content h2{font-size:24px !important}}
/* end hs-plain-page */

/* hs-plain-logo-fix : Themer's sticky-shrink JS injects
   '.fl-node-<logo>-img-0{max-height:0}' into #fl-header-styles-1616 when it measures the
   logo before the image has loaded, which collapses it on non-builder pages. The photo
   module's own width:380px still governs the size, so releasing max-height restores it. */
.hs-plain-page header.fl-builder-content-1616 img.fl-photo-img{max-height:none !important}
/* end hs-plain-logo-fix */

/* hs-triage : the sorting step. Question wording lives in mu-plugins/hs-triage.php */
.hs-triage{max-width:900px;margin:0 auto}
.hs-triage-step{border:0;padding:0;margin:0 0 34px}
.hs-triage-step legend{display:flex;align-items:center;gap:12px;font-family:'EB Garamond',Georgia,serif;font-size:26px;line-height:1.15;color:#041020;margin-bottom:16px;padding:0}
.hs-triage-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#0B203B;color:#fff;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;flex:0 0 30px}
.hs-triage-opts{display:flex;flex-wrap:wrap;gap:10px}
.hs-triage-opt{flex:1 1 260px;text-align:left;background:#fff;border:1px solid #E3E9F0;border-radius:12px;padding:15px 18px;font-family:Poppins,sans-serif;font-size:15px;line-height:1.45;color:#3A4C61;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.hs-triage-opt:hover{border-color:#0E6BA8;color:#0E6BA8}
.hs-triage-opt.is-on{background:#0B203B;border-color:#0B203B;color:#fff;font-weight:500}
.hs-triage-hint{font-family:Poppins,sans-serif;font-size:14px;color:#5C6E82;margin-top:6px}
.hs-triage-results{margin-top:40px;padding-top:30px;border-top:1px solid #E3E9F0}
.hs-triage-resulthead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.hs-triage-count{font-family:'EB Garamond',Georgia,serif;font-size:26px;color:#041020;margin:0}
.hs-triage-reset{background:none;border:0;padding:0;font-family:Poppins,sans-serif;font-size:14px;color:#0E6BA8;cursor:pointer;text-decoration:underline}
.hs-triage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hs-triage-card{display:flex;flex-direction:column;background:#fff;border:1px solid #E3E9F0;border-radius:12px;overflow:hidden;text-decoration:none;transition:transform .15s,box-shadow .15s}
.hs-triage-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(4,16,32,.10)}
.hs-triage-card img{width:100%;height:130px;object-fit:cover;display:block}
.hs-triage-card-name{font-family:'EB Garamond',Georgia,serif;font-size:18px;line-height:1.25;color:#0B203B;padding:14px 16px 0}
.hs-triage-card-blurb{font-family:Poppins,sans-serif;font-size:13.5px;line-height:1.5;color:#5C6E82;padding:8px 16px 0;flex:1 1 auto}
.hs-triage-card-price{font-family:Poppins,sans-serif;font-size:15px;font-weight:600;color:#041020;padding:12px 16px 16px}
.hs-triage-more{margin-top:20px;font-family:Poppins,sans-serif;font-size:15px}
.hs-triage-more a{color:#0E6BA8}
@media(max-width:992px){.hs-triage-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hs-triage-grid{grid-template-columns:1fr}.hs-triage-step legend{font-size:22px}.hs-triage-opt{flex:1 1 100%}}
/* end hs-triage */

/* hs-triage-states : the bb-theme skin styles every <button> with a blue fill on
   hover/active and kills the focus outline. Our options are real buttons, so each
   state has to declare its own background or the theme's blue wins and we get
   1.26:1 text-on-background. Every state below is checked against WCAG AA. */
.hs-triage-opt:hover,.hs-triage-opt:focus{background:#EFF3F8 !important;border-color:#0E6BA8 !important;color:#0E6BA8 !important}
.hs-triage-opt:active{background:#E3E9F0 !important;border-color:#0E6BA8 !important;color:#0B203B !important}
.hs-triage-opt.is-on,.hs-triage-opt.is-on:hover,.hs-triage-opt.is-on:focus,.hs-triage-opt.is-on:active{background:#0B203B !important;border-color:#0B203B !important;color:#fff !important}
.hs-triage-opt:focus-visible{outline:3px solid #0E6BA8 !important;outline-offset:2px !important}
.hs-triage-reset:hover,.hs-triage-reset:focus{background:none !important;color:#0B203B !important;border:0 !important}
.hs-triage-reset:focus-visible{outline:3px solid #0E6BA8 !important;outline-offset:2px !important}
.hs-triage-card:focus-visible{outline:3px solid #0E6BA8;outline-offset:3px}
.hs-plain-page .fl-post-content p.hs-lead{font-family:Poppins,sans-serif;font-size:19px;line-height:1.6;color:#3A4C61;margin-bottom:34px}
@media(max-width:600px){.hs-plain-page .fl-post-content p.hs-lead{font-size:17px}}
/* end hs-triage-states */

/* hs-triage-cards : the result tiles. These are anchors inside .fl-post-content,
   so the legal-page link rule was underlining the title, blurb AND price. Everything
   below matches the card scale used by the product tiles elsewhere on the site:
   eyebrow 11, title 22, prose 15, price 19. */
.hs-triage-card,.hs-plain-page .fl-post-content a.hs-triage-card{text-decoration:none !important;color:inherit !important;padding-bottom:4px}
.hs-triage-card *{text-decoration:none !important}
.hs-triage-card-kind{display:block;font-family:Poppins,sans-serif;font-size:11px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:#0E6BA8;padding:14px 16px 0}
.hs-triage-card-name{font-family:'EB Garamond',Georgia,serif !important;font-size:22px !important;line-height:1.2 !important;color:#0B203B !important;padding:6px 16px 0 !important;font-weight:700}
.hs-triage-card-blurb{font-family:Poppins,sans-serif !important;font-size:15px !important;line-height:1.55 !important;color:#5C6E82 !important;padding:8px 16px 0 !important}
.hs-triage-card-price{font-family:Poppins,sans-serif !important;font-size:19px !important;font-weight:600 !important;color:#041020 !important;padding:14px 16px 16px !important}
.hs-triage-card{border-radius:12px;border:1px solid #E3E9F0;background:#fff}
.hs-triage-card img{height:150px}
.hs-triage-card:hover .hs-triage-card-name{color:#0E6BA8 !important}
.hs-triage-count{font-family:'EB Garamond',Georgia,serif;font-size:30px;line-height:1.1;color:#041020;margin:0}
.hs-plain-page .fl-post-content a.hs-triage-reset,.hs-triage-reset{font-family:Poppins,sans-serif;font-size:14px;color:#0E6BA8}
.hs-triage-more a{font-family:Poppins,sans-serif;font-size:15px;color:#0E6BA8}
/* end hs-triage-cards */

/* hs-triage-scrollmargin : the header goes position:fixed on scroll, so anything we
   scroll to must clear it. Same variable the sticky buy card uses. */
.hs-triage-step,.hs-triage-results{scroll-margin-top:var(--hs-sticky-top,96px)}
/* end hs-triage-scrollmargin */

/* hs-next-steps : shown on the order received page only when the order contains a
   package or 1:1 service, which have no file to download. */
.hs-next-steps{margin:0 0 34px;padding:22px 24px;background:#F8F9FB;border:1px solid #E3E9F0;border-left:4px solid #E3B23C;border-radius:10px}
.hs-next-steps-title{font-family:'EB Garamond',Georgia,serif !important;font-size:24px !important;line-height:1.15 !important;color:#0B203B !important;margin:0 0 10px !important}
.hs-next-steps p{font-family:Poppins,sans-serif !important;font-size:15px !important;line-height:1.65 !important;color:#3A4C61 !important;margin:0 0 6px !important}
.hs-next-steps p:last-child{margin-bottom:0 !important}
/* end hs-next-steps */

/* ===== hs-edr-lists : list styling for the EDR page ===== */
.hs-hero-list,.hs-check-list,.hs-story-list{list-style:none;margin:0 0 14px;padding:0}
.hs-hero-list li,.hs-check-list li,.hs-story-list li{position:relative;padding-left:28px;margin:0 0 10px}
.hs-hero-list li:last-child,.hs-check-list li:last-child,.hs-story-list li:last-child{margin-bottom:0}
.hs-hero-list li::before,.hs-check-list li::before{content:"\2713";position:absolute;left:0;top:0;font-weight:700;font-size:14px;line-height:1.7}
.hs-hero-list li::before{color:#E3B23C}
.hs-check-list li::before{color:#0E6BA8}
.hs-story-list li::before{content:"";position:absolute;left:6px;top:.62em;width:7px;height:7px;border-radius:50%;background:#E3B23C}
.hs-hero-list li{color:rgba(255,255,255,.88)}

/* ===== hs-edr-sticky : sliding-scale + book bar ===== */
.hs-edr-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding:12px 20px;background:#0B203B;border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -6px 24px rgba(4,16,32,.22);transform:translateY(110%);transition:transform .28s ease}
.hs-edr-bar.is-visible{transform:translateY(0)}
.hs-edr-bar__text{margin:0;font-family:Poppins,system-ui,sans-serif;font-size:15px;line-height:1.4;color:#fff}
.hs-edr-bar__text b{color:#E3B23C;font-weight:600;white-space:nowrap}
.hs-edr-bar__cta{display:inline-block;padding:11px 26px;border-radius:8px;background:#E3B23C;color:#041020;font-family:Poppins,system-ui,sans-serif;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;transition:background .18s ease}
.hs-edr-bar__cta:hover,.hs-edr-bar__cta:focus{background:#C99B2E;color:#041020;text-decoration:none}
.hs-edr-bar__cta:focus-visible{outline:3px solid #fff;outline-offset:2px}
body.hs-edr-page .fl-builder-content{padding-bottom:0}
body.hs-edr-page{padding-bottom:72px}
@media (max-width:767px){.hs-edr-bar{gap:10px;padding:10px 14px}.hs-edr-bar__text{font-size:13.5px;text-align:center;flex:1 1 100%}.hs-edr-bar__cta{flex:1 1 100%;text-align:center;padding:12px 18px}body.hs-edr-page{padding-bottom:118px}}
@media (prefers-reduced-motion:reduce){.hs-edr-bar{transition:none}}

/* ===== hs-icon-system : inline stroke SVG icons ===== */
.hs-ico{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;vertical-align:middle}
.hs-ico svg{width:22px;height:22px;display:block}
.hs-ico-badge{display:flex;justify-content:center;margin:0 0 12px}
.hs-ico-badge--start{justify-content:flex-start}
.hs-ico-badge .hs-ico{width:46px;height:46px;border-radius:50%;background:#EFF3F8;color:#0E6BA8;border:1px solid #E3E9F0}
.hs-ico-badge--dark .hs-ico{background:rgba(255,255,255,.07);color:#E3B23C;border-color:rgba(255,255,255,.18)}
@media (max-width:767px){.hs-ico-badge .hs-ico{width:40px;height:40px}.hs-ico svg{width:20px;height:20px}}

/* ===== hs-edr-media : photography + upstream diagram ===== */
body.hs-edr-page .fl-photo-img{width:100%;height:auto;display:block;box-shadow:0 10px 30px rgba(4,16,32,.10)}
body.hs-edr-page .fl-photo-content{width:100%;border-radius:12px;overflow:hidden;line-height:0}

/* ===== hs-edr-polish : editorial refinement for the EDR page ===== */
body.hs-edr-page h1,body.hs-edr-page h2{letter-spacing:-.012em}
body.hs-edr-page h3{letter-spacing:-.006em}
body.hs-edr-page .fl-col:not(.hs-lvl-card):not(.hs-flush-card) > .fl-col-content{box-shadow:none}
body.hs-edr-page .fl-row[id]{scroll-margin-top:104px}
body.hs-edr-page a:focus-visible,body.hs-edr-page .fl-button:focus-visible{outline:3px solid #0E6BA8;outline-offset:3px;border-radius:6px}
body.hs-edr-page .fl-rich-text p:last-child{margin-bottom:0}

/* ===== hs-case-identity : case study monogram ===== */
.hs-case-id{display:flex;align-items:center;gap:12px;margin:0}
.hs-case-mono{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#FBF1D8;border:1px solid #E3B23C;color:#7A5E15;font-family:"EB Garamond",Georgia,serif;font-size:21px;font-weight:700;line-height:1;flex:0 0 auto}
.hs-case-role{font-family:Poppins,system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#0E6BA8}



/* hs-edr-darkcards */
body.hs-edr-page .hs-dark .hs-lvl-card > .fl-col-content{box-shadow:none}



/* hs-case-slider-nav : module uses bxSlider, not slick */
.hs-case-slider .bx-wrapper{border:0;background:transparent;box-shadow:none;margin-bottom:0}
.hs-case-slider .bx-viewport{background:transparent}
.hs-case-slider .bx-pager{padding-top:20px;text-align:center}
.hs-case-slider .bx-pager .bx-pager-item{display:inline-block;margin:0 5px}
.hs-case-slider .bx-pager-link{display:block;width:9px;height:9px;border-radius:50%;background:#C3CEDA;text-indent:-9999px;overflow:hidden;transition:background .18s ease}
.hs-case-slider .bx-pager-link:hover,.hs-case-slider .bx-pager-link.active{background:#0E6BA8}
.hs-case-slider .bx-pager-link:focus-visible{outline:3px solid #0E6BA8;outline-offset:3px}
.hs-case-slider .bx-controls-direction a{width:42px;height:42px;border-radius:50%;background:#0B203B;display:flex;align-items:center;justify-content:center;text-indent:0;overflow:hidden;margin-top:-21px;transition:background .18s ease}
.hs-case-slider .bx-controls-direction a:hover{background:#123A5E}
.hs-case-slider .bx-controls-direction a::before{content:"";width:9px;height:9px;border-top:2px solid #fff;border-right:2px solid #fff}
.hs-case-slider .bx-prev::before{transform:rotate(-135deg);margin-left:3px}
.hs-case-slider .bx-next::before{transform:rotate(45deg);margin-right:3px}
.hs-case-slider .bx-prev{left:-14px}.hs-case-slider .bx-next{right:-14px}
@media (max-width:900px){.hs-case-slider .bx-controls-direction{display:none}}

/* ===== hs-edr-overhaul : rhythm, accent and hierarchy pass ===== */

/* 1. text-only cards must not push their body copy to the bottom; only a trailing button should */
body.hs-edr-page .hs-lvl-card > .fl-col-content > .fl-module:last-child{margin-top:0}
body.hs-edr-page .hs-lvl-card > .fl-col-content > .fl-module-button:last-child{margin-top:auto;padding-top:18px}

/* 2. gold rule under every section heading - visual punctuation, no new copy */

/* 3. accent top border on card grids, per section */
/* the 3px accent slot only exists on cards that actually carry an accent class.
   Forcing it on every card left the six un-accented cards with a 3px TRANSPARENT top
   against 1px coloured sides - the top border read as cut off. */
body.hs-edr-page .hs-lvl-card > .fl-col-content{transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
body.hs-edr-page .hs-lvl-card[class*="hs-accent-"] > .fl-col-content{border-top-width:3px;border-top-style:solid}
body.hs-edr-page .hs-accent-blue > .fl-col-content{border-top-color:#0E6BA8}
body.hs-edr-page .hs-accent-gold > .fl-col-content{border-top-color:#E3B23C}
body.hs-edr-page .hs-accent-navy > .fl-col-content{border-top-color:#0B203B}

/* ===== hs-edr-overhaul-2 : numerals, journey spine, quote marks, link cards ===== */

/* step numerals - the STEP n. labels become large serif numerals */
body.hs-edr-page .hs-step .fl-rich-text p{font-family:"EB Garamond",Georgia,serif !important;font-size:44px !important;line-height:1 !important;color:#E3B23C !important;letter-spacing:0 !important;text-transform:none !important;font-weight:700 !important;font-variant-numeric:tabular-nums}

/* journey spine behind the 5-step strip on navy */

/* decorative quote mark on the problem-section columns */
body.hs-edr-page .hs-quotecol > .fl-col-content{position:relative}
body.hs-edr-page .hs-quotecol > .fl-col-content::before{content:"\201C";position:absolute;top:6px;right:10px;font-family:"EB Garamond",Georgia,serif;font-size:78px;line-height:1;color:#0E6BA8;opacity:.10;pointer-events:none}

/* resource cards read as links */
body.hs-edr-page .hs-linkcard > .fl-col-content{cursor:pointer}
body.hs-edr-page .hs-linkcard:hover > .fl-col-content{transform:translateY(-3px);box-shadow:0 12px 30px rgba(4,16,32,.12);border-color:#65A0C7}
body.hs-edr-page .hs-linkcard a{text-decoration:none}
body.hs-edr-page .hs-linkcard a::after{content:"\2192";display:inline-block;margin-left:7px;color:#0E6BA8;font-family:Poppins,sans-serif;font-size:.8em;transition:transform .18s ease}
body.hs-edr-page .hs-linkcard:hover a::after{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){body.hs-edr-page .hs-linkcard:hover > .fl-col-content{transform:none}}

/* hs-rule-notincard : the accent rule marks section headings only, never a card or panel title */

/* hs-section-rule : accent rule anchored to the heading MODULE, not the h2 (whose box is shorter than its text) */


/* ===== hs-edr-scale : landing-page type scale. The storefront scale is too quiet for a hero page. ===== */
body.hs-edr-page .fl-module-heading h1.fl-heading .fl-heading-text{font-size:clamp(38px,4.6vw,60px);line-height:1.05;letter-spacing:-.018em}
body.hs-edr-page .fl-module-heading:has(h2.fl-heading) h2.fl-heading .fl-heading-text{font-size:clamp(30px,3.3vw,44px);line-height:1.1;letter-spacing:-.014em}
body.hs-edr-page .hs-lvl-card .fl-module-heading h2.fl-heading .fl-heading-text{font-size:clamp(21px,1.9vw,26px);line-height:1.2;letter-spacing:-.006em}
body.hs-edr-page .hs-lvl-card .fl-module-heading h3.fl-heading .fl-heading-text{font-size:clamp(20px,1.7vw,23px);line-height:1.25}

/* body copy: 13-15px is unreadable on a landing page */

/* gold headings on the navy slabs - the brand accent, used at scale */
body.hs-edr-page .hs-dark .fl-module-heading:has(h2.fl-heading) h2.fl-heading .fl-heading-text{color:#E3B23C}

/* hs-edr-cardtype : card titles must not inherit the section-heading scale or the gold accent */
body.hs-edr-page .fl-col.hs-lvl-card .fl-module-heading h2.fl-heading .fl-heading-text{font-size:clamp(23px,2.25vw,29px)!important;line-height:1.18!important;letter-spacing:-.008em!important}
body.hs-edr-page .fl-col.hs-lvl-card .fl-module-heading h3.fl-heading .fl-heading-text{font-size:clamp(21px,2vw,26px)!important;line-height:1.22!important;letter-spacing:-.006em!important}
body.hs-edr-page .hs-dark .fl-col.hs-lvl-card .fl-module-heading h2.fl-heading .fl-heading-text{color:#ffffff!important}
body.hs-edr-page .hs-dark .fl-col.hs-lvl-card .fl-module-heading h3.fl-heading .fl-heading-text{color:#ffffff!important}

/* hs-edr-subhead : h2 sub-headings that sit outside the first column-group were left at theme size,
   creating a 42px -> 24px cliff. Give them a real middle step. */
body.hs-edr-page .fl-row .fl-col-group:not(:first-child) .fl-col:not(.hs-lvl-card) .fl-module-heading h2.fl-heading .fl-heading-text{font-size:clamp(26px,2.7vw,34px);line-height:1.14;letter-spacing:-.01em}
body.hs-edr-page .hs-dark .fl-col-group:not(:first-child) .fl-col:not(.hs-lvl-card) .fl-module-heading h2.fl-heading .fl-heading-text{color:#E3B23C}

/* h3 sub-headings outside cards (pathway straplines) also need a step above body */
body.hs-edr-page .fl-col:not(.hs-lvl-card) > .fl-col-content > .fl-module-heading h3.fl-heading .fl-heading-text{font-size:clamp(24px,2.5vw,32px);line-height:1.16;letter-spacing:-.01em}


/* chevrons sit inside the slab, vertically centred */

/* dots inside the slab */

/* bx-controls is the arrows' offset parent by default, which pushes them below the slab; 
   make it static and zero-height so arrows and dots anchor to .bx-wrapper (= the card box). */

/* ===== hs-quotewall : social proof - navy slab, quote-led =====
   The slab lives on .uabb-testimonials-wrap, not the slide: UABB wraps the arrows in its own
   absolutely-positioned .uabb-slider-prev/next and .bx-wrapper is taller than the visible card,
   so anchoring to the wrapper is the only reliable positioning context. */
.hs-quotewall .uabb-testimonials-wrap{position:relative;background:#0B203B;border-radius:16px;padding:56px 96px 68px}
.hs-quotewall .bx-wrapper{position:static;border:0;background:transparent;box-shadow:none;margin:0}
.hs-quotewall .bx-viewport{background:transparent}
.hs-quotewall .uabb-testimonial{background:transparent;padding:0;text-align:center}
.hs-quotewall .uabb-testimonial-photo{margin:0 0 26px}
.hs-quotewall .uabb-testimonial-photo img{width:74px!important;height:74px!important;max-width:74px!important;object-fit:cover;border-radius:50%!important;border:3px solid rgba(255,255,255,.22)}
.hs-quotewall .uabb-testimonial-author-description p{font-family:Poppins,system-ui,sans-serif!important;font-size:clamp(21px,2.35vw,32px)!important;line-height:1.34!important;font-weight:400!important;color:#fff!important;margin:0 auto!important;max-width:34ch}
.hs-quotewall .uabb-testimonial-author{margin-top:30px}
.hs-quotewall .uabb-testimonial-author-name{font-family:"EB Garamond",Georgia,serif!important;font-size:clamp(21px,2vw,27px)!important;font-weight:700;color:#A8C7DE!important;margin:0 0 6px!important;line-height:1.2}
.hs-quotewall .uabb-testimonial-author-designation{font-family:Poppins,system-ui,sans-serif;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.62)}

/* arrows: style UABB's wrapper, which is the element it positions */
.hs-quotewall .uabb-slider-prev,.hs-quotewall .uabb-slider-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;z-index:6;margin:0}
.hs-quotewall .uabb-slider-prev{left:22px;right:auto}
.hs-quotewall .uabb-slider-next{right:22px;left:auto}
.hs-quotewall .bx-prev,.hs-quotewall .bx-next{position:static;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.08);padding:0;cursor:pointer;transition:background .18s ease}
.hs-quotewall .bx-prev:hover,.hs-quotewall .bx-next:hover{background:rgba(255,255,255,.2)}
.hs-quotewall .bx-prev i,.hs-quotewall .bx-next i{font-size:19px;line-height:1;color:rgba(255,255,255,.85)}
.hs-quotewall .bx-prev:focus-visible,.hs-quotewall .bx-next:focus-visible{outline:3px solid #A8C7DE;outline-offset:3px}

/* dots pinned inside the slab */
.hs-quotewall .bx-controls{position:static;height:0}
.hs-quotewall .bx-pager{position:absolute;left:0;right:0;bottom:30px;text-align:center;z-index:6;padding:0;margin:0}
.hs-quotewall .bx-pager .bx-pager-item{display:inline-block;margin:0 5px}
.hs-quotewall .bx-pager-link{display:block;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.30);text-indent:-9999px;overflow:hidden;border:0;padding:0;transition:background .18s ease}
.hs-quotewall .bx-pager-link:hover,.hs-quotewall .bx-pager-link.active{background:#4E9BD1}
.hs-quotewall .bx-pager-link:focus-visible{outline:3px solid #A8C7DE;outline-offset:3px}

@media (max-width:900px){.hs-quotewall .uabb-slider-prev,.hs-quotewall .uabb-slider-next{display:none}}
@media (max-width:767px){.hs-quotewall .uabb-testimonials-wrap{padding:40px 22px 60px;border-radius:12px}.hs-quotewall .bx-pager{bottom:22px}}

/* hs-quotewall-height : bxSlider fixes the viewport height at init, before the avatar has loaded,
   which leaves a clone measured far too tall. Let the viewport follow its content instead. */
.hs-quotewall .bx-viewport{height:auto!important}
.hs-quotewall .uabb-testimonial{min-height:0}
.hs-quotewall .uabb-testimonial-photo,.hs-quotewall .uabb-imgicon-wrap,.hs-quotewall .uabb-image,.hs-quotewall .uabb-image-content{width:74px!important;height:74px!important;margin-left:auto!important;margin-right:auto!important;line-height:0}
.hs-quotewall .uabb-testimonial-photo{margin-bottom:26px!important}



/* hs-edr-herobg : photo + gradient scrim in one declaration. Beaver re-resolves bg_photo from the
   attachment ID at CSS-generation time and returned the wrong file, so the hero ground is set here. */
body.hs-edr-page .fl-node-9b6a1c51bdb5e > .fl-row-content-wrap{
  background-color:#0B203B;
  background-image:linear-gradient(96deg,rgba(11,32,59,.97) 0%,rgba(11,32,59,.93) 42%,rgba(11,32,59,.78) 72%,rgba(11,32,59,.66) 100%),url(https://housingshield.mosaiccollaborative.consulting/wp-content/uploads/2026/08/hs-edr-herobg.jpg);
  background-size:cover,cover;background-position:center center,center center;background-repeat:no-repeat,no-repeat}
@media (max-width:900px){body.hs-edr-page .fl-node-9b6a1c51bdb5e > .fl-row-content-wrap{background-image:linear-gradient(180deg,rgba(11,32,59,.95) 0%,rgba(11,32,59,.92) 60%,rgba(11,32,59,.9) 100%),url(https://housingshield.mosaiccollaborative.consulting/wp-content/uploads/2026/08/hs-edr-herobg.jpg)}}

/* hs-hero-panel : the hero card now sits over photography, so it needs its own ground */
body.hs-edr-page .fl-node-9b6a1c51bdb5e .hs-lvl-card > .fl-col-content{background:rgba(9,26,48,.82)!important;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border-color:rgba(255,255,255,.16)!important}
@supports not (backdrop-filter:blur(4px)){body.hs-edr-page .fl-node-9b6a1c51bdb5e .hs-lvl-card > .fl-col-content{background:rgba(9,26,48,.94)!important}}

/* hs-edr-ctabg : closing band gets photographic depth behind a heavy scrim */
body.hs-edr-page .fl-node-065574a7a1216 > .fl-row-content-wrap{
  background-color:#0B203B;
  background-image:linear-gradient(180deg,rgba(11,32,59,.95) 0%,rgba(11,32,59,.90) 50%,rgba(11,32,59,.95) 100%),url(https://housingshield.mosaiccollaborative.consulting/wp-content/uploads/2026/08/hs-edr-mediator.jpg);
  background-size:cover,cover;background-position:center center,center 30%;background-repeat:no-repeat,no-repeat}

/* ===== hs-edr-homealign : match the live homepage type treatment =====
   Homepage: H1 65/700, section H2 45/600 in #023769, sub-head 30/600, lead 20px,
   eyebrow 12px weight 400 with 1px tracking. This page had ink-black 42/700 headings,
   which read as a different site. */
body.hs-edr-page .fl-module-heading h1.fl-heading .fl-heading-text{font-size:clamp(38px,5vw,64px)!important;font-weight:700!important;line-height:1.06!important;letter-spacing:-.012em!important}
body.hs-edr-page .fl-row > .fl-row-content-wrap > .fl-row-content > .fl-col-group:first-child .fl-module-heading:has(h2.fl-heading) h2.fl-heading .fl-heading-text{font-size:clamp(31px,3.5vw,45px)!important;font-weight:600!important;line-height:1.12!important;letter-spacing:-.008em!important;color:#023769!important}
body.hs-edr-page .fl-col:not(.hs-lvl-card) > .fl-col-content > .fl-module-heading h3.fl-heading .fl-heading-text{font-size:clamp(23px,2.35vw,30px)!important;font-weight:600!important;line-height:1.18!important}

/* lead paragraph: the first body block under a section heading */
body.hs-edr-page .fl-module-heading:has(h2.fl-heading) + .fl-module-rich-text .fl-rich-text p:first-child{font-size:20px;line-height:1.62}

/* eyebrows: homepage sets these lighter and less tracked */
body.hs-edr-page .fl-rich-text p[style*="uppercase"],body.hs-edr-page .hs-case-role{font-weight:600}

/* hs-edr-cardguard : the section-heading rule also matches card titles that sit in the first
   column-group (the hero panel). Same-length prefix + the card class wins it back. */
body.hs-edr-page .fl-row > .fl-row-content-wrap > .fl-row-content > .fl-col-group:first-child .fl-col.hs-lvl-card .fl-module-heading h2.fl-heading .fl-heading-text{font-size:clamp(23px,2.25vw,29px)!important;font-weight:700!important;line-height:1.18!important;color:#0B203B!important}
body.hs-edr-page .fl-row > .fl-row-content-wrap > .fl-row-content > .fl-col-group:first-child .fl-col.hs-lvl-card .fl-module-heading h3.fl-heading .fl-heading-text{font-size:clamp(21px,2vw,26px)!important;font-weight:700!important;line-height:1.22!important;color:#0B203B!important}
/* dark-section card titles stay white */
body.hs-edr-page .fl-row.hs-dark > .fl-row-content-wrap > .fl-row-content > .fl-col-group:first-child .fl-col.hs-lvl-card .fl-module-heading h2.fl-heading .fl-heading-text,body.hs-edr-page .fl-row.hs-dark > .fl-row-content-wrap > .fl-row-content > .fl-col-group:first-child .fl-col.hs-lvl-card .fl-module-heading h3.fl-heading .fl-heading-text{color:#ffffff!important}
body.hs-edr-page .fl-row.hs-dark .fl-col.hs-lvl-card .fl-heading .fl-heading-text{color:#ffffff!important}

/* hs-edr-darkhead : the homepage-alignment rule sets section headings to #023769, which on the
   navy slabs is 1.37:1 - unreadable. Same prefix + .hs-dark outranks it. */
body.hs-edr-page .fl-row.hs-dark > .fl-row-content-wrap > .fl-row-content > .fl-col-group:first-child .fl-module-heading:has(h2.fl-heading) h2.fl-heading .fl-heading-text{color:#E3B23C!important}
body.hs-edr-page .fl-row.hs-dark .fl-col:not(.hs-lvl-card) .fl-module-heading h3.fl-heading .fl-heading-text{color:#E3B23C!important}

/* hs-step-card : five short journey steps. equal_height stretched the boxes and left the
   labels stranded at the top; centre the content and let the icon lead. */
body.hs-edr-page .hs-step-card > .fl-col-content{justify-content:center;text-align:center;padding-top:26px;padding-bottom:26px}
body.hs-edr-page .hs-step-card .hs-ico-badge{justify-content:center;margin-bottom:14px}
body.hs-edr-page .hs-step-card .fl-module:last-child{margin-top:0!important}
body.hs-edr-page .hs-step-card .fl-rich-text p{font-size:15px;line-height:1.4;margin:0}
@media (max-width:767px){body.hs-edr-page .hs-step-card > .fl-col-content{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:14px;padding:16px 18px;height:auto!important;min-height:0}body.hs-edr-page .hs-step-card .hs-ico-badge{margin:0;justify-content:flex-start}body.hs-edr-page .hs-step-card .fl-module{margin-bottom:0!important;flex:0 0 auto}body.hs-edr-page .hs-step-card .fl-module:last-child{flex:1 1 auto}}
@media (max-width:767px){body.hs-edr-page .hs-lvl-card > .fl-col-content{height:auto!important;min-height:0}}

/* hs-fill-photo : equal_height stretches the shorter card; a trailing photo pushed to the
   bottom fills the void instead of leaving dead white space. */
body.hs-edr-page .hs-lvl-card > .fl-col-content > .fl-module.hs-fill-photo{margin-top:auto!important}
body.hs-edr-page .hs-fill-photo .fl-photo,body.hs-edr-page .hs-fill-photo .fl-photo-content{display:block;width:100%}
body.hs-edr-page .hs-fill-photo img{width:100%;height:auto;display:block;border-radius:10px}
@media (max-width:767px){body.hs-edr-page .hs-fill-photo{margin-top:22px!important}}

/* hs-center-card : equal_height stretches every card to the tallest sibling. Where a card has no
   trailing CTA, centre its content vertically so the slack sits around it, not dumped underneath. */
body.hs-edr-page .hs-center-card > .fl-col-content{justify-content:center}
body.hs-edr-page .hs-center-card > .fl-col-content > .fl-module:last-child{margin-top:0!important}
.hs-edr-bar__tel{color:#fff;text-decoration:underline;text-underline-offset:3px}
.hs-edr-bar__tel:hover{color:#E3B23C}
@media (max-width:767px){.hs-edr-bar__text{font-size:13px}}

/* ===== hs-inline-link : make links buried in body copy visible =====
   Beaver rich-text links inherited body colour with no underline, so they were invisible.
   Colour is left to inherit so contrast holds on ANY background (53 modules set no colour and
   several use white on navy); the gold rule carries the link signal on both light and dark. */
.fl-builder-content .fl-rich-text a:not(.fl-button):not(.uabb-button):not([class*="-card"]):not(:has(img)):not(:has(h1)):not(:has(h2)):not(:has(h3)){
  color:inherit;font-weight:600;
  text-decoration:underline;text-decoration-color:#E3B23C;text-decoration-thickness:2px;text-underline-offset:3px;
  transition:text-decoration-color .15s ease,color .15s ease}
.fl-builder-content .fl-rich-text a:not(.fl-button):not(.uabb-button):not([class*="-card"]):not(:has(img)):not(:has(h1)):not(:has(h2)):not(:has(h3)):hover{text-decoration-color:currentColor}
.fl-builder-content .fl-rich-text a:not(.fl-button):not(.uabb-button):not([class*="-card"]):not(:has(img)):not(:has(h1)):not(:has(h2)):not(:has(h3)):focus-visible{outline:3px solid #0E6BA8;outline-offset:2px;border-radius:2px}

/* same treatment inside the testimonial editor field */
.fl-builder-content .uabb-text-editor a:not(.fl-button){color:inherit;font-weight:600;text-decoration:underline;text-decoration-color:#E3B23C;text-decoration-thickness:2px;text-underline-offset:3px}

/* hs-inline-link-exempt : the site footer is a link list, not prose. The inline-link rule carries
   seven :not() clauses and therefore high specificity, so the exemption needs !important. */
footer .fl-rich-text a,footer .fl-rich-text a:link,footer .fl-rich-text a:visited,
.fl-page-footer .fl-rich-text a,.footer-grid a,.footer-col a{
  font-weight:inherit!important;text-decoration:none!important}
footer .fl-rich-text a:hover,.fl-page-footer .fl-rich-text a:hover,.footer-grid a:hover,.footer-col a:hover{
  text-decoration:underline!important;text-decoration-color:currentColor!important;text-decoration-thickness:1px!important;text-underline-offset:3px}

/* ===== hs-size-contrast : widen the steps between tiers =====
   Badges were 46px against 12px eyebrows and 16-18px body - too close to read as separate tiers. */

/* icon badges up a tier */
body.hs-edr-page .hs-ico-badge .hs-ico{width:58px;height:58px}
body.hs-edr-page .hs-ico-badge .hs-ico svg{width:27px;height:27px}
body.hs-edr-page .hs-ico-badge{margin-bottom:18px}
@media (max-width:767px){body.hs-edr-page .hs-ico-badge .hs-ico{width:48px;height:48px}body.hs-edr-page .hs-ico-badge .hs-ico svg{width:23px;height:23px}}
/* the five journey steps stay compact - they sit five across */
body.hs-edr-page .hs-step-card .hs-ico-badge .hs-ico{width:50px;height:50px}
body.hs-edr-page .hs-step-card .hs-ico-badge .hs-ico svg{width:24px;height:24px}

/* resource card titles: 18px was below body size for a card heading */
body.hs-edr-page .hs-linkcard .fl-rich-text p{font-size:22px;line-height:1.25}
@media (max-width:767px){body.hs-edr-page .hs-linkcard .fl-rich-text p{font-size:20px}}

/* problem-section pull quotes read above body copy */
body.hs-edr-page .hs-quotecol .fl-rich-text p{font-size:19px;line-height:1.6}
@media (max-width:767px){body.hs-edr-page .hs-quotecol .fl-rich-text p{font-size:17.5px}}

/* hs-faq-focus : the accordion controls are div[role=button], so the page-wide a/.fl-button
   focus rule never reached them. They are keyboard-reachable via tabindex, so they need a ring. */
body.hs-edr-page .uabb-faq-questions-button:focus-visible,
body.hs-edr-page .uabb-faq-question-label:focus-visible{outline:3px solid #0E6BA8;outline-offset:2px;border-radius:4px}
body.hs-edr-page .uabb-faq-questions-button{cursor:pointer}

/* ===== hs-tap-targets =====
   1. The resource cards read as clickable (lift, arrow) but only the title text was the link,
      a 23px-tall target on mobile. Stretch it over the card - the same overlay pattern .hs-rung uses.
   2. Slider pager dots were a 10px hit area. Keep the 9px dot, widen what you can hit. */
body.hs-edr-page .hs-linkcard > .fl-col-content{position:relative}
body.hs-edr-page .hs-linkcard .fl-rich-text a::after{content:"";position:absolute;inset:0;z-index:2}
body.hs-edr-page .hs-linkcard .fl-rich-text a:focus-visible::after{outline:3px solid #0E6BA8;outline-offset:-3px;border-radius:10px}

.hs-quotewall .bx-pager-link{position:relative}
.hs-quotewall .bx-pager-link::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px}
.hs-quotewall .bx-pager .bx-pager-item{margin:0 3px}

/* ===== hs-prose-measure : rows are 1300px wide, which suits the card grids but pushes
   full-width paragraphs to 130-150 characters a line. Cap prose at a readable measure;
   centred blocks stay centred, left-aligned blocks stay on the column edge. */
.hs-prose .fl-rich-text p,.hs-prose .fl-rich-text li{max-width:60ch}
@media (max-width:1023px){.hs-prose .fl-rich-text p,.hs-prose .fl-rich-text li{max-width:none}}


/* hs-triage-width: /start/ shares the plain-page treatment with Terms and Privacy,
   whose 820px reading measure squeezes the results grid. Three caps had to lift:
   the theme .container (1020), .fl-post-content (820) and .hs-triage itself (900,
   auto-centred). Prose stays at the 820 reading measure and everything left aligns
   to one edge; only the results grid uses the full width. Scoped to page-id-2298 so
   Terms and Privacy keep their 820. */
.hs-plain-page.page-id-2298 .fl-page-content .container{width:92% !important;max-width:1300px !important}
.hs-plain-page.page-id-2298 .fl-post-header,
.hs-plain-page.page-id-2298 .fl-post-content{max-width:1300px}
.hs-plain-page.page-id-2298 .hs-triage{max-width:1300px;margin-left:0;margin-right:auto}
.hs-plain-page.page-id-2298 .fl-post-content > p.hs-lead,
.hs-plain-page.page-id-2298 .hs-triage-step{max-width:820px;margin-left:0;margin-right:auto}
/* end hs-triage-width */
/* Authored blocks carry an inline margin:0, which outranks a stylesheet rule - the capped
   paragraphs were therefore pinned left, each at a different width, so nothing shared a centre.
   Headings are no longer capped at all: they are short, so text-align alone centres them cleanly. */
.hs-prose .fl-rich-text p[style*="center"]{margin-left:auto!important;margin-right:auto!important}

/* hs-edr-flushcards : the resource cards are cloned from the support menu (hs-flush-card),
   whose photo bleeds to the card edge. Keep the page-level card rules off them. */
body.hs-edr-page .hs-flush-card > .fl-col-content{overflow:hidden;border-radius:12px}
body.hs-edr-page .hs-flush-card .fl-module-photo{margin:0}
body.hs-edr-page .hs-flush-card .fl-rich-text p{max-width:none}

/* ===== hs-cardrow : real flex gutters for equal-width card rows ===== */
body.hs-edr-page .fl-node-fcaa42e967df1{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:32px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-fcaa42e967df1 > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-fdddb7840a947{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:32px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-fdddb7840a947 > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-1d4b18765a21c{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:12px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-1d4b18765a21c > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-7591427fa940b{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:32px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-7591427fa940b > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-2e7452c5b7e70{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:32px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-2e7452c5b7e70 > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-a9195b1d78b7e{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:24px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-a9195b1d78b7e > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-844645f0b1ad7{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:32px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-844645f0b1ad7 > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-baf2765ff970a{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:32px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-baf2765ff970a > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-1b8780df8ff1e{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:32px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-1b8780df8ff1e > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-6856d146f851c{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:20px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-6856d146f851c > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
body.hs-edr-page .fl-node-0b25ef91f54e5{display:flex!important;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:32px;margin-left:0!important;margin-right:0!important;padding-left:0;padding-right:0}
body.hs-edr-page .fl-node-0b25ef91f54e5 > .fl-col{width:auto!important;flex:1 1 0!important;min-width:0;margin-left:0!important;margin-right:0!important;float:none;max-width:none!important}
@media (max-width:900px){body.hs-edr-page .fl-node-fcaa42e967df1,body.hs-edr-page .fl-node-fdddb7840a947,body.hs-edr-page .fl-node-1d4b18765a21c,body.hs-edr-page .fl-node-7591427fa940b,body.hs-edr-page .fl-node-2e7452c5b7e70,body.hs-edr-page .fl-node-a9195b1d78b7e,body.hs-edr-page .fl-node-844645f0b1ad7,body.hs-edr-page .fl-node-baf2765ff970a,body.hs-edr-page .fl-node-1b8780df8ff1e,body.hs-edr-page .fl-node-6856d146f851c,body.hs-edr-page .fl-node-0b25ef91f54e5{gap:20px}}
@media (max-width:767px){body.hs-edr-page .fl-node-fcaa42e967df1,body.hs-edr-page .fl-node-fdddb7840a947,body.hs-edr-page .fl-node-1d4b18765a21c,body.hs-edr-page .fl-node-7591427fa940b,body.hs-edr-page .fl-node-2e7452c5b7e70,body.hs-edr-page .fl-node-a9195b1d78b7e,body.hs-edr-page .fl-node-844645f0b1ad7,body.hs-edr-page .fl-node-baf2765ff970a,body.hs-edr-page .fl-node-1b8780df8ff1e,body.hs-edr-page .fl-node-6856d146f851c,body.hs-edr-page .fl-node-0b25ef91f54e5{flex-direction:column;gap:16px}body.hs-edr-page .fl-node-fcaa42e967df1 > .fl-col,body.hs-edr-page .fl-node-fdddb7840a947 > .fl-col,body.hs-edr-page .fl-node-1d4b18765a21c > .fl-col,body.hs-edr-page .fl-node-7591427fa940b > .fl-col,body.hs-edr-page .fl-node-2e7452c5b7e70 > .fl-col,body.hs-edr-page .fl-node-a9195b1d78b7e > .fl-col,body.hs-edr-page .fl-node-844645f0b1ad7 > .fl-col,body.hs-edr-page .fl-node-baf2765ff970a > .fl-col,body.hs-edr-page .fl-node-1b8780df8ff1e > .fl-col,body.hs-edr-page .fl-node-6856d146f851c > .fl-col,body.hs-edr-page .fl-node-0b25ef91f54e5 > .fl-col{flex:0 0 auto!important;width:100%!important;height:auto!important}}
/* hs-cardrow-pseudo: clearfix pseudos become flex items and inherit the gap */
body.hs-edr-page .fl-node-fcaa42e967df1::before,body.hs-edr-page .fl-node-fcaa42e967df1::after,body.hs-edr-page .fl-node-fdddb7840a947::before,body.hs-edr-page .fl-node-fdddb7840a947::after,body.hs-edr-page .fl-node-1d4b18765a21c::before,body.hs-edr-page .fl-node-1d4b18765a21c::after,body.hs-edr-page .fl-node-7591427fa940b::before,body.hs-edr-page .fl-node-7591427fa940b::after,body.hs-edr-page .fl-node-2e7452c5b7e70::before,body.hs-edr-page .fl-node-2e7452c5b7e70::after,body.hs-edr-page .fl-node-a9195b1d78b7e::before,body.hs-edr-page .fl-node-a9195b1d78b7e::after,body.hs-edr-page .fl-node-844645f0b1ad7::before,body.hs-edr-page .fl-node-844645f0b1ad7::after,body.hs-edr-page .fl-node-baf2765ff970a::before,body.hs-edr-page .fl-node-baf2765ff970a::after,body.hs-edr-page .fl-node-1b8780df8ff1e::before,body.hs-edr-page .fl-node-1b8780df8ff1e::after,body.hs-edr-page .fl-node-6856d146f851c::before,body.hs-edr-page .fl-node-6856d146f851c::after,body.hs-edr-page .fl-node-0b25ef91f54e5::before,body.hs-edr-page .fl-node-0b25ef91f54e5::after{display:none!important}

/* hs-edr-resourcerow : match the support menu - three across, the fourth wrapping.
   The generic card-row rule spreads columns with flex:1 1 0, which would force all four
   onto one row at ~310px and crush the copy. */
body.hs-edr-page .fl-node-6856d146f851c{gap:24px}
body.hs-edr-page .fl-node-6856d146f851c > .fl-col{flex:0 0 calc(33.333% - 16px)!important;max-width:calc(33.333% - 16px)!important}
@media (max-width:1023px){body.hs-edr-page .fl-node-6856d146f851c > .fl-col{flex:0 0 calc(50% - 12px)!important;max-width:calc(50% - 12px)!important}}
@media (max-width:767px){body.hs-edr-page .fl-node-6856d146f851c > .fl-col{flex:0 0 auto!important;max-width:100%!important;width:100%!important}}

/* ===== hs-edr-rhythm : one spacing step where a card grid meets prose =====
   Gaps were coming from three competing rules and landing on 0 / 10 / 34 / 44px.
   A grid is separated from the text above and below it by 40px; everything else
   is spaced by its own module margins. */
body.hs-edr-page .fl-col-group:has(> .fl-col.hs-lvl-card) + .fl-col-group,
body.hs-edr-page .fl-col-group:has(> .fl-col.hs-flush-card) + .fl-col-group{margin-top:40px}
body.hs-edr-page .fl-col-group + .fl-col-group:has(> .fl-col.hs-lvl-card),
body.hs-edr-page .fl-col-group + .fl-col-group:has(> .fl-col.hs-flush-card){margin-top:40px}
@media (max-width:767px){
  body.hs-edr-page .fl-col-group:has(> .fl-col.hs-lvl-card) + .fl-col-group,
  body.hs-edr-page .fl-col-group:has(> .fl-col.hs-flush-card) + .fl-col-group,
  body.hs-edr-page .fl-col-group + .fl-col-group:has(> .fl-col.hs-lvl-card),
  body.hs-edr-page .fl-col-group + .fl-col-group:has(> .fl-col.hs-flush-card){margin-top:28px}
}

/* hs-cardtitle : where a short label is the ONLY thing naming a card, it is the
   card's title, not an eyebrow. Promotes it to the heading role so the reader
   knows what they are looking at before reading the body copy. Cards that carry
   their own name (case studies) keep the small eyebrow. */
body.hs-edr-page .hs-cardtitle .fl-rich-text,
body.hs-edr-page .hs-cardtitle .fl-rich-text p{font-family:"EB Garamond",Georgia,serif !important;font-weight:600 !important;font-size:24px !important;line-height:1.25 !important;letter-spacing:-.005em !important;text-transform:none !important;color:#041020 !important}
@media (max-width:1023px){body.hs-edr-page .hs-cardtitle .fl-rich-text p{font-size:22px !important}}
@media (max-width:767px){body.hs-edr-page .hs-cardtitle .fl-rich-text p{font-size:21px !important}}

/* hs-price : the figure stays dominant but sits closer to its tier name */
body.hs-edr-page .hs-price .fl-rich-text p{font-size:44px !important;line-height:1 !important}
@media (max-width:767px){body.hs-edr-page .hs-price .fl-rich-text p{font-size:38px !important}}

/* hs-journey : the five items under 'The Office of Options' are one path, not five
   parallel cards. As boxes they read as unrelated options, ~47% of every box was empty,
   and because each box centred its own content the icons landed at five different
   heights (65/65/54/65/75px). Drop the chrome, sit the icons on one connecting line,
   put every label on a single baseline, and fill the last node: the path ends somewhere. */
@media (min-width:768px){
  body.hs-edr-page .fl-col-group:has(> .fl-col.hs-step-card){overflow:visible}
  body.hs-edr-page .fl-col.hs-step-card{position:relative;overflow:visible}
  body.hs-edr-page .hs-step-card > .fl-col-content{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0 10px!important;height:auto!important;min-height:0!important;justify-content:flex-start!important;overflow:visible}
  body.hs-edr-page .hs-step-card .fl-module-content{margin-top:0!important;margin-bottom:0!important}
  body.hs-edr-page .hs-step-card .hs-ico-badge{margin:0 0 16px!important}
  body.hs-edr-page .hs-step-card .hs-ico-badge .hs-ico{background:#0B203B;border-color:rgba(227,178,60,.42);color:#E3B23C}
  body.hs-edr-page .hs-step-card:last-child .hs-ico-badge .hs-ico{background:#E3B23C;border-color:#E3B23C;color:#0B203B}
  body.hs-edr-page .hs-step-card .fl-rich-text p{font-size:15.5px!important;line-height:1.45!important;color:rgba(255,255,255,.95)!important}
  /* one segment per gap, drawn on the column box so it is independent of gutter width */
  body.hs-edr-page .hs-step-card .hs-ico-badge{position:relative}
  body.hs-edr-page .hs-step-card:not(:last-child) .hs-ico-badge::after{content:"";position:absolute;top:50%;left:calc(50% + 31px);width:calc(100% + 21px);height:1px;margin-top:-.5px;background:rgba(227,178,60,.30);pointer-events:none;z-index:0}
}

/* hs-flushcard-height : Beaver's equal-height script writes a fixed px height onto each
   .fl-col. On the resource grid it measured before the lazy-loaded card photos settled,
   so all four cards were pinned to 429px around 361px of content - 68px of dead space in
   every card, and a value that varies with load timing. Drop the JS height and let flex
   align-items:stretch equalise each wrapped line instead, which is timing-independent. */
body.hs-edr-page .fl-col-group:has(> .fl-col.hs-flush-card){height:auto!important;align-content:flex-start}
body.hs-edr-page .fl-col.hs-flush-card{height:auto!important}
body.hs-edr-page .hs-flush-card > .fl-col-content{height:auto!important}

/* hs-hl / hs-onblue : the on-dark light blue (#A8C7DE). Both need !important and enough
   specificity to clear two blanket rules - Beaver's per-node '.fl-heading-text *' colour,
   and the hs-dark rule that forces every h3 on a navy row to gold. */
body.hs-edr-page .hs-hl{color:#A8C7DE!important}
body.hs-edr-page .fl-row.hs-dark .fl-col .fl-module-heading.hs-onblue h3.fl-heading .fl-heading-text.fl-heading-text,
body.hs-edr-page .hs-onblue .fl-heading-text{color:#A8C7DE!important}

/* hs-evenhead : in the 4-step strip and the 3 support options, a title that wraps to two
   lines pushed its own body copy 36px below the bodies beside it. Reserve two lines of
   title space so every body in the row starts on the same baseline. Desktop only - the
   columns stack on mobile, where there is nothing to align to. */
@media (min-width:1024px){
  body.hs-edr-page .hs-evenhead .fl-heading{min-height:71px}
}
/* 768-1023: the columns are only ~206px wide, so the same titles run to three and four
   lines. Reserve per group, measured at the worst point in the band. */
@media (min-width:768px) and (max-width:1023px){
  body.hs-edr-page .hs-evenhead .fl-heading{min-height:82px}
  body.hs-edr-page .hs-evenhead-steps .fl-heading{min-height:109px}
}


/* hs-refund-note: short refund disclosure sitting directly above the purchase
   buttons on the product page, cart and checkout. Quiet by design, it has to be
   readable without competing with the buy button. */
.hs-refund-note{font-family:Poppins,sans-serif;font-size:13px;line-height:1.55;color:#5C6E82;background:#F8F9FB;border:1px solid #E3E9F0;border-left:3px solid #0E6BA8;border-radius:0 8px 8px 0;padding:10px 14px;margin:0 0 14px}
.hs-refund-note a{color:#0E6BA8;text-decoration:underline}
.hs-buybox .hs-refund-note{margin-top:4px}
/* end hs-refund-note */


/* hs-watch ---------------------------------------------------------------
   Gated streaming pages. Buyers land here from the order email instead of
   pulling down a 300MB file. Design tokens only: ink #041020, muted #5C6E82,
   blue #0E6BA8, navy #0B203B, line #E3E9F0, gold #E3B23C, pale #F8F9FB. */

/* the watch page uses the plain-page shell, whose 820px reading measure is too
   narrow for a video grid. Same treatment as /start/, scoped to this page. */
.hs-plain-page.page-id-2407 .fl-page-content .container{width:92% !important;max-width:1180px !important}
.hs-plain-page.page-id-2407 .fl-post-header,
.hs-plain-page.page-id-2407 .fl-post-content{max-width:1180px}
.hs-plain-page.page-id-2407 .fl-post-content > p.hs-lead,
.hs-plain-page.page-id-2407 .hs-watch-lib > .hs-lead{max-width:760px;margin-left:0;margin-right:auto}

/* library grid */
.hs-watch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:26px}
.hs-watch-card{display:block;text-decoration:none;background:#fff;border:1px solid #E3E9F0;border-radius:12px;overflow:hidden;
  box-shadow:0 1px 2px rgba(4,16,32,.06),0 2px 8px rgba(4,16,32,.05);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.hs-watch-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(4,16,32,.11);border-color:#65A0C7}
.hs-watch-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;
  background:linear-gradient(150deg,#123A5E,#041020);background-size:cover;background-position:center}
.hs-watch-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,16,32,0) 45%,rgba(4,16,32,.55) 100%)}
.hs-watch-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.94);
  box-shadow:0 4px 16px rgba(4,16,32,.28);transition:transform .18s ease}
.hs-watch-play:before{content:"";position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);
  border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #0B203B}
.hs-watch-card:hover .hs-watch-play{transform:translate(-50%,-50%) scale(1.08)}
.hs-watch-meta{display:block;padding:16px 18px 20px}
.hs-watch-kind{display:block;font-family:Poppins,sans-serif;font-size:11px;letter-spacing:1.43px;
  text-transform:uppercase;font-weight:800;color:#0E6BA8;margin-bottom:6px}
.hs-watch-name{display:block;font-family:"EB Garamond",Georgia,serif;font-size:21px;line-height:1.25;
  font-weight:700;color:#041020}
.hs-watch-card.is-pending{opacity:.72}
.hs-watch-card.is-pending .hs-watch-kind{color:#8A6A18}
.hs-watch-card.is-pending .hs-watch-play{display:none}

/* single player */
.hs-watch-back{display:inline-block;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;
  color:#0E6BA8;text-decoration:none;margin-bottom:14px}
.hs-watch-back:before{content:"\2190";margin-right:7px}
.hs-watch-back:hover{text-decoration:underline}
.hs-watch-title{font-family:"EB Garamond",Georgia,serif;font-size:34px;line-height:1.12;color:#041020;margin:0 0 20px}
.hs-watch-frame{position:relative;width:100%;aspect-ratio:16/9;background:#041020;border-radius:14px;overflow:hidden;
  box-shadow:0 10px 34px rgba(4,16,32,.18)}
.hs-watch-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hs-watch-note{font-family:Poppins,sans-serif;font-size:13.5px;color:#5C6E82;margin-top:14px}
.hs-watch-pending{background:#FBF1D8;border:1px solid #E8D9A8;border-left:3px solid #E3B23C;border-radius:0 10px 10px 0;padding:20px 24px}
.hs-watch-pending p{font-family:Poppins,sans-serif;font-size:15px;line-height:1.6;color:#3A4C61;margin:0 0 8px}
.hs-watch-pending p:last-child{margin-bottom:0}

/* no access */
.hs-watch-empty{background:#fff;border:1px solid #E3E9F0;border-radius:12px;padding:34px 32px;max-width:620px}
.hs-watch-empty h2{font-family:"EB Garamond",Georgia,serif;font-size:27px;color:#041020;margin:0 0 12px}
.hs-watch-empty p{font-family:Poppins,sans-serif;font-size:15px;line-height:1.65;color:#3A4C61;margin:0 0 16px}
.hs-watch-btn{display:inline-block;background:#E3B23C;color:#041020;font-family:Poppins,sans-serif;font-size:15px;
  font-weight:600;text-decoration:none;padding:12px 22px;border-radius:8px;transition:background .16s ease}
.hs-watch-btn:hover{background:#C99B2E;color:#041020}

/* call-out on the order received / account order pages */
.hs-watch-callout{background:#F8F9FB;border:1px solid #E3E9F0;border-left:3px solid #0E6BA8;
  border-radius:0 10px 10px 0;padding:22px 24px;margin:0 0 26px}
.hs-watch-callout-h{font-family:Poppins,sans-serif;font-size:16px;font-weight:600;color:#041020;margin:0 0 8px}
.hs-watch-callout p{font-family:Poppins,sans-serif;font-size:14.5px;line-height:1.6;color:#3A4C61;margin:0 0 14px}
.hs-watch-callout p:last-child{margin-bottom:0}

@media (max-width:600px){
  .hs-watch-grid{grid-template-columns:1fr;gap:18px}
  .hs-watch-title{font-size:27px}
  .hs-watch-play{width:48px;height:48px}
}
/* end hs-watch */

/* hs-watch-nolink: the plain-page treatment underlines every link in post
   content, which is right for prose and wrong for cards and buttons. */
.hs-plain-page .fl-post-content a.hs-watch-card,
.hs-plain-page .fl-post-content a.hs-watch-btn,
.hs-plain-page .fl-post-content a.hs-watch-back{text-decoration:none}
.hs-plain-page .fl-post-content a.hs-watch-back:hover{text-decoration:underline}
/* end hs-watch-nolink */
