/* Prints pages; the original Anomalous Zone stylesheet remains unchanged in style.css. */
:root{--p-ink:#eff7fc;--p-cyan:#43cce8;--p-line:#294453}
html{scroll-padding-top:110px}
body{overflow-x:hidden}
.prints-hero{position:relative;overflow:hidden;border-bottom:1px solid #2a4555;background:radial-gradient(circle at 84% 23%,#164c63 0%,#0b2230 27%,transparent 54%),linear-gradient(135deg,#08131b,#0b1924 70%,#102b3b)}
.prints-hero:before,.gallery-hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.23;background-image:linear-gradient(#28617a60 1px,transparent 1px),linear-gradient(90deg,#28617a60 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(90deg,transparent 5%,#000 80%)}
.hero-split{position:relative;display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);align-items:center;gap:64px;min-height:560px;padding-top:72px;padding-bottom:72px}
.hero-copy{position:relative;z-index:1}
.hero-copy h1{font-size:clamp(55px,6.4vw,86px);line-height:1.06;margin:19px 0 27px;letter-spacing:-.055em}
.hero-copy h1 span,.gallery-hero h1 span{color:#44d4ec}
.hero-copy p{font-size:18px;max-width:460px;line-height:1.7;color:#c4d5e0;margin-bottom:16px}
.hero-copy .button{margin-top:20px}
.hero-showcase{position:relative;display:block;color:inherit;max-width:610px;transform:rotate(.7deg);transition:transform .22s ease;border:1px solid #457089;border-radius:17px;background:#0d1b26;box-shadow:0 28px 75px #0008,0 0 0 5px #14415655;overflow:hidden}
.hero-showcase:hover{text-decoration:none;transform:rotate(0deg) translateY(-3px);border-color:#56c5e3}
.hero-image-frame{display:block;position:relative;aspect-ratio:1.32;background:#101923;overflow:hidden}
.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.hero-image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06121c6b,transparent 37%);pointer-events:none}
.hero-image-caption{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:#0d202d;gap:10px;border-top:1px solid #31566b;color:#e7f4ff}
.hero-image-caption strong{display:block;font-size:16px}
.hero-image-caption small{display:block;margin-top:2px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#80b2cc}
.hero-image-caption>span:last-child{color:#4cd0eb;font-size:24px}
.section-head h2{margin-top:9px}
.featured-section{background:#0d1117}
.featured-grid,.full-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.print-card{display:flex;flex-direction:column;min-width:0;border:1px solid #2b404d;border-radius:13px;overflow:hidden;background:#151e27;box-shadow:0 7px 22px #0002;color:inherit;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.print-card:hover{color:inherit;text-decoration:none;border-color:#3b9bb8;transform:translateY(-4px);box-shadow:0 14px 34px #0006}
.print-card:focus-visible{outline-offset:3px}
.print-card-media{height:228px;position:relative;display:block;overflow:hidden;background:radial-gradient(circle at 50% 45%,#1c3444,#0a131c 85%);border-bottom:1px solid #344453}
.print-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s}
.print-card:hover .print-card-media img{transform:scale(1.035)}
.print-card-media.contain-photo img{position:relative;z-index:1;object-fit:contain;object-position:center;padding:5px}
.open-mark{position:absolute;right:13px;top:13px;width:32px;height:32px;border-radius:7px;display:grid;place-items:center;z-index:2;background:#071925d9;border:1px solid #50778d;color:#b9ebfa;font-size:20px;line-height:1;opacity:.92}
.print-card-info{flex:1;display:flex;flex-direction:column;padding:22px 22px 24px}
.print-category{display:block;margin-bottom:10px;color:#43cce8;font-size:10px;letter-spacing:.17em;font-weight:bold;text-transform:uppercase}
.print-card-info h3{font-size:21px;letter-spacing:-.018em;line-height:1.2;margin:0 0 10px;color:#f2f6fa}
.print-card-info p{font-size:14px;line-height:1.65;color:#a5bac7;margin:0}
.section-tail{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:31px;padding:21px 0 0;border-top:1px solid #294453;color:#a4b7c5;font-size:14px}
.section-tail .text-link{color:#66d2ee;font-size:15px}
/* Existing request form is retained on the homepage, without the old extra nav links. */
.request-section{background:#111c27;border-top:1px solid #263745}
.request-layout{display:grid;grid-template-columns:.94fr 1.06fr;gap:62px;align-items:start}
.request-intro{padding-top:8px}
.request-intro h2{margin:10px 0 24px;font-size:clamp(30px,3.2vw,43px)}
.request-intro p{font-size:16px;color:#becbd6;max-width:500px;line-height:1.72}
.request-steps{margin-top:34px;border-top:1px solid var(--border);max-width:490px}
.request-steps>div{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--border);font-size:15px}
.request-steps strong{color:#43cce8;font-size:17px;min-width:23px}
.request-card{box-shadow:0 10px 38px #0003}
.request-card .panel-content{padding:32px}
.request-card h3{font-size:25px;margin:0 0 8px}
.request-card .form-intro{color:#9fb1bf;font-size:13px;margin-bottom:25px}
#print-request{display:grid;gap:11px}
#print-request label{display:block;font-weight:700;color:#e8edf3;font-size:14px;margin-bottom:-3px}
#print-request input,#print-request textarea{font:15px/1.5 Arial,sans-serif;width:100%;border:1px solid #476074;border-radius:8px;background:#0d1520;color:#f2f2f2;padding:11px 13px;outline:none;transition:border-color .15s,box-shadow .15s;resize:vertical}
#print-request textarea{min-height:110px}
#print-request input:focus,#print-request textarea:focus{border-color:var(--bright);box-shadow:0 0 0 3px #0d98ba37}
#print-request input::placeholder,#print-request textarea::placeholder{color:#778999;opacity:1}
#print-request input:invalid.is-invalid,#print-request textarea:invalid.is-invalid{border-color:#ef7777}
.optional{color:#839aaa;font-weight:400;font-size:12px}
.required{color:#43cce8}
.field-pair{display:grid;grid-template-columns:140px 1fr;gap:16px}
.field-pair>div{display:grid;gap:11px}
.request-submit{width:100%;margin-top:10px;border:none;font-size:15px}
.form-error{color:#ffa1a1;margin:0;font-size:13px}
.form-footer{font-size:13px;color:#a5b6c2;margin:19px 0 8px;line-height:1.7}
.copy-request{appearance:none;background:none;border:0;padding:3px 0;color:#71caff;text-decoration:underline;font-size:13px;cursor:pointer}
.copy-request:hover{color:#b5e4ff}
.copy-feedback{font-size:12px;color:#83dbd9;margin:5px 0 0;min-height:16px}
.faq-grid .panel-content{padding:26px}
.faq-grid h3{font-size:19px;margin-bottom:12px}
.faq-grid p{font-size:15px;line-height:1.65;margin:0}
/* Gallery-specific pages */
.gallery-hero{position:relative;background:radial-gradient(circle at 85% 22%,#0d5470 0%,transparent 42%),linear-gradient(140deg,#08141d,#0e2634);border-bottom:1px solid #365063;overflow:hidden}
.gallery-hero .wrap{position:relative;padding-top:79px;padding-bottom:43px}
.gallery-hero h1{font-size:clamp(45px,6vw,74px);margin:13px 0 18px;letter-spacing:-.055em}
.gallery-hero p{max-width:680px;font-size:18px;line-height:1.7;color:#c3d2db}
.hero-rule{border-top:1px solid #2c5467;display:flex;justify-content:space-between;gap:15px;padding-top:15px;margin-top:45px;font-size:10px;letter-spacing:.17em;color:#8cb4c8;font-weight:bold}
.gallery-page-section{padding-top:52px}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px}
.gallery-toolbar h2{font-size:31px;margin:9px 0 0}
.gallery-count{font-size:13px;color:#9faebd;margin:0 0 4px}
.filter-list{display:flex;flex-wrap:wrap;gap:9px;padding:24px 0 26px;margin:0 0 26px;border-bottom:1px solid #2b3e4b}
.filter-button{cursor:pointer;background:#142635;border:1px solid #2f5366;color:#c4d8e6;border-radius:8px;font-size:13px;font-weight:bold;min-height:39px;padding:8px 16px;transition:background .15s,border-color .15s}
.filter-button:hover{background:#1c3a4a;border-color:#55b9d7}
.filter-button.is-selected{background:#087c96;border-color:#15b7d5;color:#fff}
.full-gallery-grid{gap:22px}
.gallery-card .print-card-media{height:225px}
.gallery-card[hidden]{display:none}
.gallery-empty{color:#9cb7c8;padding:30px 0}
.gallery-end{margin:55px 0 0;padding:30px 0 0;border-top:1px solid #294453}
.gallery-end p{margin:12px 0 0;color:#adbfcb}
/* Accessible project photo overlay */
.lightbox[hidden]{display:none!important}
.lightbox{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px}
.lightbox-backdrop{position:absolute;inset:0;background:#02070ce6;backdrop-filter:blur(9px)}
.lightbox-dialog{position:relative;width:min(1080px,100%);max-height:min(90vh,900px);overflow:auto;background:#101d27;border:1px solid #4b7589;border-radius:15px;box-shadow:0 28px 80px #000c}
.lightbox-main{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(290px,.72fr)}
.lightbox-art{position:relative;display:grid;place-items:center;min-height:470px;background:radial-gradient(circle,#1b3544,#071019 80%);padding:17px}
.lightbox-art img{display:block;width:100%;max-height:73vh;height:auto;object-fit:contain;min-height:0;max-width:100%}
.lightbox-info{display:flex;flex-direction:column;padding:48px 30px 28px}
.lightbox-info h2{font-size:clamp(24px,3vw,34px);margin:10px 0 17px}
.lightbox-info>p{color:#b3c4cf;line-height:1.7}
.lightbox-bottom{border-top:1px solid #365263;margin-top:auto;padding-top:20px;font-size:14px}
.lightbox-close{position:absolute;top:11px;right:11px;z-index:3;width:40px;height:40px;display:grid;place-items:center;color:#edf7fe;font-size:29px;background:#09222fdc;border:1px solid #477284;border-radius:9px;cursor:pointer;line-height:1}
.lightbox-close:hover{background:#116783}
.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #446982;border-radius:8px;background:#091e2ac7;color:white;font-size:32px;width:40px;height:48px;cursor:pointer}
.photo-arrow.prev{left:14px}.photo-arrow.next{right:14px}
.photo-arrow[hidden]{display:none}
.photo-index{position:absolute;bottom:20px;right:20px;color:#d2e7f4;background:#0b182acb;border-radius:5px;padding:2px 9px;font-size:12px}
.photo-index:empty{display:none}
.thumb-strip{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 26px}
.thumb-strip:empty{display:none}
.thumb-strip button{padding:2px;border-radius:6px;border:2px solid #355166;cursor:pointer;background:#152a35}
.thumb-strip button.selected{border-color:#4ac9e6}
.thumb-strip img{width:55px;height:49px;object-fit:cover;display:block;border-radius:3px}
body.modal-open{overflow:hidden}
@media(max-width:1050px){.hero-split{gap:38px}.full-gallery-grid,.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.request-layout{gap:35px}}
@media(max-width:760px){.hero-split{grid-template-columns:1fr;min-height:0;padding-top:60px;padding-bottom:51px;gap:35px}.hero-copy p{max-width:620px}.hero-showcase{max-width:680px;width:100%;transform:none}.hero-showcase:hover{transform:translateY(-3px)}.hero-image-frame{aspect-ratio:1.6}.request-layout{grid-template-columns:1fr;gap:24px}.request-steps{max-width:none;margin-bottom:18px}.lightbox-main{grid-template-columns:1fr}.lightbox-art{min-height:250px;max-height:53vh}.lightbox-art img{max-height:47vh}.lightbox-info{padding:28px}.lightbox-dialog{max-height:92vh}}
@media(max-width:620px){.hero-copy h1{font-size:clamp(48px,13vw,67px)}.hero-copy p{font-size:16px}.hero-split{padding-top:44px;padding-bottom:45px}.hero-image-frame{aspect-ratio:1.47}.print-card-media,.gallery-card .print-card-media{height:215px}.featured-grid,.full-gallery-grid{grid-template-columns:1fr;gap:17px}.section-tail{display:block}.section-tail a{display:block;margin-top:8px}.gallery-hero .wrap{padding-top:53px;padding-bottom:32px}.gallery-hero p{font-size:16px}.hero-rule{margin-top:28px}.gallery-toolbar{display:block}.gallery-count{margin:14px 0 0}.filter-list{gap:7px;padding:22px 0}.filter-button{font-size:12px;padding:7px 10px}.field-pair{grid-template-columns:1fr}.request-card .panel-content{padding:22px}.lightbox{padding:8px}.lightbox-dialog{max-height:94vh}.lightbox-info{padding:20px}.lightbox-info h2{margin:7px 0 9px}.lightbox-art{padding:10px;min-height:230px}.lightbox-art img{max-height:43vh}.lightbox-close{top:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.print-card,.print-card img,.hero-showcase,.filter-button{transition:none!important}}

/* v2: Never crop the actual prints out of the thumbnails. We use the same
   original image as a soft, dark background, then show the FULL photo on top.
   This works for portrait, landscape, and square images without hard crops. */
.print-card-media,
.hero-image-frame{isolation:isolate;background:#0a1821;overflow:hidden}
.print-card-media::before,
.hero-image-frame::before{content:"";position:absolute;inset:-18px;background-image:var(--photo);background-size:cover;background-position:center;filter:blur(25px) brightness(.29) saturate(.7);transform:scale(1.07);z-index:0;pointer-events:none}
.print-card-media::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#07121a35,transparent 24%,transparent 76%,#07121a35)}
.print-card-media img,
.print-card-media.contain-photo img{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:contain!important;object-position:center!important;padding:8px!important;transition:transform .28s ease;box-sizing:border-box}
.print-card-media .open-mark{z-index:3}
.print-card:hover .print-card-media img{transform:scale(1.015)}
.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
.featured-grid .print-card-media{height:345px}
.full-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-card .print-card-media{height:290px}
.print-card-info{padding:20px 22px 22px}
.print-card-info h3{font-size:22px;line-height:1.23;margin-bottom:9px}
.print-card-info p{font-size:14px;line-height:1.55;color:#b4c6d0}
.hero-image-frame img{width:100%;height:100%;object-fit:contain!important;object-position:center;position:relative;z-index:1;padding:12px;box-sizing:border-box}
.hero-image-frame::after{z-index:2}
@media(max-width:1000px){.full-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-grid .print-card-media{height:315px}}
@media(max-width:700px){.featured-grid,.full-gallery-grid{grid-template-columns:1fr}.featured-grid .print-card-media,.gallery-card .print-card-media{height:clamp(260px,67vw,370px)}}
@media(max-width:400px){.featured-grid .print-card-media,.gallery-card .print-card-media{height:275px}.print-card-info h3{font-size:20px}}


/* v3: Some photos work better with deliberate framing. Leave the full image in
   the lightbox, but zoom the Cadillac sign inside its gallery/featured card. */
.print-card[data-project="cadillac"] .print-card-media img {
  object-fit:cover!important;
  object-position:center 43%!important;
  padding:0!important;
}

/* The Taco Bell card uses an article so the external parody-song link is a
   separate, valid link rather than being nested inside the project link. */
.print-card-info .project-title-link { color:inherit; text-decoration:none; }
.print-card-info .project-title-link:hover,
.print-card-info .project-title-link:focus-visible { color:#8de6f9; text-decoration:underline; text-underline-offset:3px; }
.print-card-info .song-link,
.lightbox-info .song-link { color:#68d8f2; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.print-card-info .song-link:hover,
.lightbox-info .song-link:hover {color:#b5f1ff;}
.print-card-info .song-link:focus-visible,
.lightbox-info .song-link:focus-visible,
.print-card-media:focus-visible { outline:2px solid #68d8f2; outline-offset:3px; border-radius:3px; }

/* Print request: effect plate selector and delivery feedback. */
#print-request .plate-fieldset {padding:0;margin:6px 0 1px;border:0;min-width:0}
#print-request .plate-fieldset legend {font-weight:700;color:#e8edf3;font-size:14px;margin-bottom:12px;padding:0}
#print-request .plate-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#print-request .plate-choice {position:relative;display:block;margin:0;cursor:pointer;min-width:0}
#print-request .plate-choice input[type="radio"] {position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0}
#print-request .plate-choice-text {display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;min-height:56px;padding:10px 12px;border:1px solid #476074;border-radius:9px;background:#0d1520;color:#c3d7e4;font-size:13px;line-height:1.35;transition:border-color .15s,background .15s,box-shadow .15s}
#print-request .plate-choice-text small {font-size:10px;font-weight:600;letter-spacing:.02em;color:#90b5c4}
#print-request .plate-choice input[type="radio"]:checked + .plate-choice-text {border-color:#43cce8;background:#123546;color:#f5fbff;box-shadow:inset 0 0 0 1px #43cce875}
#print-request .plate-choice input[type="radio"]:focus-visible + .plate-choice-text {outline:2px solid #7be2f8;outline-offset:3px}
#print-request .request-submit:disabled {cursor:wait;opacity:.65}
#print-request .form-success {margin:0;padding:11px 13px;background:#103a42;border:1px solid #3f8e99;border-radius:8px;color:#c6f7e6;font-size:13px;line-height:1.5}
#print-request .spam-trap {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(max-width:400px){#print-request .plate-choices{grid-template-columns:1fr}}
