:root {
    --ink: #152c25;
    --paper: #f8faf7;
    --muted: #5a6b64;
    --line: #dce3dc;
    --accent: #dae8c1;
    --white: #fff;
    --warn: #885115;
    --danger: #9c3434;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background: var(--paper);
    font-size: 16px
}

* {
    box-sizing: border-box
}

body {
    margin: 0
}

a {
    color: inherit;
    text-decoration: none
}

button,
input,
textarea,
select {
    font: inherit
}

button,
a,
input,
textarea,
select {
    outline-offset: 4px
}

button {
    cursor: pointer
}

button:disabled {
    cursor: wait;
    opacity: .55
}

input,
textarea,
select {
    border: 1px solid #b7c5bd;
    border-radius: 5px;
    background: #fff;
    padding: 12px;
    color: var(--ink);
    width: 100%;
    min-width: 0
}

textarea {
    min-height: 100px;
    resize: vertical
}

label {
    display: block;
    font-size: .875rem;
    font-weight: 600;
    margin-bottom: 7px
}

h1,
h2,
h3,
p {
    margin-top: 0
}

h2 {
    font-family: Georgia, serif;
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 1.13;
    letter-spacing: -.025em;
    margin-bottom: 20px
}

h3 {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.4
}

p {
    line-height: 1.65
}

button {
    border: 0
}

small,
.quiet {
    font-size: .875rem;
    color: var(--muted);
    line-height: 1.6
}

.announcement {
    background: var(--ink);
    color: #fff;
    text-align: center;
    font-size: .8125rem;
    padding: 10px 20px;
    letter-spacing: .025em
}

.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px 6%;
    border-bottom: 1px solid var(--line);
    gap: 28px
}

.brand {
    font-family: Georgia, serif;
    font-size: 1.6rem;
    letter-spacing: -.025em;
    font-weight: bold;
    display: inline-block;
    white-space: nowrap
}

.brand span {
    display: block;
    text-align: center;
    font-family: Arial, sans-serif;
    font-size: .625rem;
    letter-spacing: .42em;
    font-weight: 500;
    margin-top: 5px
}

.site-header nav {
    display: flex;
    gap: 35px;
    font-size: .875rem
}

.small-link {
    font-size: .875rem;
    border-bottom: 1px solid var(--ink);
    padding-bottom: 5px
}

.hero {
    padding: 85px 6% 80px;
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 8%;
    max-width: 1600px;
    margin: auto
}

.eyebrow {
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .14em;
    line-height: 1.6;
    margin-bottom: 25px
}

.hero h1 {
    font-family: Georgia, serif;
    font-size: clamp(3.4rem, 5.6vw, 6rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: 1.02;
    margin-bottom: 26px
}

.hero-sub {
    font-size: 1.1rem;
    max-width: 450px;
    color: var(--muted)
}

.actions {
    display: flex;
    gap: 28px;
    align-items: center;
    margin: 30px 0
}

.button {
    padding: 13px 20px;
    border-radius: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    font-size: .875rem;
    font-weight: 600;
    border: 1px solid transparent;
    text-align: center;
    line-height: 1.3
}

.button.dark {
    background: var(--ink);
    color: #fff
}

.button.secondary {
    border-color: var(--line);
    background: #fff;
    color: var(--ink)
}

.button.danger {
    color: var(--danger);
    background: #fff1f1;
    border-color: #edcece
}

.text-link {
    font-size: .875rem;
    border-bottom: 1px solid #a9b8ad;
    padding: 7px 0
}

.hero-panel {
    background: var(--ink);
    color: #edf4e5;
    padding: 45px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 420px;
    border-radius: 3px
}

.hero-panel .eyebrow {
    color: #bacdb4
}

.record-lines p {
    font-family: Georgia, serif;
    font-size: 1.7rem;
    border-bottom: 1px solid #496053;
    padding-bottom: 20px;
    margin-bottom: 20px
}

.record-lines span {
    font-family: Arial, sans-serif;
    font-size: .75rem;
    color: #bbcea6;
    margin-right: 22px
}

.panel-foot {
    font-size: .875rem;
    color: #c4d0c5;
    line-height: 1.6
}

.section {
    padding: 65px 6%;
    border-top: 1px solid var(--line)
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px
}

.section-heading .eyebrow {
    margin-bottom: 10px
}

.pill,
.badge {
    display: inline-block;
    font-size: .75rem;
    border: 1px solid var(--line);
    border-radius: 30px;
    padding: 6px 11px;
    line-height: 1.3;
    background: #f0f4ec;
    white-space: nowrap
}

.badge.pending,
.badge.quarantine,
.badge.draft {
    background: #fff5df;
    border-color: #ecd8af;
    color: #7b541d
}

.badge.rejected,
.badge.recalled,
.badge.held,
.badge.blocked {
    background: #fff0ef;
    color: #a2332c;
    border-color: #ecc8c4
}

.badge.released,
.badge.approved,
.badge.qualified,
.badge.shipped {
    background: #e7f3de;
    color: #355c2d;
    border-color: #caddc2
}

.empty-catalog {
    display: flex;
    gap: 28px;
    align-items: center;
    padding: 36px;
    border: 1px solid var(--line);
    background: #fff;
    margin-top: 20px
}

.empty-catalog h3 {
    margin-bottom: 8px
}

.empty-catalog p {
    margin: 0;
    max-width: 680px;
    color: var(--muted)
}

.empty-mark {
    font-family: Georgia, serif;
    font-size: 2rem;
    background: #eef2e9;
    padding: 23px;
    color: #6f826f
}

.lot-section {
    padding: 70px 6%;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 8%;
    background: #e8eee4;
    align-items: center
}

.lot-section h2 {
    font-size: 3rem
}

.lot-section>div>p {
    max-width: 390px
}

.lookup-card {
    background: #fff;
    padding: 34px
}

.lookup-input {
    display: flex;
    gap: 12px
}

.lookup-input input {
    flex: 1
}

.lookup-input button {
    white-space: nowrap
}

.lookup-card .quiet {
    margin-top: 15px;
    margin-bottom: 0
}

.lot-record {
    margin-top: 24px;
    border-top: 1px solid var(--line);
    padding-top: 20px
}

.lot-record .eyebrow {
    margin-bottom: 10px
}

dl {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 12px;
    font-size: .875rem
}

dt {
    color: var(--muted)
}

dd {
    margin: 0
}

.standards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 40px
}

.ordinal {
    display: block;
    font-size: .75rem;
    letter-spacing: .09em;
    color: var(--muted);
    padding-top: 22px;
    border-top: 1px solid #b6c3b7;
    margin-bottom: 22px
}

.standards-grid p {
    color: var(--muted)
}

footer {
    padding: 40px 6%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border-top: 1px solid var(--line);
    font-size: .875rem
}

footer p {
    margin: 0;
    color: var(--muted)
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.product {
    padding: 28px;
    border: 1px solid var(--line);
    background: #fff
}

.product .eyebrow {
    margin-bottom: 15px
}

.product h3 {
    font-family: Georgia, serif;
    font-size: 1.7rem
}

.strength {
    color: var(--muted)
}

.product-foot {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid var(--line);
    padding-top: 18px;
    font-size: .875rem;
    gap: 12px
}

/* Operations */
.admin-body {
    background: #f5f7f4
}

.sidebar {
    width: 245px;
    position: fixed;
    inset: 0 auto 0 0;
    background: var(--ink);
    color: #e9eee5;
    padding: 32px 22px;
    display: flex;
    flex-direction: column
}

.sidebar .brand {
    margin: 4px 8px 40px
}

.nav-label {
    font-size: .75rem;
    letter-spacing: .13em;
    color: #b1c0b6;
    padding-left: 12px;
    margin-bottom: 14px
}

.sidebar nav {
    display: grid;
    gap: 6px
}

.sidebar nav button {
    text-align: left;
    background: transparent;
    color: #c6d3c9;
    padding: 13px;
    border-radius: 5px;
    font-size: .875rem
}

.sidebar nav button.active {
    color: #172c25;
    background: #dbe8cb
}

.sidebar nav button:hover:not(.active) {
    background: #284238;
    color: #fff
}

.sidebar-foot {
    margin-top: auto;
    padding: 25px 10px 0;
    font-size: .875rem;
    display: grid;
    gap: 14px
}

.sidebar-foot .pill {
    color: #deebd2;
    background: #274238;
    border-color: #506d58;
    justify-self: start
}

.sidebar-foot p {
    margin: 0;
    color: #afbeb4
}

.sidebar-foot a {
    font-size: .8125rem
}

.admin-main {
    margin-left: 245px
}

.admin-header {
    padding: 23px 36px;
    border-bottom: 1px solid var(--line);
    background: #fff;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: .875rem
}

.admin-header>span:last-child {
    color: var(--muted);
    font-size: .8125rem;
    overflow-wrap: anywhere
}

#workspace {
    padding: 36px;
    max-width: 1600px;
    margin: auto
}

.page-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 28px
}

.page-title h1 {
    font-family: Georgia, serif;
    font-size: 2.4rem;
    font-weight: 400;
    letter-spacing: -.025em;
    margin: 0 0 8px
}

.page-title p {
    color: var(--muted);
    margin: 0;
    font-size: .875rem
}

.page-title .actions {
    margin: 0
}

.notice {
    border: 1px solid #d7dfca;
    background: #eef3e6;
    padding: 20px 24px;
    border-radius: 5px;
    font-size: .875rem;
    line-height: 1.6;
    margin-bottom: 28px
}

.notice strong {
    display: block;
    margin-bottom: 4px
}

.notice.warning {
    background: #fff6e5;
    border-color: #e6d9bc
}

.metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 28px
}

.metric {
    border: 1px solid var(--line);
    padding: 24px;
    background: #fff;
    border-radius: 5px
}

.metric span {
    color: var(--muted);
    font-size: .8125rem;
    display: block;
    margin-bottom: 18px
}

.metric strong {
    font-size: 2.2rem;
    font-weight: 400;
    display: block
}

.metric small {
    display: block;
    margin-top: 10px
}

.card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 5px;
    margin-bottom: 24px;
    overflow: hidden
}

.card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 23px 24px;
    border-bottom: 1px solid var(--line)
}

.card-head h2 {
    font-family: Arial, sans-serif;
    font-size: 1rem;
    letter-spacing: 0;
    margin: 0;
    font-weight: 600
}

.card-body {
    padding: 24px
}

.card-body p:last-child {
    margin-bottom: 0
}

.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px
}

.table-wrap {
    overflow: auto
}

table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: .875rem
}

th {
    background: #fafbf8;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 500;
    padding: 13px 20px;
    white-space: nowrap
}

td {
    padding: 18px 20px;
    border-top: 1px solid #e8ece5;
    vertical-align: middle
}

td small {
    display: block;
    margin-top: 4px;
    font-size: .75rem
}

td .button {
    padding: 8px 12px;
    font-size: .8125rem
}

td .actions {
    gap: 6px;
    margin: 0;
    flex-wrap: wrap
}

.empty {
    padding: 45px 24px;
    text-align: center;
    color: var(--muted);
    line-height: 1.7
}

.empty h3 {
    color: var(--ink);
    margin-bottom: 10px
}

.empty p {
    max-width: 580px;
    margin: 0 auto
}

.empty .button {
    margin-top: 20px
}

.review-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0;
    gap: 15px;
    border-bottom: 1px solid var(--line)
}

.review-row:last-child {
    border: 0
}

.review-row p {
    margin: 0
}

.review-row small {
    display: block
}

.progress-label {
    display: flex;
    justify-content: space-between;
    font-size: .875rem;
    margin-bottom: 10px
}

progress {
    width: 100%;
    height: 8px;
    accent-color: var(--ink)
}

.search-row {
    display: flex;
    gap: 15px;
    margin-bottom: 20px
}

.search-row input {
    max-width: 420px
}

.inline-tag {
    font-size: .75rem;
    color: var(--muted)
}

.document-note {
    background: #eef3e9;
    font-size: .875rem;
    padding: 14px;
    margin-bottom: 20px
}

.mono {
    font-family: monospace;
    font-size: .8125rem;
    word-break: break-all
}

dialog {
    border: 1px solid var(--line);
    border-radius: 8px;
    width: min(680px, 94vw);
    padding: 0;
    max-height: 90vh;
    color: var(--ink);
    box-shadow: 0 20px 90px #14292333
}

dialog::backdrop {
    background: #12281f88
}

.dialog-head {
    padding: 23px 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line)
}

.dialog-head h2 {
    font-family: Arial, sans-serif;
    font-size: 1.25rem;
    margin: 0;
    letter-spacing: 0
}

.dialog-head button {
    font-size: 1.8rem;
    background: none;
    color: var(--muted);
    padding: 0 8px
}

#editor-form {
    padding: 24px 26px
}

.field {
    margin-bottom: 18px
}

.field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}

.field small {
    display: block;
    margin-top: 6px
}

.checkbox {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-weight: 400;
    line-height: 1.5;
    margin: 15px 0
}

.checkbox input {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 2px
}

.dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    border-top: 1px solid var(--line);
    padding-top: 20px;
    margin-top: 24px
}

.error {
    color: var(--danger);
    font-size: .875rem;
    line-height: 1.5
}

.error:empty {
    display: none
}

#toast {
    position: fixed;
    bottom: 25px;
    right: 25px;
    background: var(--ink);
    color: #fff;
    padding: 14px 22px;
    border-radius: 5px;
    display: none;
    max-width: 90vw;
    z-index: 10
}

.trace {
    white-space: pre-wrap;
    overflow-wrap: anywhere
}

.allocation-row {
    display: grid;
    grid-template-columns: 1fr 100px 35px;
    gap: 8px;
    margin-bottom: 10px
}

.allocation-row button {
    background: #f1f4ed
}

.money {
    font-variant-numeric: tabular-nums;
    white-space: nowrap
}

.order-detail {
    padding: 20px;
    border-top: 1px solid var(--line)
}

details summary {
    cursor: pointer
}

.count-tag {
    font-size: .8125rem;
    color: var(--muted)
}

@media(max-width:1100px) {
    .sidebar {
        width: 215px;
        padding: 25px 14px
    }

    .admin-main {
        margin-left: 215px
    }

    #workspace {
        padding: 25px
    }

    .metrics {
        grid-template-columns: repeat(2, 1fr)
    }

    .two-col {
        grid-template-columns: 1fr
    }

    .hero-panel {
        padding: 30px
    }

    .hero {
        gap: 5%
    }

    .record-lines p {
        font-size: 1.4rem
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:740px) {
    .announcement {
        font-size: .75rem
    }

    .site-header {
        padding: 23px 6%;
        flex-wrap: wrap;
        gap: 20px
    }

    .site-header nav {
        order: 3;
        width: 100%;
        justify-content: space-between;
        gap: 15px
    }

    .hero {
        padding-top: 50px;
        grid-template-columns: 1fr;
        gap: 25px
    }

    .hero-panel {
        min-height: 350px
    }

    .hero h1 {
        font-size: 3.5rem
    }

    .hero-sub {
        font-size: 1rem
    }

    .section {
        padding: 45px 6%
    }

    h2 {
        font-size: 2rem
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 20px
    }

    .lot-section {
        grid-template-columns: 1fr;
        padding: 45px 6%;
        gap: 25px
    }

    .lot-section h2 {
        font-size: 2.5rem
    }

    .lookup-card {
        padding: 23px
    }

    .lookup-input {
        flex-direction: column
    }

    .standards-grid {
        grid-template-columns: 1fr;
        gap: 15px
    }

    .empty-catalog {
        padding: 24px;
        align-items: flex-start
    }

    .empty-mark {
        display: none
    }

    .product-grid {
        grid-template-columns: 1fr
    }

    footer {
        flex-wrap: wrap
    }

    .sidebar {
        position: static;
        width: 100%;
        padding: 20px
    }

    .sidebar .brand {
        margin: 0 0 20px
    }

    .sidebar .nav-label,
    .sidebar-foot {
        display: none
    }

    .sidebar nav {
        display: flex;
        overflow-x: auto;
        gap: 5px;
        padding-bottom: 5px
    }

    .sidebar nav button {
        white-space: nowrap;
        padding: 10px
    }

    .admin-main {
        margin-left: 0
    }

    .admin-header {
        padding: 16px 20px;
        flex-wrap: wrap;
        gap: 8px
    }

    #workspace {
        padding: 24px 16px
    }

    .page-title {
        align-items: flex-start;
        flex-direction: column
    }

    .page-title h1 {
        font-size: 2rem
    }

    .page-title .actions {
        flex-wrap: wrap
    }

    .metrics {
        gap: 12px
    }

    .metric {
        padding: 18px
    }

    .metric strong {
        font-size: 1.9rem
    }

    .card-head {
        padding: 20px
    }

    .two-col {
        gap: 0
    }

    .field-row {
        grid-template-columns: 1fr;
        gap: 0
    }

    .notice {
        padding: 18px
    }

    .allocation-row {
        grid-template-columns: 1fr 75px 25px
    }

    #identity {
        font-size: .75rem
    }

    .button {
        min-height: 40px
    }
}

@media print {

    .sidebar,
    .admin-header,
    .page-title .actions,
    button {
        display: none !important
    }

    .admin-main {
        margin: 0
    }

    #workspace {
        padding: 0
    }

    body {
        background: white
    }

    .card {
        break-inside: avoid
    }
}


/* October 2026: clearer navigation, reading surfaces, and touch targets. */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 24px
}

.storefront a,
.storefront button {
    -webkit-tap-highlight-color: transparent
}

.storefront .site-header nav a {
    padding-block: 12px;
    display: inline-block
}

.storefront .quiet {
    font-size: .875rem
}

.storefront .wayfinder {
    padding-top: 22px
}

.wayfinder h2 {
    font-size: 2rem
}

.wayfinder-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.wayfinder-grid>a {
    padding: 27px;
    border: 1px solid #30465d;
    border-radius: 18px;
    background: #101e30;
    transition: background .2s, transform .2s
}

.wayfinder-grid>a:hover {
    background: #192f43;
    transform: translateY(-3px)
}

.wayfinder-grid span {
    font-size: 11px;
    letter-spacing: .1em;
    color: #9ac1d5
}

.wayfinder-grid h3 {
    margin: 20px 0 12px
}

.wayfinder-grid b {
    float: right;
    color: #82f6d1
}

.wayfinder-grid p {
    font-size: 14px;
    color: #b5c4d6;
    margin: 0
}

.storefront .closing-panel {
    margin: 24px 6% 60px;
    border: 1px solid #315365;
    background: linear-gradient(110deg, #12323b, #101d31);
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 42px
}

.closing-panel h2 {
    margin-bottom: 12px
}

.closing-panel p {
    margin-bottom: 0
}

.closing-panel .eyebrow {
    margin-bottom: 16px
}

.closing-panel .button {
    flex-shrink: 0
}

.site-fineprint {
    padding: 18px 6% 28px;
    margin: 0;
    background: #060d17;
    color: #acbdce;
    font-size: 12px;
    line-height: 1.8
}

.entry-gate a {
    text-decoration: underline;
    text-underline-offset: 3px;
    color: #a9fbe2
}

.entry-gate label:has(input:checked) {
    border-color: #82f6d1;
    background: #132e34
}

.legal-header {
    padding: 25px 6%;
    border-bottom: 1px solid #2b3d51;
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: space-between
}

.legal-header nav {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 14px
}

.reading-hero {
    max-width: 1150px;
    margin: auto;
    padding: 64px 6% 32px
}

.reading-hero h1 {
    font-size: clamp(2.5rem, 6vw, 4.7rem);
    max-width: 850px
}

.reading-hero>p {
    max-width: 700px;
    color: #b6c7d9
}

.reading-layout {
    display: grid;
    grid-template-columns: 210px minmax(0, 760px);
    gap: 50px;
    max-width: 1150px;
    padding: 0 6% 70px;
    margin: auto
}

.reading-nav {
    position: sticky;
    top: 24px;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px
}

.reading-nav a {
    padding: 10px 12px;
    border-left: 2px solid #315062;
    color: #c2d4e2
}

.reading-nav a:hover {
    color: #82f6d1;
    border-color: #82f6d1
}

.reading-body section {
    padding: 27px 0;
    border-top: 1px solid #2c4054;
    scroll-margin-top: 20px
}

.storefront .reading-body h2 {
    font-size: 1.5rem;
    letter-spacing: -.02em
}

.reading-body p,
.reading-body li {
    line-height: 1.85;
    color: #c4d1df
}

.reading-body li {
    margin-bottom: 10px
}

.reading-body a {
    color: #a6f7db;
    text-decoration: underline;
    text-underline-offset: 3px
}

.reading-callout {
    padding: 22px;
    border: 1px solid #426155;
    border-radius: 15px;
    background: #13292d;
    margin: 20px 0
}

.reading-callout p:last-child {
    margin-bottom: 0
}

.reading-body strong {
    color: #f1f8ff
}

.reading-body table {
    width: 100%;
    border-collapse: collapse
}

.reading-body td,
.reading-body th {
    text-align: left;
    padding: 14px;
    border-bottom: 1px solid #30465d;
    vertical-align: top;
    line-height: 1.6
}

@media(max-width:900px) {
    .wayfinder-grid {
        grid-template-columns: 1fr
    }

    .storefront .closing-panel {
        align-items: flex-start;
        flex-direction: column
    }

    .reading-layout {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .reading-nav {
        position: static;
        flex-direction: row;
        flex-wrap: wrap
    }

    .legal-header {
        align-items: flex-start;
        flex-direction: column
    }

    .storefront .site-header nav {
        gap: 18px
    }
}

@media(max-width:480px) {
    .storefront .hero h1 {
        font-size: 2.9rem
    }

    .storefront .closing-panel {
        padding: 28px
    }

    .storefront .site-header nav {
        gap: 10px;
        font-size: 13px
    }

    .reading-hero {
        padding-top: 38px
    }

    .reading-body table {
        font-size: 13px
    }

    .reading-body th,
    .reading-body td {
        padding: 8px
    }

    .storefront .feature-strip {
        flex-wrap: wrap
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    .wayfinder-grid>a {
        transition: none;
        transform: none !important
    }
}

/* Operations refresh: preserve familiar workflows while improving hierarchy. */
.admin-body {
    --ink: #162d39;
    --paper: #f3f6f8;
    --muted: #536775;
    --line: #d7e2e8;
    font-family: Arial, Helvetica, sans-serif
}

.admin-body .sidebar {
    background: linear-gradient(170deg, #102b35, #0a1725);
    color: #edf8ff;
    border-right: 1px solid #2a4653
}

.admin-body .sidebar .brand {
    font-family: Arial, sans-serif;
    letter-spacing: -1px;
    font-weight: 800
}

.admin-body .sidebar nav button {
    border-radius: 10px;
    min-height: 44px;
    color: #c5d9e2
}

.admin-body .sidebar nav button.active {
    background: #9bf3d9;
    color: #0c2830;
    font-weight: 700
}

.admin-body .admin-header {
    background: #fff;
    border-bottom: 1px solid #d7e2e8
}

.admin-body .page-title h1,
.admin-body h2 {
    font-family: Arial, sans-serif;
    letter-spacing: -.04em;
    font-weight: 650
}

.admin-body .card,
.admin-body .metric {
    border-radius: 16px;
    box-shadow: 0 4px 20px #17303d05
}

.admin-body .button {
    border-radius: 9px;
    min-height: 44px
}

.admin-body .button.dark {
    background: #173f49
}

.admin-body input,
.admin-body select,
.admin-body textarea {
    border-radius: 8px
}

.admin-body :focus-visible {
    outline: 3px solid #19745e;
    outline-offset: 3px
}

.admin-body th {
    font-size: 12px;
    letter-spacing: .02em
}

.admin-body td {
    line-height: 1.6
}

/* Non-modal terms acknowledgment: never covers or hides public content. */
.storefront .terms-notice {
    position: static;
    max-width: 1100px;
    margin: 32px auto;
    padding: 28px 6%;
    border-top: 1px solid #30465d;
    background: #101e30;
    border-radius: 16px
}

.storefront .terms-notice h2 {
    font-size: 1.6rem
}

.terms-notice label {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    font-weight: 400;
    line-height: 1.7
}

.terms-notice input[type=checkbox] {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    margin-top: 4px;
    accent-color: #82f6d1
}

.terms-notice a {
    text-decoration: underline;
    color: #a9fbe2
}

.terms-notice button {
    background: #82f6d1;
    color: #071b24;
    border-radius: 10px;
    min-height: 44px;
    padding: 12px 20px;
    margin-top: 12px
}

.terms-notice #entry-error {
    color: #b5f4df
}

.terms-notice>p {
    color: #b9cbd9
}




/* =====================================================================
   PUREPEAK MASTER STOREFRONT — 2026-10-11
   Canonical customer-facing theme. Keep new public design work below this
   marker and avoid reintroducing retired storefront blocks above.
   ===================================================================== */
:root{
  --pp-night:#04111d;--pp-night-2:#071a2a;--pp-panel:#0b2940;--pp-panel-2:#103650;
  --pp-line:#285a75;--pp-text:#f2f8fb;--pp-muted:#aac1cf;--pp-accent:#79ead3;
  --pp-accent-2:#7fdcff;--pp-ink:#10283c;--pp-soft:#dce8ef;
}
body.pp-final{margin:0;background:var(--pp-night);color:var(--pp-text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
body.pp-final *{box-sizing:border-box}
body.pp-final a{color:inherit;text-decoration:none}
body.pp-final button,body.pp-final input,body.pp-final select{font:inherit}
body.pp-final button{cursor:pointer}
body.pp-final h1,body.pp-final h2,body.pp-final h3,body.pp-final p{margin-top:0}
body.pp-final h1,body.pp-final h2{font-family:Georgia,'Times New Roman',serif}
.ppx-skip{position:absolute;left:18px;top:-100px;z-index:99;background:var(--pp-accent);color:#052033;padding:12px 16px;border-radius:8px}.ppx-skip:focus{top:14px}
.ppx-utility{background:#020d17;border-bottom:1px solid rgba(132,202,238,.18);color:#dcecf6;font-size:12px;letter-spacing:.035em;text-transform:uppercase}
.ppx-utility-inner{max-width:1600px;margin:auto;min-height:40px;padding:7px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ppx-utility a:hover{color:var(--pp-accent)}
.ppx-header{position:relative;z-index:10;min-height:92px;padding:12px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#061827;border-bottom:1px solid rgba(126,210,244,.12)}
.ppx-logo img{width:clamp(145px,13vw,205px);height:68px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 13px rgba(0,0,0,.32))}
.ppx-header nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,2vw,34px);flex-wrap:wrap}.ppx-header nav a{font-weight:700;font-size:14px;color:#f0f6fa;padding:8px 0;border-bottom:2px solid transparent}.ppx-header nav a:hover,.ppx-header nav a:focus-visible,.ppx-header nav a.is-active{color:#92ead8;border-color:#70d9f1}
.ppx-hero{position:relative;isolation:isolate;min-height:575px;background:url('/alpine-master-bg.webp') center center/cover no-repeat;display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);align-items:end;gap:26px;padding:52px 5% 42px;overflow:hidden}
.ppx-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,15,27,.95) 0%,rgba(3,17,30,.82) 28%,rgba(3,17,30,.34) 63%,rgba(3,17,30,.16) 100%),linear-gradient(180deg,rgba(3,14,26,.08),rgba(3,14,26,.45))}
.ppx-hero-copy{max-width:640px;text-shadow:0 3px 18px rgba(0,0,0,.42)}.ppx-kicker{margin-bottom:10px;color:#87ead5;font-size:11px;font-weight:800;letter-spacing:.20em;text-transform:uppercase}.ppx-kicker-blue{color:#7bdcf0}
.ppx-hero h1{margin:0 0 14px;color:#fff;font-size:clamp(48px,5vw,80px);line-height:.95;letter-spacing:-.045em;text-transform:uppercase}.ppx-hero-lead{max-width:550px;margin-bottom:0;color:#d6e6f0;font-size:16px;line-height:1.65}
.ppx-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 25px}.ppx-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid transparent;border-radius:999px;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;background:none}.ppx-button:hover{transform:translateY(-2px)}.ppx-button-accent{background:linear-gradient(90deg,#72d7ff,#7be9cf)!important;color:#052036!important;box-shadow:0 9px 28px rgba(89,211,235,.18)}.ppx-button-ghost{border-color:rgba(218,239,249,.35)!important;background:rgba(5,24,40,.45)!important;color:#fff!important;backdrop-filter:blur(7px)}.ppx-button-dark{background:#0c2b45!important;color:#fff!important;border-color:#274f69!important}
.ppx-proof{display:flex;gap:24px;flex-wrap:wrap}.ppx-proof span{display:flex;align-items:center;gap:8px;color:#dff1f9}.ppx-proof b{font-size:24px;color:#9ce6ff;font-weight:500}.ppx-proof small{font-size:9px;line-height:1.2;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.ppx-hero-products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end;padding-bottom:2px}.ppx-hero-products a{display:block;overflow:hidden;border-radius:16px;border:1px solid rgba(196,226,241,.25);background:rgba(7,29,47,.56);box-shadow:0 18px 34px rgba(0,0,0,.28);transition:transform .18s ease,border-color .18s ease}.ppx-hero-products a:hover{transform:translateY(-5px);border-color:#79d9f6}.ppx-hero-products img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.ppx-category-strip{background:#061827;border-top:1px solid #173d56;border-bottom:1px solid #173d56;padding:14px 4%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.ppx-category-strip a{min-height:70px;padding:12px 13px;border:1px solid #245979;border-radius:12px;background:linear-gradient(145deg,#0d2d48,#082038);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-content:center}.ppx-category-strip a:hover{border-color:#6ed7f3;background:#103753}.ppx-category-strip span{grid-row:1/3;font-size:22px;color:#8fe5f8;align-self:center}.ppx-category-strip b{text-transform:uppercase;font-size:11px;letter-spacing:.03em}.ppx-category-strip small{color:#9db9ca;font-size:10px}
.ppx-featured{padding:40px 4%;background:linear-gradient(180deg,#09263d,#0b314a);color:#fff;border-bottom:1px solid #1e4963}.ppx-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.ppx-section-head h2{margin:0;color:#fff;font-size:clamp(34px,3.5vw,52px);line-height:1}.ppx-feature-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.ppx-feature-card{position:relative;overflow:hidden;border:1px solid #2b5a74;border-radius:16px;background:#103650;box-shadow:0 12px 26px rgba(0,0,0,.15)}.ppx-feature-image{display:block;background:#e8f1f6}.ppx-feature-image img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.ppx-feature-info{padding:13px 15px 15px}.ppx-feature-info>strong{display:block;font-size:13px;color:#cfe9f6}.ppx-feature-info h3{margin:2px 0 4px;font-size:20px;color:#fff}.ppx-feature-info p{margin:0 0 12px;color:#bfd3df;font-size:14px}.ppx-feature-info a{display:flex;justify-content:center;padding:9px 12px;border-radius:9px;background:#08243a;border:1px solid #23506c;font-weight:800;font-size:13px}.ppx-feature-info a:hover{border-color:#6fe0ef}.ppx-note{margin:14px 0 0;color:#b8ccd8;font-size:12px}
.ppx-catalog{padding:44px 4%;background:linear-gradient(180deg,#071c2d,#09263a);color:#eef6fa;border-top:1px solid #173f58}.ppx-catalog .ppx-section-head h2{color:#fff}.ppx-status{align-self:center;padding:8px 14px;border-radius:999px;background:#0b3a32;color:#8ef2d7;border:1px solid #2c6d62;font-size:12px;font-weight:800}.ppx-catalog-tools{display:grid;grid-template-columns:2fr 1fr auto;gap:15px;align-items:end;margin:24px 0 8px}.ppx-catalog-tools label{display:block;margin:0;color:#dcecf5;font-weight:800}.ppx-catalog-tools input,.ppx-catalog-tools select{width:100%;height:50px;margin-top:6px;border:1px solid #35627c;border-radius:12px;background:#041727;color:#fff;padding:0 15px;outline-offset:3px}.ppx-catalog-tools input::placeholder{color:#9fb5c7}.ppx-clear{height:50px;padding:0 21px;border:1px solid #35627c;border-radius:999px;background:#123954;color:#fff;font-weight:800}.ppx-count{margin:10px 0 18px;color:#9bb4c4}.ppx-catalog-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.ppx-product-card{position:relative;min-width:0;border:1px solid #28546c;border-radius:15px;background:#0d3049;box-shadow:0 9px 22px rgba(0,0,0,.12);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ppx-product-card:hover{transform:translateY(-3px);box-shadow:0 14px 27px rgba(0,0,0,.22);border-color:#4c8aa9}.ppx-product-link{display:flex;flex-direction:column;height:100%}.ppx-product-art{background:#e6eef3;overflow:hidden}.ppx-product-art img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.ppx-product-copy{display:flex;flex-direction:column;flex:1;padding:12px 14px 14px}.ppx-product-copy strong{font-size:17px;line-height:1.18;color:#fff}.ppx-product-copy small{margin-top:5px;color:#acc6d5;font-size:13px}.ppx-product-copy span{margin-top:auto;padding-top:11px;color:#84ead8;font-weight:800;font-size:12px}.ppx-empty{padding:24px;border:1px solid #315d75;border-radius:14px;background:#0d3049;color:#eef6fa}
.ppx-records{padding:42px 5%;display:grid;grid-template-columns:1fr 1.1fr;gap:42px;align-items:center;background:#082236;color:#eff7fb;border-top:1px solid #214960}.ppx-record-copy h2{margin:3px 0 14px;font-size:clamp(38px,3.5vw,54px);line-height:1}.ppx-record-copy p:last-child{color:#b3cad7;font-size:16px}.ppx-lookup-card{padding:26px;border-radius:20px;background:#103650;color:#fff;border:1px solid #2c607d;box-shadow:0 14px 34px rgba(0,0,0,.15)}.ppx-lookup-card label{display:block;font-weight:800}.ppx-lookup-row{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:8px}.ppx-lookup-row input{min-width:0;height:52px;border:1px solid #47718c;border-radius:12px;background:#072239;color:#fff;padding:0 15px}.ppx-lot-result{margin-top:16px;padding:16px;border-radius:14px;background:#08263e}.ppx-lot-result h3{font-size:19px}.ppx-lot-result dl{display:grid;grid-template-columns:max-content 1fr;gap:5px 14px}.ppx-lot-result dt{color:#9dc4d8}.ppx-lot-result dd{margin:0}
.ppx-docs{padding:36px 5%;display:grid;grid-template-columns:1.4fr .8fr;gap:18px;background:#061b2c;color:#eff7fb;border-top:1px solid #1f455d}.ppx-docs article,.ppx-docs aside{padding:24px;border-radius:18px}.ppx-docs article{background:#0b2a42;border:1px solid #28566f}.ppx-docs aside{background:#103650;border:1px solid #326580;color:#fff}.ppx-docs h2{font-size:clamp(32px,3vw,45px);margin-bottom:12px}.ppx-docs p{color:#bdd1dd}.ppx-docs aside h3{font-size:24px}.ppx-docs aside p{color:#bfd2de}
.ppx-story{position:relative;isolation:isolate;min-height:360px;padding:50px 6%;display:flex;align-items:center;background:url('/alpine-master-bg.webp') center 45%/cover no-repeat;color:#fff;overflow:hidden}.ppx-story-overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(3,18,31,.96),rgba(3,18,31,.82) 53%,rgba(3,18,31,.45))}.ppx-story-inner{max-width:760px}.ppx-story h2{font-size:clamp(38px,3.8vw,58px);line-height:1.02;margin-bottom:16px}.ppx-story p{color:#dbe9f1;font-size:16px}.ppx-story-lead{font-weight:700;font-size:19px!important;color:#fff!important}
.ppx-contact{padding:46px 6%;display:grid;grid-template-columns:1.2fr .8fr;gap:38px;align-items:center;background:linear-gradient(135deg,#0a384b,#08283e);color:#fff}.ppx-contact h2{font-size:clamp(38px,3.6vw,54px);line-height:1.04}.ppx-contact>div>p{color:#d1e3ec;max-width:720px}.ppx-email{display:inline-block;margin-top:3px;color:#83efd7;font-size:18px;font-weight:800}.ppx-email-note{font-size:11px!important;color:#a9bdc9!important}.ppx-contact-actions{display:grid;gap:10px}.ppx-contact-actions a{padding:15px 18px;border:1px solid #5d8ca2;border-radius:12px;font-weight:800}.ppx-contact-actions a:hover{border-color:#7ee7d4;background:#0d3d53}
.ppx-terms.terms-notice{position:static;max-width:none;margin:0;padding:42px 6%;border:0;border-radius:0;background:#071522;color:#eaf4f9}.ppx-terms h2{font-family:Arial,Helvetica,sans-serif;font-size:25px}.ppx-terms>p{color:#c0d1dc}.ppx-terms .ppx-check{display:flex;gap:13px;align-items:flex-start;max-width:1300px;margin:18px 0;font-weight:400}.ppx-terms .ppx-check input{width:24px;height:24px;flex:0 0 auto;margin-top:3px;accent-color:#82f6d1}.ppx-terms .ppx-check span{line-height:1.55}.ppx-terms .ppx-check a{color:#79ead3;text-decoration:underline}.ppx-terms .ppx-note{color:#adc1cd}.ppx-terms button{margin-top:0}
.ppx-footer{padding:30px 5%;display:grid;grid-template-columns:auto 230px 1fr;gap:28px;align-items:center;background:#06141f;color:#eef6fa;border-top:1px solid #18364b}.ppx-footer-logo img{width:180px;height:60px;object-fit:contain;object-position:left center}.ppx-footer p{margin:0;color:#b6c8d3;font-size:13px}.ppx-footer-links{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap}.ppx-footer-links button{padding:0;border:0;background:none;color:#eef6fa}.ppx-footer-links a,.ppx-footer-links button{font-size:12px}.ppx-footer-links a:hover,.ppx-footer-links button:hover{color:#7fe5d1}.ppx-fineprint{margin:0;padding:10px 5%;background:#030c15;color:#a8bbc7;font-size:11px}
.ppx-subhero{position:relative;min-height:300px;padding:50px 6%;display:flex;align-items:center;background:linear-gradient(90deg,rgba(2,17,29,.94),rgba(2,17,29,.53)),url('/alpine-master-bg.webp') center 44%/cover no-repeat}.ppx-subhero>div{max-width:820px}.ppx-subhero h1{font-size:clamp(44px,4.6vw,68px);line-height:1.02;margin-bottom:16px}.ppx-subhero p:last-child{max-width:660px;color:#d5e5ed;font-size:17px}.ppx-page-copy{padding:52px max(6%,calc((100% - 1180px)/2));background:#0a2236;color:#eff7fb}.ppx-page-copy p{font-size:17px;line-height:1.75;color:#c6d9e4}.ppx-page-lead{font-size:22px!important;font-weight:700;color:#fff!important}.ppx-page-callout{margin-top:28px;padding:20px;border-left:4px solid #59d9d2;background:#103650;display:grid;gap:4px}.ppx-contact-page{padding:52px 6%;display:grid;grid-template-columns:1fr .7fr;gap:44px;align-items:center;background:#0a2236;color:#eff7fb}.ppx-contact-page h2{font-size:clamp(38px,3.7vw,54px)}.ppx-contact-page p{color:#c7d9e4}.ppx-contact-mail{display:inline-block;font-size:20px;font-weight:800;color:#79ead3;margin:6px 0 12px}.ppx-contact-box{display:grid;gap:12px;padding:24px;border-radius:18px;background:#103650;border:1px solid #2f607b}
/* Product information appears on hover and keyboard focus. */
.ppx-product-with-tip{position:relative;isolation:isolate}.ppx-hover-info{position:absolute;z-index:20;inset:8px;padding:15px;border:1px solid rgba(127,221,245,.42);border-radius:12px;background:linear-gradient(160deg,rgba(4,19,33,.985),rgba(8,42,62,.985));box-shadow:0 18px 42px rgba(0,0,0,.32);color:#edf8fc;text-align:left;opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease;overflow:auto}.ppx-hover-info b{display:block;margin:0 0 4px;color:#86e4ef;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.ppx-hover-info p{margin:0 0 10px!important;color:#edf8fc!important;font-size:12px!important;line-height:1.45!important}.ppx-hover-info small{display:block;color:#a9c3d1!important;font-size:10px!important;line-height:1.4!important}.ppx-product-with-tip:hover>.ppx-hover-info,.ppx-product-with-tip:focus-within>.ppx-hover-info{opacity:1;visibility:visible;transform:translateY(0)}
/* Legal/guide pages use the shared dark shell without the ppx-specific markup. */
body.storefront:not(.pp-final){background:#08111d;color:#eaf4fb}.storefront:not(.pp-final) footer{padding:34px 6%;display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid #263f53;background:#07131f}.storefront:not(.pp-final) .footer-links{display:flex;gap:18px;flex-wrap:wrap}.storefront:not(.pp-final) .brand{color:#fff}
@media(max-width:1250px){.ppx-category-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.ppx-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ppx-hero{grid-template-columns:1fr;align-items:center}.ppx-hero-copy{max-width:780px}.ppx-hero-products{max-width:860px}.ppx-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.ppx-utility-inner{justify-content:center}.ppx-utility-inner span{width:100%;text-align:center}.ppx-header{flex-direction:column;align-items:flex-start;min-height:0}.ppx-header nav{justify-content:flex-start}.ppx-hero{padding:42px 5% 36px;min-height:0}.ppx-hero-products{grid-template-columns:repeat(5,minmax(100px,1fr));overflow-x:auto;padding-bottom:10px}.ppx-hero-products a{min-width:125px}.ppx-category-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ppx-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ppx-catalog-tools{grid-template-columns:1fr}.ppx-clear{width:max-content}.ppx-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ppx-records,.ppx-docs,.ppx-contact,.ppx-contact-page{grid-template-columns:1fr;gap:26px}.ppx-footer{grid-template-columns:1fr}.ppx-footer-links{justify-content:flex-start}}
@media(max-width:620px){.ppx-utility a:nth-child(2),.ppx-utility a:nth-child(3),.ppx-utility a:nth-child(4){display:none}.ppx-header{padding:12px 18px}.ppx-logo img{width:150px;height:56px}.ppx-header nav{gap:7px 16px}.ppx-header nav a{font-size:12px}.ppx-hero{padding:36px 18px 30px;background-position:57% center}.ppx-hero h1{font-size:clamp(40px,13vw,60px)}.ppx-hero-lead{font-size:15px}.ppx-proof{gap:15px}.ppx-hero-products{grid-template-columns:repeat(5,118px)}.ppx-category-strip{grid-template-columns:1fr;padding:12px}.ppx-featured,.ppx-catalog{padding:34px 18px}.ppx-section-head{align-items:flex-start;flex-direction:column}.ppx-feature-grid{grid-template-columns:1fr}.ppx-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ppx-product-copy{padding:10px 11px 12px}.ppx-product-copy strong{font-size:14px}.ppx-product-copy small{font-size:11px}.ppx-records,.ppx-docs,.ppx-story,.ppx-contact,.ppx-terms.terms-notice,.ppx-page-copy,.ppx-contact-page{padding:36px 18px}.ppx-lookup-card{padding:19px}.ppx-lookup-row{grid-template-columns:1fr}.ppx-subhero{padding:42px 18px;min-height:270px}.ppx-footer{padding:28px 18px}.ppx-fineprint{padding:9px 18px}.ppx-hover-info{inset:6px;padding:12px}.ppx-hover-info p{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ppx-button,.ppx-product-card,.ppx-hero-products a{transition:none;transform:none!important}}


/* Product reference pages and support form */
[hidden]{display:none!important}
.ppx-detail{max-width:1220px;margin:0 auto;padding:40px 5%}.ppx-detail-grid{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:48px;align-items:center}.ppx-detail h1{font-size:clamp(30px,5vw,54px);line-height:1.15}.ppx-detail h2{font-size:21px;margin-top:24px}.ppx-detail p{line-height:1.7;color:#bdd1df}.ppx-detail-art{text-align:center;background:linear-gradient(145deg,#0d2d48,#061827);border:1px solid #245979;border-radius:20px;padding:32px}.ppx-detail-art img{max-width:100%;max-height:420px;object-fit:contain}.ppx-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.ppx-detail-note{border-top:1px solid #245979;margin-top:40px;padding:24px 0}.ppx-contact-form{display:flex;flex-direction:column;gap:10px;padding:28px;border:1px solid #245979;border-radius:16px;background:#092038}.ppx-contact-form input,.ppx-contact-form textarea{width:100%;padding:12px;border:1px solid #426b85;border-radius:8px;background:#071521;color:#eaf5ff;font:inherit}.ppx-contact-form label{font-size:14px;color:#c5dbe8}.ppx-contact-form button{margin-top:12px}.ppx-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.inquiry-message{white-space:pre-wrap}.admin-body details.card{padding:20px}.admin-body .metrics{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}#scan-form{flex-wrap:wrap;gap:12px;padding:20px;background:white;border-radius:12px}#scan-form label{width:100%;font-weight:600}#scan-code{flex:1;min-width:160px}.ppx-product-with-tip:focus-within .ppx-hover-info{opacity:1;visibility:visible}
@media(max-width:700px){.ppx-detail-grid{grid-template-columns:1fr;gap:24px}.ppx-detail{padding:28px 18px}.ppx-detail-art img{max-height:260px}.ppx-contact-form{padding:18px}}

/* Launch-prep commerce */
.pp-checkout{max-width:980px;margin:0 auto;padding:56px 24px 90px}.pp-checkout>h1{font-size:clamp(2rem,5vw,4rem);margin:.2em 0}.pp-checkout-items{display:grid;gap:12px;margin:24px 0}.pp-checkout-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(127,160,176,.28)}.pp-checkout-line div{display:grid;gap:3px}.pp-checkout-line input{width:64px}.pp-checkout-line button{background:transparent;border:0;text-decoration:underline;cursor:pointer}.pp-checkout-total{display:flex;justify-content:space-between;padding-top:16px;font-size:1.1rem}.pp-check{display:flex!important;gap:10px;align-items:flex-start}.pp-check input{width:auto!important;margin-top:.3rem}.ppx-cart-note{min-height:1.4em}.ppx-button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:720px){.pp-checkout-line{grid-template-columns:1fr auto}.pp-checkout-line>span{font-weight:700}.pp-checkout-line>button{justify-self:start}}

/* v1.4 automatic per-SKU volume pricing */
.ppx-volume-pricing{margin:18px 0 26px;padding:18px;border:1px solid rgba(127,160,176,.28);border-radius:18px;background:rgba(255,255,255,.72)}
.pp-volume-heading{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:12px}.pp-volume-heading strong{font-size:1.35rem}.pp-volume-heading span{font-size:.86rem;opacity:.72}
.pp-volume-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pp-volume-tiers>div{display:grid;gap:3px;padding:12px;border-radius:12px;background:rgba(22,52,43,.06);border:1px solid rgba(22,52,43,.08)}.pp-volume-tiers span{font-weight:700}.pp-volume-tiers small,.pp-volume-note{opacity:.72}.pp-volume-note{margin:.8rem 0 0;font-size:.82rem}
.ppx-qty{display:flex;align-items:center;gap:8px;font-weight:700}.ppx-qty input{width:72px;min-height:44px;padding:8px 10px;border:1px solid rgba(127,160,176,.45);border-radius:10px;background:#fff;color:inherit}
.pp-checkout-line small{display:block;margin-top:3px}.pp-tier-nudge{color:#436c5a}.pp-stock-warning{color:#9a3412;font-weight:700}.pp-checkout-summary{display:grid;gap:8px;padding-top:12px}.pp-checkout-summary>div{display:flex;justify-content:space-between;gap:18px}.pp-checkout-summary .pp-savings{color:#25633f}.pp-checkout-summary .pp-checkout-total{border-top:1px solid rgba(127,160,176,.28);padding-top:14px;margin-top:4px}.pp-checkout-summary p{margin:.4rem 0 0;opacity:.72}
@media(max-width:760px){.pp-volume-heading{display:grid}.pp-volume-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}.ppx-detail-actions{align-items:stretch}.ppx-qty{width:100%}}

/* Product record clarity and accessible layout */
.ppx-volume-pricing[hidden]{display:none!important}.ppx-volume-pricing{color:#132b35;background:#f4f7f7;border-color:#adc2cb}.ppx-detail-grid{align-items:start}.ppx-detail-grid>article{min-width:0}.ppx-detail h2{margin-top:30px}.ppx-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 22px}.ppx-spec-grid>div{background:#0b273c;border:1px solid #31566e;border-radius:12px;padding:13px 15px;min-width:0}.ppx-spec-grid dt{color:#a8c9db;font-size:.82rem;margin-bottom:6px}.ppx-spec-grid dd{margin:0;color:#f1f8fc;font-weight:600;overflow-wrap:anywhere}.ppx-qty input{color:#112b38;background:#fff}.ppx-detail-actions{align-items:center}.ppx-detail-actions .ppx-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center}@media(max-width:600px){.ppx-spec-grid{grid-template-columns:1fr}.ppx-detail-actions .ppx-button{width:100%}}

/* v1.9 product detail: status banner must never overlap section headings. */
.ppx-detail-availability{display:block;clear:both;margin:18px 0 28px;min-height:36px}
.ppx-detail-availability .ppx-status{display:inline-block;position:static;max-width:100%;height:auto;line-height:1.5;white-space:normal;vertical-align:top}
.ppx-detail-grid>article>h2{clear:both;margin:30px 0 14px;line-height:1.3}
.ppx-detail-grid>article>h2:first-of-type{margin-top:22px}
.ppx-spec-grid dd{overflow-wrap:anywhere}
.ppx-spec-grid a{color:#9ce8f6;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.ppx-detail-availability{margin:14px 0 24px}.ppx-detail-grid>article>h2{margin-top:26px}.ppx-spec-grid{grid-template-columns:1fr!important}.ppx-spec-grid>div{min-width:0}.ppx-detail-actions>*{max-width:100%}}


/* v2.0 mobile experience: compact alpine header, thumb-friendly navigation and cards. */
@media (max-width: 900px) {
  html { scroll-padding-top: 12px; }
  body.pp-final { overflow-x: clip; -webkit-text-size-adjust: 100%; }
  .ppx-utility-inner { min-height: 32px; padding: 7px 16px; gap: 4px; }
  .ppx-utility-inner span { font-size: 10px; letter-spacing: .025em; }
  .ppx-header { gap: 4px; padding: 10px 16px 0; align-items:stretch; }
  .ppx-logo { align-self: center; }
  .ppx-logo img { width: 155px; height: 54px; }
  .ppx-header nav { display:flex; flex-wrap:nowrap; width:calc(100% + 32px); margin:0 -16px; padding: 4px 16px 10px; gap:8px; overflow-x:auto; overscroll-behavior-x: contain; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#3a697e transparent; -webkit-overflow-scrolling:touch; }
  .ppx-header nav a { flex:0 0 auto; scroll-snap-align:start; font-size:13px; white-space:nowrap; padding:10px 13px; min-height:44px; display:inline-flex; align-items:center; border:1px solid #31546b; border-radius:999px; background:#0d2a40; }
  .ppx-header nav a.is-active { background:#12473f; border-color:#58bba9; }
  .ppx-hero { gap:18px; }
  .ppx-hero h1 { max-width:15ch; text-wrap:balance; line-height:1.04; }
  .ppx-hero-products { display:flex; gap:10px; max-width:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; }
  .ppx-hero-products a { flex:0 0 126px; scroll-snap-align:start; }
  .ppx-catalog-tools input,.ppx-catalog-tools select,.ppx-lookup-row input,.ppx-contact-form input,.ppx-contact-form textarea { min-height:48px; font-size:16px; }
  .ppx-product-card { min-width:0; }
  .ppx-button, .ppx-clear { min-height:46px; }
  .ppx-detail-grid { align-items:start; }
  .ppx-detail-actions { display:flex; flex-wrap:wrap; gap:12px; }
  .ppx-detail-art { overflow:hidden; }
  .ppx-detail-art img { object-fit:contain; }
}
@media (max-width:620px) {
  .ppx-header { position:relative; }
  .ppx-hero { padding:30px 18px 26px; background-position:60% center; }
  .ppx-hero h1 { font-size:clamp(34px,9.6vw,52px); letter-spacing:-.025em; }
  .ppx-hero-lead { font-size:15px; line-height:1.6; }
  .ppx-hero-actions { display:grid; grid-template-columns:1fr; gap:9px; }
  .ppx-hero-actions .ppx-button { width:100%; }
  .ppx-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .ppx-proof span { gap:5px; align-items:center; }
  .ppx-proof b { font-size:20px; }
  .ppx-category-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .ppx-category-strip a { padding:12px; min-height:66px; }
  .ppx-section-head h2 { font-size:clamp(29px,8vw,39px); line-height:1.12; }
  .ppx-catalog-grid { gap:12px; }
  .ppx-product-copy { padding:12px; }
  .ppx-product-copy strong { font-size:14px; line-height:1.35; }
  .ppx-product-copy small { font-size:12px; }
  .ppx-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .ppx-detail { padding:18px 16px 54px; }
  .ppx-detail-grid { gap:18px; }
  .ppx-detail-art { padding:18px; border-radius:18px; }
  .ppx-detail-art img { max-height:280px; }
  .ppx-detail h1 { font-size:clamp(33px,9vw,44px); line-height:1.1; overflow-wrap:anywhere; }
  .ppx-detail h2 { font-size:23px; }
  .ppx-detail p { font-size:15px; line-height:1.65; }
  .ppx-detail-availability { margin:14px 0 20px; }
  .ppx-detail-availability .ppx-status { font-size:12px; padding:10px 13px; }
  .ppx-spec-grid { gap:9px; margin-top:12px; }
  .ppx-spec-grid>div { padding:13px 14px; }
  .ppx-spec-grid dd { font-size:14px; }
  .ppx-detail-actions { align-items:stretch; }
  .ppx-detail-actions .ppx-button { min-height:50px; }
  .ppx-qty { display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .ppx-qty input { min-height:48px; font-size:16px; }
  .ppx-contact-form { padding:16px; }
  .ppx-footer-links { gap:10px 18px; }
}
@media (max-width:360px) {
 .ppx-category-strip,.ppx-feature-grid { grid-template-columns:1fr; }
 .ppx-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .ppx-product-copy { padding:9px; }
 .ppx-product-copy strong { font-size:13px; }
}
@media (hover:none), (pointer:coarse) {
 .ppx-product-card:hover,.ppx-button:hover,.ppx-hero-products a:hover { transform:none; }
 .ppx-hover-info { display:none!important; }
 a,button,select,input { touch-action:manipulation; }
}

/* v2.1 mobile-first storefront: no duplicated oversized vial gallery ahead of catalog.
   Desktop appearance and product catalog imagery remain unchanged. */
@media (max-width: 767px) {
  .ppx-hero { display:block; min-height:0; padding:28px 18px 26px; background-position:50% center; }
  .ppx-hero-shade { background:linear-gradient(90deg,rgba(2,15,27,.94),rgba(2,15,27,.76)),linear-gradient(0deg,rgba(2,15,27,.35),transparent); }
  .ppx-hero-products { display:none !important; }
  .ppx-hero-copy { max-width:100%; }
  .ppx-hero h1 { font-size:clamp(34px,9vw,47px); line-height:1.02; margin-bottom:12px; }
  .ppx-hero-lead { font-size:14px; line-height:1.55; }
  .ppx-hero-actions { margin:16px 0 15px; }
  .ppx-proof { gap:10px; }
  .ppx-proof b { font-size:18px; }
  .ppx-proof small { font-size:8px; }
  /* Product imagery belongs in the real catalog, not a duplicate pre-catalog gallery. */
  .ppx-featured { display:none !important; }
  .ppx-category-strip { display:flex; gap:8px; overflow-x:auto; flex-wrap:nowrap; padding:12px 18px; scroll-snap-type:x proximity; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .ppx-category-strip a { flex:0 0 146px; min-height:62px; padding:10px 12px; scroll-snap-align:start; }
  .ppx-catalog { padding-top:27px; scroll-margin-top:15px; }
  .ppx-catalog .ppx-section-head { margin-bottom:12px; }
}
@media(max-width:380px) {
  .ppx-hero { padding:23px 15px 22px; }
  .ppx-hero h1 { font-size:33px; }
  .ppx-category-strip { padding-left:15px; padding-right:15px; }
}

/* v2.2: final responsive presentation and preliminary price disclosure. */
.ppx-card-price{display:block;margin-top:10px;color:#a2f4df;font-size:18px;font-weight:800;letter-spacing:-.015em;line-height:1.2}
.ppx-card-price small{font-size:11px;line-height:1.2;font-weight:600;letter-spacing:0;color:#a8c7d4}
.ppx-card-price-unverified{font-size:12px;font-weight:600;color:#bdd0d9}
.ppx-feature-info .ppx-card-price{margin:4px 0 12px}
.ppx-public-price{margin:12px 0 30px;padding:22px;border:1px solid #31566e;border-radius:18px;background:linear-gradient(145deg,#12384b,#0a2537);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.ppx-price-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ppx-price-kicker{margin:0 0 4px!important;color:#9ad4d9!important;text-transform:uppercase;letter-spacing:.12em;font-size:10px!important;font-weight:800}
.ppx-price-major{font-size:clamp(28px,3vw,35px)!important;font-weight:800;color:#fff!important;line-height:1.15!important;margin:0!important}
.ppx-price-major small{font-size:13px;font-weight:500;color:#c6dfeb}
.ppx-price-tag{font-size:11px;color:#92d9cf;border:1px solid #3d8779;border-radius:999px;padding:6px 9px}
.ppx-price-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.ppx-price-tiers>div{min-width:0;background:#092034;border:1px solid #294e65;border-radius:11px;padding:12px 10px}
.ppx-price-tiers span{display:block;color:#b8d1df;font-size:11px;min-height:30px;line-height:1.25}
.ppx-price-tiers strong{display:block;margin-top:8px;color:#fff;font-size:16px;font-variant-numeric:tabular-nums}
.ppx-price-disclaimer,.ppx-price-hold p{margin:13px 0 0!important;color:#b6cbd8!important;font-size:12px!important;line-height:1.5!important}
.ppx-price-hold-note{font-size:19px!important;font-weight:750;color:#fff!important;margin:0!important}
@media(min-width:1280px){.ppx-catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr));max-width:1600px;margin-inline:auto}.ppx-catalog-tools,.ppx-catalog .ppx-section-head,.ppx-catalog .ppx-count{max-width:1600px;margin-left:auto;margin-right:auto}.ppx-hero{min-height:510px}.ppx-hero-products img{aspect-ratio:4/5}}
@media(min-width:901px) and (max-width:1279px){.ppx-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ppx-feature-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.ppx-hero{min-height:480px}.ppx-hero-products img{aspect-ratio:3/4}}
@media(max-width:900px){.ppx-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ppx-hero-products a:nth-child(n+4){display:none}.ppx-hero-products{grid-template-columns:repeat(3,minmax(0,1fr))}.ppx-product-copy strong{font-size:15px}.ppx-section-head{align-items:flex-start}.ppx-section-head .ppx-status{margin-top:8px}}
@media(max-width:767px){.ppx-hero-products,.ppx-featured{display:none!important}.ppx-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ppx-catalog-tools{grid-template-columns:1fr;gap:11px;margin-top:16px}.ppx-clear{width:100%}.ppx-section-head{flex-direction:column;gap:9px}.ppx-catalog .ppx-section-head p{font-size:13px;line-height:1.5}.ppx-status{align-self:flex-start}.ppx-category-strip small{font-size:10px}.ppx-price-tiers{grid-template-columns:repeat(2,minmax(0,1fr))}.ppx-public-price{padding:15px;margin-bottom:22px}.ppx-price-tiers>div{padding:12px}.ppx-detail-grid{grid-template-columns:1fr}.ppx-detail-art img{max-height:240px}.ppx-detail h1{margin-top:10px}.ppx-detail .ppx-kicker{font-size:10px}.ppx-footer-links{row-gap:14px}.ppx-product-art img{aspect-ratio:4/5;object-position:center}.ppx-product-copy{min-height:115px}.ppx-product-copy span:last-child{padding-top:10px}.ppx-hero{padding-top:20px;padding-bottom:20px}.ppx-hero-lead{max-width:48ch}.ppx-proof{margin-top:10px}}
@media(max-width:390px){.ppx-catalog{padding-left:12px;padding-right:12px}.ppx-product-copy{padding:11px}.ppx-card-price{font-size:16px}.ppx-card-price small{font-size:10px}.ppx-hero h1{font-size:32px}.ppx-detail{padding-left:12px;padding-right:12px}.ppx-header nav a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ppx-product-card,.ppx-button,.ppx-hero-products a{transition:none!important;transform:none!important}html{scroll-behavior:auto!important}}

/* v2.5.6: the photograph supplies its own continuous lake/stone backdrop.
 * No surrounding white matte or double label frame; preserve its image aspect ratio. */
.ppx-detail-art {padding:0; overflow:hidden; background:#081f32; border:1px solid #28536e; box-shadow:0 22px 45px rgba(0,0,0,.30);}
.ppx-detail-art img {display:block;width:100%;height:auto;max-height:none;object-fit:cover;aspect-ratio:1/1;}
.ppx-detail-art>p {margin:0;padding:11px 15px;color:#9dbbcc;background:#092239;font-size:12px;text-align:center;}
.ppx-product-art,.ppx-feature-image {background:#09233a;}
.ppx-product-art img {object-fit:cover;object-position:center;aspect-ratio:1/1;}
.ppx-feature-image img {object-fit:cover;object-position:center;aspect-ratio:1/1;}
.ppx-hero-products img {object-fit:cover;object-position:center;}
@media(max-width:767px){.ppx-detail-art{padding:0}.ppx-detail-art img{max-height:none}.ppx-product-art img{aspect-ratio:1/1}}
