/* GRC mobile composition. Desktop (981px+) retains its accepted styles. */
.grc-mobile-only { display: none; }
.grc-home-mobile-photo { display: none; }
.grc-mobile-carousel-dots { display: none; }
html.grc-mobile-overlay-open { overflow: hidden; }

@media (max-width: 980px) {
  html.grc-gallery-open { overflow: hidden; }
  body.grc-shell-on, body.grc-shell-on.home { padding-top: calc(64px + env(safe-area-inset-top)); }
  .grc-head { height: calc(64px + env(safe-area-inset-top)); padding-top: env(safe-area-inset-top); }
  .grc-head__bar { display: flex; width: calc(100% - 32px); gap: 0; }
  .grc-head__logo { margin-right: auto; flex: 0 0 auto; }
  .grc-head__logo img { width: 94px; height: 26px; object-fit: contain; }
  .grc-head__tools { gap: 0; margin-left: auto; }
  .grc-head__burger { order: 3; display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; }
  .grc-head__burger svg { width: 24px; height: 24px; }
  .grc-head__nav, .grc-head__nav.is-open { display: none; }
  .grc-head::before, .grc-head::after { opacity: 0.18; }
  .grc-head .grc-icon-btn { flex: 0 0 44px; }
  .grc-mobile-menu, .grc-mobile-sheet { color: #f5f6f7; background: #111317; border: 0; padding: 0; max-width: none; max-height: none; }
  .grc-mobile-menu[open] { display: flex; flex-direction: column; width: 100%; height: min(100dvh,var(--grc-visible-height,100dvh)); margin: 0; inset: 0; }
  .grc-mobile-menu::backdrop, .grc-mobile-sheet::backdrop { background: rgba(7,8,11,.76); }
  .grc-mobile-menu [hidden], .grc-mobile-sheet [hidden] { display: none !important; }
  .grc-mobile-sheet__head { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: calc(10px + env(safe-area-inset-top)) 16px 10px; min-height: 64px; border-bottom: 1px solid #393f48; background: #07080b; }
  .grc-mobile-sheet__head h2 { flex: 1; margin: 0; color: #f5f6f7; font-size: 20px; line-height: 1.25; }
  .grc-mobile-sheet__head button { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #f5f6f7; font: 600 16px Barlow,sans-serif; }
  .grc-mobile-sheet__head svg { width: 24px; height: 24px; }
  .grc-mobile-menu__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 0 0 auto; padding: calc(8px + env(safe-area-inset-top)) 12px 8px 20px; min-height: 64px; background: transparent; }
  .grc-mobile-menu__logo { display: inline-flex; align-items: center; min-height: 44px; }
  .grc-mobile-menu__logo img { width: 112px; height: 28px; object-fit: contain; }
  .grc-mobile-menu__head button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #f5f6f7; }
  .grc-mobile-menu__head svg { width: 22px; height: 22px; }
  .grc-mobile-menu__body { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 8px 20px calc(20px + env(safe-area-inset-bottom)); }
  .grc-mobile-menu__item, .grc-mobile-menu__fold > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 48px; padding: 12px 0; border: 0; background: transparent; color: #f5f6f7; text-decoration: none; text-align: left; font: 500 16px/1.35 Barlow, sans-serif; cursor: pointer; list-style: none; }
  .grc-mobile-menu__fold > summary::-webkit-details-marker { display: none; }
  .grc-mobile-menu__fold > summary .grc-ico { flex: 0 0 18px; width: 18px; height: 18px; color: #9aa1ab; transition: transform .42s cubic-bezier(.22, 1, .36, 1); }
  .grc-mobile-menu__fold[open] > summary .grc-ico { transform: rotate(180deg); }
  .grc-mobile-menu__fold > .grc-mobile-menu__panel { display: grid; grid-template-rows: 0fr; }
  .grc-mobile-menu__fold[open] > .grc-mobile-menu__panel { grid-template-rows: 1fr; }
  .grc-mobile-menu__fold:not([open]) > .grc-mobile-menu__panel { pointer-events: none; }
  .grc-mobile-menu__panel > .grc-mobile-menu__grid { min-height: 0; overflow: hidden; }
  .grc-mobile-menu__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; padding: 0; }
  .grc-mobile-menu__grid a { display: flex; align-items: center; min-height: 40px; color: #d5d8de; text-decoration: none; font: 400 14px/1.35 Barlow, sans-serif; }
  .grc-mobile-menu__all, .grc-mobile-menu__label { grid-column: 1 / -1; }
  .grc-mobile-menu__grid a.grc-mobile-menu__all { min-height: 36px; color: #ff6a1a; font-weight: 600; }
  .grc-mobile-menu__label { margin: 10px 0 0; color: #8b929c; font: 600 11px/1.2 Barlow, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
  .grc-mobile-menu__card { display: block; margin-top: auto; padding: 16px; border: 1px solid rgba(245,246,247,.12); border-radius: 16px; background: #1b1e24; color: #f5f6f7; text-decoration: none; }
  .grc-mobile-menu__card strong { display: block; font: 700 16px/1.3 Barlow, sans-serif; }
  .grc-mobile-menu__card span { display: block; margin-top: 6px; color: #c9ccd4; font: 400 14px/1.45 Barlow, sans-serif; }
  .grc-mobile-menu__card span.grc-mobile-menu__card-btn { display: inline-flex; width: fit-content; align-items: center; justify-content: center; min-height: 36px; margin-top: 14px; padding: 0 16px; border-radius: 999px; background: #ff6a1a; color: #111317; font: 700 14px/1 Barlow, sans-serif; }
  .grc-mobile-menu :focus-visible { outline: 2px solid #ff6a1a; outline-offset: 3px; }
  .grc-mobile-only { display: flex; }
  .grc-mobile-filterbar { align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
  .grc-mobile-filterbar button, .grc-mobile-filterbar a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border: 1px solid #393f48; border-radius: 8px; padding: 0 16px; background: #1b1e24; color: #f5f6f7; font: 600 16px/1.3 Barlow,sans-serif; text-decoration: none; }
  .grc-mobile-filterbar svg { width: 24px; height: 24px; }
  .grc-catalog__layout, .grc-collect__layout { grid-template-columns: minmax(0,1fr); }
  .grc-catalog__bar, .grc-collect__bar { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
  .grc-catalog__bar p { flex: 1 1 140px; }
  .grc-sort { margin-left: auto; }
  .grc-sort__label { display: none; }
  .grc-sort__btn { min-height: 48px; max-width: 100%; font-size: 16px; }
  .grc-mobile-sheet[open] { display: flex; flex-direction: column; position: fixed; inset: auto 0 0; margin: 0 auto; width: 100%; height: min(80dvh,720px); border-radius: 16px 16px 0 0; overflow: hidden; }
  .grc-mobile-sheet__head { padding: 10px 16px; }
  .grc-mobile-sheet .grc-filters { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 16px 20px; }
  .grc-mobile-sheet .grc-filters > h2 { display: none; }
  .grc-mobile-sheet .grc-filters label { min-height: 44px; margin: 0; font-size: 16px; }
  .grc-mobile-sheet .grc-filters input[type=checkbox] { width: 20px; height: 20px; flex-shrink: 0; }
  .grc-mobile-sheet .grc-filters legend { font-size: 18px; }
  .grc-mobile-sheet .grc-filters fieldset { margin-top: 24px; }
  .grc-mobile-sheet summary { min-height: 48px; font-size: 18px; }
  .grc-mobile-sheet .grc-slider { --thumb: 28px; margin: 16px 0; height: 44px; }
  .grc-mobile-sheet .grc-slider input[type=range] { top: 8px; }
  .grc-mobile-sheet .grc-slider input[type=range]::-webkit-slider-thumb { margin-top: -12.5px; }
  .grc-mobile-sheet .grc-price__field { min-height: 48px; }
  .grc-mobile-sheet__actions { display: grid; grid-template-columns: 1fr 1.5fr; gap: 12px; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); background: #1b1e24; border-top: 1px solid #393f48; }
  .grc-mobile-sheet__actions button { min-height: 48px; border: 1px solid #393f48; border-radius: 8px; background: transparent; color: #f5f6f7; font: 700 16px Barlow,sans-serif; }
  .grc-mobile-sheet__actions .grc-mobile-apply { border: 0; background: #ff6a1a; color: #fff; }
  .grc-mobile-sort[open] { height: auto; max-height: 80dvh; }
  .grc-mobile-sort .grc-sort__list { position: static; display: block; width: 100%; min-height: 0; overflow-y: auto; box-shadow: none; border: 0; border-radius: 0; padding: 8px 16px calc(16px + env(safe-area-inset-bottom)); }
  .grc-mobile-sort .grc-sort__list button { min-height: 52px; padding: 12px; font-size: 16px; white-space: normal; }
  .grc-mobile-sort .grc-sort__list button[aria-selected=true]::after { content: ''; float: right; width: 8px; height: 14px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); margin-right: 8px; }
  .store-cart-drawer__panel { width: 100%; height: min(100dvh,var(--grc-visible-height,100dvh)); max-height: 100dvh; }
  .store-cart-drawer__head { flex: 0 0 auto; min-height: 64px; padding: calc(10px + env(safe-area-inset-top)) 16px 10px; }
  .store-cart-drawer__close { min-width: 44px; min-height: 44px; }
  .store-cart-drawer__body { flex: 1; min-height: 0; overflow: hidden; padding: 0 !important; }
  .store-cart-drawer__body .widget_shopping_cart_content { flex: 1; min-height: 0; height: 100%; overflow: hidden; margin: 0; padding: 0; width: 100%; }
  .store-cart-drawer__body .woocommerce-mini-cart { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 16px !important; }
  .store-cart-drawer__body .grc-cart-foot { flex: 0 1 auto; max-height: 65%; overflow-y: auto; margin-top: 0; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); background: #1b1e24; }
  .store-cart-drawer__body .grc-order-note__field { min-height: 96px !important; height: 96px !important; font-size: 16px; }
  .store-cart-drawer__body .grc-cart-foot__label { font-size: 22px; }
  .store-cart-drawer__body .grc-cart-foot__sum { font-size: 26px; }
  .store-cart-drawer__body .woocommerce-mini-cart__note { font-size: 14px; }
  .store-cart-drawer__body .woocommerce-mini-cart-item { grid-template-columns: 72px minmax(0,1fr) 44px; gap: 12px 8px; }
  .store-cart-drawer__body .woocommerce-mini-cart-item .remove { width: 44px; height: 44px; }
  .grc-qty button { min-width: 44px; min-height: 44px; }
  .grc-qty { min-height: 46px; }
  .grc-line__status button, .grc-order-note__status button { min-height: 44px; }
  .grc-order-note__toggle { min-height: 44px; }
  .grc-search-modal { display: block; padding: 0; height: min(100dvh,var(--grc-visible-height,100dvh)); }
  .grc-search-modal__panel { display: flex; flex-direction: column; width: 100%; height: 100%; border: 0; border-radius: 0; padding: calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
  .grc-search-modal__field { flex-shrink: 0; }
  .grc-search-modal__field input { height: 48px; font-size: 16px; }
  .grc-search-modal__clear { width: 44px; height: 44px; flex: 0 0 44px; }
  .grc-search-modal [data-grc-search-close]:not(.grc-search-modal__backdrop) { min-width: 44px; min-height: 44px; }
  .grc-search-modal__cols { grid-template-columns: 1fr; gap: 24px; }
  .grc-search-modal__cols h2 { font-size: 18px; }
  .grc-search-modal__suggest a { min-height: 44px; }
  .grc-search-modal__products img { width: 64px; height: 64px; flex: 0 0 64px; object-fit: contain; }
  .grc-search-modal__products strong { font-size: 16px; }
  .grc-search-modal__products b { font-size: 18px; }
  .grc-search-modal__all { flex-shrink: 0; min-height: 48px; }
  .grc-check__grid { grid-template-columns: minmax(0,1fr); width: min(720px,calc(100% - 32px)); }
  .grc-check__main, .grc-check__summary, .grc-check__grid #payment { grid-column: 1; grid-row: auto; position: static; }
  .grc-check__delivery .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0,1fr); }
  .grc-check__grid .form-row { grid-column: 1 / -1 !important; grid-row: auto !important; width: 100% !important; float: none; }
  .grc-check__grid input.input-text, .grc-check__grid select { min-height: 48px; font-size: 16px; }
  .grc-rail, .grc-stories, .grc-cart__setup .grc-pdp__rail { grid-template-rows: auto; grid-auto-columns: calc((100% - 12px) / 2); gap: 12px; scroll-behavior: auto; }
  .grc-rail .grc-card__actions, .grc-cart__setup .grc-card__actions { grid-template-columns: 1fr; gap: 8px; }
  .grc-rail .grc-card__actions a, .grc-cart__setup .grc-card__actions a { min-height: 48px; padding: 10px 4px; font-size: 14px; white-space: normal; }
  .grc-rail-wrap > .grc-arrow, .grc-pdp__rail-wrap > .grc-arrow { display: none; }
  .grc-cart__setup .grc-pdp__rail-wrap { margin: 0; }
  .grc-mobile-carousel-dots { display: flex; align-items: center; justify-content: center; gap: 8px; height: 24px; margin-top: 8px; }
  .grc-mobile-carousel-dots span { width: 8px; height: 8px; border-radius: 99px; background: rgba(245,246,247,.35); transition: width .28s ease; }
  .grc-mobile-carousel-dots .is-active { width: 24px; background: #f5f6f7; }
  .grc-mobile-carousel-dots[hidden] { display: none; }
  .grc-hero { touch-action: pan-y; }
  .grc-hero__dots { bottom: 10px; gap: 0; }
  .grc-hero__dot, .grc-hero__dot.is-active { width: 44px; height: 44px; background: transparent; overflow: visible; }
  .grc-hero__dot.is-active { width: 60px; }
  .grc-hero__dot::before { content: ''; position: absolute; top: 18px; left: 18px; width: 8px; height: 8px; border-radius: 99px; background: rgba(245,246,247,.35); }
  .grc-hero__dot.is-active::before { left: 6px; width: 48px; }
  .grc-hero__dot-bar { top: 18px; right: 6px; bottom: 18px; left: 6px; width: auto; height: auto; border-radius: 99px; }
  .grc-story__art { height: auto; aspect-ratio: 4/3; }
  .grc-story h3 { margin: 12px 12px 8px; font-size: 16px; line-height: 1.3; }
  .grc-story p { margin: 0 12px 8px; font-size: 14px; line-height: 1.5; }
  .grc-story a { display: inline-flex; align-items: center; min-height: 44px; margin: auto 12px 12px; }
  .grc-bento { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr); grid-template-rows: repeat(2,minmax(140px,20vw)) minmax(120px,15vw); gap: 12px; }
  .grc-bento .grc-bento__tile { min-height: 0; padding: 14px; font-size: 14px; line-height: 1.25; letter-spacing: .01em; }
  .grc-bento .grc-bento__tile--pc-components { grid-column: 1; grid-row: 1 / span 2; font-size: 18px; }
  .grc-bento .grc-bento__tile--monitors-desk-setup { grid-column: 2 / span 2; grid-row: 1; }
  .grc-bento .grc-bento__tile--computers-laptops { grid-column: 2 / span 2; grid-row: 2; }
  .grc-bento .grc-bento__tile--storage { grid-column: 1; grid-row: 3; }
  .grc-bento .grc-bento__tile--peripherals { grid-column: 2; grid-row: 3; }
  .grc-bento .grc-bento__tile--cables-connectivity { grid-column: 3; grid-row: 3; }
  .grc-check__main { min-width: 0; }
  .grc-check__grid .grc-check__block { padding: 0; margin: 0 0 24px; }
  .grc-check__grid .grc-check__delivery { margin-bottom: 12px; }
  .grc-check__grid .woocommerce-shipping-fields { margin-bottom: 20px; }
  .grc-check__grid #ship-to-different-address { margin: 0; }
  .grc-check__grid #ship-to-different-address label { display: flex; align-items: center; gap: 10px; margin: 0; }
  .grc-check__grid #ship-to-different-address-checkbox { appearance: none; -webkit-appearance: none; position: static; float: none; width: 18px; height: 18px; margin: 0; border: 1.5px solid rgba(245,246,247,.45); border-radius: 4px; background: transparent center / 12px 12px no-repeat; vertical-align: middle; cursor: pointer; }
  .grc-check__grid #ship-to-different-address-checkbox:checked { border-color: #ff6a1a; background-color: #ff6a1a; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.1 6.2 4.7 8.8 9.9 3.2' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
  .grc-check__grid #ship-to-different-address-checkbox:focus-visible { outline: 2px solid #ff6a1a; outline-offset: 2px; }
  .grc-check__grid #ship-to-different-address-checkbox::before, .grc-check__grid #ship-to-different-address-checkbox::after { content: none; }
  .grc-check__grid #payment { width: 100%; min-width: 0; max-width: 100%; margin: 0; padding: 0; }
  .grc-check__grid #payment .place-order, .grc-check__grid #payment .wc_payment_methods { width: 100%; max-width: 100%; box-sizing: border-box; margin-left: 0; margin-right: 0; }
  .grc-check__grid #payment label { overflow-wrap: anywhere; }
  .grc-foot__main > nav a { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; }
}

@media (min-width: 700px) and (max-width: 980px) {
  .grc-catalog, .grc-collect { width: calc(100% - 48px); }
  .grc-catalog__grid, .grc-collect__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .grc-catalog__grid .grc-card__actions, .grc-collect__grid .grc-card__actions { grid-template-columns: 1fr; }
  .grc-card__actions a { min-height: 48px; font-size: 15px; }
  .grc-hero { aspect-ratio: 1.65; }
  .grc-hero h1 { font-size: 60px; }
}

@media (max-width: 699px) {
  body.grc-shell-on { font-size: 16px; line-height: 1.6; }
  .grc-head__bar { width: calc(100% - 32px); }
  .grc-catalog, .grc-collect, .grc-pdp__wrap, .grc-cart, .grc-auth, .grc-account, .grc-thanks, .grc-wrap, .grc-wrap--mid, .grc-wrap--faq, .grc-read, .grc-article { width: calc(100% - 32px); padding-top: 24px; padding-bottom: 48px; }
  .grc-crumbs, .grc-cart__crumbs { font-size: 13px; line-height: 1.5; color: #c9ccd4; }
  .grc-catalog__head, .grc-collect__head { margin: 20px 0 24px; text-align: left; }
  .grc-catalog__head h1, .grc-collect__head h1, .grc-title h1, .grc-cart__head h1 { font-size: 32px; line-height: 1.15; letter-spacing: -.02em; }
  .grc-catalog__head h1::after, .grc-collect__head h1::after { margin-left: 0; }
  .grc-catalog__head p, .grc-collect__head p { font-size: 16px; color: #c9ccd4; }
  .grc-catalog__grid, .grc-collect__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .grc-card { padding: 10px; border-radius: 12px; }
  .grc-card:hover { transform: none; box-shadow: none; }
  .grc-card__media { aspect-ratio: 1; min-height: 0; background: #101216; overflow: hidden; }
  .grc-card__media img.is-photo { width: 100%; height: 100%; object-fit: contain; }
  .grc-card:hover .grc-card__media img { transform: none; }
  .grc-card h3 { margin: 12px 0 8px; min-height: 2.6em; font-size: 16px; line-height: 1.3; overflow-wrap: anywhere; letter-spacing: 0; }
  .grc-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; font-size: 18px; line-height: 1.3; margin-bottom: 16px; }
  .grc-card__price del { font-size: 14px; color: #c9ccd4; margin-left: 0; }
  .grc-card__actions { grid-template-columns: 1fr; gap: 8px; }
  .grc-card__view, .grc-card__add { min-height: 48px; padding: 10px 4px; font-size: 14px; line-height: 1.25; white-space: normal; border-radius: 8px; }
  .grc-card__badge { top: 8px; left: 8px; font-size: 11px; }
  .grc-pages { flex-wrap: wrap; gap: 8px; }
  .grc-pages .page-numbers { min-width: 44px; height: 44px; }
  .grc-hero { aspect-ratio: 3/4; height: auto; }
  .grc-bento__tile--monitors-desk-setup .grc-bento__art img,
  .grc-bento__tile--computers-laptops .grc-bento__art img { object-position: 50% 20%; }
  .grc-hero__slide--hot {
    align-items: flex-start;
    background-image: url("backgrounds/grc-hero-01-hot-list-mobile.png");
  }
  .grc-hero__slide--hot .grc-hero__copy { width: min(320px, calc(100% - 88px)); margin-top: 4%; }
  .grc-hero__slide--hot h1 { font-size: clamp(32px, 11vw, 44px); letter-spacing: 0.02em; }
  .grc-hero__slide--hot p { font-size: 14px; line-height: 1.4; margin-top: 8px; }
  .grc-hero__slide--hot .grc-hero__cta { min-height: 48px; margin-top: 12px; padding: 0 18px; font-size: 16px; font-weight: 700; }
  .grc-hero__copy { width: calc(100% - 104px); margin: 0; text-align: center; }
  .grc-hero h1 { font-size: clamp(36px,10vw,60px); }
  .grc-hero p { font-size: 15px; line-height: 1.5; margin-top: 12px; }
  .grc-hero__cta { min-height: 48px; margin-top: 16px; padding: 0 16px; }
  .grc-hero .grc-arrow { width: 44px; height: 44px; }
  .grc-hero .grc-arrow--prev { left: 4px; }
  .grc-hero .grc-arrow--next { right: 4px; }
  .grc-hero__slide--diy {
    align-items: flex-start;
    justify-content: center;
    background-image: url("backgrounds/grc-hero-02-diy-pc-mobile.png");
  }
  .grc-hero .grc-hero__slide--diy .grc-hero__copy { width: calc(100% - 32px); margin-top: 3.1%; }
  .grc-hero .grc-hero__slide--diy h1 { font-size: clamp(28px, 10.2vw, 42px); letter-spacing: 0.01em; line-height: 0.9; }
  .grc-hero .grc-hero__slide--diy p { font-size: 14px; line-height: 1.4; margin-top: 8px; }
  .grc-hero .grc-hero__slide--diy .grc-hero__cta { width: auto; min-height: 48px; margin-top: 12px; padding: 0 18px; font-size: 16px; font-weight: 700; white-space: nowrap; }
  .grc-hero__slide--prebuilt {
    align-items: flex-start;
    justify-content: center;
    background-image: url("backgrounds/grc-hero-03-prebuilt-pc-mobile.png");
  }
  .grc-hero .grc-hero__slide--prebuilt .grc-hero__copy { position: absolute; inset: 0; width: auto; margin: 0; pointer-events: none; }
  .grc-hero .grc-hero__slide--prebuilt h1 { position: absolute; top: 3.3%; left: 50%; width: max-content; max-width: calc(100% - 32px); margin: 0; transform: translateX(-50%); font-size: clamp(28px, 11.5vw, 46px); letter-spacing: 0.01em; line-height: 0.9; text-align: center; }
  .grc-hero .grc-hero__slide--prebuilt p { position: absolute; top: 21.6%; left: 50%; width: max-content; max-width: calc(100% - 32px); margin: 0; transform: translate(-50%, -50%); font-size: 14px; line-height: 1.4; text-align: center; }
  .grc-hero .grc-hero__slide--prebuilt .grc-hero__cta { position: absolute; top: 29.4%; left: 50%; width: auto; min-height: 48px; margin: 0; padding: 0 18px; transform: translate(-50%, -50%); font-size: 16px; font-weight: 700; white-space: nowrap; pointer-events: auto; }
  .grc-hero__slide--gear {
    align-items: flex-start;
    justify-content: center;
    background-image: url("backgrounds/grc-hero-04-gaming-gear-mobile.png");
  }
  .grc-hero .grc-hero__slide--gear .grc-hero__copy { position: absolute; inset: 0; width: auto; margin: 0; pointer-events: none; }
  .grc-hero .grc-hero__slide--gear h1 { position: absolute; top: 3.9%; left: 50%; width: max-content; max-width: calc(100% - 24px); margin: 0; transform: translateX(-50%); font-size: clamp(40px, 14.36vw, 58px); letter-spacing: 0; line-height: 0.86; text-align: center; white-space: nowrap; }
  .grc-hero .grc-hero__slide--gear h1 br { display: none; }
  .grc-hero .grc-hero__slide--gear h1 .grc-hero__line { display: block; }
  .grc-hero .grc-hero__slide--gear h1 .grc-hero__line:first-child { font-size: 0.768em; line-height: 0.9; margin-bottom: 0.06em; }
  .grc-hero .grc-hero__slide--gear p { position: absolute; top: 22.4%; left: 50%; width: max-content; max-width: calc(100% - 32px); margin: 0; transform: translate(-50%, -50%); font-size: 14px; line-height: 1.4; text-align: center; }
  .grc-hero .grc-hero__slide--gear .grc-hero__cta { position: absolute; top: calc(36.9% - 32px); left: 50%; width: 62.8%; height: 48px; min-height: 48px; margin: 0; padding: 0 16px; transform: translate(-50%, -50%); border-radius: 8px; font-family: Barlow, sans-serif; font-size: 16px; font-weight: 600; line-height: 1; white-space: nowrap; pointer-events: auto; }
  .grc-band { width: calc(100% - 32px); padding: 40px 0 0; }
  .grc-band__head { text-align: left; margin-bottom: 20px; }
  .grc-band__head h2 { font-size: 26px; line-height: 1.2; letter-spacing: -.01em; }
  .grc-band__head h2 img { width: 28px; height: 28px; }
  .grc-band__head p { font-size: 16px; margin-top: 8px; color: #c9ccd4; }
  .grc-rail .grc-card { padding: 10px; }
  .grc-card__media .grc-home-mobile-photo { display: block; width: 100%; height: 100%; object-fit: contain; }
  .grc-home-mobile-photo + img { display: none; }
  .grc-marquee { overflow: hidden; }
  .grc-marquee__track { animation: grc-mobile-marquee 36s linear infinite; gap: 12px; }
  .grc-voice { width: 286px; min-height: 244px; scroll-snap-align: start; padding: 20px; }
  .grc-voice__product { display: flex; padding: 12px; margin-top: 24px; background: #f5f6f7; color: #111317; border-radius: 8px; }
  .grc-voice__product img { background: #f5f6f7; }
  .grc-voices { padding-bottom: 48px; }
  .grc-foot__main { display: block; width: calc(100% - 32px); padding: 32px 0 0; }
  .grc-subscribe { width: auto; margin-top: 20px; padding: 0; }
  .grc-subscribe h2 { font-size: 18px; }
  .grc-foot__brand { margin-bottom: 24px; }
  .grc-foot__brand img { height: 40px; }
  .grc-foot .grc-foot__tag { font-size: 16px; max-width: 36ch; }
  .grc-foot .grc-foot__biz { font-size: 14px; }
  .grc-foot__main > nav { text-align: left; border-top: 1px solid #393f48; }
  .grc-foot__main h2 { margin: 0; font-size: 18px; }
  .grc-mobile-disclosure { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 12px 0; border: 0; background: transparent; color: #f5f6f7; font: 700 18px/1.4 Barlow,sans-serif; text-align: left; }
  .grc-mobile-disclosure::after { content: ''; flex: 0 0 8px; width: 8px; height: 8px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); margin: 0 8px 4px; }
  .grc-mobile-disclosure[aria-expanded=true]::after { transform: rotate(225deg); margin-bottom: 0; }
  .grc-mobile-disclosure-body[hidden] { display: none !important; }
  .grc-foot__main > nav ul { align-items: stretch; padding-bottom: 12px; }
  .grc-foot__main > nav a { display: flex; align-items: center; min-height: 44px; font-size: 16px; color: #c9ccd4; }
  .grc-foot__bar { width: calc(100% - 32px); padding: 24px 0 calc(24px + env(safe-area-inset-bottom)); gap: 8px; }
  .grc-foot__bar nav { flex-wrap: wrap; gap: 8px 20px; }
  .grc-foot__bar a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .grc-foot__bar p { font-size: 14px; }
  .grc-pdp__top { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .grc-pdp__frame { aspect-ratio: 4/3; border-radius: 12px; }
  .grc-pdp__frame img.is-photo { object-fit: contain; }
  .grc-pdp__zoom { width: 44px; height: 44px; }
  .grc-pdp__thumbs button { width: 72px; height: 72px; flex-basis: 72px; }
  .grc-pdp__thumbs img { object-fit: contain; }
  .grc-pdp__title { font-size: 30px; letter-spacing: -.02em; }
  .grc-pdp__reviews-link { min-height: 44px; font-size: 16px; display: inline-flex; align-items: center; }
  .grc-swatch { width: 44px; height: 44px; }
  .grc-pdp__row { grid-template-columns: 1fr; gap: 16px; }
  .grc-pdp__row .grc-qty { justify-self: start; }
  .grc-pdp__actions button.single_add_to_cart_button { min-height: 48px; }
  .grc-pdp__acc-btn { min-height: 56px; }
  .grc-pdp__story, .grc-pdp__specs, .grc-reviews__summary { grid-template-columns: 1fr; }
  .grc-reviews__head { flex-wrap: wrap; }
  .grc-reviews__write { min-height: 48px; }
  .grc-pdp__rail { grid-auto-columns: 286px; gap: 12px; }
  .grc-pdp__rail-wrap > .grc-arrow { display: none; }
  .grc-zoom[open] { width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: calc(64px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom)); border: 0; border-radius: 0; background: #111317; }
  .grc-zoom__frame { height: 100%; display: grid; grid-template-rows: minmax(0,1fr) auto auto; gap: 12px; }
  .grc-zoom [data-grc-zoom-close] { position: fixed; min-width: 44px; min-height: 44px; top: calc(10px + env(safe-area-inset-top)); right: 16px; }
  .grc-zoom__frame > img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; grid-row: 1; }
  .grc-zoom__count { grid-row: 2; }
  .grc-zoom__thumbs { grid-row: 3; gap: 8px; overflow-x: auto; justify-content: flex-start; padding: 4px; }
  .grc-zoom__thumbs button { flex: 0 0 72px; width: 72px; height: 72px; border: 0; background: transparent; padding: 0; }
  .grc-zoom__thumbs img { width: 72px; height: 72px; object-fit: contain; }
  .grc-zoom__loading, .grc-zoom__error { grid-row: 1; align-self: center; text-align: center; }
  .grc-zoom__loading[hidden] { display: none; }
  .grc-zoom [data-grc-zoom-step] { width: 44px; height: 44px; }
  .grc-zoom__nav::after { content: ''; display: block; width: 10px; height: 10px; margin: auto; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(135deg); }
  .grc-zoom__nav--next::after { transform: rotate(-45deg); }
  .grc-cart__grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .grc-cart__line { grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; }
  .grc-cart__product { grid-column: 1 / -1; align-items: flex-start; gap: 12px; }
  .grc-cart__thumb { flex-basis: 72px; width: 72px; height: 72px; }
  .grc-cart__thumb img { object-fit: contain; }
  .grc-cart__product h2 { font-size: 18px; }
  .grc-cart__remove { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; }
  .grc-cart__line-total { justify-self: end; text-align: right; font-size: 18px; }
  .grc-cart__summary { padding: 20px 16px; }
  .grc-cart__summary input, .grc-cart__summary button { min-height: 48px; font-size: 16px; }
  .grc-cart__policies a, .grc-cart__back { display: inline-flex; min-height: 44px; align-items: center; }
  .grc-check-bar { height: calc(64px + env(safe-area-inset-top)); padding-top: env(safe-area-inset-top); }
  .grc-check-bar__inner { width: calc(100% - 32px); }
  .grc-check__grid { display: flex; flex-direction: column; width: calc(100% - 32px); gap: 24px; }
  .grc-check__main { width: 100%; }
  .grc-check__summary { order: -1; width: 100%; padding: 0 16px 16px; position: static; }
  .grc-check__summary-head { margin: 0; }
  .grc-check__summary-head h2 { display: flex; align-items: center; width: 100%; min-height: 56px; }
  .grc-check__summary-head > span { font-size: 14px; flex-shrink: 0; }
  .grc-check__summary .grc-mobile-disclosure { font-size: 18px; min-height: 56px; }
  .grc-check__summary .grc-mobile-summary-body[hidden] { display: none; }
  .grc-check__summary .grc-mobile-summary-body:not(.is-expanded) { display: none !important; }
  .grc-check__delivery .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
  .grc-check__grid .form-row { grid-column: 1 / -1 !important; grid-row: auto !important; width: 100% !important; margin: 0; float: none; }
  .grc-check__grid input.input-text, .grc-check__grid select, .grc-check__grid textarea, .grc-check__coupon input { min-height: 48px; font-size: 16px; }
  .grc-check__grid .select2-selection--single { min-height: 48px; }
  .grc-check__grid .select2-selection__rendered { line-height: 46px; }
  .grc-check__items b { white-space: normal; }
  .grc-check__items img { object-fit: contain; }
  .grc-check__coupon input { min-width: 0; }
  .grc-check__coupon button { min-height: 48px; }
  .grc-check-policies { flex-wrap: wrap; padding-bottom: env(safe-area-inset-bottom); }
  .grc-check-policies a { display: inline-flex; align-items: center; min-height: 44px; }
  .grc-auth__panel { margin-top: 24px; padding: 20px 16px; }
  .grc-auth__tabs button { height: 48px; font-size: 16px; }
  .grc-auth input, .grc-account input, .grc-account select { font-size: 16px; }
  .grc-auth label, .grc-account label { font-size: 16px; }
  .grc-auth .button { min-height: 48px; }
  .grc-auth__links { flex-wrap: wrap; gap: 8px 16px; }
  .grc-auth__links a, .grc-auth__links button, .grc-back a { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; }
  .grc-pass button { width: 44px; height: 44px; top: 2px; right: 2px; }
  .grc-zoom__error button, #review_form .submit { min-height: 48px; }
  .grc-auth .woocommerce-form-login__rememberme, .grc-auth .lost_password a { min-height: 44px; display: inline-flex; align-items: center; }
  .grc-account__layout, .grc-addresses, .grc-address-cards, .grc-thanks__meta { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .woocommerce-MyAccount-content { min-width: 0; padding: 20px 16px; }
  .woocommerce-MyAccount-navigation { padding: 0 16px; }
  .woocommerce-MyAccount-navigation a { min-height: 52px; font-size: 16px; }
  .grc-account .woocommerce-address-fields__field-wrapper, .grc-account .edit-account, .grc-account fieldset { grid-template-columns: 1fr; }
  .grc-account .form-row { grid-column: 1 / -1; width: 100%; }
  .grc-account__save .button { width: 100%; min-height: 48px; }
  .grc-address__edit { min-height: 44px; }
  .grc-orders thead { display: none; }
  .grc-orders, .grc-orders tbody { display: block; }
  .grc-orders tr { display: block; margin-bottom: 16px; padding: 12px; border: 1px solid #393f48; border-radius: 12px; }
  .grc-orders td { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; padding: 8px 0; width: 100%; border: 0; }
  .grc-orders td::before { content: attr(data-title); color: #c9ccd4; font-weight: 500; }
  .grc-orders .button { min-height: 48px; }
  .grc-account .woocommerce-table--order-downloads,
  .grc-account .woocommerce-table--order-downloads tbody { display: block; width: 100%; }
  .grc-account .woocommerce-table--order-downloads thead { display: none; }
  .grc-account .woocommerce-table--order-downloads tr { display: block; padding: 12px; border: 1px solid #393f48; border-radius: 12px; margin-bottom: 16px; }
  .grc-account .woocommerce-table--order-downloads td { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 8px 0; width: 100%; border: 0; overflow-wrap: anywhere; }
  .grc-account .woocommerce-table--order-downloads td::before { content: attr(data-title); color: #c9ccd4; font-weight: 500; }
  .grc-account .woocommerce-table--order-downloads .download-product { flex-direction: column; align-items: flex-start; }
  .grc-account .woocommerce-MyAccount-downloads-file { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; width: 100%; padding: 12px; white-space: normal; text-align: center; }
  .grc-otable__product { flex-wrap: wrap; }
  .grc-otable th, .grc-otable td { padding: 12px 4px; overflow-wrap: anywhere; }
  .grc-orderbox { padding: 12px; }
  .grc-otable, .grc-otable tbody, .grc-otable tfoot { display: block; width: 100%; border: 0; }
  .grc-otable thead { display: none; }
  .grc-otable tbody tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 8px; padding: 4px 0 16px; border: 0; }
  .grc-otable--unit tbody tr { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .grc-otable tbody td { display: block; padding: 0; width: auto; border: 0; white-space: nowrap; overflow-wrap: normal; font-size: 16px; }
  .grc-otable tbody td[data-mobile-label]::before { display: block; content: attr(data-mobile-label); color: #c9ccd4; font-size: 12px; margin-bottom: 4px; }
  .grc-otable tbody .grc-otable__product { display: flex; grid-column: 1 / -1; flex-wrap: nowrap; align-items: flex-start; white-space: normal; overflow-wrap: anywhere; }
  .grc-otable__thumb { flex: 0 0 56px; }
  .grc-otable__product > span:last-child { flex: 1; min-width: 0; }
  .grc-otable tfoot tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border: 0; border-top: 1px solid #393f48; }
  .grc-otable tfoot th, .grc-otable tfoot td { display: block; width: auto; border: 0; padding: 12px 0; font-size: 16px; }
  .grc-otable tfoot th { flex: 1; text-align: left; }
  .grc-otable tfoot td { white-space: nowrap; overflow-wrap: normal; }
  .grc-thanks__actions { flex-direction: column; }
  .grc-title p { font-size: 16px; }
  .grc-about, .grc-contact, .grc-faqpage, .grc-warranty, .grc-guides, .grc-manuals, .grc-doc { padding: 32px 0 48px; }
  .grc-support { padding-bottom: 48px; }
  .grc-hero-band { min-height: 200px; margin-bottom: 24px; }
  .grc-hero-band__copy { padding: 32px 16px; }
  .grc-hero-band h1 { font-size: 32px; }
  .grc-topics, .grc-stats { grid-template-columns: 1fr; gap: 12px; }
  .grc-topic { padding: 16px; }
  .grc-help { align-items: flex-start; padding: 16px; }
  .grc-about__hero, .grc-article__hero, .grc-about__copy, .grc-contact__list, .grc-contact__mail { width: calc(100% - 32px); }
  .grc-article .grc-article__hero { width: 100%; }
  .grc-contact__list a { grid-template-columns: 28px minmax(0,1fr) auto; gap: 8px 12px; padding: 16px; }
  .grc-contact__list strong { grid-column: 2; overflow-wrap: anywhere; }
  .grc-contact__go { grid-column: 3; grid-row: 1 / span 2; }
  .grc-doc__layout, .grc-article .grc-doc__layout { grid-template-columns: minmax(0,1fr); width: calc(100% - 32px); gap: 24px; }
  .grc-article .grc-doc__layout { width: 100%; }
  .grc-doc__nav { position: static; padding: 0 16px; }
  .grc-doc__nav p { margin: 0; }
  .grc-doc__nav a { min-height: 44px; display: flex; align-items: center; padding: 8px 0; border-left: 0; }
  .grc-doc__body h2 { scroll-margin-top: 88px; font-size: 24px; line-height: 1.3; }
  .grc-doc__body p, .grc-doc__body li { font-size: 16px; line-height: 1.6; }
  .grc-mobile-table thead { display: none; }
  .grc-doc__body .grc-mobile-table, .grc-mobile-table tbody { display: block; border: 0; }
  .grc-mobile-table tr { display: block; padding: 16px 0; border-bottom: 1px solid #393f48; }
  .grc-mobile-table td { display: flex; justify-content: space-between; gap: 16px; border: 0; padding: 8px 0; }
  .grc-mobile-table td::before { content: attr(data-mobile-label); font-weight: 600; color: #c9ccd4; flex: 0 0 40%; }
  .grc-miss { min-height: 560px; padding: 48px 16px; }
  .grc-none { padding: 32px 0; }
  .grc-none__actions { width: 100%; }
  .grc-none__actions a { width: 100%; min-height: 48px; }
  .grc-shell-on :is(button,a,input,select,textarea):focus-visible { outline: 2px solid #ff6a1a; outline-offset: 3px; }
  .grc-shell-on input::placeholder, .grc-shell-on textarea::placeholder { color: #c9ccd4; }
}

@keyframes grc-mobile-marquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 6px)); } }
@media (max-width: 980px) and (hover: none) {
  .grc-voices:hover .grc-marquee__track { animation-play-state: running; }
}
@media (max-width: 980px) {
  .grc-marquee.is-touching .grc-marquee__track { animation-play-state: paused; }
}
@media (max-width: 980px) and (prefers-reduced-motion: reduce) {
  .grc-mobile-menu__fold > summary .grc-ico, .grc-mobile-menu__fold > .grc-mobile-menu__panel { transition: none; }
  .store-cart-drawer__panel { transition: none; }
  .grc-mobile-carousel-dots span { transition: none; }
  .grc-marquee { overflow-x: auto; }
  .grc-marquee__track { animation: none; }
}
@media (max-width: 360px) {
  .grc-hero .grc-hero__slide--diy .grc-hero__copy { margin-top: 1.6%; }
  .grc-hero .grc-hero__slide--diy h1 { font-size: 28px; }
  .grc-hero .grc-hero__slide--diy p { font-size: 13px; }
  .grc-hero .grc-hero__slide--prebuilt h1 { font-size: 28px; }
  .grc-hero .grc-hero__slide--prebuilt p { font-size: 13px; }
}
@media (max-width: 340px) {
  .grc-hero .grc-hero__slide--gear h1 { top: 8px; font-size: 40px; line-height: 0.85; }
  .grc-hero .grc-hero__slide--gear h1 .grc-hero__line:first-child { font-size: 28px; line-height: 0.85; margin-bottom: 4px; }
  .grc-hero .grc-hero__slide--gear p { top: 84px; font-size: 13px; line-height: 16px; }
}
