
body{margin:0;background:#fff}
body{--pri:#004A8F;--prid:#00305E;--acc:#FCAF17;--accink:#00305E;--tint:#EEF3F9;--tint2:#F6F8FB;--line:#DCE4EE;--ink:#14202E;--muted:#4F6075;--dark:#0B2540;--rad:8px;--btnrad:8px;
font-family:'Ubuntu',system-ui,sans-serif;color:var(--ink);background:#fff;min-width:0;font-size:15px;line-height:1.5}
body *{box-sizing:border-box}
body a{color:var(--pri);text-decoration:none}body a:hover{text-decoration:underline}
body :focus-visible{outline:3px solid var(--acc);outline-offset:2px}
body h1,body h2,body h3,body h4{font-family:'Ubuntu',system-ui,sans-serif;font-weight:700;color:var(--prid);margin:0;line-height:1.15;letter-spacing:-.01em}
.pk-w{max-width:1360px;margin:0 auto;padding:0 28px}
.pk-util{background:var(--dark);color:#fff;font-size:13px}
.pk-util .pk-w{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.pk-util a{color:#fff;opacity:.9}.pk-util span{opacity:.92}
.pk-hd{background:#fff;border-bottom:1px solid var(--line);position:relative}
.pk-hd .pk-w{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.pk-logo{display:flex;align-items:center;gap:10px}
.pk-logo img{height:44px;width:auto;display:block}
.pk-logo span{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;background:var(--acc);color:var(--accink);padding:4px 8px;border-radius:var(--btnrad);font-family:'Ubuntu',system-ui,sans-serif}
.pk-srch{flex:1 1 420px;display:flex;align-items:stretch;border:1.5px solid #9AA9BA;border-radius:var(--btnrad);overflow:hidden;background:#fff;min-height:46px;max-width:720px}
.pk-srch select{border:0;border-right:1px solid var(--line);background:var(--tint2);padding:0 12px;font:inherit;font-size:14px;color:var(--ink);min-width:0}
.pk-srch input{flex:1;border:0;padding:0 16px;font:inherit;min-width:0}
.pk-srch button{border:0;background:var(--pri);color:#fff;padding:0 22px;font:inherit;font-weight:700;cursor:pointer}
.pk-acts{display:flex;align-items:center;gap:22px;margin-left:auto;font-weight:600;font-size:14px}
.pk-acts a{display:flex;gap:7px;align-items:center;color:var(--ink);min-height:44px}
.pk-cartn{background:var(--pri);color:#fff;border-radius:999px;font-size:12px;padding:1px 7px}
.pk-nav{background:#fff;border-bottom:1px solid var(--line)}
.pk-nav .pk-w{display:flex;gap:4px 24px;flex-wrap:wrap}
.pk-nav a{color:var(--ink);font-weight:600;font-size:14.5px;padding:12px 0;border-bottom:3px solid transparent}
.pk-nav a:hover,.pk-nav a.pk-on{border-bottom-color:var(--pri);color:var(--pri);text-decoration:none}
.pk-nav a.pk-sale{color:#B3202A}
.pk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 24px;border-radius:var(--btnrad);font:inherit;font-weight:700;font-size:15px;border:2px solid var(--pri);background:var(--pri);color:#fff;cursor:pointer;white-space:nowrap}
body a.pk-btn{color:#fff}body a.pk-btn:hover{text-decoration:none;background:var(--prid);border-color:var(--prid)}
.pk-btn.pk-acc{background:var(--acc);border-color:var(--acc);color:var(--accink)}body a.pk-btn.pk-acc{color:var(--accink)}body a.pk-btn.pk-acc:hover{background:var(--acc);filter:brightness(.93);border-color:var(--acc)}
.pk-btn.pk-line{background:#fff;color:var(--pri)}body a.pk-btn.pk-line{color:var(--pri)}body a.pk-btn.pk-line:hover{background:var(--tint);border-color:var(--pri)}
.pk-btn.pk-sm{min-height:36px;padding:0 14px;font-size:13.5px}
.pk-eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--pri)}
.pk-chipx{display:inline-flex;align-items:center;gap:6px;background:var(--tint);color:var(--prid);font-weight:700;font-size:13px;padding:5px 12px;border-radius:999px}
.pk-th{aspect-ratio:7/9;background:var(--tint);border-radius:var(--rad);display:grid;place-items:center;overflow:hidden;position:relative}
.pk-th img{max-width:86%;max-height:88%;width:auto;height:auto;display:block;box-shadow:0 10px 24px rgba(12,24,44,.22),0 1px 3px rgba(12,24,44,.18);border-radius:2px;transition:transform .25s}
.pk-th.pk-land img{max-width:90%;max-height:70%}
a:hover .pk-th img{transform:translateY(-3px) scale(1.02)}
.pk-bdg{position:absolute;top:10px;left:10px;background:var(--prid);color:#fff;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;padding:3px 8px;border-radius:4px;z-index:2}
.pk-grid{display:grid;gap:26px 16px}
.pk-g6{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.pk-g5{grid-template-columns:repeat(auto-fill,minmax(172px,1fr))}
.pk-card{display:flex;flex-direction:column;gap:7px;min-width:0}
.pk-card a.pk-t{color:var(--ink);font-weight:700;font-size:14.5px;line-height:1.3}
.pk-card .pk-m{font-size:13px;color:var(--muted)}
.pk-card .pk-r{display:flex;align-items:center;justify-content:space-between;gap:6px}
.pk-pr{font-weight:800;color:var(--prid);font-size:15px}
.pk-sec{padding-top:54px}
.pk-sh{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.pk-sh h2{font-size:28px}.pk-sh p{margin:6px 0 0;color:var(--muted)}
.pk-sh a{font-weight:700;font-size:14.5px}
.pk-stars{display:inline-flex;gap:1px;vertical-align:-2px}
.pk-ft{margin-top:80px;background:var(--dark);color:#C8D3E0;font-size:14px}
.pk-ft .pk-w{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:36px;padding-top:48px;padding-bottom:36px}
.pk-ft h4{color:#fff;font-family:'Ubuntu',system-ui,sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:0 0 12px}
.pk-ft a{display:block;color:#C8D3E0;padding:4px 0}.pk-ft a:hover{color:#fff}
.pk-ft .pk-legal{border-top:1px solid rgba(255,255,255,.14);color:#9FB0C3;font-size:12.5px}
.pk-ft .pk-legal .pk-w{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:16px;padding-bottom:20px;grid-template-columns:none}
@media (max-width:860px){.pk-ft .pk-w{grid-template-columns:1fr 1fr}.pk-acts{margin-left:0}.pk-w{padding:0 18px}}

.pk-fc{border:1px solid var(--line);border-radius:var(--rad);background:#fff;padding:14px 16px 14px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s}
.pk-fc:hover{box-shadow:0 8px 22px rgba(12,24,44,.10)}
.pk-fc .pk-fi{display:block;background:var(--tint2);border-radius:calc(var(--rad) - 3px);padding:10px 6px}
.pk-fc img{width:100%;height:auto;display:block}
.pk-fc .pk-fr{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.pk-fc .pk-t{font-weight:700;color:var(--ink)}.pk-fc .pk-m{font-size:12.5px;color:var(--muted)}
.pk-fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}

.pk-hero{background:var(--tint2);border-bottom:1px solid var(--line)}
.pk-hero .pk-w{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center;padding-top:56px;padding-bottom:56px}
.pk-hero h1{font-size:50px;margin:14px 0 16px}
.pk-hero p.pk-lead{font-size:18px;color:var(--muted);margin:0 0 26px;max-width:540px}
.pk-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin-top:30px;font-size:14px;color:var(--ink);font-weight:600}
.pk-trust span{display:flex;gap:8px;align-items:center}
.pk-hv{position:relative;padding:0 0 60px 40px}
.pk-hv-screen{border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(12,24,44,.28),0 0 0 1px rgba(12,24,44,.12)}
.pk-hv-screen img{width:100%;display:block}
.pk-hv-card{position:absolute;bottom:0;width:21%;box-shadow:0 14px 30px rgba(12,24,44,.35);border-radius:3px;overflow:hidden;background:#fff}
.pk-hv-card img{width:100%;display:block}
.pk-hv-card.pk-a{left:0;transform:rotate(-5deg)}.pk-hv-card.pk-b{left:19%;bottom:-8px;transform:rotate(2deg)}.pk-hv-card.pk-c{left:38%;bottom:6px;transform:rotate(-2deg)}
.pk-tys{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.pk-ty{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--rad);padding:10px 14px 10px 10px;color:var(--ink);background:#fff}
.pk-ty:hover{border-color:var(--pri);text-decoration:none;box-shadow:0 6px 18px rgba(12,24,44,.08)}
.pk-tyi{flex:none;width:56px;height:64px;background:var(--tint);border-radius:6px;display:grid;place-items:center;overflow:hidden}
.pk-tyi img{width:80%;box-shadow:0 3px 8px rgba(12,24,44,.25)}
.pk-m{font-size:13px;color:var(--muted)}
.pk-ccs{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px}
.pk-cc{display:flex;border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;background:#fff}
.pk-mos{flex:0 0 44%;display:flex;background:var(--tint);padding:14px 0 14px 14px;gap:0}
.pk-mo{flex:1;display:grid;align-items:center;margin-left:-14px;min-width:0}
.pk-mo img{width:100%;box-shadow:0 8px 18px rgba(12,24,44,.3);border-radius:2px}
.pk-mo:nth-child(1){transform:rotate(-4deg)}.pk-mo:nth-child(2){transform:translateY(-8px);z-index:2}.pk-mo:nth-child(3){transform:rotate(4deg)}
.pk-cb{padding:18px 20px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.pk-cb h3{font-size:20px}.pk-cb p{margin:0;color:var(--muted);font-size:14px}.pk-cb .pk-r{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.pk-cb .pk-btn{align-self:flex-start;margin-top:4px}
.pk-band{margin-top:72px;background:var(--dark);color:#fff}
.pk-band .pk-w{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:center;padding-top:60px;padding-bottom:60px}
.pk-band h2{color:#fff;font-size:34px;margin:10px 0 14px}.pk-band p{color:#C8D3E0;font-size:17px;margin:0 0 22px}
.pk-band .pk-eyebrow{color:var(--acc)}
.pk-band img.pk-shot{width:100%;border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.5);display:block}
.pk-ticks{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px;color:#fff}
.pk-ticks li{display:flex;gap:10px;align-items:flex-start}
.pk-vp{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.pk-vp div{border:1px solid var(--line);border-radius:var(--rad);padding:24px;background:var(--tint2)}
.pk-vp h3{font-size:19px;margin:10px 0 6px}.pk-vp p{margin:0;color:var(--muted)}
.pk-bun{background:var(--tint);border-radius:calc(var(--rad) + 4px);padding:36px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:center}
.pk-bun .pk-stack{display:flex;padding-left:20px}
.pk-bun .pk-stack img{width:17%;margin-left:-20px;box-shadow:0 10px 22px rgba(12,24,44,.3);border-radius:2px;background:#fff}
.pk-bun .pk-stack img:nth-child(odd){transform:translateY(8px)}
.pk-bun h2{font-size:30px;margin:8px 0 10px}.pk-bun p{margin:0 0 18px;color:var(--muted)}
.pk-xs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.pk-xs div{border:1px solid var(--line);border-radius:var(--rad);padding:22px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.pk-xs h3{font-size:19px}.pk-xs p{margin:0;color:var(--muted)}
@media (max-width:900px){.pk-hero .pk-w,.pk-band .pk-w,.pk-bun{grid-template-columns:1fr}.pk-hero h1{font-size:36px}.pk-ccs{grid-template-columns:1fr}.pk-cc{flex-direction:column}.pk-mos{flex-basis:auto}}


.pk-crumb{font-size:13.5px;color:var(--muted);padding:18px 0 6px}
.pk-ttl{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding-bottom:16px}
.pk-ttl h1{font-size:36px}.pk-ttl p{margin:6px 0 0;color:var(--muted);max-width:680px}
.pk-chips{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line)}
.pk-chip{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1.5px solid #9AA9BA;border-radius:999px;font-weight:600;font-size:14px;color:var(--ink);background:#fff}
body a.pk-chip{color:var(--ink)}body a.pk-chip:hover{background:var(--tint);text-decoration:none}body a.pk-chip.pk-on{background:var(--pri);border-color:var(--pri);color:#fff}
.pk-lay{display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px;padding-top:26px;align-items:start}
.pk-side{display:flex;flex-direction:column;gap:22px}
.pk-fs{border:0;margin:0;padding:0 0 18px;border-bottom:1px solid var(--line)}
.pk-fs legend{font-family:'Ubuntu',system-ui,sans-serif;font-weight:800;font-size:14.5px;color:var(--prid);padding:0;margin-bottom:6px}
.pk-fs label{display:flex;align-items:center;gap:10px;min-height:34px;font-size:14.5px}
.pk-fs input{width:17px;height:17px;accent-color:var(--pri)}
.pk-fs .pk-n{margin-left:auto;color:var(--muted);font-size:13px}
.pk-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;color:var(--muted)}
.pk-bar select{min-height:40px;font:inherit;padding:0 12px;border:1.5px solid #9AA9BA;border-radius:var(--btnrad);background:#fff;color:var(--ink)}
.pk-pager{display:flex;gap:8px;justify-content:center;margin-top:44px}
.pk-pager a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border:1.5px solid #9AA9BA;border-radius:var(--btnrad);color:var(--ink);padding:0 12px;font-weight:700}
.pk-pager a.pk-on{background:var(--pri);border-color:var(--pri);color:#fff}
.pk-m{font-size:13px;color:var(--muted)}
@media (max-width:900px){.pk-lay{grid-template-columns:1fr}}



.pk-crumb{font-size:13.5px;color:var(--muted);padding:18px 0 14px}
.pk-pd{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start}
.pk-gal{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px}
.pk-tbs{display:flex;flex-direction:column;gap:10px}
.pk-tb{display:grid;place-items:center;aspect-ratio:5/6;background:var(--tint);border-radius:8px;border:2px solid transparent;overflow:hidden}
.pk-tb.pk-on{border-color:var(--pri)}.pk-tb img{width:78%;box-shadow:0 3px 8px rgba(12,24,44,.25)}
.pk-bigth{background:var(--tint);border-radius:var(--rad);display:grid;place-items:center;padding:36px;min-height:620px}
.pk-bigth img{max-height:560px;max-width:100%;width:auto;box-shadow:0 22px 50px rgba(12,24,44,.35),0 2px 6px rgba(12,24,44,.2);border-radius:2px}
.pk-buy{display:flex;flex-direction:column;gap:14px;position:sticky;top:12px}
.pk-buy h1{font-size:32px}
.pk-rate{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--muted)}
.pk-pricebox{display:flex;align-items:baseline;gap:12px}
.pk-pricebox b{font-size:34px;color:var(--prid)}
.pk-cp{display:flex;gap:12px;align-items:flex-start;background:var(--tint);border-radius:var(--rad);padding:14px 16px;font-size:14.5px}
.pk-cp b{color:var(--prid)}
.pk-opt{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--line);border-radius:var(--rad);padding:12px 14px;font-size:14.5px}
.pk-opt input{width:18px;height:18px;margin-top:3px;accent-color:var(--pri)}
.pk-opt .pk-p{margin-left:auto;font-weight:800;white-space:nowrap}
.pk-list{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14.5px}
.pk-list li{display:flex;gap:10px}
.pk-acc2{border-top:1px solid var(--line);margin-top:6px}body details{border-bottom:1px solid var(--line)}body summary{cursor:pointer;min-height:50px;display:flex;align-items:center;font-weight:700;color:var(--prid)}body details p{margin:0 0 16px;color:var(--muted);max-width:640px}
.pk-m{font-size:13px;color:var(--muted)}
.pk-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.pk-step{border:1px solid var(--line);border-radius:var(--rad);padding:20px;background:var(--tint2)}
.pk-step i{font-style:normal;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pri);color:#fff;font-weight:800;margin-bottom:10px}
.pk-step b{display:block;color:var(--prid);margin-bottom:4px}
.pk-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:22px}
.pk-tabs a{padding:12px 0;font-weight:700;color:var(--ink);border-bottom:3px solid transparent}.pk-tabs a.pk-on{border-color:var(--pri);color:var(--pri)}
.pk-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px}body table.pk-sp{width:100%;border-collapse:collapse;font-size:14.5px}body table.pk-sp th{text-align:left;font-weight:600;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line);width:42%}body table.pk-sp td{padding:10px 0;border-bottom:1px solid var(--line)}
@media (max-width:900px){.pk-pd,.pk-two{grid-template-columns:1fr}.pk-gal{grid-template-columns:1fr}.pk-tbs{flex-direction:row}.pk-buy{position:static}}

/* ---- glue: Hummingbird chrome that would otherwise fight the mockup layout (appended after the generated mockup CSS) ---- */
#header, .header { position: static !important; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
#footer, .footer { background: transparent !important; padding: 0 !important; margin: 0 !important; border: 0 !important; }
#wrapper, .wrapper { padding: 0 !important; margin: 0 !important; max-width: none !important; }
.back-to-top-link, .skip-link { z-index: 50; }
/* header search: the mockup's select + input + button inside one bordered box */
.pk-srch select, .pk-srch input[type=search] { box-shadow: none; }
.pk-srch input[type=search] { -webkit-appearance: none; appearance: none; }
/* PrestaShop's own add-to-cart block inside the mockup's buy box: one quantity, mockup button */
.pk-buy-form .product__actions-qty-add { display: block; }
.pk-buy-form .product-actions__quantity, .pk-buy-form .quantity-button, .pk-buy-form .product__quantity { display: none !important; }
.pk-buy-form .product__availability, .pk-buy-form .product__delivery-infos, .pk-buy-form .product-minimal-quantity { display: none !important; }
.pk-buy-form .product__add-to-cart { width: 100%; }
.pk-buy-form .product__add-to-cart-button { display: inline-flex; width: 100%; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 24px; font-size: 16px; font-weight: 700;
  border-radius: var(--btnrad); border: 2px solid var(--acc); background: var(--acc); color: var(--accink); }
.pk-buy-form .product__add-to-cart-button:hover { filter: brightness(.93); }
/* pages that are not ours (cart, checkout, account, CMS) keep Hummingbird's layout, with the brand's colours and type */
main#wrapper > .container, main#wrapper > .columns-container { max-width: 1360px; margin: 0 auto; padding: 24px 28px; }
body#index main#wrapper > .container, body#category main#wrapper > .container { padding: 0; max-width: none; }
.btn-primary { --bs-btn-bg: var(--pri); --bs-btn-border-color: var(--pri); --bs-btn-hover-bg: var(--prid); --bs-btn-hover-border-color: var(--prid); --bs-btn-active-bg: var(--prid); --bs-btn-active-border-color: var(--prid); border-radius: var(--btnrad); }
.packs-delivery { border: 1px solid var(--line); background: var(--tint2); border-radius: var(--rad); padding: 16px 18px; margin: 18px 0; }
.packs-delivery__list { list-style: none; margin: 0 0 8px; padding: 0; }
.packs-delivery__list li { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
.packs-fine { font-size: 13px; color: var(--muted); }

/* "See it in action": videos + screenshots (added to the mockup layout with the new program media, 2026-10-23) */
.pk-act { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 28px; align-items: start; }
.pk-act-v { display: grid; gap: 18px; }
.pk-act-v figure { margin: 0; }
.pk-act-v video { width: 100%; border-radius: var(--rad); background: #000; display: block; box-shadow: 0 12px 30px rgba(12,24,44,.18); }
.pk-act-v figcaption { margin-top: 8px; font-weight: 700; color: var(--prid); }
.pk-act-s { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pk-act-s img { width: 100%; height: auto; display: block; border-radius: var(--rad); border: 1px solid var(--line); }
@media (max-width: 900px) { .pk-act { grid-template-columns: 1fr; } }

/* the mockup's `body a { color: var(--pri) }` must not recolour Bootstrap buttons that are links (cart "Proceed to checkout" etc.) */
body a.btn-primary, body a.btn-primary:hover, body a.btn-primary:focus { color: #fff; text-decoration: none; }
body a.btn-secondary { color: var(--prid); }
body a.btn-outline-primary { color: var(--pri); }
body a.btn-outline-primary:hover { color: #fff; }
body a.btn-link { color: var(--pri); }
/* packs-ps92: additions to the Print Shop Packs stylesheet for the store (programs, generic product page, footer newsletter). */
body .pk-short { color: var(--muted); margin: 0; }
body .pk-short p { margin: 0 0 8px; }
body .pk-rich { color: var(--muted); line-height: 1.6; max-width: 860px; }
body .pk-rich h2, body .pk-rich h3 { color: inherit; font-size: 18px; margin: 20px 0 8px; }
body .pk-rich ul { padding-left: 20px; margin: 0 0 12px; }
body .pk-rich li { margin: 4px 0; }
body .pk-rich a { color: var(--pri); }
body .pk-news { margin-top: 14px; max-width: 320px; }
body .pk-news form { display: flex; gap: 8px; flex-wrap: wrap; }
body .pk-news input[type="email"], body .pk-news .form-control { flex: 1 1 160px; min-width: 0; padding: 9px 12px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .1); color: #fff; }
body .pk-news input::placeholder { color: rgba(255, 255, 255, .7); }
body .pk-news .btn, body .pk-news button { padding: 9px 14px; border-radius: 8px; }
body .pk-news p, body .pk-news label, body .pk-news .form-text { color: rgba(255, 255, 255, .8); font-size: 12px; }
body .pk-home .pk-grid { align-items: stretch; }
body .pk-card .pk-th img { object-fit: contain; background: #fff; }
body .imsi-editions { border: 0; padding: 0; margin: 4px 0; }
body .imsi-editions__list { display: flex; flex-wrap: wrap; gap: 8px; }
body .imsi-edition { display: flex; flex-direction: column; padding: 8px 12px; border: 1px solid var(--line, #dfe5ec); border-radius: 10px; text-decoration: none; color: inherit; font-size: 14px; }
body .imsi-edition.is-current { border-color: var(--pri); box-shadow: 0 0 0 1px var(--pri) inset; }

/* program icons: P (The Print Shop, the logo's own p) and PM (PrintMaster) */
body .pk-pgi { width: 20px; height: 20px; border-radius: 5px; vertical-align: -5px; margin-right: 7px; }
body .pk-nav .pk-pgi { width: 18px; height: 18px; vertical-align: -4px; margin-right: 6px; }
body .pk-pgb { position: absolute; top: 10px; left: 10px; width: 30px; height: 30px; border-radius: 7px; box-shadow: 0 2px 6px rgba(12, 24, 44, .3); }
body div.pk-list { display: block; gap: 0; font-size: inherit; padding: 0; margin: 0; width: 100%; }
body .pk-card.pk-prod .pk-th { aspect-ratio: 1 / 1; background: #fff; border: 1px solid var(--line); }
body .pk-card.pk-prod .pk-th img:not(.pk-pgb) { max-width: 100%; max-height: 100%; width: 100%; height: 100%; object-fit: contain; box-shadow: none; border-radius: 0; }

/* edition cards */
body .pk-eds { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: 24px; }
body .pk-ed { display: grid; grid-template-columns: minmax(150px, 210px) 1fr; gap: 24px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px; box-shadow: 0 10px 28px rgba(12, 24, 44, .07); align-items: start; }
body .pk-ed .pk-edi img { width: 100%; height: auto; display: block; border-radius: 4px; box-shadow: 0 14px 28px rgba(12, 24, 44, .28); }
body .pk-ed h3 { margin: 10px 0 4px; font-size: 22px; line-height: 1.2; }
body .pk-ed .pk-edp { font-size: 30px; font-weight: 800; color: var(--pri); }
body .pk-ed .pk-edp .pk-m { font-size: 13px; font-weight: 400; color: var(--muted); }
body .pk-edl { list-style: none; padding: 0; margin: 14px 0 18px; display: grid; gap: 8px; font-size: 14.5px; }
body .pk-edl li { display: flex; gap: 8px; align-items: flex-start; }
body .pk-edl li svg { margin-top: 2px; }
body .pk-edc { display: flex; gap: 10px; flex-wrap: wrap; }
/* upgrades row */
body .pk-upg { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
body .pk-up { display: grid; grid-template-columns: 78px 1fr; gap: 16px; align-items: center; border: 1px solid var(--line); border-radius: 12px; padding: 14px; background: #fff; }
body .pk-up .pk-upi img { width: 100%; height: auto; display: block; border-radius: 3px; box-shadow: 0 6px 14px rgba(12, 24, 44, .25); }
body .pk-up .pk-t { font-weight: 700; display: block; margin-bottom: 4px; }
@media (max-width: 560px) {
  body .pk-eds { grid-template-columns: 1fr; }
  body .pk-ed { grid-template-columns: 1fr; padding: 18px; }
  body .pk-ed .pk-edi { max-width: 220px; }
  body .pk-upg { grid-template-columns: 1fr; }
}
/* packs-ps92: type, buttons, mega menu, footer logo and the program landing pages. Loaded after the Packs stylesheet. */

/* ------------------------------------------------------------------ type: Fraunces for headings, Figtree for text */
:root { --font-display: 'Fraunces', Georgia, 'Times New Roman', serif; --font-body: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif; --font-ui: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif; --bs-body-font-family: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif; }
body { font-family: 'Figtree', system-ui, sans-serif; }
body h1, body h2, body h3, body h4, body .pk-pr, body .pk-edp, body .pk-cmp thead th { font-family: 'Fraunces', Georgia, 'Times New Roman', serif; font-weight: 700; letter-spacing: -.012em; }
body .pk-ft h4, body .pk-fs legend, body .pk-logo span, body .pk-mpl h5 { font-family: 'Figtree', system-ui, sans-serif; }
body .pk-sh h2 { font-size: clamp(26px, 3vw, 36px); }

/* ------------------------------------------------------------------ buttons */
body .pk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 10px; font-weight: 700; letter-spacing: .005em; padding: 11px 20px; text-decoration: none; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease; }
body .pk-btn:hover { transform: translateY(-1px); }
body .pk-btn:focus-visible { outline: 3px solid rgba(0, 74, 143, .35); outline-offset: 2px; }
body .pk-btn.pk-acc { background: linear-gradient(180deg, #FDBB3A, #F5A50E); color: var(--accink); box-shadow: 0 1px 0 rgba(255, 255, 255, .55) inset, 0 8px 18px rgba(245, 165, 14, .32); border: 0; }
body .pk-btn.pk-acc:hover { box-shadow: 0 1px 0 rgba(255, 255, 255, .55) inset, 0 12px 24px rgba(245, 165, 14, .42); }
body .pk-btn.pk-line { background: #fff; border: 2px solid var(--pri); color: var(--pri); }
body .pk-btn.pk-line:hover { background: var(--pri); color: #fff; }
body .pk-btn.pk-lg { padding: 14px 26px; font-size: 16px; border-radius: 12px; }
body .pk-btn.pk-sm { padding: 7px 14px; font-size: 14px; }

/* ------------------------------------------------------------------ footer logo */
body .pk-flogo img { height: 42px; width: auto; display: block; margin-bottom: 16px; }

/* ------------------------------------------------------------------ mega menu */
body .pk-mega .pk-w { position: relative; align-items: center; }
body .pk-mi > .pk-ml { display: inline-flex; align-items: center; gap: 6px; padding: 13px 2px; font-weight: 600; color: var(--ink); text-decoration: none; border-bottom: 3px solid transparent; white-space: nowrap; }
body .pk-mi > .pk-ml.pk-on, body .pk-mi:hover > .pk-ml { border-bottom-color: var(--pri); color: var(--pri); }
body .pk-mi > .pk-ml .pk-caret { opacity: .6; transition: transform .15s; }
body .pk-mi:hover .pk-caret, body .pk-mi.pk-open .pk-caret { transform: rotate(180deg); }
body .pk-mp { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 60; }
body .pk-mi:hover > .pk-mp, body .pk-mi:focus-within > .pk-mp, body .pk-mi.pk-open > .pk-mp { display: block; }
body .pk-mpi { background: #fff; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 18px 18px; box-shadow: 0 28px 56px rgba(12, 24, 44, .2); padding: 26px; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr) minmax(0, .95fr) minmax(0, 1fr); gap: 30px; }
body .pk-mpc { display: grid; gap: 12px; align-content: start; }
body .pk-mpp { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
body .pk-mpp:hover { border-color: var(--pri); box-shadow: 0 8px 20px rgba(12, 24, 44, .1); }
body .pk-mpp img { width: 64px; height: auto; border-radius: 3px; box-shadow: 0 6px 14px rgba(12, 24, 44, .28); }
body .pk-mpp b { display: block; font-size: 15px; line-height: 1.25; }
body .pk-mpp i { font-style: normal; color: var(--pri); font-weight: 800; display: block; margin: 2px 0; }
body .pk-mpp small { color: var(--muted); font-size: 12.5px; line-height: 1.35; display: block; }
body .pk-mpl h5 { font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); margin: 0 0 10px; display: flex; justify-content: space-between; gap: 8px; }
body .pk-mpl a { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; text-decoration: none; color: var(--ink); font-size: 14.5px; border-bottom: 1px solid var(--tint); }
body .pk-mpl a:hover { color: var(--pri); }
body .pk-mpl a i { font-style: normal; color: var(--muted); }
body .pk-mpl a.pk-mpx { color: var(--pri); font-weight: 700; border-bottom: 0; margin-top: 6px; }
body .pk-mpf { display: block; border-radius: 12px; overflow: hidden; background: var(--dark); color: #fff; text-decoration: none; align-self: start; }
body .pk-mpf img { width: 100%; height: auto; display: block; opacity: .92; }
body .pk-mpf span { display: block; padding: 12px 14px; font-weight: 700; font-size: 14px; }
body .pk-mp.pk-wide .pk-mpi.pk-packs { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.5fr) minmax(0, .7fr); }
body .pk-mpg h5 { font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--muted); margin: 0 0 10px; display: flex; justify-content: space-between; gap: 8px; font-family: 'Figtree', sans-serif; }
body .pk-mpg h5 a { text-transform: none; letter-spacing: 0; font-weight: 700; color: var(--pri); text-decoration: none; }
body .pk-mpt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; }
body .pk-mpt a { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center; padding: 6px; border-radius: 10px; text-decoration: none; color: inherit; }
body .pk-mpt a:hover { background: var(--tint); }
body .pk-mpt img { width: 44px; height: 56px; object-fit: cover; border-radius: 4px; box-shadow: 0 3px 8px rgba(12, 24, 44, .25); }
body .pk-mpt b { display: block; font-size: 13.5px; line-height: 1.25; }
body .pk-mpt small { color: var(--muted); font-size: 12px; }
@media (max-width: 860px) {
  body .pk-mega .pk-w { flex-direction: column; align-items: stretch; gap: 0; }
  body .pk-mi > .pk-ml { padding: 12px 0; border-bottom: 1px solid var(--line); width: 100%; justify-content: space-between; }
  body .pk-mp { position: static; }
  body .pk-mi:hover > .pk-mp { display: none; }
  body .pk-mi.pk-open > .pk-mp { display: block; }
  body .pk-mpi, body .pk-mp.pk-wide .pk-mpi.pk-packs { grid-template-columns: 1fr; padding: 14px 0; box-shadow: none; border: 0; gap: 18px; }
  body .pk-mpf { display: none; }
}

/* ------------------------------------------------------------------ home hero */
body .pk-plogo { height: auto; width: auto; max-width: min(100%, 380px); max-height: 50px; display: block; margin: 0 0 18px; }
body .pk-phc { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
body .pk-phk { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 10px; font-size: 15px; font-weight: 500; }
body .pk-phk li { display: flex; gap: 10px; align-items: flex-start; }
body .pk-phk li svg { margin-top: 2px; }

/* ------------------------------------------------------------------ program pages */
body .pk-tintbg { background: var(--tint2); }
body .pk-phero { background: linear-gradient(180deg, #F1F6FC 0%, #fff 100%); border-bottom: 1px solid var(--line); }
body .pk-phero .pk-w { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 48px; align-items: center; padding-top: 52px; padding-bottom: 60px; }
body .pk-pht h1 { font-size: clamp(36px, 4.6vw, 58px); margin: 14px 0 14px; line-height: 1.05; }
body .pk-pht .pk-lead { max-width: 560px; }
body .pk-phv { position: relative; min-height: 460px; }
body .pk-phb { position: absolute; width: 54%; height: auto; border-radius: 6px; box-shadow: 0 26px 52px rgba(12, 24, 44, .34); }
body .pk-phb.pk-a { left: 0; top: 36px; transform: rotate(-4deg); z-index: 2; }
body .pk-phb.pk-b { right: 0; top: 0; transform: rotate(3deg); }
body .pk-psub { position: sticky; top: 0; z-index: 30; background: rgba(255, 255, 255, .95); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); }
body .pk-psub .pk-w { display: flex; gap: 4px 26px; overflow-x: auto; padding-top: 11px; padding-bottom: 11px; }
body .pk-psub a { font-weight: 600; color: var(--muted); text-decoration: none; white-space: nowrap; padding: 2px 0; border-bottom: 2px solid transparent; }
body .pk-psub a:hover { color: var(--pri); border-bottom-color: var(--pri); }
body .pk-prog .pk-sec { padding-top: 72px; padding-bottom: 72px; scroll-margin-top: 56px; }
body .pk-fts { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; }
body .pk-ft1 { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 24px; box-shadow: 0 6px 18px rgba(12, 24, 44, .04); }
body .pk-ft1 h3 { font-size: 19px; margin: 0 0 6px; }
body .pk-ft1 p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.5; }
body .pk-fti { display: inline-grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--tint); color: var(--pri); margin-bottom: 14px; }
body .pk-fts.pk-pro .pk-fti { background: var(--acc); color: var(--accink); }
body .pk-shot { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 40px; align-items: center; margin-top: 48px; }
body .pk-shot.pk-rev { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); }
body .pk-shot.pk-rev .pk-shot-t { order: 2; }
body .pk-shot-t h3 { font-size: 26px; margin: 0 0 8px; }
body .pk-shot-t > p { color: var(--muted); margin: 0; }
body .pk-shot-in { position: relative; border-radius: 14px; overflow: hidden; box-shadow: 0 22px 50px rgba(12, 24, 44, .22); border: 1px solid var(--line); background: #fff; }
body .pk-shot-in img { display: block; width: 100%; height: auto; }
body .pk-co { position: absolute; border: 2px solid var(--acc); border-radius: 8px; background: rgba(252, 175, 23, .1); box-shadow: 0 0 0 2px rgba(255, 255, 255, .75); pointer-events: none; }
body .pk-co i, body .pk-shot-l b { font-style: normal; font-weight: 800; font-size: 13px; width: 26px; height: 26px; border-radius: 50%; background: var(--acc); color: var(--accink); display: grid; place-items: center; border: 2px solid #fff; box-shadow: 0 2px 6px rgba(12, 24, 44, .3); flex: none; }
body .pk-co i { position: absolute; left: var(--bx, 3px); top: var(--by, 3px); transform: none; }
body .pk-shot-l { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 14px; }
body .pk-shot-l li { display: flex; gap: 12px; align-items: flex-start; }
body .pk-shot-l strong { display: block; }
body .pk-shot-l span { color: var(--muted); font-size: 14.5px; line-height: 1.45; display: block; }
body .pk-cmp { overflow-x: auto; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 8px 24px rgba(12, 24, 44, .05); }
body .pk-cmp table { width: 100%; border-collapse: collapse; min-width: 520px; }
body .pk-cmp th, body .pk-cmp td { padding: 15px 20px; text-align: center; border-top: 1px solid var(--tint); }
body .pk-cmp tbody th { text-align: left; font-weight: 500; }
body .pk-cmp thead th { font-size: 21px; border-top: 0; padding-top: 22px; padding-bottom: 18px; }
body .pk-cmp thead th:first-child { text-align: left; font-size: 15px; font-family: 'Figtree', sans-serif; color: var(--muted); }
body .pk-cmp .pk-m { display: block; font-family: 'Figtree', sans-serif; font-size: 14px; font-weight: 600; color: var(--muted); margin-top: 2px; }
body .pk-cmp .pk-hl { background: #F1F6FC; }
body .pk-cmp td svg { display: inline-block; vertical-align: middle; }
body .pk-dash { color: #A9B6C6; font-size: 18px; }
body .pk-cmp tr.pk-cta td { padding: 20px; }
body .pk-fmts { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 22px; align-items: start; }
body .pk-cband { display: flex; gap: 24px; justify-content: space-between; align-items: center; flex-wrap: wrap; background: linear-gradient(135deg, var(--prid), var(--pri)); color: #fff; border-radius: 22px; padding: 40px 44px; }
body .pk-cband h2 { color: #fff; margin: 0 0 6px; }
body .pk-cband p { margin: 0; color: rgba(255, 255, 255, .85); max-width: 520px; }
@media (max-width: 860px) {
  body .pk-phero .pk-w { grid-template-columns: 1fr; gap: 28px; padding-top: 32px; padding-bottom: 36px; }
  body .pk-phv { min-height: 340px; }
  body .pk-shot, body .pk-shot.pk-rev { grid-template-columns: 1fr; gap: 20px; }
  body .pk-shot.pk-rev .pk-shot-t { order: 0; }
  body .pk-fmts { grid-template-columns: 1fr; }
  body .pk-cband { padding: 28px 22px; }
  body .pk-prog .pk-sec { padding-top: 48px; padding-bottom: 48px; }
}

/* ------------------------------------------------------------------ "Which one is right for me?" */
body .pk-which [hidden] { display: none !important; }
body .pk-whero .pk-w { grid-template-columns: 1fr; padding-top: 44px; padding-bottom: 36px; }
body .pk-wq { display: grid; gap: 26px; max-width: 920px; margin: 0 auto 36px; }
body .pk-wq fieldset { border: 0; padding: 0; margin: 0; }
body .pk-wq legend { font-family: 'Fraunces', Georgia, serif; font-weight: 700; font-size: 21px; margin-bottom: 12px; color: var(--prid); }
body .pk-wpills { display: flex; gap: 10px; flex-wrap: wrap; }
body .pk-wpills label { cursor: pointer; }
body .pk-wpills input { position: absolute; opacity: 0; pointer-events: none; }
body .pk-wpills span { display: inline-flex; flex-direction: column; padding: 11px 20px; border: 2px solid var(--line); border-radius: 999px; font-weight: 700; color: var(--ink); background: #fff; transition: border-color .15s, background .15s, color .15s; }
body .pk-wpills span small { font-weight: 500; font-size: 12px; color: var(--muted); }
body .pk-wpills label:hover span { border-color: var(--pri); }
body .pk-wpills input:checked + span { background: var(--pri); border-color: var(--pri); color: #fff; }
body .pk-wpills input:checked + span small { color: rgba(255, 255, 255, .8); }
body .pk-wpills input:focus-visible + span { outline: 3px solid rgba(0, 74, 143, .35); outline-offset: 2px; }
body .pk-wres-w { max-width: 920px; margin: 0 auto; }
body .pk-wres-c { display: grid; grid-template-columns: minmax(130px, 220px) 1fr; gap: 32px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 30px; box-shadow: 0 16px 40px rgba(12, 24, 44, .1); }
body .pk-wres-c img { width: 100%; height: auto; display: block; border-radius: 4px; box-shadow: 0 14px 28px rgba(12, 24, 44, .28); }
body .pk-wres-c h2 { margin: 4px 0 8px; font-size: 28px; }
body .pk-wres-c p { margin: 0 0 12px; color: var(--muted); }
body .pk-wres-c .pk-edp { margin-bottom: 14px; }
body .pk-walt { display: flex; gap: 14px; align-items: center; margin-top: 22px; padding-top: 18px; border-top: 1px dashed var(--line); font-size: 14.5px; }
body .pk-walt img { width: 56px; height: auto; box-shadow: 0 4px 10px rgba(12, 24, 44, .25); }
body .pk-wmore { text-align: center; color: var(--muted); margin-top: 22px; font-size: 14px; }
@media (max-width: 640px) { body .pk-wres-c { grid-template-columns: 1fr; padding: 22px; } body .pk-wres-c img { max-width: 200px; } }

/* mobile menu toggle, and cards that must never be wider than the screen */
body .pk-navbtn { display: none; }
body .pk-fgrid { grid-template-columns: repeat(auto-fill, minmax(min(270px, 100%), 1fr)); }
body .pk-ccs, body .pk-grid { min-width: 0; }
@media (max-width: 860px) {
  body .pk-navbtn { display: flex; align-items: center; gap: 10px; width: 100%; padding: 14px 18px; background: #fff; border: 0; border-bottom: 1px solid var(--line); font: 700 15px/1 'Figtree', sans-serif; color: var(--ink); cursor: pointer; }
  body .pk-mega:not(.pk-navopen) > .pk-w { display: none; }
  body .pk-mega > .pk-w { padding: 0 18px 12px; }
}
@media (max-width: 480px) {
  body .pk-ed { padding: 16px; gap: 16px; }
  body .pk-cmp th, body .pk-cmp td { padding: 12px 12px; }
  body .pk-pht h1 { font-size: 34px; }
}

/* ------------------------------------------------------------------ footer newsletter: one row, input and button the same height */
body .pk-news { max-width: 340px; }
body .pk-news .bb-news-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin: 0; }
body .pk-news .bb-news-form label { flex: 1 1 170px; margin: 0; display: block; }
body .pk-news .bb-news-form input[type="email"] { width: 100%; height: 46px; box-sizing: border-box; padding: 0 14px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .1); color: #fff; font: 500 15px 'Figtree', sans-serif; }
body .pk-news .bb-news-form .bb-btn { flex: 0 0 auto; height: 46px; box-sizing: border-box; padding: 0 22px; margin: 0; border-radius: 10px; border: 0; background: linear-gradient(180deg, #FDBB3A, #F5A50E); color: var(--accink); font: 700 15px 'Figtree', sans-serif; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
body .pk-news .bb-news-form .bb-btn:hover { filter: brightness(1.05); }
body .pk-news .bb-news__status, body .pk-news .bb-news__gdpr { flex: 1 1 100%; margin: 0; font-size: 12.5px; color: rgba(255, 255, 255, .85); }

/* ------------------------------------------------------------------ sign-in, registration and password pages: a centred card */
body#authentication main#wrapper > .container, body#password main#wrapper > .container { max-width: 520px !important; padding-top: 40px; padding-bottom: 56px; }
body#registration main#wrapper > .container { max-width: 680px !important; padding-top: 40px; padding-bottom: 56px; }
body#authentication .page-title-section, body#registration .page-title-section, body#password .page-title-section { text-align: center; margin-bottom: 20px; }
body#authentication .login, body#registration #content, body#password #content { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 30px 30px 26px; box-shadow: 0 16px 40px rgba(12, 24, 44, .08); }
body#authentication .form-label { font-weight: 600; margin-bottom: 6px; }
body#authentication .form-control, body#registration .form-control { min-height: 46px; border-radius: 10px; border: 1px solid var(--line); background: #fff; }
body#authentication .form-control:focus, body#registration .form-control:focus { border-color: var(--pri); box-shadow: 0 0 0 3px rgba(0, 74, 143, .15); }
body#authentication .password-field .btn { border-radius: 0 10px 10px 0; min-width: 52px; }
body#authentication .password-field .form-control { border-radius: 10px 0 0 10px; }
body#authentication .buttons-wrapper { display: flex; flex-direction: column-reverse; gap: 10px; align-items: stretch; margin-top: 8px; }
body#authentication .buttons-wrapper .btn-primary, body#authentication #submit-login { width: 100%; min-height: 48px; border-radius: 12px; font-weight: 700; background: linear-gradient(180deg, #FDBB3A, #F5A50E); color: var(--accink); border: 0; box-shadow: 0 8px 18px rgba(245, 165, 14, .3); }
body#authentication .buttons-wrapper .btn-basic { background: none; border: 0; color: var(--pri); text-decoration: underline; padding: 4px; text-align: center; }
body#authentication .login hr { margin: 24px 0 18px; border-color: var(--line); opacity: 1; }
body#authentication .login .no-account, body#authentication .login hr + * { text-align: center; }
body#authentication .btn-outline-primary { display: flex; justify-content: center; width: 100%; min-height: 46px; align-items: center; border-radius: 12px; border: 2px solid var(--pri); color: var(--pri); font-weight: 700; background: #fff; }
body#authentication .btn-outline-primary:hover { background: var(--pri); color: #fff; }

/* ------------------------------------------------------------------ add-ons under Add to cart (Extended Download, Backup USB) */
body .imsi-addons { margin: 16px 0 6px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--tint2); }
body .imsi-addons__h { font-family: 'Figtree', sans-serif; letter-spacing: .08em; }
body .imsi-addon { padding: 8px 0; border-top: 1px solid var(--line); margin: 0 !important; }
body .imsi-addon:first-of-type { border-top: 0; }
body .imsi-addon input { accent-color: var(--pri); }
body .imsi-addon__p { color: var(--pri); }

/* ------------------------------------------------------------------ checkout */
body#checkout #opc-pay-button { min-height: 54px; border-radius: 12px; font-weight: 800; font-size: 17px; background: linear-gradient(180deg, #FDBB3A, #F5A50E); color: var(--accink); border: 0; box-shadow: 0 10px 22px rgba(245, 165, 14, .32); }
body#checkout #opc-pay-button:disabled { background: #D8DEE6; color: #7A8796; box-shadow: none; }

/* ------------------------------------------------------------------ search results and category lists: Packs cards in a grid */
body .products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: 20px; }
body .products > .pk-card { margin: 0; min-width: 0; }
body #js-product-list { padding-top: 8px; }
body .pk-card.pk-prod .pk-m { font-size: 13.5px; }

/* the More dropdown: three plain columns */
body .pk-mpi.pk-more { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .pk-mpl a i { font-size: 12.5px; max-width: 60%; text-align: right; }
@media (max-width: 860px) { body .pk-mpi.pk-more { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------------ blog: card grid and post */
body .pk-bgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 24px; }
body .pk-bcard { background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 8px 22px rgba(12, 24, 44, .05); transition: transform .15s, box-shadow .15s; }
body .pk-bcard:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(12, 24, 44, .12); }
body .pk-bcard[hidden] { display: none; }
body .pk-bimg { display: block; aspect-ratio: 16 / 10; background: var(--tint); overflow: hidden; }
body .pk-bimg img { width: 100%; height: 100%; object-fit: cover; display: block; }
body .pk-bnoimg { display: grid; place-items: center; height: 100%; font: 700 20px 'Fraunces', serif; color: var(--pri); }
body .pk-bbody { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
body .pk-bbody h3 { font-size: 19px; margin: 0; line-height: 1.25; }
body .pk-bbody h3 a { color: inherit; text-decoration: none; }
body .pk-bbody h3 a:hover { color: var(--pri); }
body .pk-bbody p { margin: 0; color: var(--muted); font-size: 14.5px; flex: 1; }
body .pk-bbody .pk-btn { align-self: flex-start; }
body .pk-bdate { font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
body .pk-postpg { padding: 28px 0 64px; }
body .pk-post { max-width: 780px; margin: 0 auto 56px; }
body .pk-post h1 { font-size: clamp(30px, 4vw, 44px); margin: 8px 0 24px; line-height: 1.12; }
body .pk-pbody { font-size: 17px; line-height: 1.7; color: var(--ink); }
body .pk-pbody img { max-width: 100%; height: auto; border-radius: 12px; margin: 18px 0; }
body .pk-pbody h2, body .pk-pbody h3 { margin: 30px 0 10px; }
body .pk-pbody a { color: var(--pri); }
body .pk-pmore h2 { margin-bottom: 18px; }
body .pk-postpg .pk-crumb { max-width: 780px; margin: 0 auto 8px; }

/* ------------------------------------------------------------------ About and FAQ pages */
body .pk-about, body .pk-faqpg { max-width: 1040px; margin: 0 auto; }
body .pk-about h2, body .pk-faqpg h2 { margin: 40px 0 16px; font-size: clamp(24px, 3vw, 32px); }
body .pk-about .pk-lead, body .pk-faqpg .pk-lead { font-size: 19px; line-height: 1.6; color: var(--muted); max-width: 820px; }
body .pk-ab-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 24px; }
body .pk-ab-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 22px; box-shadow: 0 10px 26px rgba(12, 24, 44, .06); }
body .pk-ab-card img { width: 100%; max-width: 220px; height: auto; display: block; margin: 0 auto 16px; border-radius: 4px; box-shadow: 0 14px 28px rgba(12, 24, 44, .25); }
body .pk-ab-card h3 { font-size: 21px; margin: 0 0 8px; }
body .pk-ab-card h3 a { color: inherit; text-decoration: none; }
body .pk-ab-card p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
body .pk-ab-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
body .pk-ab-chips li { padding: 9px 16px; border-radius: 999px; background: var(--tint); color: var(--prid); font-weight: 600; }
body .pk-ab-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 18px; background: var(--tint2); border: 1px solid var(--line); border-radius: 16px; padding: 22px 26px; margin: 12px 0 20px; line-height: 1.55; }
body .pk-faqpg .pk-acc2 { margin-bottom: 8px; }

/* the Learn dropdown */
body .pk-mpi.pk-learn { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, .8fr); }
body .pk-mpl h5 a, body .pk-mpg h5 a { text-transform: none; letter-spacing: 0; font-weight: 700; color: var(--pri); font-size: 12.5px; text-decoration: none; }
body .pk-mpt.pk-one { grid-template-columns: 1fr; }
@media (max-width: 860px) { body .pk-mpi.pk-learn { grid-template-columns: 1fr; } }

/* product page: What you get (box picture and icon tiles) */
body .pk-incl { display: grid; grid-template-columns: minmax(180px, 280px) 1fr; gap: 36px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 28px; box-shadow: 0 10px 28px rgba(12, 24, 44, .06); }
body .pk-incl-box img { width: 100%; height: auto; display: block; border-radius: 6px; box-shadow: 0 18px 36px rgba(12, 24, 44, .28); }
body .pk-incl-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 14px; }
body .pk-incl-t { display: flex; gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--tint2); font-weight: 600; line-height: 1.35; }
body .pk-incl-t .pk-fti { margin: 0; width: 42px; height: 42px; flex: none; }
body .pk-incl-note { margin: 18px 0 0; padding: 12px 16px; border-radius: 12px; background: var(--tint); color: var(--prid); font-weight: 600; }
@media (max-width: 760px) { body .pk-incl { grid-template-columns: 1fr; padding: 18px; } body .pk-incl-box { max-width: 220px; } }

/* raw imported product text (legacy products): readable lists, tables and pictures */
body .pk-rich ul { list-style: disc; padding-left: 22px; }
body .pk-rich li { margin: 6px 0; }
body .pk-rich table { display: block; overflow-x: auto; max-width: 100%; border-collapse: collapse; }
body .pk-rich td, body .pk-rich th { padding: 8px 12px; border-bottom: 1px solid var(--line); text-align: left; }
body .pk-rich img { max-width: 100%; height: auto; }
body .pk-rich strong { color: var(--ink); }

/* upgrade cards: space between the price and the View button */
body .pk-up .pk-r { display: flex; align-items: center; gap: 18px; margin-top: 12px; }
body .pk-up .pk-r .pk-pr { font-size: 20px; }
body .pk-util a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* collection card: the hover state keeps its text readable */
body .pk-cc a.pk-btn.pk-line:hover, body .pk-btn.pk-line:hover { background: var(--pri); border-color: var(--pri); color: #fff; }

/* button hover states: every variant keeps readable text (a later, more specific rule than the generic a.pk-btn:hover) */
html body a.pk-btn.pk-line:hover, html body button.pk-btn.pk-line:hover { background: var(--pri); border-color: var(--pri); color: #fff; }
html body a.pk-btn.pk-acc:hover, html body button.pk-btn.pk-acc:hover { background: linear-gradient(180deg, #FFE08A, #FCB91F); border-color: #F2A90B; color: #14202E; }
html body a.pk-btn:not(.pk-line):not(.pk-acc):hover { background: var(--prid); color: #fff; }
body .pk-ft1i { padding: 0; overflow: hidden; }
body .pk-ft1i .pk-ftimg { display: block; width: 100%; height: auto; aspect-ratio: 900 / 529; object-fit: cover; border-bottom: 1px solid var(--line); background: #f4f1f8; }
body .pk-ft1i .pk-fti, body .pk-ft1i h3, body .pk-ft1i p { margin-left: 24px; margin-right: 24px; }
body .pk-ft1i .pk-fti { margin-top: 18px; }
body .pk-ft1i p { margin-bottom: 24px; }


/* ================================================================== 2026-10-26 (Syed): site change list, round 1 */
/* "Ready to start?" band: much less white above and below it (the footer margin now sits under the newsletter band) */
body .pk-prog .pk-sec.pk-cta { padding-top: 0; padding-bottom: 8px; }
body .pk-prog #faq.pk-sec { padding-bottom: 40px; }
body .pk-cband { padding: 32px 40px; }

/* videos: two per row (one column on a phone) */
body .pk-act-v { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
body .pk-act-v video { aspect-ratio: 16 / 9; height: auto; }
body .pk-act-v figcaption { margin-top: 10px; font-weight: 600; color: var(--ink); }
@media (max-width: 700px) { body .pk-act-v { grid-template-columns: 1fr; } }

/* "Tools in ..." cards: four across, equal height, text on the same lines in every card */
body .pk-wn-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
@media (max-width: 1100px) { body .pk-wn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { body .pk-wn-grid { grid-template-columns: 1fr; } }
body .pk-wn-grid > .pk-wn { display: flex; flex-direction: column; padding: 0; overflow: hidden; margin: 0; text-align: left; }
body .pk-wn-grid .pk-wn-img { display: block; width: 100%; height: auto; aspect-ratio: 900 / 529; object-fit: cover; border-bottom: 1px solid var(--line); background: var(--tint); }
body .pk-wn-b { display: flex; flex-direction: column; flex: 1 1 auto; padding: 16px 22px 22px; text-align: left; }
body .pk-wn-b .pk-wn-k { display: block; margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pri); }
body .pk-wn-b h3 { margin: 0 0 8px; font-size: 19px; line-height: 1.25; min-height: 2.5em; text-align: left; }
body .pk-wn-b p { margin: 0 0 10px; text-align: left; }
body .pk-wn-b .pk-wn-l { list-style: none; margin: 4px 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body .pk-wn-b .pk-wn-l li { background: var(--tint); border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; font-size: 14px; color: var(--ink); line-height: 1.3; }
body .pk-wn-b .pk-wn-l small { color: var(--muted); font-size: 12px; }
body .pk-wn-b .pk-wn-tour { flex-direction: column; flex-wrap: nowrap; gap: 0; }
body .pk-wn-b .pk-wn-tour li { background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 9px 0; font-size: 15px; }
body .pk-wn-b .pk-wn-tour li:last-child { border-bottom: 0; }
body .pk-wn-b .pk-wn-fine { margin: auto 0 0; padding-top: 10px; font-size: 12px; color: var(--muted); line-height: 1.4; }

/* newsletter band above the footer (the sign-up form is no longer inside the footer) */
body .pk-nlband { margin-top: 64px; background: linear-gradient(135deg, var(--prid), var(--pri)); color: #fff; }
body .pk-nlband .pk-w { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px; align-items: center; padding-top: 36px; padding-bottom: 36px; }
body .pk-nlband h2 { color: #fff; font-size: 30px; margin: 0 0 8px; }
body .pk-nlband p { margin: 0; color: rgba(255, 255, 255, .9); max-width: 560px; font-size: 16px; line-height: 1.5; }
body .pk-nlband .pk-news { max-width: none; margin: 0; }
body .pk-nlband .pk-news .bb-news-form { flex-wrap: nowrap; }
body .pk-nlband .pk-news .bb-news-form input[type="email"] { background: #fff; color: var(--ink); border-color: #fff; }
body .pk-nlband .pk-news .bb-news-form input[type="email"]::placeholder { color: #6b7686; }
body .pk-nlband + .pk-ft { margin-top: 0; }
@media (max-width: 860px) { body .pk-nlband .pk-w { grid-template-columns: 1fr; gap: 18px; } body .pk-nlband h2 { font-size: 26px; } body .pk-nlband .pk-news .bb-news-form { flex-wrap: wrap; } }

/* ================================================================== 2026-10-26 (Syed): staging fixes, round 2 */
/* sticky "On this page" bar: opaque, so card text never shows through it; anchors land below it */
body .pk-psub { background: #fff; backdrop-filter: none; box-shadow: 0 1px 0 var(--line), 0 6px 14px rgba(12, 24, 44, .06); }
body .pk-prog .pk-sec, body .pk-prog [id] { scroll-margin-top: 64px; }
/* "Professional adds": one even row on a wide screen, then 3 / 2 / 1 columns, no orphan card */
body .pk-fts.pk-pro { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body .pk-fts.pk-pro .pk-ft1 { height: 100%; }
@media (max-width: 1100px) { body .pk-fts.pk-pro { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { body .pk-fts.pk-pro { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { body .pk-fts.pk-pro { grid-template-columns: 1fr; } }
/* feature cards: same height in a row, text starts on the same line */
body .pk-fts { align-items: stretch; }
body .pk-fts > .pk-ft1 { height: 100%; box-sizing: border-box; }
/* product page: program screens under the box shot */
body .pk-tb.pk-tbs2 { aspect-ratio: 3 / 2; background: #fff; }
body .pk-tb.pk-tbs2 img { width: 100%; height: 100%; object-fit: cover; box-shadow: none; }
body .pk-bigth img#pk-big { transition: opacity .15s; }
@media (max-width: 900px) { body .pk-tbs { overflow-x: auto; } body .pk-tb { flex: 0 0 84px; } body .pk-tb.pk-tbs2 { flex-basis: 120px; } }
/* footer contact lines under the brand text */
body .pk-ft .pk-fcontact { margin: 0; }
body .pk-ft .pk-fcontact a { display: block; padding: 2px 0; }
body .pk-ft .pk-fnote { display: block; font-size: 12.5px; color: #9FB0C3; padding: 0 0 4px; }
/* product cards: equal height in a row, price and View button on the same line in every card */
body .pk-grid { align-items: stretch; }
body .pk-card.pk-prod { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; }
body .pk-card.pk-prod .pk-m { flex: 1 1 auto; }
body .pk-card.pk-prod .pk-r { margin-top: auto; }
/* compare and file-format tables on a phone: all columns visible (table fits the card; scrolls inside the card if it ever must) */
body .pk-cmp { overflow-x: auto; }
@media (max-width: 560px) {
  body .pk-cmp table { width: 100%; min-width: 0; table-layout: fixed; }
  body .pk-cmp th, body .pk-cmp td { padding: 10px 6px; font-size: 13px; overflow-wrap: anywhere; }
  body .pk-cmp tbody th { width: 46%; text-align: left; }
  body .pk-cmp thead th { font-size: 15px; }
  body .pk-cmp .pk-btn { padding: 8px 10px; font-size: 13px; }
}
/* Content packs page: collections shown as "Coming soon", nothing orderable */
body .pk-cc.pk-soon { position: relative; }
body .pk-cc.pk-soon .pk-cb { display: flex; flex-direction: column; flex: 1 1 auto; padding: 18px 20px; }
body .pk-cc.pk-soon .pk-cb h3 { margin: 4px 0 6px; font-size: 20px; }
body .pk-cc.pk-soon .pk-cb p { margin: 0 0 8px; color: var(--muted); font-size: 14.5px; }
body .pk-cc.pk-soon .pk-soon-tag { margin-top: auto; align-self: flex-start; background: var(--tint); border: 1px solid var(--line); color: var(--prid); font-weight: 700; font-size: 13px; letter-spacing: .02em; border-radius: 999px; padding: 6px 14px; }
body .pk-packs-hero .pk-pht { max-width: 760px; }
body .pk-packs-page .pk-ccs { align-items: stretch; }
/* PrintMaster Classic: one page, three editions (radio cards switch the add-to-cart between the existing products) */
body .pk-edsel { border: 0; margin: 4px 0 6px; padding: 0; min-width: 0; }
body .pk-edsel legend { font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); padding: 0; margin: 0 0 8px; }
body .pk-edsel-l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body .pk-edsel-c { position: relative; display: flex; flex-direction: column; gap: 2px; border: 2px solid var(--line); border-radius: 12px; padding: 12px 12px 12px 14px; background: #fff; cursor: pointer; }
body .pk-edsel-c input { position: absolute; opacity: 0; pointer-events: none; }
body .pk-edsel-c.pk-on { border-color: var(--pri); box-shadow: 0 0 0 1px var(--pri) inset; background: var(--tint); }
body .pk-edsel-c:focus-within { outline: 2px solid var(--pri); outline-offset: 2px; }
body .pk-edsel-n { font-weight: 800; font-size: 16px; color: var(--ink); }
body .pk-edsel-p { font-family: 'Fraunces', Georgia, serif; font-weight: 700; font-size: 18px; color: var(--prid); }
body .pk-edsel-d { font-size: 12.5px; line-height: 1.35; color: var(--muted); }
@media (max-width: 560px) { body .pk-edsel-l { grid-template-columns: 1fr; } }
/* Videos, ideas and how-tos (one page): videos two per row, how-to links as cards */
html body .vi-combined .pm-videos, html body .vi-combined .ps-videos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; list-style: none; padding: 0; margin: 0; }
html body .vi-combined .pm-videos.pm-videos--solo { grid-template-columns: 1fr; }
@media (max-width: 700px) { html body .vi-combined .pm-videos, html body .vi-combined .ps-videos { grid-template-columns: 1fr !important; } }
html body .vi-combined [id] { scroll-margin-top: 24px; }
html body .vi-list { list-style: none; margin: 18px 0 14px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
html body .vi-list li a { display: block; height: 100%; box-sizing: border-box; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; font-weight: 600; color: var(--prid); text-decoration: none; }
html body .vi-list li a:hover { border-color: var(--pri); }
@media (max-width: 700px) { html body .vi-list { grid-template-columns: 1fr; } }
/* PrintMaster: purple and gold over the Packs stylesheet (tokens as on printmasterpacks.com) */
body{--pri:#662D91;--prid:#3E1A5C;--acc:#FFC857;--accink:#3E1A5C;--tint:#F4ECFA;--tint2:#FAF6FD;--line:#E4D6F0;--ink:#231530;--muted:#5E4A74;--dark:#2A1240;--rad:12px;--btnrad:10px;}
body .pk-ft{background:var(--dark)}
/* 2026-10-26 (Syed): no Print Shop "P" badge on PrintMaster boxes in the PrintMaster store */
body .pk-pgb { display: none !important; }
