.navbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#040b09a8;border-bottom:1px solid #70e8d11a;width:100%;position:fixed;top:0;left:0}.navbar__inner{width:var(--container);justify-content:space-between;align-items:center;gap:var(--space-4);min-height:64px;margin:0 auto;display:flex}.navbar__brand{font-size:1rem;font-weight:900}.navbar__brand span{color:var(--color-glow)}.navbar__menu-button,.navbar__mobile-spacer{display:none}.navbar__actions{align-items:center;gap:var(--space-3);min-width:0;margin-left:auto;display:flex}.navbar__links{min-width:0;color:var(--color-muted);white-space:nowrap;align-items:center;gap:clamp(.65rem,2vw,1.4rem);font-size:.9rem;font-weight:700;display:flex}.navbar__links a{transition:color var(--duration-base) var(--ease-out)}.navbar__links a:hover{color:var(--color-text)}.navbar__link--cta{color:var(--color-ink);background:linear-gradient(135deg, var(--color-glow), var(--color-mint));border:1px solid #70e8d157;border-radius:999px;padding:.48rem .78rem;box-shadow:0 0 18px #70e8d11f}.navbar__links a.navbar__link--cta:hover{color:var(--color-ink)}.navbar__language-toggle{border:1px solid var(--color-line);width:2.5rem;height:2.5rem;color:var(--color-glow);cursor:pointer;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);background:#101816bd;border-radius:999px;flex:0 0 2.5rem;place-items:center;padding:0;font-size:.72rem;font-weight:900;line-height:1;display:inline-grid}.navbar__language-toggle:hover{color:var(--color-ink);border-color:var(--color-glow);background:var(--color-glow);transform:translateY(-1px)}.navbar__menu-button,.navbar__drawer-close{border:1px solid var(--color-line);width:2.5rem;height:2.5rem;color:var(--color-glow);cursor:pointer;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);background:#101816bd;border-radius:999px;place-items:center;padding:0}.navbar__menu-button:hover,.navbar__drawer-close:hover{color:var(--color-ink);border-color:var(--color-glow);background:var(--color-glow);transform:translateY(-1px)}.navbar__menu-button svg,.navbar__drawer-close svg{width:1.1rem;height:1.1rem}.navbar__drawer-layer{z-index:30;visibility:hidden;pointer-events:none;width:100vw;height:100dvh;position:fixed;inset:0}.navbar__drawer-layer--open{visibility:visible;pointer-events:auto}.navbar__drawer-backdrop{cursor:pointer;opacity:0;transition:opacity var(--duration-base) var(--ease-out);background:#040b0994;border:0;padding:0;position:absolute;inset:0}.navbar__drawer-layer--open .navbar__drawer-backdrop{opacity:1}.navbar__drawer{width:min(19rem, calc(100vw - var(--space-6)));gap:var(--space-5);border-right:1px solid var(--color-line);height:100%;padding:var(--space-5);box-shadow:var(--shadow-card);transition:transform var(--duration-base) var(--ease-out);background:radial-gradient(circle at 18% 0,#70e8d124,#0000 16rem),#040b09f5;flex-direction:column;display:flex;position:absolute;top:0;left:0;transform:translate(-100%)}.navbar__drawer-layer--open .navbar__drawer{transform:translate(0)}.navbar__drawer-head,.navbar__drawer-language{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.navbar__drawer-head p,.navbar__drawer-language span{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:800}.navbar__drawer-links{gap:var(--space-2);display:grid}.navbar__drawer-links a{border-radius:var(--radius-md);color:var(--color-text);transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);background:#101816b8;border:1px solid #70e8d11f;padding:.85rem .95rem;font-size:.95rem;font-weight:800}.navbar__drawer-links a:hover{border-color:var(--color-line);background:#70e8d11a;transform:translate(2px)}.navbar__drawer-links a.navbar__drawer-link--cta{color:var(--color-ink);background:linear-gradient(135deg, var(--color-glow), var(--color-mint));border-color:#70e8d166}.navbar__drawer-language{padding-top:var(--space-4);border-top:1px solid #70e8d11f;margin-top:auto}@media (width<=760px){.navbar__inner{gap:var(--space-3);grid-template-columns:2.5rem 1fr 2.5rem;min-height:64px;display:grid}.navbar__menu-button,.navbar__mobile-spacer{display:inline-grid}.navbar__brand{text-align:center;justify-self:center}.navbar__actions{display:none}}@media (width<=380px){.navbar__brand{font-size:.98rem}.navbar__menu-button,.navbar__drawer-close,.navbar__language-toggle{flex-basis:2.25rem;width:2.25rem;height:2.25rem;font-size:.66rem}}@media (width>=761px){.navbar__drawer-layer{display:none}}.footer{background:#040b09b8;border-top:1px solid #70e8d11f}.footer__inner{width:var(--container);justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) 0;color:var(--color-muted);margin:0 auto;font-size:.9rem;display:flex}.footer__inner p{margin:0}.footer__links{gap:var(--space-3);display:flex}.footer__links a{width:38px;height:38px;color:var(--color-glow);background:#70e8d10f;border:1px solid #70e8d129;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}@media (width<=640px){.footer__inner{flex-direction:column;align-items:flex-start}}.animated-bg{z-index:0;background:radial-gradient(circle at 30% 20%,#70e8d12e,#0000 30rem),radial-gradient(circle at 75% 70%,#296f615c,#0000 34rem),linear-gradient(135deg,#040b09 0%,#101816 46%,#142d28 100%);position:absolute;inset:0;overflow:hidden}.animated-bg__mesh,.animated-bg__grid,.animated-bg__canvas,.animated-bg__blade,.animated-bg__noise{position:absolute;inset:0}.animated-bg__mesh,.animated-bg__grid,.animated-bg__blade,.animated-bg__noise{pointer-events:none}.animated-bg__mesh{filter:saturate(1.3);animation:mesh-drift 12s var(--ease-out) infinite alternate;background:radial-gradient(circle at 12% 40%,#40d1b329,#0000 22rem),radial-gradient(circle at 86% 18%,#3bae9533,#0000 20rem),conic-gradient(from 210deg,#0000,#70e8d11f,#0000);inset:-10%}.animated-bg__grid{opacity:.18;background-image:linear-gradient(#70e8d11a 1px,#0000 1px),linear-gradient(90deg,#70e8d11a 1px,#0000 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 68%);mask-image:radial-gradient(circle,#000 0%,#0000 68%)}.animated-bg__canvas{z-index:1;cursor:auto;mix-blend-mode:screen;touch-action:manipulation;width:100%;height:100%}.animated-bg__blade{z-index:2;filter:blur(4px);background:linear-gradient(90deg,#0000,#70e8d12e,#0000);border-radius:999px;width:min(52vw,700px);height:34vh;animation:7s ease-in-out infinite alternate blade-pulse;inset:auto auto 9% -8%;transform:rotate(-14deg)}.animated-bg__blade--two{animation-delay:-2.5s;inset:16% -12% auto auto;transform:rotate(24deg)}.animated-bg__noise{z-index:3;opacity:.14;background-image:linear-gradient(115deg,#0000 0 38%,#ffffff17 39%,#0000 40%),radial-gradient(circle,#fff3 1px,#0000 1px);background-size:360px 360px,28px 28px;-webkit-mask-image:linear-gradient(#000,#0000 84%);mask-image:linear-gradient(#000,#0000 84%)}@keyframes mesh-drift{0%{transform:translate(-2%,-2%)scale(1)}to{transform:translate(2%,3%)scale(1.06)}}@keyframes blade-pulse{0%{opacity:.18;transform:translate(0,0)rotate(-14deg)scaleX(.96)}to{opacity:.42;transform:translate(4%,-3%)rotate(-10deg)scaleX(1.08)}}@media (width<=640px){.animated-bg__grid{opacity:.12;background-size:58px 58px}.animated-bg__canvas{opacity:.78}}@media (prefers-reduced-motion:reduce){.animated-bg__mesh,.animated-bg__blade{animation:none}.animated-bg__canvas{display:none}}.typing-text{width:100%;max-width:min(100%,760px);height:clamp(4.45rem,6.8vw,5.35rem);margin:var(--space-5) 0 0;text-align:center;text-wrap:balance;flex-wrap:wrap;place-content:center;align-items:center;gap:.22em;font-size:clamp(1.24rem,3.2vw,2.2rem);font-weight:900;line-height:1.18;display:flex}.typing-text__prefix{color:var(--color-text)}.typing-text__value{min-width:0;max-width:100%;color:var(--color-glow);overflow-wrap:break-word;text-align:center;white-space:normal;display:inline}.typing-text__cursor{background:var(--color-glow);border-radius:999px;width:.12em;height:1.1em;animation:.8s step-end infinite cursor-blink;display:inline-block;transform:translateY(.16em)}@keyframes cursor-blink{50%{opacity:0}}@media (width<=480px){.typing-text{grid-template-rows:1.18em 2.36em;max-width:min(100%,342px);height:4.72em;font-size:clamp(.98rem,5.15vw,1.32rem);line-height:1.18;display:grid}.typing-text__prefix,.typing-text__value{max-width:100%;display:block}.typing-text__value{min-height:2.36em}}.social-links{justify-content:center;gap:var(--space-3);margin-top:var(--space-6);display:flex}.social-links a{width:46px;height:46px;color:var(--color-text);transition:transform var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);background:#101816b8;border:1px solid #70e8d12e;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 10px 34px #0000003d}.social-links a:hover{color:var(--color-glow);border-color:#70e8d17a;transform:translateY(-3px)}.hero{place-items:center;min-height:100svh;padding:5.8rem 1rem 4rem;display:grid;position:relative;overflow:hidden}.hero__content{z-index:2;text-align:center;justify-items:center;width:min(100%,840px);max-width:840px;display:grid;position:relative}.hero h1{letter-spacing:0;text-wrap:balance;gap:.06em;max-width:10ch;margin:0;font-size:clamp(2.05rem,5vw,4.05rem);line-height:1.2;display:grid}.hero h1 span{display:block}.hero__actions{justify-content:center;gap:var(--space-3);width:min(100%,376px);margin-top:var(--space-6);flex-wrap:nowrap;display:flex}.hero__actions .button{flex:1 1 0;width:auto;min-width:0}.hero__aim-card{z-index:7;width:max-content;max-width:12rem;color:color-mix(in srgb, var(--color-text) 78%, transparent);opacity:.58;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);background:#040b095c;border:1px solid #70e8d138;border-radius:999px;align-items:center;padding:.4rem .56rem;font-size:.68rem;font-weight:800;line-height:1.2;display:inline-flex;position:absolute;top:clamp(4.8rem,8vh,6.2rem);right:clamp(.75rem,3vw,2rem);overflow:hidden}.hero__scroll{z-index:8;cursor:pointer;width:28px;height:48px;transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);background:linear-gradient(#70e8d124,#040b0961),#040b096b;border:1px solid #70e8d1b8;border-radius:999px;animation:2.4s ease-in-out infinite scroll-pill-glow;position:absolute;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 0 18px #70e8d138,inset 0 0 18px #70e8d114}.hero__scroll:before{content:"";opacity:0;border:1px solid #70e8d147;border-radius:999px;animation:2.1s ease-out infinite scroll-ring;position:absolute;inset:-8px}.hero__scroll:hover,.hero__scroll:focus-visible{border-color:#70e8d1eb;transform:translate(-50%)translateY(-2px);box-shadow:0 0 24px #70e8d15c,inset 0 0 20px #70e8d11f}.hero__scroll span{background:var(--color-glow);border-radius:999px;width:6px;height:6px;animation:1.7s ease-in-out infinite scroll-dot;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 0 10px #70e8d1d1}@keyframes scroll-pill-glow{0%,to{box-shadow:0 0 16px #70e8d12e,inset 0 0 18px #70e8d114}50%{box-shadow:0 0 28px #70e8d157,inset 0 0 22px #70e8d124}}@keyframes scroll-ring{0%{opacity:.65;transform:scale(.72)}80%,to{opacity:0;transform:scale(1.18)}}@keyframes scroll-dot{0%,to{opacity:.25;transform:translate(-50%)}50%{opacity:1;transform:translate(-50%,16px)}}@media (width<=640px){.hero{min-height:100svh;padding-top:6.9rem}.hero h1{gap:.05em;max-width:16ch;font-size:clamp(1.76rem,8vw,2.72rem);line-height:1.08}.hero__actions{width:min(100%,348px);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hero__actions .button{padding-inline:var(--space-3);white-space:nowrap}.hero__aim-card{max-width:calc(100% - 1.5rem);font-size:.62rem;top:5.2rem;left:.75rem;right:auto}}@media (width<=340px){.hero__actions{gap:var(--space-2)}.hero__actions .button{padding-inline:var(--space-3);font-size:.8rem}}@media (hover:hover) and (pointer:fine){.hero__aim-card:hover{opacity:.82;border-color:#70e8d161}}.about{padding-top:var(--space-8)}.about .section-title{max-width:740px}.about .section-title h2{max-width:100%;font-size:clamp(2rem,4.2vw,3.35rem)}.about .section-title h2 span{display:block}.about__grid{gap:var(--space-6);grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);align-items:stretch;display:grid}.about__photo-wrap{border-radius:var(--radius-xl);background:linear-gradient(150deg, #70e8d129, transparent 40%), var(--color-surface);min-height:clamp(500px,48vw,580px);box-shadow:var(--shadow-card);transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);border:1px solid #70e8d12e;position:relative;overflow:hidden}.about__photo-wrap:after{content:"";pointer-events:none;background:linear-gradient(#0000 48%,#040b09bd),radial-gradient(circle at 50% 30%,#0000 42%,#040b096b);position:absolute;inset:0}.about__photo{object-fit:cover;width:100%;height:100%;min-height:clamp(500px,48vw,580px)}.about__photo-wrap:focus-within{box-shadow:var(--shadow-card), 0 0 34px #70e8d124;border-color:#70e8d185}.about__player-head,.about__stats-shell{z-index:2;left:var(--space-4);right:var(--space-4);position:absolute}.about__player-head{top:var(--space-4)}.about__player-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.about__player-tags span{color:var(--color-text);background:#040b0994;border:1px solid #f2fff91f;border-radius:999px;align-items:center;gap:.38rem;padding:.36rem .62rem;font-size:.75rem;font-weight:900;display:inline-flex;box-shadow:0 0 18px #040b092e}.about__flag{border:1px solid #f2fff952;border-radius:2px;width:18px;height:12px;display:inline-block;position:relative;overflow:hidden;box-shadow:0 0 8px #040b0947}.about__flag--ve{background:linear-gradient(#f4d13d 0 33.33%,#2446a8 33.33% 66.66%,#d5292f 66.66% 100%)}.about__flag--ve:after{content:"";background:#fff;border-radius:999px;width:2px;height:2px;position:absolute;top:4px;left:5px;box-shadow:3px 0 #fff,6px 0 #fff}.about__flag--mx{background:linear-gradient(90deg,#006847 0 33.33%,#fff 33.33% 66.66%,#ce1126 66.66% 100%)}.about__flag--mx:after{content:"";background:#8c6b32;border-radius:999px;width:2px;height:4px;position:absolute;top:4px;left:8px}.about__stats-shell{bottom:var(--space-4);gap:var(--space-3);display:grid}.about__stats{border-radius:var(--radius-lg);padding:var(--space-4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 100% 0,#70e8d124,#0000 44%),#040b09b8;border:1px solid #70e8d12e}.about__stats-toggle{justify-content:center;align-items:center;gap:var(--space-2);width:fit-content;min-height:38px;color:var(--color-glow);cursor:pointer;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);background:#040b09b8;border:1px solid #70e8d147;border-radius:999px;padding:.52rem .78rem;font-size:.78rem;font-weight:900;display:inline-flex;box-shadow:0 0 18px #040b0933}.about__stats-toggle:hover,.about__stats-toggle:focus-visible{background:#101816d1;border-color:#70e8d194;transform:translateY(-2px)}.about__stats-toggle svg{transition:transform var(--duration-base) var(--ease-out)}.about__stats-shell--open .about__stats-toggle svg{transform:rotate(180deg)}.about__stats p{margin:0 0 var(--space-3);color:var(--color-glow);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:900}.about__stats ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.about__stats li{gap:var(--space-2);color:var(--color-text);grid-template-columns:minmax(0,1fr) auto;align-items:center;font-size:.78rem;font-weight:800;display:grid}.about__stats strong{color:var(--color-glow);font-size:.74rem}.about__stats i{background:#f2fff91a;border-radius:999px;grid-column:1/-1;height:5px;display:block;overflow:hidden}.about__stats i:before{width:var(--stat-progress);content:"";border-radius:inherit;background:linear-gradient(90deg, var(--color-mint), var(--color-glow));height:100%;display:block;box-shadow:0 0 12px #70e8d16b}.about__card{align-items:center;padding:clamp(1.1rem,2.4vw,1.8rem);display:flex}.about__card-content{position:relative}@media (hover:hover) and (pointer:fine){.about__photo-wrap:hover{box-shadow:var(--shadow-card), 0 0 34px #70e8d124;border-color:#70e8d185}}.about__card p{color:var(--color-muted);margin:0;font-size:clamp(.94rem,1.5vw,1.02rem)}.about__card p+p{margin-top:var(--space-4)}.about__traits{gap:var(--space-3);margin:var(--space-5) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.about__traits li{color:var(--color-text);background:#70e8d114;border:1px solid #70e8d12e;border-radius:999px;padding:.38rem .62rem;font-size:.78rem;font-weight:800}.about__actions{margin-top:var(--space-5);display:flex}.about__cv-button{min-width:150px}@media (width<=820px){.about__grid{grid-template-columns:1fr}.about__photo-wrap,.about__photo{min-height:560px}}@media (width<=520px){.about .section-title h2{max-width:100%;font-size:clamp(1.72rem,7.8vw,2.16rem);line-height:1.08}.about__photo-wrap,.about__photo{min-height:600px}.about__stats{padding:var(--space-3)}.about__actions .button{width:100%}}.skill-item{--skill-color:var(--color-glow);align-items:center;gap:var(--space-2);min-width:max-content;color:var(--color-text);transition:border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);background:#040b098a;border:1px solid #70e8d129;border-radius:999px;padding:.62rem .84rem;font-size:.9rem;font-weight:800;display:inline-flex}.skill-item svg{width:1.15rem;height:1.15rem}@media (hover:hover) and (pointer:fine){.skill-item:hover{border-color:color-mix(in srgb, var(--skill-color) 54%, #70e8d12e);background:color-mix(in srgb, var(--skill-color) 10%, #040b098a);box-shadow:0 0 20px color-mix(in srgb, var(--skill-color) 14%, transparent);transform:translateY(-2px)}}.skills{overflow:hidden}.skills__marquee{--skills-x:50%;--skills-y:50%;border-radius:var(--radius-xl);box-shadow:var(--shadow-card);cursor:grab;overscroll-behavior-inline:contain;touch-action:pan-y pinch-zoom;transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);-webkit-user-select:none;user-select:none;background:#101816b8;border:1px solid #70e8d124;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.skills__marquee:before,.skills__marquee:after{z-index:0;content:"";pointer-events:none;position:absolute;inset:0}.skills__marquee:before{opacity:.75;background:radial-gradient(circle at 0 0,#70e8d124,#0000 38%)}.skills__marquee:after{background:radial-gradient(circle 170px at var(--skills-x) var(--skills-y), #70e8d129, transparent 72%), linear-gradient(135deg, #70e8d114, transparent 46%);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.skills__marquee--dragging{cursor:grabbing}.skills .section-title h2{max-width:100%;font-size:clamp(2rem,4.2vw,3.35rem)}.skills .section-title{max-width:740px}.skills .section-title h2 span{display:block}.skills__track{z-index:1;gap:var(--space-3);width:max-content;padding:var(--space-5) var(--space-3);will-change:transform;display:flex;position:relative}.skills__marquee:focus-within{box-shadow:var(--shadow-card), 0 0 34px #70e8d11f;border-color:#70e8d17a}.skills__marquee:focus-within:after{opacity:1}@media (hover:hover) and (pointer:fine){.skills__marquee:hover{box-shadow:var(--shadow-card), 0 0 34px #70e8d11f;border-color:#70e8d17a}.skills__marquee:hover:after{opacity:1}}@media (width<=640px){.skills__track{padding:var(--space-4) var(--space-3)}}@media (prefers-reduced-motion:reduce){.skills__track{will-change:auto;flex-wrap:wrap;width:100%;transform:none!important}.skills__marquee{cursor:default;touch-action:auto;-webkit-mask-image:none;mask-image:none}.skills__marquee:after{display:none}}.project-card{--card-x:50%;--card-y:35%;border-color:color-mix(in srgb, var(--project-accent) 22%, #70e8d124);min-height:100%;transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);flex-direction:column;display:flex}.project-card:after{z-index:0;content:"";pointer-events:none;background:radial-gradient(circle 180px at var(--card-x) var(--card-y), color-mix(in srgb, var(--project-accent) 20%, transparent), transparent 70%), linear-gradient(135deg, color-mix(in srgb, var(--project-accent) 14%, transparent), transparent 42%);opacity:0;transition:opacity var(--duration-base) var(--ease-out);position:absolute;inset:-1px}.project-card>*{z-index:1;position:relative}.project-card--phone{grid-template-rows:minmax(0,1fr) minmax(0,1fr);display:grid}.project-card__visual{aspect-ratio:16/9;background:radial-gradient(circle at 50% 36%, color-mix(in srgb, var(--project-accent) 28%, transparent), transparent 44%), linear-gradient(135deg, #040b09f5, #142d28c7);border-bottom:1px solid #70e8d11f;place-items:center;min-height:196px;display:grid;position:relative;overflow:hidden}.project-card__visual:before,.project-card__visual:after{content:"";pointer-events:none;position:absolute}.project-card__visual:before{border:1px solid color-mix(in srgb, var(--project-accent) 28%, transparent);opacity:.55;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-slow) var(--ease-out);border-radius:24px;inset:10%;transform:rotate(-2deg)scale(.98)}.project-card__visual:after{opacity:.18;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-slow) var(--ease-out);background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:38px 38px;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 72%);mask-image:radial-gradient(circle,#000 0%,#0000 72%)}.project-card__media{z-index:1;position:absolute;inset:0}.project-card__shots{z-index:1;place-items:center;display:grid;position:absolute;inset:0}.project-card__shot{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-slow) var(--ease-out);position:absolute;inset:0;transform:scale(1.02)}.project-card__shots--count-1 .project-card__shot{opacity:1;transform:scale(1)}.project-card__shots--count-2 .project-card__shot{animation:8s ease-in-out infinite project-shot-cycle-2}.project-card__shots--count-2 .project-card__shot:nth-child(2){animation-delay:4s}.project-card__shots--count-3 .project-card__shot{animation:12s ease-in-out infinite project-shot-cycle-3}.project-card__shots--count-3 .project-card__shot:nth-child(2){animation-delay:4s}.project-card__shots--count-3 .project-card__shot:nth-child(3){animation-delay:8s}.project-card--phone .project-card__visual{aspect-ratio:auto;background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--project-accent) 24%, transparent), transparent 52%), linear-gradient(135deg, #040b09f0, #142d28d1);width:100%;height:100%;min-height:auto;box-shadow:none;border:0;border-bottom:1px solid #70e8d11f;border-radius:0;margin:0}.project-card--phone .project-card__visual:before,.project-card--phone .project-card__visual:after{display:none}.project-card__phone-shell{z-index:1;aspect-ratio:1170/2532;height:min(92%,520px);box-shadow:0 24px 55px #0000005c, 0 0 42px color-mix(in srgb, var(--project-accent) 16%, transparent);background:linear-gradient(145deg,#07110f,#101816);border:1px solid #f2fff93d;border-radius:30px;padding:.55rem;position:relative}.project-card__phone-shell:before{z-index:3;content:"";background:#07110feb;border-radius:999px;width:34%;height:.42rem;position:absolute;top:.62rem;left:50%;transform:translate(-50%)}.project-card__phone-shell:after{z-index:3;content:"";background:#70e8d1bf;border-radius:999px;width:.35rem;height:.35rem;position:absolute;top:1.12rem;right:17%;box-shadow:0 0 10px #70e8d180}.project-card--phone .project-card__shots{background:#f7faf8;border-radius:22px;inset:.55rem;overflow:hidden}.project-card--phone .project-card__shot{object-fit:cover;filter:none;padding:0}.project-card--phone .project-card__body{min-height:0}.project-card--phone .project-card__actions{padding-top:var(--space-5);margin-top:auto}.project-card__visual span{z-index:1;color:var(--color-text);letter-spacing:0;text-shadow:0 0 28px color-mix(in srgb, var(--project-accent) 45%, transparent);font-size:clamp(2.6rem,6vw,4.8rem);font-weight:950}.project-card__body{flex-direction:column;flex:1;padding:clamp(1rem,2vw,1.25rem);display:flex}.project-card__meta{margin-bottom:var(--space-3);display:flex}.project-card__meta span{border:1px solid color-mix(in srgb, var(--project-accent) 32%, #70e8d129);min-height:25px;color:color-mix(in srgb, var(--project-accent) 78%, var(--color-text));background:color-mix(in srgb, var(--project-accent) 10%, #040b0994);border-radius:999px;padding:.22rem .54rem;font-size:.68rem;font-weight:900;line-height:1.35}.project-card h3{margin:0;font-size:clamp(1.18rem,2.4vw,1.62rem);line-height:1.08}.project-card p{margin:var(--space-3) 0 0;color:var(--color-muted);font-size:.9rem;line-height:1.65}.project-card__highlights{margin-top:var(--space-4);border-radius:var(--radius-md);background:#040b0938;border:1px solid #70e8d11f;padding:.78rem}.project-card__highlights h4{margin:0 0 var(--space-2);color:color-mix(in srgb, var(--project-accent) 82%, var(--color-text));letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900;line-height:1.2}.project-card__highlights ul{gap:.42rem;margin:0;padding:0;list-style:none;display:grid}.project-card__highlights li{color:var(--color-muted);padding-left:.78rem;font-size:.76rem;line-height:1.45;position:relative}.project-card__highlights li:before{content:"";background:var(--project-accent);width:5px;height:5px;box-shadow:0 0 10px color-mix(in srgb, var(--project-accent) 70%, transparent);border-radius:999px;position:absolute;top:.52em;left:0}.project-card__stack{margin:var(--space-4) 0 0;flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;display:flex}.project-card__stack li{width:34px;height:34px;color:color-mix(in srgb, var(--project-accent) 84%, var(--color-text));background:#ffffff0e;border:1px solid #70e8d129;border-radius:999px;flex:none;place-items:center;display:grid;position:relative}.project-card__stack li:focus-visible{outline:2px solid var(--color-glow);outline-offset:3px}.project-card__stack li:before,.project-card__stack li:after{z-index:4;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);position:absolute;left:50%}.project-card__stack li:before{content:"";background:#081310f5;border-bottom:1px solid #70e8d12e;border-right:1px solid #70e8d12e;width:8px;height:8px;bottom:calc(100% + 5px);transform:translate(-50%,4px)rotate(45deg)}.project-card__stack li:after{content:attr(data-tech);max-width:min(180px,70vw);color:var(--color-text);text-align:center;white-space:nowrap;background:#081310f5;border:1px solid #70e8d12e;border-radius:999px;padding:.28rem .54rem;font-size:.68rem;font-weight:800;line-height:1.2;bottom:calc(100% + 9px);transform:translate(-50%,6px);box-shadow:0 12px 28px #00000052}.project-card__stack svg{width:17px;height:17px}.project-card__maintenance{border-radius:var(--radius-sm);max-width:100%;margin-top:var(--space-4);color:var(--color-text);background:#f2fff914;border:1px solid #f2fff929;align-self:flex-start;padding:.68rem .82rem;font-size:.82rem;font-weight:850;line-height:1.35;box-shadow:0 12px 30px #0000002e}.project-card__actions{gap:var(--space-2);padding-top:var(--space-5);flex-wrap:wrap;margin-top:auto;display:flex}.project-card__action.button{letter-spacing:.08em;min-width:104px;min-height:38px;padding:.58rem .78rem;font-size:.76rem}.project-card__action svg{width:16px;height:16px;transition:transform var(--duration-base) var(--ease-out)}.project-card:focus-within{border-color:color-mix(in srgb, var(--project-accent) 52%, #70e8d14d);box-shadow:0 22px 70px #00000052, 0 0 34px color-mix(in srgb, var(--project-accent) 16%, transparent)}.project-card:focus-within:after{opacity:1}.project-card:focus-within .project-card__visual:before{opacity:.9;transform:rotate(0)scale(1.01)}.project-card:focus-within .project-card__action svg{transform:translate(2px,-2px)}.project-card__stack li:focus-visible:before,.project-card__stack li:focus-visible:after{opacity:1}.project-card__stack li:focus-visible:before{transform:translate(-50%)rotate(45deg)}.project-card__stack li:focus-visible:after{transform:translate(-50%)}@keyframes project-shot-cycle-2{0%,44%,to{opacity:1;transform:scale(1)}50%,94%{opacity:0;transform:scale(1.025)}}@keyframes project-shot-cycle-3{0%,28%,to{opacity:1;transform:scale(1)}34%,94%{opacity:0;transform:scale(1.025)}}@media (hover:hover) and (pointer:fine){.project-card:hover{border-color:color-mix(in srgb, var(--project-accent) 52%, #70e8d14d);box-shadow:0 22px 70px #00000052, 0 0 34px color-mix(in srgb, var(--project-accent) 16%, transparent)}.project-card:hover:after{opacity:1}.project-card:hover .project-card__visual:before{opacity:.9;transform:rotate(0)scale(1.01)}.project-card:hover .project-card__visual:after{opacity:.28;transform:translateY(-3px)}.project-card__action:hover svg{transform:translate(2px,-2px)}.project-card__stack li:hover:before,.project-card__stack li:hover:after,.project-card__stack li:focus-visible:before,.project-card__stack li:focus-visible:after{opacity:1}.project-card__stack li:hover:before,.project-card__stack li:focus-visible:before{transform:translate(-50%)rotate(45deg)}.project-card__stack li:hover:after,.project-card__stack li:focus-visible:after{transform:translate(-50%)}}@media (width<=640px){.project-card__visual{min-height:188px}.project-card--phone .project-card__visual{aspect-ratio:auto;width:100%;min-height:auto}.project-card__actions{gap:var(--space-2)}.project-card__action.button{flex:96px}}@media (prefers-reduced-motion:reduce){.project-card{will-change:auto}.project-card__shot{opacity:0;transform:none;animation:none!important}.project-card__shot:first-child{opacity:1}}@supports not (background:color-mix(in srgb, white, black)){.project-card,.project-card__meta span,.project-card__stack li{border-color:#70e8d12e}.project-card__visual{background:radial-gradient(circle at 50% 36%,#70e8d133,#0000 44%),linear-gradient(135deg,#040b09f5,#142d28c7)}}.projects{margin-top:var(--space-7);position:relative;overflow:hidden}.projects__inner{z-index:2;padding-top:clamp(3rem,7vw,5.6rem);position:relative}.projects__grid{grid-auto-flow:dense;gap:var(--space-4);perspective:1200px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.projects__grid .project-card--phone{grid-row:span 2}@media (width<=980px){.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.projects__grid{grid-template-columns:1fr}.projects__grid .project-card--phone{grid-row:auto}}.quote{min-height:calc(100svh - 64px);padding-top:clamp(var(--space-4), 3vh, var(--space-6));padding-bottom:clamp(var(--space-4), 3vh, var(--space-6));display:grid}.quote--selector{align-content:center}.quote--form{align-content:start}.quote__view--selector{align-content:center;display:grid}.quote__hero{max-width:760px;margin-bottom:var(--space-6)}.quote__eyebrow{gap:var(--space-2);margin:0 0 var(--space-3);color:var(--color-glow);letter-spacing:.16em;text-transform:uppercase;align-items:center;font-size:.72rem;font-weight:900;display:inline-flex}.quote__eyebrow:before{content:"";background:var(--color-glow);width:32px;height:1px}.quote__hero h1{letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(2.2rem,6vw,4.9rem);line-height:.98}.quote__hero p:not(.quote__eyebrow){max-width:680px;margin:var(--space-4) 0 0;color:var(--color-muted);font-size:clamp(.98rem,1.7vw,1.08rem)}.quote__toolbar{margin:calc(var(--space-3) * -1) 0 var(--space-5);justify-content:flex-end;display:flex}.quote__view{transform-origin:top;will-change:opacity, transform;min-width:0}.quote__view--selector{perspective:1200px}.quote-currency{gap:var(--space-1);padding:var(--space-1);background:#040b0985;border:1px solid #70e8d129;border-radius:999px;display:inline-flex}.quote-currency__option{color:var(--color-muted);cursor:pointer;letter-spacing:.06em;transition:color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:.42rem .8rem;font-size:.76rem;font-weight:900}.quote-currency__option:hover,.quote-currency__option:focus-visible,.quote-currency__option--active{color:var(--color-ink);background:var(--color-glow)}.quote__divider{background:linear-gradient(90deg,#70e8d157,#0000);height:1px}.quote__sticky-progress{z-index:18;border-radius:var(--radius-lg);min-width:0;max-width:100%;padding:var(--space-2);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#040b09c7;border:1px solid #70e8d11f;position:sticky;top:64px}.quote-services{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.quote-service-card{--quote-accent:var(--color-glow);align-content:center;justify-items:center;gap:var(--space-3);border-radius:var(--radius-xl);min-height:248px;color:var(--color-text);background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--quote-accent) 16%, transparent), transparent 48%), #101816bd;box-shadow:var(--shadow-card);cursor:pointer;text-align:center;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);border:1px solid #70e8d124;padding:clamp(1.15rem,3vw,1.55rem);display:grid}.quote-service-card:hover,.quote-service-card:focus-visible,.quote-service-card--selected{border-color:color-mix(in srgb, var(--quote-accent) 58%, #70e8d133);box-shadow:var(--shadow-card), 0 0 30px color-mix(in srgb, var(--quote-accent) 16%, transparent);transform:translateY(-3px)}.quote-service-card__icon{border:1px solid color-mix(in srgb, var(--quote-accent) 52%, transparent);width:58px;height:58px;color:var(--color-ink);background:linear-gradient(135deg, var(--quote-accent), var(--color-mint));box-shadow:0 0 22px color-mix(in srgb, var(--quote-accent) 22%, transparent);border-radius:999px;place-items:center;display:inline-grid}.quote-service-card__icon svg{width:1.7rem;height:1.7rem}.quote-service-card__title{font-size:clamp(1.12rem,2vw,1.35rem);font-weight:900;line-height:1.15}.quote-service-card__description{max-width:280px;color:var(--color-muted);font-size:.95rem}.quote-service-card__price{color:var(--quote-accent);font-size:.9rem;font-weight:900}.quote-service-card__status{min-height:1.4rem;color:var(--quote-accent);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:900}.quote__workspace{gap:var(--space-4);min-width:0;display:grid}.quote-progress{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.quote-progress__item{align-items:center;gap:var(--space-3);border-radius:var(--radius-lg);width:100%;min-width:0;padding:var(--space-3);color:var(--color-muted);cursor:pointer;text-align:left;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);background:#1018169e;border:1px solid #70e8d11f;display:flex;position:relative;overflow:hidden}.quote-progress__item:hover,.quote-progress__item:focus-visible{color:var(--color-text);background:#70e8d114;border-color:#70e8d157;transform:translateY(-1px)}.quote-progress__item span{width:32px;height:32px;color:var(--color-glow);background:#040b096b;border:1px solid #70e8d12e;border-radius:999px;flex:none;place-items:center;font-size:.8rem;font-weight:900;display:inline-grid}.quote-progress__item p{min-width:0;margin:0;font-size:.86rem;font-weight:900}.quote-progress__item--complete{color:var(--color-text);background:radial-gradient(circle at 20%,#70e8d133,#0000 38%),#70e8d11f;border-color:#70e8d194;box-shadow:inset 0 0 0 1px #70e8d11f,0 0 24px #70e8d124}.quote-progress__item--complete:after{right:var(--space-3);bottom:var(--space-2);content:"";background:linear-gradient(90deg, var(--color-glow), transparent);border-radius:999px;height:2px;position:absolute;left:56px}.quote-progress__item--current{background:#f4c96b14;border-color:#f4c96b61}.quote-progress__item--current span{color:var(--color-ink);border-color:var(--color-warm);background:var(--color-warm)}.quote-progress__item--complete span{color:var(--color-ink);border-color:var(--color-glow);background:var(--color-glow);box-shadow:0 0 16px #70e8d147}.quote-progress__item--complete span svg{width:1rem;height:1rem}@media (width<=980px){.quote-services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.quote-services{grid-template-columns:1fr}.quote{min-height:calc(100svh - 64px);padding-top:var(--space-4);padding-bottom:var(--space-4)}.quote__hero h1{font-size:clamp(1.85rem,9.4vw,2.45rem);line-height:1.04}.quote__toolbar{justify-content:flex-start;margin-top:0}.quote__sticky-progress{border-radius:var(--radius-md);padding:var(--space-1);top:64px;overflow:visible}.quote-progress{gap:var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr))}.quote-progress li{min-width:0}.quote-service-card{min-height:208px}.quote-progress__item{justify-content:center;gap:var(--space-1);border-radius:var(--radius-md);text-align:center;flex-direction:column;min-height:78px;padding:.55rem .35rem}.quote-progress__item span{width:28px;height:28px;font-size:.78rem}.quote-progress__item p{text-align:center;overflow-wrap:anywhere;font-size:.68rem;line-height:1.04}.quote-progress__item--complete:after{display:none}}@media (width<=420px){.quote-service-card{border-radius:var(--radius-md)}.quote-progress__item{min-height:72px;padding:.5rem .25rem}.quote-progress__item p{font-size:.62rem}}.quote-form{gap:var(--space-6);min-width:0;display:grid}#quote-requirements,#quote-contact-details{scroll-margin-top:150px}.quote-form__group,.quote-contact{gap:var(--space-5);min-width:0;display:grid}.quote-form__intro{max-width:720px}.quote-form__eyebrow{margin:0 0 var(--space-2);color:var(--color-glow);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:900}.quote-form__intro h2{letter-spacing:0;margin:0;font-size:clamp(1.45rem,3vw,2.3rem);line-height:1.08}.quote-form__intro p:not(.quote-form__eyebrow){margin:var(--space-3) 0 0;color:var(--color-muted)}.quote-field{gap:var(--space-4);min-width:0;padding-top:var(--space-5);border-top:1px solid #70e8d11f;display:grid}.quote-field__head{min-width:0;max-width:780px}.quote-field__head h2,.quote-field__head h3{margin:0;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.18}.quote-field__head p{margin:var(--space-2) 0 0;color:var(--color-muted);overflow-wrap:anywhere;font-size:.94rem}.quote-options{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.quote-options--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-option{gap:var(--space-3);border-radius:var(--radius-lg);min-height:112px;padding:var(--space-4);color:var(--color-text);cursor:pointer;text-align:left;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);background:#101816ad;border:1px solid #70e8d124;grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.quote-option:hover:not(:disabled),.quote-option:focus-visible,.quote-option--selected{background:#70e8d114;border-color:#70e8d16b;transform:translateY(-2px);box-shadow:0 0 22px #70e8d11a}.quote-option:disabled{cursor:not-allowed;opacity:.58}.quote-option__marker{width:22px;height:22px;color:var(--color-ink);background:#040b096b;border:1px solid #70e8d147;border-radius:999px;place-items:center;display:inline-grid}.quote-option--selected .quote-option__marker{border-color:var(--color-glow);background:var(--color-glow)}.quote-option__marker svg{width:.9rem;height:.9rem}.quote-option__content{gap:var(--space-2);min-width:0;display:grid}.quote-option__title{font-size:.96rem;font-weight:900;line-height:1.22}.quote-option__description{color:var(--color-muted);overflow-wrap:anywhere;font-size:.86rem;line-height:1.45}.quote-option__price{color:var(--color-glow);font-size:.88rem;font-weight:900}.quote-option__badge{width:fit-content;color:var(--color-warm);background:#f4c96b1a;border:1px solid #f4c96b47;border-radius:999px;grid-column:2;padding:.18rem .46rem;font-size:.68rem;font-weight:900}.quote-custom-count,.quote-input{gap:var(--space-2);display:grid}.quote-custom-count{max-width:260px}.quote-contact__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quote-input:last-child{grid-column:1/-1}.quote-custom-count label,.quote-input label{color:var(--color-text);font-size:.82rem;font-weight:900}.quote-custom-count input,.quote-input input,.quote-input textarea{border-radius:var(--radius-md);width:100%;color:var(--color-text);resize:vertical;transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);background:#040b098a;border:1px solid #70e8d129;padding:.72rem .86rem}.quote-custom-count input:focus,.quote-input input:focus,.quote-input textarea:focus{border-color:#70e8d194;box-shadow:0 0 0 3px #70e8d11a}.quote-field--error .quote-options,.quote-custom-count--error input,.quote-input--error input,.quote-input--error textarea{border-color:#f4c96b8a}.quote-field__error{color:var(--color-warm);margin:0;font-size:.82rem;font-weight:800}.quote-estimate{justify-items:center;gap:var(--space-2);border-radius:var(--radius-xl);text-align:center;background:radial-gradient(circle at 50% 0,#70e8d11f,#0000 42%),#101816b8;border:1px solid #70e8d133;padding:clamp(1.1rem,3vw,1.7rem);display:grid}.quote-estimate h3{color:var(--color-muted);margin:0;font-size:1rem}.quote-estimate__amount{color:var(--color-glow);font-size:clamp(2rem,5vw,3rem);font-weight:900;line-height:1}.quote-estimate__range{color:var(--color-text);margin:0;font-size:clamp(.95rem,2vw,1.08rem);font-weight:900}.quote-estimate__range span{color:var(--color-muted);font-weight:800}.quote-estimate__note{max-width:700px;margin:var(--space-2) 0 0;color:var(--color-muted);font-size:.92rem;font-style:italic}.quote-estimate__warning{width:100%;max-width:760px;margin-top:var(--space-3);align-items:start;gap:var(--space-3);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);color:var(--color-warm);text-align:left;background:#f4c96b1f;border:1px solid #f4c96b75;grid-template-columns:auto minmax(0,1fr);display:grid}.quote-estimate__warning-icon{background:#f4c96b1f;border:1px solid #f4c96b6b;border-radius:999px;place-items:center;width:28px;height:28px;display:inline-grid}.quote-estimate__warning-icon svg{width:.9rem;height:.9rem}.quote-estimate__warning-copy{gap:var(--space-1);display:grid}.quote-estimate__warning-copy strong{font-size:.86rem;line-height:1.2}.quote-estimate__warning-copy p{margin:0;font-size:.86rem;font-weight:700;line-height:1.45}.quote-form__status{color:var(--color-warm);text-align:center;margin:0;font-weight:900}.quote-actions{justify-content:flex-end;display:flex}.quote-actions .button{width:min(100%,360px)}.quote-actions__whatsapp svg{width:1.05rem;height:1.05rem}.quote-actions__whatsapp--disabled{opacity:.58;cursor:not-allowed;filter:saturate(.75)}@media (width<=980px){.quote-options,.quote-options--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.quote-options,.quote-options--compact,.quote-contact__grid{grid-template-columns:1fr}.quote-actions{display:block}.quote-actions .button{width:100%}.quote-option{min-height:0}}@media (width<=420px){.quote-option,.quote-estimate,.quote-estimate__warning{border-radius:var(--radius-md)}}.contact-form{gap:var(--space-3);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);background:#101816b8;border:1px solid #70e8d124;padding:clamp(1rem,2.4vw,1.35rem);display:grid}.contact-form__field{gap:var(--space-2);display:grid}.contact-form label{color:var(--color-text);font-size:.82rem;font-weight:900}.contact-form input,.contact-form textarea{border-radius:var(--radius-md);width:100%;color:var(--color-text);resize:vertical;transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);background:#040b098a;border:1px solid #70e8d129;padding:.72rem .86rem}.contact-form input:focus,.contact-form textarea:focus{border-color:#70e8d194;box-shadow:0 0 0 3px #70e8d11a}.contact-form__status{color:var(--color-glow);margin:0;font-size:.9rem;font-weight:800}.contact-form__status a{text-underline-offset:.2em;text-decoration:underline}.contact{padding-bottom:var(--space-9)}.contact__grid{gap:var(--space-5);grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:stretch;display:grid}.contact__stack{gap:var(--space-4);align-content:start;display:grid}.contact__panel,.contact__resume-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);background:radial-gradient(circle at 100% 0,#70e8d11f,#0000 42%),#101816b8;border:1px solid #70e8d124;padding:clamp(1.2rem,3vw,1.7rem)}.contact__resume-card{background:radial-gradient(circle at 0 0,#f4c96b21,#0000 45%),linear-gradient(145deg,#142d28d1,#101816db)}.contact__resume-header{gap:var(--space-3);align-items:flex-start;display:flex}.contact__resume-icon{border-radius:var(--radius-md);width:42px;height:42px;color:var(--color-warm);background:#f4c96b1a;border:1px solid #f4c96b47;flex:none;place-items:center;display:inline-grid}.contact__resume-icon svg{font-size:1.35rem}.contact__resume-card h3{margin:0 0 var(--space-2);font-size:1.08rem}.contact__resume-card p{color:var(--color-muted);margin:0;font-size:.94rem}.contact__resume-button{width:100%;margin-top:var(--space-5)}.contact__panel p{margin:0 0 var(--space-5);color:var(--color-muted)}.contact__links{gap:var(--space-3);display:grid}.contact__links a{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);color:var(--color-text);transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);background:#040b096b;border:1px solid #70e8d129;padding:.9rem 1rem;font-weight:800;display:flex;position:relative}.contact__links a:hover,.contact__links a:focus-visible{background:#70e8d113;border-color:#70e8d16b;transform:translateY(-2px);box-shadow:0 0 22px #70e8d114}.contact__links svg{color:var(--color-glow);font-size:1.2rem}@media (width<=820px){.contact__grid{grid-template-columns:1fr}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#040b09;--color-surface:#101816;--color-surface-soft:#142d28;--color-forest:#244f46;--color-emerald:#296f61;--color-jade:#338d7a;--color-mint:#3bae95;--color-cyan:#40d1b3;--color-glow:#70e8d1;--color-text:#f2fff9;--color-muted:#a9c9bf;--color-line:#70e8d133;--color-warm:#f4c96b;--font-main:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--shadow-glow:0 0 28px #40d1b333;--shadow-card:0 18px 60px #0000003d;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.18s;--duration-base:.26s;--duration-slow:.7s;--container:min(1040px, calc(100% - 32px))}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-ink)}body{min-width:320px;color:var(--color-text);font-family:var(--font-main);background:radial-gradient(circle at 0 0,#40d1b329,#0000 34rem),linear-gradient(#040b09 0%,#08110f 42%,#0d1513 100%);margin:0;line-height:1.6;overflow-x:hidden}body::selection{color:var(--color-ink);background:var(--color-glow)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%;display:block}[id]{scroll-margin-top:84px}:focus-visible{outline:3px solid var(--color-glow);outline-offset:4px}.app-shell{isolation:isolate;min-height:100vh}.content-surface{z-index:6;background:radial-gradient(circle at 16% 8%,#40d1b31a,#0000 30rem),radial-gradient(circle at 88% 58%,#70e8d114,#0000 34rem),linear-gradient(#06100e 0%,#081310 42%,#07100e 100%);position:relative}.content-surface:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(#06100e00,#06100ef2 78%);width:100%;height:180px;position:absolute;top:-140px;left:0}.content-surface>.section{z-index:1;position:relative}.content-surface--standalone{min-height:100svh;padding-top:64px}.section{width:var(--container);padding:var(--space-8) 0;margin:0 auto;position:relative}.section-title{max-width:660px;margin-bottom:var(--space-6)}.section-title__eyebrow{gap:var(--space-2);margin:0 0 var(--space-3);color:var(--color-glow);letter-spacing:.14em;text-transform:uppercase;align-items:center;font-size:.72rem;font-weight:800;display:inline-flex}.section-title__eyebrow:before{content:"";background:var(--color-glow);width:32px;height:1px}.section-title h2{letter-spacing:0;margin:0;font-size:clamp(1.8rem,4.8vw,3.8rem);line-height:1.02}.section-title p{max-width:620px;margin:var(--space-4) 0 0;color:var(--color-muted);font-size:clamp(.94rem,1.6vw,1.03rem)}.button{justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;min-height:42px;transition:transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);border:1px solid #0000;border-radius:999px;padding:.68rem 1rem;font-size:.92rem;font-weight:800;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{color:var(--color-ink);background:linear-gradient(135deg, var(--color-glow), var(--color-mint));box-shadow:var(--shadow-glow)}.button--secondary{color:var(--color-text);border-color:var(--color-line);background:#101816bd}.button--ghost{color:var(--color-glow);background:#70e8d10f;border-color:#70e8d12e}.glow-card{--glow-card-x:50%;--glow-card-y:30%;--glow-card-accent:var(--color-glow);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);background:linear-gradient(145deg,#142d28e0,#101816e6),#101816db;border:1px solid #70e8d129;position:relative;overflow:hidden}.glow-card:before,.glow-card--interactive:after{z-index:0;content:"";pointer-events:none;position:absolute;inset:0}.glow-card:before{background:radial-gradient(circle at top left, color-mix(in srgb, var(--glow-card-accent) 18%, transparent), transparent 38%);opacity:.85}.glow-card--interactive:after{background:radial-gradient(circle 180px at var(--glow-card-x) var(--glow-card-y), color-mix(in srgb, var(--glow-card-accent) 18%, transparent), transparent 70%), linear-gradient(135deg, color-mix(in srgb, var(--glow-card-accent) 10%, transparent), transparent 44%);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.glow-card>*{z-index:1;position:relative}.glow-card--interactive:focus-within{border-color:color-mix(in srgb, var(--glow-card-accent) 48%, #70e8d133);box-shadow:var(--shadow-card), 0 0 34px color-mix(in srgb, var(--glow-card-accent) 14%, transparent)}.glow-card--interactive:focus-within:after{opacity:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (hover:hover) and (pointer:fine){.glow-card--interactive:hover{border-color:color-mix(in srgb, var(--glow-card-accent) 48%, #70e8d133);box-shadow:var(--shadow-card), 0 0 34px color-mix(in srgb, var(--glow-card-accent) 14%, transparent)}.glow-card--interactive:hover:after{opacity:1}}@media (width<=720px){:root{--container:min(100% - 24px, 1120px)}.section{padding:var(--space-7) 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
