/* Shared templates for the complete imported site. */
.rollout-hero { background: var(--cream); border-bottom: 1px solid var(--line); }
.rollout-hero__inner { max-width: 1280px; margin: auto; padding: 68px 40px 64px; }
.rollout-hero .eyebrow { margin-bottom: 24px; }
.rollout-hero h1 { font: 500 clamp(40px,4.6vw,68px)/1.08 var(--serif); letter-spacing: -.045em; max-width: 1080px; margin: 0; text-wrap: balance; }
.rollout-hero h1 :where(span,strong,b,a) { font: inherit; color: inherit; text-decoration: none; }
.rollout-hero h1 br { display: none; }
.rollout-body { max-width: 1280px; margin: 0 auto; padding: 60px 40px; }
.rollout-body--information { max-width: 1080px; }
.rollout-lede { font: 400 20px/1.8 var(--sans); margin-bottom: 30px; }
.imported-content { min-width: 0; font: 400 17px/1.85 var(--sans); color: #262721; overflow-wrap: break-word; }
.imported-content :where(div,section,article,aside,header,footer) { min-width: 0; max-width: 100%; }
.imported-content :where(p,ul,ol,dl,blockquote) { margin-block: 0 24px; }
.imported-content :where(h1,h2,h3,h4,h5,h6):not(.promotion__label):not(.newsletter-card__title) { font-family: 'Fraunces',Georgia,serif !important; font-weight: 500 !important; line-height: 1.22 !important; letter-spacing: -.025em !important; color: #262721 !important; text-transform: none !important; text-wrap: balance; margin-block: 40px 20px; }
.imported-content :where(h1,h2):not(.newsletter-card__title) { font-size: 34px !important; }
.imported-content h3:not(.promotion__label) { font-size: 27px !important; }
.imported-content :where(h4,h5,h6) { font-size: 21px !important; }
.imported-content :where(p,li,td,th,blockquote) { line-height: 1.85; }
.imported-content :where(a) { text-underline-offset: 4px; }
.imported-content :where(a:hover) { color: var(--red); }
.imported-content :where(img) { max-width: 100%; height: auto; object-fit: contain; }
.imported-content :where(iframe,video,canvas) { max-width: 100%; }
.imported-content iframe { display: block; border: 0; }
.imported-content :where([id^=interact-],[data-tf-live],.calendly-inline-widget) { width: 100%; max-width: 100%; }
.imported-content .calendly-inline-widget { min-width: 0 !important; height: 760px; }
.imported-content :where([id],[name]) { scroll-margin-top: 120px; }
.imported-content blockquote { padding: 20px 26px; border-left: 3px solid var(--red); font-size: 21px; }
.imported-content table { width: 100%; border-collapse: collapse; margin-block: 30px; font-size: 14px; }
.imported-content :where(th,td) { padding: 12px 15px; border: 1px solid var(--line); text-align: left; }
.imported-content th { background: var(--cream); }
.imported-content details { border-block: 1px solid var(--line); padding: 18px 0; }
.imported-content summary { font-weight: 600; cursor: pointer; }
.imported-content :where(button,.button,.btn) { font-family: var(--sans); }
.imported-content :where(.btn-primary,.btn--primary,.cta-button,.ec-btn--primary) { background: var(--red); color: white; }
.imported-content a.rollout-action { display: inline-flex; justify-content: center; align-items: center; padding: 15px 24px; background: #a50030; border: 1px solid #a50030; color: white !important; font: 500 13px/1.5 var(--sans); text-decoration: none; border-radius: 0; }
.imported-content a.rollout-action:hover { background: #790025; }
.imported-content [class*=eyebrow] { font: 600 10px/1.6 var(--sans); color: #a50030; text-transform: uppercase; letter-spacing: .12em; }
.imported-content .ec-hero-sub { font: 500 32px/1.25 var(--serif); max-width: none !important; }
.imported-content .rollout-repeated-title { display: none !important; }
.imported-content :where([class*=stat-number],[class*=stat-value],[class*=stat-num],[class*=metric-value],.finding-number,.big-number,.stat .big,.compare .pct) { display: block; font: 500 48px/1.12 var(--serif); color: var(--red); letter-spacing: -.04em; margin-bottom: 12px; }
.imported-content :where(.stat-card,.finding-card,.ec-card) { border: 1px solid var(--line); padding: 24px; }
.rollout-assessment { margin: 20px 0 35px; }
.rollout-assessment iframe { width: 100%; max-width: 100%; }
.imported-content .hide { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.imported-content .inner { padding: 0 !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.imported-content :where(.blog-wrap,.blog-main,.blog-sub,.article,.article-content,.rte) { float: none; width: auto; margin: 0; padding: 0; }
.imported-content .blog-sub { border-top: 1px solid var(--line); margin-top: 50px; padding-top: 25px; }
.imported-content .blog-sub ul { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 30px; padding: 0; list-style: none; }
.imported-content .blog-sub li { font-size: 14px; margin: 0; }
.imported-content .blog-sub :where(.date,time) { display: block; color: var(--muted); font-size: 11px; }
.imported-content :where(.social-article,.article-nav) { display: flex; flex-wrap: wrap; gap: 20px; padding: 25px 0; border-top: 1px solid var(--line); font-size: 13px; }
.imported-content :where(.shell,.study-container,.container,.main-content,.liq-content) { max-width: 100%; margin-inline: 0; padding-inline: 0; }
.rollout-editorial .imported-content :where(.shell,.layout,.study-container) { display: block; }
.rollout-editorial .imported-content :where(.toc,nav.toc,.sidebar) { position: static; max-height: none; width: auto; margin-bottom: 30px; }
.rollout-editorial .imported-content :where(.toc) { padding: 24px; border: 1px solid var(--line); }
.rollout-editorial .imported-content :where(.hero,header.hero,.article-header,.study-header) { padding: 0 0 24px; margin: 0; }
.imported-content #relatedblogs { margin-top: 50px; }
.imported-content #relatedblogs .rb_blog-grid { float: none; width: 100%; margin: 0; padding: 20px 0; border-top: 1px solid var(--line); }
.imported-content .promotion { max-width: 100%; clear: both; }
.imported-content .promotion :where(p,a,h3) { color: white; }
.imported-content .promotion .promotion__label { margin: 0 0 16px; }
.imported-content .promotion .promotion__title { margin: 0 0 10px; }
.imported-content .promotion .promotion__description { margin: 0; }
.rollout-body .imported-content :where(.ec-page,.hfa-tk,.cs-svc,.liq-page) { font-family: var(--sans); color: #262721; }
/* Preserve custom grids and charts, with white content surfaces and common type. */
.rollout-body .imported-content :where(section,header,footer) { background-color: white; }
.rollout-body .imported-content :where(section,header,footer) :where(p,li) { color: #44453f; }
.rollout-body .imported-content :where(section,header,footer) .promotion p { color: white; }
.rollout-body .imported-content :where(.ec-hero,.hero,.hfa-hero) { padding-top: 0; }
.rollout-body--product .imported-content [id^=prod-] { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 60px; align-items: start; }
.rollout-body--product #product-images { position: sticky; top: 125px; }
.rollout-body--product #product-shot { display: block; position: relative; }
.rollout-body--product #product-shot>img { display: block; width: 100%; max-height: 540px; }
.rollout-body--product #more-images { display: flex; gap: 15px; margin-top: 20px; }
.rollout-body--product #more-images img { max-width: 80px; max-height: 90px; }
.rollout-body--product .product-price-wrap { margin-bottom: 25px; font-size: 24px; }
.rollout-body--product .product-compare-price { color: var(--muted); font-size: 16px; }
.rollout-body--product .sale { display: inline-block; color: var(--red); font-size: 12px; }
.rollout-body--product #product-description { margin-top: 30px; }
.rollout-body--collection .collection-th { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 32px; padding: 0; list-style: none; }
.rollout-body--collection .collection-th>li { margin: 0; padding: 0 0 25px; border-bottom: 1px solid var(--line); }
.rollout-body--collection .collection-th img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.rollout-body--collection .collection-th a { text-decoration: none; }
.rollout-body--collection .collection-th :where(h2,h3) { font-size: 25px !important; margin: 20px 0 12px; }
.rollout-body--collection .collection-th .price { color: var(--muted); font-size: 14px; }
.rollout-body--collection .product-title { display: block; font: 500 25px/1.3 var(--serif); margin: 22px 0 14px; }
.rollout-body--collection .price { display: block; }
.rollout-body--collection .sale { display: inline-block; margin-top: 10px; font: 600 10px var(--sans); letter-spacing: .08em; color: var(--red); }
.imported-content .paginate { display: flex; flex-wrap: wrap; gap: 15px; margin: 35px 0; }
.utility-hero { background: var(--cream); padding: 65px max(32px,calc((100% - 1200px)/2)); }
.utility-hero h1 { font-size: clamp(40px,5vw,68px); max-width: 1000px; }
.utility-body { max-width: 1200px; margin: auto; padding: 45px 32px 75px; }
.utility-search { display: grid; grid-template-columns: 1fr 220px; gap: 20px; margin-bottom: 25px; }
.utility-search label { display: block; font-size: 12px; margin-bottom: 8px; }
.utility-search :where(input,select) { width: 100%; padding: 14px; border: 1px solid #aaa99f; font: 16px var(--sans); background: #fff; color: var(--ink); }
.utility-count { color: var(--muted); font-size: 13px; }
.utility-results { padding: 0; list-style: none; }
.utility-results li { padding: 25px 0; border-top: 1px solid var(--line); margin: 0; }
.utility-results li>a { font: 500 25px/1.3 var(--serif); text-decoration: none; }
.utility-results :where(p,small) { display: block; color: var(--muted); font-size: 13px; margin: 10px 0 0; overflow-wrap: anywhere; }
.utility-results .result-kind { display: block; font: 600 10px var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--red); margin-bottom: 10px; }
.review-all-pages { margin: 45px 0; display: inline-flex; }
@media(max-width:900px) {
  .rollout-hero__inner { padding: 45px 24px; }
  .rollout-body { padding: 40px 24px; }
  .rollout-body--product .imported-content [id^=prod-] { grid-template-columns: 1fr; gap: 35px; }
  .rollout-body--product #product-images { position: static; max-width: 440px; margin: auto; }
  .rollout-body--collection .collection-th { grid-template-columns: 1fr 1fr; gap: 30px 24px; }
  .imported-content :where(.ec-hero__grid,.hfa-grid,.hfa-hero-grid,.grid-2,.two-col,.cs-svc-hero-grid) { grid-template-columns: minmax(0,1fr) !important; }
}
@media(max-width:520px) {
  .rollout-hero__inner { padding: 38px 20px; }
  .rollout-hero h1 { font-size: 40px; line-height: 1.12; letter-spacing: -.035em; }
  .rollout-hero .eyebrow { font-size: 9px !important; line-height: 1.7; }
  .rollout-body { padding: 35px 20px; }
  .rollout-lede { font-size: 18px; }
  .imported-content { font-size: 17px; }
  .imported-content :where(h1,h2):not(.newsletter-card__title) { font-size: 29px !important; }
  .imported-content h3:not(.promotion__label) { font-size: 24px !important; }
  .imported-content :where([class*=stat-number],[class*=stat-value],[class*=stat-num],[class*=metric-value],.finding-number,.big-number,.stat .big,.compare .pct) { font-size: 36px; }
  .imported-content :where(th,td) { padding: 8px; }
  .imported-content table { display: block; overflow-x: auto; }
  .imported-content .blog-sub ul { grid-template-columns: 1fr; }
  .rollout-body--collection .collection-th { grid-template-columns: 1fr; }
  .utility-hero { padding: 40px 20px; }
  .utility-body { padding: 30px 20px 50px; }
  .utility-search { grid-template-columns: 1fr; gap: 16px; }
}

.legacy-product-purchase{max-width:1120px;margin:2rem auto 4rem;padding:2rem;background:#f5f1e8;border-radius:16px}.legacy-product-purchase h2{margin-top:0}.legacy-product-purchase a{margin-right:1.5rem}@media(max-width:600px){.legacy-product-purchase{margin:1rem;padding:1.5rem}.legacy-product-purchase a{display:block;margin-top:1rem}}
