@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root,:host{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";--fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";--fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro";--fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone";--fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"}svg.svg-inline--fa:not(:root),svg.svg-inline--fa:not(:host){overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display, inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0em}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin, .3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin, .3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width, 2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width, 1.25em)}.fa-layers svg.svg-inline--fa{inset:0;margin:auto;position:absolute}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color, #ff253a);border-radius:var(--fa-counter-border-radius, 1em);box-sizing:border-box;color:var(--fa-inverse, #fff);line-height:var(--fa-counter-line-height, 1);max-width:var(--fa-counter-max-width, 5em);min-width:var(--fa-counter-min-width, 1.5em);overflow:hidden;padding:var(--fa-counter-padding, .25em .5em);right:var(--fa-right, 0);text-overflow:ellipsis;top:var(--fa-top, 0);transform:scale(var(--fa-counter-scale, .25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom, 0);right:var(--fa-right, 0);top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom, 0);left:var(--fa-left, 0);right:auto;top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top, 0);right:var(--fa-right, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left, 0);right:auto;top:var(--fa-top, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .08em);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}@media(prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{inset:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index, auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse, #fff)}.sr-only,.fa-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color, currentColor);opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color, currentColor);opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}:root{--container: 1280px;--header-h-desktop: 64px;--header-h-mobile: 68px;--accent: #f97316;--header-bg: #373a3f;--header-fg: rgba(255, 255, 255, .92);--header-fg-strong: #fff}html{font-size:100%}html,body{overflow-x:hidden}.skip-link{position:fixed;top:8px;left:8px;z-index:2000;padding:10px 14px;border-radius:8px;background:#fff;color:#111827;font-weight:700;text-decoration:none;transform:translateY(-150%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.header{height:var(--header-h-desktop);padding:0 32px;background:var(--header-bg);color:var(--header-fg);border-bottom:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:saturate(120%) blur(6px);backdrop-filter:saturate(120%) blur(6px);display:flex;justify-content:flex-start;align-items:center;position:sticky;top:0;z-index:1000}.header.scrolled{border-bottom-color:#ffffff24;box-shadow:0 8px 24px #0f172a38}.logo-container{display:flex;align-items:center;margin-right:24px}.logo-link{display:flex;align-items:center;gap:12px;text-decoration:none}.logo-image{height:44px;width:auto;display:block}.logo-text{font-size:20px;font-weight:700;color:#fff;line-height:1}.menu-links{width:auto;max-width:none;margin-left:auto;display:flex;align-items:center;gap:16px}.nav-links{display:flex;align-items:center;gap:8px}.header .menu-links a,.header .left-links a,.header .right-links a{position:relative;color:var(--header-fg);text-decoration:none;font-size:18px;line-height:1.4;font-weight:600;letter-spacing:.3px;padding:10px 22px;transition:color .2s ease}.header .menu-links a:after{content:"";position:absolute;left:22px;right:22px;bottom:10px;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.header .menu-links a:hover{color:var(--header-fg-strong)}.header .menu-links a:hover:after{transform:scaleX(1)}.menu-links a.active{color:var(--header-fg-strong);font-weight:800}.menu-links a.active:after{transform:scaleX(1)}.header .menu-links a.nav-contact{min-height:44px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.56);border-radius:10px;padding-block:7px}.header .menu-links a.nav-contact:after{display:none}.header .menu-links a.nav-contact:hover,.header .menu-links a.nav-contact.active{border-color:#fdba74;background:#f973161f}.header a:focus-visible,.header button:focus-visible{outline:3px solid #fdba74;outline-offset:3px}section[id]{scroll-margin-top:calc(var(--header-h-desktop) + 1.6rem)}.dark-mode-toggle,.dark-mode-toggle .theme-icon{color:#fff}.dark-mode-toggle{border:2px solid rgba(255,255,255,.85);border-radius:12px;padding:2px 8px;line-height:1}.dark-mode-toggle:hover{border-color:#fff}@media(max-width:768px){.header{height:var(--header-h-mobile);padding:0 20px;position:fixed;top:0;left:0;right:0;justify-content:center}.menu-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:20px;position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:1300;color:#fff;border:2px solid rgba(255,255,255,.85);border-radius:10px;padding:0;background:transparent}.menu-open .menu-icon{left:auto;right:20px;top:12px}.menu-open .logo-container{opacity:0;pointer-events:none}.menu-links{display:none!important}.menu-links.open{display:flex!important;position:fixed;inset:0;width:100vw;height:100vh;max-width:none;margin:0;background:var(--header-bg);z-index:1200;flex-direction:column;align-items:center;justify-content:center;gap:16px;overflow-y:auto;animation:fadeIn .2s ease-in-out}.menu-links.open .nav-links{display:flex;flex-direction:column;align-items:center;gap:12px}.menu-links.open a{font-size:22px;padding:12px 20px;line-height:1.4;color:#fff}.header .menu-links.open a.nav-contact{margin-top:8px}.menu-links.open a:after{left:20px;right:20px;bottom:-2px;height:3px}section,[id]{scroll-margin-top:var(--header-h-mobile)}.menu-open .menu-icon{left:auto;right:16px;top:12px;border-color:#ffffffe6}.menu-open .logo-container{opacity:0;margin:0 auto;pointer-events:none}.logo-image{height:32px}.logo-link{justify-content:center;gap:8px;min-height:44px}.logo-text{font-size:16px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:360px){.header{padding-inline:12px}.menu-icon{left:12px}.logo-text{font-size:15px}}.main-content{padding:0;max-width:none;margin:0;color:#333;border-radius:0;overflow-x:hidden;display:flex;justify-content:center;align-items:center;flex-direction:column}.introduction p{font-size:2rem;line-height:1.8;margin-bottom:1.5rem}.right-block{flex:1;min-width:280px;display:flex;justify-content:center;align-items:center}.section-image{width:220px;max-width:240px;height:auto;object-fit:contain;display:block;margin:0 auto}.services-title{margin:2.5rem 0 2rem;font-size:2.4rem;font-weight:600;color:var(--color-primary, #f97316);text-align:center}.services-cta{display:flex;justify-content:center;margin-top:1rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:0 auto 4rem;max-width:900px}.service-card{padding:2rem 1.75rem;border-left:4px solid var(--color-primary, #f97316);background:var(--color-surface, rgba(255, 255, 255, .035));border-radius:0 10px 10px 0}.service-card h4{margin:0 0 1rem;font-size:2rem;font-weight:600}.service-card p{margin:0;font-size:2rem;line-height:1.6;opacity:.8}.cta-section{margin:4rem 0 5rem;padding:3rem 2rem;text-align:center;background:var(--color-surface, rgba(255, 255, 255, .06));border-radius:14px}.cta-section p{margin-bottom:2rem;font-size:2rem;font-weight:500}.cta-button{display:inline-block;padding:1.25rem 3rem;background:var(--color-primary, #f97316);color:#fff;text-decoration:none;border-radius:12px;font-weight:600;font-size:2rem;transition:transform .15s ease,opacity .15s ease}.cta-button:hover{transform:translateY(-2px);opacity:.95}.newsletter-section{margin-top:2rem;opacity:.92}@media screen and (max-width:768px){.content-wrapper{flex-direction:column;align-items:center}.services-title{text-align:center}.service-card{padding:1.75rem}.cta-section{padding:2.5rem 1.5rem}}@media screen and (max-width:480px){.introduction p,.service-card p{text-align:center}.cta-button{width:100%;padding:1.25rem}}@media screen and (max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:600px){.services-grid{grid-template-columns:1fr}.service-card__header{display:flex;flex-direction:column;align-items:center;gap:.75rem}.service-card h4{margin:0;text-align:center}.service-card__badge{display:inline-flex;align-items:center;justify-content:center}}@media(min-width:1024px){.content-wrapper{flex-direction:row;justify-content:center;gap:5rem}}.service-card__header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.service-card__badge{font-size:1.1rem;font-weight:500;padding:.4rem .75rem;border-radius:999px;background:#ff8b1a26;color:#ff8b1a;line-height:1}.services-title{margin:0;font-size:inherit;font-weight:800;color:#111827}.services-grid{max-width:1120px}.service-card{padding:2.25rem;border:1px solid #e5e7eb;background:#fff;border-radius:20px;text-align:left;box-shadow:0 12px 32px #0f172a0f;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.service-card:hover{transform:translateY(-4px);border-color:#fdba74;box-shadow:0 20px 42px #0f172a1a}.service-card__icon{display:inline-grid;width:46px;height:46px;margin-bottom:1.5rem;place-items:center;border-radius:14px;background:#fff7ed;color:#ea580c;font-size:2.2rem;font-weight:800}.service-card p{font-size:1.6rem;color:#4b5563;opacity:1}.service-card__badge{color:#c2410c}.section-text-link{display:inline-flex;gap:.6rem;align-items:center;color:#c2410c;font-weight:800;text-decoration:none}.skills-content{max-width:1120px;margin:0 auto;padding:0 1rem}.skills-intro{line-height:1.6;margin-bottom:2.5rem;color:var(--color-text-muted, #666);text-align:center;font-size:1.7rem}.skills-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-bottom:2.5rem}.skill-group-title{font-size:2rem;color:var(--color-primary, #f97316);margin-bottom:.75rem;font-weight:600}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{padding:.5rem 1rem;background:var(--color-surface, rgba(249, 115, 22, .1));border:1px solid var(--color-primary, #f97316);border-radius:20px;font-size:1.5rem;color:var(--color-text, #333);transition:all .2s ease}.skill-tag:hover{background:var(--color-primary, #f97316);color:#fff}.storybook-link{font-size:1rem;color:var(--color-text-muted, #666);text-align:center;padding-top:1rem;border-top:1px solid var(--color-border, #eee)}.storybook-link a{color:var(--color-primary, #f97316);text-decoration:none;font-weight:500}.storybook-link a:hover{text-decoration:underline}@media screen and (max-width:720px){.skills-groups{grid-template-columns:1fr}}@media screen and (max-width:480px){.skills-intro{text-align:center}.skill-group-title{text-align:center;font-size:1.5rem}.skill-tags{justify-content:center}.skill-tag{padding:.4rem .8rem}}.skill-group{padding:2rem;border:1px solid #e5e7eb;border-radius:18px;background:#fff}.clients-content{max-width:1120px;margin:0 auto;padding:0 1rem}.clients-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;list-style:none;margin:2.5rem 0 0;padding:0}.client-tag{background:var(--color-surface, rgba(249, 115, 22, .1));border:1px solid var(--color-primary, #f97316);border-radius:20px;transition:all .2s ease}.client-tag:hover{background:var(--color-primary, #f97316)}.client-link{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.5rem;font-size:1.5rem;font-weight:500;color:var(--color-text, #333);text-decoration:none}.client-tag:hover .client-link{color:#fff}.client-logo{width:1.75rem;height:1.75rem;object-fit:contain;border-radius:6px;flex-shrink:0}@media screen and (max-width:480px){.clients-grid{gap:.5rem}.client-link{padding:.5rem 1rem;font-size:1.2rem;gap:.4rem}.client-logo{width:1.3rem;height:1.3rem}}.project-card{background-color:#fff;border-radius:18px;box-shadow:0 10px 30px #0f172a14;padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;border:1px solid rgba(0,0,0,.04);box-sizing:border-box}.projectTitle{margin:0;font-size:2rem;font-weight:700;line-height:1.35;color:#111827}.projectImageWrapper{margin-top:.5rem;border-radius:12px;overflow:hidden}.projectImage{width:100%;display:block;aspect-ratio:16 / 9;object-fit:cover}.projectDescription{margin:.35rem 0 0;line-height:1.6;color:#4b5563}.projectAudience{margin:0;color:var(--color-text-secondary);font-size:1.35rem;line-height:1.5}.projectAudience span{color:var(--color-brand-deep);font-weight:800}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem;font-size:1rem}.card-footer{margin-top:auto;padding-top:.75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.projectCaseStudyLink{color:var(--color-brand-deep);font-size:1.35rem;font-weight:800;text-decoration:none}.projectCaseStudyLink:hover{color:var(--color-brand-dark);text-decoration:underline}body.dark .projectAudience{color:var(--color-dark-text-muted)}body.dark .projectAudience span,body.dark .projectCaseStudyLink{color:var(--color-brand-soft)}.project-card--clickable{cursor:default}.project-card__heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.project-status{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:1.15rem;font-weight:800;white-space:nowrap}.project-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.project-status--soon{background:#fff7ed;color:#c2410c}.project-card .projectDescription{font-size:1.6rem}.project-card--disabled{cursor:default;opacity:1}.project-card--disabled{cursor:not-allowed;opacity:.7}@media(hover:hover)and (pointer:fine){.project-card--clickable:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0f172a1f;border-color:#ff818959}}@media(max-width:600px){.project-card{padding:1rem 1.1rem 1.25rem;border-radius:14px;gap:.6rem}.projectTitle{font-size:2rem}.projectDescription{font-size:1.5rem}}.imageContainer{width:100%;border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--card-bg) 85%,#ffffff 15%);display:flex;justify-content:center;align-items:center}.dark .imageContainer{background:color-mix(in srgb,var(--card-bg) 70%,#ffffff 30%)}.dark .projectTitle{color:#f9fafb}.projectImage{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:12px}.projectLink{display:flex;justify-content:flex-end}.projectLink a,.projectButton{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;padding:.7rem 1rem;border-radius:12px;border:none;background:#f97316;color:#fff;font-weight:700;letter-spacing:.2px;cursor:pointer}.projectButton:disabled{cursor:not-allowed;opacity:.6}.projectIcon{width:45px;border-radius:12px}.projectButton span{margin-left:.5rem;font-size:.75rem;color:var(--muted)}.projectLink a:hover,.projectButton:not(:disabled):hover{background:#ea580c;transform:translateY(-1px)}.projectLink a:active,.projectButton:not(:disabled):active{background:var(--brand-pressed);transform:translateY(0)}.projectLink a:focus-visible,.projectButton:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 40%,#fff 60%);outline-offset:2px;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 25%,transparent)}.tag{background:var(--chip-bg, #f1f5f9);color:var(--chip-text, #334155);border:1px solid var(--chip-border, #e2e8f0);padding:.25rem .6rem;border-radius:999px;font-size:1.5rem;line-height:1;font-weight:600;white-space:nowrap}.projects-section{width:100%;padding:4rem 1.5rem;background:#f9fafb}.projects-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.projects-grid>*{min-width:0}@media(max-width:900px){.projects-section{padding:3.5rem 1.25rem}}@media(max-width:600px){.projects-section{padding:3rem 1rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}}.projects-section{padding:clamp(7rem,10vw,12rem) 1.5rem}.projects-grid{width:100%;max-width:1120px;gap:2.5rem}.main-content{width:100%;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;background:var(--color-canvas);color:var(--color-text)}.landing-hero-section{width:100%;padding:clamp(4rem,6vw,7rem) clamp(1.6rem,5vw,4.8rem) var(--space-section-end);box-sizing:border-box;overflow:hidden}.landing-hero-shell{width:min(1240px,100%);margin:0 auto}.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:clamp(3rem,6vw,7rem);align-items:center}.landing-hero-copy{min-width:0;max-width:700px}.landing-eyebrow,.landing-project-kicker{margin:0 0 1.4rem;color:var(--color-brand-strong);font-size:1.3rem;font-weight:800;letter-spacing:.1em;line-height:1.4;text-transform:uppercase}.landing-title{max-width:15ch;margin:0 0 1.8rem;color:var(--color-text-strong);font-size:clamp(4.2rem,5.2vw,7rem);font-weight:800;letter-spacing:-.055em;line-height:1.02;text-wrap:balance}.landing-subtitle{max-width:62ch;margin:0 0 2.6rem;color:var(--color-text-secondary);font-size:clamp(1.7rem,1.5vw,1.9rem);line-height:1.7}.landing-cta-row{display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:2.4rem}.landing-primary-cta,.landing-secondary-cta{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:0 1.8rem;border:2px solid var(--color-brand-strong);border-radius:var(--radius-control);font-size:1.6rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.landing-primary-cta{background:var(--color-brand-strong);color:var(--color-on-brand);box-shadow:var(--shadow-brand)}.landing-secondary-cta{background:transparent;color:var(--color-brand-deep)}.landing-primary-cta:hover{background:var(--color-brand-deep);border-color:var(--color-brand-deep);color:var(--color-on-brand);transform:translateY(-2px)}.landing-secondary-cta:hover{background:var(--color-surface);border-color:var(--color-brand-deep);color:var(--color-brand-dark);transform:translateY(-2px)}.landing-primary-cta:active,.landing-secondary-cta:active{transform:translateY(0);box-shadow:none}.landing-primary-cta svg,.landing-secondary-cta svg,.landing-project-link svg{width:.9em;height:.9em}.landing-tech-list{display:flex;flex-wrap:wrap;gap:.8rem;padding:0;margin:0;list-style:none}.landing-tech-list li{min-height:36px;display:inline-flex;align-items:center;padding:.4rem 1.1rem;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--surface-glass);color:var(--color-text-secondary);font-size:1.4rem;font-weight:650}.landing-featured-project{min-width:0;overflow:hidden;border:1px solid var(--color-border-warm);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.landing-project-image-link{display:block;overflow:hidden;background:var(--color-surface-subtle)}.landing-project-image{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;transition:transform .25s ease}.landing-project-image-link:hover .landing-project-image{transform:scale(1.015)}.landing-project-content{padding:2.2rem 2.4rem 2.4rem}.landing-project-kicker{margin-bottom:.6rem;font-size:1.15rem}.landing-project-content h2{margin:0 0 .8rem;color:var(--color-text-strong);font-size:clamp(2.4rem,3vw,3.2rem);letter-spacing:-.035em;line-height:1.15}.landing-project-content>p:not(.landing-project-kicker):not(.landing-project-stack){margin:0 0 1.2rem;color:var(--color-text-muted);font-size:1.6rem;line-height:1.55}.landing-project-stack{margin:0 0 1.6rem;color:var(--color-text-secondary);font-size:1.35rem;font-weight:700}.landing-project-link{min-height:44px;display:inline-flex;align-items:center;gap:.8rem;color:var(--color-brand-deep);font-size:1.5rem;font-weight:800;text-decoration-thickness:2px;text-underline-offset:.3em}.landing-project-link:hover{color:var(--color-brand-dark)}body.dark .main-content,body.dark .landing-hero-section{background:var(--color-dark-canvas)}body.dark .landing-featured-project,body.dark .landing-tech-list li{border-color:var(--color-dark-border);background:var(--color-dark-surface)}body.dark .landing-secondary-cta,body.dark .landing-project-link,body.dark .landing-project-kicker,body.dark .landing-eyebrow{color:var(--color-brand-soft)}body.dark .landing-tech-list li,body.dark .landing-project-stack{color:var(--color-dark-text-muted)}@media(max-width:1024px){.landing-hero-section{padding-bottom:var(--space-section-end-tablet)}.landing-hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:3.5rem}.landing-title{font-size:clamp(4rem,5.8vw,5.8rem)}}@media(max-width:820px){.landing-hero-section{padding-top:calc(var(--header-h-mobile) + 4rem)}.landing-hero-grid{grid-template-columns:1fr}.landing-hero-copy{max-width:680px}.landing-featured-project{width:min(620px,100%)}}@media(max-width:600px){.landing-hero-section{padding-inline:1.6rem;padding-bottom:var(--space-section-end-mobile)}.landing-title{max-width:16ch;font-size:clamp(3.6rem,11.5vw,5rem);letter-spacing:-.045em}.landing-subtitle{font-size:1.65rem}.landing-cta-row{display:grid}.landing-primary-cta,.landing-secondary-cta{width:100%;min-height:52px;box-sizing:border-box}.landing-tech-list li{min-height:34px;font-size:1.3rem}.landing-project-content{padding:1.8rem}}@media(max-width:340px){.landing-hero-section{padding-inline:1.2rem}.landing-title{font-size:3.4rem}.landing-eyebrow{font-size:1.15rem}}@media(prefers-reduced-motion:reduce){.landing-project-image{transition:none}}.landing-featured-project{position:relative}.slideshow-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border-warm);border-radius:50%;background:var(--color-surface);color:var(--color-brand-deep);box-shadow:var(--shadow-card);cursor:pointer;transition:background-color .18s ease,transform .18s ease}.slideshow-nav:hover{background:var(--color-brand-strong);color:var(--color-on-brand);transform:translateY(-50%) scale(1.05)}.slideshow-nav-prev{left:12px}.slideshow-nav-next{right:12px}.slideshow-dots{display:flex;gap:.8rem;justify-content:center;padding-bottom:1.8rem}.slideshow-dot{width:9px;height:9px;padding:0;border:none;border-radius:50%;background:var(--color-border);cursor:pointer;transition:background-color .18s ease,width .18s ease}.slideshow-dot-active{width:24px;border-radius:999px;background:var(--color-brand-strong)}body.dark .slideshow-nav{border-color:var(--color-dark-border);background:var(--color-dark-surface);color:var(--color-brand-soft)}body.dark .slideshow-dot{background:var(--color-dark-border)}body.dark .slideshow-dot-active{background:var(--color-brand-soft)}.landing-featured-project{display:flex;flex-direction:column}.landing-project-content{display:flex;flex-direction:column;min-height:220px}.landing-project-content>p:not(.landing-project-kicker):not(.landing-project-stack){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.65em}.landing-project-stack{min-height:1.35em}.landing-project-content h2{min-height:1.15em}.landing-project-link{margin-top:auto}.landing-project-case-study{margin-top:auto;margin-bottom:1rem;color:var(--color-brand-deep);font-weight:800;text-decoration:none}.landing-project-case-study:hover{text-decoration:underline}body.dark .landing-project-case-study{color:var(--color-brand-soft)}@media(max-width:600px){.slideshow-nav{width:34px;height:34px}}.footer_links_socials{color:#f0f8ff;display:flex;flex-direction:row}.footer_icons_social_icons{display:flex;flex-direction:row;align-items:center;gap:.75rem}.footer_icons_social_icons svg{color:#f0f8ff}:root{--footer-bg: var(--header-bg);--footer-fg: var(--header-fg);--footer-muted: color-mix(in srgb, var(--header-fg) 65%, transparent);--footer-border: rgba(255, 255, 255, .08);--footer-accent: var(--accent)}.footer{width:100%;background:var(--footer-bg);color:var(--footer-fg);border-top:1px solid var(--footer-border);font-size:1.7rem;line-height:1.7}.footer__inner{max-width:1120px;margin:0 auto;padding:48px 20px 28px;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px}.footer__brand{font-size:1.6rem}.footer__logo{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;margin-bottom:12px}.footer__logo img{width:100%;height:auto}.footer__tag{margin:0;color:var(--footer-muted);font-size:1.5rem;line-height:1.6}.footer__group{display:flex;flex-direction:column;gap:12px}.footer__title{margin:0 0 10px;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;color:var(--footer-muted)}.footer__group a{text-decoration:none;color:var(--footer-fg);opacity:.9;font-size:1.5rem;position:relative;transition:opacity .2s ease}.footer__group a:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--footer-accent);transition:width .2s ease}.footer__group a:hover{opacity:1}.footer__group a:hover:after{width:100%}.footer__project{margin-bottom:18px}.footer__project a{font-size:1.5rem;font-weight:600;color:var(--footer-fg);text-decoration:none}.footer__project p{margin:6px 0 8px;font-size:1.4rem;color:var(--footer-muted)}.footer__tags{display:inline-block;font-size:1.3rem;color:var(--footer-accent)}.footer__tech-category{margin-bottom:1rem}.footer__tech-category:not(:last-child){padding-bottom:.75rem;border-bottom:1px solid var(--footer-border)}.footer__tech-label{font-size:1.2rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--footer-muted);margin-bottom:.25rem}.footer__tech-items{font-size:1.4rem;line-height:1.5}.footer__bottom{border-top:1px solid var(--footer-border);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 24px;max-width:1120px;margin:0 auto;color:var(--footer-muted);font-size:1.25rem}.footer__version,.footer__visitor-count{font-size:1.15rem;opacity:.7;font-family:monospace}.footer__legal{display:flex;align-items:center;gap:10px}.footer__legal a{font-size:1.25rem;color:var(--footer-muted);text-decoration:none}.footer__icons{display:flex;align-items:center;flex-direction:row}.footer__icons a{margin-left:10px;font-size:1.4rem;display:flex;flex-direction:row}.footer_icons_socials{display:flex;flex-direction:column}@media(max-width:880px){.footer__inner{grid-template-columns:1fr 1fr}}@media(max-width:560px){.footer__inner{grid-template-columns:1fr;gap:28px}.footer__bottom{flex-direction:column;text-align:center}}.about-section{padding-block:clamp(5.5rem,7vw,8.5rem);background:#111827;color:#fff}.about-shell{width:min(1180px,100%);display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(3.5rem,6vw,6.5rem)}.about-visual-wrap{width:min(430px,100%);display:grid;gap:1.2rem;padding-top:.4rem}.about-browser,.about-preview-row picture{overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#202b3d;box-shadow:0 16px 34px #00000038}.about-browser-bar{min-height:34px;display:flex;align-items:center;gap:.55rem;padding:0 1.2rem;border-bottom:1px solid rgba(255,255,255,.1)}.about-browser-bar span{width:7px;height:7px;border-radius:50%;background:#fb923c}.about-browser-bar span:nth-child(2){opacity:.65}.about-browser-bar span:nth-child(3){opacity:.4}.about-visual{display:block;width:100%;object-fit:cover}.about-browser picture,.about-preview-row picture{display:block;overflow:hidden}.about-visual-main{aspect-ratio:16 / 9}.about-preview-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.about-preview-row img{aspect-ratio:16 / 10}.about-copy{max-width:620px}.about-heading-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem}.about-heading-meta .section-kicker{color:#fb923c}.about-availability{min-height:32px;display:inline-flex;align-items:center;gap:.7rem;padding:.35rem 1rem;border:1px solid rgba(253,186,116,.46);border-radius:999px;color:#f3f4f6;font-size:1.25rem;font-weight:700;line-height:1.3}.about-availability>span{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#fb923c;box-shadow:0 0 0 4px #fb923c24}.about-copy h2{max-width:17ch;margin:1.2rem 0 1.8rem;color:#fff;font-size:clamp(3.6rem,4.2vw,5.4rem);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}.about-copy>p{max-width:620px;margin:0;color:#d1d5db;font-size:1.7rem;line-height:1.72}.about-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:2.4rem}.about-primary-action,.about-secondary-action{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.9rem;padding:0 1.6rem;border:2px solid #f97316;border-radius:11px;font-size:1.5rem;font-weight:800;line-height:1.2;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.about-primary-action{background:#e85d0b;color:#fff}.about-secondary-action{border-color:#9ca3af;background:transparent;color:#fff}.about-primary-action:hover{border-color:#fb923c;background:#fb923c;color:#111827;transform:translateY(-2px)}.about-secondary-action:hover{border-color:#fff;background:#ffffff14;color:#fff;transform:translateY(-2px)}.about-primary-action:active,.about-secondary-action:active{transform:translateY(0)}.about-primary-action:focus-visible,.about-secondary-action:focus-visible{outline:3px solid #fdba74;outline-offset:4px}.about-primary-action svg,.about-secondary-action svg{width:.85em;height:.85em}.about-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin:3rem 0 0}.about-proof div{min-width:0;padding-top:1.2rem;border-top:2px solid rgba(251,146,60,.78)}.about-proof dt{color:#f9fafb;font-size:1.35rem;font-weight:800;line-height:1.35}.about-proof dd{margin:.55rem 0 0;color:#bfc8d6;font-size:1.3rem;line-height:1.4}@media(max-width:980px){.about-shell{grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);gap:3rem}.about-copy h2{font-size:clamp(3.4rem,4.7vw,4.6rem)}.about-proof{gap:1rem}}@media(max-width:760px){.about-section{padding-block:5.5rem}.about-shell{grid-template-columns:1fr}.about-copy{max-width:620px;order:-1}.about-copy h2{max-width:18ch}.about-visual-wrap{width:min(500px,100%)}}@media(max-width:520px){.about-section{padding:4.8rem 1.6rem}.about-copy h2{font-size:clamp(3.2rem,10vw,4.2rem)}.about-actions{display:grid}.about-primary-action,.about-secondary-action{width:100%;min-height:50px;box-sizing:border-box}.about-proof{grid-template-columns:1fr;gap:1.6rem}.about-preview-row{gap:.8rem}}@media(prefers-reduced-motion:reduce){.about-primary-action,.about-secondary-action{transition:none}}.newsletter{width:100%;padding:2rem;border-radius:8px;background:var(--newsletter-bg);border:1px solid var(--newsletter-border)}.newsletter--section{max-width:600px;margin:3rem auto;background:#f9731614;border:1px solid rgba(249,115,22,.2)}.newsletter--section .newsletter__title{color:#1a1a1a}.newsletter--section .newsletter__description{color:#444}.newsletter--section .newsletter__input{background:#fff;color:#111;border:1px solid #d0d0d0}.newsletter--section .newsletter__input::-webkit-input-placeholder{color:#888}.newsletter--section .newsletter__input::-moz-placeholder{color:#888}.newsletter--section .newsletter__input:-ms-input-placeholder{color:#888}.newsletter--section .newsletter__input::placeholder{color:#888}.newsletter--section .newsletter__input:focus{border-color:#ff8b1a}.newsletter--section .newsletter__input:disabled{background:#f1f1f1;color:#666}.newsletter--section .newsletter__privacy{color:#666}.newsletter--section .newsletter__message--success{background:#d1f4e0;color:#0d6832}.newsletter--section .newsletter__message--error{background:#ffe0e6;color:#c41e3a}body.dark .newsletter--section{background:#f973161f}body.dark .newsletter--section .newsletter__title{color:#f5f5f5}body.dark .newsletter--section .newsletter__description{color:#cfcfcf}body.dark .newsletter--section .newsletter__input{background:#1a1a1a;color:#f1f1f1;border:1px solid rgba(249,115,22,.3)}body.dark .newsletter--section .newsletter__input::-webkit-input-placeholder{color:#888}body.dark .newsletter--section .newsletter__input::-moz-placeholder{color:#888}body.dark .newsletter--section .newsletter__input:-ms-input-placeholder{color:#888}body.dark .newsletter--section .newsletter__input::placeholder{color:#888}body.dark .newsletter--section .newsletter__input:disabled{background:#222;color:#888}body.dark .newsletter--section .newsletter__privacy{color:#9a9a9a}body.dark .newsletter--section .newsletter__message--success{background:#1db95426;color:#6ee7a8}body.dark .newsletter--section .newsletter__message--error{background:#dc262626;color:#fca5a5}.newsletter--inline{background:transparent;border:none;border-top:1px solid var(--newsletter-border);padding:2rem 0}.newsletter__content{width:100%}.newsletter__title{margin:0 0 .5rem;font-weight:600;color:var(--newsletter-title)}.newsletter__description{margin:0 0 1.5rem;color:var(--newsletter-text);line-height:1.5}.newsletter__form{width:100%}.newsletter__input-group{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;gap:.5rem;margin-bottom:.75rem}.newsletter__input{-webkit-box-flex:1;-webkit-flex:1;-moz-box-flex:1;-ms-flex:1;flex:1;padding:.75rem 1rem;border-radius:6px;border:1px solid var(--newsletter-border);background:var(--newsletter-input-bg);color:var(--newsletter-input-text);-webkit-transition:border-color .2s ease,background .2s ease;-moz-transition:border-color .2s ease,background .2s ease;-o-transition:border-color .2s ease,background .2s ease;transition:border-color .2s ease,background .2s ease;line-height:1.4;-webkit-appearance:none;-moz-appearance:none;appearance:none}.newsletter__input::-webkit-input-placeholder{color:var(--newsletter-placeholder)}.newsletter__input::-moz-placeholder{color:var(--newsletter-placeholder)}.newsletter__input:-ms-input-placeholder{color:var(--newsletter-placeholder)}.newsletter__input::placeholder{color:var(--newsletter-placeholder)}.newsletter__input:focus{outline:none;border-color:#ff8b1a}.newsletter__input:disabled{background:var(--newsletter-input-disabled-bg);color:var(--newsletter-input-disabled-text);cursor:not-allowed}.newsletter__button{padding:.75rem 1.5rem;font-weight:500;color:#fff;background:#ff8b1a;border:none;border-radius:6px;cursor:pointer;-webkit-transition:background .2s ease,-webkit-transform .2s ease;-moz-transition:background .2s ease,-moz-transform .2s ease;-o-transition:background .2s ease,-o-transform .2s ease;transition:background .2s ease,transform .2s ease;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}.newsletter__button:hover:not(:disabled){background:#e67a0f;-webkit-transform:translateY(-1px);-moz-transform:translateY(-1px);-ms-transform:translateY(-1px);-o-transform:translateY(-1px);transform:translateY(-1px)}.newsletter__button:active:not(:disabled){-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.newsletter__button:disabled{background:#777;cursor:not-allowed}.newsletter__message{margin:0;padding:.5rem;border-radius:4px}.newsletter__message--success{background:var(--newsletter-success-bg);color:var(--newsletter-success-text)}.newsletter__message--error{background:var(--newsletter-error-bg);color:var(--newsletter-error-text)}.newsletter__privacy{margin:.75rem 0 0;color:var(--newsletter-muted)}.newsletter__link{color:#ff8b1a;text-decoration:none;border-bottom:1px solid transparent;-webkit-transition:border-color .2s ease;-moz-transition:border-color .2s ease;-o-transition:border-color .2s ease;transition:border-color .2s ease}.newsletter__link:hover{border-bottom-color:#ff8b1a}:root{--newsletter-bg: #f8f9fa;--newsletter-border: #e0e0e0;--newsletter-title: #1a1a1a;--newsletter-text: #555;--newsletter-muted: #888;--newsletter-input-bg: #ffffff;--newsletter-input-text: #111;--newsletter-placeholder: #999;--newsletter-input-disabled-bg: #f1f1f1;--newsletter-input-disabled-text: #666;--newsletter-success-bg: #d1f4e0;--newsletter-success-text: #0d6832;--newsletter-error-bg: #ffe0e6;--newsletter-error-text: #c41e3a}body.dark{--newsletter-bg: #1f1f1f;--newsletter-border: #2a2a2a;--newsletter-title: #f5f5f5;--newsletter-text: #cfcfcf;--newsletter-muted: #9a9a9a;--newsletter-input-bg: #151515;--newsletter-input-text: #f1f1f1;--newsletter-placeholder: #777;--newsletter-input-disabled-bg: #222;--newsletter-input-disabled-text: #888;--newsletter-success-bg: rgba(29, 185, 84, .15);--newsletter-success-text: #6ee7a8;--newsletter-error-bg: rgba(220, 38, 38, .15);--newsletter-error-text: #fca5a5}@media(max-width:640px){.newsletter{padding:1.5rem}.newsletter__input-group{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.newsletter__button{width:100%}}.contact-section{background:linear-gradient(135deg,#fff7ed,#fffbeb)}.contact-shell{width:min(760px,100%);display:grid;grid-template-columns:1fr;gap:clamp(2.5rem,6vw,4rem)}.contact-copy h2{max-width:16ch;margin:1rem 0 1.5rem;color:#111827;font-size:clamp(3rem,5vw,5rem);line-height:1.06;letter-spacing:-.04em}.contact-copy p{max-width:58ch;color:#4b5563;font-size:1.8rem}.contact-cta{display:inline-flex;align-items:center;gap:.75rem;min-height:54px;margin-top:1rem;padding:0 1.5rem;border-radius:14px;background:#f97316;color:#fff;font-weight:800;text-decoration:none;box-shadow:0 16px 34px #f9731638}.contact-note{display:block;margin-top:1rem;color:#6b7280;font-size:1.3rem}.contact-form{display:grid;gap:1.2rem;margin-top:2rem}.contact-form label{color:#111827;font-weight:700}.contact-form input,.contact-form textarea{padding:1rem;border:1px solid #9ca3af;border-radius:10px;font:inherit}.contact-form button{min-height:50px;border:0;border-radius:10px;background:#a83b05;color:#fff;font-weight:800}.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-newsletter .newsletter--section{margin:0;background:#ffffffdb;box-shadow:0 24px 55px #78350f1a}@media(max-width:800px){.contact-shell{grid-template-columns:1fr}.contact-copy{text-align:center}.contact-copy h2{max-width:none}}:root{--color-brand: #f97316;--color-brand-strong: #c2410c;--color-brand-deep: #9a3412;--color-brand-dark: #7c2d12;--color-brand-soft: #fdba74;--color-canvas: #fffaf5;--color-surface: #ffffff;--color-surface-subtle: #e8edf2;--color-text-strong: #111827;--color-text: #1f2937;--color-text-secondary: #374151;--color-text-muted: #4b5563;--color-border: #d7dce3;--color-border-warm: #e0d7ce;--color-dark-canvas: #1e1e1e;--color-dark-surface: #292d33;--color-dark-text: #f9fafb;--color-dark-text-muted: #e5e7eb;--color-dark-border: #4b5563;--color-on-brand: #ffffff;--surface-glass: rgba(255, 255, 255, .78);--shadow-brand: 0 10px 24px rgba(194, 65, 12, .18);--shadow-card: 0 18px 44px rgba(15, 23, 42, .1);--radius-control: 12px;--radius-card: 22px;--radius-pill: 999px;--space-section-end: 6.4rem;--space-section-end-tablet: 4.8rem;--space-section-end-mobile: 3.2rem;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-size:10px;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#f97316;text-decoration:inherit}a:hover{color:#f97316}body{margin:0;overflow-x:hidden;font-size:2rem;line-height:1.6;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}h1{font-size:2.2em;padding-bottom:10px;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.container{min-width:var(--content-width);max-width:var(--content-width);width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}.section,.main-content,.about{max-width:100%;min-height:1000px;width:100%;box-sizing:border-box;overflow-x:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column}@media screen and (max-width:480px){.container{scroll-snap-type:none}.section{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;box-sizing:border-box}}@media screen and (max-width:768px){.container{scroll-snap-type:none}}body.dark{background-color:#1e1e1e}body.dark h1,body.dark h2,body.dark h3,body.dark p{color:#f0f0f0}body.dark a{color:#f97316}body.dark a:hover{color:#ffc1ca}body.dark .header{background-color:#2a2a2a}body.dark .menu-links a{color:#fefefe}body.dark .menu-links a.active{color:#fefefe;border-bottom:2px solid #f97316}body.dark .skill-card{background-color:#2e2e2e;border:1px solid #444}body.dark .skill-tag{color:#fff}body.dark .project-card{background-color:#2e2e2e;color:#f0f0f0;border:1px solid #444}body.dark .project-card h1,body.dark .project-card h3,body.dark .project-card p,body.dark .project-card a{color:#f0f0f0}body.dark .project-card a:hover{color:#f97316}body.dark .service-card h4,body.dark .service-card p,body.dark .intro-text{color:#f0f0f0}body.dark .service-card p{opacity:1}body.dark .tech-category span:last-child{color:silver}body.dark .tech-label{color:#f97316}body.dark .service-card{background:#ffffff14;border-left:3px solid #f97316}body.dark .cta-section{background:#ffffff14}body.dark .cta-button{color:#fff}body.dark .section,body.dark .main-content{background-color:#1e1e1e;color:#f0f0f0}body.dark .logo-image{filter:brightness(.9) contrast(1.2)}a{color:#444;text-decoration:underline}body,.section,.header,.skill-card,.project-card{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body{font-size:1.6rem;color:#1f2937;background:#fff}.container{min-width:0;max-width:none}.section,.main-content,.about{min-height:0}.section{min-height:0;padding:clamp(7rem,10vw,12rem) clamp(1.5rem,4vw,4rem);scroll-snap-align:none}html,body{scroll-snap-type:none}html{scroll-behavior:smooth}:focus-visible{outline:3px solid #f97316;outline-offset:4px}.section-heading{max-width:760px;margin:0 auto 4rem;text-align:center}.section-heading h2{margin:.8rem 0 1rem;color:#111827;font-size:clamp(3rem,5vw,4.8rem);line-height:1.08;letter-spacing:-.04em}.section-heading p{margin:0 auto;color:#6b7280;font-size:1.75rem}.section-kicker{color:#ea580c;font-size:1.25rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
