:root,[data-theme=dark]{--bg-primary:#0a0b0f;--bg-secondary:#111318;--bg-card:#16181e;--bg-elevated:#1c1f28;--text-primary:#f4f5f7;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent:#06b6d4;--accent-hover:#22d3ee;--accent-muted:#06b6d426;--border:#ffffff14;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--shadow:0 4px 24px #00000040;--transition:.2s ease;--hero-overlay:#0a0b0fbf;--hero-overlay-mid:#0a0b0f99;--hero-overlay-bottom:#0a0b0fd9;--page-gutter:clamp(1rem, 4vw, 2rem)}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-card:#fff;--bg-elevated:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent:#0891b2;--accent-hover:#0e7490;--accent-muted:#0891b21f;--border:#00000014;--shadow:0 4px 24px #00000014;--hero-overlay:#f8fafcd1;--hero-overlay-mid:#f8fafcb3;--hero-overlay-bottom:#f8fafce6}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1rem;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}h1,h2,h3,h4{color:var(--text-primary);letter-spacing:-.02em;margin:0;font-weight:700}h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.15}h2{font-size:clamp(1.75rem,3vw,2.25rem)}h3{font-size:1.25rem}p{color:var(--text-secondary);margin:0 0 1rem}p:last-child{margin-bottom:0}a{color:var(--accent);transition:color var(--transition);text-decoration:none}a:hover{color:var(--accent-hover)}section{max-width:1200px;margin:0 auto;padding:clamp(4rem,10vw,6rem) 1.5rem}.section-title{text-align:center;margin-bottom:.5rem}.section-subtitle{text-align:center;max-width:560px;color:var(--text-secondary);margin:0 auto 3rem;font-size:1.0625rem}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:var(--bg-primary)}.btn-primary:hover,.btn-primary:focus{background:var(--accent-hover);color:var(--bg-primary);transform:translateY(-1px);box-shadow:0 8px 24px #06b6d459}.btn-outline{color:var(--accent);border:2px solid var(--accent);background:0 0}.btn-outline:hover,.btn-outline:focus{background:var(--accent-muted);border-color:var(--accent-hover);color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reveal{opacity:0;filter:blur(3px);will-change:transform, opacity, filter;transition:opacity .7s,transform .7s,filter .7s;transform:translateY(14px)}.reveal.is-visible{opacity:1;filter:blur();transform:translateY(0)}.reveal [data-reveal]{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(12px)}.reveal.is-visible [data-reveal]{opacity:1;transform:translateY(0)}.reveal.is-visible [data-reveal][data-reveal-delay="1"]{transition-delay:80ms}.reveal.is-visible [data-reveal][data-reveal-delay="2"]{transition-delay:.16s}.reveal.is-visible [data-reveal][data-reveal-delay="3"]{transition-delay:.24s}.reveal.is-visible [data-reveal][data-reveal-delay="4"]{transition-delay:.32s}.reveal.is-visible [data-reveal][data-reveal-delay="5"]{transition-delay:.4s}@media (prefers-reduced-motion:reduce){.reveal,.reveal [data-reveal]{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}}.hero{flex-direction:column;justify-content:center;min-height:100svh;padding:2rem 1.5rem 4rem;display:flex;position:relative;overflow:hidden}.hero-bg-image{pointer-events:none;background-image:url(https://images.unsplash.com/photo-1498050108023-c5249f4df085?w=1920&q=80);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.hero-bg{background:linear-gradient(to bottom, var(--hero-overlay) 0%, var(--hero-overlay-mid) 50%, var(--hero-overlay-bottom) 100%), radial-gradient(ellipse 80% 50% at 50% -20%, #06b6d440, transparent 50%), radial-gradient(ellipse 60% 40% at 80% 50%, #06b6d414, transparent), radial-gradient(ellipse 50% 30% at 20% 80%, #06b6d40f, transparent);pointer-events:none;position:absolute;inset:0}.nav{z-index:20;padding:1.5rem var(--page-gutter) 0;box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;display:flex;position:absolute;top:0;left:0;right:0}.nav-backdrop{display:none}.nav-toggle{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(12px)saturate(1.25);background:#16181e73;border:1px solid #ffffff1f;justify-content:center;align-items:center;display:none}[data-theme=light] .nav-toggle{background:#fff9;border-color:#0000001a}.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-toggle-icon{background:currentColor;border-radius:999px;width:20px;height:2px;transition:transform .2s,background .2s;display:block;position:relative}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";background:currentColor;border-radius:999px;width:20px;height:2px;transition:transform .2s,top .2s,opacity .2s;position:absolute;left:0}.nav-toggle-icon:before{top:-6px}.nav-toggle-icon:after{top:6px}.nav.is-open .nav-toggle-icon{background:0 0}.nav.is-open .nav-toggle-icon:before{top:0;transform:rotate(45deg)}.nav.is-open .nav-toggle-icon:after{top:0;transform:rotate(-45deg)}.nav-logo{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:.5rem;min-width:0;font-size:1.375rem;font-weight:800;display:flex}.nav-logo:hover{color:var(--accent)}.nav-logo-img{width:auto;height:2rem;display:block}.nav-links{gap:2rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);font-size:.9375rem;font-weight:500}.nav-links a:hover{color:var(--text-primary)}@media (width<=640px){.nav{align-items:flex-start;padding-top:1rem}.nav-logo,.nav-toggle{z-index:10002;position:relative}.nav-toggle{display:inline-flex}.nav-backdrop{z-index:10000;-webkit-backdrop-filter:blur(8px)saturate(1.2);opacity:0;pointer-events:none;background:#02060fb8;transition:opacity .22s;display:block;position:fixed;inset:0}.nav.is-open .nav-backdrop{opacity:1;pointer-events:auto}.nav-links{z-index:10001;padding:5.75rem var(--page-gutter) 2rem;box-shadow:none;opacity:0;visibility:hidden;pointer-events:none;-webkit-overflow-scrolling:touch;background:#0b0f16f7;border:none;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.25rem;margin:0;list-style:none;transition:opacity .22s,transform .22s,visibility .22s;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-8px)}[data-theme=light] .nav-links{background:#f8fafcfa}.nav.is-open .nav-links{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.nav-links li{justify-content:center;align-items:center;padding:.35rem 0;display:flex}.nav-links a{color:var(--text-primary);text-align:center;width:100%;padding:.5rem 0;font-size:1.0625rem;font-weight:600}.nav-links .theme-toggle{margin:.5rem auto 0}}.hero-content{z-index:1;text-align:center;max-width:720px;margin:0 auto;position:relative}.hero-badge{background:var(--accent-muted);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;margin-bottom:1.5rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;animation:.7s ease-out both hero-text-in;display:inline-block}.hero-title{margin-bottom:1.25rem;font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.12;animation:.8s ease-out .15s both hero-text-in;overflow:hidden}.hero-title .highlight{color:var(--accent);animation:.9s ease-out .4s both hero-highlight-in;display:inline-block;position:relative}.hero-desc{color:var(--text-secondary);margin-bottom:2rem;font-size:1.125rem;line-height:1.65;animation:.85s ease-out .5s both hero-text-in}.hero-cta{flex-wrap:wrap;justify-content:center;gap:1rem;animation:.9s ease-out .65s both hero-text-in;display:flex}@keyframes hero-text-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-highlight-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.hero-badge,.hero-title,.hero-title .highlight,.hero-desc,.hero-cta{animation:none}}.hero-scroll{color:var(--text-muted);flex-direction:column;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(to bottom, var(--accent), transparent);border-radius:2px;width:1px;height:40px;animation:2s ease-in-out infinite scroll-pulse}@keyframes scroll-pulse{0%,to{opacity:.4;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}.theme-toggle{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);justify-content:center;align-items:center;display:flex;position:relative}.theme-toggle:hover{background:var(--bg-elevated);border-color:var(--accent);color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle-icon{transition:opacity var(--transition), transform var(--transition);justify-content:center;align-items:center;display:flex;position:absolute}.theme-toggle-sun{opacity:0;transform:rotate(-90deg)scale(.5)}.theme-toggle-moon,[data-theme=light] .theme-toggle-sun{opacity:1;transform:rotate(0)scale(1)}[data-theme=light] .theme-toggle-moon{opacity:0;transform:rotate(90deg)scale(.5)}.services{background:linear-gradient(135deg,#f8fbff,#eef5ff)}[data-theme=dark] .services{background:linear-gradient(135deg, var(--bg-primary), var(--bg-secondary))}.services-row-wrap{justify-content:center;display:flex;position:relative}.services-row{--card-width:min(420px, 86vw);--slide-height:200px;width:min(1200px,92vw);min-width:0;padding:.75rem 0;position:relative;overflow:hidden}.services-track{will-change:transform;align-items:stretch;gap:1.25rem;width:max-content;min-width:min-content;animation:22s linear infinite services-marquee;display:flex;transform:translateZ(0)}[data-theme=dark] .services-track{border-radius:var(--radius-lg);background:linear-gradient(135deg,#1c1f28bf,#11131899)}.services-row:hover .services-track,.services-row:focus-within .services-track{animation-play-state:paused}@media (hover:none){.services-row:hover .services-track{animation-play-state:running}}@keyframes services-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.service-card{width:var(--card-width);box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color var(--transition), transform .28s ease, opacity .28s ease, filter .28s ease;transform-origin:50%;will-change:transform;flex:none;padding:2rem;position:relative;box-shadow:0 18px 60px #00000038}[data-theme=dark] .service-card{background:linear-gradient(135deg, var(--bg-elevated), var(--bg-card))}.services-row.is-focusing .service-card{opacity:.55;filter:blur(2px)}.services-row.is-focusing .service-card.is-active{opacity:1;filter:none}.service-card:hover{box-shadow:var(--shadow);border-color:#06b6d44d;transform:translateY(-4px)scale(1.01)}.service-card.is-active{opacity:1;filter:none;z-index:3;border-color:#06b6d447;transform:translateY(0)scale(1.02)}.service-icon{margin-bottom:1rem;font-size:2rem;line-height:1;display:inline-block}.service-card h3{margin-bottom:.5rem;font-size:1.25rem}.service-card p{color:var(--text-secondary);margin:0;font-size:.9375rem}@media (prefers-reduced-motion:reduce){.service-card{transition:border-color var(--transition)}.services-track{animation:none;transform:none}}@media (width<=640px){.services-row{--card-width:min(320px, 85vw);width:100%;padding-bottom:.5rem;overflow:hidden}.services-track{animation-duration:28s}}@media (width<=640px) and (prefers-reduced-motion:reduce){.services-track{flex-wrap:wrap;justify-content:center;row-gap:1rem;width:100%;max-width:100%;animation:none;transform:none}.service-card{width:min(100%, var(--card-width))}}.projects{background:var(--bg-primary)}.projects-list{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:1.5rem;display:grid}.project-card{perspective:1000px;cursor:pointer;transition:box-shadow var(--transition);border-radius:var(--radius-lg);background:0 0;border:none;height:100%;padding:0;position:relative;overflow:hidden}.project-card:hover .project-card-inner,.project-card.is-flipped .project-card-inner{transform:rotateY(180deg)}.project-card:hover{box-shadow:var(--shadow)}.project-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;display:grid}.project-face{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);backface-visibility:hidden;grid-area:1/1;grid-template-columns:auto 1fr;align-items:start;gap:1rem;height:100%;padding:1.5rem;transition:opacity .3s;display:grid}.project-front{opacity:1}.project-back{opacity:0;transform:rotateY(180deg)}.project-card:hover .project-front,.project-card.is-flipped .project-front{opacity:0}.project-card:hover .project-back,.project-card.is-flipped .project-back{opacity:1}.project-number{color:var(--accent);opacity:.8;font-size:1.5rem;font-weight:800;line-height:1}.project-content{min-width:0}.project-type{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem;font-size:.8125rem;font-weight:600}.project-card h3{margin-bottom:.5rem;font-size:1.375rem}.project-desc{color:var(--text-secondary);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:.9375rem;display:-webkit-box;overflow:hidden}.project-tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.project-tags li{background:var(--accent-muted);color:var(--accent);border-radius:999px;padding:.25rem .75rem;font-size:.8125rem;font-weight:500}.projects-actions{justify-content:center;margin-top:2.5rem;display:flex}@media (width<=900px){.projects-list{grid-template-columns:1fr}}@media (width<=640px){.project-face{grid-template-columns:1fr;gap:1rem}.project-number{font-size:1.25rem}}.contact{background:var(--bg-secondary)}.contact-wrap{max-width:640px;margin:0 auto}.contact-info{margin-bottom:2.5rem}.contact-meta{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;gap:1rem;margin:0;padding:0;font-size:.9375rem;list-style:none;display:flex}.contact-meta li{align-items:center;gap:.5rem;display:flex}.contact-meta li:before{content:"✓";color:var(--accent);font-weight:700}.contact-form{flex-direction:column;gap:1rem;display:flex}.contact-form label{color:var(--text-primary);margin-bottom:-.25rem;font-size:.875rem;font-weight:600}.contact-form input,.contact-form textarea{width:100%;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition);padding:.875rem 1rem;font-size:1rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);outline:none}.contact-form input:disabled,.contact-form textarea:disabled{opacity:.7;cursor:not-allowed}.contact-form textarea{resize:vertical;min-height:120px}.form-error{color:#f87171;margin:0;font-size:.875rem}.form-success{color:#34d399;margin:0;font-size:.9375rem}.btn-submit{align-self:flex-start;margin-top:.5rem}.btn-submit:disabled{opacity:.8;cursor:not-allowed;transform:none}.footer{background:var(--bg-card);border-top:1px solid var(--border);padding:2rem 1.5rem 1.75rem}.footer-inner{max-width:1200px;margin:0 auto}.footer-row{grid-template-columns:minmax(140px,200px) minmax(0,1fr) minmax(160px,240px);align-items:center;gap:1.25rem 1.75rem;display:grid}.footer-col{min-width:0}.footer-col-map{text-align:left}.footer-col-main{text-align:center}.footer-col-contact{text-align:left;justify-self:end;width:100%;max-width:240px}.footer-map-frame{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-primary);width:100%;height:100px;position:relative;overflow:hidden}.footer-map-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.footer-location{color:var(--text-muted);margin:.35rem 0 0;font-size:.6875rem;line-height:1.3}.footer-contact-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.footer-contact-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:.2rem;font-size:.625rem;font-weight:600;display:block}.footer-contact-link{color:var(--text-primary);word-break:break-word;font-size:.8125rem;font-weight:500;line-height:1.35}.footer-contact-link:hover{color:var(--accent)}.footer-brand{margin-bottom:.75rem}.footer-logo{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:1.25rem;font-weight:800;display:inline-flex}.footer-logo-img{width:auto;height:1.75rem;display:block}.footer-brand p{color:var(--text-muted);margin:0;font-size:.875rem}.footer-links{flex-wrap:wrap;justify-content:center;gap:1rem 1.5rem;margin-bottom:.75rem;display:flex}.footer-links a{color:var(--text-secondary);font-size:.875rem;font-weight:500}.footer-links a:hover{color:var(--accent)}.footer-copy{color:var(--text-muted);margin:0;font-size:.75rem}@media (width<=900px){.footer-row{grid-template-columns:1fr 1fr;grid-template-areas:"map contact""main main"}.footer-col-map{grid-area:map}.footer-col-contact{grid-area:contact;justify-self:stretch;max-width:none}.footer-col-main{border-top:1px solid var(--border);grid-area:main;padding-top:.5rem}}@media (width<=560px){.footer{padding:1.5rem 1rem 1.25rem}.footer-row{grid-template-columns:1fr;grid-template-areas:none;gap:1.25rem}.footer-col-map,.footer-col-contact,.footer-col-main{grid-area:auto;justify-self:stretch;max-width:none}.footer-col-map{max-width:280px;margin:0 auto}.footer-col-contact{text-align:center}.footer-contact-list{align-items:center}}.whatsapp-float{color:#fff;z-index:1000;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 20px #25d36680}.whatsapp-float:hover{color:#fff;transform:scale(1.08);box-shadow:0 6px 24px #25d36699}.whatsapp-float:focus-visible{outline-offset:3px;outline:2px solid #25d366}.whatsapp-icon{width:28px;height:28px}.whatsapp-tooltip{white-space:nowrap;background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-sm);opacity:0;pointer-events:none;box-shadow:var(--shadow);padding:.5rem .75rem;font-size:.8125rem;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;right:calc(100% + 12px)}.whatsapp-float:hover .whatsapp-tooltip{opacity:1;transform:translate(0)}@media (width<=480px){.whatsapp-float{width:52px;height:52px;bottom:1rem;right:1rem}.whatsapp-icon{width:26px;height:26px}.whatsapp-tooltip{display:none}}.portfolio-page-root{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.portfolio-page-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.portfolio-page-bg-grid{background-image:linear-gradient(#06b6d408 1px,#0000 1px),linear-gradient(90deg,#06b6d408 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 20%,#000 20%,#0000 70%);mask-image:radial-gradient(80% 60% at 50% 20%,#000 20%,#0000 70%)}[data-theme=light] .portfolio-page-bg-grid{background-image:linear-gradient(#0891b20f 1px,#0000 1px),linear-gradient(90deg,#0891b20f 1px,#0000 1px)}.portfolio-page-bg-orb{filter:blur(80px);opacity:.45;border-radius:50%;animation:18s ease-in-out infinite portfolio-orb-float;position:absolute}.portfolio-page-bg-orb-a{background:radial-gradient(circle,#06b6d459 0%,#0000 70%);width:min(55vw,480px);height:min(55vw,480px);top:-10%;right:-5%}.portfolio-page-bg-orb-b{background:radial-gradient(circle,#6366f138 0%,#0000 70%);width:min(45vw,400px);height:min(45vw,400px);animation-delay:-9s;bottom:10%;left:-8%}[data-theme=light] .portfolio-page-bg-orb{opacity:.55}[data-theme=light] .portfolio-page-bg-orb-a{background:radial-gradient(circle,#0891b233 0%,#0000 70%)}[data-theme=light] .portfolio-page-bg-orb-b{background:radial-gradient(circle,#6366f11f 0%,#0000 70%)}@keyframes portfolio-orb-float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(2%,3%)scale(1.05)}}@media (prefers-reduced-motion:reduce){.portfolio-page-bg-orb{animation:none}}.portfolio-topbar{z-index:2;width:100%;max-width:none;padding:1rem var(--page-gutter);box-sizing:border-box;justify-content:space-between;align-items:center;gap:1rem;margin:0;display:flex;position:relative}.portfolio-topbar-surface{z-index:0;pointer-events:none;-webkit-backdrop-filter:blur(16px)saturate(1.35);background:#16181e8c;border-bottom:1px solid #ffffff14;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0a}[data-theme=light] .portfolio-topbar-surface{background:#ffffffb8;border-bottom-color:#0000000f;box-shadow:inset 0 1px #ffffffe6}.portfolio-topbar-glass{background:0 0}.portfolio-topbar-brand{z-index:1;color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.125rem;font-weight:800;transition:opacity .2s;display:inline-flex;position:relative}.portfolio-topbar-brand:hover{opacity:.9}.portfolio-topbar-logo{width:auto;height:1.5rem}.portfolio-topbar-nav{z-index:1;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;display:flex;position:relative}.topbar-toggle{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(12px)saturate(1.25);background:#16181e59;border:1px solid #ffffff1f;justify-content:center;align-items:center;display:none}[data-theme=light] .topbar-toggle{background:#fff9;border-color:#0000001a}.topbar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar-toggle-icon{background:currentColor;border-radius:999px;width:20px;height:2px;transition:background .2s;display:block;position:relative}.topbar-toggle-icon:before,.topbar-toggle-icon:after{content:"";background:currentColor;border-radius:999px;width:20px;height:2px;transition:transform .2s,top .2s;position:absolute;left:0}.topbar-toggle-icon:before{top:-6px}.topbar-toggle-icon:after{top:6px}.portfolio-topbar-nav.is-open .topbar-toggle-icon{background:0 0}.portfolio-topbar-nav.is-open .topbar-toggle-icon:before{top:0;transform:rotate(45deg)}.portfolio-topbar-nav.is-open .topbar-toggle-icon:after{top:0;transform:rotate(-45deg)}.topbar-menu{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;display:flex}.topbar-menu-backdrop{display:none}.portfolio-topbar-nav a{color:var(--text-secondary);font-size:.9375rem;font-weight:500;transition:color .2s}.portfolio-topbar-nav a:hover{color:var(--accent)}.portfolio-topbar-nav a[aria-current=page]{color:var(--accent);font-weight:600}.portfolio-page{z-index:1;flex:1;padding-bottom:3rem;position:relative}.portfolio-page .project-type{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem;font-size:.8125rem;font-weight:600}.portfolio-page-intro-wrap{padding:2rem var(--page-gutter) 0;box-sizing:border-box}.portfolio-page-intro{box-sizing:border-box;padding:2rem}.portfolio-page-intro.portfolio-intro-hero{box-sizing:border-box;text-align:center;width:100%;max-width:none;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;padding:1.5rem 0 0}.portfolio-intro-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 .75rem;font-size:.75rem;font-weight:700}.portfolio-intro-title{margin-bottom:.75rem}.portfolio-page-lead a{color:var(--accent);font-weight:600}.portfolio-page-lead a:hover{text-decoration:underline}.portfolio-detail-list{width:100%;max-width:min(920px,100%);padding:2rem var(--page-gutter) 0;box-sizing:border-box;flex-direction:column;gap:2.25rem;margin:0 auto;display:flex}.portfolio-tilt-outer{perspective:1200px;perspective-origin:50%}.portfolio-tilt-inner{transform-style:preserve-3d;will-change:transform;transition:transform .22s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.portfolio-tilt-inner{transition:none}}.portfolio-detail-list .portfolio-tilt-outer.reveal{transition-delay:calc(var(--stagger-index,0) * 85ms)}.portfolio-detail-card{border-radius:var(--radius-xl);padding:2rem;transition:border-color .35s,box-shadow .35s;position:relative;overflow:hidden}.portfolio-glass-card{-webkit-backdrop-filter:blur(18px)saturate(1.35);background:linear-gradient(155deg,#1c1f28b8 0%,#16181e73 50%,#1113188c 100%);border:1px solid #ffffff1a;box-shadow:0 8px 32px #00000047,inset 0 0 0 1px #06b6d40f,inset 0 1px #ffffff0f}.portfolio-glass-card:hover{border-color:#06b6d438;box-shadow:0 16px 48px #00000059,inset 0 0 0 1px #06b6d41f,inset 0 1px #ffffff14}[data-theme=light] .portfolio-glass-card{background:linear-gradient(155deg,#ffffffeb 0%,#f8fafcbf 100%);border-color:#00000012;box-shadow:0 8px 32px #0f172a14,inset 0 0 0 1px #0891b20d}[data-theme=light] .portfolio-glass-card:hover{border-color:#0891b233;box-shadow:0 16px 48px #0f172a1a,inset 0 0 0 1px #0891b214}.portfolio-card-shine{pointer-events:none;opacity:.9;background:linear-gradient(125deg,#0000 0%,#ffffff0a 42%,#0000 62%);position:absolute;inset:0}[data-theme=light] .portfolio-card-shine{opacity:.5;background:linear-gradient(125deg,#0000 0%,#ffffffa6 40%,#0000 65%)}.portfolio-detail-head{border-bottom:1px solid #ffffff14;align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex;position:relative}[data-theme=light] .portfolio-detail-head{border-bottom-color:#0000000f}.portfolio-detail-num{color:var(--accent);opacity:.9;text-shadow:0 0 40px #06b6d440;font-size:2rem;font-weight:800;line-height:1}.portfolio-detail-type{margin-bottom:.35rem}.portfolio-detail-title{letter-spacing:-.03em;margin:0;font-size:1.5rem;line-height:1.25}.portfolio-detail-body{color:var(--text-secondary);position:relative}.portfolio-detail-para{margin:0 0 1rem;font-size:1rem;line-height:1.65}.portfolio-detail-para:last-of-type{margin-bottom:1.5rem}.portfolio-detail-subheading{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:1.5rem 0 .75rem;font-size:.8125rem;font-weight:700}.portfolio-detail-subheading:first-of-type{margin-top:0}.portfolio-detail-features{margin:0;padding-left:1.25rem;line-height:1.6}.portfolio-detail-features li{margin-bottom:.5rem}.portfolio-detail-tags{margin-top:.5rem}.portfolio-page .project-tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.portfolio-page .project-tags li{background:var(--accent-muted);color:var(--accent);border:1px solid #06b6d426;border-radius:999px;padding:.35rem .85rem;font-size:.8125rem;font-weight:500;transition:transform .2s,border-color .2s}.portfolio-page .project-tags li:hover{border-color:#06b6d459;transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.portfolio-page .project-tags li:hover{transform:none}}@media (width<=640px){.portfolio-topbar{flex-direction:row;justify-content:space-between;align-items:center}.portfolio-page-root.is-menu-open .portfolio-topbar{z-index:10050}.portfolio-topbar-brand{z-index:10052;position:relative}.portfolio-topbar-nav{z-index:10051;flex-wrap:nowrap;flex:none;justify-content:flex-end;width:auto;position:relative}.topbar-toggle{z-index:10052;margin-left:0;display:inline-flex;position:relative}.topbar-menu-backdrop{z-index:10000;-webkit-backdrop-filter:blur(8px)saturate(1.2);opacity:0;pointer-events:none;background:#02060fb8;transition:opacity .22s;display:block;position:fixed;inset:0}.portfolio-topbar-nav.is-open .topbar-menu-backdrop{opacity:1;pointer-events:auto}.topbar-menu{z-index:10001;width:100%;max-width:none;padding:max(5.75rem, calc(env(safe-area-inset-top,0px) + 4.5rem)) var(--page-gutter) max(2rem, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:none;box-shadow:none;opacity:0;visibility:hidden;pointer-events:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#0b0f16f7;border:none;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.75rem;margin:0;transition:opacity .22s,transform .22s,visibility .22s;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translateY(-8px)}[data-theme=light] .topbar-menu{background:#f8fafcfa}.portfolio-topbar-nav.is-open .topbar-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.topbar-menu .theme-toggle{margin-top:.5rem}.portfolio-topbar-nav a{color:var(--text-primary);text-align:center;width:100%;padding:.35rem 0;font-size:1.0625rem;font-weight:600}.portfolio-detail-card{padding:1.5rem}.portfolio-detail-head{flex-direction:column;gap:.75rem}.portfolio-page-intro.portfolio-intro-hero{padding:1rem 0 0}.portfolio-page-intro-wrap{padding-top:.75rem}}.about-page .about-nav-active{color:var(--accent);font-weight:600}.about-main{padding-bottom:3.5rem}.about-page .portfolio-page-intro.about-hero{text-align:center;width:100%;max-width:none;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin-left:auto;margin-right:auto}.about-hero-lead{max-width:42rem;margin-left:auto;margin-right:auto}.about-content{max-width:min(1200px,100%);padding:0 var(--page-gutter);flex-direction:column;gap:2.5rem;margin:0 auto;display:flex}.about-reveal.reveal{width:100%}.about-trio-cell.reveal{transition-delay:calc(var(--about-stagger,0) * 95ms)}.about-trio .about-trio-card{border-radius:var(--radius-xl);will-change:transform;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .35s;position:relative}.about-trio .about-panel-glass:hover{border-color:#06b6d438;transform:translateY(-6px)scale(1.01);box-shadow:0 20px 48px #00000052,inset 0 0 0 1px #06b6d424}[data-theme=light] .about-trio .about-panel-glass:hover{border-color:#0891b238;box-shadow:0 20px 48px #0f172a1a,inset 0 0 0 1px #0891b21a}.about-trio .about-vision-block{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,border-color .35s;animation:5s ease-in-out infinite about-vision-glow}.about-trio .about-vision-block:hover{border-color:#06b6d46b;animation:none;transform:translateY(-6px)scale(1.01);box-shadow:0 0 72px #06b6d42e,0 20px 52px #0000004d}[data-theme=light] .about-trio .about-vision-block:hover{border-color:#0891b259;box-shadow:0 0 56px #0891b21f,0 20px 48px #0f172a1a}@keyframes about-vision-glow{0%,to{box-shadow:0 0 48px #06b6d40f,0 12px 40px #00000040}50%{box-shadow:0 0 64px #06b6d41f,0 14px 44px #00000047}}[data-theme=light] .about-trio .about-vision-block{animation-name:about-vision-glow-light}@keyframes about-vision-glow-light{0%,to{box-shadow:0 12px 40px #0f172a14}50%{box-shadow:0 0 40px #0891b214,0 14px 44px #0f172a17}}@media (prefers-reduced-motion:reduce){.about-trio-cell.reveal{transition-delay:0s}.about-trio .about-trio-card,.about-trio .about-vision-block{transition:border-color .25s,box-shadow .25s}.about-trio .about-panel-glass:hover,.about-trio .about-vision-block:hover{transform:none}.about-trio .about-vision-block{animation:none}}.about-trio{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1.25rem;width:100%;margin-top:2.5rem;display:grid}.about-trio .about-trio-cell{min-width:0;display:flex}.about-trio .about-trio-cell>.about-trio-card{flex-direction:column;flex:1;min-height:100%;display:flex}.about-trio .about-panel{padding:1.5rem 1.35rem}.about-trio .about-vision-block{padding:1.5rem 1.25rem}.about-trio .about-vision-quote{font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.4}.about-trio .about-vision-support{flex-grow:1;max-width:none;font-size:.9375rem;line-height:1.65}.about-trio .about-prose{flex-grow:1;font-size:.9375rem;line-height:1.65}.about-trio .about-mission-lead{flex-grow:1;font-size:.98rem}@media (width<=960px){.about-trio{grid-template-columns:1fr}.about-trio .about-vision-quote{font-size:clamp(1.35rem,3vw,1.85rem)}.about-trio .about-vision-support{font-size:1rem}.about-trio .about-prose{font-size:1.02rem}.about-trio .about-panel{padding:2rem 2.25rem}.about-trio .about-vision-block{padding:2.5rem 2rem}}.about-section-title{letter-spacing:-.03em;color:var(--text-primary);margin:0 0 1.25rem;font-size:clamp(1.35rem,2.5vw,1.65rem);font-weight:700}.about-panel{border-radius:var(--radius-xl);padding:2rem 2.25rem}.about-panel-glass{-webkit-backdrop-filter:blur(18px)saturate(1.35);background:linear-gradient(155deg,#1c1f28b8 0%,#16181e73 100%);border:1px solid #ffffff1a;box-shadow:0 8px 32px #00000038,inset 0 0 0 1px #06b6d40f}[data-theme=light] .about-panel-glass{background:linear-gradient(155deg,#ffffffeb 0%,#f8fafcd9 100%);border-color:#00000012;box-shadow:0 8px 32px #0f172a0f}.about-prose{color:var(--text-secondary);font-size:1.02rem;line-height:1.75}.about-prose p{margin:0 0 1.15rem}.about-prose p:last-child{margin-bottom:0}.about-prose strong{color:var(--text-primary);font-weight:600}.about-accent-text{color:var(--accent);font-weight:600}.about-vision-block{border-radius:var(--radius-xl);background:linear-gradient(145deg,#06b6d41f 0%,#0000 55%),linear-gradient(155deg,#16181ed9 0%,#111318bf 100%);border:1px solid #06b6d438;padding:2.5rem 2rem;position:relative;overflow:hidden;box-shadow:0 0 60px #06b6d414,0 12px 40px #00000040}[data-theme=light] .about-vision-block{background:linear-gradient(145deg,#0891b21a 0%,#0000 50%),linear-gradient(155deg,#fffffff2 0%,#f1f5f9e6 100%);border-color:#0891b233;box-shadow:0 12px 40px #0f172a14}.about-vision-inner{z-index:1;position:relative}.about-vision-label{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 1rem;font-size:.75rem;font-weight:700}.about-vision-quote{letter-spacing:-.03em;color:var(--text-primary);margin:0 0 1.25rem;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:700;line-height:1.35}.about-vision-support{color:var(--text-secondary);max-width:40rem;margin:0;font-size:1rem;line-height:1.7}.about-mission-lead{color:var(--text-secondary);margin:0;font-size:1.05rem;line-height:1.75}.about-mission-lead strong{color:var(--text-primary)}.about-values-heading{text-align:center}.about-value-grid{grid-template-columns:repeat(2,1fr);gap:1rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}.about-value-card{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);background:linear-gradient(160deg,#1c1f288c 0%,#16181e59 100%);border:1px solid #ffffff14;padding:1.35rem 1.5rem;transition:border-color .3s,box-shadow .3s,transform .3s}.about-value-card:hover{border-color:#06b6d433;transform:translateY(-2px);box-shadow:0 8px 28px #0003}[data-theme=light] .about-value-card{background:#ffffffbf;border-color:#0000000f}[data-theme=light] .about-value-card:hover{border-color:#0891b233;box-shadow:0 8px 28px #0f172a0f}.about-value-title{letter-spacing:-.02em;color:var(--text-primary);margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.about-value-text{color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.6}@media (prefers-reduced-motion:reduce){.about-value-card:hover{transform:none}}.about-process{padding-top:.25rem}.about-step-list{flex-direction:column;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.about-step{border-radius:var(--radius-lg);background:#16181e66;border:1px solid #ffffff14;grid-template-columns:auto 1fr;align-items:flex-start;gap:1.25rem;padding:1.5rem 1.75rem;display:grid}[data-theme=light] .about-step{background:#fff9;border-color:#0000000f}.about-step-num{color:var(--accent);opacity:.9;font-size:1.5rem;font-weight:800;line-height:1}.about-step-title{color:var(--text-primary);margin:0 0 .5rem;font-size:1.125rem;font-weight:700}.about-step-text{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.65}.about-cta{text-align:center;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#06b6d414 0%,#16181e80 100%);border:1px solid #06b6d42e;padding:2.5rem 1.5rem}[data-theme=light] .about-cta{background:linear-gradient(#0891b214 0%,#ffffffd9 100%);border-color:#0891b226}.about-cta-title{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:700}.about-cta-text{color:var(--text-secondary);max-width:28rem;margin:0 auto 1.5rem;font-size:1rem}.about-cta-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.about-cta-btn{min-width:10rem}@media (width<=640px){.about-value-grid{grid-template-columns:1fr}.about-panel{padding:1.5rem 1.35rem}.about-vision-block{padding:1.75rem 1.35rem}.about-step{grid-template-columns:1fr;padding:1.25rem}.about-step-num{font-size:1.25rem}}
