.poster { padding:var(--space-xl) var(--space-lg) var(--space-2xl) }
.poster__sheet { max-width:940px; margin:auto; background:var(--color-white); border-radius:var(--border-radius-xl); overflow:hidden; box-shadow:var(--shadow-md); border:1px solid var(--color-border) }
.poster__brand { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 36px }
.poster__brand img { width:180px }
.poster h1 { font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.04; letter-spacing:-.055em; text-align:right; margin:0 }
.poster h1 span { color:var(--color-accent) }
.poster__photo { margin:0 }
.poster__photo img { width:100%; height:540px; object-fit:cover; object-position:50% 30% }
.poster__process { background:var(--color-primary); color:var(--color-white); display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:20px 28px }
.poster__process h2 { font-size:1rem; color:var(--color-white); text-align:center; white-space:nowrap }
.poster__process span { color:var(--color-citrus); font-size:.7rem; margin-right:.5rem }
.poster__pricing { display:grid; grid-template-columns:repeat(3,1fr); padding:28px 20px 14px }
.poster__pricing article { text-align:center; padding:0 10px }
.poster__pricing article+article { border-left:1px solid var(--color-border) }
.poster__pricing h3 { font-size:1rem }
.poster__price { font-size:clamp(2rem,4.8vw,3rem); line-height:1.2; font-weight:800; letter-spacing:-.06em; color:var(--color-primary); margin:6px 0 }
.poster__pricing p:last-child { font-size:.75rem }
.poster__extra { text-align:center; font-size:.75rem; margin:0 16px 22px }
.poster__contact { background:var(--color-citrus); display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:22px 32px; color:var(--color-primary); font-size:1.2rem; font-weight:800; letter-spacing:-.03em }
.site-footer { display:none }
@media(max-width:650px) {
  .poster { padding:16px 12px 32px }
  .poster__brand { padding:20px; gap:12px }
  .poster__brand img { width:125px }
  .poster h1 { font-size:1.9rem }
  .poster__photo img { height:420px }
  .poster__process { padding:16px 6px; gap:2px }
  .poster__process span { display:block; margin:0 0 3px }
  .poster__process h2 { font-size:.74rem }
  .poster__pricing { padding:22px 4px 12px }
  .poster__pricing article { padding:0 4px }
  .poster__pricing h3 { font-size:.8rem }
  .poster__price { font-size:1.9rem }
  .poster__pricing p:last-child { font-size:.65rem }
  .poster__extra { font-size:.65rem }
  .poster__contact { justify-content:center; text-align:center; padding:18px 12px; font-size:1.1rem }
}
@page { size:letter portrait; margin:.35in }
@media print {
  html,body { background:white; print-color-adjust:exact; -webkit-print-color-adjust:exact }
  .site-header,.site-footer,.skip-link { display:none!important }
  .poster { padding:0 }
  .poster__sheet { max-width:none; border:0; border-radius:0; box-shadow:none }
  .poster__brand { padding:0 8pt 14pt }
  .poster__brand img { width:110pt }
  .poster h1 { font-size:30pt }
  .poster__photo img { height:360pt; object-position:50% 30% }
  .poster__process { padding:13pt 10pt }
  .poster__process h2 { font-size:11pt }
  .poster__process span { display:inline; font-size:7pt; margin:0 5pt 0 0 }
  .poster__pricing { padding:18pt 0 10pt }
  .poster__pricing h3 { font-size:11pt }
  .poster__price { font-size:31pt; margin:5pt 0 }
  .poster__pricing p:last-child { font-size:8pt }
  .poster__extra { font-size:8pt; margin-bottom:15pt }
  .poster__contact { padding:15pt 18pt; font-size:15pt; justify-content:space-between }
  .poster__brand,.poster__photo,.poster__process,.poster__pricing,.poster__contact { break-inside:avoid }
}

@media screen { .poster__sheet { border:0; border-radius:var(--border-radius-2xl) } }

@media screen {
  .poster__process h2 { white-space:normal }
  .poster__pricing { grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap:var(--space-lg) }
  .poster__pricing article+article { border:0 }
}
