/*
Theme Name: PR-Garage
Theme URI: https://prgarage.at
Author: PR-Garage
Description: Maßgeschneidertes, WooCommerce-fähiges Theme für PR-Garage.
Version: 1.6.6
Text Domain: prgarage
Requires at least: 6.6
Requires PHP: 8.1
*/

:root {
  --prg-bg: #090b0c;
  --prg-surface: #101315;
  --prg-surface-2: #171a1d;
  --prg-text: #f4f1ea;
  --prg-muted: #a5aaad;
  --prg-line: #303438;
  --prg-accent: #c9432c;
  --prg-accent-dark: #9f2d1c;
  --prg-metal: #858b8f;
  --prg-success: #48a868;
  --prg-max: 1240px;
  --prg-radius: 3px;
  --prg-space: clamp(4rem, 9vw, 8rem);
  --prg-font: "Inter", "Helvetica Neue", Arial, sans-serif;
  --prg-display: "Arial Narrow", "Roboto Condensed", var(--prg-font);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--prg-bg); color: var(--prg-text); font-family: var(--prg-font); font-size: 1rem; line-height: 1.65; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
::selection { background: var(--prg-accent); color: #fff; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; inset: .75rem auto auto .75rem; width: auto; height: auto; padding: .75rem 1rem; clip: auto; background: #fff; color: #000; z-index: 9999; }

.prg-wrap { width: min(calc(100% - 2rem), var(--prg-max)); margin-inline: auto; }
.prg-section { padding-block: var(--prg-space); }
.prg-section--surface { background: linear-gradient(145deg, #121518 0%, var(--prg-surface) 62%, #0d0f11 100%); }
.prg-grid { display: grid; gap: 1rem; }
.prg-kicker { margin: 0 0 1rem; color: var(--prg-accent); font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.prg-title { margin: 0; max-width: 18ch; font-family: var(--prg-display); font-size: clamp(2.35rem, 7vw, 5.75rem); font-weight: 800; letter-spacing: -.045em; line-height: .98; text-transform: uppercase; }
.prg-title--section { font-size: clamp(2rem, 5vw, 4rem); }
.prg-lead { max-width: 62ch; color: var(--prg-muted); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.prg-button, .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .8rem 1.15rem; border: 1px solid var(--prg-accent); border-radius: var(--prg-radius); background: var(--prg-accent); color: #fff; font-size: .82rem; font-weight: 800; letter-spacing: .07em; line-height: 1; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.prg-button:hover, .wp-element-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--prg-accent-dark); border-color: var(--prg-accent-dark); transform: translateY(-1px); }
.prg-button--ghost { border-color: #606970; background: transparent; }
.prg-button--ghost:hover { border-color: #fff; background: #fff; color: #0b0d0f; }
.prg-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }

/* Subtle, one-time scroll reveals. Content remains visible when JavaScript is unavailable. */
.prg-motion-ready .prg-reveal {
  opacity: 0;
  transform: translate3d(0, 26px, 0);
  transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--prg-reveal-delay, 0ms);
  will-change: opacity, transform;
}
.prg-motion-ready .prg-reveal.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}
.prg-motion-ready .prg-card.prg-reveal { transform: translate3d(0, 30px, 0) scale(.985); }
.prg-motion-ready .prg-card.prg-reveal.is-revealed { transform: translate3d(0, 0, 0) scale(1); }
.prg-motion-ready .prg-card.prg-reveal.is-revealed:hover { transform: translateY(-3px); }

.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(255,255,255,.11); background: rgba(9,11,12,.92); box-shadow: 0 18px 45px rgba(0,0,0,.18); backdrop-filter: blur(18px); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 72px; gap: 1rem; }
.site-brand { display: inline-flex; align-items: center; gap: .75rem; font-weight: 900; letter-spacing: -.03em; text-decoration: none; text-transform: uppercase; }
.site-brand__wordmark { display: block; width: clamp(150px, 15vw, 220px); height: auto; filter: invert(1); }
.site-footer .site-brand__wordmark { width: min(240px, 70vw); }
.site-brand .custom-logo-link { display: inline-flex; align-items: center; }
.site-brand .custom-logo { width: auto; max-width: min(190px, 42vw); height: 42px; object-fit: contain; }
.site-brand__mark { display: grid; place-items: center; width: 38px; height: 38px; border: 2px solid var(--prg-accent); color: #fff; font-size: .74rem; letter-spacing: -.04em; transform: skew(-7deg); }
.site-brand__mark span { transform: skew(7deg); }
.menu-toggle { display: inline-grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--prg-line); background: transparent; color: #fff; cursor: pointer; }
.menu-toggle::before { content: ""; width: 20px; height: 12px; border-block: 2px solid currentColor; }
.primary-nav { display: none; position: absolute; inset: 72px 0 auto; max-height: calc(100svh - 72px); overflow-y: auto; padding: 1rem; border-bottom: 1px solid var(--prg-line); background: var(--prg-bg); }
.primary-nav.is-open { display: block; }
.primary-nav ul { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.primary-nav a { display: block; padding: .8rem; font-size: .85rem; font-weight: 750; text-decoration: none; text-transform: uppercase; }
.primary-nav a:hover, .primary-nav .current-menu-item > a { color: var(--prg-accent); }
.header-cart { position: relative; text-decoration: none; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.header-cart__count { display: inline-grid; place-items: center; min-width: 1.5rem; height: 1.5rem; margin-left: .35rem; border-radius: 50%; background: var(--prg-accent); color: #fff; }

.prg-hero { position: relative; min-height: min(820px, calc(100svh - 72px)); display: grid; align-items: end; overflow: hidden; border-bottom: 1px solid var(--prg-line); }
.prg-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,5,6,.97) 0%, rgba(4,5,6,.78) 48%, rgba(4,5,6,.18) 100%), linear-gradient(0deg, var(--prg-bg), transparent 48%); z-index: 1; }
.prg-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(1.08); }
.prg-hero__fallback { position: absolute; inset: 0; background: radial-gradient(circle at 78% 35%, #40241f 0, transparent 21%), linear-gradient(125deg, #202427, #080a0b 68%); }
.prg-hero__fallback::after { content: ""; position: absolute; inset: 15% -10% auto 42%; height: 42%; border: 1px solid rgba(255,255,255,.13); transform: skewX(-22deg); }
.prg-hero__content { position: relative; z-index: 2; padding-block: clamp(5rem, 10vw, 9rem); }
.prg-hero__copy { max-width: 730px; }
.prg-hero__meta { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; margin-top: 3rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.24); color: #c1c6ca; font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }

.prg-card { position: relative; overflow: hidden; min-height: 320px; border: 1px solid var(--prg-line); background: linear-gradient(155deg, #191d20, var(--prg-surface)); transition: border-color .25s ease, transform .25s ease; }
.prg-card::after { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent); pointer-events: none; }
.prg-card:hover { border-color: #555b60; transform: translateY(-3px); }
.prg-card__media { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #20252a; transition: transform .45s ease; }
.prg-card:hover .prg-card__media { transform: scale(1.025); }
.prg-card__body { padding: 1.25rem; }
.prg-card__eyebrow { color: var(--prg-accent); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.prg-card__title { margin: .45rem 0 .6rem; font-family: var(--prg-display); font-size: 1.45rem; line-height: 1.1; text-transform: uppercase; }
.prg-card__title a { text-decoration: none; }
.prg-card__text { margin: 0; color: var(--prg-muted); }
.prg-video-card__media { position: relative; display: block; overflow: hidden; }
.prg-video-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,5,6,.42), transparent 55%); pointer-events: none; }
.prg-video-card__play { position: absolute; z-index: 2; inset: 50% auto auto 50%; width: 58px; height: 42px; border-radius: 5px; background: var(--prg-accent); transform: translate(-50%,-50%); }
.prg-video-card__play::after { content: ""; position: absolute; inset: 50% auto auto 53%; border-block: 8px solid transparent; border-left: 13px solid #fff; transform: translate(-50%,-50%); }
.prg-video-card__duration { position: absolute; z-index: 2; right: .75rem; bottom: .75rem; padding: .3rem .48rem; background: rgba(4,5,6,.9); color: #fff; font-size: .7rem; font-weight: 800; }
.prg-card__project-link { display: inline-flex; margin-top: 1rem; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.prg-card__project-link::after { content: "→"; margin-left: .45rem; color: var(--prg-accent); }
.prg-placeholder { display: grid; place-items: center; aspect-ratio: 4 / 3; background: linear-gradient(135deg, #20252a, #111417); color: #788087; font-size: .7rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.prg-stat-grid { grid-template-columns: repeat(2, 1fr); }
.prg-stat { padding: 1.4rem; border-top: 1px solid var(--prg-metal); background: linear-gradient(145deg, #1a1e21, #121517); }
.prg-stat strong { display: block; font-family: var(--prg-display); font-size: clamp(1.5rem, 4vw, 2.4rem); line-height: 1; text-transform: uppercase; }
.prg-stat span { color: var(--prg-muted); font-size: .76rem; text-transform: uppercase; }
.prg-about-visual { display: grid; gap: 1rem; }
.prg-about-portrait { position: relative; overflow: hidden; min-height: 330px; border: 1px solid var(--prg-line); background: radial-gradient(circle at 68% 35%, #343a3e 0, #171b1e 42%, #0c0f11 76%); isolation: isolate; }
.prg-about-portrait::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, transparent 42%, rgba(201,67,44,.2) 42.2%, transparent 42.6%), repeating-linear-gradient(90deg, transparent 0 58px, rgba(255,255,255,.025) 59px 60px); }
.prg-about-portrait img { width: 100%; height: 360px; object-fit: contain; object-position: center bottom; filter: saturate(.78) contrast(1.06); }
.prg-about-portrait__label { position: absolute; inset: auto 0 0; display: grid; padding: 1rem 1.2rem; background: linear-gradient(0deg, rgba(5,7,8,.98), rgba(5,7,8,.72) 72%, transparent); }
.prg-about-portrait__label strong { font-family: var(--prg-display); font-size: 1.35rem; line-height: 1; text-transform: uppercase; }
.prg-about-portrait__label span { margin-top: .35rem; color: var(--prg-muted); font-size: .68rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.prg-feature { padding: 1.35rem 0; border-top: 1px solid var(--prg-line); }
.prg-feature__index { color: var(--prg-accent); font: 800 .75rem var(--prg-font); }
.prg-feature h3 { margin: .45rem 0; font-family: var(--prg-display); font-size: 1.45rem; text-transform: uppercase; }
.prg-feature p { margin: 0; color: var(--prg-muted); }
.prg-split { display: grid; gap: 2.5rem; align-items: center; }
.prg-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.prg-filter a { padding: .5rem .8rem; border: 1px solid var(--prg-line); color: var(--prg-muted); font-size: .73rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.prg-filter a:hover, .prg-filter .is-active { border-color: var(--prg-accent); background: var(--prg-accent); color: #fff; }

.page-header { position: relative; overflow: hidden; padding-block: clamp(5rem, 10vw, 8rem) 3.5rem; border-bottom: 1px solid var(--prg-line); background: linear-gradient(125deg, #191d20, var(--prg-bg) 72%); }
.page-header::after { content: "PR-GARAGE"; position: absolute; right: -1rem; bottom: -2rem; color: rgba(255,255,255,.025); font-family: var(--prg-display); font-size: clamp(5rem, 16vw, 13rem); font-weight: 900; letter-spacing: -.06em; line-height: 1; pointer-events: none; }
.entry-content { padding-block: 3rem var(--prg-space); }
.entry-content > * { max-width: 760px; margin-inline: auto; }
.entry-content > .alignwide { max-width: var(--prg-max); }
.entry-content h2, .entry-content h3 { margin-top: 2.4em; font-family: var(--prg-display); line-height: 1.1; text-transform: uppercase; }
.entry-content a { color: #ff765d; }
.prg-taxonomy { display: flex; flex-wrap: wrap; gap: .45rem; padding: 0; list-style: none; }
.prg-taxonomy a { display: inline-block; padding: .35rem .55rem; border: 1px solid var(--prg-line); color: var(--prg-muted); font-size: .72rem; text-decoration: none; text-transform: uppercase; }
.prg-project-meta { grid-template-columns: repeat(2, 1fr); margin-block: 2rem; }
.prg-project-meta div { padding: 1rem; border: 1px solid var(--prg-line); }
.prg-project-meta dt { color: var(--prg-muted); font-size: .7rem; text-transform: uppercase; }
.prg-project-meta dd { margin: .25rem 0 0; font-weight: 700; }

.prg-case-study { margin-top: 4rem; }
.prg-case-nav { display: grid; gap: 1px; margin-bottom: clamp(4rem, 8vw, 7rem); border: 1px solid var(--prg-line); background: var(--prg-line); }
.prg-case-nav a { display: flex; gap: .75rem; align-items: center; padding: 1rem; background: var(--prg-surface); color: var(--prg-text); font-size: .78rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.prg-case-nav a:hover { background: var(--prg-surface-2); color: #fff; }
.prg-case-nav span { color: var(--prg-accent); font-size: .7rem; }
.prg-case-phase { scroll-margin-top: 100px; margin-block: 0 clamp(5rem, 10vw, 9rem); }
.prg-case-phase__copy { display: grid; grid-template-columns: auto 1fr; gap: .4rem 1rem; max-width: 820px; margin-bottom: 2rem; }
.prg-case-phase__copy h2 { margin: 0; }
.prg-case-phase__copy p { grid-column: 2; margin: 0; color: var(--prg-muted); }
.prg-case-phase__number { grid-row: 1 / 3; color: var(--prg-accent); font: 800 1rem var(--prg-font); }
.prg-gallery { display: grid; gap: .75rem; }
.prg-gallery__link { position: relative; overflow: hidden; min-height: 240px; border: 1px solid var(--prg-line); background: var(--prg-surface); cursor: zoom-in; }
.prg-gallery__link::after { content: "+"; position: absolute; right: .75rem; bottom: .75rem; display: grid; place-items: center; width: 38px; height: 38px; background: rgba(9,11,12,.86); color: #fff; font-size: 1.4rem; }
.prg-gallery__link img { width: 100%; height: 100%; min-height: 240px; max-height: 620px; object-fit: cover; transition: transform .55s cubic-bezier(.22,1,.36,1); }
.prg-gallery__link:hover img { transform: scale(1.025); }
.prg-video-feature { display: grid; gap: 2rem; margin-top: 2rem; padding: clamp(1.25rem, 4vw, 3rem); border: 1px solid var(--prg-line); background: linear-gradient(145deg, #181c1f, #0d0f11); }
.prg-video-feature__copy h2 { margin: 0 0 1rem; }
.prg-video-feature__copy p:last-child, .prg-video-feature__privacy { color: var(--prg-muted); }
.prg-video-consent, .prg-video-feature iframe { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; padding: 0; border: 1px solid var(--prg-line); background: #050607; color: #fff; cursor: pointer; }
.prg-video-consent img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.6); transition: filter .25s ease, transform .45s ease; }
.prg-video-consent:hover img { filter: brightness(.75); transform: scale(1.02); }
.prg-video-consent__play { position: absolute; inset: 50% auto auto 50%; width: 72px; height: 52px; border-radius: 6px; background: var(--prg-accent); transform: translate(-50%,-50%); }
.prg-video-consent__play::after { content: ""; position: absolute; inset: 50% auto auto 52%; border-block: 10px solid transparent; border-left: 16px solid #fff; transform: translate(-50%,-50%); }
.prg-video-consent__label { position: absolute; right: 1rem; bottom: 1rem; padding: .45rem .65rem; background: rgba(9,11,12,.88); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.prg-video-feature__privacy { margin: -1rem 0 0; font-size: .78rem; }
.prg-before-after { margin-block: clamp(5rem, 10vw, 9rem); padding-block: clamp(2rem, 5vw, 4rem); border-block: 1px solid var(--prg-line); }
.prg-before-after__intro { max-width: 760px; margin-bottom: 2rem; }
.prg-before-after__intro h2 { margin-top: 0; }
.prg-before-after__intro p:last-child { color: var(--prg-muted); }
.prg-before-after__grid { display: grid; gap: 1rem; }
.prg-before-after figure { position: relative; margin: 0; }
.prg-before-after figure::before { content: ""; position: absolute; z-index: 2; inset: 0 auto 0 0; width: 3px; background: var(--prg-accent); pointer-events: none; }
.prg-before-after figcaption { position: absolute; z-index: 3; left: 1rem; bottom: 1rem; padding: .5rem .7rem; background: rgba(9,11,12,.9); color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; pointer-events: none; }
.prg-lightbox { width: min(1100px, calc(100% - 2rem)); max-width: none; max-height: calc(100% - 2rem); padding: 0; border: 1px solid var(--prg-line); background: #050607; color: #fff; }
.prg-lightbox::backdrop { background: rgba(0,0,0,.88); backdrop-filter: blur(6px); }
.prg-lightbox figure { margin: 0; }
.prg-lightbox img { width: 100%; max-height: calc(100vh - 8rem); object-fit: contain; }
.prg-lightbox figcaption { padding: .75rem 1rem; color: var(--prg-muted); font-size: .85rem; }
.prg-lightbox__close { position: absolute; z-index: 2; top: .75rem; right: .75rem; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.35); background: rgba(9,11,12,.9); color: #fff; font-size: 1.7rem; cursor: pointer; }

.prg-form { display: grid; gap: 1rem; max-width: 760px; }
.prg-form__row { display: grid; gap: 1rem; }
.prg-field label { display: block; margin-bottom: .35rem; font-size: .8rem; font-weight: 750; }
.prg-field input, .prg-field select, .prg-field textarea { width: 100%; min-height: 48px; padding: .75rem; border: 1px solid #4a5259; border-radius: 0; background: #0e1113; color: #fff; }
.prg-field textarea { min-height: 160px; resize: vertical; }
.prg-field input[type="file"] { padding: .6rem; }
.prg-field input[type="file"]::file-selector-button { min-height: 38px; margin-right: .75rem; padding: .55rem .75rem; border: 1px solid var(--prg-line); background: var(--prg-surface-2); color: #fff; font-weight: 750; cursor: pointer; }
.prg-field__help { display: block; margin-top: .35rem; color: var(--prg-muted); font-size: .76rem; }
.prg-field input:focus, .prg-field select:focus, .prg-field textarea:focus { border-color: var(--prg-accent); outline: 2px solid var(--prg-accent); outline-offset: 1px; }
.prg-consent { display: flex; gap: .65rem; align-items: flex-start; color: var(--prg-muted); font-size: .85rem; }
.prg-consent input { margin-top: .3rem; }
.prg-consent a { color: #fff; }
.prg-notice { padding: 1rem; border-left: 4px solid var(--prg-accent); background: var(--prg-surface-2); }
.prg-notice--success { border-color: var(--prg-success); }

.woocommerce .woocommerce-breadcrumb { color: var(--prg-muted); }
.woocommerce ul.products { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 0 1rem; border: 1px solid var(--prg-line); background: var(--prg-surface); }
.woocommerce ul.products li.product a img { margin: 0 0 1rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price, .woocommerce ul.products li.product .button { margin-inline: 1rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price { color: #fff; font-weight: 800; }
.woocommerce div.product .stock { color: #7fd399; }
.woocommerce div.product .out-of-stock { color: #ff7a65; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--prg-accent); background: var(--prg-surface); color: #fff; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--prg-accent); }
.woocommerce table.shop_table { border-color: var(--prg-line); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single { min-height: 46px; border: 1px solid #4a5259; background: #fff; color: #111; }
.prg-product-specs { margin-block: 2rem; border: 1px solid var(--prg-line); }
.prg-product-specs dl { display: grid; grid-template-columns: minmax(110px, .35fr) 1fr; margin: 0; }
.prg-product-specs dt, .prg-product-specs dd { margin: 0; padding: .75rem; border-bottom: 1px solid var(--prg-line); }
.prg-product-specs dt { color: var(--prg-muted); font-size: .75rem; text-transform: uppercase; }
.prg-product-prelaunch { display: grid; gap: .2rem; margin: 1.2rem 0; padding: 1rem; border-left: 3px solid var(--prg-accent); background: var(--prg-surface-2); }
.prg-product-prelaunch strong { font-family: var(--prg-display); text-transform: uppercase; }
.prg-product-prelaunch span { color: var(--prg-muted); font-size: .88rem; }
.prg-shop-status { margin: 0 0 2.5rem; padding: clamp(1.3rem, 4vw, 2.5rem); border: 1px solid var(--prg-line); border-left: 3px solid var(--prg-accent); background: linear-gradient(135deg, #181c1f, #0d0f11); }
.prg-shop-status h2 { margin: .35rem 0 .75rem; font-family: var(--prg-display); font-size: clamp(1.6rem, 4vw, 2.5rem); line-height: 1.05; text-transform: uppercase; }
.prg-shop-status > p:not(.prg-kicker) { max-width: 760px; color: var(--prg-muted); }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title { padding: 0 1rem; font-family: var(--prg-display); font-size: 1.25rem; text-transform: uppercase; }
.woocommerce ul.products li.product-category mark { background: transparent; color: var(--prg-muted); }
.woocommerce ul.products li.product-category > a { display: block; padding-top: 0; }
.woocommerce ul.products li.product-category > a::before { content: ""; display: block; aspect-ratio: 4 / 3; margin-bottom: 1rem; background: radial-gradient(circle at 72% 28%, rgba(231,76,52,.28), transparent 25%), linear-gradient(135deg, #242a2e, #0c0f11 72%); border-bottom: 1px solid var(--prg-line); }
.woocommerce ul.products li.product-category:nth-child(2n) > a::before { background: linear-gradient(145deg, #1d2225, #0a0c0e 65%), repeating-linear-gradient(90deg, transparent 0 38px, rgba(255,255,255,.03) 39px 40px); }
.woocommerce ul.products li.product-category img { display: none; }

.site-footer { border-top: 1px solid #393e42; background: linear-gradient(160deg, #0b0d0f, #050607); }
.site-footer__main { display: grid; gap: 2.5rem; padding-block: 4rem; }
.site-footer h2 { margin: 0 0 1rem; font-family: var(--prg-display); font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li + li { margin-top: .5rem; }
.site-footer a { color: var(--prg-muted); text-decoration: none; }
.site-footer a:hover { color: #fff; }
.site-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; padding-block: 1rem; border-top: 1px solid var(--prg-line); color: #777f85; font-size: .75rem; }

@media (min-width: 520px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 700px) {
  .prg-wrap { width: min(calc(100% - 4rem), var(--prg-max)); }
  .prg-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .prg-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .prg-split { grid-template-columns: 1fr 1fr; }
  .prg-form__row { grid-template-columns: 1fr 1fr; }
  .prg-project-meta { grid-template-columns: repeat(4, 1fr); }
  .site-footer__main { grid-template-columns: 2fr 1fr 1fr; }
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
	.prg-case-nav { grid-template-columns: repeat(2, 1fr); }
	.prg-gallery { grid-template-columns: repeat(2, 1fr); }
	.prg-gallery--3 .prg-gallery__link:first-child { grid-row: span 2; }
	.prg-video-feature { grid-template-columns: minmax(260px, .75fr) minmax(420px, 1.25fr); align-items: center; }
	.prg-video-feature__privacy { grid-column: 2; }
	.prg-before-after__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 980px) {
  .menu-toggle { display: none; }
  .primary-nav { display: block; position: static; padding: 0; border: 0; background: none; }
  .primary-nav ul { display: flex; align-items: center; gap: .25rem; }
  .primary-nav a { padding: .65rem .75rem; }
  .prg-grid--3 { grid-template-columns: repeat(3, 1fr); }
  .prg-grid--4 { grid-template-columns: repeat(4, 1fr); }
  .prg-stat-grid { grid-template-columns: repeat(4, 1fr); }
  .woocommerce ul.products { grid-template-columns: repeat(4, 1fr); }
	.prg-case-nav { grid-template-columns: repeat(4, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.prg-reveal { opacity: 1 !important; transform: none !important; }
}
