:root { color-scheme: light; --qcp-ink:#173b36; --qcp-green:#0b5145; --qcp-mint:#dfefe7; --qcp-paper:#f8f9f5; --qcp-muted:#63756e; --qcp-line:#d9e2da; font:16px/1.6 'Segoe UI',system-ui,sans-serif; color:var(--qcp-ink); background:var(--qcp-paper); }
* { box-sizing:border-box; }
body { margin:0; }
a { color:inherit; text-underline-offset:4px; }
img,svg { max-width:100%; }
button,input,select { font:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
:where(a,button,input,select):focus-visible { outline:3px solid #225ea8; outline-offset:4px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.15; letter-spacing:-.035em; }
h1 { font-size:clamp(36px,4.2vw,60px); font-weight:650; }
h2 { font-size:clamp(26px,3vw,36px); font-weight:650; }
h3 { font-size:23px; font-weight:650; }
.qcp-container { max-width:1320px; margin:auto; padding:0 40px; }
.qcp-skip { position:fixed; top:-100px; left:20px; z-index:2000; padding:10px 20px; background:white; }
.qcp-skip:focus { top:10px; }
.qcp-ribbon { padding:9px 20px; color:#e9f5ec; background:#173b36; text-align:center; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.qcp-ribbon span { padding:0 12px; opacity:.55; }
.qcp-header { max-width:1440px; margin:auto; padding:24px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--qcp-line); }
.qcp-brand { display:inline-flex; gap:12px; align-items:center; text-decoration:none; font-size:24px; font-weight:550; line-height:1.1; letter-spacing:-.05em; }
.qcp-brand strong,.qcp-modal-brand strong { display:block; margin-top:5px; font:650 10px/1.1 ui-monospace,monospace; letter-spacing:.33em; }
.qcp-brand-mark { display:inline-flex; width:45px; height:45px; flex-shrink:0; color:currentColor; }
.qcp-brand-mark svg { width:100%; height:100%; }
.qcp-header nav { display:flex; align-items:center; gap:28px; font-size:13px; }
.qcp-header nav a { text-decoration:none; }
.qcp-header nav a:hover { text-decoration:underline; }
.qcp-cart-link { display:flex; align-items:center; gap:7px; }
.qcp-cart-link span { width:23px; height:23px; border-radius:50%; background:var(--qcp-mint); display:grid; place-items:center; font-size:11px; }
.qcp-staff-link { display:inline-flex; align-items:center; justify-content:center; padding:9px 16px; border:1px solid var(--qcp-green); border-radius:5px; color:var(--qcp-green); font-size:13px; font-weight:650; text-decoration:none; white-space:nowrap; }
.qcp-staff-link:hover { background:var(--qcp-mint); }
.qcp-eyebrow { margin:0 0 14px; font:600 10px/1.5 ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--qcp-muted); }
.qcp-eyebrow span { padding:0 8px; }
.qcp-research-info { border-bottom:1px solid var(--qcp-line); background:linear-gradient(115deg,#eaf2eb 0%,#f5f8f2 50%,#e8f1eb 100%); }
.qcp-info-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:34px; padding-bottom:34px; }
.qcp-info-columns article { padding:0 30px; border-right:1px solid #c8d8cb; text-align:center; }
.qcp-info-columns article:last-child { border-right:0; }
.qcp-info-columns svg { display:block; width:66px; height:66px; margin:0 auto 14px; fill:none; stroke:#397261; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.qcp-info-columns h2 { margin:0 0 12px; font-size:22px; letter-spacing:-.02em; }
.qcp-info-columns p { max-width:31ch; margin:0 auto; color:var(--qcp-muted); font-size:13px; line-height:1.65; }
.qcp-photo-missing { display:grid; place-items:center; min-height:100px; padding:18px; border:1px dashed #a6beac; border-radius:6px; color:var(--qcp-muted); background:#f3f7f2; font-size:12px; text-align:center; }
.qcp-product-image > .qcp-photo-missing { position:absolute; inset:24px; }
.qcp-cart-line .qcp-photo-missing { min-height:0; height:100%; padding:6px; font-size:9px; }
.qcp-catalog { padding-top:38px; padding-bottom:54px; }
.qcp-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:24px; }
.qcp-section-heading h1 { margin:0; font-size:clamp(26px,3vw,36px); }
.qcp-section-heading > p { margin:0 0 4px; color:var(--qcp-muted); font-size:12px; }
.qcp-section-heading .qcp-eyebrow { margin-bottom:7px; }
.qcp-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.qcp-product-card { overflow:hidden; background:#fff; border:1px solid var(--qcp-line); border-radius:9px; }
.qcp-product-image { position:relative; display:block; aspect-ratio:1; padding:24px; background:linear-gradient(140deg,#e8f1eb,#f2f5ef); text-decoration:none; }
.qcp-product-image img { position:absolute; inset:24px; display:block; width:calc(100% - 48px); height:calc(100% - 48px); object-fit:contain; filter:drop-shadow(0 12px 9px #173b3619); }
.qcp-product-image > .qcp-image-label { position:absolute; left:14px; top:12px; color:#547367; font:500 8px/1 ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase; }
.qcp-product-copy { padding:20px; }
.qcp-product-copy h3 { margin-bottom:9px; }
.qcp-product-copy h3 a { text-decoration:none; }
.qcp-product-copy > p:not(.qcp-availability) { color:var(--qcp-muted); font-size:12px; line-height:1.6; margin-bottom:20px; }
.qcp-availability { margin:0 0 10px; font-size:10px; color:#397261; }
.qcp-availability::before { content:''; display:inline-block; width:5px; height:5px; margin-right:6px; background:currentColor; border-radius:50%; }
.qcp-price-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 18px; }
.qcp-price-row strong { font-size:22px; font-weight:600; }
.qcp-price-row small { font:500 10px ui-monospace,monospace; color:var(--qcp-muted); }
.qcp-button { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; border:1px solid var(--qcp-green); border-radius:5px; color:white; background:var(--qcp-green); font-size:13px; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; }
.qcp-button:hover { background:#173b36; }
.qcp-product-copy .qcp-button { width:100%; }
.qcp-button:disabled { cursor:default; }
.qcp-button-secondary { color:var(--qcp-green); background:transparent; }
.qcp-button-secondary:hover { color:white; }
.qcp-research-note { padding:16px 18px; border-left:3px solid #759d85; background:#edf3ec; color:#476254; font-size:12px; line-height:1.6; }
.qcp-catalog > .qcp-research-note { margin:28px 0 0; }
.qcp-footer { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding:42px max(40px,calc((100vw - 1240px)/2)); color:#e0ede2; background:#173b36; }
.qcp-footer .qcp-brand { font-size:22px; }
.qcp-footer p { max-width:450px; margin-top:18px; font-size:11px; color:#b0c6bb; }
.qcp-footer h2 { font-size:16px; letter-spacing:0; }
.qcp-footer nav { display:flex; flex-wrap:wrap; gap:18px; font-size:12px; }
.qcp-copyright { grid-column:1/-1; padding-top:20px; margin:0!important; max-width:none!important; border-top:1px solid #3b5750; }
.qcp-detail { padding-top:28px; padding-bottom:60px; }
.qcp-breadcrumb { font-size:12px; margin-bottom:25px; }
.qcp-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.qcp-detail-image { display:grid; place-items:center; min-height:480px; padding:40px; background:#e7f0e9; border-radius:10px; }
.qcp-detail-image img { max-height:360px; }
.qcp-detail-grid h1 { margin-bottom:20px; }
.qcp-detail-grid > div > p:not(.qcp-eyebrow) { color:var(--qcp-muted); }
.qcp-detail-price { font-size:32px; color:var(--qcp-ink)!important; }
.qcp-detail-price small { font-size:13px; }
.qcp-facts { margin:24px 0; font-size:13px; }
.qcp-facts div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--qcp-line); }
.qcp-facts dd { margin:0; font-weight:600; }
.qcp-detail .qcp-research-note { margin-top:24px; }
.qcp-cart { padding-top:45px; padding-bottom:60px; }
.qcp-cart h1 { font-size:42px; margin-bottom:16px; }
.qcp-cart > p:not(.qcp-eyebrow) { color:var(--qcp-muted); font-size:14px; }
.qcp-cart-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr); gap:30px; align-items:start; margin:30px 0; }
.qcp-cart-items { border-top:1px solid var(--qcp-line); }
.qcp-cart-line { position:relative; display:grid; grid-template-columns:84px 1fr 72px 92px; gap:20px; align-items:center; padding:24px 0 36px; border-bottom:1px solid var(--qcp-line); }
.qcp-cart-line > a { display:grid; place-items:center; height:105px; background:#e7f0e9; border-radius:5px; }
.qcp-cart-line img { max-height:85px; }
.qcp-cart-line h2 { font-size:20px; margin-bottom:8px; }
.qcp-cart-line h2 a { text-decoration:none; }
.qcp-cart-line p { font-size:12px; color:var(--qcp-muted); margin:0; }
.qcp-cart-line label { font-size:10px; }
.qcp-cart-line input { width:64px; margin-top:5px; padding:7px; border:1px solid #b4c6ba; border-radius:4px; background:white; color:var(--qcp-ink); }
.qcp-cart-line > strong { font-size:17px; text-align:right; }
.qcp-cart-line small { font-size:9px; }
.qcp-remove { position:absolute; bottom:22px; left:104px; padding:0; border:0; color:#63756e; background:none; cursor:pointer; text-decoration:underline; font-size:11px; }
.qcp-cart-update { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; }
.qcp-cart-update p { font-size:11px; color:var(--qcp-muted); margin:0; }
.qcp-order-panel { padding:28px; background:#fff; border:1px solid var(--qcp-line); border-radius:9px; }
.qcp-order-panel h2 { font-size:25px; }
.qcp-summary-total { display:flex; align-items:center; justify-content:space-between; gap:20px; border-block:1px solid var(--qcp-line); padding:18px 0; margin:20px 0; }
.qcp-summary-total span { font-size:12px; }
.qcp-summary-total strong { font-size:25px; }
.qcp-order-panel > p:not(.qcp-eyebrow) { font-size:12px; color:var(--qcp-muted); }
.qcp-order-panel .qcp-button { width:100%; }
.qcp-check { display:flex; align-items:flex-start; gap:10px; margin:14px 0; font-size:12px; line-height:1.6; }
.qcp-check input { flex:0 0 17px; width:17px; height:17px; margin:3px 0 0; accent-color:var(--qcp-green); }
.qcp-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.qcp-empty { padding:55px 30px; margin:30px 0; border:1px solid var(--qcp-line); text-align:center; border-radius:10px; }
.qcp-empty h2 { font-size:25px; }
.qcp-information { min-height:55vh; padding-top:50px; padding-bottom:65px; max-width:900px; }
.qcp-information p { color:var(--qcp-muted); }
.qcp-alert { max-width:900px; margin:20px auto; padding:16px; border:1px solid #b35d44; background:#fff0e8; color:#71361f; font-size:13px; }
.qcp-entry-locked { overflow:hidden; }
.qcp-entry-locked > .site-language { display:none; }
.qcp-research-overlay { position:fixed; inset:0; z-index:1000; background:rgba(12,32,27,.66); }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    .qcp-research-overlay { background:rgba(12,32,27,.44); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
}
.qcp-research-dialog { position:fixed; inset:50% auto auto 50%; transform:translate(-50%,-50%); z-index:1001; width:min(590px,calc(100% - 32px)); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:0; padding:30px 34px; overflow-y:auto; overscroll-behavior:contain; border:1px solid #d5dfd6; border-radius:12px; color:var(--qcp-ink); background:#fff; box-shadow:0 28px 90px #091c2640; font:13px/1.6 'Segoe UI',system-ui,sans-serif; }
.qcp-research-dialog::backdrop { background:transparent; }
.qcp-modal-brand { display:flex; align-items:center; gap:12px; margin-bottom:24px; font-size:24px; line-height:1.1; letter-spacing:-.04em; }
.qcp-modal-brand .qcp-brand-mark { width:43px; height:43px; }
.qcp-research-dialog h2 { font-size:23px; margin-bottom:16px; }
.qcp-research-dialog .qcp-research-note { margin:0 0 14px; }
.qcp-research-dialog > p:not(.qcp-research-note) { color:var(--qcp-muted); font-size:12px; }
.qcp-research-form > label,.qcp-research-fields > label { display:block; margin:12px 0; font-size:11px; font-weight:650; }
.qcp-research-form input:not([type="checkbox"]),.qcp-research-form select { display:block; width:100%; padding:10px 12px; margin-top:5px; color:var(--qcp-ink); background:#fff; border:1px solid #afc3b4; border-radius:5px; font:inherit; }
.qcp-research-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.qcp-research-form .qcp-check { display:flex; font-size:11px; font-weight:400; }
.qcp-research-form .qcp-button { width:100%; margin-top:5px; }
.qcp-access-links { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-top:18px; margin-top:20px; border-top:1px solid var(--qcp-line); font-size:11px; }
.qcp-access-links .qcp-staff-link { padding:8px 13px; font-size:12px; }
.qcp-access-links .qcp-staff-link span { margin-left:8px; }
.qcp-modal-privacy { margin:12px 0; font-size:10px!important; }
.qcp-modal-fine { margin:12px 0; font-size:10px!important; }
.qcp-modal-language select { display:block; width:100%; padding:8px 10px; color:var(--qcp-ink); background:#fff; border:1px solid #afc3b4; border-radius:5px; font:inherit; }
@media(max-width:1100px) {
    .qcp-header nav { gap:16px; }
    .qcp-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
    .qcp-info-columns { grid-template-columns:1fr; padding-top:8px; padding-bottom:8px; }
    .qcp-info-columns article { padding:26px 22px; border-right:0; border-bottom:1px solid #c8d8cb; }
    .qcp-info-columns article:last-child { border-bottom:0; }
    .qcp-container { padding-left:22px; padding-right:22px; }
    .qcp-header { padding:20px 22px; align-items:flex-start; }
    .qcp-header nav { gap:13px; flex-wrap:wrap; justify-content:flex-end; max-width:230px; font-size:11px; }
    .qcp-header .qcp-brand { font-size:21px; }
    .qcp-header .qcp-brand-mark { width:36px; height:36px; }
    .qcp-header .qcp-staff-link { font-size:11px; padding:5px 10px; }
    .qcp-cart-grid,.qcp-detail-grid { grid-template-columns:1fr; gap:25px; }
    .qcp-detail-image { min-height:350px; }
    .qcp-detail-image img { max-height:290px; }
    .qcp-footer { gap:28px; padding:35px 24px; }
    .qcp-cart h1 { font-size:36px; }
}
@media(max-width:520px) {
    .qcp-ribbon { font-size:8px; padding:8px; letter-spacing:.04em; }
    .qcp-ribbon span { padding:0 5px; }
    .qcp-header { flex-direction:column; gap:18px; }
    .qcp-header nav { justify-content:flex-start; max-width:none; width:100%; gap:18px; }
    .qcp-product-grid { grid-template-columns:1fr; }
    .qcp-product-copy { padding:22px; }
    .qcp-section-heading { align-items:center; }
    .qcp-section-heading h1 { font-size:30px; }
    .qcp-footer { grid-template-columns:1fr; }
    .qcp-cart-line { grid-template-columns:66px minmax(0,1fr) 62px; gap:12px; }
    .qcp-cart-line > a { height:90px; }
    .qcp-cart-line img { max-height:75px; }
    .qcp-cart-line h2 { font-size:17px; }
    .qcp-cart-line > strong { grid-column:2/4; margin-top:5px; }
    .qcp-remove { left:78px; bottom:29px; }
    .qcp-cart-update { align-items:flex-start; flex-direction:column; }
    .qcp-order-panel { padding:22px; }
    .qcp-research-dialog { width:calc(100% - 20px); max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); padding:24px; }
    .qcp-research-fields { grid-template-columns:1fr; gap:0; }
}

/* Shared supplied-artwork lockup for the QCP header, entry dialog and footer. */
.qcp-logo { display:inline-flex; align-items:center; gap:12px; width:280px; max-width:100%; }
.qcp-logo img { display:block; height:auto; object-fit:contain; }
.qcp-logo-emblem { width:20%; flex:0 0 20%; }
.qcp-logo-wordmark { width:calc(80% - 12px); min-width:0; }
.qcp-brand { max-width:100%; flex-shrink:0; }
.qcp-modal-brand .qcp-logo { width:300px; }
.qcp-footer .qcp-logo { padding:8px; border-radius:4px; background:#fff; }
@media(max-width:1100px) { .qcp-header .qcp-logo { width:235px; } }
@media(max-width:760px) { .qcp-header { flex-wrap:wrap; } .qcp-header .qcp-logo { width:230px; } }
.qcp-access-links .qcp-staff-link { min-height:38px; flex:1; }
.qcp-staff-link:focus-visible { outline:3px solid #225ea8; outline-offset:3px; }
.qcp-logout { margin:0; }
.qcp-login h2 { font-size:25px; }
.qcp-login .qcp-research-form { max-width:540px; margin-top:24px; }
.qcp-login-sent { padding:18px; background:var(--qcp-mint); border-left:3px solid var(--qcp-green); }
@media(max-width:480px) { .qcp-access-links { flex-direction:column; align-items:stretch; } }

.qcp-summary-line{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0}.qcp-order-panel>a.qcp-button{margin-top:1rem}
