/*
 * 11.5.2 — final storefront polish + mobile auto-load correction.
 * Micro-refinements only: spacing, alignment, states, image containment,
 * form consistency and responsive finishing. No layout/design-system rewrite.
 */

/* ---------- Base finishing ---------- */
html { scrollbar-gutter: stable; }
body { overflow-x: clip; }
img { max-width: 100%; }
a, button, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
button, .nt-btn, .bm-btn, a.button { touch-action: manipulation; }

/* Keep the existing type scale, but improve wrapping on headings and labels. */
:where(h1,h2,h3) { text-wrap: balance; }
:where(p,.nt-section-heading__aside) { text-wrap: pretty; }

/* ---------- Header ---------- */
.nt-floating-header__inner {
    min-height: 68px;
    gap: 18px;
}
.nt-floating-header__brand,
.site-logo {
    min-width: 0;
}
.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
}
.site-custom-logo img,
.custom-logo {
    display: block;
    width: auto;
    height: 38px;
    object-fit: contain;
}
.nt-desktop-nav { gap: 4px; }
.nt-desktop-nav a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding-inline: 10px;
    border-radius: 8px;
    transition: color .16s ease, background-color .16s ease;
}
.nt-desktop-nav a:hover,
.nt-desktop-nav a:focus-visible {
    background: rgba(255,255,255,.045);
}
.nt-header-actions { align-items: center; gap: 8px; }
.nt-header-icon,
.nt-header-cart-badge,
.mobile-nav-toggle {
    flex: 0 0 auto;
}
.header-cart-btn { position: relative; }
.cart-count,
.nt-header-cart-badge .cart-count {
    font-variant-numeric: tabular-nums;
}

/* ---------- Buttons & controls ---------- */
.nt-btn,
.bm-btn,
.woocommerce a.button,
.woocommerce button.button,
button.single_add_to_cart_button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1.2;
}
.nt-btn i,
.bm-btn i { flex: 0 0 auto; }
.nt-btn:active,
.bm-btn:active,
.woocommerce a.button:active,
.woocommerce button.button:active {
    transform: translateY(0) scale(.985) !important;
}
.nt-btn[disabled],
.nt-btn[aria-disabled="true"],
.bm-btn[disabled],
.woocommerce button.button:disabled {
    cursor: not-allowed !important;
    opacity: .58 !important;
    transform: none !important;
}

/* ---------- Forms / filters ---------- */
:where(.bm-shop,.nt-single-product-v6,.nt-search-modal-v6,.nt-page-shell-v84) input:not([type="checkbox"]):not([type="radio"]),
:where(.bm-shop,.nt-single-product-v6,.nt-search-modal-v6,.nt-page-shell-v84) select,
:where(.bm-shop,.nt-single-product-v6,.nt-search-modal-v6,.nt-page-shell-v84) textarea {
    border-radius: 10px;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
:where(.bm-shop,.nt-single-product-v6,.nt-search-modal-v6,.nt-page-shell-v84) input:not([type="checkbox"]):not([type="radio"]):focus,
:where(.bm-shop,.nt-single-product-v6,.nt-search-modal-v6,.nt-page-shell-v84) select:focus,
:where(.bm-shop,.nt-single-product-v6,.nt-search-modal-v6,.nt-page-shell-v84) textarea:focus {
    border-color: color-mix(in srgb, var(--primary-color,#fd7702) 68%, white 4%);
    box-shadow: 0 0 0 3px rgba(253,119,2,.10);
}
::placeholder { color: color-mix(in srgb, var(--text-muted,#a1a1aa) 78%, transparent); opacity: 1; }

.bm-shop-toolbar {
    align-items: center;
    row-gap: 10px;
}
.bm-shop-result-count,
.woocommerce-result-count {
    margin: 0 !important;
    line-height: 1.5;
}

/* ---------- Service picker / live search ---------- */
.nt-service-picker__summary {
    transition: border-color .16s ease, background-color .16s ease;
}
.nt-service-picker__panel,
.nt-live-search-results {
    overscroll-behavior: contain;
}
.nt-service-picker__list,
.nt-live-search-results {
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,.20) transparent;
}
.nt-service-picker__list::-webkit-scrollbar,
.nt-live-search-results::-webkit-scrollbar { width: 8px; }
.nt-service-picker__list::-webkit-scrollbar-thumb,
.nt-live-search-results::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.16);
    border: 2px solid transparent;
    background-clip: padding-box;
    border-radius: 999px;
}
.nt-live-search-result {
    transition: background-color .14s ease;
}
.nt-live-search-result:hover,
.nt-live-search-result[aria-selected="true"] {
    background: rgba(255,255,255,.045);
}

/* ---------- Product-card finishing ---------- */
.nt-product-card-v6,
.nt-rate-card {
    isolation: isolate;
}
.nt-product-card-v6--compact .nt-product-card-v6__head {
    min-height: 56px;
}
.nt-product-card-v6__badge,
.nt-product-card-v6__media,
.nt-rate-card__media {
    transform: translateZ(0);
}
.nt-product-card-v6__badge img,
.nt-product-card-v6__media img,
.nt-rate-card__media img,
.nt-related-products-v92 .nt-product-card-v6__image img {
    image-rendering: auto;
}
.nt-product-card-v6--compact .nt-product-card-v6__body h3 {
    min-height: 2.6em;
}
.nt-product-card-v6--compact .nt-product-card-v6__body > p {
    min-height: 0;
}
.nt-product-card-v6__price-row {
    align-items: end;
    gap: 8px;
}
.nt-product-card-v6__price strong,
.nt-rate-card__price strong,
.woocommerce-Price-amount {
    font-variant-numeric: tabular-nums;
}
.nt-product-card-v6__actions--commerce {
    gap: 8px !important;
}
.nt-product-card-v6__actions--commerce > * {
    min-width: 0;
}
.nt-product-card-v6 a:focus-visible,
.nt-rate-card a:focus-visible {
    border-radius: 8px;
}

/* Avoid a sharp hover jump while retaining the established lift. */
.nt-product-card-v6,
.nt-rate-card,
.category-card,
.nt-category-directory-v6__item {
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

/* ---------- Auto-load finishing ---------- */
.nt-shop-autoload {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 26px;
}
.nt-autoload-control {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.nt-autoload-control__status {
    color: var(--text-muted,#a1a1aa);
    font-size: .8125rem;
}
.nt-autoload-control__sentinel {
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ---------- Single product ---------- */
.nt-product-gallery-v6 .woocommerce-product-gallery__image,
.nt-product-gallery-v6 .nt-curated-single-image,
.nt-auto-single-image {
    overflow: hidden;
}
.nt-product-gallery-v6 img {
    display: block;
    margin-inline: auto;
}
.nt-product-summary-v6 {
    min-width: 0;
}
.nt-product-summary-v6 h1 {
    overflow-wrap: anywhere;
}
.nt-product-price-v6__line {
    align-items: baseline;
    gap: 8px;
}
.nt-product-secondary-actions {
    flex-wrap: wrap;
    gap: 10px;
}
.nt-product-trust-micro {
    row-gap: 8px;
}
.nt-product-information__nav {
    scrollbar-width: none;
}
.nt-product-information__nav::-webkit-scrollbar { display: none; }

/* ---------- Footer ---------- */
.nt-footer-v6__groups { row-gap: 28px; }
.nt-footer-group__links a {
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.nt-footer-group__links a:hover {
    text-decoration: underline;
}
.nt-footer-v6__socials a {
    display: inline-grid;
    place-items: center;
    min-width: 40px;
    min-height: 40px;
}
.nt-footer-bottom {
    row-gap: 10px;
}

/* ---------- Small-screen finishing ---------- */
@media (max-width: 980px) {
    .nt-floating-header__inner { min-height: 62px; gap: 10px; }
    .site-custom-logo img,
    .custom-logo { height: 34px; }
    .bm-drawer__panel { overscroll-behavior: contain; }
}

@media (max-width: 639px) {
    .nt-product-card-v6--compact .nt-product-card-v6__head { min-height: 44px; }
    .nt-product-card-v6--compact .nt-product-card-v6__body h3 { min-height: 2.6em; }
    .nt-product-card-v6__actions--commerce .nt-btn { min-height: 42px !important; }
    .bm-shop-toolbar { align-items: stretch; }
    .nt-service-picker__summary { min-height: 54px; padding-inline: 12px; }
    .nt-service-picker__summary-hint { display: none; }
    .nt-footer-bottom { align-items: flex-start; }
}

@media (hover: none) {
    .nt-product-card-v6:hover,
    .nt-rate-card:hover,
    .category-card:hover,
    .nt-category-directory-v6__item:hover {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nt-product-card-v6,
    .nt-rate-card,
    .category-card,
    .nt-category-directory-v6__item,
    .nt-btn,
    .bm-btn {
        transition: none !important;
    }
}


/* 11.5.2 — mobile catalog auto-load correction.
 * Keep the auto-load UI below the product grid. The 11.5.1 polish layer made
 * .nt-shop-autoload a horizontal flex row, which could place the loader beside
 * the WooCommerce grid on narrow screens and squeeze the catalog.
 */
.nt-shop-autoload{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:26px;
}
.nt-shop-autoload > ul.products{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}
.nt-shop-autoload .nt-autoload-control{
    width:100% !important;
    max-width:100% !important;
    min-height:48px;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px;
    clear:both;
    margin:20px 0 4px !important;
    padding:4px 12px;
    text-align:center;
}
.nt-shop-autoload .nt-autoload-control__status{
    max-width:100%;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
}
.nt-shop-autoload .nt-autoload-control__sentinel{
    left:50% !important;
    right:auto !important;
    width:1px !important;
    transform:translateX(-50%);
}

/* Do not let compact card header/status copy spill outside a two-column phone grid. */
@media (max-width: 639px){
    .nt-product-card-v6--compact .nt-product-card-v6__head{
        gap:9px;
    }
    .nt-product-card-v6--compact .nt-product-card-v6__headmeta{
        min-width:0;
        max-width:calc(100% - 53px);
        overflow:hidden;
    }
    .nt-product-card-v6--compact .nt-product-card-v6__status{
        width:auto !important;
        max-width:100% !important;
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .nt-shop-autoload .nt-autoload-control{
        margin-top:14px !important;
        min-height:42px;
        padding-inline:6px;
    }
    .nt-shop-autoload .nt-autoload-control__status{
        font-size:.72rem;
        line-height:1.35;
    }
}

/* On very narrow phones, preserve readability instead of forcing crushed cards. */
@media (max-width: 360px){
    body .nt-shop-results-v84 ul.products,
    body .woocommerce ul.products{
        grid-template-columns:minmax(0,1fr) !important;
    }
}


/* 11.5.3 — resilient manual fallback for infinite loading */
.nt-shop-autoload .nt-autoload-control__button:not([hidden]){display:inline-flex!important;align-items:center;justify-content:center;margin:2px auto 0;min-width:170px}
.nt-shop-autoload .nt-autoload-control__button:disabled{opacity:.55;cursor:wait}
@media(max-width:639px){.nt-shop-autoload .nt-autoload-control__button:not([hidden]){width:min(100%,260px);min-height:44px}}


/* 11.5.4 — reliable hybrid catalog loading */
.nt-shop-autoload .nt-autoload-control{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;clear:both;width:100%!important;max-width:100%!important;margin:20px 0 4px!important}
.nt-shop-autoload .nt-autoload-control__button:not([hidden]){display:inline-flex!important;min-width:170px;align-items:center;justify-content:center}
.nt-shop-autoload .nt-autoload-control.is-complete .nt-autoload-control__button{display:none!important}
.nt-shop-autoload .nt-autoload-control__status{min-height:1.35em;text-align:center}
@media(max-width:639px){.nt-shop-autoload .nt-autoload-control__button:not([hidden]){width:min(100%,260px);min-height:44px}.nt-shop-autoload .nt-autoload-control{margin-top:14px!important}}


/* 11.5.5 — seamless auto-load: zero blank space during normal loading.
 * The loader/control is collapsed to a 1px sentinel unless automatic loading
 * actually fails. Only then does the Load more fallback expand into view.
 */
.nt-shop-autoload{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:0!important;
}
.nt-shop-autoload > ul.products{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-bottom:0!important;
}
.nt-shop-autoload .nt-autoload-control{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:1px!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    clear:both!important;
    text-align:center;
}
.nt-shop-autoload .nt-autoload-control__button,
.nt-shop-autoload .nt-autoload-control__status{
    display:none!important;
}
.nt-shop-autoload .nt-autoload-control__sentinel{
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:0!important;
    bottom:auto!important;
    width:1px!important;
    height:1px!important;
    transform:translateX(-50%)!important;
    pointer-events:none!important;
}
.nt-shop-autoload.is-loading .nt-autoload-control__status::before{
    content:none!important;
    display:none!important;
}
.nt-shop-autoload .nt-autoload-control.is-fallback-visible{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    height:auto!important;
    min-height:56px!important;
    margin:16px 0 4px!important;
    padding:6px 8px!important;
    overflow:visible!important;
}
.nt-shop-autoload .nt-autoload-control.is-fallback-visible .nt-autoload-control__button:not([hidden]){
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:170px!important;
    margin:0 auto!important;
}
.nt-shop-autoload .nt-autoload-control.is-fallback-visible .nt-autoload-control__status{
    display:block!important;
    min-height:0!important;
    max-width:100%!important;
    color:var(--text-muted,#a1a1aa)!important;
    font-size:.76rem!important;
    line-height:1.35!important;
    text-align:center!important;
    white-space:normal!important;
}
.nt-shop-autoload .nt-autoload-control.is-complete{
    display:block!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}
@media(max-width:639px){
    .nt-shop-autoload .nt-autoload-control.is-fallback-visible{
        min-height:50px!important;
        margin:12px 0 2px!important;
        padding-inline:4px!important;
    }
    .nt-shop-autoload .nt-autoload-control.is-fallback-visible .nt-autoload-control__button:not([hidden]){
        width:min(100%,260px)!important;
        min-height:44px!important;
    }
}


/* 11.5.7 — clear header Login/Panel + Shop actions, same existing visual language. */
.nt-header-primary-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
}
.nt-header-login-cta,
.nt-header-shop-cta{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:0 14px;
    border-radius:9px;
    font-size:.78rem;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
    text-decoration:none;
    transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease;
}
.nt-header-login-cta{
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.035);
    color:var(--text-main);
}
.nt-header-login-cta:hover{
    border-color:rgba(253,119,2,.52);
    background:rgba(253,119,2,.08);
    color:#fff;
    transform:translateY(-1px);
}
.nt-header-shop-cta{
    border:1px solid var(--primary-color);
    background:var(--primary-color);
    color:#fff;
}
.nt-header-shop-cta:hover{
    border-color:var(--primary-strong,var(--primary-color));
    background:var(--primary-strong,var(--primary-color));
    color:#fff;
    transform:translateY(-1px);
}
.nt-header-login-cta .nt-icon-svg,
.nt-header-shop-cta .nt-icon-svg{width:16px;height:16px;flex:0 0 auto}

/* The new text buttons replace the duplicate desktop account icon/legacy CTA. */
@media(min-width:901px){
    .nt-account-link{display:none !important}
}

/* Mobile keeps the header uncluttered; Login/Shop are already first-class actions in the drawer. */
@media(max-width:900px){
    .nt-header-primary-actions{display:none}
}

@media(max-width:1080px) and (min-width:901px){
    .nt-header-login-cta,.nt-header-shop-cta{padding-inline:11px;font-size:.72rem}
    .nt-header-primary-actions{gap:6px}
}

/* ========================================================================
   11.6.3 VISUAL REFINEMENT
   Keeps the 11.6.1 typography, proportions and layout intact.
   Only micro-interactions, focus clarity and surface finishing live here.
   ======================================================================== */

/* Crisp keyboard focus without changing element dimensions. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
    outline:2px solid rgba(253,119,2,.88);
    outline-offset:3px;
}

/* Header: same geometry, slightly cleaner separation from the page. */
.nt-floating-header{
    box-shadow:0 18px 54px rgba(0,0,0,.30);
}
.nt-desktop-nav>a,
.nt-desktop-nav .menu-item>a,
.nt-header-icon,
.nt-header-search,
.nt-header-currency,
.nt-shop-deals-cta{
    transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.nt-desktop-nav>a:hover,
.nt-desktop-nav .menu-item>a:hover{
    color:#fff;
}
.nt-header-icon:hover,
.nt-header-search:hover,
.nt-header-currency:hover{
    border-color:rgba(255,255,255,.18);
    background:rgba(255,255,255,.055);
}

/* Buttons: preserve size and typography; just make states feel finished. */
.bm-btn,
.nt-btn,
button.button,
.woocommerce a.button,
.woocommerce button.button{
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease;
}
.bm-btn:hover,
.nt-btn:hover,
button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover{
    transform:translateY(-1px);
}
.bm-btn:active,
.nt-btn:active,
button.button:active,
.woocommerce a.button:active,
.woocommerce button.button:active{
    transform:translateY(0);
}

/* Product cards: same card size and content density, cleaner depth. */
.nt-product-card-v6{
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.nt-product-card-v6:hover{
    transform:translateY(-2px);
    border-color:rgba(253,119,2,.22)!important;
    box-shadow:0 16px 34px rgba(0,0,0,.20);
}
.nt-product-card-v6__image img{
    transition:transform .22s ease;
}
.nt-product-card-v6:hover .nt-product-card-v6__image img{
    transform:scale(1.015);
}

/* Catalog picker: full catalog stays exactly as functional; only visual states improve. */
.nt-service-picker__summary,
.nt-service-picker__item,
.nt-service-picker__search-wrap input{
    transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease;
}
.nt-service-picker[open] .nt-service-picker__summary{
    box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.nt-service-picker__item:hover,
.nt-service-picker__item:focus-visible{
    background:rgba(255,255,255,.045);
}
.nt-service-picker__search-wrap input:focus{
    box-shadow:0 0 0 3px rgba(253,119,2,.10);
}
.nt-service-picker__list{
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.22) transparent;
}

/* Forms: visually consistent, no layout change. */
:where(.bm-page,.woocommerce,.nt-page-shell-v84) input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
:where(.bm-page,.woocommerce,.nt-page-shell-v84) select,
:where(.bm-page,.woocommerce,.nt-page-shell-v84) textarea{
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
:where(.bm-page,.woocommerce,.nt-page-shell-v84) input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,
:where(.bm-page,.woocommerce,.nt-page-shell-v84) select:focus,
:where(.bm-page,.woocommerce,.nt-page-shell-v84) textarea:focus{
    border-color:rgba(253,119,2,.66)!important;
    box-shadow:0 0 0 3px rgba(253,119,2,.09)!important;
}

/* Keep long product/catalog text from creating ugly overflow without changing font sizes. */
.nt-product-card-v6__body h3,
.nt-service-picker__item-copy strong,
.bm-showcase-item__info strong{
    overflow-wrap:anywhere;
}

/* Mobile touch polish only; no grid or typography changes. */
@media(max-width:768px){
    .bm-btn,.nt-btn,.nt-service-picker__summary,.nt-service-picker__item,.nt-header-icon,.mobile-nav-toggle{
        touch-action:manipulation;
    }
    .nt-service-picker__list{-webkit-overflow-scrolling:touch}
}

@media(prefers-reduced-motion:reduce){
    .bm-btn,.nt-btn,.nt-product-card-v6,.nt-product-card-v6__image img,.nt-service-picker__summary,.nt-service-picker__item{
        transition:none!important;
        transform:none!important;
    }
}

/* ========================================================================== */
/* 11.6.4 — premium visual finishing                                          */
/* Keeps the 11.6.1 Inter typography, short headings and page structure.      */
/* ========================================================================== */

/* A quieter premium canvas: detail is concentrated around content, not type. */
body.nt-v6,
body{
    --nt-polish-edge:rgba(255,255,255,.115);
    --nt-polish-edge-soft:rgba(255,255,255,.07);
    --nt-polish-shadow:0 16px 44px rgba(0,0,0,.22);
    --nt-polish-shadow-hover:0 22px 56px rgba(0,0,0,.32);
}

/* Header — same geometry, cleaner depth and active feel. */
.nt-floating-header{
    background:rgba(17,17,20,.93)!important;
    border-bottom-color:rgba(255,255,255,.08)!important;
    box-shadow:0 10px 36px rgba(0,0,0,.16)!important;
    backdrop-filter:blur(16px) saturate(130%)!important;
    -webkit-backdrop-filter:blur(16px) saturate(130%)!important;
}
.nt-desktop-nav a{position:relative}
.nt-desktop-nav a:after{
    content:"";position:absolute;left:11px;right:11px;bottom:4px;height:2px;border-radius:99px;
    background:var(--primary-color);transform:scaleX(0);transform-origin:center;transition:transform .16s ease;
}
.nt-desktop-nav a:hover:after,
.nt-desktop-nav a[aria-current="page"]:after{transform:scaleX(1)}

/* Hero — preserve the compact headline; improve composition around it. */
.bm-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
      radial-gradient(circle at 11% 18%,rgba(253,119,2,.10),transparent 30rem),
      radial-gradient(circle at 88% 24%,rgba(14,165,233,.055),transparent 28rem),
      var(--dark-bg)!important;
}
.bm-hero:before{
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.28;
    background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
    background-size:54px 54px;
    -webkit-mask-image:linear-gradient(to bottom,#000,transparent 82%);mask-image:linear-gradient(to bottom,#000,transparent 82%);
}
.bm-hero__grid{position:relative;gap:clamp(38px,6vw,78px)}
.bm-hero__copy{min-width:0}
.bm-hero .bm-eyebrow{
    display:inline-flex;align-items:center;max-width:100%;margin-bottom:16px;padding:6px 10px;
    border:1px solid rgba(253,119,2,.20);border-radius:999px;background:rgba(253,119,2,.07);
    letter-spacing:.085em;font-size:.69rem;white-space:normal;
}
.bm-hero .bm-display{max-width:760px;letter-spacing:-.045em}
.bm-hero__lead{max-width:54ch;color:#b7bac4}
.bm-hero-search{
    border-color:rgba(255,255,255,.14)!important;
    background:rgba(20,20,24,.76)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.24)!important;
    backdrop-filter:blur(12px);
}
.bm-hero-search:focus-within{
    border-color:rgba(253,119,2,.60)!important;
    box-shadow:0 0 0 4px rgba(253,119,2,.08),0 22px 52px rgba(0,0,0,.28)!important;
}
.bm-hero-search__categories a{transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease}
.bm-hero-search__categories a:hover{background:rgba(253,119,2,.07);transform:translateY(-1px)}
.bm-hero__actions .bm-btn--primary{box-shadow:0 10px 24px rgba(253,119,2,.18)}
.bm-hero__actions .bm-btn--primary:hover{box-shadow:0 14px 30px rgba(253,119,2,.25);transform:translateY(-1px)}
.bm-hero__proof{gap:8px 10px}
.bm-hero__proof li{
    padding:7px 11px 7px 27px;border:1px solid rgba(255,255,255,.075);border-radius:999px;
    background:rgba(255,255,255,.025);font-size:.78rem;color:#b9bcc5;
}
.bm-hero__proof li:before{left:12px;width:5px;height:5px;margin-top:-2.5px;box-shadow:0 0 0 4px rgba(253,119,2,.08)}

/* Showcase — still the same content, but it now reads as a focal product panel. */
.bm-showcase-card{
    position:relative;overflow:hidden;
    background:linear-gradient(180deg,#2a2a2d 0%,#232326 100%)!important;
    border-color:rgba(255,255,255,.12)!important;
    border-radius:20px!important;
    box-shadow:0 28px 70px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.035)!important;
}
.bm-showcase-card:before{
    content:"";position:absolute;right:-88px;top:-96px;width:250px;height:250px;border-radius:50%;pointer-events:none;
    background:radial-gradient(circle,rgba(253,119,2,.15),transparent 68%);
}
.bm-showcase-card__head,.bm-showcase-card__list,.bm-showcase-card__foot{position:relative;z-index:1}
.bm-showcase-item{
    border-color:rgba(255,255,255,.075)!important;
    background:rgba(255,255,255,.025)!important;
    border-radius:12px!important;
    transition:transform .16s ease,border-color .16s ease,background-color .16s ease!important;
}
.bm-showcase-item:hover{transform:translateX(3px);background:rgba(255,255,255,.05)!important;border-color:rgba(253,119,2,.42)!important}
.bm-showcase-item__icon{border-radius:10px!important;box-shadow:inset 0 1px rgba(255,255,255,.05)}

/* Section rhythm — stronger separation without changing section order. */
.bm-section{position:relative}
.bm-section--band{background:#202023!important;border-block-color:rgba(255,255,255,.075)!important}
.bm-section__head{margin-bottom:clamp(28px,3.6vw,46px)}
.bm-section__head .bm-eyebrow{margin-bottom:11px}
.bm-section__lead{color:#aaaeb8}

/* Category cards: more intentional hierarchy, same grid and content. */
.bm-cat{
    position:relative;overflow:hidden;
    background:linear-gradient(180deg,#29292c,#252528)!important;
    border-color:rgba(255,255,255,.09)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.11);
}
.bm-cat:before{
    content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--primary-color),transparent 74%);opacity:.0;transition:opacity .18s ease;
}
.bm-cat:hover{border-color:rgba(253,119,2,.48)!important;box-shadow:var(--nt-polish-shadow)!important;transform:translateY(-3px)}
.bm-cat:hover:before{opacity:1}
.bm-cat__icon{border:1px solid rgba(253,119,2,.20);box-shadow:inset 0 1px rgba(255,255,255,.035)}
.bm-cat__go{display:inline-flex;align-items:center;gap:6px}

/* Live catalog/product cards — keep compact information density, improve finish. */
.nt-product-card-v6,
.nt-product-card-v6--compact{
    background:linear-gradient(180deg,#29292c 0%,#242427 100%)!important;
    border-color:rgba(255,255,255,.09)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.12)!important;
}
.nt-product-card-v6:hover,
.nt-product-card-v6--compact:hover{
    border-color:rgba(253,119,2,.50)!important;
    box-shadow:var(--nt-polish-shadow-hover)!important;
}
.nt-product-card-v6__badge{
    border:1px solid rgba(255,255,255,.09);
    background:#1d1d20!important;
    box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.nt-product-card-v6--compact .nt-product-card-v6__eyebrow{letter-spacing:.055em}
.nt-product-card-v6--compact .nt-product-card-v6__body h3{font-weight:700;letter-spacing:-.018em;color:#f5f5f7}
.nt-product-card-v6--compact .nt-product-card-v6__body>p{color:#a8abb5}
.nt-product-card-v6__price strong{letter-spacing:-.025em}
.nt-product-card-v6__actions--commerce .nt-btn,
.nt-product-card-v6__actions--commerce .bm-btn{border-radius:9px!important}

/* All services — make the full-catalog control look deliberate, not utilitarian. */
.nt-service-picker-wrap{margin-bottom:18px}
.nt-service-picker__summary{
    min-height:64px!important;padding:11px 14px!important;
    background:linear-gradient(180deg,#2b2b2e,#262629)!important;
    border-color:rgba(255,255,255,.11)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.13);
    transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.nt-service-picker__summary:hover{border-color:rgba(253,119,2,.42)!important;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.nt-service-picker[open] .nt-service-picker__summary{border-color:rgba(253,119,2,.65)!important;box-shadow:0 0 0 3px rgba(253,119,2,.07)}
.nt-service-picker__summary-icon{width:40px!important;height:40px!important;flex-basis:40px!important;border:1px solid rgba(253,119,2,.22)}
.nt-service-picker__summary-copy strong{font-size:.96rem!important;letter-spacing:-.015em}
.nt-service-picker__summary-hint{padding:5px 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.025)}
.nt-service-picker__panel{
    border-color:rgba(255,255,255,.11)!important;
    background:#222225!important;
    border-radius:16px!important;
    box-shadow:0 28px 72px rgba(0,0,0,.42)!important;
}
.nt-service-picker__search-wrap{padding:12px!important;background:#252528!important}
.nt-service-picker__search-wrap input{height:44px!important;background:#18181b!important;border-color:rgba(255,255,255,.10)!important}
.nt-service-picker__item{min-height:58px!important;border:1px solid transparent;transition:background-color .13s ease,border-color .13s ease}
.nt-service-picker__item:hover,.nt-service-picker__item:focus-visible{background:#2b2b2f!important;border-color:rgba(255,255,255,.07)}
.nt-service-picker__price{font-variant-numeric:tabular-nums}

/* Supporting panels, FAQs and CTA use one coherent finish. */
.bm-checklist,.bm-points,.bm-cta__inner{
    border-color:rgba(255,255,255,.09)!important;
    box-shadow:0 14px 38px rgba(0,0,0,.12);
}
.bm-cta__inner{
    background:linear-gradient(135deg,#29292c,#242427)!important;
    border-left-color:var(--primary-color)!important;
}
.bm-faq__q{transition:color .15s ease,padding-left .15s ease}
.bm-faq__q:hover{padding-left:4px}

/* Footer: stronger end-of-page separation. */
.nt-footer-v6{border-top-color:rgba(255,255,255,.09)!important;background:#141416!important}

/* Mobile: preserve density and keep the hero impressive without becoming tall. */
@media(max-width:900px){
    .bm-hero{padding-block:clamp(42px,8vw,64px)!important}
    .bm-hero__grid{gap:30px!important}
    .bm-hero .bm-display{letter-spacing:-.04em}
    .bm-showcase-card{border-radius:16px!important}
}
@media(max-width:639px){
    .bm-hero .bm-eyebrow{font-size:.62rem;padding:5px 8px;margin-bottom:13px}
    .bm-hero__lead{margin-top:16px;line-height:1.65}
    .bm-hero-search{margin-top:20px!important}
    .bm-hero__actions{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .bm-hero__actions .bm-btn{width:100%;padding-inline:12px}
    .bm-hero__proof{margin-top:18px;gap:7px}
    .bm-hero__proof li{padding:6px 9px 6px 24px;font-size:.72rem}
    .bm-cat{padding:18px 14px}
    .nt-product-card-v6--compact{border-radius:14px!important}
    .nt-service-picker__summary{min-height:58px!important}
    .nt-service-picker__panel{border-radius:14px!important}
}
