:root{--blanco-puro: #FFFFFF;--gris-claro: #F3F4F6;--gris-plomo: #6B7280;--azul-petroleo: #0B2B3C;--gris-antracita: #2B2D30;--negro-intenso: #000000}.landing-container{font-family:Inter,sans-serif;background-color:var(--gris-claro);color:var(--gris-antracita);overflow-x:clip}.landing-nav{position:fixed;top:0;left:0;width:100%;height:80px;z-index:50;transition:all .5s ease;display:flex;align-items:center;border-bottom:1px solid transparent}.landing-nav.nav-scrolled{background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05)}.nav-content{width:100%;max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:500;color:var(--blanco-puro);transition:color .5s ease}.nav-scrolled .logo{color:var(--negro-intenso)}.logo-text-italic{font-style:italic;font-weight:400;margin:0 6px;font-family:Playfair Display,serif}.nav-links{display:flex;gap:1rem}.nav-links .nav-link{color:var(--blanco-puro);text-decoration:none;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease;border:1px solid rgba(255,255,255,.4);padding:8px 20px;border-radius:50px}.nav-scrolled .nav-links .nav-link{color:var(--negro-intenso);border-color:#0003}.nav-links .nav-link:hover{background-color:#ffffff1a;border-color:var(--blanco-puro)}.nav-scrolled .nav-links .nav-link:hover{background-color:#0000000d;border-color:#00000080}.nav-actions .btn-portal{background:transparent;color:var(--blanco-puro);border:1px solid rgba(255,255,255,.4);padding:8px 24px;border-radius:50px;font-family:Inter,sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .3s ease}.nav-scrolled .nav-actions .btn-portal{color:var(--negro-intenso);border-color:var(--negro-intenso)}.nav-actions .btn-portal:hover{background:var(--blanco-puro);color:var(--negro-intenso)}.nav-scrolled .nav-actions .btn-portal:hover{background:var(--negro-intenso);color:var(--blanco-puro)}.dynamic-logo{position:fixed;z-index:1000;transform:translate(-50%,-50%);--start-width: min(50vw, 280px);--end-width: 80px;--final-left: calc(max(32px, 50vw - 700px + 32px) + 40px) ;width:calc(var(--start-width) * (1 - var(--scroll-progress)) + var(--end-width) * var(--scroll-progress));height:auto;top:calc(45% * (1 - var(--scroll-progress)) + 40px * var(--scroll-progress));left:calc(50% * (1 - var(--scroll-progress)) + var(--final-left) * var(--scroll-progress));will-change:width,top,left,filter;transition:filter .3s ease;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.dynamic-logo.logo-scrolled{filter:brightness(0) saturate(100%) invert(13%) sepia(62%) saturate(2150%) hue-rotate(178deg) brightness(95%) contrast(97%)}.hero-section{position:relative;height:100vh;width:100%;color:var(--blanco-puro)}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}.hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.fog-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,transparent 30%,rgba(200,210,220,.4) 80%,rgba(200,210,220,.8) 100%);pointer-events:none;z-index:3;mix-blend-mode:screen}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;z-index:4}.hero-content-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;display:flex;justify-content:center}.hero-content{position:relative;width:100%;height:100%;text-align:center;max-width:800px;margin:0 auto;padding:0 2rem 15vh 2rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;pointer-events:auto;color:var(--blanco-puro)}.hero-title{font-family:Playfair Display,serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:1.1;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:1rem}.italic-amp{font-style:italic;font-weight:300;color:var(--azul-petroleo)}.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);font-weight:300;letter-spacing:.05em;opacity:.9;margin-bottom:3rem}.scroll-indicator{color:var(--blanco-puro);opacity:.7;animation:bounce 2s infinite;transition:opacity .3s ease;margin-top:2rem}.scroll-indicator:hover{opacity:1}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.quote-section{padding:8rem 2rem;background-color:var(--blanco-puro);text-align:center}.quote-container{max-width:800px;margin:0 auto}.quote-label{display:block;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gris-plomo);margin-bottom:2rem}.quote-text{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.3;color:var(--gris-antracita);margin-bottom:4rem}.about-content{text-align:left;margin-bottom:4rem;display:flex;flex-direction:column;gap:3rem;background:var(--blanco-puro)fff;padding:3rem;border-radius:8px;box-shadow:0 4px 20px #00000008}.about-block h3{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:500;color:var(--azul-petroleo);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.about-block p{font-size:1.05rem;line-height:1.7;color:var(--gris-plomo)}.objectives-block ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.5rem}.objectives-block li{position:relative;padding-left:1.5rem;font-size:1.05rem;line-height:1.7;color:var(--gris-plomo)}.objectives-block li:before{content:"•";position:absolute;left:0;top:0;color:var(--azul-petroleo);font-size:1.5rem;line-height:1.2}.objectives-block strong{color:var(--gris-antracita);font-weight:600}.stats-container{display:flex;justify-content:center;gap:4rem;border-top:1px solid var(--gris-claro);padding-top:3rem}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:3rem;font-weight:300;font-family:Playfair Display,serif;color:var(--azul-petroleo)}.stat-label{font-size:.9rem;color:var(--gris-plomo);text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.portfolio-section{padding:6rem 2rem;background-color:var(--gris-claro)}.portfolio-header{text-align:center;margin-bottom:4rem}.section-title{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:400}.portfolio-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.portfolio-card{background:var(--blanco-puro);display:flex;flex-direction:column;transition:transform .4s ease;overflow:hidden}.portfolio-card:hover{transform:translateY(-10px)}.card-image{width:100%;aspect-ratio:4/5;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.portfolio-card:hover .card-image img{transform:scale(1.05)}.card-content{padding:2rem;display:flex;flex-direction:column;flex-grow:1}.card-content h3{font-size:1.1rem;font-weight:500;letter-spacing:.05em;margin-bottom:.5rem;color:var(--blanco-puro)}.card-content p{color:#ffffffb3;font-size:.9rem;font-family:Playfair Display,serif;font-style:italic;margin-bottom:2rem}.card-btn{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;background:var(--negro-intenso);color:var(--blanco-puro);border:none;padding:12px 24px;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background .3s ease;align-self:flex-start}.card-btn:hover{background:var(--azul-petroleo)}.global-section{padding:8rem 2rem;background-color:var(--blanco-puro)fff;text-align:center}.global-header{margin-bottom:4rem}.countries-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;max-width:1000px;margin:0 auto}.country-button{padding:1rem 2.5rem;border:1px solid var(--gris-claro);border-radius:50px;background-color:var(--gris-claro);color:var(--gris-antracita);font-family:Inter,sans-serif;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.country-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--azul-petroleo);opacity:.85;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:1}.country-button:hover{border-color:var(--azul-petroleo);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.country-button:hover:before{transform:scaleX(1);transform-origin:left}.country-name{position:relative;z-index:2;transition:color .4s ease}.country-button:hover .country-name{color:var(--blanco-puro)}.software-section{padding:8rem 0;background:linear-gradient(135deg,#fdfbfb,#e2e6e9);text-align:center;overflow:hidden;border-top:1px solid var(--gris-claro);border-bottom:1px solid var(--gris-claro)}.software-header{margin-bottom:3rem;padding:0 2rem}.marquee-container{width:100%;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.marquee-content{display:flex;width:max-content;animation:scroll-marquee 20s linear infinite;align-items:center;gap:4rem;padding:0 2rem}.marquee-content:hover{animation-play-state:paused}@keyframes scroll-marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 2rem))}}.software-logo{height:100px;object-fit:contain;filter:grayscale(100%) opacity(40%);transition:filter .3s ease,transform .3s ease}.software-logo:hover{filter:grayscale(0%) opacity(100%);transform:scale(1.1)}.landing-footer{background-color:var(--azul-petroleo);color:var(--blanco-puro);padding:6rem 2rem 2rem;text-align:center}.footer-content{max-width:600px;margin:0 auto 4rem}.footer-content h2{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:400;margin-bottom:2rem}.btn-primary-large{background:#ffffff1a;color:var(--blanco-puro);border:1px solid rgba(255,255,255,.15);padding:16px 40px;border-radius:50px;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease}.btn-primary-large:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-2px)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;font-size:.85rem;color:#ffffff80}.social-btn{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.2);color:var(--blanco-puro);transition:all .3s ease;background-color:#ffffff0d}.social-btn:hover{background-color:var(--blanco-puro);border-color:var(--blanco-puro);color:var(--azul-petroleo);transform:translateY(-3px)}@media (max-width: 768px){.nav-links{display:none}.hero-title{font-size:2.5rem;flex-direction:column;gap:.5rem}.quote-text{font-size:1.8rem}.stats-container{flex-direction:column;gap:2rem}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.portfolio-container{min-height:100vh;background-color:#0f172a;color:#f8fafc;font-family:Inter,Roboto,sans-serif;display:flex;flex-direction:column}.portfolio-header-bar{background-color:#0f172ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.1)}.portfolio-header-content{max-w:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:4rem}.portfolio-logo{font-size:1.25rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.025em}.portfolio-nav{display:flex;gap:1.5rem;align-items:center}.portfolio-nav-link{color:#94a3b8;text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.portfolio-nav-link:hover{color:#fff}.portfolio-btn-login{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.5rem 1rem;border-radius:.375rem;text-decoration:none;font-size:.875rem;font-weight:500;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease}.portfolio-btn-login:hover{transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.portfolio-hero{padding:5rem 2rem;text-align:center;background:radial-gradient(circle at center,#1e293b,#0f172a)}.portfolio-hero-title{font-size:3.5rem;font-weight:800;letter-spacing:-.05em;margin-bottom:1rem;background:linear-gradient(to right,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.portfolio-hero-subtitle{font-size:1.25rem;color:#94a3b8;max-width:42rem;margin:0 auto;line-height:1.6}.portfolio-content{max-width:1200px;margin:0 auto;padding:4rem 2rem;flex-grow:1}.portfolio-loading{display:flex;justify-content:center;align-items:center;height:16rem}.spinner{width:3rem;height:3rem;border:4px solid rgba(59,130,246,.3);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2.5rem}.portfolio-card{background-color:#1e293b;border-radius:1rem;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(255,255,255,.05)}.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}.portfolio-card-image-wrapper{position:relative;height:16rem;overflow:hidden}.portfolio-card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio-card:hover .portfolio-card-img{transform:scale(1.05)}.portfolio-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);opacity:0;transition:opacity .3s ease}.portfolio-card:hover .portfolio-card-overlay{opacity:1}.portfolio-card-content{padding:1.5rem}.portfolio-card-client{font-size:.75rem;font-weight:600;color:#60a5fa;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.portfolio-card-title{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:.75rem}.portfolio-card-desc{font-size:.875rem;color:#cbd5e1;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.portfolio-card-footer{display:flex;align-items:center;font-size:.75rem;color:#64748b;gap:.5rem}:root{--bg-main: #0B0F19;--bg-card: rgba(255, 255, 255, .03);--bg-card-hover: rgba(255, 255, 255, .06);--primary: #6366F1;--primary-hover: #818CF8;--secondary: #10B981;--text-main: #F3F4F6;--text-muted: #9CA3AF;--border-color: rgba(255, 255, 255, .1);--glass-border: 1px solid rgba(255, 255, 255, .05);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 24px;--shadow-glow: 0 0 20px rgba(99, 102, 241, .2);--shadow-glass: 0 8px 32px 0 rgba(0, 0, 0, .37);--font-family: "Outfit", system-ui, -apple-system, sans-serif;--transition-fast: .2s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em}.glass-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-glass);transition:var(--transition-normal)}.glass-card:hover{background:var(--bg-card-hover);border-color:#ffffff1a}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-weight:500;font-family:var(--font-family);cursor:pointer;border:none;transition:var(--transition-normal);font-size:.95rem}.btn-primary{background:linear-gradient(135deg,var(--primary),#4F46E5);color:#fff;box-shadow:0 4px 15px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f166}.btn-secondary{background:#ffffff0d;color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff1a}.input-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.input-group label{font-size:.9rem;color:var(--text-muted)}.input-field{width:100%;padding:12px 16px;background:#0003;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-family);transition:var(--transition-fast);outline:none}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.container{max-width:1200px;margin:0 auto;padding:0 24px}.scroll3d-container{background-color:#000;color:#fff;margin:0;padding:0;overflow-x:hidden}.canvas-container{height:100vh;width:100vw;position:sticky;top:0;left:0;display:flex;justify-content:center;align-items:center;z-index:1}canvas{width:100vw;height:100vh;object-fit:cover}.scroll-content{position:relative;z-index:2;height:400vh;pointer-events:none}.scroll-text{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem;font-weight:700;text-align:center;margin:0;opacity:0;text-shadow:0 4px 20px rgba(0,0,0,.8);font-family:Inter,sans-serif;width:100%}
