/* Marketing pages only (home, same-day, sizes, Mylar, copies & scanning,
   permit sets). The quote, success and thanks pages do not load this file,
   and site.css is unchanged. /assets/ is cached as immutable, so a change to
   these rules goes in a new file name (marketing.v5.css) and a rebuild. */

/* Skip link: off-screen until focused, then pinned top-left above the topbar. */
.skip-link{position:absolute;left:12px;top:-60px;z-index:300;padding:10px 14px;border-radius:10px;
  background:var(--cyan);color:var(--navy);font-weight:800;font-size:14px;text-decoration:none;
  transition:top .15s ease}
.skip-link:focus,.skip-link:focus-visible{top:12px;outline:2px solid #fff;outline-offset:2px}
main{display:block}

/* Tap targets: section nav and footer links were 16px tall. */
nav.subnav a{padding:14px 2px;min-height:44px;display:flex;align-items:center}
.footer-links a{display:inline-block;padding:10px 6px}
.breadcrumb{font-size:12px}
.breadcrumb a{display:inline-block;padding:6px 0}
.hero-eyebrow,.section-eyebrow{font-size:12px}
.price-strip-head a{display:inline-block;padding:8px 0}

/* Small type lifted to 12px minimum on phones. */
@media(max-width:760px){
  .price-strip-tiers span,.spec-card-label,.spec-card-status,.worked-example strong,
  .pricing-card .price-label span{font-size:12px}
  .pricing-disclaimer,.worked-example p,.feat p,.related span{font-size:14px}
}

/* Tables that are wider than a phone scroll inside their own box instead of
   pushing the page sideways. */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 24px;
  border:1px solid var(--border);border-radius:12px}
.table-wrap table{margin:0;min-width:560px}
.table-wrap:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

/* Services grid: five cards, two or three across. */
.related.services{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.related.services a{min-height:44px}

/* Pickup: who we are, where, when. */
.pickup .section-title{margin-bottom:22px}
.pickup-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:760px){.pickup-grid{grid-template-columns:1fr}}
.pickup-card{background:var(--navy2);border:1px solid var(--border);border-radius:16px;padding:22px 24px}
.pickup-card p{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 12px}
.pickup-card p:last-child{margin-bottom:0}
.pickup-card strong{color:var(--off)}
.pickup-card a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.pickup-line{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:baseline}
.pickup-key{font-family:'Space Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--cyan)}
.pickup-sub{font-size:13.5px;color:var(--muted)}
.pickup-line .pickup-sub{display:inline}

/* Pricing card links and the price-row link keep the cyan treatment. */
.pricing-disclaimer a,.price-amount a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.feat p a{color:var(--cyan)}
.feature-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* Topbar phone link and the home drop-zone caption: tap height and 12px minimum. */
.topbar a{display:inline-block;padding:6px 4px;margin:-6px 0}
.home-drop-s{font-size:12px}
.pricing-disclaimer{font-size:13px}
.table-wrap td:first-child,.table-wrap th{white-space:nowrap}

/* Home: paragraph, then the two photos whole (no crop) under it. */
.proof{margin-bottom:28px}
.proof .section-body{margin-bottom:22px}
.proof-photos{display:grid;grid-template-columns:repeat(2,minmax(0,320px));gap:18px}
@media(max-width:600px){.proof-photos{grid-template-columns:1fr 1fr;gap:12px}}
.proof-photo{margin:0}
.proof-photo img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--border)}
.proof-photo figcaption{margin-top:10px;font-size:15px;line-height:1.5;color:var(--off)}
