.carousel{display:grid;grid-template-columns:clamp(72px,6vw,96px) minmax(0,1fr);gap:clamp(.45rem,.75vw,.75rem);min-height:270px}
.carousel-main{min-width:0;display:grid;grid-template-rows:auto 1fr;gap:.45rem}
.carousel-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:24px;font:500 .5rem var(--mono);text-transform:uppercase;color:var(--muted)}
.carousel-toolbar p{margin:0}.carousel-toolbar>div{display:flex;gap:.35rem}
.carousel-arrow{width:30px;height:26px;padding:0;border:1px solid var(--line);background:transparent;cursor:pointer}
.carousel-arrow:hover{background:var(--ink);color:var(--paper)}.carousel-arrow:disabled{opacity:.35;cursor:not-allowed}
.project-track{display:flex;gap:clamp(.45rem,.75vw,.75rem);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--blue) transparent;padding-bottom:.35rem}
.project-track .project{flex:0 0 calc((100% - clamp(.45rem,.75vw,.75rem)*3)/4);scroll-snap-align:start}
@media(max-width:1100px){.project-track .project{flex-basis:calc((100% - clamp(.45rem,.75vw,.75rem)*2)/3)}}
@media(max-width:900px){.carousel{grid-template-columns:1fr}.carousel .section-label{display:block}.carousel .section-label h2{writing-mode:initial;transform:none;margin-top:.25rem}.project-track .project{flex-basis:calc((100% - .75rem)/2)}}
@media(max-width:560px){.project-track .project{flex-basis:88%}}
@media(prefers-reduced-motion:reduce){.project-track{scroll-behavior:auto}}
.contact[type="button"]{width:100%;border:0;text-align:left;cursor:pointer;font-family:var(--display)}
.contact[type="button"]:hover strong{text-decoration:underline;text-underline-offset:3px}
.contact-options{margin-top:1.8rem;border-top:1px solid var(--line)}
.contact-options a{display:grid;grid-template-columns:5rem 1fr auto;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.contact-options span,.contact-options b{color:var(--muted);font:500 .5rem var(--mono);text-transform:uppercase;letter-spacing:.05em}
.contact-options strong{font-size:.85rem;overflow-wrap:anywhere}.contact-options b{color:var(--blue)}
@media(max-width:560px){.contact-options a{grid-template-columns:1fr;gap:.25rem}}
