/* New work belongs to the same paper / ink portfolio system. */
.project-grid.project-grid-new { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.project-grid-new .project-photo { aspect-ratio: 1.48; }
.project-grid-new .project-photo img { filter: none; }
.project-photo-kruti { background: #e84426; }
.project-photo-kruti img { object-fit: cover; padding: 0; }
.project-photo .real-badge { background: var(--acid); color: var(--ink); }
.project-grid-new + .project-grid { padding-top: 2.5rem; border-top: 1px solid #cccac2; }
.edition-p0 .project-preview > p { font-size: .87rem; line-height: 1.65; }
.project-title { gap: 1rem; }
.project-title > span { text-align: right; }
.edition-p0 .project-title > h3 { font-size: clamp(1.8rem, 3vw, 3rem); }
.edition-p0 .products-footnote { flex-wrap: wrap; gap: 1rem 2rem; }
.works-contact .privacy-note { max-width: 42rem; margin-top: 2rem; }
.project-end .privacy-note { margin-top: 1.3rem; }
@media (max-width: 760px) {
  .project-grid.project-grid-new { grid-template-columns: 1fr; }
  .project-grid-new .project-photo { aspect-ratio: 1.18; }
  .edition-p0 footer { padding-bottom: 2rem; }
  .edition-p0 .legal-nav { padding-bottom: 6.5rem; }
}

/* Vector arrows cannot be substituted with platform emoji (including iOS).
   Path adapted from Heroicons arrow-right, MIT; see assets/icons-LICENSE.txt. */
svg.ui-arrow { display:inline-block; width:1em; height:1em; min-width:1em; flex-shrink:0; vertical-align:-.12em; fill:none; stroke:currentColor; }

/* A small anchored choice keeps the page available behind it. */
:where(.contact-trigger) { appearance:none; border:0; background:transparent; color:inherit; padding:0; font:inherit; text-align:left; }
.contact-trigger { font-family:inherit; cursor:pointer; }
.contact-trigger.product-cta { width:100%; }
.contact-trigger.header-link { background:none; border:0; padding:0; color:inherit; font-weight:inherit; }
.contact-choice { position:fixed; z-index:100; width:min(360px, calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:20px; background:var(--paper); color:var(--ink); border:1px solid #11110f; box-shadow:0 12px 36px #0004; animation:contact-choice-in 160ms ease-out; }
.contact-choice[hidden] { display:none; }
.contact-choice-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.contact-choice h2 { margin:0; font-family:var(--display); font-size:28px; font-weight:600; line-height:1.2; text-transform:none; letter-spacing:0; }
.contact-choice-close { display:grid; place-items:center; flex:0 0 44px; height:44px; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; }
.contact-choice-option { display:flex; flex-direction:column; gap:5px; padding:16px; border:1px solid #11110f; transition:background-color 160ms, color 160ms; }
.contact-choice-option + .contact-choice-option { margin-top:10px; }
.contact-choice-option strong { font-size:17px; font-weight:800; }
.contact-choice-option > span { font-size:13px; overflow-wrap:anywhere; }
.contact-choice-option:hover { background:var(--acid); }
.contact-choice-close:hover { background:#11110f12; }
.contact-choice :focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
@keyframes contact-choice-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .contact-choice { animation:none; } .contact-choice-option { transition:none; } }
