/* TARDE: an explicit source-to-campaign story, with uncropped artwork. */
.product-campaign { --pc-ink:#08221f; --pc-paper:#f1ede3; --pc-muted:#b9c8c1; background:#08221f; color:var(--pc-paper); padding:clamp(3rem,6vw,6rem) 0; }
.product-campaign *, .tarde-case * { box-sizing:border-box; }
.product-campaign > .wrap, .tarde-case.wrap { max-width:1176px; }
.product-campaign h4, .tarde-case h4 { font-family:var(--font-display); font-weight:400; }
.pc-heading { max-width:850px; margin-bottom:2.25rem; }
.pc-heading h2 { font-size:clamp(2.7rem,5.5vw,5rem); line-height:1.02; margin:.8rem 0 1.25rem; }
.pc-heading p, .pc-chapter-intro p { max-width:62ch; font-size:1.05rem; line-height:1.7; color:var(--pc-muted); }
.pc-note { font-size:.8rem; line-height:1.7; color:var(--pc-muted); margin:1rem 0 0; max-width:85ch; }
.pc-journey { display:flex; gap:1.5rem 2.25rem; flex-wrap:wrap; padding:1.25rem 0; margin:2rem 0 3rem; border-block:1px solid #53635a; }
.pc-journey a { color:#f1ede3; font:400 .7rem/1.6 var(--font-mono,monospace); text-decoration:none; }
.pc-journey a span { color:#b9c8c1; margin-right:.5rem; }
.pc-journey a:hover { text-decoration:underline; text-underline-offset:5px; }
.pc-chapter { margin-top:clamp(3.5rem,7vw,7rem); scroll-margin-top:110px; }
.pc-chapter-intro { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:2rem; margin-bottom:2rem; }
.pc-chapter-intro h3 { font-size:clamp(2.4rem,4vw,3.7rem); line-height:1.05; margin:.8rem 0 0; }
.pc-chapter-intro p { margin:0; }
.pc-pair { display:grid; grid-template-columns:1fr 1fr; gap:clamp(.8rem,2vw,2rem); }
.pc-figure { margin:0; min-width:0; }
.pc-figure > a { display:block; }
.pc-figure img { display:block; width:100%; height:auto; }
.pc-figure figcaption { padding:1rem 0 .1rem; font:400 .67rem/1.65 var(--font-mono,monospace); color:#cad4cd; }
.pc-figure figcaption strong { color:#f1ede3; font-weight:400; }
.pc-pair--source { align-items:end; }
.pc-pair--source .pc-figure:first-child { padding:clamp(.7rem,2.5vw,2rem); background:#eeeade; color:#08221f; }
.pc-pair--source .pc-figure:first-child figcaption, .pc-pair--source .pc-figure:first-child figcaption strong { color:#08221f; }
.pc-pair--source .pc-figure:first-child { margin:0 clamp(0rem,2vw,1.5rem) 0 0; }
.pc-master { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1fr); gap:clamp(2rem,5vw,5rem); padding:clamp(1.25rem,3vw,3rem); background:#f1ede3; color:#08221f; align-items:center; }
.pc-master .pc-figure { max-width:370px; margin-inline:auto; width:100%; }
.pc-master figcaption, .pc-master figcaption strong { color:#314742; }
.pc-master h4 { color:#08221f; font-size:clamp(2rem,3.2vw,3rem); line-height:1.08; margin:.6rem 0 1rem; }
.pc-master .meta { color:#713b49; }
.pc-master p { color:#314742; line-height:1.7; }
.pc-master ul { padding:0; margin:1.5rem 0; list-style:none; }
.pc-master li { padding:.8rem 0; border-top:1px solid #c4c8bb; font-size:.94rem; line-height:1.55; color:#314742; }
.pc-master li b { color:#08221f; font-weight:500; }
.pc-master .pc-note { font-size:.8rem; }
.pc-palette { display:flex; gap:.55rem; margin:1.5rem 0; }
.pc-palette span { display:block; width:36px; height:36px; border-radius:50%; border:1px solid #08221f30; }
.pc-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,2vw,2rem); }
.pc-shot { min-width:0; }
.pc-shot .pc-figure figcaption { padding-top:.9rem; }
.pc-shot h4 { font-size:clamp(1.7rem,2.5vw,2.3rem); line-height:1.12; margin:.55rem 0 .8rem; }
.pc-shot p { color:#b9c8c1; font-size:.92rem; line-height:1.65; margin:0; }
.pc-shot .pc-purpose { margin-top:1rem; font:400 .63rem/1.7 var(--font-mono,monospace); color:#e6cfb0; }
.pc-feature { margin-top:2.75rem; }
.pc-feature__copy { display:grid; grid-template-columns:.7fr 1fr; gap:2rem; margin-top:1.1rem; align-items:start; }
.pc-feature__copy h4 { font-size:2.5rem; margin:.5rem 0; }
.pc-feature__copy p { color:#b9c8c1; line-height:1.7; max-width:65ch; margin:.5rem 0; }
.pc-formats { display:grid; grid-template-columns:minmax(0,.46fr) minmax(0,1fr); align-items:center; gap:clamp(1.5rem,4vw,4rem); padding:clamp(1.25rem,3vw,3rem); border:1px solid #53635a; background:#102d28; }
.pc-formats .pc-figure { width:100%; }
.pc-formats .pc-figure:first-child { max-width:330px; margin-inline:auto; }
.pc-formats figcaption { font-size:.65rem; }
.pc-finish { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-top:2rem; }
.pc-finish p { max-width:58ch; font-size:.94rem; line-height:1.7; color:#b9c8c1; margin:0; }
.pc-finish .btn { flex-shrink:0; }
.product-campaign :is(a,button):focus-visible, .tarde-case a:focus-visible { outline:3px solid #efb6b9; outline-offset:5px; }
.tarde-case { --pc-muted:#b9c8c1; }
.tarde-case .pc-case-lead { max-width:850px; }
.tarde-case .pc-case-hero { margin-top:3rem; }
.tarde-case .pc-case-hero figcaption { font-size:.66rem; }
.tarde-case .pc-brief { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-top:3rem; }
.tarde-case .pc-brief h2 { font-size:clamp(2.5rem,4vw,3.5rem); line-height:1.08; }
.tarde-case .pc-brief p { line-height:1.8; color:#b9c8c1; }
.tarde-case .pc-case-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem 2rem; }
.tarde-case .pc-case-grid .pc-shot:nth-child(even) { padding-top:4rem; }
.pc-case-cta { margin:4rem 0 1rem; padding-top:2rem; border-top:1px solid #53635a; }
@media(max-width:800px) {
 .pc-chapter-intro { grid-template-columns:1fr; gap:1rem; }
 .pc-master { grid-template-columns:minmax(0,.75fr) minmax(0,1fr); gap:1.5rem; }
 .pc-card-grid { gap:1rem; }
 .pc-shot h4 { font-size:1.9rem; }
 .pc-finish { align-items:flex-start; flex-direction:column; }
 .pc-feature__copy { grid-template-columns:1fr; gap:.25rem; }
}
@media(max-width:580px) {
 .pc-journey { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:2rem; }
 .pc-journey a { font-size:.62rem; }
 .pc-pair--source { align-items:start; }
 .pc-pair--source .pc-figure:first-child { margin:0; padding:.55rem; }
 .pc-figure figcaption { font-size:.59rem; padding-top:.7rem; }
 .pc-master, .pc-card-grid, .tarde-case .pc-brief, .tarde-case .pc-case-grid { grid-template-columns:1fr; }
 .pc-master { gap:1.75rem; }
 .pc-master .pc-figure { max-width:280px; }
 .pc-card-grid { gap:2.6rem; }
 .pc-shot h4 { font-size:2.2rem; }
 .pc-shot .pc-purpose { margin-top:.7rem; }
 .pc-formats { grid-template-columns:1fr; gap:2rem; }
 .pc-formats .pc-figure:first-child { width:65%; max-width:230px; }
 .pc-formats .pc-figure:last-child { width:100%; }
 .pc-heading h2 { font-size:2.8rem; }
 .tarde-case .pc-case-grid .pc-shot:nth-child(even) { padding-top:0; }
 .tarde-case .pc-brief { gap:1rem; }
}
