.SiteFooter-module__WyyTVa__footer{width:min(var(--max-width), calc(100% - 2rem));margin:0 auto 1.25rem;padding-top:2rem;position:relative}.SiteFooter-module__WyyTVa__shell{-webkit-backdrop-filter:blur(24px)saturate(1.14);backdrop-filter:blur(24px)saturate(1.14);background:linear-gradient(#ffffffc7,#f2f8fd9e),radial-gradient(circle at 82% 0,#a6ceec33,#0000 30%),radial-gradient(circle at 12% 20%,#ffffff7a,#0000 32%);border:1px solid #7490ac2e;border-radius:34px;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:1rem;padding:clamp(1.15rem,2.4vw,2rem);display:grid;box-shadow:inset 0 1px #ffffffe0,0 24px 54px #6985a21a}.SiteFooter-module__WyyTVa__brandColumn{align-content:start;gap:.8rem;display:grid}.SiteFooter-module__WyyTVa__logoLink{width:fit-content;display:inline-flex}.SiteFooter-module__WyyTVa__logo{width:clamp(148px,16vw,184px);height:auto}.SiteFooter-module__WyyTVa__brandColumn h2{color:#112031eb;letter-spacing:-.07em;max-width:18ch;margin:0;font-size:clamp(2.4rem,4.4vw,4.2rem);font-weight:620;line-height:.88}.SiteFooter-module__WyyTVa__brandColumn p{color:#112031a8;max-width:38rem;margin:0;font-size:1rem;line-height:1.65}.SiteFooter-module__WyyTVa__actionColumn{background:linear-gradient(#ffffffc2,#f6fbff94),linear-gradient(135deg,#d6e8f62e,#ffffff1a);border:1px solid #7490ac24;border-radius:26px;align-content:space-between;justify-items:start;gap:1.2rem;min-height:15rem;padding:1rem;display:grid;box-shadow:inset 0 1px #ffffffd1}.SiteFooter-module__WyyTVa__actionColumn span{color:#11203185;letter-spacing:.13em;text-transform:uppercase;font-size:.78rem;font-weight:650;line-height:1.4}.SiteFooter-module__WyyTVa__nav{flex-wrap:wrap;grid-column:1/-1;gap:.45rem;padding-top:.25rem;display:flex}.SiteFooter-module__WyyTVa__nav a{color:#112031a8;min-height:42px;transition:transform .18s var(--ease-out), background-color .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out);background:#ffffff6b;border:1px solid #7490ac24;border-radius:999px;justify-content:center;align-items:center;padding:0 .9rem;display:inline-flex}.SiteFooter-module__WyyTVa__nav a:active{transform:scale(.97)}.SiteFooter-module__WyyTVa__bottomRow{color:#1120317a;border-top:1px solid #7490ac1f;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding-top:.8rem;font-size:.9rem;display:flex}@media (hover:hover) and (pointer:fine){.SiteFooter-module__WyyTVa__nav a:hover{color:#112031e6;background:#ffffff9e;border-color:#7490ac38;transform:translateY(-1px)}}@media (max-width:760px){.SiteFooter-module__WyyTVa__footer{width:min(var(--max-width), calc(100% - .85rem));margin-bottom:.7rem;padding-top:.7rem}.SiteFooter-module__WyyTVa__shell{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:26px;grid-template-columns:1fr;gap:.8rem;padding:1rem}.SiteFooter-module__WyyTVa__brandColumn h2{max-width:18ch;font-size:clamp(2.1rem,9.5vw,3.2rem);line-height:.9}.SiteFooter-module__WyyTVa__actionColumn{border-radius:22px;gap:1rem;min-height:auto;padding:.9rem}.SiteFooter-module__WyyTVa__actionColumn .SiteFooter-module__WyyTVa__contactLink{width:100%}.SiteFooter-module__WyyTVa__nav{gap:.35rem}.SiteFooter-module__WyyTVa__nav a{min-height:38px;padding:0 .72rem;font-size:.9rem}.SiteFooter-module__WyyTVa__bottomRow{gap:.4rem;display:grid}}.SiteFooter-module__WyyTVa__email{color:#112031a8;text-underline-offset:.2em;overflow-wrap:anywhere;font-size:.9rem;-webkit-text-decoration:underline #1120313d;text-decoration:underline #1120313d}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", "Times New Roman", serif;--bg:#f5f9fc;--bg-soft:#eef4f9;--surface:#ffffffad;--surface-strong:#ffffffd1;--surface-soft:#5877990d;--line:#7490ac29;--line-strong:#7490ac3d;--text:#1c140d;--text-muted:#1c140da3;--accent:#8eabca;--accent-soft:#8eabca24;--accent-secondary:#d7e7f5;--shadow:0 26px 60px #6985a21c;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--radius-xl:32px;--radius-lg:24px;--radius-md:18px;--radius-sm:999px;--max-width:1280px}*{box-sizing:border-box}html{scroll-behavior:auto;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-width:320px;color:var(--text);font-family:var(--font-sans), system-ui, sans-serif;background:radial-gradient(circle at top,#a4cae938,#0000 30%),radial-gradient(circle at 14% 18%,#e2f0fa66,#0000 20%),linear-gradient(#fdfefe 0%,#f3f8fc 56%,#eef4f9 100%);margin:0;line-height:1.5;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;opacity:.5;background-image:linear-gradient(#3d2d1d05 1px,#0000 1px),linear-gradient(90deg,#3d2d1d05 1px,#0000 1px);background-size:120px 120px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 28%,#0000 82%);mask-image:radial-gradient(circle,#000 28%,#0000 82%)}a{color:inherit;text-decoration:none}img,svg,canvas{display:block}button,input,textarea,select{font:inherit}main{position:relative}[data-project-tile]:before,[data-project-tile]:after,[data-project-tile] [class*=hoverDot],[data-project-tile] [class*=HoverDot],[data-project-tile] [class*=dot],[data-project-tile] [class*=particle]{content:none!important;display:none!important}::selection{background:#c5a27a47}.container{width:min(var(--max-width), calc(100% - 2rem));margin:0 auto}.sectionLabel{border-radius:var(--radius-sm);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(1.12);backdrop-filter:blur(18px)saturate(1.12);min-height:40px;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;transition:transform .32s var(--ease-out), border-color .32s var(--ease-out), box-shadow .32s var(--ease-out);background:linear-gradient(#ffffffbd,#f3f9ff8f),linear-gradient(135deg,#d6e8f63d,#ffffff14);align-items:center;gap:.65rem;padding:0 1rem;font-size:.82rem;display:inline-flex;box-shadow:inset 0 1px #ffffffd1}@media (hover:hover) and (pointer:fine){.sectionLabel:hover{border-color:var(--line-strong);transform:translateY(-1px);box-shadow:inset 0 1px #ffffffeb,0 10px 20px #6985a21f}.sectionLabel:hover:before{transform:scale(1.18)}}.sectionLabel:before{content:"";background:linear-gradient(135deg, var(--accent), var(--accent-secondary));width:8px;height:8px;transition:transform .32s var(--ease-out);border-radius:50%;animation:3.6s ease-in-out infinite dotBreathe;box-shadow:0 0 18px #c5a27a52}@keyframes dotBreathe{0%,to{box-shadow:0 0 #c5a27a52,0 0 18px #c5a27a52}50%{box-shadow:0 0 0 6px #c5a27a00,0 0 26px #c5a27a66}}.btn{isolation:isolate;height:var(--btn-h,48px);padding:0 var(--btn-px,22px);font:inherit;font-size:var(--btn-font,.95rem);letter-spacing:-.006em;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s var(--ease-out), box-shadow .2s var(--ease-out), filter .2s ease, color .16s ease;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-weight:560;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btnSm{--btn-h:40px;--btn-px:17px;--btn-font:.906rem;gap:7px}.btnLg{--btn-h:52px;--btn-px:26px;--btn-font:1rem;gap:9px}.btnBlock{width:100%}.btn:before,.btnIcon:before,.badge:before{content:"";z-index:-1;border-radius:inherit;background:var(--btn-rim);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.btnArrow{width:14px;height:14px;transition:transform .2s var(--ease-out);flex:none;display:block}.btnLg .btnArrow{width:16px;height:16px}.btn .btnArrow:last-child{margin-right:-3px}.btn .btnArrowBack:first-child{margin-left:-3px}.btn .btnArrowExternal:last-child{margin-left:-2px;margin-right:-4px}.btnPrimary{--btn-rim:linear-gradient(180deg, #ffffff57, #ffffff0f 50%, #ffffff1f);color:#fff;background:radial-gradient(130% 120% at 50% -30%,#a0beff57,#0000 58%),linear-gradient(#2a3650 0%,#141c2e 52%,#0b1220 100%);box-shadow:inset 0 1px #ffffff3d,inset 0 -1px #0006,0 1px 2px #0b122033,0 6px 14px -4px #0b122061}.btnPrimary:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,#0000 30%,#fff3 48%,#ffffff0f 56%,#0000 70%);position:absolute;inset:0;transform:translate(-110%)}.btnSecondary,.btnIcon{--btn-rim:linear-gradient(180deg, #fffffffa, #ffffff6b 46%, #84a0be57);color:#111827;background:linear-gradient(#fffffff5 0%,#ffffff94 100%);box-shadow:inset 0 -2px 5px #84a0be24,0 1px 2px #0f172a0d,0 4px 10px -3px #33527329}.btnIcon{isolation:isolate;width:var(--btn-icon,40px);height:var(--btn-icon,40px);color:#111827a3;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s var(--ease-out), color .16s ease, box-shadow .2s var(--ease-out);border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid;position:relative}.btnIcon svg{width:18px;height:18px;display:block}.btnIconPrimary{--btn-rim:linear-gradient(180deg, #ffffff57, #ffffff0f 50%, #ffffff1f);color:#fff;background:radial-gradient(130% 120% at 50% -30%,#a0beff57,#0000 58%),linear-gradient(#2a3650 0%,#141c2e 52%,#0b1220 100%);box-shadow:inset 0 1px #ffffff3d,inset 0 -1px #0006,0 1px 2px #0b122033,0 4px 10px -3px #0b122057}.btnIconPrimary .btnArrow{margin:0}[data-surface=dark] .btnPrimary{--btn-rim:linear-gradient(180deg, #fff, #ffffff8c 50%, #c4d4e899);color:#0b1220;background:linear-gradient(#fff 0%,#edf2f8 100%);box-shadow:inset 0 -2px 5px #84a0be38,0 1px 2px #00000038,0 8px 20px -6px #00000080}[data-surface=dark] .btnPrimary:after{background:linear-gradient(105deg,#0000 30%,#96b4e638 48%,#0000 66%)}[data-surface=dark] .btnSecondary{--btn-rim:linear-gradient(180deg, #ffffff70, #ffffff1a 50%, #fff3);color:#fff;-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);background:linear-gradient(#ffffff29 0%,#ffffff0f 100%);box-shadow:inset 0 1px #ffffff1f,0 8px 20px -8px #00000073}[data-surface=dark] .btnIcon{--btn-rim:linear-gradient(180deg, #ffffff70, #ffffff1a 50%, #fff3);color:#ffffffdb;-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);background:linear-gradient(#ffffff29 0%,#ffffff0f 100%);box-shadow:inset 0 1px #ffffff1f,0 8px 20px -8px #00000073}.badge{--btn-rim:linear-gradient(180deg, #fffffffa, #ffffff6b 46%, #84a0be57);isolation:isolate;color:#111827bd;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;-webkit-backdrop-filter:blur(16px)saturate(1.6);backdrop-filter:blur(16px)saturate(1.6);background:linear-gradient(#ffffffeb 0%,#ffffff85 100%);border-radius:999px;align-items:center;gap:10px;width:fit-content;height:34px;padding:0 15px 0 12px;font-size:.7rem;font-weight:600;line-height:1;display:inline-flex;position:relative;box-shadow:inset 0 -2px 5px #84a0be1f,0 1px 2px #0f172a0a,0 6px 16px -6px #33527333}.badgeDot{background:radial-gradient(circle at 35% 30%,#86efac 0%,#22a35a 72%);border-radius:50%;flex:none;width:8px;height:8px;position:relative;box-shadow:0 0 0 3px #22a35a24,0 0 8px #22a35a73}.badgeDot:after{content:"";animation:badgePulse 2.4s var(--ease-out) infinite;background:#22a35a80;border-radius:50%;position:absolute;inset:0}@keyframes badgePulse{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(2.8)}}.badgeDivider{opacity:.22;background:currentColor;flex:none;width:1px;height:12px}[data-surface=dark] .badge{--btn-rim:linear-gradient(180deg, #ffffff70, #ffffff1a 50%, #fff3);color:#ffffffe6;background:linear-gradient(#ffffff29 0%,#ffffff0d 100%);box-shadow:inset 0 1px #ffffff1a,0 8px 20px -8px #00000073}[data-surface=dark] .badgeDot{background:radial-gradient(circle at 35% 30%,#bbf7d0 0%,#4ade80 72%);box-shadow:0 0 0 3px #4ade8029,0 0 10px #4ade8099}@media (prefers-reduced-motion:reduce){.badgeDot:after{opacity:0;animation:none}}.ctaText{color:#111827;letter-spacing:-.006em;align-items:center;gap:6px;width:fit-content;font-size:.9rem;font-weight:560;line-height:1.2;text-decoration:none;display:inline-flex}[data-surface=dark] .ctaText{color:#fff}.btn:active{transform:scale(.97)}.btnIcon:active{transform:scale(.94)}.btn:focus-visible,.btnIcon:focus-visible,.ctaText:focus-visible{outline-offset:2px;outline:2px solid #2563ebb8}[data-surface=dark] .btn:focus-visible,[data-surface=dark] .ctaText:focus-visible{outline-color:#93c5fde6}@media (hover:hover) and (pointer:fine){.btn:hover{transform:translateY(-1px)}.btn:hover .btnArrow,a:hover>.ctaText .btnArrow,.ctaText:hover .btnArrow{transform:translate(2px)}.btn:hover .btnArrowExternal,.ctaText:hover .btnArrowExternal{transform:translate(1.5px,-1.5px)}.btn:hover .btnArrowBack,.ctaText:hover .btnArrowBack{transform:translate(-2px)}.btnPrimary:hover{filter:brightness(1.1);box-shadow:inset 0 1px #ffffff47,inset 0 -1px #0006,0 2px 4px #0b122033,0 12px 24px -6px #0b12206b}.btnPrimary:hover:after{transition:transform .72s var(--ease-out);transform:translate(110%)}.btnSecondary:hover,.btnIcon:hover{color:#111827;box-shadow:inset 0 -2px 5px #84a0be1f,0 2px 4px #0f172a0f,0 10px 20px -6px #33527342}.btnIcon:hover{transform:translateY(-1px)}.btnIconPrimary:hover{color:#fff;filter:brightness(1.1);box-shadow:inset 0 1px #ffffff47,inset 0 -1px #0006,0 2px 4px #0b122033,0 10px 20px -6px #0b122066}[data-surface=dark] .btnPrimary:hover{filter:none;box-shadow:inset 0 -2px 5px #84a0be33,0 2px 4px #0000003d,0 14px 28px -8px #0009}[data-surface=dark] .btnIcon:hover{color:#fff;box-shadow:inset 0 1px #ffffff29,0 12px 26px -8px #0000008c}[data-surface=dark] .btnSecondary:hover{color:#fff;filter:brightness(1.25);box-shadow:inset 0 1px #ffffff29,0 12px 26px -8px #0000008c}.btn:active{transform:scale(.97)}.btnIcon:active{transform:scale(.94)}}@media (prefers-reduced-motion:reduce){.btn:hover,.btnIcon:hover{transform:none}.btnPrimary:hover:after,.btnArrow{transition:none}}.sectionHeading{font-family:var(--font-display), serif;letter-spacing:-.05em;margin:0;font-size:clamp(2.8rem,5vw,4.75rem);font-weight:600;line-height:.94}.sectionIntro{max-width:42rem;color:var(--text-muted);margin:1rem 0 0;font-size:1.05rem}@media (max-width:900px){.container{width:min(var(--max-width), calc(100% - 1.25rem))}}@media (max-width:760px){body:before{opacity:.34;background-size:88px 88px}.sectionLabel{letter-spacing:.1em;-webkit-backdrop-filter:none;backdrop-filter:none;gap:.5rem;min-height:34px;padding:0 .78rem;font-size:.68rem}.sectionLabel:before{width:6px;height:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
