html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.sticky{position:sticky}.\!container{width:100%!important}@media (width>=40rem){.\!container{max-width:40rem!important}}@media (width>=48rem){.\!container{max-width:48rem!important}}@media (width>=64rem){.\!container{max-width:64rem!important}}@media (width>=80rem){.\!container{max-width:80rem!important}}@media (width>=96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-accent{color:var(--accent)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070b22;--surface:#0c163c;--surface-raised:#12214f;--border:#1f2e66;--border-strong:#6577b8;--ink:#fff;--ink-body:#c9cee0;--ink-muted:#a9aec3;--brand:#0e7ab0;--brand-hover:#0b6a99;--on-brand:#fff;--accent:#26a8df;--accent-tint:#26a8df24;--focus:#58bded;--success:#4fd89a;--warning:#f5b942;--danger:#ff8a65;--code-string:#7fe3c8;--shadow-glow:0 10px 30px 0 #0e7ab059;--shadow-card:0 20px 40px -24px #0009;--font-display:"Plus Jakarta Sans", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-pill:999px;--container:1200px;--measure:62ch;--nav-height:72px;--ease-out:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fc;--surface:#fff;--surface-raised:#e6eef9;--border:#d5deec;--border-strong:#7a8fb5;--ink:#0a1230;--ink-body:#2b3558;--ink-muted:#47527a;--brand:#0b6a99;--brand-hover:#08577d;--on-brand:#fff;--accent:#0b6a99;--accent-tint:#0b6a991a;--focus:#08577d;--success:#0a7a4b;--warning:#8a5a00;--danger:#b83a12;--code-string:#0b6e5c;--shadow-glow:0 8px 20px 0 #0b6a9940;--shadow-card:0 12px 32px -16px #0a123040}html{scroll-behavior:smooth}html.lenis{scroll-behavior:auto}body{background:var(--bg);color:var(--ink-body);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:27px}::selection{background:var(--brand);color:var(--on-brand)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.site-main:focus{outline:none}.skip-link{top:var(--space-4);left:var(--space-4);z-index:100;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.df-container{box-sizing:content-box;max-width:var(--container);padding-inline:var(--space-7);margin-inline:auto}.df-container--narrow{max-width:800px}.page-section{padding-block:var(--space-9)}.page-section+.page-section{padding-top:0}.page-section.page-section--tight-top{padding-top:var(--space-5)}.page-hero-wrap{padding-top:var(--space-2)}.page-hero-wrap:last-child{padding-bottom:var(--space-9)}.split{align-items:start;gap:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stack{align-items:flex-start;gap:var(--space-4);flex-direction:column;display:flex}.stack--lg{gap:var(--space-6)}.stack--stretch{align-items:stretch}.anchor-target,.service-entry{scroll-margin-top:calc(var(--nav-height) + var(--space-7))}.btn-row{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.df-eyebrow{font:500 13px/18px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0}.df-title{font:800 56px/60px var(--font-display);letter-spacing:-.03em;color:var(--ink);text-wrap:balance;margin:0}.df-h1{font:800 44px/50px var(--font-display);letter-spacing:-.025em;color:var(--ink);text-wrap:balance;margin:0}.df-h2{font:700 32px/40px var(--font-display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0}.df-h3{font:700 22px/30px var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0}.df-lead{max-width:var(--measure);font:400 19px/32px var(--font-body);color:var(--ink-body);margin:0}.df-p{max-width:var(--measure);font:400 16px/27px var(--font-body);color:var(--ink-body);margin:0}.df-small{font:400 14px/22px var(--font-body);color:var(--ink-muted);margin:0}.df-strong{color:var(--ink);font-weight:600}.text-accent{color:var(--accent)}.df-num{font:500 14px/22px var(--font-mono);color:var(--accent)}.pre-line{white-space:pre-line}.df-btn{justify-content:center;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);font:600 16px/20px var(--font-body);cursor:pointer;border:1px solid #0000;padding:16px 28px;text-decoration:none;transition:background-color .15s,box-shadow .15s;display:inline-flex}.df-btn svg{flex:none;width:20px;height:20px}.df-btn--primary{background:var(--brand);color:var(--on-brand);box-shadow:var(--shadow-glow)}.df-btn--primary:hover{background:var(--brand-hover)}.df-btn--outline{color:var(--ink);border-color:var(--border-strong);background:0 0}.df-btn--outline:hover{background:var(--surface-raised)}.df-btn[disabled]{background:var(--surface-raised);color:var(--ink-muted);box-shadow:none;cursor:not-allowed}.df-link{align-items:center;gap:var(--space-2);color:var(--accent);text-underline-offset:4px;font-weight:600;text-decoration:none;display:inline-flex}.df-link:hover{text-decoration:underline}.df-link svg{flex:none;width:20px;height:20px}.site-header{z-index:50;padding-block:var(--space-4);background:var(--bg);transition:background-color .3s;position:sticky;top:0}.site-header--scrolled{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.site-header--scrolled{background:color-mix(in srgb, var(--bg) 94%, transparent)}}.df-nav{height:var(--nav-height);justify-content:space-between;align-items:center;gap:var(--space-5);padding:0 var(--space-3) 0 var(--space-5);background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(110deg, var(--accent), var(--border) 28%, var(--border) 72%, var(--accent)) border-box;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.df-nav{background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(110deg, color-mix(in srgb, var(--accent) 70%, transparent), var(--border) 28%, var(--border) 72%, color-mix(in srgb, var(--accent) 50%, transparent)) border-box}}.df-nav{border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 var(--ink);border:1px solid #0000}@supports (color:color-mix(in lab, red, red)){.df-nav{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent)}}.df-nav{transition:height .3s var(--ease-out), box-shadow .3s}.site-header--scrolled .df-nav{height:64px;box-shadow:inset 0 1px 0 var(--ink), var(--shadow-card)}@supports (color:color-mix(in lab, red, red)){.site-header--scrolled .df-nav{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent), var(--shadow-card)}}.df-nav__progress{right:var(--space-5);bottom:-1px;left:var(--space-5);border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--brand), var(--accent));height:2px;transform:scaleX(var(--scroll-progress,0));transform-origin:0;pointer-events:none;position:absolute}.df-nav__brand{align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);font:800 20px/24px var(--font-display);letter-spacing:-.02em;color:var(--ink);flex:none;text-decoration:none;display:inline-flex}.df-nav__brand img{width:auto;height:32px;transition:transform .4s var(--ease-out)}.df-nav__brand:hover img{transform:rotate(-8deg)scale(1.06)}.nav-pill{background:var(--bg);align-items:center;padding:4px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.nav-pill{background:color-mix(in srgb, var(--bg) 60%, transparent)}}.nav-pill{border:1px solid var(--border);border-radius:var(--radius-pill)}.nav-pill__list{z-index:1;align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex;position:relative}.nav-pill__indicator{width:var(--w,0px);border:1px solid var(--accent);position:absolute;top:4px;bottom:4px;left:0}@supports (color:color-mix(in lab, red, red)){.nav-pill__indicator{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}}.nav-pill__indicator{border-radius:var(--radius-pill);background:var(--accent-tint);box-shadow:0 0 18px -4px var(--accent)}@supports (color:color-mix(in lab, red, red)){.nav-pill__indicator{box-shadow:0 0 18px -4px color-mix(in srgb, var(--accent) 45%, transparent)}}.nav-pill__indicator{opacity:0;transform:translateX(var(--x,0px));transition:opacity .2s}.nav-pill--ready .nav-pill__indicator{transition:transform .45s var(--ease-out), width .45s var(--ease-out), opacity .2s}.nav-pill__indicator.is-visible{opacity:1}.nav-pill__link{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font:500 16px/24px var(--font-body);color:var(--ink-muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:8px 18px;text-decoration:none;transition:color .2s;display:inline-flex}.nav-pill__link:hover,.nav-pill__link[aria-expanded=true]{color:var(--ink)}.nav-pill__link[aria-current=page],.nav-pill__link[data-active=true]{color:var(--accent)}.nav-pill__chevron{width:16px;height:16px;transition:transform .3s var(--ease-out)}.nav-pill__link[aria-expanded=true] .nav-pill__chevron{transform:rotate(180deg)}.nav-menu-item{position:relative}.nav-menu{visibility:hidden;opacity:0;transform-origin:top;width:min(640px,100vw - 48px);transition:opacity .2s ease, transform .35s var(--ease-out), visibility 0s linear .35s;padding-top:18px;position:absolute;top:100%;left:50%;transform:translate(-50%,10px)scale(.98)}.nav-menu.is-open{visibility:visible;opacity:1;transition-delay:0s;transform:translate(-50%)scale(1)}.nav-menu__panel{padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.nav-menu__grid{gap:var(--space-1);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.nav-menu.is-open .nav-menu__grid li{animation:menu-item .4s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}@keyframes menu-item{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.nav-menu__item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:inherit;text-decoration:none;transition:background-color .2s;display:flex}.nav-menu__item:hover,.nav-menu__item:focus-visible{background:var(--surface-raised)}.nav-menu__item .df-card__icon{width:40px;height:40px;transition:background-color .2s,color .2s}.nav-menu__item .df-card__icon svg{width:20px;height:20px}.nav-menu__item:hover .df-card__icon{background:var(--brand);color:var(--on-brand)}.nav-menu__text{flex-direction:column;min-width:0;display:flex}.nav-menu__name{font:600 15px/22px var(--font-body);color:var(--ink)}.nav-menu__footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-1);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.df-btn--shine{isolation:isolate;position:relative;overflow:hidden}.df-btn--shine:after{content:"";z-index:-1;background:linear-gradient(110deg, transparent 30%, var(--on-brand) 50%, transparent 70%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.df-btn--shine:after{background:linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--on-brand) 35%, transparent) 50%, transparent 70%)}}.df-btn--shine:after{transition:transform .8s var(--ease-out);transform:translate(-120%)}.df-btn--shine:hover:after{transform:translate(120%)}.df-nav__toggle{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:48px;height:48px;color:var(--ink);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;transition:background-color .15s;display:none}.df-nav__toggle:hover{background:var(--surface-raised)}.burger{width:20px;height:14px;display:block;position:relative}.burger span{border-radius:var(--radius-pill);width:100%;height:2px;transition:top .3s var(--ease-out), transform .3s var(--ease-out), opacity .2s;background:currentColor;position:absolute;left:0}.burger span:first-child{top:0}.burger span:nth-child(2){top:6px}.burger span:nth-child(3){top:12px}.burger[data-open=true] span:first-child{top:6px;transform:rotate(45deg)}.burger[data-open=true] span:nth-child(2){opacity:0}.burger[data-open=true] span:nth-child(3){top:6px;transform:rotate(-45deg)}.mobile-menu{gap:var(--space-4);margin-top:var(--space-2);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:menu-drop .35s var(--ease-out) both;max-height:calc(100dvh - var(--nav-height) - var(--space-8));overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto}@keyframes menu-drop{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}.mobile-menu li{animation:menu-item .4s var(--ease-out) both;animation-delay:calc(80ms + var(--i,0) * 35ms)}.mobile-menu__links,.mobile-menu__services{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mobile-menu__links a{border-radius:var(--radius-md);font:600 18px/26px var(--font-display);color:var(--ink);justify-content:space-between;align-items:center;padding:12px 16px;text-decoration:none;transition:background-color .15s;display:flex}.mobile-menu__links a svg{color:var(--ink-muted)}.mobile-menu__links a:hover{background:var(--surface-raised)}.mobile-menu__links a[aria-current=page]{background:var(--accent-tint);color:var(--accent)}.mobile-menu__links a[aria-current=page] svg{color:var(--accent)}.mobile-menu__services a{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);font:500 15px/22px var(--font-body);color:var(--ink-body);padding:8px 12px;text-decoration:none;display:flex}.mobile-menu__services a:hover{background:var(--surface-raised)}.mobile-menu__services .df-card__icon{width:36px;height:36px}.mobile-menu__services .df-card__icon svg{width:18px;height:18px}.mobile-menu>.df-btn{width:100%}.df-badge{align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent);font:500 13px/18px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;display:inline-flex}.df-badge svg{flex:none;width:16px;height:16px}.df-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.df-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);font:400 14px/22px var(--font-mono);color:var(--ink-body);padding:4px 12px;display:inline-flex}.df-card{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:background-color .2s, border-color .2s, box-shadow .3s var(--ease-out), transform .3s var(--ease-out);flex-direction:column;display:flex;position:relative}.df-card:hover{background:var(--surface-raised);border-color:var(--border-strong);box-shadow:var(--shadow-card);transform:translateY(-4px)}.media-card{gap:0;padding:0;overflow:hidden}.media-card .photo{aspect-ratio:16/10;border-radius:0;width:100%}.media-card__body{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-5);flex-direction:column;flex:1;display:flex}.media-card .media-card__icon{z-index:1;margin-top:calc(-1 * (var(--space-5) + 24px));background:var(--brand);color:var(--on-brand);box-shadow:0 0 0 4px var(--surface);transition:box-shadow .2s;position:relative}.media-card:hover .media-card__icon{box-shadow:0 0 0 4px var(--surface-raised)}.df-card--accent{background:linear-gradient(180deg, var(--accent-tint), transparent 70%), var(--surface);border-color:var(--accent)}.df-card__icon{border-radius:var(--radius-md);background:var(--accent-tint);width:48px;height:48px;color:var(--accent);flex:none;justify-content:center;align-items:center;display:flex}.df-card__icon svg{width:24px;height:24px}.df-card__footer{padding-top:var(--space-2);margin-top:auto}.card-link:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.card-link:focus-visible{outline:none}.df-card:has(.card-link:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.card-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.df-panel{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.df-hero{isolation:isolate;align-items:flex-start;gap:var(--space-5);padding:var(--space-8) var(--space-7);background:linear-gradient(180deg, var(--surface), var(--bg));border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.df-hero:before{content:"";z-index:-1;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.6;-webkit-mask-image:radial-gradient(ellipse 70% 90% at 85% 15%, var(--ink), transparent 70%);-webkit-mask-image:radial-gradient(ellipse 70% 90% at 85% 15%, var(--ink), transparent 70%);-webkit-mask-image:radial-gradient(ellipse 70% 90% at 85% 15%, var(--ink), transparent 70%);mask-image:radial-gradient(ellipse 70% 90% at 85% 15%, var(--ink), transparent 70%);background-size:48px 48px;animation:14s linear infinite grid-drift;position:absolute;inset:-48px}@keyframes grid-drift{to{transform:translate(48px,48px)}}.page-hero--split{align-items:center;gap:var(--space-7);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);display:grid}.page-hero__copy{align-items:flex-start;gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.page-hero__aside{min-width:0}.page-hero--bleed{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:600px}.page-hero--bleed .page-hero__copy{z-index:1;position:relative}.page-hero--bleed .page-hero__aside{width:58%;position:absolute;inset:0 0 0 auto}.page-hero--bleed .page-hero__aside:before{display:none}.hero-media{width:100%;height:100%}.hero-media img{object-fit:cover;object-position:right center;--hero-fade:linear-gradient(90deg, transparent 0%, var(--ink) 14%, var(--ink) 30%, var(--ink) 46%, var(--ink) 58%);width:100%;height:100%;display:block}@supports (color:color-mix(in lab, red, red)){.hero-media img{--hero-fade:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--ink) 12%, transparent) 14%, color-mix(in srgb, var(--ink) 45%, transparent) 30%, color-mix(in srgb, var(--ink) 85%, transparent) 46%, var(--ink) 58%)}}.hero-media img{-webkit-mask-image:var(--hero-fade);-webkit-mask-image:var(--hero-fade);-webkit-mask-image:var(--hero-fade);-webkit-mask-image:var(--hero-fade);mask-image:var(--hero-fade)}.df-code{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.df-code__bar{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-raised);border-bottom:1px solid var(--border);display:flex}.df-code__dot{border-radius:var(--radius-pill);background:var(--border-strong);width:10px;height:10px}.df-code__file{margin-left:var(--space-3);font:400 13px/18px var(--font-mono);color:var(--ink-muted)}.df-code__body{padding:var(--space-5);font:400 14px/24px var(--font-mono);color:var(--ink-body);white-space:pre;counter-reset:line;margin:0;overflow-x:auto}.df-code__line{counter-increment:line;display:block}.df-code__line:before{content:counter(line);width:2ch;margin-right:var(--space-4);color:var(--ink-muted);text-align:right;display:inline-block}.df-code .tok-key{color:var(--accent)}.df-code .tok-prop{color:var(--ink)}.df-code .tok-str{color:var(--code-string)}.df-code .tok-com{color:var(--ink-muted)}.df-code__status{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);font:400 13px/18px var(--font-mono);color:var(--ink-muted);display:flex}.df-code__status svg{color:var(--success)}.tile-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tile{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;text-decoration:none;transition:background-color .15s,box-shadow .15s;display:flex}.tile:hover{background:var(--surface-raised);box-shadow:var(--shadow-card)}.tile__text{flex-direction:column;flex:1;min-width:0;display:flex}.tile__title{color:var(--ink);font-weight:600}.tile__arrow{color:var(--accent);flex:none}.section-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.section-heading__text{max-width:var(--measure);gap:var(--space-3);flex-direction:column;display:flex}.df-list{max-width:var(--measure);gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.df-list li{gap:var(--space-3);font:400 16px/27px var(--font-body);color:var(--ink-body);display:flex}.df-list li:before{content:"";border-radius:var(--radius-pill);background:var(--accent);flex:none;width:8px;height:8px;margin-top:10px}.df-steps{max-width:var(--measure);gap:var(--space-4);counter-reset:step;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.df-steps li{align-items:flex-start;gap:var(--space-4);font:400 16px/27px var(--font-body);color:var(--ink-body);counter-increment:step;display:flex}.df-steps li:before{content:counter(step);border-radius:var(--radius-pill);background:var(--brand);width:32px;height:32px;color:var(--on-brand);font:700 14px/32px var(--font-body);text-align:center;flex:none}.df-steps li>span{padding-top:2px}.stat-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.split--center{align-items:center}.stat-row{gap:var(--space-6);margin:var(--space-2) 0;padding-block:var(--space-4);border-block:1px solid var(--border);flex-wrap:wrap;display:flex}.stat-row>div{flex-direction:column-reverse;display:flex}.stat-row dd{margin:0}.stat__value{font:800 32px/40px var(--font-display);letter-spacing:-.02em;color:var(--ink)}.work-card{gap:0;padding:0;overflow:hidden}.work-card__media{aspect-ratio:16/10;background:var(--surface-raised);border-bottom:1px solid var(--border);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.work-card__media img{object-fit:cover;width:100%;height:100%;transition:opacity .7s ease-out, transform .7s var(--ease-out)}.df-card:hover .work-card__media img{transform:scale(1.05)}.work-card__placeholder{border-radius:var(--radius-lg);background:var(--accent-tint);width:80px;height:80px;color:var(--accent);justify-content:center;align-items:center;display:flex}.work-card__placeholder svg{width:36px;height:36px}.work-card__play{border-radius:var(--radius-pill);background:var(--brand);width:56px;height:56px;color:var(--on-brand);box-shadow:var(--shadow-glow);justify-content:center;align-items:center;margin:auto;display:flex;position:absolute;inset:0}.work-card__body{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-5);flex-direction:column;flex:1;display:flex}.work-card__title a{color:inherit;text-decoration:none}.work-card__more{align-items:center;gap:var(--space-2);padding-top:var(--space-2);color:var(--accent);margin-top:auto;font-weight:600;display:inline-flex}.testimonial{gap:var(--space-4)}.testimonial__mark{color:var(--accent)}.testimonial blockquote{margin:0}.testimonial__footer{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding-top:var(--space-4);border-top:1px solid var(--border);flex-wrap:wrap;margin-top:auto;display:flex}.testimonial__person{align-items:center;gap:var(--space-3);display:flex}.testimonial__role{display:block}.testimonial__stars{color:var(--accent);gap:2px;display:flex}.avatar{border-radius:var(--radius-pill);background:var(--accent-tint);width:44px;height:44px;color:var(--accent);font:700 14px/1 var(--font-body);flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.filter-tabs{gap:var(--space-3);margin:0 0 var(--space-6);flex-wrap:wrap;padding:0;list-style:none;display:flex}.filter-tabs a{align-items:center;gap:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-pill);min-height:48px;font:600 16px/20px var(--font-body);color:var(--ink-body);padding:12px 20px;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.filter-tabs a:hover{background:var(--surface-raised);color:var(--ink)}.filter-tabs a[aria-current=page]{background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}.is-pending{opacity:.6;transition:opacity .15s}.df-accordion{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.df-accordion__item+.df-accordion__item{border-top:1px solid var(--border)}.df-accordion__trigger{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-5);border-radius:var(--radius-lg);font:600 16px/27px var(--font-body);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.df-accordion__icon{color:var(--accent);flex:none;transition:transform .15s}.df-accordion__trigger[aria-expanded=true] .df-accordion__icon{transform:rotate(180deg)}.df-accordion__panel{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.df-accordion__panel--open{grid-template-rows:1fr}.df-accordion__panel>div{overflow:hidden}.df-accordion__panel p{padding:0 var(--space-5) var(--space-5)}.form-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.df-field{gap:var(--space-2);flex-direction:column;display:flex}.df-field--wide{grid-column:1/-1}.df-label{font:600 14px/22px var(--font-body);color:var(--ink)}.df-label__required{color:var(--accent);margin-left:2px}.df-input{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:48px;font:400 16px/24px var(--font-body);color:var(--ink);padding:12px 16px;transition:border-color .15s}.df-input::placeholder{color:var(--ink-muted);opacity:1}.df-input:hover{border-color:var(--ink-muted)}textarea.df-input{resize:vertical;min-height:140px}.df-select{position:relative}.df-select select{appearance:none;cursor:pointer;padding-right:44px}.df-select select option{background:var(--surface);color:var(--ink)}.df-select svg{color:var(--ink-muted);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.df-alert{align-self:stretch;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);font:400 14px/22px var(--font-body);color:var(--ink);display:flex}.df-alert svg{flex:none;margin-top:1px}.df-alert--danger{border-color:var(--danger)}.df-alert--danger svg{color:var(--danger)}.status-success{color:var(--success)}.note{align-items:center;gap:var(--space-2);display:inline-flex}.info-list{gap:var(--space-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.info-list li{align-items:flex-start;gap:var(--space-4);display:flex}.info-list__text{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.info-list__text a{color:var(--ink);text-underline-offset:4px;text-decoration:none}.info-list__text a:hover{color:var(--accent);text-decoration:underline}.detail-media{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.detail-media img,.detail-media video{width:100%}.detail-media__frame{aspect-ratio:16/9}.detail-media__frame iframe{border:0;width:100%;height:100%}.gallery{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.gallery img{border:1px solid var(--border);border-radius:var(--radius-md);width:100%}.loader{padding-block:var(--space-8);justify-content:center;display:flex}.loader--full{align-items:center;min-height:60vh}.loader__spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:var(--radius-pill);width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);text-align:center;flex-direction:column;display:flex}.site-footer{background:var(--surface);border-top:1px solid var(--border)}.site-footer__grid{gap:var(--space-7);padding-block:var(--space-8);grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));display:grid}.site-footer__intro{align-items:flex-start;gap:var(--space-4);flex-direction:column;display:flex}.site-footer__heading{margin:0 0 var(--space-4)}.site-footer__links{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.site-footer__links a{align-items:center;gap:var(--space-3);color:var(--ink-body);text-underline-offset:4px;text-decoration:none;transition:color .15s;display:inline-flex}.site-footer__links a:hover{color:var(--ink);text-decoration:underline}.site-footer__links svg{color:var(--accent)}.site-footer__socials{gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-footer__socials a{border:1px solid var(--border-strong);border-radius:var(--radius-pill);width:44px;height:44px;color:var(--ink);justify-content:center;align-items:center;transition:background-color .15s;display:flex}.site-footer__socials a:hover{background:var(--surface-raised)}.site-footer__bottom{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.photo{aspect-ratio:4/3;background:var(--surface-raised);border-radius:var(--radius-lg);position:relative;overflow:hidden}.photo img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .7s ease-out, transform .9s var(--ease-out)}.photo img.is-loaded{opacity:1}.photo:after{content:"";background:linear-gradient(90deg, transparent, var(--ink), transparent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.photo:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ink) 7%, transparent), transparent)}}.photo:after{pointer-events:none;animation:1.4s ease-in-out infinite shimmer;transform:translate(-100%)}.photo:has(img.is-loaded):after{display:none}.fade-img{opacity:0;transition:opacity .7s ease-out}.fade-img.is-loaded{opacity:1}.df-card:hover .photo img,.photo--zoom:hover img{transform:scale(1.05)}.photo--framed{border:1px solid var(--border);box-shadow:var(--shadow-card)}.photo__tag{top:var(--space-4);left:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);font:500 13px/18px var(--font-mono);letter-spacing:.08em;color:var(--accent);text-transform:uppercase;padding:6px 12px;position:absolute}.photo-stat{right:var(--space-5);bottom:var(--space-5);align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:flex;position:absolute}.photo-stat__label{display:block}.tech-strip{padding-block:var(--space-7)}.tech-strip+.page-section{padding-top:var(--space-7)}.tech-logos{align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.marquee{--marquee-gap:var(--space-8);gap:var(--marquee-gap);width:100%;-webkit-mask-image:linear-gradient(90deg, transparent, var(--ink) 12%, var(--ink) 88%, transparent);-webkit-mask-image:linear-gradient(90deg, transparent, var(--ink) 12%, var(--ink) 88%, transparent);-webkit-mask-image:linear-gradient(90deg, transparent, var(--ink) 12%, var(--ink) 88%, transparent);mask-image:linear-gradient(90deg, transparent, var(--ink) 12%, var(--ink) 88%, transparent);display:flex;overflow:hidden}.marquee__track{justify-content:space-around;align-items:center;gap:var(--marquee-gap);flex:none;min-width:100%;margin:0;padding:0;list-style:none;animation:36s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(calc(-100% - var(--marquee-gap)))}}.tech-logos__item{align-items:center;gap:var(--space-3);font:500 15px/20px var(--font-body);color:var(--ink-muted);display:inline-flex}.tech-logos__item svg{fill:currentColor;flex:none;width:28px;height:28px;transition:color .2s}.tech-logos__item:hover{color:var(--ink)}.service-feature{align-items:center;gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.service-feature--flip .service-feature__media{order:2}.service-feature__deliver{margin-top:var(--space-7)}.service-feature__deliver .card-grid{margin-top:var(--space-4)}.service-entry+.service-entry{margin-top:var(--space-9);padding-top:var(--space-9);border-top:1px solid var(--border)}.card-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}.skeleton{background:var(--surface-raised);border-radius:var(--radius-sm);display:block;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--ink), transparent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.skeleton:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ink) 7%, transparent), transparent)}}.skeleton:after{animation:1.4s ease-in-out infinite shimmer;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-card:hover{background:var(--surface);border-color:var(--border);box-shadow:none;transform:none}.skeleton-card__body{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.skeleton-card .media-card__body{gap:var(--space-3)}.skeleton--media{aspect-ratio:16/10;border-radius:0;width:100%}.skeleton--icon{border-radius:var(--radius-md);width:48px;height:48px}.skeleton--title{width:60%;height:26px}.skeleton--line{width:100%;height:14px}.skeleton--short{width:70%}.skeleton-row{padding:var(--space-5)}.skeleton-row .skeleton--line{width:65%;height:18px}.hero-skeleton{min-height:600px}.reveal{opacity:0;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(40px)}.reveal.is-visible{opacity:1;will-change:auto;transform:none}.card-grid>.reveal,.stat-grid>.reveal{display:flex}.card-grid>.reveal>*,.stat-grid>.reveal>*{flex:1;min-width:0}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes settle{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:none}}@keyframes code-line{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}@keyframes caret{50%{opacity:0}}.page-hero__copy>*{animation:rise .8s var(--ease-out) both}.page-hero__copy>:nth-child(2){animation-delay:90ms}.page-hero__copy>:nth-child(3){animation-delay:.18s}.page-hero__copy>:nth-child(4){animation-delay:.27s}.page-hero__copy>:nth-child(5){animation-delay:.36s}.page-hero__aside{animation:settle 1s var(--ease-out) .25s both;position:relative}.page-hero__aside:before{content:"";z-index:-1;background:radial-gradient(closest-side, var(--accent-tint), transparent);position:absolute;inset:-12% -8%}.df-code__line{animation:code-line .45s var(--ease-out) both;animation-delay:calc(.6s + var(--line,0) * .11s)}.df-code__caret{vertical-align:text-bottom;background:var(--accent);width:8px;height:18px;margin-left:2px;animation:1s step-end infinite caret;display:inline-block}.df-code__status{animation:rise .5s var(--ease-out) 1.6s both}.lucide-arrow-right{transition:transform .25s var(--ease-out)}a:hover>.lucide-arrow-right,button:hover>.lucide-arrow-right,.df-card:hover .lucide-arrow-right{transform:translate(4px)}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.reveal{transition:opacity .9s ease-out;transition-delay:var(--reveal-delay,0s);transform:none}.page-hero__copy>*,.page-hero__aside,.df-code__line,.df-code__status{animation-name:fade}.skeleton:after,.photo:after{animation:none}.df-card:hover .photo img,.df-card:hover .work-card__media img,.photo--zoom:hover img{transform:none}}.hscroll{--gap:24px;position:relative}.hscroll__pin{height:100svh;padding-top:calc(var(--nav-height) + var(--space-6));padding-bottom:var(--space-5);flex-direction:column;justify-content:center;display:flex;position:sticky;top:0;overflow:hidden}.hscroll__inner{width:100%}.hscroll__pin .section-heading{margin-bottom:var(--space-5)}.hscroll__track{gap:var(--gap);width:max-content;padding:var(--space-3) var(--edge,var(--space-7));will-change:transform;margin:0;list-style:none;display:flex}.hscroll__card{width:var(--card-w,360px);flex:none;display:flex}.hscroll__card>*{flex:1}.ambient{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient span{will-change:transform;border-radius:50%;position:absolute}.ambient span:first-child{background:radial-gradient(closest-side, var(--accent), transparent);width:60vmax;height:60vmax;top:-10%;left:-10%}@supports (color:color-mix(in lab, red, red)){.ambient span:first-child{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 14%, transparent), transparent)}}.ambient span:first-child{animation:38s ease-in-out infinite alternate ambient-a}.ambient span:nth-child(2){background:radial-gradient(closest-side, var(--brand), transparent);width:70vmax;height:70vmax;top:30%;right:-15%}@supports (color:color-mix(in lab, red, red)){.ambient span:nth-child(2){background:radial-gradient(closest-side, color-mix(in srgb, var(--brand) 16%, transparent), transparent)}}.ambient span:nth-child(2){animation:46s ease-in-out infinite alternate ambient-b}.ambient span:nth-child(3){background:radial-gradient(closest-side, var(--focus), transparent);width:50vmax;height:50vmax;bottom:-20%;left:20%}@supports (color:color-mix(in lab, red, red)){.ambient span:nth-child(3){background:radial-gradient(closest-side, color-mix(in srgb, var(--focus) 10%, transparent), transparent)}}.ambient span:nth-child(3){animation:42s ease-in-out infinite alternate ambient-c}@keyframes ambient-a{to{transform:translate(25vw,20vh)scale(1.2)}}@keyframes ambient-b{to{transform:translate(-30vw,-15vh)scale(.85)}}@keyframes ambient-c{to{transform:translate(15vw,-25vh)scale(1.15)}}.df-nav__cta.df-btn--shine:after{animation:6s ease-in-out 2.5s infinite shine-sweep}@keyframes shine-sweep{0%{transform:translate(-120%)}18%,to{transform:translate(120%)}}.home-hero .page-hero__copy{position:relative}.home-hero .page-hero__copy>*{animation:none}.home-hero .page-hero__copy>.hero-ticker{animation:rise .7s var(--ease-out) both}.hero-ticker{padding:8px 18px 8px 14px}.hero-ticker__window{height:24px;-webkit-mask-image:linear-gradient(180deg, transparent, var(--ink) 22%, var(--ink) 78%, transparent);-webkit-mask-image:linear-gradient(180deg, transparent, var(--ink) 22%, var(--ink) 78%, transparent);-webkit-mask-image:linear-gradient(180deg, transparent, var(--ink) 22%, var(--ink) 78%, transparent);mask-image:linear-gradient(180deg, transparent, var(--ink) 22%, var(--ink) 78%, transparent);display:block;overflow:hidden}.hero-ticker__reel{flex-direction:column;animation:12.5s cubic-bezier(.7,0,.3,1) 1.5s infinite ticker-roll;display:flex}.hero-ticker__item{align-items:center;gap:var(--space-2);white-space:nowrap;height:24px;display:flex}@keyframes ticker-roll{0%,17%{transform:translateY(0)}20%,37%{transform:translateY(-16.6667%)}40%,57%{transform:translateY(-33.3333%)}60%,77%{transform:translateY(-50%)}80%,97%{transform:translateY(-66.6667%)}to{transform:translateY(-83.3333%)}}.hero-word{opacity:0;filter:blur(10px);animation:word-in .9s var(--ease-out) forwards;animation-delay:calc(.15s + var(--w,0) * .11s);display:inline-block;transform:translateY(.4em)}@keyframes word-in{to{opacity:1;filter:blur();transform:none}}.hero-word__accent{background:linear-gradient(100deg, var(--accent) 0%, var(--focus) 25%, var(--accent) 50%, var(--brand) 75%, var(--accent) 100%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:6s linear 1.6s infinite text-shimmer}@keyframes text-shimmer{to{background-position:-200% 0}}.home-hero .page-hero__copy>.df-lead{animation:rise .9s var(--ease-out) .8s both}.home-hero .page-hero__copy:before{content:"";z-index:-1;background:radial-gradient(closest-side, var(--accent), transparent);border-radius:50%;width:560px;height:560px;margin-top:-280px;position:absolute;top:50%;left:-180px}@supports (color:color-mix(in lab, red, red)){.home-hero .page-hero__copy:before{background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 22%, transparent), transparent)}}.home-hero .page-hero__copy:before{pointer-events:none;animation:14s ease-in-out infinite alternate orb-drift}@keyframes orb-drift{0%{transform:translateY(-40px)scale(1)}to{transform:translate(90px,40px)scale(1.15)}}.home-hero .page-hero__aside{animation:.9s ease-out .15s both fade}.home-hero .hero-media{position:relative;overflow:hidden}.home-hero .hero-media img.is-loaded{animation:3.5s both ken-burns,20s ease-in-out 3.5s infinite alternate hero-breathe}@keyframes hero-breathe{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes ken-burns{0%{transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.hero-word{transform:none}}@media (width<=1100px){.nav-pill,.df-nav__cta{display:none}.df-nav__toggle{display:inline-flex}}@media (width>=1101px){.mobile-menu{display:none}}@media (width<=1100px){.card-grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=960px){.split,.page-hero--split,.service-feature{grid-template-columns:minmax(0,1fr)}.service-feature--flip .service-feature__media{order:0}.page-hero--bleed{min-height:0}.page-hero--bleed .page-hero__aside{width:auto;margin:0 calc(-1 * var(--space-7)) calc(-1 * var(--space-8));position:relative;inset:auto}.hero-media img{--hero-fade:linear-gradient(180deg, transparent 0%, var(--ink) 18%, var(--ink) 40%);height:auto}@supports (color:color-mix(in lab, red, red)){.hero-media img{--hero-fade:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--ink) 40%, transparent) 18%, var(--ink) 40%)}}.card-grid,.card-grid--4,.card-grid--5,.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__intro{grid-column:1/-1}}@media (width<=640px){.df-container{padding-inline:var(--space-5)}.page-section{padding-block:var(--space-8)}.df-title{letter-spacing:-.025em;font-size:36px;line-height:42px}.df-h1{letter-spacing:-.02em;font-size:30px;line-height:38px}.df-h2{letter-spacing:-.015em;font-size:24px;line-height:32px}.df-hero{padding:var(--space-7) var(--space-5)}.df-panel{padding:var(--space-6) var(--space-5)}.card-grid,.card-grid--2,.card-grid--4,.card-grid--5,.form-grid,.site-footer__grid{grid-template-columns:minmax(0,1fr)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.df-nav__brand{font-size:18px}.photo-stat{right:var(--space-4);bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.page-hero--bleed .page-hero__aside{margin:0 calc(-1 * var(--space-5)) calc(-1 * var(--space-7))}.marquee{--marquee-gap:var(--space-6)}.marquee__track{animation-duration:26s}.service-entry+.service-entry{margin-top:var(--space-8);padding-top:var(--space-8)}.df-code__body{padding:var(--space-4) var(--space-3);font-size:12px;line-height:22px}.df-code__line:before{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
