.print-hero { padding: 64px 0; background: #1f3d31; color: #fff9ef; }
.print-hero-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.15fr); gap: 48px; align-items: center; }
.print-back { display: inline-block; margin-bottom: 30px; font-size: .88rem; color: #e9ddc8; }
.print-hero h1 { font-size: clamp(2.8rem,4.7vw,4.5rem); max-width: 13ch; line-height: 1.04; }
.print-hero p:not(.kicker) { font-size: 1.07rem; line-height: 1.8; color: #ece5d7; margin: 24px 0; }
.print-hero small { display: block; margin-top: 16px; color: #ead397; line-height: 1.6; }
.print-hero figure { margin: 0; }
.print-hero figure img { width: 100%; height: auto; border-radius: 20px; background: #f7f1e5; }
.print-hero figcaption { margin-top: 12px; color: #d5cebf; font-size: .78rem; line-height: 1.6; }
.print-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid var(--line); gap: 24px; padding-block: 32px; }
.print-facts strong,.print-facts span { display:block; }
.print-facts strong { font-size: 1.1rem; color: var(--green); }
.print-facts span { margin-top: 8px; color: var(--muted); font-size: .88rem; line-height: 1.6; }
.print-content h2 { font-size: clamp(2rem,3.5vw,3.2rem); line-height:1.12; margin:0 0 20px; }
.print-content > p:not(.kicker) { line-height: 1.8; color:var(--muted); }
.print-files { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:30px 0 24px; }
.print-file { display:flex; align-items:flex-start; gap:18px; padding:25px; border:1px solid var(--line); border-radius:18px; background:#fff9ef; transition:background .15s; }
.print-file:hover { background:#eee3cf; }
.print-file-number { color:#96713a; font-family:"Fraunces",serif; font-size:1.5rem; }
.print-file strong,.print-file span span,.print-file small { display:block; }
.print-file strong { font-size:1.07rem; color:var(--green); }
.print-file span span { margin:8px 0; line-height:1.6; color:var(--muted); font-size:.91rem; }
.print-file small { color:var(--muted); font-size:.78rem; }
.print-file-arrow { margin-left:auto; color:var(--green); font-size:1.5rem; }
.print-guide-link { text-decoration:underline; text-underline-offset:4px; line-height:1.8; color:var(--green); font-weight:750; }
.print-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:30px; }
.print-guide-grid h3 { font-size:1.6rem; line-height:1.2; margin:0 0 18px; }
.print-guide-grid p,.print-note p { line-height:1.8; color:var(--muted); }
.print-note { padding:24px; background:#e9dfcd; border-radius:16px; margin-top:24px; }
.print-note p { margin-bottom:0; }
.print-support { padding:48px 0; text-align:center; background:#ede2cc; }
.print-support h2 { font-size:2rem; margin:0 0 16px; }
.print-support p { max-width:60ch; margin:0 auto 24px; line-height:1.8; }
.print-teaser { background:#f7f0e2; padding:30px 0; border-top:1px solid var(--line); }
.print-teaser-inner { display:grid; grid-template-columns:200px minmax(0,1fr) auto; align-items:center; gap:28px; }
.print-teaser-photo { display:block; border-radius:12px; overflow:hidden; }
.print-teaser-photo img { display:block; width:100%; height:auto; }
.print-teaser h2 { font-size:1.8rem; line-height:1.15; margin:0 0 10px; }
.print-teaser .kicker { font-size:.68rem; margin-bottom:9px; }
.print-teaser p:not(.kicker) { margin:0; max-width:55ch; color:var(--muted); line-height:1.65; font-size:.94rem; }
#downloads,#guide { scroll-margin-top:108px; }
@media(max-width:980px) {
 .print-hero-grid { grid-template-columns:1fr; gap:32px; }
 .print-hero figure { max-width:720px; }
 .print-guide-grid { grid-template-columns:1fr; gap:18px; }
 .print-teaser-inner { grid-template-columns:150px minmax(0,1fr); gap:22px; }
 .print-teaser-inner > .button { grid-column:2; justify-self:start; }
 .print-teaser-photo { grid-row:span 2; }
}
@media(max-width:640px) {
 .print-hero { padding:36px 0; }
 .print-hero h1 { font-size:2.9rem; }
 .print-hero-grid { gap:28px; }
 .print-facts { grid-template-columns:1fr; gap:20px; padding-block:25px; }
 .print-files { grid-template-columns:1fr; }
 .print-file { padding:20px; gap:14px; }
 .print-teaser-inner { grid-template-columns:100px minmax(0,1fr); gap:16px; }
 .print-teaser-photo { grid-row:1; }
 .print-teaser h2 { font-size:1.45rem; }
 .print-teaser p:not(.kicker) { font-size:.84rem; }
 .print-teaser-inner > .button { grid-column:1 / -1; width:100%; }
}
