/* A fixed-height image stage, a single modal scroller, and true cover proportions. */
.print-hero-card,.print-hero-card:hover,.print-hero-card:focus-visible{transform:none;max-height:none;width:min(340px,82vw);aspect-ratio:5/7}
.print-hero-card picture,.print-hero-card img{width:100%;height:100%;max-height:none;object-fit:contain}
html.print-preview-open{overflow:hidden;overscroll-behavior:none}
.print-dialog{position:fixed;inset:0;margin:auto;width:min(1180px,96vw);height:min(860px,94dvh);max-height:94dvh;overflow:hidden}
.print-dialog-layout{height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);align-items:start;scrollbar-gutter:stable}
.print-dialog-stage{height:min(820px,90dvh);min-height:400px;padding:72px 28px 48px;flex-shrink:0;align-self:start}
.print-dialog-stage>picture{width:100%;height:100%;min-height:0;overflow:hidden}.print-dialog-stage>picture img{width:100%;height:100%;object-fit:contain}
.print-dialog-stage [hidden]{display:none!important}
.print-dialog-close{position:absolute;right:8px;top:8px;z-index:8;width:44px;height:44px}
.print-dialog-copy{align-self:start;padding:74px 24px 30px}.print-dialog-copy h2{font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.2;margin:16px 0}.print-dialog-copy p{font-size:15px}
.print-view-switch{position:absolute;top:12px;left:12px;right:56px;display:flex;justify-content:center;gap:5px;z-index:4}.print-view-switch button{min-height:44px;border:1px solid #7c88b8;border-radius:9px;background:#10172d;color:#e8efff;font:inherit;font-size:12px;padding:5px 10px;line-height:1.2}.print-view-switch button[aria-pressed=true]{color:#071322;background:#a3e8f1;border-color:#b9f2ff}
.print-card-model{width:100%;height:100%;display:grid;place-items:center;perspective:1100px}
.print-card-spread{display:grid;grid-template-columns:1fr 1fr;width:min(100%,740px);aspect-ratio:10/7;max-height:100%;filter:drop-shadow(0 22px 22px #0009);color:var(--card-accent);border-radius:4px;transform:rotate(-1deg)}
.print-card-left,.print-card-right{position:relative;background:var(--card-paper);min-width:0;overflow:hidden;box-sizing:border-box}
.print-card-left{display:grid;place-items:center;border-radius:4px 0 0 4px;background:linear-gradient(90deg,#f7eddb,var(--card-paper) 18%,var(--card-paper) 95%,#d9cdb7)}
.print-card-left::before,.print-card-right::before{content:"";position:absolute;inset:7%;border:1px solid color-mix(in srgb,var(--card-accent) 28%,transparent);pointer-events:none}
.print-card-inside-mark{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:1;color:color-mix(in srgb,var(--card-accent) 60%,transparent);text-shadow:0 1px #fff8}
.print-card-right{display:flex;flex-direction:column;justify-content:center;text-align:center;padding:9%;border-left:1px solid #b8a98e;background:linear-gradient(90deg,#e3d7c2,var(--card-paper) 8%);border-radius:0 4px 4px 0}
.print-card-right::after{content:"";position:absolute;inset:0 auto 0 -8px;width:16px;background:linear-gradient(90deg,transparent,#7c6b5633,transparent);pointer-events:none}
.print-card-ornament{font-size:clamp(14px,2vw,23px);color:var(--card-accent);margin-bottom:6%}
.print-card-right h3{font-family:Georgia,serif;font-size:clamp(13px,1.4vw,21px);font-weight:400;line-height:1.28;margin:0 0 8%}.print-card-right p{font-family:Georgia,serif;font-size:clamp(10px,1vw,15px);line-height:1.55;margin:0}.print-card-right .print-card-signature{font-style:italic;margin-top:9%;font-size:clamp(9px,.9vw,13px)}
.print-card-fold{position:relative;width:min(56%,360px);aspect-ratio:5/7;transform:perspective(1050px) rotateY(-20deg) rotateX(5deg) rotateZ(-3deg);transform-style:preserve-3d;filter:drop-shadow(30px 25px 16px #0009)}
.print-card-fold-back{position:absolute;inset:0;background:var(--card-paper);border:1px solid #d8cbb6;border-radius:3px;transform:translate(18px,10px) rotateY(5deg);box-shadow:inset -4px 0 10px #8f80644d}
.print-card-fold-cover{position:absolute;inset:0;border-radius:3px;overflow:hidden;background:#0b1520;box-shadow:4px 2px 1px #f5ebd9,8px 4px 1px #b2a58e,13px 9px 18px #0008}
.print-card-fold .print-card-art{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.print-dialog{width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.print-dialog-layout{display:block;overflow-y:auto;overflow-x:hidden}.print-dialog-stage{height:64dvh;min-height:390px;padding:66px 16px 46px}.print-dialog-copy{padding:20px 22px 40px}.print-dialog-copy h2{font-size:23px}.print-view-switch button{padding:6px;font-size:11px}.print-card-right{padding:7%}.print-card-right h3{font-size:14px;margin-bottom:10%}.print-card-right p{font-size:11px;line-height:1.5}.print-card-right .print-card-signature{font-size:10px}.print-card-caption{font-size:10px}.print-dialog-stage>span{font-size:11px;max-width:95%;white-space:normal;text-align:center}.print-hero-card{max-height:none}.print-hero-card img{max-height:none}}
@media(max-width:370px){.print-card-right h3{font-size:12px}.print-card-right p{font-size:10px}.print-card-right .print-card-signature{font-size:9px}.print-card-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.print-card-fold{transform:perspective(1050px) rotateY(-14deg)}}

/* Keep longer personalized messages within the printed page at phone widths. */
@media(max-width:760px){.print-card-right{padding:6%}.print-card-ornament{margin-bottom:4%;font-size:16px}.print-card-right h3{margin-bottom:6%}.print-card-right p{line-height:1.4}.print-card-right .print-card-signature{margin-top:6%}}

.print-dialog-stage>picture{display:block;position:relative}.print-dialog-stage>picture img{position:absolute;inset:0;min-height:0;min-width:0;width:100%;height:100%;max-height:100%;object-fit:contain}

@media(max-width:370px){.print-card-right{padding:5%}.print-card-ornament{font-size:12px;margin-bottom:2%}.print-card-right h3{font-size:11px;line-height:1.2;margin-bottom:4%}.print-card-right p{font-size:9.5px;line-height:1.3}.print-card-right .print-card-signature{font-size:8.5px;margin-top:4%}}

@media(max-width:760px){.print-dialog[data-print-category="business-cards"] .print-dialog-stage{height:calc((100vw - 32px) * .666667 + 110px);min-height:0;padding-top:62px;padding-bottom:48px}}

/* One complete, coordinated card; the same print finish carries into the dialog. */
.print-feature{background:linear-gradient(180deg,#0b0c15,#11101b 54%,#080a11);border-block:1px solid #d7b98b30}
.print-feature-heading{max-width:760px;margin:0 auto 34px;text-align:center}
.print-feature-heading h2{font-family:Georgia,serif;font-size:clamp(28px,3.5vw,52px);font-weight:400;letter-spacing:.02em;margin:12px 0}
.print-feature-heading p:last-child,.print-feature-note{color:#d3cbd1;font-size:16px;line-height:1.65}
.print-feature-pair{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(28px,4vw,65px);align-items:center;max-width:1050px;margin:auto}
.print-feature-pair figure{margin:0;min-width:0}
.print-feature-cover{max-width:310px;justify-self:end;transform:rotate(-4deg);filter:drop-shadow(16px 27px 21px #000b)}
.print-feature-cover picture,.print-feature-cover img{display:block;width:100%;height:auto;border-radius:3px}
.print-feature-cover img{border:1px solid #d9c8a2;box-shadow:3px 3px 1px #f3e7d0,7px 7px 1px #a99c83}
.print-feature-interior{--card-accent:#644037;--card-paper:#faf4e6;transform:rotate(1deg)}
html[lang^="fr"] .print-feature-interior{--card-accent:#374766;--card-paper:#faf4e6}
.print-card-model{--card-accent:#644037;--card-paper:#faf4e6}
.print-feature-interior .print-card-spread{width:100%;max-width:620px;aspect-ratio:10/7;max-height:none;transform:none}
.print-feature-pair figcaption{font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-align:center;color:#e3c49a;margin-top:25px}
.print-feature-note{max-width:780px;margin:40px auto 0;text-align:center;font-size:13px;color:#bdb5bb}
.print-card-left{background:#ebe0cb}
.print-card-inside-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.24;filter:sepia(.5) saturate(.7);mask-image:linear-gradient(90deg,#0006,#000 12% 75%,#0006)}
.print-card-left::after{content:"";position:absolute;inset:10%;border:1px solid color-mix(in srgb,var(--card-accent) 45%,transparent);pointer-events:none}
.print-card-inside-mark{position:relative;z-index:1;color:var(--card-accent);text-shadow:0 2px 4px #fff,0 0 20px #fff;font-size:clamp(3rem,5vw,5rem)}
.print-card-right{background:linear-gradient(90deg,#e1d5c1,var(--card-paper) 9% 94%,#e9dec9);box-shadow:inset 0 0 35px #6b594118}
.print-card-right h3{font-size:clamp(14px,1.55vw,23px)}
.print-card-right p{font-size:clamp(11px,1.05vw,16px)}
.print-dialog-stage{background:radial-gradient(ellipse at 50% 44%,#83677448,transparent 64%),#090c15}
.print-view-switch{gap:9px}.print-view-switch button{border-color:#bfa37587;border-radius:3px;background:#18131b;color:#f3e5d8;letter-spacing:.06em}.print-view-switch button[aria-pressed=true]{background:#e5cc9f;color:#1b1511;border-color:#f3dfb7}
@media(max-width:760px){.print-feature-pair{grid-template-columns:1fr;gap:40px}.print-feature-cover{justify-self:center;width:min(250px,70%)}.print-feature-interior .print-card-spread{margin:auto;width:min(100%,560px)}.print-feature-interior .print-card-right h3{font-size:16px}.print-feature-interior .print-card-right p{font-size:13px}.print-feature-heading{margin-bottom:42px}.print-feature-pair figcaption{margin-top:18px}.print-feature-note{margin-top:28px}}
@media(max-width:440px){.print-feature-interior .print-card-spread,.print-dialog-stage .print-card-spread{grid-template-columns:1fr;width:min(270px,76vw);aspect-ratio:5/7;margin:auto;max-height:100%;transform:none}.print-feature-interior .print-card-left,.print-dialog-stage .print-card-left{display:none}.print-feature-interior .print-card-right,.print-dialog-stage .print-card-right{border-left:0;border-radius:3px;padding:12%;box-shadow:inset 0 0 32px #6b594118,3px 3px 1px #f3e7d0,7px 7px 1px #a99c83}.print-feature-interior .print-card-right h3,.print-dialog-stage .print-card-right h3{font-size:18px}.print-feature-interior .print-card-right p,.print-dialog-stage .print-card-right p{font-size:14px;line-height:1.5}.print-feature-interior .print-card-signature,.print-dialog-stage .print-card-signature{font-size:12px}.print-feature-interior .print-card-ornament{margin-bottom:8%}}

/* Bespoke illustrated interiors: retain both pages at every viewport size. */
.print-illustrated-spread{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 14px 20px #0008)}
.print-illustrated-feature,.print-illustrated-feature img{display:block;width:100%;height:auto;border-radius:3px;filter:drop-shadow(0 12px 16px #0006)}
.print-feature-interior:has(.print-illustrated-feature){transform:none}
.print-fullsize-link{display:inline-flex;align-items:center;min-height:44px;color:#ead2a4;text-underline-offset:4px}.print-fullsize-link[hidden]{display:none}
.print-card-model[data-view=inside]:has(.print-illustrated-spread){width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center}
@media(max-width:760px){.print-dialog:has(.print-illustrated-spread) .print-dialog-stage{height:calc((100vw - 32px) * .7 + 120px);min-height:0;padding:65px 16px 48px}}
