/* Full-site QA repairs: editorial, search, author, marketing and commerce */
.article-detail { background: var(--rex-paper); }
.article-shell { width: min(900px, calc(100vw - 40px)); margin: 0 auto; }
.article-hero { padding: clamp(38px, 4.5vw, 68px) 0 26px; background: #fff; border-bottom: 1px solid var(--rex-line); }
.article-hero h1 { max-width: 880px; margin: 20px 0 0; color: var(--rex-ink); font-size: clamp(46px, 6vw, 82px); line-height: .98; letter-spacing: -.055em; }
.article-deck { max-width: 700px; margin: 28px 0 0; color: var(--rex-ink-soft); font-size: clamp(18px, 2vw, 23px); line-height: 1.5; }
.article-byline { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 30px; color: var(--rex-muted); font-size: 13px; }
.article-byline a { color: var(--rex-blue); text-decoration: none; font-weight: 700; }
.article-share-bar { margin-top: 28px; margin-bottom: 13px; }
.article-featured-image { width: min(1120px, calc(100vw - 40px)); margin: 32px auto 0; }
.article-featured-image img { display: block; width: 100%; height: auto; max-height: 680px; object-fit: cover; }
.article-content-area { padding: 72px 0 110px; }
.article-content-area .article-body-column { width: min(760px, calc(100vw - 40px)); margin-left: auto !important; margin-right: auto !important; color: #334155; font-size: 18px; line-height: 1.78; }
.article-body-column > .single-meta,
.article-body-column > .single-cats,
.article-body-column > p:empty { display: none; }
.article-body-column p { margin: 0 0 28px; }
.article-body-column h2 { margin: 72px 0 22px; color: var(--rex-ink); font-size: clamp(34px, 4vw, 52px); line-height: 1.08; letter-spacing: -.035em; }
.article-body-column h3 { margin: 56px 0 20px; color: var(--rex-ink); font-size: clamp(27px, 3vw, 36px); line-height: 1.15; }
.article-body-column figure { width: min(1040px, calc(100vw - 40px)); max-width: none; margin: 48px 50%; transform: translateX(-50%); }
.article-body-column figure.article-inline-app-image { width: min(392px, calc(100vw - 40px)); max-width: 392px; margin: 36px auto; transform: none; text-align: center; }
.article-body-column figure.article-inline-app-image img { display: block; width: 100%; height: auto; }
.article-body-column figure.article-inline-app-image figcaption { margin-top: 5px; text-align: center; text-wrap: pretty; }
.article-body-column p { text-wrap: pretty; }
.article-body-column .epyt-video-wrapper { border-radius: 2px; overflow: hidden; }
.video-subscription { display: flex; flex-flow: row nowrap; align-items: center; width: 100%; margin-top: 16px; overflow-x: auto; }
.video-subscription .g-ytsubscribe { flex: 0 0 auto; }
.article-body-column .video-subscription-break { display: block; margin: 0 0 28px; }
.article-body-column a { color: var(--rex-blue); text-underline-offset: 3px; overflow-wrap: anywhere; word-break: break-word; }

/* Pillar archive spacing contract: centered hero and a consistent 24px minimum gutter. */
.articles-page .platform-wrap { width: min(1120px, calc(100% - 48px)); }
.articles-hero .platform-kicker { text-align: center; }

.search-platform-hero { padding: clamp(76px, 9vw, 126px) 0 68px; background: #fff; border-bottom: 1px solid var(--rex-line); }
.search-platform-hero h1 { margin: 18px 0 0; font-size: clamp(52px, 7vw, 92px); line-height: 1; letter-spacing: -.055em; }
.search-platform-hero > .platform-wrap > p:not(.platform-kicker) { max-width: 650px; margin: 24px 0 0; color: var(--rex-muted); font-size: 18px; }
.search-page-form { display: grid; grid-template-columns: 1fr auto; max-width: 820px; margin-top: 42px; }
.search-page-form input { min-width: 0; height: 60px; padding: 0 20px; border: 1px solid var(--rex-line); border-right: 0; background: var(--rex-paper); color: var(--rex-ink); font: inherit; }
.search-page-form button { min-width: 130px; border: 0; background: var(--rex-blue); color: #fff; font-weight: 800; }
.search-results-section { min-height: 360px; padding: 70px 0 100px; }
.search-results-heading p, .search-suggestions > p, .search-empty-state > p { color: var(--rex-muted); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.search-results-heading h2, .search-empty-state h2 { margin: 8px 0 36px; font-size: clamp(34px, 4vw, 54px); }
.search-result-card { display: grid; grid-template-columns: 46px 180px minmax(0, 1fr) auto; gap: 24px; align-items: start; padding: 28px 0; border-top: 1px solid var(--rex-line); }
.search-result-card > span { color: var(--rex-muted); font-size: 12px; }
.search-result-image { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #e2dbd0; text-decoration: none; }
.search-result-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.search-result-image-placeholder { display: grid; height: 100%; place-items: center; color: #746451; font-family: Georgia, serif; font-size: 15px; }
.search-result-card h2 { margin: 5px 0; font-size: 24px; }
.search-result-card h2 a { color: var(--rex-ink); text-decoration: none; }
.search-result-copy > p { margin: 0; color: var(--rex-muted); }
.search-result-card > .search-result-open { color: var(--rex-blue); font-size: 22px; text-decoration: none; }
.search-suggestions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.search-suggestions p { width: 100%; }
.search-suggestions a, .search-empty-state a { padding: 12px 18px; border: 1px solid var(--rex-line); color: var(--rex-ink); text-decoration: none; background: #fff; }

.author-platform-hero { padding: clamp(76px, 9vw, 126px) 0 68px; background: #fff; border-bottom: 1px solid var(--rex-line); }
.author-platform-grid { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.author-platform-grid h1 { margin: 18px 0 0; font-size: clamp(52px, 7vw, 92px); line-height: 1; letter-spacing: -.055em; }
.author-platform-grid p:not(.platform-kicker) { max-width: 650px; margin: 22px 0 0; color: var(--rex-muted); font-size: 18px; }
.author-platform-grid img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; filter: grayscale(1); }
.author-articles { padding-bottom: 110px; }

.page-about .page-title-header,
.page-services .page-title-header,
.page-ai-systems .page-title-header,
.page-web-design .page-title-header,
.page-contact .page-title-header { display: none; }
.page-about .generic-page-content .ast-article-single,
.page-services .generic-page-content .ast-article-single,
.page-ai-systems .generic-page-content .ast-article-single,
.page-web-design .generic-page-content .ast-article-single,
.page-contact .generic-page-content .ast-article-single { padding-top: 0; }
.rc-card-grid a.rc-card { color: inherit; text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.rc-card-grid a.rc-card:hover { transform: translateY(-4px); border-color: rgba(0,113,188,.35); box-shadow: 0 18px 40px rgba(15,23,42,.08); }
.rc-card-grid a.rc-card:focus-visible { outline: 3px solid rgba(0,113,188,.25); outline-offset: 4px; }
.page-services .rc-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-services .rc-card { min-height: 230px; }
.rc-page-actions { display: flex; flex-wrap: wrap; gap: 18px 28px; align-items: center; margin-top: 38px; }
.rc-page-actions .button { display: inline-flex; min-height: 48px; align-items: center; padding: 0 22px; background: var(--rex-blue); color: #fff; text-decoration: none; font-weight: 800; }
.rc-contact-label, .rc-contact-note { color: var(--rex-muted); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.rc-contact-box h3 a { color: var(--rex-blue); text-decoration: none; }
.page-contact .generic-page-content { background: var(--rex-paper); }
.page-contact .generic-page-content .entry-content { margin: 0 !important; }
.rexclick-contact { width: min(1120px, calc(100vw - 48px)); margin: 0 auto; padding: clamp(56px, 7vw, 96px) 0 110px; }
.rexclick-contact-intro { max-width: 720px; margin-bottom: 42px; }
.rexclick-contact-intro h2 { margin: 16px 0 18px; color: var(--rex-ink); font-size: clamp(42px, 5.5vw, 72px); line-height: 1; letter-spacing: -.045em; }
.rexclick-contact-intro > p:last-child { margin: 0; color: var(--rex-muted); font-size: 18px; line-height: 1.65; }
.rexclick-contact-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 28px; align-items: start; }
.rexclick-contact-form { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; padding: clamp(24px, 4vw, 44px); border: 1px solid var(--rex-line); background: #fff; box-shadow: 0 18px 50px rgba(15, 23, 42, .06); }
.rexclick-form-field { display: grid; gap: 8px; min-width: 0; }
.rexclick-form-field-full, .rexclick-form-errors, .rexclick-contact-submit { grid-column: 1 / -1; }
.rexclick-form-field label { color: var(--rex-ink); font-size: 14px; font-weight: 800; }
.rexclick-form-field input, .rexclick-form-field textarea { width: 100%; min-height: 50px; padding: 13px 14px; border: 1px solid var(--rex-line); border-radius: 0; background: var(--rex-paper); color: var(--rex-ink); font: inherit; line-height: 1.45; }
.rexclick-form-field textarea { min-height: 180px; resize: vertical; }
.rexclick-form-field input:focus-visible, .rexclick-form-field textarea:focus-visible { outline: 3px solid rgba(1, 112, 185, .22); outline-offset: 2px; border-color: var(--rex-blue); }
.rexclick-field-errors, .rexclick-form-errors { color: #9f1c14; font-size: 13px; }
.rexclick-field-errors ul, .rexclick-form-errors ul { margin: 0; padding-left: 20px; }
.rexclick-form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.rexclick-contact-submit { width: fit-content; min-width: 180px; min-height: 50px; border: 0; cursor: pointer; }
.rexclick-contact-details { display: grid; gap: 30px; padding: clamp(26px, 4vw, 42px); background: var(--rex-navy); color: #fff; }
.rexclick-contact-details .rc-contact-label { margin: 0 0 9px; color: rgba(255, 255, 255, .62); }
.rexclick-contact-details a { color: #fff; font-size: clamp(18px, 2vw, 23px); font-weight: 800; overflow-wrap: anywhere; }
.rexclick-contact-details address { color: #fff; font-size: 17px; font-style: normal; line-height: 1.65; }
.rexclick-contact-note { margin: 4px 0 0; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .75); font-size: 14px; line-height: 1.6; }
.rexclick-contact-success { margin-bottom: 28px; padding: 24px 28px; border-left: 5px solid var(--rex-blue); background: #fff; }
.rexclick-contact-success h3 { margin: 7px 0; color: var(--rex-ink); font-size: 24px; }
.rexclick-contact-success p:last-child { margin: 0; color: var(--rex-muted); }
.page-terms-of-service .generic-page-content .entry-content,
.page-privacy-policy .generic-page-content .entry-content { width: min(760px, calc(100vw - 40px)); margin-left: auto !important; margin-right: auto !important; font-size: 17px; line-height: 1.75; }
.page-terms-of-service .page-title-header,
.page-privacy-policy .page-title-header { width: min(760px, calc(100vw - 40px)); margin-left: auto !important; margin-right: auto !important; }
.page-terms-of-service .entry-content p > strong:first-child { display: block; margin: 42px 0 10px; color: var(--rex-ink); font-size: 24px; line-height: 1.2; }

.product-placeholder { position: relative; overflow: hidden; background: var(--rex-navy) !important; color: transparent !important; }
.product-placeholder::before { content: "R"; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-54%); color: #fff; font-size: clamp(74px, 10vw, 150px); font-weight: 900; letter-spacing: -.08em; opacity: .95; }
.product-placeholder::after { content: "MIND • BODY • SOUL"; position: absolute; left: 24px; bottom: 22px; color: rgba(255,255,255,.7); font-size: 10px; font-weight: 800; letter-spacing: .18em; }

.cart-empty-state { min-height: 510px; display: grid; grid-template-columns: minmax(0, 760px) 1fr; gap: 70px; align-items: center; padding: 70px 0; }
.cart-empty-state h1 { max-width: 720px; margin: 20px 0 0; font-size: clamp(50px, 6.5vw, 88px); line-height: .98; letter-spacing: -.055em; }
.cart-empty-state > div > p:not(.platform-kicker) { max-width: 560px; margin: 28px 0 34px; color: var(--rex-muted); font-size: 18px; line-height: 1.6; }
.cart-empty-state .checkout-button { display: inline-flex; gap: 24px; align-items: center; width: auto; }
.cart-empty-mark { color: var(--rex-blue); font-size: clamp(150px, 22vw, 300px); font-weight: 900; line-height: .8; letter-spacing: -.08em; text-align: right; opacity: .1; }
.cart-remove-button { appearance: none; border: 0; background: transparent; color: #b42318; cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.cart-remove-button:hover { color: #7a271a; }
.cart-line-thumb:has(.cart-line-placeholder) { display: grid; place-items: center; background: var(--rex-navy); text-decoration: none; }
.cart-line-placeholder { color: #fff; font-size: 24px; font-weight: 900; letter-spacing: -.08em; }

.checkout-unavailable-state { min-height: 560px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 70px; align-items: center; padding: 80px 0; }
.checkout-unavailable-state h1 { max-width: 760px; margin: 20px 0 0; font-size: clamp(50px, 6vw, 82px); line-height: .98; letter-spacing: -.055em; }
.checkout-unavailable-state > div > p:not(.platform-kicker) { max-width: 640px; margin: 28px 0 34px; color: var(--rex-muted); font-size: 18px; line-height: 1.6; }
.checkout-recovery-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.checkout-recovery-actions .checkout-button,
.checkout-recovery-actions .secondary-button { display: inline-flex; width: auto; min-height: 48px; align-items: center; justify-content: center; padding: 0 22px; text-decoration: none; }

@media (max-width: 700px) {
  .site-branding { width: 100%; display: flex; justify-content: center; }
  .site-header .ast-container.header-inner { padding-bottom: 10px; }
  .header-actions, .main-navigation { overflow: visible; }
  .main-navigation > ul { width: 100%; flex-wrap: wrap; justify-content: center; gap: 0 18px !important; }
  .main-navigation > ul > li > a { min-height: 36px !important; }
  .main-navigation .rex-nav-cta { padding: 0 12px !important; color: #fff !important; background: var(--rex-blue); }
  .page-contact .rc-contact-box h3 a { overflow-wrap: anywhere; word-break: break-word; font-size: clamp(21px, 6.5vw, 30px); }
  .rexclick-contact { width: min(100% - 36px, 1120px); padding: 52px 0 76px; }
  .rexclick-contact-grid { grid-template-columns: 1fr; }
  .rexclick-contact-form { grid-template-columns: 1fr; gap: 18px; }
  .rexclick-form-field, .rexclick-form-field-full, .rexclick-contact-submit { grid-column: 1; }
  .rexclick-contact-submit { width: 100%; }
  .article-hero { padding-top: 33px; }
  .article-hero h1 { font-size: clamp(42px, 12vw, 64px); }
  .article-featured-image { width: 100%; margin-top: 19px; }
  .article-body-column figure { width: 100vw; }
  .search-page-form { grid-template-columns: 1fr; }
  .search-page-form input { border-right: 1px solid var(--rex-line); }
  .search-page-form button { height: 54px; }
  .search-result-card { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
  .search-result-card > span, .search-result-card > .search-result-open { display: none; }
  .author-platform-grid { grid-template-columns: 1fr; }
  .author-platform-grid img { width: 84px; height: 84px; grid-row: 1; }
  .cart-empty-state { min-height: 470px; grid-template-columns: 1fr; gap: 20px; padding: 64px 0; }
  .cart-empty-mark { display: none; }
  .checkout-unavailable-state { min-height: 520px; grid-template-columns: 1fr; gap: 32px; padding: 64px 0; }
  .page-services .rc-card-grid { grid-template-columns: 1fr; }
  .page-services .rc-card { min-height: auto; }
}

/* Scoped search: one query, local Articles and external Artclick Store */
.scoped-search-form,.search-page-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
.search-input-wrap{position:relative;min-width:0}
.search-input-wrap input{display:block;width:100%;padding-right:52px!important}
.search-input-suffix{position:absolute;right:19px;top:50%;transform:translateY(-50%);color:var(--rex-muted);font-size:14px;font-weight:700;font-style:italic;line-height:1;pointer-events:none;user-select:none}
.search-scope-buttons{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;background:transparent;border:0}
.search-page-form{grid-template-columns:minmax(0,1fr) calc((100% - 5px)/4)!important;align-items:center}
.search-page-form .search-scope-buttons{width:100%;justify-self:stretch}
.search-scope-buttons button{min-width:0!important;min-height:46px;border:1px solid var(--rex-line)!important;background:#fff!important;color:var(--rex-ink)!important;padding:9px 12px!important;font:800 13px var(--rex-display)!important;cursor:pointer}
.search-scope-buttons button:hover,.search-scope-buttons button:focus-visible,.search-scope-buttons button.is-active{background:var(--rex-blue)!important;color:#fff!important}
.search-page-form{width:min(92vw,480px);max-width:none;margin:42px auto 0;padding:14px;background:#fff}
.search-page-form .search-input-wrap input{height:44px;min-height:44px;border:1px solid var(--rex-line);background:var(--rex-paper);font:inherit;padding-left:13px}
.search-page-form .search-scope-buttons button{min-height:46px;font-size:13px!important}
.search-popover .search-form{width:min(92vw,480px);padding:14px}
.search-popover .search-form .search-input-wrap input{min-height:44px;border:1px solid var(--rex-line);padding-left:13px}
@media(max-width:640px){.search-page-form{margin:30px auto 0}.search-page-form .search-scope-buttons button{min-height:46px;padding:8px 5px!important;font-size:12px!important}.search-input-suffix{right:15px}.search-page-form .search-input-wrap input{height:44px;min-height:44px;padding-left:13px}}

/* Compact active-query results: prioritize answers over marketing chrome */
.search-results-toolbar{padding:28px 0 20px;border-bottom:1px solid var(--rex-line);background:var(--rex-paper)}
.search-results-toolbar .search-page-form{margin:0 auto}
.search-results-context{margin-top:17px}
.search-results-context h1{margin:0;color:var(--rex-ink);font:500 clamp(20px,2.2vw,28px)/1.3 var(--rex-display);letter-spacing:-.02em}
.search-results-context h1 strong{font-weight:850}
/* Half the actual global heading size; leave result article titles unchanged. */
body.rexclick-body .search-results-context h1{font-size:28px!important;line-height:1.3!important}
@media(max-width:1068px){body.rexclick-body .search-results-context h1{font-size:24px!important}}
@media(max-width:734px){body.rexclick-body .search-results-context h1{font-size:16px!important}}
/* Native, keyboard-operable header search; no script or scope parameters. */
#desktop-primary-navigation{overflow:visible}
.nav-search{position:relative}
.nav-search > summary{display:flex;align-items:center;gap:6px;min-height:44px;list-style:none;cursor:pointer;color:var(--rex-ink);white-space:nowrap}
.nav-search > summary::-webkit-details-marker{display:none}
.nav-search > summary:focus-visible,.nav-search input:focus-visible{outline:2px solid var(--rex-blue);outline-offset:3px}
.nav-search-form{box-sizing:border-box;position:absolute;top:100%;left:0;z-index:81;width:min(320px,calc(100vw - 30px));padding:14px;border:1px solid var(--rex-line);background:#fff;box-shadow:0 12px 30px rgba(17,27,43,.16)}
.nav-search-form input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid var(--rex-line);padding:10px 12px;background:var(--rex-paper);color:var(--rex-ink);font:inherit}
@media(max-width:820px){
  .mobile-article-menu .nav-search > summary{font-size:15px;font-weight:650}
  .mobile-article-menu .nav-search-form{position:static;width:100%;padding:0 0 12px;border:0;box-shadow:none}
  .mobile-article-menu > nav{max-height:calc(100dvh - 85px);overflow-y:auto}
}
.search-results-section-compact{min-height:420px;padding:26px 0 90px}
.search-commerce-grid{align-items:start}
.app-product-card .product-price-row{font-size:16px;font-weight:700}
.search-platform:not(.search-platform-has-query) .search-platform-hero{padding:70px 0 56px}
.search-platform:not(.search-platform-has-query) .search-platform-hero h1{font-size:clamp(46px,6vw,68px)}
@media(max-width:640px){.search-results-toolbar{padding:22px 0 17px}.search-results-toolbar .search-page-form{margin:0}.search-results-context{margin-top:14px}.search-results-context h1{font-size:20px}.search-results-section-compact{padding:22px 0 70px}}

/* App products share Store pages; subscription checkout remains safely gated. */
.app-subscription-panel{display:grid;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid var(--rex-line)}
.app-subscription-panel .product-price-row{margin:0}
.app-subscription-panel>p{margin:0;color:var(--rex-muted);font-size:15px;line-height:1.65}
.app-open-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;background:var(--rex-blue);color:#fff!important;font-weight:800;text-decoration:none;transition:background .2s ease}
.app-open-button:hover{background:var(--rex-ink)}
.product-detail-page .product-media>img{aspect-ratio:1/1;object-fit:cover}

/* Main Apps storefront: ecommerce product selection with square marketing artwork. */
.tools-page .tools-hero{padding:30px 0 26px}
.tools-page .tools-hero .platform-kicker{margin:0 0 8px}
.tools-page .tools-hero h1{margin:0;font-size:clamp(40px,4.4vw,56px);line-height:1}
.tools-page .tools-hero>.platform-wrap>p:last-child{max-width:690px;margin:13px 0 0;font-size:16px;line-height:1.45}
.tools-storefront-section{padding-top:42px}
.tools-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}
.tools-product-card{min-width:0;border:1px solid var(--rex-line);background:#fff}
.tools-product-image{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#edf1f3;text-decoration:none}
.tools-product-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.tools-product-card:hover .tools-product-image img{transform:scale(1.018)}
.tools-product-image .tool-status{position:absolute;top:14px;left:14px;z-index:1}
.tools-product-body{display:flex;min-height:255px;flex-direction:column;padding:22px 20px 20px}
.tools-product-category{margin:0 0 9px;color:var(--rex-muted);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.tools-product-body h3{margin:0 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.08;letter-spacing:-.025em}
.tools-product-body h3 a{color:var(--rex-ink)!important;text-decoration:none!important}
.tools-product-summary{margin:0 0 20px;color:var(--rex-muted);font-size:14px;line-height:1.55}
.tools-product-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:16px;border-top:1px solid var(--rex-line);font-size:13px}
.tools-product-footer strong{color:var(--rex-ink);font-size:14px}
.tools-product-footer a{color:var(--rex-blue)!important;font-weight:800;text-decoration:none!important;white-space:nowrap}
@media(max-width:1100px){.tools-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.tools-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tools-storefront-section{padding-top:30px}.tools-product-grid{grid-template-columns:1fr}.tools-product-body{min-height:0}}
@media(max-width:640px){.tools-page .tools-hero{padding:16px 0 14px}.tools-page .tools-hero .platform-kicker{margin-bottom:6px}.tools-page .tools-hero h1{font-size:34px}.tools-page .tools-hero>.platform-wrap>p:last-child{margin-top:9px;font-size:14px;line-height:1.35}}

/* Articles archive uses the same compact hero budget as ecommerce surfaces. */
.articles-page .articles-hero{padding:30px 0 26px}
.articles-page .articles-hero .platform-kicker{margin:0 0 8px}
.articles-page .articles-hero h1{margin:0;font-size:clamp(40px,4.4vw,56px);line-height:1}
.articles-page .articles-hero>.platform-wrap>p:last-child{max-width:690px;margin:13px auto 0;font-size:16px;line-height:1.45}
.articles-page>.platform-section{padding-top:42px}
@media(max-width:640px){.articles-page .articles-hero{padding:16px 0 14px}.articles-page .articles-hero .platform-kicker{margin-bottom:6px}.articles-page .articles-hero h1{font-size:34px}.articles-page .articles-hero>.platform-wrap>p:last-child{margin-top:9px;font-size:14px;line-height:1.35}.articles-page>.platform-section{padding-top:30px}}

/* Installed PWA safe areas are zero in normal browser tabs. */
@media(display-mode:standalone){
  html,body{min-height:100dvh}
  .site-header{padding-top:env(safe-area-inset-top)}
  .site-footer{padding-bottom:env(safe-area-inset-bottom)}
}

/* Article archive taxonomy mirrors the Store sidebar without duplicating header pillars. */
.article-catalog-layout{display:block}
.article-catalog-layout.has-sidebar{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}
.article-category-sidebar{top:92px}
.article-category-sidebar .article-category-all{margin-bottom:8px;font-weight:800}
.article-category-group{padding:8px 0;border-top:1px solid var(--rex-line)}
.article-category-sidebar .article-category-main{padding:6px 0;color:var(--rex-ink);font-size:14px;font-weight:850}
.article-category-children{margin:2px 0 3px 5px;padding-left:12px;border-left:2px solid #e2e8f0}
.article-category-sidebar .article-category-children a{padding:5px 0;font-size:12px}
@media(max-width:1100px){.article-catalog-layout.has-sidebar{grid-template-columns:200px minmax(0,1fr);gap:20px}}
@media(max-width:900px){.article-catalog-layout.has-sidebar{display:block}.article-category-sidebar{display:none}}

/* Editable Soul article taxonomy and backend-managed narration. */
.article-topic-filters{display:flex;flex-wrap:wrap;gap:10px;margin:-18px 0 38px;padding:18px 0;border-bottom:1px solid var(--rex-line)}
.article-topic-filters a{display:inline-flex;align-items:center;min-height:40px;padding:9px 16px;border:1px solid var(--rex-line);color:var(--rex-ink);font-size:13px;font-weight:700;text-decoration:none}
.article-topic-filters a:hover,.article-topic-filters a.is-active{border-color:var(--rex-blue);background:var(--rex-blue);color:#fff}
.article-audio-player{display:grid;grid-template-columns:auto minmax(260px,1fr);align-items:center;gap:18px;margin:24px 0 0;padding:0;max-width:760px}
.article-audio-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 18px;border:1px solid #86868b;border-radius:999px;background:#fff;color:#1d1d1f;font:inherit;font-size:15px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;transition:border-color 160ms ease,color 160ms ease,background 160ms ease}
.article-audio-toggle:hover,.article-audio-toggle:focus-visible{border-color:#1d1d1f;background:#f5f5f7}
.article-audio-toggle:focus-visible{outline:3px solid rgba(0,113,227,.28);outline-offset:2px}
.article-audio-toggle[aria-pressed="true"]{border-color:#1d1d1f;background:#1d1d1f;color:#fff}
.article-audio-toggle-icon{width:16px;height:16px;fill:currentColor;stroke:none}
.article-audio-player audio{display:block;width:100%;min-width:0}
@media(max-width:640px){.article-topic-filters{margin-top:-8px;margin-bottom:28px}.article-audio-player{grid-template-columns:1fr;gap:12px;margin-top:20px}.article-audio-toggle{justify-self:start}.article-audio-player audio{width:100%}}

/* Article archive: twelve cards per page, three-column desktop grid. */
.article-results{min-width:0}
.articles-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.article-results .article-card-body{padding:18px}
.article-results .article-card h2{font-size:20px!important}
.article-results .article-card p{font-size:14px!important;line-height:1.5}
.article-pagination{display:grid;grid-template-columns:minmax(104px,1fr) auto minmax(104px,1fr);align-items:center;gap:18px;margin-top:42px;padding-top:24px;border-top:1px solid var(--rex-line)}
.article-pagination>.article-pagination-direction:first-child{justify-self:start}
.article-pagination>.article-pagination-direction:last-child{justify-self:end}
.article-pagination-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.article-pagination-pages a,.article-pagination-pages span,.article-pagination-direction{display:inline-flex;min-width:38px;min-height:38px;align-items:center;justify-content:center;padding:7px 11px;border:1px solid var(--rex-line);background:#fff;color:var(--rex-ink);font-size:13px;font-weight:800;text-decoration:none}
.article-pagination-pages .is-active{border-color:var(--rex-blue);background:var(--rex-blue);color:#fff}
.article-pagination-ellipsis{border-color:transparent!important;background:transparent!important}
.article-pagination-direction{width:104px;min-width:104px;box-sizing:border-box}
.article-pagination-direction.is-disabled{opacity:.45}
@media(max-width:1020px){.articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.articles-grid{grid-template-columns:1fr}.article-pagination{grid-template-columns:1fr 1fr}.article-pagination-pages{grid-column:1/-1;grid-row:1}.article-pagination-direction{grid-row:2}}

/* Store pagination: twelve products per page with category/sort state preserved. */
.store-pagination{display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr);align-items:center;gap:18px;margin-top:42px;padding-top:24px;border-top:1px solid var(--rex-line)}
.store-pagination>.store-pagination-direction:first-child{justify-self:start}
.store-pagination>.store-pagination-direction:last-child{justify-self:end}
.store-pagination-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.store-pagination-pages a,.store-pagination-pages span,.store-pagination-direction{display:inline-flex;min-width:38px;min-height:38px;align-items:center;justify-content:center;padding:7px 11px;border:1px solid var(--rex-line);background:#fff;color:var(--rex-ink);font-size:13px;font-weight:800;text-decoration:none}
.store-pagination-pages .is-active{border-color:var(--rex-blue);background:var(--rex-blue);color:#fff}
.store-pagination-ellipsis{border-color:transparent!important;background:transparent!important}
.store-pagination-direction{width:104px;min-width:104px;box-sizing:border-box}
@media(max-width:640px){.store-pagination{grid-template-columns:1fr 1fr}.store-pagination-pages{grid-column:1/-1;grid-row:1}.store-pagination-direction{grid-row:2}}

/* Atlas selected inline photo: match the prose column, not app-screen sizing. */
.article-body-column figure.article-inline-app-image:has(> img[src="/media/original_images/atlas-evoo-1l-vegetables-garlic-lemons-20260905T145423Z.jpg"]) { width: 100%; max-width: 100%; }
