/* Contact routes are deliberately visible and literal. */
.mise-contact{border-top:1px solid var(--ink);padding:32px 0;margin:10px 0 20px;display:grid;grid-template-columns:1fr 2fr;gap:32px}.contact-heading{display:flex;align-items:center;gap:20px}.contact-heading img{width:54px;height:64px;object-fit:contain;transition:transform .35s}.contact-heading h2{font-size:32px;font-weight:500;line-height:1.1;letter-spacing:-.025em}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-route{display:flex;flex-direction:column;align-items:start;gap:6px;padding:20px;background:var(--paper);border:1px solid var(--ink);border-radius:5px;transition:transform .25s,background .25s;min-width:0}.contact-label{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:22px;letter-spacing:-.025em}.contact-route>span:nth-child(2){font-size:14px;color:var(--muted)}.contact-route strong{font-size:14px;font-weight:400;margin-top:13px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.contact-route:hover{background:var(--ice);transform:translateY(-3px)}.mise-contact:has(.contact-route:hover) .contact-heading img{transform:rotate(-9deg)}
.postcard-invitation .window-bar{background:var(--blue)}.postcard-invitation .window-bar h2{color:var(--paper)}.postcard-invitation .window-lines{background:repeating-linear-gradient(to bottom,var(--paper) 0,var(--paper) 1px,transparent 1px,transparent 4px)}.postcard-invitation-button{width:100%;padding:22px 17px;display:flex;gap:17px;align-items:center;text-align:left;border:0;background:var(--paper);position:relative;min-height:170px}.mini-postcard{display:block;width:94px;flex-shrink:0;background:var(--paper);border:1px solid var(--ink);padding:7px;transform:rotate(-8deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.mini-postcard img{width:100%;height:89px;object-fit:cover}.mini-postcard>span{display:block;font-size:10px;margin-top:6px}.postcard-invitation-copy{font-size:27px;line-height:1;letter-spacing:-.025em}.postcard-invitation-copy small{display:block;font-size:12px;letter-spacing:0;margin-top:12px}.postcard-invitation-arrow{position:absolute;right:13px;bottom:12px;font-size:21px}.postcard-invitation-button:hover .mini-postcard,.postcard-invitation-button:focus-visible .mini-postcard{transform:rotate(3deg) translateY(-7px)}
.postcard-dialog{width:min(1100px,calc(100% - 32px))}.postcard-workspace{padding:28px 32px 36px}.postcard-intro h2{font-size:44px;letter-spacing:-.025em;line-height:1.05;font-weight:500}.postcard-intro p{font-size:16px;margin-top:12px;color:var(--muted)}.postcard-editor{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);gap:42px;align-items:start;margin-top:30px}.postcard-preview{min-width:0;display:flex;align-items:center;flex-direction:column;gap:12px;padding:32px 16px 20px;background:var(--ice);border:1px solid var(--line);overflow:hidden}.postcard-perspective{perspective:1300px;width:100%;max-width:510px;padding:10px;margin-bottom:18px}.postcard-object{--card-ink:#C9362B;position:relative;width:100%;aspect-ratio:4/3;transform-style:preserve-3d;transform:rotate(-3deg);transition:transform .8s cubic-bezier(.25,.8,.2,1)}.postcard-object.is-flipped{transform:rotate(2deg) rotateY(180deg)}.postcard-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--ink);background:var(--paper);padding:16px;display:flex;flex-direction:column}.postcard-front{transform:translateZ(1px)}.postcard-photo-wrap{flex:1;min-height:0;overflow:hidden}.postcard-front img{width:100%;height:100%;object-fit:cover;object-position:center 66%}.postcard-front-foot{color:var(--card-ink);display:flex;justify-content:space-between;align-items:center;padding-top:12px;gap:10px}.postcard-front-foot span:first-child{font-size:24px;font-weight:750;letter-spacing:-.025em}.postcard-front-foot span:last-child{font-size:12px}.postcard-back{transform:rotateY(180deg);color:var(--card-ink);padding:24px}.postcard-back-top{display:flex;justify-content:space-between;align-items:start;gap:16px;font-size:12px}.postcard-back-top img{width:55px;height:60px;object-fit:contain}.postcard-back>p{font-size:clamp(20px,2.1vw,29px);font-weight:500;line-height:1.18;letter-spacing:-.025em;overflow-wrap:anywhere;white-space:pre-wrap;flex:1;display:flex;align-items:center;padding-block:12px}.postcard-back-foot{font-size:12px;line-height:1.4;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.postcard-side{font-size:12px;color:var(--muted)}.postcard-controls{display:grid;gap:24px;min-width:0}.postcard-controls fieldset{border:0;padding:0;margin:0;min-width:0}.postcard-controls legend,.postcard-note-label{font-size:14px;line-height:1.5;font-weight:500}.postcard-photo-options{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.postcard-photo-options button{padding:4px;border:1px solid var(--line);border-radius:3px;background:var(--paper)}.postcard-photo-options img{width:100%;height:80px;object-fit:cover}.postcard-photo-options button[aria-pressed=true]{border:2px solid var(--ink);background:var(--ice);padding:3px}.postcard-inks{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.postcard-inks button{border:1px solid currentColor;border-radius:3px;padding:8px 12px;background:transparent;color:var(--ink);font-size:14px}.postcard-inks button[aria-pressed=true]{color:var(--paper)}.postcard-inks [data-card-ink=tomato][aria-pressed=true]{background:#C9362B}.postcard-inks [data-card-ink=blue][aria-pressed=true]{background:#315BE8}.postcard-inks [data-card-ink=herb][aria-pressed=true]{background:#285C44}.postcard-note-label{display:grid;gap:10px}.postcard-note-label textarea{font:400 16px/1.5 "Bricolage Grotesque",Arial,sans-serif;color:var(--ink);padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:3px;width:100%;resize:vertical;min-height:96px}.postcard-note-label textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.postcard-privacy{font-size:12px;color:var(--muted);margin-top:-14px}.postcard-controls>.solid-button{font-size:16px}.postcard-feedback{font-size:13px;min-height:19px;margin-top:-14px}
.quiet-motion .postcard-object{transition:none}.quiet-motion .contact-route:hover,.quiet-motion .contact-heading img,.quiet-motion .mini-postcard{transform:none!important}.quiet-motion .postcard-object:not(.is-flipped){transform:none}.quiet-motion .postcard-object.is-flipped{transform:rotateY(180deg)}
@media(min-width:761px){.side-windows{gap:18px}.roll-image{height:220px}.join-body{padding:18px 22px}.join-body h2{font-size:28px}.join-body .solid-button{margin-top:14px}.postcard-invitation-button{min-height:156px}.desk-bottom{padding-bottom:25px}}
@media(max-width:1100px){.mise-contact{grid-template-columns:1fr;gap:24px}.contact-heading h2{font-size:30px}.contact-heading img{width:42px;height:48px}.postcard-editor{gap:26px}.postcard-workspace{padding:26px}.postcard-preview{padding-inline:8px}.postcard-back{padding:20px}.postcard-back>p{font-size:24px}.mini-postcard{width:78px}.postcard-invitation-copy{font-size:25px}}
@media(max-width:760px){.postcard-editor{grid-template-columns:1fr;gap:24px}.postcard-preview{padding:16px}.postcard-perspective{max-width:460px}.postcard-intro h2{font-size:36px}.postcard-workspace{padding:24px 20px}.postcard-back>p{font-size:26px}.side-windows>.join-window{grid-column:1/-1}.contact-options{gap:14px}.contact-route{padding:18px}.contact-label{font-size:21px}.contact-route strong{font-size:13px}.dock{flex-wrap:wrap}.dock button{padding:12px 14px}.postcard-photo-options img{height:100px}}
@media(max-width:480px){.contact-options{grid-template-columns:1fr}.mise-contact{padding:24px 0;gap:20px}.contact-route{padding:20px}.contact-route strong{font-size:14px}.contact-heading h2{font-size:28px}.contact-heading img{width:45px;height:50px}.postcard-invitation-button{padding:25px;gap:28px}.mini-postcard{width:105px}.mini-postcard img{height:100px}.postcard-invitation-copy{font-size:32px}.postcard-workspace{padding:22px 16px}.postcard-intro h2{font-size:33px}.postcard-intro p{font-size:14px}.postcard-preview{padding:12px 6px}.postcard-face{padding:12px}.postcard-front-foot{padding-top:8px}.postcard-front-foot span:first-child{font-size:19px}.postcard-front-foot span:last-child{font-size:10px}.postcard-back{padding:16px}.postcard-back-top{font-size:11px}.postcard-back-top img{width:30px;height:33px}.postcard-back>p{font-size:19px;padding-block:8px}.postcard-back-foot{font-size:10px;padding-top:6px}.postcard-perspective{padding:6px;margin-bottom:8px}.postcard-photo-options img{height:80px}.dock{width:100%;justify-content:center}.dock button{flex:1 1 30%;padding:12px 8px;border-bottom:1px solid var(--line)}.dock button:nth-child(3){border-right:0}.dock button:nth-child(n+4){border-bottom:0}.desk-bottom>a{flex-basis:auto}.site-header nav{gap:12px}}
@media(prefers-reduced-motion:reduce){.postcard-object,.contact-route,.mini-postcard,.contact-heading img{transition:none!important}.contact-route:hover,.mini-postcard,.contact-heading img{transform:none!important}.postcard-object:not(.is-flipped){transform:none}.postcard-object.is-flipped{transform:rotateY(180deg)}}
.postcard-back>p{min-height:0;overflow:hidden}.postcard-save{display:grid;gap:10px;justify-items:start;border:1px solid var(--line);padding:12px;background:var(--panel);font-size:14px}.postcard-save img{width:100%;height:auto}.postcard-save span{text-decoration:underline;text-underline-offset:4px}
.postcard-back-options{display:flex;gap:14px;flex-wrap:wrap}.postcard-back-options label{font-size:16px;display:flex;align-items:center;gap:7px;margin-top:10px}.postcard-back-options input{width:18px;height:18px;accent-color:var(--ink)}#postcard-menu-options{display:grid;gap:10px;font-size:14px}#postcard-event{font:inherit;width:100%;max-width:100%;padding:10px;border:1px solid var(--ink);background:var(--paper)}#postcard-menu-status{line-height:1.5}.postcard-back.menu-back>p{display:block;font-size:16px;line-height:1.25;letter-spacing:0;overflow:auto;white-space:pre-wrap}.postcard-back.menu-back .postcard-back-top img{height:35px;width:35px}.postcard-back-credit{overflow-wrap:anywhere}.postcard-back.menu-back{padding:18px}.postcard-back.menu-back .postcard-back-foot{font-size:11px;overflow-wrap:anywhere}
.postcard-photo-options{max-height:260px;overflow:auto;padding:4px}.postcard-photo-options small{display:block;font-size:12px;padding-top:4px;line-height:1.2}.postcard-photo-options button{align-self:start}.postcard-photo-options:focus-within{overflow:auto}
