.inner-page { min-height: 100vh; background: var(--porcelain); }
.store-header { position: sticky; z-index: 50; top: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: 100%; min-height: 78px; padding: 0 4vw; color: var(--ink); background: rgba(244,245,241,.97); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); transition: min-height .25s ease, color .25s ease, background .25s ease, border-color .25s ease; }
.store-header .brand-dark { color: var(--ink); }
.store-header .brand-wordmark strong { color: var(--pine); }
.premium-home .store-header { position: absolute; color: #fff; background: transparent; border-color: rgba(255,255,255,.22); backdrop-filter: none; }
.premium-home .store-header .brand-dark, .premium-home .store-header .brand-wordmark strong { color: #fff; }
.premium-home .store-header .brand-mark { color: var(--brass-light); border-color: rgba(255,255,255,.62); }
.premium-home .store-header .brand-wordmark span { color: var(--brass-light); }
.premium-home .store-header .button-dark { color: var(--pine); background: #fff; }
.premium-home .store-header.is-scrolled { position: fixed; color: var(--ink); background: rgba(244,245,241,.97); border-color: var(--line); backdrop-filter: blur(14px); }
.premium-home .store-header.is-scrolled .brand-dark { color: var(--ink); }
.premium-home .store-header.is-scrolled .brand-wordmark strong { color: var(--pine); }
.premium-home .store-header.is-scrolled .brand-mark { color: var(--pine); border-color: var(--pine); }
.premium-home .store-header.is-scrolled .brand-wordmark span { color: var(--oxblood); }
.premium-home .store-header.is-scrolled .button-dark { color: #fff; background: var(--pine); }
.store-nav { display: flex; align-items: center; gap: 30px; font-size: 12px; font-weight: 700; }
.store-nav > a { position: relative; }
.store-nav > a::after { position: absolute; right: 0; bottom: -6px; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transition: transform .2s ease; }
.store-nav > a:hover::after { transform: scaleX(1); }
.store-nav > a[aria-current="page"]::after { transform: scaleX(1); }
.store-menu { position: relative; }
.store-menu::after { position: absolute; top: 100%; left: -28px; width: 155px; height: 34px; content: ""; }
.store-menu > button { display: inline-flex; align-items: center; gap: 5px; padding: 8px 0; border: 0; background: transparent; cursor: pointer; font-size: 12px; font-weight: 700; }
.store-menu > button svg { width: 14px; transition: transform .2s ease; }
.store-menu.is-open > button svg { transform: rotate(180deg); }
.store-mega { position: fixed; top: 78px; left: 50%; display: grid; grid-template-columns: 1.1fr 1.1fr .85fr 1fr; width: min(870px, calc(100vw - 48px)); color: var(--ink); background: #fafbf8; border-top: 3px solid var(--brass); box-shadow: 0 24px 60px rgba(8,25,24,.2); opacity: 0; pointer-events: none; transform: translate(-50%,-8px); transition: opacity .2s ease, transform .2s ease; }
.store-menu.is-open .store-mega { opacity: 1; pointer-events: auto; transform: translate(-50%,0); }
.store-mega section { display: flex; flex-direction: column; gap: 8px; min-height: 210px; padding: 25px; border-right: 1px solid var(--line); }
.store-mega section:last-of-type { border-right: 0; }
.store-mega strong { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; color: var(--pine); font: 600 17px/1 var(--display); }
.store-mega strong svg { width: 16px; color: var(--oxblood); }
.store-mega a { color: var(--muted); font-size: 11px; }
.store-mega a:last-child { margin-top: auto; color: var(--pine); font-weight: 700; }
.store-mega-footer { display: flex; grid-column: 1/-1; align-items: center; justify-content: space-between; padding: 15px 25px; color: var(--muted); background: #eef1ec; font-size: 10px; }
.store-mega-footer a { display: inline-flex; align-items: center; gap: 7px; margin: 0; color: var(--pine); font-weight: 700; }
.store-mega-footer svg { width: 14px; }
.store-actions { display: flex; align-items: center; justify-content: flex-end; gap: 22px; font-size: 11px; font-weight: 700; }
.store-mobile-trigger, .store-mobile-panel { display: none; }
.mobile-icon-fallback { position: relative; display: block; width: 20px; height: 14px; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; }
.mobile-icon-fallback::before, .mobile-icon-fallback::after { position: absolute; top: 50%; left: 0; width: 100%; height: 1.5px; background: currentColor; content: ""; transform: translateY(-50%); }
.mobile-icon-fallback.is-close { border-color: transparent; }
.mobile-icon-fallback.is-close::before { transform: translateY(-50%) rotate(45deg); }
.mobile-icon-fallback.is-close::after { transform: translateY(-50%) rotate(-45deg); }
.lucide-ready .mobile-icon-fallback { display: none; }

.store-hero { position: relative; color: white; background: var(--pine); }
.store-hero-visual { isolation: isolate; overflow: hidden; }
.store-hero-visual::before { position: absolute; z-index: -1; inset: 0; content: ""; background: rgba(4,20,18,.58); }
.store-hero-media { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); }
.store-hero.store-hero-visual .store-hero-inner { min-height: 420px; }
.store-hero-visual h1 { text-shadow: 0 2px 20px rgba(0,0,0,.22); }
.store-hero-visual p:not(.eyebrow) { color: rgba(255,255,255,.82); }
.store-hero-catalog .store-hero-media { object-position: 58% center; }
.store-hero-journal .store-hero-media { object-position: 54% center; }
.store-hero-support .store-hero-media { object-position: 56% center; }
.store-hero-inner { display: grid; grid-template-columns: 1.2fr .55fr; gap: 80px; align-items: end; min-height: 330px; padding-top: 80px; padding-bottom: 62px; }
.store-hero h1 { max-width: 830px; margin: 0; font: 500 clamp(52px,6vw,82px)/.92 var(--display); }
.store-hero p:not(.eyebrow) { max-width: 500px; margin: 0; color: rgba(255,255,255,.68); font-size: 14px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 25px; color: rgba(255,255,255,.6); font: 400 9px/1 var(--utility); text-transform: uppercase; }
.crumbs a:hover { color: white; }
.trust-rail { display: grid; grid-template-columns: repeat(4,1fr); color: var(--ink); background: white; border-bottom: 1px solid var(--line); }
.trust-rail > div { display: flex; align-items: center; gap: 12px; min-height: 78px; padding: 18px 24px; border-right: 1px solid var(--line); }
.trust-rail > div:last-child { border-right: 0; }
.trust-rail svg { width: 20px; color: var(--oxblood); }
.trust-rail strong { display: block; font-size: 11px; }
.trust-rail span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }

.catalog-section { padding: 58px 0 100px; }
.catalog-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 38px; }
.filters { position: sticky; top: 100px; align-self: start; padding: 23px; background: white; border-top: 3px solid var(--brass); }
.filters-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.filters h2 { margin: 0; font: 600 24px/1 var(--display); }
.clear-filters { padding: 0; color: var(--muted); background: none; border: 0; cursor: pointer; font-size: 9px; text-decoration: underline; }
.filter-field { display: grid; gap: 7px; margin-top: 15px; }
.filter-field > span { color: var(--muted); font: 500 8px/1 var(--utility); letter-spacing: .1em; text-transform: uppercase; }
.filter-field input, .filter-field select, .catalog-sort select { width: 100%; height: 44px; padding: 0 12px; color: var(--ink); background: var(--porcelain); border: 1px solid var(--line); border-radius: 0; font: 600 11px/1 var(--body); }
.filter-categories { display: grid; gap: 1px; margin-top: 16px; background: var(--line); }
.filter-categories button { display: flex; align-items: center; justify-content: space-between; min-height: 40px; padding: 0 12px; background: white; border: 0; cursor: pointer; font-size: 11px; text-align: left; }
.filter-categories button.is-active { color: white; background: var(--pine); }
.filter-categories span { font: 400 8px/1 var(--utility); }
.catalog-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 23px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.catalog-toolbar h2 { margin: 0; color: var(--pine); font: 600 34px/1 var(--display); }
.catalog-toolbar p { margin: 6px 0 0; color: var(--muted); font-size: 11px; }
.catalog-sort { display: grid; grid-template-columns: auto 180px; gap: 10px; align-items: center; color: var(--muted); font: 500 8px/1 var(--utility); text-transform: uppercase; }
.active-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: -7px 0 22px; }
.active-filters button { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 10px; color: var(--pine); background: #e8ece7; border: 0; cursor: pointer; font-size: 9px; }
.active-filters svg { width: 12px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.catalog-card { position: relative; display: flex; min-width: 0; flex-direction: column; background: white; border-bottom: 2px solid transparent; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.catalog-card:hover { transform: translateY(-4px); border-color: var(--brass); box-shadow: 0 16px 35px rgba(16,40,39,.1); }
.catalog-image { position: relative; display: block; aspect-ratio: 1.42/1; overflow: hidden; background: #dfe4df; }
.catalog-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.catalog-card:hover .catalog-image img { transform: scale(1.035); }
.image-identity { position: absolute; right: 14px; bottom: 14px; left: 14px; display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 12px; padding: 11px 13px 10px; color: white; background: rgba(8,25,24,.88); border-left: 3px solid var(--brass); box-shadow: 0 8px 24px rgba(0,0,0,.18); backdrop-filter: blur(9px); }
.image-identity strong, .image-identity small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.image-identity strong { font: 600 11px/1 var(--utility); letter-spacing: .08em; text-transform: uppercase; }
.image-identity small { color: var(--brass-light); font: 500 8px/1 var(--utility); text-transform: uppercase; }
.catalog-body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.catalog-kicker { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font: 400 8px/1.3 var(--utility); text-transform: uppercase; }
.catalog-card h3 { margin: 15px 0 9px; color: var(--pine); font: 600 25px/1 var(--display); }
.catalog-description { min-height: 56px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.catalog-facts { display: grid; gap: 7px; margin: 17px 0; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.catalog-facts span { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 9px; }
.catalog-facts strong { color: var(--ink); font-weight: 600; text-align: right; }
.catalog-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.catalog-price { color: var(--pine); font: 700 14px/1 var(--body); }
.catalog-card-actions { display: flex; gap: 6px; }
.icon-link, .compare-toggle { display: grid; width: 36px; height: 36px; place-items: center; color: var(--pine); background: transparent; border: 1px solid var(--line); cursor: pointer; }
.icon-link { color: white; background: var(--pine); border-color: var(--pine); }
.icon-link svg, .compare-toggle svg { width: 15px; }
.compare-toggle.is-selected { color: white; background: var(--oxblood); border-color: var(--oxblood); }
.empty-results { grid-column: 1/-1; padding: 70px 20px; text-align: center; background: white; }
.empty-results h3 { margin: 0; font: 600 34px/1 var(--display); }
.empty-results p { color: var(--muted); font-size: 12px; }

.compare-bar { position: fixed; z-index: 60; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px max(24px,calc((100vw - 1320px)/2)); color: white; background: var(--pine-deep); box-shadow: 0 -15px 40px rgba(0,0,0,.22); transform: translateY(110%); transition: transform .25s ease; }
.compare-bar.is-visible { transform: none; }
.compare-items { display: flex; gap: 10px; }
.compare-item { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: rgba(255,255,255,.1); font-size: 10px; }
.compare-item button { display: grid; width: 20px; height: 20px; place-items: center; color: white; background: none; border: 0; cursor: pointer; }
.compare-item svg { width: 12px; }
.compare-copy strong { display: block; font-size: 12px; }
.compare-copy span { color: rgba(255,255,255,.55); font-size: 9px; }
.compare-dialog { width: min(1050px,calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; overflow: auto; color: var(--ink); background: var(--porcelain); border: 0; box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.compare-dialog::backdrop { background: rgba(5,18,17,.72); backdrop-filter: blur(5px); }
.compare-dialog-head { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 22px 26px; color: white; background: var(--pine); }
.compare-dialog h2 { margin: 0; font: 500 32px/1 var(--display); }
.dialog-close { display: grid; width: 38px; height: 38px; place-items: center; color: white; background: none; border: 1px solid rgba(255,255,255,.3); cursor: pointer; }
.comparison-table { display: grid; padding: 26px; }
.comparison-row { display: grid; grid-template-columns: 150px repeat(var(--compare-count),minmax(0,1fr)); border-bottom: 1px solid var(--line); }
.comparison-row > * { min-width: 0; padding: 16px; border-right: 1px solid var(--line); }
.comparison-row > *:last-child { border-right: 0; }
.comparison-label { color: var(--muted); font: 500 8px/1.3 var(--utility); text-transform: uppercase; }
.comparison-product h3 { margin: 8px 0; color: var(--pine); font: 600 24px/1 var(--display); }
.comparison-image { position: relative; overflow: hidden; }
.comparison-product img { width: 100%; aspect-ratio: 1.6/1; object-fit: cover; }
.comparison-image .image-identity { right: 8px; bottom: 8px; left: 8px; padding: 8px 9px; }
.comparison-image .image-identity strong { font-size: 8px; }
.comparison-image .image-identity small { font-size: 7px; }
.comparison-cell { font-size: 11px; line-height: 1.6; }
.comparison-cell ul { margin: 0; padding-left: 17px; }

.store-footer { margin-top: 0; }
.store-footer .brand-dark, .store-footer .brand-wordmark strong { color: #fff; }
.store-footer .brand-mark { color: var(--brass-light); border-color: rgba(255,255,255,.62); }
.store-toast { position: fixed; z-index: 100; right: 24px; bottom: 24px; max-width: 320px; padding: 14px 18px; color: white; background: var(--oxblood); box-shadow: 0 14px 35px rgba(0,0,0,.2); opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease; font-size: 11px; }
.store-toast.is-visible { opacity: 1; transform: none; }

.inner-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; color: var(--muted); font: 400 9px/1.4 var(--utility); text-transform: uppercase; }
.inner-crumbs a:hover { color: var(--pine); }
.product-page { padding-top: 42px; padding-bottom: 100px; }
.product-overview { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 570px; background: white; }
.product-gallery { position: relative; min-width: 0; overflow: hidden; background: #dfe4df; }
.product-gallery img { width: 100%; height: 100%; object-fit: cover; }
.product-gallery .image-identity { right: auto; bottom: 20px; left: 20px; width: min(330px,calc(100% - 40px)); padding: 14px 16px 13px; }
.product-gallery .image-identity strong { font-size: 13px; }
.product-gallery .image-identity small { font-size: 9px; }
.product-summary { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px,5vw,76px); }
.product-summary h1 { margin: 0; color: var(--pine); font: 600 clamp(48px,5vw,70px)/.9 var(--display); }
.product-subtitle { margin: 22px 0 0; color: var(--muted); font-size: 13px; }
.purchase-facts { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 30px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.purchase-facts > div { min-width: 0; padding: 17px 12px 17px 0; border-right: 1px solid var(--line); }
.purchase-facts > div:not(:first-child) { padding-left: 12px; }
.purchase-facts > div:last-child { border-right: 0; }
.purchase-facts span, .purchase-row span { display: block; color: var(--muted); font: 400 8px/1 var(--utility); text-transform: uppercase; }
.purchase-facts strong { display: block; margin-top: 7px; overflow-wrap: anywhere; font-size: 10px; }
.purchase-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 28px; }
.purchase-row > div > strong { display: block; margin-top: 6px; color: var(--pine); font-size: 25px; }
.purchase-row small { font: 400 9px/1 var(--utility); }
.payment-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 22px; color: var(--muted); font-size: 9px; }
.payment-note svg { width: 16px; flex: 0 0 auto; color: var(--oxblood); }
.product-content-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 60px; padding: 95px 0; }
.product-content-grid article h2, .requirements-panel h2, .related-head h2 { max-width: 720px; margin: 0; color: var(--pine); font: 600 clamp(42px,4.5vw,62px)/.95 var(--display); }
.benefit-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; margin: 42px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.benefit-list li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; padding: 19px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.benefit-list svg { width: 16px; color: var(--oxblood); }
.fact-panel { align-self: start; padding: 30px; color: white; background: var(--pine); }
.fact-panel .eyebrow { color: var(--brass-light); }
.fact-panel dl { margin: 0; }
.fact-panel dl div { padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.fact-panel dt { color: rgba(255,255,255,.5); font: 400 8px/1.3 var(--utility); text-transform: uppercase; }
.fact-panel dd { margin: 7px 0 0; font-size: 11px; }
.process-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding: 65px; color: white; background: var(--pine); }
.process-panel > h2 { margin: 34px 0 0; font: 500 48px/.95 var(--display); }
.process-panel ol { grid-column: 2; grid-row: 1/3; margin: 0; padding: 0; list-style: none; }
.process-panel li { display: grid; grid-template-columns: 36px 1fr; gap: 18px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.17); }
.process-panel li > span { color: var(--brass-light); font: 400 9px/1 var(--utility); }
.process-panel h3 { margin: 0 0 6px; font: 500 25px/1 var(--display); }
.process-panel li p { margin: 0; color: rgba(255,255,255,.6); font-size: 10px; }
.requirements-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding: 90px 0; }
.requirements-panel ul { margin: 0; padding-left: 18px; color: var(--muted); font-size: 12px; }
.requirements-panel li { margin-bottom: 12px; }
.terms-note { margin-top: 28px; padding: 20px; color: var(--muted); background: #e8ece7; border-left: 3px solid var(--oxblood); font-size: 10px; }
.related-section { padding-top: 65px; border-top: 1px solid var(--line); }
.related-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 35px; }
.related-head > a { color: var(--pine); border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 700; }

.checkout-page { padding-top: 42px; padding-bottom: 100px; }
.checkout-heading { max-width: 780px; margin: 0 auto 50px; text-align: center; }
.checkout-heading h1 { margin: 0; color: var(--pine); font: 600 clamp(48px,5vw,70px)/.92 var(--display); }
.checkout-heading > p:not(.eyebrow) { max-width: 560px; margin: 20px auto 0; color: var(--muted); font-size: 12px; }
.checkout-layout { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 28px; align-items: start; max-width: 1080px; margin: 0 auto; }
.checkout-form, .order-summary { background: white; }
.checkout-form { padding: 35px; }
.form-section { display: grid; grid-template-columns: 38px 1fr; gap: 15px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.form-step { color: var(--oxblood); font: 400 9px/1 var(--utility); }
.form-section h2 { margin: 0; color: var(--pine); font: 600 28px/1 var(--display); }
.form-section p { margin: 8px 0 0; color: var(--muted); font-size: 10px; }
.checkout-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin-top: 25px; }
.checkout-fields label, .status-panel label { display: grid; gap: 8px; min-width: 0; }
.checkout-fields label > span, .status-panel label > span { color: var(--muted); font: 500 8px/1 var(--utility); letter-spacing: .08em; text-transform: uppercase; }
.checkout-fields input, .checkout-fields select, .status-panel input { width: 100%; height: 48px; padding: 0 13px; color: var(--ink); background: var(--porcelain); border: 1px solid var(--line); border-radius: 0; font: 600 11px/1 var(--body); }
.terms-check { display: grid; grid-template-columns: 18px 1fr; gap: 10px; margin: 25px 0; color: var(--muted); font-size: 10px; }
.terms-check input { width: 16px; height: 16px; accent-color: var(--pine); }
.checkout-submit { width: 100%; }
.checkout-handoff { margin: 12px 0 0; color: var(--muted); font: 400 8px/1.5 var(--utility); text-align: center; text-transform: uppercase; }
.order-summary { position: sticky; top: 100px; padding: 28px; border-top: 3px solid var(--brass); }
.order-summary img { width: 100%; aspect-ratio: 1.6/1; object-fit: cover; }
.order-summary h2 { margin: 22px 0; color: var(--pine); font: 600 31px/1 var(--display); }
.order-summary dl { margin: 0; }
.order-summary dl div { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-top: 1px solid var(--line); font-size: 10px; }
.order-summary dt { color: var(--muted); }
.order-summary dd { margin: 0; font-weight: 700; text-align: right; }
.order-summary .summary-total { padding-top: 20px; color: var(--pine); font-size: 14px; }
.order-summary > a { display: inline-block; margin-top: 20px; color: var(--pine); border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 700; }

.support-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; padding-top: 90px; padding-bottom: 90px; }
.support-intro h2, .faq-layout h2 { margin: 0; color: var(--pine); font: 600 58px/.95 var(--display); }
.support-intro > p:last-child { margin-top: 25px; color: var(--muted); font-size: 12px; }
.contact-options { border-top: 1px solid var(--line); }
.contact-options > a { display: grid; grid-template-columns: 28px 1fr 24px; gap: 18px; align-items: center; padding: 25px 0; border-bottom: 1px solid var(--line); }
.contact-options > a > svg { width: 20px; color: var(--oxblood); }
.contact-options span { display: grid; }
.contact-options strong { font: 600 24px/1 var(--display); }
.contact-options small { margin-top: 7px; color: var(--muted); font-size: 9px; }
.faq-section { padding: 90px 0; background: white; }
.faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px 0; cursor: pointer; color: var(--pine); font-weight: 700; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary svg { width: 17px; transition: transform .2s ease; }
.faq-list details[open] summary svg { transform: rotate(45deg); }
.faq-list details p { margin: -5px 0 25px; color: var(--muted); font-size: 11px; }

.status-main { display: grid; min-height: calc(100vh - 78px); place-items: center; padding: 70px 24px; background: var(--pine); }
.status-panel { display: grid; grid-template-columns: 1fr .85fr; gap: 70px; width: min(100%,1000px); padding: clamp(34px,6vw,78px); background: var(--porcelain); border-top: 4px solid var(--brass); }
.status-panel h1 { margin: 0; color: var(--pine); font: 600 clamp(50px,6vw,76px)/.9 var(--display); }
.status-panel > div > p:last-child { margin-top: 24px; color: var(--muted); font-size: 12px; }
.status-panel form { display: grid; gap: 17px; align-content: center; }
.status-panel form small { color: var(--muted); font: 400 8px/1.5 var(--utility); }
.status-feedback { grid-column: 1/-1; padding: 24px; background: var(--paper); border-top: 3px solid var(--brass); }
.status-feedback.is-loading { display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--muted); }
.status-feedback.is-loading svg { width: 18px; animation: status-spin .9s linear infinite; }
.status-feedback.is-error { display: flex; align-items: flex-start; gap: 14px; color: var(--oxblood); }
.status-feedback.is-error svg { flex: 0 0 auto; width: 21px; }
.status-feedback.is-error strong { color: var(--ink); }
.status-feedback.is-error p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.status-feedback.is-error a { color: var(--oxblood); border-bottom: 1px solid currentColor; }
.status-result-head { display: grid; grid-template-columns: 40px 1fr; gap: 17px; align-items: start; }
.status-result-head > svg { width: 29px; color: var(--oxblood); }
.status-result-head span { color: var(--muted); font: 500 8px/1 var(--utility); text-transform: uppercase; }
.status-result-head h2 { margin: 6px 0; color: var(--pine); font: 600 31px/1 var(--display); }
.status-result-head p { margin: 0; color: var(--muted); font-size: 11px; }
.status-result-details { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin-top: 22px; background: var(--line); }
.status-result-details > div { display: grid; gap: 4px; padding: 15px; background: var(--porcelain); }
.status-result-details span { color: var(--muted); font: 500 8px/1 var(--utility); text-transform: uppercase; }
.status-result-details strong { color: var(--ink); font-size: 11px; }
@keyframes status-spin { to { transform: rotate(360deg); } }

@media (max-width: 1080px) {
  .store-header { grid-template-columns: auto 1fr auto; }
  .store-nav { gap: 18px; }
  .store-actions > a:first-child { display: none; }
  .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .store-header { grid-template-columns: 1fr auto; min-height: 68px; padding: 0 18px; }
  .store-nav, .store-actions .button { display: none; }
  .store-actions { display: block; }
  .store-mobile-trigger { display: grid; width: 42px; height: 42px; place-items: center; padding: 0; background: none; border: 0; }
  .store-mobile-trigger svg { width: 21px; }
  .store-mobile-panel { position: fixed; top: 68px; right: 0; left: 0; display: flex; flex-direction: column; padding: 16px; background: var(--porcelain); border-bottom: 1px solid var(--line); box-shadow: 0 20px 45px rgba(0,0,0,.14); transform: translateY(-130%); transition: transform .25s ease; }
  .store-mobile-panel.is-open { transform: none; }
  .store-mobile-panel > a, .store-mobile-panel summary { padding: 12px 4px; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 700; }
  .store-mobile-panel summary { display: flex; justify-content: space-between; cursor: pointer; list-style: none; }
  .store-mobile-panel summary svg { width: 16px; }
  .store-mobile-panel details div { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding: 6px 0; }
  .store-mobile-panel details div a { padding: 10px; background: white; font-size: 11px; }
  .store-hero-inner { grid-template-columns: minmax(0,1fr); gap: 20px; min-height: 300px; padding-top: 54px; padding-bottom: 45px; }
  .store-hero.store-hero-visual .store-hero-inner { min-height: 360px; }
  .store-hero-catalog .store-hero-media, .store-hero-journal .store-hero-media, .store-hero-support .store-hero-media { object-position: 68% center; }
  .store-hero-inner > *, .store-hero p:not(.eyebrow) { min-width: 0; width: 100%; overflow-wrap: break-word; }
  .store-hero h1 { font-size: 48px; }
  .trust-rail { grid-template-columns: 1fr 1fr; }
  .trust-rail > div { gap: 9px; min-width: 0; padding: 16px 12px; }
  .trust-rail > div > span { min-width: 0; }
  .trust-rail strong { font-size: 10px; }
  .trust-rail > div:nth-child(2) { border-right: 0; }
  .trust-rail > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .catalog-section { padding: 36px 0 70px; }
  .catalog-layout { grid-template-columns: 1fr; gap: 22px; }
  .filters { position: static; }
  .filter-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
  .filter-field:first-child { grid-column: 1/-1; }
  .catalog-toolbar { align-items: flex-start; }
  .catalog-toolbar h2 { font-size: 29px; }
  .catalog-sort { grid-template-columns: 1fr; width: 145px; }
  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-description { min-height: 0; }
  .compare-bar { align-items: stretch; flex-direction: column; padding: 13px 16px; }
  .compare-items { overflow-x: auto; }
  .compare-copy { display: none; }
  .comparison-row { grid-template-columns: 100px repeat(var(--compare-count),minmax(180px,1fr)); min-width: calc(100px + var(--compare-count) * 180px); }
  .comparison-table { overflow-x: auto; padding: 14px; }
  .product-page, .checkout-page { padding-top: 24px; padding-bottom: 70px; }
  .product-overview { grid-template-columns: 1fr; }
  .product-gallery { aspect-ratio: 1.25/1; }
  .product-summary { padding: 30px 22px; }
  .product-summary h1 { font-size: 48px; }
  .purchase-facts { grid-template-columns: 1fr; }
  .purchase-facts > div, .purchase-facts > div:not(:first-child) { padding: 13px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .purchase-facts > div:last-child { border-bottom: 0; }
  .purchase-row { align-items: stretch; flex-direction: column; }
  .product-content-grid, .requirements-panel, .process-panel { grid-template-columns: 1fr; gap: 35px; padding: 65px 0; }
  .benefit-list { grid-template-columns: 1fr; }
  .process-panel { padding-right: 25px; padding-left: 25px; }
  .process-panel ol { grid-column: auto; grid-row: auto; }
  .related-head { align-items: flex-start; flex-direction: column; }
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-form { padding: 25px 20px; }
  .checkout-fields { grid-template-columns: 1fr; }
  .order-summary { position: static; grid-row: 1; }
  .support-layout, .faq-layout, .status-panel { grid-template-columns: 1fr; gap: 40px; }
  .support-layout, .faq-section { padding-top: 65px; padding-bottom: 65px; }
  .support-intro h2, .faq-layout h2 { font-size: 48px; }
  .status-main { min-height: calc(100vh - 68px); padding: 35px 16px; }
  .status-panel { padding: 32px 22px; }
  .status-result-details { grid-template-columns: 1fr; }
}
