/* 4.15 — Deposit Slips & Certificates: specimen drawings, proof check. Builds on v414.css. */

.tp415-specimens svg,.tp415-proof svg,.tp415-faq-fig svg{display:block;width:100%;height:auto;overflow:visible}
.tp415-specimens text,.tp415-proof text,.tp414-flow text,.tp415-faq-fig text{font-family:var(--tp3-sans)}

/* Drawing parts */
.tp415-paper{fill:#fff;stroke:#dcd5c3;filter:drop-shadow(0 12px 16px #0b232822)}
.tp415-band{fill:#04424c}
.tp415-band-ink{fill:#efe9dc}.tp415-band-ink.is-soft{opacity:.55}
.tp415-logo{fill:#e0b04a}
.tp415-logo.is-cert{fill:none;stroke:#b8862f;stroke-width:2.4}
.tp415-perf{stroke:#51666a;stroke-width:1.2;stroke-dasharray:4 4}
.tp415-lbl text{font-size:8.5px;font-weight:600;fill:#51666a}
.tp415-lbl.is-c text{text-anchor:middle}
.tp415-boxes rect,.tp415-boxes line{fill:none;stroke:#9dbdb8;stroke-width:1.1}
.tp415-watermark{font-size:30px;font-weight:800;letter-spacing:.2em;fill:#c2187f;opacity:.12;text-anchor:middle}
.tp415-frame{fill:none;stroke:#b8862f;stroke-width:2}
.tp415-frame.is-inner{stroke-width:.8}
.tp415-corner path{fill:none;stroke:#b8862f;stroke-width:1.4}
.tp415-title{font:600 21px/1 var(--tp3-serif)!important;letter-spacing:.24em;fill:#0b2328;text-anchor:middle}
.tp415-title.is-small{font-size:11px!important;letter-spacing:.16em}
.tp415-name{font:italic 600 17px/1 var(--tp3-serif)!important;fill:#0a6b7a;text-anchor:middle}
.tp415-rule{stroke:#0b2328;stroke-width:1;opacity:.55}
.tp415-rule.is-dotted{stroke-dasharray:2 3}
.tp415-ink-soft{fill:#51666a;opacity:.32}
.tp415-mark{fill:none;stroke:#c2187f;stroke-width:1.8;stroke-dasharray:4 3}
.tp415-seal circle{fill:#e0b04a}
.tp415-seal circle.is-ring{fill:none;stroke:#fff;stroke-width:1.4;stroke-dasharray:2 2}
.tp415-ribbon{fill:#b8862f}
.tp415-mini-lbl{font-size:8px;font-weight:700;fill:#51666a;letter-spacing:.04em}
.tp415-spec-head{font-size:8px;font-weight:800;fill:#0b2328;letter-spacing:.14em}
.tp415-spec-lbl{font-size:10px;font-weight:600;fill:#183f42}
.tp415-lock rect{fill:#04424c}
.tp415-lock .tp415-shackle{fill:none;stroke:#04424c;stroke-width:5}
.tp415-lock circle{fill:#e0b04a}
.tp415-lock path:last-child{stroke:#e0b04a;stroke-width:3;stroke-linecap:round}
.tp415-doc{transform-box:view-box}
.tp415-doc.is-l{transform:translate(-92px,8px) rotate(-10deg)}
.tp415-doc.is-r{transform:translate(92px,8px) rotate(10deg)}

/* Scope: specimen cards */
.tp415-specimens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin-top:clamp(24px,3vw,40px)}
.tp415-specimen{display:flex;flex-direction:column;border:1px solid var(--tp3-line);border-radius:18px;background:#fff;box-shadow:var(--tp3-shadow-1);transition:transform .35s var(--tp3-ease),box-shadow .35s}
.tp415-specimen:hover{transform:translateY(-4px);box-shadow:var(--tp3-shadow-2)}
.tp415-specimen-art{position:relative;margin:0;padding:22px 18px 30px;border-radius:18px 18px 0 0;background:radial-gradient(120% 90% at 50% 0%,#fffdf6,#efe8d6);border-bottom:1px solid var(--tp3-line);min-height:250px;display:flex;align-items:center}
.tp415-specimen-body{padding:20px 22px 24px}
.tp-editorial .tp415-specimen h3{margin:8px 0 8px;font:600 1.55rem/1.12 var(--tp3-serif);color:var(--tp3-ink)}
.tp-editorial .tp415-specimen p{margin:0;font:400 .98rem/1.6 var(--tp3-sans);color:var(--tp3-text)}

/* Proof check: one large figure, legend beside it */
.tp415-proof-fig{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:center}
.tp-editorial .tp415-proof-fig h3{margin-top:0}

@media (prefers-reduced-motion:no-preference){
  .tp414-js .tp415-specimen{opacity:0;transform:translateY(22px)}
  .tp414-js .tp415-specimen.is-in{opacity:1;transform:none;transition:opacity .7s var(--tp3-ease),transform .7s var(--tp3-ease);transition-delay:calc(var(--i,0) * .08s)}
  .tp414-js .tp415-specimen.is-in:hover{transform:translateY(-4px);transition-delay:0s}
  .tp414-js [data-tp414-anim] .tp415-seal,.tp414-js [data-tp414-anim] .tp415-doc,.tp414-js [data-tp414-anim] .tp415-mark{animation-play-state:paused}
  .tp414-js .is-in .tp415-seal,.tp414-js .is-in .tp415-doc,.tp414-js .is-in .tp415-mark{animation-play-state:running}
  .tp415-seal{transform-box:fill-box;transform-origin:center;animation:tp415-seal 6s var(--tp3-ease) infinite}
  .tp415-doc.is-l{animation:tp415-fan-l 6s var(--tp3-ease-io) infinite}
  .tp415-doc.is-r{animation:tp415-fan-r 6s var(--tp3-ease-io) infinite}
  .tp415-mark{stroke-dashoffset:0;animation:tp415-march 1.6s linear infinite}
  .tp414-js .tp415-perf{stroke-dasharray:4 4!important;stroke-dashoffset:0!important;animation:none!important}
}
@keyframes tp415-seal{0%,12%{transform:scale(0) rotate(-40deg)}24%{transform:scale(1.15) rotate(6deg)}30%,92%{transform:scale(1) rotate(0)}100%{transform:scale(0) rotate(-40deg)}}
@keyframes tp415-fan-l{0%,10%{transform:translate(0,0) rotate(0)}30%,85%{transform:translate(-92px,8px) rotate(-10deg)}100%{transform:translate(0,0) rotate(0)}}
@keyframes tp415-fan-r{0%,10%{transform:translate(0,0) rotate(0)}30%,85%{transform:translate(92px,8px) rotate(10deg)}100%{transform:translate(0,0) rotate(0)}}
@keyframes tp415-march{to{stroke-dashoffset:-14}}

@media(max-width:900px){
  .tp415-specimens{grid-template-columns:minmax(0,1fr);max-width:560px}
  .tp415-proof-fig{grid-template-columns:minmax(0,1fr)}
}
