@layer components{.card{--card-radius: var(--radius-xl);--card-pad: var(--space-l);position: relative;container-type: inline-size;padding: var(--bezel);border-radius: var(--card-radius);background: linear-gradient( 180deg,color-mix(in oklch,var(--c-bone) 6%,transparent),color-mix(in oklch,var(--c-bone) 2%,transparent) 60% );box-shadow: inset 0 0 0 1px var(--edge-faint),var(--shadow-float)}.card__core{position: relative;isolation: isolate;block-size: 100%;display: flex;flex-direction: column;gap: var(--space-m);padding: var(--card-pad);border-radius: calc(var(--card-radius) - var(--bezel));background: var(--c-raised-1);box-shadow: var(--edge-lit);overflow: hidden}.card__core::before{content: "";position: absolute;inset: 0;z-index: -1;background: radial-gradient(120% 80% at 50% 0%,var(--c-raised-2),var(--c-raised-1) 70%);opacity: 0;transition: opacity var(--dur-hover-move) var(--ease-out-soft)}:is(a,button).card{display: block;text-decoration: none;color: inherit;transition: transform var(--dur-hover-move) var(--ease-out-soft)}@media (hover: hover){:is(a,button).card:hover{transform: translateY(-0.25rem)}:is(a,button).card:hover .card__core::before{opacity: 1}}:is(a,button).card:active{transform: translateY(0) scale(0.995)}.card__meta{display: flex;justify-content: space-between;align-items: center;gap: var(--space-s)}.card__title{font-family: var(--font-ui);font-weight: var(--weight-medium);font-size: var(--step-3);line-height: 1.06;letter-spacing: -0.035em;color: var(--c-bone);text-wrap: balance}.card__body{color: var(--c-bone-2);font-size: var(--step-0)}.card__foot{position: relative;margin-block-start: auto;display: flex;justify-content: space-between;align-items: center;gap: var(--space-s);padding-block-start: var(--space-s)}.card__foot::before{content: "";position: absolute;inset-inline: 0;inset-block-start: 0;block-size: 1px;background: linear-gradient(90deg,var(--edge-violet),var(--edge-faint) 45%,transparent)}.card__media{border-radius: calc(var(--card-radius) - var(--bezel) - 0.5rem);background: var(--c-sunken);box-shadow: inset 0 0 0 1px var(--edge-faint);aspect-ratio: 16 / 10;overflow: hidden}@container (min-width: 44rem){.card__core--split{display: grid;grid-template-columns: minmax(0,5fr) minmax(0,7fr);align-items: stretch;gap: var(--space-l)}}.card--accent .card__core{background: radial-gradient(90% 70% at 100% 0%,var(--c-violet-wash),transparent 70%),var(--c-raised-1)}}@layer components{.site-footer{position: relative;padding-block: var(--section-y-tight) var(--space-l);background: radial-gradient(60% 50% at 15% 0%,color-mix(in oklch,var(--c-violet) 7%,transparent),transparent 70%),var(--c-ground)}.site-footer::before{content: "";position: absolute;inset-inline: var(--page-gutter);inset-block-start: 0;block-size: 1px;background: linear-gradient(90deg,var(--edge-violet),var(--edge) 35%,transparent 85%)}.footer-dir{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--space-xl) var(--grid-gap)}.footer-col--contact{grid-column: 1 / -1}@media (min-width: 40rem){.footer-dir{grid-template-columns: repeat(3,minmax(0,1fr))}.footer-col--contact{order: 1}}@media (min-width: 64rem){.footer-dir{grid-template-columns: repeat(5,minmax(0,1fr))}.footer-dir .footer-col--contact ul{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem var(--space-l)}.footer-dir .footer-col--contact .footer-phone{margin-block-start: 0}}.footer-col h2{font-family: var(--font-mono);font-size: var(--step--2);line-height: var(--leading-label);letter-spacing: var(--tracking-label);text-transform: uppercase;color: var(--c-bone-3);margin-block-end: var(--space-s)}.footer-col ul{display: grid;gap: 0.125rem;justify-items: start}.footer-col li > a,.footer-col .tipwrap > a{display: inline-flex;align-items: center;gap: 0.625rem;min-block-size: 2.25rem;color: var(--c-bone-2);font-family: var(--font-ui);font-size: var(--step-0);letter-spacing: -0.012em;text-decoration: none;overflow-wrap: anywhere;transition: color var(--dur-hover) var(--ease-out-soft)}.footer-col a .icon{color: var(--c-bone-3);transition: transform var(--dur-hover-move) var(--ease-overshoot),color var(--dur-hover) var(--ease-out-soft)}@media (hover: hover){.footer-col li > a:hover,.footer-col .tipwrap > a:hover{color: var(--c-bone)}.footer-col li > a:hover .icon,.footer-col .tipwrap > a:hover .icon{color: var(--c-lilac);transform: translate(0.125rem,-0.125rem)}}.footer-col li > a:active,.footer-col .tipwrap > a:active{color: var(--c-lilac)}.footer-phone{margin-block-start: 0.5rem;max-inline-size: 100%}.footer-legal{position: relative;margin-block-start: var(--space-2xl);padding-block-start: var(--space-m);max-inline-size: none}.footer-legal::before{content: "";position: absolute;inset-inline: 0;inset-block-start: 0;block-size: 1px;background: linear-gradient(90deg,var(--edge),var(--edge-faint) 60%,transparent)}}@layer components{.cursor{position: fixed;inset-block-start: 0;inset-inline-start: 0;z-index: var(--z-cursor);pointer-events: none;border-radius: 50%;opacity: 0;transition: opacity var(--dur-hover) var(--ease-out-soft);will-change: transform}.cursor--ring{inline-size: 34px;block-size: 34px;margin: -17px 0 0 -17px;box-shadow: inset 0 0 0 1px color-mix(in oklch,var(--c-lilac) 55%,transparent);transition: opacity var(--dur-hover) var(--ease-out-soft),background-color var(--dur-hover) var(--ease-out-soft),box-shadow var(--dur-hover) var(--ease-out-soft)}html.cursor-in .cursor{opacity: 1}html.cursor-hot .cursor--ring{background: color-mix(in oklch,var(--c-violet) 16%,transparent);box-shadow: inset 0 0 0 1px var(--c-violet)}html.cursor-down .cursor--ring{background: color-mix(in oklch,var(--c-violet) 28%,transparent)}html.cursor-text .cursor{opacity: 0}}