:root{--color-primary: #171615;--color-secondary: #5f5d58;--color-white: #fffdfa;--color-surface: var(--color-white);--color-focus: #148a68;--color-error: #b42318;--color-black: #11100f;--color-text: #595750;--color-background: #fbfaf6;--color-gray-50: #fffefa;--color-gray-100: #f2f0e9;--color-gray-200: #e2ded2;--color-gray-300: #cbc5b8;--color-stone: var(--color-gray-300);--color-gray-400: #a59f92;--color-gray-500: #747068;--color-gray-600: #5f5d58;--color-gray-700: #3b3935;--color-gray-800: #25231f;--color-gray-900: #171615;--color-accent: #148a68;--color-accent-hover: #0f6f55;--color-cta-green: var(--color-accent-hover);--color-accent-on-dark: #2fa98a;--color-result: #d59130;--color-secondary-hover: #3b3935;--color-cta: #148a68;--color-cta-hover: #0f6f55;--color-paper: #fbfaf6;--color-ink: #171615;--color-warm-muted: #747068;--color-button-glow: rgba(20, 138, 104, .14);--color-code-bg: #f2f0e9;--font-display: "Space Grotesk", -apple-system, sans-serif;--font-body: "Inter", -apple-system, sans-serif;--section-padding: clamp(6rem, 10vw, 10rem);--container-max: 1280px;--container-padding: clamp(1.25rem, 3.5vw, 3rem);--button-radius: 12px;--border-subtle: 1px solid rgba(23, 22, 21, .12);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-smooth: cubic-bezier(.16, 1, .3, 1);--transition: .18s var(--ease-out);--shadow-sm: 0 1px 2px rgba(17, 16, 15, .05);--shadow-md: 0 12px 30px rgba(17, 16, 15, .08);--shadow-lg: 0 24px 55px rgba(17, 16, 15, .11);--gradient-dark: linear-gradient(180deg, #fbfaf6 0%, #f2f0e9 100%);--gradient-dark-deep: linear-gradient(180deg, #fbfaf6 0%, #f2f0e9 100%);--gradient-accent: linear-gradient(135deg, #148a68 0%, #0f6f55 100%);--gradient-cta: linear-gradient(135deg, #148a68 0%, #0f6f55 100%);--gradient-subtle: linear-gradient(180deg, rgba(20, 138, 104, .05) 0%, transparent 100%);--gradient-radial: radial-gradient(circle at 50% 50%, rgba(20, 138, 104, .07) 0%, transparent 68%);--gradient-hero-text: none;--gradient-border: linear-gradient(135deg, rgba(20, 138, 104, .22), rgba(17, 16, 15, .12));--section-height: auto;--section-min-height: 600px}.studio-noir>:where(header,main,footer,.chatbot){color-scheme:dark;--color-primary: #fffdfa;--color-secondary: #c7c4bc;--color-text: #c7c4bc;--color-background: #111110;--color-surface: #222220;--color-ink: #171615;--color-gray-50: #1b1b19;--color-gray-100: #191917;--color-gray-200: #383834;--color-gray-300: #53534c;--color-gray-400: #96938a;--color-gray-500: #aaa79e;--color-gray-600: #bdbab1;--color-gray-700: #d0cdc4;--color-accent: #65d0ae;--color-accent-hover: #a0e8d0;--color-cta: #0f6f55;--color-cta-hover: #0b5e48;--color-focus: #edb15c;--color-error: #ffa59b;--color-warm-muted: #aaa79e;--color-secondary-hover: #fffdfa;--color-code-bg: #242421;--button-radius: 999px;--border-subtle: 1px solid var(--color-gray-200);--gradient-dark: linear-gradient(180deg, #111110, #191917);--gradient-dark-deep: linear-gradient(180deg, #191917, #111110);--gradient-border: linear-gradient(135deg, #396255, #383834);--shadow-sm: 0 1px 2px rgb(0 0 0 / 20%);--shadow-md: 0 12px 30px rgb(0 0 0 / 24%);--shadow-lg: 0 24px 55px rgb(0 0 0 / 30%)}body.studio-noir,.studio-noir>main{background:#111110;color:#fffdfa}.studio-noir>main :is(h1,h2) em{color:var(--color-accent);font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em}.studio-noir .btn{min-height:44px}@media(prefers-reduced-motion:no-preference){.studio-noir .btn:active{transform:scale(.98)}@view-transition{navigation:auto}::view-transition-old(root){animation:.12s ease-in both noir-page-out}::view-transition-new(root){animation:.24s var(--ease-out) both noir-page-in}}@keyframes noir-page-out{to{opacity:0}}@keyframes noir-page-in{0%{opacity:.65}}.studio-noir .editorial-hero{background:radial-gradient(ellipse at 14% 100%,rgb(20 138 104 / 13%),transparent 55%),radial-gradient(ellipse at 95% 10%,rgb(213 145 48 / 7%),transparent 44%),var(--color-background)}.studio-noir .editorial-hero h1{letter-spacing:-.045em;overflow-wrap:anywhere}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--color-primary);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.1;letter-spacing:0;color:var(--color-primary);text-wrap:balance}h1{font-size:clamp(3rem,8vw,6rem);font-weight:700;letter-spacing:0}h2{font-size:clamp(2rem,5vw,3.5rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}@media(max-width:1024px){h1{font-size:clamp(2rem,6vw,3rem)}h2{font-size:clamp(1.5rem,4vw,2rem)}h3{font-size:clamp(1rem,2vw,1.25rem)}}p{color:var(--color-text);line-height:1.7;text-wrap:pretty}a{text-decoration:none;color:inherit;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.container--editorial{max-width:90rem;padding-inline:clamp(1rem,3.34vw,3rem)}.section{padding:var(--section-padding) 0}.section-heading-stack{display:flex;flex-direction:column;align-items:stretch;width:100%}.section-heading-stack>.section-label,.section-heading-stack>.section-title,.section-heading-stack>.section-description{width:100%;grid-column:auto;grid-row:auto}.section-dark{background-color:var(--color-background);color:var(--color-primary)}.section-dark h1,.section-dark h2,.section-dark h3{color:var(--color-primary)}.section-dark p{color:var(--color-text)}.section-gray{background-color:var(--color-background)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;font-family:var(--font-body);font-size:.8125rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em;border:none;border-radius:var(--button-radius);cursor:pointer;transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition);position:relative;z-index:1}:is(.home-v02,.services-v02,.workshop-hero) .home-primary-action{gap:.625rem;min-height:3.25rem;padding:.3125rem .375rem .3125rem 1.375rem;border-radius:999px;background:#fffdfa;color:#171615;font-size:1rem;font-weight:600;letter-spacing:normal;text-transform:none}:is(.home-v02,.services-v02,.workshop-hero) .home-primary-action>span{display:grid;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;place-items:center;border-radius:50%;background:#171615;color:#fffdfa}:is(.home-v02,.services-v02,.workshop-hero) .home-primary-action:hover{background:#e9e5da}.btn-primary{background-color:var(--color-cta);color:var(--color-white);border:1px solid var(--color-cta);box-shadow:0 10px 24px #148a6824}.btn-primary:hover{background-color:var(--color-cta-hover);border-color:var(--color-cta-hover);transform:translateY(-1px);box-shadow:0 14px 30px #148a682e}.btn-outline{background-color:transparent;color:var(--color-accent);border:1px solid color-mix(in srgb,var(--color-accent) 48%,transparent)}.btn-outline:hover{background-color:#148a6814;border-color:var(--color-accent);color:var(--color-accent-hover);transform:translateY(-1px)}.btn-accent{background-color:var(--color-cta);color:var(--color-white);border:1px solid rgba(16,185,129,.7)}.btn-accent:hover{background-color:var(--color-cta-hover);color:var(--color-white);transform:translateY(-1px)}.label{display:inline-block;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-gray-600);margin-bottom:1.5rem}.divider{width:60px;height:2px;background-color:var(--color-accent);margin:1.5rem 0}.divider-center{margin-left:auto;margin-right:auto}.grid{display:grid;gap:2rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.text-center{text-align:center}.text-accent{color:var(--color-accent)}input,textarea,select{width:100%;padding:1rem 1.25rem;font-family:var(--font-body);font-size:.9375rem;color:var(--color-primary);border:1px solid var(--color-gray-200);background-color:var(--color-background);transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px #148a681f}textarea{min-height:150px;resize:vertical}.card{background-color:var(--color-background);border:1px solid var(--color-gray-200);padding:2rem;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.card:hover{border-color:var(--color-secondary);transform:translateY(-2px)}.spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fadeUp .6s var(--ease-out) forwards}.glass{background:#fffefadb;border:1px solid rgba(22,21,20,.08);border-radius:12px}.glass-light{background:#fffefaeb;border:1px solid rgba(22,21,20,.1);border-radius:12px}.glass-card{background:var(--color-gray-50);border:1px solid rgba(22,21,20,.1);border-radius:10px;padding:2rem;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.glass-card:hover{border-color:#148a6847;transform:translateY(-2px);box-shadow:var(--shadow-md)}.section-premium{position:relative;min-height:auto;overflow:hidden}.section-premium:before{content:none}.text-gradient{color:var(--color-accent)}.text-reveal{overflow:hidden}.text-reveal-inner{display:inline-block;transform:translateY(100%);opacity:0}.text-reveal.revealed .text-reveal-inner{transform:translateY(0);opacity:1;transition:opacity .5s var(--ease-smooth),transform .5s var(--ease-smooth)}.underline-animated{position:relative;display:inline-block}.underline-animated:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-accent);transition:width .3s var(--ease-smooth)}.underline-animated:hover:after,.underline-animated.active:after{width:100%}.btn-premium{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-white);background:var(--color-cta);border:1px solid var(--color-cta);border-radius:var(--button-radius);cursor:pointer;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition);box-shadow:0 10px 24px #148a6824}.btn-premium:hover{transform:translateY(-1px);background:var(--color-cta-hover);border-color:var(--color-cta-hover);box-shadow:0 14px 30px #148a682e}.btn-premium:active{transform:translateY(0)}.float,.float-delayed{animation:none}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.parallax-container{position:relative;overflow:hidden}.parallax-bg{position:absolute;inset:-20%;will-change:transform}.accent-circle{position:absolute;width:420px;height:420px;border-radius:50%;background:#148a680f;filter:blur(80px);opacity:.35;pointer-events:none}.accent-line{position:absolute;width:1px;height:100px;background:linear-gradient(180deg,transparent,rgba(20,138,104,.32),transparent);opacity:.35}.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(26,26,26,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(26,26,26,.018) 1px,transparent 1px);background-size:72px 72px;pointer-events:none}.dot-pattern{position:absolute;inset:0;background-image:radial-gradient(rgba(26,26,26,.1) 1px,transparent 1px);background-size:30px 30px;pointer-events:none}.feature-card{position:relative;padding:2.5rem;background:#1a1a1a05;border:1px solid rgba(26,26,26,.06);border-radius:10px;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.feature-card:before{content:"";position:absolute;inset:0;border-radius:10px;padding:1px;background:linear-gradient(135deg,rgba(0,187,127,.35),transparent 50%);-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;opacity:0;transition:opacity .3s var(--ease-smooth)}.feature-card:hover{background:#1a1a1a09;transform:translateY(-2px);box-shadow:var(--shadow-md)}.feature-card:hover:before{opacity:1}.number-counter{font-family:var(--font-display);font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:1;color:var(--color-accent)}.timeline{position:relative;display:flex;align-items:center;gap:2rem}.timeline:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:#1a1a1a1a;transform:translateY(-50%)}.timeline-progress{position:absolute;top:50%;left:0;height:2px;background:var(--gradient-accent);transform:translateY(-50%);transition:width .5s var(--ease-smooth)}.timeline-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem}.timeline-dot{width:16px;height:16px;border-radius:50%;background:#1a1a1a33;border:2px solid rgba(26,26,26,.3);transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.timeline-step.active .timeline-dot{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.2)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.6;transition:opacity .3s}.scroll-indicator:hover{opacity:1}.scroll-indicator-mouse{width:24px;height:40px;border:2px solid var(--color-gray-600);border-radius:12px;position:relative}.scroll-indicator-wheel{position:absolute;top:8px;left:50%;width:4px;height:8px;background:var(--color-gray-600);border-radius:2px;transform:translate(-50%);animation:scrollWheel 2s ease-in-out infinite}@keyframes scrollWheel{0%,to{opacity:1;transform:translate(-50%) translateY(0)}50%{opacity:.3;transform:translate(-50%) translateY(10px)}}.tech-stack{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.tech-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#1a1a1a0d;border-radius:12px;transition:background-color var(--transition),transform var(--transition)}.tech-icon:hover{background:#1a1a1a1a;transform:translateY(-2px)}.tech-icon svg{width:32px;height:32px;opacity:.7;transition:opacity .3s}.tech-icon:hover svg{opacity:1}.split-word{display:inline-block;overflow:hidden}.split-char{display:inline-block;transform:translateY(100%);opacity:0;transition:opacity .5s var(--ease-smooth),transform .5s var(--ease-smooth)}.split-word.revealed .split-char{transform:translateY(0);opacity:1}.word-wrapper{display:inline-block;overflow:hidden}.word-wrapper .word{display:inline-block}[data-animate=stagger]{opacity:1!important;transform:none!important}[data-animate=stagger]>*{opacity:0;transform:translateY(30px)}.stagger>*{opacity:0;transform:translateY(30px)}.stagger.revealed>*{opacity:1;transform:translateY(0);transition:opacity .5s var(--ease-smooth),transform .5s var(--ease-smooth)}.stagger.revealed>*:nth-child(1){transition-delay:0s}.stagger.revealed>*:nth-child(2){transition-delay:.1s}.stagger.revealed>*:nth-child(3){transition-delay:.2s}.stagger.revealed>*:nth-child(4){transition-delay:.3s}.stagger.revealed>*:nth-child(5){transition-delay:.4s}.stagger.revealed>*:nth-child(6){transition-delay:.5s}.stagger.revealed>*:nth-child(7){transition-delay:.6s}.stagger.revealed>*:nth-child(8){transition-delay:.7s}@media(max-width:768px){.section-premium{min-height:auto;padding:4rem 0}.glass-card{padding:1.5rem}.btn-premium{padding:1rem 2rem;font-size:.8125rem}.accent-circle{width:300px;height:300px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}html:not(.js) [data-animate],html:not(.js) [data-animate]>*,html:not(.js) .title-line,html.animations-idle [data-animate],html.animations-idle [data-animate]>*,html.animations-idle .title-line{opacity:1!important;transform:none!important}
