:root{color-scheme:light;--bg:#f4f7fc;--bg-rgb:244 247 252;--bg2:#eaf0f9;--bg2-rgb:234 240 249;--ink:#0e1b33;--muted:#5b6678;--navy:#16335c;--blue:#123b7a;--blue2:#2d5fbd;--gold:#d7a63a;--gold-deep:#8a5d16;--grad-end:#b58825;--line:rgba(22,51,92,.12);--glass:hsla(0,0%,100%,.62);--surface-rgb:255 255 255;--tint-rgb:22 51 92;--shadow-rgb:22 51 92;--accent-rgb:45 95 189;--blue-rgb:18 59 122;--gold-rgb:215 166 58;--card-border:hsla(0,0%,100%,.7);--card-border-strong:hsla(0,0%,100%,.8);--panel:hsla(0,0%,100%,.95);--tag-bg:rgba(45,95,189,.1);--media-bg-1:#fafcff;--media-bg-2:#eaf0f9;--field-bg:#fff;--field-border:#7d8a9e;--placeholder:#677285;--focus:#2d5fbd;--danger:#b33;--success:#2c6f2c;--brand-ink:#0e1b33;--brand-navy:#16335c;--brand-blue:#2d5fbd;--brand-blue-mid:#1a4e9a;--brand-blue-deep:#123b7a;--brand-blue-light:#1d4a86;--display:var(--font-display),"Space Grotesk",sans-serif;--body:var(--font-body),"Inter",sans-serif;--mono:var(--font-mono),"JetBrains Mono",monospace;--maxw:1160px;--fs-h1:clamp(2.25rem,1.6rem + 2.4vw,3.5rem);--fs-h2:clamp(1.625rem,1.35rem + 1.1vw,2.125rem);--fs-h3:1.125rem;--fs-lead:clamp(1.0625rem,1rem + 0.3vw,1.1875rem);--fs-body:0.9375rem;--fs-small:0.8125rem;--fs-eyebrow:0.75rem;--lh-h1:1.1;--lh-heading:1.2;--lh-body:1.6;--ls-h1:-0.025em;--ls-h2:-0.02em;--ls-h3:-0.01em;--ls-eyebrow:0.1em;--measure:65ch;--sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-5:40px;--sp-6:48px;--sp-8:64px;--sp-12:96px;--section-py:var(--sp-12);--radius-sm:10px;--radius-md:16px;--shadow-sm:0 1px 2px rgb(var(--shadow-rgb)/0.05),0 4px 16px rgb(var(--shadow-rgb)/0.06);--shadow-md:0 2px 4px rgb(var(--shadow-rgb)/0.06),0 12px 32px rgb(var(--shadow-rgb)/0.12);--btn-h:44px;--btn-px:20px;--btn-fs:0.9375rem;--btn-fw:600;--card-pad:var(--sp-3);--icon-box:40px;--icon-size:20px;--icon-stroke:1.75}*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}#contacto,section[id]{scroll-margin-top:88px}h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}body{font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;color:var(--blue2);text-transform:uppercase}h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:-.02em;font-weight:700}.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.96rem;padding:.82rem 1.5rem;border-radius:12px;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .25s,background .2s,color .2s}.btn-primary{color:#f8fbff;box-shadow:0 12px 32px rgba(11,45,107,.34),inset 0 1px 0 hsla(0,0%,100%,.28)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(11,45,107,.42),inset 0 1px 0 hsla(0,0%,100%,.3)}.nav a.nav-cta,.nav a.nav-cta:hover{color:#fff}.btn-gold{background:linear-gradient(135deg,#f4df9d 0,var(--gold) 42%,var(--gold-deep) 100%);box-shadow:0 10px 24px rgba(138,93,22,.24),inset 0 1px 0 hsla(0,0%,100%,.26)}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(138,93,22,.32),inset 0 1px 0 hsla(0,0%,100%,.3)}.btn-ghost{border-color:var(--line);background:rgb(var(--surface-rgb)/.5)}.head{position:-webkit-sticky;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}.head:before{content:"";position:absolute;inset:0;z-index:-1;background:rgb(var(--bg-rgb)/.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fab-group{position:fixed;right:24px;bottom:24px;z-index:200;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:14px}.fab-main{width:60px;height:60px;flex:none;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(18,59,122,.95),rgba(45,95,189,.98));color:#fff;border:1px solid hsla(0,0%,100%,.22);cursor:pointer;box-shadow:0 18px 44px rgba(18,59,122,.28);transition:transform .2s,box-shadow .2s}.fab-main:hover{transform:translateY(-1px);box-shadow:0 24px 52px rgba(18,59,122,.3)}.fab-main svg{width:24px;height:24px;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;transition:transform .25s ease}.fab-main.open svg{transform:rotate(135deg)}.fab-options{display:flex;flex-direction:column-reverse;align-items:flex-end;gap:12px}.fab-option{display:flex;align-items:center;gap:10px;animation:fabOptionIn .18s ease both}.fab-option-label{background:rgba(18,30,56,.88);color:#fff;font-size:.78rem;font-weight:600;padding:6px 10px;border-radius:8px;white-space:nowrap}.fab-option-btn{width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;border:none;cursor:pointer;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.2);transition:transform .2s,box-shadow .2s}.fab-option-btn:hover{transform:scale(1.08)}.fab-option-btn svg{width:24px;height:24px}.fab-wa{background:#25d366}.fab-wa svg{fill:#fff}.fab-chat{background:linear-gradient(135deg,rgba(18,59,122,.95),rgba(45,95,189,.98))}@keyframes fabOptionIn{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-panel{width:min(380px,100vw);max-height:72vh;display:none;flex-direction:column;background:var(--panel);border-radius:20px;border:1px solid rgb(var(--tint-rgb)/.12);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 38px 84px rgb(var(--shadow-rgb)/.18);overflow:hidden;transform-origin:bottom right}.chat-panel.visible{display:flex;animation:chatPanelIn .18s ease}@keyframes chatPanelIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid rgb(var(--tint-rgb)/.08)}.chat-header strong{display:block;font-size:.86rem;letter-spacing:-.02em}.chat-header p{margin-top:1px;color:var(--muted);font-size:.72rem;line-height:1.3;max-width:220px}.chat-close{background:rgb(var(--tint-rgb)/.06);border:1px solid rgb(var(--tint-rgb)/.1);width:28px;height:28px;border-radius:10px;color:var(--ink);font-size:1rem;cursor:pointer;flex:none}.chat-body{padding:0 14px 14px;flex:1 1;min-height:0;max-height:calc(72vh - 120px)}.chat-body,.chat-history{display:grid;grid-gap:10px;gap:10px;overflow-y:auto}.chat-history{align-content:start;min-height:160px;max-height:320px;padding-right:4px}.chat-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;max-height:170px;overflow-y:auto;padding-bottom:2px}.chat-suggestions a,.chat-suggestions button{display:grid;place-items:center;text-align:center;border:1px solid rgb(var(--tint-rgb)/.12);background:rgb(var(--surface-rgb)/.92);color:var(--ink);padding:9px 10px;font-size:.82rem;border-radius:999px;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.chat-suggestions a:hover,.chat-suggestions button:hover{transform:translateY(-1px);border-color:rgb(var(--blue-rgb)/.2);background:rgb(var(--surface-rgb))}.chat-message{max-width:90%;border-radius:18px;padding:10px 12px;line-height:1.5;font-size:.92rem}.chat-message.bot{background:rgb(var(--blue-rgb)/.08);color:var(--ink);align-self:flex-start}.chat-message.user{background:linear-gradient(135deg,rgb(var(--gold-rgb)/.2),rgb(var(--accent-rgb)/.16));color:var(--ink);align-self:flex-end}.chat-form{display:grid;grid-gap:10px;gap:10px}.chat-query-form{display:flex;align-items:stretch;gap:8px}.chat-query-form input{flex:1 1;min-width:0;border:1px solid var(--field-border);border-radius:12px;background:var(--field-bg);padding:13px 14px;color:var(--ink);font-family:var(--body);font-size:.95rem;outline:none}.chat-query-form input:focus{border-color:var(--focus)}.chat-query-form button{flex:none;padding:0 14px;font-size:.82rem;min-width:0}.chat-fields{display:grid;grid-gap:8px;gap:8px}.chat-fields input,.chat-form textarea{width:100%;border:1px solid var(--field-border);border-radius:12px;background:var(--field-bg);padding:12px 14px;color:var(--ink);font-family:var(--body);font-size:.95rem;outline:none}.chat-form textarea{min-height:80px;resize:vertical}.chat-fields input:focus,.chat-form textarea:focus{border-color:var(--focus)}.chat-error,.chat-success{font-size:.88rem;color:var(--navy)}.chat-error{color:var(--danger)}.chat-success{color:var(--success)}@media (max-width:720px){.fab-group{right:14px;bottom:14px}.fab-main{width:54px;height:54px}.fab-option-btn{width:44px;height:44px}.fab-option-label{display:none}.chat-panel{width:calc(100vw - 28px);max-height:70vh}}.head-row{display:flex;align-items:center;justify-content:space-between;height:72px}.brand img{height:38px;width:auto;display:block}.nav{display:flex;align-items:center;gap:30px}.nav a{color:var(--navy);font-size:.95rem;font-weight:500;font-family:var(--body)}.nav a:hover{color:var(--blue2)}.menu-btn{display:none;background:none;border:0;font-size:1.5rem;color:var(--navy);cursor:pointer}.hero{position:relative;overflow:hidden;padding:110px 0 120px;background:radial-gradient(60% 60% at 78% 8%,rgba(252,205,39,.16),transparent 60%),radial-gradient(70% 70% at 12% 20%,rgba(44,123,224,.18),transparent 60%)}.grid-bg{position:absolute;inset:0;z-index:0;opacity:.5;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(75% 75% at 50% 30%,#000,transparent 80%);mask-image:radial-gradient(75% 75% at 50% 30%,#000,transparent 80%)}.hero-inner{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;padding:0 24px}.hero h1{font-size:clamp(2.4rem,5.6vw,4.3rem);font-weight:700;max-width:15ch;margin:1rem 0 1.2rem}.grad{background:linear-gradient(120deg,var(--blue2),var(--grad-end));-webkit-background-clip:text;background-clip:text;color:transparent}.hero .lead{font-size:clamp(1.05rem,1.8vw,1.28rem);color:var(--muted);max-width:50ch;margin-bottom:2.2rem}.cta-row{display:flex;gap:14px;flex-wrap:wrap}.hero-inf{position:absolute;right:-25px;top:45%;transform:translateY(-50%);width:min(680px,55vw);z-index:1;pointer-events:none;filter:drop-shadow(0 0 20px rgba(52,123,216,.505)) drop-shadow(0 0 70px rgba(44,123,224,.25))}.hero-inf path{fill:none;stroke-linecap:round;stroke-linejoin:round}:root{--inf-face-a:#1f5fd2;--inf-face-a2:#6f9ae6;--inf-face-b2:#ecbf55;--inf-face-b:#df9a12;--inf-edge-a:#1a49a2;--inf-edge-mid:#4b6590;--inf-edge-b:#a46d0c;--inf-sheen-hi:hsla(0,0%,100%,.35);--inf-sheen-lo:rgba(10,25,60,.25);--inf-face-hi:#f4f6f9;--inf-shadow:rgba(14,27,51,.32);--inf-face-mid-hi:hsla(0,0%,100%,.3);--inf-shine:hsla(0,0%,100%,.95);--inf-spark-halo:rgba(110,160,255,.5);--inf-beam-halo:hsla(0,0%,100%,.6);--inf-cross-shadow:rgba(14,27,51,.5);--inf-spec:#fff}.inf-stop-face-hi{stop-color:var(--inf-face-hi)}.inf-stop-face-a{stop-color:var(--inf-face-a)}.inf-stop-face-a2{stop-color:var(--inf-face-a2)}.inf-stop-face-b2{stop-color:var(--inf-face-b2)}.inf-stop-face-b{stop-color:var(--inf-face-b)}.inf-stop-sheen-hi{stop-color:var(--inf-sheen-hi)}.inf-stop-sheen-clear{stop-color:transparent}.inf-stop-sheen-lo{stop-color:var(--inf-sheen-lo)}.inf-stop-spec{stop-color:var(--inf-spec)}.inf-stop-edge-a{stop-color:var(--inf-edge-a)}.inf-stop-edge-mid{stop-color:var(--inf-edge-mid)}.inf-stop-edge-b{stop-color:var(--inf-edge-b)}.inf-shadow{stroke:var(--inf-shadow);stroke-width:20;transform:translateY(9px)}.inf-edge{stroke:url(#inf-edge);stroke-width:15;transform:translateY(4.5px)}.inf-face{stroke:url(#inf-face);stroke-width:13}.inf-sheen{stroke:url(#inf-sheen);stroke-width:13}.inf-face-hi{stroke:var(--inf-face-mid-hi);stroke-width:5;transform:translateY(-1.5px)}.inf-spec{stroke:url(#inf-spec);stroke-width:1.6;transform:translateY(-4px)}.inf-anim{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 4.5s cubic-bezier(.25,0,.2,1) .4s forwards}.inf-over-seg{stroke-dasharray:.075 .85 .075}.hero-inf .inf-over-seg,.inf-over-seg{stroke-linecap:butt}.inf-over-shadow{stroke:var(--inf-cross-shadow);stroke-width:26;stroke-dasharray:.032 .936 .032}.inf-over{opacity:0;animation:inf-over-in .6s ease 4.5s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes inf-over-in{to{opacity:1}}.bg-inf>svg{grid-area:1/1}.bg-inf .inf-shine-layer,:root[data-theme=dark] .bg-inf .inf-shine-layer{filter:none;will-change:transform}.inf-beam,.inf-beam-core,.inf-beam-halo,.inf-beam-soft{fill:none;stroke-linecap:round}.inf-beam-soft{stroke:var(--inf-beam-halo);stroke-width:11;opacity:.35}.inf-beam-halo{stroke:var(--inf-beam-halo);stroke-width:7;opacity:.55}.inf-beam{stroke:var(--inf-shine);stroke-width:3.5;opacity:.6}.inf-beam-core{stroke:#fff;stroke-width:1.6;opacity:.9}.hero-inf .inf-spark-star{fill:#fff;stroke:none}.inf-stop-spark-halo{stop-color:var(--inf-spark-halo)}.tech{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgb(var(--surface-rgb)/.5)}.tech-row{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;padding:18px 10px}.tech-row .lbl{font-family:var(--mono);font-size:.75rem;color:var(--muted)}.tech-row .t{font-family:var(--mono);font-weight:500;font-size:.79rem;color:var(--navy);background:rgb(var(--surface-rgb)/.7);border:1px solid var(--line);border-radius:20px;padding:4px 12px;white-space:nowrap}.tech-row .t:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:7px;vertical-align:middle}.section{padding:96px 0;position:relative}.sec-head{max-width:62ch;margin-bottom:50px}.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin:.5rem 0 .6rem}.sec-head p{color:var(--muted);font-size:1.07rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.card{position:relative;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:18px;padding:30px 26px;box-shadow:0 10px 30px rgb(var(--shadow-rgb)/.07);transition:translate .2s ease-out,box-shadow .25s}.card:before{content:"";position:absolute;inset:0;border-radius:18px;padding:1px;background:linear-gradient(140deg,rgba(44,123,224,.5),rgba(252,205,39,.4),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;pointer-events:none}.card:hover{translate:0 -3px;box-shadow:0 22px 50px rgba(31,95,176,.16)}.card .icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(44,123,224,.16),rgba(252,205,39,.14));margin-bottom:14px}.card .icon svg{width:23px;height:23px;stroke:var(--blue);fill:none;stroke-width:2}.card .num{font-family:var(--mono);font-size:.74rem;color:var(--blue2)}.card h3{font-size:1.18rem;margin:6px 0 8px}.card p{color:var(--muted);font-size:.96rem;line-height:1.55}.card.feature{background:linear-gradient(150deg,var(--brand-navy),var(--brand-ink));color:#fff;display:flex;flex-direction:column;justify-content:center}.card.feature:before{opacity:.9}.card.feature h3{color:#fff}.projects-frame{position:relative;overflow:hidden;border-radius:26px;margin:0 24px;background:radial-gradient(80% 120% at 15% 0,rgb(var(--accent-rgb)/.14),rgb(var(--bg2-rgb)/.78) 55%,rgb(var(--surface-rgb)/.55));border:1px solid var(--card-border-strong);box-shadow:0 30px 70px rgb(var(--shadow-rgb)/.12);padding:96px 0}.projects-inner{max-width:var(--maxw);margin:0 auto;padding:0 24px}.projects-inner .sec-head{max-width:62ch;margin-bottom:50px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-3)}.project-card{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border-strong);border-radius:14px;padding:20px 18px;box-shadow:0 18px 40px rgb(var(--shadow-rgb)/.08);transition:translate .2s ease-out,box-shadow .25s}.project-card:hover{translate:0 -3px;box-shadow:0 22px 50px rgba(31,95,176,.16)}.project-content{display:flex;flex-direction:column;gap:8px}.project-tag{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--tag-bg);color:var(--blue2);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.project-badge{align-self:flex-start}.project-case{display:block;margin:0;padding:14px 16px;border-radius:12px;background:rgb(var(--accent-rgb)/.06);border-left:3px solid var(--blue2)}.project-case summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-1);font-family:var(--display);font-size:var(--fs-small);font-weight:600;color:var(--blue2)}.project-case summary::-webkit-details-marker{display:none}.project-case summary:after{content:"+";font-size:1.1rem;line-height:1}.project-case[open] summary:after{content:"−"}.project-case dl{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);margin:var(--sp-2) 0 0}.projects-grid:has(.project-card:not(.featured) .project-case[open],.project-card:not(.featured) .project-tags.expanded){align-items:start}.tag-more{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;border:1px solid var(--field-border);background:transparent;color:var(--navy);font:600 var(--fs-small) /1 var(--body);cursor:pointer}.tag-more:hover{border-color:var(--blue2);color:var(--blue2)}.project-content{flex:1 1}.project-content>.project-tags{margin-top:auto}.project-card.featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"content media";align-items:start;grid-gap:var(--sp-4);gap:var(--sp-4)}.project-card.featured .project-content{grid-area:content}.project-card.featured .project-gallery{grid-area:media;position:-webkit-sticky;position:sticky;top:calc(72px + var(--sp-3))}@media (max-width:880px){.project-card.featured,.projects-grid{grid-template-columns:minmax(0,1fr)}.project-card.featured{grid-template-areas:"media" "content";gap:var(--sp-2)}.project-card.featured .project-gallery{position:relative;top:auto}}.project-case dt{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue2)}.project-case dd{margin:2px 0 0;font-size:.86rem;line-height:1.5;color:var(--ink)}.project-card h3{margin:0;font-size:1.06rem}.project-card p{margin:0;color:var(--muted);line-height:1.5;font-size:.82rem}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags span{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:.74rem;background:rgb(var(--accent-rgb)/.06);color:var(--navy)}.project-links{display:flex;flex-wrap:wrap;gap:12px}.project-links a{color:var(--blue2);font-weight:600;font-size:.92rem}.project-links a:hover{color:var(--blue)}.carousel{--carousel-gap:var(--sp-2);--carousel-fade:32px;container-type:inline-size;position:relative;min-width:0}.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;grid-gap:var(--carousel-gap);gap:var(--carousel-gap);list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:-webkit-grab;cursor:grab;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-start,0),#000 calc(100% - var(--fade-end, 0px)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-start,0),#000 calc(100% - var(--fade-end, 0px)),transparent 100%)}.carousel-track::-webkit-scrollbar{display:none}.carousel[data-at-start=false] .carousel-track{--fade-start:var(--carousel-fade)}.carousel[data-at-end=false] .carousel-track{--fade-end:var(--carousel-fade)}.carousel-track[data-dragging=true]{scroll-snap-type:none;cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (prefers-reduced-motion:no-preference){.carousel-track{scroll-behavior:smooth}.carousel-track[data-dragging=true]{scroll-behavior:auto}}@container (min-width: 720px){.carousel-track{grid-auto-columns:calc((100% - var(--carousel-gap)) / 2)}}.carousel-slide{scroll-snap-align:start}.carousel-open{position:relative;display:block;width:100%;aspect-ratio:var(--carousel-aspect,16/9);padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--media-bg-1),var(--media-bg-2));cursor:zoom-in}.carousel-track[data-dragging=true] .carousel-open{cursor:-webkit-grabbing;cursor:grabbing}.carousel-open:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.carousel-image{object-fit:cover;object-position:top;-webkit-user-drag:none}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin-top:var(--sp-2)}.carousel-btn{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--field-border);background:rgb(var(--surface-rgb)/.5);color:var(--navy);cursor:pointer;transition:color .2s,border-color .2s}.carousel-btn:hover:not(:disabled){color:var(--blue2);border-color:var(--blue2)}.carousel-btn:disabled{opacity:.4;cursor:default}.carousel-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ui-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.carousel-counter{min-width:7ch;text-align:center;font-family:var(--mono);font-size:var(--fs-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted)}.project-gallery{min-width:0}.lightbox{width:min(1400px,100vw - 2 * var(--sp-2));max-width:none;max-height:none;margin:auto;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg2);color:var(--ink);box-shadow:var(--shadow-md)}.lightbox::-webkit-backdrop{background:rgba(6,14,30,.86)}.lightbox::backdrop{background:rgba(6,14,30,.86)}html:has(.lightbox[open]){overflow:hidden}.lightbox-figure{position:relative;width:100%;aspect-ratio:var(--carousel-aspect,16/9);max-height:78vh}.lightbox-image{object-fit:contain}.lightbox-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-1) var(--sp-2);margin-top:var(--sp-2)}.lightbox-caption{flex:1 1 240px;font-size:var(--fs-small);color:var(--muted)}.lightbox-actions{display:flex;gap:var(--sp-1)}@media (max-width:680px){.lightbox{padding:var(--sp-1)}}.timeline{list-style:none;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px 22px;gap:8px 22px}.timeline,.tl-step{position:relative;display:grid}.tl-step{grid-row:span 4;grid-template-rows:subgrid;align-content:start}.tl-step:not(:last-child):before{content:"";position:absolute;top:27px;left:56px;right:-22px;height:2px;background:linear-gradient(90deg,var(--blue2),rgb(var(--gold-rgb)/.8));opacity:.45}.tl-node{position:relative;display:grid;place-items:center;width:56px;height:56px;margin-bottom:10px;border-radius:50%;background:var(--bg);border:2px solid var(--blue2);box-shadow:0 0 0 6px var(--bg)}.tl-node span{font-family:var(--display);font-weight:700;font-size:1.25rem;background:linear-gradient(120deg,var(--blue2),var(--grad-end));-webkit-background-clip:text;background-clip:text;color:transparent}.tl-step h3{font-size:1.08rem}.tl-step>p{color:var(--muted);font-size:.93rem}.tl-deliv{align-self:start;margin-top:8px;padding:14px 16px;border-radius:12px;background:rgb(var(--surface-rgb)/.55);border:1px solid var(--line);border-left:3px solid var(--blue2)}.tl-deliv-label{display:block;margin-bottom:4px;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--blue2)}.tl-deliv p{font-size:.93rem;color:var(--ink)}.tl-note{margin-top:34px;text-align:center;color:var(--muted)}.tl-note strong{color:var(--ink)}@media (max-width:880px){.timeline{grid-template-columns:minmax(0,1fr);gap:30px}.tl-step{display:flex;flex-direction:column;gap:8px;grid-row:auto;padding-left:76px}.tl-step:not(:last-child):before{top:56px;bottom:-30px;left:27px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--blue2),rgb(var(--gold-rgb)/.8))}.tl-node{position:absolute;left:0;top:0}.tl-deliv{margin-top:6px}}.why{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px 44px;gap:18px 44px}.why-i{display:flex;gap:15px;align-items:flex-start}.why-i .mk{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:700;background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-deep));color:#fff;box-shadow:0 6px 16px rgba(31,95,176,.3)}.why-i h3{font-size:1.05rem;margin-bottom:3px}.why-i p{color:var(--muted);font-size:.95rem}.contact{position:relative;overflow:hidden;border-radius:26px;margin:0 24px;background:radial-gradient(80% 120% at 15% 0,var(--brand-blue-light),var(--brand-navy) 50%,var(--brand-ink));color:#fff;text-align:center;padding:80px 24px;box-shadow:0 30px 70px rgba(14,27,51,.28)}.contact .glow{position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(252,205,39,.3),transparent 65%);right:-60px;bottom:-120px;pointer-events:none}.contact h2{font-size:clamp(2rem,4vw,3rem);max-width:18ch;margin:.4rem auto .8rem;position:relative}.contact p{color:hsla(0,0%,100%,.82);max-width:46ch;margin:0 auto 2rem;position:relative}.btn-icon{flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.btn-calendar{border-color:var(--field-border)}.contact-call{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;margin-top:26px}.contact .contact-call p{margin:0}.contact .mail{font-family:var(--mono);color:var(--gold);display:inline-block;margin-top:18px;position:relative}.foot{background:var(--bg2);border-top:1px solid var(--line);padding:22px 0 14px;margin-top:90px}.foot-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.foot-brand{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.foot-brand img{height:34px;width:auto}.foot-brand .tag{font-family:var(--mono);font-size:.7rem;color:var(--muted);line-height:1.3}.foot .links{display:flex;gap:26px;font-size:.9rem;color:var(--navy);flex-wrap:wrap;justify-content:flex-end}.foot .links a:hover{color:var(--blue2)}.foot .copy{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted);text-align:center}@media (max-width:880px){.grid{grid-template-columns:1fr 1fr}.projects-frame{padding:48px 0 40px}.projects-inner{padding:0 24px}}@media (max-width:680px){.nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:flex-start;gap:14px;padding:18px 24px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-btn{display:block}.grid,.why{grid-template-columns:1fr}.section{padding:64px 0}.projects-frame{margin:0 16px;padding:64px 0;border-radius:20px}.projects-inner{padding:0 18px}.foot-row{flex-direction:column;text-align:center}.foot-brand,.foot-row{align-items:center}.foot .links{justify-content:center}}@media (prefers-reduced-motion:reduce){.hero-inf path{animation:none;stroke-dashoffset:0}.inf-over{opacity:1;animation:none}.inf-shine-layer{display:none}.card:hover,.project-card:hover{translate:none}}.nav-cta{padding:.6rem 1.2rem}.card.feature .btn{margin-top:16px;align-self:flex-start}.card.feature-wide{grid-column:1/-1}.cap-tags{margin-top:16px}.eyebrow.gold{color:var(--gold)}.contact h2{margin-top:.4rem}.stats-section{padding:60px 0 80px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}.stat{background:rgb(var(--surface-rgb)/.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:32px 20px;text-align:center}.stat-val{font-family:var(--display);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;color:var(--blue2);background:linear-gradient(120deg,var(--blue2),var(--grad-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.stat-lbl{color:var(--muted);font-size:.86rem;margin-top:7px}.tgrid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:22px;gap:22px;margin-top:48px}.tcard{background:var(--glass);border:1px solid var(--card-border);border-radius:18px;padding:30px 26px;position:relative;overflow:hidden;box-shadow:0 8px 24px rgb(var(--shadow-rgb)/.06)}.tcard:before{content:"\201C";font-family:Georgia,serif;font-size:7rem;line-height:1;color:var(--blue2);opacity:.1;position:absolute;top:-8px;left:14px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tquote{position:relative;z-index:1;color:var(--ink);font-size:.97rem;line-height:1.7;margin-bottom:22px}.tauthor{display:flex;align-items:center;gap:12px}.tavatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-deep));color:#fff;display:grid;place-items:center;font-weight:700;font-family:var(--display);font-size:.88rem;flex:none}.tname{font-weight:600;font-size:.95rem;color:var(--ink)}.trole{color:var(--muted);font-size:.82rem;margin-top:1px}.faq-list{margin-top:40px;display:flex;flex-direction:column;gap:10px;max-width:800px}.faq-item{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgb(var(--surface-rgb)/.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;text-align:left;background:none;border:0;font-family:var(--display);font-weight:600;font-size:1rem;color:var(--ink);cursor:pointer;gap:16px;transition:color .15s}.faq-q:hover{color:var(--blue2)}.faq-icon{flex:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-deep));color:#fff;display:grid;place-items:center;font-size:1rem;line-height:1;transition:transform .25s}.faq-q[aria-expanded=true] .faq-icon{transform:rotate(45deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .32s ease,padding .32s ease;padding:0 22px}.faq-a.open{max-height:400px;padding:0 22px 18px}.faq-a p{color:var(--muted);font-size:.96rem;line-height:1.68}.contact-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:560px;margin:28px auto 0}.form-row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.contact-form input,.contact-form textarea{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.5);border-radius:10px;padding:12px 16px;color:#fff;font-family:var(--body);font-size:.96rem;outline:none;transition:border-color .2s,background .2s;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:hsla(0,0%,100%,.74)}.contact-form input:focus,.contact-form textarea:focus{border-color:hsla(0,0%,100%,.9);background:hsla(0,0%,100%,.15)}.contact-form input:disabled,.contact-form textarea:disabled{opacity:.6}.contact-form textarea{resize:vertical}.contact-form .btn{align-self:center;min-width:200px}.form-error{color:rgba(255,200,180,.9);font-size:.88rem;text-align:center}.hp-field{position:absolute!important;left:-10000px;width:1px;height:1px;opacity:0;pointer-events:none}.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.contact .field-error{max-width:none;margin:0;color:#ffd4c7;font-size:var(--fs-small);text-align:left}.contact-form [aria-invalid=true]{border-color:#ffb4a2}.form-error a{color:var(--gold);text-decoration:underline}.form-success{text-align:center;padding:32px 24px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:16px;max-width:480px;margin:24px auto}.f-check{font-size:2.4rem;display:block;margin-bottom:10px}.form-success p{color:hsla(0,0%,100%,.88);margin-bottom:16px;font-size:1rem}.form-success button{background:none;border:1px solid hsla(0,0%,100%,.3);color:hsla(0,0%,100%,.7);padding:8px 20px;border-radius:8px;cursor:pointer;font-size:.88rem;transition:all .2s}.form-success button:hover{border-color:hsla(0,0%,100%,.6);color:#fff}@media (max-width:1100px){.tgrid{grid-template-columns:1fr}}@media (max-width:880px){.stats-grid{grid-template-columns:1fr 1fr}}@media (max-width:680px){.form-row2{grid-template-columns:1fr}}.bg-inf{position:fixed;inset:0;display:grid;place-items:center;z-index:0;pointer-events:none;will-change:transform;perspective:900px}.bg-inf .hero-inf{position:static;left:auto;right:auto;top:auto;transform:none;width:min(700px,64vw);filter:drop-shadow(0 0 14px rgba(44,123,224,.22));transform-style:preserve-3d;transform-origin:50% 50%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.foot,main{position:relative;z-index:2}@media (max-width:680px){.bg-inf .hero-inf{width:min(300px,78vw);opacity:.7}}.grid.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:680px){.grid.grid-2{grid-template-columns:minmax(0,1fr)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:24px;gap:24px;margin-top:48px}.team-card{display:flex;flex-direction:column;align-items:center;text-align:center}.team-photo{width:96px;height:96px;flex:none;border-radius:50%;padding:3px;background:linear-gradient(135deg,var(--blue2),var(--gold));margin-bottom:18px}.team-photo-inner{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-blue),var(--brand-blue-deep));color:#fff;font-family:var(--display);font-weight:700;font-size:1.6rem}.team-photo-inner img{width:100%;height:100%;object-fit:cover;display:block}.team-card h3{font-size:1.14rem}.team-role{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--blue2);text-transform:uppercase;margin:4px 0 10px}.team-bio{color:var(--muted);font-size:.95rem;line-height:1.6;margin-bottom:16px}.team-skills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px}.team-socials{display:flex;gap:12px;margin-top:auto}.team-socials a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--field-border);color:var(--muted);transition:color .2s,border-color .2s,transform .2s}.team-socials a:hover{color:var(--blue2);border-color:var(--blue2);transform:translateY(-2px)}.team-socials svg{width:17px;height:17px;fill:currentColor;stroke:none}@media (max-width:680px){.team-grid{max-width:340px;margin-left:auto;margin-right:auto}}.section-tint-blue{background:radial-gradient(55% 55% at 88% 0,rgb(var(--accent-rgb)/.1),transparent 60%),radial-gradient(45% 45% at 6% 100%,rgb(var(--accent-rgb)/.06),transparent 60%)}.section-tint-gold{background:radial-gradient(55% 55% at 8% 0,rgb(var(--gold-rgb)/.12),transparent 60%),radial-gradient(45% 45% at 92% 100%,rgb(var(--gold-rgb)/.07),transparent 60%)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.chat-panel input:focus-visible,.chat-panel textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.chat-panel ::placeholder{color:var(--placeholder);opacity:1}.chat-panel button:focus-visible,.faq-q:focus-visible{outline-offset:-3px}.card.feature :focus-visible,.contact :focus-visible{outline-color:#fff}.head-row .nav{margin-left:auto}.theme-toggle{display:grid;place-items:center;flex:none;width:40px;height:40px;margin-left:10px;border-radius:50%;border:1px solid var(--field-border);background:rgb(var(--surface-rgb)/.5);color:var(--navy);cursor:pointer;transition:color .2s,border-color .2s}.theme-toggle:hover{color:var(--blue2);border-color:var(--blue2)}.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .icon-sun,:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}.lang-switch{display:flex;flex:none;align-items:center;height:40px;margin-left:22px;padding:3px;border-radius:999px;border:1px solid var(--field-border);background:rgb(var(--surface-rgb)/.5)}.lang-switch a{display:grid;place-items:center;min-width:34px;height:32px;padding:0 8px;border-radius:999px;font-family:var(--mono);font-size:var(--fs-small);font-weight:600;letter-spacing:.04em;color:var(--navy);transition:color .2s,background-color .2s}.lang-switch a:hover{color:var(--blue2)}.lang-switch a[aria-current=page]{background:var(--brand-blue-mid);color:#fff}.lang-switch a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (max-width:680px){.lang-switch{margin-left:auto}.menu-btn{margin-left:10px}}:root[data-theme=dark] img.logo-light,img.logo-dark{display:none}:root[data-theme=dark] img.logo-dark{display:block}@media (prefers-reduced-motion:no-preference){html.theme-transition,html.theme-transition *,html.theme-transition :after,html.theme-transition :before{transition:background-color .3s ease,border-color .3s ease,color .3s ease,fill .3s ease,stroke .3s ease,box-shadow .3s ease!important}}@media (max-width:680px){:root{--section-py:var(--sp-8)}}.hero,.section{padding:var(--section-py) 0}.eyebrow{display:block;font-size:var(--fs-eyebrow);font-weight:500;letter-spacing:var(--ls-eyebrow);line-height:1.4}.hero h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);max-width:18ch;margin:var(--sp-2) 0 var(--sp-3)}.hero .lead,.sec-head p{font-size:var(--fs-lead);line-height:var(--lh-body);color:var(--muted);max-width:var(--measure)}.sec-head{max-width:none;margin-bottom:var(--sp-6)}.sec-head h2{font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-h2);max-width:28ch;margin:var(--sp-2) 0 var(--sp-2)}.hero-inner .lead{max-width:56ch;margin-bottom:var(--sp-5)}.btn{min-height:var(--btn-h);padding:0 var(--btn-px);gap:var(--sp-1);font-family:var(--display);font-size:var(--btn-fs);font-weight:var(--btn-fw);line-height:1.2;border-radius:var(--radius-sm);border:1px solid transparent;box-shadow:none;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.btn:hover{transform:none}.btn-primary{background:linear-gradient(135deg,var(--brand-blue-mid) 0,var(--brand-blue) 48%,var(--brand-blue-deep) 100%);color:#fff;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.28),0 2px 8px rgba(11,45,107,.18)}.btn-primary:hover{filter:brightness(1.06);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.3),0 4px 14px rgba(11,45,107,.24)}.btn-gold{background:linear-gradient(135deg,#f4df9d 0,var(--gold) 42%,#b8862a 100%);color:#261602;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 2px 8px rgba(138,93,22,.2)}.btn-gold:hover{filter:brightness(1.04);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.4),0 4px 14px rgba(138,93,22,.26)}.btn-ghost{background:rgb(var(--surface-rgb)/.6);border-color:var(--field-border);color:var(--navy)}.btn-ghost:hover{border-color:var(--blue2);color:var(--blue2)}.btn-on-dark{color:#fff;border-color:hsla(0,0%,100%,.7);background:hsla(0,0%,100%,.06)}.btn-on-dark:hover{border-color:#fff;background:hsla(0,0%,100%,.14)}.cta-row{gap:var(--sp-2)}.btn-icon{width:18px;height:18px}.grid{gap:var(--sp-3)}.card{padding:var(--card-pad);border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:translate .2s ease-out,box-shadow .2s,border-color .2s}.card:before{display:none}.card:hover{translate:0 -2px;box-shadow:var(--shadow-md);border-color:rgb(var(--accent-rgb)/.35)}.card .icon{width:var(--icon-box);height:var(--icon-box);border-radius:var(--radius-sm);background:rgb(var(--accent-rgb)/.1);margin-bottom:var(--sp-2)}.card .icon svg{width:var(--icon-size);height:var(--icon-size);stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round}.card .num{position:absolute;top:var(--card-pad);right:var(--card-pad);font-size:var(--fs-small);color:var(--muted)}.card h3{font-size:var(--fs-h3);line-height:var(--lh-heading);letter-spacing:var(--ls-h3);margin:0 0 var(--sp-1)}.card p{font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure)}.card.feature{border-color:transparent;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--sp-3)}.card.feature p{color:hsla(0,0%,100%,.82)}.card.feature .btn{margin-top:0;align-self:center;flex:none}@media (max-width:680px){.card.feature{flex-direction:column;align-items:flex-start}.card.feature .btn{align-self:stretch;justify-content:center}.cta-row .btn{flex:1 1 100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.card:hover{translate:none}}.projects-frame{padding:var(--section-py) 0}.contact{padding:var(--section-py) var(--sp-3)}.stats-section{padding:var(--sp-6) 0}.projects-inner .sec-head{max-width:none;margin-bottom:var(--sp-6)}.faq-list,.team-grid,.tgrid{margin-top:0}.contact h2{font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-h2);max-width:28ch;margin:var(--sp-2) auto var(--sp-2)}.faq-q,.project-card h3,.team-card h3,.tl-step h3,.why-i h3{font-size:var(--fs-h3);line-height:var(--lh-heading);letter-spacing:var(--ls-h3)}.why-i h3{margin-bottom:var(--sp-1)}.contact>p{font-size:var(--fs-lead);line-height:var(--lh-body);max-width:var(--measure);margin:0 auto var(--sp-4)}.contact .contact-call p,.faq-a p,.project-card p,.project-case dd,.team-bio,.tl-deliv p,.tl-note,.tl-step>p,.tquote,.why-i p{font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure)}.team-bio{margin:0 auto var(--sp-2)}.project-case dt,.project-tag,.team-role,.tl-deliv-label{font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow)}.project-links a,.project-tags span,.stat-lbl,.trole{font-size:var(--fs-small)}.tname{font-size:var(--fs-body)}.stat-val{font-size:var(--fs-h2)}.nav a.btn{font-family:var(--display);font-size:var(--btn-fs)}.faq-item,.project-card,.tcard{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--glass);box-shadow:var(--shadow-sm)}.project-card,.tcard{padding:var(--card-pad);transition:translate .2s ease-out,box-shadow .2s,border-color .2s}.project-card:hover,.tcard:hover{translate:0 -2px;box-shadow:var(--shadow-md);border-color:rgb(var(--accent-rgb)/.35)}.project-card{gap:var(--sp-2)}.faq-list,.project-content{gap:var(--sp-1)}.faq-q{padding:var(--sp-2) var(--sp-3)}.faq-a{padding:0 var(--sp-3)}.faq-a.open{padding:0 var(--sp-3) var(--sp-2)}.project-case,.tl-deliv{border-radius:var(--radius-sm);padding:var(--sp-2)}.tquote{margin-bottom:var(--sp-3)}.grid,.projects-grid,.team-grid,.tgrid,.timeline{gap:var(--sp-3)}.why{gap:var(--sp-3) var(--sp-6)}.why-i .mk{width:var(--icon-box);height:var(--icon-box);border-radius:var(--radius-sm);background:rgb(var(--accent-rgb)/.1);color:var(--blue);box-shadow:none;font-size:var(--fs-h3)}.why-i{gap:var(--sp-2)}.tavatar,.team-socials a{width:var(--icon-box);height:var(--icon-box)}.team-socials svg{width:var(--icon-size);height:var(--icon-size)}.tl-node{width:var(--sp-6);height:var(--sp-6);margin-bottom:var(--sp-2)}.tl-node span{font-size:var(--fs-h3)}.tl-step:not(:last-child):before{top:23px;left:var(--sp-6);right:calc(-1 * var(--sp-3))}.tl-deliv{margin-top:var(--sp-1)}.tl-note{margin:var(--sp-5) auto 0}@media (max-width:880px){.tl-step{padding-left:calc(var(--sp-6) + var(--sp-3))}.tl-step:not(:last-child):before{top:var(--sp-6);left:23px;bottom:calc(-1 * var(--sp-3))}}.contact-call{margin-top:var(--sp-3);gap:var(--sp-1) var(--sp-2)}@media (max-width:680px){.contact{padding:var(--section-py) var(--sp-2)}}@media (prefers-reduced-motion:reduce){.project-card:hover,.tcard:hover{translate:none}}:root[data-theme=dark]{color-scheme:dark;--bg:#0b1424;--bg-rgb:11 20 36;--bg2:#0e192d;--bg2-rgb:14 25 45;--ink:#e6ecf5;--muted:#9eadc4;--navy:#c3d1e6;--blue:#a8c7ff;--blue2:#7fadff;--gold:#e9c063;--grad-end:#e9c063;--line:rgba(160,190,240,.14);--glass:rgba(24,40,70,.66);--surface-rgb:24 40 70;--tint-rgb:160 190 240;--shadow-rgb:0 0 0;--accent-rgb:127 173 255;--blue-rgb:127 173 255;--gold-rgb:233 192 99;--card-border:rgba(160,190,240,.12);--card-border-strong:rgba(160,190,240,.16);--panel:rgba(16,27,48,.97);--tag-bg:rgba(127,173,255,.14);--media-bg-1:#16233a;--media-bg-2:#111c30;--field-bg:#111e35;--field-border:#5d7398;--placeholder:#8796ad;--focus:#8ab4ff;--danger:#ff9a8f;--success:#86d993}:root[data-theme=dark] .hero{background:radial-gradient(60% 60% at 78% 8%,rgba(252,205,39,.08),transparent 60%),radial-gradient(70% 70% at 12% 20%,rgba(44,123,224,.16),transparent 60%)}:root[data-theme=dark]{--inf-face-a:#3473da;--inf-face-a2:#5f8bd4;--inf-face-b2:#c9a04a;--inf-face-b:#d29b30;--inf-edge-a:#1c438c;--inf-edge-mid:#31425d;--inf-edge-b:#85590f;--inf-sheen-hi:hsla(0,0%,100%,.32);--inf-sheen-lo:rgba(0,0,0,.3);--inf-face-hi:#c9d5e6;--inf-shadow:rgba(0,0,0,.55);--inf-face-mid-hi:hsla(0,0%,100%,.26);--inf-shine:rgba(255,248,228,.95);--inf-spark-halo:rgba(255,236,190,.4);--inf-beam-halo:rgba(255,240,205,.35);--inf-cross-shadow:rgba(0,0,0,.75);--inf-spec:#eef3fa}:root[data-theme=dark] .bg-inf .hero-inf{filter:drop-shadow(0 0 14px rgba(44,123,224,.18))}:root[data-theme=dark] .carousel-open{border-color:rgba(168,199,255,.22)}:root[data-theme=dark] .contact{box-shadow:0 0 0 1px rgba(160,190,240,.14),0 30px 70px rgba(0,0,0,.4)}@font-face{font-family:__Space_Grotesk_c219ed;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_c219ed;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Space_Grotesk_c219ed;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Space_Grotesk_Fallback_c219ed;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_c219ed{font-family:__Space_Grotesk_c219ed,__Space_Grotesk_Fallback_c219ed;font-style:normal}.__variable_c219ed{--font-display:"__Space_Grotesk_c219ed","__Space_Grotesk_Fallback_c219ed"}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_d8ebd1;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_d8ebd1{font-family:__Inter_d8ebd1,__Inter_Fallback_d8ebd1;font-style:normal}.__variable_d8ebd1{--font-body:"__Inter_d8ebd1","__Inter_Fallback_d8ebd1"}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__JetBrains_Mono_4dc837;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_4dc837;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_4dc837{font-family:__JetBrains_Mono_4dc837,__JetBrains_Mono_Fallback_4dc837;font-style:normal}.__variable_4dc837{--font-mono:"__JetBrains_Mono_4dc837","__JetBrains_Mono_Fallback_4dc837"}