:root{--color-canvas:#f5f0e8;--color-ink:#272321;--color-ink-secondary:#625a54;--color-accent:#c1644e;--color-divider:#c2bdb6;--color-surface-muted:#e5e0d8;--paper:#fcfaf6;--paper-edge:#ddd6cb;--font-display:"Bodoni FLF", "Bodoni Moda", Didot, "Times New Roman", serif;--font-ui:"DG Helvetica Neue", "Helvetica Neue", Helvetica, Arial, sans-serif;--tracking-action:.12em;--control-height:44px;--button-height:36px;--card-w:min(100vw - 48px, 30rem);--thick:3px}@font-face{font-family:Bodoni FLF;src:url(/generated/fonts/bodoni-flf-latin.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:DG Helvetica Neue;src:url(/generated/fonts/helvetica-neue-400-latin.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:DG Helvetica Neue;src:url(/generated/fonts/helvetica-neue-500-latin.woff2)format("woff2");font-weight:500;font-display:swap}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--color-canvas);color:var(--color-ink);font:400 1rem/1.5 var(--font-ui);-webkit-font-smoothing:antialiased;overflow:hidden}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 20px max(16px, env(safe-area-inset-bottom));background:radial-gradient(60% 50% at 50% 45%, #fbf8f3 0%, var(--color-canvas) 60%, #ece6dc 100%);place-content:center;justify-items:center;gap:16px;display:grid}.table{transition:width .7s cubic-bezier(.2,.8,.2,1),height .7s cubic-bezier(.2,.8,.2,1);position:relative}.slot{width:var(--card-w);height:calc(var(--card-w) * 55 / 85);margin:calc(var(--card-w) * -55 / 170) 0 0 calc(var(--card-w) / -2);transform:translate(var(--x,0), var(--y,0)) rotate(var(--rz,0));transition:transform .9s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;left:50%}.section-label{font:400 1.0625rem/1.4 var(--font-display);letter-spacing:.01em;text-align:center;color:var(--color-ink-secondary);margin:12px 0 0;transition:opacity .4s;position:absolute;top:100%;left:0;right:0}.stage[data-state=pack] .section-label,.stage[data-state=joined] .section-label{opacity:0}.scene{perspective:1400px;touch-action:none;width:100%;height:100%;position:relative;container-type:size}.card{transform-style:preserve-3d;transform:rotateX(calc(var(--rx,0) * 1deg)) rotateY(calc(var(--ry,0) * 1deg));cursor:grab;-webkit-user-select:none;user-select:none;outline:none;position:absolute;inset:0}.card.is-dragging{cursor:grabbing}.card:focus-visible .face{outline:1px solid var(--color-ink);outline-offset:6px}.face{background:var(--paper);backface-visibility:hidden;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .15 0 0 0 0 .13 0 0 0 0 .12 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");border-radius:1.2cqw;position:absolute;inset:0;overflow:hidden}.face--front{transform:translateZ(calc(var(--thick) / 2));place-items:center;display:grid}.face--back{transform:rotateY(180deg) translateZ(calc(var(--thick) / 2))}.sheen{pointer-events:none;background:linear-gradient(105deg, transparent calc(var(--light,50%) - 30%), #ffffff8c var(--light,50%), transparent calc(var(--light,50%) + 30%)), rgb(39 35 33/var(--shade,0));mix-blend-mode:soft-light;position:absolute;inset:0}.face--back .sheen{--light:var(--light-back,50%);--shade:var(--shade-back,0)}.edge{background:var(--paper-edge);position:absolute}.edge--top,.edge--bottom{height:var(--thick);left:1.2cqw;right:1.2cqw}.edge--top{top:0;transform:translateY(-50%)rotateX(90deg)}.edge--bottom{bottom:0;transform:translateY(50%)rotateX(90deg)}.edge--left,.edge--right{width:var(--thick);top:1.2cqw;bottom:1.2cqw}.edge--left{left:0;transform:translate(-50%)rotateY(90deg)}.edge--right{right:0;transform:translate(50%)rotateY(90deg)}.monogram{pointer-events:none;width:auto;height:58cqh}.face--back{padding:9.5cqh 9cqw}.lockup{pointer-events:none;width:48cqw;height:auto;margin-left:-.6cqw;display:block}.who{margin-top:6cqh}.name{font:400 4.6cqw/1.2 var(--font-ui);letter-spacing:.005em;margin:0}.role{font:400 2.75cqw/1.3 var(--font-ui);color:var(--color-accent);letter-spacing:.01em;margin:1.6cqh 0 0}.contact{font:400 2.95cqw/1.75 var(--font-ui);margin:0;padding:0;list-style:none;position:absolute;bottom:9cqh;left:9cqw}.contact a{color:inherit;text-decoration:none}.contact a:hover{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.qr{aspect-ratio:1;width:21cqw;position:absolute;bottom:8.5cqh;right:7cqw}.qr svg{width:100%;height:100%;display:block}.shadow{filter:blur(10px);height:22%;transform:scaleX(var(--shadow-x,1)) scale(var(--lift,1));opacity:calc(1.15 - var(--lift,1) * .3);background:radial-gradient(closest-side,#27232147,#0000);border-radius:50%;position:absolute;bottom:-9%;left:8%;right:8%}.hint{line-height:var(--control-height);font:500 .75rem/var(--control-height) var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-secondary);margin:0}.actions{gap:6px;width:min(100%,21rem);display:grid}.actions__row{gap:6px;display:flex}.actions__row--save{min-height:var(--button-height);grid-template-columns:1fr 1fr;margin-bottom:4px;display:grid}.actions__row--save>:only-child{grid-column:1/-1}.actions__row--save>.hint{text-align:center}.action--site{white-space:nowrap;flex:1}.action.action--icon{flex:0 0 var(--button-height);padding:0}.action--review{flex:1;gap:8px}.action--review svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;width:13px;height:13px}.action--icon svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.action{min-height:var(--button-height);border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-canvas);font:500 .6875rem/1 var(--font-ui);letter-spacing:var(--tracking-action);text-transform:uppercase;cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0 12px;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.action:hover{color:var(--color-ink);background:0 0}.action:focus-visible{outline:1px solid var(--color-ink);outline-offset:3px}.action:active{transform:translateY(1px)}.action--save{border-color:var(--color-accent);background:var(--color-accent);color:var(--paper)}.action--save:hover{color:var(--color-accent);background:0 0}.action--save:focus-visible{outline-color:var(--color-accent)}@media (prefers-reduced-motion:reduce){.slot,.table{transition:none!important}}
