/* Hello, World relaunch: plain content lists inside page/article/feature text get their bullets back.
   Editable in Admin > Appearance > Custom CSS. */
main .container > ul:not([class]),
main .container > ol:not([class]) { list-style: revert; padding-left: 1.4rem; margin-bottom: 1.25rem; }
main .container > ul:not([class]) > li,
main .container > ol:not([class]) > li { margin-bottom: .4rem; }
main .container > blockquote { border-left: 3px solid currentColor; padding-left: 1.25rem; }

/* Customer quotes are real words, not star ratings: hide the theme's default 5 stars. */
.testimonial-content-rating { display: none !important; }

/* Orderly orb (homepage hero). Source: platform/themes/orisa/public/js/orderly-orb.js */
.orderly-orb-wrap { position: relative; }
.orderly-orb { position: relative; width: 100%; max-width: 460px; aspect-ratio: 1 / 1; margin-inline: auto; }
.orderly-orb__canvas { position: absolute; left: -17.5%; top: -17.5%; width: 135%; height: 135%; display: block; pointer-events: none; transition: transform .25s ease-out; }
.orderly-orb__bars { --k: 1; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: calc(var(--k) * 11px); pointer-events: none; transition: transform .25s ease-out; }
.orderly-orb__bars i { display: block; width: calc(var(--k) * 7px); height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .92); box-shadow: 0 0 18px rgba(255, 255, 255, .35); }
.orderly-orb--fallback::before { content: ""; position: absolute; inset: 21%; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FFC247, #E8452C 55%, #8A2638); box-shadow: 0 0 60px rgba(232, 69, 44, .35); }

/* Orderly chat (orb + sample conversation) */
.orderly-chat .orderly-orb { max-width: 440px; }
.orderly-chat__card { display: flex; flex-direction: column; gap: 12px; background: #fff; border: 1px solid rgba(0, 0, 0, .08); border-radius: 20px; padding: 20px; max-width: 520px; }
.orderly-chat__msg { max-width: 88%; border-radius: 16px; padding: 10px 14px; }
.orderly-chat__msg p { margin: 0; }
.orderly-chat__who { display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; opacity: .6; margin-bottom: 2px; }
.orderly-chat__msg--you { align-self: flex-end; background: #F2F0F5; }
.orderly-chat__msg--me { align-self: flex-start; background: #FFF1EB; border: 1px solid #FFD9C9; }
.orderly-chat__typing { display: none; align-self: flex-start; gap: 5px; padding: 12px 14px; background: #FFF1EB; border-radius: 16px; }
.orderly-chat__typing.is-on { display: inline-flex; }
.orderly-chat__typing i { width: 7px; height: 7px; border-radius: 50%; background: #E8452C; animation: oc-dot 1s infinite ease-in-out; }
.orderly-chat__typing i:nth-child(2) { animation-delay: .15s; }
.orderly-chat__typing i:nth-child(3) { animation-delay: .3s; }
@keyframes oc-dot { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.orderly-chat__card.is-js .orderly-chat__msg { display: none; }
.orderly-chat__card.is-js .orderly-chat__msg.is-in { display: block; animation: oc-in .35s ease-out; }
@keyframes oc-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.orderly-chat__replay { border: 0; background: #1C1724; color: #fff; border-radius: 999px; padding: 6px 14px; font-size: 13px; cursor: pointer; }
.orderly-chat__replay[hidden] { display: none; }

/* Orb stage (feature page) and orb in call-to-action bands */
.orderly-stage { background: radial-gradient(ellipse at 50% 40%, #241B33, #0E0A14 75%); border-radius: 24px; padding: 48px 24px 28px; display: flex; flex-direction: column; align-items: center; gap: 20px; overflow: hidden; }
.orderly-stage .orderly-orb { width: min(100%, 380px); }
.orderly-stage__chips { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.orderly-stage__chips button { border: 0; border-radius: 999px; padding: 8px 18px; background: rgba(255, 255, 255, .12); color: #fff; font-weight: 500; cursor: pointer; }
.orderly-stage__chips button[aria-pressed="true"] { background: #fff; color: #1C1724; }
.orderly-stage__note { color: #B9B1C7; margin: 0; font-size: 14px; text-align: center; }
.at-banner-area .orderly-orb { max-width: 300px; }

/* Layout tightening (Hello, World): centred column and shorter section gaps */
.at-page-content > section > .container,
.at-page-content > div:not(.shortcode-hero-banner) > .container,
.at-page-content > .container,
.at-page-content > section.container { max-width: 1320px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }
.at-page-content > section[class*="pt-120"], .at-page-content > div[class*="pt-120"] { padding-top: 72px !important; }
.at-page-content > section[class*="pb-120"], .at-page-content > div[class*="pb-120"] { padding-bottom: 72px !important; }
.at-page-content > section[class*="pt-100"] { padding-top: 64px !important; }
.at-page-content > section[class*="pb-100"] { padding-bottom: 64px !important; }
.at-page-content > section.os, .at-page-content > .os { padding-top: 48px !important; padding-bottom: 48px !important; }
.at-page-content .at-about-svg-wrap { display: none; }
@media (max-width: 767px) {
  .at-page-content > section[class*="pt-120"], .at-page-content > div[class*="pt-120"] { padding-top: 48px !important; }
  .at-page-content > section[class*="pb-120"], .at-page-content > div[class*="pb-120"] { padding-bottom: 48px !important; }
  .at-page-content > section > .container, .at-page-content > div > .container { padding-left: 16px; padding-right: 16px; }
}

/* Language flags in the header: small, flags only */
.at-header-flags { display: inline-flex; align-items: center; }
.at-header-flags .bb-translator__name, .at-header-flags [class*="__label"], .at-header-flags [class*="__name"] { display: none !important; }
.at-header-flags img, .at-header-flags [class*="__flag"] { width: 20px !important; height: 14px !important; border-radius: 2px; object-fit: cover; }

/* Orderly cards (service-cards style 2, hub, family, add-ons) */
.oc2-col { display: flex; }
.oc2, .oa-card { position: relative; display: flex; flex-direction: column; width: 100%; padding: 28px 26px 30px; border-radius: 22px; background: #fff; border: 1px solid rgba(17, 13, 10, .08); overflow: hidden; transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, border-color .35s; color: #1B1511; }
.oc2:hover, .oa-card:hover { transform: translateY(-6px); border-color: #FF7A1A; box-shadow: 0 24px 50px rgba(232, 69, 10, .14); }
.oc2__glow { position: absolute; right: -60px; top: -60px; width: 190px; height: 190px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 122, 26, .28), rgba(255, 122, 26, 0) 68%); animation: oc2-drift 7s ease-in-out infinite; pointer-events: none; transition: transform .5s; }
.oc2:hover .oc2__glow { transform: scale(1.5); }
@keyframes oc2-drift { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-16px, 14px); } }
.oc2__num { align-self: flex-start; display: inline-grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border-radius: 999px; background: #121212; color: #FF7A1A; font: 600 14px/1 var(--primary-font), sans-serif; letter-spacing: .06em; margin-bottom: 18px; position: relative; }
.oc2__img { margin: -4px -4px 16px; border-radius: 14px; overflow: hidden; aspect-ratio: 16 / 9; }
.oc2__title { margin: 0 0 10px; font-size: 22px; line-height: 1.2; font-weight: 600; overflow-wrap: anywhere; position: relative; }
.oc2__title a { color: inherit; text-decoration: none; }
.oc2__text { margin: 0; font-size: 15px; line-height: 1.5; color: #4a423c; position: relative; flex: 1; }
.oc2__go { margin-top: 18px; font-size: 22px; color: #E8450A; transition: transform .3s; align-self: flex-start; position: relative; }
.oc2:hover .oc2__go { transform: translateX(8px); }
.oc2__cover { position: absolute; inset: 0; z-index: 2; }
.oc2-js .oc2-col { opacity: 0; transform: translateY(24px); }
.oc2-js.is-in .oc2-col { opacity: 1; transform: none; transition: opacity .6s ease, transform .7s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--i, 0) * 90ms); }
[data-bs-theme="dark"] .oc2, [data-bs-theme="dark"] .oa-card { background: #181818; border-color: #2a2a2a; color: #F4F1EE; }
[data-bs-theme="dark"] .oc2__text { color: #b9b1a9; }
@media (prefers-reduced-motion: reduce) { .oc2__glow { animation: none; } .oc2-js .oc2-col { opacity: 1 !important; transform: none !important; } }
.oa-card { text-decoration: none; }
.oa-card h3 { margin: 6px 0 8px; }
.oa-card p { margin: 0 0 8px; color: #4a423c; }
a:has(> .oa-card) { text-decoration: none; display: block; height: 100%; color: inherit; }

/* Orb hero (hero-banner style 7) */
.ohero { position: relative; overflow: hidden; background: #0d0d0d; color: #F4F1EE; padding: 150px 0 80px; }
.ohero__bg { position: absolute; inset: 0; background: radial-gradient(60% 70% at 78% 40%, rgba(232, 69, 10, .28), rgba(13, 13, 13, 0) 70%), radial-gradient(40% 50% at 10% 100%, rgba(255, 122, 26, .12), rgba(13, 13, 13, 0) 70%); }
.ohero--sunset .ohero__bg { background: radial-gradient(60% 70% at 78% 40%, rgba(255, 170, 40, .26), rgba(13, 13, 13, 0) 70%), radial-gradient(40% 50% at 10% 100%, rgba(232, 69, 10, .14), rgba(13, 13, 13, 0) 70%); }
.ohero--basil .ohero__bg { background: radial-gradient(60% 70% at 78% 40%, rgba(60, 190, 120, .24), rgba(13, 13, 13, 0) 70%), radial-gradient(40% 50% at 10% 100%, rgba(255, 122, 26, .10), rgba(13, 13, 13, 0) 70%); }
.ohero .container { position: relative; z-index: 1; }
.ohero__eyebrow { display: inline-block; font: 500 13px/1 var(--primary-font), sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #FF7A1A; margin-bottom: 18px; }
.ohero__title { color: #fff; font-size: clamp(38px, 5.2vw, 72px); line-height: 1.02; letter-spacing: -.03em; font-weight: 700; margin: 0 0 22px; }
.ohero__text { color: #CFC8C1; font-size: 19px; line-height: 1.55; max-width: 34em; margin: 0 0 30px; }
.ohero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 26px; }
.ohero__btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 28px; border-radius: 999px; background: #FF7A1A; color: #fff; font-weight: 700; text-decoration: none; transition: transform .25s, box-shadow .25s; }
.ohero__btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(255, 122, 26, .35); color: #fff; }
.ohero__btn--ghost { background: transparent; border: 1.5px solid rgba(255, 255, 255, .35); }
.ohero__btn--ghost:hover { border-color: #fff; box-shadow: none; }
.ohero__chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.ohero__chips li { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .18); color: #E7E1DA; font-size: 13.5px; }
.ohero__stage { position: relative; max-width: 560px; margin: 0 auto; }
.ohero__stage .orderly-orb { width: 100%; aspect-ratio: 1; max-width: none; }
.ohero__float { position: absolute; padding: 10px 16px; border-radius: 14px; background: rgba(24, 24, 24, .85); border: 1px solid rgba(255, 255, 255, .14); color: #fff; font-size: 14px; font-weight: 600; backdrop-filter: blur(6px); animation: ohero-bob 5s ease-in-out infinite; }
.ohero__float--1 { left: -2%; top: 14%; } .ohero__float--2 { right: -2%; top: 44%; animation-delay: -1.6s; } .ohero__float--3 { left: 6%; bottom: 8%; animation-delay: -3.2s; }
@keyframes ohero-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@media (max-width: 991px) { .ohero { padding: 120px 0 56px; } .ohero__stage { max-width: 340px; } .ohero__float { display: none; } }
@media (prefers-reduced-motion: reduce) { .ohero__float { animation: none; } }

/* Header: one simple flag. Tap or click it to open the others. */
.at-header-flags { position: relative; display: inline-flex; align-items: center; }
.at-header-flags .bb-translator__list { display: block; margin: 0; padding: 0; list-style: none; }
.at-header-flags .bb-translator__list li { display: none; }
.at-header-flags .bb-translator__list li:has(.is-active) { display: block; }
.at-header-flags .bb-translator__item { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; padding: 0; cursor: pointer; }
.at-header-flags .bb-translator__item:hover { background: rgba(17, 13, 10, .06); }
.at-header-flags .bb-translator__flag { display: block; width: 22px !important; height: 16px !important; border-radius: 3px; object-fit: cover; box-shadow: 0 0 0 1px rgba(17, 13, 10, .12); }
.at-header-flags.is-open .bb-translator__list { position: absolute; top: calc(100% + 6px); right: 0; z-index: 1000; display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid rgba(17, 13, 10, .1); border-radius: 14px; padding: 6px; box-shadow: 0 14px 34px rgba(17, 13, 10, .18); }
.at-header-flags.is-open .bb-translator__list li { display: block; }
[data-bs-theme="dark"] .at-header-flags.is-open .bb-translator__list { background: #1b1b1b; border-color: #2a2a2a; }
.at-main-menu nav > ul { flex-wrap: nowrap; white-space: nowrap; }
.at-main-menu nav > ul > li > a { font-size: 14px; }
.at-main-menu nav > ul > li { margin-right: 4px; }
/* Small screens: currency and flags move into the menu panel */
@media (max-width: 1199.98px) { .at-header-right > .at-header-currency { display: none; } }
@media (max-width: 575.98px) { .at-header-right > .at-header-flags { display: none; } .at-header-right { gap: .5rem !important; } }
.at-offcanvas-prefs { display: flex; align-items: center; gap: 12px; padding: 14px 0 20px; }
.at-offcanvas-prefs .at-header-currency { padding: 9px 14px; font-size: 13px; }
.at-offcanvas-prefs .at-header-flags.is-open .bb-translator__list { right: auto; left: 0; }

/* Currency picker in the header */
.at-header-currency { border: 1px solid rgba(17, 13, 10, .14); background: transparent; color: inherit; border-radius: 999px; font: 600 12px/1 var(--primary-font), sans-serif; padding: 7px 8px; cursor: pointer; appearance: none; text-align: center; }
[data-bs-theme="dark"] .at-header-currency { border-color: rgba(255, 255, 255, .25); color: #F4F1EE; }
[data-bs-theme="dark"] .at-header-currency option { color: #111; }

/* How Orderly works: hub animation (no card, follows light/dark) */
.ofl { background: transparent; color: #1B1511; }
[data-bs-theme="dark"] .ofl { color: #F4F1EE; }
.ofl__head { text-align: center; max-width: 680px; margin: 0 auto 26px; }
.ofl__eyebrow { display: block; font: 600 13px/1 var(--primary-font), sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #E8450A; margin-bottom: 14px; }
.ofl__head h2 { margin: 0 0 12px; color: inherit; }
.ofl__head p { color: #6F665E; margin: 0; } [data-bs-theme="dark"] .ofl__head p { color: #CFC8C1; }
.ofl__stage { max-width: 720px; margin: 0 auto; }
.ofl__svg { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; }
.ofl__cap { padding: 0 6px 10px; display: flex; flex-direction: column; gap: 2px; min-height: 84px; text-align: center; }
.ofl__ph { font: 700 12px/1.2 var(--primary-font), sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #E8450A; }
.ofl__ln { font-size: clamp(17px, 2.6vw, 24px); line-height: 1.25; font-weight: 600; color: inherit; }
.ofl__bar { display: flex; align-items: center; gap: 10px; padding: 0 0 6px; flex-wrap: wrap; justify-content: center; }
.ofl__btn { border: 0; border-radius: 999px; padding: 11px 16px; min-height: 40px; background: rgba(120, 110, 100, .16); color: inherit; font: 600 13px/1 var(--primary-font), sans-serif; cursor: pointer; }
.ofl__btn:hover { background: rgba(120, 110, 100, .28); }
.ofl__scrub { flex: 1; min-width: 120px; max-width: 360px; accent-color: #FF8A14; }
@media (max-width: 575px) { .ofl { padding-top: 48px !important; padding-bottom: 48px !important; } .ofl__bar { padding: 0 0 4px; } }

/* "I'm here to" and "Jump to" pill rows, and anchors that clear the header */
.oa-iam { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
.oa-iam__lab { font: 700 12px/1 var(--primary-font), sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #E8450A; margin-right: 6px; }
.oa-pill { display: inline-block; padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(17, 13, 10, .14); font: 600 14px/1 var(--primary-font), sans-serif; color: inherit; text-decoration: none; transition: background .2s, border-color .2s, transform .2s; }
.oa-pill:hover { border-color: #FF8A14; background: rgba(255, 138, 20, .1); transform: translateY(-1px); color: inherit; }
[data-bs-theme="dark"] .oa-pill { border-color: rgba(255, 255, 255, .22); }
[id^="f-"], #apply { scroll-margin-top: 110px; }

/* ===== Phones: swipe rails, one-line pill rows, thumb-sized header buttons ===== */
.o-dots { display: none; }
@media (max-width: 767px) {
  .o-rail-on { display: flex !important; flex-wrap: nowrap !important; align-items: stretch; gap: 12px; overflow-x: auto !important; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
    margin-left: calc(-1 * var(--o-bl, 0px)) !important; margin-right: calc(-1 * var(--o-br, 0px)) !important; padding: 2px var(--o-br, 0px) 6px var(--o-bl, 0px) !important; scroll-padding-left: var(--o-bl, 0px); scrollbar-width: none; width: auto !important; max-width: none !important; }
  .o-rail-on.row { gap: 0; }
  .o-rail-on { justify-content: flex-start !important; }
  .o-rail-on::-webkit-scrollbar { display: none; }
  .o-rail-on > * { flex: 0 0 var(--o-rail-w, 84%) !important; width: var(--o-rail-w, 84%) !important; max-width: var(--o-rail-w, 84%) !important; min-width: 0; margin: 0 !important; scroll-snap-align: start; }
  .o-rail-on.o-rail-2 { display: grid !important; grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-auto-columns: var(--o-rail-w, 80%); gap: 0 12px; align-items: stretch; }
  .o-rail-on.o-rail-2.row { gap: 0; }
  .o-rail-on.o-rail-2 > * { flex: none !important; width: auto !important; max-width: none !important; }
  .o-rail-on > .col-12, .o-rail-on > [class*="col-"] { padding-top: 6px; padding-bottom: 6px; }
  .o-dots { display: flex; justify-content: center; align-items: center; gap: 7px; margin: 8px 0 6px; min-height: 12px; }
  .o-dots i { width: 7px; height: 7px; border-radius: 50%; background: rgba(120, 110, 100, .38); display: block; transition: width .2s, background .2s; cursor: pointer; }
  .o-dots i[aria-current="true"] { width: 22px; border-radius: 99px; background: #FF8A14; }
  .o-dots span { font: 600 12px/1 var(--primary-font), sans-serif; color: #6F665E; }
  [data-bs-theme="dark"] .o-dots span { color: #CFC8C1; }

  /* the "I'm here to" / "Jump to" rows: one swipeable line instead of four wrapped ones */
  .oa-iam { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; margin-inline: -12px; padding: 2px 12px 8px; -webkit-mask-image: linear-gradient(90deg, #000 90%, transparent); mask-image: linear-gradient(90deg, #000 90%, transparent); }
  .oa-iam::-webkit-scrollbar { display: none; }
  .oa-iam > * { flex: none; white-space: nowrap; }
  .oa-pill { padding: 12px 17px; }
}

/* header and menu buttons: at least 44px to tap */
@media (max-width: 1199px) { .at-header-cart-btn, .at-header-search-btn, .at-header-sidebar-btn { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; } .at-header-right { gap: 2px !important; } }
.hamburger-sticky-menu, #header-sticky.hamburger-open-btn { min-height: 44px; display: inline-flex; align-items: center; }
.at-offcanvas-social__link { min-height: 44px; display: flex !important; align-items: center; }
.hamburger-close-btn { min-height: 44px; display: inline-flex; align-items: center; }
.at-search-close { min-width: 44px; }
.home-2-pricing-card__badge { font-size: 12px !important; }
.at-hero-social a, .neutral-900 a[href^="tel"] { min-height: 40px; display: inline-flex; align-items: center; }

@media (max-width: 767px) {
  .home-2-pricing-card .home-2-pricing-card__badge { position: relative !important; inset: auto !important; top: auto !important; right: auto !important; left: auto !important; display: inline-block; align-self: flex-start; margin: 16px 0 0 24px; }
  .home-2-pricing-card .at-btn.px-5 { padding-left: 22px !important; padding-right: 22px !important; }
}
.o-more { display: none; }
@media (max-width: 767px) {
  .accordion.o-folded > .at-faq-item:nth-child(n+6) { display: none; }
  .o-more { display: block; width: 100%; margin: 14px 0 0; padding: 14px 18px; border-radius: 999px; border: 1.5px solid #FF8A14; background: transparent; color: inherit; font: 600 15px/1.2 var(--primary-font), sans-serif; cursor: pointer; }
}
@media (max-width: 767px) {
  /* "What I do all day": no pinned scroll, no stacked numbered list; just swipe the cards */
  .section-fix .navigation-active-item { display: none; }
  .section-fix.pt-100, .section-fix { padding-top: 8px !important; }
  .section-fix .scroll-section .wrapper, .section-fix .scroll-section .list { height: auto !important; }
  .section-fix .scroll-section .item, .section-fix .scroll-section .item:first-child, .section-fix .scroll-section .item:not(:first-child) { position: relative !important; min-height: 0 !important; height: auto !important; transform: none !important; }
  .section-fix .scroll-section .item > .container { height: 100%; }
  .section-fix .scroll-section .item .row { height: 100%; }
}
.o-chips { display: none; }
@media (max-width: 767px) {
  .o-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 4px 12px 10px; margin: 0 -12px; -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); mask-image: linear-gradient(90deg, #000 92%, transparent); }
  .o-chips::-webkit-scrollbar { display: none; }
  .o-chip { flex: none; white-space: nowrap; border: 1px solid rgba(17, 13, 10, .16); background: transparent; color: inherit; border-radius: 999px; padding: 11px 16px; min-height: 44px; font: 600 14px/1 var(--primary-font), sans-serif; cursor: pointer; }
  [data-bs-theme="dark"] .o-chip { border-color: rgba(255, 255, 255, .24); }
  .o-chip[aria-selected="true"] { background: #FF8A14; border-color: #FF8A14; color: #1A1020; }
  .o-scenes.o-rail-on { align-items: flex-start; transition: height .25s ease; margin-top: 0; }
  .o-scenes.o-rail-on > .o-slide { align-self: flex-start; }
  .o-slide > section.os, .o-slide > section.ost { padding-top: 24px !important; padding-bottom: 24px !important; }
}
.o-chip { letter-spacing: .04em; }
@media (max-width: 767px) {
  /* stacked theme panels (location pages: "Everything your restaurant needs", "Live in minutes") become swipe rows */
  .scroll-section .wrapper { height: auto !important; }
  .process-scroll .item, .process-scroll .item:first-child, .process-scroll .item:not(:first-child),
  .at-service-area .scroll-section .item, .at-service-area .scroll-section .item:first-child, .at-service-area .scroll-section .item:not(:first-child) { position: relative !important; min-height: 0 !important; height: auto !important; transform: none !important; }
  .process-scroll .process-card__img-wrap { display: none; }
  .process-scroll .process-card { height: 100%; }
  .at-service-area { padding-top: 36px !important; padding-bottom: 24px !important; }
  .at-service-area .item h3.fz-ds-1 { font-size: 30px !important; line-height: 1.1; padding-bottom: 12px !important; }
  .at-service-area .item img.img-cover { max-height: 170px; width: 100%; object-fit: cover; }
  .at-service-area .item .container { height: 100%; }
  .sec-2-about.pt-120 { padding-top: 48px !important; }
  /* easier taps on text links inside cards and lists */
  .oc2__title a, .at-title-text, .os__link, .at-social__link, .blog-card__title-link, .product-card__title-link, .oa-card a, .neutral-900 a, .team-card-name, li > a.at-btn.border-0 { display: inline-flex; align-items: center; min-height: 40px; padding-block: 6px; }
  input[type=range] { min-height: 36px; }
}
@media (max-width: 767px) { .o-hide-m { display: none !important; } }
@media (max-width: 767px) {
  /* blog lists: compact rows that fit a phone */
  .at-blog-card.style-2 { gap: 14px !important; align-items: flex-start !important; }
  .at-blog-card.style-2 .at-blog-card-img { width: 112px !important; }
  .at-blog-card.style-2 .at-blog-card-img img { height: 96px; object-fit: cover; }
  .at-blog-card.style-2 .at-blog-card-content { min-width: 0; flex: 1; }
  .at-blog-card.style-2 .at-blog-card-content .d-flex { flex-wrap: wrap; gap: 4px 12px !important; }
  .at-blog-card.style-2 h6 { font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; }
  .at-blog-card-featured img { height: 220px !important; }
}
@media (max-width: 991px) {
  /* pages that open with text (no hero) must start below the floating header */
  .at-page-content > :first-child:not(.shortcode-hero-banner):not(.ohero):not(:has(+ .shortcode-hero-banner)):not(.pt-100) { padding-top: 100px !important; }
}
@media (max-width: 767px) {
  /* shop grids: two products across on a phone */
  .row:has(> [class*="col-"] > .product-card__inner) { --bs-gutter-x: 14px; --bs-gutter-y: 18px; }
  .row:has(> [class*="col-"] > .product-card__inner) > [class*="col-"] { flex: 0 0 50%; max-width: 50%; width: 50%; }
  .product-card__row { flex-direction: column !important; align-items: flex-start !important; gap: 2px !important; }
  .product-card__title { font-size: 15px; line-height: 1.3; }
  .product-card__price { margin: 0; font-weight: 700; }
}
@media (max-width: 767px) {
  .product-card__thumb { height: auto !important; aspect-ratio: 1 / 1; }
  .product-card__thumb .product-card__img-link, .product-card__thumb img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
}
@media (max-width: 767px) {
  .scroll-section .item, .scroll-section .item:first-child, .scroll-section .item:not(:first-child) { position: relative !important; min-height: 0 !important; height: auto !important; transform: none !important; }
  .sec-2-about .row.pb-120, .sec-2-about .pb-120 { padding-bottom: 32px !important; }
  .sec-2-about .pt-60 { padding-top: 24px !important; }
}

/* ===== Comparison pages: AI buttons, "What are you using now?", tables, fair-play boxes ===== */
.opick__head { text-align: center; max-width: 680px; margin: 0 auto 26px; }
.opick__eyebrow { display: block; font: 600 13px/1 var(--primary-font), sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #E8450A; margin-bottom: 14px; }
.opick__head p { margin: 0; opacity: .8; }
.opick__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; max-width: 900px; margin: 0 auto; }
.opick__chip { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 22px; border-radius: 999px; border: 1.5px solid rgba(17, 13, 10, .16); font: 600 16px/1 var(--primary-font), sans-serif; color: inherit !important; text-decoration: none; transition: border-color .2s, background .2s, transform .2s; }
[data-bs-theme="dark"] .opick__chip { border-color: rgba(255, 255, 255, .25); }
.opick__chip:hover { border-color: #FF8A14; background: rgba(255, 138, 20, .1); transform: translateY(-2px); }
.opick__chip--wa { border-color: #FF8A14; }
.ocmp { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 15px; }
.ocmp th, .ocmp td { padding: 14px 16px; border-bottom: 1px solid rgba(120, 110, 100, .25); vertical-align: top; text-align: left; }
.ocmp thead th { font: 700 13px/1.2 var(--primary-font), sans-serif; letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
.ocmp td:first-child { font-weight: 600; width: 22%; }
.ocmp td:nth-child(2), .ocmp th:nth-child(2) { background: rgba(255, 138, 20, .1); }
.ocmp thead th:nth-child(2) { color: #E8450A; opacity: 1; border-radius: 14px 14px 0 0; }
.ocmp .na { opacity: .6; font-style: italic; }
.ocmp-fair { border-left: 4px solid #FF8A14; background: rgba(255, 138, 20, .08); border-radius: 0 16px 16px 0; padding: 18px 22px; margin: 0 0 18px; }
.ocmp-fair h3 { margin: 0 0 8px; font-size: 20px; } .ocmp-fair ul { margin: 0; padding-left: 20px; } .ocmp-fair li { margin-bottom: 6px; }
.ocmp-src { font-size: 13px; opacity: .75; line-height: 1.6; } .ocmp-src a { text-decoration: underline; }
.ocmp-pick { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.ocmp-gloss dt { font-weight: 700; margin-top: 14px; } .ocmp-gloss dd { margin: 4px 0 0; opacity: .85; }
@media (max-width: 767px) {
  .opick__chip { flex: 1 1 calc(50% - 12px); justify-content: space-between; padding: 12px 16px; font-size: 15px; }
  .ocmp { font-size: 14px; } .ocmp th, .ocmp td { padding: 10px 10px; } .ocmp td:first-child { width: 28%; }
}
.ocmp td a { display: inline-block; padding: 8px 0; min-height: 36px; }

/* ===== Plan ladder (Free POS, Online, Plus, AI Ultra) ===== */
.opl { --o-ink: #1B1511; --o-mut: #6F665E; --o-panel: #FFFFFF; --o-line: #DDD6CE; color: var(--o-ink); }
[data-bs-theme="dark"] .opl { --o-ink: #F1EDF7; --o-mut: #B9B1C7; --o-panel: #1E1628; --o-line: #3A2D48; }
.opl__head { text-align: center; max-width: 720px; margin: 0 auto 22px; }
.opl__eyebrow { display: block; font: 600 13px/1 var(--primary-font), sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #E8450A; margin-bottom: 14px; }
.opl__head h2 { margin: 0 0 12px; } .opl__head p { margin: 0; color: var(--o-mut); }
.opl__switch { display: flex; justify-content: center; gap: 6px; margin: 0 auto 28px; padding: 5px; width: max-content; max-width: 100%; border: 1px solid var(--o-line); border-radius: 999px; }
.opl__sw { border: 0; background: transparent; color: var(--o-ink); border-radius: 999px; padding: 11px 20px; min-height: 44px; font: 600 15px/1 var(--primary-font), sans-serif; cursor: pointer; }
.opl__sw em { font-style: normal; font-size: 12px; color: #14935A; margin-left: 6px; }
.opl__sw[aria-pressed="true"] { background: #1B1511; color: #fff; } .opl__sw[aria-pressed="true"] em { color: #FFC247; }
[data-bs-theme="dark"] .opl__sw[aria-pressed="true"] { background: #FF8A14; color: #1A1020; } [data-bs-theme="dark"] .opl__sw[aria-pressed="true"] em { color: #1A1020; }
.opl__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.opl__card { position: relative; background: var(--o-panel); border: 1.5px solid var(--o-line); border-radius: 24px; padding: 26px 22px; display: flex; flex-direction: column; gap: 12px; }
.opl__card.is-popular { border-color: #FF8A14; box-shadow: 0 0 0 3px rgba(255, 138, 20, .16); }
.opl__card.is-free { background: linear-gradient(180deg, rgba(61, 220, 151, .12), transparent 60%), var(--o-panel); }
.opl__badge { position: absolute; top: -12px; left: 22px; background: #FF8A14; color: #1A1020; font: 700 12px/1 var(--primary-font), sans-serif; padding: 7px 12px; border-radius: 999px; }
.opl__card h3 { margin: 0; font-size: 22px; } .opl__tag { margin: 0; min-height: 44px; color: var(--o-mut); font-size: 14px; }
.opl__price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.opl__amt { font-size: 32px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; } .opl__per { color: var(--o-mut); font-size: 14px; }
.opl__note { margin: 0; font-size: 13px; color: var(--o-mut); min-height: 20px; }
.opl__btn { display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 999px; background: #1B1511; color: #fff !important; font: 700 15px/1 var(--primary-font), sans-serif; text-decoration: none; }
[data-bs-theme="dark"] .opl__btn { background: #FF8A14; color: #1A1020 !important; }
.is-popular .opl__btn { background: #FF8A14; color: #1A1020 !important; }
.opl__list { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; font-size: 14.5px; }
.opl__list li { padding-left: 24px; position: relative; } .opl__list li::before { content: ""; position: absolute; left: 0; top: 6px; width: 12px; height: 7px; border-left: 2.5px solid #3DDC97; border-bottom: 2.5px solid #3DDC97; transform: rotate(-45deg); }
.opl__ent { text-align: center; margin: 22px 0 0; }
.opl[data-bill="yearly"] .m, .opl[data-bill="monthly"] .y { display: none; }
@media (max-width: 1199px) { .opl__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .opl__grid { grid-template-columns: minmax(0, 1fr); } .opl__tag { min-height: 0; } .opl__amt { font-size: 30px; } }
.ocalc__tr i.red { background: #D4123F; }

/* ---- ask your own AI (calm, on-brand) ---- */
.oaic { --o-ink: #1B1511; --o-mut: #5F564E; --o-panel: #FFFFFF; --o-line: #E4DCD2; color: var(--o-ink); }
[data-bs-theme="dark"] .oaic { --o-ink: #F1EDF7; --o-mut: #B9B1C7; --o-panel: #1E1628; --o-line: #3A2D48; }
.oaic__box { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 28px 40px; align-items: center; background: var(--o-panel); border: 1px solid var(--o-line); border-radius: 28px; padding: 36px 40px; position: relative; overflow: hidden; }
.oaic__box::before { content: ""; position: absolute; left: 0; top: 28px; bottom: 28px; width: 5px; border-radius: 0 4px 4px 0; background: linear-gradient(#FF8A14, #E8450A); }
.oaic__eyebrow { display: block; font: 700 12px/1 var(--primary-font), sans-serif; letter-spacing: .16em; color: #E8450A; margin-bottom: 12px; }
.oaic__box h2 { margin: 0 0 10px; color: var(--o-ink); font-size: clamp(26px, 3.2vw, 38px); line-height: 1.12; }
.oaic__box p { margin: 0; color: var(--o-mut); max-width: 520px; }
.oaic__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.oaic__btn { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 18px 8px 10px; border-radius: 999px; border: 1px solid var(--o-line); background: transparent; color: var(--o-ink) !important; font: 600 15px/1 var(--primary-font), sans-serif; text-decoration: none; transition: border-color .2s, background .2s, transform .2s; }
.oaic__btn:hover { border-color: #FF8A14; background: rgba(255, 138, 20, .1); transform: translateY(-1px); }
.oaic__dot { width: 30px; height: 30px; border-radius: 50%; background: #1B1511; color: #fff; display: inline-flex; align-items: center; justify-content: center; font: 700 14px/1 var(--primary-font), sans-serif; }
[data-bs-theme="dark"] .oaic__dot { background: #FF8A14; color: #1B1511; }
@media (max-width: 767px) { .oaic__box { grid-template-columns: 1fr; padding: 28px 20px 28px 24px; border-radius: 22px; } .oaic__btn { flex: 1 1 calc(50% - 10px); } }

/* ---- get the app: device tabs ---- */
.oga { --o-ink: #1B1511; --o-mut: #5F564E; --o-panel: #FFFFFF; --o-line: #E4DCD2; --o-alt: #F6F2EC; color: var(--o-ink); }
[data-bs-theme="dark"] .oga { --o-ink: #F1EDF7; --o-mut: #B9B1C7; --o-panel: #1E1628; --o-line: #3A2D48; --o-alt: #2A1F36; }
.oga__box { background: var(--o-panel); border: 1px solid var(--o-line); border-radius: 28px; padding: 36px 40px; }
.oga__eyebrow { display: block; font: 700 12px/1 var(--primary-font), sans-serif; letter-spacing: .16em; color: #E8450A; margin-bottom: 12px; }
.oga__head h2 { margin: 0 0 8px; color: var(--o-ink); font-size: clamp(26px, 3.2vw, 38px); line-height: 1.12; }
.oga__head p { margin: 0 0 6px; color: var(--o-mut); }
.oga__tabs { display: flex; gap: 8px; margin: 22px 0 22px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.oga__tabs::-webkit-scrollbar { display: none; }
.oga__tab { flex: 0 0 auto; border: 1px solid var(--o-line); background: transparent; color: var(--o-ink); border-radius: 999px; min-height: 44px; padding: 0 20px; font: 600 15px/1 var(--primary-font), sans-serif; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.oga__tab:hover { border-color: #FF8A14; }
.oga__tab.is-on { background: #1B1511; border-color: #1B1511; color: #fff; }
[data-bs-theme="dark"] .oga__tab.is-on { background: #FF8A14; border-color: #FF8A14; color: #1B1511; }
.oga__panel { background: var(--o-alt); border-radius: 20px; padding: 26px 28px; }
.oga__panel h3 { margin: 0 0 8px; color: var(--o-ink); font-size: 22px; }
.oga__panel p { margin: 0 0 18px; color: var(--o-mut); max-width: 620px; }
.oga__btn { display: inline-flex; align-items: center; min-height: 50px; padding: 0 26px; border-radius: 999px; background: linear-gradient(135deg, #FF8A14, #E8450A); color: #fff !important; font: 700 16px/1 var(--primary-font), sans-serif; text-decoration: none; box-shadow: 0 8px 22px rgba(232, 69, 10, .28); transition: transform .2s, box-shadow .2s; }
.oga__btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(232, 69, 10, .34); }
.oga__note { display: block; margin-top: 12px; font-size: 13px; color: var(--o-mut); }
.oga__more { margin: 16px 0 0; font-size: 14px; } .oga__more a { color: #E8450A; font-weight: 600; text-decoration: none; }
@media (max-width: 767px) { .oga__box { padding: 28px 18px; border-radius: 22px; } .oga__panel { padding: 20px 18px; } .oga__btn { width: 100%; justify-content: center; } }
