/* White paper, established navy and red: shared across every page. */
:root{--ink:#173f7a;--paper:#ffffff;--red:#c9232d;--blue:#173f7a;--yellow:#f3f5f8;--line:#dbe1e9;--muted:#586579}
body{color:#263548;background:#fff}
h1,h2,h3,.brand,.eyebrow{color:var(--ink)}
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
nav a{color:var(--ink)}
nav a:last-child,.primary,.price-quote-btn,.location-card .btn,.location-copy .btn{background:var(--red);border-color:var(--red);color:#fff}
.btn{border-radius:4px;border-width:1px;transition:background .18s,box-shadow .18s}
.primary:hover,nav a:last-child:hover,.price-quote-btn:hover{background:#a91c26;border-color:#a91c26;color:#fff}
.ghost{background:white;border-color:var(--line);color:var(--ink)}
.brand-mark{background:var(--ink);color:white;border:0;transform:none}
.hero-art>img{border:1px solid var(--line);box-shadow:0 12px 32px rgba(23,63,122,.12);border-radius:6px}
.hero-stamp{background:white;border:1px solid var(--line);color:var(--ink);box-shadow:0 5px 18px rgba(23,63,122,.1);transform:none;border-radius:4px}
.marquee{background:var(--ink);color:white;border:0}
.trust-strip,.reviews-section,.quick-prices{background:#f3f5f8;border-color:var(--line)}
.trust-strip span+span{border-color:var(--line)}
.service-grid,.popular-grid,.service-grid article+article,.popular-grid article+article{border-color:var(--line);border-width:1px}
.quick-price-grid>a,.review-grid blockquote,.google-rating,.service-fact,.service-page .service-grid article,.service-page .service-grid article+article{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 4px 14px rgba(23,63,122,.06);border-radius:6px}
.service-fact{background:#f3f5f8}
.service-content,.service-support,.help-strip,.faq-list details,.mascot-section{border-color:var(--line);border-width:1px}
form,dialog{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 32px rgba(23,63,122,.09)}
input,select,textarea,.quote-options{border:1px solid #b8c3d2;border-radius:4px}
pre,.quote-promise{background:#f3f5f8}
.location-section,.pricing-section,footer{background:var(--ink);color:white;border:0}
.location-section h2,.pricing-section h2,footer h2,footer h3,footer .brand{color:white}
.location-card{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:none}
.price-body,.price-action{background:#214c86;border-color:#6d8aad}
.pricing-section summary small,.price-body h3,.service-links b{color:#fff}
.price-body em,.price-body .note,.pricing-foot,.card-tier,.section-head.light>p:last-child,.price-action p{color:#dbe5f2}
.price-stack,details,.price-body .note{border-color:#55749e}
.pricing-section summary span:before{color:#fff}
.mascot-button,.work-showcase figcaption{box-shadow:none;border-radius:4px;border-width:1px}
.mascot-section:before{display:none}
.work-showcase figure{border:1px solid var(--line);border-radius:6px}
.hero-proof span,.review-stars{color:var(--red)}
.popular-grid article:nth-child(2){background:#f3f5f8}
.popular-grid a:hover span{color:white}
.mobile-contact-bar{background:#fff;border-color:var(--line)}
.mobile-contact-bar a{border-color:var(--line)}
footer a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #173f7a;outline-offset:4px}
.trust-strip span,.trust-strip span+span{border:1px solid var(--line);box-shadow:none;border-radius:4px}
.popular-grid article,.capability-grid article{border:1px solid var(--line)!important;box-shadow:0 4px 14px rgba(23,63,122,.06);border-radius:6px}
.popular-grid article:nth-child(n),.capability-grid article:nth-child(n){border-top:3px solid var(--ink)!important}
.google-rating span,.review-grid blockquote>span{color:var(--red)}
.footer-cobrand{background:white;padding:12px;border-radius:4px}
.footer-cobrand{width:fit-content;max-width:100%;justify-self:start;justify-content:center;gap:12px;padding:14px 18px;align-self:center}
.footer-cobrand .brand-logo-image img{height:40px;width:auto}
.footer-cobrand .brand-logo-poetic img{height:46px;width:auto}
@media(max-width:780px){
  body>footer{padding-block:28px}
  .footer-cobrand{justify-self:center;gap:12px;padding:14px 18px}
  .footer-cobrand .brand-logo-image img{height:34px}
  .footer-cobrand .brand-logo-poetic img{height:40px}
}
footer .whatsapp-link{color:white}
:root{--accent-yellow:#ffd34e;--accent-yellow-soft:#fff5cf}
.pricing-section summary mark{background:var(--accent-yellow);color:var(--ink);border:0;border-radius:4px;padding:4px 8px}
.quick-price-grid strong{color:var(--ink);background:var(--accent-yellow-soft);box-shadow:inset 0 -3px 0 var(--accent-yellow);border-radius:3px;padding:3px 6px;width:fit-content}
.trust-strip span:nth-child(3){background:var(--accent-yellow-soft);border-color:var(--accent-yellow)}
.trust-strip span:nth-child(3) .trust-icon{color:var(--ink)}
.turnaround-guide{border-top:3px solid var(--accent-yellow)}
.turnaround-guide strong,.pricing-section .included-note{color:var(--accent-yellow)}
.quote-promise{background:var(--accent-yellow-soft);color:var(--ink);border-left:4px solid var(--accent-yellow)}
.google-rating span,.review-grid blockquote>span{color:#8a6100}
.hero-proof span,.review-stars{color:#8a6100}
.location-section .location-card h2{color:var(--ink)}
.finish-callout{display:flex;flex-direction:column;align-items:stretch;gap:16px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent-yellow);color:var(--ink);border-radius:6px}
.finish-callout>span{color:var(--ink)}
.finish-service{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:start}
.finish-service+.finish-service{border-top:1px solid var(--line);padding-top:16px}
.finish-callout .finish-service h3{color:var(--ink)!important;margin:0!important;font-size:1rem!important}
.finish-service>b{font-weight:800;font-size:1.2rem;white-space:nowrap}
.finish-service small{display:block;font-size:.75rem;font-weight:500}
.finish-service p{grid-column:1/-1;font-size:.82rem;line-height:1.6;color:#46576d}
@media(max-width:420px){.finish-service{grid-template-columns:1fr}.finish-service p{grid-column:1}}
.pricing-foot>span:first-child{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:8px}
.pricing-foot>span:first-child b{color:var(--accent-yellow)}
.pricing-foot>span:first-child strong{white-space:normal;text-align:left}
.pricing-foot>span:first-child small{grid-column:1/-1;width:100%;max-width:none;color:#dbe5f2;line-height:1.5}
@media(max-width:780px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .mobile-contact-bar{height:calc(64px + env(safe-area-inset-bottom,0px));padding:0 0 env(safe-area-inset-bottom,0px);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);box-shadow:0 -3px 16px rgba(23,63,122,.08)}
  .mobile-contact-bar a,.mobile-contact-bar a:last-child{min-width:0;min-height:64px;margin:0;padding:8px 4px;flex-direction:column;gap:4px;font-size:.7rem;line-height:1.15;border-radius:0}
  .mobile-contact-bar span{white-space:nowrap}
  .mobile-contact-bar svg{width:20px;height:20px;flex:none}
}

/* Finished work and print character share one homepage section. */
.finished-work-section:before{display:none}
.finished-work-layout{display:grid;grid-template-columns:.8fr 1.6fr;gap:44px;align-items:center;padding-block:64px}
.finished-work-intro h2{font:clamp(2.8rem,4.5vw,4.8rem)/.95 "Archivo Black",sans-serif;letter-spacing:-.04em;margin:16px 0;color:var(--ink)}
.finished-work-tagline{font-size:1.05rem;line-height:1.6;max-width:320px}
.finished-work-mascot{display:block;width:180px;height:180px;object-fit:contain;margin:12px 0}
.finished-work-intro .mascot-button{margin-top:4px}
.finished-work-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.finished-work-photos>a{display:block;min-width:0;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:6px;overflow:hidden}
.finished-work-photos figure{margin:0}
.finished-work-photos img{display:block;width:100%;height:280px;object-fit:contain;background:#f3f5f8}
.finished-work-photos figcaption{padding:16px 12px;font-size:.85rem;font-weight:700;border-top:4px solid var(--yellow)}
.finished-work-photos>a:hover{box-shadow:0 4px 16px #13243b1a}
.finished-work-photos>a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:1000px){.finished-work-layout{grid-template-columns:1fr;gap:28px}.finished-work-intro{position:relative;padding-right:180px}.finished-work-mascot{position:absolute;right:0;top:10px;width:150px;height:150px}.finished-work-tagline{max-width:none}}
@media(max-width:600px){.finished-work-layout{padding-block:42px}.finished-work-intro{padding-right:0}.finished-work-intro h2{font-size:2.8rem}.finished-work-mascot{position:static;width:120px;height:120px;margin:8px 0}.finished-work-photos{grid-template-columns:1fr}.finished-work-photos img{height:240px}.finished-work-photos figcaption{padding:12px 16px}}
/* Give the Print Ain't Dead character a prominent place in the work section. */
.finished-work-mascot{width:min(100%,340px);height:auto;aspect-ratio:1;object-fit:contain;margin:20px auto}
@media(max-width:1000px){.finished-work-intro{padding-right:0}.finished-work-mascot{position:static;width:min(100%,340px);height:auto;margin:20px auto}}
@media(max-width:600px){.finished-work-mascot{width:min(100%,320px);height:auto;margin:24px auto}}

.finished-work-layout{grid-template-columns:1fr;padding-block:40px;text-align:center}
.finished-work-intro{padding-right:0}
.finished-work-tagline{margin-inline:auto}
.finished-work-intro .mascot-button{width:auto}

/* Keep pricing headings and quote links readable on their own card backgrounds. */
.pricing-section .price-body .extras-bar h3{color:var(--ink)}
.pricing-section .price-card a,
.pricing-section .price-card a:visited{color:#ffe500;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pricing-section .price-card a:hover{color:#fff}
.pricing-section .price-card a:focus-visible{outline:3px solid #ffe500;outline-offset:4px}
