:root{--font-body: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-heading: "Outfit", Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--bg: #050608;--bg-soft: #090c14;--panel: #0d111c;--panel-2: #151d2f;--text: #f1f4fb;--muted: #949cb1;--primary: #86a1ff;--accent: #5983D9;--border: rgba(255, 255, 255, .12);--header-bg: rgba(5, 6, 8, .76);--section-alt: linear-gradient(180deg, #07090f, #06070d);--card-bg: linear-gradient(180deg, #0f1421, #0a0d16);--input-bg: #060a14;--scroll-track: #05070c;--scroll-thumb-start: #374c81;--scroll-thumb-end: #25345a}html[data-theme=light]{--bg: #f3f5fb;--bg-soft: #e9edf7;--panel: #ffffff;--panel-2: #e8ecf8;--text: #0f1220;--muted: #616b84;--primary: #2d3f6f;--accent: #4f6fbe;--border: rgba(17, 24, 39, .12);--header-bg: rgba(243, 245, 251, .76);--section-alt: linear-gradient(180deg, #eef1f8, #e8ecf6);--card-bg: linear-gradient(180deg, #ffffff, #f2f5fd);--input-bg: #ffffff;--scroll-track: #dfe5f2;--scroll-thumb-start: #7f92ba;--scroll-thumb-end: #5f7097}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-body);background:var(--bg);color:var(--text);transition:background-color .25s ease,color .25s ease}html{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb-end) var(--scroll-track)}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:var(--scroll-track)}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--scroll-thumb-start),var(--scroll-thumb-end));border:2px solid var(--scroll-track);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#6a93ea,#3a5fc2)}a{color:inherit;text-decoration:none}.container{width:min(1120px,92vw);margin:0 auto}.nav-actions{display:inline-flex;align-items:center;gap:.75rem}.nav-wrap{display:flex;justify-content:space-between;align-items:center;min-height:70px}.logo{display:inline-flex;align-items:center;font-weight:700;color:color-mix(in srgb,var(--text) 88%,var(--accent))}main>.section{min-height:100vh;display:flex;align-items:center;padding:4rem 0}nav{display:flex;gap:1.2rem}nav a{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.98rem;font-weight:500}.theme-toggle{border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--text);width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;box-shadow:0 10px 18px #00000029;transition:transform .2s ease,border-color .2s ease}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--accent)}nav a:hover{color:var(--text)}.menu-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;opacity:.95}.menu-icon svg{width:.95rem;height:.95rem;display:block}.hero{min-height:100vh;display:flex;align-items:center;padding:4rem 0}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}.eyebrow{color:color-mix(in srgb,var(--text) 70%,var(--accent));font-weight:500;letter-spacing:.1em;font-size:.74rem;text-transform:uppercase}h1{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.2rem);max-width:900px;margin:.6rem 0 1rem;letter-spacing:-.02em;line-height:1.08;font-weight:600}h2{font-family:var(--font-heading);font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1.2rem;letter-spacing:-.015em;font-weight:600}.hero p{color:var(--muted);max-width:760px}.hero-visual{position:relative}.hero-visual:before{content:"";position:absolute;inset:-20px;background:radial-gradient(circle,rgba(89,131,217,.2),transparent 65%);filter:blur(14px);z-index:-1}.dev-svg{width:100%;max-width:820px;transform:scale(1.38);height:auto;animation:floaty 5s ease-in-out infinite}.code-lines rect,.typing-line,.bubble{fill:var(--primary);opacity:.85}.typing-line{transform-origin:left center;animation:typing 1.6s ease-in-out infinite}.section-tagline{color:var(--muted);margin-top:.2rem;margin-bottom:1.4rem;max-width:760px;font-size:1.08rem;line-height:1.6}.typing-line.delay{animation-delay:.6s}.bubble{animation:pulse 2.2s ease-in-out infinite}.bubble.delay{animation-delay:1s}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes typing{0%,to{transform:translate(-6px);opacity:.4}45%,65%{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.hero-actions{display:flex;gap:.8rem;margin-top:1.4rem}.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.74rem 1.15rem;border-radius:999px;border:1px solid var(--border);font-weight:500;font-size:.95rem;line-height:1;transition:transform .2s ease,border-color .2s ease,background .2s ease}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;line-height:1}.btn-icon svg{width:1em;height:1em;display:block}.btn-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 75%,var(--panel)),color-mix(in srgb,var(--panel) 88%,black));border-color:color-mix(in srgb,var(--accent) 50%,var(--border));color:var(--text);box-shadow:inset 0 1px #ffffff0f,0 12px 26px #0000004d}.btn-primary:hover{border-color:var(--accent);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 88%,var(--panel)),color-mix(in srgb,var(--panel) 85%,black));transform:translateY(-1px)}.btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px #5983d959,inset 0 1px #ffffff29}.btn-secondary{background:color-mix(in srgb,var(--panel) 70%,transparent);border-color:var(--border);color:var(--text);box-shadow:none}.btn-secondary:hover{border-color:var(--accent);transform:translateY(-1px)}.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px #4f7cff52,inset 0 1px #ffffff14}.project-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.section.alt{background:var(--section-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.grid{display:grid;gap:1rem}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.testimonials-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:1rem;overflow:hidden}.project-card img{display:block;width:100%;height:190px;object-fit:cover}.card-body{padding:1rem}.meta{color:var(--muted);font-size:.92rem}.content :global(p){color:var(--muted)}.tech-list{margin:.8rem 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}.tech-list li{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:.4rem;background:color-mix(in srgb,var(--panel) 85%,transparent);color:color-mix(in srgb,var(--text) 88%,white)}.tech-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.tech-icon svg{width:18px;height:18px;fill:currentColor}.btn-link{color:#9db6ff;font-weight:600}.testimonial-card{padding:1rem}.testimonial-card header{display:flex;align-items:center;gap:.7rem}.avatar{width:44px;height:44px;border-radius:999px;object-fit:cover}.rating{color:#ffcf58;letter-spacing:.08em}.contact p{color:var(--muted)}.contact{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);grid-template-areas:"copy form";align-items:center;gap:2.4rem}.contact-copy{grid-area:copy;max-width:700px}.contact h2{margin:0}.contact .section-tagline{margin:1rem 0 0;max-width:820px}.contact .section-tagline strong{color:var(--text);font-weight:600}.site-footer{border-top:1px solid var(--border);background:var(--bg-soft);padding:1.4rem 0}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.footer-title{margin:0;font-weight:700}.footer-subtitle{margin:.25rem 0 0;color:var(--muted)}.footer-social{display:inline-flex;align-items:center;gap:.7rem}.footer-social a{width:40px;height:40px;border-radius:999px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text);background:color-mix(in srgb,var(--panel) 85%,transparent);transition:transform .2s ease,border-color .2s ease,color .2s ease}.footer-social a:hover{transform:translateY(-1px);border-color:var(--primary);color:#fff}.footer-social svg{width:18px;height:18px;fill:currentColor}body.modal-open{overflow:hidden}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem}.modal.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background:#050a12b8;backdrop-filter:blur(3px)}.modal-window{position:relative;width:min(920px,95vw);max-height:90vh;background:linear-gradient(180deg,var(--panel),var(--bg-soft));border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 30px 60px #00000073;transform:translateY(8px) scale(.985);opacity:0;transition:transform .18s ease,opacity .18s ease}.modal.is-open .modal-window{transform:translateY(0) scale(1);opacity:1}.modal-titlebar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.55rem .8rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 65%,var(--panel)),color-mix(in srgb,var(--panel) 80%,var(--bg)))}.window-dots{display:inline-flex;gap:.35rem}.dot{width:11px;height:11px;border-radius:999px}.dot.red{background:#ef4444}.dot.yellow{background:#f59e0b}.dot.green{background:#22c55e}.window-title{margin:0;text-align:center;font-size:.92rem;color:#dbe6ff;font-weight:600}.modal-close{border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 85%,transparent);color:var(--text);width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:1.1rem;line-height:1}.modal-content{padding:1rem;overflow-y:auto;max-height:calc(90vh - 52px)}.modal-link{margin:.7rem 0 1rem}.modal-gallery{margin-top:.8rem}.project-swiper{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--bg) 88%,black)}.project-swiper .swiper-slide{aspect-ratio:16 / 9;display:grid;place-items:center}.project-swiper img{width:100%;height:100%;object-fit:cover}.project-swiper-prev,.project-swiper-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:36px;height:36px;border-radius:999px;border:1px solid #3b4869;background:#0a1020b8;color:#fff;cursor:pointer}.project-swiper-prev{left:10px}.project-swiper-next{right:10px}.project-swiper-pagination{position:absolute;left:0;right:0;bottom:10px;z-index:2;text-align:center}.project-swiper-pagination .swiper-pagination-bullet{background:#9eb6ff;opacity:.55}.project-swiper-pagination .swiper-pagination-bullet-active{opacity:1}.site-logo-image{max-height:120px;width:auto;display:block}.logo .logo-light-version{display:none}.logo .logo-dark-version{display:block}html[data-theme=light] .logo .logo-dark-version{display:none}html[data-theme=light] .logo .logo-light-version{display:block}.hidden{display:none}@media(max-width:780px){main>.section,.hero{min-height:auto;padding:4.2rem 0}.hero-grid{grid-template-columns:1fr}.contact{grid-template-columns:1fr;grid-template-areas:"copy" "form";gap:1rem}.contact-form-wrapper{justify-self:stretch;max-width:none;padding:1.35rem}nav{display:none}.footer-grid{grid-template-columns:1fr}}.delay-1{animation-delay:0s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.4s}.delay-4{animation-delay:.6s}.delay-5{animation-delay:.8s}.contact-form-wrapper{grid-area:form;justify-self:end;width:100%;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,var(--bg)),color-mix(in srgb,var(--panel) 88%,black));border:1px solid var(--border);border-radius:16px;padding:2rem;margin-top:0;max-width:460px;box-shadow:0 22px 42px #0000005c}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--muted)}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;background:var(--input-bg);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #5983d93d}#submit-btn{background:linear-gradient(180deg,#2f467e,#243763);border-color:#3f5b9f;color:#f2f5ff}#submit-btn:hover{border-color:#5d79bb}.form-response{margin-top:1.5rem;padding:1rem;border-radius:8px;text-align:center;font-weight:500}.form-response.success{background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.form-response.error{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}:root,html[data-theme=dark]{--font-body: "Inter", sans-serif;--font-heading: "Inter", sans-serif;--bg: #131318;--bg-soft: #1b1b21;--panel: #1f1f25;--panel-2: #34343a;--text: #e4e1e9;--muted: #c6c5d3;--primary: #bec6ff;--accent: #9ba8ff;--border: rgba(69, 70, 81, .2);--header-bg: rgba(19, 19, 24, .9)}html[data-theme=light]{--font-body: "Inter", sans-serif;--font-heading: "Inter", sans-serif;--bg: #f2f4fb;--bg-soft: #e8edf8;--panel: #ffffff;--panel-2: #dde4f3;--text: #171a2a;--muted: #6f768d;--primary: #8f9ce3;--accent: #6477c9;--border: rgba(42, 48, 73, .22);--header-bg: rgba(242, 244, 251, .9)}body{font-family:Inter,sans-serif;font-weight:300;background:var(--bg);color:var(--text)}.container{width:min(1440px,92vw)}.site-header{background:var(--header-bg);border-bottom:none}.nav-wrap{min-height:96px}.logo{color:#9ba8ff;font-size:1.25rem;letter-spacing:-.02em;font-weight:300}nav{gap:2.4rem}nav a{color:#9ba8ffb8;font-weight:300}nav a:hover{color:#bec6ff}.menu-icon{display:none}.theme-toggle{width:38px;height:38px;border-radius:0;border:none;background:transparent;color:var(--accent);box-shadow:none;padding:0}.theme-toggle svg{width:16px;height:16px;display:block}.theme-toggle:hover{transform:none;border-color:transparent}.hero{padding:2.2rem 0 4rem}.hero-grid{grid-template-columns:1fr minmax(360px,520px);gap:4rem}.eyebrow{color:#bec6ff;letter-spacing:.2em;font-size:.74rem;font-weight:500}h1{font-family:Inter,sans-serif;font-size:clamp(2.8rem,7vw,6rem);font-weight:300;line-height:1.08;letter-spacing:-.03em;max-width:760px}.accent-italic{color:#bec6ff;font-style:italic}#hero-description{color:#c6c5d3;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.75;max-width:640px}.hero-visual{position:relative;border-radius:.75rem;overflow:visible;background:transparent;min-height:620px}.hero-visual:before{display:none}.hero-actions{gap:1rem}.hero-actions .btn{border-radius:0}.btn{border-radius:0;font-weight:500;padding:.9rem 1.5rem}.btn-primary{background:#aeb4e8;color:#2c3a89;border:none;box-shadow:none}.btn-primary:hover{filter:none;background:#aeb4e8;transform:none}.btn-secondary{background:#23232d;color:#e4e1e9;border:1px solid rgba(69,70,81,.4)}.btn-secondary:hover{background:#23232d;border-color:#45465166;transform:none}main>.section{border:none;padding:5rem 0}.section.alt{background:#1b1b21;border:none}h2{font-family:Inter,sans-serif;font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:300;letter-spacing:-.025em}.section-tagline{color:#90909c;max-width:800px;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2.4rem}.card{background:transparent;border:none}.project-card img{border-radius:.5rem;filter:grayscale(1)}.project-card h3,.testimonial-card h3{font-weight:300;font-size:2.15rem;letter-spacing:-.02em;margin:0}.project-card{cursor:pointer}.project-subtitle{margin:.35rem 0 0;color:#90909c;font-size:1.06rem;font-weight:300}.project-card .card-body{padding:1.2rem 0 0}.content :global(p),.meta{color:#c6c5d3}.tech-list{gap:.75rem}.tech-list li{border-radius:999px;border:.5px solid rgba(69,70,81,.45);background:transparent;padding:.7rem}.testimonial-card{background:#34343a66;backdrop-filter:blur(20px);border:1px solid rgba(69,70,81,.2);border-radius:.75rem;padding:2rem}.contact{grid-template-columns:1fr 1fr;gap:5rem}.contact-copy h2{font-size:clamp(2.4rem,5vw,5rem);line-height:1.06}.contact .section-tagline{font-size:2rem;line-height:1.12;text-transform:none;letter-spacing:0;color:#c6c5d3;max-width:520px;margin:1.6rem 0 0}.contact-email-line{margin:2.1rem 0 0;font-size:2.1rem;line-height:1.2}.contact .contact-email-line strong{color:#bec6ff;font-weight:300}.contact-location{margin:.55rem 0 0;color:#9e9ead;font-size:1.05rem}.contact-form-wrapper{background:#23232d;backdrop-filter:none;border:1px solid rgba(69,70,81,.2);border-radius:.75rem;box-shadow:none;max-width:520px;padding:2.6rem}.form-group label{text-transform:uppercase;letter-spacing:.22em;color:#90909c;font-size:.68rem}.form-group input,.form-group textarea{border:1px solid rgba(69,70,81,.4);border-radius:0;background:transparent;color:#e4e1e9;padding:.9rem 1rem}.form-group input::placeholder,.form-group textarea::placeholder{color:#90909c73}.form-group input:focus,.form-group textarea:focus{border-color:#bec6ff;box-shadow:0 0 0 3px #9ba8ff29}#submit-btn{width:100%;border-radius:0;background:#aeb4e8;color:#2c3a89;border:none;font-size:1.75rem;font-weight:500;padding:1rem 1.2rem}.site-footer{background:#1b1b21;border-top:none;padding:4rem 0}.footer-grid{grid-template-columns:1fr auto auto;align-items:center}.footer-title,.footer-subtitle,.footer-social a{color:#9ba8ff;font-weight:300;font-size:.9rem}.footer-social a{border:none;width:auto;height:auto;border-radius:0;background:transparent;text-decoration:none}.footer-social a:hover{color:#bec6ff;text-decoration:underline;text-underline-offset:.28rem;transform:none}.footer-social svg{display:none}@media(max-width:900px){.hero-grid,.contact{grid-template-columns:1fr}.hero-visual{min-height:420px}.footer-grid{grid-template-columns:1fr;gap:1rem}}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 24;font-size:1.1rem;line-height:1}.section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:2.8rem}.section-meta{color:#90909c;font-size:.76rem;text-transform:uppercase;letter-spacing:.2em}.section-kicker{color:#bec6ff;font-size:.74rem;text-transform:uppercase;letter-spacing:.35em;display:block;margin-bottom:1rem}.projects-grid{margin-top:0;gap:2.8rem}.project-card-offset{padding-top:5.6rem}.project-media{position:relative;border-radius:.5rem;overflow:hidden;background:#131318}.project-media-overlay{position:absolute;inset:0;background:#1313182e}.project-head{display:flex;justify-content:space-between;align-items:start;gap:.8rem}.project-arrow{color:#bec6ff;font-size:1.1rem}.testimonials-track{--testimonial-peek: 24%;margin-top:2rem;display:flex;gap:2.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;scroll-padding-right:var(--testimonial-peek);padding-right:var(--testimonial-peek);padding-bottom:.9rem}.testimonial-card{flex:0 0 calc(100% - var(--testimonial-peek));min-width:calc(100% - var(--testimonial-peek));max-width:calc(100% - var(--testimonial-peek));min-height:560px;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;padding:2.8rem 2.6rem;border-radius:.6rem}.testimonial-quote{margin:0;font-size:clamp(2.2rem,4.8vw,4.1rem);line-height:1.09;font-weight:300;font-style:italic;letter-spacing:-.01em}.testimonial-footer{margin-top:1.4rem;display:flex;align-items:center;gap:1rem}.testimonial-footer .meta{margin-top:.2rem}.testimonials-controls{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.testimonials-nav{width:48px;height:48px;border-radius:999px;border:1px solid rgba(69,70,81,.4);background:transparent;color:#c6c5d3;font-size:1.45rem;line-height:1;cursor:pointer}.testimonials-nav:hover{border-color:#bec6ff73;color:#bec6ff}.avatar{width:56px;height:56px;border-radius:999px;border:1px solid rgba(190,198,255,.2)}.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:#bec6ff;background:#34343a}.contact-form-wrapper .btn-icon{display:none}@media(max-width:900px){.testimonials-track{--testimonial-peek: 0%;padding-right:0}.section-head{align-items:start;flex-direction:column}.project-card-offset{padding-top:0}.testimonial-card{flex:0 0 100%;min-width:100%;max-width:100%;min-height:500px}.contact .section-tagline{font-size:1.4rem}.contact-email-line{font-size:1.6rem}}.site-header .container{width:min(1520px,94vw)}.site-header .nav-wrap{display:flex;align-items:center;justify-content:space-between}.site-header .nav-actions,.site-header nav,.site-header .logo{display:flex;align-items:center}.site-header .site-logo-image{vertical-align:middle}.theme-toggle{width:36px;height:36px}h2{font-size:clamp(2.9rem,4.7vw,4.4rem);letter-spacing:-.03em}.section-meta{font-size:.85rem;letter-spacing:.28em}.btn{border-radius:0;font-size:.92rem;font-weight:500;letter-spacing:.01em;padding:.86rem 1.6rem}.hero-actions .btn-icon{display:none}.projects-grid{gap:2.9rem}.project-media{aspect-ratio:16 / 10}.project-card h3{font-size:2.55rem;line-height:1.05}.project-subtitle{font-size:1.12rem;letter-spacing:.01em}.project-arrow{font-size:1.9rem;line-height:1;opacity:.9}.testimonials-track{gap:2rem;margin-top:1.2rem;scroll-behavior:smooth}.testimonial-card{min-width:min(920px,78vw);min-height:610px;padding:3rem 2.8rem}.testimonial-quote{font-size:clamp(2.7rem,4.8vw,5rem);line-height:1.04}.testimonial-footer h3{font-size:2rem}.testimonial-footer .meta{font-size:1rem}.contact{grid-template-columns:minmax(0,1.05fr) minmax(420px,560px);align-items:start;gap:4.4rem}.contact-copy h2{font-size:clamp(4.2rem,8vw,6.2rem);line-height:.96;letter-spacing:-.045em}.contact .section-tagline{font-size:2.1rem;line-height:1.12;max-width:560px}.contact-email-line{font-size:2.15rem}.contact-location{font-size:1.12rem}.contact-form-wrapper{max-width:560px;padding:2.7rem}.form-group{margin-bottom:1.65rem}.form-group label{font-size:.72rem}.form-group input,.form-group textarea{font-size:1.14rem}#submit-btn{font-size:1.12rem;line-height:1.1;padding:1rem .9rem;text-align:center;display:flex;justify-content:center;align-items:center}html[data-theme=light] nav a{color:#171a2aad}html[data-theme=light] nav a:hover{color:#171a2a}html[data-theme=light] .logo{color:#6477c9}html[data-theme=light] .hero-visual,html[data-theme=light] .section.alt,html[data-theme=light] .site-footer,html[data-theme=light] .contact-form-wrapper,html[data-theme=light] .testimonial-card{background:#e8edf8}html[data-theme=light] .btn-secondary{background:#fff;color:#171a2a;border-color:#2a304938}html[data-theme=light] .btn-primary{background:#8f9ce3;color:#243169}html[data-theme=light] #hero-description,html[data-theme=light] .meta,html[data-theme=light] .project-subtitle,html[data-theme=light] .contact-location,html[data-theme=light] .section-tagline{color:#5a6483}html[data-theme=light] .section-meta{color:#6c7696}html[data-theme=light] .section-kicker{color:#6677c4}html[data-theme=light] #testimonios .testimonial-card{background:#f8faff;border-color:#313e6233;box-shadow:0 10px 22px #25365c0f}html[data-theme=light] #testimonios .testimonial-quote{color:#2b334d}html[data-theme=light] #testimonios .testimonial-card h3{color:#2a324c}html[data-theme=light] #testimonios .testimonial-footer .meta{color:#616b8c!important}html[data-theme=light] .testimonials-nav{background:#ffffffd9;border-color:#414e7757;color:#59658a}html[data-theme=light] .testimonials-nav:hover{background:#6a79c8;border-color:#6a79c8;color:#fff}html[data-theme=light] .site-footer{background:#e3e9f6}html[data-theme=light] .footer-title{color:#2a324c}html[data-theme=light] .footer-subtitle{color:#616b8c}@media(max-width:1100px){.project-card h3{font-size:2.2rem}.testimonial-card{min-width:86vw;min-height:560px}.contact{grid-template-columns:1fr;gap:2rem}.contact-copy h2{font-size:clamp(3rem,9vw,4.8rem)}.contact .section-tagline{font-size:1.45rem;max-width:100%}#submit-btn{font-size:1.45rem}}.theme-toggle{border:none!important;background:transparent!important;box-shadow:none!important}.hero-actions .btn,.hero-actions .btn-primary,.hero-actions .btn-secondary{border-radius:0!important}#submit-btn{font-size:1.02rem!important;font-weight:500!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1.2!important}@media(max-width:1100px){#submit-btn{font-size:1.02rem!important}}.testimonials-track{overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}#testimonios.section{min-height:72vh!important;padding:3.2rem 0!important}#testimonios .testimonials-track{gap:1.25rem!important;margin-top:1rem!important;scroll-snap-type:x mandatory;scroll-padding-left:0;padding-right:0!important}#testimonios .testimonial-card{flex:0 0 calc((100% - 1.25rem)/2)!important;min-width:calc((100% - 1.25rem)/2)!important;max-width:calc((100% - 1.25rem)/2)!important;min-height:360px!important;padding:1.9rem 1.8rem!important;scroll-snap-align:start}#testimonios .testimonial-quote{font-size:clamp(1.15rem,1.9vw,1.8rem)!important;line-height:1.45!important}#testimonios .testimonial-card h3{font-size:1.35rem!important;line-height:1.2!important}#testimonios .testimonial-footer .meta{font-size:.95rem!important}#testimonios img.avatar{width:32px;height:32px;object-fit:cover;filter:grayscale(1) saturate(.9);transform:scale(1);transform-origin:center;transition:filter .45s ease,transform .55s ease}#testimonios .testimonial-card:hover img.avatar,#testimonios .testimonial-card:focus-within img.avatar{filter:grayscale(0) saturate(1.08);transform:scale(1.04)}#testimonios .testimonials-track{overflow-x:hidden!important;scrollbar-width:none}#testimonios .testimonials-track::-webkit-scrollbar{display:none}#testimonios .testimonials-track.is-sliding .testimonial-card{transition:transform .42s ease,opacity .42s ease}@media(max-width:900px){#testimonios .testimonial-card{flex:0 0 100%!important;min-width:100%!important;max-width:100%!important}}#proyectos .projects-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1.5rem!important}#proyectos .project-card-offset{padding-top:0!important}.projects-more-wrap{display:flex;justify-content:center;margin-top:1.2rem}@media(max-width:1200px){#proyectos .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:700px){#proyectos .projects-grid{grid-template-columns:1fr!important}}@media(max-width:900px){#contacto .contact{grid-template-columns:1fr!important;gap:1.25rem!important;align-items:start!important}#contacto .contact-copy,#contacto .contact-form-wrapper{max-width:100%!important;width:100%!important;min-width:0}#contacto .contact-copy h2{font-size:clamp(2.1rem,11vw,3.2rem)!important;line-height:1.04!important;letter-spacing:-.02em!important;margin:0!important}#contacto .section-tagline{font-size:clamp(1.1rem,5.4vw,1.45rem)!important;line-height:1.25!important;max-width:100%!important;margin-top:1rem!important}#contacto .contact-email-line{margin-top:1.2rem!important;font-size:clamp(1.05rem,7.2vw,1.65rem)!important;line-height:1.2!important;max-width:100%!important}#contact-email{display:inline-block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}#contacto .contact-location{font-size:1rem!important;line-height:1.35!important;max-width:100%!important}#contacto .contact-form-wrapper{padding:1.2rem!important}}.modal-window{width:min(1320px,96vw)!important;max-height:92vh!important;border-radius:8px!important;border:1px solid rgba(56,62,79,.65)!important;background:#121621!important;overflow:hidden!important}.modal-content{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(420px,1.08fr);gap:0!important;padding:0!important;overflow:hidden!important;max-height:92vh}.modal-info{padding:2rem 2rem 1.25rem;border-right:1px solid rgba(56,62,79,.55);background:#0f1320}.modal-kicker{margin:0 0 .8rem;text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;font-weight:600;color:#7e8497}.modal-info #project-modal-title{font-size:clamp(2rem,3.7vw,3.45rem);font-weight:300;letter-spacing:-.02em;line-height:1.03;margin:0 0 .9rem}.modal-info #project-modal-description :global(p){font-size:1.12rem;line-height:1.62;color:#d2d4de}.modal-separator{height:1px;background:#2d334580;margin:1.35rem 0 1.1rem}.modal-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.modal-meta-label{margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:#7e8497}.modal-meta-value{margin:0;font-size:1.9rem;line-height:1.15;color:#edf0fb;font-weight:300}.modal-meta-grid .tech-list li{border:none!important;background:transparent!important;padding:0}.modal-meta-grid .tech-icon{width:32px;height:32px}.modal-meta-grid .tech-icon svg{width:32px;height:32px}.modal-media{display:flex;flex-direction:column;gap:.65rem;padding:1rem;background:#252a37}.modal-media-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.modal-gallery-label{margin:0;color:#8a90a2;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600}.project-gallery-layout{display:grid;gap:.75rem}.project-gallery-featured{border:2px solid #9f8bdb;border-radius:0;overflow:hidden;background:#1a2230;aspect-ratio:16 / 11}.project-gallery-featured img{width:100%;height:100%;object-fit:cover;display:block}.project-thumbs-viewport{overflow:hidden}.project-thumbs-track{display:flex;align-items:stretch;gap:12px;transition:transform .35s ease;will-change:transform}.project-thumb-slide{flex:0 0 calc((100% - 12px)/2);max-width:calc((100% - 12px)/2);aspect-ratio:auto;height:132px;border-radius:0;overflow:hidden;background:#1a2230;border:1px solid rgba(70,76,95,.65);opacity:.72;transition:opacity .2s ease}.project-thumb-button{width:100%;height:100%;border:none;background:transparent;padding:0;cursor:pointer}.project-thumb-button.is-active{opacity:1}.project-thumb-button.is-active img{border:1px solid rgba(159,139,219,.85)}.project-thumb-slide img{width:100%;height:100%;object-fit:cover;display:block}.project-thumbs-container{position:relative;width:100%}.project-thumbs-prev,.project-thumbs-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:48px;background:#111723b8;border:1px solid rgba(148,133,213,.9);color:#fff;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer}.project-thumbs-prev{left:20px;transform:translateY(-50%)}.project-thumbs-next{right:20px;transform:translateY(-50%)}.project-thumbs-prev:disabled,.project-thumbs-next:disabled{opacity:.4;cursor:not-allowed}.modal-close{border:none!important;background:transparent!important;width:30px;height:30px;font-size:2rem;line-height:1;font-weight:200!important;font-family:inherit;color:#d9deec;cursor:pointer;padding:0}.modal-link{margin-top:1.2rem}#project-modal-gallery,.project-gallery-layout,.project-thumbs-viewport{overflow:hidden!important}.project-thumbs-track{overflow:visible!important}.modal-content,.modal-window,.modal-media,.modal-info{scrollbar-width:none}.modal-content::-webkit-scrollbar,.modal-window::-webkit-scrollbar,.modal-media::-webkit-scrollbar,.modal-info::-webkit-scrollbar{display:none}@media(max-width:980px){.modal-content{grid-template-columns:1fr;max-height:92vh}.modal-info{border-right:none;border-bottom:1px solid rgba(56,62,79,.55);padding:1.2rem}.modal-media{padding:.9rem}}.project-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) saturate(.9);transform:scale(1) translateY(0);transform-origin:center;transition:transform .55s ease,filter .45s ease;will-change:transform,filter}.project-media-overlay{opacity:1;transition:opacity .45s ease}.project-card:hover .project-media img,.project-card:focus-within .project-media img{filter:grayscale(0) saturate(1.08);transform:scale(1.06) translateY(-1.5%)}.project-card:hover .project-media-overlay,.project-card:focus-within .project-media-overlay{opacity:.08}.hero-visual .dev-svg{width:100%;height:100%;display:block;animation:heroFloat 5.2s ease-in-out infinite}.hero-visual .dev-screen-glow{fill:#7c98eb1f;filter:blur(16px)}.hero-visual .dev-screen-base{fill:#91a6f080}.hero-visual .hero-code-line{stroke:#9fb3ff;stroke-width:5;stroke-linecap:round;stroke-dasharray:260;stroke-dashoffset:260;opacity:.9;animation:codeDraw 2.6s ease-in-out infinite}.hero-visual .hero-code-line.l2{animation-delay:.25s}.hero-visual .hero-code-line.l3{animation-delay:.5s}.hero-visual .hero-code-line.l4{animation-delay:.75s}.hero-visual .hero-code-line.l5{animation-delay:1s}.hero-visual .hero-code-line.l6{animation-delay:1.25s}.hero-visual .hero-code-line.l7{animation-delay:1.5s}.hero-visual .hero-code-line.l8{animation-delay:1.75s}.hero-visual .hero-cursor{fill:#dce5ff;animation:cursorBlink .95s steps(1,end) infinite}.hero-visual .hero-steam{animation:steamRise 3s linear infinite}.hero-visual .steam-delay{animation-delay:1.5s}@keyframes steamRise{0%{transform:translateY(0) scale(1);opacity:0}20%{opacity:.6}80%{opacity:.3}to{transform:translateY(-25px) scale(1.5);opacity:0}}@keyframes codeDraw{0%{stroke-dashoffset:260;opacity:.25}35%,75%{stroke-dashoffset:0;opacity:.95}to{stroke-dashoffset:-60;opacity:.3}}@keyframes cursorBlink{0%,48%{opacity:1}49%,to{opacity:.2}}html,body{max-width:100%;overflow-x:hidden}main,.container,.hero-grid,.hero-visual,.dev-svg,.modal-window,.modal-content{max-width:100%}.menu-toggle{display:none;width:38px;height:38px;border:1px solid var(--border);background:transparent;color:var(--text);align-items:center;justify-content:center;cursor:pointer;padding:0}.menu-toggle svg{width:18px;height:18px;display:block}@media(max-width:900px){.site-header .nav-wrap{position:relative;min-height:72px;padding-top:1rem}.site-header .nav-actions{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem}.site-header #site-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;width:min(92vw,280px);padding:.65rem;background:var(--panel);border:1px solid var(--border);z-index:30;flex-direction:column;gap:.25rem}.site-header #site-menu.is-open{display:flex}.site-header #site-menu a{padding:.7rem .75rem}.site-header .menu-toggle{display:inline-flex}.site-header .theme-toggle{width:38px;height:38px}.site-logo-image{max-height:72px}}.hero-visual .dev-bob{transform-origin:150px 450px;animation:devBob 4s ease-in-out infinite}.hero-visual .dev-arm-front{transform-origin:140px 340px;animation:armType .15s ease-in-out infinite alternate}@keyframes devBob{0%,to{transform:rotate(0)}50%{transform:rotate(1deg) translateY(-2px)}}@keyframes armType{0%{transform:rotate(0)}to{transform:rotate(1deg)}}.hero-visual .dev-bob{transform-origin:center 250px;animation:devBobBack 4.5s ease-in-out infinite}.hero-visual .dev-arm-left{transform-origin:-80px 180px;animation:armTypeLeft .15s ease-in-out infinite alternate}.hero-visual .dev-arm-right{transform-origin:80px 180px;animation:armTypeRight .15s ease-in-out infinite alternate;animation-delay:.1s}@keyframes devBobBack{0%,to{transform:translate(380px,220px) rotate(0)}50%{transform:translate(380px,220px) rotate(.8deg) translateY(-2px)}}@keyframes armTypeLeft{0%{transform:rotate(0)}to{transform:rotate(1deg)}}@keyframes armTypeRight{0%{transform:rotate(0)}to{transform:rotate(-1deg)}}.hero-visual .web-scroll{animation:webScrollAnim 6s ease-in-out infinite alternate}@keyframes webScrollAnim{0%,20%{transform:translateY(0)}80%,to{transform:translateY(-70px)}}@keyframes heroFloat{0%,to{transform:scale(1.5) translateY(0)}50%{transform:scale(1.5) translateY(-7px)}}html[data-theme=light] .accent-italic,html[data-theme=light] .footer-social a,html[data-theme=light] #contact-email{color:#676fa9}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-slide,.swiper-cube-shadow{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top,.swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible{.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color));&.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}&.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto;::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal{.swiper-button-prev,.swiper-button-next,~.swiper-button-prev,~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-button-prev,~.swiper-button-prev,&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-next,~.swiper-button-next,&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-button-prev,~.swiper-button-prev,&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next{::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(0)}}}.swiper-vertical{.swiper-button-prev,.swiper-button-next,~.swiper-button-prev,~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-button-prev,~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto;::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto;::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translateZ(0);z-index:10;&.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>&,&.swiper-pagination-disabled{display:none!important}}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:var(--swiper-pagination-bottom, 8px);top:var(--swiper-pagination-top, auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0;.swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius, 50%);background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2);button&{border:none;margin:0;padding:0;box-shadow:none;appearance:none}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:var(--swiper-pagination-right, 8px);left:var(--swiper-pagination-left, auto);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translate(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:.2s transform,.2s left}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color, inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>&,&.swiper-pagination-horizontal,.swiper-vertical>&.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size, 4px);left:0;top:0}.swiper-vertical>&,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:var(--swiper-pagination-progressbar-size, 4px);height:100%;left:0;top:0}}.swiper-pagination-lock{display:none}
