/* BlueFire Print: pieces specific to the print shop. Builds on styles.css, home.css and light.css.
   Brand color: royal #283f73 (matches the Print card on bluefiremcf.com/brands). Footers stay night. */
.pr { --royal-p: #283f73; --royal-d: #0a3672; --royal-l: #e9f1fb; }

/* ---------- Brand color ---------- */
.brand-tag { background: #283f73; color: #fff; }
.pr-hero.h-hero--dark, .page-hero.dark, .pp-hero { background: linear-gradient(160deg, #1559ad 0%, #283f73 48%, #0a3672 100%); color: #fff; }
.pr-hero .h-lede, .page-hero.dark .lede, .pp-hero .pp-blurb, .pp-hero .pp-tag { color: #d5e2f5 !important; }
.pr-hero .eyebrow, .home-light .page-hero.dark .label { color: #9fd8ef; }
.pr-hero .eyebrow::before, .page-hero.dark .label::before { background: #9fd8ef; }
.pr-hero .h-trust { color: #d5e2f5; }
.pr-hero .fx-b1, .page-hero.dark .fx-b1, .pp-hero .fx-b1 { background: radial-gradient(circle, rgba(92, 198, 226, .45), transparent 65%); }
.pr-hero .fx-b2, .page-hero.dark .fx-b2, .pp-hero .fx-b2 { background: radial-gradient(circle, rgba(255, 255, 255, .22), transparent 65%); }
.pr-hero .fx-b3, .page-hero.dark .fx-b3, .pp-hero .fx-b3 { background: radial-gradient(circle, rgba(5, 158, 196, .4), transparent 65%); }
.pr-hero .fx-grid, .page-hero.dark .fx-grid, .pp-hero .fx-grid { background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px); }
.pr .cta-band { background: linear-gradient(120deg, #283f73 0%, #036898 100%); }
.lt .label { color: #283f73; }
.home-light main .page-hero.dark a:not(.btn), .home-light main .pp-hero a:not(.btn):not(.drop-browse) { color: #fff; }

.sample-bar { background: #0a2f61; color: #e9f1fb; text-align: center; font: 600 14px/1.4 var(--body); padding: 9px var(--gutter); }
.sample-bar a { color: #fff; }

/* ---------- Header cart ---------- */
.cart-btn { position: relative; display: inline-flex; align-items: center; gap: 8px; }
.main-nav a.cart-btn { border: 1.5px solid #c8d5ea; border-radius: 999px; padding: 9px 16px; margin-left: 6px; color: var(--royal); }
.main-nav a.cart-btn:hover { border-color: #283f73; background: var(--royal-l); }
.cart-btn svg { width: 20px; height: 20px; }
.cart-n { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #283f73; color: #fff; font: 700 12.5px/1 var(--body); }
.cart-n[hidden] { display: none; }
.cart-btn--m { display: none; margin-left: auto; color: var(--royal); padding: 10px; border-radius: 999px; }
.cart-btn--m .cart-n { position: absolute; top: 0; right: -2px; }
@media (max-width: 920px) {
  .cart-btn--m { display: inline-flex; }
  .main-nav a.cart-btn { margin: 14px 0 0; justify-content: center; border-bottom: 1.5px solid #c8d5ea; border-radius: 999px; }
}

/* ---------- Home hero: a press sheet ---------- */
.pr-art { position: relative; padding: 18px 10px 34px; }
.sheet { transform: rotate(2deg); filter: drop-shadow(0 40px 50px rgba(5, 20, 50, .45)); }
.sheet-svg { width: 100%; height: auto; }
.ab-chip { position: absolute; display: flex; align-items: center; gap: 10px; background: var(--white); color: var(--ink); border-radius: 12px; padding: 10px 14px; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .6); font-size: 13px; line-height: 1.3; }
.ab-chip svg { width: 22px; height: 22px; color: #1f8a4c; flex: none; }
.ab-chip b { display: block; font-size: 14px; }
.ab-chip span { color: var(--soft); }
.ab-chip--a { left: -10px; bottom: 6px; }
.ab-chip--b { right: -6px; top: 0; }
@media (prefers-reduced-motion: no-preference) {
  .ab-chip--b { animation: abFloat 6s ease-in-out infinite; }
  .ab-chip--a { animation: abFloat 6s ease-in-out -3s infinite; }
}
@keyframes abFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@media (max-width: 900px) { .pr-art { max-width: 560px; margin-inline: auto; width: 100%; } }
@media (max-width: 640px) { .ab-chip { font-size: 12px; padding: 8px 10px; } .ab-chip--a { left: 0; bottom: 0; } .ab-chip--b { right: 0; } }

/* ---------- Product cards ---------- */
.pc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.home-light main a.pc { position: relative; display: flex; flex-direction: column; background: var(--white); border: 1px solid #d6e2f1; border-radius: 18px; overflow: hidden; color: var(--ink); text-decoration: none; box-shadow: 0 24px 50px -42px rgba(13, 68, 140, .5); transition: transform .25s var(--ease), box-shadow .25s, border-color .25s; }
.home-light main a.pc:hover { transform: translateY(-4px); border-color: #9fb8dc; box-shadow: 0 30px 60px -36px rgba(13, 68, 140, .55); color: var(--ink); }
.pc-art { background: linear-gradient(160deg, #f1f5fb, #e4ecf7); padding: 12px 10px 4px; }
.pc-art svg, .pp-art svg { display: block; width: 100%; height: auto; }
.pc-body { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; flex: 1; }
.pc-body h3 { font: 700 21px/1.15 var(--display); letter-spacing: -0.02em; }
.pc-body p { color: var(--soft); font-size: 15.5px; line-height: 1.45; flex: 1; }
.pc-from { margin-top: 8px; font-size: 14.5px; color: var(--soft); }
.pc-from b { color: #283f73; font: 700 18px var(--display); }
.pc-go { position: absolute; right: 18px; bottom: 18px; width: 34px; height: 34px; border-radius: 50%; background: var(--royal-l); color: #283f73; display: grid; place-items: center; font-weight: 700; transition: transform .2s var(--ease), background .2s; }
.pc:hover .pc-go { background: #283f73; color: #fff; transform: translateX(3px); }
.pc-more { text-align: center; margin-top: 28px; color: var(--soft); }
@media (max-width: 1100px) { .pc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pc-grid { grid-template-columns: 1fr; } }

/* ---------- How it works / why ---------- */
.lg-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; }
.lg-steps li { position: relative; display: flex; flex-direction: column; gap: 10px; background: #f4f7fb; border: 1px solid #e3eaf4; border-radius: 16px; padding: 24px 22px; }
.lg-steps svg { width: 30px; height: 30px; color: #283f73; }
.lg-n { position: absolute; top: 18px; right: 20px; font: 700 34px/1 var(--display); color: #d6e2f1; }
.lg-steps h3 { font: 700 19px var(--display); color: var(--ink); }
.lg-steps p { color: var(--soft); font-size: 15.5px; line-height: 1.5; }
@media (max-width: 1100px) { .lg-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .lg-steps { grid-template-columns: 1fr; } }
.why-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
@media (max-width: 900px) { .why-grid { grid-template-columns: 1fr; } }

.check-card { background: var(--white); border: 1px solid #d6e2f1; border-radius: 20px; padding: 22px; box-shadow: 0 30px 60px -40px rgba(13, 68, 140, .5); max-width: 480px; justify-self: center; width: 100%; }
.cc-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid #e3eaf4; }
.cc-file { font: 500 14px var(--mono); color: var(--ink-2); }
.cc-ok { background: #e3f5ea; color: #13502d; font: 700 13px var(--body); padding: 6px 10px; border-radius: 999px; }
.check-card ul { list-style: none; display: grid; gap: 4px; padding: 10px 0; margin: 0; }
.check-card li { display: flex; gap: 12px; align-items: center; padding: 8px 0; }
.check-card li svg { width: 22px; height: 22px; color: #1f8a4c; flex: none; background: #e3f5ea; border-radius: 50%; padding: 3px; }
.check-card li span { display: flex; justify-content: space-between; flex: 1; gap: 12px; color: var(--soft); font-size: 15px; }
.check-card li b { color: var(--ink); }
.cc-note { font-size: 13px; color: var(--soft); border-top: 1px solid #e3eaf4; padding-top: 12px; }

.pr-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.duo-card { display: flex; flex-direction: column; gap: 12px; background: var(--royal-l); border: 1px solid #cfdcf0; border-radius: 22px; padding: clamp(26px, 4vw, 40px); }
.duo-card > svg { width: 34px; height: 34px; color: #283f73; }
.duo-card h3 { font: 700 clamp(24px, 2.6vw, 30px) var(--display); }
.duo-card p { color: var(--soft); }
.duo-ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.duo-card .btn-primary { background: #283f73; color: #fff; }
.duo-card .btn-primary:hover { background: #1559ad; color: #fff; }
.duo-card .btn-outline { color: #283f73; border-color: #9fb8dc; }
.duo-card .btn-outline:hover { color: #0a3672; border-color: #283f73; }
.duo-card--dark { background: var(--navy); border-color: var(--navy); }
.duo-card--dark > svg { color: var(--cyan-light); }
.duo-card--dark h3 { color: #fff !important; }
.duo-card--dark p { color: var(--muted); }
.duo-card--dark .btn-primary { background: var(--cyan); color: var(--navy); }
.duo-card--dark .btn-primary:hover { background: var(--cyan-light); color: var(--navy); }
@media (max-width: 800px) { .pr-duo { grid-template-columns: 1fr; } }

/* ---------- Product page ---------- */
.pp-hero { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(28px, 4vw, 48px) clamp(48px, 6vw, 80px); }
.pp-hero .wrap { position: relative; z-index: 1; }
.pp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 470px); gap: clamp(28px, 5vw, 64px); align-items: start; }
.pp-copy { display: flex; flex-direction: column; gap: 14px; padding-top: 6px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14.5px; color: #b9cdea; }
.home-light main .crumbs a { color: #d5e2f5; text-decoration: none; }
.home-light main .crumbs a:hover { color: #fff; text-decoration: underline; }
.pp-hero h1 { color: #fff !important; font-size: clamp(38px, 4.4vw, 58px); line-height: 1; letter-spacing: -0.04em; }
.pp-tag { font-size: clamp(18px, 1.7vw, 21px); }
.pp-art { background: linear-gradient(160deg, #f4f8fd, #dde8f6); border-radius: 22px; padding: 18px 16px 8px; margin: 8px 0 4px; box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .6); }
.pp-blurb { font-size: 17px; line-height: 1.6; }
.pp-trust { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 20px; color: #e9f1fb; font-size: 15px; }
.pp-trust li { display: inline-flex; gap: 8px; align-items: center; }
.pp-trust svg { width: 18px; height: 18px; color: #9fd8ef; }

/* Calculator */
.calc { background: var(--white); color: var(--ink); border-radius: 22px; padding: clamp(22px, 3vw, 30px); display: flex; flex-direction: column; gap: 16px; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .55); }
.calc :focus-visible { outline: 3px solid #283f73; outline-offset: 2px; box-shadow: none; }
.calc-h { font: 700 22px var(--display) !important; letter-spacing: -0.02em; }
.cf { display: flex; flex-direction: column; gap: 7px; border: 0; padding: 0; margin: 0; min-width: 0; }
.cf-l { font: 600 14.5px var(--body); color: var(--royal); padding: 0; }
.cf-l .opt { font-weight: 500; color: var(--soft); }
.cf select, .cf textarea { font: 500 16px var(--body); color: var(--ink); background: var(--white); border: 1.5px solid #9aaccc; border-radius: 10px; padding: 11px 40px 11px 13px; min-height: 48px; width: 100%; }
.cf select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23283f73' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 13px center / 16px; cursor: pointer; }
.cf textarea { padding-right: 13px; min-height: 0; resize: vertical; }
.cf select:hover, .cf textarea:hover { border-color: #283f73; }
.cf-fixed { font-weight: 600; color: var(--ink); padding: 2px 0; }
.cf-fixed small { display: block; font-weight: 500; color: var(--soft); font-size: 13.5px; }
.segs { display: grid; gap: 8px; }
.segs--2 { grid-template-columns: 1fr 1fr; }
.segs--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.seg { position: relative; cursor: pointer; }
.seg input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.seg span { display: flex; flex-direction: column; justify-content: center; height: 100%; min-height: 48px; border: 1.5px solid #c8d5ea; border-radius: 10px; padding: 9px 12px; font: 600 15px/1.25 var(--body); color: var(--ink-2); text-align: center; transition: border-color .15s, background .15s; }
.seg small { font-weight: 500; font-size: 12.5px; color: var(--soft); margin-top: 2px; }
.seg:hover span { border-color: #283f73; }
.seg input:checked + span { border: 2px solid #283f73; background: var(--royal-l); color: #0a3672; padding: 8.5px 11.5px; }
.seg input:focus-visible + span { outline: 3px solid #283f73; outline-offset: 2px; }
.calc-price { display: flex; flex-direction: column; gap: 6px; background: #f3f6fb; border: 1px solid #e3eaf4; border-radius: 14px; padding: 16px 18px; }
.calc-price > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.cp-l { font: 600 14.5px var(--body); color: var(--soft); width: 100%; }
.cp-total { font: 700 40px/1 var(--display); letter-spacing: -0.03em; color: var(--ink); }
.cp-each { color: var(--soft); font-size: 15px; }
.cp-ship { color: var(--soft); font-size: 14px; }
.up { display: flex; flex-direction: column; gap: 8px; }
.drop { position: relative; display: flex; align-items: center; gap: 14px; border: 2px dashed #9fb8dc; border-radius: 14px; padding: 16px 18px; cursor: pointer; background: #fafcff; transition: border-color .15s, background .15s; }
.drop:hover, .drop.is-over { border-color: #283f73; background: var(--royal-l); }
.drop:focus-within { outline: 3px solid #283f73; outline-offset: 2px; }
.drop input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.drop > svg { width: 30px; height: 30px; color: #283f73; flex: none; }
.drop > span { font-size: 14px; color: var(--soft); line-height: 1.45; }
.drop b { display: block; color: var(--ink); font-size: 15.5px; }
.drop-browse { color: #283f73; font-weight: 700; text-decoration: underline; }
.up-list { list-style: none; display: grid; gap: 8px; margin: 0; padding: 0; }
.up-list li { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; border: 1px solid #e3eaf4; border-radius: 10px; padding: 10px 12px; font-size: 14.5px; }
.up-name { font-weight: 600; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.up-meta { grid-column: 1; color: var(--soft); font-size: 13px; }
.up-bar { grid-column: 1 / -1; height: 5px; background: #e3eaf4; border-radius: 3px; overflow: hidden; }
.up-bar i { display: block; height: 100%; width: 0; background: #283f73; transition: width .2s; }
.up-x { grid-row: 1 / span 2; grid-column: 2; background: none; border: 0; color: var(--soft); font: 600 14px var(--body); cursor: pointer; padding: 8px; border-radius: 8px; text-decoration: underline; }
.up-x:hover { color: #b42318; }
.up-list li.is-done .up-meta { color: #1e7a45; }
.up-list li.is-err { border-color: #f1b8b0; background: #fff6f5; }
.up-list li.is-err .up-meta { color: #b42318; }
.up-hint { font-size: 14px; color: var(--soft); }
.calc-go { width: 100%; justify-content: center; background: #283f73; color: #fff; }
.calc-go:hover { background: #1559ad; color: #fff; }
.calc-go svg { width: 20px; height: 20px; }
.calc-added { background: #e9f7ef; border: 1px solid #bfe3cc; color: #13502d; border-radius: 12px; padding: 12px 14px; font-size: 15px; }
.home-light main .calc-added a { color: #13502d; font-weight: 700; }
.calc-fine { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; color: var(--soft); }
.calc-fine svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.pp-info { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); }
.pp-h { font: 700 clamp(24px, 2.4vw, 30px) var(--display); margin-bottom: 16px; }
.spec { width: 100%; border-collapse: collapse; font-size: 16px; }
.spec th, .spec td { text-align: left; padding: 12px 0; border-bottom: 1px solid #e3eaf4; vertical-align: top; }
.spec th { width: 34%; color: var(--soft); font-weight: 600; padding-right: 16px; }
.spec--sm { font-size: 14.5px; }
.spec--sm th { width: 42%; }
.tips { list-style: none; display: grid; gap: 12px; margin: 0; padding: 0; }
.tips li { display: flex; gap: 10px; align-items: flex-start; color: var(--ink-2); }
.tips svg { width: 20px; height: 20px; color: #283f73; flex: none; margin-top: 3px; }
.tips-more { margin-top: 18px; color: var(--soft); font-size: 15.5px; }
@media (max-width: 960px) { .pp-grid, .pp-info { grid-template-columns: 1fr; } .calc { max-width: 620px; } }
@media (max-width: 420px) { .segs--3 { grid-template-columns: 1fr; } }

/* ---------- Cart ---------- */
.cart-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: clamp(24px, 4vw, 48px); align-items: start; }
.cart-list { list-style: none; display: grid; gap: 14px; margin: 0; padding: 0; }
.ci { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 18px; background: var(--white); border: 1px solid #d6e2f1; border-radius: 18px; padding: 16px; box-shadow: 0 18px 40px -34px rgba(13, 68, 140, .4); }
.ci-art { background: linear-gradient(160deg, #f1f5fb, #e4ecf7); border-radius: 12px; padding: 6px; align-self: start; }
.ci-art svg { width: 100%; height: auto; display: block; }
.ci h3 { font: 700 19px var(--display); }
.ci-specs { color: var(--soft); font-size: 14.5px; line-height: 1.5; margin-top: 4px; }
.ci-files { margin-top: 8px; font-size: 14px; color: #1e7a45; }
.ci-files.is-later { color: #8a4b08; }
.ci-note { margin-top: 6px; font-size: 14px; color: var(--ink-2); }
.ci-side { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 10px; }
.ci-price { font: 700 20px var(--display); color: var(--ink); }
.ci-x { background: none; border: 0; color: var(--soft); font: 600 14px var(--body); cursor: pointer; text-decoration: underline; padding: 6px; }
.ci-x:hover { color: #b42318; }
.cart-sum { position: sticky; top: 100px; }
.cs-row { display: flex; justify-content: space-between; gap: 12px; font-size: 16px; color: var(--ink-2); }
.cs-note { font-size: 14px; color: var(--soft); }
.cart-more { margin-top: 18px; }
.cart-empty { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
@media (max-width: 900px) { .cart-grid { grid-template-columns: 1fr; } .cart-sum { position: static; } }
@media (max-width: 560px) { .ci { grid-template-columns: 72px minmax(0, 1fr); } .ci-side { grid-column: 1 / -1; flex-direction: row; align-items: center; } }

/* ---------- Welcome: artwork after checkout ---------- */
.w-items { list-style: none; display: grid; gap: 14px; margin: 16px 0; padding: 0; }
.w-item { border: 1px solid #d6e2f1; border-radius: 14px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.w-item h3 { font: 700 18px var(--display); }
.w-item .ci-specs { margin: 0; }
.w-ok { color: #1e7a45; font-weight: 600; font-size: 15px; }
.w-need { color: #8a4b08; font-weight: 600; font-size: 15px; }
.w-send { align-self: flex-start; background: #283f73; color: #fff; }
.w-send:hover { background: #1559ad; color: #fff; }

/* ---------- File setup ---------- */
.fs-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: clamp(28px, 5vw, 64px); align-items: start; }
.fs-rules { display: grid; gap: 16px; }
.fs-rule { display: flex; gap: 20px; align-items: flex-start; background: #f4f7fb; border: 1px solid #e3eaf4; border-radius: 18px; padding: 22px; }
.fs-rule p { color: var(--soft); margin-top: 6px; }
.fs-ic { width: 54px; height: 54px; border-radius: 14px; background: var(--royal-l); display: grid; place-items: center; flex: none; }
.fs-ic svg { width: 28px; height: 28px; color: #283f73; }
.fs-dia { flex: none; width: 170px; display: flex; flex-direction: column; gap: 6px; }
.fs-dia svg { width: 100%; height: auto; }
.fs-dia span { font-size: 12px; color: var(--soft); display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.fs-dia i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: -4px; }
.fs-dia .k1 { background: #fde3d0; } .fs-dia .k2 { border: 2px solid #283f73; } .fs-dia .k3 { border: 2px dashed #1f8a4c; }
@media (max-width: 960px) { .fs-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .fs-rule { flex-direction: column; } .fs-dia { width: 200px; } }

.foot-2col { grid-template-columns: 1fr 1fr; column-gap: 18px; }
.pr .form-status:empty { display: none; }
.fs-dia em { font-style: normal; display: inline-flex; align-items: center; gap: 5px; }
.fs-dia i { margin-right: 0; }
@media (max-width: 900px) { .pr-hero .h-copy { order: 1; } .pr-hero .pr-art { order: 2; } }
/* Product page on phones: the calculator comes right after the title, the artwork and details follow */
@media (max-width: 960px) {
  .pp-grid { display: flex; flex-direction: column; gap: 14px; }
  .pp-copy { display: contents; }
  .pp-copy > .crumbs { order: 1; } .pp-copy > h1 { order: 2; } .pp-copy > .pp-tag { order: 3; }
  .calc { order: 4; width: 100%; margin: 10px auto 0; }
  .pp-copy > .pp-art { order: 5; margin-top: 18px; } .pp-copy > .pp-blurb { order: 6; } .pp-copy > .pp-trust { order: 7; }
}
/* Product photos (Canva) */
.photo { display: block; width: 100%; height: auto; }
.pc-art:has(.photo) { padding: 0; background: #e4ecf7; }
.pp-art:has(.photo) { padding: 0; overflow: hidden; }
.ci-art:has(.photo) { padding: 0; overflow: hidden; }
.hero-photo { border-radius: 22px; overflow: hidden; box-shadow: 0 40px 70px -30px rgba(5, 20, 50, .6); border: 6px solid rgba(255, 255, 255, .9); }
.hero-photo img { display: block; width: 100%; height: auto; }
/* Hero photo collage */
.hero-collage { display: grid; grid-template-columns: 1.35fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; }
.home-light main a.hc { position: relative; display: block; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(5, 20, 50, .7); border: 4px solid rgba(255, 255, 255, .92); }
.hc img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.hc:hover img { transform: scale(1.04); }
.hc--0 { grid-row: 1 / span 2; }
.hc span { position: absolute; left: 10px; bottom: 10px; background: rgba(10, 30, 70, .82); color: #fff; font: 700 13px var(--body); padding: 6px 10px; border-radius: 999px; }
.pr-art:has(.hero-collage) .ab-chip--a { left: auto; right: 34%; bottom: -14px; }
.hc--0 span { top: 12px; bottom: auto; }
.pr-art:has(.hero-collage) .ab-chip--b { right: -10px; top: -12px; }
@media (max-width: 560px) { .hero-collage { gap: 8px; } .hc span { font-size: 11px; padding: 4px 8px; } }
/* Product photo gallery */
.pp-gallery { display: flex; flex-direction: column; gap: 10px; background: none; box-shadow: none; padding: 0 !important; }
.pp-gallery > .photo { border-radius: 22px; box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .6); }
.pg-thumbs { display: flex; gap: 10px; }
.pg-t { width: 96px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; cursor: pointer; background: none; opacity: .75; }
.pg-t img { display: block; width: 100%; height: auto; }
.pg-t.is-on, .pg-t:hover { border-color: #fff; opacity: 1; }
.pg-t:focus-visible { outline: 3px solid #9fd8ef; outline-offset: 2px; }
.pc-art:has(.photo) .photo { aspect-ratio: 3 / 2; object-fit: cover; }

/* ================= Print-shop layout (home banner, product menu, trust strip) ================= */
/* Product menu under the header, on every page */
.cat-bar { background: #283f73; }
.cat-in { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.cat-in::-webkit-scrollbar { display: none; }
.site-header .cat-bar a { flex: none; color: #fff; text-decoration: none; font: 600 14.5px var(--body); padding: 11px 14px; white-space: nowrap; border-bottom: 3px solid transparent; }
.site-header .cat-bar a:hover { background: rgba(255, 255, 255, .1); border-bottom-color: #5cc6e2; }
.site-header .cat-bar a.cat-q { margin-left: auto; color: #bfe6f5; }
.cat-in:first-child a:first-child { margin-left: -14px; }

/* Full-width photo banner */
.banner { position: relative; overflow: hidden; background: #0a3672; min-height: clamp(380px, 38vw, 520px); }
.sl { position: absolute; inset: 0; display: flex; align-items: center; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.sl.is-on { opacity: 1; visibility: visible; }
.sl-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.sl::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(8, 34, 80, .94) 0%, rgba(10, 48, 110, .82) 34%, rgba(13, 68, 140, .15) 62%, transparent 75%); }
.sl-copy { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 14px; color: #fff; padding-block: 40px 70px; }
.sl-copy > * { max-width: 520px; }
.sl-tag { align-self: flex-start; background: #5cc6e2; color: #0a2f61; font: 700 13px var(--body); letter-spacing: .06em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; }
.home-light .sl-copy h1, .home-light .sl-copy h2 { color: #fff; font-size: clamp(36px, 4.4vw, 60px); line-height: 1; letter-spacing: -0.04em; }
.sl-copy p { color: #dbe7f7; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.5; }
.sl-copy .sl-price { color: #fff; font-size: 18px; }
.sl-price b { font: 700 30px var(--display); color: #fff; letter-spacing: -0.02em; margin: 0 2px; }
.sl-ctas .btn-primary { background: #fff; color: #0a3672; }
.sl-ctas .btn-primary:hover { background: #e9f1fb; color: #0a3672; }
.sl-dots { position: absolute; left: 0; right: 0; bottom: 22px; z-index: 3; display: flex; gap: 10px; }
.sl-dot { width: 12px; height: 12px; border-radius: 999px; border: 2px solid #fff; background: transparent; padding: 0; cursor: pointer; transition: width .3s, background .3s; }
.sl-dot.is-on { width: 34px; background: #fff; }
.sl-dot:focus-visible { outline: 3px solid #5cc6e2; outline-offset: 3px; }
@media (max-width: 760px) {
  .banner { min-height: 520px; }
  .sl { align-items: flex-end; }
  .sl-img { object-position: center top; height: 60%; }
  .sl::before { background: linear-gradient(180deg, transparent 0%, transparent 38%, rgba(8, 34, 80, .92) 56%, #082250 100%); }
  .sl-copy { padding-block: 0 64px; gap: 10px; }
}

/* Trust strip */
.trust-strip { background: #fff; border-bottom: 1px solid #e3eaf4; }
.trust-strip ul { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-block: 20px; margin: 0 auto; }
.trust-strip li { display: flex; gap: 12px; align-items: center; }
.trust-strip svg { width: 34px; height: 34px; padding: 7px; border-radius: 10px; background: #e9f1fb; color: #283f73; flex: none; }
.trust-strip b { display: block; font: 700 15.5px var(--display); color: var(--ink); }
.trust-strip span { font-size: 14px; color: var(--soft); line-height: 1.35; }
@media (max-width: 900px) { .trust-strip ul { grid-template-columns: 1fr 1fr; } }
#products { padding-top: clamp(48px, 6vw, 72px); }
#products .hs-head { margin-bottom: 32px; }
.sl-copy { width: 100%; }
/* Templates page */
.tpl-how { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 32px; }
.tpl-how div { background: #fff; border: 1px solid #d6e2f1; border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.tpl-how b { font: 700 17px var(--display); color: #283f73; }
.tpl-how span { color: var(--soft); font-size: 15px; line-height: 1.45; }
.tpl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.tpl { display: grid; grid-template-columns: 220px minmax(0, 1fr); background: #fff; border: 1px solid #d6e2f1; border-radius: 18px; overflow: hidden; scroll-margin-top: 140px; }
.tpl-img { background: #e4ecf7; }
.tpl-img .photo, .tpl-img svg { width: 100%; height: 100%; object-fit: cover; }
.tpl-body { padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.tpl-body h2 { font: 700 21px var(--display); }
.tpl-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.tpl-list li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px solid #eef2f8; font-size: 15px; color: var(--ink-2); }
.home-light main a.tpl-dl { display: inline-flex; align-items: center; gap: 5px; font: 700 13px var(--body); color: #283f73; background: #e9f1fb; border-radius: 999px; padding: 6px 11px; text-decoration: none; flex: none; }
.home-light main a.tpl-dl:hover { background: #283f73; color: #fff; }
.tpl-dl svg { width: 15px; height: 15px; }
.tpl-shop { font-weight: 700; font-size: 15px; margin-top: auto; }
@media (max-width: 1000px) { .tpl-grid { grid-template-columns: 1fr; } .tpl-how { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .tpl { grid-template-columns: 1fr; } .tpl-img { aspect-ratio: 3 / 2; } .tpl-how { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .banner { min-height: 620px; }
  .sl-img { height: 46%; }
  .sl::before { background: linear-gradient(180deg, transparent 0%, transparent 34%, #082250 47%, #082250 100%); }
  .home-light .sl-copy h1, .home-light .sl-copy h2 { font-size: 34px; }
  .trust-strip ul { gap: 14px 10px; }
  .trust-strip svg { width: 30px; height: 30px; padding: 6px; }
}
/* ---------- Category menu with dropdowns ---------- */
.cat-bar { position: relative; }
.cat-in { align-items: stretch; }
.cat-btn { flex: none; display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; border-bottom: 3px solid transparent; color: #fff; font: 600 14.5px var(--body); padding: 11px 14px; cursor: pointer; white-space: nowrap; }
.cat-btn svg { width: 12px; height: 12px; transition: transform .2s; }
.cat-btn:hover, .cat-btn[aria-expanded="true"] { background: rgba(255, 255, 255, .12); border-bottom-color: #5cc6e2; }
.cat-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.cat-btn:focus-visible { outline: 3px solid #5cc6e2; outline-offset: -3px; }
.site-header .cat-bar a.cat-link { margin-left: 0; color: #fff; }
.site-header .cat-bar a.cat-link:first-of-type { margin-left: auto; }
.site-header .cat-bar a.cat-q { color: #bfe6f5; }
.mm { position: absolute; left: 0; right: 0; top: 100%; z-index: 60; background: #fff; border-top: 3px solid #5cc6e2; box-shadow: 0 30px 50px -24px rgba(15, 29, 58, .45); }
.mm-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 300px; gap: 28px; padding-block: 24px 28px; }
.mm h3 { font: 700 12.5px var(--body) !important; letter-spacing: .08em; text-transform: uppercase; color: var(--soft) !important; margin-bottom: 8px; }
.mm ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.site-header .mm a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; color: var(--ink); text-decoration: none; font: 600 15.5px var(--body); padding: 8px 10px; border-radius: 8px; border: 0; white-space: normal; }
.site-header .mm a:hover { background: #e9f1fb; color: #283f73; }
.mm a small { font-weight: 600; font-size: 13px; color: #283f73; white-space: nowrap; }
.mm-q a::after { content: "Quote"; font: 700 11px var(--body); color: var(--soft); border: 1px solid #d6e2f1; border-radius: 999px; padding: 2px 7px; }
.site-header .mm a.mm-photo { display: block; padding: 0; border-radius: 14px; overflow: hidden; position: relative; background: #e4ecf7; }
.mm-photo img, .mm-photo svg { display: block; width: 100%; height: auto; }
.mm-photo span { position: absolute; left: 10px; bottom: 10px; background: #283f73; color: #fff; font: 700 13px var(--body); padding: 6px 11px; border-radius: 999px; }
.mm-photo--q { background: #e9f1fb; border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.mm-photo--q b { font: 700 18px var(--display); color: var(--ink); }
.mm-photo--q span { color: var(--soft); font-size: 14.5px; }
.site-header .mm .mm-photo--q a.btn { display: inline-flex; color: #fff; background: #283f73; padding: 9px 16px; margin-top: 4px; }
@media (max-width: 900px) {
  .mm-in { grid-template-columns: 1fr; gap: 14px; padding-block: 16px 20px; max-height: 70vh; overflow-y: auto; }
  .mm-photo { display: none !important; }
}
/* ================= Sales banners (CMYK print-shop style) ================= */
.banner { background: #f4f7fb; min-height: clamp(440px, 40vw, 540px); }
.bn::before { display: none; }
.bn { align-items: stretch; background: linear-gradient(105deg, #ffffff 0%, #f4f7fb 46%, #eaf0f8 100%); }
.bn-fan { position: absolute; top: 0; bottom: 0; right: 0; width: 58%; pointer-events: none;
  background: conic-gradient(from 205deg at 38% 112%, transparent 0deg, rgba(0, 174, 239, .82) 0deg 26deg, rgba(236, 0, 140, .78) 26deg 52deg, rgba(255, 221, 0, .85) 52deg 78deg, rgba(0, 166, 81, .62) 78deg 100deg, rgba(0, 114, 188, .78) 100deg 126deg, rgba(102, 45, 145, .62) 126deg 150deg, transparent 150deg);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 22%); mask-image: linear-gradient(90deg, transparent 0%, #000 22%); }
.bn--green .bn-fan { background: conic-gradient(from 205deg at 38% 112%, transparent 0deg, rgba(141, 198, 63, .75) 0deg 40deg, rgba(0, 166, 81, .7) 40deg 80deg, rgba(0, 174, 239, .55) 80deg 115deg, rgba(0, 120, 90, .55) 115deg 150deg, transparent 150deg); }
.bn-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 32px; align-items: center; width: 100%; padding-block: 36px 64px; }
.bn-copy { display: flex; flex-direction: column; gap: 14px; }
.bn-kick { display: flex; align-items: center; gap: 12px; }
.cmyk { display: inline-flex; gap: 6px; }
.cmyk i { width: 18px; height: 18px; border-radius: 50%; display: block; }
.cmyk .c { background: #00aeef; } .cmyk .m { background: #ec008c; } .cmyk .y { background: #ffdd00; } .cmyk .k { background: #1a1a1a; }
.bn-kick > span:not(.cmyk) { background: #ec008c; color: #fff; font: 700 13px var(--body); letter-spacing: .14em; text-transform: uppercase; padding: 7px 14px; border-radius: 4px; }
.bn--green .bn-kick > span:not(.cmyk) { background: #2e8b3c; }
.bn--rush .bn-kick > span:not(.cmyk) { background: #283f73; }
.home-light .bn-title { font: 800 clamp(36px, 4.6vw, 64px)/1.02 var(--display); letter-spacing: -0.035em; color: #1a1f2e; text-transform: none; }
.bn-title em { font-style: normal; }
.t-c { color: #0096d6; } .t-m { color: #d4007f; } .t-g { color: #2e8b3c; }
.t-y { background: linear-gradient(transparent 12%, #ffdd00 12%, #ffdd00 88%, transparent 88%); padding: 0 .12em; }
.t-k { color: #1a1a1a; }
.bn-sub { font-size: clamp(17px, 1.5vw, 20px); color: #3d4760; line-height: 1.5; max-width: 540px; }
.bn-price { display: flex; align-items: baseline; gap: 10px; }
.bn-price span { font: 600 18px var(--body); color: #3d4760; }
.bn-price b { font: 800 clamp(44px, 5vw, 64px)/1 var(--display); color: #d4007f; letter-spacing: -0.03em; }
.bn-checks, .bn-icons { list-style: none; margin: 0; padding: 0; }
.bn-checks { display: grid; gap: 6px; }
.bn-checks li { display: flex; gap: 10px; align-items: center; font-weight: 600; color: #1a1f2e; }
.bn-checks svg { width: 22px; height: 22px; color: #fff; background: #00aeef; border-radius: 50%; padding: 4px; flex: none; }
.bn-icons { display: flex; flex-wrap: wrap; gap: 14px 22px; }
.bn-icons li { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; width: 92px; font: 700 13px/1.25 var(--body); color: #1a1f2e; }
.bn-icons svg { width: 54px; height: 54px; padding: 13px; border-radius: 50%; color: #fff; }
.bn-icons li:nth-child(1) svg { background: #ec008c; } .bn-icons li:nth-child(2) svg { background: #00aeef; }
.bn-icons li:nth-child(3) svg { background: #f5c400; } .bn-icons li:nth-child(4) svg { background: #1a1a1a; }
.bn-code { font-size: 17px; color: #3d4760; }
.bn-code b { display: inline-block; font: 700 18px var(--mono); color: #283f73; background: #fff; border: 2px dashed #283f73; border-radius: 8px; padding: 4px 12px; margin: 0 4px; }
.bn-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 4px; }
.bn .bn-ctas .btn-primary { background: #283f73; color: #fff; }
.bn .bn-ctas .btn-primary:hover { background: #1559ad; color: #fff; }
.bn--green .bn-ctas .btn-primary { background: #2e8b3c; }
.home-light main a.bn-link { color: #283f73; font-weight: 700; }
.bn-vis { position: relative; display: grid; place-items: center; min-height: 340px; }
.bn-disc { width: min(440px, 100%); aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 10px solid #fff; box-shadow: 0 30px 60px -24px rgba(15, 29, 58, .55); }
.bn-disc img { width: 100%; height: 100%; object-fit: cover; }
.bn-card { position: absolute; width: min(400px, 78%); border-radius: 14px; border: 6px solid #fff; box-shadow: 0 30px 60px -24px rgba(15, 29, 58, .6); }
.bn-card--0 { transform: rotate(-6deg) translate(-12%, -10%); z-index: 2; }
.bn-card--1 { transform: rotate(5deg) translate(16%, 18%); }
.sl--img a { position: absolute; inset: 0; }
.sl--img img { width: 100%; height: 100%; object-fit: cover; }
.banner .sl-dot { border-color: #283f73; }
.banner .sl-dot.is-on { background: #283f73; }
@media (max-width: 860px) {
  .banner { min-height: 760px; }
  .bn-grid { grid-template-columns: 1fr; gap: 10px; padding-block: 20px 60px; align-content: start; }
  .bn-vis { order: -1; min-height: 230px; }
  .bn-disc { width: 230px; border-width: 6px; }
  .bn-card { width: 62%; }
  .bn-fan { width: 100%; height: 300px; bottom: auto; -webkit-mask-image: none; mask-image: none; opacity: .75; }
  .home-light .bn-title { font-size: 34px; }
  .bn-icons li { width: 70px; font-size: 12px; } .bn-icons svg { width: 44px; height: 44px; padding: 10px; }
}

/* Color wheel behind the banner photo */
.bn-fan { top: 50%; bottom: auto; right: -4%; width: min(62vw, 820px); aspect-ratio: 1; border-radius: 50%; transform: translateY(-50%);
  background: conic-gradient(from -20deg, rgba(0, 174, 239, .85) 0 52deg, rgba(102, 45, 145, .7) 52deg 104deg, rgba(236, 0, 140, .8) 104deg 156deg, rgba(237, 28, 36, .75) 156deg 208deg, rgba(255, 221, 0, .88) 208deg 260deg, rgba(0, 166, 81, .7) 260deg 312deg, rgba(0, 174, 239, .85) 312deg 360deg);
  -webkit-mask-image: none; mask-image: none; opacity: .9; }
.bn--green .bn-fan { background: conic-gradient(from -20deg, rgba(141, 198, 63, .8) 0 72deg, rgba(0, 166, 81, .75) 72deg 144deg, rgba(0, 174, 239, .55) 144deg 216deg, rgba(0, 120, 90, .6) 216deg 288deg, rgba(200, 220, 80, .7) 288deg 360deg); }
@media (max-width: 860px) { .bn-fan { top: 140px; right: 50%; transform: translate(50%, -50%); width: 340px; height: 340px; opacity: .85; } }
/* The print shop section */
.press-sec { background: #fff; overflow: hidden; }
.press-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.press-vis { position: relative; display: grid; place-items: center; min-height: 460px; }
.press-vis .bn-fan { right: 50%; transform: translate(50%, -50%); width: min(560px, 100%); }
.press-vis .bn-disc { position: relative; width: min(400px, 82%); }
.press-copy { display: flex; flex-direction: column; gap: 18px; }
.press-copy h2 { font-size: clamp(32px, 3.8vw, 48px); line-height: 1.05; letter-spacing: -0.035em; }
.press-list { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 16px; }
.press-list li { display: flex; gap: 14px; align-items: flex-start; }
.press-list .dot { width: 16px; height: 16px; border-radius: 2px; flex: none; margin-top: 5px; }
.dot.c { background: #00aeef; } .dot.m { background: #ec008c; } .dot.y { background: #ffdd00; } .dot.k { background: #1a1a1a; }
.press-list b { display: block; font: 700 18px var(--display); color: var(--ink); }
.press-list span { color: var(--soft); font-size: 16px; line-height: 1.5; }
@media (max-width: 900px) { .press-grid { grid-template-columns: 1fr; } .press-vis { min-height: 340px; } .press-vis .bn-fan { width: 340px; top: 50%; } }
.bn > .bn-fan { right: -12%; width: min(54vw, 720px); }
.bn-copy { max-width: 600px; }
@media (max-width: 860px) { .banner { min-height: 700px; } .bn > .bn-fan { right: 50%; width: 330px; } }
.bn-grid { padding-block: 30px 84px; } .banner { min-height: clamp(470px, 42vw, 570px); }

/* ===== Print motifs (replaces dots and color wheel): press color bar + overlapping CMYK ink ===== */
.cbar { display: inline-flex; align-items: center; gap: 0; }
.cbar .reg { width: 20px; height: 20px; color: #1a1f2e; margin-right: 8px; }
.cbar i { width: 14px; height: 14px; display: block; }
.cbar .c { background: #00aeef; } .cbar .m { background: #ec008c; } .cbar .y { background: #fff200; } .cbar .k { background: #231f20; }
.cbar .c2 { background: #7fd6f7; } .cbar .m2 { background: #f57fc5; } .cbar .y2 { background: #fff87f; }
.bn-kick > span:not(.cbar) { background: #283f73; color: #fff; font: 700 13px var(--body); letter-spacing: .14em; text-transform: uppercase; padding: 7px 14px; border-radius: 4px; }
.bn--cards .bn-kick > span:not(.cbar) { background: #c4007a; }
.bn--green .bn-kick > span:not(.cbar) { background: #2e8b3c; }
.ink { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.ink i { position: absolute; width: 62%; aspect-ratio: 1; border-radius: 50%; mix-blend-mode: multiply; opacity: .78; }
.ink .ic { background: #00aeef; left: 4%; top: 4%; }
.ink .im { background: #ec008c; right: 0; top: 10%; }
.ink .iy { background: #fff200; left: 22%; bottom: -6%; }
.bn--green .ink .ic { background: #8dc63f; } .bn--green .ink .im { background: #00a651; } .bn--green .ink .iy { background: #d7e98f; }
.bn-vis > :not(.ink), .press-vis > :not(.ink) { position: relative; z-index: 1; }
.bn-vis .bn-card { position: absolute; z-index: 1; }
.bn-vis { min-height: 400px; }
.press-vis .ink i { width: 58%; }
@media (max-width: 860px) { .bn-vis { min-height: 250px; } .ink i { width: 52%; } .ink .ic { left: 14%; } .ink .im { right: 10%; } .ink .iy { left: 28%; bottom: 0; } }
.bn-kick > .cbar { background: none !important; padding: 0 !important; border-radius: 0; }
/* Photos: plain, floating with a soft shadow (no circles or color shapes) */
.bn-disc { width: min(580px, 100%); aspect-ratio: 3 / 2; border-radius: 16px; border: 0; box-shadow: 0 2px 6px rgba(15, 29, 58, .08), 0 34px 60px -28px rgba(15, 29, 58, .45); }
.bn-vis { min-height: 0; }
.bn-card { border: 0; border-radius: 14px; box-shadow: 0 2px 6px rgba(15, 29, 58, .08), 0 30px 54px -26px rgba(15, 29, 58, .5); }
.bn-card--0 { transform: rotate(-3deg) translate(-10%, -8%); }
.bn-card--1 { transform: rotate(3deg) translate(14%, 14%); }
.bn-vis:has(.bn-card) { min-height: 400px; }
.press-vis { min-height: 0; }
.press-vis .bn-disc { width: 100%; aspect-ratio: 16 / 10; }
@media (max-width: 860px) { .bn-disc { width: 100%; } .bn-vis:has(.bn-card) { min-height: 240px; } .banner { min-height: 690px; } }
