/*
 * Design 3.9 — the Printing page. Loaded only on /services/printing/, after v35.
 * Sections: hero film · print methods (clip + diagram) · press sheet ·
 * service details (picture cards) · process clips + job ticket · FAQ figure.
 */

/* Shared ------------------------------------------------------------------ */
.tp39-tag{top:14px;left:14px}
.tp39-crop{position:absolute;z-index:4;width:22px;height:22px;pointer-events:none}
.tp39-crop::before,.tp39-crop::after{content:'';position:absolute;background:currentColor}
.tp39-crop::before{width:22px;height:1px}.tp39-crop::after{width:1px;height:22px}
.tp39-crop.tl{top:-12px;left:-12px}.tp39-crop.tl::before{top:11px}.tp39-crop.tl::after{left:11px}
.tp39-crop.tr{top:-12px;right:-12px}.tp39-crop.tr::before{top:11px}.tp39-crop.tr::after{right:11px}
.tp39-crop.bl{bottom:-12px;left:-12px}.tp39-crop.bl::before{bottom:11px}.tp39-crop.bl::after{left:11px}
.tp39-crop.br{bottom:-12px;right:-12px}.tp39-crop.br::before{bottom:11px}.tp39-crop.br::after{right:11px}

/* 1. Hero film ------------------------------------------------------------ */
.tp-editorial .tp31-service-printing .tp31-hero-visual{padding-top:0}
.tp39-hero-film{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:16/11;border-radius:20px;background:var(--tp3-ink);box-shadow:0 50px 90px -46px #0b2328,0 0 0 1px #0b23281a}
.tp39-hero-film>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tp39-hero-film::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#0b232833 0%,transparent 30%,transparent 62%,#0b2328a6 100%)}
.tp39-reg-mark{position:absolute;top:14px;right:14px;z-index:3;width:34px;height:34px;color:#ffffffd9;animation:tp39-spin 12s linear infinite;filter:drop-shadow(0 2px 6px #0008)}
.tp39-keys{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;align-items:flex-end;gap:5px;height:58px;padding:10px 12px 10px 10px;border-radius:12px;background:#0b2328b8;backdrop-filter:blur(6px)}
.tp39-keys span{align-self:center;margin-right:6px;font:700 .56rem/1 var(--tp3-sans);letter-spacing:.16em;text-transform:uppercase;color:#e8efe9;writing-mode:vertical-rl;transform:rotate(180deg)}
.tp39-keys i{display:block;width:9px;height:100%;border-radius:3px;background:linear-gradient(to top,var(--k) var(--lvl,60%),#ffffff1f 0);animation:tp39-ink 3.4s var(--d) ease-in-out infinite alternate}
@property --lvl{syntax:'<percentage>';inherits:false;initial-value:60%}
@keyframes tp39-ink{0%{--lvl:38%}50%{--lvl:82%}100%{--lvl:56%}}
@keyframes tp39-spin{to{transform:rotate(1turn)}}

/* 2. Print methods: tabs + stage ------------------------------------------ */
.tp39-methods{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:start}
.tp39-tabs{display:grid;gap:10px}
.tp39-tab{border:1px solid var(--tp3-line);border-radius:16px;background:#fffdf8;transition:border-color .4s,box-shadow .5s var(--tp3-ease),background .4s}
.tp39-tab.is-active{border-color:#0b232833;background:#fff;box-shadow:var(--tp3-shadow-2)}
.tp39-tab>button{position:relative;display:grid;grid-template-columns:46px 1fr;align-items:center;width:100%;padding:18px 20px 16px;border:0;background:none;text-align:left;cursor:pointer;color:var(--tp3-ink)}
.tp39-num{font:600 1.15rem/1 var(--tp3-serif);color:var(--tp3-gold)}
.tp39-name{font:600 clamp(1.3rem,2vw,1.65rem)/1.1 var(--tp3-serif)}
.tp39-tab:not(.is-active)>button:hover .tp39-name{color:var(--tp3-teal-2)}
.tp39-bar{position:absolute;left:20px;right:20px;bottom:0;height:2px;background:var(--tp3-line);border-radius:2px;overflow:hidden;opacity:0;transition:opacity .3s}
.tp39-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--tp3-cyan),var(--tp3-magenta),var(--tp3-yellow));transform:scaleX(0);transform-origin:0 50%}
.tp39-tab.is-active .tp39-bar{opacity:1}
.tp39-methods.is-playing .tp39-tab.is-active .tp39-bar i{animation:tp39-fill var(--tp39-ms,7000ms) linear forwards}
.tp39-methods.is-paused .tp39-tab.is-active .tp39-bar i{transform:scaleX(1)}
@keyframes tp39-fill{to{transform:scaleX(1)}}
.tp39-panel{padding:4px 20px 20px 66px;animation:tp39-panel .6s var(--tp3-ease)}
@keyframes tp39-panel{from{opacity:0;transform:translateY(-6px)}}
.tp39-panel p{margin:0 0 12px;font-size:.93rem;line-height:1.6;color:var(--tp3-muted)}
.tp39-panel .tp39-what{color:var(--tp3-text);font-size:1rem}
.tp39-what b{display:block;margin-bottom:4px;font:700 .62rem/1.3 var(--tp3-sans);letter-spacing:.16em;text-transform:uppercase;color:#8a6a2c}
.tp39-diagram{margin:4px 0 14px;padding:12px 12px 6px;border-radius:12px;background:var(--tp3-ink);color:#e8efe9}
.tp39-diagram svg{display:block;width:100%;height:auto}
.tp39-fits{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none}
.tp39-fits li{padding:6px 10px;border-radius:99px;background:var(--tp3-paper);font:600 .74rem/1.2 var(--tp3-sans);color:var(--tp3-text)}
.tp39-fits .is-label{background:none;padding-left:0;font:700 .6rem/2 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--tp3-muted)}
.tp39-stage{position:sticky;top:calc(var(--tp3-header-h) + 28px);margin:12px;aspect-ratio:4/3;border-radius:20px;background:var(--tp3-ink);box-shadow:0 50px 90px -46px #0b2328;color:#0b232866}
.tp39-shot{position:absolute;inset:0;overflow:hidden;border-radius:20px;opacity:0;transition:opacity .8s var(--tp3-ease)}
.tp39-shot.is-on{opacity:1}
.tp39-shot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.4s var(--tp3-ease)}
.tp39-shot.is-on video{transform:none}
.tp39-shot figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:flex;align-items:baseline;gap:12px;font:500 clamp(1.4rem,2.4vw,2.1rem)/1.05 var(--tp3-serif);color:#fff;text-shadow:0 2px 18px #000a}
.tp39-shot figcaption span{font:700 .72rem/1 var(--tp3-sans);letter-spacing:.14em;color:#f0c063}
.tp39-shot::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0b2328c7)}

/* Diagram parts */
.tp39-lbl{font:700 7.5px var(--tp3-sans,sans-serif);letter-spacing:.08em;text-transform:uppercase;fill:#cfdcd8;text-anchor:middle}
.tp39-lbl.is-dark{fill:#0b2328}
.tp39-cyl circle{fill:#1d4a50;stroke:#9fb3b0;stroke-width:1}
.tp39-cyl circle.is-blanket{fill:#23363a}
.tp39-cyl circle.is-imp{fill:#16393e}
.tp39-rot path{stroke:#e8efe9;stroke-width:1.5}
.tp39-rot{animation:tp39-spin 3s linear infinite}
.tp39-rot.is-rev{animation-direction:reverse}
.tp39-img{fill:#c2187f}
.tp39-ink circle{fill:#c2187f;opacity:.9}
.tp39-cyl circle.tp39-inkarc{fill:none;stroke:#c2187f;stroke-width:3;stroke-linecap:round;stroke-dasharray:17 200}
.tp39-feed{fill:none;stroke:#9fb3b0;stroke-width:.8;stroke-dasharray:2 3;opacity:.5}
.tp39-cyl circle.tp39-inkroll{fill:#2a3f43;stroke:#c2187f;stroke-width:2.5}
.tp39-fount{fill:#1d4a50;stroke:#9fb3b0;stroke-width:1}
.tp39-fount-ink{stroke:#c2187f;stroke-width:3;stroke-linecap:round}
.tp39-move{animation:tp39-move 3s linear infinite}
@keyframes tp39-move{from{transform:translateX(0)}to{transform:translateX(350px)}}
.tp39-dash{fill:none;stroke:#e0b04a;stroke-width:2;stroke-dasharray:4 4;animation:tp39-dash 1s linear infinite}
@keyframes tp39-dash{to{stroke-dashoffset:-16}}
.tp39-head{animation:tp39-head 1.6s ease-in-out infinite alternate}
@keyframes tp39-head{to{transform:translateX(118px)}}
.tp39-bands rect{transform-origin:104px 0;transform:scaleX(0);animation:tp39-band 3.2s ease-in-out infinite}
.tp39-bands rect:nth-child(2){animation-delay:.25s}.tp39-bands rect:nth-child(3){animation-delay:.5s}.tp39-bands rect:nth-child(4){animation-delay:.75s}
@keyframes tp39-band{0%{transform:scaleX(0)}55%,85%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
.tp39-roll{animation:tp39-spin 2.5s linear infinite;transform-origin:58px 20px}
.tp39-film{fill:none;stroke:#bfe4f2;stroke-width:2;stroke-dasharray:3 3;animation:tp39-dash .8s linear infinite}
.tp39-heat{fill:#3a2a1a;stroke:#f39a3d;stroke-width:2;animation:tp39-glow 1.4s ease-in-out infinite alternate}
@keyframes tp39-glow{to{stroke:#ffd27a;filter:drop-shadow(0 0 4px #f39a3d)}}
.tp39-blade{animation:tp39-cut 3s ease-in-out infinite}
@keyframes tp39-cut{0%,60%,100%{transform:translateY(0)}72%,80%{transform:translateY(8px)}}
.tp39-gloss{animation:tp39-gloss 3s ease-in-out infinite}
@keyframes tp39-gloss{from{transform:translateX(0);opacity:.9}to{transform:translateX(46px);opacity:0}}
.tp39-sig{animation:tp39-gather 4.4s var(--tp3-ease) infinite}
.tp39-sig.s1{--x:-70px}.tp39-sig.s2{--x:-110px;animation-delay:.12s}.tp39-sig.s3{--x:-150px;animation-delay:.24s}
@keyframes tp39-gather{0%{transform:translateX(var(--x));opacity:0}18%,100%{transform:none;opacity:1}}
.tp39-spine{fill:#e0b04a;opacity:0;animation:tp39-show 4.4s infinite}
@keyframes tp39-show{0%,30%{opacity:0}40%,100%{opacity:1}}
.tp39-stitch path{stroke:#c2187f;stroke-width:2;opacity:0;animation:tp39-show 4.4s .3s infinite}
.tp39-cover{fill:none;stroke:#0a8fc4;stroke-width:2.5;opacity:0;animation:tp39-cover 4.4s infinite}
@keyframes tp39-cover{0%,52%{opacity:0}62%,100%{opacity:1}}
.tp39-trim{stroke:#f0c063;stroke-width:1.5;stroke-dasharray:3 3;opacity:0;animation:tp39-cover 4.4s .4s infinite}

/* 3. Press sheet ---------------------------------------------------------- */
.tp39-sheet-sec{background:linear-gradient(180deg,var(--tp3-cream),#efe9da)}
.tp39-sheet-sec .tp-section-heading{align-items:end}
.tp39-sheet-note{max-width:320px;margin:0;font:500 .86rem/1.55 var(--tp3-sans);color:var(--tp3-muted)}
.tp39-sheet{position:relative;margin:34px 14px 10px;padding:46px 40px 64px;border-radius:4px;background:#fffdf8 radial-gradient(circle at 20% 10%,#fff 0,transparent 60%);box-shadow:0 2px 0 #e8e1cf,0 4px 0 #efe9da,0 50px 80px -46px #0b232880;color:#0b2328;overflow:hidden}
.tp39-sheet>.tp39-crop{color:#0b2328;transform:scale(.9)}
.tp39-sheet>.tp39-crop.tl{top:12px;left:12px}.tp39-sheet>.tp39-crop.tr{top:12px;right:12px}.tp39-sheet>.tp39-crop.bl{bottom:12px;left:12px}.tp39-sheet>.tp39-crop.br{bottom:12px;right:12px}
.tp39-regm{position:absolute;width:20px;height:20px;color:#0b2328}
.tp39-regm svg{width:100%;height:100%}
.tp39-regm.t{top:14px;left:50%;margin-left:-10px}.tp39-regm.b{bottom:34px;left:50%;margin-left:-10px}.tp39-regm.l{left:12px;top:50%;margin-top:-10px}.tp39-regm.r{right:12px;top:50%;margin-top:-10px}
.tp39-slug{position:absolute;top:16px;left:48px;right:48px;display:flex;justify-content:space-between;margin:0;font:700 .56rem/1 var(--tp3-sans);letter-spacing:.16em;text-transform:uppercase;color:#8b9a98}
.tp39-slug span:nth-child(2){margin-right:auto;margin-left:40px}
.tp39-pages{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border:1px dashed #b9c4c1}
.tp39-pages li{position:relative;border-right:1px dashed #b9c4c1;border-bottom:1px dashed #b9c4c1}
.tp39-pages li:nth-child(4n){border-right:0}.tp39-pages li:nth-child(n+5){border-bottom:0}
.tp39-page{position:relative;display:flex;flex-direction:column;height:100%;padding:14px 14px 16px;color:inherit!important;text-decoration:none!important;transition:transform .5s var(--tp3-ease),box-shadow .5s,background .4s;z-index:1}
.tp39-page:hover,.tp39-page:focus-visible{z-index:3;background:#fff;transform:translateY(-8px) rotate(-.6deg);box-shadow:0 30px 50px -24px #0b232866}
.tp39-page-art{position:relative;display:block;aspect-ratio:4/3;margin-bottom:12px;overflow:hidden;border-radius:3px;background:#e9e2d0}
.tp39-page-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:filter 1s var(--tp3-ease),transform 1.2s var(--tp3-ease)}
.tp39-page-art::after{content:'';position:absolute;inset:0;background:#0a8fc4;mix-blend-mode:screen;opacity:0;transition:opacity 1s var(--tp3-ease)}
.tp39-js .tp39-page-art img{filter:grayscale(1) contrast(.9) brightness(1.08)}
.tp39-js .tp39-page-art::after{opacity:.28}
.tp39-js .tp39-sheet.is-inked .tp39-page-art img{filter:none;transition-delay:calc(.35s + var(--c) * .32s)}
.tp39-js .tp39-sheet.is-inked .tp39-page-art::after{opacity:0;transition-delay:calc(.35s + var(--c) * .32s)}
.tp39-page:hover .tp39-page-art img{transform:scale(1.06)}
.tp39-folio{font:700 .6rem/1 var(--tp3-sans);letter-spacing:.16em;text-transform:uppercase;color:#8a6a2c}
.tp39-page strong{margin:6px 0 6px;font:600 clamp(1.05rem,1.4vw,1.3rem)/1.12 var(--tp3-serif);color:var(--tp3-ink)}
.tp39-page-d{font-size:.8rem;line-height:1.45;color:var(--tp3-muted)}
.tp39-page i{margin-top:auto;padding-top:10px;font:700 .7rem/1 var(--tp3-sans);font-style:normal;letter-spacing:.06em;color:var(--tp3-teal-2);opacity:0;transform:translateY(4px);transition:opacity .35s,transform .4s var(--tp3-ease)}
.tp39-page:hover i,.tp39-page:focus-visible i{opacity:1;transform:none}
.tp39-colorbar{position:absolute;left:48px;right:48px;bottom:16px;display:grid;grid-template-columns:repeat(12,1fr);height:10px}
.tp39-colorbar i{display:block}
.tp39-roller{position:absolute;top:0;bottom:0;left:-12%;width:10%;z-index:5;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,#0b232814 20%,#0b232833 45%,#ffffff99 55%,#0b23281f 70%,transparent)}
.tp39-sheet.is-inked .tp39-roller{animation:tp39-roll 1.8s .2s var(--tp3-ease-io) forwards}
@keyframes tp39-roll{0%{opacity:1;left:-12%}100%{opacity:1;left:104%}}

/* 4. Service details: picture cards --------------------------------------- */
.tp39-details{background:#fffdf8}
.tp39-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,30px)}
.tp39-detail{display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid var(--tp3-line);border-radius:18px;background:#fff;transition:transform .6s var(--tp3-ease),box-shadow .6s var(--tp3-ease)}
.tp39-detail:hover{transform:translateY(-6px);box-shadow:var(--tp3-shadow-2)}
.tp39-detail-visual{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--tp3-ink)}
.tp39-detail-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--tp3-ease)}
.tp39-detail:hover .tp39-detail-visual>img{transform:scale(1.05)}
.tp39-detail-body{position:relative;padding:24px 26px 28px}
.tp39-detail-n{font:600 1rem/1 var(--tp3-serif);color:var(--tp3-gold)}
.tp-editorial .tp39-detail h2{margin:8px 0 10px;font:500 clamp(1.6rem,2.4vw,2.1rem)/1.08 var(--tp3-serif);color:var(--tp3-ink)}
.tp39-detail p{margin:0 0 12px;color:var(--tp3-muted);line-height:1.65}
.tp39-chips{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.tp39-chips li{padding:7px 11px;border-radius:99px;background:#fffdf8f0;font:700 .7rem/1 var(--tp3-sans);color:var(--tp3-ink);box-shadow:0 10px 20px -10px #0008}
.tp39-js .tp39-chips li{opacity:0;transform:translateY(12px) scale(.9)}
.tp39-chips.is-dark li{background:#0b2328e6;color:#fff}
.tp39-js .is-in .tp39-chips li{animation:tp39-pop .6s calc(.3s + var(--k) * .14s) var(--tp3-ease) forwards}
@keyframes tp39-pop{to{opacity:1;transform:none}}
/* Preflight diagram */
.tp39-preflight{position:absolute;inset:0;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:18px;padding:20px 22px;background:radial-gradient(120% 120% at 0 0,#0a5b67,var(--tp3-ink))}
.tp39-doc{position:relative;justify-self:center;width:min(150px,100%);aspect-ratio:3/4}
.tp39-bleed,.tp39-trimbox,.tp39-safe{position:absolute;border-radius:2px}
.tp39-bleed{inset:0;background:#c2187f22;border:1.5px dashed #e27ab5}
.tp39-trimbox{inset:9px;background:#fffdf8;box-shadow:0 10px 24px -10px #000a}
.tp39-safe{inset:20px;border:1.5px dashed #0a8fc4}
.tp39-doc-art{position:absolute;inset:26px 26px 30px;display:grid;gap:6px;align-content:start}
.tp39-doc-art i{display:block;height:7px;border-radius:2px;background:#d9d2c2}
.tp39-doc-art i:first-child{height:30px;background:linear-gradient(135deg,#0a8fc4,#c2187f)}
.tp39-doc-art i:nth-child(3){width:70%}
.tp39-doc em{position:absolute;font:700 .5rem/1 var(--tp3-sans);letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:#fff;white-space:nowrap}
.tp39-doc .l-bleed{top:-12px;left:0;color:#e27ab5}.tp39-doc .l-trim{bottom:-13px;left:9px;color:#f0c063}.tp39-doc .l-safe{top:22px;right:-2px;transform:translateX(100%);color:#6cc3e6}
.tp39-checks{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.tp39-checks li{position:relative;padding:8px 10px 8px 34px;border-radius:10px;background:#ffffff12;font:600 .78rem/1.35 var(--tp3-sans);color:#e8efe9;transition:opacity .4s}
.tp39-js .tp39-checks li{opacity:.35}
.tp39-checks li::before{content:'';position:absolute;left:10px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;border:1.5px solid #9fb3b0}
.tp39-checks li::after{content:'';position:absolute;left:15px;top:50%;width:5px;height:9px;margin-top:-6px;border:solid #0b2328;border-width:0 2px 2px 0;transform:rotate(45deg)}
.tp39-js .tp39-checks li::after{transform:rotate(45deg) scale(0)}
html:not(.tp39-js) .tp39-checks li::before{background:#7fd1a0;border-color:#7fd1a0}
.tp39-js .is-in .tp39-checks li{animation:tp39-check .5s calc(.4s + var(--k) * .55s) forwards}
.tp39-js .is-in .tp39-checks li::before{animation:tp39-checkbg .4s calc(.4s + var(--k) * .55s) forwards}
.tp39-js .is-in .tp39-checks li::after{animation:tp39-tick .35s calc(.55s + var(--k) * .55s) var(--tp3-ease) forwards}
@keyframes tp39-check{to{opacity:1}}
@keyframes tp39-checkbg{to{background:#7fd1a0;border-color:#7fd1a0}}
@keyframes tp39-tick{to{transform:rotate(45deg) scale(1)}}
.tp39-visual-note{position:absolute;left:16px;top:14px;z-index:2;padding:6px 10px;border-radius:99px;background:#ffffff1f;font:700 .58rem/1 var(--tp3-sans);letter-spacing:.14em;text-transform:uppercase;color:#f0c063}
.tp39-preflight{padding-top:44px}
/* Design → proof → print route */
.tp39-route{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:flex;align-items:center;gap:0;margin:0;padding:6px;border-radius:99px;background:#0b2328cc;backdrop-filter:blur(6px);list-style:none}
.tp39-route li{flex:1;padding:8px 6px;border-radius:99px;font:700 .7rem/1 var(--tp3-sans);text-align:center;color:#cfdcd8;transition:background .4s,color .4s}
.tp39-route li+li{position:relative}
.tp39-route li+li::before{content:'→';position:absolute;left:-6px;top:50%;transform:translateY(-50%);color:#f0c06399}
.is-in .tp39-route li{animation:tp39-step 4s calc(var(--k) * 1s) infinite}
@keyframes tp39-step{0%,20%{background:var(--tp3-gold-soft);color:#0b2328}25%,100%{background:transparent;color:#cfdcd8}}
/* Shipping arc */
.tp39-ship{position:absolute;left:14px;right:14px;top:50px;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#0b2328b3;backdrop-filter:blur(6px);color:#fff;font:700 .66rem/1.2 var(--tp3-sans);letter-spacing:.06em}
.tp39-ship svg{width:100%;height:34px;overflow:visible}
.tp39-arc{fill:none;stroke:#f0c063;stroke-width:1.5;stroke-dasharray:4 4;animation:tp39-dash 1.2s linear infinite}
.tp39-dot{fill:#fff;filter:drop-shadow(0 0 4px #f0c063)}
.tp39-ship .a,.tp39-ship .b{white-space:nowrap}

/* 5. Process: clips + job ticket ------------------------------------------ */
.tp39-flow{position:relative;background:var(--tp3-ink);color:var(--tp3-on-dark)}
.tp39-flow .tp-eyebrow{color:#f0c063!important}
.tp-editorial .tp39-flow h2{color:#fff}
.tp39-flow .tp-lead{color:#cfdcd8}
.tp39-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin:10px 0 0;padding:0;list-style:none;counter-reset:none}
.tp39-step{position:relative;overflow:hidden;border-radius:18px;background:#12353b;box-shadow:0 0 0 1px #ffffff14;transition:transform .6s var(--tp3-ease),box-shadow .6s}
.tp39-step:hover{transform:translateY(-6px);box-shadow:0 0 0 1px #f0c06366,0 30px 60px -30px #000}
.tp39-step figure{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden}
.tp39-step video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tp39-step-body{padding:20px 22px 24px}
.tp39-step-n{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--tp3-gold-soft);color:#0b2328;font:700 .82rem/1 var(--tp3-sans)}
.tp-editorial .tp39-step h3{margin:12px 0 8px;font:500 1.6rem/1.1 var(--tp3-serif);color:#fff}
.tp39-step p{margin:0;color:#cfdcd8;line-height:1.6}
.tp39-path{position:relative;height:28px;margin:6px 16.66% 26px}
.tp39-path::before{content:'';position:absolute;left:0;right:0;top:50%;border-top:2px dashed #f0c06366}
.tp39-path i{position:absolute;top:50%;width:26px;height:18px;margin-top:-9px;border-radius:2px;background:#fffdf8;box-shadow:0 6px 12px -6px #000;animation:tp39-sheetrun 6s linear infinite}
.tp39-path i:nth-child(2){animation-delay:-2s}.tp39-path i:nth-child(3){animation-delay:-4s}
@keyframes tp39-sheetrun{from{left:0;transform:rotate(-4deg)}50%{transform:rotate(4deg)}to{left:calc(100% - 26px);transform:rotate(-4deg)}}
.tp39-js [data-tp39-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--tp3-ease),transform .9s var(--tp3-ease)}
.tp39-js .is-in[data-tp39-reveal]{opacity:1;transform:none}
.tp39-step.is-in{transition-delay:calc(var(--k) * .12s)}
/* Job ticket */
.tp39-ticket{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px 40px;padding:32px 36px 30px;border-radius:14px;background:#fffdf5;color:var(--tp3-text);box-shadow:0 40px 80px -40px #000;-webkit-mask:radial-gradient(circle 9px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 9px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 9px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat}
.tp39-ticket::before{content:'';position:absolute;top:0;bottom:0;left:calc(40% - 20px);border-left:2px dashed #d9d0bb}
.tp39-ticket-head{grid-row:span 2}
.tp39-ticket-head .tp-eyebrow{color:#8a6a2c!important}
.tp-editorial .tp39-ticket h3{margin:6px 0 12px;font:500 clamp(1.7rem,2.6vw,2.3rem)/1.05 var(--tp3-serif);color:var(--tp3-ink)}
.tp39-ticket-no{display:inline-block;padding:6px 10px;border:1.5px solid var(--tp3-ink);border-radius:4px;font:700 .62rem/1 var(--tp3-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--tp3-ink)}
.tp39-ticket-intro{grid-column:1;margin:0;color:var(--tp3-muted);font-size:.92rem;line-height:1.6}
.tp39-fields{grid-column:2;grid-row:1 / span 3;display:grid;gap:12px;margin:0;padding:0;list-style:none;align-content:start}
.tp39-fields li{display:grid;grid-template-columns:30px auto 1fr;align-items:end;gap:10px}
.tp39-fields .k{font:700 .7rem/1.6 var(--tp3-sans);color:#8a6a2c}
.tp39-fields .f{font:600 .95rem/1.4 var(--tp3-sans);color:var(--tp3-ink)}
.tp39-fields .line{height:1px;margin-bottom:6px;background:repeating-linear-gradient(90deg,#b9b09a 0 5px,transparent 5px 9px);transform-origin:0 50%}
.tp39-js .tp39-fields .line{transform:scaleX(0)}
.tp39-js .is-in .tp39-fields .line{animation:tp39-line .8s calc(.2s + var(--k) * .12s) var(--tp3-ease) forwards}
@keyframes tp39-line{to{transform:none}}
.tp39-ticket-foot{grid-column:1;display:grid;gap:12px;align-content:start}
.tp39-ticket-foot p{margin:0;font-size:.85rem;color:var(--tp3-muted)}
.tp39-ticket-foot .tp-button{justify-self:start;border-radius:99px}
.tp39-stamp{position:absolute;right:26px;bottom:18px;padding:8px 14px;border:3px solid #c2187f;border-radius:6px;font:800 .8rem/1 var(--tp3-sans);letter-spacing:.22em;text-transform:uppercase;color:#c2187f;opacity:.85;transform:rotate(-10deg)}
.tp39-js .tp39-stamp{opacity:0;transform:rotate(-10deg) scale(1.8)}
.tp39-js .is-in .tp39-stamp{animation:tp39-stamp .5s 1.2s cubic-bezier(.2,1.6,.4,1) forwards}
@keyframes tp39-stamp{to{opacity:.85;transform:rotate(-10deg) scale(1)}}

/* 6. FAQ figure ------------------------------------------------------------ */
.tp39-faq-fig{position:relative;margin:26px 0 0;overflow:hidden;border-radius:16px;aspect-ratio:4/3;background:var(--tp3-ink);box-shadow:var(--tp3-shadow-2)}
.tp39-faq-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:tp39-kb 18s ease-in-out infinite alternate}
@keyframes tp39-kb{from{transform:scale(1)}to{transform:scale(1.1) translate(-2%,-2%)}}
.tp39-faq-fig figcaption{position:absolute;left:14px;bottom:12px;z-index:2;padding:6px 10px;border-radius:99px;background:#fffdf8e6;font:600 .74rem/1 var(--tp3-sans);color:var(--tp3-ink)}

/* Responsive --------------------------------------------------------------- */
@media(max-width:1100px){
  .tp39-methods{grid-template-columns:1fr}
  .tp39-stage{position:relative;top:auto;order:-1;margin:0 0 6px}
  .tp39-stage .tp39-crop{display:none}
  .tp39-pages{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tp39-pages li:nth-child(4n){border-right:1px dashed #b9c4c1}.tp39-pages li:nth-child(2n){border-right:0}
  .tp39-pages li:nth-child(n+5){border-bottom:1px dashed #b9c4c1}.tp39-pages li:nth-child(n+7){border-bottom:0}
  .tp39-sheet .tp39-page-art img{transition-delay:0s!important}
  .tp39-ticket{grid-template-columns:1fr}.tp39-ticket::before{display:none}
  .tp39-fields,.tp39-ticket-intro,.tp39-ticket-foot{grid-column:1;grid-row:auto}
  .tp39-ticket-head{grid-row:auto}
}
@media(max-width:900px){
  .tp39-detail-grid{grid-template-columns:1fr}
  .tp39-steps{grid-template-columns:1fr}
  .tp39-path{display:none}
  .tp39-sheet-sec .tp-section-heading{align-items:start}
}
@media(max-width:600px){
  .tp39-hero-film{aspect-ratio:4/3.4}
  .tp39-keys{height:46px;padding:8px}
  .tp39-panel{padding:0 16px 18px}
  .tp39-tab>button{grid-template-columns:36px 1fr;padding:16px}
  .tp39-sheet{margin:26px 6px 6px;padding:40px 14px 50px}
  .tp39-slug{left:36px;right:36px;font-size:.48rem}.tp39-slug span:nth-child(2){display:none}
  .tp39-regm.t{display:none}
  .tp39-colorbar{left:36px;right:36px}
  .tp39-page{padding:10px 8px 12px}
  .tp39-page-d{display:none}
  .tp39-page strong{font-size:.98rem}
  .tp39-page i{opacity:1;transform:none}
  .tp39-preflight{grid-template-columns:1fr;padding:40px 14px 14px;gap:10px}
  .tp39-doc{display:none}
  .tp39-checks li{font-size:.72rem;padding:7px 8px 7px 30px}
  .tp39-detail-visual{aspect-ratio:4/3}
  .tp39-ship{top:46px;font-size:.6rem}
  .tp39-ticket{padding:26px 20px 70px}
  .tp39-fields li{grid-template-columns:26px 1fr}.tp39-fields .line{grid-column:2}
}
@media(prefers-reduced-motion:reduce){
  .tp39-reg-mark,.tp39-keys i,.tp39-rot,.tp39-move,.tp39-dash,.tp39-head,.tp39-bands rect,.tp39-roll,.tp39-film,.tp39-heat,.tp39-blade,.tp39-gloss,.tp39-sig,.tp39-spine,.tp39-stitch path,.tp39-cover,.tp39-trim,.tp39-path i,.tp39-faq-fig img,.tp39-arc,.is-in .tp39-route li{animation:none!important}
  .tp39-bands rect,.tp39-spine,.tp39-stitch path,.tp39-cover{transform:none;opacity:1}
  [data-tp39-reveal]{opacity:1;transform:none}
  .tp39-page-art img{filter:none}.tp39-page-art::after{opacity:0}
  .tp39-chips li,.tp39-checks li,.tp39-stamp{opacity:1;transform:none;animation:none!important}
  .tp39-fields .line{transform:none}
}

/* Menu deep links: the chosen method sits below the fixed header and flashes once. */
.tp39-tab[id]{scroll-margin-top:calc(var(--tp3-header-h) + 24px)}
.tp39-methods{scroll-margin-top:calc(var(--tp3-header-h) + 16px)}
.tp39-tab.is-target{animation:tp39-target 1.6s var(--tp3-ease)}
@keyframes tp39-target{0%{box-shadow:0 0 0 0 #c2187f66}35%{box-shadow:0 0 0 8px #c2187f33}100%{box-shadow:var(--tp3-shadow-2)}}
.tp-editorial .tp39-guide-link{display:inline-block;margin-top:16px;font-weight:600}
