@layer components{.pyctom-hero-track{block-size:var(--pyctom-hero-track);margin-block-end:calc(-1 * var(--pyctom-hero-overlap));position:relative}.pyctom-hero-layer{pointer-events:none;position:absolute;inset:0}.pyctom-hero-sky{background-image:radial-gradient(ellipse 120% 70% at 50% -15%, rgb(var(--pyctom-hero-tint-blue) / .38) 0%, rgb(var(--pyctom-hero-tint-blue) / .14) 38%, transparent 72%), linear-gradient(180deg, var(--pyctom-navy-900) 0%, var(--pyctom-navy-950) 58%, var(--pyctom-navy-950) 100%)}.pyctom-hero-glow{pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.pyctom-hero-glow-a{background-image:radial-gradient(closest-side, rgb(var(--pyctom-hero-tint-cyan) / .26) 0%, rgb(var(--pyctom-hero-tint-cyan) / .1) 45%, transparent 100%);animation:hero-drift-a var(--pyctom-hero-drift-duration) ease-in-out infinite}.pyctom-hero-glow-b{background-image:radial-gradient(closest-side, rgb(var(--pyctom-hero-tint-violet) / .22) 0%, rgb(var(--pyctom-hero-tint-violet) / .09) 45%, transparent 100%);animation:hero-drift-b var(--pyctom-hero-drift-duration-alt) ease-in-out infinite}.pyctom-hero-cloud{pointer-events:none;will-change:transform}.pyctom-hero-cloud-a{opacity:.3;animation:hero-cloud-a var(--pyctom-hero-cloud-duration-a) ease-in-out infinite}.pyctom-hero-cloud-b{opacity:.2;animation:hero-cloud-b var(--pyctom-hero-cloud-duration-b) ease-in-out infinite}.pyctom-hero-cloud-c{opacity:.42;animation:hero-cloud-c var(--pyctom-hero-cloud-duration-c) ease-in-out infinite}.pyctom-hero-subject{will-change:transform;-webkit-mask-image:linear-gradient(#0000 0%,#000 9% 88%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 9% 88%,#0000 100%)}.pyctom-hero-accent-text{color:var(--pyctom-cyan-300)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.pyctom-hero-accent-text{background-image:var(--pyctom-hero-accent-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;padding-bottom:.08em}}.pyctom-hero-rise{animation:hero-rise var(--pyctom-hero-rise-duration) var(--pyctom-ease-out-expo) backwards}.pyctom-hero-rise-1{animation-delay:calc(var(--pyctom-hero-rise-stagger) * 1)}.pyctom-hero-rise-2{animation-delay:calc(var(--pyctom-hero-rise-stagger) * 2)}.pyctom-hero-scroll-dot{animation:hero-scroll-dot var(--pyctom-hero-cue-duration) var(--pyctom-ease-standard) infinite}.pyctom-cta-chip{position:relative;overflow:hidden}.pyctom-cta-chip>svg{transition:transform var(--pyctom-duration-slow) var(--pyctom-ease-out-expo), opacity var(--pyctom-duration-slow) var(--pyctom-ease-out-expo);margin:auto;position:absolute;inset:0}.pyctom-cta-chip>svg:last-child{opacity:0;transform:translate(-160%)}.group:hover .pyctom-cta-chip>svg:first-child,.group:focus-visible .pyctom-cta-chip>svg:first-child{opacity:0;transform:translate(160%)}.group:hover .pyctom-cta-chip>svg:last-child,.group:focus-visible .pyctom-cta-chip>svg:last-child{opacity:1;transform:translate(0)}}
@layer components{.pyctom-portfolio{isolation:isolate;padding-block:var(--pyctom-portfolio-pad-block);background-color:var(--pyctom-navy-950);position:relative;overflow:hidden}.pyctom-backdrop-stack{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.pyctom-backdrop-layer{position:absolute;inset:0}.pyctom-backdrop-layer img{object-fit:cover;width:100%;height:100%;filter:blur(var(--pyctom-portfolio-backdrop-blur));scale:1.02}.pyctom-backdrop-stack:after{content:"";background-color:var(--pyctom-portfolio-backdrop-black);box-shadow:inset 0 0 0 100vmax var(--pyctom-portfolio-backdrop-veil);pointer-events:none;position:absolute;inset:0}.pyctom-portfolio-content-layer{z-index:1;position:relative}.pyctom-portfolio-grid{gap:var(--pyctom-portfolio-gap);grid-template-columns:1fr;list-style:none;display:grid}@media (min-width:40rem){.pyctom-portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:64rem){.pyctom-portfolio-grid{grid-template-columns:repeat(3,1fr)}}.pyctom-portfolio-item{min-width:0;height:100%}.pyctom-portfolio-card{isolation:isolate;aspect-ratio:var(--pyctom-portfolio-card-ratio);width:100%;padding:var(--pyctom-portfolio-card-pad-top) var(--pyctom-portfolio-card-pad-inline) var(--pyctom-portfolio-card-pad-bottom);border:1px solid var(--pyctom-portfolio-hairline);border-radius:var(--pyctom-portfolio-card-radius);transition-property:transform,box-shadow,border-color,background-color;transition-duration:var(--pyctom-portfolio-flood-duration);background-color:#0000;flex-direction:column;justify-content:flex-end;transition-timing-function:ease;display:flex;position:relative;overflow:hidden}.pyctom-portfolio-media{z-index:-2;position:absolute;inset:0;overflow:hidden}.pyctom-portfolio-media img{object-fit:cover;object-position:center;width:100%;height:100%}.pyctom-portfolio-card:before{content:"";z-index:-1;background-image:var(--pyctom-portfolio-card-scrim);transition:opacity var(--pyctom-portfolio-flood-duration) ease;pointer-events:none;position:absolute;inset:0}.pyctom-portfolio-flood{z-index:-1;background-color:var(--pyctom-portfolio-flood);opacity:0;transition:opacity var(--pyctom-portfolio-flood-duration) ease;pointer-events:none;position:absolute;inset:0}.pyctom-portfolio-index{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:#ffffffd9;transition:color var(--pyctom-portfolio-flood-duration) ease;font-size:1.25rem;font-weight:600;line-height:1;position:absolute;inset-block-start:27px;inset-inline-end:var(--pyctom-portfolio-card-pad-inline)}.pyctom-portfolio-caption{flex-direction:column;gap:.75rem;display:flex}.pyctom-portfolio-title{font-family:var(--font-display);letter-spacing:-.02em;color:#fff;text-wrap:balance;font-size:clamp(1.25rem,1.05rem + .55vw,1.5rem);font-weight:600;line-height:1.15}.pyctom-portfolio-cta{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--pyctom-cyan-300);opacity:0;transition:opacity var(--pyctom-portfolio-flood-duration) ease, translate var(--pyctom-portfolio-flood-duration) ease, color var(--pyctom-portfolio-flood-duration) ease;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:inline-flex;translate:0 6px}.pyctom-portfolio-cta svg{transition:translate var(--pyctom-portfolio-flood-duration) ease}.pyctom-portfolio-card:hover,.pyctom-portfolio-card:focus-visible{transform:translate3d(0, var(--pyctom-portfolio-lift), 0);border-color:var(--pyctom-portfolio-flood);box-shadow:var(--pyctom-portfolio-card-shadow-hover)}.pyctom-portfolio-card:hover .pyctom-portfolio-flood,.pyctom-portfolio-card:focus-visible .pyctom-portfolio-flood{opacity:1}.pyctom-portfolio-card:hover:before,.pyctom-portfolio-card:focus-visible:before{opacity:0}.pyctom-portfolio-card:hover .pyctom-portfolio-index,.pyctom-portfolio-card:focus-visible .pyctom-portfolio-index{color:#fff}.pyctom-portfolio-card:hover .pyctom-portfolio-cta,.pyctom-portfolio-card:focus-visible .pyctom-portfolio-cta{opacity:1;color:#fff;translate:0}.pyctom-portfolio-card:hover .pyctom-portfolio-cta svg,.pyctom-portfolio-card:focus-visible .pyctom-portfolio-cta svg{translate:4px}@media (hover:none){.pyctom-portfolio-cta{opacity:1;translate:0}}@media (prefers-reduced-motion:reduce){.pyctom-portfolio-card:hover,.pyctom-portfolio-card:focus-visible{transform:none}.pyctom-portfolio-cta,.pyctom-portfolio-card:hover .pyctom-portfolio-cta svg,.pyctom-portfolio-card:focus-visible .pyctom-portfolio-cta svg{translate:0}}}
