@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-700-normal-AF3Rs61n.woff2) format("woff2"),url(/assets/syne-latin-700-normal-Cd-_iCn5.woff) format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-latin-800-normal-EehdNYzx.woff2) format("woff2"),url(/assets/syne-latin-800-normal-BuJcbPcX.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2) format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff) format("woff")}:root,[data-theme=dark]{--bg: #0a0a0c;--bg-elevated: #12121a;--surface: #1a1a24;--text: #f0f0f5;--text-muted: #8a8a9a;--text-muted-strong: #b8b8c6;--accent: #e84d8a;--accent-cta: #8b2045;--accent-rgb: 232, 77, 138;--accent-soft: rgba(232, 77, 138, .15);--services-bg: linear-gradient( 135deg, color-mix(in srgb, var(--accent) 12%, var(--bg)), color-mix(in srgb, var(--accent-secondary) 18%, var(--bg)) );--accent-secondary: #7c5cff;--accent-secondary-rgb: 124, 92, 255;--border: rgba(255, 255, 255, .06);--radius: 12px;--radius-lg: 20px;--font-display: "Syne", sans-serif;--font-body: "Outfit", sans-serif;--scroll-progress: 0;--contact-map-tile-filter: grayscale(1) contrast(1.06) brightness(.96);--contact-map-vignette-opacity: .42;--contact-map-vignette-radial: rgba(255, 255, 255, .07);--contact-map-vignette-line1: rgba(0, 0, 0, .14);--contact-map-vignette-line2: rgba(0, 0, 0, .09);--quick-contact-pill-fg: #ffffff;--quick-contact-pill-bg: #12121a;--quick-contact-pill-border: #5c5c6a}[data-theme=light]{--bg: #f5f5f7;--bg-elevated: #ffffff;--surface: #ffffff;--text: #1a1a1e;--text-muted: #6b6b75;--text-muted-strong: #4a4a54;--accent: #c73d6a;--accent-cta: #9e2450;--accent-rgb: 199, 61, 106;--accent-soft: rgba(199, 61, 106, .12);--services-bg: linear-gradient( 135deg, rgba(var(--accent-rgb), .07), rgba(var(--accent-secondary-rgb), .09) ), var(--bg);--accent-secondary: #5c4cbb;--accent-secondary-rgb: 92, 76, 187;--border: rgba(0, 0, 0, .08);--scroll-progress: 0;--contact-map-tile-filter: grayscale(1) contrast(1.04) brightness(1.02);--contact-map-vignette-opacity: .38;--contact-map-vignette-radial: rgba(0, 0, 0, .06);--contact-map-vignette-line1: rgba(0, 0, 0, .07);--contact-map-vignette-line2: rgba(0, 0, 0, .05);--quick-contact-pill-fg: #0a0a0c;--quick-contact-pill-bg: #ffffff;--quick-contact-pill-border: #a8a8b2}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{scroll-behavior:smooth;overflow-x:hidden;width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.48) var(--bg)}html::-webkit-scrollbar{width:10px;height:10px}html::-webkit-scrollbar-track{background:var(--bg)}html::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.42);border-radius:999px;border:3px solid var(--bg)}html::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.65)}html::-webkit-scrollbar-corner{background:var(--bg)}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;width:100%;position:relative;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);min-height:100vh;min-height:100dvh}h1,h2,h3{font-family:var(--font-display);font-weight:700}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}img{max-width:100%;height:auto;display:block}section{width:100%;max-width:min(1400px,100%);padding:clamp(4rem,10vw,8rem) max(clamp(1rem,4vw,4rem),env(safe-area-inset-right)) clamp(4rem,10vw,8rem) max(clamp(1rem,4vw,4rem),env(safe-area-inset-left));margin:0 auto;overflow-x:hidden}.section-title{font-family:var(--font-body);font-size:clamp(1.5rem,4vw,2.75rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem;line-height:1.2;max-width:100%;overflow-wrap:break-word}.section-subtitle{font-family:var(--font-body);color:var(--text-muted);font-size:clamp(.9rem,1.8vw,1.05rem);line-height:1.5;max-width:min(560px,100%);overflow-wrap:break-word}.app-bg{position:absolute;top:0;left:0;right:0;height:100vh;height:100dvh;z-index:-1;pointer-events:none;--dot-size: 160;--spread: 80;--size: calc(var(--dot-size) * 1px + (var(--scroll-progress, 0) * var(--spread) * 1px));--size2: calc((var(--dot-size) * .7) * 1px + (var(--scroll-progress, 0) * (var(--spread) * .6) * 1px));overflow:hidden}.app-bg-art{position:absolute;inset:0;z-index:1;background-repeat:no-repeat;background-position:center;pointer-events:none;will-change:transform}.app-bg-art-left{background-size:min(34rem,54vw);background-position:max(-14rem,-12vw) 18%;opacity:.34;filter:hue-rotate(-22deg) saturate(1.04) brightness(1.06) blur(1px);transform:rotate(-10deg);animation:app-bg-art-left-float 36s ease-in-out infinite alternate}.app-bg-art-right{background-size:min(34rem,54vw);background-position:calc(100% - max(-12rem,-10vw)) 90%;opacity:.3;filter:hue-rotate(-22deg) saturate(1.04) brightness(1.06) blur(1px);transform:rotate(8deg);animation:app-bg-art-right-float 42s ease-in-out infinite alternate}@media(max-width:767px){.app-bg-art-left,.app-bg-art-right{background-size:min(22rem,60vw)}}.app-bg:before,.app-bg:after{content:"";position:absolute;z-index:0;width:var(--size);height:var(--size);left:-80px;top:-40px;will-change:transform}.app-bg:before{background:radial-gradient(circle at 50% 50%,rgba(var(--accent-rgb),.07) 0%,transparent 55%);background-size:100% 100%}.app-bg:after{width:var(--size2);height:var(--size2);left:50%;top:50%;margin-left:calc(var(--size2) / -2);margin-top:calc(var(--size2) / -2);background:radial-gradient(circle at 50% 50%,rgba(var(--accent-secondary-rgb),.05) 0%,transparent 50%);background-size:100% 100%}@keyframes app-bg-drift-1{0%{transform:translate(-2vw,-2vh) scale(.96)}20%{transform:translate(10vw,6vh) scale(1)}45%{transform:translate(32vw,3vh) scale(1.08)}70%{transform:translate(18vw,16vh) scale(.98)}to{transform:translate(46vw,10vh) scale(1.04)}}@keyframes app-bg-drift-2{0%{transform:translate(0) scale(1)}25%{transform:translate(-10vw,8vh) scale(.92)}55%{transform:translate(8vw,-6vh) scale(1.02)}80%{transform:translate(-20vw,14vh) scale(.96)}to{transform:translate(4vw,20vh) scale(1.05)}}@keyframes app-bg-art-left-float{0%{transform:translate(-1vw,-1vh) rotate(-11deg) scale(.98)}30%{transform:translate(4vw,3vh) rotate(-8deg) scale(1.02)}60%{transform:translate(9vw,10vh) rotate(-12deg) scale(1.05)}to{transform:translate(3vw,15vh) rotate(-7deg) scale(1)}}@keyframes app-bg-art-right-float{0%{transform:translate(0) rotate(8deg) scale(1)}25%{transform:translate(-4vw,4vh) rotate(11deg) scale(.98)}55%{transform:translate(-10vw,-2vh) rotate(6deg) scale(1.03)}to{transform:translate(-6vw,12vh) rotate(10deg) scale(1.05)}}.app{position:relative;z-index:0;min-height:100vh;min-height:100dvh;width:100%;overflow:visible}.app main{width:100%;overflow:visible}.section-anchor{position:absolute;top:0;left:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;width:100%;padding:calc(1rem + env(safe-area-inset-top)) max(clamp(1rem,4vw,2rem),env(safe-area-inset-right)) 1rem max(clamp(1rem,4vw,2rem),env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--bg);border-bottom:1px solid var(--border);transition:background .3s ease,border-color .3s ease}.nav.scrolled{background:var(--bg)}.nav-logo{display:inline-flex;align-items:center;font-family:var(--font-display),var(--font-body),sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:-.02em;color:inherit}.nav-logo .logo-svg{color:var(--accent);flex-shrink:0}.nav-logo .logo-svg-wrap{transition:width .2s ease,margin-right .2s ease}.nav-logo .logo-text{font-family:var(--font-display),var(--font-body),sans-serif;font-weight:800;letter-spacing:-.02em}.nav-logo .logo-letter{display:inline-block}.nav-logo .logo-word-part{white-space:nowrap}@media(max-width:767px){.nav-logo,.nav-logo .logo-text{font-family:var(--font-display),var(--font-body),sans-serif}.nav-logo .logo-svg-wrap{width:34px!important;min-width:34px!important;margin-right:6px!important;opacity:1!important;transform:none!important;overflow:visible!important}.nav-logo .logo-svg{width:34px;height:34px}.nav-logo .logo-text{font-size:1.15rem}}.nav-right{display:flex;align-items:center;gap:.5rem;min-width:0;flex-shrink:0}.nav-actions{display:flex;align-items:center;gap:.5rem}.nav-theme,.nav-lang{width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:1.1rem;border-radius:var(--radius);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease;-webkit-tap-highlight-color:transparent}.nav-theme:hover,.nav-lang:hover{color:var(--accent);border-color:var(--accent)}.nav-lang{font-size:.75rem;font-weight:600}[data-theme=light] .nav-theme,[data-theme=light] .nav-lang{color:#2f3038}.nav-links--desktop{display:none}.nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;padding:0;border:none;background:transparent;color:var(--text);cursor:pointer;border-radius:var(--radius);transition:background .2s ease,color .2s ease;-webkit-tap-highlight-color:transparent}.nav-toggle:hover{background:var(--surface)}.nav--open .nav-toggle{color:var(--accent)}.nav-toggle-bar{display:block;width:24px;height:2px;background:currentColor;border-radius:1px;transition:transform .25s ease,opacity .2s ease;transform-origin:center}.nav--open .nav-toggle-bar:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav--open .nav-toggle-bar:nth-child(2){opacity:0;transform:scaleX(0)}.nav--open .nav-toggle-bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-overlay{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;z-index:999;overflow:hidden;padding:calc(4rem + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.nav-overlay--open{opacity:1;visibility:visible;overflow-y:auto}.nav-overlay .nav-links{list-style:none;margin:0;padding:2rem;text-align:center;width:100%;max-width:320px}.nav-overlay .nav-links li{border-bottom:1px solid var(--border)}.nav-overlay .nav-links li:last-child{border-bottom:none}.nav-overlay .nav-links a{display:block;padding:1rem 1.5rem;font-size:1.35rem;font-weight:600;color:var(--text);transition:color .2s ease,background .2s ease;-webkit-tap-highlight-color:transparent}.nav-overlay .nav-links a:hover,.nav-overlay .nav-links a:focus{color:var(--accent)}@media(min-width:768px){.nav{padding:1.25rem 2rem;background:transparent;border-bottom:none}.nav.scrolled{background:var(--bg);border-bottom:1px solid var(--border)}.nav-logo{font-size:1.5rem}.nav-toggle{display:none}.nav-right{margin-left:auto;gap:2rem}.nav-links--desktop{display:flex;flex-direction:row;align-items:center;gap:clamp(.75rem,2vw,2rem);list-style:none;margin:0;padding:0;min-width:0;flex-wrap:wrap;justify-content:flex-end}.nav-links--desktop a{font-size:clamp(.85rem,1.2vw,.95rem);font-weight:500;color:var(--text-muted);white-space:nowrap;transition:color .2s ease}[data-theme=light] .nav-links--desktop a{color:#2f3038}.nav-links--desktop a:hover{color:var(--accent)}.nav-actions{flex-shrink:0}@media(min-width:1024px){.nav-links--desktop{gap:2rem}}.nav-overlay{display:none}}.hero{min-height:100vh;min-height:100dvh;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:calc(6rem + env(safe-area-inset-top));padding-right:max(clamp(1rem,4vw,2rem),env(safe-area-inset-right));padding-bottom:clamp(2rem,5vw,4rem);padding-left:max(clamp(1rem,4vw,2rem),env(safe-area-inset-left));position:relative;overflow:hidden;isolation:isolate}.hero-video-wrap{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.hero-video-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#08080a85,#08080a61 40%,#08080a94)}[data-theme=light] .hero-video-wrap:after{background:linear-gradient(180deg,#f5f5f794,#f5f5f775 40%,#f5f5f79e)}.hero-video{width:100%;height:100%;object-fit:cover;object-position:center}.hero-content{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;align-items:center}.hero-content:before{content:"";position:absolute;inset:-1.5rem -1rem;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(6,6,8,.5) 0%,rgba(6,6,8,.28) 45%,rgba(6,6,8,.06) 75%,transparent 100%);filter:blur(8px)}[data-theme=light] .hero-content:before{background:radial-gradient(ellipse at center,rgba(255,255,255,.78) 0%,rgba(255,255,255,.54) 45%,rgba(255,255,255,.2) 75%,transparent 100%)}[data-theme=light] .hero-desc{color:#2f3038}.hero-quick-contact{margin-top:1.25rem}[data-theme=light] .nav:not(.scrolled) .nav-logo,[data-theme=light] .nav:not(.scrolled) .nav-links--desktop a,[data-theme=light] .nav:not(.scrolled) .nav-theme,[data-theme=light] .nav:not(.scrolled) .nav-lang{text-shadow:0 1px 10px rgba(255,255,255,.42)}.hero-badge{display:inline-block;padding:.35rem .9rem;background:var(--accent-soft);color:var(--accent);border-radius:100px;font-size:.8rem;font-weight:600;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-body)}.hero-title{font-family:var(--font-body);font-size:clamp(1.5rem,5vw,3.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:1.25rem;max-width:min(42rem,100%);overflow-wrap:break-word;word-wrap:break-word;text-align:center}.hero-title-brand-prefix{color:var(--text)}.hero-title-brand-name{background:linear-gradient(135deg,var(--accent),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title-brand-line{white-space:nowrap}.hero-typewriter-cursor{background:none!important;-webkit-text-fill-color:var(--accent)!important;color:var(--accent);font-weight:700;animation:hero-cursor-blink .7s step-end infinite}@keyframes hero-cursor-blink{50%{opacity:0}}.hero-desc{font-family:var(--font-body);font-size:clamp(.95rem,2vw,1.1rem);line-height:1.55;color:var(--text-muted);max-width:min(38rem,100%);margin-bottom:2rem;overflow-wrap:break-word;text-align:center}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem}.hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;background:var(--accent-cta);color:#fff;border:2px solid transparent;border-radius:var(--radius);font-weight:600;font-size:1rem;transition:transform .2s ease,box-shadow .2s ease;align-self:center}.hero-cta:focus-visible{outline:2px solid currentColor;outline-offset:3px}.hero-cta-secondary{background:transparent;color:var(--text);border-color:rgba(var(--accent-rgb),.35)}@media(max-width:767px){.app-bg-art-left,.app-bg-art-right{background-size:min(24rem,82vw);opacity:.22}.app-bg-art-left{background-position:-9rem 20%}.app-bg-art-right{background-position:calc(100% + 8rem) 85%}.hero .hero-actions{width:100%;flex-direction:column;align-items:center}.hero .hero-cta{max-width:20rem;margin:0 auto;width:100%}}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px #e84d8a59}[data-theme=light] .app-bg-art-left,[data-theme=light] .app-bg-art-right{opacity:.18}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center;width:100%;max-width:100%}.about-inner>*{min-width:0}@media(max-width:900px){.about-inner{grid-template-columns:1fr}}.about-visual-wrap,.about-content,.service-card,.projects-filters,.projects-swiper,.contact-form{transform-origin:50% 50%}.about-visual-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;background:linear-gradient(145deg,var(--surface) 0%,var(--bg-elevated) 100%);border:1px solid var(--border)}.about-visual{width:100%;height:100%;padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:center;gap:1.25rem}.about-visual-title{font-family:var(--font-display);font-weight:600;font-size:clamp(1rem,2vw,1.15rem);color:var(--text);text-transform:uppercase;letter-spacing:.04em}.about-visual-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.about-visual-list li{position:relative;padding-left:1.25rem;color:var(--text-muted);font-size:1rem;line-height:1.4}.about-visual-list li:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.about-content p{color:var(--text-muted);margin-bottom:1.25rem;font-size:1.05rem}.about-icons-intro{margin-top:2rem;margin-bottom:1rem;font-size:.95rem;color:var(--text-muted)}.tech-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1.25rem;margin-top:1rem}.tech-icon-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 0 rgba(var(--accent-rgb),0);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.tech-icon-item:hover{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.08);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.12),0 0 18px rgba(var(--accent-rgb),.18),0 0 36px rgba(var(--accent-rgb),.08);transform:translateY(-2px)}.tech-icon{width:32px;height:32px;color:var(--text-muted);flex-shrink:0;transition:color .2s ease,filter .2s ease}.tech-icon-item:hover .tech-icon{color:var(--accent);filter:drop-shadow(0 0 10px rgba(var(--accent-rgb),.26))}.tech-icon-label{font-size:.8rem;color:var(--text-muted);text-align:center;transition:color .2s ease}.tech-icon-item:hover .tech-icon-label{color:var(--text)}section.services{overflow-x:visible;overflow-y:visible}.services{position:relative;isolation:isolate}.services:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;max-width:100vw;transform:translate(-50%);background:var(--services-bg);z-index:0;pointer-events:none}.services>:not(.services-drawable-bg){position:relative;z-index:1}.services-drawable-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.services-corner-logo-wrap{position:absolute;right:-9.5rem;bottom:-9rem;width:min(34rem,40vw);aspect-ratio:1;opacity:.28;mix-blend-mode:screen;filter:drop-shadow(0 0 22px rgba(var(--accent-rgb),.18)) drop-shadow(0 0 44px rgba(var(--accent-rgb),.1))}.services-corner-logo-shape{color:rgb(var(--accent-rgb))}.services-corner-logo-line{fill:none;stroke:rgba(var(--accent-rgb),.62)}.services-corner-logo-motion{width:100%;height:100%;display:block;overflow:visible}.services-corner-logo-track{fill:none;stroke:transparent}.services-corner-logo-circle{stroke-width:4}.services-corner-logo-t{stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:2rem;margin-top:3rem;width:100%;max-width:100%}.service-card--bleed{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 0 rgba(var(--accent-rgb),0);transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.service-card--bleed:hover{border-color:rgba(var(--accent-rgb),.28);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.08),0 12px 32px #0000001f,0 0 24px rgba(var(--accent-rgb),.08);transform:translateY(-3px)}[data-theme=light] .service-card--bleed:hover{box-shadow:0 0 0 1px rgba(var(--accent-rgb),.1),0 12px 28px #0c101c14,0 0 20px rgba(var(--accent-rgb),.06)}.service-card__media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 9;overflow:hidden;isolation:isolate;transition:filter .35s ease}.service-card--bleed:hover .service-card__media{filter:brightness(1.06)}.service-card__media:before,.service-card__media:after{content:"";position:absolute;inset:0;pointer-events:none}.service-card__media-icon{position:relative;z-index:1;width:2.75rem;height:2.75rem;color:var(--accent);filter:drop-shadow(0 2px 12px rgba(var(--accent-rgb),.35));transition:transform .35s ease}.service-card--bleed:hover .service-card__media-icon{transform:scale(1.08)}.service-card__media--web{background:linear-gradient(145deg,var(--bg-elevated),var(--surface))}.service-card__media--web:before{background:radial-gradient(ellipse 70% 60% at 18% 22%,rgba(var(--accent-rgb),.38),transparent 58%),radial-gradient(ellipse 55% 45% at 88% 78%,rgba(var(--accent-secondary-rgb),.28),transparent 52%)}.service-card__media--web:after{background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.18));opacity:.5}.service-card__media--motion:before{background-image:radial-gradient(circle,rgba(var(--accent-rgb),.22) 1px,transparent 1px);background-size:16px 16px;opacity:.55}.service-card__media--motion{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 14%,var(--bg-elevated)),var(--surface))}.service-card__media--motion:after{background:radial-gradient(circle at 75% 25%,rgba(var(--accent-secondary-rgb),.35),transparent 45%)}.service-card__media--perf:before{background:linear-gradient(135deg,transparent 42%,rgba(var(--accent-secondary-rgb),.12) 42%,rgba(var(--accent-secondary-rgb),.12) 44%,transparent 44%),linear-gradient(135deg,transparent 58%,rgba(var(--accent-rgb),.1) 58%,rgba(var(--accent-rgb),.1) 60%,transparent 60%);opacity:.9}.service-card__media--perf{background:linear-gradient(120deg,var(--bg-elevated) 0%,color-mix(in srgb,var(--accent-secondary) 10%,var(--surface)) 100%)}.service-card__media--perf:after{background:radial-gradient(ellipse 80% 50% at 50% 100%,rgba(var(--accent-rgb),.2),transparent 65%)}.service-card__media--tech{background:var(--bg-elevated)}.service-card__media--tech:before{background:linear-gradient(90deg,rgba(var(--accent-rgb),.22) 0%,rgba(var(--accent-secondary-rgb),.16) 45%,transparent 85%)}.service-card__media--tech:after{background:radial-gradient(circle at 80% 20%,rgba(var(--accent-secondary-rgb),.25),transparent 40%)}.service-card__media--prestashop:before{background:conic-gradient(from 210deg at 30% 40%,rgba(var(--accent-rgb),.25),transparent 55%),conic-gradient(from 20deg at 75% 65%,rgba(var(--accent-secondary-rgb),.2),transparent 50%)}.service-card__media--prestashop{background:linear-gradient(165deg,var(--surface),var(--bg-elevated))}.service-card__media--symfony:before{background-image:linear-gradient(rgba(var(--accent-rgb),.08) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--accent-rgb),.08) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,black 0%,transparent 100%);mask-image:linear-gradient(180deg,black 0%,transparent 100%)}.service-card__media--symfony{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-secondary) 12%,var(--bg-elevated)),var(--surface))}.service-card__media--symfony:after{background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(var(--accent-secondary-rgb),.3),transparent 70%)}.service-card__media--support:before{background:radial-gradient(ellipse 90% 70% at 50% 110%,rgba(var(--accent-rgb),.28),transparent 62%)}.service-card__media--support{background:linear-gradient(145deg,var(--bg-elevated),color-mix(in srgb,var(--accent) 6%,var(--surface)))}.service-card__media--support:after{background:radial-gradient(circle at 20% 30%,rgba(var(--accent-secondary-rgb),.18),transparent 45%)}[data-theme=light] .service-card__media--web:before{opacity:.75}[data-theme=light] .service-card__media--motion:before{opacity:.4}.service-card__body{flex:1;padding:1.35rem 1.5rem .5rem}.service-card__title{font-size:1.15rem;font-weight:600;line-height:1.3;margin-bottom:.65rem}.service-card__text{color:var(--text-muted);font-size:.92rem;line-height:1.62}.service-card__footer{padding:.85rem 1.5rem 1.2rem;margin-top:auto;border-top:1px solid var(--border)}.service-card__tag{font-size:.78rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.service-card__tag:before{content:"";display:inline-block;width:.45rem;height:.45rem;margin-right:.45rem;border-radius:50%;background:var(--accent);vertical-align:.05em;box-shadow:0 0 8px rgba(var(--accent-rgb),.45)}.service-card-flip-scene{perspective:1400px;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0;border:none;background:transparent;box-shadow:none;transform:none;cursor:inherit}.service-card-flip-scene:hover,.service-card-flip-scene.is-flipped:hover{transform:none;border-color:transparent;box-shadow:none;cursor:inherit}.service-card-flip-scene:not(.is-flipped):hover .service-card-flip-face--front{border-color:rgba(var(--accent-rgb),.28);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.08),0 12px 32px #0000001f,0 0 24px rgba(var(--accent-rgb),.08);transform:translateY(-3px)}[data-theme=light] .service-card-flip-scene:not(.is-flipped):hover .service-card-flip-face--front{box-shadow:0 0 0 1px rgba(var(--accent-rgb),.1),0 12px 28px #0c101c14,0 0 20px rgba(var(--accent-rgb),.06)}.service-card-flip-inner{position:relative;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .75s cubic-bezier(.4,.2,.2,1);min-height:100%}.service-card-flip-scene.is-flipped .service-card-flip-inner{transform:rotateY(180deg)}.service-card-flip-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}.service-card-flip-face--front{display:flex;flex-direction:column;min-height:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.service-card-flip-scene.is-flipped .service-card-flip-face--front{transform:none}.service-card-flip-face--back{position:absolute;inset:0;transform:rotateY(180deg) translateZ(1px);border-radius:var(--radius-lg);overflow:hidden}.cms-holo-card{--holo-glow: rgb(var(--accent-secondary-rgb));--holo-glow-alt: rgb(var(--accent-rgb));--holo-gold: #fbbf24;--holo-gold-dark: #f59e0b;--holo-accent: #22d3ee;--holo-accent-deep: #0891b2;--holo-wp: #60a5fa;--holo-text: var(--text);--holo-text-dim: var(--text-muted);--holo-bg: linear-gradient(160deg, #12121a 0%, #0d0d14 100%);--holo-portrait-bg: linear-gradient(180deg, #0a0a12 0%, #15151f 100%);--holo-stat-bg: rgba(255, 255, 255, .03);--holo-stat-border: rgba(255, 255, 255, .08);--holo-skill-bg: rgba(var(--accent-secondary-rgb), .1);--holo-code-bg: rgba(0, 0, 0, .35);--holo-code-border: rgba(34, 211, 238, .35);--holo-badge-border: rgba(255, 255, 255, .12);--holo-holo-mid: rgba(255, 255, 255, .1);--holo-holo-soft: rgba(255, 255, 255, .04);--holo-title-shadow: rgba(var(--accent-secondary-rgb), .45);--holo-cta-text: #0a0a0c;position:relative;height:100%;min-height:100%;background:var(--holo-bg);border-radius:inherit;overflow:hidden;color:var(--holo-text);font-family:var(--font-body)}.cms-holo-card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(160deg,rgba(var(--accent-secondary-rgb),.55),rgba(var(--accent-rgb),.35) 35%,#22d3ee40 60%,rgba(var(--accent-secondary-rgb),.45));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.cms-holo-card__holo{position:absolute;inset:0;z-index:3;background:linear-gradient(125deg,transparent 0%,transparent 40%,rgba(255,255,255,.04) 45%,var(--holo-holo-mid) 50%,var(--holo-holo-soft) 55%,transparent 60%,transparent 100%);background-size:200% 200%;animation:cms-holo-move 6s ease-in-out infinite;pointer-events:none}.cms-holo-card__edge{position:absolute;inset:-1rem;background:radial-gradient(ellipse at 50% 0%,rgba(var(--accent-secondary-rgb),.18) 0%,transparent 50%);pointer-events:none;opacity:.85}.cms-holo-card__inner{position:relative;z-index:1;height:100%;padding:.85rem 1rem 1rem;display:flex;flex-direction:column}.cms-holo-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.cms-holo-card__cost{display:flex;align-items:baseline;gap:.1rem;padding:.2rem .45rem;background:#fbbf2424;border:1px solid rgba(251,191,36,.4);border-radius:.35rem}.cms-holo-card__cost-num{font-size:1.15rem;font-weight:800;color:var(--holo-gold);font-family:var(--font-display)}.cms-holo-card__cost-suffix{font-size:.65rem;font-weight:700;color:var(--holo-gold);font-family:var(--font-display)}.cms-holo-card__type{font-size:.55rem;font-weight:700;letter-spacing:.18em;color:var(--holo-glow);padding:.28rem .55rem;border:1px solid rgba(var(--accent-secondary-rgb),.35);border-radius:.2rem;font-family:var(--font-display)}.cms-holo-card__title{display:block;margin:0 0 .45rem;font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:.12em;text-align:center;color:var(--holo-text);text-shadow:0 0 1.2em var(--holo-title-shadow)}.cms-holo-card__portrait{position:relative;flex:0 0 auto;min-height:5.5rem;background:var(--holo-portrait-bg);border-radius:.45rem;overflow:hidden;margin-bottom:.5rem}.cms-holo-card__portal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4.5rem;height:4.5rem;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-secondary-rgb),.35) 0%,transparent 70%);box-shadow:0 0 2em rgba(var(--accent-secondary-rgb),.35),inset 0 0 2em rgba(var(--accent-rgb),.25);animation:cms-portal-pulse 3s ease-in-out infinite}.cms-holo-card__stack{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.65rem}.cms-holo-card__stack-badge{position:relative;z-index:1;font-size:.85rem;font-weight:800;letter-spacing:.06em;padding:.35rem .55rem;border-radius:.3rem;border:1px solid var(--holo-badge-border);font-family:var(--font-display)}.cms-holo-card__stack-badge--wp{color:var(--holo-wp);background:#60a5fa1f;box-shadow:0 0 12px #60a5fa40}.cms-holo-card__stack-badge--ps{color:var(--holo-accent);background:#22d3ee1a;box-shadow:0 0 12px #22d3ee33}.cms-holo-card__stack-glow{position:absolute;width:6rem;height:2rem;background:radial-gradient(ellipse,rgba(var(--accent-rgb),.35),transparent 70%);filter:blur(4px)}.cms-holo-card__particles i{position:absolute;width:.28rem;height:.28rem;background:var(--holo-glow-alt);border-radius:50%;opacity:.55;box-shadow:0 0 .4em rgba(var(--accent-rgb),.6);animation:cms-soul-float 4s ease-in-out infinite}.cms-holo-card__particles i:nth-child(1){top:58%;left:18%;animation-delay:0s}.cms-holo-card__particles i:nth-child(2){top:68%;left:78%;animation-delay:.8s}.cms-holo-card__particles i:nth-child(3){top:38%;left:12%;animation-delay:1.6s}.cms-holo-card__particles i:nth-child(4){top:52%;left:82%;animation-delay:2.4s}.cms-holo-card__particles i:nth-child(5){top:72%;left:48%;animation-delay:3.2s}.cms-holo-card__stats{display:flex;justify-content:center;gap:.45rem;margin-bottom:.4rem}.cms-holo-card__stat{display:flex;flex-direction:column;align-items:center;padding:.25rem .5rem;background:var(--holo-stat-bg);border:1px solid var(--holo-stat-border);border-radius:.3rem;min-width:2.6rem}.cms-holo-card__stat-label{font-size:.48rem;font-weight:600;letter-spacing:.08em;color:var(--holo-text-dim);font-family:var(--font-display)}.cms-holo-card__stat-val{font-size:.85rem;font-weight:700;color:var(--holo-text);font-family:var(--font-display)}.cms-holo-card__stat:nth-child(3) .cms-holo-card__stat-val{color:var(--holo-gold)}.cms-holo-card__divider{display:flex;align-items:center;gap:.35rem;margin:.25rem 0 .35rem}.cms-holo-card__divider span:first-child,.cms-holo-card__divider span:last-child{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--accent-secondary-rgb),.35),transparent)}.cms-holo-card__divider-star{font-size:.65rem;color:var(--holo-glow);opacity:.7}.cms-holo-card__skill{padding:.45rem .5rem;background:var(--holo-skill-bg);border-left:2px solid rgba(var(--accent-secondary-rgb),.65);border-radius:0 .3rem .3rem 0;margin-bottom:.35rem}.cms-holo-card__skill-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.2rem}.cms-holo-card__skill-name{font-size:.62rem;font-weight:700;letter-spacing:.04em;color:var(--holo-text);font-family:var(--font-display)}.cms-holo-card__skill-tag{font-size:.5rem;font-weight:700;letter-spacing:.06em;color:var(--holo-gold);padding:.12rem .35rem;background:#fbbf2424;border-radius:.2rem;white-space:nowrap}.cms-holo-card__skill-desc{margin:0 0 .35rem;font-size:.58rem;line-height:1.45;color:var(--holo-text-dim);font-family:var(--font-body)}.cms-holo-card__code{display:block;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--holo-accent-deep);padding:.35rem .5rem;background:var(--holo-code-bg);border:1px dashed var(--holo-code-border);border-radius:.25rem;text-align:center}.cms-holo-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.25rem}.cms-holo-card__rarity{display:flex;gap:.18rem}.cms-holo-card__rarity i{width:.38rem;height:.38rem;background:linear-gradient(135deg,var(--holo-gold),var(--holo-gold-dark));border-radius:1px;transform:rotate(45deg);box-shadow:0 0 .3em #fbbf2473}.cms-holo-card__set{font-size:.48rem;color:var(--holo-text-dim);letter-spacing:.06em}.cms-holo-card__cta{display:block;margin-top:.45rem;padding:.45rem .65rem;font-size:.62rem;font-weight:600;text-align:center;text-decoration:none;color:var(--holo-cta-text);background:linear-gradient(135deg,var(--holo-gold),var(--holo-gold-dark));border-radius:.3rem;cursor:pointer;transition:filter .2s ease,transform .2s ease}.cms-holo-card__cta:hover{filter:brightness(1.08);transform:translateY(-1px)}.cms-holo-card__flip-back{display:block;width:100%;margin-top:.35rem;padding:.3rem;font-size:.55rem;font-weight:500;letter-spacing:.04em;color:var(--holo-text-dim);background:transparent;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.cms-holo-card__flip-back:hover{color:var(--holo-text)}@keyframes cms-holo-move{0%,to{background-position:0% 0%}50%{background-position:100% 100%}}@keyframes cms-portal-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.65}50%{transform:translate(-50%,-50%) scale(1.12);opacity:1}}@keyframes cms-soul-float{0%,to{transform:translateY(0) scale(1);opacity:.35}50%{transform:translateY(-.65rem) scale(1.15);opacity:.75}}[data-theme=light] .cms-holo-card{--holo-gold: #b45309;--holo-gold-dark: #92400e;--holo-accent: #0e7490;--holo-accent-deep: #155e75;--holo-wp: #2563eb;--holo-bg: linear-gradient( 160deg, #ffffff 0%, #f4f2fa 48%, #ebe7f6 100% );--holo-portrait-bg: linear-gradient(180deg, #e4dff2 0%, #f3f0fa 100%);--holo-stat-bg: rgba(var(--accent-secondary-rgb), .07);--holo-stat-border: rgba(0, 0, 0, .09);--holo-skill-bg: rgba(var(--accent-secondary-rgb), .08);--holo-code-bg: rgba(var(--accent-secondary-rgb), .07);--holo-code-border: rgba(var(--accent-secondary-rgb), .38);--holo-badge-border: rgba(0, 0, 0, .1);--holo-holo-mid: rgba(255, 255, 255, .55);--holo-holo-soft: rgba(255, 255, 255, .28);--holo-title-shadow: rgba(var(--accent-secondary-rgb), .22);--holo-cta-text: #fff}[data-theme=light] .cms-holo-card:before{background:linear-gradient(160deg,rgba(var(--accent-secondary-rgb),.45),rgba(var(--accent-rgb),.28) 35%,#0e749038 60%,rgba(var(--accent-secondary-rgb),.38))}[data-theme=light] .cms-holo-card__cost{background:#b453091a;border-color:#b4530959}[data-theme=light] .cms-holo-card__stack-badge--wp{background:#2563eb1a;box-shadow:0 0 10px #2563eb2e}[data-theme=light] .cms-holo-card__stack-badge--ps{background:#0e74901a;box-shadow:0 0 10px #0e749029}[data-theme=light] .cms-holo-card__portal{box-shadow:0 0 1.5em rgba(var(--accent-secondary-rgb),.28),inset 0 0 1.5em rgba(var(--accent-rgb),.15)}[data-theme=light] .cms-holo-card__skill-tag{background:#b453091f}[data-theme=light] .cms-holo-card__rarity i{box-shadow:0 0 .3em #b4530959}[data-theme=light] .cms-holo-card__cta{background:linear-gradient(135deg,var(--accent-cta),var(--accent));color:#fff}[data-theme=light] .cms-holo-card__cta:hover{filter:brightness(1.06)}.cms-holo-card--claimed{--holo-holo-mid: rgba(255, 255, 255, .03);--holo-holo-soft: rgba(255, 255, 255, .01)}.cms-holo-card--claimed .cms-holo-card__holo{animation:none;opacity:.35}.cms-holo-card--claimed .cms-holo-card__portal{animation:none;opacity:.45}.cms-holo-card--claimed .cms-holo-card__cost{opacity:.55}.cms-holo-card--claimed .cms-holo-card__type{color:var(--holo-text-dim);border-color:var(--holo-stat-border)}.cms-holo-card--claimed .cms-holo-card__skill{border-left-color:var(--holo-stat-border)}.cms-holo-card__cta--muted{background:transparent;color:var(--holo-text);border:1px solid var(--holo-stat-border)}.cms-holo-card__cta--muted:hover{filter:none;background:var(--holo-stat-bg)}[data-theme=light] .cms-holo-card__cta--muted{color:var(--text);border-color:var(--border)}[data-theme=light] .cms-holo-card__cta--muted:hover{background:rgba(var(--accent-secondary-rgb),.06)}@media(prefers-reduced-motion:reduce){.service-card-flip-inner{transition-duration:.01ms}.cms-holo-card__holo,.cms-holo-card__portal,.cms-holo-card__particles i{animation:none}}@media(max-width:767px){.service-card-flip-scene{perspective:none}.service-card-flip-scene .service-card-flip-inner{transition:opacity .28s ease}.service-card-flip-scene.is-flipped .service-card-flip-inner{transform:none}.service-card-flip-scene .service-card-flip-face--back{position:relative;inset:auto;transform:none;display:none;overflow:visible}.service-card-flip-scene.is-flipped .service-card-flip-face--front{display:none}.service-card-flip-scene.is-flipped .service-card-flip-face--back{display:block;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg)}.service-card-flip-scene.is-flipped .cms-holo-card,.service-card-flip-scene.is-flipped .service-card-flip-face--back{overflow:hidden}.cms-holo-card{height:auto;min-height:0}.cms-holo-card__inner{height:auto;min-height:0;padding:1rem 1.05rem 1.15rem;gap:.15rem}.cms-holo-card__portrait{min-height:4rem;margin-bottom:.65rem}.cms-holo-card__portal{width:3.75rem;height:3.75rem}.cms-holo-card__title{font-size:1.05rem;margin-bottom:.55rem}.cms-holo-card__type{font-size:.62rem;letter-spacing:.12em}.cms-holo-card__cost-num{font-size:1.05rem}.cms-holo-card__stats{gap:.55rem;margin-bottom:.55rem}.cms-holo-card__stat{flex:1;min-width:0;padding:.35rem .4rem}.cms-holo-card__stat-label{font-size:.58rem}.cms-holo-card__stat-val{font-size:.95rem}.cms-holo-card__divider{margin:.35rem 0 .5rem}.cms-holo-card__skill{padding:.65rem .7rem;margin-bottom:.55rem}.cms-holo-card__skill-name{font-size:.72rem}.cms-holo-card__skill-tag{font-size:.62rem}.cms-holo-card__skill-desc{font-size:.75rem;line-height:1.55;margin-bottom:.5rem}.cms-holo-card__code{font-size:.82rem;padding:.55rem .6rem;word-break:break-word}.cms-holo-card__footer{padding-top:.35rem}.cms-holo-card__set{font-size:.58rem}.cms-holo-card__cta{font-size:.8rem;padding:.75rem 1rem;margin-top:.55rem}.cms-holo-card__flip-back{font-size:.72rem;padding:.55rem .35rem .25rem;min-height:2.75rem}}.service-card{min-width:0}.service-icon-wrap{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);border-radius:var(--radius);margin-bottom:1.25rem}.service-icon{width:24px;height:24px;color:var(--accent)}.service-title{font-size:1.2rem;margin-bottom:.75rem}.service-text{color:var(--text-muted);font-size:.95rem;line-height:1.6}@media(max-width:899px){.services-corner-logo-wrap{display:none}}@media(max-width:639px){.services-drawable-bg{display:none}}.projects{overflow-x:hidden}.projects-header{margin-bottom:2rem;min-width:0}.projects-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.projects-filter-btn{padding:.5rem 1rem;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.9rem;font-weight:500;border-radius:100px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.projects-filter-btn:hover{color:var(--accent);border-color:var(--accent)}.projects-filter-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.projects-swiper{padding:1rem 0 3rem;width:100%;max-width:100%;overflow:hidden}.projects-swiper .swiper{overflow:hidden}.projects-swiper .swiper-slide{height:auto}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;height:100%;display:flex;flex-direction:column;min-width:0;transition:border-color .3s ease,transform .3s ease}.project-card:hover{border-color:#e84d8a4d;transform:translateY(-4px)}.project-image-wrap{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:var(--bg-elevated)}.project-image-wrap:after{content:"";position:absolute;inset:auto 0 0;height:38%;pointer-events:none;background:linear-gradient(to top,#080a1252,#080a1200)}.project-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.project-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.project-title{font-size:1.25rem;margin-bottom:.5rem}.project-meta{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.project-desc{font-size:.95rem;color:var(--text-muted);flex:1;margin-bottom:1rem}.project-link{font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;border:none;background:none;cursor:pointer;padding:0;font:inherit}.project-link:hover{text-decoration:underline}.project-modal-backdrop{position:fixed;inset:0;z-index:2000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1rem,env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}.project-modal{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.project-modal-close{position:absolute;top:.75rem;right:.75rem;z-index:2;width:40px;height:40px;border:none;border-radius:50%;background:var(--bg);color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.project-modal-close:hover{background:var(--accent-soft);color:var(--accent)}.project-modal-image-wrap{flex-shrink:0;aspect-ratio:16 / 10;overflow:hidden;background:var(--bg)}.project-modal-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.project-modal-image-wrap .project-modal-gallery{width:100%;height:100%}.project-modal-image-wrap .project-modal-gallery .swiper-slide{height:100%;display:flex;align-items:center;justify-content:center}.project-modal-image-wrap .project-modal-gallery .swiper-button-prev,.project-modal-image-wrap .project-modal-gallery .swiper-button-next{color:var(--text);background:var(--surface);width:40px;height:40px;border-radius:50%;border:1px solid var(--border)}.project-modal-image-wrap .project-modal-gallery .swiper-button-prev:after,.project-modal-image-wrap .project-modal-gallery .swiper-button-next:after{font-size:1rem}.project-modal-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.project-modal-meta{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.project-modal-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;margin:0 0 1rem;line-height:1.3}.project-modal-desc{font-size:.95rem;color:var(--text-muted);line-height:1.6;margin:0 0 1.25rem}.project-modal-link{font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:.35rem}.project-modal-link:hover{text-decoration:underline}.swiper-nav{display:flex;gap:.75rem;margin-top:2rem;justify-content:center}.swiper-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.swiper-btn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.swiper-btn:disabled{opacity:.4;cursor:not-allowed}#about,#offer,#projects,#contact{scroll-margin-top:calc(5rem + env(safe-area-inset-top))}.contact{position:relative;overflow-x:clip;overflow-y:visible;max-width:none;width:100%;margin-left:0;margin-right:0;padding:clamp(4rem,10vw,8rem) max(clamp(1rem,4vw,4rem),env(safe-area-inset-right)) clamp(4rem,10vw,8rem) max(clamp(1rem,4vw,4rem),env(safe-area-inset-left))}.contact.contact--with-map{padding-bottom:0}.contact.contact--with-map .contact-map-bleed{margin-bottom:0}.contact.contact--with-map .contact-map-frame{border-bottom:none}.contact:before{content:"";position:absolute;inset:0 auto 0 50%;width:100vw;margin-left:-50vw;z-index:0;--contact-s: 140px;--contact-c1: rgba(var(--accent-rgb), .12);--contact-c2: rgba(var(--accent-secondary-rgb), .1);--contact-fade: rgba(0, 0, 0, .03);--contact-stripe1: rgba(var(--accent-rgb), .04);--contact-stripe2: rgba(var(--accent-secondary-rgb), .05);--contact-g: transparent 25%, var(--contact-fade) 47%, var(--contact-c1) 53% 147%, var(--contact-c2) 153% 247%, var(--contact-c1) 253% 347%, var(--contact-c2) 353% 447%, var(--contact-c1) 453% 547%, var(--contact-fade) 553%, transparent 575%;--contact-size: calc(25%/3) 6.25% at 50%;background:radial-gradient(var(--contact-size) 100%,var(--contact-g)),radial-gradient(var(--contact-size) 100%,var(--contact-g)) calc(var(--contact-s) / 2) calc(3 * var(--contact-s) / 4),radial-gradient(var(--contact-size) 0,var(--contact-g)) calc(var(--contact-s) / 2) 0,radial-gradient(var(--contact-size) 0,var(--contact-g)) 0 calc(3 * var(--contact-s) / 4),repeating-linear-gradient(90deg,var(--contact-stripe1) calc(25% / -6) calc(25% / 6),var(--contact-stripe2) 0 12.5%);background-size:var(--contact-s) calc(3 * var(--contact-s) / 2);animation:contact-bg-m 4s linear infinite;pointer-events:none}[data-theme=light] .contact:before{--contact-fade: rgba(0, 0, 0, .02);--contact-c1: rgba(var(--accent-rgb), .08);--contact-c2: rgba(var(--accent-secondary-rgb), .06);--contact-stripe1: rgba(var(--accent-rgb), .03);--contact-stripe2: rgba(var(--accent-secondary-rgb), .04)}@keyframes contact-bg-m{to{background-position:var(--contact-s) 0,calc(var(--contact-s) / -2) calc(3 * var(--contact-s) / 4),calc(3 * var(--contact-s) / 2) 0,calc(-1 * var(--contact-s)) calc(3 * var(--contact-s) / 4),0 0}}.contact-inner{position:relative;z-index:1;width:100%;max-width:min(1400px,100%);margin:0 auto;background:var(--bg);padding:18px clamp(2rem,4vw,4rem)}.contact-inner .section-title,.contact-inner .section-subtitle,.contact-inner .contact-wrap{opacity:1;color:var(--text)}.contact-inner .section-subtitle{color:var(--text-muted)}.contact-map-bleed{position:relative;z-index:1;left:50%;width:100vw;max-width:none;margin-left:-50vw;margin-right:0;margin-top:clamp(2rem,5vw,3rem);margin-bottom:clamp(1.5rem,4vw,2.5rem)}.contact-map-frame{position:relative;width:100%;aspect-ratio:21 / 9;min-height:220px;max-height:min(52vh,520px);background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden}.contact-map-frame:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:var(--contact-map-vignette-opacity, .4);background:radial-gradient(ellipse 85% 70% at 50% 42%,var(--contact-map-vignette-radial) 0%,transparent 62%),linear-gradient(195deg,var(--contact-map-vignette-line1) 0%,transparent 42%,var(--contact-map-vignette-line2) 100%);mix-blend-mode:soft-light;transition:opacity .35s ease}.contact-map-leaflet{position:absolute;inset:0;z-index:0;width:100%;height:100%;background:var(--bg)}.contact-map-leaflet.leaflet-container{font-family:var(--font-body),sans-serif}.contact-map-leaflet .leaflet-tile-pane{filter:var(--contact-map-tile-filter);transition:filter .35s ease}.contact-map-leaflet .leaflet-div-icon.contact-map-leaflet-marker{background:transparent;border:none}.contact-map-leaflet-marker-inner{color:var(--accent);line-height:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.contact-map-leaflet .leaflet-popup-content-wrapper{border-radius:var(--radius);padding:.45rem .6rem;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 4px 20px #0003}.contact-map-leaflet .leaflet-popup-tip{background:var(--surface)}.contact-map-popup{margin:0;font-size:.78rem;line-height:1.35}.contact-map-leaflet .leaflet-control-attribution{font-size:.62rem;line-height:1.25;max-width:min(50%,14rem);white-space:normal;background:color-mix(in srgb,var(--surface) 90%,transparent)!important;color:var(--text-muted);border-radius:4px 0 0}.contact-map-leaflet .leaflet-control-attribution a{color:var(--accent)}@media(prefers-reduced-motion:reduce){.contact-map-leaflet .leaflet-tile-pane,.contact-map-frame:after{transition:none}}.contact-map-overlay{position:absolute;left:0;bottom:0;z-index:3;max-width:min(100%,20rem);padding:.45rem .6rem .5rem;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--text);border-top:1px solid var(--border);border-right:1px solid var(--border);border-top-right-radius:var(--radius);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none}.contact-map-overlay-text{margin:0 0 .35rem;font-size:.78rem;line-height:1.35;color:var(--text-muted)}.contact-map-overlay .contact-map-link{display:inline-block;font-size:.78rem;line-height:1.3;color:var(--accent);text-decoration:none;white-space:normal;pointer-events:auto}.contact-map-overlay .contact-map-link:hover{text-decoration:underline;color:var(--accent-secondary)}@media(max-width:767px){.contact-map-frame{aspect-ratio:4 / 3;min-height:200px;max-height:none}.contact-map-overlay{max-width:min(100%,18rem)}}.contact-direct{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.25rem;margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--border)}@media(max-width:767px){.contact-direct{flex-direction:column;align-items:stretch;gap:.75rem}.contact-direct-link{justify-content:center;width:100%;box-sizing:border-box}}.contact-direct-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.contact-direct-link:hover{color:var(--accent)}.contact-direct-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.quick-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1rem}.quick-contact--compact{gap:.5rem 1.25rem}.quick-contact-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.5rem 1rem;border-radius:var(--radius);text-decoration:none;font-size:.9rem;font-weight:500;color:var(--text);border:1px solid var(--border);background:var(--surface);transition:color .2s ease,border-color .2s ease,background .2s ease;-webkit-tap-highlight-color:transparent}.quick-contact-link--phone{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--text)}.quick-contact-link:hover,.quick-contact-link:focus-visible{color:var(--accent);border-color:var(--accent)}.quick-contact-icon{width:1.25rem;height:1.25rem;flex-shrink:0;color:currentColor}.quick-contact-label{word-break:break-word;color:inherit}.quick-contact--compact:not(.quick-contact--pill) .quick-contact-link{min-height:44px;padding:.35rem .65rem;background:transparent;border:none;color:var(--text);font-size:.85rem;font-weight:500}.quick-contact--compact:not(.quick-contact--pill) .quick-contact-link--phone{background:transparent;border:none;color:var(--text)}.quick-contact--compact:not(.quick-contact--pill) .quick-contact-link:hover,.quick-contact--compact:not(.quick-contact--pill) .quick-contact-link:focus-visible{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.contact-direct.quick-contact{margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--border)}.contact-direct.quick-contact .quick-contact-link{background:transparent;border:none;padding:.5rem .75rem;color:var(--text);font-weight:500}.contact-direct.quick-contact .quick-contact-link:hover,.contact-direct.quick-contact .quick-contact-link:focus-visible{color:var(--accent);background:transparent}.footer-quick-contact{margin:0 0 1rem}.nav-overlay-quick-contact{margin-top:2rem;padding:0 2rem 2rem;width:100%;max-width:20rem}@media(max-width:767px){.quick-contact:not(.quick-contact--compact){flex-direction:column;align-items:stretch;width:100%;max-width:20rem;margin-left:auto;margin-right:auto}.quick-contact:not(.quick-contact--compact) .quick-contact-link{width:100%;box-sizing:border-box}.contact-direct.quick-contact{max-width:none}}.contact-wrap{width:100%;max-width:min(640px,100%);margin:0 auto;min-width:0}.contact-travel{margin-top:clamp(1.75rem,4vw,2.5rem);margin-bottom:clamp(2rem,5vw,2.75rem);padding-top:clamp(1.25rem,3vw,1.75rem);padding-bottom:clamp(.25rem,1vw,.5rem);border-top:1px solid var(--border);border-bottom:1px solid var(--border);width:100%;max-width:min(1100px,100%);margin-left:auto;margin-right:auto}.contact-travel-title{font-family:var(--font-display);font-size:clamp(1.15rem,2.5vw,1.35rem);font-weight:700;color:var(--text);margin:0 0 .75rem;letter-spacing:-.02em}.contact-travel-disclaimer{font-size:.82rem;line-height:1.55;color:var(--text-muted);margin:0 0 1.25rem;max-width:62ch}.contact-travel-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.contact-travel-card{display:flex;flex-direction:column;gap:.65rem;padding:1rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box}.contact-travel-route{font-size:.95rem;font-weight:600;color:var(--text);line-height:1.3}.contact-travel-rows{display:flex;flex-direction:column;gap:.35rem}.contact-travel-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.84rem}.contact-travel-label{color:var(--text-muted);flex-shrink:0}.contact-travel-value{color:var(--text);text-align:right;font-variant-numeric:tabular-nums}@media(max-width:479px){.contact-travel-grid{grid-template-columns:1fr}}.contact-travel-or-write{margin:0 auto clamp(1.25rem,3vw,1.75rem);max-width:min(1100px,100%);text-align:center;font-family:var(--font-display);font-size:clamp(1rem,2.2vw,1.2rem);font-weight:600;letter-spacing:.04em;color:var(--text-muted)}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.contact-form-fields{display:flex;flex-direction:column;gap:1.25rem;width:100%}.contact-form label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem;color:var(--text-muted)}.contact-form label.contact-rodo-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:.65rem;width:100%;margin-bottom:0;font-weight:400;cursor:pointer}.contact-form input:not([type=checkbox]):not([type=radio]),.contact-form textarea,.contact-form select{width:100%;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;transition:border-color .2s ease}@media(max-width:767px){.contact-form input:not([type=checkbox]):not([type=radio]),.contact-form textarea,.contact-form select{font-size:16px}}.contact-form input:not([type=checkbox]):not([type=radio]):focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--accent)}.contact-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8a9a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.75rem;cursor:pointer}.contact-form select option{background:var(--surface);color:var(--text)}.contact-form textarea{min-height:140px;resize:vertical}.contact-turnstile{position:relative;z-index:2;min-height:65px;margin:.5rem auto;width:100%;max-width:300px;box-sizing:border-box;display:block;overflow:visible;isolation:isolate}.contact-turnstile iframe{display:block;width:100%!important;max-width:100%!important}@media(max-width:340px){.contact-turnstile{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}}.contact-form button{padding:1rem 2rem;background:var(--accent-cta);color:#fff;border:none;border-radius:var(--radius);font-weight:600;font-size:1rem;margin-top:.5rem;transition:transform .2s ease,box-shadow .2s ease}.contact-form button:hover{transform:translateY(-2px);box-shadow:0 12px 40px #e84d8a59}.contact-form .success,.contact-form .error{padding:1rem;border-radius:var(--radius);font-size:.95rem}.contact-form .success{background:#4caf5026;color:#81c784}.contact-form .error{background:#f4433626;color:#e57373}.contact-rodo-wrap{margin:0 0 1rem}.contact-rodo-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:.65rem;width:100%;margin:0;font-size:.85rem;font-weight:400;color:var(--text-muted);line-height:1.5;cursor:pointer}.contact-form input.contact-rodo-checkbox[type=checkbox]{flex:0 0 auto;width:1.125rem;height:1.125rem;max-width:none;margin:.15rem 0 0;padding:0;background:transparent;border:none;border-radius:0;box-sizing:border-box;accent-color:var(--accent);cursor:pointer}.contact-rodo-copy{flex:1 1 auto;min-width:0}.contact-rodo-link{color:inherit;text-decoration:underline}.contact-rodo-link:hover{text-decoration:none}.contact-brief{margin:.25rem 0 0;padding-top:1.15rem;border-top:1px solid var(--border);font-size:.88rem;line-height:1.55;color:var(--text-muted)}.contact-brief__text{color:var(--text-muted)}.contact-brief__link{font-weight:600;color:var(--accent);text-decoration:none;text-underline-offset:.18em;transition:color .2s ease}.contact-brief__link:hover{color:var(--text);text-decoration:underline}.contact-brief__link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.contact-disclaimer{margin-top:1.25rem;font-size:.8rem;color:var(--text-muted);line-height:1.5}.not-found{min-height:calc(100vh - var(--nav-height, 72px));display:flex;align-items:center;justify-content:center;padding:2rem}.not-found-inner{text-align:center;max-width:28rem}.not-found-code{font-size:clamp(4rem,15vw,8rem);font-weight:700;line-height:1;color:var(--accent);opacity:.4;margin:0 0 .5rem}.not-found-title{font-size:clamp(1.35rem,4vw,1.75rem);margin:0 0 .75rem;line-height:1.2}.not-found-message{color:var(--text-muted);line-height:1.5;margin:0 0 1.5rem}.not-found-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center}.not-found-link{display:inline-block;color:var(--accent);font-weight:600;text-decoration:none}.not-found-link:hover{text-decoration:underline}.not-found-link-primary{padding:.75rem 1.5rem;background:var(--accent-cta);color:#fff;border-radius:var(--radius);text-decoration:none}.not-found-link-primary:hover{text-decoration:none;filter:brightness(1.08)}.page-bottom{position:relative;isolation:isolate;min-height:min(52vh,520px);background:var(--bg)}.page-bottom-inner{position:relative;z-index:1}.page-bottom .footer-smoke{position:absolute;inset:auto 0 0;z-index:0;width:100%;height:min(58vh,560px);min-height:min(42vh,420px);pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(to top,#000 48%,transparent 100%);mask-image:linear-gradient(to top,#000 48%,transparent 100%)}.page-bottom .footer-smoke canvas,.page-bottom .footer-smoke-canvas{display:block;width:100%;height:100%}[data-theme=dark] .page-bottom .footer-smoke canvas,[data-theme=dark] .page-bottom .footer-smoke-canvas,.page-bottom .footer-smoke[data-theme=dark] canvas{background:#000}[data-theme=light] .page-bottom .footer-smoke canvas,[data-theme=light] .page-bottom .footer-smoke-canvas,.page-bottom .footer-smoke[data-theme=light] canvas{background:var(--bg)}.page-bottom .footer-smoke{opacity:1}.footer-smoke--fallback{background:var(--bg)}.footer-smoke--fallback:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:1;background:radial-gradient(ellipse 90% 70% at 50% 108%,rgba(var(--accent-rgb),.07) 0%,transparent 62%),radial-gradient(ellipse 55% 45% at 22% 92%,rgba(28,32,44,.22) 0%,transparent 68%),radial-gradient(ellipse 50% 42% at 78% 94%,rgba(28,32,44,.18) 0%,transparent 65%)}[data-theme=light] .footer-smoke--fallback:before{background:radial-gradient(ellipse 90% 70% at 50% 108%,rgba(var(--accent-rgb),.05) 0%,transparent 62%),radial-gradient(ellipse 55% 45% at 22% 92%,rgba(12,16,28,.06) 0%,transparent 68%),radial-gradient(ellipse 50% 42% at 78% 94%,rgba(12,16,28,.05) 0%,transparent 65%)}[data-theme=dark] .page-bottom .footer-brand-line,[data-theme=dark] .page-bottom .footer-links-row,[data-theme=dark] .page-bottom .faq-question,[data-theme=dark] .page-bottom .section-title,[data-theme=dark] .page-bottom .section-subtitle,[data-theme=dark] .page-bottom .page-cta-title,[data-theme=dark] .page-bottom .page-seo-copy,[data-theme=dark] .page-bottom .article-card-title,[data-theme=dark] .page-bottom .article-card-desc,[data-theme=dark] .page-bottom .template-card-title,[data-theme=dark] .page-bottom .contact-section .section-title,[data-theme=dark] .page-bottom .contact-form label{text-shadow:0 1px 14px rgba(0,0,0,.75)}[data-theme=light] .page-bottom .footer-brand-line,[data-theme=light] .page-bottom .footer-links-row,[data-theme=light] .page-bottom .faq-question,[data-theme=light] .page-bottom .section-title,[data-theme=light] .page-bottom .section-subtitle,[data-theme=light] .page-bottom .page-cta-title,[data-theme=light] .page-bottom .page-seo-copy,[data-theme=light] .page-bottom .article-card-title,[data-theme=light] .page-bottom .article-card-desc,[data-theme=light] .page-bottom .template-card-title,[data-theme=light] .page-bottom .contact-section .section-title,[data-theme=light] .page-bottom .contact-form label{text-shadow:0 1px 10px rgba(255,255,255,.9)}.page-bottom .faq-section.section,.page-bottom .page-main{background:transparent}.page-bottom .page-cta{background:color-mix(in srgb,var(--surface) 88%,transparent)}.page-bottom .page-main{padding-bottom:2rem}.footer{position:relative;min-height:11rem;padding:2rem max(2rem,env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(2rem,env(safe-area-inset-left));text-align:center;border-top:none;color:var(--text);font-size:.85rem;background:transparent}.footer-brand-line{margin:0 0 .85rem;padding:0;font-size:.78rem;line-height:1.45;color:var(--text-muted)}.footer-brand-line .footer-link.footer-brand{font-size:inherit;color:var(--accent)}.footer-at-year,.footer-rights{color:var(--text-muted)}.footer-links-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem 1rem;font-size:.78rem;margin:0;padding:0}.footer a,.footer-link{color:var(--accent);text-decoration:underline;text-underline-offset:.2em}.footer a:hover,.footer-link:hover{text-decoration-thickness:2px}.footer-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:.5rem .75rem;margin:-.25rem 0;background:none;border:none;font:inherit;cursor:pointer}.footer a.footer-link{min-height:44px;padding:.5rem .75rem;margin:-.25rem 0}.footer-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:1500;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;padding:1rem max(1rem,env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 20px #00000026}.cookie-banner-text{margin:0;font-size:.9rem;color:var(--text-muted);max-width:560px}.cookie-banner-link{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.cookie-banner-link:hover{text-decoration:none}.cookie-banner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.cookie-banner-btn{padding:.5rem 1.25rem;background:var(--accent-cta);color:#fff;border:none;border-radius:var(--radius);font-weight:600;font-size:.9rem;cursor:pointer;flex-shrink:0}.cookie-banner-btn:hover{filter:brightness(1.05)}.cookie-banner-btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}.cookie-banner-btn-secondary:hover{filter:none;background:var(--surface-elevated, rgba(0, 0, 0, .04))}.cookie-policy-backdrop{position:fixed;inset:0;z-index:2000;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}.cookie-policy-modal{width:100%;max-width:520px;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 20px 60px #0000004d}.cookie-policy-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.cookie-policy-title{margin:0;font-size:1.25rem;font-weight:700}.cookie-policy-close{width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer}.cookie-policy-close:hover{background:var(--accent-soft);color:var(--accent)}.cookie-policy-body{min-height:0;flex:1 1 auto;padding:1.5rem;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;font-size:.95rem;color:var(--text-muted);line-height:1.6;scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb),.45) var(--surface)}.cookie-policy-body::-webkit-scrollbar{width:8px}.cookie-policy-body::-webkit-scrollbar-track{background:var(--surface);border-radius:999px}.cookie-policy-body::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb),.4);border-radius:999px;border:2px solid var(--surface)}.cookie-policy-body::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb),.62)}.cookie-policy-body p{margin:0 0 1rem}.cookie-policy-body p:last-child{margin-bottom:0}.cookie-policy-links{margin-top:.75rem}.cookie-policy-links p{margin:0 0 .5rem;color:var(--text);font-weight:600}.cookie-policy-links ul{margin:0;padding-left:1.1rem}.cookie-policy-links a{color:var(--accent);text-decoration:underline}.cookie-settings-fab{position:fixed;right:1rem;bottom:1rem;z-index:1900;width:48px;height:48px;border:1.5px solid rgba(var(--accent-rgb),.45);border-radius:999px;background:rgba(var(--accent-rgb),.1);color:var(--accent);box-shadow:0 8px 24px rgba(var(--accent-rgb),.18);display:grid;place-items:center;cursor:pointer}.cookie-settings-fab-icon{display:block;flex-shrink:0}.cookie-settings-fab:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.cookie-settings-fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.horizontal-showcase{max-width:none;padding:0;width:100%;overflow:visible}.horizontal-showcase-intro{padding:clamp(4rem,10vw,8rem) max(clamp(1rem,4vw,4rem),env(safe-area-inset-right)) 2rem max(clamp(1rem,4vw,4rem),env(safe-area-inset-left));max-width:min(1400px,100%);margin:0 auto}.horizontal-showcase-intro .section-subtitle{margin:0}.horizontal-showcase-pin{width:100vw;margin-left:calc(-50vw + 50%);height:100vh;height:100dvh;overflow:hidden;position:relative}.horizontal-showcase-track{display:flex;flex-direction:row;width:calc(var(--showcase-n, 6) * 100vw);height:100%;will-change:transform}.horizontal-showcase-panel{width:100vw;min-width:100vw;height:100%;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:clamp(2rem,5vw,4rem);box-sizing:border-box}.horizontal-showcase-panel-image-wrap{width:100%;max-width:min(720px,90vw);aspect-ratio:16 / 10;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);box-shadow:0 20px 50px #00000040}.horizontal-showcase-panel-image-wrap img{width:100%;height:100%;object-fit:cover}.horizontal-showcase-panel-content{text-align:center;max-width:min(560px,100%)}.horizontal-showcase-panel-meta{display:block;font-size:.85rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}.horizontal-showcase-panel-title{font-size:clamp(1.35rem,3vw,1.75rem);margin:0 0 .5rem;line-height:1.2}.horizontal-showcase-panel-desc{font-size:clamp(.9rem,1.5vw,1rem);color:var(--text-muted);line-height:1.5;margin:0}@media(max-width:767px){.horizontal-showcase-intro{padding-top:2rem;padding-bottom:1rem}.horizontal-showcase-panel{padding:1.25rem;gap:1rem}.horizontal-showcase-panel-image-wrap{width:100%;max-width:min(720px,90vw);height:200px;min-height:200px;aspect-ratio:unset}}.section-inner{width:100%;max-width:min(1400px,100%);margin:0 auto}.faq-section.section{padding-top:calc(5rem + env(safe-area-inset-top));padding-bottom:4rem;padding-left:max(clamp(1rem,4vw,2rem),env(safe-area-inset-left));padding-right:max(clamp(1rem,4vw,2rem),env(safe-area-inset-right))}.faq-intro{margin-bottom:2rem}.faq-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 0 rgba(var(--accent-rgb),0);transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}.faq-item:hover,.faq-item--open{border-color:#e84d8a4d;box-shadow:0 0 0 1px rgba(var(--accent-rgb),.1),0 0 18px rgba(var(--accent-rgb),.14),0 0 36px rgba(var(--accent-rgb),.06)}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.25rem 1.5rem;background:none;border:none;font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--text);text-align:left;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.faq-question:hover{background:rgba(var(--accent-rgb),.08);color:var(--accent)}.faq-question:focus-visible{background:rgba(var(--accent-rgb),.08);color:var(--accent);outline:none;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.18)}.faq-question-text{flex:1;min-width:0}.faq-question-icon{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:400;color:var(--accent)}.faq-answer-wrap{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-item--open .faq-answer-wrap{max-height:40rem}.faq-answer{font-size:.95rem;line-height:1.6;color:var(--text-muted);margin:0;padding:0 1.5rem 1.25rem;padding-top:0}.page-wrapper{width:100%}.page-wrapper--brief{padding-top:calc(4.75rem + env(safe-area-inset-top,0px));padding-left:max(clamp(1rem,4vw,2rem),env(safe-area-inset-left));padding-right:max(clamp(1rem,4vw,2rem),env(safe-area-inset-right));padding-bottom:3rem;max-width:1200px;margin:0 auto;box-sizing:border-box}.page-main{width:100%;padding-top:calc(5rem + env(safe-area-inset-top));padding-bottom:4rem;padding-left:max(clamp(1rem,4vw,2rem),env(safe-area-inset-left));padding-right:max(clamp(1rem,4vw,2rem),env(safe-area-inset-right))}.page-inner{width:100%;max-width:min(1400px,100%);margin:0 auto}.page-title{margin-bottom:1rem}.articles-lead{margin-bottom:2rem}.page-seo-copy{color:var(--text-muted);font-size:.95rem;line-height:1.65}.page-seo-copy p{margin:0 0 1rem}.page-seo-copy p:last-child{margin-bottom:0}.articles-seo-copy{margin-top:-.75rem;margin-bottom:2rem}.templates-seo-copy{margin-bottom:1.5rem;max-width:min(48rem,100%)}.articles-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2rem}.articles-list-item{margin:0}.article-card-link{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:17rem;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;text-decoration:none;transition:border-color .2s ease,background .2s ease}.articles-list-item--reverse .article-card-image-wrap{order:2}.articles-list-item--reverse .article-card-body{order:1}.article-card-link:hover{border-color:#e84d8a4d;background:var(--accent-soft)}.article-card-image-wrap{display:block;min-height:100%;overflow:hidden;background:var(--bg-elevated)}.article-card-image{width:100%;height:100%;min-height:17rem;object-fit:cover;display:block}.article-card-body{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:1.5rem 2rem}.article-card-link .article-card-title,.article-card-link .article-card-desc{padding:0}@media(max-width:767px){.article-card-link{grid-template-columns:1fr;min-height:0}.articles-list-item--reverse .article-card-image-wrap,.articles-list-item--reverse .article-card-body{order:unset}.article-card-image-wrap{aspect-ratio:16 / 9}.article-card-image{min-height:0;aspect-ratio:16 / 9}.article-card-body{padding:1.25rem 1.5rem}}.article-card-title{font-family:var(--font-display);font-weight:600;font-size:1.15rem;margin:0 0 .5rem;color:var(--text)}.article-card-desc{font-size:.95rem;line-height:1.5;color:var(--text-muted);margin:0}.articles-pagination{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.articles-pagination-info{font-size:.95rem;color:var(--text-muted)}.articles-pagination-buttons{display:flex;gap:.75rem}.articles-pagination-btn{padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.95rem;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.articles-pagination-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.articles-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.article-back{display:inline-block;font-size:.9rem;color:var(--accent);text-decoration:none;margin-bottom:1.5rem;transition:color .2s ease}.article-back:hover{color:var(--accent-secondary)}.article-hero-image-wrap{width:100%;margin-bottom:1.5rem;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-elevated);aspect-ratio:16 / 9}.article-hero-image{width:100%;height:100%;object-fit:cover;display:block}.article-title{margin-bottom:1.5rem}.article-body{margin-top:2rem}.article-para{color:var(--text-muted);font-size:1rem;line-height:1.65;margin-bottom:1.25rem}.article-para:last-child{margin-bottom:0}.article-para strong{color:var(--text);font-weight:600}.page-cta{margin-top:3rem;padding:2rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center}.page-cta-title{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--text);margin:0 0 .5rem}.page-cta-subtitle{font-size:.95rem;line-height:1.5;color:var(--text-muted);margin:0 0 1.25rem}.page-cta-button{display:inline-block;padding:.75rem 1.5rem;background:var(--accent-cta);color:#fff;font-weight:600;font-size:1rem;border-radius:var(--radius);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.page-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #e84d8a59}.templates-inner{max-width:min(72rem,100%)}.templates-lead{margin-bottom:1.5rem}.templates-toolbar{display:grid;gap:1rem;margin-bottom:1.5rem}.templates-search{width:100%;padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.templates-filters{display:flex;flex-wrap:wrap;gap:.5rem}.templates-filter-btn{padding:.45rem .9rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);cursor:pointer}.templates-filter-btn.active,.templates-filter-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.templates-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.template-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;height:100%;display:flex;flex-direction:column}.template-card-preview{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;align-items:end;row-gap:.5rem;padding:1rem;min-height:120px;background:linear-gradient(135deg,var(--bg-elevated),var(--surface));color:inherit;border-bottom:1px solid var(--border)}.template-card-image{grid-column:1 / -1;width:100%;height:148px;object-fit:cover;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated)}.template-card-image--placeholder{background:linear-gradient(135deg,rgba(var(--accent-rgb),.15),rgba(var(--accent-secondary-rgb),.18)),var(--bg-elevated)}.template-card-badge{grid-column:1;grid-row:2;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.template-card-body{padding:1rem;display:flex;flex:1;flex-direction:column;gap:.75rem}.template-card-title{margin:0;font-size:1.05rem}.template-card-path{margin:0;font-size:.8rem;color:var(--text-muted);word-break:break-all}.template-card-actions{margin-top:auto;display:flex;gap:.75rem;align-items:center}.template-card-btn,.template-card-secondary{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:.55rem .8rem;font-size:.85rem;text-decoration:none;cursor:pointer}.template-card-btn:hover,.template-card-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.templates-empty{color:var(--text-muted)}.template-modal-backdrop{position:fixed;inset:0;z-index:2100;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:1rem}.template-modal{position:relative;width:min(1100px,100%);max-height:calc(100vh - 2rem);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;z-index:2;display:flex;flex-direction:column}.template-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--border)}.template-modal-title{margin:0;font-size:1rem}.template-modal-close{border:1px solid var(--border);background:var(--surface);color:var(--text);width:36px;height:36px;border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer}.template-modal-toolbar{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;gap:.5rem}.template-device-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:var(--radius);padding:.4rem .75rem;cursor:pointer}.template-device-btn--active,.template-device-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.template-frame-wrap{position:relative;margin:0 auto;width:100%;padding:1rem;overflow:auto}.template-frame-guard{user-select:none;-webkit-user-select:none}.template-frame-watermark{position:absolute;right:1.5rem;bottom:1.25rem;z-index:3;pointer-events:none;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#00000047;text-shadow:0 0 1px rgba(255,255,255,.9)}.template-frame-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:.6rem .9rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text-muted);font-size:.9rem;z-index:1}.template-frame-wrap--desktop{max-width:100%}.template-frame-wrap--tablet{max-width:860px}.template-frame-wrap--mobile{max-width:430px}.template-frame{width:100%;height:min(70vh,780px);border:1px solid var(--border);border-radius:12px;background:#fff}.template-modal-overlay-close{position:fixed;inset:0;border:none;background:transparent;z-index:1;cursor:default}.quick-contact--pill .quick-contact-link,.quick-contact--pill .quick-contact-link--phone,.quick-contact--pill .quick-contact-link--email{color:var(--quick-contact-pill-fg)!important;background-color:var(--quick-contact-pill-bg)!important;border:1px solid var(--quick-contact-pill-border)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 2px 12px #00000047;border-radius:var(--radius)}.quick-contact--pill .quick-contact-label,.quick-contact--pill .quick-contact-icon{color:var(--quick-contact-pill-fg)!important}.quick-contact--pill .quick-contact-link:hover,.quick-contact--pill .quick-contact-link:focus-visible{color:var(--quick-contact-pill-fg)!important;background-color:var(--quick-contact-pill-bg)!important;border-color:var(--accent)!important}[data-theme=light] .quick-contact--pill .quick-contact-link,[data-theme=light] .quick-contact--pill .quick-contact-link--phone{box-shadow:0 2px 10px #00000014}
