/* TK Web Studio / Posters & Flyers — editorial marketing page.
   Deliberately scoped to this page; no shared navigation or conversion logic changes. */
.posters-page {
  --p-ink: #171717;
  --p-paper: #f4f1ea;
  --p-sand: #e6ddd1;
  --p-orange: #a93d1c;
  --p-border: #cabfb3;
  --p-body: "DM Sans", Arial, sans-serif;
  --p-display: "Syne", Arial, sans-serif;
}
.posters-page main { background: var(--p-paper); }
.posters-page main :is(h1,h2,h3,p) { margin-top: 0; }
.posters-page main :is(h1,h2,h3) { font-family: var(--p-display); }
.posters-page :is(.poster-hero,.poster-gallery,.poster-deliverables,.poster-how,.poster-final) { scroll-margin-top: 95px; }
.posters-page .poster-eyebrow { font: 800 .74rem/1.4 var(--p-body); letter-spacing: .15em; color: var(--p-orange); margin-bottom: 18px; }
.posters-page .poster-hero { color: var(--p-ink); background: var(--p-paper); border-bottom: 1px solid var(--p-border); padding: clamp(52px, 7vw, 110px) 0 clamp(64px, 7vw, 96px); }
.posters-page .poster-hero__layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px,.8fr); gap: clamp(36px,6vw,108px); align-items: center; }
.posters-page .poster-hero h1 { max-width: 820px; margin: 0 0 24px; font: 800 clamp(2.8rem,5.3vw,5.1rem)/1.02 var(--p-display); letter-spacing:-.065em; color:var(--p-ink); }
.posters-page .poster-hero h1 em { color:var(--p-orange); font-style:normal; }
.posters-page .poster-lead { max-width: 54ch; font: 500 clamp(1.03rem,1.4vw,1.21rem)/1.7 var(--p-body); color:#4a403a; margin-bottom:28px; }
.posters-page .poster-hero__actions { display:flex; gap:19px 24px; align-items:center; flex-wrap:wrap; }
.posters-page .poster-primary { min-height:48px; display:inline-flex; justify-content:center; align-items:center; gap:16px; padding:14px 22px; background:var(--p-ink); color:#fff8ef; font:800 .92rem/1.3 var(--p-body); text-decoration:none; border:2px solid var(--p-ink); }
.posters-page .poster-primary:hover { background:var(--p-orange); border-color:var(--p-orange); color:#fff; }
.posters-page .poster-underlink { display:inline-flex; align-items:center; min-height:44px; color:var(--p-ink); font:800 .88rem/1.3 var(--p-body); text-decoration:underline; text-underline-offset:5px; }
.posters-page .poster-hero__note { margin:26px 0 0; color:#645a54; font:.8rem/1.55 var(--p-body); max-width:52ch; }
.posters-page .poster-hero__specimen { position:relative; isolation:isolate; min-height:520px; display:flex; flex-direction:column; justify-content:space-between; background:#25211e; color:#fff3e7; padding:clamp(25px,3vw,45px); box-shadow:14px 14px 0 #d5c7b7; overflow:hidden; }
.posters-page .poster-hero__specimen::before { content:""; position:absolute; width:110px; height:110px; border:20px solid #d7673e; border-radius:50%; right:-47px; top:-44px; }
.posters-page .poster-hero__specimen-kicker { font:700 .68rem/1.5 var(--p-body); letter-spacing:.15em; color:#f1d6bc; }
.posters-page .poster-hero__specimen strong { font:800 clamp(2.65rem,4.2vw,4.15rem)/1.03 var(--p-display); letter-spacing:-.068em; }
.posters-page .poster-hero__specimen strong i { color:#e4744e; font-style:normal; }
.posters-page .poster-hero__specimen-rule { height:1px; background:#907b6d; width:100%; }
.posters-page .poster-hero__specimen p { font:500 1rem/1.5 var(--p-body); margin:0; }
.posters-page .poster-hero__specimen-index { position:absolute; right:40px; bottom:34px; font:700 .76rem var(--p-body); color:#d7bbab; }
.posters-page .poster-gallery { color:var(--p-ink); padding:clamp(76px,8vw,120px) 0 75px; }
.posters-page .poster-section-head { display:flex; align-items:end; justify-content:space-between; gap:34px; margin-bottom:38px; border-bottom:1px solid var(--p-border); padding-bottom:32px; }
.posters-page .poster-section-head h2 { font:800 clamp(2.15rem,3.4vw,3.4rem)/1.11 var(--p-display); letter-spacing:-.052em; max-width:670px; color:var(--p-ink); margin:0; }
.posters-page .poster-section-head > p { max-width:35ch; margin:0; font:.91rem/1.65 var(--p-body); color:#504842; }
.posters-page .poster-showcase { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(18px,2.6vw,34px); }
.posters-page .poster-showcase__item { min-width:0; }
.posters-page .poster-art { aspect-ratio:4/5; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(18px,2.6vw,35px); overflow:hidden; min-width:0; }
.posters-page .poster-art__top,.posters-page .poster-art__bottom { font:700 clamp(.55rem,.8vw,.73rem)/1.4 var(--p-body); letter-spacing:.13em; }
.posters-page .poster-art__bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:14px; border-top:1px solid currentColor; }
.posters-page .poster-art--community { background:#163c2b; color:#f9ead5; }
.posters-page .poster-art__community-main { margin:auto 0; display:flex; flex-direction:column; justify-content:center; }
.posters-page .poster-art__community-main > span { color:#e4be7a; font:800 clamp(.69rem,1.2vw,1rem)/1.2 var(--p-body); letter-spacing:.14em; margin-bottom:16px; }
.posters-page .poster-art__community-main strong { font:800 clamp(2.05rem,3.3vw,3.9rem)/.95 var(--p-display); letter-spacing:-.075em; }
.posters-page .poster-art__community-main em { font:italic 500 clamp(1.05rem,1.95vw,2.1rem)/1.2 Georgia,serif; margin:24px 0; color:#efcf93; }
.posters-page .poster-art__community-rule { height:2px; width:68%; background:#cba465; }
.posters-page .poster-art__community-main p { margin:17px 0 0; color:#fff5e6; font:700 .7rem/1.6 var(--p-body); letter-spacing:.1em; }
.posters-page .poster-art--business { background:#c84e28; color:#1c1917; }
.posters-page .poster-art__business-main { display:flex; flex-direction:column; gap:13px; margin:auto 0; position:relative; }
.posters-page .poster-art__business-main span { font:800 clamp(.65rem,1.3vw,1rem) var(--p-body); letter-spacing:.12em; }
.posters-page .poster-art__business-main strong { font:800 clamp(2.65rem,4.5vw,5.3rem)/.95 var(--p-display); letter-spacing:-.082em; }
.posters-page .poster-art__business-stamp { align-self:flex-end; border:2px solid #1c1917; border-radius:50%; width:90px;height:90px; display:grid;place-items:center;text-align:center; font:800 .78rem/1.3 var(--p-body); transform:rotate(-12deg); }
.posters-page .poster-art--event { background:#e2d3bd; color:#382921; }
.posters-page .poster-art__event-main { margin:auto 0; }
.posters-page .poster-art__event-main span { display:block; font:700 clamp(.7rem,1.25vw,1.1rem) var(--p-body); letter-spacing:.13em; margin-bottom:10px; }
.posters-page .poster-art__event-main strong { font:800 clamp(2.95rem,4.5vw,5.6rem)/.95 var(--p-display); letter-spacing:-.08em; overflow-wrap:anywhere; }
.posters-page .poster-art__event-main hr { border:0; border-top:5px solid #9d351c; margin:35px 0; }
.posters-page .poster-art__event-main p { font:700 clamp(.82rem,1.3vw,1.11rem)/1.62 var(--p-body); letter-spacing:.045em; }
.posters-page .poster-showcase__description { padding-top:22px; }
.posters-page .poster-showcase__description span { color:var(--p-orange); font:800 .7rem/1.4 var(--p-body); letter-spacing:.12em; }
.posters-page .poster-showcase__description h3 { margin:9px 0; font:800 clamp(1.2rem,1.7vw,1.5rem)/1.2 var(--p-display); letter-spacing:-.02em; color:var(--p-ink); }
.posters-page .poster-showcase__description p { margin:0; color:#514941; font:500 .91rem/1.62 var(--p-body); }
.posters-page .poster-gallery__disclaimer { border-top:1px solid var(--p-border); padding-top:18px; margin:35px 0 0; color:#6d625b; font:.8rem/1.6 var(--p-body); }
.posters-page .poster-deliverables { background:#1b1a18; color:#f6efe6; padding:clamp(68px,7vw,110px) 0; }
.posters-page .poster-deliverables__layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(32px,7vw,120px); }
.posters-page .poster-deliverables h2 { color:#fff4e9; font:800 clamp(2.3rem,3.7vw,3.8rem)/1.1 var(--p-display); letter-spacing:-.055em; }
.posters-page .poster-deliverables__details > div { display:grid; grid-template-columns:46px 1fr; gap:16px; padding:19px 0 23px; border-bottom:1px solid #594942; }
.posters-page .poster-deliverables__details > div:first-child { padding-top:0; }
.posters-page .poster-deliverables__details > div > span { color:#d88e76; font:800 .77rem var(--p-body); }
.posters-page .poster-deliverables__details h3 { color:#fff5ea; font:800 1.2rem/1.22 var(--p-display); margin-bottom:9px; }
.posters-page .poster-deliverables__details p { color:#e0d1c4; font:500 .97rem/1.68 var(--p-body); margin:0; }
.posters-page .poster-deliverables__details > .poster-deliverables__note { padding-top:22px; font-size:.83rem; color:#d3c3b8; }
.posters-page .poster-how { padding:clamp(72px,7vw,105px) 0; color:var(--p-ink); background:#eae3da; }
.posters-page .poster-how h2 { color:var(--p-ink); font:800 clamp(2.2rem,3vw,3.2rem)/1.14 var(--p-display); letter-spacing:-.05em; margin-bottom:34px; }
.posters-page .poster-how ol { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #bfae9e; }
.posters-page .poster-how li { display:grid; grid-template-columns:33px 1fr; gap:14px; padding:24px 24px 16px 0; }
.posters-page .poster-how li + li { border-left:1px solid #bfae9e; padding-left:24px; }
.posters-page .poster-how li > span { font:800 .76rem var(--p-body); color:var(--p-orange); padding-top:5px; }
.posters-page .poster-how h3 { font:800 1.2rem var(--p-display); color:var(--p-ink); margin:0 0 12px; }
.posters-page .poster-how li p { font:500 .91rem/1.68 var(--p-body); color:#49413b; }
.posters-page .poster-final { padding:clamp(72px,7vw,108px) 0; background:#f4f1ea; color:var(--p-ink); }
.posters-page .poster-final__layout { display:flex; align-items:center; justify-content:space-between; gap:36px; }
.posters-page .poster-final h2 { color:var(--p-ink); font:800 clamp(2.5rem,4vw,4.1rem)/1.1 var(--p-display); letter-spacing:-.055em; margin-bottom:15px; }
.posters-page .poster-final p:not(.poster-eyebrow) { font:500 1.01rem/1.64 var(--p-body); max-width:55ch; color:#514943; }
.posters-page .poster-final__actions { display:flex; align-items:start; flex-direction:column; gap:10px; flex-shrink:0; }
.posters-page a:focus-visible { outline:3px solid #d95c30; outline-offset:4px; }
@media (max-width: 980px) {
  .posters-page .poster-hero__layout { grid-template-columns:1.1fr .8fr; gap:32px; }
  .posters-page .poster-hero__specimen { min-height:425px; padding:30px; box-shadow:8px 8px 0 #d5c7b7; }
  .posters-page .poster-art { padding:18px; }
  .posters-page .poster-art__business-stamp { width:63px; height:63px; font-size:.58rem; }
}
@media (max-width: 760px) {
  .posters-page .poster-hero__layout,.posters-page .poster-deliverables__layout { grid-template-columns:1fr; }
  .posters-page .poster-hero h1 { font-size:clamp(2.7rem,9vw,4.3rem); }
  .posters-page .poster-hero__specimen { min-height:300px; box-shadow:7px 7px 0 #d5c7b7; }
  .posters-page .poster-hero__specimen strong { font-size:clamp(3.1rem,11vw,5.5rem); }
  .posters-page .poster-section-head { flex-direction:column; align-items:start; gap:16px; }
  .posters-page .poster-section-head > p { max-width:70ch; }
  .posters-page .poster-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 18px; }
  .posters-page .poster-art__business-main strong { font-size:clamp(2.5rem,6vw,4rem); }
  .posters-page .poster-art__community-main strong { font-size:clamp(2.1rem,5vw,3.2rem); }
  .posters-page .poster-art__event-main strong { font-size:clamp(2.5rem,5.8vw,4rem); }
  .posters-page .poster-how ol { grid-template-columns:1fr; }
  .posters-page .poster-how li, .posters-page .poster-how li + li { padding:20px 0; border-left:0; border-bottom:1px solid #bfae9e; }
  .posters-page .poster-final__layout { flex-direction:column; align-items:stretch; }
}
@media (max-width: 490px) {
  .posters-page .poster-gallery { padding-top:66px; }
  .posters-page .poster-showcase { grid-template-columns:1fr; gap:36px; }
  .posters-page .poster-art { padding:26px; max-width:360px; }
  .posters-page .poster-art__business-main strong { font-size:clamp(3.2rem,12.5vw,4.5rem); }
  .posters-page .poster-art__community-main strong { font-size:clamp(2.8rem,11vw,4rem); }
  .posters-page .poster-art__event-main strong { font-size:clamp(3.1rem,11vw,4.2rem); }
  .posters-page .poster-final__actions .poster-primary { width:100%; }
  .posters-page .poster-hero__note { font-size:.75rem; }
}
