/* Shared touch and tablet layout, loaded after each page stylesheet. */
@media (max-width:1180px) {
  html { scroll-padding-top:155px; }
  .site-header { display:flex; flex-wrap:wrap; gap:8px 24px; padding:12px 5vw 8px; }
  .site-header .brand,.site-header .brand img { width:130px; height:65px; margin:0; }
  .site-header nav { flex:1 1 540px; display:flex; flex-wrap:wrap; justify-content:flex-start; gap:0 18px; overflow:visible; padding:0; border:0; }
  .site-header nav a { display:flex; align-items:center; min-height:44px; font-size:14px; }
  .art-grid,.art-page .art-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 24px; }
  .art-catalog,.art-page .art-catalog { padding-left:5vw; padding-right:5vw; }
  .category-grid { margin-left:5vw; margin-right:5vw; }
  .art-card,.art-card-copy,.quote-field,.quote-field-pair,.checkout-upload { min-width:0; }
  .art-page .art-card h2,.set-dec-page .art-card h2 { font-size:24px; line-height:1.25; }
  .art-page .art-select { min-height:44px; font-size:15px; gap:12px; }
  .art-select input[type=checkbox] { width:24px; height:24px; flex-shrink:0; }
  .item-choice { flex-wrap:wrap; align-items:center; gap:12px; }
  .item-qty { font-size:13px; }
  .item-qty select,.item-qty input,.quote-field select,.art-filters input,.art-filters select { min-height:44px; font-size:16px; max-width:100%; }
  .quote-field select { display:block; width:100%; margin-top:8px; padding:10px; border:1px solid #b69a91; background:#fff; color:var(--ink); }
  .quote-field input,.quote-field textarea { min-width:0; max-width:100%; font-size:16px; }
  .quote-field input[type=file] { font-size:16px; }
  input[type=file]::file-selector-button { min-height:44px; margin-right:10px; }
  .art-page .art-selection { left:5vw; right:5vw; bottom:max(12px,env(safe-area-inset-bottom)); }
  .art-page .art-selection .button,.button,.quote-submit { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
  .art-selection a { white-space:normal; }
  .ready-request,.art-collection-heading { scroll-margin-top:155px; }
  .ready-request { width:100%; }
  .page-lead h1,.art-page .page-lead h1 { font-size:clamp(44px,7vw,76px); letter-spacing:-2px; overflow-wrap:break-word; }
  footer { flex-wrap:wrap; gap:14px; }
}
@media (min-width:601px) and (max-width:900px) {
  .site-header nav { flex-basis:100%; }
  .page-lead,.art-page .page-lead { padding:48px 5vw; }
  .kit-page .page-lead { padding-top:32px; padding-bottom:32px; }
  .split-section,.about,.card-setup-layout,.quote-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .secure-form,.quote-intro { position:static; }
  .art-page .art-selection { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; }
  .art-page .art-selection>div { margin:0; }
  .art-page .art-watermarked,.art-page .art-file-preview,.art-page .art-watermarked img,.ready-art-page .ready-photo img { height:280px; }
}
@media (max-width:600px) {
  .site-header nav { flex-basis:100%; gap:0 16px; }
  .site-header .brand,.site-header .brand img { width:130px; height:65px; }
  .art-grid,.art-page .art-grid { grid-template-columns:minmax(0,1fr); }
  .category-grid { grid-template-columns:minmax(0,1fr); }
  .art-page .art-selection>div { flex-wrap:wrap; }
  .quote-field-pair { grid-template-columns:minmax(0,1fr); }
  .print-quote-form { padding:20px; }
  .checkout-upload { padding:15px; }
}
@media (hover:none) and (pointer:coarse) {
  .art-page .art-card:hover .art-watermarked img,.space-gallery a:hover img { transform:none; }
}

/* Compact rental-gallery photos; Truck and Office space photos keep their size. */
.art-page .ready-photo,.art-page .art-watermarked,.art-page .art-file-preview,.art-page .coming-soon-photo { height:220px; aspect-ratio:auto; }
.art-page .ready-photo img,.art-page .art-watermarked img { width:100%; height:220px; object-fit:contain; padding:12px; }
.art-page .steamer-photo-pair { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:12px; align-items:center; height:220px; }
.art-page .steamer-photo-pair .ready-photo { border:0; background:#fff; }
.art-page .steamer-photo-pair .steamer-attachment { margin:0; height:110px; background:#fff; }
.art-page .steamer-photo-pair .steamer-attachment img { width:100%; height:110px; object-fit:contain; padding:6px; }
@media(max-width:600px) {
 .art-page .ready-photo,.art-page .art-watermarked,.art-page .art-file-preview,.art-page .coming-soon-photo,.art-page .steamer-photo-pair { height:180px; }
 .art-page .ready-photo img,.art-page .art-watermarked img { height:180px; }
 .art-page .steamer-photo-pair .steamer-attachment,.art-page .steamer-photo-pair .steamer-attachment img { height:90px; }
}

/* Thumbnail images and frames across the rental item galleries. */
.art-page .art-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 22px; }
.art-page .art-card { min-width:0; }
.art-page .ready-photo,.art-page .art-watermarked,.art-page .art-file-preview,.art-page .coming-soon-photo { width:160px; max-width:100%; height:140px; aspect-ratio:auto; }
.art-page .ready-photo img,.art-page .art-watermarked img { width:100%; height:140px; padding:8px; object-fit:contain; }
.art-page .coming-soon-photo { font-size:22px; text-align:center; }
.art-page .art-card h2,.set-dec-page .art-card h2 { font-size:21px; }
.art-page .art-card-copy,.set-dec-page .art-card-copy { padding:14px 0 8px; }
.art-page .steamer-photo-pair { width:240px; max-width:100%; height:140px; gap:8px; }
.art-page .steamer-photo-pair .ready-photo { width:100%; height:140px; }
.art-page .steamer-photo-pair .steamer-attachment,.art-page .steamer-photo-pair .steamer-attachment img { height:70px; }
.art-page .art-collection-heading { border-top:2px solid var(--ink); padding-top:24px; margin-top:32px; margin-bottom:24px; }
.art-page .art-collection-heading h2 { font:600 clamp(30px,4vw,42px)/1.15 "Playfair Display",serif; margin:0 0 10px; letter-spacing:-.8px; }
.collection-subtitle { font:16px/1.5 "DM Sans",sans-serif; color:var(--muted); margin:0; }
@media(max-width:1180px) { .art-page .art-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:900px) { .art-page .art-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) {
 .art-page .art-grid { gap:24px 16px; }
 .art-page .ready-photo,.art-page .art-watermarked,.art-page .art-file-preview,.art-page .coming-soon-photo,.art-page .steamer-photo-pair,.art-page .steamer-photo-pair .ready-photo { height:120px; }
 .art-page .ready-photo img,.art-page .art-watermarked img { height:120px; }
 .art-page .steamer-photo-pair .steamer-attachment,.art-page .steamer-photo-pair .steamer-attachment img { height:60px; }
 .art-page .art-card h2,.set-dec-page .art-card h2 { font-size:19px; }
 .art-page .item-choice { display:grid; }
 .art-page .art-select { font-size:14px; }
}

.quote-cart-items{margin:0 0 24px}.quote-cart-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.quote-cart-row p{margin:0;flex:1;font:16px/1.5 "DM Sans",sans-serif}.quote-cart-row .quote-field{flex-basis:100%;margin:0}.cart-remove{min-height:44px;padding:10px 14px;background:transparent;border:1px solid var(--line);color:var(--ink);font:14px "DM Sans",sans-serif;cursor:pointer}

/* Editorial review: consistent colors, type and readable touch layouts. */
a { color:var(--blue); text-underline-offset:3px; }
a:visited { color:var(--blue); }
a:focus-visible,button:focus-visible { outline:2px solid var(--blue); outline-offset:4px; }
.site-header nav a,.site-header nav a:visited { color:var(--ink); }
.site-header nav a.active,.site-header nav a:hover { color:var(--blue); }
.button,.button:visited { color:var(--ink); }
.dark-button,.dark-button:visited { color:var(--paper); }
.preview-banner { background:var(--ink);color:var(--paper);font:12px/1.4 "DM Mono",monospace;text-align:center;padding:10px 5vw; }
.page-lead a,.page-lead a:visited { color:var(--paper);display:inline-block;margin-top:20px; }
.art-page .page-lead a,.art-page .page-lead a:visited { color:var(--blue); }
.nav-grid a,.nav-grid a:visited,.resource-grid a,.resource-grid a:visited,.form-grid a,.form-grid a:visited,.print-options a,.print-options a:visited,.category-card,.category-card:visited { color:var(--ink); }
.nav-grid a:hover,.resource-grid a:hover,.form-grid a:hover,.print-options a:hover { color:var(--paper); }
.contact-links a,.contact-links a:visited { color:#fff; }
.rate-card a,.rate-card a:visited { color:inherit; }
.category-back { margin:0;padding:18px 8vw; }
.about h1 i,.forms h1 i,.resources h1 i,.printing-intro h1 i,.quote-intro h1 i,.print-thanks h1 i,.coi-layout h1 i,.split-section:not(.office) h1 i { color:#a33e26; }
.contact h1 i { color:#fff5e7; }
.hero { background:linear-gradient(rgba(22,23,60,.22),rgba(22,23,60,.22)),radial-gradient(circle at 78% 20%,#fbad62 0,#fa9157 20%,transparent 49%),radial-gradient(circle at 82% 89%,#c94478 0,transparent 37%),linear-gradient(132deg,#16173c 23%,#3443a2 100%); }
.art-card p,.quote-field,.field-hint { overflow-wrap:anywhere; }
.art-page .art-intro p:nth-child(2) { font-size:16px; }
.art-page .art-card h2 { line-height:1.25;letter-spacing:-.025em; }
.art-page .art-card .rental-rate,.art-page .art-card .ready-size { line-height:1.55; }
.art-page .art-select input { accent-color:var(--blue); }
.art-page .ready-photo,.art-page .art-watermarked,.art-page .art-file-preview { border-color:var(--line); }
.ready-request .quote-submit:disabled { opacity:.55;cursor:default; }
.field textarea,.field select { width:100%;margin:0;padding:12px;border:1px solid #b69a91;background:#fff;color:var(--ink);font:16px "DM Sans",sans-serif; }
@media (min-width:601px) and (max-width:1000px) {
 .form-grid,.resource-grid,.nav-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .print-options { grid-template-columns:minmax(0,1fr); }
 .print-options a { min-height:150px; }
 .form-grid a,.resource-grid a,.nav-grid a { min-width:0; }
}
@media(max-width:600px) {
 .category-back { padding:18px 5vw; }
 .hero-rule { flex-wrap:wrap;line-height:1.5; }
 .contact-links a { overflow-wrap:anywhere; }
 .category-card h2 { font-size:25px;line-height:1.2; }
 .quote-files { padding:16px 12px 0;min-width:0; }
 .quote-files legend { font-size:22px; }
}
/* Keep the gallery introduction and its divider compact. */
.art-page .art-intro { border-bottom:0;padding:0 0 12px; }
.art-page .art-intro p:first-child { margin-bottom:10px; }
.art-page .art-intro p:last-child { margin-top:10px; }
.art-page .art-collection-heading { margin-top:20px; }
.art-page .art-card .ready-size { color:var(--ink); }

/* A daily film-history feature in place of duplicate home navigation. */
.film-history { padding:64px 8vw 72px;background:#ffe3cf;display:grid;grid-template-columns:1fr 1.6fr;gap:48px;align-items:start; }
.film-history-label h2 { font-size:clamp(36px,5vw,60px);line-height:1.1; }
.film-history-label .eyebrow { line-height:1.6;color:var(--muted); }
.film-history-fact { border-top:2px solid var(--ink);padding-top:24px;max-width:680px; }
.film-history-fact h3 { margin:0 0 18px;font:600 clamp(26px,3vw,38px)/1.15 "Playfair Display",serif;letter-spacing:-.02em; }
.film-history-fact p { margin:0;font:18px/1.65 "DM Sans",sans-serif;color:var(--ink); }
@media(max-width:900px) { .film-history { grid-template-columns:1fr;gap:28px;padding:48px 5vw 56px; } }
@media(max-width:600px) { .film-history-fact p { font-size:17px; } }
.resources h2.resource-label { font:500 12px/1.4 "DM Mono",monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px; }

/* Gallery exit and printing capacity */
.gallery-return{padding:24px clamp(20px,5vw,80px) 40px;max-width:1400px;margin:0 auto}
.gallery-return a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.print-options .print-capacity{font-family:var(--sans, "DM Sans",sans-serif);font-size:16px;line-height:1.5;margin:12px 0 20px}

/* Phone and iPad navigation; larger screens keep the horizontal header. */
.mobile-menu{display:none}
@media (max-width:1180px), (max-width:1366px) and (hover:none) and (pointer:coarse){
 html{scroll-padding-top:100px}
 .site-header{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 5vw;min-height:86px}
 .site-header .brand,.site-header .brand img{width:130px;height:65px;margin:0}
 .site-header>.desktop-nav{display:none}
 .mobile-menu{display:block}
 .mobile-menu summary{display:flex;align-items:center;justify-content:center;gap:9px;min-width:86px;min-height:44px;padding:0 12px;border:1px solid rgba(17,20,33,.25);border-radius:6px;cursor:pointer;font:600 15px/1 'DM Sans',sans-serif;color:var(--ink);list-style:none}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .menu-icon{display:grid;gap:4px;width:18px}
 .menu-icon span{display:block;height:2px;background:currentColor;border-radius:2px}
 .mobile-menu[open] summary{background:var(--ink);color:var(--paper)}
 .site-header .mobile-menu nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;padding:8px 5vw 14px;background:#f4f1ea;border-top:1px solid rgba(17,20,33,.15);border-bottom:1px solid rgba(17,20,33,.15);box-shadow:0 14px 22px rgba(17,20,33,.12);max-height:calc(100dvh - 90px);overflow-y:auto}
 .site-header .mobile-menu nav a{display:flex;align-items:center;min-height:48px;padding:8px 4px;font-size:16px;white-space:normal}
 .mobile-menu summary:focus-visible,.mobile-menu nav a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
 .ready-request,.art-collection-heading{scroll-margin-top:100px}
}

/* Inventory inquiry notices */
.gallery-inquiry{margin:24px auto;max-width:1240px;padding:20px clamp(20px,5vw,60px);border-top:1px solid #d5b4a5;border-bottom:1px solid #d5b4a5;color:var(--ink);background:#fff1df}
.gallery-inquiry p{margin:0 0 8px;font:16px/1.6 'DM Sans',sans-serif;max-width:900px}
.gallery-inquiry a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.inquiry-section{max-width:850px;margin:0 auto;padding:0 5vw 60px}
#inquiry{scroll-margin-top:120px}
