.portfolio-site .brand-highlight{color:inherit}.portfolio-site .public-header{box-shadow:0 3px 18px #2426220a}.portfolio-site :is(section[id],main[id]){scroll-margin-top:9rem}.portfolio-site .header-contact-action{margin-inline-start:auto}.portfolio-site .header-contact-action .button{white-space:nowrap}@media (max-width:359px){.portfolio-site .brand-names{display:none}}.portfolio-site .work-navigation{position:relative}.portfolio-site .work-navigation summary{cursor:pointer;gap:.5rem;list-style:none}.portfolio-site .work-navigation summary::-webkit-details-marker{display:none}.portfolio-site .work-navigation[open] summary{text-underline-offset:.4rem;text-decoration:underline}.portfolio-site .work-dropdown{border:1px solid var(--rule);background:var(--surface);z-index:35;border-radius:1rem;width:17rem;padding:.5rem;position:absolute;inset-block-start:calc(100% + .5rem);inset-inline-start:0;box-shadow:0 15px 45px #2426221f}.portfolio-site .work-dropdown a{border-radius:.5rem;gap:.15rem;padding:.75rem;font-size:1rem;text-decoration:none;display:grid}.portfolio-site .work-dropdown a:hover{background:var(--brand-subtle)}.portfolio-site .work-dropdown small{color:var(--secondary-ink);font-size:.8rem}.portfolio-site .work-dropdown .all-work-link{border-top:1px solid var(--rule);border-radius:0;justify-content:space-between;display:flex}.portfolio-site .mobile-work-navigation .work-dropdown{width:100%;box-shadow:none;margin-block:.5rem 1rem;position:static}.portfolio-site .mobile-work-navigation summary{justify-content:space-between;align-items:center;display:flex}.portfolio-site.contact-modal-host{background:0 0;min-height:0}.portfolio-site .contact-modal{border:1px solid var(--rule);width:min(29rem,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--charcoal);background:var(--paper);border-radius:1.5rem;margin:auto;padding:1.75rem;position:fixed;inset:0;overflow-y:auto;box-shadow:0 24px 100px #0003}.portfolio-site .contact-modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#181b15a6}.portfolio-site .contact-modal-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.portfolio-site .eyebrow{color:var(--secondary-ink);font-size:.9rem}.portfolio-site .modal-close{border:1px solid var(--rule);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--charcoal);border-radius:50%;place-items:center;font-size:1.5rem;line-height:1;display:grid}.portfolio-site .contact-modal h2{margin-block:.7rem .5rem;font-size:2rem}.portfolio-site .contact-modal>p{color:var(--secondary-ink);font-size:1rem}.portfolio-site .contact-modal-options{gap:.8rem;margin-top:1.5rem;display:grid}.portfolio-site .contact-modal-options>a{border:1px solid var(--rule);background:var(--surface);border-radius:1rem;grid-template-columns:2.75rem minmax(0,1fr) 1.3rem;align-items:center;gap:.8rem;padding:1rem;text-decoration:none;display:grid}.portfolio-site .contact-modal-options>a:hover{border-color:var(--charcoal);background:var(--brand-subtle)}.portfolio-site .contact-modal-options>a>span:nth-child(2){gap:.15rem;display:grid}.portfolio-site .contact-modal-options small,.portfolio-site .contact-modal-options bdi{color:var(--secondary-ink);overflow-wrap:anywhere;font-size:.85rem}.portfolio-site .contact-method-icon{color:var(--brand-charcoal);background:var(--lime);border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;display:grid}.portfolio-site .contact-method-icon svg,.portfolio-site .contact-option>svg{flex-shrink:0}.portfolio-site .public-footer .contact-option{width:100%}.portfolio-site .public-footer .contact-option>span{text-align:start;display:grid}.portfolio-site .public-footer .contact-option bdi{justify-self:start}.portfolio-site .contact-option>.contact-email-content,.portfolio-site .public-footer .contact-option>.contact-email-content{flex-wrap:nowrap;align-items:baseline;gap:.5rem;display:flex}.portfolio-site .contact-email-content>span{white-space:nowrap;flex-shrink:0}.portfolio-site .contact-option.contact-email bdi{font-size:inherit;white-space:nowrap;overflow-wrap:normal}.portfolio-site .contact-options:not(.compact) .contact-option>span{text-align:start;gap:.3rem;display:grid}.portfolio-site .contact-options:not(.compact) .contact-option bdi{text-align:left;direction:ltr;justify-self:start;font-size:1rem}.portfolio-site .portfolio-intro{max-width:60ch;color:var(--secondary-ink);margin-top:1rem}.portfolio-site .carousel-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.portfolio-site .carousel-toolbar p{color:var(--secondary-ink);font-size:.95rem}.portfolio-site .carousel-controls{gap:.5rem;display:flex}.portfolio-site .carousel-controls button{border:1px solid var(--rule);background:var(--surface);min-width:2.75rem;min-height:2.75rem;color:var(--charcoal);border-radius:50%}.portfolio-site .carousel-controls button:hover:not(:disabled){color:var(--brand-charcoal);background:var(--lime);border-color:var(--lime)}.portfolio-site .carousel-viewport{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.5rem 0 1.5rem;overflow-x:auto}.portfolio-site .carousel-viewport::-webkit-scrollbar{display:none}.portfolio-site .carousel-viewport .work-grid{gap:1.5rem;display:flex}.portfolio-site .carousel-viewport .work-card{scroll-snap-align:start;flex:0 0 88%}.portfolio-site .carousel-viewport .work-grid .work-card .work-image-link img{aspect-ratio:4/3}.portfolio-site .carousel-viewport .work-caption h3{font-size:1.5rem}.portfolio-site .carousel-viewport .work-caption>div{flex-basis:auto}.portfolio-site .carousel-viewport .work-caption>div>p:last-child{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.portfolio-site .software-capabilities{border-top:1px solid var(--rule);gap:2.5rem;display:grid}.portfolio-site .capabilities-intro{align-content:start;justify-items:start;gap:1rem;display:grid}.portfolio-site .capabilities-intro>p:not(.eyebrow){color:var(--secondary-ink);font-size:1.05rem}.portfolio-site .capabilities-grid{gap:1rem;display:grid}.portfolio-site .capabilities-grid article{border:1px solid var(--rule);background:var(--surface);border-radius:1rem;padding:1.5rem}.portfolio-site .capability-index{color:var(--brand-charcoal);background:var(--lime);border-radius:2rem;width:fit-content;margin-bottom:1rem;padding:.15rem .6rem;font-size:.85rem;font-weight:700;display:block}.portfolio-site .capabilities-grid h3{margin-bottom:.5rem;font-size:1.2rem}.portfolio-site .capabilities-grid p{color:var(--secondary-ink);font-size:1rem}@media (min-width:701px){.portfolio-site .carousel-viewport .work-card{flex-basis:calc(50% - .75rem)}.portfolio-site .capabilities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:901px){.portfolio-site .header-contact-action{margin-inline-start:0}.portfolio-site .header-row{gap:1rem;min-height:5.75rem}.portfolio-site .desktop-nav{gap:1.5rem}.portfolio-site .software-capabilities{grid-template-columns:.85fr 1.5fr;gap:3rem}}@media (max-width:900px){.portfolio-site .header-row{grid-template-columns:minmax(0,1fr) auto auto auto;gap:.5rem;min-height:4.75rem;padding-block:.65rem;display:grid}.portfolio-site .brand{flex-wrap:nowrap;flex-shrink:1;gap:.4rem}.portfolio-site .brand img{width:2rem;height:2rem}.portfolio-site .brand-names strong{font-size:1.15rem}.portfolio-site .brand-names bdi{margin-top:.3rem;font-size:.6rem}.portfolio-site .header-contact-action .button{gap:.3rem;min-height:2.75rem;padding:.55rem .85rem;font-size:.9rem}.portfolio-site .header-contact-action svg{width:1rem}.portfolio-site .mobile-trigger{gap:0;width:2.75rem;padding:.4rem;font-size:0}.portfolio-site .mobile-trigger span{font-size:1.15rem}}@media (prefers-reduced-motion:reduce){.portfolio-site .carousel-viewport{scroll-behavior:auto}}
