.hero-art{height:500px;position:relative;margin-right:12px}
.hero-art>img{width:100%;height:100%;object-fit:cover;border:3px solid var(--ink);filter:saturate(1.08) contrast(1.03);box-shadow:14px 14px 0 var(--blue)}
.hero-stamp{position:absolute;right:-18px;bottom:28px;background:var(--yellow);border:3px solid var(--ink);padding:13px 18px;transform:rotate(-3deg);font:1.15rem/1.1 "Archivo Black",sans-serif;display:grid}
.hero-art .reg-a{width:90px;height:90px;left:-32px;top:-28px;background:var(--red)}
.hero-art .reg-b{width:42px;height:42px;left:-8px;top:-4px;background:var(--yellow)}
.work-showcase{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-top:70px}
.work-showcase figure{margin:0;position:relative;overflow:hidden;border:3px solid var(--ink);background:var(--ink);height:510px}
.work-showcase img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}
.work-showcase figure:hover img{transform:scale(1.025)}
.work-showcase figcaption{position:absolute;left:18px;right:18px;bottom:18px;background:var(--paper);border:2px solid var(--ink);padding:14px 16px;display:grid;box-shadow:6px 6px 0 var(--red)}
.work-showcase figcaption span{font-size:.7rem;font-weight:800;letter-spacing:.14em;color:var(--red)}
.work-showcase figcaption b{font:1.15rem "Archivo Black",sans-serif}
@media(max-width:780px){.hero-art{height:390px}.work-showcase{grid-template-columns:1fr}.work-showcase figure{height:360px}}
@media(max-width:480px){.hero-art{height:320px}.hero-stamp{right:-8px;font-size:.9rem}.work-showcase figure{height:300px}}

.mascot-section{overflow:hidden;background:white;color:var(--ink);border-block:3px solid var(--ink);position:relative}
.mascot-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 49.9%,rgba(23,21,22,.08) 50%,transparent 50.1%);pointer-events:none}
.mascot-grid{min-height:640px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;position:relative}
.mascot-art{height:590px;display:grid;place-items:center;position:relative}
.mascot-art img{position:relative;z-index:2;width:min(570px,108%);max-height:570px;object-fit:contain;animation:mascot-float 4s ease-in-out infinite}
.mascot-copy{position:relative;z-index:2}
.mascot-copy h2{font:clamp(4rem,8vw,8rem)/.82 "Archivo Black",sans-serif;letter-spacing:-.06em;margin:.22em 0;color:var(--red)}
.mascot-copy>p:not(.eyebrow){font-size:1.2rem;max-width:520px}
.mascot-button{margin-top:18px;background:var(--red);color:white;box-shadow:6px 6px 0 var(--ink)}
@keyframes mascot-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.mascot-art img{animation:none}}
@media(max-width:780px){.mascot-grid{grid-template-columns:1fr;gap:0;padding-block:55px 75px}.mascot-art{height:420px}.mascot-copy{text-align:center}.mascot-copy>p:not(.eyebrow){margin-inline:auto}.mascot-button{width:auto}.mascot-section:before{display:none}}
@media(max-width:480px){.mascot-art{height:340px}.mascot-art img{width:108%;max-height:360px}.mascot-copy h2{font-size:4.1rem}}

.trust-strip{background:var(--yellow);border-bottom:3px solid var(--ink)}
.trust-strip .wrap{min-height:74px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}
.trust-strip span{padding:8px 18px;text-align:center;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.trust-strip span+span{border-left:2px solid var(--ink)}
.popular-section{padding-block:95px 45px}
.popular-heading{display:grid;grid-template-columns:.65fr 1.5fr .65fr;gap:24px;align-items:start}
.popular-heading h2{font:clamp(2.8rem,5vw,5.2rem)/.9 "Archivo Black",sans-serif;letter-spacing:-.05em;margin:0}
.popular-heading>a{justify-self:end;color:var(--ink);font-weight:800;text-underline-offset:5px}
.popular-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border:2px solid var(--ink)}
.popular-grid a{min-height:235px;padding:24px;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;transition:background .2s,color .2s,transform .2s}
.popular-grid a+a{border-left:2px solid var(--ink)}
.popular-grid a:hover{background:var(--red);color:white;transform:translateY(-5px)}
.popular-grid span{font-size:.72rem;font-weight:800;color:var(--red)}
.popular-grid a:hover span{color:var(--yellow)}
.popular-grid h3{font:1.28rem "Archivo Black",sans-serif;margin:42px 0 4px}
.popular-grid p{margin:0;color:var(--muted)}
.popular-grid a:hover p{color:white}
.popular-grid b{margin-top:auto;font-size:1.05rem}
.mascot-grid{min-height:470px;grid-template-columns:.8fr 1.2fr;gap:65px}
.mascot-art{height:430px}
.mascot-art img{width:min(430px,100%);max-height:430px}
.mascot-copy h2{font-size:clamp(3.7rem,6vw,6.3rem)}
@media(max-width:780px){.trust-strip .wrap{grid-template-columns:1fr 1fr}.trust-strip span{min-height:58px;display:grid;place-items:center}.trust-strip span+span{border-left:0}.trust-strip span:nth-child(even){border-left:2px solid var(--ink)}.trust-strip span:nth-child(n+3){border-top:2px solid var(--ink)}.popular-heading{grid-template-columns:1fr}.popular-heading>a{justify-self:start}.popular-grid{grid-template-columns:1fr 1fr}.popular-grid a:nth-child(3){border-left:0}.popular-grid a:nth-child(n+3){border-top:2px solid var(--ink)}.mascot-grid{min-height:auto}.mascot-art{height:340px}}
@media(max-width:480px){.trust-strip .wrap{width:100%}.trust-strip span{font-size:.68rem;padding:8px}.popular-section{padding-block:70px 25px}.popular-grid{grid-template-columns:1fr}.popular-grid a{min-height:190px}.popular-grid a+a{border-left:0;border-top:2px solid var(--ink)}.mascot-art{height:290px}.mascot-art img{max-height:300px}}

.location-section{background:var(--blue);color:white;border-top:3px solid var(--ink);padding-block:80px}
.location-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;align-items:stretch}
.location-copy{padding:24px 0;display:flex;flex-direction:column;align-items:flex-start}
.location-copy h2{font:clamp(2.8rem,5vw,5rem)/.9 "Archivo Black",sans-serif;letter-spacing:-.05em;margin:.25em 0}
.location-copy address{font-style:normal;font-size:1.12rem;line-height:1.7;margin:12px 0 28px}
.location-note{max-width:430px;margin:-12px 0 28px;line-height:1.65}
.contact-placeholder a,.location-note a,footer a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
.location-copy .btn{background:var(--yellow);color:var(--ink);box-shadow:6px 6px 0 var(--ink)}
.location-card{border:3px solid var(--ink);box-shadow:12px 12px 0 var(--yellow);background:white;color:var(--ink);padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.location-card h2{font:clamp(1.8rem,3vw,3rem)/1.05 "Archivo Black",sans-serif;margin:12px 0 24px;letter-spacing:-.04em}
.location-card address{font-style:normal;line-height:1.7;margin-bottom:24px}
.location-card .btn{background:var(--yellow);color:var(--ink);max-width:100%;white-space:normal}
.location-card-contacts{display:flex;flex-direction:column;gap:14px;margin-top:28px;overflow-wrap:anywhere}
.location-card-contacts a{color:inherit;text-underline-offset:3px}
@media(max-width:780px){.location-section{padding-block:60px 72px}.location-grid{grid-template-columns:1fr;gap:28px}.location-copy{padding:0}}
@media(max-width:480px){.location-copy .btn{width:auto}}

/* Compact product tickets */
.popular-grid article{min-height:168px;padding:20px 22px;color:var(--ink);display:flex;flex-direction:column;transition:transform .2s}
.popular-grid article+article{border-left:2px solid var(--ink)}
.popular-grid article:nth-child(1){background:#fff}
.popular-grid article:nth-child(2){background:var(--yellow)}
.popular-grid article:nth-child(3){background:var(--red);color:white}
.popular-grid article:nth-child(4){background:var(--blue);color:white}
.popular-grid article:hover{transform:translateY(-4px)}
.popular-grid article>span{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:currentColor;opacity:.7}
.popular-grid article h3{font:1.15rem "Archivo Black",sans-serif;margin:14px 0 0}
.popular-grid article>p{font-size:.82rem;margin:0;opacity:.75}
.popular-grid article>div{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto}
.popular-grid article b{font-size:1rem;white-space:nowrap}
.popular-grid article a{color:inherit;font-size:.76rem;font-weight:800;text-underline-offset:4px;min-height:auto;padding:0;display:inline;background:none;transform:none}
.popular-grid article a:hover{color:inherit;background:none;transform:none}

/* Image-led service showcase */
.print-showcase{display:grid;grid-template-columns:1.32fr .68fr;gap:18px;margin-top:58px}
.print-showcase article{position:relative;overflow:hidden;border:3px solid var(--ink)}
.print-showcase img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.print-showcase article:hover img{transform:scale(1.025)}
.showcase-large{min-height:600px}
.showcase-large>div,.showcase-photo>div{position:absolute;left:18px;right:18px;bottom:18px;background:white;border:2px solid var(--ink);padding:18px;box-shadow:7px 7px 0 var(--red)}
.print-showcase span{font-size:.66rem;font-weight:800;letter-spacing:.13em;color:var(--red)}
.print-showcase h3{font:clamp(1.25rem,2vw,2rem)/1.05 "Archivo Black",sans-serif;margin:7px 0}
.print-showcase p{font-size:.88rem;margin:0;max-width:520px}
.showcase-stack{display:grid;grid-template-rows:1fr .72fr;gap:18px}
.showcase-photo{min-height:350px}
.showcase-photo>div{padding:14px}
.showcase-colour{background:var(--yellow);padding:28px;display:flex;flex-direction:column;justify-content:flex-end}
.showcase-colour h3{font-size:1.65rem}
.showcase-colour p{max-width:350px}
.showcase-everyday>div{background:var(--yellow);box-shadow:7px 7px 0 var(--blue)}
.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}
.dialog-actions .btn{width:auto}
.whatsapp-btn{background:#21c063;color:#071b10;border-color:var(--ink)}

.price-stack summary small{display:flex;align-items:center;gap:10px}
.price-stack summary mark{background:var(--yellow);color:var(--ink);padding:4px 7px;font:800 .64rem "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.06em}
.tier-list{display:grid;gap:0!important;border-top:1px solid #4b4748}
.tier-list>span{display:grid;grid-template-columns:1fr auto;gap:20px;padding:7px 0;border-bottom:1px solid #4b4748;line-height:1.35}
.tier-list>span b{font-weight:600;color:#d9d3ce}
.tier-list>span strong{font-weight:800;color:white;font-variant-numeric:tabular-nums}
.tier-list>em{display:block;padding:7px 0;color:var(--yellow);font-style:normal;font-size:.8rem}
.price-body>div>em{display:inline-block;margin-top:12px;padding:6px 8px;background:#353132;border:1px solid #5a5556;color:var(--yellow);font-style:normal}
.price-body .note{background:#302c2d;border:1px solid #514c4d;padding:14px 16px!important;color:#eee8e3!important}
@media(max-width:480px){.price-stack summary{align-items:flex-start;gap:12px}.price-stack summary small{align-items:flex-end;flex-direction:column}.price-stack summary mark{white-space:nowrap}.tier-list>span{grid-template-columns:1fr auto}}

.structured-pricing{grid-template-columns:repeat(2,minmax(0,1fr))}
.price-card{background:#201e1f;border:1px solid #4e494a;padding:18px}
.structured-pricing .price-card h3{margin-bottom:14px}
.price-card table{width:100%;border-collapse:collapse;font-size:.88rem}
.price-card th{text-align:left;color:#aaa3a0;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:0 0 8px;border-bottom:1px solid #555051}
.price-card th:last-child,.price-card td:last-child{text-align:right}
.price-card td{padding:8px 0;border-bottom:1px solid #403c3d;font-variant-numeric:tabular-nums}
.price-card td:last-child{color:white;font-weight:800;white-space:nowrap}
.size-note,.included-note{margin:0 0 10px!important;color:#bbb4af;font-size:.78rem;line-height:1.4!important}
.included-note{margin:12px 0 0!important;color:var(--yellow)}
.extras-bar{grid-column:1/-1;background:var(--yellow);color:var(--ink);padding:18px;border:2px solid var(--ink)}
.extras-bar h3{color:var(--ink);margin-bottom:10px}
.extras-bar>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.extras-bar span{display:flex;justify-content:space-between;gap:10px;background:white;border:1px solid var(--ink);padding:10px;font-size:.78rem}
.extras-bar b{white-space:nowrap}
.everyday-pricing{grid-template-columns:1fr 1.25fr}
.finish-callout{grid-column:1/-1;background:var(--red);border:2px solid #ff5d60;padding:20px;display:grid;grid-template-columns:1fr auto;align-items:end}
.finish-callout>span{grid-column:1/-1;font-size:.65rem;font-weight:800;letter-spacing:.14em;color:white}
.finish-callout h3{color:white!important;margin:6px 0 0!important;font-size:1.25rem!important}
.finish-callout>b{font:1.65rem "Archivo Black",sans-serif;color:white}
.finish-callout small{font:.75rem "DM Sans",sans-serif}
@media(max-width:780px){.structured-pricing,.everyday-pricing{grid-template-columns:1fr}.extras-bar>div{grid-template-columns:1fr}.finish-callout{grid-column:1}.extras-bar{grid-column:1}}
@media(max-width:480px){.price-card{padding:14px}.price-card table{font-size:.82rem}.copies-card table{font-size:.77rem}.extras-bar span{align-items:center}}

.more-print-section{background:#e9e5dc;border-top:3px solid var(--ink);padding-block:90px}
.more-print-head{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;margin-bottom:42px}
.more-print-head h2{font:clamp(2.8rem,5vw,5rem)/.9 "Archivo Black",sans-serif;letter-spacing:-.05em;margin:.25em 0 0}
.more-print-head>p{margin:0 0 5px;max-width:470px}
.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--ink)}
.capability-grid article{min-height:175px;padding:20px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:0 14px;background:white}
.capability-grid article:not(:nth-child(3n+1)){border-left:2px solid var(--ink)}
.capability-grid article:nth-child(n+4){border-top:2px solid var(--ink)}
.capability-grid article>span{font-size:.68rem;font-weight:800;color:var(--red);letter-spacing:.1em}
.capability-grid article>div{align-self:start}
.capability-grid h3{font:1.05rem "Archivo Black",sans-serif;margin:0 0 5px}
.capability-grid p{font-size:.78rem;line-height:1.45;color:var(--muted);margin:0}
.capability-grid a{grid-column:2;color:var(--ink);font-size:.76rem;font-weight:800;text-underline-offset:4px;align-self:end}
@media(max-width:780px){.more-print-head{grid-template-columns:1fr;gap:18px}.capability-grid{grid-template-columns:1fr 1fr}.capability-grid article:not(:nth-child(3n+1)){border-left:0}.capability-grid article:nth-child(even){border-left:2px solid var(--ink)}.capability-grid article:nth-child(n+3){border-top:2px solid var(--ink)}}
@media(max-width:480px){.more-print-section{padding-block:65px}.capability-grid{grid-template-columns:1fr}.capability-grid article{min-height:145px}.capability-grid article:nth-child(even){border-left:0}.capability-grid article+article{border-top:2px solid var(--ink)}}

/* Clean six-card capabilities grid */
.more-print-section{background:#f3f5f8}
.more-print-head{padding-bottom:24px;border-bottom:2px solid var(--ink)}
.capability-grid{border:0;gap:12px}
.capability-grid article{min-height:160px;border:1.5px solid var(--ink)!important;padding:22px;background:white;transition:border-color .2s,background .2s}
.capability-grid article:nth-child(1),.capability-grid article:nth-child(4){border-top:6px solid var(--red)!important}
.capability-grid article:nth-child(2),.capability-grid article:nth-child(5){border-top:6px solid var(--blue)!important}
.capability-grid article:nth-child(3),.capability-grid article:nth-child(6){border-top:6px solid var(--yellow)!important}
.capability-grid article:hover{background:#faf8f3;border-color:var(--red)!important}
.capability-grid article>span{width:26px;height:26px;display:grid;place-items:center;background:var(--ink);color:white;font-size:.6rem}
.capability-grid h3{font-size:1.08rem;margin-top:1px}
.capability-grid p{font-size:.79rem;max-width:265px}
.capability-grid a{justify-self:start;color:var(--ink);text-decoration:underline;padding:0;background:none;border:0;line-height:1.2}
.capability-grid a:hover{color:var(--red);background:none}
.capability-grid article:after{content:none}
@media(max-width:780px){.capability-grid{gap:10px}.capability-grid article{border:1.5px solid var(--ink)!important;min-height:155px}.capability-grid article:nth-child(1),.capability-grid article:nth-child(4){border-top:6px solid var(--red)!important}.capability-grid article:nth-child(2),.capability-grid article:nth-child(5){border-top:6px solid var(--blue)!important}.capability-grid article:nth-child(3),.capability-grid article:nth-child(6){border-top:6px solid var(--yellow)!important}}
@media(max-width:480px){.more-print-head{padding-bottom:16px}.capability-grid{gap:10px}.capability-grid article{min-height:145px;padding:18px}}

/* Keep the character readable on phones */
@media(max-width:780px){.popular-grid article:nth-child(3){border-left:0}.popular-grid article:nth-child(n+3){border-top:2px solid var(--ink)}.print-showcase{grid-template-columns:1fr}.showcase-large{min-height:480px}.showcase-stack{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.showcase-photo{min-height:330px}.showcase-colour{min-height:330px}}
@media(max-width:480px){.popular-grid article{min-height:152px}.popular-grid article+article{border-left:0;border-top:2px solid var(--ink)}.print-showcase{margin-top:38px}.showcase-large{min-height:420px}.showcase-stack{grid-template-columns:1fr}.showcase-photo,.showcase-colour{min-height:300px}.showcase-large>div{left:12px;right:12px;bottom:12px;padding:14px}}

/* A single, stable brand statement at every screen size */
.mascot-section:before{display:none}
.mascot-grid{min-height:0;display:flex;flex-direction:column;align-items:center;gap:18px;padding-block:72px 78px;text-align:center}
.mascot-art{width:100%;height:auto;display:flex;justify-content:center}
.mascot-art img{width:min(500px,100%);max-width:100%;max-height:none;height:auto;object-fit:contain;animation:none}
.mascot-copy{margin:0;display:flex;flex-direction:column;align-items:center}
.mascot-copy>p:not(.eyebrow){max-width:560px;margin:0;font-size:1.1rem;line-height:1.65}
.mascot-button{margin-top:22px}
@media(max-width:780px){.mascot-grid{display:flex;gap:16px;padding-block:48px 56px}.mascot-art{width:100%;height:auto;margin:0}.mascot-art img{width:min(100%,500px);max-width:100%;height:auto}.mascot-copy{margin:0}.mascot-copy>p:not(.eyebrow){font-size:1rem;line-height:1.6;max-width:32rem}}
@media(max-width:480px){.mascot-grid{padding-block:34px 44px;gap:12px}.mascot-art{height:auto;margin:0}.mascot-art img{width:100%;max-width:100%;height:auto}.mascot-copy{margin:0;padding-inline:8px}.mascot-button{margin-top:18px}}

/* Mobile pricing rows: product first, price and badge second */
@media(max-width:600px){
  .pricing-section{padding-block:72px}
  .section-head.light{margin-bottom:42px}
  .price-stack summary{display:block;padding:24px 0;font-size:1.25rem;line-height:1.18}
  .price-stack summary>span{display:block;padding-left:30px;position:relative}
  .price-stack summary>span:before{position:absolute;left:0;top:-1px;width:22px}
  .price-stack summary small{margin:12px 0 0 30px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;font-size:.95rem;line-height:1.3}
  .price-stack summary mark{padding:5px 8px}
}

/* Compact pricing notes */
.price-options{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;padding:0!important;background:#302c2d!important;border:1px solid #514c4d!important}
.price-options span,.pricing-foot span{display:flex;flex-direction:column;gap:4px;padding:14px 16px}
.price-options span+span{border-left:1px solid #514c4d}
.price-options b,.pricing-foot b{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#bdb6b2}
.price-options strong{font-size:.95rem;color:white}
.pricing-foot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;margin-top:28px;border:1px solid #4d4849;color:white}
.pricing-foot span+span{border-left:1px solid #4d4849}
.pricing-foot strong{font-size:.92rem;color:white}
@media(max-width:600px){
  .price-options{grid-template-columns:1fr}
  .price-options span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px}
  .price-options span+span{border-left:0;border-top:1px solid #514c4d}
  .price-options strong{text-align:right;font-size:.88rem}
  .pricing-foot{grid-template-columns:1fr;margin-top:22px}
  .pricing-foot span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 14px}
  .pricing-foot span+span{border-left:0;border-top:1px solid #4d4849}
  .pricing-foot strong{text-align:right;font-size:.88rem}
}

/* Equal co-brand treatment */
.cobrand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;flex:0 0 auto}
.brand-logo{display:block}
.brand-logo img{display:block;width:auto;height:58px}
.brand-logo-image img{height:60px}
.brand-x{font:1.45rem/1 "Archivo Black",sans-serif;color:var(--ink);opacity:.7}
.footer-cobrand{align-self:end}
.footer-cobrand .brand-logo img{height:44px}
.footer-cobrand .brand-logo-image img{height:46px}
@media(max-width:780px){
  .nav{height:auto;min-height:142px;padding-block:18px;flex-wrap:wrap;justify-content:center;gap:12px}
  .nav>.cobrand{width:100%;justify-content:center;gap:10px}
  .nav nav{width:100%;justify-content:center}
  .brand-logo img{height:38px}
  .brand-logo-image img{height:40px}
  .brand-x{font-size:1.15rem}
  .footer-cobrand{align-items:center}
  .footer-cobrand .brand-logo img{height:38px}
  .footer-cobrand .brand-logo-image img{height:40px}
}
@media(max-width:380px){
  .brand-logo img{height:34px}
  .brand-logo-image img{height:36px}
  .cobrand{gap:6px}
  .nav nav a:last-child{padding:9px 11px;font-size:.82rem}
}

.icon-link{display:inline-flex;align-items:center;gap:8px}
.contact-icon{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-icon{fill:#21c063;stroke:white;stroke-width:1.55}
.whatsapp-icon circle{stroke:#21c063}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
@media(max-width:780px){.footer-contact{gap:9px}}

/* Deeper brand accents */
:root{--red:#c9232d;--blue:#173f7a;--yellow:#e6c900}

.experience-line{max-width:560px;margin:18px 0 0;padding-left:16px;border-left:4px solid var(--yellow);color:#4b4642;font-weight:600}

/* Compact service assurances between the hero and pricing. */
.trust-strip{background:var(--paper);border-block:1px solid #dbe1e9;padding:14px 0}
.trust-strip .wrap{min-height:0;gap:10px}
.trust-strip span{min-height:48px;display:grid;place-items:center;background:#fff;border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--yellow);padding:8px 12px}
.trust-strip span+span{border-left:1.5px solid var(--ink)}

@media(max-width:780px){
  .trust-strip{padding:12px 0}
  .trust-strip .wrap{grid-template-columns:1fr 1fr;gap:8px}
  .trust-strip span,.trust-strip span+span,.trust-strip span:nth-child(even),.trust-strip span:nth-child(n+3){min-height:46px;border:1.5px solid var(--ink);font-size:.7rem;padding:7px 6px}
}

/* One consistent card language across product sections. */
.popular-grid{border:0;gap:12px}
.popular-grid article,.capability-grid article{border:1.5px solid var(--ink)!important;background:#fff!important;box-shadow:4px 4px 0 rgba(23,21,22,.16);color:var(--ink)!important}
.popular-grid article+article{border-left:1.5px solid var(--ink)}
.popular-grid article:nth-child(1),.capability-grid article:nth-child(1),.capability-grid article:nth-child(4){border-top:6px solid var(--red)!important}
.popular-grid article:nth-child(2),.capability-grid article:nth-child(2),.capability-grid article:nth-child(5){border-top:6px solid var(--blue)!important}
.popular-grid article:nth-child(3),.capability-grid article:nth-child(3),.capability-grid article:nth-child(6){border-top:6px solid var(--yellow)!important}
.popular-grid article:nth-child(4){border-top:6px solid var(--ink)!important}
.popular-grid article:hover,.capability-grid article:hover{background:#faf8f3!important;transform:translateY(-3px)}

/* Keep the photography, but make this a compact visual overview. */
#services.section{padding-block:82px}
.print-showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:42px}
.showcase-stack{display:contents}
.showcase-large,.showcase-photo{min-height:340px}
.showcase-large>div,.showcase-photo>div{left:12px;right:12px;bottom:12px;padding:14px;box-shadow:4px 4px 0 var(--red)}
.showcase-everyday>div{box-shadow:4px 4px 0 var(--blue)}
.print-showcase h3{font-size:1.25rem}
.print-showcase p{font-size:.82rem;line-height:1.45}

@media(max-width:780px){
  .hero-art{height:300px;margin-right:8px}
  .hero-art>img{box-shadow:9px 9px 0 var(--blue)}
  .hero-stamp{right:-8px;bottom:18px;padding:10px 13px;font-size:.86rem;border-width:2px}
  .popular-section{padding-block:72px 30px}
  #services.section{padding-block:68px}
  .print-showcase{grid-template-columns:1fr;gap:12px;margin-top:34px}
  .showcase-stack{display:contents}
  .showcase-large,.showcase-photo{min-height:285px}
  .popular-grid article+article{border-left:1.5px solid var(--ink)}
}

@media(max-width:480px){
  .hero-art{height:250px}
  .hero-stamp{max-width:190px}
  .showcase-large,.showcase-photo{min-height:250px}
  .print-showcase p{display:none}
  .popular-grid{grid-template-columns:1fr 1fr}
  .popular-grid article{min-height:150px;padding:17px}
  .popular-grid article>div{display:block}
  .popular-grid article a{display:inline-block;margin-top:7px}
}

/* Scannable service highlights, not button-like boxes. */
.trust-strip span{display:flex;align-items:center;justify-content:center;gap:10px;text-align:left}
.trust-strip span b{font:800 .78rem/1.25 "DM Sans",sans-serif;letter-spacing:.035em}
.trust-icon{width:25px;height:25px;flex:0 0 25px;fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.trust-strip span:nth-child(even) .trust-icon{stroke:var(--blue)}

@media(max-width:780px){
  .hero{gap:34px;padding-bottom:36px}
  .trust-strip span,.trust-strip span+span,.trust-strip span:nth-child(even),.trust-strip span:nth-child(n+3){display:flex;justify-content:flex-start;gap:8px;padding:9px 10px}
  .trust-strip span b{font-size:.66rem;letter-spacing:.02em}
  .trust-icon{width:22px;height:22px;flex-basis:22px}
}

@media(max-width:380px){
  .trust-strip span,.trust-strip span+span,.trust-strip span:nth-child(even),.trust-strip span:nth-child(n+3){padding:8px 7px}
  .trust-strip span b{font-size:.61rem}
  .trust-icon{width:20px;height:20px;flex-basis:20px}
}

/* Punchy, print-inspired icon badges. */
.trust-icon{box-sizing:border-box;width:36px;height:36px;flex:0 0 36px;padding:6px;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);stroke:white;background:var(--red);transform:rotate(-3deg)}
.trust-strip span:nth-child(2) .trust-icon{background:var(--blue);stroke:white;transform:rotate(3deg)}
.trust-strip span:nth-child(3) .trust-icon{background:var(--yellow);stroke:var(--ink);transform:rotate(2deg)}
.trust-strip span:nth-child(4) .trust-icon{background:var(--ink);stroke:var(--yellow);transform:rotate(-2deg)}

@media(max-width:780px){
  .trust-icon{width:32px;height:32px;flex-basis:32px;padding:5px;box-shadow:2px 2px 0 var(--ink)}
}

@media(max-width:380px){
  .trust-icon{width:29px;height:29px;flex-basis:29px;padding:4px}
}

/* Sticky navigation with clear anchors. */
.site-header{position:sticky;top:0;z-index:60;background:rgba(245,242,234,.96);border-bottom:1px solid rgba(23,21,22,.18);backdrop-filter:blur(10px)}
[id]{scroll-margin-top:112px}

/* Genuine Google review proof. */
.reviews-section{background:var(--blue);color:white;padding-block:82px;border-block:3px solid var(--ink)}
.reviews-head{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:end;margin-bottom:34px}
.reviews-head h2{font:clamp(2.7rem,5vw,5.2rem)/.9 "Archivo Black",sans-serif;letter-spacing:-.05em;margin:.2em 0 0}
.google-rating{display:grid;grid-template-columns:auto 1fr;gap:0 12px;align-items:center;min-width:210px;padding:16px 18px;background:white;color:var(--ink);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--yellow);text-decoration:none}
.google-rating b{grid-row:1/3;font:2.4rem "Archivo Black",sans-serif}
.google-rating span,.review-grid blockquote>div{color:#e6c900;letter-spacing:.08em}
.google-rating small{font-weight:700;color:var(--muted)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.review-grid blockquote{margin:0;min-height:190px;display:flex;flex-direction:column;padding:22px;background:white;color:var(--ink);border:2px solid var(--ink);box-shadow:5px 5px 0 rgba(0,0,0,.35)}
.review-grid blockquote p{font:1.12rem/1.45 "Archivo Black",sans-serif;margin:22px 0}
.review-grid blockquote footer{margin-top:auto;background:none;border:0;padding:0;font-size:.78rem;font-weight:800}
.review-grid blockquote footer span{color:var(--muted);font-weight:600}

/* Pricing expectations and turnaround. */
.turnaround-guide{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid #4d4849}
.turnaround-guide div{display:flex;flex-direction:column;gap:4px;padding:14px 16px}
.turnaround-guide div+div{border-left:1px solid #4d4849}
.turnaround-guide b{font-size:.7rem;letter-spacing:.08em;color:var(--yellow)}
.turnaround-guide strong{font-size:.88rem;color:white}
.price-disclaimer{max-width:none;margin:20px 0 0;padding:16px 18px;background:#242122;border-left:4px solid var(--yellow);color:#c9c4c0;font-size:.85rem;line-height:1.65}
.price-disclaimer b{color:white}

/* Mobile conversion bar. */
.mobile-contact-bar{display:none}

@media(max-width:780px){
  body{padding-bottom:68px}
  .site-header .nav{min-height:118px;padding-block:12px}
  .site-header .nav nav{display:flex;gap:8px}
  .site-header .nav nav a{display:block!important;padding:8px 10px;font-size:.78rem}
  .site-header .nav nav a:last-child{padding:8px 12px}
  [id]{scroll-margin-top:132px}
  .reviews-section{padding-block:62px}
  .reviews-head{grid-template-columns:1fr;gap:22px}
  .google-rating{justify-self:start}
  .review-grid{grid-template-columns:1fr;gap:10px}
  .review-grid blockquote{min-height:150px}
  .turnaround-guide{grid-template-columns:1fr}
  .turnaround-guide div+div{border-left:0;border-top:1px solid #4d4849}
  .mobile-contact-bar{position:fixed;z-index:100;left:0;right:0;bottom:0;height:68px;display:grid;grid-template-columns:1fr 1.15fr 1.35fr;background:white;border-top:2px solid var(--ink);box-shadow:0 -6px 20px rgba(0,0,0,.16)}
  .mobile-contact-bar a{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--ink);text-decoration:none;font-size:.72rem;font-weight:800;border-right:1px solid #dbe1e9}
  .mobile-contact-bar a:last-child{border-right:0}
  .mobile-contact-bar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-contact-bar .mobile-whatsapp{color:#116b36}
  .mobile-contact-bar .mobile-quote{background:var(--red);color:white}
}

@media(max-width:420px){
  .site-header .nav nav{gap:4px}
  .site-header .nav nav a{font-size:.72rem;padding:7px 8px}
  .mobile-contact-bar a{flex-direction:column;gap:2px;font-size:.65rem}
}

/* Compact review reassurance immediately before the quote. */
.reviews-section{background:#f3f5f8;color:var(--ink);padding-block:46px;border-block:1px solid #dbe1e9}
.reviews-head{align-items:center;margin-bottom:22px}
.reviews-head h2{font-size:clamp(2rem,3.6vw,3.3rem);line-height:.95;margin:.18em 0 0}
.google-rating{min-width:190px;padding:11px 14px;box-shadow:4px 4px 0 var(--yellow)}
.google-rating b{font-size:2rem}
.review-grid{gap:10px}
.review-grid blockquote{min-height:132px;padding:16px;box-shadow:3px 3px 0 rgba(23,21,22,.18)}
.review-grid blockquote p{font:1rem/1.38 "Archivo Black",sans-serif;margin:12px 0}

@media(max-width:780px){
  .reviews-section{padding-block:38px}
  .reviews-head{gap:16px;margin-bottom:18px}
  .reviews-head h2{font-size:2.15rem}
  .review-grid{display:flex;overflow-x:auto;gap:10px;padding:2px 4px 8px 0;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}
  .review-grid blockquote{flex:0 0 min(82vw,340px);min-height:132px;scroll-snap-align:start}
}

/* Compact price shortcuts replace the oversized most-ordered section. */
.quick-prices{padding-block:28px;background:white;border-bottom:1px solid #dbe1e9}
.quick-prices-inner{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:stretch}
.quick-prices-label{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px}
.quick-prices-label b{font-size:.72rem;letter-spacing:.12em;color:var(--red)}
.quick-prices-label a{color:var(--ink);font-size:.78rem;font-weight:800;text-underline-offset:4px}
.quick-price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.quick-price-grid>a{min-height:72px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:11px 14px;background:var(--paper);border:1.5px solid var(--ink);color:var(--ink);text-decoration:none;box-shadow:3px 3px 0 var(--yellow)}
.quick-price-grid>a:hover{background:#fff;transform:translateY(-2px)}
.quick-price-grid span{font-size:.76rem;font-weight:700}
.quick-price-grid strong{font:1rem "Archivo Black",sans-serif}

@media(max-width:780px){
  .quick-prices{padding-block:20px}
  .quick-prices-inner{grid-template-columns:1fr;gap:12px}
  .quick-prices-label{flex-direction:row;align-items:center;justify-content:space-between}
  .quick-price-grid{grid-template-columns:1fr 1fr;gap:7px}
  .quick-price-grid>a{min-height:66px;padding:10px 11px}
  .quick-price-grid strong{font-size:.88rem}
}

/* Keep the small-screen experience calm and prevent fixed UI from crowding content. */
@media(max-width:780px){
  body{padding-bottom:58px}
  .site-header{position:relative;top:auto;backdrop-filter:none}
  .site-header .nav{min-height:104px;padding-block:10px}
  .site-header .brand-logo img{height:34px}
  .site-header .brand-logo-image img{height:36px}
  [id]{scroll-margin-top:24px}
  .review-grid{display:grid;grid-template-columns:1fr;overflow:visible;padding:0}
  .review-grid blockquote{display:none;min-height:118px}
  .review-grid blockquote:first-child{display:flex}
  .quote-section{padding-top:54px}
  .quote-intro h2{font-size:clamp(2.7rem,13vw,3.35rem);line-height:.88}
  .mobile-contact-bar{height:58px}
  .mobile-contact-bar svg{width:18px;height:18px}
}

@media(max-width:420px){
  .site-header .nav{min-height:98px}
  .mobile-contact-bar a{flex-direction:row;gap:5px;font-size:.68rem}
}

/* Conversion cues and product-specific quote actions. */
.hero-proof{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--ink);text-decoration:none;font-size:.82rem}
.hero-proof span{color:#c9232d;letter-spacing:.04em}
.hero-proof b{font-weight:800}
.hero-proof small{color:var(--muted)}
.price-action{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 30px 24px;padding:18px 20px;background:#312e2f;border-left:4px solid var(--yellow)}
.price-action p{max-width:650px;margin:0;color:#d7d1cd;font-size:.85rem;line-height:1.55}
.price-action p b{color:white}
.price-quote-btn{flex:0 0 auto;background:var(--yellow);color:var(--ink);border-color:var(--yellow);white-space:nowrap}
.price-quote-btn:hover{background:white;border-color:white}
.quote-promise{margin:24px 0 0;padding:14px 16px;border-left:4px solid var(--blue);background:white;font-size:.9rem;line-height:1.55}
#quoteForm label small{font-weight:500;color:var(--muted)}
.dialog-actions{display:flex;flex-wrap:wrap;gap:10px}
.email-btn{background:var(--blue);border-color:var(--blue);color:white}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
#copyStatus.is-success{color:#116b36;font-weight:800}
#copyStatus.is-error{color:var(--red);font-weight:800}
.service-links{padding-block:24px;background:var(--ink);color:white;border-top:1px solid #4d4849}
.service-links .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.service-links b{font-size:.7rem;letter-spacing:.12em;color:var(--yellow);margin-right:8px}
.service-links a{color:white;font-size:.78rem;font-weight:700;text-underline-offset:4px}

@media(max-width:780px){
  .hero-proof{margin-top:16px;flex-wrap:wrap}
  .price-action{align-items:stretch;flex-direction:column;margin:0 14px 18px;padding:16px}
  .price-action .btn{width:100%}
  .dialog-actions .btn{width:100%}
  .service-links .wrap{align-items:flex-start;flex-direction:column;gap:10px}
}

/* Card categories and estimated production timing. */
.card-tier{display:block;margin:0 0 12px;color:#eee8e3;font-size:.78rem;line-height:1.5}

.location-card-note{max-width:650px;line-height:1.65;margin:0 0 24px}
