/* --- Loaded from ContactPage.DTEy_FLV.css --- */
.tally-wrap[data-astro-cid-5pmdpn63]{border:1px solid var(--panel-line);border-radius:var(--radius-lg);background:var(--panel);color:var(--panel-ink);overflow:hidden;box-shadow:0 20px 48px #00000040}.tally-head[data-astro-cid-5pmdpn63]{border-bottom:1px solid var(--panel-line);font:600 var(--text-xs)/1 var(--font-display,"Outfit", sans-serif);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.tally-head[data-astro-cid-5pmdpn63] .section-kicker[data-astro-cid-5pmdpn63]{color:#fff;margin:0}.tally-ref[data-astro-cid-5pmdpn63]{color:var(--panel-mist);font-size:11px}.tally-wrap[data-astro-cid-5pmdpn63] iframe[data-astro-cid-5pmdpn63]{background:0 0;border:none;width:100%;min-height:640px;display:block}@media (width<=600px){.tally-head[data-astro-cid-5pmdpn63]{flex-direction:column;align-items:flex-start;gap:6px}.tally-wrap[data-astro-cid-5pmdpn63] iframe[data-astro-cid-5pmdpn63]{min-height:720px}}.contact-hero[data-astro-cid-qjvhfxcr]{padding:var(--space-10) 0 var(--space-8);background:var(--surface);border-bottom:1px solid var(--line)}.contact-hero[data-astro-cid-qjvhfxcr] h1[data-astro-cid-qjvhfxcr]{max-width:920px;margin-top:var(--space-3);font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:-.035em;color:var(--ink);font-size:clamp(2.6rem,5vw,4.6rem);font-weight:700;line-height:1.1}.hero-intro[data-astro-cid-qjvhfxcr]{max-width:680px;margin-top:var(--space-4);font-size:var(--text-lg);color:var(--mist);line-height:1.65}.contact-main[data-astro-cid-qjvhfxcr]{padding-top:var(--space-8)}.contact-grid[data-astro-cid-qjvhfxcr]{grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(32px,6vw,80px);display:grid}.contact-sidebar[data-astro-cid-qjvhfxcr]{gap:var(--space-6);flex-direction:column;display:flex;position:sticky;top:110px}.sidebar-block[data-astro-cid-qjvhfxcr] h2[data-astro-cid-qjvhfxcr]{margin-top:var(--space-2);font-family:var(--font-display,"Outfit", sans-serif);font-size:var(--text-2xl);letter-spacing:-.025em;color:var(--ink);font-weight:700;line-height:1.2}.contact-cards[data-astro-cid-qjvhfxcr]{gap:var(--space-3);margin-top:var(--space-5);display:grid}.direct-card[data-astro-cid-qjvhfxcr]{padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);align-items:center;gap:16px;text-decoration:none;transition:all .22s cubic-bezier(.16,1,.3,1);display:flex}.direct-card[data-astro-cid-qjvhfxcr]:hover{border-color:var(--brand-blue,#0062e3);box-shadow:var(--shadow-milky);transform:translateY(-2px)}.direct-card__icon[data-astro-cid-qjvhfxcr]{border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--line);width:44px;height:44px;color:var(--brand-blue,#0062e3);flex-shrink:0;place-items:center;display:grid}.direct-card[data-astro-cid-qjvhfxcr]:hover .direct-card__icon[data-astro-cid-qjvhfxcr]{background:var(--brand-blue,#0062e3);color:#fff;border-color:var(--brand-blue,#0062e3)}.direct-card__info[data-astro-cid-qjvhfxcr]{flex-direction:column;gap:2px;display:flex}.direct-card__info[data-astro-cid-qjvhfxcr] span[data-astro-cid-qjvhfxcr]{font:600 11px/1 var(--font-display,"Outfit", sans-serif);letter-spacing:.1em;text-transform:uppercase;color:var(--mist)}.direct-card__info[data-astro-cid-qjvhfxcr] strong[data-astro-cid-qjvhfxcr]{font:700 16px/1.3 var(--font-display,"Outfit", sans-serif);letter-spacing:-.01em;color:var(--ink)}.sidebar-location[data-astro-cid-qjvhfxcr]{padding:var(--space-4) var(--space-5);background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-md)}.location-kicker[data-astro-cid-qjvhfxcr]{font:600 10px/1 var(--font-display,"Outfit", sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--mist);margin-bottom:6px;display:block}.sidebar-location[data-astro-cid-qjvhfxcr] p[data-astro-cid-qjvhfxcr]{font-family:var(--font-body,"Outfit", sans-serif);color:var(--ink);font-size:13px;font-weight:500}.contact-form-slot[data-astro-cid-qjvhfxcr]{width:100%}.contact-clients[data-astro-cid-qjvhfxcr]{padding-bottom:var(--space-10)}@media (width<=860px){.contact-grid[data-astro-cid-qjvhfxcr]{gap:var(--space-6);grid-template-columns:1fr}.contact-form-slot[data-astro-cid-qjvhfxcr]{order:1}.contact-sidebar[data-astro-cid-qjvhfxcr]{margin-top:var(--space-4);order:2;position:static}}


/* --- Loaded from BaseLayout.BtTfyleq.css --- */
.locale[data-astro-cid-nufymefk]{font:600 12px/1 var(--font-display,"Outfit", sans-serif);letter-spacing:.08em;color:var(--mist);align-items:center;gap:7px;display:flex}.locale[data-astro-cid-nufymefk] a[data-astro-cid-nufymefk]{color:var(--mist);border-radius:2px;padding:2px 4px;transition:color .16s}.locale[data-astro-cid-nufymefk] a[data-astro-cid-nufymefk]:hover{color:var(--ink)}.locale[data-astro-cid-nufymefk] a[data-astro-cid-nufymefk][aria-current=page]{color:var(--ink);text-underline-offset:4px;font-weight:700;text-decoration:underline 1.5px}.site-header[data-astro-cid-isef26zo]{z-index:20;-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--line);transition:background-color .22s var(--ease-precision), border-color .22s var(--ease-precision), box-shadow .22s var(--ease-precision);background:#fbfbf9f2;position:sticky;top:0}.site-header[data-astro-cid-isef26zo].is-scrolled{border-color:var(--line);background:#fffffffa;box-shadow:0 4px 20px -4px #0d0e110a}.header-inner[data-astro-cid-isef26zo]{justify-content:space-between;align-items:center;height:72px;display:flex}.logo-mark[data-astro-cid-isef26zo]{color:var(--ink);transition:transform .18s var(--ease-out-strong);align-items:center;gap:12px;text-decoration:none;display:flex}.logo-mark[data-astro-cid-isef26zo]:hover{transform:translateY(-1px)}.logo-mark[data-astro-cid-isef26zo]:active{transform:scale(.985)}.logo-icon[data-astro-cid-isef26zo]{flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-text[data-astro-cid-isef26zo]{flex-direction:column;justify-content:center;line-height:1;display:flex}.logo-brand[data-astro-cid-isef26zo]{align-items:baseline;gap:6px;display:flex}.brand-name[data-astro-cid-isef26zo]{font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:-.02em;color:var(--ink);font-size:1.2rem;font-weight:800}.brand-tag[data-astro-cid-isef26zo]{font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:.16em;color:var(--mist);text-transform:uppercase;font-size:.72rem;font-weight:600}.logo-sub[data-astro-cid-isef26zo]{font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:.18em;color:var(--mist);text-transform:uppercase;margin-top:2px;font-size:.65rem;font-weight:600}.desktop-nav[data-astro-cid-isef26zo]{align-items:center;gap:32px;margin-left:auto;margin-right:36px;display:flex}.nav-link[data-astro-cid-isef26zo]{font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:.02em;color:var(--mist);padding:6px 0;font-size:14px;font-weight:500;text-decoration:none;transition:color .18s;position:relative}.nav-link[data-astro-cid-isef26zo]:after{content:"";background:var(--ink);border-radius:var(--radius-pill);transform-origin:100%;height:1.5px;transition:transform .22s var(--ease-out-strong);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link[data-astro-cid-isef26zo]:hover,.nav-link[data-astro-cid-isef26zo].is-active{color:var(--ink)}.nav-link[data-astro-cid-isef26zo].is-active{font-weight:600}.nav-link[data-astro-cid-isef26zo]:hover:after,.nav-link[data-astro-cid-isef26zo].is-active:after{transform-origin:0;transform:scaleX(1)}.header-actions[data-astro-cid-isef26zo]{align-items:center;gap:18px;display:flex}.menu-toggle[data-astro-cid-isef26zo],.menu-toggle{cursor:pointer;background:0 0;border:0;padding:8px;display:none;position:relative;z-index:101;touch-action:manipulation;transition:transform .16s cubic-bezier(.16,1,.3,1)}.menu-toggle:active{transform:scale(.92)}.menu-toggle:focus-visible{outline:2px solid var(--brand-blue,#0062e3);outline-offset:3px;border-radius:4px}.menu-toggle[data-astro-cid-isef26zo] span[data-astro-cid-isef26zo],.menu-toggle span{background:var(--ink,#0d0e11);border-radius:2px;width:22px;height:2px;margin:5px 0;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .18s ease;display:block;transform-origin:center}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}body.menu-open .site-header{background:#fff!important;border-bottom-color:rgba(0,0,0,.08)}.mobile-nav-backdrop{display:none;position:fixed;inset:72px 0 0 0;background:rgba(10,11,14,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:98;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .24s cubic-bezier(.16,1,.3,1),visibility .24s}.mobile-nav-backdrop.is-open{opacity:1;pointer-events:auto;visibility:visible}.mobile-nav{display:none;position:fixed;top:72px;left:0;right:0;max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:99;background:rgba(13,15,18,.98);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-bottom:1px solid rgba(255,255,255,.09);box-shadow:0 24px 48px -12px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.07);padding:18px 18px 26px 18px;flex-direction:column;gap:12px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:transform .26s cubic-bezier(.16,1,.3,1),opacity .22s cubic-bezier(.16,1,.3,1),visibility .26s}.mobile-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-nav__links{display:flex;flex-direction:column;gap:8px}.mobile-nav__item{position:relative;display:flex;align-items:center;justify-content:center;padding:14px 16px;min-height:52px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:8px;text-decoration:none;transition:transform .16s cubic-bezier(.16,1,.3,1),background-color .16s ease,border-color .16s ease}.mobile-nav__item:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.mobile-nav__item:active{transform:scale(.98);background:rgba(255,255,255,.08)}.mobile-nav__item.is-active,.mobile-nav__item[aria-current=page]{background:rgba(0,98,227,.1);border-color:rgba(0,98,227,.45)}.mobile-nav__index{position:absolute;left:16px;font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:11px;font-weight:600;color:#0062e3;background:rgba(0,98,227,.14);border:1px solid rgba(0,98,227,.28);border-radius:4px;padding:3px 6px;line-height:1}.mobile-nav__title{font-family:var(--font-display,"Outfit",sans-serif);font-size:1.15rem;font-weight:700;color:#fbfbf9;letter-spacing:-.01em;line-height:1.2;text-align:center}.mobile-nav__arrow{position:absolute;right:18px;color:#5e626e;font-size:1.15rem;transition:transform .18s cubic-bezier(.16,1,.3,1),color .18s ease}.mobile-nav__item:hover .mobile-nav__arrow,.mobile-nav__item:active .mobile-nav__arrow{color:#fff;transform:translateX(3px)}.mobile-nav__cta{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 16px;min-height:52px;background:linear-gradient(135deg,#0062e3 0%,#004bb0 100%);border:1px solid rgba(255,255,255,.25);border-radius:8px;text-decoration:none;color:#fff;box-shadow:0 4px 18px rgba(0,98,227,.38);transition:transform .16s cubic-bezier(.16,1,.3,1),box-shadow .16s ease;margin-top:2px}.mobile-nav__cta:hover{box-shadow:0 6px 24px rgba(0,98,227,.52);color:#fff}.mobile-nav__cta:active{transform:scale(.97)}.mobile-nav__cta.is-active,.mobile-nav__cta[aria-current=page]{border-color:#fff;box-shadow:0 6px 26px rgba(0,98,227,.6)}.mobile-nav__cta-title{font-family:var(--font-display,"Outfit",sans-serif);font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:-.01em;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}.mobile-nav__hotline{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.mobile-nav__hotline-link{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);border-radius:6px;padding:8px 10px;text-decoration:none;min-width:0;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.mobile-nav__hotline-link:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}.mobile-nav__hotline-link:active{transform:scale(.98)}.mobile-nav__hotline-icon{color:#0062e3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-nav__hotline-val{font-family:var(--font-mono,"IBM Plex Mono",monospace);font-size:.68rem;color:#c4c7d0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only[data-astro-cid-isef26zo]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.desktop-nav[data-astro-cid-isef26zo]{display:none}.menu-toggle[data-astro-cid-isef26zo],.menu-toggle{display:block}.mobile-nav{display:flex}.mobile-nav-backdrop{display:block}}:root{--paper:#fbfbf9;--surface:#fff;--surface-muted:#f4f4f0;--surface-subtle:#edede7;--line:#e8e8e1;--line-strong:#18191b;--line-subtle:#0d0e110f;--arc-white:#fff;--accent-black:#0d0e11;--accent-contrast:#18191b;--accent-subtle:#0d0e110a;--plasma-blue:#0d0e11;--precision-violet:#383b45;--ember:#0d0e11;--ink:#0d0e11;--mist:#5e626e;--mist-light:#8c909c;--panel:#0a0b0d;--panel-line:#202227;--panel-ink:#fbfbf9;--panel-mist:#9296a1;--gradient-signature:linear-gradient(135deg, #0d0e11 0%, #444752 100%);--text-xs:clamp(.68rem, .66rem + .1vw, .75rem);--text-sm:clamp(.82rem, .79rem + .15vw, .94rem);--text-md:clamp(.98rem, .94rem + .2vw, 1.08rem);--text-lg:clamp(1.2rem, 1.08rem + .55vw, 1.55rem);--text-xl:clamp(1.55rem, 1.28rem + 1.2vw, 2.3rem);--text-2xl:clamp(2rem, 1.45rem + 2.4vw, 3.5rem);--text-3xl:clamp(2.6rem, 1.7rem + 4vw, 5.5rem);--text-body:clamp(.98rem, .94rem + .2vw, 1.08rem);--text-h1:var(--text-3xl);--text-h2:var(--text-2xl);--text-h3:var(--text-xl);--text-h4:var(--text-lg);--text-h5:var(--text-md);--text-h6:var(--text-sm);--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:40px;--space-7:48px;--space-8:64px;--space-9:80px;--space-10:96px;--space-11:128px;--container-sm:720px;--container-md:960px;--container-lg:1200px;--container-xl:1440px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Outfit", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", monospace;--brand-blue:#0062e3;--brand-blue-glow:#0062e326;--shadow-milky:0 20px 40px -12px #0d0e110d;--shadow-float:0 8px 24px -4px #0d0e110a;--shadow-glass:0 8px 32px 0 #0000000a}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk/space-grotesk-variable.woff2)format("woff2");font-weight:300 700;font-display:swap;unicode-range:U+??,U+100-24F,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;src:url(/fonts/inter/inter-variable.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+??,U+100-24F,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-variable.woff2)format("woff2");font-weight:400 600;font-display:swap;unicode-range:U+??,U+100-24F,U+1E??,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}*,:before,:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-body,"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{isolation:isolate;background:var(--paper);min-width:320px;font-family:var(--font-body,"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--text-body);color:var(--ink);margin:0;line-height:1.65;position:relative}img,svg{max-width:100%;display:block}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:0}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.skip-link{z-index:100;border:1px solid var(--ink);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font:500 var(--text-xs)/1 var(--font-display,"Outfit", sans-serif);transition:transform .16s var(--ease-precision);padding:10px 18px;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display,"Outfit", -apple-system, BlinkMacSystemFont, sans-serif);letter-spacing:-.03em;text-wrap:balance;color:var(--ink);font-weight:700;line-height:1.12}::selection{background:var(--ink);color:var(--paper)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:min(calc(100% - 40px), var(--container-lg));margin-inline:auto}.section{padding-block:var(--space-10)}.grid{gap:var(--space-4);display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.measure{max-width:70ch}@media (width>=640px){.container{width:min(calc(100% - 64px), var(--container-lg))}}@media (width>=1024px){.section{padding-block:var(--space-11)}}@media (width>=1440px){.container{max-width:var(--container-xl)}}@media (width<=760px){.grid-2,.grid-3{grid-template-columns:1fr}.section{padding-block:var(--space-8)}}:root{--ease-precision:cubic-bezier(.16, 1, .3, 1);--ease-out-strong:cubic-bezier(.23, 1, .32, 1);--ease-in-out-precision:cubic-bezier(.77, 0, .175, 1)}body:before{content:"";z-index:-2;pointer-events:none;opacity:.55;background-image:linear-gradient(90deg,#0d0e1108 1px,#0000 1px),linear-gradient(#0d0e1108 1px,#0000 1px);background-size:56px 56px;animation:50s linear infinite paper-drift;position:fixed;inset:0;mask-image:linear-gradient(#000000b3,#0000 75%)}body:after{content:"";z-index:-1;pointer-events:none;filter:blur(40px);animation:ambient-shift 30s var(--ease-in-out-precision) infinite alternate;background:radial-gradient(circle at 18% 12%,#ffffffe6,#0000 28%),radial-gradient(circle at 82% 16%,#f2f2ed99,#0000 26%);position:fixed;inset:-20%}.scroll-reveal{opacity:0;transition:opacity .48s var(--ease-out-strong), transform .48s var(--ease-out-strong);transform:translateY(12px)}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.scroll-reveal[data-reveal-delay="1"]{transition-delay:60ms}.scroll-reveal[data-reveal-delay="2"]{transition-delay:.12s}.scroll-reveal[data-reveal-delay="3"]{transition-delay:.18s}.hero-enter{opacity:0;animation:hero-enter .72s var(--ease-out-strong) forwards;transform:translateY(14px)}.hero-enter--1{animation-delay:80ms}.hero-enter--2{animation-delay:.15s}.hero-enter--3{animation-delay:.22s}.hero-enter--4{animation-delay:.3s}.draw-on{stroke-dasharray:1200;stroke-dashoffset:1200px;animation:draw-on 1.4s var(--ease-out-strong) forwards;animation-play-state:paused}.draw-on.is-visible{animation-play-state:running}@keyframes hero-enter{to{opacity:1;transform:translateY(0)}}@keyframes draw-on{to{stroke-dashoffset:0}}@keyframes paper-drift{to{background-position:56px 28px,56px 28px}}@keyframes ambient-shift{0%{transform:translate(-1.5%)scale(1)}to{transform:translate(2%,1.5%)scale(1.05)}}@media (prefers-reduced-motion:reduce){body:before,body:after{animation:none}.scroll-reveal{opacity:1;transition:none;transform:none}.hero-enter{opacity:1;animation:none;transform:none}.draw-on{stroke-dashoffset:0;animation:none}}

/* --- RAFI Official Vector Identity (Gear & Circuit) --- */
.logo-mark {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  padding: 4px 0 !important;
}
.logo-icon--gear {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.logo-icon--gear svg,
.logo-icon--gear img {
  display: block !important;
  width: 44px !important;
  height: 36px !important;
  object-fit: contain !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.logo-mark:hover .logo-icon--gear svg,
.logo-mark:hover .logo-icon--gear img {
  transform: rotate(-6deg) !important;
}
.logo-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.logo-title-wrap {
  display: flex !important;
  align-items: baseline !important;
}
.logo-brand-title {
  font-family: var(--font-display, "Outfit", sans-serif) !important;
  letter-spacing: -0.022em !important;
  color: var(--ink) !important;
  font-size: 1.22rem !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
}
.logo-blue-i {
  position: relative !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  line-height: inherit !important;
  vertical-align: baseline !important;
}
.logo-i-dot {
  position: absolute !important;
  top: 0.08em !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 0.24em !important;
  height: 0.24em !important;
  background-color: var(--brand-blue, #0062e3) !important;
  border-radius: 50% !important;
}
.logo-i-stem {
  color: inherit !important;
  line-height: inherit !important;
}
.logo-brand-sub {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 4px !important;
  width: 100% !important;
}
.logo-sub-line {
  flex: 1 !important;
  height: 1.5px !important;
  background: var(--brand-blue, #0062e3) !important;
  border-radius: 1px !important;
  min-width: 12px !important;
}
.logo-sub-tag {
  font-family: var(--font-display, "Outfit", sans-serif) !important;
  letter-spacing: 0.16em !important;
  color: var(--brand-blue, #0062e3) !important;
  text-transform: uppercase !important;
  font-size: 0.54rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
@media (max-width: 600px) {
  .logo-mark {
    gap: 9px !important;
  }
  .logo-icon--gear svg,
  .logo-icon--gear img {
    width: 38px !important;
    height: 31px !important;
  }
  .logo-brand-title {
    font-size: 1.06rem !important;
  }
  .logo-brand-sub {
    gap: 6px !important;
    margin-top: 3px !important;
  }
  .logo-sub-line {
    height: 1.2px !important;
    min-width: 8px !important;
  }
  .logo-sub-tag {
    font-size: 0.48rem !important;
    letter-spacing: 0.13em !important;
  }
}

/* ===================================================
   BESPOKE INDUSTRIAL FOOTER CONSOLE (RAFI ROBOTIQUES)
   =================================================== */

.site-footer {
  position: relative;
  background: #08090b;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: #fbfbf9;
  padding: clamp(48px, 6vw, 68px) 0 clamp(24px, 3.2vw, 36px);
  overflow: hidden;
  isolation: isolate;
  scroll-margin-top: 80px;
}

/* Subtle ambient blueprint grid & glow */
.footer-ambient-grid {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(ellipse 70% 50% at 50% 0%, #000 30%, transparent 85%);
  -webkit-mask-image: radial-gradient(ellipse 70% 50% at 50% 0%, #000 30%, transparent 85%);
  z-index: -1;
}

.footer-console {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 3.8vw, 44px);
}

/* --- Row 1: Upper Console (Brand Identity & Harmonious Action Deck) --- */
.footer-top-deck {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
  flex-wrap: wrap;
}

.footer-identity-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 540px;
}

/* Brand Lockup with Real Pignon Gear (Enlarged & Prominent) */
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  text-decoration: none;
  color: #ffffff;
  width: fit-content;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-brand:hover {
  transform: translateY(-2px);
}

.footer-brand__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.footer-pignon-img {
  display: block;
  width: 72px;
  height: 59px;
  object-fit: contain;
  filter: drop-shadow(0 6px 18px rgba(0, 98, 227, 0.35));
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.footer-brand:hover .footer-pignon-img {
  transform: rotate(-10deg) scale(1.05);
}

.footer-brand__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1;
}

.footer-brand__title-row {
  display: flex;
  align-items: baseline;
}

.footer-brand__title {
  font-family: var(--font-display, "Outfit", sans-serif);
  font-size: 2.15rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: #ffffff;
  line-height: 1.05;
}

.footer-blue-i {
  position: relative;
  display: inline-block;
  color: #ffffff;
  line-height: inherit;
  vertical-align: baseline;
}

.footer-blue-i::before {
  content: "";
  position: absolute;
  top: 0.12em;
  left: 50%;
  transform: translateX(-50%);
  width: 0.28em;
  height: 0.28em;
  background-color: #0062e3;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(0, 98, 227, 0.95);
  z-index: 2;
  pointer-events: none;
}

.footer-i-stem {
  display: inline-block;
  color: #ffffff;
  clip-path: inset(26% 0 0 0);
}

.footer-brand__subtitle-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}

.footer-sub-line {
  flex: 1;
  min-width: 14px;
  height: 1.5px;
  background-color: #0062e3;
}

.footer-sub-tag {
  font-family: var(--font-display, "Outfit", sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #0062e3;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Official Company Motto */
.footer-motto {
  font-family: var(--font-display, "Outfit", sans-serif);
  font-size: clamp(1.05rem, 1.4vw, 1.22rem);
  font-weight: 400;
  letter-spacing: -0.015em;
  color: #9ca3af;
  line-height: 1.45;
  margin: 0;
  max-width: 44ch;
}

.footer-motto__highlight {
  color: #ffffff;
  font-weight: 600;
}

/* --- Tactile Direct Contact Deck (Balanced Side-by-Side Capsules) --- */
.footer-action-deck {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.footer-contact-capsule {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 18px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 12px;
  text-decoration: none;
  color: #ffffff;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.2s ease,
              border-color 0.2s ease,
              box-shadow 0.2s ease;
  position: relative;
  overflow: hidden;
}

.footer-contact-capsule::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(320px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(0, 98, 227, 0.14), transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.footer-contact-capsule:hover {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(0, 98, 227, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 98, 227, 0.12);
}

.footer-contact-capsule:hover::before {
  opacity: 1;
}

.footer-contact-capsule:active {
  transform: scale(0.98);
  transition-duration: 0.12s;
}

.footer-contact-capsule:focus-visible {
  outline: 2px solid #0062e3;
  outline-offset: 3px;
}

.capsule-icon-box {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(0, 98, 227, 0.08);
  border: 1px solid rgba(0, 98, 227, 0.22);
  color: #2982ff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.footer-contact-capsule:hover .capsule-icon-box {
  background: #0062e3;
  color: #ffffff;
  border-color: #0062e3;
  transform: scale(1.05);
}

.capsule-body {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1;
  min-width: 0;
}

.capsule-kicker {
  font-family: var(--font-display, "Outfit", sans-serif);
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8c92a4;
}

.capsule-value {
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size: 0.88rem;
  font-weight: 600;
  color: #f3f4f6;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: -0.01em;
}

.capsule-subtext {
  font-family: var(--font-body, "Outfit", sans-serif);
  font-size: 0.73rem;
  color: #848a9c;
}

.capsule-arrow {
  font-size: 1.1rem;
  color: #8c92a4;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease;
  flex-shrink: 0;
}

.footer-contact-capsule:hover .capsule-arrow {
  color: #2982ff;
  transform: translate(3px, -3px);
}

/* --- Terminal Meta Bar (Clean Copyright Baseline) --- */
.footer-terminal-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size: 0.76rem;
  color: #6b7280;
}

/* --- Responsive Adjustments --- */
@media (max-width: 1040px) {
  .footer-top-deck {
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
  }
  .footer-identity-block {
    max-width: 100%;
  }
  .footer-action-deck {
    width: 100%;
  }
  .footer-contact-capsule {
    flex: 1 1 calc(50% - 14px);
    min-width: 260px;
  }
}

@media (max-width: 600px) {
  .site-footer {
    padding-top: 44px;
    padding-bottom: 32px;
    scroll-margin-top: 76px;
  }
  .footer-brand {
    gap: 14px;
  }
  .footer-brand__title {
    font-size: 1.65rem;
  }
  .footer-pignon-img {
    width: 58px;
    height: 48px;
  }
  .footer-motto {
    font-size: 0.95rem;
  }
  .footer-action-deck {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .footer-contact-capsule {
    width: 100%;
    padding: 12px 16px;
  }
  .capsule-value {
    font-size: clamp(0.82rem, 3.2vw, 0.9rem);
  }
  .footer-terminal-bar {
    padding-top: 16px;
    font-size: 0.72rem;
  }
}
