.promo-modal[data-astro-cid-he3osdfm]{position:fixed;inset:0;margin:auto;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-2);padding:0;width:min(820px,94vw);max-height:85vh;max-height:85svh;overflow:hidden}.promo-modal[data-astro-cid-he3osdfm][open]{display:flex;flex-direction:column}.promo-modal[data-astro-cid-he3osdfm]::backdrop{background:#000000d9}.promo-inner[data-astro-cid-he3osdfm]{display:flex;flex-direction:column;min-height:0;flex:1}.promo-header[data-astro-cid-he3osdfm]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.promo-title[data-astro-cid-he3osdfm]{font-size:1rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);margin:0}.promo-close[data-astro-cid-he3osdfm]{background:none;border:none;color:var(--color-text-muted);font-size:1rem;line-height:1;cursor:pointer;padding:.25rem;transition:color .2s}.promo-close[data-astro-cid-he3osdfm]:hover{color:var(--color-accent)}.promo-body[data-astro-cid-he3osdfm]{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:1.5rem;flex:1}#promo-modal-body details{border-bottom:1px solid var(--color-border);margin-bottom:0}#promo-modal-body details summary{font-family:var(--font-heading);font-size:1.1rem;font-weight:500;color:var(--color-accent);cursor:pointer;padding:1rem 0;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;user-select:none}#promo-modal-body details summary::-webkit-details-marker{display:none}#promo-modal-body details summary:after{content:"+";font-size:1.2rem;font-weight:300;color:var(--color-accent);flex-shrink:0}#promo-modal-body details[open] summary:after{content:"−"}#promo-modal-body details>*:not(summary){padding-bottom:1.25rem}.page-hero-plain[data-astro-cid-ovxcmftc]{padding:5rem 0 3rem;border-bottom:1px solid var(--color-border)}.page-hero-plain[data-astro-cid-ovxcmftc] h1[data-astro-cid-ovxcmftc]{font-size:clamp(2rem,5vw,3.5rem);font-weight:300;margin-bottom:1rem}.project-content[data-astro-cid-ovxcmftc]{padding-block:2.5rem 6rem}.back-link[data-astro-cid-ovxcmftc]{margin-bottom:2rem;font-family:var(--font-heading);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.back-link[data-astro-cid-ovxcmftc] a[data-astro-cid-ovxcmftc]{color:var(--color-text-muted)}.back-link[data-astro-cid-ovxcmftc] a[data-astro-cid-ovxcmftc]:hover{color:var(--color-accent)}.tagline[data-astro-cid-ovxcmftc]{font-size:1.05rem;color:var(--color-text-muted);max-width:72ch;margin:0;line-height:1.6}.demo-link[data-astro-cid-ovxcmftc]{margin-bottom:2.5rem}.demo-btn[data-astro-cid-ovxcmftc]{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border:1px solid var(--color-accent);background:var(--color-accent-dim);color:var(--color-accent);font-family:var(--font-heading);font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;text-decoration:none;transition:background .2s}.demo-btn[data-astro-cid-ovxcmftc]:hover{background:#66fcf140;text-decoration:none}.promo-trigger[data-astro-cid-ovxcmftc]{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--color-border)}.promo-btn[data-astro-cid-ovxcmftc]{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-family:var(--font-heading);font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:4px;transition:color .2s,border-color .2s}.promo-btn[data-astro-cid-ovxcmftc]:hover{color:var(--color-accent);border-color:var(--color-accent)}.promo-btn-icon[data-astro-cid-ovxcmftc]{font-style:normal}#project-body details{border-bottom:1px solid var(--color-border);margin-bottom:0}#project-body details summary{font-family:var(--font-heading);font-size:1.3rem;font-weight:500;color:var(--color-accent);cursor:pointer;padding:1.25rem 0;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;user-select:none}#project-body details summary::-webkit-details-marker{display:none}#project-body details summary:after{content:"+";font-size:1.4rem;font-weight:300;color:var(--color-accent);flex-shrink:0;transition:transform .2s}#project-body details[open] summary:after{content:"−"}#project-body details>*:not(summary){padding-bottom:1.5rem}
